본문 바로가기

AIFFEL/GoingDeeper-CV

[AIFFEL/GoingDeeper] Object Detection Architecture

728x90

딥러닝 기반의 Object Detection 모델은 크게 Single stage detectorTwo stage detector로 구분할 수 있다.

출처: https://medium.com/@jitender_phogat/1-2-introducing-retinanet-and-focal-loss-for-dense-object-detection-7ef9c4901b61

  • Many stage라고 적혀있는 방법에서는 물체가 있을 법한 위치의 후보(proposals) 들을 뽑아내는 단계, 이후 실제로 물체가 있는지를 Classification과 정확한 바운딩 박스를 구하는 Regression을 수행하는 단계가 분리되어 있다. 대표적으로는 Faster-RCNN을 예로 들 수 있다.
  • One stage Detector는 객체의 검출과 분류, 그리고 바운딩 박스 regression을 한 번에 하는 방법이다.
  • Single stage를 통해서 한번에 연산해내는 것이 속도면에서 빠르다

 

https://arxiv.org/pdf/1905.05055.pdf

 


📍 Two-Stage Detector

 

✔ R-CNN

[ 출처: https://arxiv.org/pdf/1311.2524.pdf ]

  • 대표적인 two-stage 방법들 중 하나
  • R-CNN은 물체가 있을 법한 후보 영역을 뽑아내는 "Region proposal" 알고리즘과 후보 영역을 분류하는 CNN을 사용한다
  • 이때 Proposal을 만들어내는 데에는 Selective search라는 비 신경망 알고리즘이 사용된다.
  • 이후에 후보 영역의 Classification과 바운딩 박스의 regression을 위해 신경망을 사용한다

 


 

Fast R-CNN

[ 출처: https://arxiv.org/pdf/1504.08083.pdf ]

  • 후보 영역의 classification과 바운딩 박스 regression을 위한 특성을 한 번에 추출 하여 사용
  • R-CNN과의 차이는 후보 영역을 CNN을 거친 특성 맵(Feature Map) 에 투영해, 특성 맵을 잘라낸다는 사실이다.
    • 이렇게 되면 이미지를 잘라 개별로 CNN을 연산하던 R-CNN과는 달리 한 번의 CNN을 거쳐 그 결과물을 재활용할 수 있으므로 연산수를 줄일 수 있다.
  • 이때 잘라낸 특성 맵의 영역은 여러 가지 모양과 크기를 가진다. 이 영역은 입력의 크기가 정해져 있는 fully connected layer를 통과해야 하기 때문에 같은 크기로 변형되어야 하는데, 이를 위해서 RoI(Region of Interest) Pooling 이라는 방법을 적용한다.

[ 출처: https://jamiekang.github.io/2017/05/28/faster-r-cnn/ ]

 


 

 Faster R-CNN

  • Fast R-CNN은 반복되는 CNN 연산을 크게 줄여냈지만 region proposal 알고리즘이 병목이 된다.
  • Faster R-CNN에서는 기존의 Fast R-CNN을 더 빠르게 만들기 위해서 region proposal 과정에서 RPN(Region Proposal Network) 라고 불리는 신경망 네트워크를 사용한다
    • 먼저 이미지에 CNN을 적용해 특성을 뽑아내면, 특성 맵만을 보고 물체가 있는지 알아낼 수 있습니다. 이때 특성 맵을 보고 후보 영역들을 얻어내는 네트워크가 RPN
    • 후보 영역을 얻어낸 다음은 Fast R-CNN과 동일하다
  • 후보 영역을 얻어낸 다음은 Fast R-CNN과 동일하다. 

 


📍 One-Stage Detector

 

✔ YOLO (You Only Look Once)

https://pjreddie.com/darknet/yolo/

 

YOLO: Real-Time Object Detection

YOLO: Real-Time Object Detection You only look once (YOLO) is a state-of-the-art, real-time object detection system. On a Pascal Titan X it processes images at 30 FPS and has a mAP of 57.9% on COCO test-dev. Comparison to Other Detectors YOLOv3 is extremel

pjreddie.com

[ 출처: https://arxiv.org/pdf/1506.02640.pdf ]

  • 이미지를 그리드로 나누고, 슬라이딩 윈도 기법을 컨볼루션 연산으로 대체해 Fully Convolutional Network 연산을 통해 그리드 셀 별로 바운딩 박스를 얻어낸 뒤 바운딩 박스들에 대해 NMS를 한 방식이다.
  • 논문을 보면 이미지를 7x7 짜리 그리드로 구분하고 각 그리드 셀마다 박스를 두 개 regression 하고 클래스를 구분하게 한다
    • 이 방식의 경우 그리드 셀마다 클래스를 구분하는 방식이기 때문에 두 가지 클래스가 한 셀에 나타나는 경우 정확하게 동작하지는 않는다. 하지만 매우 빠른 인식 속도를 자랑하는 방법이다.

https://www.youtube.com/watch?v=9s_FpMpdYW8&feature=emb_logo 

 


✔ SSD (Single-Shot Multibox Detector)

  • YOLO의 경우 이 특성이 담고 있는 정보가 동일한 크기의 넓은 영역을 커버하기 때문에 작은 물체를 잡기에 적합하지 않다.
  • 이러한 단점을 해결하고 다양한 크기의 특성 맵을 활용하고자 한 것이 SSD이다.
  • SSD는 다양한 크기의 특성 맵으로부터 classification과 바운딩 박스 regression을 수행한다
    • 이를 통해서 다양한 크기의 물체에 대응할 수 있는 detection 네트워크를 만들 수 있다

 


https://ganghee-lee.tistory.com/35

 

(논문리뷰) R-CNN 설명 및 정리

컴퓨터비전에서의 문제들은 크게 다음 4가지로 분류할 수 있다. 1. Classification 2. Object Detection 3. Image Segmentation 4. Visual relationship 이중에서 4. Visual relationship은 나중에 다루고 먼저 위..

ganghee-lee.tistory.com

https://ganghee-lee.tistory.com/36

 

(논문리뷰) Fast R-CNN 설명 및 정리

이전글 : (논문리뷰) R-CNN 설명 및 정리 컴퓨터비전에서의 문제들은 크게 다음 4가지로 분류할 수 있다. 1. Classification 2. Object Detection 3. Image Segmentation 4. Visual relationship 이중에서 4. Visu..

ganghee-lee.tistory.com

https://ganghee-lee.tistory.com/37

 

(논문리뷰&재구현) Faster R-CNN 설명 및 정리

이전글 : (논문리뷰) Fast R-CNN 설명 및 정리 Fast R-CNN 설명 및 정리 이전글 : Object Detection, R-CNN 설명 및 정리 Object Detection, R-CNN 설명 및 정리 컴퓨터비전에서의 문제들은 크게 다음 4가지로 분..

ganghee-lee.tistory.com

https://bkshin.tistory.com/entry/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-YOLOYou-Only-Look-Once

 

논문 리뷰 - YOLO(You Only Look Once) 톺아보기

본 글은 YOLO 논문 전체를 번역 및 설명해놓은 글입니다. 크게 중요하지 않은 부분을 제외하고는 대부분의 글을 번역했고 필요하다면 부가적인 설명도 추가했습니다. 내용이 긴 섹션 끝에는 요약

bkshin.tistory.com

https://taeu.github.io/paper/deeplearning-paper-ssd/

 

[논문] SSD: Single Shot Multibox Detector 분석

SSD:Single Shot Multibox Detector

taeu.github.io