[3D OD LiDAR 편] Point RCNN: Anchor가 없는 2-stage 3D Object Detection

PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud



2D Object Detection의 RCNN을 패러디한 구조입니다.
Point Net을 사용하여 대략적인 위치 추정
2nd stage=>1st stage를 통해 얻은 Bounding Box를 입력한 Point Cloud 및 PointNet에서 얻은 특징량에 따라 수정
*2D의 RCNN과 다른 점은 물체가 속한 것으로 추정되는 Point와 입력된 Point Cloud를 사용한 제2스테이지 수정(2D라면 Semantic Feature만 입력하고 원래의 RGbimage는 입력하지 않음)

참신성


Bottom-up 3D proposal generation via point cloud segmentation



Learning point cloud representations


Point Net++를 사용하여 Point cloud에서 피쳐 양을 추출합니다.
포인트의 특징을 얻을 수 있다면 무엇이든 될 것 같습니다.

Foreground point segmentation


얻은 Point의 특징에 따라 Point가 전경(물체의 점)으로 추정된다.
Ground Truth의 Foreground point는 Ground Truth의 Bounding Box에 있는 Point Cloud입니다.

Bin-based 3D bounding box generation


획득한 Foreground의 Point Cloud에서 3D Bounding Box를 추정합니다.

Point cloud region pooling



1. 획득한 3D Bounding Box(주황색)의 크기를 조금 늘려 회색 Bounding Box를 획득
2. ForeGround Point Segmentation에서 전경으로 추정되는 Point(바닥, 벽, 나무 등을 제거할 수 있는 Point) 추출
3. Point-wise feature vector에서 나머지 파란색 Point들에 해당하는 점을 추출한 Semantic Feature
4. 회색 Bounding Box에 점이 하나도 들어가지 않으면 Bounding Box를 삭제합니다.

Canonical 3D bounding box refinement


Canonical transformation



가져온 3D Bonding Box를 기준으로 좌표를 변환합니다.
이러면 공부가 쉬울 것 같아요.

Feature learning for box proposal refinement



가져온 피쳐의 양은 r(반사 강도), m(segmentation mask), d(LiDAR와의 거리)로 입력합니다.
* depth 정보를 입력한 이유는 canonical Transform의 Point의 3차원 거리 정보를 잃어버렸기 때문이며, 밀도의 차이와 Intensity에 미치는 영향 등을 고려하기 위해서다.

결실



정밀도가 높아졌다.속도가 어때요?

결론


·Anchor Free의 2 Stage 3D Object Detection은 3D에서도 정밀도가 좋다.

참고 문헌


PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud
https://openaccess.thecvf.com/content_CVPR_2019/papers/Shi_PointRCNN_3D_Object_Proposal_Generation_and_Detection_From_Point_Cloud_CVPR_2019_paper.pdf

좋은 웹페이지 즐겨찾기