KITTI dataset에 대하여
KITTI 데이터 셋은 다양한 computer vision 분야에서 사용되는 공인된 데이터 셋입니다. 다양한 Computer Vision Task에서 대표되는 데이터 셋이라 한번 정리할 필요가 있어 이렇게 글을 쓰게 됐습니다. (본인 공부 및 기록용)😁
KITTI 데이터 셋
KITTI 데이터셋은 자율주행차 연구를 위해 2012년에 처음 공개된 데이터셋으로, 독일의 카를스루에 공과대학교(University of Karlsruhe)와 도요타 기술 연구소(Toyota Technological Institute)에서 제공하고 있습니다. KITTI는 실제 도로 환경에서 다양한 주행 상황을 기록한 데이터셋으로, 자율주행 알고리즘의 개발 및 평가에 널리 사용되고 있습니다.
++ 사진 추가 예정
참고 : KITTI Vision Benchmark Suite
데이터 구성
LiDAR 센서: Velodyne HDL-64E 카메라: 두 대의 고해상도 카메라 GPS/IMU: 글로벌 포지셔닝 시스템(GPS) 및 관성 측정 장치(IMU) 포인트 클라우드: 각 프레임마다 3D 포인트(x, y, z)와 반사 강도(intensity) 정보 포함 이미지 데이터: RGB 이미지, 스테레오 이미지 (monocular, stereo camera datset) 기타: 주행 경로 정보, 시간 동기화된 센서 데이터
++ 사진 추가 예정 (차량에 센서들 설치된 거)
주요 Tasks
KITTI 데이터 셋을 활용하여 다양한 Task를 해결하려하고 있으며 다양한 Task에는 아래의 예시들이 있습니다.
1. 객체 탐지(Object Detection)
KITTI 센서 데이터를 사용하여 차량, 보행자, 자전거 등 다양한 객체를 2D/3D 탐지합니다. 사용되는 센서 데이터는 아래와 같습니다.
- 단안 카메라 (Monocular): 단일 카메라 이미지를 사용하여 객체를 탐지합니다.
- 스테레오 카메라 (Stereo): 두 개의 카메라 이미지를 사용하여 깊이 정보를 추출하고, 이를 바탕으로 객체를 탐지합니다.
- LiDAR (Velodyne): LiDAR 센서를 사용하여 수집된 포인트 클라우드 데이터를 기반으로 객체를 3D로 탐지합니다.
- 연속된 이미지 (Sequential Images): 단안 카메라 및 스테레오 카메라로 촬영된 시간적으로 연속된 3장의 이미지를 사용하여 객체를 탐지하고 추적합니다.
++ 사진 추가 예정
2. 객체 추적(Object Tracking)
객체 추적은 “연속된 프레임”에서 “객체를 추적”하여 “이동 경로를 파악”하는 작업입니다. 이 작업은 자율주행차가 “도로 위의 이동 객체를 지속적으로 인식”하고, “그 움직임을 예측”하여 주행 전략을 세우는 데 중요합니다.
사용되는 센서 데이터는 아래와 같습니다.
- 연속된 이미지 (Sequential Images): 단안 카메라 및 스테레오 카메라로 촬영된 연속된 이미지 프레임을 사용하여 객체의 이동을 추적합니다.
- LiDAR (Velodyne): 연속된 LiDAR 포인트 클라우드를 사용하여 객체의 3D 이동 경로를 추적합니다.
기술에 대한 추가 설명은 아래와 같습니다.
- 속도 및 방향 예측: 연속된 프레임에서 객체의 위치 변화를 분석하여 속도와 방향을 예측합니다. 이를 통해 객체의 미래 위치를 추정할 수 있습니다.
- 위치 업데이트: 객체의 속도와 방향을 바탕으로, 각 프레임마다 객체의 위치를 지속적으로 업데이트합니다.
- 데이터 융합 (Sensor Fusion): 단안 카메라, 스테레오 카메라, LiDAR 데이터를 융합하여 더 정확한 추적 결과를 얻습니다. 예를 들어, 카메라의 2D 이미지 데이터를 LiDAR의 3D 데이터와 결합하여 객체의 위치와 움직임을 더욱 정확하게 추적할 수 있습니다.
++ 사진 추가 예정
3. 깊이 추정(Depth Estimation)
깊이 추정은 단일 이미지 또는 스테레오 이미지 쌍을 사용하여 각 픽셀의 깊이(depth)를 추정하는 작업입니다. 이는 3D 재구성과 거리 측정을 위한 중요한 기반을 제공합니다.
사용되는 센서 데이터는 아래와 같습니다.
- 단안 카메라 (Monocular): 단일 이미지에서 깊이를 추정합니다.
- 스테레오 카메라 (Stereo): 두 개의 이미지 간의 시차를 이용하여 깊이를 추정합니다.
기술에 대한 추가 설명은 아래와 같습니다.
- 시차 계산 및 깊이 정보 추출: 스테레오 매칭 기술은 두 개의 이미지 간의 시차(disparity)를 계산하여 각 픽셀의 깊이를 추출합니다. 시차가 클수록 대상이 카메라에 가깝고, 시차가 작을수록 대상이 멀리 있습니다.
- 3D 재구성: 계산된 깊이 정보를 바탕으로 2D 이미지에서 3D 포인트 클라우드를 생성합니다.
- 정확한 거리 측정: 깊이 추정을 통해 얻은 깊이 정보는 물체까지의 거리를 정확하게 측정할 수 있게 합니다. 이는 자율주행차가 주변 환경을 이해하고 안전하게 주행하는 데 필수적입니다.
- 장애물 인식 및 회피: 깊이 정보를 사용하여 도로 위의 장애물이나 다른 차량의 위치를 정확히 파악하고, 이를 회피할 수 있습니다.
- 3D 맵핑: 깊이 추정 결과를 이용해 3D 지도를 생성하고, 주행 경로를 계획할 수 있습니다.
++ 사진 추가 예정
4. 주행 거리 측정(Odometry)
주행 거리 측정은 연속된 LiDAR 프레임과 IMU 데이터를 사용하여 차량의 주행 경로를 추정하는 작업입니다. 이는 SLAM (Simultaneous Localization and Mapping) 연구에서 중요하게 사용됩니다.
사용되는 센서 데이터는 아래와 같습니다.
- LiDAR 데이터: 연속된 LiDAR 포인트 클라우드를 사용하여 차량의 이동을 추적합니다.
- IMU 데이터: 관성 측정 장치(IMU)에서 얻은 가속도와 각속도 데이터를 이용하여 차량의 위치와 자세 변화를 계산합니다.
기술에 대한 추가 설명은 아래와 같습니다.
- 주행 경로 추정: LiDAR와 IMU 데이터를 융합하여 차량의 주행 경로를 실시간으로 추정합니다.
- 연속적 위치 추정: 주행 중 차량의 위치를 지속적으로 추정하여, 누적 오차를 최소화합니다.
- 실시간 경로 추적: 차량의 현재 위치와 주행 경로를 실시간으로 추적하여, 자율주행 시스템이 현재 위치를 정확히 파악하고 주행 계획을 세울 수 있도록 합니다.
- SLAM: 주행 거리 측정은 SLAM 알고리즘의 핵심 요소로, 차량이 주행하면서 동시에 지도를 생성하고, 자신의 위치를 그 지도 위에 정확히 표시할 수 있게 합니다.
++ 사진 추가 예정
5. 장면 분할(Scene Segmentation)
장면 분할은 각 픽셀 또는 포인트를 특정 클래스(예: 도로, 보도, 차량)로 분류하는 작업입니다. 이는 자율주행차가 주변 환경을 이해하고, 주행 계획을 수립하는 데 중요한 역할을 합니다.
사용되는 센서 데이터는 아래와 같습니다.
- 이미지 데이터 (monocular, stereo): 단안 카메라 및 스테레오 카메라로 촬영된 이미지.
- LiDAR 데이터: LiDAR 센서로부터 수집된 포인트 클라우드.
기술에 대한 추가 설명은 아래와 같습니다.
- 환경 이해: 장면 분할을 통해 자율주행차는 도로와 비도로 영역을 구분하고, 주행 가능한 경로를 파악할 수 있습니다.
- 객체 인식: 분할된 정보를 바탕으로 차량, 보행자, 자전거 등 주변 객체를 정확하게 인식하고, 이들과의 상호작용을 계획할 수 있습니다.
- 도로 구조 이해: 도로, 차선, 신호등 등의 구조를 인식하여, 교차로 주행, 차선 변경 등 복잡한 주행 상황에서의 의사결정을 지원합니다.
++ 사진 추가 예정
작성중 …
이것저것 공부하면서 KITTI 데이터셋에 대해 새로 알게 되는 내용은 계속 추가할 예정입니다. 궁금한 것들이나 추가 및 수정했으면 좋겠는 거 말해주시면 좋을 거 같아요. 좋은 하루 보내시길 바래요 :)
댓글남기기