자율주행

📷 Day 28: LiDAR + Camera 융합 (Feature matching)

Tech Knowledge Note 2025. 9. 24. 21:00
반응형

안녕하세요! ✨
앞서 Day 27에서는 Particle Filter 구현 실습을 진행했습니다.
오늘은 자율주행의 핵심 기술 중 하나인 LiDAR와 Camera 융합을 살펴보고, 특히 Feature Matching을 통해 두 센서 데이터를 정렬·결합하는 과정을 학습하겠습니다.

LiDAR + Camera 융합 (Feature matching)


🔍 왜 LiDAR + Camera 융합인가?

  • LiDAR: 정밀한 거리 및 3D 점군 데이터 제공
  • Camera: 풍부한 색상·텍스처·객체 인식 가능
    👉 두 센서를 융합하면:
  • LiDAR → 정확한 거리 정보
  • Camera → 의미 있는 시각적 특징
  • 결과: 객체를 더 정확하게 인식하고 3D 공간에서 시각적으로 매핑 가능

⚙️ Feature Matching 개념

  • 카메라 영상에서 특징점(Feature Point) 을 추출 (예: SIFT, ORB, SURF)
  • LiDAR 점군 데이터를 투영(projection) 하여 동일한 좌표계로 변환
  • 두 데이터에서 공통된 특징을 찾아 정렬(Alignment)

👉 이 과정을 통해 LiDAR의 거리 정보와 카메라의 영상 정보를 결합할 수 있습니다.


🧑‍💻 Python 예제 (OpenCV + LiDAR 투영)

 
python
 
import cv2
import numpy as np

# 카메라 이미지 불러오기
img = cv2.imread("camera_image.png", cv2.IMREAD_GRAYSCALE)

# 특징점 검출기 (ORB)
orb = cv2.ORB_create()
keypoints, descriptors = orb.detectAndCompute(img, None)

# LiDAR 점군을 이미지 평면으로 투영했다고 가정
projected_points = np.array([[100,150],[200,250],[300,350]], dtype=np.float32)

# 매칭 시각화
img_out = cv2.drawKeypoints(img, keypoints, None, color=(0,255,0))
for pt in projected_points:
    cv2.circle(img_out, tuple(pt.astype(int)), 5, (0,0,255), -1)

cv2.imshow("LiDAR + Camera Feature Matching", img_out)
cv2.waitKey(0)

👉 실제 구현에서는 LiDAR Intrinsic/Extrinsic Calibration 이 필요하며, ROS2 기반으로 lidar_camera_calibration 패키지를 활용할 수 있습니다.


📊 자율주행 활용 사례

  • 객체 인식(Object Detection): LiDAR 거리 + 카메라 인식 → 정확한 차량·보행자 검출
  • 3D Semantic Mapping: 색상 정보를 입힌 LiDAR 지도 생성
  • 악천후 대응: 카메라가 흐려질 때 LiDAR 보완, 반대로 LiDAR가 반사체에 약할 때 카메라 보완

📌 정리

  • LiDAR와 Camera는 서로 다른 장점을 가진 센서
  • Feature Matching으로 융합 시 객체 인식 및 3D 매핑 성능 향상
  • 자율주행차의 안전성과 인식 정확도를 크게 높이는 핵심 기술
반응형

🚀 다음 글 예고

다음 글에서는 [Day 29: Radar + LiDAR 융합 실습] 을 다룹니다.
Radar의 속도 측정 기능과 LiDAR의 정밀한 거리 측정을 융합해 더욱 견고한 인식 성능을 확인해보겠습니다.


✅ 오늘 글이 도움이 되셨다면 좋아요와 공유 부탁드립니다.

반응형