[논문리뷰] PETRv2 : A Unified Framework for 3D Perception from Multi-Camera Images (2023 ICCV)
저자 : Yingfei Liu, Junjie Yan, Fan Jia, Shuailin Li, Aqi Gao, Tiancai Wang, Xiangyu Zhang, Jian Sun
- 이미지 인식 딥러닝 중국 회사인 MEGVII에서 작성된 논문으로 현재는 arXiv에 올라와 있음
- Temporal 정보를 확용하여 data dependent한 Positioning Embedding (PE)을 통해 PETR 보다 발전시킨 모델을 제안
[논문리뷰] PETR : Position Embedding Transformation for Multi-View 3D Object Detection (2022 ECCV)
[논문리뷰] PETR : Position Embedding Transformation for Multi-View 3D Object Detection (2022 ECCV) 저자 : Yingfei Liu, Tiancai Wang, Xiangyu Zhang, Jian Sun - 이미지 인식 및 딥 러닝 소프트웨어를 설계하는 중국 기술 회사인 MEG
ai-review.tistory.com
Contribution
- PETR 에 Temporal 정보 추가
- t-1 Frame의 Object Position에서 Temporal Alignment 수행
- Feature-guided Position Encoder 제안
- 3D PE를 Data adaptive하게 개선
- Task-specific Query 제안
- 3D Object Detection
- BEV Segmentation
- 3D Lane Detection
- Feature Extract
- Frustum 을 3D World Coordinate으로 변환 (Temporal Alignment 수행)
- Position Encoder – [Image Feature, 3D World Coord] Concat
- 각 Task 에 맞는 Query 와 Cross Attention
- 각 Task 에 맞는 결과 예측
1. Multi-view 이미지를 Backbone을 통해 2D Feature 추출 (ex, resnet50)
2. Frustum 을 3D World Coordinate으로 변환 (Temporal Alignment 수행)
- PETR 과 같은 방법으로 3D World Coordinate 을 만들고, t-1 frame의 Coordinate을 t frame으로 alignment 수행
- $l_{(t)}$ - t시점의 라이다 좌표계
- $c_i (t)$ - t시점의 i번째 카메라 좌표계
- $𝐾_𝑖$ - i번째 3D좌표에서 Frustum으로 변경하는 parameter
(사용되는 식에서는 역행렬을 사용하기 때문에 to 3D from Frustum) - $𝑇_{𝑐_𝑖 (𝑡)}^{𝑙(𝑡)}$ - i번째 Camera에서 Lidar좌표계로의 Extrinsic Parameter
- $𝑃^𝑚 (𝑡)$ – t시점의 Meshgrid Frustum, $𝑃_𝑖^{𝑙(𝑡)}(𝑡)$ - t시점의 i번째 카메라의 lidar 에서의 3D 좌표
- $𝑇_{l(t-1)}^{𝑙(𝑡)}$ - t-1시점의 라이다좌표에서 t시점의 라이다 좌표로 변환하는 Extrinsic Parameter
3. Position Encoder – [Image Feature, 3D World Coord] Concat
- 두 Feature 를 Concat 한 후에, Feature –guided Position Encoder
- 2D Feature – [1x1 Conv]
- [1x1, ReLU, 1x1, Sigmoid]를 통해 weight 생성 (Attention 효과)
- 3D Coordinate 에 [1x1, ReLU, 1x1] 한 것과 곱해서 PE 생성
- 위 그림과 같이 key, value 생성
4. 각 Task 에 맞는 Query 와 Cross Attention
- Object Query – PETR 과 동일
- Seg Query – BEV map위의 25x25 pixel 에 fixed anchor points
- MLP를 통하여 최종 Query 생성
- Lane Query – 3D 좌표의 Ordered Set
- 𝑙={($𝑥_1$, $𝑦_1$, $𝑧_1$),($𝑥_2$, $𝑦_2$, $𝑧_2$), … , ($𝑥_𝑛$, $𝑦_𝑛$, $𝑧_𝑛$)}
- y-axis와 평행하게 생성
- 각 anchor 로 부터 offset 예측
- 고정된 길이가 아니므로, visibility vector $𝑇_𝑣𝑖𝑠$ 도 함께 예측
$𝑇_𝑣𝑖𝑠$를 통해 Lane의 길이를 다르게 예측 가능
4. 각 Task 에 맞는 Query 와 Cross Attention
- 생성된 Query 로 3D-aware Feature 와 Cross-Attention
- 각 Task 에 맞는 Header 를 통해 최종 예측
- DETR3D 와 유사한 Transformer Decoder 사용
Experiment
- Baseline인 PETR보다 월등히 좋은 성능
- BEV기반으로 Feature를 생성한 후 Detection하는 방법이 좋은 성능을 보여주고 있는데, BEV기반의 방법들보다 mAP, NDS를 포함한 다양한 metric에서 좋은 성능을 보여주고 있음
- BEV Segmentation 또한 BEVFormer보다 좋은 성능을 보이고 있으며, OpenLane에서 진행된 3D Lane Detection도 SOTA의 성능을 보여줌
- 이는 제안되는 Temporal Positioning Embedding 방식의 구조가 효율적이라는 것을 보여줌
- CA - 3D Coordinate Alignment, FPE - Feature-guided Positioning Embedding
- Baseline인 PETR에 Feature-guided Positioning Embedding 을 적용하여도 더 좋은 성능을 보여줌
- PETRv2 는 PETR과 다르게 Temporal 정보를 사용하는데, CA, FPE를 사용하지 않아도 PETR보다 좋은 성능을 보여줌
- Mono Detection에서 Temporal 정보를 이용하는 것은 중요함
- 다른 논문에서도 Temporal 정보를 어떻게 사용해야 좋은지 연구하는 논문이 많음
- Random Rotation Noise를 추가하여 PETR과 실험 진행
- FPE를 사용하였을 때 noise에 대해 강인성을 보여줌
자율주행에 필요한 인공지능 관련 논문을 리뷰합니다.