TIL 19W SLAM 프로젝트 (2/2)

OpenJR·2022년 6월 29일
0

저번 주에 이에 SLAM 프로젝트가 진행되었다.

고객사의 요구

우리는 주차를 할 때, 주차장의 모습을 유저에게 실시간으로 보여주고 싶습니다.
ProSLAM을 사용해서 얻은 지도를 보니, 이게 어디를 보여주는 건지도 모르겠더군요.
1. 주변 환경을 예쁘게 보여줄 수 있는 VSLAM 알고리즘과,
2. 주변 환경을 잘 보여주는 시각화 툴을 만들어주세요. (실시간 시각화가 아니어도 됩니다)

위 고객사의 요구를 만족시킬 SLAM 알고리즘을 만들고 구현하는 것이 이번 프로젝트의 목적이다.


VSLAM

주차 시, 주변 물체의 형태를 구분할 수 있을 정도의 Map를 생성해야하므로 Direct Method를 생각했으나, 위 방법은 우리가 배운 지식만으로 2주안에 구현이 불가하여
Feature-based SLAM으로 Dense 한 Map을 구현하는 방법을 고민하였다.

Feature-based SLAM엔, 총 3가지 Mono, Stereo, RGB-D 방법이 존재하며, 이중 Dense한 Map을 구현할 수 있는 방법은 오로지 RGB-D방법 뿐이다.

RGB-D Data는 RGB-D카메라에서만 구할 수 있으나, 고객사의 차량에는 RGB-D카메라가 부착되지 않았다. RGB-D Camera는 OutDoor환경에서, 태양광에 의한 간섭으로 제대로 된 데이터를 얻기 힘들기 때문에, 자율주행 차량에는 부착되지 않기 때문이다.

Depth Image를 얻기 위해 카메라와 3-D LIDAR의 센서 퓨전을 고안하였다. 라이다의 정보로 Depth값을 얻어내 딥러닝을 통해 Dense한 형태의 Depth이미지를 얻어내 RGB 이미지와 Depth이미지를 합쳐 Pseudo-RGBD SLAM 방식을 고안하였다.

결과

https://www.youtube.com/watch?v=wQzeuXkGrv0


위 그림과 같이 KITTI outdoor에서 Dense한 맵을 얻어내는데 성공하였다.
Point Cloud Library를 적용해 유사 RGBD SLAM에 성공하였다.

Surround View Monitoring

주차 시 사용될 시각화 툴로 SVM 모듈을 개발하기로 하였다.

작업 진행

SVM

차량에 부착된 카메라를 사용해, 각 이미지들을 Bird-eye-view 형태로 변환하고 여러개의 카메라에서 얻은 BIV이미지를 합쳐 SVM 모듈을 개발하였다.
아래의 그림은 4개의 핀홀 카메라로 구현한 이미지이다. 보이는 것처럼 부족한 FOV로 인해 검은 화면이 나온다.

다음은 8개의 시야에서 촬영한 이미지로 최종 구현한 이미지이다.

최종 실시간 결과는 아래의 영상에서 확인이 가능하다.
https://www.youtube.com/watch?v=96ukLAT6o_A

Sensor Fusion


Sparse depth map to Dense depth map

PEnet 모델을 사용하여 Dense depth map을 얻어내었다.


profile
Jacob

0개의 댓글