KR102178952B1 - 압축영상에 대한 신택스 기반의 mrpn-cnn을 이용한 객체 분류 방법 - Google Patents

압축영상에 대한 신택스 기반의 mrpn-cnn을 이용한 객체 분류 방법 Download PDF

Info

Publication number
KR102178952B1
KR102178952B1 KR1020180149991A KR20180149991A KR102178952B1 KR 102178952 B1 KR102178952 B1 KR 102178952B1 KR 1020180149991 A KR1020180149991 A KR 1020180149991A KR 20180149991 A KR20180149991 A KR 20180149991A KR 102178952 B1 KR102178952 B1 KR 102178952B1
Authority
KR
South Korea
Prior art keywords
moving object
image
motion vector
cnn
mrpn
Prior art date
Application number
KR1020180149991A
Other languages
English (en)
Other versions
KR20200068102A (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 KR1020180149991A priority Critical patent/KR102178952B1/ko
Publication of KR20200068102A publication Critical patent/KR20200068102A/ko
Application granted granted Critical
Publication of KR102178952B1 publication Critical patent/KR102178952B1/ko

Links

Images

Classifications

    • G06K9/6267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 발명은 일반적으로 H.264 AVC 및 H.265 HEVC 등의 압축영상으로부터 객체 분류를 효과적으로 수행하는 기술에 관한 것이다. 더욱 상세하게는, 본 발명은 예컨대 CCTV 카메라가 생성하는 압축영상에 대해 종래기술처럼 복잡한 이미지 프로세싱을 통해 객체를 인식 및 분류하는 것이 아니라 압축영상 데이터를 파싱하여 얻어지는 신택스 정보(예: 모션벡터, 코딩유형)를 활용하여 영상 내에서 무언가 유의미한 움직임이 존재하는 영역, 즉 이동객체 영역을 추출하고 그 이동객체 영역의 이미지를 객체후보 영역으로 삼아 CNN(합성곱 신경망)에 입력하여 객체 분류 결과를 획득하는 기술에 관한 것이다. 특히, 이동객체 영역의 모션벡터 패턴을 훈련 데이터집합으로 삼아 심층신경망에 대한 머신러닝을 수행함으로써 로컬화(localization) 성능이 강화된 MRPN(모션벡터 RPN)을 구성하고, 그 MRPN을 CNN의 포워드패스(forward pass)에 적용하여 이동객체 영역의 이미지를 전처리함으로써 하나의 이동객체 영역에 복수의 객체가 포함되어 있다면 이들 객체를 분리해내어 각 객체 별로 객체 분류 결과를 획득하는 기술에 관한 것이다.

Description

압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법 {method of providing object classification for compressed video by use of syntax-based MRPN-CNN}
본 발명은 일반적으로 H.264 AVC 및 H.265 HEVC 등의 압축영상으로부터 객체 분류를 효과적으로 수행하는 기술에 관한 것이다.
더욱 상세하게는, 본 발명은 예컨대 CCTV 카메라가 생성하는 압축영상에 대해 종래기술처럼 복잡한 이미지 프로세싱을 통해 객체를 인식 및 분류하는 것이 아니라 압축영상 데이터를 파싱하여 얻어지는 신택스 정보(예: 모션벡터, 코딩유형)를 활용하여 영상 내에서 무언가 유의미한 움직임이 존재하는 영역, 즉 이동객체 영역을 추출하고 그 이동객체 영역의 이미지를 객체후보 영역으로 삼아 CNN(합성곱 신경망)에 입력하여 객체 분류 결과를 획득하는 기술에 관한 것이다.
특히, 이동객체 영역의 모션벡터 패턴을 훈련 데이터집합(training dataset)으로 삼아 심층신경망에 대한 머신러닝을 수행함으로써 로컬화(localization) 성능이 강화된 MRPN(모션벡터 RPN)을 구성하고, 그 MRPN을 CNN의 포워드패스(forward pass)에 적용하여 이동객체 영역의 이미지를 전처리함으로써 하나의 이동객체 영역에 복수의 객체가 포함되어 있다면 이들 객체를 분리해내어 각 객체 별로 객체 분류 결과를 획득하는 기술에 관한 것이다.
최근에는 범죄예방이나 사후증거 확보 등을 위해 CCTV를 이용하는 영상관제 시스템을 구축하는 것이 일반적이다. 지역별로 다수의 CCTV 카메라를 설치해둔 상태에서 이들 CCTV 카메라가 생성하는 영상을 모니터에 표시하고 스토리지 장치에 저장해두는 것이다. 범죄나 사고가 발생하는 장면을 관제 요원이 발견하게 되면 그 즉시 적절하게 대처하는 한편, 필요에 따라서는 사후증거 확보를 위해 스토리지에 저장되어 있는 영상을 검색하는 것이다.
그런데. CCTV 카메라의 설치 현황에 비해 관제 요원의 수는 매우 부족한 것이 현실이다. 이처럼 제한된 인원으로 영상 감시를 효과적으로 수행하려면 CCTV 영상을 모니터 화면에 단순 표시하는 것만으로는 충분하지 않다. 각각의 CCTV 영상에 존재하는 객체의 움직임을 감지하여 실시간으로 해당 영역에 무언가 추가 표시함으로써 효과적으로 발견되도록 처리하는 것이 바람직하다. 이러한 경우에 관제 요원은 CCTV 영상 전체를 균일한 관심도를 가지고 지켜보는 것이 아니라 객체 움직임이 있는 부분을 중심으로 CCTV 영상을 감시하면 된다.
특히, 영상관제 시스템이 CCTV 영상에서 객체의 움직임을 자동 감지할 뿐만 아니라 당해 객체를 분류(예: 사람, 자동차, 동물, 깃발)할 수 있다면 영상관제의 효율을 더욱 제고할 수 있다. 특정한 종류의 객체만을 선별적으로 감시할 수 있을 뿐만 아니라, 스토리지에 저장되어 있는 대규모의 CCTV 영상 데이터로부터 사후 증거를 빠르게 검출해낼 수 있게 된다.
최근에 설치되는 CCTV 카메라는 고해상도(예: Full HD) 및 고프레임(예: 초당 24프레임)의 제품이 채택되고 있기 때문에 네트워크 대역폭과 스토리지 공간의 부담을 고려하여 H.264 AVC 및 H.265 HEVC 등과 같은 고압축율의 복잡한 영상압축 기술이 채택되고 있다. CCTV 카메라 장치는 촬영 영상을 영상압축 기술에 따라 인코딩하여 생성한 압축영상을 제공하고, CCTV 영상을 활용하는 측에서는 해당 기술규격에 따라 역으로 압축영상에 대한 디코딩을 수행한다. 따라서, 영상압축 기술이 적용된 CCTV 영상에서 객체를 인식하고 그 객체가 어떠한 종류인지, 예를 들어 사람인지, 자동차인지, 동물인지, 깃발인지 분류하려면 종래에는 압축영상을 디코딩하여 재생영상, 즉 압축이 풀려있는 원래 영상을 얻은 후에 내용 분석을 위해 이미지를 처리하는 과정이 필요하였다.
이하에서는 [도 1]와 [도 2]를 참조하여 종래기술에서 CCTV 압축영상으로부터 객체 분류를 수행하는 과정을 기술한다.
[도 1]은 H.264 AVC 기술규격에 따른 동영상 디코딩 장치의 일반적인 구성을 나타내는 블록도이다. [도 1]을 참조하면, H.264 AVC에 따른 동영상 디코딩 장치는 구문분석기(11), 엔트로피 디코더(12), 역 변환기(13), 모션벡터 연산기(14), 예측기(15), 디블로킹 필터(16)를 포함하여 구성된다. 이들 하드웨어 모듈이 압축영상의 데이터를 순차적으로 처리함으로써 압축영상에서 압축을 풀고 원래의 영상 데이터를 복원해낸다. 이때, 구문분석기(11)는 압축영상의 코딩 유닛에 대해 모션벡터 및 코딩유형을 파싱해낸다. 이러한 코딩 유닛(coding unit)은 일반적으로는 매크로블록이나 서브 블록과 같은 영상 블록이다.
[도 2]는 기존의 영상분석 솔루션에서 CCTV 영상으로부터 객체 분류를 수행하는 과정을 나타내는 순서도이다. [도 2]를 참조하면, 종래기술에서는 압축영상을 H.264 AVC 및 H.265 HEVC 등에 따라 디코딩하고(S10), 재생영상의 프레임 이미지들을 작은 이미지, 예컨대 320x240 정도로 다운스케일 리사이징을 한다(S20). 이때, 다운스케일 리사이징을 하는 이유는 이후 영상분석 과정에서의 프로세싱 부담을 그나마 줄이기 위한 것이다. 그리고 나서, 리사이징된 프레임 이미지들에 대해 차영상(differentials)을 구한 후에 영상 분석을 통해 이동객체를 추출해낸다(S30). 그리고 나서, 일련의 프레임 이미지에 대한 영상 내용 분석을 통해 이동객체를 인식하여 객체 분류를 달성한다(S40).
종래기술에서 이동객체를 추출 및 분류하려면 압축영상 디코딩, 다운스케일 리사이징, 영상 분석을 수행한다. 이들은 복잡도가 매우 높은 프로세스이고, 그로 인해 종래의 영상관제 시스템에서는 한 대의 영상분석 서버가 동시 처리할 수 있는 용량이 상당히 제한되어 있다. 현재 고성능의 영상분석 서버가 커버할 수 있는 최대 CCTV 채널은 통상 최대 16 채널이다. 다수의 CCTV 카메라가 설치되므로 영상관제 시스템에는 다수의 영상분석 서버가 필요하였고, 이는 비용 증가와 물리적 공간 확보의 어려움이라는 문제점을 유발하였다.
한편, 이미지에 포함된 객체를 심층신경망을 이용하여 분류하려는 시도가 있었는데, 그 대표적인 기술이 R-CNN(Region-based Convolution Neural Network, 영역기반 합성곱 신경망)이다. [도 3]은 이미지에 포함된 객체를 R-CNN에 의해 분류하는 일반적인 개념을 나타내는 도면이고, [도 4]는 R-CNN을 통해 객체 분류를 실행한 결과의 두가지 예를 나타내는 도면이다.
R-CNN 알고리즘에서는 먼저 RPN(Region Proposal Network, 영역제안망)을 통해 입력 이미지로부터 객체 후보영역(object candidate region)을 추출하는데, [도 3]에는 입력 이미지로부터 4개의 객체 후보영역가 추출되었다. 이들 객체 후보영역을 CNN(합성곱 신경망)에 넣어서 CNN 특징(CNN features)를 연산하며, 그 출력 값으로 객체 분류 결과를 얻는다. [도 3]에서는 객체 후보영역 중의 하나를 CNN에 입력하여 "사람"이라는 객체 분류 결과를 얻었다.
일반적으로 RPN에서는 선별 탐색(selective search) 기법이나 엣지 박스(edge boxes) 기법을 통해 입력 이미지로부터 객체 후보영역을 추출한다. 이들 기법은 입력 이미지를 분석하여 무언가 물체가 존재할 것으로 추정되는 영역을 모두 골라내는 방식인데 상당한 연산량과 연산시간을 요구한다.
이와 같은 R-CNN 알고리즘은 객체 분류의 정확도는 양호하지만 객체 분류 속도가 매우 느리다는 치명적인 단점이 있었다. 객체 분류 속도를 개선하기 위해 Fast R-CNN 알고리즘과 Faster R-CNN 알고리즘이 제시되었지만 아직 충분하지 못하였다. 현재 입수가능한 고성능 GPU(그래픽 처리유닛)을 활용하더라도 객체 분류 속도는 R-CNN은 초당 0.2 프레임이고 Fast R-CNN은 초당 0.5 프레임이며 Faster R-CNN도 초당 7 프레임 정도에 불과하였다. 이정도 성능으로는 CCTV 영상관제 시스템 또는 CCTV 영상분석 시스템에는 적용하기 곤란하다.
본 발명의 목적은 일반적으로 H.264 AVC 및 H.265 HEVC 등의 압축영상으로부터 객체 분류를 효과적으로 수행하는 기술을 제공하는 것이다.
특히, 본 발명의 목적은 예컨대 CCTV 카메라가 생성하는 압축영상에 대해 종래기술처럼 복잡한 이미지 프로세싱을 통해 객체를 인식 및 분류하는 것이 아니라 압축영상 데이터를 파싱하여 얻어지는 신택스 정보(예: 모션벡터, 코딩유형)를 활용하여 영상 내에서 무언가 유의미한 움직임이 존재하는 영역, 즉 이동객체 영역을 추출하고 그 이동객체 영역의 이미지를 객체후보 영역으로 삼아 CNN에 입력하여 객체 분류 결과를 획득하는 기술을 제공하는 것이다.
특히, 본 발명의 목적은 이동객체 영역의 모션벡터 패턴을 훈련 데이터집합으로 삼아 심층신경망에 대한 머신러닝을 수행함으로써 로컬화 성능이 강화된 MRPN(모션벡터 RPN)을 구성하고, 그 MRPN을 CNN의 포워드패스(forward pass)에 적용하여 이동객체 영역의 이미지를 전처리함으로써 하나의 이동객체 영역에 복수의 객체가 포함되어 있다면 이들 객체를 분리해내어 각 객체 별로 객체 분류 결과를 획득하는 기술을 제공하는 것이다.
상기의 목적을 달성하기 위하여 본 발명에 따른 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법은, 압축영상의 비트스트림을 파싱하여 코딩 유닛에 대한 모션벡터 및 코딩유형을 획득하는 제 1 단계; 압축영상을 구성하는 복수의 영상 블록 별로 미리 설정된 시간동안의 모션벡터 누적값을 획득하는 제 2 단계; 복수의 영상 블록에 대하여 모션벡터 누적값을 미리 설정된 제 1 임계치와 비교하는 제 3 단계; 제 1 임계치를 초과하는 모션벡터 누적값을 갖는 영상 블록을 이동객체 영역으로 마킹하는 제 4 단계; 압축영상을 디코딩하여 이동객체 영역의 이미지를 획득하는 제 5 단계; 이동객체 영역의 모션벡터 패턴을 심층신경망에 머신러닝하여 MRPN을 형성하는 제 6 단계; 이동객체 영역의 이미지에 MRPN을 적용하여 이동객체 영역의 이미지에 대한 객체 후보영역을 추출하는 제 7 단계; 이동객체 영역의 이미지를 CNN(합성곱 신경망)에 입력하여 CNN 특징을 연산하는 제 8 단계; CNN의 연산 결과로부터 이동객체 영역에 대한 객체 분류 결과를 획득하는 제 9 단계;를 포함하여 구성될 수 있다.
이때, 제 6 단계는, 각각의 이동객체 영역에 대해 해당 이동객체 영역에 속하는 복수의 영상 블록에 대해 제 1 단계에서 획득된 모션벡터의 방향 성분과 크기 성분의 2차원 배열을 포함하여 모션벡터 패턴을 취합하는 단계; 이동객체 영역의 모션벡터 패턴을 훈련 데이터집합으로 설정하여 심층신경망에 대한 머신러닝을 수행하는 단계; 머신러닝이 수행된 심층신경망을 MRPN(모션벡터 RPN)으로 설정하는 단계;를 포함하여 구성될 수 있다.
또한, 본 발명에 따른 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법은, 이동객체 영역을 중심으로 그 인접하는 복수의 영상 블록(이하, '이웃 블록'이라 함)을 식별하는 제 a 단계; 복수의 이웃 블록에 대하여 제 1 단계에서 획득된 모션벡터 값을 미리 설정된 제 2 임계치와 비교하는 제 b 단계; 복수의 이웃 블록 중에서 제 b 단계의 비교 결과 제 2 임계치를 초과하는 모션벡터 값을 갖는 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 c 단계; 복수의 이웃 블록 중에서 코딩유형이 인트라 픽쳐인 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 d 단계; 복수의 이동객체 영역에 대하여 인터폴레이션을 수행하여 이동객체 영역으로 둘러싸인 미리 설정된 갯수 이하의 비마킹 영상 블록을 이동객체 영역으로 추가 마킹하는 제 e 단계;를 더 포함하여 구성될 수 있다.
또한, 본 발명에 따른 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법은, 이동객체 영역을 중심으로 그 인접하는 복수의 영상 블록(이하, '이웃 블록'이라 함)을 식별하는 제 a 단계; 복수의 이웃 블록에 대하여 모션벡터 누적값을 제 1 임계치보다 작은 값으로 미리 설정된 제 2 임계치와 비교하는 제 b 단계; 복수의 이웃 블록 중에서 제 b 단계의 비교 결과 제 2 임계치를 초과하는 모션벡터 누적값을 갖는 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 c 단계; 복수의 이웃 블록 중에서 코딩유형이 인트라 픽쳐인 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 d 단계; 복수의 이동객체 영역에 대하여 인터폴레이션을 수행하여 이동객체 영역으로 둘러싸인 미리 설정된 갯수 이하의 비마킹 영상 블록을 이동객체 영역으로 추가 마킹하는 제 e 단계;를 더 포함하여 구성될 수 있다.
한편, 본 발명에 따른 컴퓨터프로그램은 하드웨어와 결합되어 이상과 같은 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법을 실행시키기 위하여 매체에 저장된 것이다.
본 발명에 따르면 압축영상을 파싱하여 얻은 신택스 정보에 기반하여 CNN(합성곱 신경망)을 위한 객체후보 영역을 추출함으로써 객체 분류 성능을 15배 내지 40배 정도 개선할 수 있는 장점이 있다. 발명자는 고성능 개인용컴퓨터를 활용하여 초당 930 프레임의 객체 분류 성능을 얻을 수 있었으며, 이 정도라면 실시간 환경에도 적용 가능하다.
또한, 본 발명에 따르면 객체후보 영역의 추출에 소요되는 연산시간을 대폭 절감하게 되어 좀더 깊은 신경망을 적용할 여유가 생기며, 이를 통해 객체 분류의 정확도를 높일 수 있는 장점이 있다.
또한, 본 발명에 따르면 모션벡터 패턴을 훈련 데이터집합으로 삼아 심층신경망을 머신러닝시킨 MRPN(모션벡터 RPN)을 CNN의 포워드패스에 적용함으로써 하나의 이동객체 영역에 복수의 객체가 포함되어 있더라도 이들 객체를 분리해내어 각 객체 별로 분류 결과를 얻을 수 있는 장점이 있다.
[도 1]은 동영상 디코딩 장치의 일반적인 구성을 나타내는 블록도.
[도 2]는 종래기술에서 CCTV 압축영상으로부터 객체 분류를 수행하는 과정을 나타내는 순서도.
[도 3]은 이미지에 포함된 객체를 R-CNN에 의해 분류하는 일반적인 개념을 나타내는 도면.
[도 4]는 R-CNN을 통해 객체 분류를 실행한 결과의 예를 나타내는 도면.
[도 5]는 본 발명에 따라 신택스 기반의 MRPN-CNN을 이용하여 압축영상에 대해 객체 분류를 수행하는 전체 프로세스를 나타내는 순서도.
[도 6]은 본 발명에서 신택스 기반의 MRPN-CNN을 이용하여 압축영상에 대해 객체 분류를 수행하는 개념을 나타내는 도면.
[도 7]은 본 발명에서 압축영상으로부터 유효 움직임 영역을 검출하는 과정의 구현 예를 나타내는 순서도.
[도 8]은 CCTV 압축영상에 대해 유효 움직임 영역 검출 과정을 적용한 결과의 일 예를 나타낸 도면.
[도 9]는 본 발명에서 이동객체 영역에 대한 바운더리 영역을 검출하는 과정의 구현 예를 나타내는 순서도.
[도 10]은 [도 8]의 CCTV 영상 이미지에 대해 바운더리 영역 검출 과정을 적용한 결과의 일 예를 나타낸 도면.
[도 11]은 [도 10]의 CCTV 영상 이미지에 대해 인터폴레이션을 통해 이동객체 영역을 정리한 결과의 일 예를 나타낸 도면.
[도 12]는 CCTV 영상 이미지에서 검출된 이동객체 영역 상에 모션벡터 패턴을 겹쳐서 나타낸 도면.
[도 13]은 [도 12]에서 이동객체 영역에 대한 모션벡터 패턴만 나타낸 도면.
[도 14] 내지 [도 16]은 [도 13]에서 세 개의 이동객체 영역에 대한 모션벡터 패턴을 확대하여 나타낸 도면.
이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다.
[도 5]는 본 발명에 따라 압축영상으로부터 신택스 기반의 MRPN-CNN을 이용하여 압축영상에 대해 객체 분류를 수행하는 전체 프로세스를 나타내는 순서도이고, [도 6]은 본 발명에서 신택스 기반의 MRPN-CNN을 이용하여 압축영상에 대해 객체 분류를 수행하는 개념을 나타내는 도면이다.
본 발명에 따른 객체 분류 프로세스는 다수의 압축영상을 다루는 시스템, 예컨대 CCTV 영상관제 시스템 또는 CCTV 영상분석 시스템에서 영상분석 서버가 수행할 수 있다. 본 발명의 객체 분류 프로세스는 심층신경망(deep neural network)을 이용하는데, 영상분석 서버 내부에 심층신경망을 구현하여 활용할 수도 있고, 혹은 외부의 클라우드 서버에 구현된 심층신경망을 오픈 API(Open Application Program Interface)를 통해 활용할 수도 있다.
먼저, [도 6]을 참조하여 본 발명에서 MRPN-CNN을 이용하여 압축영상에 대해 객체 분류를 수행하는 개념을 살펴본다.
객체분류를 수행하려면 먼저 압축영상으로부터 이동객체로 보이는 부분을 식별해내야 한다. 본 발명에서는 압축영상의 비트스트림을 파싱하여 각 영상 블록에 대한 신택스 정보(syntax information)를 통해 이동객체 영역을 빠르게 추출한다. 영상 블록으로는 매크로블록(Macro Block) 및 서브블록(Sub Block) 등의 어느 하나 혹은 이들의 조합을 채택할 수 있고, 신택스 정보로는 모션벡터(Motion Vector)와 코딩유형(Coding Type)이 바람직하다. 이렇게 얻어진 이동객체 영역은 본 명세서에 첨부된 여러 이미지에서 확인되는 바와 같이 압축영상 내에 존재하는 이동객체의 경계선을 정확하게 반영하지는 못하지만 추출 처리속도가 빠르면서도 신뢰도가 비교적 높은 장점이 있다
그리고 나서, 압축영상을 디코딩하여 이동객체 영역의 이미지를 획득한다. 이때, 압축영상을 전체적으로 디코딩할 수도 있고 이동객체 영역에 해당하는 압축영상 데이터만 디코딩할 수도 있다. 이렇게 얻어진 이동객체 영역의 이미지가 객체 분류 대상이 되는데, 본 발명에서는 이동객체 영역의 이미지를 CNN(합성곱 신경망)에 입력하여 객체 분류 결과를 얻는 구조이다.
그런데, [도 3]을 참조하여 전술한 바와 같이, R-CNN 방식에서는 RPN(Region Proposal Network, 영역제안망)을 통해 입력 이미지로부터 객체 후보영역을 추출해야 한다. 종래기술에서 RPN에 적용하는 선별 탐색 기법이나 엣지 박스 기법은 연산 속도가 매우 느리다는 단점이 있었는데, 본 발명에서는 이동객체 영역의 모션벡터 패턴을 이용하는 MRPN(모션벡터 RPN)을 제안한다. 이 방식에서는 입력 이미지에 대해 검출된 모션벡터 패턴에 기초하여 MRPN이 객체 후보영역을 바로 추출해내므로 대단히 빠르게 처리가 가능해진다.
좀더 상세하게 기술하면, 압축영상에서 이동객체 영역을 추출하는 과정에서 신택스 정보인 모션벡터를 사용하게 되는데, 이들 모션벡터 패턴을 훈련 데이터집합으로 삼아 심층신경망을 학습(머신러닝)시킨다.
[도 12] 내지 [도 16]을 참조하면 이동객체 영역의 모션벡터 패턴은 해당 영상 내에 존재하는 객체의 형태적 특징 및 움직임 특성과 직접적으로 연관되어 있다. 따라서, 이러한 머신러닝을 통하여 심층신경망을 모션벡터 패턴을 기준으로 하여 입력 데이터를 그룹화(grouping)하는 성능을 갖추게 된다. 이렇게 머신러닝이 이루어진 심층신경망을 이동객체 영역의 입력 이미지에 적용하면 이동객체 영역의 모션벡터 패턴을 기준으로 입력 이미지를 분할하게 된다. 그에 따라, [도 6]의 (6)과 같은 결과를 얻게 된다. 입력 이미지 내에서 약간씩 상이하게 움직이는 객체의 덩어리를 기준으로 입력 이미지를 분할하게 되는데, 이러한 특성을 본 명세서에서는 로컬화(localization) 성능이라고 부른다.
본 발명에서는 이처럼 이동객체 영역의 모션벡터 패턴을 훈련 데이터집합으로 삼아 머신러닝을 수행한 심층신경망을 R-CNN 방식에서의 RPN으로 활용하며, 이를 MRPN(모션벡터 RPN)이라고 부른다. MRPN(모션벡터 RPN)은 입력 이미지를 분석하지 않고 단순히 모션벡터 패턴만을 참고하지 때문에 종래의 RPN 기법에 비해 추출 처리 속도가 대단히 빠르다. 이러한 MRPN이 입력 이미지에 대해 객체 후보영역을 추출한 후에 입력 이미지를 CNN(합성곱 신경망)에 넣어서 CNN 특징(CNN features)를 연산하며, 그 출력 값으로 객체 분류 결과를 얻는다.
다음으로, [도 5]를 참조하여 본 발명에 따라 MRPN-CNN을 이용하여 압축영상에 대해 객체 분류를 수행하는 과정을 살펴본다.
단계 (S100) : 먼저, 압축영상의 모션벡터에 기초하여 압축영상으로부터 실질적으로 의미를 인정할만한 유효 움직임을 검출하며, 이처럼 유효 움직임이 검출된 영상 영역을 이동객체 영역으로 설정한다.
이를 위해, H.264 AVC 및 H.265 HEVC 등의 동영상압축 표준에 따라서 압축영상의 코딩 유닛(coding unit)의 모션벡터와 코딩유형을 파싱한다. 이때, 코딩 유닛의 사이즈는 일반적으로 64x64 픽셀 내지 4x4 픽셀 정도이며 설계자의 선택에 따라 다양하게 설정될 수 있다.
각 영상 블록에 대해 미리 설정된 일정 시간(예: 500 msec) 동안 모션벡터를 누적시키고, 그에 따른 모션벡터 누적값이 미리 설정된 제 1 임계치(예: 20)을 초과하는지 검사한다. 만일 그러한 영상 블록이 발견되면 해당 영상 블록에서 유효 움직임이 발견된 것으로 보고 이동객체 영역으로 마킹한다. 그에 따라, 모션벡터가 발생하였더라도 일정 시간동안의 누적값이 제 1 임계치를 넘지 못하는 경우에는 영상 변화가 미미한 것으로 추정하고 무시한다.
단계 (S200) : 앞의 (S100)에서 검출된 이동객체 영역에 대하여 그 주변 영역을 모션벡터와 코딩유형에 기초하여 검사함으로써 이들 이동객체 영역의 바운더리가 대략적으로 어디까지인지 확장해나간다. 이러한 과정을 통해서 앞서 (S100)에서 파편화된 영상 블록의 형태로 검출된 이동객체 영역을 서로 연결하여 유의미한 덩어리 형태를 만들어가는 결과를 얻는다.
앞의 (S100)에서는 엄격한 판단기준에 따라 영상 블록들을 선별함으로써 압축영상 내에서 이동객체임이 확실해 보이는 영상 블록을 검출하여 이동객체 영역으로 마킹하였다. 이번의 (S200)에서는 이렇게 (S100)에서 이동객체 영역으로 마킹되었던 영상 블록 주변에 위치하는 다른 영상 블록들을 검사한다. 이들을 본 명세서에서는 편이상 '이웃 블록'이라고 부른다. 이들 이웃 블록에 대해서는 앞서 (S100)에 적용하였던 판단기준에 비해 상대적으로 완화된 판단기준에 따라 이동객체 영역에 해당하는지 여부를 판단한다.
압축영상에서 매크로블록이나 서브블록 등은 매우 작은 사이즈이다. 따라서 CCTV 촬영영상과 같이 사람, 자동차, 자전거, 동물 등을 촬영한 영상이라면 그 속성상 이동객체가 하나의 영상 블록에만 나타나기는 곤란하고 여러 영상 블록에 걸쳐서 나타날 것으로 예상한다. 즉, 이동객체가 찍힌 영상 블록 근방에 존재하는 영상 블록에는 이동객체가 찍혀있을 가능성이 그렇지 않은 영상 블록에 비해 상대적으로 높다고 예상한다. 그러한 기술적 사상을 반영하여 (S200)에서는 이동객체 영역 주변에 존재하는 이웃 블록에 대해 상대적으로 완화된 판단기준에 따라 이동객체 영역에 해당하는지 여부를 판단한다.
바람직하게는 각각의 이웃 블록을 검사하여, 현재 프레임에서 검출된 모션벡터 값이 미리 설정된 제 2 임계치(예: 0) 이상이거나 코딩유형이 인트라 픽쳐(Intra Picture)일 경우에는 해당 영상 블록도 이동객체 영역으로 마킹한다. 다른 실시예로는, 이웃 블록에 대해 앞서 (S100)에서 산출하였던 모션벡터 누적값이 제 2 임계치(예: 5) 이상이거나 코딩유형이 인트라 픽쳐일 경우에는 해당 영상 블록도 이동객체 영역으로 마킹할 수 있다. 이때, 제 2 임계치는 제 1 임계치에 비해 작은 값으로 설정되는 것이 논리적으로 타당하다.
개념적으로는, 유효 움직임이 발견되어 이동객체 영역의 근방에서 어느 정도의 움직임이 있는 영상 블록이라면 이는 앞의 이동객체 영역과 한 덩어리일 가능성이 높기 때문에 이동객체 영역이라고 마킹하는 것이다. 또한, 인트라 픽쳐의 경우에는 모션벡터가 존재하지 않기 때문에 모션벡터에 기초하여 이동객체 영역인지 여부를 판단하는 것이 불가능하다. 이에, 이동객체 영역으로 이미 검출된 영상 블록에 인접하여 위치하는 인트라 픽쳐라면 기 추출된 이동객체 영역과 함께 한 덩어리를 이루는 것으로 추정한다. 이동객체 영역이 아닌 영상 블록 하나가 이동객체 영역에 포함되었을 때의 손실은 별로 크지 않은 반면, 이동객체 영역이 파편화되었을 때의 손실은 크기 때문이다.
단계 (S300) : 앞의 (S100)과 (S200)에서 검출된 이동객체 영역에 인터폴레이션(interpolation)을 적용하여 이동객체 영역의 분할(fragmentation)을 정리한다. 앞의 과정에서는 영상 블록 단위로 이동객체 영역 여부를 판단하였기 때문에 실제로는 하나의 이동객체(예: 사람)임에도 불구하고 중간중간에 이동객체 영역으로 마킹되지 않은 영상 블록이 존재하여 여러 개의 이동객체 영역으로 분할되는 현상이 발생할 수 있다. 그에 따라, 이동객체 영역으로 마킹된 복수의 영상 블록으로 둘러싸여 하나 혹은 소수의 비마킹 영상 블록이 존재한다면 이들은 이동객체 영역으로 추가로 마킹한다. 이를 통해, 여러 개로 분할되어 있는 이동객체 영역을 하나로 뭉쳐지도록 만들 수 있는데, 이와 같은 인터폴레이션의 영향은 [도 10]과 [도 11]을 비교하면 명확하게 드러난다.
앞서의 과정 (S100) 내지 (S300)을 통하여 압축영상으로부터 하나이상의 이동객체 영역(region of moving object)을 획득하였다. 이렇게 획득된 이동객체 영역는 [도 11]에 파란 색으로 표시된 것으로서 일련의 과정에서 이동객체 영역에 속한다고 마킹해둔 다수의 영상블록들이 서로 연결되어 뭉쳐진 덩어리이다. 각각의 단계 (S100) 내지 (S300)에서는 영상블록 단위로 이동객체 영역에 속하는지 여부를 판단하여 마킹하였으나, 최종적으로는 이들이 뭉쳐져서 이룬 영상블록의 덩어리가 이동객체 영역으로 다루어진다. 이러한 이동객체 영역은 압축영상의 신택스 정보에 기초하여 그 안에 하나이상의 이동객체가 포함되어 있을 것으로 추정된 부분이다. 소프트웨어 처리를 위하여 각각의 이동객체 영역에는 고유 식별정보(Unique ID)를 할당하여 관리하는 것이 바람직하다. [도 12]를 참조하면 CCTV 압축영상으로부터 3개의 이동객체 영역이 검출되었으며 이들에 대해서는 각각 001, 002, 003의 Unique ID가 할당되었다.
단계 (S400) : 앞서의 과정 (S100) 내지 (S300)을 통하여 압축영상에서 이동객체가 존재하는 것으로 추정되는 영역, 즉 이동객체 영역을 추출하였다. 이어서, 객체분류를 수행하기 위하여 압축영상을 디코딩하여 이동객체 영역의 이미지를 획득한다. 이렇게 얻어진 이동객체 영역의 이미지가 객체 분류 대상이 된다. 구체적으로는 압축영상을 디코딩하였을 때에 얻어지는 일련의 프레임 이미지 전체를 검토 대상으로 하는 것이 아니라, 신택스 기반으로 추출한 이동객체 영역의 이미지를 객체 분류의 검토 대상으로 삼으며, 이를 통해 객체 분류에 필요한 연산량을 대폭 감소시킬 수 있다. 이때, 압축영상을 디코딩하여 프레임 이미지를 구성한 후에 이동객체 영역 부분을 오려낼 수도 있고, 이동객체 영역에 해당하는 압축영상 데이터만 선별적으로 디코딩할 수도 있다.
단계 (S500, S600) : 압축영상으로부터 다수의 이동객체 영역이 도출되는데, 이렇게 도출되는 다수의 이동객체 영역의 모션벡터 패턴을 훈련 데이터집합으로 삼아 심층신경망을 머신러닝하며, 이를 통해 R-CNN의 영역 제안(Region Proposal)을 위한 MRPN(모션벡터 RPN)을 형성한다. 이러한 머신러닝 과정은 객체 분류를 시작하기 전에 미리 수행하는 것이 일반적이다.
즉, 압축영상으로부터 획득한 각각의 이동객체 영역에 대해 모션벡터 패턴(pattern of motion vectors)을 [도 12] 내지 [도 16]과 같이 취합한다. 이동객체 영역은 복수의 영상블록의 덩어리로 이루어지는데, 이동객체 영역을 구성하는 각각의 영상블록에 대해 (S100)에서 획득하게 되는 모션벡터의 방향 성분과 크기 성분을 배치한 2차원 배열로 구현될 수 있다. [도 12]는 CCTV 영상 이미지에서 검출된 이동객체 영역 상에 모션벡터 패턴을 겹쳐서 나타낸 도면이고, [도 13]은 [도 12]에서 이동객체 영역에 대한 모션벡터 패턴만 나타낸 도면이며, [도 14] 내지 [도 16]은 [도 13]에서 세 개의 이동객체 영역(Unique ID = 001, 002, 003)에 대한 모션벡터 패턴을 확대하여 나타낸 도면이다.
이들 도면에서는 모션벡터 패턴의 개념을 직관적으로 나타내기 위하여 각각의 영상블록에 대해 해당 영상 프레임에서 획득된 모션벡터의 방향 성분과 크기 성분을 시각적으로 표시하였다. [도 14] 내지 [도 16]을 살펴보면 세 개의 이동객체 영역들 간에, 그리고 하나의 이동객체 영역 내에 존재하는 여러 객체들 간에 모션벡터의 크기, 모션벡터 방향의 통일성, 모션벡터의 배치 형태가 차이를 나타내고 있다. 그러한 차이는 이동객체 영역에 포함되어 있는 개별 객체의 형태적 특성 및 움직임 특성과 직접적으로 관련되어 있다.
이동객체 영역의 모션벡터 패턴을 훈련 데이터집합으로 설정하여 심층신경망에 대한 머신러닝을 수행하면 심층신경망의 특성상 모션벡터 패턴을 기준으로 하여 입력 데이터를 그룹화하는 성능을 갖추게 된다. 이는 머신러닝 과정에서 콘볼루션 필터들(convolution filters)이 중요 정보는 보존하고 불필요한 정보는 손실하는 방향으로 점차적으로 형성되기 때문인데, 이러한 과정을 통해 갖게되는 특성을 본 명세서에서는 로컬화 성능이라고 부른다.
본 발명에서는 이처럼 이동객체 영역의 모션벡터 패턴을 훈련 데이터집합으로 삼아 머신러닝을 수행한 심층신경망을 R-CNN 방식에서의 RPN으로 활용하며, 이를 MRPN(모션벡터 RPN)이라고 부른다. 이에, 이동객체 영역의 이미지에 MRPN을 적용하여 이동객체 영역의 이미지에 대한 객체 후보영역을 추출한다. 즉, 객체에 대한 모션벡터 패턴을 학습한 네트워크(MRPN)를 R-CNN의 포워드패스에 적용함으로써 MRPN의 로컬화 특성을 활용한다. MRPN(모션벡터 RPN)은 입력 이미지를 분석하지 않고 단순히 모션벡터 패턴만을 참고하지 때문에 종래의 RPN 기법에 비해 추출 처리 속도가 대단히 빠르다.
단계 (S700, S800) : 이처럼 객체 후보영역의 추출까지 이루어진 이동객체 영역의 이미지를 CNN(합성곱 신경망)에 입력하여 CNN 특징을 연산하고, CNN의 연산 결과로부터 이동객체 영역에 대한 객체 분류 결과를 획득한다. 현재 CNN 네트워크는 여러가지가 제시되어 있는데, 예컨대 VGG-16 모델 및 인셉션 모델(Inception V4)를 활용할 수 있다. CNN은 이동객체 영역의 이미지에 대한 객체 분류를 수행하는데, 구체적으로는 이동객체 영역의 이미지에서 추출한 객체 후보영역 별로 객체 분류 결과를 제공한다.
한편, 이동객체 영역, 이동객체 영역의 이미지, 객체 분류 결과의 조합은 영상관제 장치로 제공되는데, 영상관제 장치는 객체 분류 결과를 다양한 형태로 활용할 수 있다. 예를 들어, CCTV 모니터 화면에서 객체 분류별로 상이한 색상을 지정하여 디스플레이할 수 있다. 또한, 범죄해결 단서를 확보할 목적으로 영상 검색을 수행할 때에 스토리지에 저장되어 있는 대규모의 CCTV 촬영 영상으로부터 검색 대상을 특정 분류로 한정함으로써 검색 대상 모집단의 범위를 축소시킬 수 있으며, 이를 통해 자료 검색 속도를 높일 수 있다.
[도 7]은 본 발명에서 압축영상으로부터 유효 움직임(effective movement) 영역을 검출하는 과정의 구현 예를 나타내는 순서도이고, [도 8]은 CCTV 압축영상에 대해 유효 움직임 영역 검출 과정이 적용된 결과의 일 예를 나타내는 도면이다. [도 7]의 프로세스는 [도 5]에서 단계 (S100)에 대응한다.
단계 (S110) : 먼저, 압축영상의 코딩 유닛을 파싱하여 모션벡터 및 코딩유형을 획득한다. [도 1]을 참조하면, 동영상 디코딩 장치는 압축영상의 스트림에 대해 H.264 AVC 및 H.265 HEVC 등과 같은 동영상압축 표준에 따라 구문분석(헤더 파싱) 및 모션벡터 연산을 수행한다. 이러한 과정을 통하여 압축영상의 코딩 유닛에 대하여 모션벡터와 코딩유형을 파싱해낸다.
단계 (S120) : 압축영상을 구성하는 복수의 영상 블록 별로 미리 설정된 시간(예: 500 ms) 동안의 모션벡터 누적값을 획득한다.
이 단계는 압축영상으로부터 실질적으로 의미를 인정할만한 유효 움직임, 예컨대 주행중인 자동차, 달려가는 사람, 서로 싸우는 군중들이 있다면 이를 검출하려는 의도를 가지고 제시되었다. 흔들리는 나뭇잎, 잠시 나타나는 고스트, 빛의 반사에 의해 약간씩 변하는 그림자 등은 비록 움직임은 있지만 실질적으로는 무의미한 객체이므로 검출되지 않도록 한다.
이를 위해, 미리 설정된 일정 시간(예: 500 msec) 동안 하나이상의 영상 블록 단위로 모션벡터를 누적시켜 모션벡터 누적값을 획득한다. 이때, 영상 블록은 매크로블록과 서브블록을 포함하는 개념으로 사용된 것이다.
단계 (S130, S140) : 복수의 영상 블록에 대하여 모션벡터 누적값을 미리 설정된 제 1 임계치(예: 20)와 비교하며, 제 1 임계치를 초과하는 모션벡터 누적값을 갖는 영상 블록을 이동객체 영역으로 마킹한다.
만일 이처럼 일정 이상의 모션벡터 누적값을 갖는 영상 블록이 발견되면 해당 영상 블록에서 무언가 유의미한 움직임, 즉 유효 움직임이 발견된 것으로 보고 이동객체 영역으로 마킹한다. 예컨대 영상관제 시스템에서 사람이 뛰어가는 정도로 관제 요원이 관심을 가질만한 가치가 있을 정도의 움직임을 선별하여 검출하려는 것이다. 반대로, 모션벡터가 발생하였더라도 일정 시간동안의 누적값이 제 1 임계치를 넘지 못할 정도로 작을 경우에는 영상에서의 변화가 그다지 크지않고 미미한 것으로 추정하고 검출 단계에서 무시한다.
[도 8]은 본 발명에서 [도 7]의 과정을 통해 CCTV 압축영상으로부터 유효 움직임 영역을 검출한 결과를 시각적으로 나타낸 일 예이다. [도 8]에서는 제 1 임계치 이상의 모션벡터 누적값을 갖는 영상 블록이 이동객체 영역으로 마킹되어 붉은 색으로 표시되었다. [도 8]을 살펴보면 보도블럭이나 도로, 그리고 그림자가 있는 부분 등은 이동객체 영역으로 표시되지 않은 반면, 걷고있는 사람들이나 주행중인 자동차 등이 이동객체 영역으로 표시되었다.
[도 9]는 본 발명에서 이동객체 영역에 대한 바운더리 영역(boundary area)을 검출하는 과정의 구현 예를 나타내는 순서도이고, [도 10]은 [도 8]의 CCTV 영상 이미지에 대해 [도 9]에 따른 바운더리 영역 검출 과정이 추가로 적용된 결과의 일 예를 나타내는 도면이다. [도 9]의 프로세스는 [도 5]에서 단계 (S200)에 대응한다.
앞서의 [도 8]을 살펴보면 이동객체에 해당되는 영상블록이 제대로 마킹되지 않았으며 일부에 대해서만 마킹이 이루어진 것을 발견할 수 있다. 즉, 걷고있는 사람이나 주행중인 자동차를 살펴보면 객체의 전부가 마킹되지 않고 그 일부의 영상블록만 마킹되었음을 발견할 수 있다. 또한, 하나의 이동객체에 대해 복수의 이동객체 영역이 형성된 것도 많이 발견된다. 자동차를 살펴보면 복수 개의 이동객체 영역이 형성되어 있다. 이는 앞의 (S100)에서 채택한 이동객체 영역의 판단 기준이 일반 영역을 필터링 아웃하는 데에는 매우 유용하지만 상당히 엄격한 것이었음을 의미한다. 따라서, 앞서 (S100)에서 마킹된 이동객체 영역을 중심으로 그 주변의 영상블록들을 검토하고 일정 기준을 만족한다면 이동객체 영역을 추가로 마킹해줌으로써 결과적으로는 이동객체 영역의 바운더리를 검출하는 과정이 필요하다.
단계 (S210) : 먼저, 앞의 (S100)에 의해 이동객체 영역으로 마킹된 영상 블록을 중심으로 하여 인접하는 복수의 영상 블록을 식별한다. 이들은 본 명세서에서는 '이웃 블록(neighboring blocks)'이라고 부른다. 이들 이웃 블록은 (S100)에 의해서는 이동객체 영역으로 마킹되지 않은 부분인데, [도 9]의 프로세스에서는 이들에 대해 좀더 살펴봄으로써 이들 이웃 블록 중에서 이동객체 영역의 바운더리에 포함될만한 것이 있는지 확인하려는 것이다.
단계 (S220, S230) : 복수의 이웃 블록에 대하여 모션벡터 값을 미리 설정된 제 2 임계치와 비교하고, 제 2 임계치를 초과하는 모션벡터 값을 갖는 이웃 블록을 이동객체 영역으로 마킹한다. 실질적으로 의미를 부여할만한 유효 움직임이 인정된 이동객체 영역에 인접하여 위치하고 그 자신에 대해서도 어느 정도의 움직임이 발견되고 있다면 그 영상 블록은 촬영 영상(예: CCTV 영상)의 특성상 앞의 이동객체 영역과 한 덩어리일 가능성이 높다. 따라서, 이러한 이웃 블록도 이동객체 영역이라고 마킹한다.
이를 구현하는 제 1 실시예로서, 각각의 이웃 블록을 검사하여, 현재 프레임에서 검출된 모션벡터 값이 미리 설정된 제 2 임계치(예: 0) 이상인 경우에 해당 영상 블록도 이동객체 영역으로 마킹한다.
한편, 제 2 실시예로서, 이웃 블록에 대해 앞서 (S100)에서 산출하였던 모션벡터 누적값이 미리 설정된 제 2 임계치(예: 5) 이상인 경우에는 해당 영상 블록도 이동객체 영역으로 마킹할 수 있다. 이때, 제 2 임계치는 제 1 임계치에 비해 작은 값으로 설정되는 것이 타당하다.
단계 (S240) : 또한, 복수의 이웃 블록 중에서 코딩유형이 인트라 픽쳐인 것을 이동객체 영역으로 마킹한다. 인트라 픽쳐의 경우에는 모션벡터가 존재하지 않기 때문에 해당 이웃 블록이 이동객체 영역에 해당되는지 여부를 모션벡터에 기초하여 판단하는 것이 불가능하다. 이동객체 영역으로 이미 검출된 영상 블록에 인접하여 위치하는 인트라 픽쳐라면 기 추출된 이동객체 영역과 함께 한 덩어리를 이루는 것으로 추정하는 것이 바람직하다. 이동객체 영역이 아닌 영상 블록 하나가 이동객체 영역에 포함되었을 때의 손실은 별로 크지 않은 반면, 이동객체 영역이 파편화되었을 때의 손실은 크기 때문이다.
[도 10]은 본 발명에서 CCTV 압축영상에 바운더리 영역 검출 과정까지 적용된 결과를 시각적으로 나타낸 도면인데, 이상의 과정을 통해 이동객체 영역으로 마킹된 다수의 영상 블록을 파란 색으로 표시하였다. [도 10]을 살펴보면, 앞서 [도 8]에서 붉은 색으로 표시되었던 이동객체 영역의 근방으로 파란 색의 이동객체 영역은 좀더 확장되었으며 이를 통해 CCTV로 촬영된 실제 영상과 비교할 때 이동객체를 전부 커버할 정도가 되었다는 사실을 발견할 수 있다.
[도 11]은 [도 10]의 CCTV 영상 이미지에 대해 인터폴레이션을 통해 이동객체 영역을 정리한 결과의 일 예를 나타낸 도면이다.
단계 (S300)은 앞의 (S100)과 (S200)에서 검출된 이동객체 영역에 인터폴레이션을 적용하여 이동객체 영역의 분할을 정리하는 과정이다. [도 10]을 살펴보면 파란 색으로 표시된 이동객체 영역 사이사이에 비마킹 영상 블록이 발견된다. 이렇게 중간중간에 비마킹 영상 블록이 존재하게 되면 이들이 다수의 개별적인 이동객체인 것처럼 간주될 수 있다. 이렇게 이동객체 영역이 파편화되면 단계 (S400)의 결과가 부정확해질 수 있고, 이동객체 영역의 갯수가 많아져서 단계 (S400)의 프로세스가 복잡해지는 문제도 있다.
그에 따라, 본 발명에서는 이동객체 영역으로 마킹된 복수의 영상 블록으로 둘러싸여 하나 혹은 소수의 비마킹 영상 블록이 존재한다면 이는 이동객체 영역으로 마킹하는데, 이를 인터폴레이션이라고 부른다. [도 10]과 대비하여 [도 11]을 살펴보면, 이동객체 영역 사이사이에 존재하던 비마킹 영상 블록이 모두 이동객체 영역이라고 마킹되었다. 이를 통해, 덩어리로 움직이는 영역은 모두 묶어서 하나의 이동객체로서 다루게 된다.
[도 8], [도 10], [도 11]을 비교하면 바운더리 영역 검출 과정과 인터폴레이션 과정을 거치면서 이동객체 영역이 실제 영상의 상황을 제대로 반영하게 되어간다는 사실을 발견할 수 있다. [도 8]에서 붉은 색으로 마킹된 덩어리로 판단한다면 영상 화면 속에 아주 작은 물체들이 다수 움직이는 것처럼 다루어질 것인데, 이는 실제와는 부합하지 않는다. 반면, [도 11]에서 파란 색으로 마킹된 덩어리로 판단한다면 어느 정도의 부피를 갖는 몇 개의 이동객체가 존재하는 것으로 다루어질 것이어서 실제 장면을 유사하게 반영한다.
한편, 본 발명은 컴퓨터가 읽을 수 있는 비휘발성 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현되는 것이 가능하다. 이러한 비휘발성 기록매체로는 다양한 형태의 스토리지 장치가 존재하는데 예컨대 하드디스크, SSD, CD-ROM, NAS, 자기테이프, 웹디스크, 클라우드 디스크 등이 있고 네트워크로 연결된 다수의 스토리지 장치에 코드가 분산 저장되고 실행되는 형태도 구현될 수 있다. 또한, 본 발명은 하드웨어와 결합되어 특정의 절차를 실행시키기 위하여 매체에 저장된 컴퓨터프로그램의 형태로 구현될 수도 있다.

Claims (7)

  1. 압축영상의 비트스트림을 파싱하여 코딩 유닛에 대한 모션벡터 및 코딩유형을 획득하는 제 1 단계;
    압축영상을 구성하는 복수의 영상 블록 별로 미리 설정된 시간동안의 모션벡터 누적값을 획득하는 제 2 단계;
    상기 복수의 영상 블록에 대하여 상기 모션벡터 누적값을 미리 설정된 제 1 임계치와 비교하는 제 3 단계;
    상기 제 1 임계치를 초과하는 모션벡터 누적값을 갖는 영상 블록을 이동객체 영역으로 마킹하는 제 4 단계;
    상기 압축영상을 디코딩하여 상기 이동객체 영역의 이미지를 획득하는 제 5 단계;
    각각의 이동객체 영역에 대해 해당 이동객체 영역에 속하는 복수의 영상 블록에 대해 상기 제 1 단계에서 획득된 모션벡터의 방향 성분과 크기 성분의 2차원 배열을 포함하여 모션벡터 패턴을 취합하고, 상기 취합된 이동객체 영역의 모션벡터 패턴을 훈련 데이터집합으로 설정하여 심층신경망에 대한 머신러닝을 수행하여 모션벡터 패턴을 기준으로 입력 이미지를 분할하는 로컬화 성능이 강화된 심층신경망을 MRPN(모션벡터 RPN)으로 설정하는 제 6 단계;
    상기 이동객체 영역의 이미지에 상기 MRPN을 적용하여 상기 이동객체 영역의 이미지에 대한 객체 후보영역을 추출하는 제 7 단계;
    상기 이동객체 영역의 이미지를 CNN(합성곱 신경망)에 입력하여 상기 제 7 단계에서 추출된 객체 후보영역에 따른 CNN 특징을 연산하는 제 8 단계;
    상기 CNN의 연산 결과로부터 상기 이동객체 영역에 대한 객체 분류 결과를 획득하는 제 9 단계;
    를 포함하여 구성되는 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 제 4 단계와 상기 제 5 단계 사이에 수행되는,
    상기 이동객체 영역을 중심으로 그 인접하는 복수의 영상 블록(이하, '이웃 블록'이라 함)을 식별하는 제 a 단계;
    상기 복수의 이웃 블록에 대하여 상기 제 1 단계에서 획득된 모션벡터 값을 미리 설정된 제 2 임계치와 비교하는 제 b 단계;
    상기 복수의 이웃 블록 중에서 상기 제 b 단계의 비교 결과 상기 제 2 임계치를 초과하는 모션벡터 값을 갖는 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 c 단계;
    를 더 포함하여 구성되는 것을 특징으로 하는 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법.
  4. 청구항 1에 있어서,
    상기 제 4 단계와 상기 제 5 단계 사이에 수행되는,
    상기 이동객체 영역을 중심으로 그 인접하는 복수의 영상 블록(이하, '이웃 블록'이라 함)을 식별하는 제 a 단계;
    상기 복수의 이웃 블록에 대하여 상기 모션벡터 누적값을 상기 제 1 임계치보다 작은 값으로 미리 설정된 제 2 임계치와 비교하는 제 b 단계;
    상기 복수의 이웃 블록 중에서 상기 제 b 단계의 비교 결과 상기 제 2 임계치를 초과하는 모션벡터 누적값을 갖는 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 c 단계;
    를 더 포함하여 구성되는 것을 특징으로 하는 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법.
  5. 청구항 3 또는 청구항 4에 있어서,
    상기 제 c 단계 이후에 수행되는,
    상기 복수의 이웃 블록 중에서 코딩유형이 인트라 픽쳐인 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 d 단계;
    를 더 포함하여 구성되는 것을 특징으로 하는 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법.
  6. 청구항 5에 있어서,
    상기 제 d 단계 이후에 수행되는,
    상기 복수의 이동객체 영역에 대하여 인터폴레이션을 수행하여 이동객체 영역으로 둘러싸인 미리 설정된 갯수 이하의 비마킹 영상 블록을 이동객체 영역으로 추가 마킹하는 제 e 단계;
    를 더 포함하여 구성되는 것을 특징으로 하는 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법.
  7. 하드웨어와 결합되어 청구항 1, 3, 4 중 어느 하나의 항에 따른 압축영상에 대한 신택스 기반의 MRPN-CNN을 이용한 객체 분류 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램.
KR1020180149991A 2018-11-28 2018-11-28 압축영상에 대한 신택스 기반의 mrpn-cnn을 이용한 객체 분류 방법 KR102178952B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180149991A KR102178952B1 (ko) 2018-11-28 2018-11-28 압축영상에 대한 신택스 기반의 mrpn-cnn을 이용한 객체 분류 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180149991A KR102178952B1 (ko) 2018-11-28 2018-11-28 압축영상에 대한 신택스 기반의 mrpn-cnn을 이용한 객체 분류 방법

Publications (2)

Publication Number Publication Date
KR20200068102A KR20200068102A (ko) 2020-06-15
KR102178952B1 true KR102178952B1 (ko) 2020-11-13

Family

ID=71081894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180149991A KR102178952B1 (ko) 2018-11-28 2018-11-28 압축영상에 대한 신택스 기반의 mrpn-cnn을 이용한 객체 분류 방법

Country Status (1)

Country Link
KR (1) KR102178952B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022114252A1 (ko) * 2020-11-25 2022-06-02 한국전자기술연구원 복잡도 기반 특정 영역 연산 생략 방식을 이용한 딥러닝 기반 범시적 영역 분할 연산 가속처리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101735365B1 (ko) * 2017-01-19 2017-05-16 (주)나인정보시스템 학습 기반의 영상 내 관심 물체 검지 및 환경 변화에 강인한 물체 추적 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102137266B1 (ko) * 2012-09-28 2020-07-23 삼성전자주식회사 움직임 벡터와 변이 벡터를 예측하는 영상 처리 방법 및 장치
KR102462818B1 (ko) * 2015-07-08 2022-11-04 주식회사 케이티 모션벡터 및 특징벡터 기반 위조 얼굴 검출 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101735365B1 (ko) * 2017-01-19 2017-05-16 (주)나인정보시스템 학습 기반의 영상 내 관심 물체 검지 및 환경 변화에 강인한 물체 추적 방법

Also Published As

Publication number Publication date
KR20200068102A (ko) 2020-06-15

Similar Documents

Publication Publication Date Title
KR101942808B1 (ko) 객체 이미지 인식 dcnn 기반 cctv 영상분석장치
KR102090785B1 (ko) 압축영상에 대한 신택스 기반의 영상분석 시스템과 연동 처리 방법
KR102187376B1 (ko) 딥러닝 이미지 분석과 연동하는 신택스 기반의 선별 관제 제공 방법
US20120275524A1 (en) Systems and methods for processing shadows in compressed video images
CN111901604B (zh) 视频压缩、重构方法及对应装置、摄像头及视频处理设备
US10750211B2 (en) Video-segment identification systems and methods
KR20200119372A (ko) 인공신경망 기반 객체영역 검출방법, 장치 및 이에 대한 컴퓨터 프로그램
KR102090775B1 (ko) 압축영상에 대한 신택스 기반의 이동객체 영역 추출 방법
KR102061915B1 (ko) 압축영상에 대한 신택스 기반의 객체 분류 방법
KR102179077B1 (ko) 상용분류기 외부 연동 학습형 신경망을 이용한 압축영상에 대한 신택스 기반의 객체 분류 방법
KR102177494B1 (ko) 모션벡터의 궤적 및 패턴을 이용한 압축영상의 이상모션 객체 식별 방법
KR102178952B1 (ko) 압축영상에 대한 신택스 기반의 mrpn-cnn을 이용한 객체 분류 방법
KR102042397B1 (ko) 압축영상에 대한 신택스 기반의 히트맵 생성 방법
KR102015082B1 (ko) 압축영상에 대한 신택스 기반의 객체 추적 방법
KR102015084B1 (ko) 압축영상에 대한 신택스 기반의 도로 역주행 감지 방법
KR102014545B1 (ko) 움직임 벡터에 대한 3차원 모델링 기반의 압축영상 원근 시각화 표시 처리 방법
US20230188679A1 (en) Apparatus and method for transmitting images and apparatus and method for receiving images
Savcı et al. Fire detection in H. 264 compressed video
KR20200013335A (ko) 압축영상에 대한 신택스 기반의 ptz 카메라의 객체 추적 제어 방법
KR102090782B1 (ko) 압축영상에 대한 신택스 기반의 객체 월담 감지 방법
KR102015078B1 (ko) 압축영상에 대한 신택스 기반의 객체 배회 감지 방법
KR102153093B1 (ko) 컨텍스트를 고려한 압축영상에 대한 신택스 기반의 이동객체 영역 추출 방법
KR102343029B1 (ko) 모션벡터 기반 분기처리를 이용한 압축영상의 영상분석 처리 방법
KR102123678B1 (ko) 모션벡터 블록체인 기반의 압축영상 위변조 식별 방법
KR102585167B1 (ko) 압축영상에 대한 신택스 기반의 동일인 분석 방법

Legal Events

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