자율주행차는 카메라, 라이다(LiDAR), 레이더(Radar), 초음파 센서 등 여러 종류의 센서를 활용해 주변 환경을 인식한다. 각각 센서는 강점과 한계가 있어, 하나의 센서만으로는 날씨 변화나 빛 반사, 복잡한 교통 상황을 완벽히 파악하기 어렵다. 센서 융합(Sensor Fusion)은 서로 다른 종류의 센서 데이터를 결합해 단일 센서로 얻을 수 없는 정확한 정보를 만들어내는 기술로, 자율주행 시스템의 핵심 기술이다. 최근에는 융합된 데이터를 처리하기 위해 딥러닝 알고리즘이 활용되며, 이를 통해 차량은 실시간으로 보행자, 주행 차선, 전방 장애물, 교통 표지판 등을 동시에 인식할 수 있다. 이 글에서는 자율주행용 센서 융합의 개념을 쉽게 설명하고, 카메라 영상과 3D 포인트 클라우드(라이다), 레이더 신호를 딥러닝 모델에 입력하여 객체를 탐지하고 거리와 속도를 추정하는 과정을 단계별로 알아본다. 또한 각 센서별 장단점과 융합 시 고려해야 할 시간 동기화, 보정 절차를 살펴보고, 실제 자율주행차에 적용된 사례를 통해 실무에서 어떻게 구현되는지 설명한다. 마지막으로 앞으로 발전할 융합 알고리즘과 엣지 컴퓨팅, 5G/6G 통신을 활용한 분산 처리 방식에 대해서도 간단히 전망한다.
자율주행 센서 융합의 필요성과 기본 개념
자율주행차는 스스로 주변 환경을 인식하고, 안전하게 주행 경로를 선택하며, 돌발 상황에 대응해야 한다. 이를 위해 차량에는 카메라, 라이다, 레이더, 초음파 센서가 장착되어 각각의 장점을 활용한다. 카메라는 해상도가 높아 사람이나 표지판, 차선과 같은 시각 정보를 상세히 인식할 수 있다. 반면 조명 상황이 나쁠 때나 짙은 안개가 있을 때는 영상이 흐리게 나와 정확도가 떨어진다. 라이다는 레이저 펄스를 발사해 반사된 빛을 받아 처리하는 장치로, 3D 포인트 형태로 물체의 정확한 거리를 측정할 수 있다. 빛이 아닌 레이저를 사용하기 때문에 어두운 밤이나 뿌연 날씨에도 비교적 정확히 작동하지만, 물체 표면이 너무 반사되거나 매끄러운 재질이라면 값이 왜곡될 수 있다. 레이더는 전파를 사용해 물체의 위치와 속도를 동시에 측정할 수 있으며, 악천후에서도 안정적으로 작동하지만 해상도가 낮아 물체의 세부 형상을 구분하기 어렵다는 단점이 있다.
이처럼 센서마다 가진 장단점이 다르기 때문에, 하나의 센서로만 환경을 파악할 경우 안전성을 보장하기 어렵다. 따라서 센서 융합이 필요하다. 센서 융합은 여러 센서 정보를 합쳐 단일 센서로는 측정할 수 없는 정밀한 환경 모델을 만드는 과정이다. 예를 들어 카메라 영상을 통해 보행자 형태를 인식한 뒤, 라이다 포인트 클라우드를 활용해 보행자의 정확한 거리와 상대 속도를 계산할 수 있다. 여기에 레이더 데이터를 추가하면 차량과 보행자 간의 상대 속도가 빠르게 변해도 안정적으로 추적할 수 있다. 이처럼 센서 정보를 결합하면 어떤 기상 상황이나 조명 환경에서도 차량은 주변 물체를 지속적으로 인식할 수 있고, 이를 바탕으로 안전하게 주행 경로를 계획할 수 있다.
기본적으로 센서 융합은 크게 세 단계로 진행된다. 첫째, 각 센서가 서로 다른 좌표계를 사용하기 때문에 ‘칼리브레이션(보정)’이 필요하다. 예컨대 카메라 픽셀 좌표(x, y)와 라이다 포인트 좌표(X, Y, Z)를 동일한 지형 좌표계에 맞춰 변환해야 두 데이터를 병합할 수 있다. 이 작업은 센서 내부에 있는 IMU(Inertial Measurement Unit: 가속도·자이로 센서)와 GPS 데이터를 활용해 차량의 위치와 각도를 실시간으로 측정한 뒤, 이를 기준으로 여러 센서를 정밀하게 맞추는 과정이다. 둘째, 시간 동기화(Synchronization) 과정이 필요하다. 센서마다 샘플링 속도가 다르기 때문에, 예를 들어 라이다는 초당 10 프레임을 생성하고 카메라는 초당 30 프레임을 생성한다면, 같은 순간의 데이터를 사용해 융합해야 정확도가 높아진다. 이를 위해 센서 간 공통 타임스탬프를 부여하거나, 보간(Interpolation) 기법을 활용해 필요한 순간의 값을 계산한다. 셋째, 딥러닝 기반 데이터 처리 단계다. 융합된 데이터를 어떻게 인공지능에 입력하고, 딥러닝 모델이 합쳐진 정보를 분석해 물체를 탐지하고 분류할지 결정한다. 최근에는 여러 센서 데이터를 동시에 처리할 수 있는 멀티모달 딥러닝 아키텍처가 활발히 연구되고 있으며, 이를 통해 차량은 더 깊이 있게 환경을 이해할 수 있다.
이 서론에서는 자율주행 센서 융합이 왜 필요한지, 각 센서의 장단점을 살펴보고, 융합을 위한 칼리브레이션과 시간 동기화, 그리고 딥러닝 처리 개념을 간략히 소개했다. 다음 본문에서는 융합 알고리즘의 구체적인 흐름과 실제 구현 방법, 그리고 자율주행 시스템 사례를 상세히 다루어 센서 융합이 어떻게 차량 안전에 기여하는지 깊이 있게 알아보자.
딥러닝 기반 센서 융합 알고리즘 구현 흐름
센서 융합은 크게 데이터 전처리, 특징 추출, 융합 네트워크, 후처리 단계를 거쳐 최종 관측 값(객체 위치·크기·속도)을 생성한다. 아래에서는 각 단계별 상세 절차를 예시와 함께 설명한다.
1. 데이터 전처리(Preprocessing)
① 센서 칼리브레이션(Camera, LiDAR, Radar 보정):
- 카메라 내부 보정(Intrinsic Calibration): 카메라 렌즈 왜곡(distortion)을 보정하기 위해 체스판 패턴을 촬영하고, OpenCV 같은 툴을 이용해 초점 거리(fx, fy), 주점(cx, cy), 왜곡 계수(distortion coefficients)를 계산한다. 이를 통해 왜곡된 영상(x', y')을 원래 좌표(x, y)로 바로잡는다.
- 외부 보정(Extrinsic Calibration): 카메라와 라이다 사이의 상대적 위치와 회전(Rotation, Translation)을 구하는 과정이다. 이를 위해 카메라와 라이다를 동시에 다양한 각도에서 촬영하여, 라이다가 인식한 3D 포인트가 카메라 영상의 픽셀 좌표와 일치하도록 변환 행렬(R|T)을 최소 제곱법(Least Squares)을 사용해 계산한다.
- 레이더 보정(Radar Calibration): 레이더 센서와 라이다 좌표계를 일치시키기 위해, 특정 각도(~±5°)와 거리(몇십 미터)에서 레이더 물체 시뮬레이터를 사용해 반사되는 전파 패턴을 기록한 뒤, 레이더 측정값(range, angle, Doppler 속도)를 라이다 포인트 클라우드 좌표로 변환하는 파라미터를 구한다.
② 동기화(Synchronization):
* 센서마다 샘플링 주기가 다르므로, 모든 센서 데이터를 공통 타임스탬프(GPS/IMU 기준)로 동기화한다. 예를 들어 라이다 데이터는 100밀리초(10Hz)마다, 카메라 영상은 33밀리초(30Hz)마다 생성된다. 이때 라이다 데이터가 들어오는 시점에 가장 가까운 카메라 프레임을 선택하여, 동기화된 센서 데이터 세트를 구성한다.
* 만약 센서 샘플 간격이 크게 차이 나면, 보간(Interpolation) 기법을 활용하여 중간 시점 데이터를 예측한다. 예: 카메라 프레임이 두 개 사이에 라이다가 들어오면, 두 카메라 프레임 영상을 선형 보간하여 해당 시점 영상을 생성한다.
③ 좌표 변환(Coordinate Transformation):
* 모든 센서 데이터를 차량 기준 좌표계(Vehicle Coordinate)로 매핑한다.
• 카메라 이미지 픽셀(u,v) → 3D 레이 주사(ray) 생성 → 차량 좌표계로 변환
• 라이다 포인트 클라우드(LiDAR Point Cloud) → 라이다 좌표계(x\_L, y\_L, z\_L) → 카메라 좌표계(x\_C, y\_C, z\_C) → 픽셀 좌표(u, v)로 투영
• 레이더 데이터(range, azimuth angle, elevation) → 극좌표계 → 직교좌표계(x\_R, y\_R, z\_R) → 차량 좌표계로 변환
이 과정으로 카메라, 라이다, 레이더 모든 데이터를 공통 좌표와 시간 정보로 정렬하여, 딥러닝 모델에 입력 가능한 동기화된 멀티모달 데이터 세트를 확보한다.
2. 특징 추출(Feature Extraction)
각 센서 데이터의 특징(Feature)을 추출하여 입력 데이터 형태로 만들기 위해 전처리를 거친다.
① 카메라:
- CNN 기반 백본 네트워크(예: ResNet, MobileNet)를 활용해 영상 특징 맵(Feature Map)을 추출한다. 먼저 이미지 크기를 512×512 또는 1024×512로 정규화하고, 픽셀별 RGB 값을 네트워크에 입력한다. 네트워크는 여러 층의 컨볼루션(Convolution)과 풀링(Pooling)을 통해 물체의 윤곽, 텍스처, 색상 정보를 추출하여 2D 특징 맵(Height×Width×Channel)을 만든다. 예를 들어 1/4 해상도로 다운샘플링된 후 64개 채널을 갖는 특징 맵이 생성된다.
- 추출된 특징 맵은 이후 단계에서 라이다 또는 레이더 특징과 결합하기 위해 U-Net 구조처럼 업샘플링(Upsampling)을 통해 일정 크기로 유지한다.
② 라이다:
* 라이다 포인트 클라우드를 이진 점군(Occupancy Grid) 또는 높이 맵(Height Map)으로 변환하여 2D 격자 형태로 이미지를 만든다. 예를 들어 XY 평면을 0.1m 단위 그리드로 나눈 뒤, 각 그리드 내 가장 높은 Z 값을 픽셀 값으로 변환한다. 이를 512×512 그리드로 표현할 수 있다.
* 또는 PointNet 같은 딥러닝 기반 포인트 클라우드 네트워크를 사용해 3D 특징(예: 점군 밀도, 표면 법선 벡터, 반사 강도)을 직접 추출한다. PointNet은 각 점의 (x, y, z, reflectivity) 입력값을 MLP(Multi-Layer Perceptron)를 통해 임베딩하고, 글로벌 최대 풀링(Global Max Pool)으로 전체 장면 특징(512차원 벡터)을 얻는다.
③ 레이더:
* 레이더 데이터는 일반적으로 range, angle, Doppler 속도 정보를 가진다. 이 데이터를 극좌표 맵(Range-Azimuth Map) 또는 반사 강도 맵(CFAR Map)으로 2D 격자화하여 CNN에 입력할 수 있다. 예를 들어 64×64 그리드에 각 셀마다 반사 신호 강도를 매핑하여, 물체가 존재하는 영역을 시각적 특징으로 표현한다.
* 레이더 신호에서 속도 정보(Doppler)만 따로 1D 벡터로 추출해, 특정 채널로 입력하거나, 추출된 속도 특징을 차량 속도와 결합해 융합 네트워크에 추가한다.
이렇게 각 센서별로 서로 다른 형태의 데이터를 네트워크 입력 형태로 변환하여, 딥러닝 모델이 처리하기 쉬운 특징 맵(feature map)과 벡터 형태로 만든다.
3. 융합 네트워크(Fusion Network)
딥러닝 기반 멀티센서 융합 네트워크는 보통 세 가지 방식(mlevel)을 결합한다.
① Early Fusion(조기 융합):
- 전처리 단계에서 카메라 이미지 특징 맵과 라이다 높이 맵, 레이더 반사 강도 맵을 채널 차원에서 병합한다. 예를 들어 카메라 특징 64개 채널, 라이다 32개 채널, 레이더 16개 채널을 합치면 총 112개 채널의 융합 특징 맵이 만들어진다. 이후 합쳐진 특징 맵을 한 번에 CNN으로 처리해 물체 탐지 모듈(예: YOLO, SSD)로 전달한다.
- 장점: 여러 센서 특징을 한 번에 학습하기 때문에 상황에 따라 적절한 센서 정보를 빠르게 활용할 수 있다.
- 단점: 서로 다른 해상도와 데이터 밀도가 혼합되어 학습이 어렵고, 하나 센서가 노이즈가 많으면 융합 특징 전체가 영향을 받을 수 있다.
② Late Fusion(후기 융합):
* 각 센서별로 독립적인 네트워크(Backbone)를 사용해 물체 후보(Proposal)를 생성한다. 예: 카메라는 2D 바운딩 박스를, 라이다는 3D 바운딩 박스를, 레이더는 물체 중심 좌표와 속도를 추정한 뒤 이를 각각 후보군으로 둔다. 후보군 각각의 신뢰도(confidence score)를 계산한 다음, IoU(Intersection over Union) 기반 매칭을 통해 최종 물체 리스트를 결정한다.
* 장점: 센서별 오류가 다른 센서 결과에 영향을 크게 미치지 않으므로 안정적이다.
* 단점: 후보군 생성 단계에서 연산량이 많고, 후보간 매칭 알고리즘을 따로 설계해야 해 복잡도가 높다.
③ Deep Fusion(심층 융합):
* 중간 층(mid-level)에서 특징을 교환하는 방식으로, 카메라와 라이다 네트워크가 특정 레이어에서 서로의 특징 맵을 교차 입력(Cross Input)으로 사용한다. 예를 들어 카메라 네트워크의 Conv4 레이어 출력과 라이다 네트워크의 PointNet 글로벌 특징을 합쳐 새로운 융합 특징 맵을 만들고, 이를 양쪽 네트워크에 다시 전달하여 학습한다.
* 장점: 서로 다른 센서 특징의 시너지 효과를 극대화할 수 있고, 모델이 자동으로 중요한 센서 정보를 선택하게 된다.
* 단점: 구조가 복잡해 학습 속도가 느리고, 메모리 사용량이 높아 차량 내 엣지 디바이스 구현이 부담될 수 있다.
실제 차량에서는 위 세 가지 방식을 상황에 따라 조합하여 융합 네트워크를 설계한다. 예를 들어 낮에는 카메라 Early Fusion을 사용해 물체 식별 성능을 높이고, 야간이나 안개가 짙은 환경에서는 라이다 Late Fusion을 우선시하는 전략을 취할 수 있다. Deep Fusion은 주행 안정성이 가장 중요한 구간(고속도로 인접 차로 변경)에서 사용하고, 다른 구간에서는 경량 융합을 사용하는 식으로 모드 전환이 가능하다.
4. 후처리(Postprocessing)
딥러닝 모델 출력 후처리 단계에서는 모델이 반환한 바운딩 박스(2D/3D), 클래스 정보, 속도 예측 값을 정제하고, 실시간 트래킹(Tracking) 알고리즘을 적용하여 최종 객체 리스트를 생성한다. 주요 과정은 다음과 같다.
① 비최대 억제(Non-Maximum Suppression, NMS):
- 딥러닝 모델이 반환한 바운딩 박스 후보 중 중복된 박스를 제거한다. 객체가 하나임에도 여러 박스가 검출될 수 있는데, 이 중 점수가 가장 높은 박스를 최종으로 선택하고, IoU가 0.5 이상인 다른 박스를 모두 제거한다.
② 트래킹(Tracking):
- 칼만 필터(Kalman Filter) 기반 트래킹 기법을 사용해 프레임 간 객체의 위치와 속도를 연속적으로 추정한다. 이를 통해 순간적인 검출 실패(예: 잠깐 장애물에 가려진 경우)에도 이전 추정 정보를 활용해 계속 추적할 수 있다.
- 트래킹 ID 관리를 위해 Hungarian 알고리즘(최적 매칭)을 사용해 프레임 간 객체를 ID별로 연결하고, 새로운 객체는 새로운 ID를 부여한다.
③ 장애 예측(Prediction):
- 추적된 객체의 경로를 예측해 1~2초 후 객체가 어느 위치에 있을지 파악한다. 이때 직선 가속 모델(Zero acceleration model) 또는 2차 다항식 모델(Polynomial model)을 사용한다. 이를 통해 충돌 가능성이 높은 객체를 사전에 인식할 수 있다.
④ 경고 및 제어 신호 생성:
- 최종 객체 정보(위치, 속도, 클래스)를 기반으로 주차 보조, 충돌 경고, 긴급 제동 등의 제어 신호를 생성한다. 예: 전방 보행자 객체가 3m 이내로 접근할 경우 비상 제동 신호를 ECU에 전달해 브레이크 액추에이터를 작동시킨다.
이렇게 센서 융합 딥러닝 후처리 과정을 통해 자율주행 시스템은 주변 객체를 지속적으로 추적하고, 위험 상황을 예상해 안전 제어를 수행할 수 있다. 다음 절에서는 실제 자동차 제조사들이 적용한 센서 융합 사례와, 구현 시 사용된 프레임워크 및 라이브러리를 살펴본다.
실제 적용 사례와 앞으로의 발전 방향
자율주행 센서 융합 기술은 이미 여러 자동차 제조사와 자율주행 스타트업에서 상용화 단계에 있다. 여기서는 대표적 사례와 함께 앞으로의 발전 방향을 정리한다.
1. 테슬라(Tesla)의 센서 융합
테슬라는 자율주행 시스템 ‘오토파일럿(Autopilot)’에 카메라와 레이더를 조합하는 센서 융합 방식을 사용한다.
① 카메라 기반 객체 탐지:
- 8개의 고해상도 카메라가 360도로 주변을 촬영하고, 카메라 영상은 NVIDIA 기반 컴퓨팅 유닛에 전달된다. 이 컴퓨팅 유닛은 YOLOv3 계열 딥러닝 모델을 사용해 보행자, 차량, 표지판, 차선을 인식한다.
② 레이더 기반 거리·속도 측정:
- 레이더 센서는 전방 레이더, 후방 레이더, 측방 레이더 총 12개가 장착되어 있으며, 전방 레이더를 통해 미리 탐지된 장애물과 카메라로 감지된 객체를 매칭해 정밀한 거리와 상대 속도를 계산한다.
③ 센서 융합:
- 카메라로 물체 클래스와 2D 위치를 탐지한 뒤, 전방 레이더 데이터를 바탕으로 거리와 속도를 결합하여 각 객체의 3D 위치와 상대 운동 상태를 파악한다. 이를 통해 야간이나 안개가 짙어 카메라 영상이 흐린 상황에서도 안정적으로 물체를 인식한다.
④ 후처리:
- 트래킹 알고리즘으로 프레임 간 객체를 연결하고, SOC(Descriptor of Surrounding Objects) 형태로 모든 객체 정보를 도메인 컨트롤러로 전송하여 차선 유지, 자동 제동, 자동 차선 변경 등을 수행한다.
- 이 시스템은 약 200ms 이하 지연을 목표로 설계되어, 고속도로 주행 중 돌발 상황에서도 실시간으로 반응할 수 있다.
2. 웨이모(Waymo)의 3D 라이다 융합
웨이모는 라이다 중심의 센서 융합 방식을 사용하며, 특히 3D 포인트 클라우드 융합에 딥러닝 기술을 적극 활용한다.
① 하드웨어 구성:
- 차량 전방에는 360도 회전형 라이다(LiDAR) 5개, 전방 레이더 10개, 5MP급 카메라 8개, 온보드 컴퓨터 두 대가 장착되어 있다.
⓶ 라이다 기반 3D 객체 탐지:
- 라이다 포인트 클라우드를 점구름(voxel) 형태로 그리드화하고, VoxelNet 계열 딥러닝 모델을 사용해 3D 바운딩 박스를 생성한다. VoxelNet은 각 벌집(voxel) 내 포인트 특징을 추출하고, 3D CNN을 통해 물체를 분류하고 위치를 추정한다.
③ 멀티모달 융합:
- 라이다가 탐지한 후보 영역(Proposal)에 카메라 영상을 크롭(Crop)하여 RGB 특징을 추가로 추출하고, 이를 3D 탐지 결과와 결합하여 오탐(false positive)을 줄인다.
- 레이더 데이터는 포인트별 속도 정보(Doppler)를 제공해 움직이는 물체를 식별하고, 카메라-라이다 융합 결과를 보강한다.
④ 실시간성 확보:
- 온보드 컴퓨터는 NVIDIA Drive AGX Xavier 모듈 두 개를 병렬로 사용해 실시간 딥러닝 추론을 수행한다. 라이다 융합 단계는 약 50ms, 카메라 융합 단계는 약 30ms 정도 소요되며, 전체 파이프라인 지연은 100ms 미만으로 유지한다.
- 이 시스템은 시속 60km/h 이상 고속 주행 환경에서도 초당 10 프레임의 3D 탐지를 지원해 안정적인 자율주행 서비스를 제공한다.
3. 미래 발전 방향
① 엣지 컴퓨팅(Edge Computing) 확장:
- 기존에는 차량 내부에 고성능 GPU 모듈을 장착해 모든 데이터를 로컬에서 처리했으나, 5G/6G 네트워크 기반 엣지 컴퓨팅으로 일부 연산을 클라우드에서 처리하는 방안이 주목받고 있다. 예를 들어 고화질 카메라 영상의 초기 전처리(이미지 압축, 기본 객체 탐지)를 클라우드 서버에서 수행하고, 차량은 최소한의 특징 정보만 주고받아 지연을 줄이는 형태다.
② 멀티센서 융합 모델 경량화:
- 연구자들은 차량용 엣지 디바이스에서도 원활히 실행할 수 있도록, MobileNet 계열 경량 딥러닝 모델과 TensorRT 최적화를 통해 융합 네트워크 파라미터를 줄이고 연산량을 줄이는 방법을 개발하고 있다. 이를 통해 센서 융합 딥러닝 모델이 CPU 기반 ECU에서도 실시간으로 동작할 수 있다.
③ 자율주행 레벨 확장:
- 레벨4, 레벨5 완전 자율주행에서는 융합 네트워크가 더 많은 센서(열화상 카메라, 초음파 센서, 바람 센서 등) 데이터를 처리해야 한다. 이를 위해 4차원 시공간 특징(Spatio-Temporal Feature)을 학습할 수 있는 3D-CNN, ConvLSTM 계열 모델이 연구되고 있다. 이 모델들은 과거 수 초간 동작 정보를 활용하여 미래 위험 상황을 예측하는 데 강점을 가진다.
④ 시뮬레이션 기반 검증:
- 실제 도로 주행 시험만으로는 예측할 수 없는 수많은 돌발 상황에 대비하기 위해 가상 환경 시뮬레이션(Unity, CARLA, LGSVL)에서 센서 융합 알고리즘을 검증한다. 이를 통해 도로 표지판이 훼손된 국도로 달리거나, 극한 기상 조건(폭우, 폭설)에서도 융합 알고리즘이 견고하게 동작하는지 확인할 수 있다.
⑤ 협력 주행(Pleet Vehicle Cooperation):
- 여러 대의 자율주행차가 무선 통신(V2V, Vehicle-to-Vehicle)으로 센서 정보를 공유하며 협력 주행을 수행하는 기술이 떠오르고 있다. 이때 한 차량이 감지한 센서 데이터를 인접 차량들과 결합하여 보다 넓은 시야를 확보함으로써 사각지대를 줄이고, 고속도로와 도심에서 더 안전한 협력 주행이 가능해진다.
결론적으로 센서 융합과 딥러닝 알고리즘은 자율주행차의 핵심 기술로, 여러 센서 데이터를 효과적으로 결합하여 안전성을 크게 높인다. 앞으로도 엣지 컴퓨팅, 경량 모델, 시뮬레이션 검증, 협력 주행 등 다양한 방향으로 발전하여, 우리의 이동 경험을 더욱 안전하고 편리하게 만들어 줄 것이다.