본 카테고리의 모든 게시물은 개인적인 이해를 위한 Inflearn 의 권철민 강사님의 컴퓨터 비전 강의에 대한 요약임을 밝힙니다.
목차
1. Object Detection 과 Segmentation 개요
2. Object Detection 주요 구성 요소 및 왜 Object Detection 이 어려운가?
3. Object Localization 과 Detection 의 이해
4. Region Proposal(영역 추정)의 이해와 슬라이딩 윈도우와의 비교
5. Region Proposal(영역 추정) - Selective Search 기법
6. Selective Search 실습 및 시각화
7. IOU(Intersection over Union)의 이해와 구현 실습
8. NMS(Non Max Suppression)의 이해
1. Object Detection 과 Segmentation 개요
Localization / Detection / Segmentation : Object(s) 의 위치를 찾아내는 것
Localization : 하나의 이미지에 대하여 하나의 object 를 찾아내는 것
Detection : 하나의 이미지에 대하여 여러 개의 object 를 찾아내는 것
Segmentation : 개별 픽셀 값을 기준으로 classification task 를 수행하는 것
Localization 과 Detection 은 해당 object의 위치를 Bounding box 로 지정하여 찾는 것
간단하게 과정을 살펴보면
해당 object 의 위치를 Bounding box 로 찾고, Bounding box 내의 object 를 판별한다.
여기서 Bounding box 를 찾아내는 것은 달리 말하면 box 의 좌표값을 예측하는 것과 동일하다고 볼 수 있고 그렇기에 Bounding box regression 과 box 내 object 를 찾는 것이 결과적으로 classification 이라고 보아 두개의 문제가 합쳐진 것으로 생각할 수 있다.
Object Detection History
Deep Learning 을 기반으로 Classification Task 에서 Object Detection 에 대한 연구가 발전하여 위와 같은 순서의 역사를 갖는다.
One-stage detector : 바로 입력이미지에 분류를 시행하는 것
Two-stage detector : 대상의 위치를 미리 가늠하고 분류(인식)을 시행하는 것
객체 인식에 대한 두 가지 방법론이 존재하는데 어떤 특정 방법론에 장점을 보인다는 판단보다는 Trade off 관계를 보인다.
예를들어 One-stage detector 의 초기 방법론인 YOLO1 의 경우 실시간 Video 에 적용한다면 수행 시간을 굉장히 줄였지만, 정확도가 굉장히 낮은 것으로 실제 이용은 불가능 하였다.
Two-stage detector 의 RCNN , SPPNet 과 같은 방법론은 수행 시간은 길지만, 정확도가 비교적 높은 것을 포함한다.
하지만 비교적 최근에 만들어진 방법들의 경우 One-stage 나 Two-stage 에만 국한되지 않고 짧은 수행 시간과 정확도 측면에서도 괜찮은 값을 보여준다.
2. Object Detection 주요 구성 요소 및 왜 Object Detection 이 어려운가?
주요 구성 요소? (앞으로의 수업에서 이것들을 각각 다룰 예정에 있다.)
1) 영역 추정 : Region Proposal
2) Detection 을 위한 Deep Learning 네트워크 구성
Feature Extraction(classification layer) : Backbone
FPN : Neck
Network Prediction(classification + regression) : Head
3) Detection 을 구성하는 기타 요소
IOU, NMS, mAP, Anchor Box
일반적인 Object Detection 모델 도식화
3. Object Localization 과 Detection 의 이해
Localization 은 인식하고자 하는 대상에 대하여 Bounding box 를 좌표로 표현한다. Bounding box regression 은 해당 좌표값을 regression 을 통하여 예측하는 task 이다.
Bounding box 에 대한 학습은 간단하게 원본 이미지에 label 이 되어줄 bounding box 좌표를 선택하고, regression 을 통하여 예측된 좌표와 Loss function 을 최적화 할 수 있도록 예측되는 값을 선택한다.
아래의 그림과 같이 초기에 주황색과 같은 bounding box 가 예측되었다면 여러 번의 학습 끝 빨간색과 같은 유사한 bounding box 를 갖을 수 있는 regression 모델이 되는 것 이다.
또한 Classification 의 문제를 해당 Object 가 Car 인지 Cat ? Dog ? 인지에 대한 확률 스코어인 Confidence Score 를 통하여 풀어낼 수 있다. 물론 이 또한 classification 에 대한 Loss function 을 최적화 하는 것을 택할 것 이다.
만약 두 개 이상의 Object 를 검출해야한다면?
4. Region Proposal(영역 추정)의 이해와 슬라이딩 윈도우와의 비교
Sliding Window 방식
Window 를 왼쪽 상단에서부터 오른쪽 하단으로 이동시키면서 object 를 detection 하는 방식
(1) 다양한 형태의 window 를 각각 sliding 시키는 방법
(2) window scale 은 고정하고, scale 은 변경한 여러 이미지를 사용
Region Proposal(영역 추정) 방식
Object 가 있을만한 후보영역을 찾는 것.
대표적으로 SS 라는 약어를 갖는 (Selective Search) 방법이 있다.
5. Region Proposal(영역 추정) - Selective Search 기법
컬러, 무늬, 크기, 형태에 따라 유사한 Region 을 계층적으로 그룹핑하는 방법으로 계산
Selective Search 는 최초에는 Pixel Intensity 기반한 graph-based segment 기법에 따라 Over Segmentation 을 수행한다.
(1) 개별 Segment 된 모든 부분들을 Bounding box 로 만들어서 Region Proposal 리스트로 추가
(2) 컬러, 무늬, 크기, 형태에 따라 유사도가 비슷한 Segment들을 그룹핑한다.
(3) 다시 (1) 의 Region Proposal 리스트 추가, (2) 유사도가 비슷한 Segment들 그룹핑을 반복하면서 Region Proposal을 수행
7. IOU(Intersection over Union)의 이해와 구현 실습
IoU : 모델이 예측한 결과와 실측(Ground Truth) Box 가 얼마나 정확하게 겹치는가를 나타내는 지표
성능은 사람의 판단을 기준으로 하는 지표이기 때문에
가령 예를들어 0.5가 기준이 되어 0.5 이하의 경우 Poor 이상은 Good 0.9 이상은 Excellent 가 될 수 있다.
8. NMS(Non Max Suppression)의 이해
Detect 된 Object 의 Bounding box 중 비슷한 위치에 있는 box 를 제거하고 가장 적합한 box 를 선택하는 기법
과정
(1) Detect 된 bounding box 별로 특정 Confidence threshold 이하 bounding box는 먼저 제거 (ex: confidence score < 0.5)
(2) 가장 높은 confidence score 를 가진 box 순으로 내림차순 정렬하고 아래의 로직을 모든 box에 순차 적용
- 높은 confidence score 를 가진 box 와 겹치는 다른 box 를 모두 조사하여 IoU 가 특정 threshold 이상인 box 를 모두 제거
(ex: IoU Threshold > 0.4)
(3) 남아 있는 box 만 선택
'Computer Vision Study' 카테고리의 다른 글
Chapter3) RCNN 계열 Object Detector(RCNN, SPPNet, Fast RCNN, Faster RCNN) (0) | 2022.01.26 |
---|---|
Chapter2) Object Detection 과 Segmentation 을 위한 주요 데이터 세트 및 OpenCV 소개 (0) | 2022.01.25 |
Chapter1) 9. Object Detection 성능 평가지표 mAP (0) | 2022.01.24 |
Object Detection (YOLO v3) (0) | 2021.12.28 |