[사진=게티이미지뱅크]
[사진=게티이미지뱅크]

지역 제안(Region Proposal)
지난 글(1편/2편)에서 객체탐지를 위해 슬라이딩 윈도우 탐지라는 것을 사용한다는 것을 배웠다. 

이전 기고문 확인하기
☞ 인공지능(AI)을 활용한 객체탐지(Object Detection)는 어떻게 작동하나 ①
☞ 인공지능(AI)을 활용한 객체탐지(Object Detection)는 어떻게 작동하나 ②

슬라이딩 윈도우 탐지 방식은 이미지 분류에 뛰어난 성능을 자랑하는 합성곱(Convolutional) 신경망을 사용하지만, 슬라이딩하며 움직이는 모든 윈도우에 대해서 합성곱 연산을 시행하기 때문에 연산자원도 많이 들고 당연히 속도가 느리다는 단점을 살펴보았다. 

이를 극복하기 위하여 완전 연결층(Fully Connected Layer)를 합성곱으로 변환하여 객체탐지의 전체 과정을 합성곱 계산을 하도록 변경함으로써 연산비용 측면에서 개선하는 구조를 갖게 하는 방법을 배웠다. 

그러나 슬라이딩하며 움직이는 모든 윈도우를 합성곱 신경망 연산으로 수행한다는 그 자체가 엄청난 연산수행을 필요로 한다. 이를 개선하기 위하여 지역 제안이라는 방법을 제안한다.

R-CNN이라는 방법을 제안하는데 이는 Region과 CNN의 결합을 의미한다. 즉, 전체 윈도우를 합성곱 연산을 하는 대신 물체가 있다고 생각되는 지역만 합성곱 신경망 수행을 하자는 생각이다. 

그림 1. 지역 제안을 위한 분할 알고리즘
그림 1. 지역 제안을 위한 분할 알고리즘

그림 1을 보면, 좌측의 영상 입력을 분할(segmentation) 알고리즘이라는 것을 사용하여 우측과 같은 결과를 얻고, 여기에서 ①, ②, ③과 같이 관심을 가지지 않아도 되는 배경과 같은 윈도우는 건너뛰고 실제로 객체(물체)로 생각되는 지역만 합성곱 신경망 수행을 하자는 것이다. 

가령 그림1의 분할이 되어 보이는 영역의 약 2000개의 윈도우만 선택하여 지역화 분류를 수행해보자는 생각이다. 이는 모든 슬라이딩 윈도우를 연산하는 것에 비하면 훨씬 작은 숫자이다. 

따라서 R-CNN은 지역을 제안하고 그 지역을 분류하여 한 번에 하나씩 물체의 레이블(사람, 휴지통 등과 같은)과 경계상자(bounding box)를 출력한다. 그러나 R-CNN 알고리즘의 약점은 아직도 속도가 꽤 느리다는 점이다.

개선된 지역 제안 알고리즘
Fast R-CNN은 R-CNN이 선택된 지역 윈도우의 분류 연산만을 수행하는 것을, 완전연결층을 합성곱 층으로 변환하여 연산비용 측면에서의 개선을 꾀한 것과 유사하게 슬라이딩 윈도우의 합성곱(convolutional) 연산으로 수행하여 개선을 도모한 것이다. 

이 방법은 R-CNN의 성능을 한 단계 더 향상시킨다. Fast R-CNN의 단점은 지역 제안을 위한 클러스터링 단계가 여전히 꽤나 느리다는 점이다. 

무슨 뜻 인가하면, 제안된 여러 지역의 경계박스 중에 실제로 객체를 중첩되지 않고 정확하게 감싸는 경계박스를 결정하는데 있어 속도가 느리다는 뜻이다.

Faster R-CNN은, 지역 제안 네트워크(Region Proposal Network)이라는 신경망을 통하여 ROI(Region of Interest) 연산의 GPU 활용이 가능해져 Faster R-CNN 보다 더 높은 정확도를 달성했다는 정도로 이해하고 넘어가자. 

하지만 Faster R-CNN도 그 이후에 출현한 YOLO 알고리즘에 비해서는 아직 느리다. 지역 제안 기반의 알고리즘들은 먼저 지역을 제안하고, 분류를 수행하는 2단계를 거친다는 점에서 YOLO(You Look Only Once) 같은 한 번에 모든 것을 처리하는 알고리즘과 대별된다.

그림 2. Intersection Over Union
그림 2. Intersection Over Union

IOU(Intersection Over Union)
객체탐지에 있어서 경계박스가 정확히 객체 주위를 감싸고 있는지 어떻게 알 수 있을까? 또 다른 말로는, 어떻게 객체탐지 지역화(localization)의 성능을 평가할 수 있을까? 

이러한 경계박스(bounding box)의 유효성 검증에 IOU 함수가 사용된다. 그림 2와 같이 객체를 탐지하는 경계박스 예상치가 얼마나 실측(ground truth) 경계방식과 겹치는 부분의 비율이 되는지를 산출하는 함수가 Intersection Over Union, 즉 IOU다. 

다시 말하면, Intersection over Union 즉 합집합 위의 교집합이라는 말이 의미하듯이 두 경계상자 면적의 합 (합집합)을 분모로 하고 그 위에 분자로 두 경계상자가 겹치는 부분(교집합) 즉 아래 그림 1의 ①로 표시된 면적을 분자로 하여 비율을 표시하는 것이다.

예를 들어, 우선 실측(ground truth) 경계상자를 좌측의 bb1이라고 하고, 우측의 bb2를 예측하는 경계상자 값이라고 가정해보자. 

그림 3. 그림2에 대한 IoU 값 산출 알고리즘
그림 3. 그림2에 대한 IoU 값 산출 알고리즘

만약 bb1 과 bb2 가 완벽하게 겹친다면, IOU 값은 1이 될 것이고 일반적으로 IOU 값이 0.5 보다 크거나 같으면 예측하는 경계상자 값이 비교적 정확한 범위로 간주한다.

IOU 값이 1에 가까워질수록 예측하는 경계상자가 더 정확하다고 본다. 즉, IOU는 두 경계상자의 겹침의 정도를 평가하는 척도다. 그림 3은, 그림2의 경계상자 좌표에 따른 IoU 값 산출 알고리즘이다.

 

글 : 주철휘 / 인공지능연구소 소장(CAO) / 에이프리카(구 엔쓰리엔클라우드)

관련기사

저작권자 © ITBizNews 무단전재 및 재배포 금지