자율주행은 굉장히 많은 기술들이 합쳐진 하나의 시스템입니다. 하지만 자율주행을 가능하게 하는 근본적인 기술은 Perception, 바로 주변 환경을 인식하는 기술이라고 생각합니다. 주변 환경을 인식하기 위해서는 다양한 센서들, 예를들어 카메라, Radar, Lidar, Depth Camera 등을 사용할 수 있는데 이 중 가장 높은 정확도를 보여주는 것이 LiDAR입니다. 다만 소비전력이 높고 무지 비싸다는 단점이 있습니다. 테슬라는 'Vision-Only' 방식을 밀고나가고 있습니다.
사실 LiDAR가 필요한지 아닌지는 꽤나 오래된 논쟁입니다. 업계사람들부터 일반 주식하는 사람들까지 모두 다 의견이 분분하죠. 카메라와 LiDAR의 가장 큰 차이는 '측정'과 '추정'이라는 것인데 이는 추정의 정확도에 관계없이 넘을 수 없는 벽같은 것일지도 모릅니다. LiDAR 주식에 물려있는 저로서는 그러길 바라는 것일지도 모르죠...
Pseudo-LiDAR from Visual Depth Estimation, 위 논문은 카메라와 LiDAR의 정확도 차이가 데이터 자체의 Quality가 아닌 데이터 표현방식에 기인하고 카메라에서 얻은 영상 데이터를 처리해 LiDAR 데이터와 같은 Point Cloud Represention으로 변환하면 LiDAR에 근접한 정확도를 낼 수 있다고 주장합니다.
Image-based 3D object Detection
이전의 많은 연구에선 카메라와 LiDAR의 정확도 차이가 카메라에 피사된 물체와 카메라간의 '거리'를 정확하게 구하지 못하기 때문이라고 여기고 이를 해결하기 위해 접근했습니다. 그럼에도 불구하고 LiDAR와 카메라의 정확도 차이가 좁혀지지 않았습니다.
Depth Estimation
거리측정이 가능한 별도의 센서가 없이 영상만을 이용해 주변환경을 인지하기 위해선 Depth Estimation 과정이 필수적으로 수행되어야 합니다. 카메라가 2개가 있을때 카메라의 위치가 다르기 때문에 같은 물체를 관찰함에도 불구하고 이미지에 시차(Disparity)가 발생합니다. 이 Disparity는 거리에 따라 달라지기 때문에 거리를 역산할 수 있게 됩니다. 자세한 내용은 Epipolar Geometry, Triangulation을 찾아보시면 알 수 있습니다. 예전에 공부할때 그려놓은 그림이 있네요..
$$ D(u,v) = \frac{f_{U}\times b}{Y(u,v)}$$
좌측 위의 이미지에 대해 거리를 측정하면 좌측 아래과 같은 Depth Map을 생성할 수 있게 됩니다. 위 수식을 보면 Fig 2. 의 닮을을 이용한 거리 측정과 같다는 것을 알 수 있습니다.
Pseudo-LiDAR generation
본 논문에서는 이전 연구들과 같이 생성한 Depth Map을 추가적인 채널로 사용하지 않고, 픽셀에 \((u,v)\)에 대응하는 \((x,y,z)\)를 추출하는 것을 제안합니다. Depth Map에서 어떤 네트워크나 테크닉을 이용해 point cloud 를 생성할 줄 알았는데 위 수식을 이용해 \(N\)개의 점으로 이루어진 point cloud 데이터를 생성합니다. 다만 LiDAR 센서는 범위를 벗어나게 되면 감지를 못하기 때문에 범위 밖 point들을 버리는 post processing을 거칩니다.
3D object Detection
생성된 pseudo-LiDIR point를 이용해 3D object Detection을 수행합니다. 본 논문에서는 AVOD, frustum PointNet 을 사용했다고 합니다. AVOD의 내용을 정확히 알지 못하지만 Complex-YOLO 처럼 Bird-Eye-View로 변환한 object detection, frustum PointNet은 2D-object를 3D로 projection(?) 한 후 object detection을 하는 것 같습니다.
논문의 저자들은 Data 자체의 quality보다 2D이미지의 데이터 표현방식이 3D-object detection pipeline에 적합하지 않다고 주장합니다. 예를들어 Depth map의 경우 1)인접한 픽셀이지만 물리적으로는 멀리 떨어져있는 경우, 2)하나의 object더라도 여러 depth scale을 갖는 경우가 성능 하락을 야기한다고 합니다. LiDAR 데이터를 이용하는 경우 Point Cloud의 점 또는 BEV의 픽셀은 서로 인접하다면 실제 물리적 거리도 인접하다는 설명입니다.
'Vision' 카테고리의 다른 글
SENet(Squeeze-and-Excitation Networks) (0) | 2022.01.05 |
---|---|
1x1 Convolutions & Inception Module (0) | 2022.01.04 |
Introduction - Attention (0) | 2021.10.31 |
Complex-YOLO: Real-time 3D Object Detection on Point Clouds (0) | 2021.09.12 |
SSD: Single Shot MultiBox Detector (0) | 2021.06.27 |
댓글