[Computer Vision] 5(1). 객체 탐지 소개

2 minute read


객체 탐지 소개


배경


객체 탐지(object detection)(또는 객체 위치 측정(object localization))는 한 이미지에서 객체와 그 경계 상자를 탐지한다. 경계 상자는 이미지에서 하나의 객체 전체를 포함하는 가장 작은 직사각형이다.

객체 탐지 알고리즘에서는 일반적으로 이미지를 입력으로 받고 경계 상자와 객체 클래스 리스트를 출력한다. 모델은 각 경계 상자에 대해 그에 대응하는 예측 클래스와 해당 클래스의 신뢰도를 출력한다.


애플리케이션

  • 자율 주행 자동차에서 다른 자동차와 보행자를 찾을 때
  • 콘텐츠 조정을 위해 금지된 객체와 해당 객체의 크기를 찾을 때
  • 의료 분야에서 방사선 사진을 사용해 종양이나 위험한 조직을 찾을 때
  • 제조업에서 조립 로봇이 제품을 조립하거나 수리할 때
  • 보안 산업에서 위협을 탐지하거나 사람을 셀 때
  • 야생 관찰에서 동물 개체 수를 모니터링할 때

이 외에도 객체 위치 측정 기술이 막강해질수록 발견되는 애플리케이션은 많아진다.


약력

  • 이미지 설명자: 객체를 탐지하려면 그 객체가 포함된 몇 장의 사진으로 시작해 목표 객체에 해당하는 설명자를 이미지로부터 추출한다. 설명자는 객체의 특정 부분을 나타내며, 알고리즘은 목표 객체에 해당하는 설명자를 찾을 때까지 설명자를 찾는 과정을 반복한다.

  • 플로팅 윈도우: 이미지에서 객체를 찾기 위해 가장 일반적으로 사용되었던 방법으로, 이미지의 작은 직사각형 영역을 차례로 검사한다. 가장 일치하는 설명자를 가진 부분이 해당 객체를 포함하는 것으로 간주한다.

  • 신경망 성능 지표

    • 경계 상자 정밀도(bounding box precision): 정확한 경계 상자(너무 크지도, 너무 작지도 않은)를 제공하는가?
    • 재현율(recall): 모든 객체를 찾았는가?
    • 클래스 정밀도(class precision): 객체마다 정확한 클래스를 출력했는가?
    • 추론 속도가 빨라졌는가? (일반적으로 실시간이란 1초에 5개 이상 탐지하는 속도를 뜻한다.)



모델 성능 평가


정밀도와 재현율

일반적으로 정밀도재현율은 객체 탐지 모델 평가에 사용되지 않지만, 다른 지표를 계산하는 기본 지표 역할을 한다.

  • TP(True Positive): 참으로 예측해 맞은 경우
  • FP(False Positive): 참으로 예측해 틀린 경우
  • TN(True Negative): 거짓으로 예측해 맞은 경우
  • FN(False Negative): 거짓으로 예측해 틀린 경우

정밀도(precision)와 재현율(recall)은 다음과 같이 정의된다.

KakaoTalk_20210812_213312105 KakaoTalk_20210812_213325718

예측이 실제 분류와 정확히 일치하면 FP나 FN가 없어 정밀도와 재현율은 1이 된다.

대체로 모델이 안정적이지 않은 특징을 기반으로 객체 존재를 예측하면 FP가 많아져 정밀도가 낮아진다. 반대로 모델이 너무 엄격해서 조건을 만족할 때만 객체가 탐지된 것으로 간주하면 FN가 많아져 재현율이 낮아진다.


정밀도-재현율 곡선

정밀도-재현율 곡선신뢰도 임곗값마다 모델의 정밀도와 재현율을 시각화하는 것이다. 모델은 모든 경계 상자와 함께 모델이 예측의 정확성을 얼마나 확신하는 지를 0과 1 사이의 신뢰도로 출력한다.

신뢰도가 낮은 예측은 유지할 필요가 없으므로 일반적으로 특정 임곗값 T 이하의 예측은 제거한다. 임곗값을 바꾸면 정밀도와 재현율도 달라진다.

  • T가 1에 가까우면: 정밀도는 높지만 재현율은 낮다. 객체를 많이 걸러내기 때문에 놓치는 객체가 많아져 재현율이 낮아진다. 신뢰도가 높은 예측만 유지하므로 FP가 적어 정밀도는 높아진다.
  • T가 0에 가까우면: 정밀도는 낮지만 재현율은 높다. 대부분의 예측을 유지하므로 FN가 없어져 재현율이 높아진다. 모델이 자신의 예측에 대한 확신이 낮기 때문에 FP가 많아져 정밀도가 낮아진다.

0과 1 사이의 임곗값마다 정밀도와 재현율을 계산함으로써 다음과 같은 정밀도-재현율 곡선을 얻을 수 있다.

KakaoTalk_20210812_214510479

✋ 임곗값은 정밀도와 재현율 사이의 트레이드오프를 고려해 정해야 한다. 모델이 보행자를 탐지하고 있다면 때때로 마땅한 이유 없이 차를 세우더라도 어떤 보행자도 놓치지 않도록 재현율을 높여야 한다. 모델이 투자 기회를 탐지하고 있다면 일부 기회를 놓치게 되더라도 잘못된 기회에 돈을 거는 일을 피하기 위해 정밀도를 높여야 한다.


AP와 mAP

AP(Average Precision)는 곡선의 아래 영역에 해당한다. AP는 단일 클래스에 대한 모델 성능 정보를 제공한다.

전역 정보를 얻기 위해서는 mAP(mean Average Precision)를 사용한다. 이는 각 클래스에 대한 AP의 평균에 해당한다.

✋ mAP는 최소 두 개 이상의 객체를 탐지하는 대회인 PASCAL Visual Object Classes(Pascal VOC)와 Common Objects in Context(COCO)에서 사용된다.


AP 임곗값

예측과 실제가 일치한다는 기준은 무엇일까? 일반적으로 두 집합(여기에서는 상자로 표현되는 픽셀 집합)이 얼마나 겹치는지 측정하는 자카드 지표(Jaccard index)를 메트릭으로 사용한다. IOU(Intersection over Union)라고도 알려진 이 지표는 다음과 같이 정의된다.

KakaoTalk_20210812_215614451

AP를 계산할 때 IOU가 특정 임곗값을 넘으면 두 상자가 겹친다고 말한다. 일반적으로 이 임곗값은 0.5(mAP@0.5)로 정한다.

Leave a comment