| 복수 전방위 카메라에 의한 인물 동선 계측 기술 | 2009.11.08 |
점포 안의 손님의 움직임을 계측한다
이번 원고에서는 점포 안 손님의 동선을 계측하는 시스템을 소개한다. 다수의 인물이 존재하는 환경에서는 인물 상호의 차폐가 발생하여 1대의 카메라로 인물을 안정적으로 추적하는 것은 어렵다. 그런 까닭으로 복수의 전방위 카메라를 모든 영역인 3방위에서 관측할 수 있도록 배치함으로써 차폐의 문제를 경감하였다. 배경차분, 시체적(視體積) 교차법, 패턴인식 등의 화상처리 방법으로 서로의 단점을 보완하도록 조합함으로써 다수의 인물이 입·퇴출하는 환경에서도 안정된 검출, 추적을 실현하였다. 머리말 출입금지 영역에의 침입이나 이상 행동을 검지를 함으로써 감시업무를 합리화하거나, 점포 안에서의 고객의 행동을 계측하여 매상이나 상품의 진열 방법의 데이터와 연계하여 마케팅에 도움이 되게 하는 등, 일상의 여러 분야에서 사람의 움직임을 계측하고 싶다는 요구가 고조되어 왔다. 사람이 이동하는 길을 동선으로서 추출하는 동선 계측 기술로서는 RFID 등의 무선 태그(Tag)를 사용한 것이 이미 실용화되어 있지만, 계측 대상에 태그를 가지게 할 필요가 있기 때문에 적용 범위가 한정되어 버린다는 문제가 있다. 그것에 비해 무선이 아닌 화상을 사용하는 방식은 계측 대상에 무선 태그 등의 특별한 장비를 갖출 필요가 없다는 것, 무선 방식과 비교하여 높은 위치의 정밀도가 실현 가능한 것, 동선 정보에 더하여 영상도 동시에 기록되기 때문에 나중에 영상을 보고 무엇이 일어났었는지를 확인할 수 있는 등의 이점이 있어 큰 기대를 모으고 있지만 계측의 신뢰성은 아직 낮다. 우리들은 상세한 동선 데이터와 POS 시스템에서 얻을 수 있는 매상 데이터와 연계하는 것으로 지금까지 매상 데이터만으로는 알지 못했던 점포 내에서의 고객의 행동을 가시화하여 분석하는 것을 목표로 복수의 전방위 카메라를 사용하는 동선 계측 시스템 개발에 매진하고 있다. POS 데이터와의 연계를 위해서는 고객의 입점에서 퇴점까지 한 개의 동선으로 추출될 필요가 있지만, 이것을 완전하게 자동으로 추출하는 것은 현재의 기술 수준으로는 어렵다. 그래서 화상 처리에 의해 추출된 동선 데이터의 오류를 사람의 손으로 수정하여 완전한 데이터를 만드는 것으로 하고, 우선은 그 작업량이 실용적인 범위에 들어가는 동선 추출 정밀도를 실현하는 것을 당면의 목표로 하였다. 이번 원고에서는 배경 차분(Background Subtraction), 시체적 교차법, 패턴 인식 등을 조합시킨 동선 계측 처리의 구조에 대하여 소개한다. 시스템 구성 현재의 시스템은 PointGrey 사의 ‘IEEE1394’ 카메라를 사용하여 1대의 PC에 최대 9대의 카메라를 접속하여 640×480화소의 컬러 화상을 15fps로 녹화할 수 있다. 각 카메라에는 어안렌즈 또는 쌍곡면 밀러를 장착하여 360도의 전방위 화상을 녹화한다. 카메라는 계측 영역 내의 모든 장소가 3대 이상으로 관측되도록 시야를 중복시키면서 카메라 간격을 5m 정도 띄어 분산 배치한다. 모든 카메라의 촬영 타이밍은 동기(同期)되어 있으며 촬영된 화상은 JPEG 형식으로 압축하여 HDD에 기록한다. 실시간 동선 계측 처리는 실현하지 못하고 기록된 영상에 대하여 별도로 PC상에서 처리를 하여 동선 데이터를 추출한다. 화상을 이용한 동선 계측 기술 전방위 화상을 사용한 동선 계측 방법에 대하여 알아보자. 화상처리는 대략 배경차분, 시체적 교차법, 패턴 인식의 3가지 부분으로 나누어져 있다. 우선 배경차분 처리에 의해 화상에서의 변화 영역을 검출한다. 다음으로 각 화상 상의 변화 영역의 실루엣(Silhouette)을 공간에 투영하여 그 교차 영역을 구하는 시체적 교차법에 의해 인물의 후보 영역을 좁힌다. 마지막으로 패턴 인식에 의해 후보 영역에 사람이 존재하는지의 여부의 판정을 한다. 검출된 인물은 다음 프레임 이후 ‘Kalman Filter’에 의해 순차적으로 위치와 속도를 추정하면서 트래킹된다. 이하 각각의 처리에 대하여 상세하게 설명한다. 배경차분에 의한 이동 물체 검출 배경차분 처리란 사전에 배경이 되는 화상을 가져다 두고 입력 화상을 이 배경 화상과 비교하여 차이가 큰 영역을 이동 물체로서 추출하는 방법이다. 간단한 차분과 역치 처리로 이동 물체를 검출할 수 있기 때문에 처리가 빠르다는 장점이 있다. 단, 장시간 관측을 하는 경우 조명 조건의 변화 등에 의해 배경도 변화하기 때문에 실제로 배경차분 처리를 사용하는 경우에는 배경 화상을 갱신할 필요가 있다. 또한 배경을 갱신하면 서서 읽기나 계산 대기에서 장시간 정지하고 있는 인물이 배경에 동화되어 버린다는 문제가 있으며 이것에 대해서도 대책을 세울 필요가 있다. 이동 물체의 출현 빈도가 비교적 낮은 경우, 각 화소마다 과거 일정 시간에 얻어진 휘도치의 분포의 중앙치를 배경의 휘도치로서 사용할 수 있다. 그러나 중앙치를 구하기 위해서는 과거 수십, 수백 프레임의 화상을 축적하여 화소마다에 휘도치를 정렬할 필요가 있으며 비교적 큰 메모리와 계산량이 필요하게 된다. 그런 까닭으로 우리들은 ‘Adaptive Median Filter’에 의한 중앙치의 추정치를 사용하기로 하였다. 시각 t, 위치 x에서 배경의 휘도치를 Bt(x), 입력 화상의 휘도치를 It(x), α를 정(正)의 정수로 두면 Adaptive Median Filter의 갱신측은 이하와 같은 매우 단순한 수순으로 나타난다.
이 갱신측에서 중앙치의 추정치를 얻을 수 있는 이유는 만약 Bt(x)가 중앙치라면 It(x)가 Bt(x)보다 큰 값을 취할 확률과 작은 값을 취할 확률이 같아지기 때문에 중앙치가 이 갱신측의 확률적인 평형점이 되게 된다. 배경차분 처리를 할 때에는 배경의 값뿐만 아니라 배경인지의 여부를 판정하는 역치도 중요하다. 조명 변동에 의해 카메라의 게인이 변화하면 노이즈의 크기도 그것에 따라 변화하고, 엣지 부분은 배경의 휘도치의 변동 폭이 커지는 등, 화상 텍스처에도 의존한다. 때문에 역치도 화소마다에 적응적으로 설정할 필요가 있다. 이것에 대해서도 Adaptive Median Filter를 사용할 수 있다. 우선 시각 t, 위치 x에서의 휘도치 분포의 크기를 나타내는 매개변수를 St(x)로 하고 St(x)를 이하의 수순으로 갱신한다.
St(x)의 평형점은 배경차분의 절대치 분포의 중앙치이며 입력의 대략 절반은 차분의 절대치가 이 값 이내에 들어가게 된다. 즉, St(x)는 배경의 휘도치의 분포의 폭에 따라 변화하는 양이며, 이것에 일정의 정수를 곱한 값을 역으로 사용하면 정밀도 높은 배경과 이동 물체를 분리할 수 있다. Adaptive Median Filter에 의한 배경갱신을 할 때에 이동 물체의 출현빈도가 비교적 낮다는 전제를 사용하고 있지만, 점포 내에서는 장시간 서 있는 사람 등도 있어 반드시 이 전제가 성립하는 것은 아니며 정지하고 있는 인물이 배경에 동화되어 버린다는 문제가 생긴다. 배경차분 처리 단체에서는 검출된 영역이 인물인지 조명변동 등에 의한 것인지를 정확하게 판단하는 것은 어렵지만 우리들의 시스템에서는 후단의 시체적 교차법과 패턴인식 처리에서 인물인지의 여부를 고정밀도로 판단할 수 있기 때문에 이 결과를 배경 갱신 처리로 피드백 함으로써 정지한 인물이 배경에 동화된다는 문제는 비교적 쉽게 해결할 수 있다. 시체적 교차법에 의한 위치 계측 화상을 사용한 위치 계측 방법으로서는 2대의 카메라를 사용하는 스테레오시가 잘 알려져 있다. 일반적인 스테레오시는 2장의 화상간 대응관계를 블록 매칭 등의 방법으로 구하여(대응점 탐색) 얻어진 대응관계와 카메라의 위치에서 삼각측량으로 대상의 위치를 구하는 방법이다. 그러나 대응점 탐색을 정밀도 높게 실행하기 위해서는 화상 간에서 대상의 보이는 방식이 극단적으로 변화하지 않도록 하기 위해서 카메라 간격을 그다지 크게 취할 수 없으며 또한 마찬가지 이유로 어긋남이 큰 광각 렌즈를 사용할 수도 없기 때문에 계측 범위가 어떻게 해도 좁아져 편의점 정도 규모의 점포라도 전역을 커버하기 위해서는 매우 많은 카메라가 필요하게 된다는 문제가 있다. 필요한 카메라 대수를 줄이기 위해서 우리들은 전방위 카메라를 약 5m 간격으로 배치하여 계측하기로 했지만 전방위 카메라로 얻을 수 있는 화상은 카메라 간에서의 대상이 보이는 방식의 변화가 커서 대응점 탐색을 하는 것은 어렵다. 그래서 대응점 탐색의 불필요한 계측 방법인 시체적 교차법을 사용하여 위치 계측을 하기로 하였다. 시체적 교차법이란 그림 1과 같이 각 카메라로 얻어진 이동물체 영역의 실루엣을 공간에 투영하여 그 교차영역을 이동물체로서 검출하는 방법이다. 시체적 교차법은 이동물체의 실루엣만 확보되어 있으면 단순한 투영처리로 위치의 계측을 할 수 있지만, 사전에 화상간의 세세한 대응관계를 요구하지 않기 때문에 예를 들면, 그림 2와 같이 Cam1에서 인물 A의 실루엣과 Cam2에서 인물 B의 실루엣이 교차하여 허상이 생긴다. 카메라가 2대인 경우 공통 시야 안에 N명의 사람이 있으면 최대로 N×N의 화상을 얻을 수 있지만, 그 중 N개의 실상 이외에는 모두 허상이다. 즉, 2대의 카메라로 시체적 교차법을 하면 점내가 어느 정도 이상 혼잡한 시점에서 허상이 대량으로 발생하게 된다. 시체적 교차법에서는 이것이 허상인지 실상인지를 판정할 수는 없기 때문에 그 판정은 후단의 패턴 인식 처리로 하게 되지만, 허상이 실상에 비교하여 너무 많으면 패턴인식 처리의 부하가 높아져 처리가 힘들어진다.
패턴 인식에 의한 인물 두부검출 시체적 교차법에서는 원리상 실상인지 허상인지를 판정할 수는 없다. 또한 실상이라 해도 자동문이나 대차(臺車) 위의 짐 등, 검출 대상이 아닌 물체라는 이유도 있기 때문에 어차피 어떤 수단으로 검출 대상인지의 여부를 판정할 필요가 있다. 이 경우 검출 대상은 사람이기 때문에 화상에서 사람인지의 여부를 판정하면 좋지만, 점포 내에서는 선반 등에 의한 차폐로 전신이 보이지 않는 경우가 많다. 그런 까닭으로 비교적 차폐되기 어려운 두부에 착목하여 패턴인식에 의한 두부검출을 하기로 하였다. 패턴인식에서 두부검출을 하는 경우 사전에 두부의 여러 가지 패턴을 사용하여 식별기의 매개변수를 학습해 둘 필요가 있다. 그러나 전방위 화상의 경우 검출대상의 방향이나 크기가 여러 가지로 변화할 뿐만 아니라 특히 화상의 주변부에서 큰 변형이 더해지기 때문에 이것을 그대로 인식하려고 하면 너무 높은 정밀도는 바랄 수 없다. 또한 대상의 크기 변화에 대응하기 위해서는 화상의 크기를 바꾸면서 검출기를 몇 번이나 주사(走査)시킬 필요가 있으며 계산량도 매우 커진다. 시체적 교차법 또는 앞 프레임까지의 트래킹 결과에 바탕을 둔 예측에 의해 대상의 대략의 위치는 알고 있기 때문에 우선 그림 4와 같이 대상이 존재하는 위치에 서는 평면(가상 스크린)에의 투영화상을 만든다. 이 투영화상에서는 대상의 스케일은 거의 일정하고 변형도 크지 않기 때문에 패턴인식으로서는 비교적 문제가 간단하다. 특징 추출 처리에 HOG와 같은 휘도 구배에 의거하는 방법을 사용하여 부분 공간법에 의해 두부인지의 여부를 판정하였다. 패턴인식 처리에 있어서도 어느 정도의 간과나 오검출은 피할 수 없다. 따라서 인식 오류가 생기는 것을 전제로 한 다음 신뢰성이 높은 판정 처리를 하는 구조를 만들 필요가 있다. 우리 시스템에서는 1군데를 3대의 카메라로 관측하기 때문에 인식 처리도 그림 5와 같은 3방향에서 얻을 수 있는 3가지의 투영화상에 대하여 실행할 수 있다. 이 장황성(Redundancy)에 의해 판정 처리의 신뢰성 향상을 도모할 수 있게 된다.
우선 시체적 교차법에서 검출되는 이동 물체의 후보 위치에서 3방향에서 본 투영화상을 만들어 각각의 화상 상에서 패턴 인식에 의한 두부 검출을 한다.
Kalman Filter를 이용한 추적 처리 앞 프레임에서 검출된 인물과 현재의 프레임에서 검출된 인물을 대응하여 Kalman Filter로 평면상에서의 위치와 속도를 순차적으로 추정함으로써 인물의 추적을 한다. 패턴 인식에 의한 두부 위치의 계측 정밀도는 카메라와의 위치 관계에 따라서도 다르지만, 대략 10cm 미만이기 때문에 두부가 검출되면 전후의 프레임 간 대응도 용이하고 혼잡시에도 다른 사람으로 잘못 아는 일은 거의 없다. 단, 매 프레임에서 확실하게 두부가 검출된다고는 할 수 없기 때문에 그 경우에는 예측 위치의 근방에서 검출되는 시체적 위치를 관측 위치로 한다. 일단 인물로 검출되면 현재의 프레임에서 다시 시체적이 실상인지 허상인지를 판정할 필요는 없기 때문에 패턴 인식에 의한 두부 검출에 계속해서 실패해도 시체적을 트래킹함으로써 중도에서 끊어짐이 없는 동선을 얻을 수 있다.
실점포에서의 실증 실험 지금까지 영업 중인 편의점에서 3회의 실증 실험을 하였다. 그림 6과 그림 7에서 본 시스템으로 검출된 인물과 동선의 예를 나타내었다. 현시점에서의 성능은 추적 처리에 실패하여 동선이 도중에 끊기는 빈도가 통상 시에서 동선 1개당 대략 4분의 1회, 대낮의 혼잡시에서 2분의 1회 정도이다. 고객의 평균 체점 시간은 4분 남짓이었기 때문에 사람 손으로 수정 작업을 하는 경우 1개씩 시야에서 동선을 확인하면서 1, 2회의 편집 작업이 필요하게 된다. 이것은 사람 손에 의한 수정을 하는 것을 전제로 한 경우에는 어떻게든 실용화에 감당하는 성능이기는 하지만, 전자동으로 동선 데이터를 생성하기 위해서는 아직 부족한 레벨로 앞으로 한층 더 성능 향상을 도모할 필요가 있다. 맺음말 이번 원고에서는 복수의 전방위 카메라를 사용한 인물 동선 계측 시스템과 거기서 사용되고 있는 화상 처리 방법에 대하여 소개하였다. 여기에서 소개한 화상 처리 방법은 방법 단체에서의 정밀도는 그다지 높지 않지만 서로의 장점을 조합시켜 단점을 보충함으로써 시스템 전체로서의 정밀도를 향상시킬 수 있다. 현재는 편의점 문(Door) 정도 규모의 옥내의 계측을 대상으로 하고 있지만, 앞으로는 보다 규모가 큰 점포나 옥외에서도 사용할 수 있도록 개발을 계속해 나갈 것이다. 참고문헌 1) S.-C.S. Cheung and C. Kamath, “Robust techniques for backgroung subtraction in urban traffic video”, Video Communications and Image Processing, SPIE Electronic Imaging, San Jose, USA, January 2004. 2) 우키타 소우하쿠, 마쯔야마 류지, “능동 시각 에이젠트군에 의한 복수 대상의 실시간 협조 추적” 정보 처리 학회 CVIM 연구회 논문지, vol.43, no.SIG11, pp.64-79, December2002 3) N.Dalal and B. Triggs, “Histograms of Oriented Gradients for Human Detection”, 10th IEE International Conference on Computer Vision and pattern Recognition(CVPR), pp.886-893, 2005 4) 에루키 오야, “패턴 인식과 부분 공간법”. 산업 도서, 1986
<글 : 쿠보타 스스무(Kubota Susumu), 마루야마 마사유키(Maruyama Masayuki) / 도시바(Toshiba)> [월간 시큐리티월드 통권 제153호(info@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|