KR20230135962A - 영상의 사람 계수장치 및 방법 - Google Patents

영상의 사람 계수장치 및 방법 Download PDF

Info

Publication number
KR20230135962A
KR20230135962A KR1020220033580A KR20220033580A KR20230135962A KR 20230135962 A KR20230135962 A KR 20230135962A KR 1020220033580 A KR1020220033580 A KR 1020220033580A KR 20220033580 A KR20220033580 A KR 20220033580A KR 20230135962 A KR20230135962 A KR 20230135962A
Authority
KR
South Korea
Prior art keywords
information
area
frame image
head
whole body
Prior art date
Application number
KR1020220033580A
Other languages
English (en)
Inventor
조민형
강충헌
이병원
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020220033580A priority Critical patent/KR20230135962A/ko
Publication of KR20230135962A publication Critical patent/KR20230135962A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30242Counting objects in image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

본 개시의 일 측면에 의하면, 영상에서 사람을 검출하고 계수하는 사람 계수방법에 있어서, 상기 영상에 포함된 제1 프레임이미지에서 적어도 하나의 객체의 머리영역 및 전신영역을 검출하고, 상기 적어도 하나의 객체의 상기 머리영역 및 상기 전신영역에 대한 제1 트랙정보를 생성하는 과정; 상기 영상에 포함된 제2 프레임이미지에서 상기 적어도 하나의 객체와 대응되는 상기 적어도 하나의 객체의 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 검출하는 과정; 상기 제1 프레임에서 획득한 상기 제1 트랙정보와 상기 제2 프레임에서 검출한 상기 적어도 하나의 객체의 상기 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 매칭하여 제2 트랙정보를 생성하는 과정; 상기 제2 트랙정보를 기초로 상기 적어도 하나의 객체에 대한 동선정보를 생성하는 과정; 및 상기 적어도 하나의 객체에 대한 동선정보 및 미리 설정된 계수 기준선의 교점이 발생하였는지 여부를 결정하는 과정을 포함하는 사람 계수방법을 제공한다.

Description

영상의 사람 계수장치 및 방법{Method And Apparatus for Counting Number of Persons in Image}
본 개시는 영상에 존재하는 객체인 사람을 검출하고 계수하는 사람 계수장치 및 방법에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
컴퓨터의 처리 능력 향상 및 컴퓨터 비전 기술이 발전함에 따라 CCTV(closed circuit television) 카메라 영상을 컴퓨터가 실시간으로 분석하여 움직이는 객체들을 감지 및 추적하는 영상인식 기반의 영상 감시 시스템들이 개발되고 있다. 이러한 영상 감시 시스템은 침입 감지를 위한 보안시스템(security system)뿐만 아니라 특정 장소의 방문객 수를 세거나 교통량을 측정하는 통계 분석 시스템 등에도 광범위하게 활용될 수 있다.
영상 감시 시스템의 하나로서, 특정 장소를 촬영한 영상에서 사람을 감지하고, 영상 내 소정의 기준선을 지나가는 사람의 수를 셈하는 영상인식 기반의 사람계수장치가 이용되고 있다.
종래의 영상인식 기반의 사람 계수장치는 크게 사람의 머리를 검출하는 방법과 사람의 전신을 검출하는 방법으로 분류된다. 전신을 검출하는 방법은 사람이 소정의 기준선을 지나가는지 판별하는 기준이 되는 발의 위치를 정확하게 알 수 있는 장점이 있으나, 사람의 전신은 사람의 위치나 자세에 따라 형태가 변화하는 비정형 객체(deformable object)이고 다수가 등장하는 영상에서 타인에 의해서 가려짐(occlusion)이 빈번하게 발생하여 검출성능이 저하되는 문제점이 있다.
반면에, 머리를 검출하는 방법은 비교적 형태의 변화가 없으며, 가려짐의 발생빈도가 낮아 검출성능이 양호하지만, 사람이 소정의 기준선을 지나가는지 정확하게 판별하기 어려운 문제점이 존재한다.
이러한 문제점들을 해결하기 위해 머리의 위치와 발의 위치가 비슷하게 촬영되는 탑 뷰(top view) 영상을 이용하는 방법이나 다수의 카메라를 이용하는 방법 등이 제안 되었으나, 이러한 방법들은 카메라 설치위치의 제약이 있거나 다수의 카메라가 필요하다는 문제점이 있다.
일 실시예에 따르면, 영상의 사람 계수장치 및 방법은 사람의 머리영역과 전신영역을 동시에 검출하고, 이를 기초로 사람의 정확한 동선정보를 생성하여 사람을 계수할 수 있다.
다른 실시예에 따르면, 영상의 사람 계수장치 및 방법은 사람의 머리영역 및 전신영역 중 어느 하나의 영역만이 검출되는 경우에도, 상대위치 정보를 이용하여 다른 하나의 영역을 추정하고 사람의 동선정보를 생성하여 사람을 계수할 수 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 측면에 의하면, 영상에서 사람을 검출하고 계수하는 사람 계수방법에 있어서, 상기 영상에 포함된 제1 프레임이미지에서 적어도 하나의 객체의 머리영역 및 전신영역을 검출하고, 상기 적어도 하나의 객체의 상기 머리영역 및 상기 전신영역에 대한 제1 트랙정보를 생성하는 과정; 상기 영상에 포함된 제2 프레임이미지에서 상기 적어도 하나의 객체와 대응되는 상기 적어도 하나의 객체의 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 검출하는 과정; 상기 제1 프레임이미지에서 획득한 상기 제1 트랙정보와 상기 제2 프레임이미지에서 검출한 상기 적어도 하나의 객체의 상기 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 매칭하여 제2 트랙정보를 생성하는 과정; 및 상기 제2 트랙정보를 기초로 상기 영상에 존재하는 객체를 계수하는 과정을 포함하는 사람 계수방법을 제공한다.
본 개시의 다른 측면에 의하면, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하되, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 영상에 포함된 제1 프레임이미지에서 적어도 하나의 객체의 머리영역 및 전신영역을 검출하고, 상기 적어도 하나의 객체의 상기 머리영역 및 상기 전신영역에 대한 제1 트랙정보를 생성하고, 상기 영상에 포함된 제2 프레임이미지에서 상기 적어도 하나의 객체와 대응되는 상기 적어도 하나의 객체의 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 검출하고, 상기 제1 프레임이미지에서 획득한 상기 제1 트랙정보와 상기 제2 프레임이미지에서 검출한 상기 적어도 하나의 객체의 상기 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 매칭하여 제2 트랙정보를 생성하고, 상기 제2 트랙정보를 기초로 상기 영상에 존재하는 객체를 계수하는 사람 계수장치를 제공한다.
본 개시의 일 실시예에 의하면, 영상의 사람 계수장치 및 방법은 사람의 머리영역과 전신영역을 동시에 검출하고, 이를 기초로 사람의 정확한 동선정보를 생성하여 사람을 계수함으로써, 정확한 사람 계수가 가능한 효과가 있다.
본 개시의 다른 실시예에 의하면, 영상의 사람 계수장치 및 방법은 사람의 머리영역 및 전신영역 중 어느 하나의 영역만이 검출되는 경우에도, 상대위치 정보를 이용하여 다른 하나의 영역을 추정하고 사람의 동선정보를 생성하여 사람을 계수함으로써, 영상에서 다른 사람이나 장애물에 의하여 전신 일부에 가려짐이 발생한 사람도 계수할 수 있는 효과가 있다.
도 1은 본 개시의 일 실시예에 따른 사람 계수장치의 블록구성도이다.
도 2는 본 개시의 일 실시예에 따른 사람 계수장치가 영상에 존재하는 복수의 사람을 검출하는 과정을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시예에 따른 사람 계수장치가 제1 트랙정보와 제2 프레임이미지에서 검출한 머리영역 및 전신영역을 매칭하여 트랙정보를 획득하는 과정을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 사람 계수장치가 객체에 대한 동선정보 및 미리 설정된 계수 기준선의 교점이 발생하였는지 여부를 결정하는 과정을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 사람 계수방법을 설명하기 위한 순서도이다.
이하, 본 개시의 일부 실시예들을 예시적인 도면을 이용해 상세하게 설명한다. 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면 상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 개시에 따른 실시예의 구성요소를 설명하는 데 있어서, 제1, 제2, i), ii), a), b) 등의 부호를 사용할 수 있다. 이러한 부호는 그 구성요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 부호에 의해 해당 구성요소의 본질 또는 차례나 순서 등이 한정되지 않는다. 명세서에서 어떤 부분이 어떤 구성요소를 '포함' 또는 '구비'한다고 할 때, 이는 명시적으로 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
첨부된 도면과 함께 이하에 개시될 발명의 설명은 본 발명의 예시적인 실시 형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시 형태를 나타내고자 하는 것이 아니다.
도 1은 본 개시의 일 실시예에 따른 사람 계수장치의 블록구성도이다.
도 1을 참조하면, 일 실시예에 따른 사람 계수장치(100)는 입출력 인터페이스(input output interface, 110), 프로세서(processor, 120) 및 메모리(memory, 130)를 포함한다. 여기서, 사람 계수장치(100)가 포함하는 입출력 인터페이스(110), 프로세서(120) 및 메모리(130)는 버스(140)를 통하여 상호 데이터를 전송하는 것이 가능하다.
입출력 인터페이스(110)는 사람 계수장치(100)의 입력 데이터를 프로세서(120)에 제공한다. 여기서, 입력 데이터는 미리 설정된 위치에 고정적으로 설치된 카메라가 촬영한 특정 영역에 대한 영상에 포함되어 있는 복수의 프레임이미지(frame image)일 수 있다. 예를 들면, 입출력 인터페이스(110)는 출입관리, 방범 등의 보안 목적으로 건물의 내부 또는 외부에 설치된 CCTV 카메라가 촬영한 출입구 주변에 대한 영상에 포함된 복수의 프레임이미지를 프로세서(120)에 제공할 수 있다.
여기서, 복수의 프레임이미지는 영상의 프레임 단위로 시간의 흐름에 따라 획득된 이미지이다. 이하에서, 제1 프레임이미지 및 제2 프레임이미지는 단일 영상에서 순차적으로 획득된 복수의 프레임이미지 중 하나의 이미지이다.
제1 프레임이미지는 제2 프레임이미지보다 더 앞선 시점에 해당하는 이미지이다. 예를 들면, 제1 프레임이미지 및 제2 프레임이미지는 단일 영상에서 순차적으로 획득된 프레임이미지일 수 있으나 이에 한정되는 것은 아니다.
사람 계수장치(100)에 입력되는 복수의 프레임이미지에는 각각 적어도 하나 이상의 객체(object)가 포함될 수 있다. 여기서, 적어도 하나 이상의 객체는 영상 내에 존재하는 적어도 하나 이상의 보행중인 사람일 수 있다.
입출력 인터페이스(110)는 사람 계수장치(100)의 출력 데이터를 디스플레이 장치(미도시)를 이용하여 출력할 수 있다. 입출력 인터페이스(110)는 카메라가 촬영한 영상을 디스플레이를 이용하여 출력할 수 있고, 프로세서(120)가 검출한 적어도 하나 이상의 객체에 관한 바운딩박스(bounding box)가 표시된 영상을 출력할 수 있다.
프로세서(120)는 사람 계수장치(100)에 입력된 영상에 포함되어 있는 복수의 프레임이미지 중에서 제1 프레임이미지(first frame image)를 획득한다.
프로세서(120)는 제1 프레임이미지에 존재하는 적어도 하나 이상의 머리영역 및 적어도 하나 이상의 전신영역을 검출한다. 여기서, 머리영역은 이미지상에서 존재하는 사람의 머리에 해당하는 영역이고 전신영역은 이미지상에서 존재하는 사람의 전신에 해당하는 영역이다.
구체적으로는, 프로세서(120)는 머리영역에 대응되는 적어도 하나 이상의 머리영역 바운딩박스 및 전신영역에 대응되는 적어도 하나 이상의 전신영역 바운딩박스를 검출할 수 있다.
프로세서(120)는 검출한 적어도 하나 이상의 머리영역 및 적어도 하나 이상의 전신영역 중에서 동일한 객체에 해당하는 영역을 그룹핑(grouping)한다.
예를 들면, 제1 프레임이미지상에 존재하는 제1 객체의 머리영역에 해당하는 제1 머리영역 바운딩박스와 검출된 전신영역들 중에서 대응되는 제1 전신영역 바운딩박스를 그룹핑하고, 제2 객체의 머리영역에 해당하는 제2 머리영역 바운딩박스와 검출된 전신영역들 중에서 대응되는 제2 전신영역 바운딩박스를 그룹핑한다. 여기서, 프로세서(120)는 단일 객체에 대응되는 영역에 대한 바운딩박스에는 동일한 식별값을 부여하고, 동일한 식별값이 부여된 머리영역 바운딩박스 및 전신영역 바운딩박스를 그룹핑할 수 있다.
프로세서(120)는 딥러닝 알고리즘(deep learning algorithm)을 기초로 미리 학습된 머리 및 전신 검출모델(head and body detecting model)을 이용하여 머리영역 및 전신영역을 검출할 수 있다. 여기서, 미리 학습된 머리 및 전신 검출모델은 하나의 이미지에서 복수의 클래스(class)에 해당하는 객체를 동시에 검출하고, 동일 객체에 해당하는 머리영역 및 전신영역을 그룹핑하도록 미리 학습된 머리 및 전신 검출모델일 수 있다.
예를 들면, 미리 학습된 머리 및 전신 검출 모델은 단일 이미지에서 제1 클래스에 해당하는 머리영역과 제2 클래스에 해당하는 전신영역을 모두 검출하고 동일 객체에 해당하는 머리영역 및 전신영역을 그룹핑 할 수 있다. 여기서, 미리 학습된 머리 및 전신 검출 모델은 Associative embedding을 이용하여 검출과 그룹핑을 동시에 수행할 수 있도록 학습되어 형성된 단일 단계(single stage) 방식의 신경망 모델(neural network model)일 수 있으나 이에 한정되는 것은 아니다.
프로세서(120)는 적어도 하나의 객체의 머리영역 및 전신영역에 대한 제1 트랙정보(first tracking information)를 획득한다. 프로세서(120)는 제1 프레임이미지상에 존재하는 적어도 하나 이상의 객체에 각각 대응하는 머리영역 및 전신영역 중 적어도 하나의 영역의 위치정보를 기초로 각각의 객체에 대한 제1 트랙정보를 획득한다.
제1 트랙정보는 머리영역에 대한 위치정보 및 전신영역에 대한 위치정보 중 적어도 하나 이상을 포함한다. 여기서, 제1 프레임이미지에서 어느 하나의 객체에 대응하는 머리영역 및 전신영역 중 어느 하나만 검출된 경우에는, 해당 객체에 대한 제1 트랙정보는 검출된 하나의 영역에 대한 위치정보만을 포함할 수 있다. 예를 들면, 제1 프레임이미지에서 어느 한 사람이 다른 사람 또는 장애물에 의하여 전신의 일부분이 가려진 결과 머리영역만이 검출된 경우, 해당 사람에 대한 제1 트랙정보는 머리영역에 대한 위치정보만을 포함할 수 있다.
어느 하나의 객체에 대한 제1 트랙정보는 해당 객체의 머리영역 바운딩박스 및 전신영역 바운딩박스 중 적어도 어느 하나의 바운딩박스에 대한 위치정보 및 크기정보를 포함할 수 있다.
프로세서(120)는 사람 계수장치(100)에 입력된 영상에 포함되어 있는 복수의 프레임이미지 중에서 제2 프레임이미지(second frame image)를 획득한다.
프로세서(120)는 제2 프레임이미지에 존재하는 적어도 하나 이상의 머리영역 및 적어도 하나 이상의 전신영역을 검출한다. 여기서, 프로세서(120)는 머리영역(head region)에 대응되는 적어도 하나 이상의 바운딩박스 및 전신영역(body region)에 대응되는 적어도 하나 이상의 바운딩박스를 검출할 수 있다.
프로세서(120)는 검출한 적어도 하나 이상의 머리영역 및 적어도 하나 이상의 전신영역 중에서 동일한 객체에 해당하는 영역을 그룹핑(grouping)한다. 여기서, 제1 프레임이미지에서와 같이, 어느 하나의 객체에 대응하는 머리영역 및 전신영역 중 어느 하나만 검출될 경우, 제2 프레임이미지에 대한 해당 객체의 검출정보는 머리영역 및 전신영역 중 검출된 어느 하나의 영역에 대한 위치정보만을 포함할 수 있다.
프로세서(120)는 제1 프레임이미지에서 획득한 제1 트랙정보와 제2 프레임이미지에서 검출한 머리영역 및 전신영역 중 적어도 어느 하나의 영역을 매칭하여 제2 트랙정보를 획득한다.
프로세서(120)는 제2 프레임이미지에서 검출한 적어도 하나 이상의 객체에 해당하는 머리영역의 위치정보와 제1 트랙정보에 포함된 머리영역의 위치정보를 매칭(matching)한다. 제2 프레임이미지에서 검출한 어느 하나의 객체에 해당하는 머리영역과 매칭되는 머리영역을 포함하는 제1 트랙정보가 존재하는 경우, 프로세서(120)는 해당 객체가 제1 트랙정보의 객체와 동일한 객체라고 결정한다.
프로세서(120)는 제2 프레임이미지에서 검출한 적어도 하나 이상의 객체 중에서 머리영역으로 매칭되지 않은 객체에 해당하는 전신영역의 위치정보와 제1 트랙정보에 포함된 전신영역의 위치정보를 매칭한다. 제2 프레임이미지에서 검출한 어느 하나의 객체에 해당하는 전신영역과 매칭되는 머리영역을 포함하는 제1 트랙정보가 존재하는 경우, 프로세서(120)는 해당 객체가 제1 트랙정보의 객체와 동일한 객체라고 결정한다.
프로세서(120)는 제2 프레임이미지에서 검출한 머리영역 및 전신영역에 대한 바운딩박스의 위치정보를 기초로 제1 트랙정보에서 대응되는 머리영역 및 전신영역을 결정하여 매칭할 수 있다.
예를 들면, 프로세서(120)는 제2 프레임이미지에서 검출한 머리영역에 대한 바운딩박스의 위치로부터 미리 설정된 임계치 이내의 위치에 존재하는 머리영역에 대한 바운딩박스를 포함하는 제1 트랙정보를 결정하고, 해당 트랙정보와 제2 프레임이미지에서 검출한 머리영역을 매칭할 수 있다. 여기서, 미리 설정된 임계치는 제1 프레임이미지에 해당하는 시점 및 제2 프레임이미지에 해당하는 시점 간의 시구간 동안 사람의 최대이동거리를 기초로 정해진 값일 수 있으나, 이에 한정되는 것은 아니며, 실험에 따라 임의로 정해진 값일 수 있다.
프로세서(120)는 제2 프레임이미지에서 검출한 적어도 하나 이상의 객체 중에서 매칭되는 머리영역 또는 전신영역을 포함하는 제1 트랙정보가 존재하지 않는 객체의 경우, 제2 프레임이미지에서 새롭게 포함된 객체로 간주한다. 여기서, 프로세서(120)는 해당 객체에 대한 새로운 식별값을 머리영역 또는 전신영역에 부여하고 해당 객체에 대한 트랙정보를 새롭게 생성할 수 있다.
프로세서(120)는 매칭된 머리영역 및 전신영역 중 적어도 어느 하나의 영역에 대한 위치정보를 기초로 제2 트랙정보를 획득한다. 여기서, 제2 트랙정보는 제2 프레임이미지에서 검출된 객체 각각의 머리영역에 대한 위치정보 및 전신영역에 대한 위치정보를 포함한다.
제2 프레임이미지에서 검출된 객체 중에서 머리영역 및 전신영역 중 어느 하나의 영역만 검출된 객체의 경우, 프로세서(120)는 제1 프레임이미지에서 검출한 머리영역에 대한 위치정보와 전신영역에 대한 위치정보를 이용하여 생성한 상대위치 정보를 기초로 검출되지 않은 나머지 하나의 영역에 대한 위치를 추정한다. 상대위치 정보는 수학식 1을 기초로 생성된다.
여기서, M은 상대위치 정보이다. 상대위치 정보는 2 개의 상대위치 변수 을 포함한다. 은 머리영역에 대한 위치정보와 전신영역에 대한 위치정보를 기초로 수학식 2를 이용하여 계산할 수 있다.
여기서, 프레임이미지 이미지를 x-y좌표평면으로 정의하면, 는 머리영역에 대한 바운딩박스의 중심 좌표(,)의 좌표값이다. 는 머리영역에 대한 바운딩박스의 가로방향으로의 폭(width)에 관한 값이고, 는 머리영역에 대한 바운딩박스의 세로방향으로의 높이(height)에 관한 값이다.
는 전신영역에 대한 바운딩박스의 중심 좌표(,)의 좌표값이다. 는 머리영역에 대한 바운딩박스의 폭(width)에 관한 값이고, 는 머리영역에 대한 바운딩박스의 높이(height)에 관한 값이다.
프로세서(120)는 제1 트랙정보에 포함된 머리영역에 대한 바운딩박스의 좌표값 및 전신영역에 대한 바운딩박스의 좌표값을 기초로 상대위치 정보를 획득하고, 상대위치 정보를 이용하여 제2 프레임이미지에서 검출한 머리영역 및 전신영역 중 어느 하나로부터 다른 하나의 좌표를 추정할 수 있다.
프로세서(120)는 제2 트랙정보를 기초로 적어도 하나의 객체에 대한 동선정보를 생성한다.
프로세서(120)는 제2 트랙정보에 포함된 전신영역에 대한 위치정보를 기초로 기준점의 위치를 획득한다. 여기서, 기준점은 전신영역에 포함되어 있는 객체를 기준으로 미리 설정된 어느 하나의 지점이다.
예를 들면, 객체인 사람의 발의 위치를 기준점으로 설정하고 기준점의 위치 변화를 해당 객체의 동선으로 결정할 수 있다. 따라서, 제2 트랙정보에 포함된 전신영역에 대한 바운딩박스의 하단 중심에 해당하는 지점을 기준점으로 설정하고, 각 프레임이미지마다 기준점의 위치를 획득한다. 복수의 프레임이미지마다 획득한 복수의 기준점을 프레임이미지의 순서에 따라 순차적으로 연결하면 객체의 동선정보를 생성할 수 있다.
여기서, 동선정보를 생성하기 위한 기준점은 객체인 사람의 평균적인 발의 위치가 전신영역에 대한 바운딩박스의 하단 중심이라고 가정하고 설정되었으나 이에 한정되는 것은 아니다. 예를 들면, 기준점은 전신영역에 대한 바운딩박스의 중심점으로 설정될 수도 있다.
프로세서(120)는 생성한 동선정보와 미리 설정된 계수 기준선(counting line)의 교점이 발생하였는지 여부를 결정하고, 교점이 발생하면 사람을 계수한다.
미리 설정된 계수 기준선은 영상에서 나타난 촬영 영역에서 사람을 계수하기 위한 기준으로 미리 설정된 가상의 선이다. 예를 들면, 영상의 촬영 영역인 건물의 출입구 주변에서 출입구의 경계를 지나는 사람을 건물을 출입하는 사람으로 판단할 수 있는 경우, 해당 출입구 경계상에 존재하는 하나의 가상의 선을 계수 기준선으로 설정할 수 있다.
계수 기준선은 미리 설정된 두 개의 지점을 연결한 하나의 직선으로 설정될 수 있으나, 이에 한정되는 것은 아니며, 미리 설정된 복수의 지점을 포함하는 곡선일 수 있다. 또한, 계수 기준선은 촬영 영역의 장소적 특성 및 해당 영역 내 사람의 이동패턴 등에 따라 복수의 선을 포함할 수 있다.
프로세서(120)는 복수의 기준점을 프레임이미지의 순서에 따라 순차적으로 연결하여 생성한 동선정보(movement line information)의 동선과 계수 기준선간에 교점(intersection point)이 발생하는 경우 사람을 계수한다.
예를 들면, 영상의 N개의 프레임이미지 중에서, 첫번째 프레임이미지로부터 N-1 번째 프레임이미지까지의 어느 하나의 객체에 대한 기준점들을 연결한 동선이 포함하는 복수의 지점들과 계수 기준선을 이루는 복수의 지점 간에 공통된 지점이 존재하지 않는 경우, 프로세서(120)는 N-1 번째 프레임이미지에 해당하는 시점까지 해당 객체는 계수 기준선을 통과하지 않은 것으로 결정할 수 있다.
그러나, N-1 번째 프레임이미지에 대한 기준점 및 N 번째 프레임이미지에 대한 기준점을 연결한 동선과 계수 기준선이 교차하는 지점이 발생하면, 프로세서(120)는 N 번째 프레임이미지에 해당하는 시점에 해당 객체가 계수 기준선을 통과하였다고 결정하고, 통과한 사람의 수를 가산할 수 있다.
메모리(130)는 사람 계수장치(100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 다른 종류의 메모리를 포함할 수 있다. 예를 들면, 메모리(130)는 랜덤 액세스 메모리(random access memory, RAM) 또는 다이내믹 RAM(dynamic RAM, DRAM)을 포함할 수 있다.
메모리(130)는 프로세서(120)의 처리 또는 제어를 위한 프로그램 및 사람 계수장치(100)의 동작을 위한 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리(130)에는 프로세서(120)에 제공된 영상데이터, 프로세서(120)가 생성한 적어도 하나 이상의 객체에 대한 트랙정보, 객체에 대한 머리영역 및 전신영역의 상대위치 정보 및 객체에 대한 동선정보 중 적어도 하나 이상이 저장될 수 있다. 그리고, 메모리(130)는 미리 설정된 계수 기준선에 관한 정보와 같은 설정정보를 저장할 수 있다.
도 2는 본 개시의 일 실시예에 따른 사람 계수장치가 영상에 존재하는 복수의 사람을 검출하는 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 사람 계수장치는 영상에 포함된 하나의 프레임이미지(200)에서 하나 이상의 객체에 해당하는 머리영역 및 전신영역 중 적어도 하나 이상을 검출하고, 동일한 객체에 해당하는 영역을 그룹핑(grouping)한다.
여기서, 하나 이상의 객체는 영상에 존재하는 적어도 하나 이상의 사람이고, 사람 계수장치는 머리영역 및 전신영역에 대응하는 적어도 하나 이상의 바운딩박스를 검출할 수 있다.
사람 계수장치는 프레임이미지(200)에 존재하고 있는 5 개의 머리영역 바운딩박스(211, 221, 231, 241, 251) 및 3 개의 전신영역 바운딩박스(212, 232, 242)을 검출한다.
사람 계수장치는 동일 객체에 해당하는 머리영역 바운딩박스 및 전신영역 바운딩박스를 객체별로 그룹핑한다.
제1 객체(210)의 경우 프레임이미지상에 머리를 포함한 전신이 모두 나타나 있으므로, 사람 계수장치는 제1 객체(210)에 대한 제1 머리영역 바운딩박스(211) 및 제1 전신영역 바운딩박스(212)를 검출하고 그룹핑한다. 제1 객체(210)와 마찬가지로 제3 객체(230) 및 제4 객체(240)는 각각의 객체에 대응하는 머리영역 바운딩박스(231, 241) 및 전신영역 바운딩박스(232, 242)가 검출되므로, 사람 계수장치는 제3 객체(230) 및 제4 객체(240)에 각각 대응하는 바운딩박스들을 그룹핑할 수 있다.
그러나, 제2 객체(220)의 경우, 제1 객체(210)에 의하여 머리를 제외한 전신 대부분이 가려지므로, 프레임이미지(200)상에서 제2 머리영역 바운딩박스(221)만 검출되고 제2 객체(220)에 대응하는 전신영역 바운딩박스는 검출되지 않는다.
제2 객체(220)와 마찬가지로, 제5 객체(250)는 프레임이미지(200)상의 촬영영역으로 진입하고 있는 보행자로서 프레임이미지(200)상에 머리만 나타난다. 따라서, 제5 머리영역 바운딩박스(251)만 검출되고 제5 객체(250)에 대응하는 전신영역 바운딩박스는 검출되지 않는다.
사람 계수장치는 프레임이미지(200)상에 존재하는 객체에 각각 대응하는 머리영역 바운딩박스 및 전신영역 바운딩박스 중 적어도 하나의 영역에 대한 바운딩박스의 위치정보를 기초로 각각의 객체에 대한 제1 트랙정보를 생성한다.
제1 객체(210), 제3 객체(230) 및 제4 객체(240)에 대한 제1 트랙정보는 머리영역 바운딩박스의 위치정보 및 전신영역 바운딩박스의 위치정보를 포함한다. 그러나, 제2 객체(220) 및 제5 객체(250)에 대한 제1 트랙정보는 각각의 객체에 대응하는 머리영역 바운딩박스의 위치정보만을 포함한다.
바운딩박스의 위치정보는 프레임이미지(200)를 하나의 좌표평면, 예를 들면, x-y 평면으로 설정하고, 프레임이미지(200)상에서 바운딩박스의 위치에 해당하는 좌표값일 수 있다. 사람 계수장치는 각각의 객체에 대응하는 바운딩박스의 위치정보와 미리 설정된 계수 기준선(260)의 위치정보를 기초로 사람을 계수한다.
도 3은 본 개시의 일 실시예에 따른 사람 계수장치가 제1 트랙정보와 제2 프레임이미지에서 검출한 머리영역 및 전신영역을 매칭하여 트랙정보를 획득하는 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 사람 계수장치는 제1 프레임이미지(310)에서 검출된 복수의 객체에 대한 제1 트랙정보(311, 312, 313)와 제2 프레임이미지(330)에서 검출 및 단일 객체별로 그룹핑한 복수의 검출정보(331, 332, 333, 334)를 머리영역 및 전신영역 중 적어도 어느 하나의 영역을 기준으로 매칭하여 제2 트랙정보를 생성한다.
사람 계수장치는 제2 프레임이미지(330)에서 검출한 복수의 검출정보(331, 332, 333, 334) 중 어느 하나의 검출정보에 포함된 머리영역의 위치정보와 매칭되는 머리영역 위치정보를 포함하는 제1 트랙정보가 제1 트랙정보(311, 312, 313)중에서 존재하는지 여부를 결정한다.
제1 검출정보(331)의 머리영역 위치정보와 식별번호(ID)가 10인 제1 객체의 제1 트랙정보(311)에 대한 머리영역 위치정보가 매칭(321)되는 경우, 사람 계수장치는 제1 검출정보(331)에 대응하는 객체가 제1 객체와 동일한 객체라고 결정한다.
사람 계수장치는 제2 프레임이미지(330)상의 제1 객체의 머리영역 위치정보 및 전신영역 위치정보를 포함하는 제2 트랙정보를 생성한다. 여기서, 사람 계수장치는 제1 검출정보(331)의 머리영역 위치정보와 제1 객체의 제1 트랙정보(311)를 기초로 획득한 상대위치 정보를 이용하여 제2 프레임이미지(330)상의 전신영역 위치정보를 추정한다(341).
제2 검출정보(332)의 머리영역 위치정보와 식별번호가 12인 제3 객체의 제1 트랙정보(313)에 대한 머리영역 위치정보가 매칭(322)되는 경우, 사람 계수장치는 제2 검출정보(332)에 대응하는 객체가 제3 객체와 동일한 객체라고 결정하고, 제3 객체에 대한 제2 트랙정보를 생성한다. 여기서, 사람 계수장치는 제3 객체에 대응하는 제2 검출정보(332)를 기초로 제2 프레임이미지(330)상의 제3 객체에 대한 머리영역 위치정보 및 전신영역 위치정보를 갱신하여 제2 트랙정보를 생성한다(342).
사람 계수장치는 제2 프레임이미지(330)에서 검출한 복수의 검출정보(331, 332, 333, 334) 중 머리영역의 위치정보를 기준으로 매칭되지 않은 검출정보를 전신영역 위치정보를 기준으로 제1 트랙정보와 매칭한다.
제3 검출정보(333)의 전신영역 위치정보와 식별번호가 11인 제2 객체의 제1 트랙정보(312)에 대한 전신영역 위치정보가 매칭(323)되는 경우, 사람 계수장치는 제3 검출정보(333)에 대응하는 객체가 제2 객체와 동일한 객체라고 결정하고, 제2 객체에 대한 제2 트랙정보를 생성한다. 여기서, 사람 계수장치는 제3 검출정보(33)의 전신영역 위치정보와 제2 객체의 제1 트랙정보(312)를 기초로 획득한 상대위치 정보를 이용하여 제2 프레임이미지(330)상의 머리영역 위치정보를 추정한다(343).
사람 계수장치는 머리영역 및 전신영역을 기준으로 매칭할 수 있는 제1 트랙정보가 존재하지 않는 제4 검출정보(334)의 경우, 제2 프레임이미지에서 새롭게 포함된 객체에 대한 검출정보로 간주한다.
사람 계수장치는 제4 검출정보(334)에 대한 객체에 새로운 식별값, 예를 들면 식별번호 13을 부여하고, 제4 검출정보(334)에 포함된 머리영역 위치정보 및 전신영역 위치정보를 기초로 해당 객체에 대한 트랙정보를 새롭게 생성할 수 있다.
도 4는 본 개시의 일 실시예에 따른 사람 계수장치가 객체에 대한 동선정보 및 미리 설정된 계수 기준선의 교점이 발생하였는지 여부를 결정하는 과정을 설명하기 위한 도면이다.
도 4의 (a)는 사람 계수장치가 객체의 동선정보를 생성하기 위한 기준점을 설정하는 과정을 설명하기 위한 도면이다.
도 4의 (a)를 참조하면, 사람 계수장치는 영상 내에 존재하는 어느 하나의 사람을 객체(400)로 설정하고, 객체(400)의 머리영역 바운딩박스(410) 및 전신영역 바운딩박스(420)를 검출하여 트랙정보를 생성한다. 여기서, 객체(400)에 대한 트랙정보는 머리영역 바운딩박스(410)의 위치정보 및 전신영역 바운딩박스(420)의 위치정보를 포함한다.
사람 계수장치는 전신영역 바운딩박스(420)의 위치정보를 기초로 기준점(430)의 위치를 획득한다. 예를 들면, 사람 계수장치는 전신영역 바운딩박스(420)의 중심점의 프레임이미지상의 위치좌표 및 전신영역 바운딩박스(420)의 높이를 기초로 기준점(430)의 위치좌표를 획득할 수 있다.
여기서, 기준점(430)은 전신영역 바운딩박스(420)의 하단 중심에 해당하는 지점으로 설정된다. 사람 계수장치는 전신영역에 포함되어 있는 객체(400)인 사람의 발의 평균적인 위치를 바운딩박스(420)의 하단 중심이라고 가정하고, 해당 지점을 객체(400)의 동선을 특정하기 위한 기준점(430)으로 설정한다.
사람 계수장치는 복수의 프레임이미지에 각각 대응하는 복수의 기준점(430)의 위치를 기초로 객체(400)의 동선정보를 생성한다.
도 4의 (b)는 사람 계수장치가 객체의 기준점을 기초로 생성한 객체의 동선정보와 미리 설정된 계수 기준선의 교점이 발생하는 과정을 설명하기 위한 도면이다.
도 4의 (b)를 참조하면, 사람 계수장치는 영상의 복수의 프레임이미지로부터 제1 기준점(431)의 위치를 획득하고, 제2 시점에 대한 프레임이미지로부터 제2 기준점(432)의 위치를 획득하며 제3 시점에 대한 프레임이미지로부터 제3 기준점(433)의 위치를 획득한다.
사람 계수장치는 프레임이미지의 순서에 따라 제1 기준점(431), 제2 기준점(432) 및 제3 기준점(433)을 연결하여 동선정보를 생성한다. 생성된 동선정보는 제1 시점 내지 제3 시점의 시구간 동안 이동한 객체의 동선에 관한 정보이다.
사람 계수장치는 미리 설정된 계수 기준선(440)과 동선정보간 교점이 발생하였는지 여부를 결정하고, 교점이 발생한 경우 사람을 계수한다.
제2 시점 내지 제3 시점의 시구간에서, 이동중인 객체가 미리 설정된 계수 기준선(440)을 넘어서게 되고, 제2 기준점(432) 및 제3 기준점(433)을 연결한 객체의 동선은 계수 기준선과 교차하게 된다. 따라서, 사람 계수장치는 미리 설정된 계수 기준선과 동선정보간 교점(450)이 발생하였다고 결정한다.
사람 계수장치는 어느 하나의 객체에 대한 동선정보에 계수 기준선(440)과의 교점(450)이 발생한 경우, 해당 객체가 계수 기준선(440)을 넘어 이동하였다고 판단하고 사람을 계수한다. 예를 들면, 사람 계수장치는 미리 설정된 계수 기준선(440)을 지나는 모든 사람을 계수할 수 있도록 교점 발생시마다 사람을 계수할 수 있으나, 이에 한정되는 것은 아니며, 사람의 계수 목적 또는 상황에 따라서, 어느 하나의 방향으로 계수 기준선(440)을 교차하는 동선정보에 의하여 교점이 발생하는 경우에만 사람을 계수할 수 있다.
도 5는 본 개시의 일 실시예에 따른 사람 계수방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 사람 계수장치는 영상의 제1 프레임이미지에서 객체의 머리영역 및 전신영역을 검출하고 제1 트랙정보를 생성한다(S510).
사람 계수장치는 영상의 복수의 프레임이미지 중에서 제1 프레임이미지를 획득하고, 제1 프레임이미지에 존재하는 적어도 하나 이상의 머리영역 및 적어도 하나 이상의 전신영역을 검출한다. 구체적으로는, 사람 계수장치는 머리영역에 대응되는 적어도 하나 이상의 머리영역 바운딩박스 및 전신영역에 대응되는 적어도 하나 이상의 전신영역 바운딩박스를 검출한다.
사람 계수장치는 검출한 적어도 하나 이상의 머리영역 및 적어도 하나 이상의 전신영역 중에서 동일한 객체에 해당하는 영역을 그룹핑한다. 여기서, 동일 객체에 대응되는 영역의 바운딩박스에는 동일한 식별값을 부여하고, 동일한 식별값이 부여된 머리영역 바운딩박스 및 전신영역 바운딩박스를 그룹핑할 수 있다.
사람 계수장치는 딥러닝 알고리즘을 기초로 미리 학습된 머리 및 전신 검출모델을 이용하여 머리영역 및 전신영역을 검출할 수 있다. 여기서, 미리 학습된 머리 및 전신 검출모델은 하나의 이미지에서 복수의 클래스에 해당하는 객체를 동시에 검출하고, 검출된 머리영역 및 전신영역을 동일 객체별로 그룹핑하도록 미리 학습된 머리 및 전신 검출모델일 수 있다.
사람 계수장치는 검출한 머리영역 및 전신영역을 기초로 제1 트랙정보를 생성한다. 여기서 제1 트랙정보는 제1 프레임이미지상에 존재하는 적어도 하나 이상의 객체에 각각 대응하는 머리영역 및 전신영역 중 적어도 하나의 영역의 위치정보를 기초로 생성된다.
제1 트랙정보는 머리영역에 대한 위치정보 및 전신영역에 대한 위치정보 중 적어도 하나 이상을 포함한다. 여기서, 제1 프레임이미지에서 어느 하나의 객체에 대응하는 머리영역 및 전신영역 중 어느 하나의 영역만 검출된 경우에는, 해당 객체에 대한 제1 트랙정보는 검출된 하나의 영역에 대한 위치정보만을 포함할 수 있다. 여기서, 머리영역에 대한 위치정보는 머리영역 바운딩박스의 위치 및 크기에 관한 정보일 수 있고, 전신영역에 대한 위치정보는 전신영역 바운딩박스의 위치 및 크기에 관한 정보일 수 있다.
사람 계수장치는 영상의 제2 프레임이미지에서 제1 프레임이미지의 객체와 대응되는 머리영역 및 전신영역 중 적어도 어느 하나의 영역을 검출한다(S520).
사람 계수장치는 제2 프레임이미지에 존재하는 적어도 하나 이상의 머리영역 및 적어도 하나 이상의 전신영역을 검출한다. 여기서, 사람 계수장치는 머리영역에 대응되는 적어도 하나 이상의 바운딩박스 및 전신영역에 대응되는 적어도 하나 이상의 바운딩박스를 검출할 수 있다.
사람 계수장치는 검출한 머리영역 및 전신영역 중에서 동일한 객체에 해당하는 영역을 그룹핑(grouping)한다. 여기서, 제1 프레임이미지에서와 같이, 어느 하나의 객체에 대응하는 머리영역 및 전신영역 중 어느 하나만 검출될 경우, 제2 프레임이미지에 대한 해당 객체의 검출 정보는 머리영역 및 전신영역 중 검출된 어느 하나의 영역에 대한 위치정보만을 포함할 수 있다.
사람 계수장치는 제2 프레임이미지에서 검출한 머리영역 및 전신영역 중 적어도 어느 하나의 영역을 제1 트랙정보와 매칭하여 제2 트랙정보를 생성한다(S530).
사람 계수장치는 제2 프레임에서 검출한 적어도 하나 이상의 객체에 대한 머리영역 및 전신영역 중 어느 하나의 영역에 매칭되는 머리영역 또는 전신영역을 포함하는 제1 트랙정보가 존재하는 경우, 해당 객체와 제1 트랙정보의 객체가 동일한 객체라고 결정한다. 여기서, 사람 계수장치는 먼저 머리영역을 기준으로 매칭을 수행하고, 매칭되지 않은 나머지 정보들에 대하여 전신영역을 기준으로 매칭을 수행한다.
예를 들면, 제2 프레임이미지에서 검출한 어느 하나의 객체의 머리영역과 매칭되는 머리영역을 포함하는 제1 트랙정보가 존재하는 경우, 사람 계수장치는 해당 객체가 제1 트랙정보의 객체와 동일한 객체라고 결정하고 해당 객체에 대한 제2 트랙정보를 생성한다.
머리영역을 기준으로 한 매칭이 종료되면, 매칭되지 않은 객체에 대한 전신영역과 매칭되는 전신영역을 포함하는 제1 트랙정보가 존재하는 경우, 사람 계수장치는 해당 객체가 제1 트랙정보의 객체와 동일한 객체라고 결정하고 해당 객체에 대한 제2 트랙정보를 생성한다.
제2 프레임이미지에서 검출한 어느 하나의 객체에 대한 머리영역 또는 전신영역과 매칭되는 영역을 포함하는 제1 트랙정보가 존재하지 않는 객체의 경우, 사람 계수장치는 해당 객체를 제2 프레임이미지에서 새롭게 영상에 포함된 객체로 간주한다. 따라서, 사람 계수장치는 해당 객체에 대한 새로운 식별값을 머리영역 또는 전신영역에 부여하고 해당 객체에 대한 트랙정보를 새롭게 생성할 수 있다.
제2 프레임이미지에서 검출된 객체 중에서 머리영역 및 전신영역 중 어느 하나의 영역만 검출된 객체의 경우, 사람 계수장치는 제1 프레임이미지에서 검출한 머리영역에 대한 위치정보와 전신영역에 대한 위치정보를 이용하여 생성한 상대위치 정보를 기초로 검출되지 않은 나머지 하나의 영역에 대한 위치를 추정한다.
구체적으로는, 사람 계수장치는 제1 트랙정보에 포함된 머리영역 바운딩박스의 좌표값 및 전신영역 바운딩박스의 좌표값을 기초로 상대위치 정보를 획득하고, 상대위치 정보를 이용하여 제2 프레임이미지에서 검출한 머리영역 바운딩박스의 좌표값 및 전신영역 바운딩박스의 좌표값 중 어느 하나로부터 다른 하나의 바운딩박스의 좌표값을 추정할 수 있다.
사람 계수장치는 제2 트랙정보를 기초로 객체에 대한 동선정보 생성한다(S540).
사람 계수장치는 제2 트랙정보에 포함된 전신영역에 대한 위치정보를 기초로 기준점의 위치를 획득한다. 여기서, 기준점은 제2 트랙정보에 포함된 전신영역에 대한 바운딩박스의 하단 중심에 해당하는 지점으로 설정될 수 있다.
사람 계수장치는 복수의 프레임이미지마다 객체의 기준점의 위치를 획득하고, 복수의 기준점을 프레임의 순서에 따라 순차적으로 연결하여 객체의 동선정보를 생성한다.
사람 계수장치는 동선정보와 미리 설정된 계수 기준선과의 교점발생 여부를 결정하여 사람을 계수한다(S550).
미리 설정된 계수 기준선은 영상에서 나타난 촬영 영역에서 사람을 계수하기 위한 기준으로 미리 설정된 가상의 선이다. 계수 기준선은 미리 설정된 두 개의 지점을 연결한 하나의 직선으로 설정될 수 있으나, 이에 한정되는 것은 아니며, 미리 설정된 복수의 지점을 포함하는 곡선일 수 있다. 또한, 계수 기준선은 촬영 영역의 장소적 특성 및 해당 영역 내 사람의 이동패턴 등에 따라 복수의 선을 포함할 수 있다.
사람 계수장치는 복수의 기준점을 프레임이미지의 순서에 따라 순차적으로 연결하여 생성한 동선정보의 동선과 계수 기준선간에 교점이 발생하는 경우 사람을 계수한다. 예를 들면, N-1번째 프레임이미지에 대한 기준점 및 N 번째 프레임이미지에 대한 기준점을 연결한 동선과 계수 기준선 간에 교점이 발생하면, 사람 계수장치는 N 번째 프레임이미지에 해당하는 시점에 해당 객체가 계수 기준선을 통과하였다고 결정하고, 통과한 사람의 수를 가산한다.
본 개시에 따른 장치 또는 방법의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
본 명세서에 설명되는 시스템들 및 기법들의 다양한 구현예들은, 디지털 전자 회로, 집적회로, FPGA(field programmable gate array), ASIC(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 프로그래밍가능 시스템 상에서 실행 가능한 하나 이상의 컴퓨터 프로그램들로 구현되는 것을 포함할 수 있다. 프로그래밍가능 시스템은, 저장 시스템, 적어도 하나의 입력 디바이스, 그리고 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 이들에게 데이터 및 명령들을 전송하도록 결합되는 적어도 하나의 프로그래밍가능 프로세서(이것은 특수 목적 프로세서일 수 있거나 혹은 범용 프로세서일 수 있음)를 포함한다. 컴퓨터 프로그램들(이것은 또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 혹은 코드로서 알려져 있음)은 프로그래밍가능 프로세서에 대한 명령어들을 포함하며 "컴퓨터가 읽을 수 있는 기록매체"에 저장된다.
컴퓨터가 읽을 수 있는 기록매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체는 ROM, CD-ROM, 자기 테이프, 플로피디스크, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등의 비휘발성(non-volatile) 또는 비일시적인(non-transitory) 매체일 수 있으며, 또한 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.
본 명세서의 흐름도/타이밍도에서는 각 과정들을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 개시의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 개시의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 개시의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 흐름도/타이밍도에 기재된 순서를 변경하여 실행하거나 각 과정들 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 흐름도/타이밍도는 시계열적인 순서로 한정되는 것은 아니다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 사람 계수장치
110: 입출력 인터페이스
120: 프로세서
130: 메모리

Claims (11)

  1. 영상에서 사람을 검출하고 계수하는 사람 계수방법에 있어서,
    상기 영상에 포함된 제1 프레임이미지에서 적어도 하나의 객체의 머리영역 및 전신영역을 검출하고, 상기 적어도 하나의 객체의 상기 머리영역 및 상기 전신영역에 대한 제1 트랙정보를 생성하는 과정;
    상기 영상에 포함된 제2 프레임이미지에서 상기 적어도 하나의 객체와 대응되는 상기 적어도 하나의 객체의 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 검출하는 과정;
    상기 제1 프레임이미지에서 획득한 상기 제1 트랙정보와 상기 제2 프레임이미지에서 검출한 상기 적어도 하나의 객체의 상기 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 매칭하여 제2 트랙정보를 생성하는 과정; 및
    상기 제2 트랙정보를 기초로 상기 영상에 존재하는 객체를 계수하는 과정
    을 포함하는 사람 계수방법.
  2. 제1항에 있어서,
    상기 제2 트랙정보를 기초로 상기 영상에 존재하는 객체를 계수하는 과정은,
    상기 제2 트랙정보를 기초로 상기 적어도 하나의 객체에 대한 동선정보를 생성하는 과정; 및
    상기 적어도 하나의 객체에 대한 동선정보 및 미리 설정된 계수 기준선의 교점이 발생하였는지 여부를 결정하는 과정을 포함하는 사람 계수방법.
  3. 제1항에 있어서,
    상기 제1 트랙정보를 생성하는 과정은,
    상기 제1 프레임이미지에서 검출한 상기 적어도 하나의 객체의 머리영역에 대한 위치정보 및 상기 적어도 하나의 객체의 전신영역에 대한 위치정보를 생성하는 과정을 포함하는 사람 계수방법.
  4. 제3항에 있어서,
    상기 제2 트랙정보를 획득하는 과정은,
    상기 제1 프레임이미지에서 검출한 상기 적어도 하나의 객체의 머리영역에 대한 위치정보 및 상기 적어도 하나의 객체의 전신영역에 대한 위치정보를 기초로 상기 머리영역과 상기 전신영역 간의 상대위치 정보를 생성하는 과정; 및
    상기 상대위치 정보를 기초로 상기 제2 프레임이미지에서 상기 머리영역에 대한 위치정보 및 상기 전신영역에 대한 위치정보 중 적어도 어느 하나의 영역에 대한 위치정보를 추정하는 과정
    을 포함하는 사람 계수방법.
  5. 제3항에 있어서,
    상기 제1 프레임이미지에서 획득한 상기 제1 트랙정보와 상기 제2 프레임이미지에서 검출한 상기 적어도 하나의 객체의 상기 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 매칭하여 제2 트랙정보를 획득하는 과정은,
    상기 제1 트랙정보에 포함된 머리영역에 대한 위치정보와 상기 제2 프레임이미지에서 검출한 상기 적어도 하나의 객체의 머리영역에 대한 위치정보를 매칭하는 과정; 및
    상기 제1 트랙정보에 포함된 전신영역에 대한 위치정보와 상기 제2 프레임이미지에서 검출한 상기 적어도 하나의 객체의 전신영역에 대한 위치정보를 매칭하는 과정을 포함하는 사람 계수방법.
  6. 제2항에 있어서,
    상기 동선정보는,
    상기 영상에 포함된 복수의 프레임이미지에 각각 대응하는 기준점의 위치정보를 순차적으로 연결하여 생성되는 정보이되,
    상기 기준점은 상기 적어도 하나의 객체의 상기 전신영역 중에서 미리 설정된 기준점인 사람 계수방법.
  7. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은,
    제1항 내지 제6항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 기록매체.
  8. 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하되,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    영상에 포함된 제1 프레임이미지에서 적어도 하나의 객체의 머리영역 및 전신영역을 검출하고, 상기 적어도 하나의 객체의 상기 머리영역 및 상기 전신영역에 대한 제1 트랙정보를 생성하고,
    상기 영상에 포함된 제2 프레임이미지에서 상기 적어도 하나의 객체와 대응되는 상기 적어도 하나의 객체의 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 검출하고,
    상기 제1 프레임이미지에서 획득한 상기 제1 트랙정보와 상기 제2 프레임이미지에서 검출한 상기 적어도 하나의 객체의 상기 머리영역 및 상기 적어도 하나의 객체의 전신영역 중 적어도 어느 하나의 영역을 매칭하여 제2 트랙정보를 생성하고,
    상기 제2 트랙정보를 기초로 상기 영상에 존재하는 객체를 계수하는
    사람 계수장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 제2 트랙정보를 기초로 상기 적어도 하나의 객체에 대한 동선정보를 생성하고,
    상기 적어도 하나의 객체에 대한 동선정보 및 미리 설정된 계수 기준선의 교점이 발생하였는지 여부를 결정하는 사람 계수장치.
  10. 제8항에 있어서,
    상기 프로세서는,
    상기 제1 프레임이미지에서 검출한 상기 적어도 하나의 객체의 머리영역에 대한 위치정보 및 상기 적어도 하나의 객체의 전신영역에 대한 위치정보를 생성하는 사람 계수장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 제1 프레임이미지에서 검출한 상기 적어도 하나의 객체의 머리영역에 대한 위치정보 및 상기 적어도 하나의 객체의 전신영역에 대한 위치정보를 기초로 상기 머리영역과 상기 전신영역 간의 상대위치 정보를 생성하고,
    상기 상대위치 정보를 기초로 상기 제2 프레임이미지에서 상기 머리영역에 대한 위치정보 및 상기 전신영역에 대한 위치정보 중 적어도 어느 하나의 영역에 대한 위치정보를 추정하는 사람 계수장치.
KR1020220033580A 2022-03-17 2022-03-17 영상의 사람 계수장치 및 방법 KR20230135962A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220033580A KR20230135962A (ko) 2022-03-17 2022-03-17 영상의 사람 계수장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220033580A KR20230135962A (ko) 2022-03-17 2022-03-17 영상의 사람 계수장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230135962A true KR20230135962A (ko) 2023-09-26

Family

ID=88191090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220033580A KR20230135962A (ko) 2022-03-17 2022-03-17 영상의 사람 계수장치 및 방법

Country Status (1)

Country Link
KR (1) KR20230135962A (ko)

Similar Documents

Publication Publication Date Title
US11232326B2 (en) System and process for detecting, tracking and counting human objects of interest
US10909695B2 (en) System and process for detecting, tracking and counting human objects of interest
US8213679B2 (en) Method for moving targets tracking and number counting
US8582816B2 (en) Method and apparatus for video analytics based object counting
Fujisawa et al. Pedestrian counting in video sequences based on optical flow clustering
US20180075307A1 (en) Scan face of video feed
Snidaro et al. Automatic camera selection and fusion for outdoor surveillance under changing weather conditions
Liu et al. Accelerating vanishing point-based line sampling scheme for real-time people localization
KR20220047947A (ko) 사람 계수 방법 및 장치
Shalnov et al. Convolutional neural network for camera pose estimation from object detections
JP4610005B2 (ja) 画像処理による侵入物体検出装置および方法およびプログラム
Ko et al. Rectified trajectory analysis based abnormal loitering detection for video surveillance
KR20230135962A (ko) 영상의 사람 계수장치 및 방법
KR101765568B1 (ko) 보행자 인식 시스템 및 그 제어 방법
JPH09107540A (ja) 監視カメラ装置
WO2022208669A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
Sivagurunathan et al. Automatic detection of entry into a restricted area
Sadeghi et al. Ocrapose ii: An ocr-based indoor positioning system using mobile phone images
Ablameyko Formalization of People and Crowd Detection and Tracking for Smart Video Surveillance
Jiang Tracking Multiple Pedestrians from Monocular Videos in an Interacting Multiple Model Framework
Sahu et al. Crowd Surveillance with the Video Captured by Handheld Devices
Khatri Intelligent video surveillance using soft biometrics
Løvlie Automatic recognition of unwanted behavior