Rich feature hierarchies for accurate object detection and semantic segmentation 논문과
(논문리뷰) R-CNN 설명 및 정리 :: 프라이데이 (tistory.com)를 참고하여 작성했습니다.
R-CNN : Regions with CNN features
□ 등장배경
CNN이 이미지 분류(Image Classification)에서 뛰어난 성능을 보여주기 시작한 이후,
이를 객체 탐지(Object Detection) 분야에 적용하고자 하는 시도에서 나온 결과물이다.
Classification vs Detection
□ 차이점
Classification, 말 그래도 주어진 이미지를 어느 카테고리에 속하는지 분류하는 분야.
Detection, 주어진 이미지에서
1) localization, 객체의 위치가 어딘지 판별
2) classification, 해당 객체가 어떤 종류 인지 분류
>R-CNN은 classification에서 뛰어난 성능을 보인 CNN에 localization을 추가하여 detection 분야에서 활용하려는 시도.
<R-CNN 특징>
- localization 방식 개선
- 기존 sliding window 방식은 속도면에서 큰 단점이 있었고, 실전에서 그리 효과적이지 못했다.
- region proposal 중에서도 selective search 라는 방식을 채택하여 개선
※ selective search란 색, 질감(그레이-레벨), 크기 및 모양 등의 특징의 유사도를 기반으로 객체를 탐색.
non-object-based segmentation 수행하여 작은 크기의 segmented areas 에서 부터 큰 크기의 segmented areas로 확대
- multi-stage pipelines, 크게 세 가지 모듈로 구성되어 있다.
- Region Proposal -> localization, 객체의 위치 후보 2000개 추출
- CNN -> 해당 후보 각각을 CNN을 통해 고정된 길이의 특징 벡터를 추출
- SVM -> classification, 해당 객체 분류
<R-CNN의 프로세스>
진행과정은 다음과 같다.
- Image 입력
- selective search를 통해 region proposal(Regions of Interest, RoI) ~2k 생성
- 후에 FC layer의 input size로 맞추기 위해, ~2k의 RoI를 warp-> 어떤 크기와 모양이든 동일하게
- warped images를 CNN에 통과하여 고정된 크기의 특징 추출
- 각 Convolutoin 결과에 대해 SVM을 통해 classificaiton 진행
각 모듈 관점에서 더 자세히 설명하자면,
1. Region Proposal
- 기존 sliding window 방식의 비효율성 극복위해서
- Selective Search 채택
- 색, 질감(그레이-레벨), 크기 및 모양 등의 특징의 유사도를 기반
- non-object-based segmentation 수행
- small segmented areas -> proper size segmented areas
- ~2k region proposal 생성
2. CNN
- 동일한 크기로 warped된 region image에서 고정된 길이의 특징을 추출
3-1. SVM
- CNN의 FC layer를 거쳐나온 결과를 softmax가 아닌 각 종류별 linear SVM을 통해 계산
3-2. box regression
- selective search로 찾은 region에 대한 bounding box가 정확하지 않기 때문에, bbox regression을 통해 조정
<R-CNN 단점>
- 각 region proposal 마다 cnn 연산 -> 연산량, 수행시간 증가
- CNN, SVM, Bbox Regressoion 세 모델의 multi-stage pipelines,
- 한번에 학습 불가
- end-to-end 학습 불가
이를 개선하여 나온 모델이
=> Fast R-CNN
'ML&DL' 카테고리의 다른 글
딥러닝 학습 과정에 대해 (0) | 2024.03.07 |
---|---|
CNN, 인간의 이미지 인식 과정을 흉내낸 방식 - 딥러닝, 컴퓨터 비전 (0) | 2024.02.26 |
신경망이 깊어질수록 생기는 문제점과 해결책 개념 정리 - 딥러닝 (0) | 2024.02.15 |
selective search 코드 리뷰 - 파이썬, 컴퓨터 비전 (1) | 2024.02.11 |
순방향 신경망 (deep feedforward neural network) (0) | 2023.12.28 |