KR102201096B1 - 실시간 cctv 영상분석장치 및 그 장치의 구동방법 - Google Patents

실시간 cctv 영상분석장치 및 그 장치의 구동방법 Download PDF

Info

Publication number
KR102201096B1
KR102201096B1 KR1020200070786A KR20200070786A KR102201096B1 KR 102201096 B1 KR102201096 B1 KR 102201096B1 KR 1020200070786 A KR1020200070786 A KR 1020200070786A KR 20200070786 A KR20200070786 A KR 20200070786A KR 102201096 B1 KR102201096 B1 KR 102201096B1
Authority
KR
South Korea
Prior art keywords
video frame
object tracking
dcnn
unit
detection
Prior art date
Application number
KR1020200070786A
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 KR1020200070786A priority Critical patent/KR102201096B1/ko
Application granted granted Critical
Publication of KR102201096B1 publication Critical patent/KR102201096B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

본 발명은 실시간 CCTV 영상분석장치 및 그 장치의 구동방법에 관한 것으로서, 본 발명의 실시예에 따른 실시간 CCTV 영상분석장치는, 촬영장치로부터 촬영영상을 수신하는 통신 인터페이스부, 및 수신한 촬영영상의 비디오 프레임 중 지정된 시간(t) 간격마다 도래하는 비디오 프레임에 대하여 DCNN 기반으로 객체를 검출하고, 객체 검출이 이루어지는 비디오 프레임과 시간 간격 사이의 비디오 프레임에 대하여 서로 다른 방식 객체 추적 방식을 적용하는 제어부를 포함할 수 있다.

Description

실시간 CCTV 영상분석장치 및 그 장치의 구동방법{Apparatus for Real-time CCTV Video Analytics and Driving Method Thereof}
본 발명은 실시간 CCTV 영상분석장치 및 그 장치의 구동방법에 관한 것으로서, 더 상세하게는 가령 CCTV 영상으로부터 객체 검출 DCNN(Deep Convolutional Neural Network)을 이용하여 관심 객체들을 검출하고, 이를 바탕으로 객체 추적 및 관심 이벤트를 검출하는 실시간 CCTV 영상분석장치 및 그 장치의 구동방법에 관한 것이다.
최근 컴퓨터 비전(Computer Vision) 기술을 기반으로 하여 CCTV 카메라 비디오 영상을 실시간으로 분석하고, 그 결과를 활용하는 분야가 늘어나고 있다. 예를 들면 지능형 영상 감시, 선별 영상 관제, 지능형 교통 시스템, 매장 고객 분석, 산업 안전 관리 분야 등이 있다.
실시간 CCTV 영상 분석에 있어서 핵심이 되는 기술은 “관심 객체의 검출 및 추적” 기술이다. 객체 검출 기술의 경우, 몇 년 전까지는 모션(Motion) 기반의 객체 검출 방식이 주류를 이루었으나, 최근에는 모션 기반의 객체 검출 방식의 여러 단점이 개선된 DCNN(Deep Convolutional Neural Network) 기반의 객체 검출 방식이 각광을 받고 있으며, 객체 검출 DCNN을 채용한 영상 분석 시스템이 점차 늘어나고 있다. 통상적으로 DCNN을 통한 추론(Inference) 수행시, DCNN을 구성하는 수많은 가중치(Weight)들에 대한 연산 때문에, 고성능의 CPU(Central Processing Unit)에서 조차도 DCNN의 추론 연산에 많은 시간이 소요된다. 따라서 실시간 처리 환경에서는 대규모 병렬 연산 기능을 통해 DCNN의 추론 연산을 훨씬 빨리 수행할 수 있는 GPU(Graphics Processing Unit), DSP(Digital Signal Processor), VPU(Vector Processing Unit), NPU(Neural Processing Unit) 등의 별도 프로세싱 유닛이 필수적으로 요구된다.
객체 추적의 경우, 비디오 영상의 매 프레임(Frame)마다 객체 검출 DCNN을 이용하여 객체 검출 결과를 얻으면, 이 결과를 이용하여 실시간 다중 객체 추적(Real-time Multiple Object Tracking)을 수행하는 대표적인 방식으로, 도 1과 같은 Track Association 방식(이웃하는 프레임 간의 검출된 객체 바운딩 박스들을 간단한 매칭 방법을 통해 동일 객체에 속한다고 추정되는 것들끼리 묶는 방식)이 주로 사용된다. 참고로 객체 바운딩 박스 매칭을 수행하기 위해 필요한 연산량은 무시할 정도로 작기 때문에 저 사양의 CPU에서도 문제 없이 동작한다.
지금까지 다양한 객체 검출 DCNN 모델이 발표되어 왔으며, 객체 검출 성능 및 처리 속도를 높이기 위한 연구가 지속적으로 이루어지고 있다. 그럼에도 불구하고 거의 모든 객체 검출 DCNN 모델은 다음과 같은 특성을 갖는다.
① 동일한 객체 검출 DCNN 모델에 대하여, 객체 검출 DCNN의 입력 해상도가 높아짐에 따라 객체 검출 성능(객체 검출률)이 향상되는 경향이 있다. (특히 소형/원거리 객체에 대한 검출 성능이 향상됨.)
② 객체 검출 DCNN 모델이 채용하고 있는 백본 네트워크(Backbone Network)의 용량이 커짐에 따라 객체 검출 성능이 향상되는 경향이 있다.
③ 객체 검출 DCNN의 입력 해상도가 높아지거나 백본 네트워크의 용량이 커짐에 따라 DCNN 추론 시 연산량이 증가하고, 이로 인해 추론 시간이 증가한다.
즉, 고성능의 객체 검출 DCNN을 사용할수록 연산량 증가에 따른 추론 시간 증가는 피할 수 없는 문제인 것이다. 이는 컴퓨팅 자원(Computing Resource)의 제약이 큰 편인 엣지 장치(Edge Device)에서 고성능의 객체 검출 DCNN을 이용하여 실시간 영상 분석을 수행하거나 또는 GPU가 장착된 서버에서 다수의 비디오 채널에 대한 실시간 영상 분석을 수행하고자 할 때 문제가 될 수 있다.
예를 들면, 통상적인 실내외 CCTV 감시 환경에서 실시간으로 사람/차량 객체들을 무난하게 추적하려면 적어도 7FPS(Frames Per Second) 이상으로 객체 추적을 수행할 필요가 있다. 현재까지 발표된 객체 검출 DCNN 모델들 중에 비교적 검출 성능이 우수하면서도 처리 속도도 빠른 편이기 때문에 인기가 있는 YOLOv3 DCNN 모델의 경우, NVIDIA사의 GTX1080ti GPU 상에서 약 54FPS의 처리 성능을 보인다 (YOLOv3 DCNN의 입력 해상도를 320x320으로 설정한 경우에 한함). 이런 경우, NVIDIA GTX1080ti GPU를 장착한 서버에서 도 1과 같은 방식으로 비디오 채널 당 7 FPS로 객체 검출/추적을 수행하면, 서버에 장착 상기 서버가 처리할 수 있는 비디오 채널의 수는 약 8 채널이 된다. 만약 객체 검출 성능을 높이기 위해 YOLOv3 DCNN의 입력 해상도를 608x608로 설정하면 GTX1080ti GPU 상에서 약 27FPS로 처리할 수 있으며, 이런 경우 상기 서버가 처리할 수 있는 비디오 채널 수는 약 4 채널에 불과하게 된다. 즉, 서버 CPU의 컴퓨팅 자원은 많이 남더라도 GPU의 처리 성능의 한계에 의해 해당 서버가 처리할 수 있는 비디오 채널 수에 제약을 받게 되는 것이다. 물론 한 서버에서 처리 가능한 비디오 채널 수를 늘리기 위해 더 고성능의 GPU를 사용하던가 복수의 GPU를 사용할 수도 있겠으나, 그럴수록 서버 H/W의 가격 및 크기가 크게 증가하는 문제가 발생한다.
엣지 장치의 경우 소형 및 저전력 특성을 유지하기 위해, 통상적인 서버용 GPU보다 처리 성능이 훨씬 떨어지는 GPU(또는 DSP/VPU/NPU)가 사용된다. 이런 환경에서는 고성능의 객체 검출 DCNN을 채용할 경우, 1개의 비디오 채널도 처리하기 어렵게 된다. 예를 들면 DCNN의 구동을 가능하게 해 주는 GPU가 탑재되어 있는 임베디드 프로세싱 모듈인 NVIDIA 사의 Jetson TX2 모듈의 경우, 상기 YOLOv3 DCNN 모델의 처리 속도는 입력 해상도가 320x320일 때 약 5FPS에 불과하다. 보다 높은 객체 검출 성능이 요구되어 YOLOv3 DCNN 모델의 입력 해상도를 608x608로 높이게 되면 처리 속도는 2FPS 이하가 되어, 도 1과 같은 방식으로는 정상적으로 객체 추적을 수행하기 매우 어렵게 된다.
한국등록특허공보 제10-1040049호(2011.06.02.) 한국등록특허공보 제10-1173853호(2012.08.08.) 한국등록특허공보 제10-1178539호(2012.08.24.) 한국등록특허공보 제10-1748121호(2017.06.12.) 한국등록특허공보 제10-1789690호(2017.10.18.) 한국등록특허공보 제10-1808587호(2017.12.07.) 한국등록특허공보 제10-1850286호(2018.04.13.) 한국공개특허공보 제10-2018-0072561호(2018.06.29.) 한국공개특허공보 제10-2018-0107930호(2018.10.04.)
본 발명의 실시예는, 가령 CCTV 영상으로부터 객체 검출 DCNN을 이용하여 관심 객체들을 검출하고, 이를 바탕으로 객체 추적 및 관심 이벤트를 검출하는 실시간 CCTV 영상분석장치 및 그 장치의 구동방법을 제공함에 그 목적이 있다.
본 발명의 실시예에 따른 실시간 CCTV 영상분석장치는, 촬영장치로부터 촬영영상을 수신하는 통신 인터페이스부, 및 상기 수신한 촬영영상의 비디오 프레임 중 지정된 시간(t) 간격마다 도래하는 비디오 프레임에 대하여 DCNN 기반으로 객체를 검출하고, 상기 객체 검출이 이루어지는 비디오 프레임과 상기 시간 간격 사이의 비디오 프레임에 대하여 서로 다른 방식 객체 추적 방식을 적용하는 제어부를 포함한다.
상기 제어부는, 상기 지정된 시간 간격의 비디오 프레임에 대하여 템플릿(template) 매칭 기반의 객체 추적을 수행할 수 있다.
상기 제어부는, 상기 DCNN 기반의 객체 검출이 이루어진 비디오 프레임에 대하여 바운딩 박스 매칭 기반의 객체 추적을 수행할 수 있다.
상기 제어부는, 상기 템플릿 매칭 기반의 객체 추적 결과 및 상기 바운딩 박스 매칭 기반의 객체 추적 결과를 근거로 지정된 이벤트를 검출할 수 있다.
상기 제어부는, 상기 DCNN 기반의 객체 검출을 위하여 사람 및 차량 객체를 검출하도록 학습한 욜로(YOLOv3) DCNN 모델을 이용할 수 있다.
상기 제어부는, 상기 DCNN 기반의 객체 검출을 위하여 대규모 병렬 연산이 가능한 GPU, DSP, VPU 및 NPU 중 어느 하나와 및 상기 템플릿 매칭 기반의 객체 추적을 위한 CPU를 각각 포함할 수 있다.
또한, 본 발명의 실시예에 따른 실시간 CCTV 영상분석장치의 구동방법은 통신 인터페이스부가, 촬영장치로부터 촬영영상을 수신하는 단계, 및 제어부가, 상기 수신한 촬영영상의 비디오 프레임 중 지정된 시간(t) 간격마다 도래하는 비디오 프레임에 대하여 DCNN 기반으로 객체를 검출하고, 상기 객체 검출이 이루어지는 비디오 프레임과 상기 시간 간격 사이의 비디오 프레임에 대하여 서로 다른 방식 객체 추적 방식을 적용하는 단계를 포함한다.
상기 객체 추적을 수행하는 단계는, 상기 지정된 시간 간격의 비디오 프레임에 대하여 템플릿 매칭 기반의 객체 추적을 수행할 수 있다.
상기 객체 추적을 수행하는 단계는, 상기 DCNN 기반의 객체 검출이 이루어진 비디오 프레임에 대하여 바운딩 박스 매칭 기반의 객체 추적을 수행할 수 있다.
상기 구동방법은, 상기 제어부가, 상기 템플릿 매칭 기반의 객체 추적 결과 및 상기 바운딩 박스 매칭 기반의 객체 추적 결과를 근거로 지정된 이벤트를 검출하는 단계를 더 포함할 수 있다.
상기 객체 추적을 수행하는 단계는, 상기 DCNN 기반의 객체 검출을 위하여 사람 및 차량 객체를 검출하도록 학습한 욜로 DCNN 모델을 이용할 수 있다.
상기 객체 추적을 수행하는 단계는, 대규모 병렬 연산이 가능한 GPU에서 상기 DCNN 기반의 객체 검출을 수행하는 단계, 및 CPU에서 상기 템플릿 매칭 기반의 객체 추적을 수행하는 단계를 포함할 수 있다.
한편, 본 발명의 실시예에 따른 컴퓨터 판독가능 기록매체는, 실시간 CCTV 영상분석장치의 구동방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체로서, 상기 실시간 CCTV 영상분석장치의 구동방법은, 촬영장치로부터 촬영영상을 수신하는 단계, 및 상기 수신한 촬영영상의 비디오 프레임 중 지정된 시간(t) 간격마다 도래하는 비디오 프레임에 대하여 DCNN 기반으로 객체를 검출하고, 상기 객체 검출이 이루어지는 비디오 프레임과 상기 시간 간격 사이의 비디오 프레임에 대하여 서로 다른 방식 객체 추적 방식을 적용하는 단계를 실행한다.
본 발명의 실시예에 따르면, 동일한 하드웨어 사양과 동일한 검출 성능의 객체 검출 DCNN을 채용한 영상분석장치가 기존 방식보다 더 많은 수의 비디오 채널에 대한 비디오 분석을 수행할 수 있을 것이다.
또한, 본 발명의 실시예에 따르면 비교적 컴퓨팅 자원의 제약이 큰 편인 엣지 장치에서 고성능의 객체 검출 DCNN을 채용하더라도 실시간 비디오 분석을 수행할 수 있을 것이다.
도 1은 기존의 객체 검출 DCNN 기반의 실시간 CCTV 영상분석장치가 채용하던 객체 검출/추적 방식을 도시한 예시도,
도 2는 본 발명의 실시예에 의한 실시간 CCTV 영상분석장치의 객체 검출/추적 방식을 도시한 예시도,
도 3은 본 발명의 일 실시예에 따른 실시간 CCTV 영상분석장치의 세부구조를 예시한 블록다이어그램,
도 4는 사람/차량 객체를 검출하도록 학습한 YOLOv3 객체 검출 DCNN 모델을 이용한 객체 검출 결과를 도시한 예시도,
도 5는 도 3의 바운딩 박스 매칭 기반 객체 추적부의 상세 동작 흐름도,
도 6은 도 3의 템플릿 매칭 기반 객체 추적부의 상세 동작 흐름도,
도 7은 도 6의 S602 단계에 해당하는, 특정 추적 객체의 다중 스케일 템플릿 매칭의 수행 예시도,
도 8은 도 1과 같은 기존 방식을 채용한 영상분석장치의 동작 예시도,
도 9는 본 발명의 실시예에서 제시한 방법을 채용한 영상분석장치의 동작 예시도,
도 10은 본 발명의 다른 실시예에 따른 영상분석장치의 세부구조를 예시한 블록다이어그램, 그리고
도 11은 본 발명의 실시예에 따른 영상분석장치의 구동 과정의 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명한다.
도 2는 본 발명의 실시예에 의한 실시간 CCTV 영상분석장치의 객체 검출/추적 방식을 도시한 예시도이다.
기존의 도 1의 방식과 비교할 때, 도 2의 방식에서는 매 프레임마다 DCNN 기반의 객체 검출을 수행하지 않고 N 프레임씩 건너뛰면서 객체 검출을 수행한다(도 2의 예에서 N = 2). 그리고 DCNN 기반의 객체 검출을 수행하지 않는 프레임에서의 객체 추적은, 기존의 바운딩 박스 매칭 기반 객체 추적 방법이 아닌 템플릿 매칭 기반 객체 추적 방법을 통해 이루어진다. 템플릿 매칭 기반 객체 추적 방법은 외부 객체 검출기의 도움 없이 각 추적 객체가 보유하고 있는 객체의 템플릿 이미지(Template Image)를 이용하여 입력 프레임 상에서 객체 추적을 수행한다.
본 발명의 실시예에 따른 영상분석장치는 위의 개선된 객체 추적 방법을 통해, 비디오 채널 당 DCNN 기반 객체 검출 횟수는 줄었음에도 불구하고 특정 비디오 채널에 대해 기존 방식과 거의 동일한 객체 검출/추적 결과를 내놓는다. 이를 통해 본 발명의 실시예에 따른 영상분석장치는 동일한 컴퓨팅 자원을 가지고도 기존 방식보다 더 많은 채널을 처리하거나 또는 처리 채널 수의 변동없이 보다 고성능의 객체 검출 DCNN을 사용할 수 있게 된다.
결론적으로, 본 발명의 실시예에 따른 영상분석장치는 특정 비디오 채널을 처리할 때 객체 검출 DCNN의 적용 횟수를 기존보다 줄이고, 이를 통해 발생하는 문제를 개선한 객체 추적 방법을 수행한다고 볼 수 있다.
도 3은 본 발명의 일 실시예에 따른 실시간 CCTV 영상분석장치의 세부구조를 예시한 블록다이어그램이며, 도 4는 사람/차량 객체를 검출하도록 학습한 YOLOv3 객체 검출 DCNN 모델을 이용한 객체 검출 결과를 도시한 예시도이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 영상분석장치(300), 가령 실시간 CCTV 영상분석장치는, 비디오 프레임 획득부(301), DCNN 기반 객체 검출부(302), 바운딩 박스 매칭 기반 객체 추적부(혹은 제1 객체추적부)(303), 템플릿 매칭 기반 객체 추적부(혹은 제2 객체추적부)(304) 및 이벤트 검출부(305)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 이벤트 검출부(305)와 같은 일부 구성요소가 생략되어 영상분석장치(300)가 구성되거나, 바운딩 박스 매칭 기반 객체 추적부(303)와 같은 일부 구성요소가 템플릿 매칭 기반 객체 추적부(304)와 같은 다른 구성요소에 통합되어 구성될 수 있는 것(예: 동일 CPU 내에 구성) 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
비디오 프레임 획득부(301)는 CCTV 영상분석장치(300)에 연결된 CCTV 카메라 등과 같은 비디오 제공 장치로부터 비디오 프레임을 지속적으로 획득한다. 일례로 CCTV 영상분석장치(300)에 연결된 비디오 제공 장치가 IP 카메라인 경우, 비디오 프레임 획득부(301)는 IP 카메라로부터 인코딩된 비디오 스트림을 지속적으로 수신 및 디코딩하여 YUV 픽셀 포맷 또는 RGB 픽셀 포맷의 비디오 프레임을 지속적으로 획득한다.
비디오 프레임 획득부(301)를 통해 획득한 비디오 프레임 데이터는 지정된 객체 검출 주기에 도달한 상태이면 DCNN 기반 객체 검출부(302)로 전달이 되고, 그렇지 않으면 템플릿 매칭 기반 객체 추적부(304)로 전달된다.
DCNN 기반 객체 검출부(302)는 비디오 프레임 획득부(301)가 제공하는 비디오 프레임으로부터 객체 검출 DCNN(Deep Convolutional Neural Network)을 이용하여, 기학습된 종류의 객체들을 검출한다. DCNN 기반 객체 검출부(302)를 통한 객체 검출 결과로는 검출된 객체의 바운딩 박스(Bounding Box) 좌표 값과 객체 종류(또는 객체 클래스) 값을 포함한다. DCNN 기반 객체 검출부(302)가 사용하는 객체 검출 DCNN의 연산은, 실시간 처리를 위해 통상적으로 CPU가 아닌 대규모 병렬 연산이 가능한 GPU, DSP, VPU, NPU 등에서 처리된다.
지금까지 다양한 형태의 객체 검출 DCNN 모델들이 제안되었는데, 대표적인 객체 검출 DCNN 모델로 Fast/Faster R-CNN, SSD, YOLO 시리즈 등을 들 수 있다. 도 4는 사람 및 차량 객체를 검출하도록 학습한 YOLOv3 DCNN 모델을 이용하여, 주어진 입력 영상으로부터 객체 검출을 수행하여 얻은 결과의 예를 보이고 있다. 도 4의 (a)는 입력 영상을, (b)는 욜로 DCNN 모델을 이용한 객체 검출 과정을, 그리고 (c)는 검출된 객체의 바운딩 박스 좌표 및 클래스 명 획득 등의 객체 검출 결과를 각각 보여주고 있다.
바운딩 박스 매칭 기반 객체 추적부(303)는 DCNN 기반 객체 검출부(302)로부터 획득한 객체 검출 결과(예: 검출 객체의 바운딩 박스 정보)와 이전 프레임의 객체 추적 결과(예: 기존 추적 객체의 바운딩 박스 정보)를 입력으로 받아, 바운딩 박스 매칭 기반으로 현재 프레임에서의 객체 추적 결과를 얻는다.
템플릿 매칭 기반 객체 추적부(304)는 이전 프레임까지의 객체 추적 결과와 비디오 프레임 확득부(301)에 의해 획득한 현재 비디오 프레임 데이터를 입력으로 받아, 템플릿 매칭 기반으로 현재 프레임에서의 객체 추적 결과를 얻는다.
이벤트 검출부(305)는 바운딩 박스 매칭 기반 객체 추적부(303) 및/또는 템플릿 매칭 기반 객체 추적부(304)를 통해 획득한 객체 추적 결과를 이용하여, 추적 객체들이 발생시키는 각종 이벤트들을 검출한다. 이벤트 검출부(305)를 통해 검출되는 이벤트들에 대한 상세 검출 규칙은 사용자에 의해 미리 설정되어 있는 상태라고 가정한다.
상세 이벤트 검출 규칙 및 객체 추적 결과를 이용하여 이벤트를 검출하는 일례로 "가상 경계선 통과" 이벤트의 검출을 들 수 있다. "가상 경계선 통과" 이벤트는 지정된 타입의 객체가 지정된 가상의 경계선을 지정된 방향으로 통과하는 이벤트를 의미하며, 지능형 영상 감시 분야에서 외부 침입 감지나, ITS 분야에서 특정 경로로 이동하는 차량을 검출하는 데 요긴하게 사용되는 이벤트이다. 이때, "가상 경계선 통과" 이벤트를 발생시키는 객체의 타입, 가상 경계선의 위치, 가상 경계선을 통과하는 방향이 사용자가 설정해야 할 상세 이벤트 검출 규칙에 해당한다. 그리고 특정 객체가 지정된 가상의 경계선을 통과하는 이벤트를 검출하려면, 이전 프레임에서의 해당 객체의 위치와 현재 프레임에서의 해당 객체의 위치를 잇는 선분이 지정된 가상 경계선과 교차하는지 체크해야 한다. 따라서 이러한 류의 이벤트를 검출하려면 객체 추적이 필수적으로 요구된다.
도 5는 도 3의 바운딩 박스 매칭 기반 객체 추적부의 상세 동작 흐름도이다.
도 5의 바운딩 박스 매칭 기반 객체 추적부(303)는 이전 프레임에서의 객체 추적 정보를 이용하여 현재 프레임에서의 추적 객체들의 위치를 예측한다(S501). 객체 추적 정보는 추적 중인 각 객체에 대해 [객체 고유 ID, 객체 종류] 및 이전 프레임에서의 [객체 바운딩 박스의 중심 좌표, 객체 바운딩 박스의 너비, 객체 바운딩 박스의 높이, 객체 바운딩 박스 중심의 속도 벡터]를 포함한다. 특정 추적 객체에 대하여, 이전 프레임에서의 객체 바운딩 박스의 중심 좌표를 Pp, 객체 바운딩 박스 중심의 속도 벡터를 Vp, 이웃하는 프레임 간의 시간 간격을 △t라고 하면, 현재 프레임에서 예측된 객체 바운딩 박스의 중심 좌표
Figure 112020060051637-pat00001
는 <수학식 1>과 같이 주어진다.
Figure 112020060051637-pat00002
현재 프레임에서 각 추적 객체의 예측된 바운딩 박스 영역은 상기 예측된 바운딩 박스 중심 좌표 값과, 이전 프레임에서의 객체 바운딩 박스의 너비 및 높이 값에 의해 정의된다.
또한, 바운딩 박스 매칭 기반 객체 추적부(303)는 "예측된 위치에서의 추적 객체 바운딩 박스"들과 DCNN 기반 객체 검출부(302)가 제공하는 "검출된 객체 바운딩 박스"들 사이의 매칭을 수행한다(S502).
N개의 "추적 객체 바운딩 박스"
Figure 112020060051637-pat00003
과 N개의 "검출 객체 바운딩 박스"
Figure 112020060051637-pat00004
가 주어졌다고 가정하자.
Figure 112020060051637-pat00005
Figure 112020060051637-pat00006
사이의 매칭 점수
Figure 112020060051637-pat00007
는 <수학식 2>와 같이 주어진다.
Figure 112020060051637-pat00008
<수학식 2>에서
Figure 112020060051637-pat00009
는 영역 B의 면적을 의미하고,
Figure 112020060051637-pat00010
는 바운딩 박스 B에 대응하는 객체의 종류를 의미하며, Ts는 매칭 임계치를 의미한다. <수학식 2>에서 IoU(Intersection over Union) 값은 0과 1 사이의 값을 가지며, IoU 값이 높을수록 두 바운딩 박스 사이의 유사도가 높은 것을 의미한다.
만약 특정 검출 객체의 바운딩 박스
Figure 112020060051637-pat00011
가 하기의 조건
Figure 112020060051637-pat00012
를 만족하면, 해당 검출 객체와 매치가 되는 추적 객체가 존재하지 않는다고 판단한다. 만약 특정 추적 객체의 바운딩 박스
Figure 112020060051637-pat00013
가 하기의 조건
Figure 112020060051637-pat00014
을 만족하면, 해당 추적 객체와 매치가 되는 검출 객체가 존재하지 않는다고 판단한다. 만약 특정 추적 객체의 바운딩 박스
Figure 112020060051637-pat00015
(또는 특정 검출 객체의 바운딩 박스
Figure 112020060051637-pat00016
)가 하기의 조건
Figure 112020060051637-pat00017
를 만족하면, 해당 추적 객체(또는 해당 검출 객체)와 매치가 되는 검출 객체(또는 추적 객체)가 존재한다고 판단한다. 이때 하나의 추적 객체 바운딩 박스
Figure 112020060051637-pat00018
에 대하여
Figure 112020060051637-pat00019
를 만족하는 복수의
Figure 112020060051637-pat00020
가 존재할 수 있으며, 반대로 하나의 검출 객체 바운딩 박스
Figure 112020060051637-pat00021
에 대하여
Figure 112020060051637-pat00022
를 만족하는 복수의
Figure 112020060051637-pat00023
가 존재할 수 있다. 임의의 쌍
Figure 112020060051637-pat00024
에 대하여,
Figure 112020060051637-pat00025
값이 클수록
Figure 112020060051637-pat00026
Figure 112020060051637-pat00027
는 동일 객체를 가리킬 확률이 크므로, 최적의 추적/검출 객체 바운딩 박스 매칭 쌍
Figure 112020060051637-pat00028
들을 구하려면 하기의 방법을 적용한다.
Figure 112020060051637-pat00029
를 만족하는 모든 추적/검출 객체 바운딩 박스 쌍
Figure 112020060051637-pat00030
으로 구성된 집합 G를 생성한다.
② 집합 G로부터 가장 큰
Figure 112020060051637-pat00031
값을 갖는 추적/검출 객체 바운딩 박스 쌍
Figure 112020060051637-pat00032
를 뽑아
Figure 112020060051637-pat00033
를 생성한다.
Figure 112020060051637-pat00034
를 생성하는데 사용된
Figure 112020060051637-pat00035
또는
Figure 112020060051637-pat00036
가 포함된 모든 추적/검출 객체 바운딩 박스 쌍
Figure 112020060051637-pat00037
들을 집합
Figure 112020060051637-pat00038
로부터 제거한다.
④ 집합 G에 남아 있는 것이 없을 때까지 단계 ② ~ 단계 ③을 반복한다.
바운딩 박스 매칭 기반 객체 추적부(303)는 S502 단계로부터 획득한 추적/검출 객체 바운딩 박스 매칭 결과를 이용하여 객체 추적 정보를 갱신한다(S503).
S503 단계에서 특정 검출 객체의 바운딩 박스와 매치가 되는 추적 객체의 바운딩 박스가 존재하지 않는 경우, 해당 검출 객체는 신규로 출현한 객체라고 볼 수 있으므로, 해당 검출 객체를 신규 추적 객체로 등록한다.
S503 단계에서 특정 추적 객체의 바운딩 박스와 매치가 되는 검출 객체의 바운딩 박스가 존재하는 경우, 해당 추적 객체의 상태 정보(영역/속도)를 갱신한다. 해당 추적 객체와 매치가 되는 검출 객체 바운딩 박스의 (중심 위치, 너비, 높이)를 (Pd, Wd, hd), 해당 추적 객체의 현재 프레임에서의 예측된 바운딩 박스 중심 위치를
Figure 112020060051637-pat00039
, 해당 추적 객체의 이전 프레임에서의 바운딩 박스의 (중심 위치, 너비, 높이)와 속도 벡터를 (
Figure 112020060051637-pat00040
와 Vp라고 하면, 해당 추적 객체의 갱신된 바운딩 박스의 (중심 위치, 너비, 높이)인 (
Figure 112020060051637-pat00041
와 갱신된 속도 벡터 Vc는 <수학식 3>과 같이 주어진다.
Figure 112020060051637-pat00042
<수학식 3>에서 α 및 β는 갱신률을 나타내며, 0과 1 사이의 값을 갖는다. α값이 1이면 해당 추적 객체의 바운딩 박스는 이와 매치가 되는 검출 객체의 바운딩 박스로 교체가 됨을 의미한다.
S503 단계에서 특정 추적 객체의 바운딩 박스와 매치가 되는 검출 객체의 바운딩 박스가 존재하지 않는 경우, 해당 객체는 보통 하기 3가지 경우 중 하나의 경우에 처해 있을 수 있다.
① 해당 객체가 입력 영상의 범위를 벗어난 경우
② 해당 객체가 다른 객체 또는 배경의 구조물에 의해 가려진 경우
③ 해당 객체가 영상 내에 존재하고 가려짐도 없으나 객체 검출 DCNN의 검출 성능 부족으로 해당 객체를 검출하는데 실패하는 경우
만약 해당 추적 객체의 현재 프레임에서의 예측된 바운딩 박스 중심 위치가 입력 영상의 범위를 벗어났으면 ①의 경우라고 판단하고 해당 추적 객체를 추적 객체 목록에서 제거한다. 만약 그렇지 않으면, ② 또는 ③의 경우라고 판단하고, 이런 경우에는 일정 시간 이내에 해당 객체가 다시 검출될 수도 있기 때문에, 일정 시간 내로 템플릿 매칭을 통해 계속 추적을 수행한다. 템플릿 매칭 기반의 객체 추적 방법은 도 3의 템플릿 매칭 기반 객체 추적부(304)에 의해 수행되는 객체 추적 방법과 동일하다.
S503 단계에서 추적 객체의 바운딩 박스의 갱신이 완료되었으면, 입력 비디오 프레임으로부터 객체 바운딩 박스 영역에 해당하는 이미지 패치(Image Patch)를 획득하고, 이를 이용하여 해당 추적 객체의 템플릿을 갱신(혹은 교체)한다. 추적 객체의 템플릿은 도 3의 템플릿 매칭 기반 객체 추적부(304)에서 템플릿 기반 객체 추적시 사용된다.
도 6은 도 3의 템플릿 매칭 기반 객체 추적부의 상세 동작 흐름도이다.
도 3의 템플릿 매칭 기반 객체 추적부(304)는 도 6에서와 같이 이전 프레임에서의 객체 추적 정보를 이용하여 현재 프레임에서의 추적 객체들의 위치를 예측한다(S601). S601 단계의 동작은 도 5의 S501 단계의 동작과 동일하다.
또한, 템플릿 매칭 기반 객체 추적부(304)는 입력 비디오 프레임에 대해 각 추적 객체별로 다중 스케일 템플릿 매칭을 수행하여, 현재 프레임에서의 최적의 객체 영역을 추정한다(S602). 이전 프레임에서 각 추적 객체마다 템플릿 이미지 TM을 획득하였고, 템플릿 이미지 TM을 리사이징(Resizing)하여 TM보다 약간 작은 템플릿 이미지 Ts와, TM보다 약간 큰 템플릿 이미지 TL을 얻은 상태라고 가정하면, 현재 프레임에서 각 추적 객체별 다중 스케일 템플릿 매칭은 하기 방법에 의해 수행된다.
① 현재 프레임에서 예측된 객체의 중심 위치를 기준으로, 너비가 WR인 정사각형의 템플릿 매칭 수행 영역 R을 설정한다.
② 상기 R에 속하는 각 픽셀 위치에 대해, 객체 템플릿 이미지 TM의 중심을 위치시킨 후, 현재 프레임과의 매칭 점수를 계산한다.
③ 상기 R 내에서 매칭 점수가 가장 큰 위치를 찾는다. 찾은 위치를 PM이라고 하고, SM이라고 하자.
④ 상기 PM을 중심으로 너비가
Figure 112020060051637-pat00043
인 정사각형의 템플릿 매칭 수행 영역
Figure 112020060051637-pat00044
을 설정한다.
Figure 112020060051637-pat00045
⑤ 상기
Figure 112020060051637-pat00046
내에서 객체 템플릿 이미지 Ts와 TL에 대해, 단계 ② ~ 단계 ③의 작업을 수행한다. 이렇게 하여 얻은 Ts와 TL의 (매칭 위치, 매칭 점수)를 각각 (Ps, Ss)과 (PL, SL)이라고 하자.
⑥ 세 개의 매칭 점수 Ss, SM, SL을 비교하여 가장 큰 매칭 점수를 찾는다. 가장 큰 매칭 점수를 갖는 템플릿 이미지를 TB라고 하고, TB의 (매칭 위치, 매칭 점수)를 (PB, SB)라고 하자. 그러면 현재 프레임에서 찾은 객체 바운딩 박스의 영역은 PB에 위치한 TB의 영역이 된다.
도 7은 다중 스케일 템플릿 매칭 방법에 의해 특정 추적 객체의 현재 프레임에서의 객체 영역을 추정한 예이다.
상기 템플릿 매칭 수행 시, 특정 위치 (u, v)에서 객체 템플릿 이미지 T와 현재 프레임 I 사이의 매칭 점수로는 <수학식 4>와 같이 주어지는 NCC(Normalized Cross-Correlation) 값을 사용한다.
Figure 112020060051637-pat00047
<수학식 4>에서
Figure 112020060051637-pat00048
는 T(x,y)의 평균값이고,
Figure 112020060051637-pat00049
는 템플릿 이미지 아래 영역에서 I(x,y)의 평균값을 의미한다. NCC는 0과 1 사이의 값을 가지며, 두 이미지 사이의 NCC 값이 클 수록 두 이미지 사이의 유사도가 높다고 말할 수 있다.
도 3의 템플릿 매칭 기반 객체 추적부(304)는 S602 단계로부터 획득한 템플릿 매칭 결과를 이용하여 객체 추적 정보를 갱신한다(S603).
S603 단계에서, 특정 추적 객체의 템플릿 매칭 점수 SB가 지정된 임계치 이상인 경우, 유효한 매칭 결과라고 판단하고, 추적 객체의 바운딩 박스를 (PB, TB)의 영역으로 갱신한다. 그리고 추적 객체의 속도 벡터를 <수학식 3>과 동일한 방법으로 갱신한다.
S604 단계에서 특정 추적 객체의 템플릿 매칭 점수 SB가 지정된 임계치 미만인 경우, 해당 추적 객체가 현재 프레임에서 사라진 것으로 판단하고, 해당 추적 객체를 추적 객체 목록에서 제거한다.
S604 단계에서 추적 객체의 바운딩 박스의 갱신이 완료되었으면, 입력 비디오 프레임으로부터 객체 바운딩 박스 영역에 해당하는 이미지 패치(Image Patch)를 획득하고, 이를 이용하여 해당 추적 객체의 템플릿을 갱신(혹은 교체)한다.
도 8과 도 9는 본 발명의 효과를 비교 설명하기 위한 실시간 CCTV 영상분석장치의 구성 예이다. 설명을 용이하게 하기 위해 다음과 같이 가정한다.
● 도 8과 도 9의 실시간 CCTV 영상분석장치는 동일한 성능의 CPU와 GPU를 가지고 있다.
● 상기 GPU는 총 20 FPS의 처리 속도로 객체 검출을 수행할 수 있다.
● 한 비디오 채널 당 10 FPS의 처리 속도로 객체 검출/추적 결과를 얻어야 한다.
● 하나의 비디오 채널은 10 FPS의 비디오 스트림을 입력받는다.
도 8의 실시간 CCTV 영상분석장치는 도 1과 같은 기존 방식을 채택한 예이다. 상기 가정을 만족하려면 각 비디오 채널은 입력받는 비디오 스트림의 매 프레임마다 객체 검출을 수행해야 한다. 따라서 도 8의 장치의 경우, CPU의 처리 성능에 상관 없이 GPU의 처리 성능에 의해 제약을 받아 최대 2개의 비디오 채널을 처리하게 된다.
도 9의 실시간 CCTV 영상분석장치는 도 2와 같은 본 발명의 실시예에서 제안한 방식을 채택한 예이다. 이때 각 채널에 대해 매 프레임마다 DCNN 기반의 객체 검출을 수행하는 것이 아니라, 가령 한 프레임씩 건너뛰면서 객체 검출을 수행하도록 설정하였다. 그러면 도 9의 장치는 도 8의 장치보다 2배 증가한 4개의 비디오 채널을 처리하게 된다.
각 비디오 채널에 대해 DCNN 기반 객체 검출 수행시 건너뛰는 프레임 수를 Nskip이라고 가정하자.
만약 도 9의 장치의 Nskip 값을 4로 설정하였다면, 각 채널 당 실제로 객체 검출 DCNN에 의한 객체 검출 횟수는 초당 2번이 되고, 도 9의 장치는 무려 10개의 비디오 채널을 처리하게 된다. 이때, 영상분석장치의 Nskip 값이 커지면 다음의 사항에 주의해야 한다.
● Nskip 값이 커질수록 CPU에서 처리해야 할 작업의 양이 많아지기 때문에, 나중에 가서는 영상분석장치의 처리 가능 채널 수는 CPU의 처리 성능에 의해 제약을 받게 된다.
● Nskip 값이 커질수록 신규 출현 객체에 대한 검출 반응 속도가 느려지게 된다.
● Nskip 값이 커질수록 템플릿 매칭 기반 객체 추적 기반이 길어짐에 따라 이에 따른 객체 추적 오류가 증가할 수 있다.
따라서, 본 발명의 실시예에서는 Nskip 값을 무조건 크게 하기보다는 상기의 주의 사항들을 고려하여 적당한 Nskip 값을 선택해야 한다. 즉 상기 조건을 만족하는 범위에서 Nskip 값을 결정한다고 볼 수 있다.
도 10은 본 발명의 다른 실시예에 따른 영상분석장치의 세부구조를 예시한 블록다이어그램이다.
도 10에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 영상분석장치(990)는 가령 엣지 장치나 관제장치로서, 통신 인터페이스부(1000), 제어부(1010), 영상분석부(1020) 및 저장부(1030)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 저장부(1030)와 같은 일부 구성요소가 생략되어 구성되거나, 영상분석부(1020)와 같은 일부 구성요소가 제어부(1010)와 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
통신 인터페이스부(1000)는 CCTV 카메라에 의해 촬영되는 촬영영상을 수신한다. 촬영영상은 시간 변화에 대하여 순차적으로 입력되는 복수의 비디오 프레임으로 구성된다. 여기서, 복수의 비디오 프레임을 구성하는 각각의 비디오 프레임은 단위(unit) 비디오 프레임이라 명명될 수 있으며, 픽쳐 단위의 비디오 프레임이라 명명되기도 한다.
제어부(1010)는 도 10의 영상분석장치(990)를 구성하는 통신 인터페이스부(1000), 영상분석부(1020), 저장부(1030)의 전반적인 제어 동작을 담당한다. 통신 인터페이스부(1000)에서 제공되는 촬영영상을 저장부(1030)에 임시 저장시킨 후 다시 불러내어 영상분석부(1020)로 제공할 수 있다.
또한, 제어부(1010)는 영상분석부(1020)의 촬영영상 분석 결과를 저장부(1030)에 임시 저장한 후, 가령 관제서버 등에 전송하여 DB에 체계적으로 분류하여 저장되도록 통신 인터페이스부(1000)를 제어할 수도 있을 것이다.
영상분석부(1020)는 도 2 및 도 3에서와 같은 동작을 수행한다. 예를 들어, 영상분석부(1020)는 제어부(1010)의 제어하에 카메라 촬영영상이 제공되면 수신된 촬영영상의 비디오 프레임에 대하여 지정 시간 간격(△t)의 비디오 프레임에 대하여 DCNN 기반의 객체 검출을 수행한다. 다시 말해, 수신된 N개의 모든 비디오 프레임에 대하여 DCNN 기반의 객체 검출을 수행하는 것이 아니라, 홀수나 짝수의 비디오 프레임에 대하여 DCNN 기반의 객체 검출을 수행하거나, 일정 간격의 시간이 도래할 때마다 해당 시간대의 비디오 프레임에 DCNN 기반의 객체 검출을 수행한다. 물론 이때 건너뛰는 비디오 프레임은 위에서 언급한 바와 같이 지정 조건을 만족해야 하는 것은 분명하다.
영상분석부(1020)는 DCNN 기반의 객체 검출이 이루어지는 비디오 프레임에 대하여는 바운딩 박스 매칭 기반의 객체 추적을 수행한다. 또한, 영상분석부(1020)는 건너뛰는 비디오 프레임들, 다시 말해 시간 간격 내에 있는 비디오 프레임들에게 대하여는 템플릿 매칭 기반 객체 추적을 수행한다. 템플릿은 기저장되어 있는 이미지를 이용하여 객체 추적을 한다면, DCNN 객체 검출 기반은 학습을 통해 이루어진다는 점에서 차이가 있다고 볼 수 있다.
나아가, 본 발명의 실시예에 따른 영상분석부(1020)는 위의 객체 추적 과정에서 이벤트 검출 동작을 수행할 수 있다. 영상분석부(1020)는 바운딩 박스 매칭 기반 객체 추적 결과 및 템플릿 매칭 기반 객체 추적 결과 중 적어도 하나의 추적 결과를 근거로 기저장된 이벤트 규칙을 참조하여 이벤트를 검출할 수 있다. 이벤트 검출은 다양한 형태로 이루어질 수 있으므로, 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다.
상기의 동작을 수행하기 위하여 영상분석부(1020)는 DCNN 기반의 객체 검출기, 바운딩 박스 매칭 기반 객체 추적부, 템플릿 매칭 기반 객체 추적부를 포함할 수 있으며, 이는 하드웨어, 소프트웨어(예: SW 모듈), 또는 그 조합에 의해 구성될 수 있으므로, 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다.
저장부(1030)는 제어부(1010)의 제어하에 처리되는 다양한 정보나 데이터를 임시 저장할 수 있다. 물론 여기서 정보나 데이터는 데이터 패킷 구조를 가정해 볼 때 헤더와 페이로드에 담기는 정보와 화소 데이터를 의미한다고 볼 수 있다. 가령, CCTV 카메라를 통해 인코딩되어 촬영영상이 제공되는 경우, 엣지 장치나 관제서버는 해당 데이터 패킷을 분리하고, 분리된 페이로드의 데이터를 디코딩할 수 있다. 이와 같이 디코딩된 데이터는 픽쳐 단위, 즉 비디오 프레임 형태로 복원되고 이러한 복원된 비디오 프레임 데이터는 저장부(1030)에 저장된 후 제어부(1010)의 제어하에 영상분석부(1020)로 제공될 수 있다.
상기한 내용 이외에도 도 10의 통신 인터페이스부(1000), 제어부(1010), 영상분석부(1020) 및 저장부(1030)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로, 그 내용들로 대신하고자 한다.
상기와 같은 구성의 결과, 가령 엣지 장치가 동일 사양의 하드웨어 자원이나 소프트웨어 자원을 갖는 경우를 가정해 볼 때 기존의 모든 비디오 프레임에 대하여 DCNN을 수행하여 객체 추적을 할 때보다는 영상 처리 속도가 빨라지거나 자원의 활용 효율이 매우 증가할 수 있을 것이다.
한편, 본 발명의 다른 실시예로서, 도 10의 제어부(1010)는 CPU와 메모리를 포함하며, CPU와 메모리는 원칩화하여 구성될 수 있다. 제어부(1010)는 제어회로, 연산부(ALU), 명령어해석부, 레지스트리 등을 포함할 수 있으며, 메모리는 램(RAM)을 포함할 수 있다. 제어회로는 제어 동작을, 연산부는 2진 비트정보의 연산처리를, 그리고 명령어해석부는 입력된 2진 비트정보가 어떠한 동작의 수행에 관련되는지를 해석할 수 있다. 여기서, 해석은 룩업테이블(LUT)상의 좌측과 우측에 데이터를 매칭한 후 제어회로가 좌측 데이터를 근거로 우측의 데이터를 찾아 동작을 수행하는 것일 수 있다. 레지스트리는 소프트웨어적인 데이터 저장에 관여한다. 상기의 구성에 따라 CPU는 영상분석장치(990)의 초기 구동시 영상분석부(1020)의 프로그램을 복사하여 메모리에 로딩한 후 이를 실행시켜 데이터 처리 속도를 빠르게 증가시킬 수 있게 된다.
도 11은 본 발명의 실시예에 따른 영상분석장치의 구동과정을 나타내는 흐름도이다.
설명의 편의상 도 11을 도 10과 함께 참조하면, 본 발명의 실시예에 따른 영상분석장치(990)는 카메라 등의 촬영장치로부터 촬영영상을 수신한다(S1100). 물론 여기서의 촬영영상은 디코딩에 의해 복원된 비디오 프레임의 촬영영상을 나타낸다.
또한, 영상분석장치(990)는 수신한 촬영영상의 비디오 프레임 중 지정된 시간 간격마다 도래하는 단위 비디오 프레임(혹은 제1 비디오 프레임)에 대하여 DCNN 기반으로 객체를 검출하고, 객체 검출이 이루어지는 비디오 프레임과 DCNN 기반의 객체 검출이 이루어지지 않는 시간 간격 사이의 비디오 프레임(혹은 제2 비디오 프레임)에 대하여 서로 다른 방식의 객체 추적을 수행한다(S1110).
예를 들어, 영상분석장치(990)는 객체 검출이 이루어지는 비디오 프레임에 대하여는 DCNN 검출 객체를 근거로 바운딩 박스 매칭 기반의 객체 추적을 수행하지만, 그 이외의 비디오 프레임에 대하여는 템플릿 매칭 기반의 객체 추적을 수행하며, 각 객체 추적의 추적 결과를 근거로 이벤트를 검출할 수 있다.
본 발명의 실시예에서는 시간 간격마다 하나의 단위 비디오 프레임에 대하여 DCNN 객체 검출을 수행하는 것을 설명하였지만, 연속되는 2개, 또는 3개의 비디오 프레임에 대하여 DCNN 객체 검출을 수행하고, 또 일정 시간 경과 후에 도래하는 2~3개의 비디오 프레임에 대하여 다시 DCNN 객체 검출 동작을 수행하는 것도 얼마든지 가능하므로, 본 발명의 실시예에서는 위의 어느 하나의 방식에 특별히 한정하지는 않을 것이다.
상기한 내용 이외에도 도 11의 영상분석장치(990)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로, 그 내용들로 대신하고자 한다.
한편, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
300, 990: 영상분석장치 301: 비디오 프레임 획득부
302: DCNN 기반 객체 검출부 303: 바운딩 박스 매칭 기반 객체 추적부
304: 템플릿 매칭 기반 객체 추적부 305: 이벤트 검출부
1000: 통신 인터페이스부 1010: 제어부
1020: 영상분석부 1030: 저장부

Claims (3)

  1. 촬영장치로부터 촬영영상을 수신하는 통신 인터페이스부; 및
    상기 수신한 촬영영상의 비디오 프레임 중 지정된 시간(t) 간격마다 도래하는 비디오 프레임에 대하여 DCNN(Deep Convolutional Neural Network) 기반으로 객체를 검출하고, 상기 객체 검출이 이루어지는 비디오 프레임과 상기 시간 간격 사이의 비디오 프레임에 대하여 서로 다른 객체 추적 방식을 적용하되, 상기 지정된 시간 간격의 비디오 프레임에 대하여 템플릿(template) 매칭 기반의 객체 추적을 수행하고, 상기 DCNN 기반의 객체 검출이 이루어진 비디오 프레임에 대하여 바운딩 박스 매칭 기반의 객체 추적을 수행하며, 상기 템플릿 매칭 기반의 객체 추적 결과 및 상기 바운딩 박스 매칭 기반의 객체 추적 결과를 근거로 지정된 이벤트를 검출하는 제어부;를 포함하되,
    상기 제어부는,
    상기 비디오 프레임을 수신하는 비디오 프레임 획득부;
    상기 비디오 프레임 획득부에서 제공하는 비디오 프레임으로부터 객체 검출 DCNN을 이용하여 기학습된 종류의 객체들을 검출하는 DCNN 기반 객체 검출부;
    상기 DCNN 기반 객체 검출부로부터 획득한 객체 검출 결과와 이전 비디오 프레임의 객체 추적 결과를 입력으로 받아 바운딩 박스 매칭 기반으로 현재 프레임에서의 객체 추적 결과를 얻는 바운딩 박스 매칭 기반 객체 추적부;
    이전 비디오 프레임까지의 객체 추적 결과와 상기 비디오 프레임 획득부에 의해 획득되는 현재 비디오 프레임 데이터를 입력으로 받아 템플릿 매칭 기반으로 현재 비디오 프레임에서의 객체 추적 결과를 얻는 템플릿 매칭 기반 객체 추적부; 및
    상기 바운딩 박스 매칭 기반 객체 추적부 및 상기 템플릿 매칭 기반 객체 추적부를 통해 획득한 객체 추적 결과를 이용하여 추적 객체들이 발생시키는 각종 이벤트들을 검출하는 이벤트 검출부;를 포함하며,
    상기 제어부는,
    상기 수신한 비디오프레임의 매 프레임마다 상기 DCNN 기반 객체 검출을 수행하지 않고 N 프레임씩 건너뛰면서(Nskip) 객체 검출을 수행하고, DCNN 기반의 객체 검출을 수행하지 않는 프레임에서의 객체 추적은 상기 템플릿 매칭 기반 객체 추적 방법을 통해 이루어지며,
    상기 제어부는,
    CPU의 처리 성능, 신규 출현 객체에 대한 검출 반응 속도 및 상기 템플릿 매칭 기반 객체 추적 기반이 길어짐에 따른 객체 추적 오류를 고려하여 상기 Nskip의 값을 결정한 후 상기 DCNN 기반 객체 검출을 수행하는 실시간 CCTV 영상분석장치.
  2. 제1항에 있어서,
    상기 제어부는, 상기 DCNN 기반의 객체 검출을 위하여 대규모 병렬 연산이 가능한 GPU, DSP, VPU 및 NPU 중 어느 하나와 상기 템플릿 매칭 기반의 객체 추적을 위한 CPU를 각각 포함하는 실시간 CCTV 영상분석장치.
  3. 통신 인터페이스부가, 촬영장치로부터 촬영영상을 수신하는 단계; 및
    제어부가, 상기 수신한 촬영영상의 비디오 프레임 중 지정된 시간(t) 간격마다 도래하는 비디오 프레임에 대하여 DCNN 기반으로 객체를 검출하고, 상기 객체 검출이 이루어지는 비디오 프레임과 상기 시간 간격 사이의 비디오 프레임에 대하여 서로 다른 방식 객체 추적 방식을 적용하되, 상기 지정된 시간 간격의 비디오 프레임에 대하여 템플릿 매칭 기반의 객체 추적을 수행하고, 상기 DCNN 기반의 객체 검출이 이루어진 비디오 프레임에 대하여 바운딩 박스 매칭 기반의 객체 추적을 수행하며, 상기 템플릿 매칭 기반의 객체 추적 결과 및 상기 바운딩 박스 매칭 기반의 객체 추적 결과를 근거로 지정된 이벤트를 검출하는 단계;를 포함하되,
    상기 제어부의 비디오 프레임 획득부가, 상기 비디오 프레임을 수신하는 단계;
    상기 제어부의 DCNN 기반 객체 검출부가, 상기 비디오 프레임 획득부에서 제공하는 비디오 프레임으로부터 객체 검출 DCNN을 이용하여 기학습된 종류의 객체들을 검출하는 단계;
    상기 제어부의 바운딩 박스 매칭 기반 객체 추적부가, 상기 DCNN 기반 객체 검출부로부터 획득한 객체 검출 결과와 이전 비디오 프레임의 객체 추적 결과를 입력으로 받아 바운딩 박스 매칭 기반으로 현재 프레임에서의 객체 추적 결과를 얻는 단계;
    상기 제어부의 템플릿 매칭 기반 객체 추적부가, 이전 비디오 프레임까지의 객체 추적 결과와 상기 비디오 프레임 획득부에 의해 획득되는 현재 비디오 프레임 데이터를 입력으로 받아 템플릿 매칭 기반으로 현재 비디오 프레임에서의 객체 추적 결과를 얻는 단계; 및
    상기 제어부의 이벤트 검출부가, 상기 바운딩 박스 매칭 기반 객체 추적부 및 상기 템플릿 매칭 기반 객체 추적부를 통해 획득한 객체 추적 결과를 이용하여 추적 객체들이 발생시키는 각종 이벤트들을 검출하는 단계;를 더 포함하며,
    상기 제어부는,
    상기 수신한 비디오프레임의 매 프레임마다 상기 DCNN 기반 객체 검출을 수행하지 않고 N 프레임씩 건너뛰면서(Nskip) 객체 검출을 수행하고, DCNN 기반의 객체 검출을 수행하지 않는 프레임에서의 객체 추적은 상기 템플릿 매칭 기반 객체 추적 방법을 통해 이루어지며,
    상기 제어부는,
    CPU의 처리 성능, 신규 출현 객체에 대한 검출 반응 속도 및 상기 템플릿 매칭 기반 객체 추적 기반이 길어짐에 따른 객체 추적 오류를 고려하여 상기 Nskip의 값을 결정한 후 상기 DCNN 기반 객체 검출을 수행하는 실시간 CCTV 영상분석장치의 구동방법.
KR1020200070786A 2020-06-11 2020-06-11 실시간 cctv 영상분석장치 및 그 장치의 구동방법 KR102201096B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200070786A KR102201096B1 (ko) 2020-06-11 2020-06-11 실시간 cctv 영상분석장치 및 그 장치의 구동방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200070786A KR102201096B1 (ko) 2020-06-11 2020-06-11 실시간 cctv 영상분석장치 및 그 장치의 구동방법

Publications (1)

Publication Number Publication Date
KR102201096B1 true KR102201096B1 (ko) 2021-01-11

Family

ID=74129286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200070786A KR102201096B1 (ko) 2020-06-11 2020-06-11 실시간 cctv 영상분석장치 및 그 장치의 구동방법

Country Status (1)

Country Link
KR (1) KR102201096B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102274913B1 (ko) * 2021-03-30 2021-07-08 서울대학교 산학협력단 경계박스 중복제거장치 및 그 장치의 구동방법
KR102368122B1 (ko) * 2021-08-31 2022-02-25 이홍기 딥러닝 영상 인식 기반의 차량 검출 및 추적 기술을 이용한 차량 번호 인식 방법 및 시스템
KR102416620B1 (ko) * 2021-12-29 2022-07-05 주식회사유원지리정보시스템 Cctv를 이용한 객체 추적 기반의 지역시설 이용 행태 분석 방법 및 시스템
KR20220141017A (ko) 2021-04-12 2022-10-19 주식회사 엘지유플러스 영상 분석 대상 판별 서버 및 그 제어방법
WO2022225105A1 (ko) * 2021-04-19 2022-10-27 한화테크윈 주식회사 Ai 기반 객체인식을 통한 감시 카메라 영상의 노이즈 제거
WO2022225102A1 (ko) * 2021-04-19 2022-10-27 한화테크윈 주식회사 Ai 기반 객체인식을 통한 감시 카메라의 셔터값 조절
KR20220169203A (ko) * 2021-06-18 2022-12-27 (주)타임소프트 보행자 돌발상황을 대처할 수 있는 지능형 교통제어시스템 및 그 방법
KR20230138385A (ko) * 2022-03-23 2023-10-05 주식회사 일루베이션 다중 객체 추적을 활용한 객체 계수 시스템

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101040049B1 (ko) 2010-12-02 2011-06-09 군산대학교산학협력단 영상 기반 감시 시스템에서 신속하고 강인한 다수 이동 물체 추적 방법
KR101173853B1 (ko) 2012-04-18 2012-08-14 (주)한국알파시스템 다중 객체 인식장치 및 방법
KR101178539B1 (ko) 2010-08-12 2012-08-30 아이브스테크놀러지(주) 통합 플랫폼 설계 기법을 이용한 지능형 영상 보안 시스템 및 방법
KR101394270B1 (ko) * 2012-11-14 2014-05-13 한국과학기술연구원 영상 감지 시스템 및 방법
KR101748121B1 (ko) 2016-08-25 2017-06-16 델리아이 주식회사 객체 인지 기반의 실시간 영상 검지 시스템 및 그 방법
KR101789690B1 (ko) 2017-07-11 2017-10-25 (주)블루비스 딥 러닝 기반 보안 서비스 제공 시스템 및 방법
KR101808587B1 (ko) 2017-08-03 2017-12-13 주식회사 두원전자통신 객체인식과 추적감시 및 이상상황 감지기술을 이용한 지능형 통합감시관제시스템
KR101850286B1 (ko) 2017-06-27 2018-04-19 한국기술교육대학교 산학협력단 딥 러닝 기반 cctv용 영상 인식 방법
KR20180042254A (ko) * 2015-08-18 2018-04-25 퀄컴 인코포레이티드 오브젝트 추적을 위한 시스템들 및 방법들
KR20180072561A (ko) 2016-12-21 2018-06-29 엑시스 에이비 비디오 감시 시스템에서 경보들을 발생시키는 방법
KR20180107930A (ko) 2017-03-23 2018-10-04 한국과학기술원 딥 러닝을 이용한 인공지능 기반 영상 감시 방법 및 시스템

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101178539B1 (ko) 2010-08-12 2012-08-30 아이브스테크놀러지(주) 통합 플랫폼 설계 기법을 이용한 지능형 영상 보안 시스템 및 방법
KR101040049B1 (ko) 2010-12-02 2011-06-09 군산대학교산학협력단 영상 기반 감시 시스템에서 신속하고 강인한 다수 이동 물체 추적 방법
KR101173853B1 (ko) 2012-04-18 2012-08-14 (주)한국알파시스템 다중 객체 인식장치 및 방법
KR101394270B1 (ko) * 2012-11-14 2014-05-13 한국과학기술연구원 영상 감지 시스템 및 방법
KR20180042254A (ko) * 2015-08-18 2018-04-25 퀄컴 인코포레이티드 오브젝트 추적을 위한 시스템들 및 방법들
KR101748121B1 (ko) 2016-08-25 2017-06-16 델리아이 주식회사 객체 인지 기반의 실시간 영상 검지 시스템 및 그 방법
KR20180072561A (ko) 2016-12-21 2018-06-29 엑시스 에이비 비디오 감시 시스템에서 경보들을 발생시키는 방법
KR20180107930A (ko) 2017-03-23 2018-10-04 한국과학기술원 딥 러닝을 이용한 인공지능 기반 영상 감시 방법 및 시스템
KR101850286B1 (ko) 2017-06-27 2018-04-19 한국기술교육대학교 산학협력단 딥 러닝 기반 cctv용 영상 인식 방법
KR101789690B1 (ko) 2017-07-11 2017-10-25 (주)블루비스 딥 러닝 기반 보안 서비스 제공 시스템 및 방법
KR101808587B1 (ko) 2017-08-03 2017-12-13 주식회사 두원전자통신 객체인식과 추적감시 및 이상상황 감지기술을 이용한 지능형 통합감시관제시스템

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102274913B1 (ko) * 2021-03-30 2021-07-08 서울대학교 산학협력단 경계박스 중복제거장치 및 그 장치의 구동방법
KR20220141017A (ko) 2021-04-12 2022-10-19 주식회사 엘지유플러스 영상 분석 대상 판별 서버 및 그 제어방법
WO2022225105A1 (ko) * 2021-04-19 2022-10-27 한화테크윈 주식회사 Ai 기반 객체인식을 통한 감시 카메라 영상의 노이즈 제거
WO2022225102A1 (ko) * 2021-04-19 2022-10-27 한화테크윈 주식회사 Ai 기반 객체인식을 통한 감시 카메라의 셔터값 조절
KR20220169203A (ko) * 2021-06-18 2022-12-27 (주)타임소프트 보행자 돌발상황을 대처할 수 있는 지능형 교통제어시스템 및 그 방법
KR102555076B1 (ko) 2021-06-18 2023-07-17 (주)타임소프트 보행자 돌발상황을 대처할 수 있는 지능형 교통제어시스템 및 그 방법
KR102368122B1 (ko) * 2021-08-31 2022-02-25 이홍기 딥러닝 영상 인식 기반의 차량 검출 및 추적 기술을 이용한 차량 번호 인식 방법 및 시스템
KR102416620B1 (ko) * 2021-12-29 2022-07-05 주식회사유원지리정보시스템 Cctv를 이용한 객체 추적 기반의 지역시설 이용 행태 분석 방법 및 시스템
KR20230138385A (ko) * 2022-03-23 2023-10-05 주식회사 일루베이션 다중 객체 추적을 활용한 객체 계수 시스템
KR102604809B1 (ko) 2022-03-23 2023-11-22 주식회사 일루베이션 다중 객체 추적을 활용한 객체 계수 시스템

Similar Documents

Publication Publication Date Title
KR102201096B1 (ko) 실시간 cctv 영상분석장치 및 그 장치의 구동방법
US20180114071A1 (en) Method for analysing media content
US11688070B2 (en) Video frame segmentation using reduced resolution neural network and masks from previous frames
CN110610510B (zh) 目标跟踪方法、装置、电子设备及存储介质
US10424341B2 (en) Dynamic video summarization
US8224038B2 (en) Apparatus, computer program product, and method for processing pictures
WO2018153323A1 (zh) 用于检测视频中物体的方法、装置和电子设备
US20100272365A1 (en) Picture processing method and picture processing apparatus
US11537857B2 (en) Pooling processing method and system applied to convolutional neural network
JP7286013B2 (ja) ビデオコンテンツ認識方法、装置、プログラム及びコンピュータデバイス
WO2018176186A1 (en) Semantic image segmentation using gated dense pyramid blocks
CN110189333B (zh) 一种图片语义分割半自动标注方法及装置
US10867390B2 (en) Computer vision processing
US20200285859A1 (en) Video summary generation method and apparatus, electronic device, and computer storage medium
US20160036882A1 (en) Simulataneous metadata extraction of moving objects
CN112200131A (zh) 一种基于视觉的车辆碰撞检测方法、智能终端及存储介质
KR101920281B1 (ko) 차량 내에서 입력 영상 데이터로부터 객체를 검출하는 장치 및 방법
KR20160093809A (ko) 프레임 영상과 모션 벡터에 기초하는 객체 검출 방법 및 장치
US20230095568A1 (en) Object tracking device, object tracking method, and program
US20230039549A1 (en) Methods and apparatuses for early warning of climbing behaviors, electronic devices and storage media
JPWO2018061976A1 (ja) 画像処理装置
Wang et al. Skip-connection convolutional neural network for still image crowd counting
Xiong et al. Snap angle prediction for 360 panoramas
CN111601013A (zh) 用于处理视频帧的方法和装置
US7826667B2 (en) Apparatus for monitor, storage and back editing, retrieving of digitally stored surveillance images

Legal Events

Date Code Title Description
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