보안 제품정보


자동생성에 의한 인물 검출기의 학습 효율화 2012.05.10

야마우치 유지(山?悠嗣) · 후지요시 히로노부(藤吉弘亘) / 주부대학

\r\n

\r\n

머리말

\r\n

영상에서 자동으로 사람을 검출하는 기술은 보안이나 마케팅 등 다양한 분야에서 기대되고 있어 사람 검출의 고정밀화에 관한 연구가 다수 제안되고 있다. 최근 제안된 인물 검출법은 인물의 형상에 주목한 특징량1) 등 사람의 식별에 대해 유효한 특징량을 어떻게 파악할 것인지를 검토한 방법이 많다.

\r\n

\r\n

이러한 특징량은 사람 검출을 어렵게 하는 사람의 자세나 체형, 의복의 차이 등 ‘사람의 개별 차이’에 관한 요인을 흡수하면서 사람에게 공통되는 요소를 파악함으로써 정밀도가 높은 사람 검출을 실현했다. 그러나 사람 검출을 어렵게 하는 요인은 ‘사람의 개별 차이’ 이외에도 시점의 차이에 따른 보이는 법의 차이, 복잡한 텍스처를 가지는 배경의 영향, 조명 변동 등 ‘장면의 차이’에 관한 요인이 있다. 특히, 시점의 차이에 의한 인물의 보이는 법 차이는 특징량만으로는 흡수하는 것이 어려워 검출 성능이 저하되는 문제가 발생한다.

\r\n

\r\n

이 문제를 해결하기 위해서는 인물 검출 시스템을 가동하는 환경부터 수집한 사람 화상을 이용해 인물 검출기를 학습할 필요가 있다. 그렇지만 설치한 카메라마다 인물 화상을 수집하는 것은 많은 비용이 들기 때문에 현실적이지 않다.

\r\n

그래서 이번 원고에서는 3차원 인체 모델을 이용한 학습 샘플의 자동 생성과 개량형 MILBoost를 이용한 생성형 학습법에 대해 기술한다. 종래 생성형 학습의 체계2)는 소수 샘플로부터 실제 환경에서 관측될 수 있는 변동을 포함한 학습 샘플을 생성하고 이러한 샘플을 이용해서 식별기를 학습함으로써 효율이 좋은 학습을 가능하게 했다. 이번 방법은 생성형 학습의 체계를 발전시켜 3차원 인체 모델에 카메라 파라미터나 인체 형상 파라미터를 부여함으로써 다양한 인물 화상을 자동으로 생성할 수 있다.

\r\n

\r\n

한편, 배경 화상에 대해서는 영상 중으로부터 랜덤으로 그리고 자동으로 잘라내어 수집하는데 인물 화상을 잘못 수집하는 경우가 있다. 이와 같이 잘못 부여된 라벨을 가지는 학습 샘플을 이용해서 통계적 학습법으로 식별기를 학습하면 식별 능력이 저하한다는 문제가 있다. 그래서 이번 원고에서는 잘못 부여된 라벨을 가지는 샘플이 혼재해도 악영향을 받지 않는 학습을 개량형 MILBoost에 의해 실현한다.

\r\n

\r\n

생성 모델을 이용한 샘플의 자동 생성

\r\n

이번 방법에 의한 식별기의 학습 흐름을 그림 1에 나타냈다. 이번 방법은 특정 장면으로 특화한 학습 샘플을 자동생성하기 위해서 포지티브 샘플은 3차원의 인체 모델을 이용해 실루엣 화상을 생성한다(그림 1 (a)). 네거티브 샘플은 영상 중으로부터 랜덤으로 잘라낸다(그림 1 (b)). 그리고 생성된 샘플을 이용해 개량형 MILBoost로 식별기를 학습한다.

\r\n

\r\n

\r\n

\r\n

align=left

\r\n

3차원 인체 모델

\r\n

이번 방법에서 사용하는 인체 모델에는 형상 모델이나 모델 각 파트의 계층 구조, 동작 데이터 등이 포함되어 있다. 인체의 형상 모델은 19개의 파트가 존재하며 이들 파트는 계층적인 구조로 표현된다. 19개의 파트로 보행 동작 파라미터를 부여함으로써 보행자세의 인체 모델을 얻는다. 또, 아래에 기술한 파라미터를 부여함으로써 그림2에 나타낸 것과 같이 임의의 시점에서 촬영한 인체 모델의 자세를 얻을 수 있다.

\r\n

①카메라 파라미터

\r\n

카메라 위치 cx, cy, cz, 카메라 각도 φx, φy, φz

\r\n

②인체 형상 파라미터

\r\n

신장 h , 사람의 방향 θ, 사람의 위치 px, py, pz,

\r\n

③텍스처

\r\n

인체의 텍스처 Tbg, 배경의 텍스처 Tp

\r\n

\r\n

포지티브 샘플의 생성

\r\n

특정 장면으로 특화한 인체 실루엣 화상을 얻기 위해서 실제 환경에 설치한 카메라의 파라미터를 3차원 인체 모델에 입력한다. 이번 연구에서는 고정 카메라를 상정하고 사전에 얻은 카메라 파라미터를 모델에게 부여한다. 상기의 파라미터 중에서 인물의 방향과 위치는 사전에 결정할 수 없는 파라미터이기 때문에 일단 랜덤으로 한다. 인물의 신장은 문부과학성의 통계조사로부터 평균 신장 171.9cm로 한다.

\r\n

\r\n

인체의 텍스처는 의복 등을 고려하는 것도 생각할 수 있지만 다양한 종류의 의복을 준비하는 것이 어렵다. 인체의 텍스처를 붙이지 않는 것도 생각할 수 있지만 이와 같은 샘플을 이용해 학습했을 경우 사람의 내부는 텍스처가 없는 것으로 해서 학습된다. 그래서 이번 연구에서는 사전에 준비한 자연 화상 텍스처를 랜덤으로 붙인다. 배경 텍스처는 설치한 카메라로부터 얻을 수 있는 화상을 이용한다. 그림 3은 카메라 높이 cy=6. 2 m, 카메라 각도 φx=21°로 했을 때의 특정 장면에 있어 인체 실루엣 화상을 생성한 예이다. 생성된 인체 실루엣을 중심으로 잘라 낸 화상을 학습용 포지티브 샘플로 이용한다.

\r\n

\r\n

네거티브 샘플의 생성

\r\n

네거티브 샘플은 촬영한 영상 중에서 랜덤으로 수집한다. 그러나 랜덤으로 샘플을 수집 했을 경우 네거티브 샘플로서 인물 화상이 수집되는 문제가 있다. 본 연구에서는 이 문제를 해결하기 위해 잘못된 라벨이 부여된 샘플의 혼재를 고려한 개량형 MILBoost로 식별기를 학습한다.

\r\n

\r\n

개량형 MILBoost에 의한 학습

\r\n

이번에는 잘못 부여된 라벨을 가지는 샘플이 혼재하는 문제의 해결법으로서 개량형 MILBoost에 의한 식별기의 학습법에 대해 기술한다.

\r\n

\r\n

\r\n

MILBoost

\r\n

물체 검출기를 학습하기 위해서 이용되는 통계적 학습법은 각 샘플에 대해 주어지는 라벨을 근거로 학습한다. 이것에 대해 Multiple Instance Learning(MIL)은 복수의 샘플로부터 구성되는 Bag에 대해서 라벨을 부여한다. Bag 중 샘플에 하나라도 포지티브가 포함되어 있으면 포지티브 Bag이 되고 그 이외는 네거티브 Bag이라고 라벨이 붙여진다. 그리고 MIL은 Bag에 주어진 라벨을 근거로 식별기를 학습한다. 때문에 이번 연구에서는 Boosting에 MIL를 도입한 MILBoost3)를 다루도록 하겠다.

\r\n

\r\n

MILBoost는 MIL의 학습 모델을 Boosting에 도입한 학습 알고리즘이며 Viola 등은 MILBoost에 의해 효율적으로 얼굴 검출기를 학습하는 방법3)을 제안했다. 이 방법은 얼굴 주변을 적당하게 샘플링 함으로써 포지티브 Bag으로해 포지티브 샘플 수집을 간략하게 했다. 그리고 Boosting으로 학습을 할 때 각 Bag과 각 샘플에 대한 클래스 공산(公算)을 구하고 샘플에 대한 중량 갱신 시에 클래스 공산을 이용해 잘못 부여된 라벨의 샘플 중량을 작게 한다. 이것에 의해 잘못 부여된 라벨의 영향을 억제하는 것이 가능해진다.

\r\n

\r\n

개량형 MILBoost

\r\n

① Bag 작성

\r\n

이번 연구의 문제 설정에서는 배경 샘플의 하나하나에 올바른 라벨을 완벽하게 부여할 수 없다. 그 때문에 네거티브 Bag은 영상 중에서 랜덤으로 잘라낸 배경 화상의 집합으로 한다. 그러나 잘려진 샘플 중에는 배경 화상에 인물 화상이 혼재되어 있을 가능성이 있다.

\r\n

\r\n

②학습

\r\n

개량형 MILBoost의 학습 과정은 학습 샘플에 대한 중량의 갱신이외는 일반적인 Real AdaBoost4)와 공통이며 학습 샘플의 중량 갱신 방법만 다르다. 약식별기를 선택 후 잘못 식별한 학습 샘플을 다음 라운드에서 올바르게 식별하기 위해서 학습 샘플의 중량을 갱신한다. MILBoost에서는 샘플에 대한 클래스 라벨이 부여되어 있지 않기 때문에 학습 샘플의 중량은 Bag 라벨을 근거로 갱신된다.

\r\n

\r\n

포지티브 Bag에 포함되는 샘플에는 샘플의 클래스 공산(公算)에 의해 중량을 갱신한다. 클래스 공산은 높은 값일수록 사람 화상, 낮은 값일수록 배경 화상일 가능성이 높다는 것을 나타내고 있다. 네거티브 Bag에 포함되어 있는 샘플은 샘플의 클래스 공산과 Bag의 클래스 공산에 의해 중량을 갱신한다. 샘플과 Bag의 클래스 공산이 낮은 경우에 샘플의 중량은 매우 큰 값을 부여한다. 그리고 샘플의 클래스 공산이 낮고 Bag의 클래스 공산이 높은 경우에 샘플의 중량은 큰 값을 부여한다. 마지막으로 샘플과 Bag의 클래스 공산이 높은 경우에는 샘플의 중량이 작은 값을 부여한다. 이상의 처리를 반복하여 최종 식별기 H(x)를 얻는다.

\r\n

\r\n

평가실험

\r\n

이번 방법의 유효성을 나타내기 위해 2개의 평가 실험을 진행했다.

\r\n

\r\n

실험 1:학습 샘플의 자동 생성 평가

\r\n

특정 장면으로 특화한 학습 샘플의 자동 생성으로 유효성을 평가한다. 아래와 같은 데이터베이스를 비교한다.

\r\n

① 데이터베이스 1 : INRIA Pos. + 실제 환경 Neg.

\r\n

② 데이터베이스 2 : 실제 환경 Pos. + 실제 환경 Neg.

\r\n

③ 데이터베이스 3 : 생성 Pos. + INRIA Neg.

\r\n

④ 데이터베이스 4 : 생성 Pos. + 실제 환경 Neg.

\r\n

INRIA Pos.와 INRIA Neg.는 Web 상에서 일반 공개되고 있는 INRIA Person Dataset1) 에 포함되어 있는 사람 화상과 배경 화상이다. 이 데이터베이스는 다양한 사람의 자세, 방향, 시점, 조명의 변동과 배경 텍스처를 포함하고 있어 매우 범용성이 높은 데이터베이스이다.

\r\n

\r\n

실제 환경 Pos.는 실제 환경 하에서 촬영한 영상에서 사람 손으로 잘라낸 사람 화상, 생성 Pos.는 3차원 인체 모델을 이용해 생성한 사람 화상이다. 실제 환경 Neg.는 실제 환경 하에서 촬영한 영상으로부터 사람 손으로 잘라 낸 배경 화상이다. 카메라 높이 6.2m, 내림각 21°로 설치한 카메라에서 얻은 영상을 이용한다. 생성된 샘플은 인체 모델에 상기의 카메라 높이와 내림 각, 배경 텍스처를 부여하여 생성했다. 학습에 사용한 각 데이터 세트의 샘플 예를 그림 5에 나타낸다.

\r\n

\r\n

실험 결과의 DET 커브를 그림 6에 나타냈다. 우선 네거티브 샘플이 동일한 데이터 1, 데이터 2, 데이터 4를 비교하면 검출 성능이 가장 높은 것은 인체 모델로부터 생성된 샘플을 이용한 데이터 4였다. 이것은 실제 환경 하에서 촬영한 영상에 대응한 사람의 외관이 생성되었기 때문이라고 할 수 있다. 실제 환경의 영상에서 사람 손으로 잘라 낸 샘플을 이용한 데이터 2는 자동 생성보다 낮은 결과를 보여줬다. 이것은 사람 화상을 사람 손으로 대량 잘라낼 때에는 절단 기준이 애매해지는 경우가 있어, 식별기에 악영향을 미쳤다고 생각할 수 있다.

\r\n

\r\n

범용성이 있는 데이터베이스를 이용한 데이터 1의 결과가 가장 낮은 검출율을 보였다. 이것은 학습용 데이터베이스의 INRIA Person Dataset는 실험환경과 카메라 위치가 다르기 때문에 샘플 중 사람의 외관도 크게 다르기 때문이라고 할 수 있다. 다음 데이터 3과 데이터 4를 비교하면 실제 환경 하에서 촬영한 영상의 배경을 이용한 데이터 4가 좋은 결과를 얻었다는 것을 알 수 있다. 이것은 데이터 4에서는 실제 환경으로부터 생성한 학습용 네거티브 샘플을 이용하고 있기 때문에 실제 환경의 장면으로 특화한 식별기가 되어 검출 성능이 크게 향상되었다고 할 수 있다.

\r\n

\r\n

실험 2:개량형 MILBoost의 평가

\r\n

네거티브의 잘못된 샘플에 대응한 개량형 MILBoost에 의한 학습법의 유효성을 평가하기 위해 아래의 방법을 비교한다.

\r\n

①종래 방법:Real AdaBoost

\r\n

②본 방법 : 개량형 MILBoost

\r\n

개량형 MILBoost의 유효성을 확인하기 위해 학습용 네거티브 샘플에 고의로 사람 화상을 혼재시켜 식별기를 학습한다. 실험에는 INRIA Person Dataset를 이용한다. 혼재시키는 화상은 학습에 사용하고 있지 않는 샘플을 0%~ 30% 비율로 혼재시킨다. 실험 결과의 비교에는 Equal Error Rate(EER)를 이용한다. EER는 Miss rate와 FPPW가 동일할 때의 값이다.

\r\n

\r\n

실험 결과를 그림 7에 나타냈다. 실험 결과로부터 네거티브 샘플 중에 사람 화상의 함유율이 높아짐에 따라 종래법에서는 EER이 높아지지만 본 방법에서는 EER의 증대를 억제하고 있는 것을 알 수 있다. 사람 화상의 함유 비율이 15%인 경우를 비교하면 본 방법은 종래법보다 EER이 5.8% 낮다. 이상으로부터 본 방법은 네거티브 샘플 중에 사람 화상이 포함되어 있어도 식별기의 학습에 미치는 악영향을 저감할 수 있었다.

\r\n

\r\n

맺음말

\r\n

이번 원고에서는 3차원 인체 모델에서 학습 샘플의 자동 생성과 개량형 MILBoost를 이용한 생성형 학습법에 대해 연구했다. 특정 장면에서 3차원 인체 모델로부터 생성된 학습 샘플을 이용함으로써 실제 환경으로 특화한 식별기를 학습할 수 있었다. 또, 개량형 MILBoost를 이용함으로써 잘못 라벨이 부여된 샘플에 대해 악영향을 받지 않는 학습이 가능하다. 이것들에 의해 특정 장면에서 정밀도가 높고 효과적인 식별기의 학습이 가능했다. 향후에는 시시각각으로 변화하는 환경에 대응하기 위해서 온라인 학습으로의 전개에 대해 검토할 예정이다.

\r\n

\r\n

참고 문헌

\r\n

1) N. Dalal and B. Triggs: “Histograms of Oriented Gradients for Human Detection”, IEEE Computer Vision and Pattern Recognition, pp. 886-893, (2005)

\r\n

2) 무라세 히로시(村?洋), “화상 인식을 위한 생성형 학습”, 정보처리학회 논문지, vol. 45, No. 15, pp. 35-42, (2005)

\r\n

3) P. Viola, John C. Platt and Cha Zhang, “Multiple Instance Boosting for Object Detection”, Neural Information Processing Systems 18, pp. 1419-1426, (2006)

\r\n

4) R.E. Schapire, and Y. Singer, “Improved Boosting Algorithms using Confidence-Rated Predictions”, Machine Learning, pp. 297-336, (1999)

\r\n

\r\n

<글 : 시큐리티월드 편집부(sw@infothe.com)>

\r\n

\r\n

[월간 시큐리티월드 통권 제182호(sw@infothe.com)]

\r\n

<저작권자 : 시큐리티월드(www.securityworldmag.co.kr) 무단전재-재배포금지>

\r\n

\r\n

\r\n

\r\n

\r\n