본문 바로가기

Computer Vision/Object Detection

[논문읽기/2019] VisDrone-DET2019: The Vision Meets Drone Object Detection in Image Challenge Results

Link: http://openaccess.thecvf.com/content_ICCVW_2019/papers/VISDrone/Du_VisDrone-DET2019_The_Vision_Meets_Drone_Object_Detection_in_Image_Challenge_ICCVW_2019_paper.pdf

 

 

Abstract

- 33개의 object detection 알고리즘들에 대한 챌린지 결과를 나타냄.  

- 웹사이트: http://aiskyeye.com/

 

1. Introduction

- VisDrone-DET2019를 이용하여 10개의 미리 정의된 카테고리에 대해 detection을 수행

- 47개의 detection 기법들 중에 33개가 최신의 baseline 방법들보다 우수

 

2. Related Work

2.1. Anchor based Detectors

- 최신의 anchor 기반 detector들은 크게 2가지로 분류

- (1) two-stage 기법은 높은 정확도를 보임, (2) one-stage 기법은 높은 효율성을 보임.

- [26]에서는 object detection class 불균형 문제를 다루기 위해 Focal Loss를 적용

- [23]에서는 networkhead를 최대한 가볍게 하기 위해 새로운 two-stage detector를 제안

- [45]에서는 one-stage two-stage의 장점 모두를 이용하기 위해, 2개의 inter-connected된 모듈로 형성된 single shot detector를 제안

- [2]에서는 multi-stageobject detection 아키텍처를 위해 Cascade R-CNN을 제안

- [11]에서는 드론을 이용하여 취득된 장면에서 작은 크기의 object를 검출하기 위해, channel-aware deconvolutional network를 제안

- [50]에서는 network의 아키텍처에 독립적인 성능을 유지하기 위해, BatchNorm과 더 큰 learning rate를 이용하여 scratch로부터 detector를 학습시킴.

 

2.2. Anchor-free Detectors

- anchor 기반 detector의 성능 향상이 많이 되었지만, anchor에 대한 최적의 파라미터를 선택하는 문제는 여전히 어려움.

- 높은 recall을 보장하기 위해, 더 많은 anchor는 필수적이지만, 높은 계산 복잡도를 필요로 함.

- 데이터셋마다 이에 상응하는 최적의 anchor가 서로 다름.

- 이러한 문제 해결을 위해 anchor-freedetector들을 많은 연구자들이 제안하였으며, 최근 들어 복잡한 backbone network를 이용하여 상당한 발전을 이룩함.

- [18]에서는 objectbounding box keypointpair로 검출하기 위해 CornerNet을 제안

-> 높은 처리 비용을 낮추기 위해, 추가로 CornerNet-Lite를 도입

-> ConrerNet2가지 효율적인 변종을 조합함: (1) attention mechanism을 이용한 CornerNet-Saccade, (2) 새로운 compactbackbone 아키텍처[19]를 이용한 CornerNet-Squeeze

- [10]에서는 precision recall 모두 개선시키기 위해, object keypointpair 보다는 triplet으로 검출함.

- [46]에서는 objectbounding boxcenter point로 모델링하고, 크기, 3차원 위치, 방향, 자세 등과 같은 모든 다른 속성으로 regression시킴.

- [17]에서는 정확하며, 유연하고, 완전히 anchor-free한 프레임워크를 제안하였으며, 잠재적으로 object를 포함하는 각각의 위치에 대해 category-agnostic bounding boxobject의 존재 가능성을 나타내는 category-sensitive semantic map을 예측함.

- [37]에서는 object detectionsemantic segmentation과 유사하게 픽셀마다 예측하는 방식으로 해결함.

 

3. The VisDrone-DET2019 Challenge

- 10개의 object 카테고리(pedestrian, person, car, van, bus, truck, motor, bicycle, awning-tricycle, tricycle)에 대해 검출을 수행함.

- 사람이 서있거나 걷고 있으면 pedestrian으로, 나머지 경우에 대해서는 person으로 분류

- Cascade R-CNN[2]보다 성능이 높은 경우에 대해서만 ICCV 2019 workshop proceeding에 출판됨.

 

3.1. The VisDrone-DET2019 Dataset

- 서로 다른 비행 고도 및 장소에 대해 드론을 이용하여 취득한 8,599개의 이미지로 구성

- bounding boxes의 개수는 540,000개 이상임.

- 데이터셋 구성: training(6,471), validation(548), testing(1,580)

- MS COCO[27]evaluation protocol을 이용하여 detection 알고리즘의 결과를 평가함.

 

3.2. Submitted Detectors

- 47개의 서로 다른 object detection 기법들이 제출되었으며, 이중 33개가 최신의 object detectorCascade R-CNN[2]보다 우수한 성능을 보임.

- Cascade R-CNN[2]을 제외하고, VisDrone 팀은 다른 6개의 baseline 기법들에 대해 결과를 제공함.

- 다른 6개의 baseline 기법들: CornerNet[18], Light-RCNN[23], DetNet59[24], RefineDet[45], RetinaNet[26], FPN[25]

- 39개의 알고리즘(33+6)들에 대한 결과가 보고됨.

1. Cascade R-CNN[2]을 개선한 detector 9:

-> Airia-GA-Cascade(A.2), Cascade RCNN+(A.4), Cascade R-CNN++(A.5), DCRCNN(A.13), DPN(A.14), DPNet-ensemble(A.15), MSCRDet(A.25), SAMFR-Cascade RCNN(A.29), SGE-cascade R-CNN(A.30)

2. CenterNet에 기반한 detector 6:

-> CenterNet(A.6), CenterNet-Hourglass(A.7), CN-DhVaSa(A.9), ConstraintNet(A.10), GravityNet(A.20), RRNet(A.28)

3. RetinaNet[26]으로부터 파생된 detector 5:

-> DA-RetinaNet(A.11), EHR-RetinaNet(A.16), FSRetinanet(A.19), MOD-RETINANET(A.24), retinaplus(A.27)

4. FPN representation[25]을 적용한 detector 3:

-> ACM-OD(A.1), BetterFPN(A.3), ODAC(A.26)

5. 배경의 noise를 방지하기 위해 object segmentation을 수행한 detector 3:

-> DBCL(A.12), HTC-drone(A.22), S+D(A.31)

6. 최신의 detector들을 ensemble시킨 detector 4:

-> EnDet(A.17) = YOLO + Faster R-CNN

-> TSEN(A.33) = 3개의 two-stage 기법을 ensemble: Faster R-CNN + Guided Anchoring + Libra R-CNN

-> ERCNNs(A.18) = 서로 다른 backbone을 이용한 Faster R-CNN + Cascade RCNN

-> Libra-HBR(A.23) = SNIPER + Libra R-CNN + cascade R-CNN

7. FPN 모델과 달리, 더 많은 multi-scale fusion 전략을 이용한 detector 3:

-> CNAnet(A.8): multi-neighbor layers fusion 모듈을 이용하여, 현재 layermulti-neighbor의 상위 layer를 융합함.

-> HRDet+(A.21): high-to-low convolutions을 병렬로 연결하여, 고해상도에 대한 representation을 유지시킴.

-> TridentNet(A.32): 병렬의 multi-branch 아키텍처를 구성하였으며, 각각의 branch는 서로 다른 receptive fields를 가지면서도 동일한 transformation parameters를 공유함.

- 보다 자세한 사항은 아래 table 1과 같음.

3.3. Results and Analysis

- table 2에 전체적인 결과를 나타내고 있음.

- DPNet-ensemble(A.15)가 가장 우수한 성능을 보임(29.62% AP score).

-> FPN[25]의 아이디어를 따르며, global context module(GC)[3]deformable convolution (DC)[7]backbone network에 도입하여, Cascade-RCNN[2]를 개선시킴.

-> RRNet(A.28) ACM-OD(A.1)는 두번째로 높은 성능을 보임(29.13% AP score).

-> RRNet(A.28): [46]을 기반으로 한 anchor-freedetector로서, coarse bounding boxesground-truth 사이의 bias re-regression 모듈을 이용하여 예측함.

-> ACM-OD(A.1): FPN[25] 프레임워크를 활용하였으며, object augmentation을 함께 동작시키기 위해 active learning 전략을 이용함.

- VisDrone 팀에서 제공한 다른 7개의 baseline 기법들 중에서는 CornetNet[18]이 가장 우수한 성능을 보였으며, RetinaNet[26]이 가장 나쁜 성능을 보임.

- object 카테고리에 대한 검출 결과는 table 3과 같음.

- object 별로 가장 우수한 결과를 갖는 방법들은 모두 최상위 6개의 AP Score를 갖는 detector들에 의한 결과임을 관찰할 수 있음.

-> personawning-tricycle에 대해서는 좋은 검출 결과를 보이지 못했는데, person은 서있는 자세를 유지하지 않고 보통 tricycle bicycle과 같은 다른 종류의 object를 포함하고 있기 때문임. awning-tricycle는 훈련 데이터의 부족 때문에 좋은 결과를 보이지 못함.

 

3.4. Discussion

- DPNet-ensemble(A.15)가 가장 우수한 성능을 보이긴 했지만, 30% 미만의 AP Score를 보이며, 이는 실제 어플리케이션에서 만족을 위해서는 여전히 부족함.

- figure 1VisDrone-DET2018 VisDrone-DET2019 챌린지에서 우수한 성능을 보인 최상위 10개의 검출 기법들을 나타내고 있음.

-> VisDrone-DET2018 챌린지의 우승 방법인 HAL-Retina-Net보다 DPNet-ensemble(A.15)AP 측면에서 약간 저조하다는 결론을 내릴 수 있으나, 33개의 detector 모두 baseline 기법들보다 우수함. 이는 2019년 챌린지의 성과가 2018년 챌린지 보다 우수하다는 것을 의미함.

 

- figure 2DPNet-ensemble(A.15)의 검출 결과를 고려해봤을 때, 드론 플랫폼 상에서 객체 검출 시 중요한 문제점들은 다음과 같음.

Small object detection: 드론 장면에 포함된 object들은 보통 매우 작음. DPNet-ensemble(A.15)은 큰 scaleobject(: car)에 대해서는 잘 동작하지만, figure 23번째줄처럼 작은 scaleobejct들에 대한 검출 결과는 많은 false positive가 나타나고 있음.

-> 이는 작은 object 검출을 위해, Cascade-RCNN[2] 프레임워크에 작은 anchor가 설계 되었기 때문이며, 성능 향상을 위해서는 작은 objects들에 대해 변별력 있는 representation을 위해 보다 문맥적인 의미 정보를 추출해야 함.

Occlusion: occlusion은 검출 성능을 제한시키는 다른 중요한 문제이며, 드론 기반의 장면에 포함된 object들은 종종 다른 object들이나 배경 장애물에 의해 가려지게 됨. figure 2의 두번째 줄에서 볼 수 있듯이, DPNet-ensemble(A.15)occlusion이 발생했을 경우 복사된 detection 결과를 생성하는 것을 볼 수 있음.

-> 문맥 또는 의미 정보를 통해 occlusion을 처리하는 것이 필수적임.

Data Augmentation: VisDrone 데이터는 object들의 카테고리가 imbalanced한 특성을 가지고 있음. table 3에서 볼 수 있듯이, awning-tricyclebicyclecarpedestrian에 비해 저조한 성능을 보임. 예로, DPNet-ensemble(A.15) carpedestrian 클래스에서 각각 51.53%32.31% AP를 보였으나, awning-tricyclebicycle 클래스에서는 각각 18.41% 12.86%AP를 보임.

-> 이 문제를 해결하기 위해서는, loss function에서 서로 다른 object 클래스의 weight를 조절하거나, 작은 데이터를 갖고 있는 카테고리에 대해 data augmentation을 적용할 수 있음.

 

4. Conclusion

- VisDrone-DET2019 결과에 대해서 리뷰하였으며, 평가 되었던 47개의 detector들 중에서 33개가 강력한 baselineCascade-RCNN[2] detector보다 우수한 성능을 보임.

-> 최상위 3개의 detectorDPNet-ensemble(A.15), RRNet(A.28), ACM-OD(A.1)에 해당되며, 각각 29.62%, 29.13%, 29.13% AP를 보임.

-> 최신의 detection 프레임워크는 “Cascade-RCNN[2] + FPN[25] + Attention Modules”로 결론지을 수 있음.

-> 하지만 여전히 실제 어플리케이션으로는 만족스러운 성능을 보이지 못함.

 

A. Submitted Detectors

- 개인적으로 최상위 3개의 detectorDPNet-ensemble(A.15), RRNet(A.28), ACM-OD(A.1)에 대해서만 살펴봄.

 

A.15. Drone Pyramid Networks-ensemble(DPNet ensemble)

Hongliang Li, Qishang Cheng, Heqian Qiu, Zichen Song and Xiaoyu Chen

{hlli,cqs,hqqiu,}@std.uestc.edu.cn, szc.uestc@gmail.com, xychen9459@gmail.com

- mmdetection[5] 딥러닝 프레임워크를 이용하여 Cascade-RCNN[2]을 기반으로 한 2개의 object detector를 훈련시킴.

- 제안한 detector의 디자인은 FPN[25]의 아이디어를 따르며, ImageNet을 이용하여 pre-trainedResNet-50 ResNet-101[14]feature extractors로 이용함.

- feature extraction의 능력을 최대한 활용하기 위해, backbone networkglobal context module (GC)[3] deformable convolution(DC)[7]을 도입함.

- 데이터를 최대한 활용할 목적으로, 다양한 크기의 object들을 자연스럽게 다루기 위해 multiple scales(짧은 쪽이 1000, 800, 600에 해당됨)을 이용한 FPN을 가지고 Cascade-RCNN을 훈련시킴.

- predicted boxes를 선택하기 위해 nms를 사용함.

- feature quantification을 위해서 RoIPoolingRoIAlign[13]으로 변경함.

- 훈련 단계에서는 Libra R-CNN[30]에서 사용한 multi-scale training balance 전략을 사용함.

- 추론 단계에서는 multi-scale testing을 사용함.

  

A.28. Re-RegressionNet(RRNet)

Changrui Chen, Yu Zhang, Qingxuan Lv, Xiaorui Wang, Shuo Wei, Xin Sun

{ccr,zhangyu9520,lqx,recyclerblacat,weishuo}@stu.ouc.edu.cn,sunxin@ouc.edu.cn

- convolutional neural network를 사용하여, class에 대해 objectcenter pointsize를 예측하는 [46]에서 영감을 얻음.

- 이러한 points들과 size 예측을 이용하여 coarsebounding boxes를 생성함.

- 그 다음, 이렇게 coarsebounding boxesROIAlign 모듈[13]로 구성된 Re-Regression 모듈(RR)과 일부의 convolution layers로 보냄.

- RR 모듈은 coarsebounding boxesGT 사이의 bias를 예측하며, 이렇게 coarsebounding boxes에 대해서만 위치를 조정하게 됨.     

- 최종적으로 마지막 bounding boxes를 생성하기 위해 soft-nms를 사용함.

 

A.1. Augmented Chip Mining for Object Detection(ACM-OD)

Sungeun Hong, Sungil Kang and Donghyeon Cho

{csehong,sung1.kang,cdh12242}@sktbrain.com

- FPN[25]을 이용한 Faster R-CNN에 기반하고 있으며, backboneMS-COCO[27]을 이용하여 pre-trainedResNet-101을 이용함.

- 제안한 방법의 주요 차이점은 훈련을 위해 hard examples을 적극적으로 활용하는 augmentedchip mining을 수행함.

- 먼저, 작은 object들의 효율적인 localization을 위해 제안한 모델을 chip area[35](, ground truth 샘플들이 밀집하게 위치한 sub-region)로부터 학습시킴.

- 그 다음 class imbalance 문제와 높은 false positive rate를 줄이기 위해 patch-level

augmentation을 수행함.

- 결과적으로 patch-levelaugmentedobject instance와 전체 이미지가 hard examples

구성하는 chips으로 사용됨. 이들을 이용하여 제안한 모델을 다시 훈련시킴.

- ACM-OD는 훈련, augmentation, 추론 등의 프로세스가 반복적으로 수행됨에 따라 점진적으로 진화를 함.

- 추가적으로, data augmentation 전략을 이용한 active learning, VisDrone 데이터셋을 고려한 scale 및 종횡비의 변화로 정확도를 개선함.

- 훈련 중에 “ignored regions” “others” object들을 Masking하는 것도 성능을 향상시키는데 도움을 줌.

- 정확한 localization을 위해, box voting[12]을 포함시킨 후처리 단계도 도움이 됨.

- 제안한 최종 결과는 다른 모델들과는 약간 다른 ensemble을 기반으로 하고 있음.

- detectorVisDrone2019 train/val set, DOTA train/val set[42, 8], MS COCO [27] 등을 이용하여 훈련시킴.

- 자세한 내용은 아래 ICCV 2019 workshop 논문을 참고할 것

http://openaccess.thecvf.com/content_ICCVW_2019/papers/VISDrone/Hong_Patch-Level_Augmentation_for_Object_Detection_in_Aerial_Images_ICCVW_2019_paper.pdf