코딩하는 해맑은 거북이
[컴퓨터비전] Object Detection, BBOX, Matrix 본문
해당 글은 아래의 3가지를 다룬다.
1. Object Detection
2. Boundary coordinates
3. Ground Truth와 비교 Matrix
- Object Detection
: 물체가 있는 영역의 위치 정보를 Bounding-Box로 찾고 Bounding-Box 내에 존재하는 사물들의 Label을 분류하는 문제 영역
- Boundary coordinates
x, y lines의 pixel coordinates를 사용하는 것.
Bounding-Box의 boundary coordinates는 (x_min, y_min, x_max, y_max)
하지만, image의 actual dimension을 모르는 경우 pixel values는 거의 쓸모 없다.
더 나은 방법은 모든 coordinates를 fractional form (0~1 normalize)으로 나타내는 것이다.
더 명확한 방법은 fractional form으로 나타낸 방식에서 Bounding-Box의 중심좌표와 width, height를 사용하는 것이다.
- Ground Truth
: Object Detection 문제 영역의 Ground Truth 데이터는 사람이 지정한 Bounding-Box와 Class Label이다.
정답 Ground Truth 데이터와 비교했을 때, 예측값의 성능을 비교하기 위한 Metrix가 필요하다.
1) Metrix 1 - Intersection over Union(IoU)
2개의 Bounding-Box를 얼마나 일치하는 지를 0.0~1.0 사이의 값으로 표현한다.
2개의 Bounding-Box가 일치할수록 1.0에 가까운 값이 되고, 일치하지 않을수록 0.0에 가까운 값이 나오게 된다.
cf) 2개의 Bounding-Box의 크기가 동일하다 가정하면, 적어도 2/3은 겹쳐줘야 0.5 값이 나오기 때문에, 여러 곳에서 IoU의 threshold 값을 0.5로 잡아서 사용하는 듯하다.
2) Metrix 2 - Precision, Recall을 이용한 F1 Score, AP, mAP
- Precision(정밀도) : 모델이 True라고 예측한 것 중 정답도 True인 것의 비율
- Recall(재현율) : 실제 정답이 True인 것 중에서 모델이 True라고 예측한 것의 비율
* accuracy(정확도) : 전체 결과 중 실제 정답과 같은 판단이 나온 비율
* Positive 판단 기준 : 일정한 임계치(threshold)의 IoU를 넘기면 맞춘 것으로 간주
- F1-Score : Precision과 Recall의 조화 평균
(여기서 F1-Score가 높으면 성능이 좋다고 할 수 있다. 정밀도, 재현율, 정확도 중 하나만 높다고 해서 성능이 높은 것은 아니다!)
- AP(Average Precision)
: Recall 별 Precision의 평균, precision-recall 그래프에서 그래프 선 아래쪽의 면적으로 계산된다.
- mAP(mean Average Precision)
: Class가 여러 개인 경우 각 클래스당 AP를 구한 다음, 평균을 계산한다.
(각 AP를 모두 합한 것을 물체 Class 갯수로 나눠준다)
3) Metrix 3 - FPS, FLOPs
- FPS(Frames Per Second)
초당 프레임 수
- FLOPs(Floating Point Operations)
모델이 얼마나 빠르게 동작하는지 측정하는 metric 이며, 연산량의 횟수(곱하기, 더하기, 빼기 등)를 나타낸다.
FLOPs가 작을수록 더 빠르게 동작한다.
[참고자료]
https://better-tomorrow.tistory.com/entry/Tutorial-to-Object-Detection
'AI' 카테고리의 다른 글
[머신러닝] Bias-Variance tradeoff, Regularization (0) | 2022.07.16 |
---|---|
[인공지능기초] Tree Search(Informed Search) (0) | 2022.07.15 |
[컴퓨터비전] 컴퓨터비전 문제 영역 (0) | 2022.07.15 |
[머신러닝] 앙상블 학습(Ensemble Learning) (0) | 2022.07.15 |
[인공지능기초] 인공지능이란, 인공지능 역사, Tree Search(Uninformed Search) (0) | 2022.07.14 |