정보공간_1

[4기 강남 김태협] HOG와 SVM 분류기를 활용한 사람검출 방법1 본문

IT 놀이터/Elite Member Tech & Talk

[4기 강남 김태협] HOG와 SVM 분류기를 활용한 사람검출 방법1

알 수 없는 사용자 2013. 10. 23. 20:17

안녕하세요? 강남 멤버십 22-2기 김태협입니다.

 

이번에 포스팅할 내용은 보행자 인식의 한 방법으로, HOG 특징기술자와 SVM 분류기를 이용한 방법을 소개드리고자 합니다. 그럼, 보행자 인식과 관련 분야의 기초지식을 잠깐 정리하고 첫 번째 이야기를 시작하도록 하겠습니다 :)

 

행자 인식이란? (사람 검출)
보행자 인식을 영어로 하면, Pedestrian Detection 이라고 합니다. 실내나, 실외에서 걷거나 뛰는 사람을 인식을 하는 분야를 지칭하며, 일찍이 다수의 연구자들의 관심을 받아왔고 많은 연구가 진행되어 왔으며 아직도 활발히 연구가 진행되는 분야입니다. 그 만큼 보행자인식이 중요하고 실생활에 많은 응용이 가능하다는 이유에서 겠죠?

 

 

보행자 인식의 예

보행자 인식을 활용한 대표적인 예로는 지능형 감시 카메라, 지능형 자동차(Volvo) 등이 있습니다. , 여러분이 이미 아시는 것처럼 마이크로소프트의 키넥트도 있습니다. 이처럼 보행자 인식은 보안, 자동차 산업뿐만 아니라 게임까지 두루두루 활용이 되고 있습니다. 뿐만 아니라 최근에는 단순히 보행자 인식 수준을 넘어, 상황인지(Context Awareness)에 대한 연구가 활발히 진행되고 있습니다. (상황인지란, 관심있는 사람에 대하여 어떠한 행동을 하고 있는지 인식하는 분야입니다.) 하지만, 상황인지를 하기 위해서 사전에 보행자 인식이 선행되어야 합니다. 그 만큼 보행자 인식을 정확히 알아두는 것은 관련 분야의 더 발전된 기능을 구현하기 위해서도 중요하다고 생각합니다.

 

 

     

 

전경객체 검출 방법

자 그럼, 보행자 인식을 위한 방법을 단계적으로 알아보도록 하겠습니다. 보행자를 인식하기 위해 먼저, 카메라의 형태가 중요합니다. 카메라가 정지되어 있는지, 카메라가 움직이는 지에 따라 보행자인식의 난이도가 차이가 날 수 있습니다. 일반적으로 카메라가 정지되어 있는 상황에서 보행자를 인식하는 것이 카메라가 움직이는 상황보다 더 유리합니다. (카메라가 정지되어 있는 영상인 경우, 차분 영상, 배경모델링을 통한 전경객체 검출이 비교적 쉽기 때문입니다.)

 

 

1. 차분영상 방법

 

 

위 그림은 배경영상과 객체가(두 명의 사람) 있는 영상의 차분을 통해 전경객체를 검출한 예입니다. 사람이 없는 배경영상과 사람이 있는 영상을 차분하면 현재 방안에서 사람의 영역을 간단히 구할 수 있게 되겠죠. 카메라가 정지되어있는 상황에서는 위처럼 간단한 이미지의 전처리만으로도 전경객체 검출이 가능해 집니다.

 

 

2. 배경모델링 방법

 


하지만 차분영상을 통해서 전경객체를 검출하는 방법에는 약간의 문제점이 있습니다. 만약 배경영상 자체가 손상되거나 (예를 들어, 위 사진에서 방문이 닫히는 상황) 카메라가 흔들려서 어긋난다면, 이는 고스란히 잡음으로 전환되어 전경객체 검출을 방해하는 요소가 될 것입니다. 따라서 이러한 차분영상을 이용한 전경객체 검출의 한계점을 극복하기 위해 배경모델링이라는 기술이 등장하게 됩니다. 배경모델링에는 대표적으로 가우시안 혼합 모델(GMM 또는 MOG), 코드북(Codebook) 알고리즘이 있습니다. 배경모델링은 화소의 주기적인 패턴을 모델링하여 배경으로 처리하는 방법입니다. 따라서, 보다 정교한 전경객체 검출이 가능해 집니다.

 

 

3. 스테레오 영상을 이용한 방법
차분영상과 배경모델링을 이용하여 전경객체를 찾는 방법은 모두 카메라가 고정되어있는 상황에만 가능한 제약사항이 있습니다. 만약 카메라가 움직이는 환경이라면 전경객체를 찾을 수 없을 것입니다. 하지만 스테레오 영상을 이용하면 카메라가 움직이는 상황에서도 전경객체를 분리해 낼 수 있습니다.

 


위 사진은 스테레오 영상을 이용하여 전경객체를 추출한 영상입니다. 스테레오 영상을 이용하면 V-disparity Map을 이용하여 동적으로 지면을 검출하고 제거하여 전경객체만 검출을 할 수 있습니다. 따라서, 스테레오 영상을 이용하면 카메라가 움직이는 상황에서도 전경객체 인식이 가능하게 됩니다. 하지만, 스테레오 매칭 알고리즘의 성능에 영향을 많이 받게 됩니다. 만약, 스테레오 영상을 사용하게 된다면, 실시간에 정확한 Depth 영상이 추출 가능한 알고리즘을 사용해야 전경 객체의 인식 성능이 보장될 수 있습니다.

 

지금까지 보행자를 인식하기위해 가장 첫번째 방법인 전경객체를 검출하는 방법에 대해서 알아보았습니다. 이렇게 검출된 전경객체는 관심영역으로 사용되며, 이후 보행자를 인식하는 작업에서 수행 속도와 성능을 향하는데 기여하게 됩니다.

 

그럼, 보행자 인식을 위한 두 번째 이야기는 다음 블로그에 포스팅하도록 하겠습니다.

감사합니다 :)