Computer Vision - 1) Object Detection Terminology

가람·2021년 7월 31일
0

Computer Vision 분야에서는 Deep Learning을 활용한 알고리즘 연구가 활발하게 진행되고 있습니다. 기존의 알고리즘들보다 성능지표상에서 확연하게 좋은 성능을 보여주고 있기 때문입니다. 이 글과 앞으로의 글에서는 Computer Vision분야를 간단하게 리뷰하려고 합니다. OCR, 보행자 검출, 자율주행 등에서 활용되는 Object Detection 부터 알아보도록 하겠습니다.


Object Detection


Object Detection과 관련된 용어부터 정리해봅시다.

우선 Classification은 Image가 주어졌을때, 이게 어떤 사진인지 구별하는 것입니다. 단일 객체에 대해 class를 예측하는 것으로 Deep Learning을 시작할때 처음 접하는 문제유형이기도 합니다.

Localization은 단일 객체의 위치를 표시(주로 Bounding Box 사용) 하는 것 입니다. Bounding Box를 나타내는데에는 여러가지 방법이 있는데 조금 있다가 설명하겠습니다. 위 그림에서 두번째 사진은 Classification + Localization의 결과를 보여줍니다.

Object Detection은 Image에 여러 객체가 있을 때, 각각의 객체에 대한 위치와 Calss를 예측하는 문제입니다. Multi-Object에 대해 Classification + Localization을 수행하는 것 입니다.

Instance Segmentation은 Object Detection에서 물체의 위치를 Bounding Box로 표현하는게 아니라 객체에 해당하는 픽셀만 표시한 map으로 표현하는것 입니다.

Object Detection의 결과로는 객체의 Bounding Box의 위치와 어떤 Class로 분류되었는지와 해당 Class일 확률이 반환됩니다.

Bounding Box 표현법

Bounding Box는 객체의 위치를 표현하는 방법으로 객체를 둘러싸는 직사각형을 반환합니다. Bounding Box를 표현하는 방법은 Dataset마다 천차만별입니다. Application마다 적합한 표현방법이 다르기 때문입니다. 주로 사용되는 방법을 나열해보자면,

  • 좌상단 (x1,y1), 우하단 (x2,y2)
  • 좌상단 (x1,y1), 너비(w) 높이(h)
  • 중앙좌표 (x,y), 너비(w) 높이(h)

위와 같은 방법들로 위치를 표시하고, 좌표를 표시할 때 절대좌표(픽셀위치)을 이용할수도, 상대좌표(너비, 높이에 비례한 상대좌표)를 이용할수도 있습니다.
예를 들면, 100 x 100 이미지에서 (80,80)위치의 점을 표시할 때, (80,80) 처럼 절대좌표로도, (0.8,0.8)처럼 상대좌표로도 표현할 수 있습니다.
실제로 Dataset이나 Model마다 표현법이 다르므로 사용하기전에 꼭 확인을 해봐야합니다.

[그림추가예정]

profile
hello world :)

0개의 댓글