KR102198912B1 - 비디오 영상 내의 행동 인식 방법 및 장치 - Google Patents

비디오 영상 내의 행동 인식 방법 및 장치 Download PDF

Info

Publication number
KR102198912B1
KR102198912B1 KR1020180114180A KR20180114180A KR102198912B1 KR 102198912 B1 KR102198912 B1 KR 102198912B1 KR 1020180114180 A KR1020180114180 A KR 1020180114180A KR 20180114180 A KR20180114180 A KR 20180114180A KR 102198912 B1 KR102198912 B1 KR 102198912B1
Authority
KR
South Korea
Prior art keywords
maps
characteristic map
characteristic
motion
generating
Prior art date
Application number
KR1020180114180A
Other languages
English (en)
Other versions
KR20200036093A (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 KR1020180114180A priority Critical patent/KR102198912B1/ko
Publication of KR20200036093A publication Critical patent/KR20200036093A/ko
Application granted granted Critical
Publication of KR102198912B1 publication Critical patent/KR102198912B1/ko

Links

Images

Classifications

    • G06K9/00744
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • G06K9/00335
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Abstract

비디오 영상 내의 행동 인식 방법에서, 복수의 프레임 영상들을 포함하는 비디오 영상을 수신한다. 복수의 프레임 영상들 각각에 대한 공간 정보를 추출하고 인코딩하여, 복수의 외형 특성 맵들을 생성한다. 복수의 프레임 영상들 중 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 외형 특성 맵들을 기초로 쉬프트 연산 및 접합 연산을 순차적으로 수행하여, 복수의 움직임 특성 맵들을 생성한다. 복수의 외형 특성 맵들과 복수의 움직임 특성 맵들을 병합하여, 복수의 누적 특성 맵들을 생성한다. 복수의 누적 특성 맵들에 기초하여 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행한다.

Description

비디오 영상 내의 행동 인식 방법 및 장치{METHOD AND APPARATUS OF PERFORMING ACTION RECOGNITION IN VIDEO IMAGE}
본 발명은 영상 인식에 관한 것으로서, 더욱 상세하게는 비디오 영상 내의 행동 인식 방법 및 상기 행동 인식 방법을 수행하는 장치에 관한 것이다.
인공 신경망(artificial neural network; ANN)이란 연결 선으로 연결된 많은 수의 인공 뉴런들을 사용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 연산 모델을 나타낸다. 인공 신경망에서는 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런을 사용하게 된다. 그리고 연결 강도를 갖는 연결 선을 통해 상호 연결시켜 인간의 인지 작용이나 학습 과정을 수행하게 된다. 최근에는 인공 신경망에 기초한 딥 러닝(deep learning) 기술이 연구되고 있다.
한편, 일반적인 정보 검색 시스템은 정보나 데이터를 수집하거나 축적하고 있어, 사용자는 정보 검색 시스템을 이용하여 원하는 정보나 데이터를 획득할 수 있다. 이러한 정보 검색 시스템은 대부분의 텍스트를 기반으로 사용자가 검색어를 입력하면, 검색어에 대응되는 텍스트를 포함한 문서 또는 이미지 등을 제공하는 방식이 대부분이다. 최근에는 일반적인 텍스트를 이용한 검색뿐만 아니라 비디오 영상 자체에 대해서도 원하는 정보를 획득할 수 있으며, 상술한 딥 러닝 기술을 이용하여 비디오 영상 내의 정보를 획득하기 위한 기술이 연구되고 있다.
본 발명의 일 목적은 비디오 영상을 분석하여 비디오 영상 내의 행동(action)을 효과적으로 인식할 수 있는 방법을 제공하는 것이다.
본 발명의 다른 목적은 비디오 영상을 분석하여 비디오 영상 내의 행동을 효과적으로 인식할 수 있는 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법에서, 복수의 프레임 영상들을 포함하는 비디오 영상을 수신한다. 상기 복수의 프레임 영상들 각각에 대한 공간 정보를 추출하고 인코딩하여, 복수의 외형 특성 맵(appearance feature map)들을 생성한다. 상기 복수의 프레임 영상들 중 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 외형 특성 맵들을 기초로 쉬프트(shift) 연산 및 접합(concatenation) 연산을 순차적으로 수행하여, 복수의 움직임 특성 맵(motion feature map)들을 생성한다. 상기 복수의 외형 특성 맵들과 상기 복수의 움직임 특성 맵들을 병합하여, 복수의 누적 특성 맵들을 생성한다. 상기 복수의 누적 특성 맵들에 기초하여 상기 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행한다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치는 입력 버퍼, 적어도 하나의 프로세싱 소자 및 출력 버퍼를 포함한다. 상기 입력 버퍼는 복수의 프레임 영상들을 포함하는 비디오 영상을 수신한다. 상기 적어도 하나의 프로세싱 소자는 상기 복수의 프레임 영상들 각각에 대한 공간 정보를 추출하고 인코딩하여 복수의 외형 특성 맵(appearance feature map)들을 생성하고, 상기 복수의 프레임 영상들 중 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 외형 특성 맵들을 기초로 쉬프트(shift) 연산 및 접합(concatenation) 연산을 순차적으로 수행하여 복수의 움직임 특성 맵(motion feature map)들을 생성하고, 상기 복수의 외형 특성 맵들과 상기 복수의 움직임 특성 맵들을 병합하여 복수의 누적 특성 맵들을 생성하며, 상기 복수의 누적 특성 맵들에 기초하여 상기 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행한다. 상기 출력 버퍼는 상기 행동 인식 작업의 결과로서 출력 결과를 저장한다.
상기와 같은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법 및 장치에서는, 복수의 프레임 영상들을 이용하여 공간 정보를 포함하는 복수의 외형 특성 맵들 및 시간 정보를 포함하는 복수의 움직임 특성 맵들을 순차적으로 생성하고 이들을 병합함으로써, RGB 영상 데이터만으로 시간 정보를 추출할 수 있다. 이에 따라, 기존의 광학 플로우 기반의 접근 방식 및 3차원 컨볼루션 신경망을 이용하는 방식에 비해 연산량이 감소되어, 행동 인식 작업을 빠르고 효과적으로 수행할 수 있으며, 실시간으로 동작하는 어플리케이션을 효과적으로 구현할 수 있다.
또한, 상술한 공간 정보 추출 동작, 시간 정보 추출 동작 및 병합 동작을 2회 이상 복수 회 반복하도록 복수의 레이어들을 포함하여 구현되는 경우에, 하위의 레이어들은 상대적으로 작은 움직임을 캡쳐하고 상위의 레이어들은 상대적으로 큰 움직임을 캡쳐할 수 있으며, 따라서 출력 결과의 신뢰성이 향상될 수 있다.
도 1은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치를 나타내는 블록도이다.
도 3은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치에 의해 구현되는 움직임 특성 네트워크 시스템을 나타내는 블록도이다.
도 4는 도 1의 방법에 포함되는 복수의 움직임 특성 맵들을 생성하는 단계의 일 예를 나타내는 순서도이다.
도 5는 도 4의 복수의 쉬프트된 외형 특성 맵들을 생성하는 단계의 일 예를 나타내는 순서도이다.
도 6은 도 4의 복수의 잔차 특성 맵들을 생성하는 단계의 일 예를 나타내는 순서도이다.
도 7은 도 3의 시스템에 포함되는 제1 움직임 필터의 일 예를 나타내는 블록도이다.
도 8은 도 1의 방법에 포함되는 복수의 누적 특성 맵들을 생성하는 단계의 일 예를 나타내는 순서도이다.
도 9는 도 3의 시스템에 포함되는 제1 병합 블록의 일 예를 나타내는 블록도이다.
도 10은 도 1의 방법에 포함되는 복수의 누적 특성 맵들을 생성하는 단계의 다른 예를 나타내는 순서도이다.
도 11은 도 3의 시스템에 포함되는 제1 병합 블록의 다른 예를 나타내는 블록도이다.
도 12는 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법을 나타내는 순서도이다.
도 13은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치에 의해 구현되는 움직임 특성 네트워크 시스템을 나타내는 블록도이다.
도 14는 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법을 나타내는 순서도이다.
도 15는 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치에 의해 구현되는 움직임 특성 네트워크 시스템을 나타내는 블록도이다.
도 16은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 실시예들에 따른 행동 인식(action recognition) 방법은 적어도 하나의 프로세싱 소자(processing element; PE)를 포함하는 행동 인식 장치 및/또는 움직임 특성 네트워크(motion feature network; MFNet) 시스템에 의해 수행 또는 실행된다. 행동 인식 장치 및 움직임 특성 네트워크 시스템의 구체적인 구성에 대해서는 도 2 및 3을 참조하여 후술하도록 한다.
본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법에서, 복수의 프레임(frame) 영상들을 포함하는 비디오(video) 영상을 수신한다(단계 S100). 상기 비디오 영상은 동영상 또는 동적(dynamic) 영상이라 부를 수 있고, 상기 프레임 영상은 정지 영상 또는 정적(static) 영상이라 부를 수 있다. 복수의 정지 영상들이 하나의 동영상을 형성할 수 있다.
상기 비디오 영상은 적어도 하나의 행동(action) 또는 움직임(motion)을 포함한다. 예를 들어, 상기 비디오 영상은 손가락을 아래로 또는 위로 움직이는 행동, 어떤 것 앞에 다른 어떤 것을 떨어뜨리는 행동, 어떤 것을 제거하여 뒤에 있는 다른 어떤 것을 드러내는 행동, 탁구를 치거나 당구를 치는 움직임 등을 포함할 수 있다. 상기 비디오 영상에서 상술한 행동 또는 움직임을 인식하기 위해 하기의 동작들이 수행된다.
상기 복수의 프레임 영상들 각각에 대한 공간 정보(spatial information)를 추출하고 인코딩하여, 복수의 외형 특성 맵(appearance feature map)들을 생성한다(단계 S200). 예를 들어, 하나의 프레임 영상에 기초하여 하나의 외형 특성 맵이 생성되며, 상기 비디오 영상이 M(M은 2이상의 자연수)개의 프레임 영상들을 포함하는 경우에, 단계 S200에 의해 M개의 외형 특성 맵들이 생성될 수 있다.
상기 복수의 프레임 영상들 중 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 외형 특성 맵들을 기초로 쉬프트 연산(shift operation) 및 접합 연산(concatenation operation)을 순차적으로 수행하여, 복수의 움직임 특성 맵(motion feature map)들을 생성한다(단계 S300). 상기 복수의 움직임 특성 맵들은 시간 정보(temporal information)를 인코딩하여 생성된다. 예를 들어, 연속하는 두 개의 외형 특성 맵들에 기초하여 하나의 움직임 특성 맵이 생성되며, 상기 비디오 영상이 M개의 프레임 영상들을 포함하는 경우에, 단계 S300에 의해 (M-1)개의 움직임 특성 맵들이 생성될 수 있다.
상기 복수의 외형 특성 맵들과 상기 복수의 움직임 특성 맵들을 병합(aggregate)하여, 복수의 누적(accumulated) 특성 맵들을 생성한다(단계 S400). 상기 복수의 누적 특성 맵들은 상기 공간 정보 및 상기 시간 정보를 모두 포함한다. 예를 들어, 상기 비디오 영상이 M개의 프레임 영상들을 포함하는 경우에, 단계 S400에 의해 M개의 누적 특성 맵들이 생성될 수 있다.
상기 복수의 누적 특성 맵들에 기초하여 상기 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행한다(단계 S500). 예를 들어, 분류(classifying) 동작, 평균화(averaging) 동작 등에 기초하여 상기 행동 인식 작업이 수행될 수 있다.
도 2는 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치를 나타내는 블록도이다.
도 2를 참조하면, 행동 인식 장치(100)는 입력 버퍼(110), 적어도 하나의 프로세싱 소자(120) 및 출력 버퍼(130)를 포함한다. 행동 인식 장치(100)는 파라미터 버퍼(140) 및 메모리(150)를 더 포함할 수 있다.
입력 버퍼(110)는 복수의 프레임 영상들을 포함하는 비디오 영상(VIMG)을 수신한다. 예를 들어, 입력 버퍼(110)는 적어도 하나의 프레임 버퍼를 포함할 수 있다.
프로세싱 소자(120)는 본 발명의 실시예들에 따른 행동 인식 방법을 수행한다. 구체적으로, 프로세싱 소자(120)는 상기 복수의 프레임 영상들 각각에 대한 공간 정보를 추출하고 인코딩하여 복수의 외형 특성 맵들을 생성하고, 상기 복수의 프레임 영상들 중 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 외형 특성 맵들을 기초로 쉬프트 연산 및 접합 연산을 순차적으로 수행하여 복수의 움직임 특성 맵들을 생성하고, 상기 복수의 외형 특성 맵들과 상기 복수의 움직임 특성 맵들을 병합하여 복수의 누적 특성 맵들을 생성하며, 상기 복수의 누적 특성 맵들에 기초하여 상기 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행한다. 또한, 프로세싱 소자(120)는 상술한 외형 특성 맵들을 생성하는 공간 정보 추출 동작, 움직임 특성 맵들을 생성하는 시간 정보 추출 동작, 및 공간 정보와 시간 정보를 합치는 병합 동작을 복수 회 반복할 수도 있다.
프로세싱 소자(120)는 외형 처리부(121), 움직임 처리부(123), 병합 처리부(125), 분류부(127) 및 평균화부(129)를 포함할 수 있다. 외형 처리부(121)에 의해 상기 복수의 외형 특성 맵들이 생성되고, 움직임 처리부(123)에 의해 상기 복수의 움직임 특성 맵들이 생성되고, 병합 처리부(125)에 의해 상기 복수의 누적 특성 맵들이 생성되며, 분류부(127) 및 평균화부(129)에 의해 상기 행동 인식 작업이 수행될 수 있다. 실시예에 따라서, 외형 처리부(121), 움직임 처리부(123), 병합 처리부(125), 분류부(127) 및 평균화부(129)는 하드웨어적으로 구분될 수도 있고, 소프트웨어적으로 구분될 수도 있다.
일 실시예에서, 프로세싱 소자(120)는 상술한 복수의 연산들을 수행하기 위해 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphic processing unit; GPU), 신경 처리 장치(neural processing unit; NPU), 디지털 신호 프로세서(digital signal processor; DSP), 영상 신호 프로세서(image signal processor; ISP) 등과 같은 다양한 처리 장치들 중 적어도 하나를 포함하여 구현될 수 있다. 실시예에 따라서, 프로세싱 소자(120)는 상술한 처리 장치들 중 동일한 종류의(homogeneous) 처리 장치들을 복수 개 포함하거나, 서로 다른 종류의(heterogeneous) 처리 장치들을 복수 개 포함하여 구현될 수 있다.
일 실시예에서, 프로세싱 소자(120)는 상술한 복수의 연산들을 병렬 처리하기 위해 복수의 프로세서 코어(processor core)들을 포함하여 구현될 수 있다.
출력 버퍼(130)는 상기 행동 인식 작업의 결과로서 출력 결과(OUTR)를 저장 및 출력한다. 예를 들어, 출력 버퍼(130)는 적어도 하나의 레지스터를 포함할 수 있다.
파라미터 버퍼(140)는 프로세싱 소자(120)가 상술한 복수의 연산들을 수행하는데 이용되는 복수의 파라미터들 및/또는 복수의 하이퍼 파라미터(hyper parameter)들을 저장할 수 있다. 파라미터 버퍼(140)는 학습 과정에 의해 학습된 파라미터들을 저장할 수도 있다.
메모리(150)는 프로세싱 소자(120)에 의해 처리되었거나 처리될 예정인 데이터들을 임시로 또는 지속적으로 저장할 수 있다. 예를 들어, 메모리(150)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 휘발성 메모리, 및 플래시 메모리(flash memory), PRAM(phase change random access memory), RRAM(resistance random access memory), NFGM(nano floating gate memory), PoRAM(polymer random access memory), MRAM(magnetic random access memory), FRAM(ferroelectric random access memory) 등과 같은 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 실시예에 따라서, 메모리(150)는 SSD(solid state drive), eMMC(embedded multimedia card), UFS(universal flash storage) 등과 같은 대용량 저장 장치의 형태로 구현될 수도 있다.
도시하지는 않았으나, 행동 인식 장치(100)는 구성요소들의 전반적인 동작을 제어하는 제어부, 특정 작업의 할당을 관리하는 작업 관리자 등을 더 포함할 수 있다.
도 3은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치에 의해 구현되는 움직임 특성 네트워크 시스템을 나타내는 블록도이다.
도 3을 참조하면, 움직임 특성 네트워크 시스템은 복수의 외형 블록들(APB11, APB12, APB13, APB14), 복수의 움직임 필터들(MF11, MF12, MF13), 복수의 병합 블록들(AGB11, AGB12, AG13, AGB14), 분류 블록(CLSFB) 및 평균화 블록(AVGB)을 포함할 수 있다. 상기 움직임 특성 네트워크 시스템은 도 1의 행동 인식 방법을 수행할 수 있다.
복수의 외형 블록들(APB11, APB12, APB13, APB14)은 비디오 영상(도 2의 VIMG)에 포함되는 복수의 프레임 영상들(FIMG1, FIMG2, FIMG3, FIMG4)에 기초하여 복수의 외형 특성 맵들(F11, F12, F13, F14)을 생성한다. 예를 들어, 제1 외형 블록(APB11)은 제1 프레임 영상(FIMG1)에 기초하여 제1 외형 특성 맵(F11)을 생성할 수 있다. 복수의 외형 블록들(APB11, APB12, APB13, APB14)은 도 2의 외형 처리부(121)에 의해 구현될 수 있다.
복수의 외형 블록들(APB11, APB12, APB13, APB14) 각각은 일반적인 이미지 분류 작업을 위해 수행되는 연산들을 수행할 수 있다. 예를 들어, 복수의 외형 블록들(APB11, APB12, APB13, APB14) 각각은 컨볼루션 신경망(convolution neural network; CNN)을 기반으로 구현되고, 적어도 하나의 컨볼루션 레이어를 포함하며, 정정 선형 유닛(rectified linear unit; RELU) 레이어, 풀링(pooling) 레이어, 바이어스 가산(bias add) 레이어, 소프트맥스(softmax) 레이어 등과 같은 다양한 연산 레이어들 중 적어도 하나를 추가적으로 포함할 수 있다.
컨볼루션 레이어는 입력에 대한 컨볼루션 연산을 수행할 수 있다. 영상 처리에서 컨볼루션이란 가중치를 갖는 마스크를 이용하여 데이터를 처리하는 것을 의미할 수 있으며, 입력 값과 마스크의 가중치를 곱한 후에 그 합을 출력 값으로 정하는 것을 나타낼 수 있다. 이 때, 마스크를 커널(kernel) 또는 필터(filter)라고 부를 수 있고, 마스크를 이용하여 데이터를 처리하는 동작을 커널링이라고 부를 수 있다.
정정 선형 유닛 레이어는 입력에 대한 정정 선형 유닛 연산을 수행할 수 있다. 예를 들어, 정정 선형 유닛 연산은 max(0, x)와 같이 음수에 대해서만 0으로 처리하는 함수를 나타낼 수 있다.
풀링 레이어는 입력 볼륨의 가로/세로 차원에 대해 다운 샘플링을 수행할 수 있다. 예를 들어, 2*2 필터를 적용하는 경우에 2*2 영역의 네 개의 입력들을 하나의 출력으로 변환할 수 있다. 구체적으로, 2*2 최대 값 풀링과 같이 2*2 영역의 네 개의 입력들 중 최대 값을 선택하거나, 2*2 평균 값 풀링과 같이 2*2 영역의 네 개의 입력들의 평균 값을 연산할 수 있다.
바이어스 가산 레이어는 바이어스를 추가할 수 있다. 소프트맥스 레이어는 예측된 결과인 점수(score) 값을 확률 값으로 변환할 수 있다.
복수의 움직임 필터들(MF11, MF12, MF13)은 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 외형 특성 맵들에 기초하여 복수의 움직임 특성 맵들(M11, M12, M13, M14)을 생성한다. 예를 들어, 제1 움직임 필터(MF11)는 연속하는 제1 및 제2 외형 특성 맵들(F11, F12)에 기초하여 제1 움직임 특성 맵(M11)을 생성할 수 있다. 제4 움직임 특성 맵(M14)은 제3 움직임 필터(MF13) 이후의 제4 움직임 필터(미도시)에 의해 생성되며, 만약 제4 프레임 영상(FIMG4)이 마지막 프레임 영상인 경우에 제4 움직임 특성 맵(M14)은 미리 정해진 종료 값(예를 들어, 0)을 가질 수 있다. 복수의 움직임 필터들(MF11, MF12, MF13)은 도 2의 움직임 처리부(123)에 의해 구현될 수 있다.
종래에는 행동 인식을 위한 공간 정보 및 시간 정보를 획득하기 위해, 두 개의 정보인 RGB 영상 데이터와 광학 플로우(optical flow)에 기초한 2-스트림 프레임워크(two-stream framework), 또는 3차원 컨볼루션 연산 및 3차원 풀링을 수행하는 3차원 컨볼루션 신경망을 이용하였다. 광학 플로우는 연속하는 두 개의 원시 영상 프레임으로부터 추출된 시간 정보를 나타내지만, 생성하는데 많은 시간이 소요되며 특히 사전 계산 시간(pre-computation time)이 필요한 문제가 있었다. 3차원 컨볼루션 신경망은 상대적으로 많은 파라미터가 필요하며, 이에 따라 높은 메모리 요구사항 및 많은 계산 부담이 요구되는 문제가 있었다.
본 발명의 실시예들에 따른 움직임 특성 네트워크 시스템은 특별히 설계된 복수의 움직임 필터들(MF11, MF12, MF13)을 이용하여 구현되며, RGB 영상 데이터만으로 시간 정보를 추출할 수 있다. 이에 따라, 기존의 광학 플로우 기반의 접근 방식에서 요구되는 사전 계산 시간이 필요하지 않을 수 있다. 또한, 본 발명의 실시예들에 따른 움직임 특성 네트워크 시스템은 2차원 컨볼루션 신경망을 기반으로 하여 구현되므로, 3차원 컨볼루션 신경망에 비해 적은 파라미터를 이용할 수 있다. 따라서, 움직임 특성 네트워크 시스템을 이용하여 실시간으로 동작하는 어플리케이션을 효과적으로 구현할 수 있다.
움직임 표현(motion representation)을 캡쳐하기 위해 널리 사용되는 행동 인식 방법 중 하나는 광학 플로우를 컨볼루션 신경망의 입력으로 사용하는 것이다. 다만, 광학 플로우를 계산하기 위해 많은 자원이 요구되므로, 본 발명에서는 광학 플로우를 대체하고 시간 정보를 추출하기 위해, 광학 플로우와 밀접한 관련이 있고 광학 플로우를 근사화하기 위한 움직임 필터를 제안한다. 다시 말하면, 복수의 움직임 필터들(MF11, MF12, MF13)에 의해 생성되는 복수의 움직임 특성 맵들(M11, M12, M13, M14)은 광학 플로우를 근사화한 값을 나타낼 수 있다.
일반적으로, 광학 플로우의 밝기 일관성 제한 조건(brightness consistency constraint)은 하기의 [수학식 1]과 같이 정의될 수 있다.
[수학식 1]
Figure 112018094871147-pat00001
상기의 [수학식 1]에서, I(x,y,t)는 시간 t의 프레임의 위치 (x,y)에서의 픽셀 값을 나타내며, Δx 및 Δy는 각각 수평 및 수직 축에서의 공간적 변위(spatial displacement)를 나타낸다. 상기의 [수학식 1]을 만족하는 광학 플로우 (Δx,Δy)는 영상의 모든 위치에서 시간 t 및 t+Δt의 두 개의 연속하는 영상 프레임들 사이에서 계산될 수 있다.
본 발명에서는 광학 플로우로부터 얻어진 시간 특성을 찾아서 광학 플로우의 최적의 솔루션을 찾는 대신에 효과적으로 행동 인식을 분류하는 것이 목적이다. 따라서, 영상 I(x,y,t)를 대응하는 특성 맵 F(x,y,t)으로 대체하여 상기의 [수학식 1]을 특성 공간으로 확장하고, 잔차 특성 R을 하기의 [수학식 2]와 같이 정의할 수 있다.
[수학식 2]
Figure 112018094871147-pat00002
상기의 [수학식 2]에서, l은 레이어(layer) 또는 계층 구조(hierarchy)의 인덱스(index)를 나타내고, Fl은 기본 네트워크(basic network)의 l번째 특성 맵을 나타내며, R은 동일한 레이어 l의 두 개의 특성에 의해 생성되는 잔차 특성을 나타낸다. 레이어에 대해서는 도 13 및 15를 참조하여 후술하도록 한다. 상기의 [수학식 2]에서 뺄셈의 순서는 변경 가능할 수 있다.
Δx 및 Δy가 주어지면, 잔차 특성 R은 시간 t 및 t+Δt에서 두 개의 인접한 특성들을 감산하여 쉽게 계산될 수 있다. 특성 레벨(feature level)에서 광학 플로우 제한 조건을 최대한 활용하기 위해 R은 절대 강도가 낮다. 특성 맵의 각 위치에서 가장 낮은 절대값을 찾는 것을 간단하지만 시간이 오래 걸리므로, 검색 공간을 제한하기 위해 미리 설정된 고정 방향들의 세트인
Figure 112018094871147-pat00003
를 설계하였으며, 편의상 하나의 픽셀을 이동시키도록
Figure 112018094871147-pat00004
로 조건을 제한하였다.
본 발명의 실시예들에 따라 설계된 복수의 움직임 필터들(MF11, MF12, MF13)의 구체적인 구성 및 동작은 도 4 내지 7을 참조하여 후술하도록 한다.
복수의 병합 블록들(AGB11, AGB12, AG13, AGB14)은 복수의 외형 특성 맵들(F11, F12, F13, F14)과 복수의 움직임 특성 맵들(M11, M12, M13, M14)을 병합하여 복수의 누적 특성 맵들(A11, A12, A13, A14)을 생성한다. 예를 들어, 제1 병합 블록(AGB11)은 제1 외형 특성 맵(F11)과 제1 움직임 특성 맵(M11)을 병합하여 제1 누적 특성 맵(A11)을 생성할 수 있다. 복수의 병합 블록들(AGB11, AGB12, AG13, AGB14)은 도 2의 병합 처리부(125)에 의해 구현될 수 있다.
일 실시예에서, 복수의 병합 블록들(AGB11, AGB12, AG13, AGB14)은 요소별 합산(element-wise sum) 방식에 기초하여 동작할 수 있으며, 이에 대해서는 도 8 및 9를 참조하여 후술하도록 한다. 다른 실시예에서, 복수의 병합 블록들(AGB11, AGB12, AG13, AGB14)은 접합(concatenation) 방식에 기초하여 동작할 수 있으며, 이에 대해서는 도 10 및 11을 참조하여 후술하도록 한다.
분류 블록(CLSFB)은 복수의 누적 특성 맵들(A11, A12, A13, A14)에 기초하여 분류 동작을 수행할 수 있고, 평균화 블록(AVGB)은 분류 블록(CLSFB)의 출력을 기초로 평균화 동작을 수행하여 출력 결과(OUTR)를 생성할 수 있다. 출력 결과(OUTR)는 비디오 영상(도 2의 VIMG)에서 수행되는 제1 행동을 파악하는 행동 인식 작업의 결과이며, 예를 들어 상기 제1 행동이 특정 행동에 대응할 확률을 수치로 나타낼 수 있다. 분류 블록(CLSFB) 및 평균화 블록(AVGB)은 각각 도 2의 분류부(127) 및 평균화부(129)에 의해 구현될 수 있다.
실시예에 따라서, 복수의 외형 블록들(APB11, APB12, APB13, APB14), 복수의 움직임 필터들(MF11, MF12, MF13), 복수의 병합 블록들(AGB11, AGB12, AG13, AGB14), 분류 블록(CLSFB) 및 평균화 블록(AVGB)의 일부 또는 전부는 하드웨어의 형태로 구현되거나, 소프트웨어(즉, 프로그램)의 형태로 구현되어 저장 장치에 저장될 수 있다.
도 4는 도 1의 방법에 포함되는 복수의 움직임 특성 맵들을 생성하는 단계의 일 예를 나타내는 순서도이다.
도 1, 3 및 4를 참조하면, 상기 복수의 움직임 특성 맵들을 생성하는데 있어서(단계 S300), 상기 복수의 움직임 특성 맵들 중 제1 움직임 특성 맵(M11)을 생성하는 예를 도시하고 있다.
구체적으로, 복수의 프레임 영상들(FIMG1, FIMG2, FIMG3, FIMG4) 중 제1 프레임 영상(FIMG1)에 대응하는 제1 외형 특성 맵(F11), 및 제1 프레임 영상(FIMG1) 이후의 제2 프레임 영상(FIMG2)에 대응하는 제2 외형 특성 맵(F12)을 수신할 수 있다(단계 S310). 제1 및 제2 프레임 영상들(FIMG1, FIMG2)은 연속하는 두 개의 프레임 영상들일 수 있다. 제2 외형 특성 맵(F12)을 미리 정해진 복수의 방향들로 쉬프트하여, 복수의 쉬프트된 외형 특성 맵들을 생성할 수 있다(단계 S320). 제1 외형 특성 맵(F11)에서 상기 복수의 쉬프트된 외형 특성 맵들 각각을 감산하여, 복수의 잔차 특성 맵들을 생성할 수 있다(단계 S330). 상기 복수의 잔차 특성 맵들을 접합하여, 제1 움직임 특성 맵(M11)을 생성할 수 있다(단계 S340).
도 3을 참조하여 상술한 것처럼, 제1 움직임 필터(MF11)는 연속하는 두 개의 외형 특성 맵들(F11, F12)을 입력으로 수신할 수 있다. 다시 말하면, 각 움직임 필터는 시간 t 및 t+Δt에서의 두 개의 특성 맵들 Fl(t) 및 Fl(t+Δt)를 입력으로 수신할 수 있다.
단계 S320에서, 상대적으로 후단에 배치되는 제2 외형 특성 맵(F12)에 대해서만 상기 쉬프트 연산을 수행할 수 있다. 다시 말하면, 시간 t+Δt에서의 특성 맵 Fl(t+Δt)에 대해서만 미리 설정된 방향들의 세트 D를 적용할 수 있다. 예를 들어, 입력 텐서(tensor)의 각 채널을 다른 공간 방향
Figure 112018094871147-pat00005
으로 이동시킬 수 있으며, 이는 커널 크기가 D에서의 Δx 및 Δy의 최대 값에 의해 결정되고 널리 사용되는 깊이 방향 컨볼루션(depth-wise convolution)으로 대안적으로 수행될 수 있다.
예를 들어, 상술한 것처럼
Figure 112018094871147-pat00006
로 조건을 제한한 경우에, 도 7을 참조하여 후술하는 것처럼 3*3 커널들을 구현할 수 있다. 이 때, 상기 쉬프트 연산은 하기의 [수학식 3] 및 [수학식 4]와 같이 정의할 수 있다.
[수학식 3]
Figure 112018094871147-pat00007
[수학식 4]
Figure 112018094871147-pat00008
상기의 [수학식 3] 및 [수학식 4]에서, 아래 첨자는 매트릭스 또는 텐서의 인덱스를 나타내고,
Figure 112018094871147-pat00009
는 변위 벡터를 나타내고,
Figure 112018094871147-pat00010
는 입력 텐서를 나타내고,
Figure 112018094871147-pat00011
Figure 112018094871147-pat00012
는 중심이 다시 맞춰진(re-centered) 공간 인덱스들을 나타내며,
Figure 112018094871147-pat00013
는 플로어 연산(floor operation)을 나타낸다. k,l 및 i,j는 공간 차원의 인덱스들이고, m은 채널 방향(channel-wise)의 인덱스이다.
상기의 [수학식 3] 및 [수학식 4]에 기초하여, 시간 t+Δt에서 δ의 양만큼 쉬프트된 특성 맵인
Figure 112018094871147-pat00014
를 포함하는 세트인
Figure 112018094871147-pat00015
를 획득할 수 있다.
단계 S330에서, 특성 맵 Ft 또는 F(t)에서 상기 복수의 쉬프트된 특성 맵들인
Figure 112018094871147-pat00016
또는 G(t+Δt)를 감산하여 복수의 잔차 특성 맵들을 생성할 수 있다. 단계 S340에서, 상기 복수의 잔차 특성 맵들을 접합하여 움직임 특성 맵을 생성할 수 있다.
최종적으로 접합된 특성 맵(즉, 상기 움직임 특성 맵)은 공간적으로 쉬프트된 특성의 상단에 시간 차감(temporal subtraction)에 의해 구성되기 때문에, 행동 인식에 적합한 시공간 정보(spatio-temporal information)를 포함할 수 있다. 또한, 상기 움직임 특성 맵은 종래의 광학 플로우와는 상당히 다를 수 있다.
도 5는 도 4의 복수의 쉬프트된 외형 특성 맵들을 생성하는 단계의 일 예를 나타내는 순서도이다. 도 6은 도 4의 복수의 잔차 특성 맵들을 생성하는 단계의 일 예를 나타내는 순서도이다. 도 7은 도 3의 시스템에 포함되는 제1 움직임 필터의 일 예를 나타내는 블록도이다.
도 1, 3, 4, 5 및 7을 참조하면, 상기 복수의 쉬프트된 외형 특성 맵들을 생성하는데 있어서(단계 S320), 제2 외형 특성 맵(F12)을 쉬프트하지 않고 참조 외형 특성 맵(G121)을 생성하고(단계 S321), 제2 외형 특성 맵(F12)을 제1 방향으로 쉬프트하여 제1 쉬프트된 외형 특성 맵(G122)을 생성하고(단계 S323), 제2 외형 특성 맵(F12)을 상기 제1 방향과 다른 제2 방향으로 쉬프트하여 제2 쉬프트된 외형 특성 맵(G123)을 생성하고(단계 S325), 제2 외형 특성 맵(F12)을 상기 제1 및 제2 방향들과 다른 제3 방향으로 쉬프트하여 제3 쉬프트된 외형 특성 맵(G124)을 생성하며(단계 S327), 제2 외형 특성 맵(F12)을 상기 제1, 제2 및 제3 방향들과 다른 제4 방향으로 쉬프트하여 제4 쉬프트된 외형 특성 맵(G125)을 생성할 수 있다(단계 S329). 예를 들어, 상기 제1 방향과 상기 제2 방향은 서로 반대 방향이며, 상기 제3 방향과 상기 제4 방향은 서로 반대 방향일 수 있다.
도 7에 도시된 것처럼, 제1 및 제2 외형 특성 맵들(F11, F12)은 각각 W1*H1*C1의 볼륨을 가지는 데이터일 수 있다. 상세하게 도시하지는 않았으나, 제1 및 제2 외형 블록들(APB11, APB12)은 W*H의 제1 및 제2 프레임 영상들(FIMG1, FIMG2)을 처리하여 W1*H1*C1의 제1 및 제2 외형 특성 맵들(F11, F12)을 생성할 수 있다. 예를 들어, W>W1이고 H>H1일 수 있다.
또한, 제1 움직임 필터(MF11)는 상기 쉬프트 연산을 수행하는 복수의 쉬프트 블록들(SFB111, SFB112, SFB113, SFB114, SFB115)을 포함할 수 있다. 예를 들어, 복수의 쉬프트 블록들(SFB111, SFB112, SFB113, SFB114, SFB115)은 복수의 커널들(K1, K2, K3, K4, K5)을 이용하여 제2 외형 특성 맵(F12)을 커널링할 수 있다.
상술한 것처럼, 복수의 커널들(K1, K2, K3, K4, K5) 각각은 3*3 커널이며, 빗금친 부분에 대응하는 요소(element)의 값만 1이고 나머지 요소의 값은 0일 수 있다. 예를 들어, 제1 커널(K1)은 2행 2열의 값만 1이고, 제2 커널(K2)은 2행 3열의 값만 1이고, 제3 커널(K3)은 2행 1열의 값만 1이고, 제4 커널(K4)은 3행 2열의 값만 1이며, 제5 커널(K5)은 1행 2열의 값만 1일 수 있다.
제1 쉬프트 블록(SFB111)은 제1 커널(K1)을 기초로 제2 외형 특성 맵(F12)을 커널링하여 참조 외형 특성 맵(G121)을 생성할 수 있다. 제1 커널(K1)은 2행 2열의 값만 1이므로, 제1 쉬프트 블록(SFB111)의 커널링에 의해 제2 외형 특성 맵(F12)은 쉬프트되지 않으며, 제2 외형 특성 맵(F12)과 실질적으로 동일한 참조 외형 특성 맵(G121)이 생성될 수 있다. 이 때, 제2 외형 특성 맵(F12)과 참조 외형 특성 맵(G121)의 볼륨이 동일하도록 패딩(padding)이 적용될 수 있다.
제2 쉬프트 블록(SFB112)은 제2 커널(K2)을 기초로 제2 외형 특성 맵(F12)을 커널링하여 제1 쉬프트된 외형 특성 맵(G122)을 생성할 수 있다. 제2 커널(K2)은 2행 3열의 값만 1이므로, 제2 쉬프트 블록(SFB112)의 커널링에 의해 제2 외형 특성 맵(F12)은 우측 방향으로 하나의 픽셀만큼 쉬프트될 수 있다. 다시 말하면, 상기 제1 방향은 우측 방향이며, 제2 쉬프트 블록(SFB112)은 제2 외형 특성 맵(F12)을 우측 방향으로 하나의 픽셀만큼 쉬프트하여 제1 쉬프트된 외형 특성 맵(G122)을 생성할 수 있다.
제3, 제4 및 제5 쉬프트 블록들(SFB113, SFB114, SFB115)의 동작은 제2 쉬프트 블록(SFB112)과 유사할 수 있다. 상기 제2 방향은 좌측 방향이며, 제3 쉬프트 블록(SFB113)은 제2 외형 특성 맵(F12)을 좌측 방향으로 하나의 픽셀만큼 쉬프트하여 제2 쉬프트된 외형 특성 맵(G123)을 생성할 수 있다. 상기 제3 방향은 하측 방향이며, 제4 쉬프트 블록(SFB114)은 제2 외형 특성 맵(F12)을 하측 방향으로 하나의 픽셀만큼 쉬프트하여 제3 쉬프트된 외형 특성 맵(G124)을 생성할 수 있다. 상기 제4 방향은 상측 방향이며, 제5 쉬프트 블록(SFB115)은 제2 외형 특성 맵(F12)을 상측 방향으로 하나의 픽셀만큼 쉬프트하여 제4 쉬프트된 외형 특성 맵(G125)을 생성할 수 있다.
도 1, 3, 4, 6 및 7을 참조하면, 상기 복수의 잔차 특성 맵들을 생성하는데 있어서(단계 S330), 제1 외형 특성 맵(F11)에서 참조 외형 특성 맵(G121)을 감산하여 제1 잔차 특성 맵(R111)을 생성하고(단계 S331), 제1 외형 특성 맵(F11)에서 제1 쉬프트된 외형 특성 맵(G122)을 감산하여 제2 잔차 특성 맵(R112)을 생성하고(단계 S333), 제1 외형 특성 맵(F11)에서 제2 쉬프트된 외형 특성 맵(G123)을 감산하여 제3 잔차 특성 맵(R113)을 생성하고(단계 S335), 제1 외형 특성 맵(F11)에서 제3 쉬프트된 외형 특성 맵(G124)을 감산하여 제4 잔차 특성 맵(R114)을 생성하며(단계 S337), 제1 외형 특성 맵(F11)에서 제4 쉬프트된 외형 특성 맵(G125)을 감산하여 제5 잔차 특성 맵(R115)을 생성할 수 있다(단계 S339). 도 7에 도시된 것처럼, 제1 움직임 필터(MF11)는 상기 감산 연산을 수행하는 복수의 감산 블록들을 포함할 수 있다.
상기 감산 연산은 대응하는 요소 값들을 감산하는 연산일 수 있다. 예를 들어, 제1 및 제2 외형 특성 맵들(F11, F12), 참조 외형 특성 맵(G121) 및 제1 내지 제4 쉬프트된 외형 특성 맵들(G122, G123, G124, G125)과 유사하게, 제1 내지 제5 잔차 특성 맵들(R111, R112, R113, R114, R115)은 W1*H1*C1의 볼륨을 가지는 데이터일 수 있다.
또한, 제1 내지 제5 잔차 특성 맵들(R111, R112, R113, R114, R115)을 접합하여 제1 움직임 특성 맵(M11)을 생성할 수 있다(단계 S340). 도 7에 도시된 것처럼, 제1 움직임 필터(MF11)는 상기 접합 연산을 수행하는 접합 블록(CCB11)을 포함할 수 있다.
상기 접합 연산은 잔차 특성 맵들(R111, R112, R113, R114, R115)을 하나로 합치는 또는 결합시키는 연산일 수 있다. 예를 들어, 제1 및 제2 외형 특성 맵들(F11, F12)이 각각 W1*H1*C1의 볼륨을 가지는 데이터인 경우에, 제1 움직임 필터(MF11)에 의해 생성되는 제1 움직임 특성 맵(M11)은 채널 차원으로 접합된 W1*H1*5*C1의 볼륨을 가지는 데이터일 수 있다.
한편, 도 5, 6 및 7을 참조하여 상하좌우 네 개의 방향으로 상기 쉬프트 동작을 수행하는 경우를 예시하였으나, 본 발명은 이에 한정되지 않으며, 서로 다른 네 개의 대각선 방향 또는 서로 다른 임의의 네 개의 방향으로 상기 쉬프트 동작을 수행하는 경우에도 적용될 수 있다. 또한, 상기 쉬프트 동작이 수행되는 방향의 개수 역시 네 개에 한정되지 않으며, 두 개 이상의 임의의 복수 개의 방향일 수 있다.
도 4 내지 7을 참조하여 제1 움직임 필터(MF11)의 구성 및 동작을 상세하게 설명하였으나, 나머지 움직임 필터들(MF12, MF13) 역시 제1 움직임 필터(MF11)와 실질적으로 동일하게 구현될 수 있다.
도 8은 도 1의 방법에 포함되는 복수의 누적 특성 맵들을 생성하는 단계의 일 예를 나타내는 순서도이다. 도 9는 도 3의 시스템에 포함되는 제1 병합 블록의 일 예를 나타내는 블록도이다.
도 1, 3, 4, 8 및 9를 참조하면, 상기 복수의 누적 특성 맵들을 생성하는데 있어서(단계 S400), 상기 복수의 누적 특성 맵들 중 제1 누적 특성 맵(A11)을 생성하는 일 예를 도시하고 있다.
구체적으로, 제1 프레임 영상(FIMG1)에 대응하는 제1 외형 특성 맵(F11), 및 제1 및 제2 프레임 영상들(FIMG1, FIMG2)에 대응하는 제1 움직임 특성 맵(M11)을 수신할 수 있다(단계 S410). 제1 움직임 특성 맵(M11)에 대한 컨볼루션 연산을 수행하여 제1 변형 움직임 특성 맵을 생성할 수 있다(단계 S420). 제1 외형 특성 맵(F11)과 상기 제1 변형 움직임 특성 맵을 합산하여 제1 누적 특성 맵(A11)을 생성할 수 있다(단계 S430).
일반적으로, 두 개의 서로 다른 특성의 정보들을 합산하는 간단하고 직접적인 방법은 요소별 합산 방식이다. 상술한 것처럼, 움직임 필터에 의해 생성된 잔차 특성인
Figure 112018094871147-pat00017
,
Figure 112018094871147-pat00018
를 채널 차원으로 접합하여 텐서
Figure 112018094871147-pat00019
를 생성할 수 있다. 여기서,
Figure 112018094871147-pat00020
는 상기 접합 연산을 나타내고, N=S*C이고, S는 D에서 미리 정해진 방향들의 개수를 나타낸다. 컨볼루션 필터를 적용하여 Ft와 동일한 볼륨의 Mt'를 생성하고, 이를 Ft와 합산하여 시공간 정보를 포함하는 누적 특성 맵을 획득할 수 있다.
도 9에 도시된 것처럼, 제1 병합 블록(AGB11A)은 상기 컨볼루션 연산을 수행하여 제1 변형 움직임 특성 맵(M11')을 생성하는 컨볼루션 블록(CVB11A) 및 상기 합산 연산을 수행하는 합산 블록(SB11A)을 포함할 수 있다.
컨볼루션 블록(CVB11A)은 1*1 컨볼루션 필터(또는 커널)을 기초로 제1 움직임 특성 맵(M11)을 커널링하여 제1 변형 움직임 특성 맵(M11')을 생성할 수 있다. 1*1 컨볼루션 필터를 이용하는 경우에 출력 볼륨(예를 들어, 채널 크기)을 원하는 대로 조절할 수 있으며, 예를 들어, 제1 외형 특성 맵(F11)과 동일한 볼륨의 제1 변형 움직임 특성 맵(M11')을 생성할 수 있다. 예를 들어, 제1 외형 특성 맵(F11)이 W1*H1*C1의 볼륨을 가지는 경우에, 제1 변형 움직임 특성 맵(M11')은 W1*H1*C1의 볼륨을 가질 수 있다.
합산 블록(SB11A)에 의해 수행되는 상기 합산 연산은 요소 값들을 합산하는 연산일 수 있다. 예를 들어, 제1 외형 특성 맵(F11) 및 제1 변형 움직임 특성 맵(M11')과 유사하게, 제1 누적 특성 맵(A11)은 W1*H1*C1의 볼륨을 가질 수 있다.
도 10은 도 1의 방법에 포함되는 복수의 누적 특성 맵들을 생성하는 단계의 다른 예를 나타내는 순서도이다. 도 11은 도 3의 시스템에 포함되는 제1 병합 블록의 다른 예를 나타내는 블록도이다.
도 1, 3, 4, 10 및 11을 참조하면, 상기 복수의 누적 특성 맵들을 생성하는데 있어서(단계 S400), 상기 복수의 누적 특성 맵들 중 제1 누적 특성 맵(A11)을 생성하는 다른 예를 도시하고 있다.
구체적으로, 제1 프레임 영상(FIMG1)에 대응하는 제1 외형 특성 맵(F11), 및 제1 및 제2 프레임 영상들(FIMG1, FIMG2)에 대응하는 제1 움직임 특성 맵(M11)을 수신할 수 있다(단계 S410). 제1 외형 특성 맵(F11)과 제1 움직임 특성 맵(M11)을 접합하여 제1 접합 특성 맵을 생성할 수 있다(단계 S425). 상기 제1 접합 특성 맵에 대한 컨볼루션 연산을 수행하여 제1 누적 특성 맵(A11)을 생성할 수 있다(단계 S435).
두 개의 서로 다른 특성의 정보들을 합산하는 또 다른 방법은 상술한 접합 연산을 이용하는 것이다. Ft와 Mt를 접합하고, 컨볼루션 필터를 적용하여 Ft와 동일한 볼륨의 누적 특성 맵을 획득할 수 있다.
도 11에 도시된 것처럼, 제1 병합 블록(AGB11B)은 상기 접합 연산을 수행하여 제1 접합 특성 맵(C11)을 생성하는 접합 블록(CCB11B) 및 상기 컨볼루션 연산을 수행하는 컨볼루션 블록(CVB11B)을 포함할 수 있다.
접합 블록(CCB11B)에 의해 수행되는 상기 접합 연산은 도 7을 참조하여 상술한 접합 연산과 유사할 수 있다. 예를 들어, 제1 외형 특성 맵(F11)이 W1*H1*C1의 볼륨을 가지고 제1 움직임 특성 맵(M11)이 W1*H1*5*C1의 볼륨을 가지는 경우에, 제1 접합 특성 맵(C11)은 W1*H1*6*C1의 볼륨을 가질 수 있다.
컨볼루션 블록(CVB11B)은 1*1 컨볼루션 필터(또는 커널)을 기초로 제1 접합 특성 맵(C11)을 커널링하여 제1 누적 특성 맵(A11)을 생성할 수 있다. 예를 들어, 제1 외형 특성 맵(F11)이 W1*H1*C1의 볼륨을 가지는 경우에, 제1 누적 특성 맵(A11)은 W1*H1*C1의 볼륨을 가질 수 있다.
도 8 내지 11을 참조하여 제1 병합 블록(AGB11)의 구성 및 동작을 상세하게 설명하였으나, 나머지 병합 블록들(AGB12, AG13, AGB14) 역시 제1 병합 블록(AGB11)과 실질적으로 동일하게 구현될 수 있다.
도 12는 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법을 나타내는 순서도이다. 이하 도 1과 중복되는 설명은 생략한다.
도 12를 참조하면, 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법에서, 복수의 프레임 영상들을 포함하는 비디오 영상을 수신한다(단계 S1100). 상기 복수의 프레임 영상들 각각에 대한 공간 정보를 추출하고 인코딩하여, 복수의 1차 외형 특성 맵들을 생성한다(단계 S1200). 상기 복수의 프레임 영상들 중 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 1차 외형 특성 맵들을 기초로 쉬프트 연산 및 접합 연산을 순차적으로 수행하여, 복수의 1차 움직임 특성 맵들을 생성한다(단계 S1300). 상기 복수의 1차 외형 특성 맵들과 상기 복수의 1차 움직임 특성 맵들을 병합하여, 복수의 1차 누적 특성 맵들을 생성한다(단계 S1400). 도 12의 단계 S1100, S1200, S1300 및 S1400은 도 1의 단계 S100, S200, S300 및 S400과 각각 실질적으로 동일할 수 있다.
상기 복수의 1차 누적 특성 맵들에 기초하여 복수의 2차 외형 특성 맵들을 생성한다(단계 S1500). 상기 복수의 2차 외형 특성 맵들 중 연속하는 두 개의 2차 외형 특성 맵들을 기초로 상기 쉬프트 연산 및 상기 접합 연산을 순차적으로 수행하여, 복수의 2차 움직임 특성 맵들을 생성한다(단계 S1600). 상기 복수의 2차 외형 특성 맵들과 상기 복수의 2차 움직임 특성 맵들을 병합하여, 복수의 2차 누적 특성 맵들을 생성한다(단계 S1700). 상기 복수의 프레임 영상들을 직접 이용하는 대신에 상기 복수의 1차 누적 특성 맵들을 이용하는 점을 제외하면, 도 12의 단계 S1500, S1600 및 S1700은 단계 S1200, S1300 및 S1400과 각각 유사할 수 있다.
상기 복수의 2차 누적 특성 맵들에 기초하여 상기 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행한다(단계 S1800). 도 12의 단계 S1800은 도 1의 단계 S500과 실질적으로 동일할 수 있다.
도 12의 실시예에서는 외형 특성 맵들을 생성하는 공간 정보 추출 동작, 움직임 특성 맵들을 생성하는 시간 정보 추출 동작, 및 공간 정보와 시간 정보를 합치는 병합 동작을 2회 반복할 수 있다.
도 13은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치에 의해 구현되는 움직임 특성 네트워크 시스템을 나타내는 블록도이다. 이하 도 3과 중복되는 설명은 생략한다.
도 13을 참조하면, 움직임 특성 네트워크 시스템은 복수의 외형 블록들(APB11, APB12, APB13, APB14, APB21, APB22, APB23, APB24), 복수의 움직임 필터들(MF11, MF12, MF13, MF21, MF22, MF23), 복수의 병합 블록들(AGB11, AGB12, AG13, AGB14, AGB21, AGB22, AGB23, AGB24), 분류 블록(CLSFB) 및 평균화 블록(AVGB)을 포함할 수 있다. 상기 움직임 특성 네트워크 시스템은 도 12의 행동 인식 방법을 수행할 수 있다.
외형 블록들(APB11, APB12, APB13, APB14), 움직임 필터들(MF11, MF12, MF13) 및 병합 블록들(AGB11, AGB12, AG13, AGB14)은 제1 레이어(LY1)를 형성하며, 도 12의 단계 S1200, S1300 및 S1400을 수행할 수 있다. 제1 레이어(LY1)에 포함되는 구성요소들의 동작은 도 3을 참조하여 상술한 것과 실질적으로 동일할 수 있다.
외형 블록들(APB21, APB22, APB23, APB24), 움직임 필터들(MF21, MF22, MF23) 및 병합 블록들(AGB21, AGB22, AG23, AGB24)은 제1 레이어(LY1)보다 상위의 제2 레이어(LY2)를 형성하며, 도 12의 단계 S1500, S1600 및 S1700을 수행할 수 있다. 제2 레이어(LY2)에 포함되는 구성요소들의 동작, 즉 복수의 2차 외형 특성 맵들(F21, F22, F23, F24)을 생성하고 복수의 2차 움직임 특성 맵들(M21, M22, M23, M24)을 생성하며 복수의 2차 누적 특성 맵들(A21, A22, A23, A24)을 생성하는 동작은 도 3 내지 11을 참조하여 상술한 것과 유사할 수 있다. 다만, 2차 외형 특성 맵들(F21, F22, F23, F24)은 프레임 영상들(FIMG1, FIMG2, FIMG3, FIMG4)이 아닌 1차 누적 특성 맵들(A11, A12, A13, A14)에 기초하여 생성되며, 예를 들어 1차 누적 특성 맵들(A11, A12, A13, A14) 각각이 W1*H1*C1의 볼륨을 가지는 경우에, 2차 외형 특성 맵들(F21, F22, F23, F24) 각각은 W2*H2*C2의 볼륨을 가질 수 있다. 예를 들어, W1>W2이고 H1>H2이며 C1<C2일 수 있다.
하위의 제1 레이어(LY1)의 움직임 필터들(MF11, MF12, MF13)은 프레임 영상들(FIMG1, FIMG2, FIMG3, FIMG4)의 공간, 즉 영상 공간에서 각 공간 차원을 따라 하나의 픽셀을 이동시키는 쉬프트 동작을 수행하며, 이는 상대적으로 작은 움직임(즉, 소량의 광학 플로우)을 캡쳐하는 역할을 수행할 수 있다. 이에 비하여, 상위의 제2 레이어(LY2)의 움직임 필터들(MF21, MF22, MF23)은 영상 공간이 아닌 특성 공간에서 하나의 픽셀을 이동시키는 쉬프트 동작을 수행하며, 이는 상대적으로 큰 움직임(즉, 큰 광학 플로우)을 캡쳐하는 역할을 수행하며, 큰 수용 영역(receptive field)에서 보는 것처럼 인식될 수 있다.
따라서, 도 3에 도시된 것처럼 하나의 레이어로 구현된 움직임 특성 네트워크 시스템과 비교하였을 때, 도 13에 도시된 것처럼 두 개의 레이어들(LY1, LY2)로 구현된 움직임 특성 네트워크 시스템에서 상술한 공간 정보 추출, 시간 정보 추출 및 병합 동작을 2회 반복하는 경우에, 행동 인식 작업이 보다 정확하게 효과적으로 수행될 수 있으며, 도 13의 분류 블록(CLSFB) 및 평균화 블록(AVGB)에 의해 생성되는 출력 결과(OUTR')의 신뢰성이 향상될 수 있다.
도 14는 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법을 나타내는 순서도이다. 이하 도 1 및 12와 중복되는 설명은 생략한다.
도 14를 참조하면, 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 방법에서, 복수의 프레임 영상들을 포함하는 비디오 영상을 수신한다(단계 S2100). 상기 복수의 프레임 영상들에 기초하여 제1 레이어에 대한 복수의 1차 누적 특성 맵들을 생성한다(단계 S2200). 상기 복수의 1차 누적 특성 맵들에 기초하여 제2 레이어에 대한 복수의 2차 누적 특성 맵들을 생성한다(단계 S2300). 도 14의 단계 S2100은 도 12의 단계 S1100과 실질적으로 동일하고, 도 14의 단계 S2200은 도 12의 단계 S1200, S1300 및 S1400을 포함하며, 도 14의 단계 S2300은 도 12의 단계 S1500, S1600 및 S1700을 포함할 수 있다.
단계 S2300 이후에도 공간 정보 추출 동작, 시간 정보 추출 동작 및 병합 동작을 미리 정해진 횟수만큼 반복할 수 있다. 마지막으로, 복수의 (N-1)차(N은 3 이상의 자연수) 누적 특성 맵들에 기초하여 제N 레이어에 대한 복수의 N차 누적 특성 맵들을 생성한다(단계 S2400). 도 14의 단계 S2400은 S2300과 유사할 수 있다.
상기 복수의 N차 누적 특성 맵들에 기초하여 상기 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행한다(단계 S2500). 도 14의 단계 S2500은 도 12의 단계 S1800과 실질적으로 동일할 수 있다.
도 14의 실시예에서는 상기 공간 정보 추출 동작, 상기 시간 정보 추출 동작 및 상기 병합 동작을 N회 반복할 수 있다.
도 15는 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치에 의해 구현되는 움직임 특성 네트워크 시스템을 나타내는 블록도이다. 이하 도 3 및 13과 중복되는 설명은 생략한다.
도 15를 참조하면, 움직임 특성 네트워크 시스템은 복수의 외형 블록들(APB11, APB12, APB13, APB14, ..., APBN1, APBN2, APBN3, APBN4), 복수의 움직임 필터들(MF11, MF12, MF13, ..., MFN1, MFN2, MFN3), 복수의 병합 블록들(AGB11, AGB12, AG13, AGB14, ..., AGBN1, AGBN2, AGBN3, AGBN4), 분류 블록(CLSFB) 및 평균화 블록(AVGB)을 포함할 수 있다. 상기 움직임 특성 네트워크 시스템은 도 14의 행동 인식 방법을 수행할 수 있다.
제1 레이어(LY1)의 구조는 도 3을 참조하여 상술한 것과 실질적으로 동일할 수 있다. 외형 블록들(APBN1, APBN2, APBN3, APBN4), 움직임 필터들(MFN1, MFN2, MFN3) 및 병합 블록들(AGBN1, AGBN2, AGBN3, AGBN4)은 가장 상위의 제N 레이어(LYN)를 형성하며, 도 14의 단계 S2400을 수행할 수 있다. 제N 레이어(LYN)에 포함되는 구성요소들의 동작, 즉 복수의 N차 외형 특성 맵들(FN1, FN2, FN3, FN4)을 생성하고 복수의 N차 움직임 특성 맵들(MN1, MN2, MN3, MN4)을 생성하며 복수의 N차 누적 특성 맵들(AN1, AN2, AN3, AN4)을 생성하는 동작은 도 3 내지 11을 참조하여 상술한 것과 유사하며, 다만 1차 누적 특성 맵들(A11, A12, A13, A14) 각각이 W1*H1*C1의 볼륨을 가지는 경우에, N차 외형 특성 맵들(FN1, FN2, FN3, FN4) 각각은 WN*HN*CN의 볼륨을 가질 수 있다. 도시하지는 않았으나, 가장 하위의 제1 레이어(LY1)와 가장 상위의 제N 레이어(LYN) 사이에는 제2 내지 제(N-1) 레이어들이 형성될 수 있다.
상술한 것처럼, 하위의 레이어일수록 상대적으로 작은 움직임을 캡쳐하며, 상위의 레이어일수록 상대적으로 큰 움직임을 캡쳐할 수 있다. 따라서, 도 15에 도시된 것처럼 N개의 레이어들(LY1~LYN)로 구현된 움직임 특성 네트워크 시스템에서 상술한 공간 정보 추출, 시간 정보 추출 및 병합 동작을 N회 반복하는 경우에, 행동 인식 작업이 보다 정확하게 효과적으로 수행될 수 있으며, 도 15의 분류 블록(CLSFB) 및 평균화 블록(AVGB)에 의해 생성되는 출력 결과(OUTR")의 신뢰성이 향상될 수 있다.
본 발명의 실시예들에 따른 행동 인식 방법, 장치 및/또는 시스템은, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수도 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
도 16은 본 발명의 실시예들에 따른 비디오 영상 내의 행동 인식 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 16을 참조하면, 컴퓨팅 시스템(1000)은 프로세서(1010) 및 행동 인식 장치(100)를 포함한다. 컴퓨팅 시스템(1000)은 통신(connectivity)부(1020), 저장부(1030), 사용자 인터페이스(1050) 및 전원 공급부(1060)를 더 포함할 수 있다.
프로세서(1010)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(1010)는 CPU, 마이크로프로세서, AP(application processor) 등과 같은 임의의 프로세서일 수 있다. 프로세서(1010)는 컴퓨팅 시스템(1000)을 구동하기 위한 운영 체제(operating system; OS)를 실행할 수 있고, 인터넷 브라우저, 게임, 동영상, 카메라 등을 제공하는 다양한 어플리케이션들을 실행할 수 있다.
행동 인식 장치(100)는 프로세서(1010)에 의해 제어된다. 행동 인식 장치(100)는 도 2의 행동 인식 장치(100)일 수 있으며, 도 1 내지 15를 참조하여 상술한 방식에 기초하여 동작하고 움직임 특성 네트워크 시스템을 형성할 수 있다. 실시예에 따라서, 행동 인식 장치(100)의 일부는 프로세서(1010) 및/또는 저장부(1030)에 포함될 수 있다.
통신부(1020)는 외부 장치와 통신을 수행할 수 있다. 예를 들어, 통신부(1020)는 범용 직렬 버스(Universal Serial Bus; USB) 통신, 이더넷(Ethernet) 통신, 근거리 무선 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신 등을 수행할 수 있다.
저장부(1030)는 프로세서(1010)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(working memory)로서 작동할 수 있다. 저장부(1030)는 컴퓨팅 시스템(1000)을 부팅하기 위한 부트 이미지(boot image), 컴퓨팅 시스템(1000)을 구동하기 위한 상기 운영 체제와 관련된 파일 시스템(file system), 컴퓨팅 시스템(1000)과 연결되는 외부 장치와 관련된 장치 드라이버(device driver), 컴퓨팅 시스템(1000)에서 실행되는 상기 어플리케이션 등을 저장할 수 있다. 예를 들어, 저장부(1030)는 DRAM, SRAM 등과 같은 적어도 하나의 휘발성 메모리를 포함할 수도 있고, EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, PRAM, RRAM, NFGM, PoRAM, MRAM, FRAM 등과 같은 적어도 하나의 비휘발성 메모리를 포함할 수도 있다.
사용자 인터페이스(1050)는 키패드, 버튼, 마이크, 터치 스크린 등과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치 등과 같은 하나 이상의 출력 장치를 포함할 수 있다. 전원 공급부(1060)는 컴퓨팅 시스템(1000)의 동작 전압을 공급할 수 있다.
일 실시예에서, 컴퓨팅 시스템(1000)은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트 폰(smart phone), MP3 플레이어, PDA(personal digital assistant), PMP(portable multimedia player), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things) 기기, IoE(internet of everything) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기 등과 같은 임의의 전자 기기 또는 휴대용 기기일 수 있다.
본 발명의 실시예들에 따른 행동 인식 방법, 장치 및/또는 시스템은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
또한, 본 발명의 실시예들에 따른 행동 인식 방법, 장치 및/또는 시스템은, 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드 디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서, 본 발명의 실시예들에 따른 행동 인식 방법, 장치 및/또는 시스템은, 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 마더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서, 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및 (또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한, 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고, 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
본 발명의 실시예들은 행동 인식을 수행하는 임의의 전자 장치 및 시스템에 유용하게 이용될 수 있다. 예를 들어, 본 발명의 실시예들은 컴퓨터, 노트북, 핸드폰, 스마트 폰, MP3 플레이어, PDA, PMP, 디지털 TV, 디지털 카메라, 포터블 게임 콘솔, 네비게이션 기기, 웨어러블 기기, IoT 기기, IoE 기기, e-북, VR 기기, AR 기기 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (12)

  1. 복수의 프레임 영상들을 포함하는 비디오 영상을 수신하는 단계;
    상기 복수의 프레임 영상들 각각에 대한 공간 정보를 추출하고 인코딩하여, 복수의 1차 외형 특성 맵(appearance feature map)들을 생성하는 단계;
    상기 복수의 프레임 영상들 중 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 1차 외형 특성 맵들을 기초로 쉬프트(shift) 연산 및 접합(concatenation) 연산을 순차적으로 수행하여, 복수의 1차 움직임 특성 맵(motion feature map)들을 생성하는 단계;
    상기 복수의 1차 외형 특성 맵들과 상기 복수의 1차 움직임 특성 맵들을 병합하여, 복수의 1차 누적 특성 맵들을 생성하는 단계; 및
    상기 복수의 1차 누적 특성 맵들에 기초하여 복수의 2차 외형 특성 맵들을 생성하는 단계;
    상기 복수의 2차 외형 특성 맵들 중 연속하는 두 개의 2차 외형 특성 맵들을 기초로 상기 쉬프트 연산 및 상기 접합 연산을 순차적으로 수행하여, 복수의 2차 움직임 특성 맵들을 생성하는 단계;
    상기 복수의 2차 외형 특성 맵들과 상기 복수의 2차 움직임 특성 맵들을 병합하여, 복수의 2차 누적 특성 맵들을 생성하는 단계; 및
    상기 복수의 2차 누적 특성 맵들에 기초하여 상기 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행하는 단계
    를 포함하는 비디오 영상 내의 행동 인식 방법.
  2. 제 1 항에 있어서, 상기 복수의 1차 움직임 특성 맵들을 생성하는 단계는,
    상기 복수의 프레임 영상들 중 제1 프레임 영상에 대응하는 제1 외형 특성 맵, 및 상기 제1 프레임 영상 이후의 제2 프레임 영상에 대응하는 제2 외형 특성 맵을 수신하는 단계;
    상기 제2 외형 특성 맵을 미리 정해진 복수의 방향들로 쉬프트하여, 복수의 쉬프트된 외형 특성 맵들을 생성하는 단계;
    상기 제1 외형 특성 맵에서 상기 복수의 쉬프트된 외형 특성 맵들 각각을 감산하여, 복수의 잔차 특성 맵들을 생성하는 단계; 및
    상기 복수의 잔차 특성 맵들을 접합하여, 상기 복수의 움직임 특성 맵들 중 제1 움직임 특성 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 영상 내의 행동 인식 방법.
  3. 제 2 항에 있어서, 복수의 쉬프트된 외형 특성 맵들을 생성하는 단계는,
    상기 제2 외형 특성 맵을 쉬프트하지 않고 참조 외형 특성 맵을 생성하는 단계;
    상기 제2 외형 특성 맵을 제1 방향으로 쉬프트하여 제1 쉬프트된 외형 특성 맵을 생성하는 단계;
    상기 제2 외형 특성 맵을 상기 제1 방향과 다른 제2 방향으로 쉬프트하여 제2 쉬프트된 외형 특성 맵을 생성하는 단계;
    상기 제2 외형 특성 맵을 상기 제1 및 제2 방향들과 다른 제3 방향으로 쉬프트하여 제3 쉬프트된 외형 특성 맵을 생성하는 단계; 및
    상기 제2 외형 특성 맵을 상기 제1, 제2 및 제3 방향들과 다른 제4 방향으로 쉬프트하여 제4 쉬프트된 외형 특성 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 영상 내의 행동 인식 방법.
  4. 제 3 항에 있어서,
    상기 제1 방향과 상기 제2 방향은 서로 반대 방향이며, 상기 제3 방향과 상기 제4 방향은 서로 반대 방향인 것을 특징으로 하는 비디오 영상 내의 행동 인식 방법.
  5. 제 3 항에 있어서, 상기 복수의 잔차 특성 맵들을 생성하는 단계는,
    상기 제1 외형 특성 맵에서 상기 참조 외형 특성 맵을 감산하여 제1 잔차 특성 맵을 생성하는 단계;
    상기 제1 외형 특성 맵에서 상기 제1 쉬프트된 외형 특성 맵을 감산하여 제2 잔차 특성 맵을 생성하는 단계;
    상기 제1 외형 특성 맵에서 상기 제2 쉬프트된 외형 특성 맵을 감산하여 제3 잔차 특성 맵을 생성하는 단계;
    상기 제1 외형 특성 맵에서 상기 제3 쉬프트된 외형 특성 맵을 감산하여 제4 잔차 특성 맵을 생성하는 단계; 및
    상기 제1 외형 특성 맵에서 상기 제4 쉬프트된 외형 특성 맵을 감산하여 제5 잔차 특성 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 영상 내의 행동 인식 방법.
  6. 제 2 항에 있어서, 상기 1차 복수의 누적 특성 맵들을 생성하는 단계는,
    상기 제1 외형 특성 맵 및 상기 제1 움직임 특성 맵을 수신하는 단계;
    상기 제1 움직임 특성 맵에 대한 컨볼루션(convolution) 연산을 수행함으로써 상기 제1 외형 특성 맵과 동일한 볼륨의 제1 변형 움직임 특성 맵을 생성하는 단계; 및
    상기 제1 외형 특성 맵과 상기 제1 변형 움직임 특성 맵을 요소별 합산(element-wise sum) 방식으로 합산함으로써 상기 복수의 누적 특성 맵들 중 상기 동일한 볼륨의 제1 누적 특성 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 영상 내의 행동 인식 방법.
  7. 제 2 항에 있어서, 상기 1차 복수의 누적 특성 맵들을 생성하는 단계는,
    상기 제1 외형 특성 맵 및 상기 제1 움직임 특성 맵을 수신하는 단계;
    상기 제1 외형 특성 맵과 상기 제1 움직임 특성 맵을 접합하여 제1 접합 특성 맵을 생성하는 단계; 및
    상기 제1 접합 특성 맵에 대한 컨볼루션 연산을 수행하여 상기 복수의 누적 특성 맵들 중 제1 누적 특성 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 영상 내의 행동 인식 방법.
  8. 삭제
  9. 복수의 프레임 영상들을 포함하는 비디오 영상을 수신하는 입력 버퍼;
    상기 복수의 프레임 영상들 각각에 대한 공간 정보를 추출하고 인코딩하여 복수의 1차 외형 특성 맵(appearance feature map)들을 생성하고, 상기 복수의 프레임 영상들 중 연속하는 두 개의 프레임 영상들에 대응하는 두 개의 1차 외형 특성 맵들을 기초로 쉬프트(shift) 연산 및 접합(concatenation) 연산을 순차적으로 수행하여 복수의 1차 움직임 특성 맵(motion feature map)들을 생성하고, 상기 복수의 1차 외형 특성 맵들과 상기 복수의 1차 움직임 특성 맵들을 병합하여 복수의 1차 누적 특성 맵들을 생성하며, 상기 복수의 1차 누적 특성 맵들에 기초하여 복수의 2차 외형 특성 맵들을 생성하고, 상기 복수의 2차 외형 특성 맵들 중 연속하는 두 개의 2차 외형 특성 맵들을 기초로 상기 쉬프트 연산 및 상기 접합 연산을 순차적으로 수행하여, 복수의 2차 움직임 특성 맵들을 생성하고, 상기 복수의 2차 외형 특성 맵들과 상기 복수의 2차 움직임 특성 맵들을 병합하여, 복수의 2차 누적 특성 맵들을 생성하며, 상기 복수의 2차 누적 특성 맵들에 기초하여 상기 비디오 영상에서 수행되는 제1 행동을 파악하는 행동 인식 작업을 수행하는 적어도 하나의 프로세싱 소자; 및
    상기 행동 인식 작업의 결과로서 출력 결과를 저장하는 출력 버퍼를 포함하는 비디오 영상 내의 행동 인식 장치.
  10. 제 1 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체.
  11. 비디오 영상 내의 행동 인식 장치에 의해 수행되며, 제 1 항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
  12. 제 9 항의 비디오 영상 내의 행동 인식 장치를 포함하는 컴퓨팅 시스템.
KR1020180114180A 2018-09-21 2018-09-21 비디오 영상 내의 행동 인식 방법 및 장치 KR102198912B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180114180A KR102198912B1 (ko) 2018-09-21 2018-09-21 비디오 영상 내의 행동 인식 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180114180A KR102198912B1 (ko) 2018-09-21 2018-09-21 비디오 영상 내의 행동 인식 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200036093A KR20200036093A (ko) 2020-04-07
KR102198912B1 true KR102198912B1 (ko) 2021-01-06

Family

ID=70291356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180114180A KR102198912B1 (ko) 2018-09-21 2018-09-21 비디오 영상 내의 행동 인식 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102198912B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444895B (zh) * 2020-05-08 2024-04-19 商汤集团有限公司 视频处理方法、装置、电子设备及存储介质
CN111862049B (zh) * 2020-07-22 2024-03-29 齐鲁工业大学 基于深度学习的脑胶质瘤分割网络系统及分割方法
CN113139530B (zh) * 2021-06-21 2021-09-03 城云科技(中国)有限公司 一种睡岗行为检测方法、装置及其电子设备
CN114332670A (zh) * 2021-10-15 2022-04-12 腾讯科技(深圳)有限公司 视频行为识别方法、装置、计算机设备和存储介质
KR20230056366A (ko) * 2021-10-20 2023-04-27 중앙대학교 산학협력단 딥러닝을 이용한 행동 인식 방법 및 그 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527881A (ja) * 2003-06-17 2006-12-07 三菱電機株式会社 ビデオの時間的な画像シーケンス中の移動オブジェクトを検出する方法
JP2017187954A (ja) * 2016-04-06 2017-10-12 Kddi株式会社 画像合成装置、プログラム及びデータ構造

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101183781B1 (ko) * 2009-12-22 2012-09-17 삼성전자주식회사 실시간 카메라 모션 추정을 이용한 물체 검출/추적 방법 및 단말

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527881A (ja) * 2003-06-17 2006-12-07 三菱電機株式会社 ビデオの時間的な画像シーケンス中の移動オブジェクトを検出する方法
JP2017187954A (ja) * 2016-04-06 2017-10-12 Kddi株式会社 画像合成装置、プログラム及びデータ構造

Also Published As

Publication number Publication date
KR20200036093A (ko) 2020-04-07

Similar Documents

Publication Publication Date Title
KR102198912B1 (ko) 비디오 영상 내의 행동 인식 방법 및 장치
JP7431913B2 (ja) 畳み込みニューラルネットワークのための効率的データレイアウト
US11775835B2 (en) Room layout estimation methods and techniques
US20220261615A1 (en) Neural network devices and methods of operating the same
JP7385681B2 (ja) 手姿勢推定
AU2019451948B2 (en) Real-time video ultra resolution
Peng et al. More trainable inception-ResNet for face recognition
CN111667399B (zh) 风格迁移模型的训练方法、视频风格迁移的方法以及装置
JP6393058B2 (ja) 情報処理装置、情報処理方法
AU2018368279A1 (en) Meta-learning for multi-task learning for neural networks
JP2019102084A (ja) ニューラルネットワークにおいてコンボリューション演算を処理する方法及びその装置
US20220157046A1 (en) Image Classification Method And Apparatus
KR20200144398A (ko) 클래스 증가 학습을 수행하는 장치 및 그의 동작 방법
CN112001923B (zh) 一种视网膜图像分割方法及装置
US20210133854A1 (en) Information processing method and terminal device
JP2022532039A (ja) 畳み込みニューラルネットワークベースのランドマークトラッカ
US20200394516A1 (en) Filter processing device and method of performing convolution operation at filter processing device
US20180114109A1 (en) Deep convolutional neural networks with squashed filters
KR102250163B1 (ko) 딥러닝 기술을 이용하여 비디오 영상을 3d 비디오 영상으로 변환하는 방법 및 장치
WO2022127603A1 (zh) 一种模型处理方法及相关装置
CN115623242A (zh) 一种视频处理方法及其相关设备
KR102215824B1 (ko) 시각 및 텍스트 정보를 포함하는 다이어그램의 분석 방법 및 장치
CN112132253A (zh) 3d动作识别方法、装置、计算机可读存储介质及设备
KR20200129957A (ko) 피처맵 데이터에 대한 압축을 수행하는 뉴럴 네트워크 프로세서 및 이를 포함하는 컴퓨팅 시스템
WO2022183325A1 (zh) 视频块处理方法及装置、神经网络的训练方法和存储介质

Legal Events

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