객체 탐지(Object Detection)의 예

 

 

객체 탐지(Object Detection)란 사람, 동물, 사물 등 이미지에 있는 여러 대상의 위치를 찾아 각 대상의 크기에 맞는 경계 상자를 표시하고, 미리 학습된 객체 데이터를 바탕으로 그 경계 상자 안의 대상이 어떤 객체인지 판별하는 작업이다.


딥러닝 기반의 객체 탐지 모델은 ‘2단계 방식’과 ‘단일 단계 방식’으로 나눌 수 있다. 2단계 방식은 먼저 이미지에서 탐지할 객체가 있을 확률이 높은 곳을 추정한 후, 그 영역의 대상을 집중적으로 탐지하여 어떤 객체인지 판별하는 방식이다. 각 과정이 별도의 인공신경망을 통해 순차적으로 이루어지기 때문에 객체를 판별해 내는 정확도는 높지만, 처리하는 데이터가 많고 구조가 복잡하여 탐지 속도가 느리기 때문에 실시간으로 객체를 탐지하는 데는 어려움이 있다. 단일 단계 방식은 이 두 가지 과정이 하나의 인공신경망을 통해 동시에 이루어지는 방식인데, 가장 대표적인 알고리즘 모델로 YOLO(You Only Look Once)가 있다.


YOLO는 이미지가 입력되면 먼저 이미지를 S×S개의 영역으로 나누고, 하나의 영역을 기준으로 경계 상자 N개를 표시한다. 그리고 모든 영역마다 동일하게 N개의 경계 상자를 표시하면서 각각의 경계 상자에 특정 객체가 존재할 확률도 예측한다. 이때 경계 상자의 개수가 많을수록 탐지 속도가 느려지기 때문에 설정할 수 있는 경계 상자의 수가 제한적인데 일반적으로 N은 5 이하로 설정한다. 각 경계 상자의 데이터는 Bx , By , Bw , Bh , Pc 와 C로 표시되는데 Bx , By는 경계 상자의 중심점 좌표이며 Bw, Bh 는 폭과 높이이다. 그리고 Pc는 해당 경계 상자에 어떤 객체가 존재할 확률값이고, C는 그 객체가 특정 객체 일 확률값이다. 이때 Bx , By는 항상 기준이 되는 하나의 영역 안에 속해 있지만, 경계 상자의 크기는 영역의 크기와 상관없이 다양하게 표시된다. C는 미리 학습된 m가지 종류의 객체 데이터와 비교하여 각 객체일 확률을 표시한 값으로, 미리 학습된 객체의 가짓수에 따라 판별할 수 있는 객체의 가짓수가 결정되며, 그에 따라 C의 개수도 결정된다. 하나의 이미지가 입력되면 이러한 방식으로 모든 영역별로 이미지에 있는 대상들을 확인하고 그 대상이 특정 객체일 확률값을 계산해서 총 ‘S×S×N(5+m)’개의 데이터를 출력하게 된다.


이후 경계 상자에 객체가 존재할 확률값과 그것이 특정 객체일 확률값을 곱하여 해당 경계 상자에 특정 객체가 존재할 확률값인 ‘신뢰도 점수’를 구한다. 신뢰도 점수는 경계 상자의 위치와 객체의 판별이 얼마나 정확한지를 나타낸다. 모든 경계 상자들은 미리 학습된 객체의 가짓수만큼 신뢰도 점수를 가지며, 이 중 가장 큰 값을 가지는 객체가 해당 경계 상자에서 탐지된 객체가 된다.


그런데 서로 다른 경계 상자에서 같은 종류의 객체가 탐지될 수 있다. 이때는 각 경계 상자가 하나의 대상에 중복되어 표시된 것인지, 서로 다른 대상에 표시된 것인지를 판단하여 이미지 속의 각 대상별로 가장 정확한 경계 상자 하나만 표시하는 과정을 거치는데, 이를 ‘비최댓값 억제(NMS, Non-Max Suppression)’라고 한다. NMS는 두 경계 상자의 교집합을 합집합으로 나눈 값인 IoU를 기준으로 이루어진다. IoU 값은 두 경계 상자의 위치가 일치할수록 1에 가까운 값이 나오며, 이 값이 설정된 임곗값보다 크면 두 경계 상자가 동일한 대상에 표시된 것으로 판단하고 둘 중 신뢰도 점수가 낮은 상자를 삭제한다. 그리고 IoU 값이 설정된 임곗값보다 작으면 경계 상자가 서로 다른 대상에 표시된 것으로 판단하여 두 경계 상자 모두 그대로 둔다. 이러한 방법으로 한 가지 종류의 객체에 대해 그려진 모든 경계 상자들 중 가장 높은 신뢰도 점수를 가진 경계 상자를 기준으로 다른 경계 상자들을 하나씩 삭제해 나간다. 이후 IoU 값이 설정된 임곗값보다 작아서 지워지지 않고 남겨진 경계 상자 중에서 가장 높은 신뢰도 점수를 가진 경계 상자를 다음 기준으로 정하여 동일한 과정을 반복한다. 그리고 이러한 과정을 다른 모든 대상에 표시된 경계 상자들에 대해서도 순차적으로 반복한다. 이렇게 해서 결국 이미지 속의 각 대상별로 가장 높은 신뢰도 점수를 가진 경계 상자 하나씩만 남게 된다.

 

이런 원리로 인해 YOLO는 2단계 방식에 비해 탐지 속도가 매우 빨라서 자율 주행 자동차, 지능형 CCTV 등에 널리 사용되고 있다. 하지만 속도가 빠른 대신 ㉠ 새 떼와 같이 여러 물체가 한 영역 안에 모여 있는 경우 일부 대상을 탐지하지 못한다는 한계점도 가지고 있다.

 

 

@ 2022학년도 7월 고3 전국연합학력평가 10~13번

(출전) 벤자민 플렌치 외, <딥러닝 컴퓨터 비전>