2021. 1. 3. 21:47ㆍComputer vision ღ'ᴗ'ღ
※ 본 글은 <딥러닝 컴퓨터비전 완벽가이드> 강의 및 여러 자료를 참고하여 쓰여진 글입니다. ※
github: github.com/chaeyeongyoon/ComputerVision_Study
RCNN은 2-stage object detection의 대표적인 방법입니다.
stage 1 | Region Prposal selective search로 2000개의 object가 있을만한 region을 추천해줍니다. |
stage 2 | CNN Detection ImageNet으로 Pretrained된 AlexNet으로 2000개의 region을 Feature Extraction 후 Fully Connected Layer 통과 FC layer은 두부분으로 나뉨 1. Classification -> SVM Classification사용 2. Bounding Box Regression |
stage2를 그림으로 나타내면 다음과 같습니다.
Classification부분에서는 처음엔 softmax로 (FC의)weight학습 시킨 후 softmax부분을 빼고 SVM Classifier을 적용해 Classification합니다.
Bounding Regression은 일반 Regression이라고 생각하면 됩니다.(ground Truth에 가까워지도록)
AlexNet에 2000개의 region을 입력으로 넣을 때 크기를 모두 227x227로 조정하므로 (crop and warp) 이미지가 왜곡되어 성능이 떨어지는 현상을 보여 AlexNet을 찌그러진 이미지로 다시 학습시켜 성능을 향상시켰다고 합니다.
selective search로 region을 추출하는데 왜 bounding box regression을 수행하는지 의문이 들 수도 있는데요, selectivesearch는 정확한 위치가 아닌 대략의 위치를 추출하는 것이기 때문에 더 정확한 위치를 찾아내는 것입니다.
위의 표에서 볼 수 있듯 RCNN의 Detection 정확도는 매우 높습니다. 그러나 속도가 너무 느리고 architecture와 training process가 너무 복잡합니다.
- 하나의 이미지 당 2000개의 region을 selective search로 도출해야 함
- 이미지수 x 2000개만큼의 region이미지를 CNN Network에 입력해 Feature map을 생성해야 한다
- 각 구성요소가 너무 분리되어있다. (Selective Search, CNN Feature Extractor, SVM, Bounding Box Regression)
- 이미지 한 장당 약 50sec 소요
'Computer vision ღ'ᴗ'ღ' 카테고리의 다른 글
Fast R-CNN, Faster R-CNN (0) | 2021.01.03 |
---|---|
SPPNet (0) | 2021.01.03 |
COCO dataset 다루기 (0) | 2020.12.26 |
주요 dataset 및 파이썬 이미지 라이브러리 (0) | 2020.12.23 |
IOU /NMS/mAP (0) | 2020.12.23 |