카메라-라이다 칼만 필터 센서 퓨전: 공간 센서 좌표계 변환과 Extrinsic Calibration

자율주행 자동차와 첨단 운전자 보조 시스템이 주변 환경을 정확하게 이해하려면 하나의 센서만 사용하는 것보다 서로 다른 센서의 정보를 결합하는 것이 중요합니다. 대표적인 조합이 바로 카메라와 라이다(LiDAR)​입니다.

카메라는 사람의 눈처럼 색상과 형태, 문자, 차선과 같은 시각 정보를 얻는 데 강점이 있습니다. 반면 라이다는 레이저를 이용해 주변 물체까지의 거리와 공간적인 위치를 측정할 수 있습니다. 두 센서는 서로 다른 방식으로 세상을 바라보기 때문에 각각 장점이 있지만, 그대로 데이터를 합칠 수는 없습니다.

가장 먼저 해결해야 하는 문제가 바로 센서 좌표계의 차이입니다. 카메라가 바라보는 기준점과 라이다가 바라보는 기준점이 다르기 때문입니다.

이때 필요한 핵심 기술이 Extrinsic Calibration(외부 파라미터 보정)​입니다. 여기에 시간에 따라 변하는 센서 측정값을 안정적으로 추정하는 칼만 필터(Kalman Filter)​를 결합하면 더욱 정확한 센서 퓨전 시스템을 만들 수 있습니다.

카메라와 라이다는 서로 무엇이 다른가

카메라는 2차원 이미지 형태의 데이터를 제공합니다. 사진 속에서 차량의 색상이나 보행자의 형태를 구분하거나 교통표지판을 인식하는 데 매우 유리합니다.

하지만 이미지의 한 픽셀이 실제 공간에서 얼마나 떨어져 있는지를 직접 알아내기는 쉽지 않습니다. 일반적인 단안 카메라에서는 하나의 이미지 정보만으로 물체까지의 정확한 거리를 계산하기 어렵기 때문입니다.

라이다는 반대의 특징을 가지고 있습니다. 레이저를 주변으로 발사한 후 반사되어 돌아오는 시간을 이용해 물체까지의 거리를 측정하고 이를 여러 점으로 표현합니다. 이렇게 생성되는 것이 3차원 포인트 클라우드(Point Cloud)​입니다.

예를 들어 라이다가 자동차를 감지하면 단순히 “자동차가 있다”는 정보만 얻는 것이 아니라 자동차가 라이다를 기준으로 어느 방향과 어느 거리에 있는지, 그리고 공간상 어느 높이에 있는지도 측정할 수 있습니다.

따라서 카메라와 라이다를 결합하면 카메라의 색상·형태·의미 정보와 라이다의 거리·공간 정보를 함께 활용할 수 있습니다.

센서 퓨전에서 좌표계가 중요한 이유

카메라와 라이다를 자동차에 장착했다고 해서 두 센서의 데이터를 바로 겹쳐 놓을 수 있는 것은 아닙니다.

카메라에는 카메라 좌표계가 존재하고 라이다에는 라이다 좌표계가 존재합니다. 같은 자동차를 바라보고 있어도 센서의 설치 위치와 방향이 다르기 때문에 각각의 센서가 기록하는 위치 값은 서로 다르게 나타납니다.

예를 들어 라이다가 자동차의 위치를

X = 10m, Y = 2m, Z = 1m

로 측정했다고 가정해 보겠습니다.

이 숫자는 라이다 자체를 기준으로 계산된 위치입니다. 카메라에서 동일한 자동차가 이미지의 어느 위치에 나타나는지 알아내려면 라이다 좌표를 카메라 좌표계로 변환해야 합니다.

이 과정에서 사용하는 것이 회전 행렬(Rotation Matrix)​과 이동 벡터(Translation Vector)​입니다.

간단하게 표현하면 다음과 같습니다.

P_camera = R × P_lidar + T

여기서 P_lidar는 라이다 좌표계의 3차원 위치이고, R은 두 센서의 방향 차이를 나타내는 회전 행렬입니다. T는 센서 사이의 위치 차이를 나타내는 이동 벡터입니다.

이 R과 T를 정확하게 구하는 작업이 바로 Extrinsic Calibration입니다.

Extrinsic Calibration이란 무엇인가

Extrinsic Calibration은 여러 센서 사이의 상대적인 위치와 방향을 계산하는 과정입니다.

쉽게 말하면 자동차에 카메라와 라이다를 설치한 뒤 “라이다에서 측정한 이 물체가 카메라에서는 정확히 어디에 보이는가?”를 맞추는 작업이라고 볼 수 있습니다.

여기서 중요한 값은 크게 두 가지입니다.

첫 번째는 회전(Rotation)​입니다. 카메라가 라이다에 비해 어느 방향으로 얼마나 회전되어 있는지를 의미합니다.

두 번째는 이동(Translation)​입니다. 카메라와 라이다가 물리적으로 얼마나 떨어져 설치되어 있는지를 나타냅니다.

센서의 위치와 각도가 조금만 잘못 계산되어도 데이터 융합 과정에서 문제가 발생할 수 있습니다.

예를 들어 라이다의 포인트 클라우드를 카메라 이미지에 투영했을 때 실제 자동차 위에 점이 찍혀야 하는데 자동차 옆이나 도로 위에 점이 찍힐 수 있습니다.

이런 오차가 누적되면 객체 인식 결과와 거리 측정 결과가 서로 맞지 않게 되고, 자율주행 시스템의 판단에도 영향을 줄 수 있습니다.

카메라 내부 파라미터와 외부 파라미터의 차이

센서 융합을 이해하려면 Intrinsic Calibration과 Extrinsic Calibration의 차이도 알아야 합니다.

Intrinsic Calibration은 카메라 자체의 특성을 보정하는 과정입니다. 대표적으로 초점거리, 주점, 렌즈 왜곡 등의 정보를 계산합니다.

반면 Extrinsic Calibration은 카메라와 다른 센서 사이의 상대적인 위치와 방향을 계산합니다.

즉,

Intrinsic = 카메라 내부의 특성

Extrinsic = 센서와 센서 사이의 관계

라고 이해하면 쉽습니다.

라이다 포인트를 카메라 이미지에 정확하게 표시하려면 두 가지 정보가 모두 중요합니다. 먼저 라이다 좌표를 카메라 좌표계로 변환하고, 이후 카메라의 내부 파라미터를 이용해 3차원 좌표를 2차원 이미지 좌표로 투영합니다.

칼만 필터는 센서 퓨전에서 어떤 역할을 할까

좌표계가 정확하게 맞춰졌다고 해서 센서 데이터가 항상 완벽한 것은 아닙니다.

실제 차량에서는 센서 측정값에 다양한 오차가 발생합니다. 라이다는 측정 거리와 반사 특성에 따라 포인트가 달라질 수 있고, 카메라는 조명이나 그림자, 비와 눈, 역광 등에 영향을 받을 수 있습니다.

또한 자동차와 보행자는 계속 움직이기 때문에 이전 순간의 위치와 현재 측정된 위치가 완전히 일치하지 않을 수 있습니다.

이때 활용할 수 있는 대표적인 방법이 칼만 필터입니다.

칼만 필터의 기본 개념은 매우 간단합니다.

먼저 이전 상태를 이용해 다음 상태를 예측(Prediction)​합니다. 이후 실제 센서에서 새로운 측정값이 들어오면 업데이트(Update) 과정을 통해 예측값과 측정값을 결합합니다.

예를 들어 앞쪽에서 이동하는 자동차를 추적한다고 가정해 보겠습니다.

이전 데이터에서 자동차가 시속 40km 정도로 이동하고 있었다면 시스템은 다음 순간 자동차가 어디에 있을지 예측할 수 있습니다.

그다음 라이다가 새로운 위치를 측정하고 카메라가 해당 차량을 다시 인식합니다. 칼만 필터는 이 데이터를 기존 예측과 비교해 최종적인 상태를 추정합니다.

이러한 방식으로 센서 하나의 순간적인 측정 오류에 지나치게 영향을 받지 않으면서 객체의 위치와 속도를 보다 안정적으로 추적할 수 있습니다.

카메라-라이다 센서 퓨전의 실제 처리 과정

실제 시스템에서는 여러 단계가 연결되어 작동합니다.

먼저 카메라와 라이다가 동시에 주변 환경을 측정합니다.

다음으로 센서의 시간 정보를 맞추는 Time Synchronization 과정이 필요합니다. 카메라가 촬영한 시점과 라이다가 측정한 시점이 지나치게 다르면 움직이는 자동차나 보행자의 위치가 서로 다르게 나타날 수 있기 때문입니다.

그다음 Extrinsic Calibration을 통해 라이다 좌표계의 데이터를 카메라 좌표계로 변환합니다.

이후 라이다의 3차원 포인트를 카메라 이미지에 투영하면 특정 포인트가 이미지의 어느 위치에 대응하는지 확인할 수 있습니다.

마지막으로 객체 추적 알고리즘과 칼만 필터 등을 이용해 시간에 따른 위치와 속도 변화를 추정합니다.

전체적인 흐름을 정리하면 다음과 같습니다.

카메라·라이다 측정 → 시간 동기화 → 좌표계 변환 → 데이터 대응 → 객체 추적 → 칼만 필터 기반 상태 추정

이 구조가 제대로 작동해야 서로 다른 센서의 정보를 하나의 공간 정보로 활용할 수 있습니다.

자율주행에서는 어떻게 활용될까

카메라-라이다 센서 퓨전은 자율주행 차량의 주변 환경 인식에서 중요한 역할을 합니다.

예를 들어 카메라는 도로 위의 차량이나 보행자를 이미지에서 인식하고 라이다는 해당 객체의 거리와 공간적인 위치를 제공할 수 있습니다.

카메라가 “사람”이라는 의미 정보를 제공한다면 라이다는 “사람이 차량으로부터 약 몇 m 떨어져 있는가”와 같은 공간 정보를 보완할 수 있습니다.

또한 차량의 위치뿐 아니라 속도와 이동 방향을 지속적으로 추적하면 갑자기 차선을 변경하는 차량이나 도로를 횡단하는 보행자를 보다 안정적으로 추적할 수 있습니다.

특히 하나의 센서에만 의존하지 않고 서로 다른 센서의 장점을 결합한다는 점에서 센서 퓨전은 안전성이 중요한 자율주행 분야에서 의미가 큽니다.

Extrinsic Calibration 오차가 중요한 이유

센서 퓨전에서 흔히 간과되는 부분이 바로 보정값의 정확도입니다.

라이다와 카메라의 상대적인 위치를 잘못 계산하면 아무리 좋은 객체 인식 알고리즘을 사용하더라도 서로 다른 위치를 같은 객체라고 판단하기 어려워집니다.

예를 들어 실제 차량의 윤곽선과 라이다 포인트가 이미지에서 몇 픽셀 또는 그 이상 어긋난다면 객체의 크기나 위치를 잘못 판단할 가능성이 있습니다.

특히 장거리 센서 융합에서는 작은 각도 오차도 거리가 멀어질수록 큰 위치 오차로 확대될 수 있습니다.

따라서 차량을 제작하거나 센서를 교체한 뒤에는 센서 장착 상태가 변하지 않았는지 확인하고 필요한 경우 다시 보정하는 과정이 중요합니다.

앞으로의 센서 퓨전 기술

카메라와 라이다의 결합은 단순히 두 데이터를 겹치는 수준에서 점점 더 복잡한 형태로 발전하고 있습니다.

최근에는 레이더까지 추가해 카메라·라이다·레이더의 데이터를 함께 사용하는 다중 센서 퓨전 구조도 활용되고 있습니다.

카메라는 의미와 색상 정보를 제공하고, 라이다는 정밀한 3차원 공간 정보를 제공하며, 레이더는 거리와 상대 속도 측정에서 장점을 가질 수 있습니다.

결국 중요한 것은 특정 센서 하나의 성능만 높이는 것이 아니라 서로 다른 센서의 데이터가 같은 시간과 같은 공간 기준으로 정확하게 연결되는 것입니다.

이 과정에서 Extrinsic Calibration은 센서 사이의 공간적인 관계를 정립하는 기초 기술이고, 칼만 필터와 같은 추정 알고리즘은 시간에 따라 변화하는 객체의 상태를 안정적으로 추적하는 역할을 담당합니다.

마무리

카메라-라이다 센서 퓨전은 자율주행 기술을 이해하기 위해 반드시 알아야 할 핵심 개념 중 하나입니다.

카메라는 풍부한 시각 정보를 제공하고 라이다는 3차원 거리 정보를 제공합니다. 하지만 두 센서가 서로 다른 좌표계를 사용하기 때문에 단순히 데이터를 합치는 것만으로는 정확한 결과를 얻기 어렵습니다.

따라서 Extrinsic Calibration을 통해 센서 간 위치와 방향 관계를 계산하고, 좌표계 변환을 수행한 뒤, 칼만 필터와 같은 상태 추정 알고리즘을 이용해 시간에 따른 객체의 움직임을 안정적으로 추적하는 과정​이 필요합니다.

결국 센서 퓨전의 핵심은 더 많은 센서를 사용하는 것이 아니라, 서로 다른 센서가 측정한 정보를 얼마나 정확하게 하나의 공간과 시간 기준으로 연결하느냐에 있습니다.

이 기술은 자율주행뿐만 아니라 로봇, 스마트시티, 물류 자동화, 3차원 객체 추적 등 다양한 분야로 확대될 가능성이 높습니다.

카메라-라이다 센서 퓨전은 단순한 데이터 결합 기술이 아니라 서로 다른 센서의 장점을 하나의 인식 시스템으로 연결하는 핵심 기술이라고 볼 수 있습니다.

댓글 남기기