728x90
반응형
부스트코스 재활용 쓰레기를 활용한 딥러닝 강의 정리
컴퓨터 비전의 태스크 종류
- Classification : 사진이 주어졌을 때 무엇인지 예측하는 태스크
- Object Detection : 이미지 속에서 객체를 식별해내는 태스크. 객체가 어디에 있는 지 찾고, 해당 객체가 무엇인지 식별하는 것
- Semantic Segmentation : 객체의 영역을 구분하는 태스크, 같은 클래스를 갖는 객체끼리는 구분이 없음
- Instance Segmentation : 객체의 영역을 구분하는 태스크, 같은 클래스의 객체 역시 구분함
Object Detection의 평가 지표
- mAP (mean average precision): 각 클래스당 AP의 평균
- mAP를 계산하기 위해 필요한 개념
- Confusion matrix:
- Precision: 모델의 예측관점에서 정의한 메트릭, 모델이 Posivie 라고 예측한 모든 케이스 중에 옳게 예측한 경우를 precision으로 정의
- Recall: 정답 관점의 메트릭입니다. 실제 정답 관점에 봤을 때 옳게 예측된 케이스와 틀리게 예측된 케이스가 있을 때 전체 정답중 옳게 예측된 정답의 비율을 의미
- PR curve: Recall 값에 따른 Precision 값의 변화를 그래프로 그려놓은 것
- IOU (Intersection Over union): Ground Truth 박스와 Predict 박스 두개의 전체 영역 분에 겹치는 영역을 의미
- FPS (Frames Per Second): 초당 처리 가능한 프레임 숫자, 크면 클수록 빠른 모델
- FLOPs (Floating Point Operations): 모델의 연산량을 측정할 수 있는 평가지표
2 Stage Detector
- 입력 이미지가 주어졌을 때, 휴리스틱한 방법이든 딥러닝이든 어떠한 계산을 통해 객체를 검출함
- 이후 객체가 있을법한 위치에 대해 예측하고(Localization), 해당 객체가 어떤 객체인지에 대해 식별하는 과정(Classification)을 거침
2 Stage Detector 모델
- R-CNN
- 2 Stage Detector의 초기 모델
- 입력 이미지를 받기
- Selective Search를 통해 약 2000개의 RoI(Region of Interest)를 추출
- RoI(Region of Interest)의 크기를 조절해 모두 동일한 사이즈로 변형: 각기 다른 사이즈의 후보영역을 동일한 사이즈로 warping 한다. (CNN의 마지막인 FC layer의 입력 사이즈가 고정이므로 Wraping 해야함)
- RoI를 CNN에 넣어, feature를 추출: 1개의 이미지에 동일한 사이즈의 2000개의 후보 영역이 존재
- CNN을 통해 나온 feature를 1) SVM에 넣어 분류, 2) regression을 통해 bounding box를 예측
- CNN : Convolutional Neural Network, DNN(Deep Neural Network)에서 이미지나 영상과 같은 데이터를 처리할 때 발생하는 문제점들을 보완한 방법, 1차원적인 데이터를 학습하는 DNN의 한계를 2차원 공간에서 wnidow를 활용하여 예측하는 방법
- 2 Stage Detector의 초기 모델
- SPPNet
- R-CNN의 한계점(다양한 크기의 이미지들을 자르거나 조정해야함, 하나의 이미지에 대해 2000번의 CNN을 통과)을 보완
- R-CNN에서 2000개의 ROI에 대해 2000개의 Conv 연산이 아닌 이미지에서 Conv 연산 뒤에 2000개의 ROI 생성
- FC layer 전에 Warping 대신 Spatial Pyramid Pooling (SPP) 을 진행
- Spatial Pyramid Pooling : Conv Layer들을 거쳐서 추출된 피쳐맵을 다양한 타켓 사이즈로 비닝을 진행하고,
비닝된 셀마다 max pooling 또는 avg pooling을 진행 - ROI : Region Of Interest, 관심 영역
- Fast R-CNN
-
- 이미지를 CNN에 넣어 feature 추출 : VGG16 사용
- RoI Projection을 통해 feature map 상에서 RoI를 계산
- RoI Pooling을 통해 일정한 크기의 feature가 추출
- Fully connected layer 이후, Softmax Classifier과 Bounding Box Regressor
- R-CNN의 경우 이미지에 존재하는 RoI를 전부 저장해 사용
-
- Faster R-CNN
-
- 이미지를 CNN에 넣어 feature maps 추출 (CNN을 한 번만 사용)
- RPN을 통해 RoI 계산: 기존의 Selective Search를 대체, Anchor Box 개념 사용
- RPN에서 뽑은 N개의 박스를 대상으로 RoI Pooling을 통해 일정한 크기의 feature가 추출
- Fully connected layer 이후, Softmax Classifier과 Bouding Box Regressor
- RPN : Region Proposal Network, Feature Extractor(VGG, Resnet 등...)에 입력 이미지를 넣어 나온 Feature Map에 Convolution을 적용하여 Region에 객체의 유무를 분류하고 객체가 있을만한 Region의 바운딩 박스 좌표를 회귀하는 네트워크
- Anchor box : 각 피쳐마다 다양한 크기와 다양한 비율로 미리 정의된 박스
- RPN 단계에서 classification과 regressor학습을 위해 앵커박스를 positive/negative samples 구분
- RPN 이후 학습을 위해 positive/negative samples로 구분
-
- Summary
R-CNN | Fast R-CNN | Faster R-CNN | |
Classification | SVMs | Linear | Linear |
Resize | Warp | Roi Pooling | RoI pooling |
Region Proposal | Selective Search | Selective Search | RPN |
End-to-end | X | X | O |
출처 : https://www.boostcourse.org/ai341/joinLectures/369549?isDesc=false
728x90
반응형
'개발 > (3) 머신러닝(ML), 딥러닝(DL)' 카테고리의 다른 글
[도서 추천] 데이터 분석 입문해보기 (0) | 2023.06.28 |
---|---|
부스트코스 재활용 쓰레기를 활용한 딥러닝 강의 정리 2 (0) | 2023.03.27 |
추천시스템 분석 입문하기 (T아카데미) 정리 (0) | 2023.02.15 |
YOLO 공식문서 번역 및 학습 (0) | 2022.12.25 |
K-MOOC 파이썬 머신러닝 공부 2일차 오전 (0) | 2022.11.22 |