KR102550673B1 - 방문객 출입 통계 분석 방법 및 장치 - Google Patents
방문객 출입 통계 분석 방법 및 장치 Download PDFInfo
- Publication number
- KR102550673B1 KR102550673B1 KR1020150129820A KR20150129820A KR102550673B1 KR 102550673 B1 KR102550673 B1 KR 102550673B1 KR 1020150129820 A KR1020150129820 A KR 1020150129820A KR 20150129820 A KR20150129820 A KR 20150129820A KR 102550673 B1 KR102550673 B1 KR 102550673B1
- Authority
- KR
- South Korea
- Prior art keywords
- depth
- height
- person
- camera
- coordinates
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 깊이 영상 분석을 이용한 사람 검출 방안에 대한 것이다. 본 발명의 일 양상에 따른 깊이 영상을 이용하여 사람을 검출하는 방법은, 하나 이상의 깊이 카메라로부터 하나 이상의 깊이 영상을 획득하는 단계; 상기 하나 이상의 깊이 영상을 이용하여 하나의 분석 대상 높이맵을 생성하는 단계; 상기 하나의 분석 대상 높이맵에서 하나 이상의 후보 영역을 결정하는 단계; 상기 하나 이상의 후보 영역 각각에서 특징 정보를 추출하는 단계; 및 상기 특징 정보에 기초하여 상기 하나 이상의 후보 영역의 각각에서 사람 객체가 검출되는지 판정하는 단계를 포함할 수 있다. 상기 특징 정보는 하나의 후보 영역에서 높이 레벨에 따른 면적 및 상기 높이 레벨에 따른 면적의 변화량에 대한 정보를 포함할 수 있다. 또한, 사람 검출 방법에 기초하여 방문객 출입 통계 분석 방법 및 장치를 제공할 수 있다.
Description
본 발명은 사람 검출 방안에 대한 것으로, 보다 구체적으로는 깊이 영상 분석을 이용한 방문객 출입 통계 분석 방법, 장치, 소프트웨어, 이러한 소프트웨어가 저장된 기록 매체에 대한 것이다.
종래의 방문객 계수(counting) 방법들 중의 하나로 대기번호표를 발급하는 장치를 이용하는 방법이 있다. 이는 순번에 따른 효율적인 고객 응대가 주 목적이지만, 대기표가 발급될 때마다 횟수와 시간을 별도의 서버에 기록함으로써 방문 고객을 계수하여 그 통계를 분석하는 목적으로도 이용할 수 있었다. 그러나 사람이 직접 번호표를 발급받아야 하므로 발급 기록이 조작될 수 있고 방문고객이 떠나는 시점을 알 수 없으므로 방문객들의 평균적인 체류시간도 알 수 없는 문제가 있었다.
또 다른 종래의 방문객 계수 방법으로는 출입문에 설치된 적외선 센서를 이용하는 방법이 있다. 이는 비교적 간단하고 비용이 적게 드는 방법이지만, 동시에 여러 명이 적외선 센서의 감지 선을 지나가거나 센서가 다른 물체에 가려지는 등의 혼잡한 상황에서 출입 감지와 계수의 정확도가 크게 떨어지는 문제가 있다. 또한, 단순계수 기능 이외에 부가적인 정보 획득이나 모니터링 등의 용도로는 사용할 수 없는 문제가 있었다.
이러한 문제점을 해결하기 위해서, 카메라를 통해서 촬영된 영상을 분석하여 사람을 검출하는 방법은 고객 분석(출입 인원 계수(counting), 동선 분석 등)과 같은 분야에서 그 필요성이 높아지고 있다. 종래의 사람 검출 방법은 출입문 근처와 같은 특정 공간 영역을 카메라로 촬영한 영상을 분석함으로써 수행되는데, 일반적인 2차원 카메라(예를 들어, CCD (charge coupled device) 또는 CMOS (complementary metal oxide semiconductor) 방식의 카메라)를 이용하는 경우에는 조명 환경이나 배경 영역의 복잡도에 의해 검출의 정확도가 크게 떨어질 수 있다. 또한, 다수의 사람들이 몰려서 이동하는 경우에는 검출해야 하는 객체들의 가려짐(occlusion)으로 인하여 정확한 출입 인원 계수가 어려운 문제가 있었다. 따라서, 최근에는 깊이(depth) 카메라를 이용하여 보다 정확하게 사람을 검출하는 방법이 개발되고 있다.
깊이 카메라를 이용하면 촬영된 영상으로부터 촬영된 대상의 3차원 공간 정보를 획득할 수 있으므로, 이차원 영상에 기반한 사람 검출 방식에 비하여, 가려짐(occlusion)이나 주변 조명 환경에 의한 영향을 상대적으로 덜 받을 수 있다.
다만, 종래의 깊이 카메라를 이용한 사람 검출 방법에서는, 깊이 정보를 획득하기 위한 카메라 방식(예를 들어, 깊이 카메라는 거리를 측정하기 위한 방법에 따라, 구조광(structured light), TOF(time of flight), 스테레오(stereo) 등의 방식으로 구현될 수 있음)의 특성상 고정된 화각(angle of view)을 가지고 유효 촬영거리가 제한되므로, 설치할 수 있는 환경에도 제약이 발생한다. 만약 카메라의 화각이 고정된 경우, 카메라에서 촬영 대상까지의 거리에 따라서 촬영 가능한 영역이 달라질 수 있다. 또한, 일반적인 깊이 카메라는 촬영 가능한 최소 거리와 최대 거리에 제약이 있을 수 있다.
따라서, 종래에는 이러한 깊이 카메라의 제약을 고려하여, 촬영 영역이 출입 영역의 전체를 커버할 수 있도록 도 1과 같이 카메라가 출입 영역의 중심 수직면으로부터 이격되어 설치되는 방식이 제안되었다. 그러나, 이러한 경우에는 카메라가 향하는 방향과 바닥면이 이루는 각도가 낮아지게 되고, 이로 인해 앞쪽에 있는 객체에 의해서 뒤쪽에 위치한 객체의 일부가 가려지는 현상(occlusion)이 발생할 수 있으므로, 사람 검출의 정확도가 낮아지게 된다.
또 다른 종래 기술에서는 깊이 카메라를 이용하면서 객체의 가려짐과 같은 문제가 발생하지 않도록, 스테레오 방식의 카메라를 바닥에 수직인 방향으로 천장에 설치하는 방식도 제안되었다. 그러나, 이러한 경우에는 천장이 높은 환경에서는 카메라를 바닥에 수직인 방향으로 설치하는 것이 매우 어렵고, 천장이 낮은 환경에서는 카메라 화각의 제약으로 인하여 촬영 영역이 매우 좁아지게 되므로, 출입 인원 계수와 같은 목적을 올바르게 달성할 수 없는 문제가 있었다.
본 발명은 깊이 카메라의 설치 위치 상의 제약이 없이 깊이 카메라로부터 획득되는 영상으로부터 보다 정확하고 효율적으로 사람을 검출하고, 이에 기초하여 방문객 출입 여부를 실시간으로 검출하고, 방문객 출입 통계를 산출 및 분석하는 방법 및 장치를 제공하는 것을 기술적 과제로 한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상에 따른 깊이 영상을 이용하여 사람을 검출하는 방법은, 하나 이상의 깊이 카메라로부터 하나 이상의 깊이 영상을 획득하는 단계; 상기 하나 이상의 깊이 영상을 이용하여 하나의 분석 대상 높이맵을 생성하는 단계; 상기 하나의 분석 대상 높이맵에서 하나 이상의 후보 영역을 결정하는 단계; 상기 하나 이상의 후보 영역 각각에서 특징 정보를 추출하는 단계; 및 상기 특징 정보에 기초하여 상기 하나 이상의 후보 영역의 각각에서 사람 객체가 검출되는지 판정하는 단계를 포함할 수 있다. 상기 특징 정보는 하나의 후보 영역에서 높이 레벨에 따른 면적 및 상기 높이 레벨에 따른 면적의 변화량에 대한 정보를 포함할 수 있다.
본 발명의 다른 양상에 따른 깊이 영상을 이용하여 사람을 검출하는 장치는, 하나 이상의 깊이 카메라로부터 하나 이상의 깊이 영상을 획득하는 영상 수신부; 상기 하나 이상의 깊이 영상을 이용하여 하나의 분석 대상 높이맵을 생성하는 분석 대상 높이맵 생성부; 상기 하나의 분석 대상 높이맵에서 하나 이상의 후보 영역을 결정하는 후보 영역 결정부; 상기 하나 이상의 후보 영역 각각에서 특징 정보를 추출하는 특징 정보 추출부; 및 상기 특징 정보에 기초하여 상기 하나 이상의 후보 영역의 각각에서 사람 객체가 검출되는지 판정하는 사람 판정부를 포함할 수 있다. 상기 특징 정보는 하나의 후보 영역에서 높이 레벨에 따른 면적 및 상기 높이 레벨에 따른 면적의 변화량에 대한 정보를 포함할 수 있다.
본 발명의 또 다른 양상에 따르면 깊이 영상을 이용하여 사람을 검출하는 장치에 의해 실행가능한 명령들을 가지는 소프트웨어가 저장된 컴퓨터-판독가능한 매체가 제공될 수 있다. 상기 실행가능한 명령들은, 상기 장치로 하여금, 하나 이상의 깊이 카메라로부터 하나 이상의 깊이 영상을 획득하고; 상기 하나 이상의 깊이 영상을 이용하여 하나의 분석 대상 높이맵을 생성하고; 상기 하나의 분석 대상 높이맵에서 하나 이상의 후보 영역을 결정하고; 상기 하나 이상의 후보 영역 각각에서 특징 정보를 추출하고; 상기 특징 정보에 기초하여 상기 하나 이상의 후보 영역의 각각에서 사람 객체가 검출되는지 판정하도록 할 수 있다. 상기 특징 정보는 하나의 후보 영역에서 높이 레벨에 따른 면적 및 상기 높이 레벨에 따른 면적의 변화량에 대한 정보를 포함할 수 있다.
본 발명의 또 다른 양상에 따르면 깊이 영상을 이용하여 사람의 출입을 판정하는 방법이 제공될 수 있다. 상기 방법은, 상기 깊이 영상의 n 번째 프레임에서 사람 검출 결과가 존재하는지 판정하는 단계; 상기 n 번째 프레임에서 사람 검출 결과가 존재하는 경우, 기존 경로가 존재하는지 판정하는 단계; 상기 기존 경로가 존재하는 경우, 시간 임계치 및 공간 임계치에 기초하여 추가 가능 경로가 존재하는지 판정하는 단계; 추가 가능 경로가 존재하는 경우에 상기 기존 경로를 업데이트하는 단계; 및 상기 업데이트된 경로의 시작 위치 및 종료 위치에 기초하여 상기 사람의 출입을 판정하는 단계를 포함하고, 상기 기존 경로의 마지막 검출 위치와 상기 n 번째 프레임에서 사람 검출 결과의 위치의 차이가 상기 공간 임계치 이하이고, 상기 기존 경로의 마지막 검출 시점과 상기 n 번째 프레임에서 사람 검출 시점의 차이가 상기 시간 임계치 이하인 경우, 상기 추가 가능 경로가 존재하는 것으로 판정될 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 특징 정보는 높이 레벨에 따라 분류된 복수개의 좌표 그룹의 각각에 속한 좌표들이 차지하는 면적을 나타내는 원소들을 포함하는 특징 벡터를 포함할 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 특징 벡터의 하나의 원소는, 하나의 높이 레벨에 대응하는 하나의 좌표 그룹에 속하는 좌표들에 대한 컨벡스 헐(convex hull)의 면적을 나타낼 수 있다.
본 발명의 다양한 양상들에 있어서, 인접한 높이 레벨 간의 면적 변화량에 가중치가 적용된 최종 특징 벡터 x는 아래의 수학식으로 정의되고,
s i는 상기 특징 벡터의 i 번째 원소를 나타내고, α k는 상기 최종 특징 벡터의 k 번째 원소에 대한 가중치를 나타낼 수 있다.
본 발명의 다양한 양상들에 있어서, 인접한 높이 레벨 간의 면적 변화량과 각각의 면적의 영상비에 가중치가 적용되는 최종 특징 벡터 x는 아래의 수학식으로 정의되고,
s i는 상기 특징 벡터의 i 번째 원소를 나타내고,
α k는 상기 최종 특징 벡터의 k 번째 원소에 대한 가중치를 나타내고,
r i 은 i 번째 높이 레벨에 해당하는 면적에서 단축의 길이를 장축의 길이로 나눈 값이며, 0 초과 1 미만의 값을 가질 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 특징 정보는 사람의 머리 부분에 대응하는 하나 이상의 높이 레벨에 따른 면적과, 사람의 어깨부터 상반신 부분에 대응하는 하나 이상의 높이 레벨에 따른 면적에 대한 정보를 포함할 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 하나의 분석 대상 높이맵은, 상기 하나 이상의 깊이 영상의 각각에 대해서 생성되는 높이맵에 기초하여 생성될 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 하나의 분석 대상 높이맵은 복수의 높이맵의 합성에 의해 생성될 수 있다.
본 발명의 다양한 양상들에 있어서, 하나 이상의 깊이 영상의 각각에 대해서 좌표 변환이 적용되고, 좌표 변환이 수행된 깊이 영상을 기준으로 높이맵이 생성될 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 좌표 변환은, 하나의 깊이 카메라에서 획득되는 하나의 깊이 영상의 화소의 깊이 정보로부터 카메라 기준 좌표계의 3차원 좌표로 변환하고, 상기 카메라 기준 좌표계의 3차원 좌표를 실세계 좌표계 상의 3차원 좌표로 변환하는 것을 포함할 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 하나의 깊이 영상의 각각의 화소의 깊이 정보로부터 상기 카메라 기준 좌표계의 3차원 좌표로의 변환은 아래의 수학식에 따라 정의되고,
i 는 상기 하나의 깊이 영상의 화소의 행 인덱스 및 열 인덱스를 각각 나타내고, d는 상기 깊이 정보의 값을 나타내고, x, y, z는 상기 카메라 기준 좌표계의 X축, Y축, Z축 상의 값을 각각 나타내고, ρ hor , ρ ver 는 상기 하나의 깊이 영상의 수평 해상도 및 수직 해상도를 각각 나타내고, θ hor , θ ver 는 상기 하나의 깊이 카메라의 수평 및 수직 FOV(Field Of View)를 각각 나타낼 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 카메라 기준 좌표계의 3차원 좌표로부터 상기 실세계 좌표계 상의 3차원 좌표로의 변환은, 상기 카메라 기준 좌표계의 X축, Y축, Z축을 각각 φ,θ,ψ 만큼 회전변환하고, H 만큼 이동 변환하고, X-Y 평면에 대한 리플렉션 변환하는 것을 포함하며, H는 하나의 카메라가 설치된 높이를 나타내고, φ,θ,ψ 는 상기 카메라 기준 좌표계의 X, Y, Z 축에서 하나의 카메라가 설치된 각도를 각각 나타낼 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 하나 이상의 후보 영역의 각각은 하나의 지역 최고점을 포함할 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 하나 이상의 깊이 카메라의 각각의 설치 위치 또는 설치 각도 중의 하나 이상은 조절가능할 수 있다.
본 발명의 다양한 양상들에 있어서, 복수개의 깊이 카메라의 설치 위치 또는 설치 각도 중의 하나 이상이 서로 다를 수 있다.
본 발명의 다양한 양상들에 있어서, 상기 사람 객체가 검출되는지의 판정은, 미리 학습된 분류기를 이용하여 결정되는 사람 객체의 특징 정보에 상기 특징 정보가 매칭되는지에 기초할 수 있다.
본 발명에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 발명의 상세한 설명의 예시적인 양상일 뿐이며, 본 발명의 범위를 제한하는 것은 아니다.
본 발명에 따르면 깊이 카메라의 설치 위치 상의 제약이 없이 깊이 카메라로부터 획득되는 영상으로부터 보다 정확하고 효율적으로 사람을 검출하고, 이에 기초하여 방문객 출입 여부를 실시간으로 검출하고, 방문객 출입 통계를 산출 및 분석하는 방법 및 장치가 제공될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 첨부되는 도면은 본 발명에 대한 이해를 제공하기 위한 것으로서 본 발명의 다양한 실시형태들을 나타내고 명세서의 기재와 함께 본 발명의 원리를 설명하기 위한 것이다.
도 1 및 도 2는 사람 검출을 위한 깊이 카메라 설치 위치의 예시들을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 사람 검출 장치의 구성 및 동작에 대해서 설명하기 위한 도면이다.
도 4 및 도 5는 본 발명에 따른 하나 이상의 깊이 영상 획득에 대해서 설명하기 위한 도면이다.
도 6은 본 발명에 따른 하나 이상의 깊이 카메라를 이용하는 사람 검출 장치의 구성 및 동작을 설명하기 위한 도면이다.
도 7은 본 발명에 따른 좌표 변환에 대해서 설명하기 위한 도면이다.
도 8은 카메라 기준 좌표계와 실세계 좌표계의 관계를 설명하기 위한 도면이다.
도 9는 본 발명에 따른 카메라 기준 좌표계의 좌표를 실세계 기준 좌표계의 좌표로 변환하는 동작을 설명하기 위한 도면이다.
도 10은 본 발명에 따른 각각의 후보 영역에서 특징 정보를 추출하는 방법을 설명하기 위한 도면이다.
도 11은 본 발명에 따른 후보 영역의 특징 정보의 일례를 나타내는 도면이다.
도 12는 본 발명에 따른 방문객 출입 통계 분석 시스템을 나타내는 도면이다.
도 13은 출입 감지기의 일례를 나타낸 구성도이다.
도 14는 본 발명에 따른 높이맵 생성을 예시적으로 나타내는 도면이다.
도 15는 본 발명에 따른 분석 대상 높이맵 생성을 예시적으로 나타내는 도면이다.
도 16은 본 발명에 따른 이동 추적 및 출입 판정 동작을 설명하기 위한 도면이다.
도 17은 출입 감지기 제어 화면을 예시적으로 나타내는 도면이다.
도 18 및 도 19는 방문객 출입 통계 분석 정보를 예시적으로 나타내는 도면이다.
도 1 및 도 2는 사람 검출을 위한 깊이 카메라 설치 위치의 예시들을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 사람 검출 장치의 구성 및 동작에 대해서 설명하기 위한 도면이다.
도 4 및 도 5는 본 발명에 따른 하나 이상의 깊이 영상 획득에 대해서 설명하기 위한 도면이다.
도 6은 본 발명에 따른 하나 이상의 깊이 카메라를 이용하는 사람 검출 장치의 구성 및 동작을 설명하기 위한 도면이다.
도 7은 본 발명에 따른 좌표 변환에 대해서 설명하기 위한 도면이다.
도 8은 카메라 기준 좌표계와 실세계 좌표계의 관계를 설명하기 위한 도면이다.
도 9는 본 발명에 따른 카메라 기준 좌표계의 좌표를 실세계 기준 좌표계의 좌표로 변환하는 동작을 설명하기 위한 도면이다.
도 10은 본 발명에 따른 각각의 후보 영역에서 특징 정보를 추출하는 방법을 설명하기 위한 도면이다.
도 11은 본 발명에 따른 후보 영역의 특징 정보의 일례를 나타내는 도면이다.
도 12는 본 발명에 따른 방문객 출입 통계 분석 시스템을 나타내는 도면이다.
도 13은 출입 감지기의 일례를 나타낸 구성도이다.
도 14는 본 발명에 따른 높이맵 생성을 예시적으로 나타내는 도면이다.
도 15는 본 발명에 따른 분석 대상 높이맵 생성을 예시적으로 나타내는 도면이다.
도 16은 본 발명에 따른 이동 추적 및 출입 판정 동작을 설명하기 위한 도면이다.
도 17은 출입 감지기 제어 화면을 예시적으로 나타내는 도면이다.
도 18 및 도 19는 방문객 출입 통계 분석 정보를 예시적으로 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
깊이 영상 기반 사람 검출 방법 및 장치
도 3은 본 발명에 따른 사람 검출 장치의 구성 및 동작에 대해서 설명하기 위한 도면이다.
본 발명에 따르면, 하나 이상의 깊이 카메라(110)의 각각에 의해서 촬영된 깊이 영상이 영상 수신부(120)로 전달될 수 있다. 영상 수신부(120)는 하나 이상의 깊이 카메라(110)의 각각에 의해서 촬영된 깊이 영상(즉, 하나 이상의 깊이 영상)을 획득하여 이에 대한 정보를 분석 대상 높이맵 생성부(130)로 전달할 수 있다 (S10). 분석 대상 높이맵 생성부(130)는 획득된 하나 이상의 깊이 영상에 대한 정보로부터 사람 검출을 위해 이용되는 하나의 분석 대상 높이맵을 생성할 수 있다(S20). 후보 영역 결정부(140)는 분석 대상 높이맵을 분석하여 지역 최고점(local maxima) 방식을 이용하여 객체 검출을 위한 하나 이상의 후보 영역을 결정할 수 있다(S30). 특징 정보 추출부(150)는 하나 이상의 후보 영역의 각각에서 사람의 머리와 어깨의 높이와 같은 특징(feature) 정보를 추출할 수 있다(S40). 사람 판정부(160)는 검출된 객체가 사람 객체인지 여부를 추출된 특징 정보 기반으로 판정할 수 있다(S50).
이하에서는, 본 발명에 따른 깊이 영상 기반 사람 검출 방법 및 장치의 구체적인 구성에 대해서 설명한다.
도 4 및 도 5는 본 발명에 따른 하나 이상의 깊이 영상 획득에 대해서 설명하기 위한 도면이다.
본 발명에서는 깊이 카메라가 특정 공간 영역을 촬영함에 있어서, 깊이 카메라의 설치 위치, 높이, 각도, 개수 등에 아무런 제약을 두지 않는다. 즉, 본 발명에서는 하나 또는 복수개의 깊이 카메라가 특정 공간 영역의 전부를 커버할 수 있도록 적절하게 설치되고, 그로부터 획득되는 하나 이상의 깊이 영상(즉, 하나의 깊이 카메라로부터 하나의 깊이 영상이 획득됨)으로부터, 사람 검출을 위한 영상 분석의 대상이 되는 하나의 영상(즉, 하나의 분석 대상 영상)을 생성할 수 있다.
도 4 및 도 5의 예시에서는 특정 공간 영역을 나타낸다. 특정 공간 영역은, 사람 검출을 위해서 분석해야 하는 공간 영역을 의미하며, 예를 들어, 출입문에 사람이 드나들 때 발생가능한 모든 동선을 커버하는 영역으로 설정될 수 있다.
도 4의 예시와 같이 하나의 깊이 카메라(110)만으로는 특정 공간 영역의 전부를 커버할 수 없는 경우가 발생할 수 있다. 즉, 종래 기술과 같이 하나의 깊이 카메라(또는 한 쌍의 스테레오 카메라)가 바닥에 수직인 방향으로 천장에 설치되는 경우에는, 유효 촬영 거리 내에서 최대한 높이 설치한다고 하더라도 전체 출입 영역을 커버하지 못할 수도 있다.
도 5의 예시와 같이 복수개의 깊이 카메라를 설치하여 특정 공간 영역의 전부를 커버할 수도 있다. 본 발명에서는 단순히 복수개의 깊이 카메라를 설치 및 이용하는 것이 아니라, 복수개의 깊이 카메라를 이용하여 특정 공간 영역의 전체를 커버하면서도 복수개의 깊이 카메라를 이용하여 획득되는 복수개의 깊이 영상 간의 중첩으로 인한 문제점을 오히려 사람 검출을 위한 정확도를 높이는 정보로서 이용하는 방안을 제안한다.
구체적으로, 도 5의 예시에서와 같이 제 1 깊이 카메라(110-1)에 의해서 촬영되는 공간과 제 2 깊이 카메라(110-2)에 의해서 촬영되는 공간이 중복되는 영역이 발생한다. 만약 각각의 깊이 카메라에 의해 획득된 깊이 영상을 이용하여 개별적으로 사람 검출이 수행되는 경우에는, 한 명의 사람이 중복하여 두 번 검출되는 문제가 발생할 수도 있다. 본 발명에서와 같이 복수개의 깊이 카메라로부터 획득된 복수개의 깊이 영상을 이용하는 경우, 하나의 합성된 깊이 영상을 생성할 수 있다. 또한, 이와 같이 합성된 깊이 영상을 이용함으로써, 후술하는 바와 같이 어느 하나의 깊이 카메라에서 오인식 또는 미인식되는 정보가 다른 깊이 카메라에서 획득된 정보에 의해서 보정될 수 있으므로, 사람 검출의 정확도가 높아질 수 있다.
만약 하나의 카메라만으로 특정 공간 영역의 전부를 커버할 수 있는 경우에는 하나의 깊이 영상으로부터 분석 대상 높이맵이 생성되고, 이에 기반하여 후보 영역 결정, 특징 정보 추출, 사람 객체 판별을 적용될 수 있으며, 본 발명의 범위에서 하나의 깊이 영상 기반 동작을 배제하는 것은 아니다. 즉, 본 발명에서 하나의 깊이 카메라에 의한 하나의 깊이 영상만을 이용하더라도, 종래 기술과 같이 사람 객체 판별을 단순히 일정 높이에 해당하는 영역이나 촬영되는 면적이나 화소(pixel) 개수를 카운팅하는 방식을 이용하는 것이 아니라, 객체 검출을 위한 하나 이상의 후보 영역을 결정하고 각각의 후보 영역에서 특징 정보를 추출하여 추출된 특징 정보에 기반하여 사람 객체를 검출하는 새로운 방식에 따르기 때문에, 종래 기술에 비하여 사람 검출의 정확도를 높일 수 있다.
만약 하나의 카메라만으로 특정 공간 영역의 전부를 커버할 수 있다고 하더라도 본 발명의 예시와 같이 복수개의 카메라를 이용하여 복수개의 깊이 영상을 획득 및 이용하는 경우, 보다 정확한 사람 검출 결과를 기대할 수 있다.
또한, 본 발명에 따른 하나 이상의 깊이 카메라로부터 획득되는 하나 이상의 깊이 영상을 이용하는 방법은, 깊이 카메라의 설치 위치, 높이, 또는 각도를 조절하는 경우, 또는 설치되는 깊이 카메라의 개수를 늘리거나 줄이는 경우 중의 하나 이상의 경우에서 모두 적용될 수 있다.
도 6은 본 발명에 따른 하나 이상의 깊이 카메라를 이용하는 사람 검출 장치의 구성 및 동작을 설명하기 위한 도면이다.
도 6의 예시에서는 N(N=1, 2, 3, ...) 개의 깊이 카메라를 구비하는 사람 검출 장치를 도시한다.
제 1 영상 수신부(120-1)는 제 1 깊이 카메라(110-1)로부터 깊이 영상을 획득하여, 깊이 영상 정보를 제 1 좌표 변환부(121-1)로 전달할 수 있다. 제 1 깊이 카메라(110-1)는 제 1 영상 수신부(120-1)와 다양한 방식(예를 들어, USB, IEEE 1394 등의 유선 연결 방식, 또는 블루투스, WiFi 등의 무선 연결 방식)으로 연결될 수 있다. 제 1 좌표 변환부(121-1)는 깊이 영상 정보로부터 실세계 3차원 좌표를 생성할 수 있다. 제 1 높이맵 생성부(122-1)는 변환된 3차원 좌표 기반으로 소정의 기준값 이상의 유효한 값들에 해당하는 좌표값들을 이용하여 높이맵을 생성할 수 있다. 제 1 영상 수신부(120-1), 제 1 좌표 변환부(121-1) 및 제 1 높이맵 생성부(122-1)를 포함하여 제 1 단말 전처리부라고 칭할 수 있다. 제 1 단말 전처리부는 제 1 깊이 카메라(110-1)에 대응되는 임베디드(embeded) 장치로 구성될 수도 있다.
제 2, ..., 제 N 깊이 카메라의 각각으로부터 획득되는 깊이 영상에 대해서도 각각의 단말 전처리부에서 좌표 변환, 높이맵 생성과 동일한 프로세스가 수행될 수 있다. 즉, 하나의 깊이 카메라에 대응하는 하나의 단말 전처리부가 구비될 수 있으며, 개별 깊이 카메라로부터의 깊이 영상을 병렬적으로 또는 동시에 처리할 수 있다.
분석 대상 높이맵 생성부(130)는 N 개의 깊이 카메라(110-1, 110-2, ..., 110-N)의 각각에 의해 촬영된 깊이 영상에 대해서 각각의 단말 전처리부의 프로세스에 의해 생성된 제 1, 제 2, ..., 제 N 높이맵을 이용하여, 하나의 높이맵(즉, 분석 대상 높이맵)을 생성할 수 있다.
후보 영역 결정부(140)에서는 분석 대상 높이맵에서 지역 최고점(local maxima) 검출 방식을 이용하여 사람 객체가 존재할 수 있다고 판정되는 위치(즉, 후보 영역)를 결정할 수 있다. 하나의 분석 대상 높이맵에서 후보 영역이 없을 수도 있고(즉, 사람 객체가 존재할 가능성이 있는 위치가 없음), 하나 이상의 후보 영역이 존재할 수도 있다(즉, 한 명 또는 다수의 사람 객체가 존재할 가능성이 있는 위치가 있음).
특징 정보 추출부(150)에서는 후보 영역이 존재한다면 각각의 후보 영역에서 사람 객체의 특징 정보(예를 들어, 특징 벡터)를 추출할 수 있다.
사람 판정부(160)에서는 추출된 특징 벡터에 기반하여 각각의 후보 영역에 검출된 객체가 사람 객체인지 여부를 판정할 수 있다.
객체 추정 및 계수부(170)은 사람 객체 검출 결과를 이용하여 출입 카운팅, 동선 예측, 보안 등의 애플리케이션을 위해 정보를 가공하여 출력 인터페이스(예를 들어, 디스플레이, 음향/음성 출력부)로 전달하거나 다른 장치로 전달할 수 있다.
분석 대상 높이맵 생성부(130), 후보 영역 결정부(140), 특징 정보 추출부(150), 사람 판정부(160)를 포함하여 사람 검출부라고 칭할 수도 있다. 사람 검출부는 단말 전처리부와 물리적으로 분리된 별개의 장치로 구현될 수도 있고, 하나의 장치 내에서 단말 전처리부와 사람 검출부가 구분되는 기능 모듈로서 구현될 수도 있다. 또한, 사람 검출부와 단말 전처리부에 포함된 여러 가지 기능부는 반드시 분리되어 구현되는 것은 아니며, 하나 이상이 통합되어 구현될 수도 있다.
도 7은 본 발명에 따른 좌표 변환에 대해서 설명하기 위한 도면이다.
단말 전처리부(예를 들어, 영상 수신부)는 깊이 카메라에 의해 촬영된 깊이 영상을 수신할 수 있다. 즉, 하나의 깊이 카메라로부터 하나의 깊이 영상을 수신할 수 있으며, N 개의 깊이 카메라에 의해 획득된 N 개의 깊이 영상에 대한 좌표 변환이 수행될 수 있다. 이하에서는 하나의 깊이 카메라(예를 들어, 제 1 깊이 카메라(110-1))로부터 수신되는 하나의 깊이 영상을 처리하는 것에 대해서 설명하며, 동일한 설명이 다른 깊이 카메라로부터 수신되는 깊이 영상에 대해서도 각각 적용될 수 있다.
도 7에서 설명하는 좌표 변환에 대한 구체적인 예시들은 도 6의 제 1 깊이 카메라(110-1)에 대응하는 단말 전처리부 또는 좌표 변환부(121-1)에 의해서 수행될 수 있다.
단계 S710에서 좌표 변환부(121-1)는 영상 수신부(120-1)가 깊이 카메라(110-1)로부터 획득한 깊이 영상에 대한 정보를 수신할 수 있다. 깊이 영상은, 가로-세로(또는 수평(horizontal)-수직(vertical))의 2차원 평면 상에서 일정한 개수의 화소를 가질 수 있다. 각각의 화소는 깊이 정보(예를 들어, 깊이 카메라가 위치하는 카메라 평면에서 대상 객체까지의 거리 값)을 가질 수 있다.
단계 S720에서 좌표 변환부(121-1)는, 깊이 영상 내의 각각의 화소의 깊이 정보에 기반하여 카메라 기준 좌표계의 3차원 좌표값으로 변환할 수 있다. 예를 들어, 카메라의 화각과 가로-세로(또는 수평-수직) 해상도를 이용하여, 각각의 화소에 대한 깊이 정보(예를 들어, 거리 값)를 카메라 기준 좌표계의 3차원 좌표 값으로 변환할 수 있다.
만약 깊이 카메라의 각각의 화소의 값이 3차원 좌표값인 경우에 좌표 변환은 생략할 수도 있다. 깊이 값으로부터 산출된 3 차원 좌표값 또는 카메라를 통해서 직접 특정된 3 차원 좌표값은 카메라를 기준으로 하는 3차원 좌표계 (즉, 카메라 기준 좌표계) 상의 좌표에 해당한다.
카메라 기준 좌표계에 대해서는 도 8을 참조하여 구체적으로 설명한다.
도 8은 카메라 기준 좌표계와 실세계 좌표계의 관계를 설명하기 위한 도면이다.
도 8의 예시에서와 같이 카메라를 기준으로 하는 좌표계에서 X축과 Y축은 카메라 평면과 평행한 평면을 이루는 가로축 및 세로축(또는 수평축 및 수직축)에 각각 대응할 수 있다. Z 축은 카메라 평면과 직교하면서 카메라가 향하는 방향에 대응할 수 있다. 카메라 기준 좌표계의 원점(O)는 카메라 위치의 중심점에 대응할 수 있다.
깊이 영상의 각각의 화소의 깊이 정보(예를 들어, 거리 값)은 아래의 수학식 1에 의해서 카메라 기준 좌표계 상의 3차원 좌표값으로 변환될 수 있다.
상기 수학식 1에서 i, j 는 각각 깊이 영상의 화소의 행(row) 및 열(column)의 인덱스를 나타낸다. d는 깊이 정보의 값(예를 들어, 거리 값)을 나타낸다. x, y, z는 각각 카메라 기준 좌표계의 X축, Y축, Z축 상의 값에 각각 해당한다. ρ hor , ρ ver 는 깊이 영상의 가로 해상도 및 세로 해상도(또는 수평 해상도 및 수직 해상도)를 나타낸다. θ hor , θ ver 는 카메라의 가로 및 세로(또는 수평 및 수직)에서의 FOV(Field Of View)를 나타낸다.
다시 도 7을 참조하면, 단계 S730에서 좌표 변환부(121-1)는 카메라 기준 좌표계의 3차원 좌표값(예를 들어, 상기 수학식 1에서 도출되는 x, y, z 값)을 실세계 좌표계의 3차원 좌표값으로 변환할 수 있다.
카메라 기준 좌표계 상의 3차원 좌표값을 실세계 좌표계의 3차원 좌표값으로 변환함으로써, 실제 공간 상에서 객체의 위치를 나타낼 수 있다. 이를 위해서, 카메라의 위치, 높이, 각도에 대한 정보가 필요한데, 이는 카메라를 설치하는 과정에서 미리 정해진 값이거나, 카메라 설치 후 캘리브레이션(calibration) 과정을 통해서 도출되는 값일 수도 있다.
카메라 기준 좌표계 상의 3차원 좌표값을 실세계 좌표계의 3차원 좌표값으로 변환하는 과정은, 3차원 공간에서의 회전 변환(rotation transformation), 이동 변환(translation transformation), 리플렉션 변환(reflection transformation)의 조합으로 이루어지는 3차원 변환(3-dimension transformation)을 통해 이루어질 수 있다.
예를 들어, 실세계 좌표계의 3차원 공간은 X'축 Y'축 Z'축으로 구성되며, X'축, Y'축은 각각 실제 공간에서 바닥면의 평면과 평행한 평면을 이루는 가로축 및 세로축(또는 수평축 및 수직축)에 대응할 수 있다. Z'축은 바닥면이 이루는 평면과 직교하며 천장 방향에 대응할 수 있다. 실세계 좌표계의 원점은 카메라 위치의 중심점으로부터 바닥면에 직교하는 지점에 대응할 수 있다.
카메라가 설치된 높이를 H라 하고, 카메라 기준 좌표계의 X, Y, Z 축에서의 설치 각도가 (φ,θ,ψ)라고 가정한다. 설치 각도가 (0, 0, 0) 라면, 실세계 좌표계의 X', Y', Z'축은 카메라 기준 좌표계에서의 X, Y, -Z 축에 대응된다 (즉, 천장면과 바닥면이 평행한 것으로 가정하면, 카메라 평면이 천장면과 평행하고, 카메라 방향이 바닥면으로 직교하는 방향인 경우이다). 따라서, X, Y, Z 축이 각각 φ,θ,ψ 만큼 회전변환되고, 카메라 높이 H 만큼 이동변환되고, X-Y 평면에 대한 리플렉션 변환이 수행되어, 카메라 기준 좌표계가 실세계 좌표계로 변환될 수 있다.
이러한 각각의 변환 과정은, H, φ, θ, ψ 를 파라미터로 하는 하나의 3차원 변환 행렬과 3차원 좌표 행렬의 행렬 곱 연산으로 표현될 수 있다.
전술한 본 발명의 예시들에 따라, 깊이 카메라가 바닥면에 수직인 방향으로 설치되지 않아도 (예를 들어, 비스듬한 방향으로 설치되어도), 좌표 변환을 통해서 높이맵을 용이하게 생성할 수 있다. 예를 들어, 깊이 카메라가 비스듬한 방향으로 설치되는 경우에 좌표 변환이 적용되지 않으면 깊이 영상의 깊이 정보(즉, 거리값)가 객체의 실제 높이가 아니라 객체로부터 카메라 평면까지의 거리에 해당하므로, 실제 높이가 왜곡될 수 있다. 그러나, 본 발명에 따른 좌표 변환에 의하면 실제 객체의 높이를 반영하는 보다 정확한 높이맵이 생성될 수 있다.
또한, 좌표 변환을 통해서 복수개의 깊이 카메라에서 촬영된 영상을 동일한 좌표계에서 용이하게 합성할 수 있으므로, 복수개의 깊이 카메라의 위치와 각도가 서로 다르더라도 이들에 의해 촬영된 깊이 영상들로부터 하나의 분석 대상 높이맵을 용이하게 생성할 수 있다.
도 9는 본 발명에 따른 카메라 기준 좌표계의 좌표를 실세계 기준 좌표계의 좌표로 변환하는 동작을 설명하기 위한 도면이다.
단계 S910에서 카메라 설치 높이(H) 및 카메라 설치 각도(φ,θ,ψ)에 기초하여 3차원 변환 행렬을 계산(또는 결정)할 수 있다. 이러한 3차원 변환 행렬은 카메라 설치시에 미리 결정될 수도 있고, 카메라의 캘리브레이션이나 설치후 각도 조정 등에 따라서 업데이트되어 결정될 수도 있다. 만약 카메라의 위치나 각도가 실시간으로 조절 가능한 경우에는, 각각의 위치 및 각도에 대한 파라미터를 실시간으로 업데이트함으로써, 3차원 변환 행렬이 실시간으로 결정될 수도 있다.
단계 S920에서 하나의 화소에 대한 카메라 기준 좌표계의 3차원 좌표값이 입력될 수 있다. 예를 들어, 상기 수학식 1에 따라 깊이 카메라로부터 획득된 깊이 영상 내의 하나의 화소에 대한 깊이 정보로부터 카메라 기준 좌표계의 3차원 좌표값이 계산될 수 있다.
단계 S930에서 하나의 화소에 대한 카메라 기준 좌표계의 3차원 좌표값을 상기 3차원 변환 행렬에 의해 변환함으로써 실세계 좌표계의 3차원 좌표값을 계산할 수 있다. 이러한 변환은 행렬의 곱 연산에 의해 수행될 수 있다.
단계 S940에서 카메라 기준 좌표계의 3차원 좌표값으로부터 실세계 좌표계의 3차원 좌표값으로의 변환이 깊이 영상 내의 모든 화소에 대해서 수행되었는지를 체크하고, 아직 변환되지 않은 화소가 남아 있으면 단계 S920으로 돌아갈 수 있다. 이에 따라, 깊이 영상 내의 모든 화소(즉, 카메라 기준 좌표계 상의 모든 좌표)에 대해서 실세계 좌표계 상의 3차원 좌표값을 얻을 수 있다. 또는, 깊이 영상에서 특정 영역(예를 들어, 배경 영역을 제외한 관심 영역)에 대해서만 3차원 좌표 변환이 수행될 수도 있다. 이 경우에는 단계 S940의 모든 좌표는 상기 특정 영역 내의 모든 좌표를 의미한다.
이와 같이 획득된 실시예 좌표계 상의 좌표값들을 이용하여, 카메라에 의해 촬영된 객체에 대한 천장으로부터 바닥 방향으로의 깊이(즉, 바닥으로부터 천장 방향으로는 높이)를 결정할 수 있다. 깊이 영상 내의 모든 화소(또는 특정 영역 내의 모든 화소)에 대해서 깊이 또는 높이에 기반하여, 높이맵(heightmap)을 생성할 수 있다. 도 6에서 설명한 바와 같이 하나의 깊이 카메라에 의해 촬영된 깊이 영상에 대해서 높이맵이 각각 생성될 수 있다.
높이맵의 생성을 위해 3차원 객체를 2차원 평면에 투영하는 정사영(orthographic projection)을 이용할 수도 있다. 높이맵은 깊이 영상의 전체 영역에 대해서 생성하기 보다는, 사람을 검출하고자 하는 하나 이상의 특정 영역(또는 관심 영역)을 미리 설정하고, 실세계 3차원 공간 좌표가 상기 특정 영역 내에 속하는 경우에만 2차원 평면에 투영하는 방식으로 높이맵 생성의 부하를 줄일 수도 있다.
특정 영역은 왼쪽(left), 오른쪽(right), 앞(front), 뒤(back), 위(top), 아래(bottom)의 6개의 임계치에 의해서 결정될 수 있다. 높이맵이 표시되는 2차원 평면은 가로, 세로로 소정의 화소 개수를 가지는 영상으로 표현될 수 있다. 상기 특정 영역의 왼쪽, 오른쪽, 앞, 뒤에 대한 임계치에 의해 결정되는 범위는, 2차원 평면에 대응될 수 있다. 상기 특정 영역의 위, 아래의 임계치는, 2차원 영상 화소들(또는 좌표들)의 최대 높이값, 최소 높이값에 각각 대응될 수 있다.
또한, 복수개의 3차원 좌표가 2차원 평면상의 하나의 동일한 좌표에 사영될 수도 있다. 예를 들어, 3차원 공간 상에서 Z 축 방향의 값만 상이하고 X-Y 평면 상에서는 동일한 값을 가지는 복수개의 3차원 좌표가 존재할 수 있다. 이 경우, 복수개의 3차원 좌표의 Z 축 방향의 값(즉, 높이 값)이 가장 높은 좌표가 나머지 좌표들을 대체할 수 있다. 즉, 상기 복수개의 3차원 좌표의 높이값을 비교하여, 가장 큰 높이값을 가지는 3차원 좌표만이 2차원 평면 상에 사영되고, 나머지 3차원 좌표들은 버려질 수 있다.
다음으로, 복수개의 높이맵으로부터 하나의 분석 대상 높이맵이 생성될 수 있다.
N 개의 깊이 영상 각각에 대해서 하나 이상의 높이맵이 생성되고, 이러한 복수개의 높이맵은 하나의 분석 대상 높이맵으로 합성될 수 있다. 분석 대상 높이맵은, 복수개의 깊이 영상에서 설정되는 복수개의 특정 영역(예를 들어, 관심 영역)들에 대한 높이맵을 전부 포함할 수 있다.
또한, 분석 대상 높이맵은 합성되는 복수의 높이맵의 임계치를 모두 포함할 수 있다. 예를 들어, 각각의 높이맵은 서로 일부 중첩되거나 서로 중첩되지 않는 다른 범위를 촬영한 깊이 영상에 대해서 생성되며, 각각의 깊이 영상에 대한 높이맵의 생성을 위해 설정되는 임계치(예를 들어, 왼쪽, 오른쪽, 앞, 뒤, 위, 아래)에 의해 설정되는 특정 영역(예를 들어, 관심 영역)의 모든 화소 또는 좌표가 누락되지 않고 모두 분석 대상 높이맵의 화소 또는 좌표에 대응되어야 한다. 이 경우, 분석 대상 높이맵의 하나의 화소(또는 좌표)가 서로 다른 높이맵의 서로 다른 화소(또는 좌표)들에 대응할 수도 있고, 분석 대상 높이맵의 하나의 화소(또는 좌표)가 하나의 높이맵의 특정 화소(또는 좌표)에만 대응할 수도 있다.
각각의 높이맵의 화소(또는 좌표)와 분석 대상 높이맵의 화소(또는 좌표)의 대응 관계에 따라서, 각각의 높이맵의 화소(또는 좌표)의 높이 값을 분석 대상 높이맵의 대응 화소(또는 좌표)의 높이 값으로 대입하는 방식으로 분석 대상 높이맵이 생성될 수 있다. 만약 합성되는 복수개의 높이맵의 각각의 화소(또는 좌표)가 분석 대상 높이맵에서 하나의 동일한 화소(또는 좌표)에 대응하는 경우 (예를 들어, 제 1 높이맵의 하나의 화소(또는 좌표)와 제 2 높이맵의 하나의 화소(또는 좌표)가, 분석 대상분석 대상 높이맵의 하나의 화소(또는 좌표)에 대응하는 경우), 복수개의 높이맵의 화소(또는 좌표)들 중에서 가장 높은 높이값을 가지는 화소(또는 좌표)가 나머지 화소(또는 좌표)를 대체할 수 있다. 즉, 복수개의 높이맵의 화소(또는 좌표)들의 높이값을 비교하여, 가장 큰 높이값을 가지는 화소(또는 좌표)만이 분석 대상 높이맵의 화소(또는 좌표)로 대입되고, 나머지 화소(또는 좌표)들은 버려질 수 있다.
다음으로, 분석 대상 높이맵을 기준으로, 검출을 위한 하나 이상의 후보 영역을 결정할 수 있다.
분석 대상 높이맵에서 일정 영역 내에서 가장 높은 높이값을 가지는 화소(또는 좌표)를 지역 최고점(local maxima)라고 칭할 수 있다. 지역 최고점에 해당하는 위치는 사람 객체가 존재할 가능성이 높은 영역이다. 따라서, 분석 대상 높이맵에서 각각의 화소(또는 좌표)에 대해서 해당 화소(또는 좌표) 주변으로 소정의 반경 내의 다른 화소(또는 좌표)들과 서로 높이 값을 비교하고, 주변에 다른 화소(또는 좌표)들보다 해당 화소(또는 좌표)의 높이값이 더 높은 경우 해당 화소(또는 좌표)의 위치를 후보 영역으로 결정할 수 있다. 분석 대상 높이맵 내에서 하나 이상의 후보 영역이 결정될 수도 있다.
다른 화소(또는 좌표)에 비해서 큰 높이값을 가진다는 이유만으로 해당 위치에 사람 객체가 검출된 것으로 판정하는 경우, 사람이 아니지만 사람 키 높이 정도의 물체를 사람 객체인 것으로 오인식할 수도 있다. 따라서, 본 발명의 일 예시에서는 후보 영역에 대해서 특징 정보를 추출하여 특징 정보 기반으로 사람 객체 여부를 판정할 수 있다.
하나 이상의 후보 영역이 결정되는 경우, 각각의 후보 영역에 대해서 특징 정보를 추출할 수 있다. 특징 정보는 인체의 높이에 따른 단면의 면적과, 그 면적의 변화를 나타내는 특징 벡터를 포함할 수 있다. 예를 들어, 특징 벡터는 아래의 수학식 2를 이용하여 계산될 수 있다.
상기 수학식 2에서 벡터 s는 특징 벡터를 나타낸다. α k는 최종 특징 벡터의 각각의 원소에 대한 가중치(weighting factor)를 나타낸다. 즉, 최종 특징 벡터 x는 인접한 높이 레벨 간의 면적 변화량에 가중치가 적용된 특징 벡터를 나타낸다. s i는 특징 벡터의 i 번째 원소를 나타낸다. 예를 들어, 특징 벡터 s는 후보 영역의 높이 레벨에 따른 면적(예를 들어, 컨벡스 헐(convex hull) 면적)을 나타낼 수 있다. 즉, s 1 은 첫 번째 높이 레벨에 해당하는 면적을 의미한다. 벡터 d는 특징 벡터 s의 i 번째 원소와 i+1 번째 원소의 차이값(delta)에 해당한다. 예를 들어, d 1 은 s i + 2 과 s 1 의 차이값을 나타낸다.
도 10은 본 발명에 따른 각각의 후보 영역에서 특징 정보를 추출하는 방법을 설명하기 위한 도면이다.
후보 영역에 대한 특징 정보 추출은, 후보 영역 내의 지역 최고점에 인접한 좌표(즉, 분석 대상 높이맵의 가로-세로축, 수평-수직축, 또는 X-Y축 상의 평면에서의 좌표)들을 높이 레벨을 기준으로 다수의 좌표 그룹으로 분류함으로써 특징 벡터를 생성하는 것을 포함할 수 있다.
예를 들어, 분석 대상 높이맵에서 화소(또는 좌표)들의 높이값의 최대값과 최소값이 각각 Hmax 및 Hmin이고, 이들을 K (K는 자연수) 개의 높이 레벨로 분할하는 것을 가정한다. 예를 들어, 제 1 높이 레벨은 Hmax 이하 H1 초과, 제 2 높이 레벨은 H1 이하 H2 초과, ..., 제 K 높이 레벨은 HK -1 이하 Hmin 초과로 분할할 수 있다 (또는, 제 1 높이 레벨은 Hmax 미만 H1 이상, 제 2 높이 레벨은 H1 미만 H2 이상, ..., 제 K 높이 레벨은 HK -1 미만 Hmin 이상으로 분할할 수도 있다).
여기서, 각각의 높이 레벨이 커버하는 범위의 크기(또는 각각의 높이 레벨에 속하는 높이값의 개수)가 동일할 필요는 없다. 즉, 제 1, 제 2, 제 3 높이 레벨의 범위 크기는 제 K 높이 레벨의 범위 크기보다 작을 수도 있다. 이러한 경우, 예를 들어, 사람의 머리부터 어깨 높이에 해당하는 높이에 해당하는 화소(또는 좌표)들을 좀더 세밀하게 분류 및 그룹화할 수 있다.
또한, 높이 레벨은 지역 최고점의 높이값에 따른 가중치를 곱하여, 사람 키에 따라 각각의 높이 레벨이 각각의 사람의 몸에서 비슷한 위치에서 형성되도록 보정할 수 있다. 즉, 지역 최고점이 높은 후보 영역에 적용되는 높이 레벨의 범위 크기는, 지역 최고점이 낮은 후보 영역에 적용되는 높이 레벨의 범위 크기에 비하여 더 크게 설정할 수도 있다.
지역 최고점에 해당하는 좌표로부터 시작하여 인접한 좌표들의 높이값을 확인하여, 소정의 높이값 차이 범위 내에 속하는 (즉, 소정의 높이 레벨에 해당하는) 좌표들을 동일한 좌표 그룹에 포함시킬 수 있고, 더 이상 해당 높이 레벨에 속하는 좌표가 없다면 그 다음 높이 레벨에 대해서 좌표 그룹을 생성하는 것을 반복하여, 높이 레벨에 따른 좌표 그룹을 결정할 수 있다. 하나의 좌표 그룹의 모든 좌표들을 포함하는 컨벡스 헐을 구하고, 구해진 컨벡스 헐의 면적을 해당 높이 레벨에 대한 면적으로 결정할 수 있다. 이와 같이 각각의 좌표 그룹에 대해서 해당 높이 레벨에 대한 면적을 결정할 수 있다.
이하에서는 도 10을 참조하여 하나의 후보 영역에 대한 특징 정보를 추출하는 방법에 대해 구체적으로 설명한다.
단계 S1010에서 후보 영역에서 지역 최고점의 정보(즉, 지역 최고점의 좌표값 및 그 위치에서의 높이값)가 입력될 수 있다.
단계 S1020에서 지역 최고점의 좌표값을 제 1 높이 레벨에 해당하는 제 1 좌표 그룹에 추가할 수 있다. 제 1 높이 레벨은 지역 최고점의 높이값을 포함하는 소정의 범위의 높이값으로 정해질 수 있고, 제 1 좌표 그룹은 지역 최고점의 좌표를 포함하는 그룹일 수 있다.
단계 S1030에서 분석 대상 높이맵에서 제 k 높이 레벨에 해당하는 좌표가 존재한다면, 해당 좌표를 제 k 좌표 그룹에 추가할 수 있다. 여기서, k=1, 2, ..., K의 값을 가질 수 있다. k=1인 경우에는 지역 최고점 좌표에 인접한 좌표들의 높이값을 확인하여 제 1 높이 레벨에 해당하는 높이값을 가지는 좌표가 있는 경우, 해당 좌표를 제 1 좌표 그룹에 추가할 수 있다.
단계 S1040에서 제 k 높이 레벨에 유효한 인접 좌표가 존재하는지 여부를 판정하고, 만약 존재한다면 단계 S1030으로 진행하여 해당 좌표를 제 k 높이 레벨에 해당하는 제 k 좌표 그룹에 추가시킬 수 있다. 제 k 높이 레벨에 유효한 인접 좌표가 존재하는지를 판단하는 것은, 어떤 좌표의 높이값이 제 k 높이 레벨의 범위에 포함되는지와, 해당 좌표가 중심(또는 지역 최고점의 좌표)으로부터 소정의 거리 내에 속하는지를 기준으로 할 수 있다. 예를 들어, 제 k 높이 레벨의 범위에 속하는 좌표가 지역 최고점으로부터 사람의 신체 반경을 벗어난 경우에는 유효하지 않은 것으로 판단할 수 있다. 만약 제 k 높이 레벨에 유효한 인접 좌표가 존재하지 않는다면 단계 S1050으로 진행한다.
단계 S1050에서는 k가 그 최대값인 K인지 판정할 수 있다. 만약 그렇지 않다면 (즉, k < K) 라면, 단계 S1060으로 진행하여 k 값을 1 만큼 증가시키고, 단계 S1030으로 진행하여 그 다음 높이 레벨(즉, 1만큼 증가된 k에 대응하는 높이 레벨)에 해당하는 좌표가 있다면 해당 좌표를 새로운 좌표 그룹(즉, 1만큼 증가된 k에 대응하는 좌표 그룹)에 추가시킬 수 있다. 만약 k=K 라면, 높이 레벨 1 부터 높이 레벨 K 까지의 모든 높이 레벨의 각각에 유효한 좌표들에 대한 그룹화가 완료된 것을 의미한다.
단계 S1070에서 K 개의 좌표 그룹의 각각에 대해서 컨벡스 헐(Convex hull)을 계산할 수 있다. 컨벡스 헐은 2차원 평면에서 주어진 좌표들을 모두 포함하는 최소 크기의 다각형을 의미한다.
단계 S1080에서 각각의 컨벡스 헐에 대한 면적을 계산할 수 있다. 예를 들어, 컨벡스 헐의 면적은 컨벡스 헐 포함되는 화소(또는 좌표)의 개수를 카운트함으로써 계산할 수 있다.
도 10을 참조하여 설명한 방법에 따라 하나의 후보 영역에 대한 특징 벡터(즉, 높이 레벨에 따른 면적)을 결정할 수 있다. 복수의 후보 영역이 존재하는 경우, 나머지 후보 영역의 각각에 대해서 이와 유사한 방식으로 특징 벡터를 결정할 수 있다.
도 11은 본 발명에 따른 후보 영역의 특징 정보의 일례를 나타내는 도면이다.
도 11에서 좌측 도면은 사람의 몸에 대한 정면도와 높이맵을 예시적으로 나타내며, 우측 도면은 높이 레벨에 따른 컨벡스 헐의 면적을 예시적으로 나타낸다. 도 11의 예시에서와 같이 사람 검출의 정확도를 높이기 위해서 머리 부분에 대해서 다수의 높이 레벨이 촘촘하게 설정될 수 있다. 어깨부터 상반신에 대해서는 머리 부분에 비해서 높이 레벨이 촘촘하지 않게 설정될 수 있다. 각각의 높이 레벨에 따른 컨벡스 헐 면적으로부터, 해당 후보 영역의 특징 정보(즉, 특징 벡터)가 결정될 수 있다.
즉, 본 발명에 따른 특징 벡터는, 지역 최고점을 기준으로 높이 레벨에 따른 단면의 면적과, 면적의 변화량에 대한 정보를 포함할 수 있다. 이러한 특징 벡터를 이용함으로써, 사람의 머리, 어깨, 상반신의 형상을 구체적으로 모델링할 수 있다. 이와 같이, 머리, 어깨, 상반신에 대한 세밀한 형상 모델을 표현할 수 있는 특징 벡터를 사람 검출을 위해서 이용하므로, 해당 후보 영역에서의 객체가 사람인지 여부를 보다 용이하고 정확하게 판정할 수 있다. 이에 따라, 사람 검출 여부의 정확도가 크게 향상될 수 있다.
이와 같이, 사람 여부를 판정하기 위한 특징 정보는 사람의 머리 끝에서부터 어깨 및 상반신에 이르는 3차원 형상에 대한 모델링 정보를 포함할 수 있다. 이를 위해, 후보 영역에서 머리와 상반신을 포함하는 영역의 각 높이 레벨에 따른 단면(즉, 컨벡스 헐)의 면적과, 인접한 높이 레벨간의 면적 변화량, 및 면적의 영상비(aspect ratio)를 이용할 수 있다. 단면의 영상비는 해당 단면을 포함하는 최소 직사각형의 단축과 장축의 비에 해당할 수 있다.
즉, 상기 수학식 2와 같이 인접한 높이 레벨간의 단면의 변화량에 추가적으로, 단면의 영상비까지 고려한 최종 특징 벡터 x를 이용할 수도 있다. 최종 특징 벡터 x는 아래의 수학식 3과 같이 계산될 수 있다.
상기 수학식 3에서 특징 벡터 s는 후보 영역 각각의 높이 레벨에 따른 단면의 면적을 나타낸다. 벡터 d는 각각의 인접한 높이 레벨 간의 면적 변화량을 나타낸다. 벡터 r은 각각의 면적의 영상비를 나타낸다.
α k는 최종 특징 벡터의 각각의 원소에 대한 가중치를 나타낸다. s i는 특징 벡터의 i 번째 원소를 나타낸다. 예를 들어, 특징 벡터 s는 후보 영역의 높이 레벨에 따른 면적(예를 들어, 컨벡스 헐 면적)을 나타낼 수 있다. 즉, s 1 은 첫 번째 높이 레벨(즉, 후보 영역의 가장 높은 지점을 포함하는 높이 레벨)에 해당하는 면적을 의미한다. 벡터 d는 특징 벡터 s의 i 번째 원소와 i+1 번째 원소의 차이값(delta)에 해당한다. 예를 들어, d 1 은 s i + 2 과 s 1 의 차이값을 나타낸다. r i 은 각각의 면적에서 단축의 길이를 장축의 길이로 나눈 값으로 0 초과 1 미만의 값을 가질 수 있다.
다음으로, 미리 학습된 분류기(classifier)를 이용하여, 후보 영역의 특징 벡터를 가지는 객체가 사람인지 여부를 판별할 수 있다. 즉, 실제 사람인 객체가 가지는 특징 벡터의 다수의 샘플을 누적 학습함으로써 결정되는 비교 기준 특징 벡터와, 깊이 카메라에 의해 획득된 깊이 영상으로부터 도출되는 후보 영역의 특징 벡터의 매칭여부(또는 유사도)에 근거하여, 매칭되는 경우에(또는 유사도가 높을수록) 해당 객체가 사람인 것으로 판정할 수 있다.
또한, 분류기 학습은 사람 객체를 포함하는 깊이 영상과 사람 객체를 포함하지 않는 깊이 영상에 대한 다수의 샘플을 저장하는 데이터베이스를 이용하여, 서포트 벡터 머신(SVM), 부스팅(boosting) 등의 머신 학습 알고리즘을 이용하여 구현될 수 있다. 머신 학습 알고리즘은 깊이 카메라의 방식, 영상 특성, 특징 벡터의 특성 등에 따라서 적절한 것을 적용할 수 있다.
방문객 출입 통계 분석 방법 및 장치
방문객 출입 통계 정보는 매장이나 시설을 운영함에 있어 매우 유용한 정보이다. 예를 들어, 전국 각지에 많은 수의 매장을 보유한 업체에서 각 매장 별로 고객이 방문한 기록에 대한 통계를 이용하여 매장 여건에 맞는 운영 전략을 수립할 수 있다. 방문 고객수에 비해서 매출이 작은 매장은 방문한 고객으로부터 매출을 얻는데 보다 중점을 두고 매출에 비해 방문 고객수가 적다면 방문 고객을 늘리는데 중점을 두어 매장을 운영할 수 있다. 또, 대형 쇼핑몰이나 백화점과 같이 규모가 넓은 매장에서는 주요 이동 지점을 지나는 고객의 수와 시간에 대한 통계 정보로 고객이 주로 이동하는 방향의 흐름이나 동선을 분석하여 전략적으로 상품을 배치할 수도 있다. 뿐만 아니라, 일 평균 방문객 수, 요일 별 방문객 수, 시간대별, 계절별, 이벤트 여부 등 다양한 상황에 따른 방문 고객의 출입 데이터와 이를 바탕으로 한 통계 및 분석 결과를 활용하여 마케팅 전략이나 운영 전략을 세우는데 활용할 수 있다. 이와 같은 방문객 통계 및 분석 정보는 대형마트나 백화점 또는 대규모 가맹점을 보유한 체인점 등 다수의 매장을 보유하거나 운영하는 업종뿐만 아니라 박물관이나 테마파크 등 방문객이 많은 관광지나 랜드마크 시설 등에서도 혼잡 예측 및 운영 효율성 향상 등에 활용할 수 있어 최근 들어 그 수요가 크게 증가하고 있다.
방문객의 출입 기록에 기반한 고객 분석 정보를 생성 및 이용하기 위해서는 사람이 들어오고 나가는 출입 상황을 오차 없이 정확하게 검출하는 것이 중요하다. 이를 위해서 전술한 본 발명의 예시들에서 설명한 바와 같은 깊이 영상 기반 사람 검출 방법 및 장치를 이용할 수 있다. 나아가, 정확한 사람 검출 정보를 기반으로 방문객 출입 여부를 감지하고 이를 이용하여 방문객 출입 통계 정보를 산출함으로써 전술한 바와 같은 고객 분석을 수행할 수 있다.
이하에서는, 방문객 출입 통계 정보 분석 방법 및 장치에 대한 본 발명의 다양한 예시들에 대해서 구체적으로 설명한다.
도 12는 본 발명에 따른 방문객 출입 통계 분석 시스템을 나타내는 도면이다.
복수의 출입 감지기(1210-1, 1210-2, ..., 1210-N)는 하나의 출입 영역에 대해서 사람이 들어오고 나감을 감지하는 장치이다. 물론, 하나의 출입 영역에 대해서 하나의 출입 감지기가 설치 및 이용될 수도 있다. 예를 들어, 출입 감지기의 각각은 전술한 3차원 카메라를 이용하는 깊이 영상 기반 사람 검출 장치를 포함할 수 있다.
복수의 출입 감지기(1210-1, 1210-2, ..., 1210-N)의 각각은 네트워크를 통해 출입 통계 서버(1220) 및 출입 감지기 제어 서버(1240)와 연결될 수 있다. 출입 감지기(1210-1, 1210-2, ..., 1210-N)의 각각은 출입 상황이 감지되면, 출입 정보를 출입 통계 서버(1220)로 전송할 수 있다. 출입 정보는, 예를 들어, 감지 시간과 출입한 사람의 수 및 해당 감지기의 식별 정보(예를 들어, 매장 및 출입 영역 위치에 대한 정보 등) 등을 포함할 수 있다.
출입 통계 서버(1220)는 출입 감지기들(1210-1, 1210-2, ..., 1210-N)로부터 수신된 출입 정보를 같은 그룹(예를 들어, 하나의 매장의 여러 출입구에 설치된 감지기들)의 출입 감지기별로 취합하고, 체류시간, 입/출 계수, 시간대별, 일별, 월별, 요일별에 대한 누적이나 평균 등의 각종 통계치를 산출하여 데이터베이스(1230)에 저장할 수 있다.
출입 감지기 제어 서버(1240)는 출입 감지기들(1210-1, 1210-2, ..., 1210-N)의 운용과 유지보수를 위해서 원격으로 출입 감지기(1210-1, 1210-2, ..., 1210-N)를 모니터링하고 제어할 수 있다. 또한, 출입 감지기 제어 서버(1240)는 출입 감지기(1210-1, 1210-2, ..., 1210-N) 각각의 상태를 모니터링하고 동작 상태를 데이터베이스(1230)에 저장하고 웹 서버(1250)를 통한 사용자 단말기(1270)로부터의 요청 및 출입 감지기 제어 단말기(1260)를 통한 관리자의 요청 등을 처리할 수 있다.
출입 감지기 제어 단말기(1260)는 네트워크를 통해 출입 감지기 제어 서버(1240)에 연결되고 출입 감지기 제어서버의 중계를 통해 출입 감지기(1210-1, 1210-2, ..., 1210-N)를 모니터링하고 제어할 수 있다.
웹 서버(1250)는 데이터베이스(1230)에 저장된 출입 정보를 네트워크를 통해 접속한 사용자 단말기(127)에게 제공할 수 있다.
출입 통계 서버(1220), 데이터베이스(1230), 출입 감지기 제어 서버(1240), 웹 서버(1250)는 전체가 하나의 물리적인 서버로 구성될 수도 있으며, 또는 각각이 별개의 물리적인 서버로 구성되어 네트워크를 통해 연결될 수도 있다.
도 13은 출입 감지기의 일례를 나타낸 구성도이다.
도 13에서 깊이 카메라(110-1, 110-2, ..., 110-N), 단말 전처리부(영상 수신부(120-1, 120-2, ..., 120-N), 좌표 변환부(121-1, 121-2, ..., 121-N), 높이맵 생성부(122-1, 122-2, ..., 122-N)), 사람 검출부(분석 대상 높이맵 생성부(130), 후보 영역 결정부(140), 특징 정보 추출부(150), 사람 판정부(160))에 대한 구성은 도 6의 예시와 동일하므로 중복되는 설명은 생략한다.
도 13에서 출입 정보 처리부(1300)는 사람 검출부(분석 대상 높이맵 생성부(130), 후보 영역 결정부(140), 특징 정보 추출부(150), 사람 판정부(160)), 이동 추적 및 판정부(1310) 및 출입 정보 전송 처리부(1320)를 포함할 수 있다. 여기서, 이동 추적 및 판정부(1310) 및 출입 정보 전송 처리부(1320)는 도 6의 예시에서 객체 추적 및 계수부(170)에 포함될 수도 있다.
도 14는 본 발명에 따른 높이맵 생성을 예시적으로 나타내는 도면이다.
도 6에서 설명한 바와 같이 출입 영역을 하나의 깊이 카메라로 커버할 수 없는 경우에는 하나의 출입 영역에 대해서 복수의 깊이 카메라를 이용할 수 있으며, 복수의 깊이 카메라에 대응하는(110-1, 110-2, ..., 110-N) 복수의 단말 전처리부에서는 영상 수신, 좌표 변환, 높이맵 생성을 병렬적으로 처리할 수 있다.
도 14의 좌측 도면은 하나의 깊이 카메라로부터 획득되는 영상, 즉, 좌표 변환이 적용되기 전의 깊이 영상을 예시적으로 나타낸다. 도 14의 우측 도면은 획득된 깊이 영상에 대해서 좌표 변환이 적용되어 생성된 높이맵을 예시적으로 나타낸다.
도 15는 본 발명에 따른 분석 대상 높이맵 생성을 예시적으로 나타내는 도면이다.
예를 들어, 깊이 카메라 1에 의해서 획득된 깊이 영상 1에 대해서 단말 전처리부에 의해서 좌표 변환을 거쳐 높이맵 1이 생성될 수 있다. 마찬가지로, 깊이 카메라 2에 의해서 획득된 깊이 영상 2에 대해서 단말 전처리부에 의해서 좌표 변환을 거쳐 높이맵 2가 생성될 수 있다. 이와 같이, N 개의 깊이 카메라의 각각에 의해서 획득된 N 개의 깊이 영상으로부터 N 개의 높이맵이 생성될 수 있다.
분석 대상 높이맵 생성부(130)는 복수의 높이맵(예를 들어, 높이맵 1, ..., 높이맵 N)에 기초하여 분석 대상 높이맵을 생성할 수 있다. 이에 대해서 분석 대상 높이맵에 기반하여 후보 영역을 결정하고, 특징 정보를 추출하여, 해당 후보 영역이 사람인지 판정할 수 있다.
이동 추적 및 출입 판정부(1310)는 사람으로 판정된 후보 영역과 해당 후보 영역의 위치에 대한 정보를 사람 검출부(예를 들어, 사람 판정부(160))로부터 전달 받아서, 이동 궤적 분석을 통해서 사람이 들어오는 상황인지 나가는 상황인지를 결정하여 출입 정보(예를 들어, 감지 시간과 출입한 사람의 수 및 해당 감지기의 식별 정보 등)를 생성할 수 있다. 이동 추적 및 출입 판정부(1310)의 구체적인 동작에 대해서는 도 16을 참조하여 후술한다.
출입 정보 전송 처리부(1320)는 이동 추적 및 출입 판정부(1310)로부터 출입 정보를 전달 받아서 서버(예를 들어, 출입 통계 서버(1220), 출입 감지기 제어 서버(1240), 웹 서버(1250) 중의 하나 이상)로 전달할 수 있다.
분석 대상 높이맵 생성부(130), 후보 영역 결정부(140), 특징 정보 추출부(150), 사람 판정부(160), 이동 추적 및 출입 판정부(1310) 및 출입 정보 전송 처리부(1320)는 물리적으로 단말 전처리부와 별개의 장치로 분리된 출입 정보 처리부(1300)로 구성될 수도 있고, 출입 정보 처리부(1300)와 단말 전처리부가 하나의 물리적인 장치로 구성될 수도 있다.
도 16은 본 발명에 따른 이동 추적 및 출입 판정 동작을 설명하기 위한 도면이다.
이동 추적 및 출입 판정을 위해서 연속적인 깊이 영상 프레임에서 매 영상 프레임마다 이동 궤적을 분석하여 출입 여부를 판정할 수 있다. 구체적으로, 연속적인 깊이 영상 프레임의 각각에 대해서 사람 검출 결과가 존재하는지 여부를 판정할 수 있다. 만약 n 번째 깊이 영상 프레임에서 사람 검출 결과가 존재하는 경우에는, n 번째 깊이 영상 프레임에 후속하는 하나 이상의 (즉, n+1 번째, n+2 번째, ...) 깊이 영상 프레임의 각각에서 사람이 검출된 3 차원 위치에 기초하여 사람의 이동 경로를 생성할 수 있다. 즉, 사람 검출 결과가 처음으로 발생한 깊이 영상 프레임으로부터 사람 검출 결과가 존재하지 않는 깊이 영상 프레임의 직전 프레임까지에서 사람이 검출된 3 차원 위치를 연결하여 이동 경로를 생성할 수 있다. 하나의 이동 경로가 결정되면(즉, 이동 경로가 종료되면), 사람이 들어오는 상황인지 나가는 상황인지를 판별할 수 있다.
단계 S1610에서는 n 번째 깊이 영상 프레임에서 사람 검출 결과가 존재하는지 판정할 수 있다. 만약 사람 검출 결과가 존재하는 경우에는 단계 S1620으로 진행하여 기존 경로가 하나 이상 존재하는지를 판정할 수 있다. 만약 사람 검출 결과가 존재하지 않는 경우에는 단계 S1670으로 진행하여 종료된 경로가 존재하는지 판정할 수 있다.
단계 S1620에서 기존 경로가 하나 이상 존재하는 경우에는 단계 S1630으로 진행하여 추가 가능 경로가 존재하는지 판정할 수 있다. 만약 단계 S1620에서 기존 경로가 존재하지 않는 경우에는 단계 S1660으로 진행하여 새로운 경로를 생성할 수 있다. 즉, n 번째 프레임에서 새로 검출된 사람 위치는 기존에 검출된 사람이 이동한 것으로 판정할 수 없고, 새로운 사람이 이동을 시작한 것으로 판정할 수 있다. 새로운 경로를 생성한 후에는 단계 S1650으로 진행하여 깊이 영상의 후속 프레임을 처리하기 위해서 n 값을 1 만큼 증가시킬 수 있다. 이에 따라, 다시 단계 S1610로 돌아가서 후속 프레임에서 사람 검출 결과가 존재하는지 판정할 수 있다.
단계 S1630에서는 추가 가능 경로가 존재하는지 판정할 수 있다. 여기서, 추가 가능 경로가 존재하는지를 판정하기 위해서는, 기존 경로의 마지막 지점과 새로운 이동 경로 상의 위치가 공간 및 시간적으로 근접해야 한다. 기존 경로와 공간 및 시간적으로 근접한지 여부는 공간상의 소정의 임계치(즉, 공간 임계치)와 시간상의 소정의 임계치(즉, 시간 임계치)를 설정하고, 기존 경로의 마지막 위치를 기준으로 공간 임계치 이내의 위치에서 사람이 검출되면서 기존 경로에서 사람이 검출된 마지막 시점을 기준으로 시간 임계치 이내에서 사람이 검출되는 경우에는, 추가 가능 경로가 존재하는 것으로 판정할 수 있다. 이와 같이 단계 S1630에서 추가 가능 경로가 존재하는 것으로 판정된 경우 단계 S1640으로 진행하여 매칭된 기존 경로에 새로 검출된 사람 위치를 추가하여 경로를 업데이트할 수 있다. 경로를 업데이트 한 후에는 단계 S1650으로 진행하여 깊이 영상의 후속 프레임을 처리하기 위해서 n 값을 1 만큼 증가시킬 수 있다. 이에 따라, 다시 단계 S1610로 돌아가서 후속 프레임에서 사람 검출 결과가 존재하는지 판정할 수 있다.
만약 기존 경로의 사람이 검출된 마지막 위치를 기준으로 공간 임계치를 초과하는 위치에서 사람이 검출되거나, 또는 기존 경로에서 사람이 검출된 마지막 시점을 기준으로 시간 임계치를 초과하는 시점에서 사람이 검출되는 경우에는, 새로 검출된 사람 위치가 기존 경로 상에 추가될 수 없는 것으로 판정할 수 있다. 이와 같이, 단계 S1630에서 추가 가능 경로가 존재하지 않는 것으로 판정되는 경우에는 단계 S1660으로 진행하여 새로운 경로를 생성할 수 있다. 즉, n 번째 프레임에서 새로 검출된 사람 위치는 기존에 검출된 사람이 이동한 것으로 판정할 수 없고, 새로운 사람이 이동을 시작한 것으로 판정할 수 있다. 새로운 경로를 생성한 후에는 단계 S1650으로 진행하여 깊이 영상의 후속 프레임을 처리하기 위해서 n 값을 1 만큼 증가시킬 수 있다. 이에 따라, 다시 단계 S1610로 돌아가서 후속 프레임에서 사람 검출 결과가 존재하는지 판정할 수 있다.
단계 S1670에서는 종료된 경로가 존재하는지 판정할 수 있다. 즉, 단계 S1610에서 깊이 영상 프레임에서 사람 검출 결과가 존재하지 않는 것으로 판정되는 경우에, 사람의 이동이 종료된 것인지를 결정할 수 있다. 여기서, 종료된 경로를 판정하기 위해서는 종료 판정을 위한 소정의 임계치(즉, 종료 임계치)를 설정하고, 기존의 경로에서 사람이 검출된 마지막 시점을 기준으로 현재 프레임이 입력된 시점까지 경과된 시간이 종료 임계치 이내이면 아직 경로가 종료되지 않은 것으로 판정할 수 있다. 즉, 단계 S1670에서 종료된 경로가 존재하지 않는 것으로 판정되는 경우에는 단계 S1650으로 진행하여 깊이 영상의 후속 프레임을 처리하기 위해서 n 값을 1 만큼 증가시킬 수 있다. 이에 따라, 다시 단계 S1610로 돌아가서 후속 프레임에서 사람 검출 결과가 존재하는지 판정할 수 있다.
단계 S1670에서 기존의 경로에서 사람이 검출된 마지막 시점을 기준으로 현재 프레임이 입력된 시점까지 경과된 시간이 종료 임계치를 초과하는 경우에는 해당 경로가 종료된 것으로 판정할 수 있다. 경로가 종료된 경우에는 단계 S1680으로 진행하여 출입 판별을 수행할 수 있다.
단계 S1680에서는 미리 설정된 출입 기준선을 기준으로, 종료된 경로의 시작 위치 및 종료 위치와 출입 기준선을 비교하여 출입 여부를 판정할 수 있다. 예를 들어, 종료된 경로의 시작 위치 및 종료 위치가 출입 기준선을 기준으로 각각 외부 위치 및 내부 위치에 해당하는 경우, 방문객이 들어온 것으로 판정할 수 있다. 또는, 종료된 경로의 시작 위치 및 종료 위치가 출입 기준선을 기준으로 각각 내부 위치 및 외부 위치에 해당하는 경우, 방문객이 나간 것으로 판정할 수 있다. 만약 종료된 경로의 시작 위치 및 종료 위치가 출입 기준선을 기준으로 모두 외부 위치이거나 또는 모두 내부 위치인 경우에는 방문객 출입 계수에 고려하지 않을 수도 있다.
도 12를 참조하여 설명한 출입 감지기(1210-1, 1210-2, ..., 1210-N), 출입 통계 서버(1220), 데이터베이스(1230), 출입 감지기 제어 서버(1240), 웹 서버(1250), 출입 감지기 제어 단말기(1260), 사용자 단말기(1270)의 동작에 대한 본 발명의 예시에 대해서 이하에서 설명한다.
다수의 매장을 보유하는 업체의 본사에 출입 통계 서버(1220)가 위치하고 각 매장마다 출입 구역의 개수만큼 출입 감지기(1210-1, 1210-2, ..., 1210-N)가 존재하는 경우를 가정한다. 이 경우, 출입 감지기(1210-1, 1210-2, ..., 1210-N)에서는 출입 상황이 발생할 때마다 또는 설정된 시간 단위마다 누적된 출입 정보를 출입 통계 서버(1220)로 전송할 수 있다. 예를 들어, 한 사람이라도 들어오거나 나갈 때 마다 출입 정보를 전송할 수도 있고, 10초, 1분 등의 지정된 시간 간격마다 해당 시간내에 누적된 출입 정보를 출입 통계 서버(1220)로 전송할 수도 있다.
출입 감지기(1210-1, 1210-2, ..., 1210-N)에서 출입 통계 서버(1220)로 전송되는 출입 정보는, 예를 들어, 출입 감지기 ID, 출입 발생 시각, 입장수, 퇴장수 등을 포함할 수 있다. 출입 감지기(1210-1, 1210-2, ..., 1210-N)의 ID는 출입 감지기가 설치된 매장과 출입구역을 식별할 수 있는 식별정보일 수 있다. 출입 발생 시각은 출입 상황이 발생한 시각이며, 입장수와 퇴장수는 동시에 또는 설정된 시간 간격 내에서 들어오거나 나간 사람의 수이다.
출입 통계 서버(1220)에서는 출입 감지기로부터 전송되는 출입 정보를 데이터베이스(1230)에 기록하고 설정된 일정 시간 주기로 출입 정보로부터 산출된 통계정보를 데이터베이스(1230)에 기록할 수 있다. 출입 통계 서버(1220)가 데이터베이스(1230)에 기록하는 통계 정보는, 예를 들어, 매장별 시간대에 따른 입장 수, 퇴장 수, 체류 수, 평균 체류 시간 등을 포함할 수 있다.
또한, 출입 통계 서버(1220)는 이러한 통계 정보로부터 산출가능한 부가정보도 산출하여 데이터베이스(1230)에 기록할 수 있다. 부가 정보에는, 예를 들어, 월별, 주별, 연별 등 시기와 기간에 따른 각각의 출입구역별, 매장별 또는 특정한 매장 그룹별 입장/퇴장 통계치 등을 포함할 수 있다.
출입 감지기 제어 서버(1240)는 다음과 같은 동작을 지원할 수 있다. 예를 들어, 출입 감지기(1210-1, 1210-2, ..., 1210-N)를 설치 및 구축하거나 유지보수하는 시스템 관리자에 해당하는 사용자는 전용의 출입 감지기 제어 단말(1260)을 이용하여 출입 감지기 제어 서버(1240)에 접속하여 전체 매장에 설치된 각 출입 감지기(1210-1, 1210-2, ..., 1210-N)의 상태를 확인하고 출입 감지기(1210-1, 1210-2, ..., 1210-N)의 동작을 제어하거나 설정할 수 있다. 또는, 시스템 관리자는 출입 감지기 제어 단말(1260)을 통하지 않더라도 일반적인 웹 브라우저를 이용하여 방문객 출입 통계 분석 서비스의 관리자용 웹 페이지로 접속하여 출입 감지기 제어 서버(1240)와 연동되는 웹 서버(1250)를 이용하여 출입 감지기(1210-1, 1210-2, ..., 1210-N)를 제어할 수도 있다.
도 17은 출입 감지기 제어 단말(1260) 또는 웹 브라우저를 이용한 출입 감지기 제어 화면을 예시적으로 나타낸다. 출입 감지기 제어 단말(1260)과 출입 감지기 제어 서버(1240)는 출입감지기(1210-1, 1210-2, ..., 1210-N)의 목록, 각각의 출입 감지기(1210-1, 1210-2, ..., 1210-N)에서 획득된 영상, 높이맵, 분석 대상 높이 맵, 각각의 출입 감지기(1210-1, 1210-2, ..., 1210-N)동작 설정 값 등에 대한 정보를 주고 받을 수 있다. 예를 들어, 특정 출입 감지기의 주소 및 포트를 설정하고 디바이스 ID를 선택함으로써 해당 출입 감지기와 연결할 수 있다. 또한, 연결된 특정 출입 감지기의 카메라 파라미터 설정은 컬러 여부, 미러링 여부, 상하 반전 여부, 아웃사이드 여부에 대한 설정 등을 포함하고, 카메라 높이 및 각도를 설정할 수 있다. 또한, 출입 감지기가 커버하는 경계(boundary)를 상, 하, 전, 좌(Top, Bottom, Front, Left) 값을 이용하여 설정할 수도 있다. 또한, 출입 기준선(In/Out Line)을 입장 기준선과 퇴장 기준선을 구분하여 설정할 수도 있다.
또한, 출입 감지기 제어 단말(1260)에서 출입 감지기 제어 서버(1240)로 접속하여, 출입 감지기 제어 단말(1260)의 클라이언트 ID를 출입 감지기 제어 서버(1240)로 전송할 수 있고, 출입 감지기 제어 서버(1240)는 클라이언트 ID 인증을 수행하고 및 인증 결과를 출입 감지기 제어 단말(1260)로 전송할 수 있다. 또한, 출입 감지기 제어 단말(1260)에서 출입 감지기 제어 서버(1240)로 출입 감지기 목록을 요청하고, 출입 감지기 제어 서버(1240)에서 출입 감지기 목록을 출입 감지기 제어 단말(1240)로 전송할 수도 있다. 또한, 출입 감지기 제어 단말(1260)에서 특정 출입감지기에 대한 제어 권한을 출입 감지기 제어 서버(1240)에게 요청하고, 출입 감지기 제어 서버(1240)에서 권한 승인여부를 판단하여 및 승인 여부를 출입 감지기 제어 단말(1240)로 통지할 수도 있다. 또한, 출입 감지기 제어 단말(1260)이 출입 감지기 제어 서버(1240)에게, 특정 출입감지기의 영상 스트리밍 전송을 요청하거나, 특정 출입 감지기의 동작 상태 및 설정 값을 요청하거나, 특정 출입 감지기의 동작 상태 및 설정 값 변경을 요청할 수도 있다. 전술한 설명에서 출입 감지기 제어 단말(1260)의 동작은 일반적인 웹 브라우저를 이용하여 방문객 출입 통계 분석 서비스의 관리자용 웹 페이지를 통한 관리 클라이언트의 동작으로도 적용될 수 있다.
도 18 및 도 19는 방문객 출입 통계 분석 정보를 예시적으로 나타내는 도면이다.
웹 서버(1250)는 사용자 또는 관리자에게 필요한 정보를 다른 개체(예를 들어, 출입 통계 서버(1220), 데이터베이스(1230), 출입 감지기 제어 서버(1240) 등)로부터 입수하거나 입수된 정보를 가공함으로써 생성하여, 도 18과 같은 웹 페이지를 사용자 또는 관리자에게 제공함으로써 출입 통계 정보, 출입 감지기 정보, 매장 정보 등을 확인하고 관리하는 기능을 제공할 수 있다.
예를 들어, 웹 서버(1250)는 입장객수, 기준값 대비 입장객 수의 변화량, 퇴장객수, 기준값 대비 퇴장객 수의 변화량, 현재 체류 인원, 평균 체류 시간, 최대 체류 시간대, 최소 체류 시간대 등에 대한 정보를 생성 및 제공할 수 있다.
또한, 웹 서버(1250)는 복수의 출입 감지기에 대응되는 복수의 카메라 각각에 대한 입장객 비율에 대한 정보 및 퇴장객 비율에 대한 정보를 생성 및 제공할 수 있다.
또한, 웹 서버(1250)는 방문객의 성별 및 나이에 대한 정보(예를 들어, 얼굴 검출 정보와 연동, 또는 기저장된 방문객 식별정보와 연동 방식 등으로 획득되는 정보)에 기초하여, 성별 입장객 비율 정보 및 나이별 입장객 비율 등에 대한 정보를 생성 및 제공할 수 있다.
또한, 웹 서버(1250)는 복수의 출입 감지기에 대응되는 복수의 카메라의 각각에 의해서 촬영되는 영상을 실시간으로 제공할 수도 있다.
또한, 웹 서버(1250)는 시간대 별 입장객수, 퇴장객수, 쳬류인원수, 누적 입장객수, 누적 퇴장객수, 평균 체류시간에 대한 세부적인 통계치를 생성 및 제공할 수 있다.
전술한 본 발명의 다양한 실시 예에서 설명한 사항들은 독립적으로 적용되거나 또는 2 이상의 실시 예가 동시에 적용될 수도 있다.
전술한 본 발명의 다양한 실시 예에서 설명하는 예시적인 방법은 설명의 간명함을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 또한, 본 발명에서 제안하는 방법을 구현하기 위해서 예시하는 모든 단계가 반드시 필요한 것은 아니다.
본 발명의 범위는 본 발명에서 제안하는 방안에 따른 동작을 처리 또는 구현하는 장치를 포함한다.
본 발명의 범위는 본 발명에서 제안하는 방안에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어(또는, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 매체(medium)를 포함한다.
110 깊이 카메라 120 영상 수신부
121 좌표 변환부 122 높이맵 생성부
130 분석 대상 높이맵 생성부 140 후보 영역 결정부
150 특징 정보 추출부 160 사람 판정부
170 객체 추적 및 계수부
121 좌표 변환부 122 높이맵 생성부
130 분석 대상 높이맵 생성부 140 후보 영역 결정부
150 특징 정보 추출부 160 사람 판정부
170 객체 추적 및 계수부
Claims (19)
- 깊이 영상을 이용하여 사람을 검출하는 방법에 있어서,
하나 이상의 깊이 카메라로부터 하나 이상의 깊이 영상을 획득하는 단계;
상기 하나 이상의 깊이 영상을 이용하여 분석 대상 높이맵을 생성하는 단계;
상기 분석 대상 높이맵에서 하나 이상의 후보 영역을 결정하는 단계;
상기 하나 이상의 후보 영역으로부터 높이 레벨에 따른 면적의 변화를 고려한 특징 정보를 추출하는 단계; 및
상기 특징 정보에 기초하여 상기 하나 이상의 후보 영역으로부터 사람 객체가 검출되는지 판정하는 단계를 포함하되,
상기 분석 대상 높이맵을 생성하는 단계는, 상기 분석 대상 높이맵을 상기 하나 이상의 깊이 영상의 각각으로부터 생성되는 복수의 높이맵의 합성에 의해 생성하되,
상기 하나 이상의 깊이 영상의 각각에 대해서 좌표 변환이 적용되고, 상기 좌표 변환이 수행된 깊이 영상을 기준으로 상기 복수의 높이맵이 생성되며,
상기 좌표 변환은, 하나의 깊이 카메라에서 획득되는 하나의 깊이 영상의 화소 깊이 정보로부터 카메라 기준 좌표계의 3차원 좌표로 변환하는 과정과 상기 카메라 기준 좌표계의 3차원 좌표를 실세계 좌표계 상의 3차원 좌표로 변환하는 과정을 포함하는, 사람 검출 방법. - 제 1 항에 있어서,
상기 특징 정보는 하나의 후보 영역에서 높이 레벨에 따른 면적 및 상기 높이 레벨에 따른 면적의 변화량에 대한 정보를 포함하고,
상기 특징 정보는 높이 레벨에 따라 분류된 복수개의 좌표 그룹의 각각에 속한 좌표들이 차지하는 면적을 나타내는 원소들을 포함하는 특징 벡터를 포함하는, 사람 검출 방법. - 제 2 항에 있어서,
상기 특징 벡터의 하나의 원소는, 하나의 높이 레벨에 대응하는 하나의 좌표 그룹에 속하는 좌표들에 대한 컨벡스 헐(convex hull)의 면적을 나타내는, 사람 검출 방법. - 제 2 항에 있어서,
상기 특징 정보는 인접한 높이 레벨 간의 면적 변화량에 가중치가 적용된, 사람 검출 방법. - 제 2 항에 있어서,
상기 특징 정보는 인접한 높이 레벨 간의 면적 변화량과 각각의 면적의 영상비에 가중치가 적용된, 사람 검출 방법. - 제 1 항에 있어서,
상기 특징 정보는 사람의 머리 부분에 대응하는 하나 이상의 높이 레벨에 따른 면적과, 사람의 어깨부터 상반신 부분에 대응하는 하나 이상의 높이 레벨에 따른 면적에 대한 정보를 포함하는, 사람 검출 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 제 1 항에 있어서,
상기 카메라 기준 좌표계의 3차원 좌표로 변환하는 과정은 아래의 수학식에 따라 정의되고,
i 는 상기 하나의 깊이 영상의 화소의 행 인덱스 및 열 인덱스를 각각 나타내고,
d는 상기 깊이 정보의 값을 나타내고,
x, y, z는 상기 카메라 기준 좌표계의 X축, Y축, Z축 상의 값을 각각 나타내고,
ρhor , ρver 는 상기 하나의 깊이 영상의 수평 해상도 및 수직 해상도를 각각 나타내고,
θhor , θver 는 상기 하나의 깊이 카메라의 수평 및 수직 FOV(Field Of View)를 각각 나타내는, 사람 검출 방법. - 제 11 항에 있어서,
상기 카메라 기준 좌표계의 3차원 좌표로부터 상기 실세계 좌표계 상의 3차원 좌표로 변환하는 과정은,
상기 카메라 기준 좌표계의 X축, Y축, Z축을 각각 φ,θ,ψ 만큼 회전변환하고,
H 만큼 이동 변환하고,
X-Y 평면에 대한 리플렉션 변환하는 것을 포함하며,
H는 하나의 카메라가 설치된 높이를 나타내고,
φ,θ,ψ 는 상기 카메라 기준 좌표계의 X, Y, Z 축에서 하나의 카메라가 설치된 각도를 각각 나타내는, 사람 검출 방법. - 제 1 항에 있어서,
상기 하나 이상의 후보 영역의 각각은 하나의 지역 최고점을 포함하는, 사람 검출 방법. - 제 1 항에 있어서,
상기 하나 이상의 깊이 카메라의 각각의 설치 위치 또는 설치 각도 중의 하나 이상은 조절가능한, 사람 검출 방법. - 제 1 항에 있어서,
복수개의 깊이 카메라의 설치 위치 또는 설치 각도 중의 하나 이상이 서로 다른, 사람 검출 방법. - 제 1 항에 있어서,
상기 사람 객체가 검출되는지의 판정은, 미리 학습된 분류기를 이용하여 결정되는 사람 객체의 특징 정보에 상기 특징 정보가 매칭되는지에 기초하는, 사람 검출 방법. - 깊이 영상을 이용하여 사람을 검출하는 장치에 있어서,
하나 이상의 깊이 카메라로부터 하나 이상의 깊이 영상을 획득하는 영상 수신부;
상기 하나 이상의 깊이 영상을 이용하여 분석 대상 높이맵을 생성하는 분석 대상 높이맵 생성부;
상기 분석 대상 높이맵에서 하나 이상의 후보 영역을 결정하는 후보 영역 결정부;
상기 하나 이상의 후보 영역으로부터 높이 레벨에 따른 면적의 변화를 고려한 특징 정보를 추출하는 특징 정보 추출부; 및
상기 특징 정보에 기초하여 상기 하나 이상의 후보 영역으로부터 사람 객체가 검출되는지 판정하는 사람 판정부를 포함하되,
상기 분석 대상 높이맵을 생성하기 위해, 상기 하나 이상의 깊이 영상의 각각으로부터 생성되는 복수의 높이맵의 합성에 의해 생성하되,
상기 하나 이상의 깊이 영상의 각각에 대해서 좌표 변환이 적용되고, 상기 좌표 변환이 수행된 깊이 영상을 기준으로 상기 복수의 높이맵이 생성되며,
상기 좌표 변환은, 하나의 깊이 카메라에서 획득되는 하나의 깊이 영상의 화소 깊이 정보로부터 카메라 기준 좌표계의 3차원 좌표로 변환하는 과정과 상기 카메라 기준 좌표계의 3차원 좌표를 실세계 좌표계 상의 3차원 좌표로 변환하는 과정을 포함하는, 사람 검출 장치. - 깊이 영상을 이용하여 사람을 검출하는 장치에 의해 실행가능한 명령들을 가지는 소프트웨어가 저장된 컴퓨터-판독가능한 매체에 있어서,
상기 실행가능한 명령들은, 상기 장치로 하여금, 하나 이상의 깊이 카메라로부터 하나 이상의 깊이 영상을 획득하고; 상기 하나 이상의 깊이 영상을 이용하여 분석 대상 높이맵을 생성하고; 상기 분석 대상 높이맵에서 하나 이상의 후보 영역을 결정하고; 상기 하나 이상의 후보 영역으로부터 높이 레벨에 따른 면적의 변화를 고려한 특징 정보를 추출하고; 상기 특징 정보에 기초하여 상기 하나 이상의 후보 영역의 각각에서 사람 객체가 검출되는지 판정하도록 하되,
상기 분석 대상 높이맵을 생성하기 위해, 상기 하나 이상의 깊이 영상의 각각으로부터 생성되는 복수의 높이맵의 합성에 의해 생성하되,
상기 하나 이상의 깊이 영상의 각각에 대해서 좌표 변환이 적용되고, 상기 좌표 변환이 수행된 깊이 영상을 기준으로 상기 복수의 높이맵이 생성되며,
상기 좌표 변환은, 하나의 깊이 카메라에서 획득되는 하나의 깊이 영상의 화소 깊이 정보로부터 카메라 기준 좌표계의 3차원 좌표로 변환하는 과정과 상기 카메라 기준 좌표계의 3차원 좌표를 실세계 좌표계 상의 3차원 좌표로 변환하는 과정을 포함하는, 컴퓨터-판독가능한 매체. - 깊이 영상을 이용하여 사람의 출입을 판정하는 방법에 있어서,
상기 깊이 영상의 n 번째 프레임에서 사람 검출 결과가 존재하는지 판정하는 단계;
상기 n 번째 프레임에서 사람 검출 결과가 존재하는 경우, 기존 경로가 존재하는지 판정하는 단계;
상기 기존 경로가 존재하는 경우, 시간 임계치 및 공간 임계치에 기초하여 추가 가능 경로가 존재하는지 판정하는 단계;
추가 가능 경로가 존재하는 경우에 상기 기존 경로를 업데이트하는 단계; 및
상기 업데이트된 경로의 시작 위치 및 종료 위치에 기초하여 상기 사람의 출입을 판정하는 단계를 포함하고,
상기 기존 경로의 마지막 검출 위치와 상기 n 번째 프레임에서 사람 검출 결과의 위치의 차이가 상기 공간 임계치 이하이고, 상기 기존 경로의 마지막 검출 시점과 상기 n 번째 프레임에서 사람 검출 시점의 차이가 상기 시간 임계치 이하인 경우, 상기 추가 가능 경로가 존재하는 것으로 판정되는, 출입 판정 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20150096865 | 2015-07-08 | ||
KR1020150096865 | 2015-07-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170007070A KR20170007070A (ko) | 2017-01-18 |
KR102550673B1 true KR102550673B1 (ko) | 2023-07-03 |
Family
ID=57992102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150129820A KR102550673B1 (ko) | 2015-07-08 | 2015-09-14 | 방문객 출입 통계 분석 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102550673B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102506684B1 (ko) * | 2019-10-18 | 2023-03-07 | 주식회사 메이아이 | 방문자 정보 획득 방법 및 그 장치 |
KR102547265B1 (ko) | 2021-06-29 | 2023-06-22 | 단국대학교 산학협력단 | 실시간 재실자 계수 시스템 및 이를 위한 장치 |
TW202319957A (zh) * | 2021-11-05 | 2023-05-16 | 華捷智能股份有限公司 | 影像辨識系統及影像辨識方法 |
CN116188357B (zh) * | 2022-09-27 | 2024-07-19 | 珠海视熙科技有限公司 | 一种出入口人体检测方法、摄像设备、装置及存储介质 |
CN118402807A (zh) * | 2024-04-01 | 2024-07-30 | 赛诺威盛科技(北京)股份有限公司 | 立位扫描ct机使用深度相机实现安全防护的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003057007A (ja) * | 2001-08-10 | 2003-02-26 | Matsushita Electric Works Ltd | 距離画像を用いた人体検知方法 |
JP2013058054A (ja) * | 2011-09-08 | 2013-03-28 | Dainippon Printing Co Ltd | 移動体追跡装置、移動体追跡方法及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070031896A (ko) * | 2004-07-30 | 2007-03-20 | 마츠시다 덴코 가부시키가이샤 | 개체 검출기 및 동반입장 검출 디바이스 |
-
2015
- 2015-09-14 KR KR1020150129820A patent/KR102550673B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003057007A (ja) * | 2001-08-10 | 2003-02-26 | Matsushita Electric Works Ltd | 距離画像を用いた人体検知方法 |
JP2013058054A (ja) * | 2011-09-08 | 2013-03-28 | Dainippon Printing Co Ltd | 移動体追跡装置、移動体追跡方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20170007070A (ko) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102335045B1 (ko) | 깊이 카메라 기반 사람 객체를 판별하는 방법 및 장치 | |
US9646212B2 (en) | Methods, devices and systems for detecting objects in a video | |
KR102550673B1 (ko) | 방문객 출입 통계 분석 방법 및 장치 | |
Seer et al. | Kinects and human kinetics: A new approach for studying pedestrian behavior | |
KR101758576B1 (ko) | 물체 탐지를 위한 레이더 카메라 복합 검지 장치 및 방법 | |
US10489973B2 (en) | 3D face reconstruction from gate camera | |
Liu et al. | Detecting and counting people in surveillance applications | |
CN107079093B (zh) | 校准装置 | |
KR20190141892A (ko) | 실 공간에서 관심지점 관련 정보를 자동으로 수집 및 업데이트하는 방법 및 시스템 | |
WO2022160592A1 (zh) | 一种信息处理方法、装置、电子设备及存储介质 | |
US12039803B2 (en) | Techniques for automatically identifying secondary objects in a stereo-optical counting system | |
KR20200013155A (ko) | 관심 영역 변화를 검출하는 방법 및 시스템 | |
US20170256044A1 (en) | Device selecting apparatus, method and program | |
KR20160035121A (ko) | 깊이 영상정보에서 추출된 위치정보를 이용한 개체계수 방법 및 장치 | |
KR102106029B1 (ko) | 간판 검출 성능 향상을 위한 방법 및 시스템 | |
KR102189926B1 (ko) | 관심 영역 변화를 검출하는 방법 및 시스템 | |
US20210133491A1 (en) | System and method for detecting, tracking and counting human objects of interest with an improved height calculation | |
KR20120091970A (ko) | 객체 이미지 정합 시스템, 정합 장치 및 정합 방법과 상기 방법을 기록한 기록 매체 | |
JP2005250692A (ja) | 物体の同定方法、移動体同定方法、物体同定プログラム、移動体同定プログラム、物体同定プログラム記録媒体、移動体同定プログラム記録媒体 | |
US11496674B2 (en) | Camera placement guidance | |
Qiu et al. | Measuring in-building spatial-temporal human distribution through monocular image data considering deep learning–based image depth estimation | |
JP2005140754A (ja) | 人物検知方法、監視システム、およびコンピュータプログラム | |
WO2019156599A1 (en) | System and method of people's movement control | |
CN109447042A (zh) | 基于立体视觉技术实现置顶式客流监控处理的系统及方法 | |
KR101908005B1 (ko) | 지능형 카메라 시스템 및 이의 운용 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |