Kim Seon Deok
1. Object detection의 이해 본문
하나의 object
classification : 분류
localization : 하나의 이미지 내에서 하나의 object의 위치를 bounding box로 지정하여 찾음 > 바운딩 박스 내의 오브젝트를 판별.
여러 개의 object들
object detection : 하나의 이미지 안에 있는 여러 object들의 위치를 bounding box로 지정해 찾음
segmentation : 개별 픽셀 값 단위로 classification해 판단. detection보다 더 발전된 형태로 pixel 레벨 detection 수행
object detection의 주요 구성요소
detection을 위한 deep learning 네트워크 구성
1.feature extraction(backbone)
2.fpn(neck)
3.network prediction(head)
detection 을 구성하는 기타요소 : IOU, NMS, mAP, Anchor box
일반적인 object detection 모델
backbone - neck - head
object detection의 난제
1.classification, regression동시 수행
classificatinon, regression에 대한 loss의 최적화가 잘 되어야 한다.
이미지에서 여러 개의 물체를 classification함과 동시에 위치를 찾아야 한다.
2.다양한 크기와 유형의 object가 섞여있다.
크기가 서로 다르고, 생김새가 다양한 오브젝트가 섞여있는 이미지에서 이들을 detect해야함.
3.중요한 detect 시간
detect 시간이 중요한 실시간 영상 기반에서 detect해야하는 요구사항 증대
4.명확하지 않은 이미지
오브젝트 이미지가 명확하지 않은 경우가 많음. 또한 전체 이미지에서 detect할 오브젝트가 차지하는 비중이 높지 않음.
5.데이터 세트의 부족
훈련 가능한 데이터 세트가 부족하며, annotation을 만들어야 하므로 훈련 데이터 세트를 생성하기가 상대적으로 어려움
object localization의 개요
원본 이미지 - feature extractor - feature map - fc layer - softmax class score
1.Sliding window 방식
window를 왼쪽 상단에서부터 오른쪽 하단으로 이동시키면서 object를 detection하는 방식
object 기법의 초기 기법으로 활용
오브젝트 없는 영역도 무조건 슬라이딩 해야 하며 여러 형태의 window와 여러 scale을 가진 이미지를 스캔해서 검출하여야 하므로 수행시간이 오래걸리고 검출성능이 상대적으로 낮음
방법1.다양한 형태의 window를 각각 sliding시키는 방식
방법2.window scale은 고정하고 scale을 변경한 여러 이미지를 사용한는 방식
2.Region proposal(영역 추정)방식
object 가 있을 만한 후보 영역을 찾기
원본 이미지 - 후보 Bounding Box 선택 - 최종 Object Detection
1.selective search법
빠른 detection과 높은 recall 예측 성능을 동시에 만족하는 알고리즘
컬러, 무늬, 크기, 형태에 따라 유사한 region을 계층적 그룹핑 방법으로 계산
Selective Search의 수행 프로세스
1.개별 Segment된 모든 부분들을 Bounding box로 만들어 Region Proposal 리스트로 추가
2.컬러 무늬(Texture), 크기(Size), 형태(Size)에 따라 유사도가 비슷한 Segment들을 그룹핑
3.다시 1번 Step Region Proposal 리스트 추가, 2번 Segment들 그룹핑을 계속 반복 하면서 Region Proposal을 수행
Object Detection 성능 평가 Metric-IoU
IoU : Intersection over Union
모델이 예측한 결과의 실측(Ground Truth) Box가 얼마나 정확하게 겹치는가를 나타내는 지표
개별 box가 서로 겹치는 영역 / 전체 box의 합집합 영역
NMS(Non Max Suppression)
Object Detection 알고리즘은 Object가 있을 만한 위치에 많은 Detection를 수행하는 경향이 강함.
-object가 있는 곳을 놓치면 안되기 때문에, 정확하게 object의 위치를 반환하는 것이 아니라 object가 있을만한 위치를 반환
NMS는 Detected된 Object의 Bounding box 중 비슷한 위치에 있는 box를 제거하고 가장 적합한 box를 선택하는 기법
1.Detected된 bounding box별로 특정 confidence threshold이하 bounding box는 먼저 제거(confidence < 0.5)
2.가장 높은 confidence score를 가진 box 순으로 내림차순 정렬하고 아래 로직을 모든 box에 순차적으로 적용
-높은 confidence score를 가진 box와 겹치는 다른 box를 모두 조사해 iou가 특정 threshold 이상인 box를 모두 제거
3.남아있는 box만 선택
>> confidence score가 높을수록, iou threshold가 낮을수록 많은 box가 제거된다.
- 클래스가 다른 것들이 있으므로 max값을 고르지 않는다.
Object Detection 성능평가 Metric - mAP
mAP(mean Average Precision)
실제 Object가 Detected된 재현율(Recall)의 변화에 따른 정밀도(Presion)의 값을 평균한 성능 수치
-IOU
-Precision-Recall Curve, Average Precision
-Confidence threshold
AP : 하나의 오브젝트에 대한 성능 수치
mAP : 여러 오브젝트들의 AP를 평균한 값
정밀도(Precision)와 재현율(Recall)
이진 분류(Binary Classification)에서 사용되는 성능 지표
정밀도(Precision) : 예측을 Positive로 한 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율
Object Detection에서는 검출 알고리즘이 검출 예측한 결과가 실제 Object들과 얼마나 일치하는지를 나타내는 지표
재현율(Recall) : 실제 값이 Positive인 대상 중 예측과 실제 값이 Positive로 일치한 데이터의 비율
Object Detection에서는 검출 알고리즘이 실제 Object들을 빠뜨리지 않고 얼마나 정확히 검출 예측하는지를 나타내는 지표
좋은 알고리즘 - precision과 recall 모두 좋아야 한다.
Object Detection에서 개별 Object에 대한 검출 예측이 성공하였는지의 여부를 IOU로 결정
오차 행렬(Confusion Matrix)
이진 분류의 예측 오류가 얼마인지와 더불어 어떠한 유형의 예측 오류가 발생하고 있는지를 함꼐 나타내는 지표
정밀도 = TP / (FP + TP)
재현율 = TP / (FN + TP)
Confidence 임곗값에 따른 정밀도-재현율 변화
confidence임곗값이 낮을 수록 더 많은 예측 bbox를 만들게 되어 정밀도는 낮아지고 재현율은 높아진다.
confidence임곗값이 높을 수록 예측 bbox를 만드는데 매우 신중하게 되어 정밀도는 높아지고 재현율은 낮아짐.
정밀도 / 재현율의 트레이드 오프(trade-off)
정밀도와 재현율은 상호 보완적인 평가지표이다. 어느 한 쪽을 강제로 높이면 다른 하나의 수치는 떨어지기 쉽다.
정밀도 재현율 곡선(precision recall curve)
recall값의 변화에 따른 precision값을 나타낸 곡선
얻어진 Precision값의 평균을 AP라 하며 정밀도 재현율 곡선의 면적값으로 계산된다.
'AI > Computer Vision' 카테고리의 다른 글
5.Faster R-CNN (0) | 2022.03.20 |
---|---|
4.Fast-R-CNN (0) | 2022.03.19 |
3.RCNN (0) | 2022.03.19 |
2.Object Detection과 Segmentation을 위한 주요 Dataset (0) | 2022.03.19 |