[컴퓨터 비전의 모든 것] Detecting Objects as Keypoints

2024. 12. 20. 03:54MOOC

CornerNet

CornerNet은 bounding box를 좌상단(top-left)과 우하단(bottom-right) 두 개의 좌표로 정의하는 방식으로, 이름 그대로 코너(corner)를 활용하여 box를 결정한다.

주요 특징:

  1. Backbone Network와 Branch
    • Backbone network에서 생성된 feature map을 두 개의 branch로 나눈다.
      • Top-left Branch: 좌상단 좌표를 예측.
      • Bottom-right Branch: 우하단 좌표를 예측.
    • 두 branch는 동일한 객체에서 나온 코너일 경우, 같은 클래스의 embedding으로 매핑되도록 학습된다.
  2. Single-stage 구조
    • CornerNet은 single-stage 구조로 속도에 집중한 설계다.
    • 성능보다는 빠른 속도를 목표로 한다.

CenterNet

CenterNet은 CornerNet의 한계를 극복하고 성능을 개선하기 위해 제안된 모델이다. CornerNet이 코너를 중심으로 box를 정의했다면, CenterNet은 **센터(center)**를 box 정의의 중요한 요소로 추가했다.

주요 특징:

  1. Center Point 추가
    • 좌상단과 우하단 코너뿐 아니라, 센터 좌표를 추가로 예측하여 bounding box를 정의한다.
    • 센터 좌표를 추가함으로써 bounding box의 유일성을 확보하고 성능을 개선했다.

  1. Bounding Box 정의 방법
    • 좌상단, 우하단 좌표를 모두 예측하는 기존 방식 대신, box의 최소 정보만 예측:
      • 센터 좌표
      • 너비(width)
      • 높이(height)
  2. 효율성
    • CenterNet은 성능과 속도의 균형을 맞춘 모델로, CornerNet 대비 속도가 빠르면서도 성능이 향상되었다.


CornerNet과 CenterNet 비교

모델정의 방식주요 특징성능/속도 우위

CornerNet 좌상단, 우하단 좌표 Single-stage 구조, 속도 중심 설계 속도 중심
CenterNet 좌상단, 우하단 + 센터 좌표 센터 추가로 성능 개선, box 최소 정보만으로 bounding box 결정 성능 및 속도 모두 우수