KR20200075072A - 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치 - Google Patents

바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치 Download PDF

Info

Publication number
KR20200075072A
KR20200075072A KR1020180157430A KR20180157430A KR20200075072A KR 20200075072 A KR20200075072 A KR 20200075072A KR 1020180157430 A KR1020180157430 A KR 1020180157430A KR 20180157430 A KR20180157430 A KR 20180157430A KR 20200075072 A KR20200075072 A KR 20200075072A
Authority
KR
South Korea
Prior art keywords
bounding box
matching
detecting
initial
space
Prior art date
Application number
KR1020180157430A
Other languages
English (en)
Other versions
KR102387357B1 (ko
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 KR1020180157430A priority Critical patent/KR102387357B1/ko
Publication of KR20200075072A publication Critical patent/KR20200075072A/ko
Application granted granted Critical
Publication of KR102387357B1 publication Critical patent/KR102387357B1/ko

Links

Images

Classifications

    • G06K9/00711
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06K9/00778
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/759Region-based matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/53Recognition of crowd images, e.g. recognition of crowd congestion
    • G06K2009/6213
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치가 개시된다. 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법은, 시간적으로 연속하는 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계, 검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계, 매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계 및 검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계를 포함한다.

Description

바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치{A METHOD AND APPARATUS FOR DETECTING AN OBJECT IN AN IMAGE BY MATCHING A BOUNDING BOX ON A SPACE-TIME BASIS}
본 발명은 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 시간적으로 연속되는 프레임마다 검출된 바운딩 박스를 정방향 또는 양방향으로 매칭함으로써, 초기 검출된 바운딩 박스의 오류를 보정하는 기술에 관한 것이다.
객체 검출(Object Detection) 기술은 로봇, 비디오 감시, 자동차 안전 등과 같은 여러 응용 분야에서 널리 사용되고 있는 핵심 기술이다. 최근에는, 객체 검출 기술에 인공 신경망(Artificial Neural Network) 또는 합성 곱 신경망(convolutional neural network, CNN)을 사용하는 방식이 알려짐에 따라, 단일 영상을 이용한 객체 검출 기술은 비약적으로 발전하였다.
객체 검출 기술은 영상 내에서 특정 위치에 따른 객체를 식별하는 기술로서, 객체 분류(Object Classification) 기술과는 달리 객체의 위치와 식별을 동시에 추정해야 하고 영상 내에서 검출하고자 하는 모든 관심 객체를 식별해야 한다.
합성 곱 신경망을 이용한 객체 검출 방법은 영역 추출(RoI pooling, region of interest pooling)을 기반으로 하는 기법과 격자 공간(Grid Cell)을 기반으로 하는 기법으로 분류할 수 있다. 그 중 영역 추출을 기반으로 하는 기법은 하나의 특징 맵에서 서로 다른 크기를 갖는 객체를 검출할 수 있도록 바운딩 박스(bounding box)의 크기와 위치를 추정하고, 추정된 바운딩 박스를 이용해 객체를 검출한다.
그런데, 이러한 바운딩 박스는 시간적으로 연속성을 갖는 동영상의 특성을 고려하지 않고 각 프레임마다 독립적으로 검출하는 것이 일반적이므로, 일부 바운딩 박스가 검출되지 않거나, 관심 객체가 아닌 영역에 대하여 바운딩 박스가 잘못 검출되는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치를 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은, 바운딩 박스 기반의 객체 식별을 이용한 영상 분석 서버를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법을 제공한다.
상기 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법은, 시간적으로 연속하는 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계, 검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계, 매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계 및 검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 검출하는 단계는, 상기 복수의 프레임 각각에 대하여 전처리를 수행하는 단계, 전처리가 수행된 상기 복수의 프레임을 각각 CNN(Convolutional Neural Network)에 입력하여 바운딩 박스 후보를 획득하는 단계, 획득된 바운딩 박스 후보 중에서 선정된 바운딩 박스를 상기 적어도 하나의 초기 바운딩 박스로 검출하는 단계를 포함할 수 있다.
상기 전처리를 수행하는 단계는, 상기 복수의 프레임에 대한 해상도를 상기 CNN에 대한 입력 해상도에 따라 변환시키는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 상기 복수의 프레임 중에서 시간적으로 가장 앞선 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 정방향 매칭하는 단계를 포함할 수 있다.
상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는, 상기 정방향 매칭 결과, 상기 복수의 프레임 중에서 상기 가장 앞선 프레임에 대한 초기 바운딩 박스가 제1 프레임에 대한 초기 바운딩 박스와 대응관계가 없고, 나머지 프레임에 대한 초기 바운딩 박스와 대응관계가 있는 경우, 상기 제1 프레임에 대하여 바운딩 박스를 추가하는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 상기 복수의 프레임 중에서 시간적으로 중간에 위치한 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 양방향 매칭하는 단계를 포함할 수 있다.
상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는, 상기 양방향 매칭 결과, 상기 중간에 위치한 프레임에 대한 제1 초기 바운딩 박스가 나머지 프레임에 대한 초기 바운딩 박스들과 대응관계가 없으면, 상기 제1 초기 바운딩 박스를 삭제하는 단계를 포함할 수 있다.
상기 초기 바운딩 박스는, 중심 픽셀 위치 좌표값 및 크기로 표현될 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 매칭할 두개의 바운딩 박스가 중첩되는 면적을 기초로 산출되는 비용함수를 이용하여 대응관계를 결정하는 단계를 포함할 수 있다.
상기 비용함수는, 상기 중첩되는 면적을 상기 두개의 바운딩 박스 각각이 차지하는 면적의 합으로 나눈 값으로 정의될 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치를 제공한다.
상기 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치는, 적어도 하나의 프로세서(processor) 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
상기 적어도 하나의 단계는, 시간적으로 연속하는 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계, 검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계, 매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계 및 검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 검출하는 단계는, 상기 복수의 프레임 각각에 대하여 전처리를 수행하는 단계, 전처리가 수행된 상기 복수의 프레임을 각각 CNN(Convolutional Neural Network)에 입력하여 바운딩 박스 후보를 획득하는 단계, 획득된 바운딩 박스 후보 중에서 선정된 바운딩 박스를 상기 적어도 하나의 초기 바운딩 박스로 검출하는 단계를 포함할 수 있다.
상기 전처리를 수행하는 단계는, 상기 복수의 프레임에 대한 해상도를 상기 CNN에 대한 입력 해상도에 따라 변환시키는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 상기 복수의 프레임 중에서 시간적으로 가장 앞선 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 정방향 매칭하는 단계를 포함할 수 있다.
상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는, 상기 정방향 매칭 결과, 상기 복수의 프레임 중에서 상기 가장 앞선 프레임에 대한 초기 바운딩 박스가 제1 프레임에 대한 초기 바운딩 박스와 대응관계가 없고, 나머지 프레임에 대한 초기 바운딩 박스와 대응관계가 있는 경우, 상기 제1 프레임에 대하여 바운딩 박스를 추가하는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 상기 복수의 프레임 중에서 시간적으로 중간에 위치한 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 양방향 매칭하는 단계를 포함할 수 있다.
상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는, 상기 양방향 매칭 결과, 상기 중간에 위치한 프레임에 대한 제1 초기 바운딩 박스가 나머지 프레임에 대한 초기 바운딩 박스들과 대응관계가 없으면, 상기 제1 초기 바운딩 박스를 삭제하는 단계를 포함할 수 있다.
상기 초기 바운딩 박스는, 중심 픽셀 위치 좌표값 및 크기로 표현될 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 매칭할 두개의 바운딩 박스가 중첩되는 면적을 기초로 산출되는 비용함수를 이용하여 대응관계를 결정하는 단계를 포함할 수 있다.
상기 비용함수는, 상기 중첩되는 면적을 상기 두개의 바운딩 박스 각각이 차지하는 면적의 합으로 나눈 값으로 정의될 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 바운딩 박스 기반의 객체 식별을 이용한 영상 분석 서버를 제공한다.
상기 바운딩 박스 기반의 객체 식별을 이용한 영상 분석 서버는, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들을 저장하는 메모리를 포함할 수 있다.
상기 적어도 하나의 단계는, 도시 환경을 관리하는 통합 관제 서버 또는 상기 통합 관제 서버와 연동된 데이터베이스로부터 CCTV영상을 수신하는 단계, 획득된 CCTV 영상에서 시간적으로 연속한 복수의 프레임을 획득하는 단계, 획득한 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계, 검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계, 매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계, 검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계 및 검출된 객체에 대한 정보를 상기 통합 관제 서버로 전송하는 단계를 포함할 수 있다.
상기와 같은 본 발명에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치를 이용할 경우에는 CNN으로 도출된 초기 바운딩 박스에 대한 오검출 또는 미검출을 보완하여 정확한 바운딩 박스를 검출할 수 있다.
또한, 일부 사물에 의해 가려진 폐색 영역에 위치한 객체의 바운딩 박스까지 검출할 수 있는 장점이 있다.
도 1은 시간적으로 연속성이 있는 프레임들에서 바운딩 박스를 검출할 때 발생하는 오류를 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 초기 바운딩 박스를 검출하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 시간적으로 연속성이 있는 프레임들 각각에서 검출된 초기 바운딩 박스의 구성을 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상에서 정방향으로 매칭하는 방법을 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상에서 양방향으로 매칭하는 방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 시공간상에서 매칭되는 바운딩 박스 상호간 유사도를 결정하기 위한 비용함수에 관한 개념도이다.
도 7은 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법에 대한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치에 대한 구성도이다.
도 9는 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치가 적용될 수 있는 통합 관제 시스템에 대한 구성도이다.
도 10은 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치에 대한 효과를 설명하기 위한 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 시간적으로 연속성이 있는 프레임들에서 바운딩 박스를 검출할 때 발생하는 오류를 설명하기 위한 예시도이다.
일반적으로 객체 검출을 위한 영상들은 시간적으로 연속성을 갖는 복수의 프레임(frame) 또는 픽쳐로 구성된다. 이때, 개별 프레임마다 객체 검출을 위한 바운딩 박스를 검출할 경우, 바운딩 박스 검출 성능에 따라 특정 프레임에서 잘못된 바운딩 박스가 검출되거나, 검출되어야할 바운딩 박스가 검출되지 않는 문제가 발생할 수 있다.
도 1을 참조하면, 현재 프레임(frame(t))에 대한 이전 프레임(frame(t-1))에서 제1 바운딩 박스(10), 제2 바운딩 박스(11), 제3 바운딩 박스(12)가 관심 객체들에 대하여 검출된 것을 확인할 수 있다.
이때, 현재 프레임(frame(t))에서도 바운딩 박스를 검출하면, 도 1과 같이 제1 바운딩 박스(10)와 제3 바운딩 박스(12)는 그대로 검출되더라도, 제2 바운딩 박스(11)가 검출되지 않는 검출실패(false negative) 상황이 발생할 수 있다.
또한, 도면에 도시하지는 않았으나, 이전 프레임(frame(t-1))에서 검출되지 않은 바운딩 박스가 현재 프레임(frame(t))에서 새로운 관심 객체가 나타나지 않았음에도 불구하고 검출되는 오검출(false positive)이 발생할 수 있다.
이처럼, 프레임 단위로 독립적으로 바운딩 박스를 검출하여 객체 검출을 수행할 경우, 동영상 자체가 갖는 시간 연속성을 고려하지 않게 되기 때문에 객체 검출 알고리즘에 따라 오검출이나 검출실패할 수 있다.
이러한 문제점들을 해결하기 위한 방법으로, 본 발명의 일 실시예에 따르면 프레임 단위로 검출된 바운딩 박스를 초기 바운딩 박스로 설정하고, 초기 바운딩 박스 상호간에 시공간상 상관관계를 고려하여 추가적인 바운딩 박스를 검출하거나, 잘못 검출된 바운딩 박스를 삭제하는 방식으로 초기 바운딩 박스를 보정할 수 있다.
이하에서는 먼저 초기 바운딩 박스를 결정하는 과정을 도면을 참조하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 초기 바운딩 박스를 검출하는 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 초기 바운딩 박스를 검출하는 방법은, 입력 이미지에 대한 전처리를 수행하는 단계(S100), 전처리된 입력 이미지를 CNN(Convolutional Neural Network, 합성곱 신경망)에 입력하여 바운딩 박스 후보를 획득하는 단계(S110) 및 바운딩 박스 후보 중에서 선정된 바운딩 박스를 초기 바운딩 박스를 결정하는 단계(S120)를 포함할 수 있다.
전처리를 수행하는 단계(S100)는, 특정 해상도로 이루어진 입력 이미지를 CNN의 입력 데이터에 맞는 해상도로 변환하는 단계를 포함할 수 있다. 예를 들어 입력 영상이 고해상도(예를 들어 FHD, QHD 등) 영상이고, CNN의 입력 데이터는 저해상도(예를 들어 SD 등) 영상인 경우, 입력 이미지의 해상도를 다운 스케일링하여 CNN의 입력 데이터에 따른 해상도를 갖도록 변환할 수 있다. 이때, 입력 이미지는 동영상을 구성하는 연속된 프레임들(예를 들면 현재 시점이 t일 때, t-1, t, t+1에 해당하는 시점을 갖는 3개의 프레임)일 수 있다.
바운딩 박스 후보를 획득하는 단계(S110)는 사전에 학습된 CNN에 전처리된 입력 이미지를 통과시킴에 따라 CNN의 출력으로, 여러 픽셀 위치에 대한 바운딩 박스 후보와 바운딩 박스 후보에 관심 객체가 위치할 확률을 나타내는 신뢰도를 획득할 수 있다.
여기서 CNN은 다양한 크기를 갖는 특징 맵(feature map)을 사용하여 바운딩 박스가 될 수 있는 위치와 크기를 추정하고, 추정된 바운딩 박스들로 이루어지는 바운딩 박스 후보들을 출력할 수 있다. 이때, CNN은 바운딩 박스 후보들에 대한 신뢰도를 함께 출력할 수 있다. 또한, CNN을 구성하는 계수 값 등은 빅 데이터를 이용하여 미리 학습됨으로써 결정될 수 있다. 그 밖에 객체 검출을 위한 CNN의 구성과 동작에 대해서는 본 발명이 속하는 기술분야에서 통상의 기술자가 용이하게 이해할 수 있을 것이므로 구체적인 설명은 생략한다.
바운딩 박스 후보 중에서 바운딩 박스를 초기 바운딩 박스로 결정하는 단계(S120)는 비최대화 억제(Non-max suppression) 알고리즘을 수행하여 신뢰도가 미리 설정된 임계값보다 높은 바운딩 박스 후보를 선택함으로써, 초기 바운딩 박스를 결정할 수 있다.
상기 단계 S100 내지 S120은 동영상을 구성하는 연속된 프레임들마다 개별적으로 수행되어 각각의 프레임마다 초기 바운딩 박스가 결정될 수 있다.
도 3은 본 발명의 일 실시예에 따른 시간적으로 연속성이 있는 프레임들 각각에서 검출된 초기 바운딩 박스의 구성을 설명하기 위한 개념도이다.
도 2에 따른 초기 바운딩 박스를 검출하는 과정을 현재 프레임(frame(t)) 및 상기 현재 프레임과 시간적으로 인접한 이전 프레임(frame(t-1))과 이후 프레임(frame(t+1))에 대하여 수행하면, 도 3과 같이 3개의 시간적으로 연속한 프레임에 대하여 초기 바운딩 박스들을 검출할 수 있다.
구체적으로, 도 3의 도면 기호 31을 참조하면, 이전 프레임(frame(t-1))에 대하여 초기 바운딩 박스들이 검출되어 B1 t - 1 부터 BM t - 1 까지 M개의 바운딩 박스가 도출된 것을 확인할 수 있다.
또한, 도 3의 도면 기호 32를 참조하면, 현재 프레임(frame(t))에 대하여 초기 바운딩 박스들이 검출되어 B1 t 부터 BN t 까지 N개의 바운딩 박스가 도출된 것을 확인할 수 있다.
또한, 도 3의 도면 기호 33을 참조하면, 이후 프레임(frame(t+1))에 대하여 초기 바운딩 박스들이 검출되어 B1 t + 1 부터 BK t + 1 까지 K개의 바운딩 박스가 도출된 것을 확인할 수 있다.
한편, 각각의 초기 바운딩 박스들(31~33)은 바운딩 박스의 위치 정보와 크기 정보를 갖도록 구성될 수 있다. 여기서 바운딩 박스의 위치 정보는 바운딩 박스의 중심 픽셀 위치 좌표값(x,y)으로 표현될 수 있으며, 크기 정보는 바운딩 박스의 너비(w)와 높이(h)으로 표현될 수 있다.
도 4는 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상에서 정방향으로 매칭하는 방법을 설명하기 위한 개념도이다. 도 5는 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상에서 양방향으로 매칭하는 방법을 설명하기 위한 개념도이다.
본 발명의 일 실시예에 따르면, 도 3과 같이 연속된 프레임 각각에 대하여 도출된 초기 바운딩 박스들을 서로 시공간상으로 비교하여 대응관계가 있는 바운딩 박스가 있는지 결정하고, 대응관계 유무에 따라 오검출된 바운딩 박스를 삭제하거나, 검출되지 않은 바운딩 박스를 추가할 수 있다.
먼저, 바운딩 박스를 시공간상에서 정방향으로 매칭하는 방법을 설명하면 도 4와 같이 이전 프레임(frame(t-1))에 대한 초기 바운딩 박스들을 현재 프레임(frame(t))과 이후 프레임(frame(t+1))에 대한 초기 바운딩 박스들과 비교하여 대응관계 유무를 판단할 수 있다. 여기서 정방향이라는 의미는 프레임들이 갖는 시간적 진행 방향에 따라 초기 바운딩 박스를 비교한다는 것을 의미할 수 있다.
도 4와 같은 정방향 매칭을 통해 초기 바운딩 박스들 중에서 검출되지 않은 바운딩 박스를 추가로 검출할 수 있다. 예를 들어, 이전 프레임(frame(t-1))의 특정 초기 바운딩 박스가 현재 프레임(frame(t))에 대한 초기 바운딩 박스들과는 모두 대응관계가 없지만, 이후 프레임(frame(t+1))에 대한 초기 바운딩 박스와 대응관계가 있는 경우, 현재 프레임(frame(t))에 대한 초기 바운딩 박스가 누락된 것으로 해석할 수 있다. 따라서, 현재 프레임(frame(t))에 대한 초기 바운딩 박스를 추가로 생성할 수 있다. 이때 추가로 생성되는 현재 프레임(frame(t))에 대한 초기 바운딩 박스는, 이전 프레임(frame(t-1))과 이후 프레임(frame(t+1)) 사이에서만 서로 대응관계를 갖는 두 개의 초기 바운딩 박스의 평균에 해당하는 위치정보와 크기 정보를 가질 수 있다.
또한, 바운딩 박스를 시공간상에서 양방향으로 매칭하는 방법으로는, 도 5와 같이 현재 프레임(frame(t))에 대한 초기 바운딩 박스들을 이전 프레임(frame(t-1))과 이후 프레임(frame(t+1))에 대한 초기 바운딩 박스들과 비교하여 서로간에 유사도를 산출하고 산출된 유사도에 기초하여 대응관계 유무를 판단할 수 있다. 여기서 양방향이라는 의미는 현재 프레임을 기준으로 시간적으로 앞서는 이전 프레임과 비교를 수행하고, 현재 프레임을 기준으로 시간적으로 느린 이후 프레임과 비교를 수행한다는 것을 의미할 수 있다.
도 5와 같은 양방향 매칭을 통해 초기 바운딩 박스들 중에서 잘못 검출된 바운딩 박스를 삭제할 수 있다. 예를 들어, 현재 프레임(frame(t))의 특정 초기 바운딩 박스가 이전 프레임(frame(t-1))과 이후 프레임(frame(t+1))에 대한 초기 바운딩 박스 모두에서 대응관계가 없으면, 그러한 현재 프레임(frame(t))의 특정 초기 바운딩 박스는 잘못 검출되었을 가능성이 높다. 따라서, 잘못된 검출된 것으로 확인된 현재 프레임(frame(t))의 특정 초기 바운딩 박스를 삭제할 수 있다.
여기서는 연속된 3개의 프레임을 기준으로 정방향 또는 양방향으로 대응관계를 비교하였으나 이에 한정되는 것은 아니다. 예를 들어, 현재 프레임을 기준으로 시간적으로 앞선 두개의 프레임에 대한 바운딩 박스들을 현재 프레임에 대한 바운딩 박스와 비교하고, 시간적으로 느린 두개의 프레임에 대한 바운딩 박스들을 현재 프레임에 대한 바운딩 박스와 비교하여 잘못 검출된 바운딩 박스를 찾을 수도 있다. 또한, 정방향으로 5개의 연속된 프레임에 대한 바운딩 박스를 비교하여 중간에 특정 프레임에서만 대응관계가 있는 바운딩 박스가 발견되지 않은 경우, 해당하는 특정 프레임에서 바운딩 박스가 미검출(또는 누락)된 것으로 판단하고, 해당 특정 프레임과 시간상으로 인접한 두개의 프레임의 서로 대응관계가 있는 바운딩 박스를 이용하여 미검출된 바운딩 박스를 추가로 생성할 수 있다.
이하에서는, 바운딩 박스 상호간에 대응관계 유무를 결정하기 위한 방법을 설명한다.
도 6은 본 발명의 일 실시예에 따른 시공간상에서 매칭되는 바운딩 박스 상호간 유사도를 결정하기 위한 비용함수에 관한 개념도이다.
바운딩 박스 상호간에 대응관계가 있는지 결정하기 위한 방법으로, 본 발명의 일 실시예에 따르면 비용함수를 정의할 수 있다.
예를 들어, 도 6을 참조하면, 이전 프레임(frame(t-1))에 대한 바운딩 박스(71)와 현재 프레임(frame(t))에 대한 바운딩 박스(72) 상호간 대응관계를 판단할 경우, 두개의 바운딩 박스(71, 72)가 각각의 프레임 상에서 위치한 위치 정보와 면적 정보에 따라 도면기호 74와 같이 동일한 공간(또는 프레임) 상에서 두개의 바운딩 박스(71, 72)를 표시할 수 있다.
이때, 두개의 바운딩 박스(71, 72)가 서로 중첩되는 면적(73)의 크기를 개별 바운딩 박스 각각(71, 72)의 면적 크기의 합으로 나눈 값을 비용함수로 정의할 수 있다.
여기서 정의한 비용함수는 0과 1 사이의 값을 가질 수 있다. 구체적으로 두개의 바운딩 박스가 공간적으로 인접한 위치에 있어 중첩되는 면적이 많다면 비용함수는 1에 가까운 값을 가지며, 공간적으로 멀리 위치해 있어 중첩되는 면적이 없거나 작다면 0에 가까운 값을 가질 수 있다.
따라서, 본 발명의 일 실시예에 따라 정의된 비용함수를 비교 대상인 두개의 바운딩 박스에 대하여 산출하고, 산출된 비용함수가 미리 설정된 제1 임계값보다 크다면, 두개의 바운딩 박스는 서로 대응관계가 있는 것으로 결정할 수 있다.
또한, 앞서 산출된 비용함수가 미리 설정된 제2 임계값보다 작다면, 두개의 바운딩 박스는 서로 대응관계가 없는 것으로 결정할 수 있다.
이때, 제1 임계값과 제2 임계값은 서로 다른 값을 갖고 제1 임계값이 제2 임계값보다 클 수 있으나, 반드시 이에 한정되는 것은 아니다. 예를 들어 제1 임계값과 제2 임계값을 동일한 값으로 설정할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법에 대한 흐름도이다.
도 7을 참조하면, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법은, 시간적으로 연속하는 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계(S200), 검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계(S210), 매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계(S220) 및 검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계(S230)를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 검출하는 단계(S200)는, 상기 복수의 프레임 각각에 대하여 전처리를 수행하는 단계, 전처리가 수행된 상기 복수의 프레임을 각각 CNN(Convolutional Neural Network)에 입력하여 바운딩 박스 후보를 획득하는 단계, 획득된 바운딩 박스 후보 중에서 선정된 바운딩 박스를 상기 적어도 하나의 초기 바운딩 박스로 검출하는 단계를 포함할 수 있다.
상기 전처리를 수행하는 단계는, 상기 복수의 프레임에 대한 해상도를 상기 CNN에 대한 입력 해상도에 따라 변환시키는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계(S210)는, 상기 복수의 프레임 중에서 시간적으로 가장 앞선 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 정방향 매칭하는 단계를 포함할 수 있다.
상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계(S220)는, 상기 정방향 매칭 결과, 상기 복수의 프레임 중에서 상기 가장 앞선 프레임에 대한 초기 바운딩 박스가 제1 프레임에 대한 초기 바운딩 박스와 대응관계가 없고, 나머지 프레임에 대한 초기 바운딩 박스와 대응관계가 있는 경우, 상기 제1 프레임에 대하여 바운딩 박스를 추가하는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계(S210)는, 상기 복수의 프레임 중에서 시간적으로 중간에 위치한 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 양방향 매칭하는 단계를 포함할 수 있다.
상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계(S220)는, 상기 양방향 매칭 결과, 상기 중간에 위치한 프레임에 대한 제1 초기 바운딩 박스가 나머지 프레임에 대한 초기 바운딩 박스들과 대응관계가 없으면, 상기 제1 초기 바운딩 박스를 삭제하는 단계를 포함할 수 있다.
상기 초기 바운딩 박스는, 중심 픽셀 위치 좌표값 및 크기로 표현될 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계(S210)는, 매칭할 두개의 바운딩 박스가 중첩되는 면적을 기초로 산출되는 비용함수를 이용하여 대응관계를 결정하는 단계를 포함할 수 있다.
상기 비용함수는, 상기 중첩되는 면적을 상기 두개의 바운딩 박스 각각이 차지하는 면적의 합으로 나눈 값으로 정의될 수 있다.
도 8은 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치에 대한 구성도이다.
도 8을 참조하면, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치(100)는, 적어도 하나의 프로세서(processor, 110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 120)를 포함할 수 있다.
상기 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
또한, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver, 130)를 포함할 수 있다. 또한, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.
상기 적어도 하나의 단계는, 시간적으로 연속하는 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계, 검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계, 매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계 및 검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 검출하는 단계는, 상기 복수의 프레임 각각에 대하여 전처리를 수행하는 단계, 전처리가 수행된 상기 복수의 프레임을 각각 CNN(Convolutional Neural Network)에 입력하여 바운딩 박스 후보를 획득하는 단계, 획득된 바운딩 박스 후보 중에서 선정된 바운딩 박스를 상기 적어도 하나의 초기 바운딩 박스로 검출하는 단계를 포함할 수 있다.
상기 전처리를 수행하는 단계는, 상기 복수의 프레임에 대한 해상도를 상기 CNN에 대한 입력 해상도에 따라 변환시키는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 상기 복수의 프레임 중에서 시간적으로 가장 앞선 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 정방향 매칭하는 단계를 포함할 수 있다.
상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는, 상기 정방향 매칭 결과, 상기 복수의 프레임 중에서 상기 가장 앞선 프레임에 대한 초기 바운딩 박스가 제1 프레임에 대한 초기 바운딩 박스와 대응관계가 없고, 나머지 프레임에 대한 초기 바운딩 박스와 대응관계가 있는 경우, 상기 제1 프레임에 대하여 바운딩 박스를 추가하는 단계를 포함할 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 상기 복수의 프레임 중에서 시간적으로 중간에 위치한 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 양방향 매칭하는 단계를 포함할 수 있다.
상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는, 상기 양방향 매칭 결과, 상기 중간에 위치한 프레임에 대한 제1 초기 바운딩 박스가 나머지 프레임에 대한 초기 바운딩 박스들과 대응관계가 없으면, 상기 제1 초기 바운딩 박스를 삭제하는 단계를 포함할 수 있다.
상기 초기 바운딩 박스는, 중심 픽셀 위치 좌표값 및 크기로 표현될 수 있다.
상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는, 매칭할 두개의 바운딩 박스가 중첩되는 면적을 기초로 산출되는 비용함수를 이용하여 대응관계를 결정하는 단계를 포함할 수 있다.
상기 비용함수는, 상기 중첩되는 면적을 상기 두개의 바운딩 박스 각각이 차지하는 면적의 합으로 나눈 값으로 정의될 수 있다.
도 9는 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치가 적용될 수 있는 통합 관제 시스템에 대한 구성도이다.
도 1 내지 도 8에서 설명한 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치는 교통, 공공시설, 관광, 주거 환경 등에서 스마트 시티를 운용하기 위한 통합 관제 시스템에 적용될 수 있다.
여기서, 스마트 시티를 운용하기 위한 통합 관제 시스템은, 도시 내 각 지점에 설치되거나 사용자에 의해 제어되어, 설치장소 주변 환경에 대한 영상 데이터와 센싱 데이터를 생성하는 각종 단말 장치들(90~92), 각종 단말 장치(90~92)들로부터 수집된 영상, 센싱 데이터를 수집하여 저장하고, 저장된 데이터를 영상 분석 서버(94) 또는 통합 관제 서버(95)로 전송하는 데이터베이스(93), 데이터베이스(93)로부터 전송받은 영상 데이터를 분석하여 객체를 영상 내 객체를 식별하고, 식별한 결과를 통합 관제 서버(95)로 전송하는 영상 분석 서버(94) 및/또는 데이터베이스(93)로부터 전송받은 영상 또는 센싱 데이터와 영상 분석 서버(94)로부터 전송받은 객체 식별 결과를 기초로 도시 내 주차, 재난, 긴급구조, 교통 등을 비롯한 각종 주거, 교통 환경을 모니터링하고 다양한 대응 서비스를 제공하는 통합 관제 서버(95)를 포함할 수 있다.
여기서 각종 단말 장치들(90~92)는 도시 내 각 지점에 설치된 CCTV(90), 도시 내 일반 시민들이 사용하는 사용자 단말(91), 카메라(92) 등을 의미할 수 있다. 또한 그 밖에 단말 장치들(90~92)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
통합 관제 서버(95)는 영상 분석 서버(94)에서 전달받은 객체 식별 결과를 기초로 불법 주차 여부를 판단하거나, 특정 지점에서의 재난 상황, 교통 장애 여부를 결정하고, 결정된 상황에 따른 대응 서비스로서 단속 요원에 대한 통지 메시지 전송, 재난 안내 메시지 전송, 재난 제어 본부로의 상황 전송 등을 수행할 수 있다.
영상 분석 서버(94)는 데이터베이스(93)로부터 영상 데이터를 수신하거나, 또는 통합 관제 서버(95)의 영상 분석 요청(request) 메시지와 영상 데이터를 통합 관제 서버(95)로부터 수신할 수 있다. 또한, 영상 분석 서버(94)는 앞선 도 8에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치를 이용하여 영상 내 객체를 검출하는 서버에 해당될 수 있다.
예를 들어, 도 9의 영상 분석 서버(95)는 바운딩 박스 기반의 객체 식별을 이용한 영상 분석 서버로서, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들을 저장하는 메모리를 포함할 수 있다.
상기 적어도 하나의 단계는, 도시 환경을 관리하는 통합 관제 서버(95) 또는 상기 통합 관제 서버(95)와 연동된 데이터베이스(93)로부터 CCTV영상을 수신하는 단계, 획득된 CCTV 영상에서 시간적으로 연속한 복수의 프레임을 획득하는 단계, 획득한 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계, 검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계, 매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계, 검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계 및 검출된 객체에 대한 정보를 상기 통합 관제 서버로 전송하는 단계를 포함할 수 있다.
그 밖에도 영상 분석 서버(94)에 대한 구성이나 동작은 도 1 내지 도 8에 따른 설명이 적용될 수 있으므로 구체적 설명은 생략한다.
도 10은 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치에 대한 효과를 설명하기 위한 개념도이다.
도 10을 참조하면, 시간적으로 연속하는 이전 프레임(frame(t-1)), 현재 프레임(frame(t)), 이후 프레임(frame(t+1))에서 각각 검출된 바운딩 박스를 확인할 수 있다.
먼저, 이전 프레임(frame(t-1))에서는 제1 바운딩 박스(96), 제2 바운딩 박스(97)가 검출된 것을 확인할 수 있다. 이때, 현재 프레임(frame(t))에서 제1 바운딩 박스(96)는 차량에 가려지면서 폐색 영역이 됨에 따라 일반적인 바운딩 박스 검출 방법으로는 검출되지 않고, 이후 프레임(frame(t+1))에서 제1 바운딩 박스(96)와 제2 바운딩 박스(97)가 다시 검출된다.
그러나, 본 발명의 일 실시예에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치를 사용할 경우, 이전 프레임(frame(t-1))과 이후 프레임(frame(t+1)) 각각에서 제1 바운딩 박스(96)와 제2 바운딩 박스(97)가 검출된 점을 이용하여 현재 프레임(frame(t))에서 폐색 영역에 검출되지 않은 제1 바운딩 박스(96)를 추가로 검출할 수가 있다.
따라서, 상기와 같은 본 발명에 따른 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치를 이용할 경우에는 CNN으로 도출된 초기 바운딩 박스에 대한 오검출 또는 미검출을 보완하여 정확한 바운딩 박스를 검출할 수 있다.
또한, 일부 사물에 의해 가려진 폐색 영역에 위치한 객체의 바운딩 박스까지 검출할 수 있는 장점이 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 시간적으로 연속하는 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스(bounding box)를 검출하는 단계;
    검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계;
    매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계; 및
    검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  2. 청구항 1에서,
    상기 적어도 하나의 초기 바운딩 박스를 검출하는 단계는,
    상기 복수의 프레임 각각에 대하여 전처리를 수행하는 단계;
    전처리가 수행된 상기 복수의 프레임을 각각 CNN(Convolutional Neural Network)에 입력하여 바운딩 박스 후보를 획득하는 단계;
    획득된 바운딩 박스 후보 중에서 선정된 바운딩 박스를 상기 적어도 하나의 초기 바운딩 박스로 검출하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  3. 청구항 2에서,
    상기 전처리를 수행하는 단계는,
    상기 복수의 프레임에 대한 해상도를 상기 CNN에 대한 입력 해상도에 따라 변환시키는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  4. 청구항 1에서,
    상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는,
    상기 복수의 프레임 중에서 시간적으로 가장 앞선 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 정방향 매칭하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  5. 청구항 4에서,
    상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는,
    상기 정방향 매칭 결과, 상기 복수의 프레임 중에서 상기 가장 앞선 프레임에 대한 초기 바운딩 박스가 제1 프레임에 대한 초기 바운딩 박스와 대응관계가 없고, 나머지 프레임에 대한 초기 바운딩 박스와 대응관계가 있는 경우, 상기 제1 프레임에 대하여 바운딩 박스를 추가하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  6. 청구항 1에서,
    상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는,
    상기 복수의 프레임 중에서 시간적으로 중간에 위치한 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 양방향 매칭하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  7. 청구항 6에서,
    상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는,
    상기 양방향 매칭 결과, 상기 중간에 위치한 프레임에 대한 제1 초기 바운딩 박스가 나머지 프레임에 대한 초기 바운딩 박스들과 대응관계가 없으면, 상기 제1 초기 바운딩 박스를 삭제하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  8. 청구항 1에서,
    상기 초기 바운딩 박스는,
    중심 픽셀 위치 좌표값 및 크기로 표현되는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  9. 청구항 1에서,
    상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는,
    매칭할 두개의 바운딩 박스가 중첩되는 면적을 기초로 산출되는 비용함수를 이용하여 대응관계를 결정하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  10. 청구항 9에서,
    상기 비용함수는,
    상기 중첩되는 면적을 상기 두개의 바운딩 박스 각각이 차지하는 면적의 합으로 나눈 값으로 정의되는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법.
  11. 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치로서,
    적어도 하나의 프로세서(processor); 및
    상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,
    상기 적어도 하나의 단계는,
    시간적으로 연속하는 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계;
    검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계;
    매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계; 및
    검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  12. 청구항 11에서,
    상기 적어도 하나의 초기 바운딩 박스를 검출하는 단계는,
    상기 복수의 프레임 각각에 대하여 전처리를 수행하는 단계;
    전처리가 수행된 상기 복수의 프레임을 각각 CNN에 입력하여 바운딩 박스 후보를 획득하는 단계;
    획득된 바운딩 박스 후보 중에서 선정된 바운딩 박스를 상기 적어도 하나의 초기 바운딩 박스로 검출하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  13. 청구항 12에서,
    상기 전처리를 수행하는 단계는,
    상기 복수의 프레임에 대한 해상도를 상기 CNN에 대한 입력 해상도에 따라 변환시키는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  14. 청구항 11에서,
    상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는,
    상기 복수의 프레임 중에서 시간적으로 가장 앞선 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 정방향 매칭하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  15. 청구항 14에서,
    상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는,
    상기 정방향 매칭 결과, 상기 복수의 프레임 중에서 상기 가장 앞선 프레임에 대한 초기 바운딩 박스가 제1 프레임에 대한 초기 바운딩 박스와 대응관계가 없고, 나머지 프레임에 대한 초기 바운딩 박스와 대응관계가 있는 경우, 상기 제1 프레임에 대하여 바운딩 박스를 추가하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  16. 청구항 11에서,
    상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는,
    상기 복수의 프레임 중에서 시간적으로 중간에 위치한 프레임에 대한 초기 바운딩 박스를 나머지 프레임에 대한 초기 바운딩 박스들과 양방향 매칭하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  17. 청구항 16에서,
    상기 적어도 하나의 최종 바운딩 박스를 검출하는 단계는,
    상기 양방향 매칭 결과, 상기 중간에 위치한 프레임에 대한 제1 초기 바운딩 박스가 나머지 프레임에 대한 초기 바운딩 박스들과 대응관계가 없으면, 상기 제1 초기 바운딩 박스를 삭제하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  18. 청구항 11에서,
    상기 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계는,
    매칭할 두개의 바운딩 박스가 중첩되는 면적을 기초로 산출되는 비용함수를 이용하여 대응관계를 결정하는 단계를 포함하는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  19. 청구항 18에서,
    상기 비용함수는,
    상기 중첩되는 면적을 상기 두개의 바운딩 박스 각각이 차지하는 면적의 합으로 나눈 값으로 정의되는, 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 장치.
  20. 바운딩 박스 기반의 객체 식별을 이용한 영상 분석 서버로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 단계는,
    도시 환경을 관리하는 통합 관제 서버 또는 상기 통합 관제 서버와 연동된 데이터베이스로부터 CCTV영상을 수신하는 단계;
    획득된 CCTV 영상에서 시간적으로 연속한 복수의 프레임을 획득하는 단계;
    획득한 복수의 프레임 각각에 대하여 적어도 하나의 초기 바운딩 박스를 검출하는 단계;
    검출된 적어도 하나의 초기 바운딩 박스를 시공간상으로 서로 매칭하는 단계;
    매칭에 따라 결정된 대응관계를 기초로 상기 적어도 하나의 초기 바운딩 박스에서 바운딩 박스를 추가 또는 삭제함으로써, 적어도 하나의 최종 바운딩 박스를 검출하는 단계;
    검출된 최종 바운딩 박스를 이용하여 상기 복수의 프레임에 포함된 객체를 검출하는 단계; 및
    검출된 객체에 대한 정보를 상기 통합 관제 서버로 전송하는 단계를 포함하는, 바운딩 박스 기반의 객체 식별을 이용한 영상 분석 서버.
KR1020180157430A 2018-12-07 2018-12-07 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치 KR102387357B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180157430A KR102387357B1 (ko) 2018-12-07 2018-12-07 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180157430A KR102387357B1 (ko) 2018-12-07 2018-12-07 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200075072A true KR20200075072A (ko) 2020-06-26
KR102387357B1 KR102387357B1 (ko) 2022-04-15

Family

ID=71136755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180157430A KR102387357B1 (ko) 2018-12-07 2018-12-07 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102387357B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102349113B1 (ko) * 2021-05-13 2022-01-11 유니셈 (주) 헬멧 미착용 단속 시스템 및 방법
WO2022107925A1 (ko) * 2020-11-19 2022-05-27 한국전자기술연구원 딥러닝 객체 검출 처리 장치
KR20220140947A (ko) * 2021-04-12 2022-10-19 엔에이치엔클라우드 주식회사 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템
KR20230087816A (ko) 2021-12-10 2023-06-19 동명대학교산학협력단 딥러닝 모델 학습 시스템 및 방법, 그리고 딥러닝 모델을 이용한 영상 분류 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178943A1 (en) * 2013-12-21 2015-06-25 Qualcomm Incorporated System and method to stabilize display of an object tracking box

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178943A1 (en) * 2013-12-21 2015-06-25 Qualcomm Incorporated System and method to stabilize display of an object tracking box
KR20160102248A (ko) * 2013-12-21 2016-08-29 퀄컴 인코포레이티드 오브젝트 추적 박스의 디스플레이를 안정화시키기 위한 시스템 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
F. Xiao and Y. Lee 'Track and Segment: An Iterative Unsupervised Approach for Video Object Proposals,' Proceedings of the IEEE conferenece on Computer Vision and Pattern Recognition (CVPR), 2016, *
R. Girshick et al.,‘Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation,’Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014, *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022107925A1 (ko) * 2020-11-19 2022-05-27 한국전자기술연구원 딥러닝 객체 검출 처리 장치
KR20220140947A (ko) * 2021-04-12 2022-10-19 엔에이치엔클라우드 주식회사 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템
KR102349113B1 (ko) * 2021-05-13 2022-01-11 유니셈 (주) 헬멧 미착용 단속 시스템 및 방법
KR20230087816A (ko) 2021-12-10 2023-06-19 동명대학교산학협력단 딥러닝 모델 학습 시스템 및 방법, 그리고 딥러닝 모델을 이용한 영상 분류 시스템 및 방법

Also Published As

Publication number Publication date
KR102387357B1 (ko) 2022-04-15

Similar Documents

Publication Publication Date Title
KR102387357B1 (ko) 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치
KR102261061B1 (ko) 컨볼루션 신경망을 이용하여 poi 변화를 검출하기 위한 시스템 및 방법
KR102339323B1 (ko) 타겟 인식 방법, 장치, 저장 매체 및 전자 기기
US11288836B2 (en) Apparatus and method for managing feature point map
US8995714B2 (en) Information creation device for estimating object position and information creation method and program for estimating object position
US11709282B2 (en) Asset tracking systems
CN111145214A (zh) 目标跟踪方法、装置、终端设备及介质
US8885879B2 (en) Object position estimation device, object position estimation method and program
US20100322475A1 (en) Object area detecting device, object area detecting system, object area detecting method and program
CN110268440B (zh) 图像解析装置、图像解析方法、以及存储介质
US20090304229A1 (en) Object tracking using color histogram and object size
US10102431B2 (en) Visual monitoring of queues using auxillary devices
JP2021525409A (ja) ターゲット検出方法及び装置、機器並びに記憶媒体
CN110472599B (zh) 对象数量确定方法、装置、存储介质与电子设备
US8761498B1 (en) Face and license plate detection in street level images with 3-D road width features estimated from laser data
CA3160731A1 (en) Interactive behavior recognizing method, device, computer equipment and storage medium
US20180197018A1 (en) Information processing device, information processing method, and computer program product
JP2023083585A (ja) 移動体追跡システム、移動体追跡方法及びプログラム
Jia et al. Front-view vehicle detection by Markov chain Monte Carlo method
TW202109454A (zh) 物體追蹤裝置、控制方法以及程式
US20230394686A1 (en) Object Identification
US9299000B2 (en) Object region extraction system, method and program
Choi et al. State Machine and Downhill Simplex Approach for Vision‐Based Nighttime Vehicle Detection
US9413477B2 (en) Screen detector
US20220004777A1 (en) Information processing apparatus, information processing system, information processing method, and program

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant