hye-log

[부스트캠프 AI Tech]WEEK 09_DAY 40 본문

Boostcourse/AI Tech 4기

[부스트캠프 AI Tech]WEEK 09_DAY 40

iihye_ 2022. 11. 16. 03:15

🌿 개별학습


[2] 2 Stage Detectors

1. Object Detection 접근 전략

1) input 이미지를 보고

2) 계산한 후

3) 객체가 있을 법한 위치를 추정하고

4) 객체를 분류함

 

2. R-CNN

1) Overview

- 입력 이미지가 주어지면,

- 후보 영역(Region proposal)을 뽑아냄(Sliding Window, Selective Search)

- 고정된 크기로 바꾼 다음 CNN feature를 뽑아냄

- 객체를 예측함

2) Pipeline

(1) 입력 이미지 받기

(2) Selective Search를 통해 약 2000개의 RoI(Region of Interest) 추출

(3) RoI를 모두 동일한 사이즈로 warping

- CNN의 마지막인 FC layer의 입력 사이즈가 고정이기 때문에

(4) RoI를 CNN에 넣어 feature를 추출

(5) CNN 결과로 나온 feature를 SVM에 넣어 분류 진행

(6) CNN을 통해 나온 feature를 regression을 통해 bounding box를 예측

3) Training

- Alexnet : 도메인에 맞게 finetuning

- Linear SVM

- Hard negative mining : 배경으로 식별하기 어려운 샘플들을 다음 배치의 negative sample로 mining

- Bbox regressor : IoU > 0.6 이면 positive samples, MSE Loss 사용

4) Shortcomings

- 2000개의 Region을 각각 CNN 통과시킴 -> 연산량이 매우 증가함

- 사이즈를 강제 Warping -> 정보 손실로 인한 성능 하락 가능성

- CNN, SVM classifier, bounding box regressor, 따로 학습

- End-to-End X

 

3. SPPNet

1) Overview

- R-CNN과 달리 conv layers를 먼저 통과함

- warping 대신 고정된 크기의 feature vector로 변환

2) Spatial Pyramid Pooling

(1) 한 번의 Conv 연산으로 나온 feature를 가지고

(2) Spatial Pyramid Pooling을 통해 고정된 사이즈로 변환시킴

3) Shortcomings

- CNN, SVM classifier, bounding box regressor, 따로 학습

- End-to-End X

 

4. Fast R-CNN

1) Pipeline

(1) image를 ConvNet를 통과시킴

(2) 고정된 feature map에서 RoI projection을 통해 RoI를 계산함

- RoI projection : 원본 이미지에서 Selective search을 시킨 후, 원본 이미지에서 ConvNet한 feature map에 투영

(3) RoI pooling을 통해 일정한 크기의 feature 추출

- SPP 사용하되 target grid size를 7x7만 사용함

(4) Fully Connected layer를 통과

- 클래스의 개수는 C+1 개 (클래스 C개 + 배경 1개)

(5) Bounding box regression

2) Training

- multi-task loss 사용 (classification loss + bounding box regresion)

- loss fuction : cross entropy

- Hierarchical sampling : 한 배치 안에 서로 다른 RoI가 포함됨

3) Shortcomings

- End-to-End X

 

5. Fatser R-CNN

1) Pipeline

(1) 이미지를 CNN에 넣어 feature map 추출

(2) RPN을 통해 RoI 계산

- 9개의 Anchor box 사용

- NMS : 유사한 RPN Proposal 제거

2) Training

- Region Proposal Network(RPN) : classification과 regressor 학습을 위해 앵커 박스를 positive/negative samples로 구분

- classification loss와 regression loss의 합으로 사용



🌿 오늘의 회고

오전에는 강의 위주로 학습했다. 한 시간 분량에 4개의 모델이 나오다보니 생각보다 듣는데도 오래 걸리고, 정리하는데도 오래 걸렸다..ㅠㅠ 피어세션 때에는 내일의 우팀소를 위해서 발표자료를 정리하고, 작년 기수 깃허브 보면서 Object Detection에 어떤 방법론들을 사용해야 하는지 살펴봤다. 생각보다 엄청난 방법을 사용하는 조는 없는거 같은데 그래도 모델이나 learning rate 같은 파라미터들을 어떻게 조절했는지 참고해야겠다 +_+ 내일은 우팀소, 컴퍼니데이, 마클, 멘토링까지 바쁘다 바뻐..!!!

728x90
Comments