티스토리 뷰

DL

[DL] Yolo개념 정리

PeonyF 2023. 4. 14. 12:37
반응형
  • train 결과에 적혀있는 각 요소들의 의미

  • train set : 2576개, validation set : 736개 인데 왜 train시에 train set : 322개, validation set: 46개가 뜰까?

        → batch size가 8이여서 나눈 수로 epoch을 돌기 때문 train set : 2576 = (322x8), val set : 736 = 46x16(당시 val은 16으로 했다..)

  • 각 epoch당 train 한번(보라색), validation 한번(노란색) 진행되는데, validation에 적힌 검사 요소들은 무엇을 뜻하는가?

      P: Precision(정밀도) 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율 ex.날씨 예측 모델이 맑다로 예측, 실제 날씨가 맑았가  → 검출된 결과가 얼마나 정확한지 즉, 검출 결과들 중 실제 물체가 얼마나 포함되어 있는지

      R: Recall(재현율) 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율 ex.실제 날씨가 맑은 날 중에서 모델이 맑다고 예측한 비율을 나타낸 지표 → 대상 물체들을 빠뜨리지 않고 얼마나 잘 잡아내는지

 두 지표가 모두 높을 수록 좋은 모델

AP: Average precision(평균 정밀도) 정밀도만을 골라 내어 평균을 낸 것   

    mAP: 평균 정밀도를 다시 한번 더 평균 낸 값. 분류기가 검출 가능한 각 분류 별로 정해진 테스트셋에서 평균 정밀도를 구하고 평균 정밀도를 다시 한번 더 평균 낸다.

    사용이유 : 일반적으로 정확도(precision)과 검출율(recall)은 서로 반비례 관계를 가진다. 정확도가 높으면 검출율은 낮아지고, 정확도가 낮아지면 검출율은 올라감 따라서 정확도와 검출율의 성능 변화 전체를 확인해야 함
    Average precision은 인식 알고리즘의 성능을 하나의 값으로 표현한 것으로서 precision-recall 그래프에서 그래프 선 아래 쪽의 면적으로 계산된다. Average precision이 높으면 높을수록 그 알고리즘의 성능이 전체적으로 우수하다는      의미이다. 

 

 

 

 

 

 

:그래프 선 아래의 넓이를 계산함으로 AP를 구한다.  AP = 왼쪽 큰 사각형의 넓이 + 중간 작은 사각형의 넓이 + 왼쪽 작은

사각형의 넓이 = 1 * 0.33 + 0.86 * (0.4-0.33) + 0.77 * (0.46 - 0.4) = 0.4364

 

 

 

 

 

 

 

 

mAp0.5 ,  mAp0.95 : COCO 기준이 IoU>0.5 AP와 IoU>0.95 AP의 평균을 사용

왜 mAp0.5와 mAp0.95를 하는가? 각 단계별로 확인하여 평균을 구함 → 면적을 이용하여 계산, 하나의 숫자로 성능 평가 가능해진다

 VOC 와 COCO의 차이

PASCAL VOC Challenge에서의 AP(Average Precision)

  • PASCAL VOC는 object detection에서 널리 사용되는 데이터 셋
  • PACAL VOC Challenge의 경우, 모델의 예측과 ground truth의 IoU가 0.5보다 크면(IoU>0.5) 모델의 예측이 올바르게 되었다고 판단
  • 그러나 모델이 동일한 객체에 대한 중복 탐지결과를 출력 할 경우 첫 번째 출력을 positive로, 나머지를 negative로 계산.
  • PASCAL VOC의 mAP는 위의 AP 계산 방법과 동일

MS COCO mAP

  • SOTA(State of art) object detector 모델들은 주로 MS COCO에 대한 mAP 결과만을 제공하는 경향이 있음
  • MS COCO는 PASCAL VOC의 단일 IoU값 계산과는 다르게(IoU>0.5) 다중 IoU에 대한 평균값을 계산
    • Minimum IoU는 positive match를 위해 고려됨
  • AP@[.5:.95]는 0.05의 단계 크기로 0.5부터 0.95까지의 IoU에 대한 평균 AP에 해당함
  • MS COCO competition의 경우 AP는 80개의 카테고리에서 10개 이상의 IoU에 대한 평균값으로 경쟁.
    • AP@[.50:.05:.95]: 0.5에서 0.95까지 단계 크기 0.05씩 커지며 계산

 

객체 검출에서 출력되는 경계 박스는 참인지 거짓인지가 출력되지 않고 경계 박스의 위치만이 출력된다 이 경계 박스를 실제로 참으로 볼지 거짓으로 볼지는 실체 위치(ground truth)와 검출된 객체 상자 간의 IoU 값이 일정 이상인지를 평가

ex.

Train시 Validation할 때: 물고기인건 찾았으나, 물고기 전체 부분이 아닌 한부분만 경계박스 표시가 뜸 → 학습시 같이 넣은 label(정답지)와 해당 경계박스(흰색 네모, 내 시험지)와 비교 → 학습이 제대로 안되어 mAp가 낮다(정확도 낮음)라는 뜻, 이 결과 값에 대한 계산식이 Loss

Detect시 : 사람이 보고 확인

 

*파이썬 패키지 중 scikit-learn은 mAP를 계산하고 정밀도-재현율 그래프를 작성할 수 있는 기능을 제공 → 써봐야겠다

IoU :

  • 2개 영역 사이의 중첩되는 정도를 측정.
  • 이는 Object detector가 실제 Ground truth와 예측 결과(Prediction)가 얼마나 정확히 겹치는지를 계산하여 예측이 얼마나 잘 되는지를 측정.

      → IoU의 계산 결과 값이 0.5 이상이면 제대로 검출(TP)되었다고 판단한다. 만약 0.5 미만이면 잘못 검출(FP)되었다고 판단한다. (이 값은 임의의 값으로 설정할 수 있다.)

 

참고자료

https://seongkyun.github.io/study/2019/01/15/map/

https://ctkim.tistory.com/79 [DEVELOPER]

https://darkpgmr.tistory.com/162

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함