3D Object Detection/Monocular 3D

[논문리뷰] PETRv2 : A Unified Framework for 3D Perception from Multi-Camera Images (2023 ICCV)

논문리뷰 2022. 12. 30. 18:42

[논문리뷰] 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

  1. Feature Extract
  2. Frustum 을 3D World Coordinate으로 변환 (Temporal Alignment 수행)
  3. Position Encoder – [Image Feature, 3D World Coord] Concat
  4. 각 Task 에 맞는 Query 와 Cross Attention
  5. 각 Task 에 맞는 결과 예측

1. Multi-view 이미지를 Backbone을 통해 2D Feature 추출 (ex, resnet50)

2. Frustum 을 3D World Coordinate으로 변환 (Temporal Alignment 수행)

t-1 시점에서와 t시점에서 바라보는 빨간 차의 위치는 상대적으로 다르기 때문에 aignment를 진행해 주어야 함

  • 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

이미지 좌표계에서 라이다 좌표계로 변환하는 식
t-1시점에서 라이다 좌표계를 t시점의 라이다 좌표계로 변환하는 식


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

Task에 맞는 Query 생성, 1. Object Query, 2. BEV Query, 3. Lane Query

  • 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에 대해 강인성을 보여줌

 


자율주행에 필요한 인공지능 관련 논문을 리뷰합니다.