일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 포스코 ai 교육
- 삼성코테
- 코딩테스트
- 초소형머신러닝
- DP
- 영상처리
- dfs
- MCU 딥러닝
- 컴퓨팅사고
- 딥러닝
- sort
- 삼성코딩테스트
- tflite
- 알고리즘
- tinyml
- bfs문제
- 그리디
- 삼성역테
- 코테
- 임베디드 딥러닝
- 다이나믹프로그래밍
- 포스코 교육
- 포스코 AI교육
- dfs문제
- 삼성역량테스트
- 코테 문제
- TensorFlow Lite
- 자료구조
- BFS
- DP문제
- Today
- Total
코딩뚠뚠
[머신러닝 공부] 딥러닝/RCNN (object detection) 본문
Object Detection
RCNN은 최초의 딥러닝 기술이 적용된 Object Detection 모델이다.
1. 배경
1) 단순화의 필요성
기존의 Object Detection 모델인 DPM 등의 classification 과정은 매우 복잡했다.
다양한 필터의 hog feature과 각각 필터를 적용한 후 SVM을 이용해서 classification을 한 이후
ensemble 기법을 거쳐 최종 classification을 했기 때문이다.
DPM (Deformable Parts Model)
2) 시간복잡도
다양한 크기의 resolution 에서 bounding box를 생성해내고 이의 각각에 대해서 dpm classification 을 수행한다면 시간이 오래 걸린다.
이는 2012년까지 최고의 성능을 보인 object detection모델이다.
이후 AlexNet으로 큰 변화가 오게 되었다.
2. 구조
RCNN 의 세 가지 module
- Extract region proposals
- Compute CNN features
- Classify regions
1. Extract region proposals ( Region proposals)
이미지내에서 bounding box 가 될 후보들을 선별한다.
객체가 될 만한 영역들에 대해 candidate bounding box를 선별하는 것이다.
(객체가 될 만한 영역들이란 인접픽셀과 픽셀값이 큰 차이를 보이는 것이 될 것이다.)
candidate bounding box를 선별(proposal) 해주는 것이 Region proposal 이다.
(object detection의 classification+localization 중 localization을 위한 기법이다.)
RCNN에서의 proposal 방식은 selective search 이다.
2. Feature Extraction
1번 과정에서 선별된 candidate bounding box들은 특징을 추출하기 위해 각각마다 CNN이 수행된다.
보통 특징을 softmax로 분류하는데 RCNN에서는 CNN으로 feature만 추출하고 classification은 SVM방식을 택했다.
RCNN에서의 feature extraction 은 AlexNet을 사용했다.
3. Classification
2번 과정에서 AlexNet으로 feature extraction을 한 후에는 SVM을 통해 classification을 하게 된다.
3. Training과정
Training 은
1) SVM이용한 Classification과
2) bounding box를 그리는 localization
으로 나뉜다.
따라서 따로 학습이 된다.
1. SVM 이용한 Classification 학습
RCNN에서는 ILSVRC2012에서 pretrained 된 AlexNet 을 transfer-learning 하여 사용했다.
기존 AlexNet의 softmax를 제거하고 SVM(Multiclass SVM)을 연결해주어 사용했다.
따라서 Classifier인 SVM을 학습시키는 것이 목적이다.
RCNN을 classification하는 것은 기본적으로 selective searuch를 통해 선별된 candidate bounding box에 대해서 학습을 진행해야 한다는 것이다.
Ground truth 데이터와 선별된 bounding box와 IoU가 50% 이상이면 positive로 판단하고 아니라면 negative로 인식한다.
선정된 + positive 인 bounding box에 대해서만 학습이 된다.
2. bounding box 그리는 localization 학습
bounding box는 Region proposals 에서 후보들을 선벽하여 그려줬을 것이다.
이에 사용된 기법은 Selective search였다. 이의 결과가 GT와 맞지 않을 경우에는 GT와 좌표정보를 비교하여 regression 문제로 바꿔주면 된다.
candidate bounding box가 GT의 box를 보고 위치를 학습하게 될 것이다.
이렇게 GT와 좌표값을 비교해서 조금씩 조정하여 localization 성능을 향상시켜 가는데 조금씩 조정하는 과정은 regression(회귀)문제로 정의할 수 있다.
References
89douner.tistory.com/88?category=878735
'공부 > ML&DL' 카테고리의 다른 글
[머신러닝 공부] 딥러닝/Fast RCNN (object detection) (0) | 2021.04.17 |
---|---|
[머신러닝 공부] 딥러닝/SPP Net (object detection) (0) | 2021.04.15 |
[머신러닝 공부] 딥러닝/FCN (Fully Convolutional Networks) (0) | 2021.04.06 |
[머신러닝 공부] KNN의 이해 (0) | 2021.04.04 |
[머신러닝 공부] 딥러닝/U-Net (0) | 2021.04.03 |