Deep Learning/Computer Vision

[Object Detection] YOLO : You Look Only Once

frances._.sb 2022. 4. 20. 13:44
728x90

객체 탐지 (Object Detection)

  • 한 이미지에서 객체와 그 경계 상자(bounding box)를 탐지
  • 객체 탐지 알고리즘은 일반적으로 이미지를 입력으로 받고, 경계 상자와 객체 클래스 리스트를 출력
  • 경계 상자에 대해 그에 대응하는 예측 클래스와 클래스의 신뢰도(confidence)를 출력

Applications

  • 자율 주행 자동차에서 다른 자동차와 보행자를 찾을 때
  • 의료 분야에서 방사선 사진을 사용해 종양이나 위험한 조직을 찾을 때
  • 제조업에서 조립 로봇이 제품을 조립하거나 수리할 때
  • 보안 산업에서 위협을 탐지하거나 사람 수를 셀 때

Bounding Box

  • 이미지에서 하나의 객체 전체를 포함하는 가장 작은 직사각형

IOU(Intersection Over Union)

  • 실측값(Ground Truth)과 모델이 예측한 값이 얼마나 겹치는지를 나타내는 지표

  • IOU가 높을수록 잘 예측한 모델 

 

모델 성능 평가

정밀도(Precision)와 재현율(Recall)

  • 일반적으로 객체 탐지 모델 평가에 사용되지는 않지만, 다른 지표를 계산하는 기본 지표 역할을 함
    • True Positives(TP): 예측이 동일 클래스의 실제 상자와 일치하는지 측정
    • False Positives(FP): 예측이 실제 상자와 일치하지 않는지 측정
    • False Negatives(FN): 실제 분류값이 그와 일치하는 예측을 갖지 못하는지 측정
    precision=TPTP + FP recall=TPTP + FN
    • 모델이 안정적이지 않은 특징을 기반으로 객체 존재를 예측하면 거짓긍정(FP)이 많아져서 정밀도가 낮아짐
    • 모델이 너무 엄격해서 정확한 조건을 만족할 때만 객체가 탐지된 것으로 간주하면 거짓부정(FN)이 많아져서 재현율이 낮아짐

 

정밀도-재현율 곡선(Precision-Recall Curve)

  • 신뢰도 임계값마다 모델의 정밀도와 재현율을 시각화
  • 모든 bounding box와 함께 모델이 예측의 정확성을 얼마나 확실하는지 0 ~ 1사이의 숫자로 나타내는 신뢰도를 출력
  • 임계값 T에 따라 정밀도와 재현율이 달라짐
    • 임계값 T 이하의 예측은 제거함
    • T가 1에 가까우면 정밀도는 높지만 재현율은 낮음
    • 놓치는 객체가 많아져서 재현율이 낮아짐. 즉, 신뢰도가 높은 예측만 유지하기때문에 정밀도는 높아짐
    • T가 0에 가까우면 정밀도는 낮지만 재현율은 높음
    • 대부분의 예측을 유지하기때문에 재현율은 높아지고, 거짓긍정(FP)이 많아져서 정밀도가 낮아짐
  • 예를 들어, 모델이 보행자를 탐지하고 있으면 특별한 이유없이 차를 세우더라도 어떤 보행자도 놓치지 않도록 재현율을 높여야 함
  • 모델이 투자 기회를 탐지하고 있다면 일부 기회를 놓치게 되더라도 잘못된 기회에 돈을 거는 일을 피하기 위해 정밀도를 높여야 함

 

 

 

 


 

 

YOLOv5 model을 이용해 object detection을 해볼 예정이다.

 

현재 만들어져 있는 데이터셋에서 가져온 이미지로 사용하여 본 연습이다.

yolo는 version이 많이 발전해왔는데 그중 가장 정확도가 높은 v5 버전을 이용해 kaggle 데이터로 실험해 볼 예정이다.

 

728x90
반응형

'Deep Learning > Computer Vision' 카테고리의 다른 글

[OCR] scale 의 여러 방법  (0) 2023.10.05
[OCR] EasyOCR  (2) 2023.10.04
[OCR] EAST text detection w.pytesseract  (0) 2023.08.28
Anomaly Detection -2  (0) 2022.02.28
Anomaly Detection -1  (0) 2022.02.28