방사 왜곡
방사 왜곡 (Radial Distortion)
방사 왜곡이란 카메라 렌즈의 물리적 구조로 인해 이미지의 중심에서 외곽으로 갈수록 직선이 곡선으로 휘어져 보이는 현상을 말한다. 광학적으로는 이미지 중심으로부터의 거리에 따라 배율이 일정하지 않아 발생하는 현상으로 정의된다.
1. 개요
방사 왜곡은 광학 렌즈가 빛을 굴절시켜 이미지 센서에 투영하는 과정에서 발생하는 전형적인 기하학적 왜곡이다. 렌즈의 표면은 완전한 평면이 아닌 곡면으로 이루어져 있는데, 렌즈의 중심부를 통과하는 빛과 주변부를 통과하는 빛의 굴절률 차이로 인해 발생한다.
이 현상은 이미지의 중심점(Principal Point)을 기준으로 방사형(Radial)으로 나타나며, 중심에서 멀어질수록 왜곡의 정도가 심해지는 특성을 갖는다. 컴퓨터 비전에서는 3차원 공간의 좌표를 2차원 이미지 평면으로 투영할 때 발생하는 오차로 간주하며, 정밀한 거리 측정이나 객체 인식을 위해 반드시 보정해야 하는 요소이다.
2. 왜곡의 종류와 특성
렌즈의 초점 거리와 곡률, 그리고 조립 상태에 따라 왜곡은 크게 세 가지 형태로 나뉜다.
2.1 배럴 왜곡 (Barrel Distortion)
이미지의 중심부가 볼록하게 튀어나와 보이며, 외곽의 직선들이 중심 방향으로 휘어지는 현상이다. 주로 광각 렌즈(Wide-angle lens)나 어안 렌즈(Fisheye lens)에서 빈번하게 발생한다. - 시각적 예시: [이미지: 중심이 팽창하고 외곽선이 안쪽으로 굽은 원통형 형태의 이미지]
2.2 핀쿠션 왜곡 (Pincushion Distortion)
이미지의 중심부가 오목하게 들어가 보이며, 외곽의 직선들이 바깥쪽으로 휘어지는 현상이다. 주로 망원 렌즈(Telephoto lens)에서 발생한다. - 시각적 예시: [이미지: 중심이 수축하고 외곽선이 바깥쪽으로 당겨진 핀쿠션 형태의 이미지]
2.3 접선 왜곡 (Tangential Distortion)
방사 왜곡과 달리 렌즈와 이미지 센서(CCD/CMOS)가 물리적으로 완벽하게 평행하지 않을 때 발생한다. 렌즈 조립 과정에서의 미세한 기울어짐(Tilt)이나 정렬 불량으로 인해 발생하며, 이미지가 비대칭적으로 휘어지는 특성을 보인다. 방사 왜곡이 중심점으로부터의 거리에 의존하는 반면, 접선 왜곡은 렌즈의 기울어진 방향과 위치에 따라 결정된다.
[표 1] 배럴 왜곡 vs 핀쿠션 왜곡 비교
| 구분 | 배럴 왜곡 (Barrel) | 핀쿠션 왜곡 (Pincushion) |
|---|---|---|
| 시각적 형태 | 중심이 볼록함, 외곽이 안으로 휨 | 중심이 오목함, 외곽이 밖으로 휨 |
| 주요 발생 렌즈 | 광각 렌즈, 어안 렌즈 | 망원 렌즈 |
| 굴절 특성 | 주변부 굴절률이 중심부보다 낮음 | 주변부 굴절률이 중심부보다 높음 |
| 배율 변화 | 중심부 배율 > 주변부 배율 | 중심부 배율 < 주변부 배율 |
3. 수학적 모델 및 원리
가장 널리 사용되는 모델은 Brown-Conrady 모델이다. 이 모델은 왜곡되지 않은 정규화된 이미지 좌표 $(x, y)$와 왜곡된 좌표 $(x_{distorted}, y_{distorted})$ 사이의 관계를 다항식으로 정의한다.
참고: 여기서 $(x, y)$는 픽셀 좌표가 아니라, 카메라 매트릭스 $K$를 통해 초점 거리와 주점을 제거한 정규화된 이미지 좌표(Normalized Image Coordinates)이다. 픽셀 좌표를 그대로 대입하면 수식이 성립하지 않는다.
3.1 방사 왜곡 수식
중심으로부터의 거리 $r = \sqrt{x^2 + y^2}$라고 할 때, 방사 왜곡에 의한 변위는 다음과 같다. $$x_{radial} = x(1 + k_1r^2 + k_2r^4 + k_3r^6)$$ $$y_{radial} = y(1 + k_1r^2 + k_2r^4 + k_3r^6)$$ 여기서 $k_1, k_2, k_3$는 렌즈 고유의 방사 왜곡 계수이다.
3.2 접선 왜곡 수식
접선 왜곡 계수를 $p_1, p_2$라고 할 때, 추가되는 변위 항은 다음과 같다. $$x_{tangential} = [2p_1xy + p_2(r^2 + 2x^2)]$$ $$y_{tangential} = [p_1(r^2 + 2y^2) + 2p_2xy]$$
3.3 종합 왜곡 모델
실제 보정 시에는 방사 왜곡과 접선 왜곡이 동시에 적용되며, 최종 왜곡 좌표는 두 성분의 합으로 계산된다. $$x_{distorted} = x_{radial} + x_{tangential}$$ $$y_{distorted} = y_{radial} + y_{tangential}$$
3.4 구현 예시 (Python/OpenCV)
OpenCV 라이브러리를 사용하여 왜곡 계수를 적용하고 이미지를 보정하는 기본 로직은 다음과 같다.
import cv2
import numpy as np
# 1. 카메라 매트릭스(K)와 왜곡 계수(dist) 정의
# (주의: 아래 값들은 예시이며, 실제 카메라 캘리브레이션을 통해 얻은 값을 입력해야 함)
fx, fy, cx, cy = 800, 800, 320, 240 # 임의의 값 설정 필요
K = np.array([[fx, 0, cx],
[0, fy, cy],
[0, 0, 1]], dtype=np.float32)
# dist: [k1, k2, p1, p2, k3] 순서 (임의의 값 설정 필요)
dist = np.array([-0.2, 0.1, 0.001, 0.001, 0], dtype=np.float32)
# 2. 이미지 크기 설정
h, w = img.shape[:2]
new_camera_matrix, roi = cv2.getOptimalNewCameraMatrix(K, dist, (w, h), 1, (w, h))
# 3. 왜곡 보정 수행 (Undistortion)
dst = cv2.undistort(img, K, dist, None, new_camera_matrix)
4. 왜곡 보정 과정 (Undistortion)
왜곡 보정은 단순히 수식을 적용하는 것이 아니라, 해당 렌즈의 정확한 파라미터를 찾는 카메라 캘리브레이션(Camera Calibration) 과정이 선행되어야 한다.
4.1 체커보드 패턴의 원리
캘리브레이션에는 주로 체커보드(Checkerboard) 패턴이 사용된다. 이는 이미지 내에서 검출하기 쉬운 명확한 코너점(Corner points)을 제공하기 때문이다. - 원리: 실제 세계의 체커보드는 완벽한 직선과 직각으로 이루어져 있다는 기하학적 제약 조건을 이용한다. 촬영된 이미지에서 휘어진 코너점들의 좌표를 추출하고, 이를 실제 3차원 좌표와 매칭시켜 오차를 최소화하는 왜곡 계수($k_n, p_n$)와 카메라 내부 파라미터($K$)를 최적화 기법(예: Levenberg-Marquardt 알고리즘)으로 산출한다.
[표 2] 캘리브레이션 및 보정 파이프라인
| 단계 | 프로세스 | 주요 내용 |
|---|---|---|
| 1단계 | 패턴 촬영 | 체커보드 등 기하학적 패턴을 다양한 각도와 거리에서 촬영 |
| 2단계 | 특징점 추출 | 이미지 내 체커보드의 코너점(Corner points)을 정밀하게 검출 |
| 3단계 | 계수 산출 | 실제 좌표와 이미지 좌표를 비교하여 $K, k_n, p_n$ 계수 계산 |
| 4단계 | 맵핑 생성 | 왜곡된 픽셀이 보정 후 어디로 이동해야 하는지 좌표 맵(Map) 생성 |
| 5단계 | 이미지 리매핑 | 생성된 맵을 기반으로 픽셀 값을 재배치하여 직선이 복원된 최종 이미지 생성 |
5. 실제 활용 및 영향
방사 왜곡 보정은 픽셀 단위의 정밀도가 요구되는 모든 컴퓨터 비전 시스템에서 필수적이다.
5.1 주요 활용 분야
- 자율주행 자동차: 주변 차량 및 보행자와의 거리를 정확히 측정하기 위해 카메라 영상의 왜곡을 제거해야 한다. 왜곡이 남을 경우 외곽 지역의 객체 거리 측정에 심각한 오차가 발생한다.
- 드론 및 항공 촬영: 광각 렌즈를 사용하는 드론 영상에서 지형지물을 정밀하게 매핑(Mapping)하거나 정사영상을 제작할 때 필수적이다.
- 의료 영상 분석: 내시경 카메라 등 특수 렌즈를 통해 촬영된 영상에서 병변의 크기를 정확히 측정하기 위해 보정 과정을 거친다.
5.2 렌즈 종류별 왜곡 사례
- 어안 렌즈 (Fisheye): 극심한 배럴 왜곡이 발생하며, 180도 이상의 화각을 확보하지만 이미지 외곽의 변형이 매우 심함.
- 표준 렌즈 (Standard): 왜곡이 적으나 미세한 방사 왜곡이 존재하며, 고정밀 측정 시 보정이 필요함.
- 망원 렌즈 (Telephoto): 핀쿠션 왜곡이 주로 나타나며, 피사체가 중심에서 멀어질수록 바깥쪽으로 당겨지는 형태를 보임.
5.3 왜곡 전후 비교 예시 (Conceptual)
- 보정 전 (Distorted): 격자무늬 벽면을 촬영했을 때, 이미지 중앙은 직선이나 외곽으로 갈수록 곡선 형태로 휘어짐 (배럴 왜곡의 경우).
- 보정 후 (Undistorted): 수학적 역변환을 통해 모든 격자선이 이미지 전체에서 직선으로 곧게 펴진 상태.
이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.