본문 바로가기
AI/딥러닝

물체 감지 : 속도 및 정확도 비교 (더 빠른 R-CNN, R-FCN, SSD, FPN, RetinaNet 및 YOLOv3)

by 꼬바리 2021. 6. 28.

서로 다른 물체 감지기를 공정하게 비교하는 것은 매우 어렵습니다. 어떤 모델이 가장 좋은지에 대한 정답은 없습니다. 실제 애플리케이션의 경우 정확성과 속도의 균형을 맞추기 위해 선택합니다. 검출기 유형 외에도 성능에 영향을 미치는 다른 선택 사항을 알아야합니다.

  • 기능 추출기 (VGG16, ResNet, Inception, MobileNet).
  • 추출기에 대한 출력 보폭.
  • 입력 이미지 해상도.
  • 매칭 전략 및 IoU 임계 값 (예측이 손실 계산에서 제외되는 방식).
  • 비 최대 억제 IoU 임계 값입니다.
  • 하드 예제 마이닝 비율 (양수 대 음수 앵커 비율).
  • 제안 또는 예측 수입니다.
  • 경계 상자 인코딩.
  • 데이터 증대.
  • 훈련 데이터 세트.
  • 훈련 또는 테스트에서 다중 스케일 이미지 사용 (자르기 포함).
  • 객체 감지를위한 피처 맵 레이어입니다.
  • 지역화 손실 기능.
  • 사용 된 딥 러닝 소프트웨어 플랫폼입니다.
  • 배치 크기, 입력 이미지 크기 조정, 학습률 및 학습률 감소를 포함한 학습 구성.

성능 결과

이 섹션에서는 해당 논문에서보고 한 성과를 요약합니다. 이 섹션을 빠르게 탐색하십시오.

더 빠른 R-CNN ( 소스 )

PASCAL VOC 2012 테스트 세트의 결과입니다. Faster R-CNN 성능을 나타내는 마지막 3 개 행에 관심이 있습니다. 두 번째 열은 지역 제안 네트워크에서 만든 RoI 수를 나타냅니다. 세 번째 열은 사용 된 훈련 데이터 세트를 나타냅니다. 네 번째 열은 정확도 측정 의 평균 평균 정밀도 ( mAP )입니다.

PASCAL VOC 2012 테스트 세트 결과.

더 빠른 R-CNN을위한 VOC 2012.

 

MS COCO 결과.

더 빠른 R-CNN을위한 COCO

 

PASCAL VOC 2007 테스트 세트를 사용하여 K40 GPU의 타이밍 (밀리 초).

R-FCN ( 소스 )

PASCAL VOC 2012 테스트 세트 결과.

R-FCN 용 VOC 2012

 

(일부 결과에는 다단계 교육 및 테스트가 사용됩니다.)

MS COCO 결과.

R-FCN 용 COCO

 

SSD ( 소스 )

300 × 300 및 512 × 512 입력 이미지를 사용한 PASCAL VOC 2007, 2012 및 MS COCO의 결과입니다.

SSD

 

(SSD300 * 및 SSD512 *는 mAP를 개선하기 위해 작은 물체에 데이터 증가를 적용합니다.)

공연:

속도는 추론 중에 배치 크기 1 또는 8로 측정됩니다.

 

(여기서 YOLO는 YOLOv2 또는 YOLOv3보다 느린 v1을 나타냄)

MS COCO 결과 :

SSD 용 COCO

 

YOLO ( 소스 )

PASCAL VOC 2007 테스트 세트 결과.

YOLOv2 용 VOC 2007

 

(다른 이미지 해상도에 대한 결과가 있기 때문에 여기에 VOC 2007 테스트를 추가합니다.)

PASCAL VOC 2012 테스트 세트 결과.

YOLOv2에 대한 VOC 2012

 

MS COCO 결과.

YOLOv2 용 COCO

 

YOLOv3 ( 소스 )

MS COCO 결과

YOLOv3 용 COCO

 

YOLOv3의 성능

COCO를 사용한 YOLO2의 성능

 

FPN ( 소스 )

MS COCO 결과.

FPN 용 COCO

 

RetinaNet ( 소스 )

MS COCO 결과

RetinaNet 용 COCO

 

MS COCO 테스트 개발에서 속도 (ms) 대 정확도 (AP).

RetinaNet 용 COCO

 

종이 결과 비교

이다 현명하지 못한 다른 논문에서 결과를 나란히 비교. 이러한 실험은 사과 간 비교를 목적으로하지 않는 다른 설정에서 수행됩니다. 그럼에도 불구하고 우리는 그것들을 함께 플로팅하기로 결정하여 적어도 대략적인 위치에 대한 큰 그림을 얻습니다. 그러나 우리는 이러한 수치를 직접 비교해서는 안된다는 경고를 받았습니다.

아래 제시된 결과를 위해 모델은 PASCAL VOC 2007 및 2012 데이터로 학습되었습니다. mAP는 PASCAL VOC 2012 테스트 세트로 측정됩니다. SSD의 경우 차트는 300 × 300 및 512 × 512 입력 이미지에 대한 결과를 보여줍니다. YOLO의 경우 288 × 288, 416 × 461 및 544 × 544 이미지에 대한 결과가 있습니다. 동일한 모델의 고해상도 이미지는 mAP가 더 좋지만 처리 속도가 느립니다.

* 작은 개체 데이터 증강이 적용되었음을 나타냅니다.

** 는 VOC 2007 테스트 세트에서 측정 된 결과를 나타냅니다. YOLO 논문이 많은 VOC 2012 테스트 결과를 놓 쳤기 때문에 포함합니다. VOC 2007 결과는 일반적으로 2012 년보다 더 나은 성과를 내기 때문에 R-FCN VOC 2007 결과를 상호 참조로 추가합니다.

입력 이미지 해상도와 특징 추출기는 속도에 영향을 미칩니다. 아래는 해당 논문에서보고 한 최고 및 최저 FPS입니다. 그러나 아래의 결과는 특히 다른 mAP에서 측정되는 경우 매우 편향 될 수 있습니다.

COCO 결과

지난 몇 년 동안 많은 결과가 COCO 객체 감지 데이터 세트로만 측정되었습니다. COCO 데이터 세트는 물체 감지가 더 어렵고 일반적으로 감지기는 훨씬 낮은 mAP를 달성합니다. 다음은 일부 주요 탐지기의 비교입니다.

FPN 및 Faster R-CNN * (특징 추출기로 ResNet 사용)은 정확도가 가장 높습니다 (mAP @ [. 5 : .95]). RetinaNet은 ResNet을 사용하여 FPN 위에 구축됩니다. 따라서 RetinaNet이 달성 한 높은 mAP는 피라미드 기능, 기능 추출기의 복잡성 및 초점 손실의 결합 된 효과입니다. 그러나 이것은 사과 대 사과 비교가 아니라는 경고를 받았습니다. 더 나은 비교를 위해 나중에 Google 설문 조사를 제공 할 것입니다. 그러나 모든 사람의 주장을 먼저 보는 것이 좋을 것입니다.

지금까지 요약

단발 탐지기는 정확도를 희생하면서 저해상도 이미지를 사용 하는 매우 인상적인 초당 프레임 ( FPS )을 가지고 있습니다. 이 논문은 지역 기반 탐지기의 정확도를 능가 할 수 있음을 증명하려고합니다. 그러나 고해상도 이미지가 이러한 주장에 자주 사용되기 때문에 결정적이지 않습니다. 따라서 그들의 시나리오가 바뀌고 있습니다. 또한 다른 최적화 기술이 적용되어 각 모델의 장점을 분리하기 어렵습니다. 실제로 단일 샷 및 영역 기반 감지기는 현재 설계 및 구현에서 훨씬 유사 해지고 있습니다. 그러나 약간의 예약이 있으면 다음과 같이 말할 수 있습니다.

  • Faster R-CNN과 같은 지역 기반 감지기는 실시간 속도가 필요하지 않은 경우 정확도가 약간 향상됩니다.
  • 실시간 처리를 위해 단일 샷 감지기가 있습니다. 그러나 애플리케이션은 정확도 요구 사항을 충족하는지 확인해야합니다.

다음은 감지기를 나란히 비교하는 동영상입니다.

https://youtu.be/V4P_ptn2FF4

Google Research 보고서 ( 출처 )

Google Research는 Faster R-CNN, R-FCN 및 SSD의 속도와 정확성 간의 균형을 연구하기위한 설문 조사 보고서를 제공합니다. (YOLO는이 문서에서 다루지 않습니다.) 학습을 위해 MS COCO 데이터 세트를 사용하여 TensorFLow에서 이러한 모델을 다시 구현합니다. 더 통제 된 환경을 설정하고 절충 비교를 더 쉽게 만듭니다. 또한 훨씬 낮은 복잡성으로 높은 정확도를 달성하는 MobileNet을 소개합니다.

속도 대 정확도

가장 중요한 질문은 어떤 감지기가 최고인지가 아닙니다. 대답하지 못할 수도 있습니다. 실제 문제는 어떤 감지기와 어떤 구성이 귀하의 애플리케이션에 필요한 속도와 정확성의 최상의 균형을 제공하는지입니다. 다음은 정확도와 속도 절충 (밀리 초 단위로 측정 된 시간)을 비교 한 것입니다.

 

일반적으로 Faster R-CNN이 더 정확하고 R-FCN 및 SSD가 더 빠릅니다.

  • 300 개의 제안과 함께 Inception Resnet을 사용하는 더 빠른 R-CNN은 테스트 된 모든 사례에 대해 1FPS에서 가장 높은 정확도를 제공합니다.
  • MobileNet의 SSD는 실시간 처리를 목표로하는 모델 중에서 가장 높은 mAP를 가지고 있습니다.
  • 잔여 네트워크를 사용하는 R-FCN 모델은 정확성과 속도 사이에서 좋은 균형을 유지합니다.
  • Resnet을 사용한 더 빠른 R-CNN은 제안 수를 50 개로 제한하면 유사한 성능을 얻을 수 있습니다.

 

이 논문은 특징 추출기의 정확도가 탐지기 정확도에 어떤 영향을 미치는지 연구합니다. Faster R-CNN과 R-FCN은 모두 더 나은 기능 추출기를 활용할 수 있지만 SSD에서는 덜 중요합니다.

(x 축은 각 특징 추출기에 대한 분류에서 상위 1 % 정확도입니다.)

개체 크기

큰 개체의 경우 SSD는 간단한 추출기로도 꽤 잘 작동합니다. SSD는 더 나은 추출기를 사용하여 다른 감지기의 정확도와 일치시킬 수도 있습니다. 그러나 SSD 는 다른 방법에 비해 작은 물체 에서 훨씬 더 성능이 떨어집니다 .

예를 들어, SSD는 다른 방법이 가능하지만 아래 표 가운데에있는 병을 감지하는 데 문제가 있습니다.

입력 이미지 해상도

해상도가 높을수록 작은 물체에 대한 물체 감지가 크게 향상되는 동시에 큰 물체에도 도움이됩니다. 두 차원에서 해상도를 2 배 감소 시키면 정확도가 평균 15.88 % 감소하지만 추론 시간도 평균 27.4 % 감소합니다.

제안 수

생성 된 제안의 수는 정확도를 크게 저하시키지 않으면 서 Faster R-CNN (FRCNN)에 큰 영향을 미칠 수 있습니다. 예를 들어, Inception Resnet을 통해 Faster R-CNN은 300 개 대신 50 개의 제안을 사용할 때 속도를 3 배 향상시킬 수 있습니다. 정확도는 4 %에 불과합니다. R-FCN은 ROI 당 작업량이 훨씬 적기 때문에 속도 향상은 훨씬 덜 중요합니다.

GPU 시간

다음은 다양한 기능 추출기를 사용하는 다양한 모델의 GPU 시간입니다.

많은 논문에서 복잡성을 측정하기 위해 FLOPS (부동 소수점 연산 수)를 사용하지만 반드시 정확한 속도를 반영하지는 않습니다. 모델의 밀도 (희소 모델 대 밀도 모델)는 소요 시간에 영향을줍니다. 아이러니하게도 덜 조밀 한 모델은 일반적으로 각 부동 소수점 연산을 완료하는 데 평균적으로 더 오래 걸립니다. 아래 다이어그램에서 가장 조밀 한 모델의 기울기 (FLOPS 및 GPU 비율)는 1보다 크거나 같고 가벼운 모델은 1보다 작습니다. 즉, 전체 실행 시간이 더 짧더라도 덜 조밀 한 모델은 덜 효과적입니다. 그러나 그 이유는 아직 완전히 연구되지 않았습니다.

 

기억

MobileNet은 설치 공간이 가장 작습니다. 1Gb (총) 미만의 메모리가 필요합니다.

 

2016 COCO 물체 감지 과제

2016 COCO 물체 감지 챌린지에서 우승 한 항목은 Resnet 및 Inception ResNet을 사용하는 5 개의 Faster R-CNN 모델의 앙상블입니다. COCO 테스트 세트에서 41.3 % mAP @ [. 5, .95]를 달성하고 작은 물체의 위치를 ​​크게 개선했습니다.

 

교훈

Google Research 논문의 몇 가지 주요 결과 :

  • R-FCN 및 SSD 모델은 평균적으로 더 빠르지 만 속도가 중요하지 않은 경우 정확도면에서 더 빠른 R-CNN을 이길 수 없습니다.
  • 더 빠른 R-CNN은 이미지 당 최소 100ms가 필요합니다.
  • 탐지를 위해 저해상도 기능 맵만 사용하면 정확도가 떨어집니다.
  • 입력 이미지 해상도는 정확도에 큰 영향을 미칩니다. 이미지 크기를 너비와 높이의 절반으로 줄이면 정확도가 평균 15.88 % 감소하지만 추론 시간도 평균 27.4 % 감소합니다.
  • 기능 추출기 선택은 Faster R-CNN 및 R-FCN의 감지 정확도에 영향을 주지만 SSD에 대해서는 덜 의존합니다.
  • 사후 처리에는 비 최대 억제 (CPU에서만 실행 됨)가 포함되어 속도를 25FPS로 제한하는 약 40ms에서 가장 빠른 모델의 실행 시간 대부분을 차지합니다.
  • mAP가 하나의 단일 IoU로만 계산되는 경우 mAP@IoU=0.75를 사용합니다.
  • Inception ResNet 네트워크를 기능 추출기로 사용하면 16 대신 stride 8을 사용하면 mAP가 5 % 향상되지만 실행 시간은 63 % 향상됩니다.
  • 가장 정확한 단일 모델은 300 개의 제안과 함께 Inception ResNet을 사용하는 Faster R-CNN을 사용합니다. 이미지 당 1 초로 실행됩니다.
  • 가장 정확한 모델은 다중 자르기 추론을 사용하는 앙상블 모델입니다. 2016 년 COCO 문제에 대한 정확도 측면에서 최첨단 탐지를 달성합니다. 평균 정밀도 벡터를 사용하여 가장 다른 5 개의 모델을 선택합니다.
  • MobileNet이 포함 된 SSD는 가장 빠른 감지기 내에서 최고의 정확도 절충안을 제공합니다.
  • SSD는 빠르지 만 다른 물체에 비해 작은 물체의 경우 성능이 떨어집니다.
  • 대형 개체의 경우 SSD는 더 가볍고 빠른 추출기로 정확도면에서 Faster R-CNN 및 R-FCN을 능가 할 수 있습니다.
  • 더 빠른 R-CNN은 제안 수를 50 개로 줄이면 R-FCN 및 SSD의 속도를 32mAP에 맞출 수 있습니다.

 

 

출처  : https://ichi.pro/ko/mulche-gamji-sogdo-mich-jeonghwagdo-bigyo-deo-ppaleun-r-cnn-r-fcn-ssd-fpn-retinanet-mich-yolov3-92519592026969

728x90

댓글