딥러닝 기반의 Object Detection 모델은 크게 Single stage detector와 Two stage detector로 구분할 수 있다.
- Many stage라고 적혀있는 방법에서는 물체가 있을 법한 위치의 후보(proposals) 들을 뽑아내는 단계, 이후 실제로 물체가 있는지를 Classification과 정확한 바운딩 박스를 구하는 Regression을 수행하는 단계가 분리되어 있다. 대표적으로는 Faster-RCNN을 예로 들 수 있다.
- One stage Detector는 객체의 검출과 분류, 그리고 바운딩 박스 regression을 한 번에 하는 방법이다.
- Single stage를 통해서 한번에 연산해내는 것이 속도면에서 빠르다
📍 Two-Stage Detector
✔ R-CNN
- 대표적인 two-stage 방법들 중 하나
- R-CNN은 물체가 있을 법한 후보 영역을 뽑아내는 "Region proposal" 알고리즘과 후보 영역을 분류하는 CNN을 사용한다
- 이때 Proposal을 만들어내는 데에는 Selective search라는 비 신경망 알고리즘이 사용된다.
- 이후에 후보 영역의 Classification과 바운딩 박스의 regression을 위해 신경망을 사용한다
✔ Fast R-CNN
- 후보 영역의 classification과 바운딩 박스 regression을 위한 특성을 한 번에 추출 하여 사용
- R-CNN과의 차이는 후보 영역을 CNN을 거친 특성 맵(Feature Map) 에 투영해, 특성 맵을 잘라낸다는 사실이다.
- 이렇게 되면 이미지를 잘라 개별로 CNN을 연산하던 R-CNN과는 달리 한 번의 CNN을 거쳐 그 결과물을 재활용할 수 있으므로 연산수를 줄일 수 있다.
- 이때 잘라낸 특성 맵의 영역은 여러 가지 모양과 크기를 가진다. 이 영역은 입력의 크기가 정해져 있는 fully connected layer를 통과해야 하기 때문에 같은 크기로 변형되어야 하는데, 이를 위해서 RoI(Region of Interest) Pooling 이라는 방법을 적용한다.
✔ 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
- 이미지를 그리드로 나누고, 슬라이딩 윈도 기법을 컨볼루션 연산으로 대체해 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
'AIFFEL > GoingDeeper-CV' 카테고리의 다른 글
[AIFFEL/GoingDeeper] Object Detection (0) | 2022.04.20 |
---|---|
[AIFFEL/GoingDeeper] Object Detection을 위한 기본지식 (1) | 2022.04.20 |
[AIFFEL/GoingDeeper] CAM(Class Activation Map) (0) | 2022.04.20 |
[AIFFEL/GoingDeeper] OCR - Text recognition (0) | 2022.04.13 |
[AIFFEL/GoingDeeper] OCR - Text detection (0) | 2022.04.13 |