glee1228@naver.com
Object Detection은 컴퓨터 비전과 이미지 처리에 관련된 기술로, 디지털 이미지와 비디오로 특정한 계열의 semantic 객체의 인스턴스를 감지하는 일을 다룹니다.
Object detection 분야의 예로는 face detection, Pedestrian Detection 등이 있습니다.
최근 딥러닝을 활용한 다양한 컴퓨터 비전 분야의 발달과 함께 Object Detection 분야의 성능도 크게 향상되었습니다.
위 그래프 이미지는 Object Detection 분야를 오랫동안 연구해온 Ross Girshick의 슬라이드에서 발췌한 이미지입니다.
Object Detection 분야에 널리 알려진 PASCAL VOC Dataset에서의 성능의 진보가 많이 이루어졌음을 보여줍니다.
위 그래프에서 2012년까지 Object Detection의 성능이 점점 정체되어있다가 2013년부터 딥러닝이 도입되었고 빠르게 성능이 향상되는 것을 볼 수 있습니다.
"Object Detection 분야에 잘 알려진 Faster R-CNN, YOLO, SSD(Single Shot Detector)정도는 알고 있는데 최근에 연구된 Object Detection 성능은 어느정도일지?" 란 궁금증이 생겨 Object Detection 성능 비교 테이블을 작성해보았습니다.
PASCAL VOC 2007와 PASCAL VOC 2012[5]는 이미지, 주석(Object Detection), Label(Semantic Segmentation, Instance Segmentation Label)을 포함하는 데이터셋으로 20개의 클래스와 각각 9,963장, 11,530장의 이미지가 포함되어 있고 Object의 수는 각각 24,640, 27,450개 입니다.
MS COCO[6]는 Microsoft 사에서 만든 4세 아이가 쉽게 인식할수 있는 91개 개체 유형의 사진이 포함된 총 250만 개 레이블로 표시된 인스턴스 데이터셋으로 91개의 클래스와 328,000장의 이미지가 포함되어 있고 Object의 수는 2,500,000여 개 입니다.
어떤 학습 데이터를 사용해서 네트워크를 학습했고, 어떤 테스트 데이터셋에 성능을 평가했는지, 만약 같은 데이터에 학습했다면 더 성능이 좋은 네트워크는 어떤건지 비교 테이블이 보고 싶어 리뷰 논문[1] + 웹 사이트[2],[3],[4] + 네트워크 원본 논문(부족한 정보만 참조)를 참조해 작성해 보았습니다.
컴퓨터 비전 분야의 연구원이나 Object Detection을 활용하려는 개발자 분들이 Object Detection 성능이 어떻게 되나? 라고 궁금할 때, 참고하실 수 있는 표 정도로 생각하시면 좋을 것 같습니다 :)
자세한 내용은 가장 아래 REFERENCE로 표기한 논문과 페이지 링크를 통해 확인하시면 됩니다!
아래의 3개의 테이블은 순서대로 PASCAL VOC 2007, PASCAL VOC 2012 그리고 MS COCO Testset에 평가한 Object Detection의 성능 비교 테이블입니다.
PASCAL VOC 2007[5] 테스트셋에서 전체 결과(%)
PASCAL VOC 2007 테스트셋에서 전체 결과(%) | ||
Methods | Trianed on | mAP |
R-CNN(Alex) | VOC2007 | 58.5 |
R-CNN(VGG16) | VOC2007 | 66 |
SPP-net(ZF) | VOC2007 | 60.9 |
GCNN | VOC2007 | 66.8 |
Bayes | VOC2007 | 68.5 |
Fast R-CNN | VOC2007+VOC2012 | 70 |
SDP+CRC | VOC2007 | 68.9 |
SubCNN | VOC2007 | 68.5 |
StuffNet30 | VOC2007 | 72.7 |
NOC | VOC2007+VOC2012 | 73.3 |
MR-CNN&S-CNN | VOC2007+VOC2012 | 78.2 |
HyperNet | VOC2007+VOC2012 | 76.3 |
MS-GR | VOC2007+VOC2012 | 78.6 |
OHEM+Fast R-CNN | VOC2007+VOC2012 | 78.9 |
ION | VOC2007+VOC2012+SBD | 79.2 |
Faster R-CNN | VOC2007 | 69.9 |
Faster R-CNN | VOC2007+VOC2012 | 73.2 |
Faster R-CNN | VOC2007+VOC2012+COCO | 78.8 |
SSD300 | VOC2007+VOC2012+COCO | 79.6 |
SSD512 | VOC2007+VOC2012+COCO | 81.6 |
CoupleNet | VOC2007+VOC2012 | 82.7 |
RefineDet512+ | VOC2007+VOC2012 | 83.8 |
"+" = trainval
PASCAL VOC 2012[5] 테스트셋에서 전체 결과(%)
PASCAL VOC 2012 테스트셋에서 전체 결과(%) | ||
Methods | Trianed on | mAP |
R-CNN(Alex) | VOC2012 | 53.3 |
R-CNN(VGG16) | VOC2012 | 62.4 |
Bayes | VOC2012 | 66.4 |
Fast R-CNN | VOC2007++VOC2012 | 68.4 |
StuffNet30 | VOC2012 | 70 |
NOC | VOC2007+VOC2012 | 68.8 |
MR-CNN&S-CNN | VOC2007++VOC2012 | 73.9 |
HyperNet | VOC2007++VOC2012 | 71.4 |
OHEM+Fast R-CNN | VOC2007++VOC2012+COCO | 80.1 |
ION | VOC2007+VOC2012+SBD | 76.4 |
Faster R-CNN | VOC2007++VOC2012 | 70.4 |
Faster R-CNN | VOC2007++VOC2012+COCO | 75.9 |
YOLO | VOC2007++VOC2012 | 57.9 |
YOLO+Fast R-CNN | VOC2007++VOC2012 | 70.7 |
YOLOv2 | VOC2007++VOC2012+COCO | 78.2 |
SSD300 | VOC2007++VOC2012+COCO | 79.3 |
SSD512 | VOC2007++VOC2012+COCO | 82.2 |
R-FCN (ResNet 101) | VOC2007++VOC2012+COCO | 85 |
"+" = trainval , "++" =trainval+test
MS COCO[6] 테스트셋 에서 전체 결과(%)
MICROSOFT COCO 테스트셋에서 전체 결과(%) | |||||||
Methods |
Trianed on |
Avg. precision, IoU | Avg. precision, Area | ||||
0.5 : 0.95 | 0.5 | 0.75 | S | M | L | ||
Fast R-CNN | train | 20.5 | 39.9 | 19.4 | 4.1 | 20 | 35.8 |
ION | train | 23.6 | 43.2 | 23.6 | 6.4 | 24.1 | 38.3 |
NOC+FRCN (VGG16) | train | 21.2 | 41.5 | 19.7 | - | - | - |
NOC+FRCN (Google) | train | 24.8 | 44.4 | 25.2 | - | - | - |
NOC+FRCN (ResNet101) | train | 27.2 | 48.4 | 27.6 | - | - | - |
GBD-Net | train | 27 | 45.8 | - | - | - | - |
OHEM+FRCN | train | 22.6 | 42.5 | 22.2 | 5 | 23.7 | 34.6 |
OHEM+FRCN* | train | 24.4 | 44.4 | 24.8 | 7.1 | 26.4 | 37.9 |
OHEM+FRCN* | trainval | 25.5 | 45.9 | 26.1 | 7.4 | 27.7 | 38.5 |
Faster R-CNN | trainval | 24.2 | 45.3 | 23.5 | 7.7 | 26.4 | 37.1 |
YOLOv2 | trainval35k | 21.6 | 44 | 19.2 | 5 | 22.4 | 35.5 |
SSD300 | trainval35k | 23.2 | 41.2 | 23.4 | 5.3 | 23.2 | 39.6 |
SSD512 | trainval35k | 26.8 | 46.5 | 27.8 | 9 | 28.9 | 41.9 |
R-FCN (ResNet101) | trainval | 29.2 | 51.5 | - | 10.8 | 32.8 | 45 |
DSOD300 | trainval | 29.3 | 47.3 | 30.6 | 9.4 | 31.5 | 47 |
R-FCN* (ResNet101) | trainval | 29.9 | 51.9 | - | 10.4 | 32.4 | 43.3 |
R-FCN** (ResNet101) | trainval | 31.5 | 53.2 | - | 14.3 | 35.5 | 44.2 |
Multi-path | trainval | 33.2 | 51.9 | 36.3 | 13.6 | 37.2 | 47.8 |
YOLOv3 | trainval35k | 33 | 57.9 | 34.4 | 18.3 | 35.4 | 41.9 |
FPN (ResNet101) | trainval35k | 36.2 | 59.1 | 39 | 18.2 | 39 | 48.2 |
Mask R-CNN (ResNet101+FPN) | trainval35k | 38.2 | 60.3 | 41.7 | 20.1 | 41.1 | 50.2 |
Mask R-CNN (ResNeXt101+FPN) | trainval35k | 39.8 | 62.3 | 43.4 | 22.1 | 43.2 | 51.2 |
DSSD513 (ResNet101) | trainval35k | 33.2 | 53.3 | 35.2 | 13 | 35.4 | 51.1 |
RetinaNet (ResNet101+FPN) | trainval35k | 39.1 | 59.1 | 42.3 | 21.8 | 42.7 | 50.2 |
RetinaNet (ResNeXt101+FPN) | trainval35k | 40.8 | 61.1 | 44.1 | 24.1 | 44.2 | 51.2 |
RefineDet512 | trainval35k | 43.6 | 64.9 | 47.7 | 27.2 | 46.9 | 55.6 |
D-RFCN+SNIP* (ResNet101) | trainval35k | 43.4 | 65.5 | 48.4 | 27.2 | 46.5 | 54.9 |
Mask R-CNN (HRNetV2p-W48 +cascade) | trainval35k | 46.1 | 64 | 50.3 | 27.1 | 48.6 | 58.3 |
SNIPER (ResNet101) | trainval35k | 46.1 | 67 | 51.6 | 29.6 | 48.9 | 58.1 |
PANet* (ResNeXt) | trainval | 47.4 | 67.2 | 51.8 | 30.1 | 51.7 | 60 |
TridentNet (ResNet101-Deformable) | trainval35k | 48.4 | 69.7 | 53.5 | 31.8 | 51.3 | 60.3 |
EfficientDet-D7 + AA | trainval35k | 51 | |||||
Cascade Mask R-CNN* (Triple-ResNeXt152) | trainval35k | 53.3 | 71.9 | 58.5 | 35.5 | 55.8 | 66.7 |
FRCN* : Fast R-CNN with multi-scale training
R-FCN** : R-FCN with multi-scale training and testing
표에 기재된 네트워크의 자세한 정보는 아래 리뷰 페이퍼의 reference를 찾거나 이름을 구글링해서 해당 논문을 찾으시면 좋을 것 같습니다.
https://paperswithcode.com 에서 대부분의 구현 코드와 논문 링크를 찾아보실 수 있습니다.
이 글이 도움이 되셨다면 공감 클릭을 부탁드립니다 :)
REFERENCE :
[1]Z. Zhao, P.Zheng, S.Xu, and X.Wu, "Object Detection with Deep Learning: A Review," in IEEE Trans Neural Netw, 2019
[2] https://paperswithcode.com/sota/object-detection-on-coco
[3] https://paperswithcode.com/sota/object-detection-on-pascal-voc-2007
[4] https://paperswithcode.com/sota/object-detection-on-pascal-voc-2012
[5] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes (VOC) Challenge. IJCV, 2010.
[6] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. L. Zitnick. Microsoft COCO: Common objects in context. In ECCV, 2014
'DeepLearning > ObjectDetection' 카테고리의 다른 글
Object Detection 과 Segmentation 평가 Metric 알아보기 (3) | 2020.07.13 |
---|