본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2024-2] 임재열 - CornerNet, CenterNet

by limlimlim1109 2024. 12. 27.

<CornerNet>

 

Abstract

 

1. 이 방법에서는 하나의 컨볼루션 신경망을 사용하여 객체의 바운딩 박스를 좌상단 코너(top-left corner)와 우하단 코너(bottom-right corner)라는 한 쌍의 키포인트(keypoints)로 탐지합니다.

2. 객체를 쌍으로 된 키포인트로 탐지함으로써 기존의 단일 단계 탐지기(single-stage detectors)에서 일반적으로 사용되던 앵커 박스(anchor boxes) 설계가 필요하지 않게 됩니다.

3. 이 혁신적인 접근법에 더해, 우리는 네트워크가 코너를 더 잘 지역화(localize)할 수 있도록 돕는 코너 풀링(corner pooling)이라는 새로운 유형의 풀링 레이어를 도입했습니다.

4. 실험 결과, CornerNet은 MS COCO 데이터셋에서 42.2%의 AP(평균 정밀도)를 달성하며, 기존 모든 단일 단계 탐지기들을 능가하는 성능을 보여주었습니다.

 

Introduction

 

* 하지만 앵커 박스 사용에는 두 가지 단점이 있습니다:

  1. 매우 큰 앵커 박스 집합 필요:
    예를 들어, DSSD(Fu et al., 2017)에서는 40,000개 이상의 앵커 박스를, RetinaNet(Lin et al., 2017)에서는 100,000개 이상의 앵커 박스를 필요로 합니다. 탐지기는 각 앵커 박스가 실제 객체 바운딩 박스(ground truth)와 충분히 겹치는지를 학습해야 하므로, 대부분의 객체와 겹치는 앵커 박스를 확보하기 위해 많은 수의 앵커 박스가 필요합니다. 그러나 실제로는 극소수의 앵커 박스만이 실제 객체와 겹치게 되어, 긍정(positive)과 부정(negative) 앵커 박스 간의 불균형이 심화되고 학습 속도가 느려집니다(Lin et al., 2017).
  2. 많은 하이퍼파라미터 및 설계 선택 필요:
    앵커 박스를 설정할 때, 몇 개의 박스를 사용할지, 어떤 크기와 비율로 설정할지와 같은 하이퍼파라미터를 결정해야 합니다. 이러한 설정은 주로 **경험적 휴리스틱(heuristics)**에 의존하며, 특히 다중 해상도 구조(multiscale architectures)와 결합될 경우 더욱 복잡해집니다. 각 해상도에서는 다른 특징 맵을 사용하고, 각 특징 맵은 고유한 앵커 박스 집합을 사용해야 하기 때문입니다(Liu et al., 2016; Fu et al., 2017; Lin et al., 2017).

 

 

 

 

* CornerNet은 앵커 박스를 제거한 새로운 단일 단계 객체 탐지 접근법입니다.
우리는 객체를 바운딩 박스의 **좌상단 코너(top-left corner)**와 **우하단 코너(bottom-right corner)**라는 한 쌍의 키포인트로 탐지합니다. 단일 컨볼루션 신경망을 사용해:

  1. 각 객체 클래스의 좌상단 코너 히트맵(heatmap),
  2. 각 객체 클래스의 우하단 코너 히트맵,
  3. **각 코너에 대한 임베딩 벡터(embedding vector)**를 예측합니다.

임베딩 벡터는 같은 객체에 속하는 두 코너를 묶는 데 사용됩니다. 네트워크는 같은 객체에 속하는 코너들이 비슷한 임베딩을 가지도록 학습됩니다.
이 접근법은 네트워크의 출력을 크게 단순화하며, 앵커 박스 설계가 필요하지 않게 만듭니다. 이 방법은 다중 인물 포즈 추정(multiperson human-pose estimation)에서 키포인트를 탐지하고 그룹화하는 **Newell et al.(2017)**의 연관 임베딩(associative embedding) 방법에서 영감을 받았습니다. Fig. 1은 전체 파이프라인을 보여줍니다.

 


* CornerNet의 또 다른 혁신적인 구성 요소는 **코너 풀링(corner pooling)**입니다.
이 풀링 레이어는 컨볼루션 네트워크가 바운딩 박스의 코너를 더 잘 지역화(localize)하도록 돕습니다.

  • 바운딩 박스의 코너는 객체 외부에 있을 수 있습니다(예: 원 형태).
  • 코너를 지역화하기 위해서는 해당 픽셀 위치에서 수평으로 오른쪽(위쪽 경계)과 수직으로 아래쪽(왼쪽 경계)을 살펴보아야 합니다.

코너 풀링 레이어는 두 개의 특징 맵을 입력으로 받아:

  1. 첫 번째 특징 맵에서 오른쪽으로 모든 특징 벡터를 최댓값 풀링(max-pooling),
  2. 두 번째 특징 맵에서 아래쪽으로 모든 특징 벡터를 최댓값 풀링,
  3. 두 결과를 더하여 최종 출력을 생성합니다.
    Fig. 2는 이를 시각적으로 설명합니다.

* 우리는 코너를 탐지하는 방식이 바운딩 박스 중심(center)이나 제안된 영역(region proposal)을 사용하는 방식보다 더 나을 것이라 가정합니다:

  1. 중심은 코너보다 지역화하기 어려움: 중심은 객체의 네 면 모두에 의존하지만, 코너는 두 면에만 의존하므로 더 쉽습니다.
  2. 코너는 더 효율적으로 상자 공간을 표현: 코너만 사용하면 O(wh)O(wh)의 코너로 O(w2h2)O(w^2h^2)개의 앵커 박스를 표현할 수 있습니다.

 

CornerNet

 

Experiments

 

CenterNet

 

Abstract

 

1. 객체 탐지에서 **키포인트 기반 접근법(keypoint-based approaches)**은 자주 잘못된 객체 바운딩 박스를 다수 생성하는 문제가 있습니다. 이는 크롭된 영역(cropped region)을 추가적으로 분석하지 못하기 때문으로 보입니다.
2. 이 논문은 크롭된 영역 내의 **시각적 패턴(visual patterns)**을 최소 비용으로 탐구하는 효율적인 솔루션을 제시합니다.

3. 우리의 프레임워크는 대표적인 단일 단계 키포인트 기반 탐지기인 CornerNet을 기반으로 구축되었습니다.
4. 제안된 접근법인 CenterNet은 각 객체를 두 개의 키포인트(pair)가 아닌 **세 개의 키포인트(triplet)**로 탐지하여, 정밀도(precision)와 재현율(recall)을 동시에 향상시킵니다.

이에 따라, 우리는 다음 두 가지 맞춤형 모듈을 설계했습니다:

  1. 캐스케이드 코너 풀링(cascade corner pooling):
    • 좌상단(top-left)과 우하단(bottom-right) 코너에서 수집된 정보를 풍부하게 만듦.
  2. 센터 풀링(center pooling):
    • 중심 영역에서 더 인식 가능한 정보를 제공.

5. MS-COCO 데이터셋에서 CenterNet은 47.0% AP를 달성하여, 기존 모든 단일 단계 탐지기를 최소 4.9% 이상 능가했습니다.
한편, 더 빠른 추론 속도를 보이며, **상위권 2단계 탐지기(two-stage detectors)**와도 비교할 만한 성능을 입증했습니다.