8.6 센서 보정(Sensor Calibration)의 기초
1. 센서 보정의 정의와 목적
센서 보정(sensor calibration)은 센서의 측정 모델에 포함된 미지의 파라미터를 정밀하게 결정하는 과정이다. 자율주행 시스템에서 센서 보정은 개별 센서의 측정 정확도를 보장하고, 복수 센서의 데이터를 공통 좌표계에서 일관되게 결합하기 위한 필수적 전제 조건이다.
센서 보정의 파라미터는 크게 두 범주로 분류된다.
- 내부 파라미터(intrinsic parameters): 센서 자체의 물리적 특성에 의해 결정되는 파라미터로서, 센서의 내부 구조와 광학적/전자적 특성을 기술한다. 카메라의 초점 거리, 주점 좌표, 렌즈 왜곡 계수 등이 이에 해당한다.
- 외부 파라미터(extrinsic parameters): 센서와 기준 좌표계(또는 다른 센서) 간의 상대적 위치와 자세를 나타내는 파라미터로서, 3차원 회전 \mathbf{R} \in SO(3)과 병진 \mathbf{t} \in \mathbb{R}^3으로 구성된다.
2. 센서 보정의 분류
2.1 내부 보정과 외부 보정
내부 보정(intrinsic calibration)은 센서의 내부 파라미터를 결정하는 과정이며, 외부 보정(extrinsic calibration)은 센서 간 또는 센서와 차체 간의 상대적 6 자유도(6-DoF) 변환을 결정하는 과정이다. 내부 보정은 일반적으로 센서 제조 시 또는 시스템 통합 시 1회 수행하며, 외부 보정은 센서 장착 후 반드시 수행하여야 한다.
2.2 오프라인 보정과 온라인 보정
오프라인 보정(offline calibration): 전용 보정 타깃(calibration target)과 통제된 환경에서 수행하는 보정으로, 높은 정확도를 달성할 수 있다. 체스보드(checkerboard) 패턴, 전용 3차원 보정 타깃 등이 사용된다. 차량 조립 라인 또는 정비소에서 수행되며, 일회성 또는 주기적으로 실시한다.
온라인 보정(online calibration): 차량의 일상적인 주행 중에 자동으로 보정 파라미터를 갱신하는 과정이다. 센서 장착 위치의 미세한 변화(진동, 열팽창, 충격 등)에 의한 외부 파라미터의 변동을 실시간으로 보상한다. 주행 중 관측되는 자연 특징(도로 표시, 차선, 구조물 에지 등)을 이용하며, 타깃이 불필요하다(Schneider et al., 2017).
2.3 타깃 기반 보정과 타깃 비의존 보정
타깃 기반 보정(target-based calibration): 기하학적 특성이 정밀하게 알려진 보정 타깃을 사용하여 보정을 수행한다. 체스보드, 원형 패턴, 반사 타깃 등이 사용되며, 높은 정확도와 재현성을 제공한다.
타깃 비의존 보정(targetless calibration): 보정 타깃 없이 자연 장면의 특징(에지, 코너, 평면 등)을 이용하여 보정을 수행한다. 설치와 운용이 편리하나, 타깃 기반 대비 정확도가 낮을 수 있으며, 장면의 특징 분포에 의존한다(Levinson & Thrun, 2013).
3. 좌표계와 변환
3.1 주요 좌표계
자율주행 시스템에서 사용되는 주요 좌표계는 다음과 같다.
| 좌표계 | 설명 |
|---|---|
| 세계 좌표계(world frame) | 전역 기준 좌표계(예: UTM, WGS84) |
| 차체 좌표계(vehicle body frame) | 차량 중심에 고정된 좌표계, 통상 후축 중앙 |
| 센서 좌표계(sensor frame) | 각 센서의 고유 좌표계 |
| 카메라 좌표계(camera frame) | 카메라 광학 중심을 원점으로 하는 좌표계 |
| 영상 좌표계(image frame) | 2차원 영상 평면의 화소 좌표계 |
3.2 강체 변환(Rigid Body Transformation)
센서 좌표계와 차체 좌표계 사이의 관계는 6 자유도의 강체 변환(rigid body transformation)으로 기술된다. 센서 좌표계의 점 \mathbf{p}_s를 차체 좌표계의 점 \mathbf{p}_v로 변환하는 식은 다음과 같다.
\mathbf{p}_v = \mathbf{R}_{vs} \mathbf{p}_s + \mathbf{t}_{vs}
여기서 \mathbf{R}_{vs} \in SO(3)는 3 \times 3 회전 행렬, \mathbf{t}_{vs} \in \mathbb{R}^3는 병진 벡터이다. 이를 동차 좌표(homogeneous coordinates)로 표현하면 다음과 같다.
\begin{pmatrix} \mathbf{p}_v \\ 1 \end{pmatrix} = \begin{pmatrix} \mathbf{R}_{vs} & \mathbf{t}_{vs} \\ \mathbf{0}^T & 1 \end{pmatrix} \begin{pmatrix} \mathbf{p}_s \\ 1 \end{pmatrix} = \mathbf{T}_{vs} \begin{pmatrix} \mathbf{p}_s \\ 1 \end{pmatrix}
여기서 \mathbf{T}_{vs} \in SE(3)는 4 \times 4 동차 변환 행렬이다.
3.3 회전의 표현
회전을 표현하는 여러 방식이 있으며, 각 표현은 고유한 장단점을 갖는다.
| 표현 방식 | 파라미터 수 | 장점 | 단점 |
|---|---|---|---|
| 회전 행렬 \mathbf{R} | 9 (6개 구속 조건) | 직접적 변환 적용 | 직교성 유지 필요 |
| 오일러 각(Euler angles) | 3 | 직관적 이해 | 짐벌 락(gimbal lock) |
| 축-각(axis-angle) | 3 (또는 4) | 컴팩트, 특이점 없음(4파라미터) | 보간이 비직관적 |
| 쿼터니언(quaternion) | 4 (1개 구속 조건) | 특이점 없음, 효율적 보간(SLERP) | 이중 커버(double cover) |
자율주행 시스템에서는 최적화 과정에서의 수치적 안정성과 보간의 편의성을 위해 쿼터니언 또는 축-각 표현이 주로 사용된다(Diebel, 2006).
4. 보정의 수학적 프레임워크
4.1 최적화 기반 보정
센서 보정은 일반적으로 관측 데이터와 모델 예측 간의 오차를 최소화하는 최적화 문제로 정식화된다. 보정 파라미터 벡터 \boldsymbol{\theta}에 대한 비용 함수(cost function)는 다음과 같이 정의된다.
\boldsymbol{\theta}^* = \arg\min_{\boldsymbol{\theta}} \sum_{i=1}^{N} \| \mathbf{z}_i - h(\mathbf{x}_i, \boldsymbol{\theta}) \|^2
여기서 \mathbf{z}_i는 관측값, h(\mathbf{x}_i, \boldsymbol{\theta})는 파라미터 \boldsymbol{\theta}에 의한 예측값, \mathbf{x}_i는 보정 타깃의 알려진 기하학적 정보, N은 관측 수이다.
이 비선형 최소자승(nonlinear least squares) 문제는 Levenberg-Marquardt(LM) 알고리즘이나 가우스-뉴턴(Gauss-Newton) 알고리즘으로 풀린다(Nocedal & Wright, 2006).
8.6.4.2 재투영 오차(Reprojection Error)
카메라 보정에서 가장 널리 사용되는 비용 함수는 재투영 오차이다. 3차원 보정 타깃의 점 \mathbf{X}_i를 보정 파라미터로 영상 평면에 투영한 점 \hat{\mathbf{u}}_i와 실제 관측된 영상 좌표 \mathbf{u}_i 간의 차이를 비용으로 정의한다.
E = \sum_{i=1}^{N} \| \mathbf{u}_i - \hat{\mathbf{u}}_i(\boldsymbol{\theta}) \|^2
재투영 오차의 RMS(Root Mean Square) 값은 보정 결과의 품질을 평가하는 지표로 사용되며, 일반적으로 0.1–0.5 화소 수준의 정확도가 요구된다.
5. 보정의 필요성과 영향
5.1 센서 융합 성능에 대한 영향
보정 오차는 센서 융합의 성능에 직접적인 영향을 미친다. 외부 보정 오차는 이종 센서의 관측을 공통 좌표계로 변환할 때 공간적 정합 오류를 발생시키며, 이는 다음과 같은 문제를 야기한다.
- LiDAR 점군과 카메라 영상 간의 대응 오류
- 센서 간 검출 결과의 잘못된 데이터 연관
- 융합된 상태 추정의 편향(bias)
내부 보정 오차는 개별 센서의 측정 정확도를 저하시키며, 이 오차가 센서 융합 단계로 전파된다.
5.2 보정 정확도 요구 수준
자율주행 시스템에서 요구되는 보정 정확도는 센서 유형과 융합 방식에 따라 상이하다. 일반적으로 카메라-LiDAR 외부 보정의 경우 병진 오차 1 cm 이내, 회전 오차 0.1도 이내가 요구되며, 저수준 융합에서는 이보다 더 엄격한 정확도가 필요하다(Geiger et al., 2012).
5.3 보정 파라미터의 시간적 변동
차량의 운행 과정에서 진동, 온도 변화, 기계적 충격, 타이어 마모 등에 의해 센서 장착 위치가 미세하게 변동할 수 있다. 이러한 시간적 변동은 초기 오프라인 보정의 정확도를 점진적으로 저하시키므로, 온라인 보정 또는 주기적 재보정의 필요성을 야기한다.
6. 보정 절차의 일반적 워크플로우
자율주행 시스템의 센서 보정은 일반적으로 다음 단계로 수행된다.
- 개별 센서 내부 보정: 각 카메라의 내부 파라미터(초점 거리, 주점, 왜곡 계수)를 보정한다. LiDAR와 레이더는 제조 시 내부 보정이 완료된 상태로 납품되는 것이 일반적이다.
- 센서 간 외부 보정: 카메라-LiDAR, 카메라-레이더, LiDAR-IMU 등 센서 쌍 간의 상대적 자세를 결정한다.
- 전체 시스템 보정: 모든 센서의 외부 파라미터를 차체 좌표계 기준으로 통합하여 일관성을 검증한다.
- 보정 검증: 보정 결과의 정확도를 독립적인 검증 데이터로 평가한다. 재투영 오차, 점군-영상 정합 시각화 등이 사용된다.
- 온라인 보정(선택적): 주행 중 보정 파라미터의 변동을 감시하고 보상한다.
참고문헌
- Diebel, J. (2006). Representing attitude: Euler angles, unit quaternions, and rotation vectors. Technical Report, Stanford University.
- Geiger, A., Lenz, P., Stiller, C., & Urtasun, R. (2012). Vision meets robotics: The KITTI dataset. International Journal of Robotics Research, 32(11), 1231–1237.
- Levinson, J., & Thrun, S. (2013). Automatic online calibration of cameras and lasers. Robotics: Science and Systems (RSS).
- Nocedal, J., & Wright, S. J. (2006). Numerical Optimization (2nd ed.). Springer.
- Schneider, N., Piewak, F., Stiller, C., & Franke, U. (2017). RegNet: Multimodal sensor registration using deep neural networks. IEEE Intelligent Vehicles Symposium (IV), 1803–1810.
버전: v1.0, 2026-04-11