-
R-CNN, Fast R-CNN, Faster R-CNN<OpenCV>/[model] 2022. 6. 7. 01:14728x90
## 분류 vs 객체탐지
Classification : 1개 -> 어떤 물체인지
Classification+Localization : 1개 -> 어떤 물체인지 + bbox
Object Detection : 여러개 -> 어떤 물체인지+ bbox
Instance Segmentation : 여러개 -> 어떤 물체인지+ 픽셀단위로 구분## Stage Detector
2-Stage Detector : (위치 찾기) + (분류) 각각의 위치에 대해서 클래스를 부여
사진속에 사물이 존재할법한 위치를 나열(Region Proposal:위치제안)
-> 각각의 위치에 대한 피쳐추출
Regression : BBox의 위치 예측
ex) R-CNN, Fast R-CNN
1-Stage Detector : (위치 찾기 + 분류)를 한번에, 정확도가 낮고 속도가 빠르다.
ex) YOLO## 모델
1. R-CNN
Region Proposal(Selective Search) : 물체가 존재할것 같은 위치 2000개 추출
-> CNN에 넣기 전에 Selective Search한 이미지를 동일한 크기로 압축(Warping=왜곡하다)
-> 각 위치를 CNN(Feature Extractor)에 넣고 Feature-Vector를 추출
-> 이진 SVM에 넣어서 어떤 클래스에 해당하는지 분류/RegressionRegression : 예측위치와 실제위치로 iou계산
예측위치 : BBox의 중심점좌표(x,y)+너비(가로w)+깊이(세로h)
실제위치 : x1,y1,w1,h1
2. Fast R-CNN(R-CNN + 피쳐맵 + roi 풀링)
피쳐맵을 뽑기위해 CNN을 한번만 거친다.
-> 피쳐맵 생성(피쳐맵은 이미지의 위치를 보존하고 잇음)
-> roi 풀링(맥스풀링을 이용해 고정된 크기의 벡터 생성(5*6행렬 + 2by2-> 2*2))을 통해 각 region에대해 feature 정보 추출
-> softmax
-> 각각의 클래스에 대해 확률을 구함
3. Faster R-CNN(Fast R-CNN + RPN)
GPU에서 Selective Search를 진행
Region proposal Network(RPN) : 피쳐맵을 보고 물체가 어디에 있을법한지 예측
: Selective Search의 시간단점을 해결
k개의 앵커박스 사용
슬라이딩 윈도우를 거쳐 각 위치에 대해 분류 수행분류
cnn -> 피쳐맵 -> rpn -> 분류
-> roi pooling -> 분류
## Region proposal(Sliding Window, Selective Search)Sliding Window : 너무 많은 영역을 확인해야한다는 단점
Selective Search : 인접한 영역끼리 유사성을 측정해 큰영역으로 통합## 객체검출 정확도측정법
정확도 : 올바르게 탐지 물체수(고양이, 강아지) / 모델이 탐지한 물체수(a, b,c,d,e)
재현율 : 올바르게 탐지 물체수(고양이, 강아지) / 실제 정답 물체 수(고양이, 강아지, 오리)
서로 반비례
ex. 강아지가 20마리 존재, 모델이 10마리 검출, 5마리는 정확히 맞힘
Average Precision : 가로 recall 세로 precision
IoU : 합집합 분의 교집합
mAP@0.5는 정답bbox와 예측bbox의 iou가 50퍼 이상일때
NMS : 제일큰것을 제외하고 압축하자 = 여러개의 bbox를 하나의 bbox로 합침728x90'<OpenCV> > [model]' 카테고리의 다른 글
SPP (0) 2022.06.07 칼만 필터 (0) 2022.06.07 CSPNet (0) 2022.06.07 Detectron2 (0) 2022.06.06 Detectron2 vs YOLOv5 (0) 2022.06.06