Computer Vision/Object Detection, Segmentation

[CVPR 2022] Oriented RepPoints for Aerial Object Detection

논문: https://arxiv.org/abs/2105.11111

깃허브: https://github.com/open-mmlab/mmrotate

 

배경지식

  • ODAI (Object Detection in Aerial Images): 위성 이미지에서의 객체 검출은 도시 계획, 재난 관리, 농업, 군사 등 다양한 분야에서 활용된다. 많은 연구로 기술의 발전이 이루어지고 있지만 가려진 물체, 어수선한 배경, 예측할 수 없는 방향(임의의 방향), 상대적으로 작은 크기의 객체 등과 같은 문제가 있어 어려운 문제이다.
  • HBB (Horizontal Bounding Box): 기존의 Object Detection에서 사용하는 수평으로 정렬된 Bounding Box
  • OBB (Oriented Bounding Box): 방향이 있는 Bounding Box. 객체를 감싸는 가장 작은 직사각형을 찾지만, 이 직사각형은 방향을 따라 회전할 수 있음. 따라서 OBB는 회전된 객체나 불규칙한 형태의 객체를 더 정확하게 탐지할 수 있음 but OBB는 HBB에 비해 구현이 복잡하고 계산 비용이 더 많이 들 수 있음
  • 따라서 객체의 방향이 중요한 경우에는 OBB를 객체의 방향이 크게 중요하지 않거나 계산 비용을 줄여야 하는 경우에는 HBB를 사용하는 것이 좋다.
  • DOTA dataset [link] : A Large-Scale Benchmark and Challenges for Object Detection in Aerial Images.
    • 종류: DOTA-v1.0, DOTA-v1.5, DOTA-v2.0
    • Annotation format:
      x1, y1, x2, y2, x3, y3, x4, y4, category, difficult​
    • (x_i, y_i) : oriented bounding box (OBB)의 i번째 정점
    • category : 클래스
    • difficult : 인스턴스를 감지하기 어려운지 여부를 나타냄. 1은 어려움. 0은 어렵지 않음
  • FPN (Feature Pyramid Network): 보다 다양한 크기의 객체를 탐지하기 위해 network의 마지막 layer에서 나온 feature만 사용하는 것이 아니라, 각 layer에서 나온 모든 feature를 사용
  • Deformable Convolution
    • 일반적인 convolution 연산은 고정된 크기의 kernel을 기반으로 수행되지만 deformable convolution은 feature를 특정 layer에 태워 sampling point를 예측한 후, 해당 point들을 기반으로 covolution 연산을 수행 (즉, 피쳐맵에서 규직적인 grid 내의 값을 sampling을 하는 것이 아니라, 좀 더 광범위한 grid cell의 값을 sampling)
    • 특정 위치의 object들에 맞추어 sampling이 이루어지면서 고정된 크기의 kernel로부터 오는 한계점들(큰 물체에 대한 탐지 성능이 떨어짐)을 어느정도 극복함
  • anchor-free detection: 미리 정의한 anchor 없이 바로 object를 탐지하는 방법. Keypoint-based method와 Center-based method 두 가지 방법이 있음
    • Keypoint-based method: 먼저 여러 개의 미리 정의되거나 자체 학습된 Keypoint를 찾은 다음 객체의 공간 범위를 제한하는 방법 [RepPoints, ICCV 2019]
    • Center-based method: 객체의 중심점 또는 영역을 사용하여 양의 값을 정의한 다음 양의 값에서 객체 경계까지의 네 가지 거리를 예측하는 방법
  • RepPoints: Point Set Representation for Object Detection [ICCV 2019, microsoft] 
     
    • deformable convolution을 활용하여 객체의 둘레에 점을 찍어 얻은 RepPoints를 기반으로 anchor 없이 (Anchor free object detection) 객체 탐지를 수행하는 모델
    • 기존 Anchor 모델의 한계: object의 모양과 포즈, 의미상 중요한 local 영역의 위치를 고려하지 않고 bbox로 개략적으로 표현
    • Anchor 대신 RepPoints (representative points)를 제안. RepPoints는 객체의 공간 범위(extreme)와 의미적으로 중요한 local 영역(semantic keypoint)을 나타내는 일련의 점으로 구성된 새로운 표현임 → object localization loss + object recognition loss 로 학습됨
    • 46.5 AP on COCO dataset

 

논문 요약

  • 키워드: Aerial Object Detection, adaptive points representation, adaptive points learning
  • Oriented RepPoints라는 효과적인 항공 객체 탐지기를 제안. 임의 방향을 가지고 있는 인스턴스(arbitrary-oriented instances)의 기하학적 정보를 포착할 수 있는 adaptive points representation을 활용하여 공중 객체 감지에 효과적인 adaptive points learning approach를 제안
  • 정확한 방향성으로 classification 및 localization을 용이하게 하기 위해 3가지 방향성 변환 함수(oriented conversion functions)를 제시
  • 학습 동안 대표적인 oriented reppoints samples을 선택하는 방향으로 학습하는 adaptive points learning을 위한 효과적인 품질 평가 및 샘플 할당 방식(adaptive points assessment and assignment, APAA)을 제안
  • 4가지 챌린지한 데이터셋에 대한 광범위한 실험

 

기존 Oriented Object Detection 모델들의 한계

  • 최근의 aerial object detection methods은 주로 고전적인 object detector에 방향 회귀(orientation regression)를 도입하는 방식으로 파생됨
  • SCRDet [45], CADNet [47], DRN [24], R3Det [42], ReDet [9] and Oriented RCNN [36]
  • 기존의 regression-based detectors는 방향을 정확하게 예측하지 못하는 한계가 있음

 

Oriented RepPoints

 

  • 방향을 직접 regressing하는 대신 adaptive point set (RepPoints)를 활용해서 aerial object의 기하학적인 구조를 포착 → differentiable conversion functions 도입
  • 직접적인 point-to-points supervision 없이 고품질의 adaptive points를 효과적으로 학습하기 위해 훈련 단계에서 고품질의 oriented reppoints를 선택하는 quality measure scheme을 제안

- Adaptive Points Learning with Orientation

adaptive points → oriented bounding box로 변환하는 3가지 변환 함수(conversion function)를 도입함.

OB: oriented box, G: oriented conversion function, R: point set

 

3가지 변환 함수: 미분 불가능한 MinAreaRect는 post-process에 사용하고 학습에는 미분가능한 NearestGTCorner와 ConvexHull를 사용

  1. MinAreaRect: oriented object 위의 학습된 point set으로부터 최소 면적을 갖는 회전된 직사각형을 찾음 (미분 불가능)
  2. NearestGTCorner: GT annotation을 사용해서 각 모서리에 대해 학습된 point set과 가장 가까운 점을 찾아서 회전된 직사각형을 만듦 (미분 가능)
  3. ConvexHull: 방향이 있는 인스턴스 다각형은 점 집합의 볼록껍질로 정의될 수 있음 (미분 가능)

 

제안하는 프레임워크는 2 단계로 구성됨

  1. Initialization Stage : adaptive point set 생성하는 단계 (RepPoints 사용)
  2. Refinement Stage : 손실함수(2)를 minimizing 하여 더 정확하게 조정하는 단계 (제안하는 APAA 사용)

L_cls: object classification loss, L_s1, L_s2 : 각 단계에서의 spatial localization loss

 

- Adaptive Points Assessment and Assignment (APAA)

훈련 단계에서 adaptive points의 대표 샘플을 positive sample로 할당하는 효과적인 평가 및 할당 스키마를 제안

훈련 단계에만 사용되기 때문에 inference 시 계산량 부하를 발생시키지 않음

 

  1. Quality Measure of Adaptive Points: 학습된 adaptive points를 네 가지 측면에서 평가하기 위해 quality measure Q를 정의함 (8)
    • Q_cls: classification ability, Q_loc: localization ability, Q_ori: orientation alignment, Q_poc: point-wise correlation
    • Orientation Alignment 계산: Chamfer distance 사용해서 예측한 point set과 GT box 사이의 방향 차이를 평가
  2.  Dynamic k Label Assignment: Quality Measure Q를 기반으로 다른 iteration에서 효율적이고 동적인 top k 항목을 선택하는 방식을 통해 oriented reppoints samples을 할당
    • 각 object에 대해 품질 점수에 따라 initialization stage의 모든 point set 샘플을 정렬
    • 샘플링 비율 σ를 설정하여 각 iteration에서 상위 k개의 샘플을 훈련용 positive sample로 할당

 

실험 결과