KR102459487B1 - 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법 - Google Patents

컨볼루션 신경망에 기반한 제스처 분류장치 및 방법 Download PDF

Info

Publication number
KR102459487B1
KR102459487B1 KR1020170146224A KR20170146224A KR102459487B1 KR 102459487 B1 KR102459487 B1 KR 102459487B1 KR 1020170146224 A KR1020170146224 A KR 1020170146224A KR 20170146224 A KR20170146224 A KR 20170146224A KR 102459487 B1 KR102459487 B1 KR 102459487B1
Authority
KR
South Korea
Prior art keywords
gesture
image
region
convolutional neural
candidate region
Prior art date
Application number
KR1020170146224A
Other languages
English (en)
Other versions
KR20190050639A (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 KR1020170146224A priority Critical patent/KR102459487B1/ko
Publication of KR20190050639A publication Critical patent/KR20190050639A/ko
Priority to KR1020220136896A priority patent/KR102612602B1/ko
Application granted granted Critical
Publication of KR102459487B1 publication Critical patent/KR102459487B1/ko

Links

Images

Classifications

    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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

Landscapes

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

Abstract

본 발명은 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법에 관한 것으로, 본 발명에 따른 장치는, 컨볼루션 신경망(Convolutional Neural Network; CNN)을 통해 촬영 이미지를 다면 관찰하여 제스처를 분류하는 장치에 있어서, 입력영상에 기초하여 피라미드 이미지를 생성하고 상기 피라미드 이미지를 컨볼루션 신경망에 입력하여 후보영역을 도출하는 후보영역 검출부;를 포함하고, 상기 후보영역 검출부는, 하나의 입력영상에 대해 이미지 변경을 적용하여 복수의 피라미드 이미지를 생성하는 이미지 파라미드 생성모듈;을 포함하는 것을 특징으로 한다.

Description

컨볼루션 신경망에 기반한 제스처 분류장치 및 방법{Apparatus and Method for classifing Gesture based on CNN}
본 발명은 원거리 사용자의 촬영 이미지를 컨볼루션 신경망(Convolutional Neural Network; CNN)에 적용하여 다양한 모양의 제스처를 분류하고, 분류된 모양에 따른 제어정보를 제공하는 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법에 관한 것이다.
최근 마우스나 키보드 등의 입력장치에서 벗어나 인간의 자연스러운 동작인 제스처(gesture)를 인식하고, 그 인식결과를 매개로 사용자와 컴퓨팅 기기 사이의 의사소통을 가능하게 하는 내추럴 사용자 인터페이스(Natural User Interface; NUI)에 대한 연구가 활발하다. 특히, 원거리 사용자의 제스처를 영상 촬영하고, 촬영 이미지에서 제스처의 모양을 검출하여 검출된 모양에 따라 시스템을 제어하는 원거리 사용자 인터페이스가 각광받고 있다.
원거리 사용자 인터페이스는 우선, 전체 촬영 이미지(ex, 입력영상)에서 제스처를 검출할 일부 영역(ex, 검출영역)을 지정하고, 다음으로 지정된 영역범위에 위치한 제스처의 모양을 분류하게 된다.
검출영역 지정과 관련하여 기존 알려진 다양한 방법들이 있다. 예를 들어, 입력영상을 피부색을 기준으로 필터링한 다음, 필터링된 영상에서 제스처(ex, 손 제스처)를 인식하는 방법이 있다. 그러나, 상기 방법은, 입력영상에 사용자의 상반신이 모두 촬영된 경우, 피부색에 기반한 필터링으로 '손'뿐만 아니라, '얼굴'까지 검출영역으로 지정될 수 있다. 이 경우, 검출영역이 두 군데로 지정될 것이며, 다음 과정인 제스처 모양 분류에 두 번의 과정을 거치게 되어 연산시간이 오래 걸리며, 잘못된 분류결과를 도출할 수도 있다.
한편, 검출영역 지정과 제스처 모양을 분류하는 정밀기술의 한 분야로 학습기반 인식 기술이 있다. 학습기반 인식 기술은 제스처를 정확하게 분류해낼 수 있도록 설계된 학습 구조에 의해 복수의 데이터를 군집화하거나 분류하는 딥러닝(Deep Learning)에 기반한 기술이다. 특히, 객체 인식(object recognition) 분야에서는 딥러닝의 일종인 컨볼루션 신경망(Convolutional Neural Network, 이하 "CNN")이 각광받고 있다. 컨볼루션 신경망(CNN)은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델이다.
그러나, 이러한 신경망 기술을 사용함에 있어서도, 적용되는 함수의 종류 및 연산의 구조를 어떻게 설계하는가에 따라 성능 결과는 첨예하게 달라질 수 있다. 따라서, 컨볼루션 신경망(CNN)을 목적에 맞게 적절하게 설계하는 것은 성능과 직결되는 매우 중요한 문제이다.
한국 공개특허공보 제10-2010-0129629호 "움직임 검출에 의한 전자장치 동작 제어방법 및 이를 채용하는 장치"
앞서 본 종래 기술의 문제점을 해결하기 위하여 안출된 것으로,
본 발명의 목적은, 입력영상에서 후보영역을 연산하고, 제스처의 모양을 분류하는데 컨볼루션 신경망(CNN)을 적용하여 정밀도 높은 원거리 사용자 인터페이스를 제공하는 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법을 제공하는 것이다.
본 발명의 목적은, 입력영상을 기초로 크기가 다양한 이미지 피라미드를 생성하여 생성된 이미지 피라미드로 컨볼루션 신경망(CNN)을 학습시켜 정밀도 높은 후보영역을 제공하는 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법을 제공하는 것이다.
본 발명의 목적은, 후보영역을 중심으로 복수의 관심영역을 지정하여 지정된 복수의 관심영역으로 컨볼루션 신경망(CNN)을 학습시켜 정밀도 높은 검출영역을 도출하고 제스처 모양을 분류하는 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법을 제공하는 것이다.
앞서 본 종래 기술의 문제점을 해결하기 위하여 안출된 것으로,
일 측면에 따른 장치는, 컨볼루션 신경망(Convolutional Neural Network; CNN)을 통해 촬영 이미지를 다면 관찰하여 제스처를 분류하는 장치에 있어서, 입력영상에 기초하여 피라미드 이미지를 생성하고 상기 피라미드 이미지를 컨볼루션 신경망에 입력하여 후보영역을 도출하는 후보영역 검출부;를 포함하고, 상기 후보영역 검출부는, 하나의 입력영상에 대해 이미지 변경을 적용하여 복수의 피라미드 이미지를 생성하는 이미지 파라미드 생성모듈;을 포함하는 것을 특징으로 한다.
상기 이미지 변경은, 하나의 입력영상에 대한 크기 증감, 명암 변경, 모양 틀어짐 중 적어도 하나의 변경을 포함하는 것을 특징으로 한다.
상기 후보영역 검출부는, 상기 피라미드 이미지를 입력받아 제스처가 위치할 확률영역을 추출하는 검출 네트워크;를 추가로 포함하고, 상기 검출 네트워크는, 하나의 피라미드 이미지에 대해 다른 관점에서 분석하도록 설계된 복수의 컨볼루션 신경망을 포함하는 것을 특징으로 한다.
상기 복수의 컨볼루션 신경망은, 하나의 피라미드 이미지에 대응하여 복수의 확률영역들을 추출하고, 상기 후보영역 검출부는, 상기 복수의 확률영역들을 교집합 연산하여 상기 하나의 피라미드 이미지에 대응하는 하나의 후보영역을 도출하는 후보영역 연산모듈;을 추가로 포함하는 것을 특징으로 한다.
상기 후보영역 연산모듈은, 상기 복수의 피라미드 이미지에 대응하는 복수의 후보영역들을 도출하고, 상기 복수의 후보영역들을 합집합 연산하여 상기 하나의 입력영상에 대응하는 최종 후보영역을 도출하는 것을 특징으로 한다.
상기 장치는, 상기 후보영역 검출부가 도출한 상기 최종 후보영역을 기초로 상기 입력영상에 포함된 제스처의 종류를 분류 컨볼루션 신경망을 이용하여 분류하는 제스처 인식부;를 추가로 포함하는 것을 특징으로 한다.
상기 제스처 인식부는, 상기 최종 후보영역을 중심으로 인접지에 복수의 관심영역을 지정하는 관심영역 지정모듈;을 포함하는 것을 특징으로 한다.
상기 제스처 인식부는, 상기 복수의 관심영역을 입력영상으로 전달받아 개별 관심영역마다 제스처 종류별 확률과 상기 확률에 근거하여 결과제스처를 산출하는 분류 컨볼루션 신경망을 포함하는 분류 네트워크;를 추가로 포함하는 것을 특징으로 한다.
상기 제스처 인식부는, 상기 분류 네트워크에서 산출된 상기 개별 관심영역의 결과를 기초로 상기 입력영상에 포함된 제스처의 종류와 상기 제스처가 존재하는 검출영역을 도출하는 제스처 분류모듈;을 추가로 포함하는 것을 특징으로 한다.
상기 제스처 분류모듈은, 상기 개별 관심영역마다 산출된 상기 결과제스처의 종류를 분석하여 최고 개수를 기록하는 결과제스처를 상기 입력영상에 포함된 제스처의 종류로 도출하는 것을 특징으로 한다.
상기 제스처 분류모듈은, 상기 복수의 관심영역 중에서 결과제스처에 대해 가장 높은 확률을 제시하는 관심영역을 검출영역으로 도출하는 것을 특징으로 한다.
다른 측면에 따른 방법은, 컨볼루션 신경망(Convolutional Neural Network; CNN)을 통해 촬영 이미지를 다면 관찰하여 제스처를 분류하는 방법에 있어서, 입력영상에 기초하여 피라미드 이미지를 생성하고 상기 피라미드 이미지를 컨볼루션 신경망에 입력하여 후보영역을 도출하는 제스처 후보영역 검출단계;를 포함하고, 상기 제스처 후보영역 검출단계는, 하나의 입력영상에 대해 이미지 변경을 적용하여 복수의 피라미드 이미지를 생성하는 피라미드 이미지 생성단계;를 포함하는 것을 특징으로 한다.
상기 이미지 변경은, 하나의 입력영상에 대한 크기 증감, 명암 변경, 모양 틀어짐 중 적어도 하나의 변경을 포함하는 것을 특징으로 한다.
상기 제스처 후보영역 검출단계는, 상기 피라미드 이미지를 입력받아 제스처가 위치할 확률영역을 추출하는 피라미드 이미지 분석단계;를 추가로 포함하고, 상기 피라미드 이미지 분석단계는, 하나의 피라미드 이미지에 대해 다른 관점에서 분석하도록 설계된 복수의 컨볼루션 신경망을 이용하여 상기 확률영역을 추출하는 것을 특징으로 한다.
상기 복수의 컨볼루션 신경망은, 하나의 피라미드 이미지에 대응하여 복수의 확률영역들을 추출하고, 상기 제스처 후보영역 검출단계는, 상기 복수의 확률영역들을 교집합 연산하여 상기 하나의 피라미드 이미지에 대응하는 하나의 후보영역을 도출하는 후보영역 연산단계;를 추가로 포함하는 것을 특징으로 한다.
상기 후보영역 연산단계는, 상기 복수의 피라미드 이미지에 대응하는 복수의 후보영역들을 도출하고, 상기 복수의 후보영역들을 합집합 연산하여 상기 하나의 입력영상에 대응하는 최종 후보영역을 도출하는 것을 특징으로 한다.
상기 최종 후보영역을 기초로 상기 입력영상에 포함된 제스처의 종류를 분류 컨볼루션 신경망을 이용하여 분류하는 제스처 분류단계;를 추가로 포함하는 것을 특징으로 한다.
상기 제스처 분류단계는, 상기 최종 후보영역을 중심으로 인접지에 복수의 관심영역을 지정하는 관심영역 지정단계;를 포함하는 것을 특징으로 한다.
상기 제스처 분류단계는, 분류 컨볼루션 신경망을 이용하여 상기 복수의 관심영역마다 제스처 종류별 확률과 상기 확률에 근거하여 결과제스처를 산출하는 관심영역 분석단계;를 추가로 포함하는 것을 특징으로 한다.
상기 제스처 분류단계는, 상기 관심영역 분석단계에서 분석된 상기 복수의 관심영역의 결과를 기초로 상기 입력영상에 포함된 제스처의 종류와 상기 제스처가 존재하는 검출영역을 도출하는 제스처 분류단계;을 추가로 포함하는 것을 특징으로 한다.
상기 제스처 분류단계는, 상기 개별 관심영역마다 산출된 상기 결과제스처의 종류를 분석하여 최고 개수를 기록하는 결과제스처를 상기 입력영상에 포함된 제스처의 종류로 도출하는 것을 특징으로 한다.
상기 제스처 분류단계는, 상기 복수의 관심영역 중에서 결과제스처에 대해 가장 높은 확률을 제시하는 관심영역을 검출영역으로 도출하는 것을 특징으로 한다.
본 발명은 앞서 본 구성에 의하여 다음과 같은 효과를 가진다.
본 발명은, 검출영역 도출 및 제스처 모양분류에 최적화된 맞춤형 컨볼루션 신경망(CNN)의 설계구조를 제공하는 효과를 갖는다.
본 발명은, 입력영상을 기초로 다양한 이미지 피라미드를 생성하여 생성된 이미지 피라미드로 컨볼루션 신경망(CNN)을 학습시킴으로써 제스처의 크기, 모양, 밝기 등이 달라도 정밀도 높은 분류성능을 제공하는 효과를 갖는다.
본 발명은, 제스처를 분류하는데 최적화된 컨볼루션 신경망(CNN)으로 구성된 분류기를 제공함으로써, 원거리 비접촉에 의한 제스처의 모양도 정확하게 분류함으로서 원거리 사용자 인터페이스의 성능을 높이는 효과를 기대할 수 있다.
도 1은 실시예에 따라 컨볼루션 신경망에 기반한 제스처 분류장치를 설명하는 블럭도이다.
도 2는 도 1의 후보영역 검출부의 구성을 자세하게 나타낸 블럭도이다.
도 3은 도 1의 후보영역 검출부가 수행하는 기능을 전반적으로 설명하는 개념도이다.
도 4는 도 3의 이미지 피라미드 각각이 제1 및 제2 컨볼루션 신경망에 입력되어 후보영역 정보를 포함하는 특징맵으로 도출되는 과정을 설명하는 개념도이다.
도 5는 도 4의 제1 컨볼루션 신경망(Net 1) 구조의 일 예시를 설명하는 도면이다.
도 6은 도 5의 제1 컨볼루션 신경망(Net 1)이 학습하여 도출한 파라미터들의 일 예시도이다.
도 7은 도 4의 제2 컨볼루션 신경망(Net 2) 구조의 일 예시를 설명하는 도면이다.
도 8은 도 7의 제2 컨볼루션 신경망(Net 2)이 학습하여 도출한 파라미터들의 일 예시도이다.
도 9는 도 1의 제스처 인식부의 구성을 자세하게 나타낸 블럭도이다.
도 10은 도 9의 제스처 인식부가 수행하는 기능을 전반적으로 설명하는 개념도이다.
도 11은 도 10의 분류 컨볼루션 신경망(CF_Net) 구조의 일 예시를 설명하는 도면이다.
도 12는 도 11의 분류 컨볼루션 신경망(CF_Net)이 학습하여 도출한 파라미터들의 일 예시도이다.
도 13은 실시예에 따라 컨볼루션 신경망에 기반한 제스처 분류방법을 설명하는 흐름도이다.
도 14는 도 13의 제스처 후보영역 검출단계를 상세하게 설명하는 흐름도이다.
도 15는 도 13의 제스처 분류단계를 상세하게 설명하는 흐름도이다.
이하, 본 발명의 실시 예를 첨부된 도면들을 참조하여 더욱 상세하게 설명한다. 본 발명의 실시 예는 여러 가지 형태로 변형할 수 있으며, 본 발명의 범위가 아래의 실시 예들로 한정되는 것으로 해석되어서는 안 된다. 본 실시 예는 당업계에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해 제공되는 것이다. 또한, 본 발명의 도면과 명세서에서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
한편, 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자에 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가함을 배제하지 않는다.
그러면 도면을 참고하여 본 발명의 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법에 대하여 상세하게 설명한다.
도 1은 실시예에 따라 컨볼루션 신경망에 기반한 제스처 분류장치를 설명하는 블럭도이다.
실시예에 따른 제스처 분류장치(1)는, 원거리의 사용자를 촬영한 영상에서 사용자의 제스처를 컨볼루션 신경망(Convolutional Neural Network; CNN)을 이용하여 정확하게 분류함으로써 모니터, 음향크기, 모바일 기기 등 다양한 컨텐츠 또는 시스템에 정확한 제어신호 정보를 제공할 수 있다.
일 실시예에 따라, 카메라(미도시)는 원거리의 사용자를 촬영하고, 촬영한 영상을 제스처 분류장치(1)의 입력영상(input, IP)으로 제공한다. 여기서, 사용자는 다양한 제스처를 생성하고, 각 제스처에 대응하는 제어신호는 사용자의 정의에 따라 다양하게 설정될 수 있다.
도 1을 참고하면, 카메라(미도시)에 의해 촬영된 사용자의 영상은, 제스처 분류장치(1)의 입력영상(IP)으로 전달된다. 도 1에 도시된 입력영상(IP)은, 사용자의 상반신을 포함하고 있고 사용자는 제스처로 '빠'를 표시하고 있다. 예를 들어, 제스처가 '묵'인 경우는 'TV 전원을 켜라'에 대응하는 제어신호로 정의될 수 있고, 제스처가 '찌'인 경우는 'TV 볼륨을 높여라'에 대응하는 제어신호로 정의될 수 있다.
일 실시예에 따른 제스처 분류장치(1)는, 입력영상(IP)에 기초하여 후보영역을 도출하는 과정뿐만 아니라 후보영역 내 위치하는 제스처의 종류를 분류하는 과정에도 각 단계에 최적화된 컨볼루션 신경망(CNN)을 설계하여 입력영상(IP)에 포함된 제스처를 정밀도 높게 분류할 수 있다. 컨볼루션 신경망(CNN)의 구체적인 실시예는 이하에서 도면과 함께 자세하게 설명한다.
도 1을 참고하면, 컨볼루션 신경망에 기반한 제스처 분류장치(1)는, 후보영역 검출부(100), 그리고 제스처 인식부(200)를 포함할 수 있다.
후보영역 검출부(100)는, 입력영상(IP)에 기초하여 피라미드 이미지를 생성하고, 생성한 피라미드 이미지를 컨볼루션 신경망(CNN)에 입력하여 후보영역을 도출할 수 있다. 여기서, 후보영역은, 하나의 파라미드 이미지 내에 제스처가 위치할 확률이 높은 영역이다. 일 실시예에 따라, 후보영역 검출부(100)는, 복수의 파라미드 이미지에 대응하여 복수의 후보영역을 산출하고, 산출된 복수의 후보영역을 종합하여 최종 후보영역을 도출할 수 있다.
제스처 인식부(200)는, 최종 후보영역을 기초로 입력영상(IP)에 포함된 제스처의 종류를 분류 컨볼루션 신경망을 이용하여 도출할 수 있다. 여기서, 분류 컨볼루션 신경망은, 최종 후보영역 내에 위치하는 제스처를 정밀도 높게 분류하도록 설계된 컨볼루션 신경망(Convolutional Neural Network; CNN)의 일 예시이다.
도 2는 도 1의 후보영역 검출부의 구성을 자세하게 나타낸 블럭도이며, 도 3은 도 1의 후보영역 검출부가 수행하는 기능을 전반적으로 설명하는 개념도이고, 도 4는 도 3의 이미지 피라미드 각각이 제1 및 제2 컨볼루션 신경망에 입력되어 후보영역 정보를 포함하는 특징맵으로 도출되는 과정을 설명하는 개념도이다.
촬영되는 환경의 조명 상태나 사용자와 카메라(미도시) 사이의 거리 등 주변환경에 따라 동일한 사용자에 대해 다양한 상태의 영상이 촬영될 수 있고, 이렇게 촬영된 영상 중 특정 상태의 영상 하나를 기초로 사용자가 취한 제스처의 종류를 분류하는 경우 분류결과의 신뢰도는 낮을 수밖에 없다. 따라서, 후보영역 검출부(100)는, 입력받은 하나의 입력영상(IP)을 다양한 시각으로 관측할 수 있는 복수의 피라미드 이미지를 생성하고, 복수의 피라미드 이미지를 기초로 제스처가 존재할 후보영역을 도출한다.
도 2를 참고하면, 후보영역 검출부(100)는, 이미지 피라미드 생성모듈(110), 검출 네트워크(130), 후보영역 연산모듈(150)을 포함할 수 있다.
이미지 피라미드 생성모듈(110)은, 하나의 입력영상의 크기를 일정 비율로 증가 또는 감소시키는 이미지 변경을 가해 피라미드 이미지를 생성할 수 있다. 도 3을 참고하면, 입력영상(IP)이 전달되면, 이미지 피라미드 생성모듈(110)은, 해당 입력영상(IP)의 크기(size)를 키우거나 줄여서 복수 개의 이미지(img1, img2, …,imgN)를 생성하며, 이렇게 생성된 복수의 이미지(img1, img2, …,imgN)를 피라미드 이미지로 정의한다.
다른 실시예에 따라, 이미지 피라미드 생성모듈(110)은, 하나의 입력영상(IP)에 대해 크기 증감, 명암 변경, 모양 틀어짐 등과 같은 이미지 변경을 가해 피라미드 이미지(img1, img2, …,imgN)를 생성할 수 있다.
검출 네트워크(130)는, 피라미드 이미지를 입력받아 제스처가 위치할 확률영역을 추출할 수 있다. 일 실시예에 따라, 검출 네트워크(130)는, 제스처가 위치할 확률영역을 추출하는데 최적으로 설계된 컨볼루션 신경망(CNN)을 포함할 수 있다. 도 3 및 4를 참고하면, 검출 네트워크(130)는, 하나의 피라미드 이미지(ex, img1)에 대해 다른 시각으로 접근하도록 설계된 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)을 포함할 수 있다. 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)에 대한 설계의 일 예시는 이하 도 5 내지 8에서 상세하게 설명한다.
후보영역 연산모듈(150)은, 하나의 피라미드 이미지(ex, img1)에 대응하여 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)에서 추출된 제스처가 위치할 확률영역들을 교집합 연산하여 후보영역을 도출할 수 있다.
도 4를 참고하면, 제1 컨볼루션 신경망(Net1)과 제2 컨볼루션 신경망(Net2)은 동일한 피라미드 이미지(ex, img1)를 입력받아 확률영역(11p, 12p)을 각각 도출한다. 일 실시예에 따라, 후보영역 연산모듈(150)은, 제1 컨볼루션 신경망(Net1)에서 도출된 확률영역(11p)과 제2 컨볼루션 신경망(Net2)에서 도출된 확률영역(12p)을 교집합 연산(AND)하여 후보영역(CA_1)을 도출할 수 있다. 여기서, 교집합 연산(AND)은 공통되는 영역만 결과로 산출하는 연산이다.
다른 실시예에 따라, 도 3을 참고하면, 복수의 피라미드 이미지(img1, img2, …,imgN)가 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)으로 각각 입력되는 경우, 후보영역 연산모듈(150)은, 개별 피라미드 이미지마다 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)에서 도출된 복수의 확률영역들을 각각 교집합 연산하여, 복수의 후보영역(CA_1, CA_2,…, CA_N)을 도출할 수 있다. 또한, 후보영역 연산모듈(150)은, 복수의 후보영역(CA_1, CA_2,…, CA_N)들을 합집합 연산(OR)하여 최종 후보영역(F_CA)을 도출할 수 있다. 여기서 합집합 연산(OR)은, 복수의 후보영역(CA_1, CA_2,…, CA_N)들을 모두 포함하는 영역을 산출하는 연산이다.
예를 들어, 도 4를 참고하면, 제1, 2, 3 피라미드 이미지(img1, img2, img3)가 제1, 2 컨볼루션 신경망(Net1, Net2)으로 각각 입력되는 경우를 보여준다. 후보영역 연산모듈(150)은, 제1 피라미드 이미지(img1)가 제1, 2 컨볼루션 신경망(Net1, Net2)를 통해 산출된 제1 확률영역(11p) 및 제2 확률영역(12p)을 교집합 연산(AND)하여 제1 후보영역(CA_1)을 도출할 수 있다. 또한, 후보영역 연산모듈(150)은, 제2 피라미드 이미지(img2) 및 제3 피라미드 이미지(img3)에 대해서도 같은 방법으로 제2 후보영역(CA_2) 및 제3 후보영역(CA_3)을 도출할 수 있다. 다음, 후보영역 연산모듈(150)은, 제1, 2, 3 후보영역(CA_1, CA_2, CA_3)들을 합집합 연산(OR)하여 최종 후보영역(F_CA)을 도출할 수 있다.
도 5는 도 4의 제1 컨볼루션 신경망(Net 1) 구조의 일 예시를 설명하는 도면이고, 도 6은 도 5의 제1 컨볼루션 신경망(Net 1)이 학습하여 도출한 파라미터들의 일 예시도이다.
도 5를 참고하면, 제1 컨볼루션 신경망(Net 1)은, 컨볼루션 레이어(61)를 포함한다.
컨볼루션 레이어(61)는, 컨볼루션 필터(또는 커널(kernel), 마스크(Mask))를 이용하여 입력된 영상에 컨볼루션 연산을 수행하고 특징맵(feature map)을 생성한다.
여기서, 컨볼루션 연산은 입력영상 전 영역에서 가능한 모든 n×n 크기의 부분영역(또는 수용장)을 추출하고, 상기 n×n 크기의 부분영역의 각 값과 상기 부분영역의 크기에 대응하는 n×n 개의 파라미터로 구성되는 컨볼루션 필터의 각 단위 요소들을 각각 곱한 후 합산(즉, 필터와 부분영역 간의 내적 곱의 합)하는 것을 의미한다. 또한, 특징맵은 입력영상의 다양한 특징이 표현된 영상 데이터를 의미하며, 산출된 특징맵의 개수는 컨볼루션 필터의 개수에 필수적으로 대응되는 것은 아니며 컨볼루션 연산의 방법에 따라 대응되지 않을 수 있다.
컨볼루션 레이어(61)는, 복수의 레이어(L1, L2, L3, …, LN)를 포함하고, 상기 복수의 레이어(L1, L2, L3, …, LN)는 기능에 따라 제1 컨볼루션 레이어(611: L1), 제2 컨볼루션 레이어(613: L2, L3, …, LN -1), 제3 컨볼루션 레이어(615: LN)로 구별될 수 있다.
제1 컨볼루션 레이어(611: L1)는 분류하고자 하는 영상을 입력영상(input)으로 전달받아 컨볼루션 연산(CONV)을 수행하여 특징맵을 생성하는 컨볼루션 연산 레이어(L1a), 그리고 샘플링(sampling)이나 풀링(pooling)을 통해 특징맵의 크기를 감소시키는 서브 샘플링 레이어(L1b)를 포함한다.
컨볼루션 연산 레이어(L1a)는, 컨볼루션 연산(CONV)으로 산출된 특징맵에 대한 정규화(normalization: NORM), 비선형함수(RELU 또는 PRELU) 적용을 차례로 수행한 결과를 서브 샘플링 레이어(L1b)로 전달한다.
입력영상의 크기가 m x m 인 경우, n x n 인 부분영역(또는 수용장)을 모두 추출하여 컨볼루션 연산하면, 아웃풋(output, 출력영상) 1장의 크기는 (m - (n - 1)) x (m - (n - 1))이 된다. 그에 따라, 컨볼루션 연산에 대한 아웃풋은 입력영상과 비교하면 가로와 세로가 각각 n - 1만큼 줄어들게 된다. 예를 들어, 크기가 6 x 6 인 입력(input)에 크기가 3 x 3 인 부분영역을 모두 추출하여 컨볼루션 연산을 적용하면, 아웃풋은 크기가 (6 - (3 - 1)) x (6 -(3 - 1)) = 4 x 4가 된다.
인접 부분영역(또는 수용장) 사이의 간격을 스트라이드(stride)라고 지칭하고, 스트라이드가 1보다 크면 아웃풋의 가로 및 세로 길이는 각각 입력(input)의 가로 및 세로 길이보다 줄어들게 된다. 예를 들어, 스트라이드가 2인 경우, 아웃풋의 가로 및 세로 길이는 각 입력(input)의 가로 및 세로 길이의 절반이 된다.
제2 컨볼루션 레이어(613: L2, L3, …, LN-1)는, 샘플링(sampling) 또는 풀링(pooling)을 통해 특징맵의 크기를 감소시키는 서브 샘플링(POOL)은 포함하지 않고, 컨볼루션 연산(CONV)을 수행하여 특징맵을 생성하는 컨볼루션 연산 레이어(CONV, NORM, RELU)를 포함한다.
제2 컨볼루션 레이어(613: L2, L3, …, LN-1)는, 앞선 레이어의 아웃풋을 다음 레이어의 입력(input)이 되도록 직렬로 연결된 복수의 컨볼루션 레이어(L2, L3, …, LN-1)들로 구성된다. 실시예에 따라, 제2 컨볼루션 레이어(613)를 구성하는 각 컨볼루션 레이어(L2, L3, …, LN - 1)들은, 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 특징맵에 대한 정규화(NORM)와 비선형함수(RELU 또는 PRELU) 적용을 차례로 수행하여 아웃풋, 즉 특징맵을 산출한다.
제3 컨볼루션 레이어(615)는, 제2 컨볼루션 레이어(613)의 아웃풋을 입력(input)으로 입력받아, 컨볼루션 연산(CONV)을 수행하여 특징맵을 생성한다. 제3 컨볼루션 레이어(615)가 생성한 특징맵은, 예를 들어, 도 4를 참고하면, 확률영역(11p, 21p, 31p)을 포함하는 특징맵(Map11, Map21, Map31)들에 대응될 수 있다.
도 6은, 도 5에 도시된 구조로 설계된 제1 컨볼루션 신경망(Net 1)을 통해 학습한 학습 데이터를 보여주며, 상기 학습데이터는 손 제스처 분류에 최적화된 각종 파라미터뿐만 아니라, 직렬결합된 레이어(61)의 개수(N), 즉, 복수의 레이어(L1, L2, L3, …, LN)의 개수(N)도 포함된다.
도 6을 참고하면, 컨볼루션 레이어(61)는 총 5개(N=5)의 레이어로 구성되며, 이중 제2 컨볼루션 레이어(613)는 3개의 레이어가 직렬로 연결되어 구성된다.
제1 컨볼루션 레이어(611: L1)에서, 컨볼루션 연산 레이어(L1a)는, 실시예에 따라, 3×3(ker 3) 크기인 커널필터를 활용하여, 인접 수용장 사이 간격이 2(stride 2)인 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)와 비선형함수(RELU) 적용을 차례로 수행하여 하나의 입력영상에 대응하여 특징맵 32개(out 32)를 산출한다. 일 실시예에 따라 음수 값을 '0'으로 가정하는 ReLU(Rectified Linear Unit)를 이용할 수 있고, 다른 실시예에 따라 음수 값을 학습을 통해 도출된 가중치가 아니라 고정된 임계값(ex, native slope 0.01)을 곱하여 사용하는 PReLU(Parametric Rectified Linear Unit)를 이용할 수 있다. 도 6에 도시된, 스케일 레이어(Scale)는 입력 값에 임계값을 곱하거나 더해주어 일정한 범위로 값을 출력하며, 학습에 용이하도록 특징값들의 분포를 일정하게 유지시켜줄 수 있고 비선형 값의 특징을 유지시켜 줄 수 있다. 이하, 도면에 표시된 스케일 레이어(Scale)는 해당 레이어에서 입력 값에 임계값을 곱하거나 더해주어 일정한 범위로 값을 출력할 수 있다.
이후, 서브 샘플링 레이어(L1b)는 크기가 3×3(ker 3)이고, 인접 수용장 사이 간격이 2(stride 2)이며, 최대값(max)을 뽑는 풀링(POOL)을 수행하여 특징맵의 크기를 줄인다.
제2 컨볼루션 레이어(613)에서, 세 개의 레이어(L2, L3, L3)는, 실시예에 따라, 컨볼루션 연산(CONV), 정규화(NORM), 비선형함수(PRELU) 적용을 차례로 수행하는 동일한 구조를 갖는다. 또한, 세 개의 레이어(L2, L3, L3)는 앞선 레이어의 아웃풋이 연이어 다음 레이어의 입력(input)으로 입력되도록 서로 직렬로 연결되며, 모두 컨볼루션 연산(CONV), 정규화(NORM), 비선형함수(PRELU) 적용을 차례로 수행하여 아웃풋 즉, 특징맵을 산출한다.
일 실시예에 따라, 세 개의 레이어(L2, L3, L3) 각각은 3×3(ker 3) 크기인 커널필터를 활용하여 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)와 비선형함수(PRELU) 적용을 차례로 수행하여 하나의 입력(input) 기준으로 최종 특징맵 64개(out 64)를 산출한다.
제3 컨볼루션 레이어(615)는, 1×1(ker 1) 크기인 커널필터를 활용하여 컨볼루션 연산(CONV)을 수행하여 최종 아웃풋(T)을 산출한다. 여기서 'T'는 컨볼루션 연산에 의해 획득되는 최종 특징맵의 개수이며, 개수 T는 레이어(Layer)마다 다를 수 있다.
도 7은 도 4의 제2 컨볼루션 신경망(Net 2) 구조의 일 예시를 설명하는 도면이고, 도 8은 도 7의 제2 컨볼루션 신경망(Net 2)이 학습하여 도출한 파라미터들의 일 예시도이다.
도 7을 참고하면, 제2 컨볼루션 신경망(Net 2)은, 컨볼루션 레이어(71)를 포함한다.
컨볼루션 레이어(71)는, 복수의 레이어(L1, …, LN-1, LN)를 포함할 수 있다. 일 실시예에 따라, 복수의 레이어(L1, …, LN-1, LN)들은 앞선 레이어의 아웃풋이 다음 레이어의 입력(input)이 되도록 직렬로 연결되며, 마지막 레이어(LN)를 제외한 나머지 레이어(L1, …, LN-1)들은, 컨볼루션 연산(CONV) 이후 정규화(normalization: NORM)를 적용하는 동일한 구조를 가질 수 있다.
마지막 레이어(LN)는, 일 실시예에 따라, 앞선 컨볼루션 레이어(LN-1)의 아웃풋을 입력(input)으로 받아 컨볼루션 연산(CONV)을 수행하여 최종 아웃풋 즉, 특징맵을 산출할 수 있다. 즉, 마지막 레이어(LN)는, 정규화(NORM)를 수행하지 않도록 구성될 수 있다. 마지막 레이어(LN)가 생성한 특징맵은, 예를 들어, 도 4를 참고하면, 확률영역(12p, 22p, 32p)을 포함하는 특징맵(Map12, Map22, Map32)들에 대응될 수 있다.
도 8을 참고하면, 컨볼루션 레이어(71)는, 일 실시예에 따라, 총 4개(N=4)의 레이어(711, 712, 713, 714)가 직렬로 연결되어 구성된다.
첫 번째 레이어(711)는, 실시예에 따라, 3×3(ker 3) 크기인 커널필터를 활용하여, 인접 수용장 사이 간격이 2(stride 2)인 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)를 수행하여 하나의 입력(input)에 대응하여 특징맵 32개(out 32)를 산출한다.
두 번째 레이어(712)는, 첫 번째 레이어(711)의 아웃풋을 입력(input)으로 전달받아 3×3(ker 3) 크기인 커널필터를 활용하여, 인접 수용장 사이 간격이 2(stride 2)인 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)를 수행하여 하나의 입력(input)에 대응하여 특징맵 64개(out 64)를 산출한다.
세 번째 레이어(713)는, 두 번째 레이어(712)와 구조뿐만 아니라 파라미터 또한 동일하게 구성된다. 즉, 두 번째 레이어(712)의 아웃풋을 입력(input)으로 전달받아 3×3(ker 3) 크기인 커널필터를 활용하여, 인접 수용장 사이 간격이 2(stride 2)인 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)를 수행하여 하나의 입력(input)에 대응하여 특징맵 64개(out 64)를 산출한다.
마지막 레이어(714)는, 세 번째 레이어(713)의 아웃풋을 입력(input)으로 전달받아 1×1(ker 1) 크기인 커널필터를 활용하여 컨볼루션 연산(CONV)을 수행하여 하나의 입력(input)에 대응하는 최종 특징맵(out T)을 산출한다.
도 9는 도 1의 제스처 인식부의 구성을 자세하게 나타낸 블럭도이고, 도 10은 도 9의 제스처 인식부가 수행하는 기능을 전반적으로 설명하는 개념도이다.
도 9를 참고하면, 제스처 인식부(200)는 관심영역 지정모듈(210), 분류 네트워크(230), 그리고 제스처 분류모듈(250)을 포함할 수 있다.
관심영역 지정모듈(210)은, 후보영역 검출부(100)에서 도출된 최종 후보영역(F_CA)을 중심으로 인접지에 복수의 관심영역(roi1, roi2, …, roiN)을 지정한다. 여기서, 최종 후보영역(F_CA)은, 제스처가 존재할 것으로 기대되는 영역으로, 제스처가 존재할 확률이 높은 영역이다. 따라서, 관심영역 지정모듈(210)은, 확률영역인 최종 후보영역(F_CA)의 인접지까지 분석하도록 관심영역을 지정함으로써 제스처 분류의 정밀도를 높일 수 있다.
도 10을 참고하면, 관심영역 지정모듈(210)은, 실시예에 따라, 최종 후보영역(F_CA)과 같은 크기의 세 개의 영역을 최종 후보영역(F_CA)의 중심으로부터 일정거리 이격시켜 주변부에 배치하여 세 개의 관심영역(roi1, roi2, roi3)으로 지정할 수 있다. 여기서 관심영역(roi1, roi2, roi3)의 크기는 최종 후보영역(F_CA)과 같은 크기에 한정되는 것은 아니며, 일정 오차 범위에서 다른 크기를 갖는 것을 포함한다. 실시예에 따라, 세 개의 관심영역(roi1, roi2, roi3)은 서로 일정 각도 이격되어 위치할 수 있다.
분류 네트워크(230)는, 실시예에 따라, 분류 컨볼루션 신경망(CF_Net)을 포함한다. 분류 컨볼루션 신경망(CF_Net)은, 입력으로 전달받은 복수의 관심영역(roi1, roi2, …, roiN) 마다 제스처 종류별 확률과 상기 확률에 근거하여 결과제스처를 산출할 수 있다.
분류 컨볼루션 신경망(CF_Net)은, 예를 들어, 관심영역 지정모듈(210)에서 지정된 세 개의 관심영역(roi1, roi2, roi3)에 대한 이미지를 입력영상으로 하여, 각 관심영역마다 제스처 종류(ex, A, B, C)별 확률을 분석한다. 또한, 분류 컨볼루션 신경망(CF_Net)은, 가장 높은 확률에 대응하는 제스처의 종류를 해당 관심영역의 결과제스처로 산출한다.
도 10을 참고하면, 분류 컨볼루션 신경망(CF_Net)은, 제1 관심영역(roi1)에 도시된 제스처의 종류가 A에 대응될 확률은 '1'이고, 나머지 제스처일 확률은 '0'으로 분석할 수 있다. 이 경우, 분류 컨볼루션 신경망(CF_Net)은, 제1 관심영역(roi1)에 대한 결과제스처를 'A'로 산출할 수 있다. 동일한 방법으로, 분류 컨볼루션 신경망(CF_Net)은, 제2 및 제3 관심영역(roi2, roi3)에 대한 결과제스처를 'B' 및 'A'로 각각 산출할 수 있다.
제스처 분류모듈(250)은, 분류 네트워크(230)에서 산출된 개별 관심영역의 결과를 기초로 입력영상에 포함된 제스처의 종류와 제스처의 검출영역을 최종 도출한다.
일 실시예에 따라, 제스처 분류모듈(250)은, 개별 관심영역마다 결과제스처의 종류를 분석하여 최고 개수를 기록하는 결과제스처를 입력영상(IP)에 포함된 제스처의 종류로 도출할 수 있다. 도 10을 참고하면, 예를 들어, 제1 내지 제3 관심영역(roi1, roi2, roi3)에서 결과제스처가 'A', 'B', 'A'로 도출되었다면, 제스처 분류모듈(250)은, 최고 개수(ex, 2회)를 기록한 결과제스처 'A'를 입력영상(IP)에 포함된 제스처의 종류로 도출할 수 있다.
다른 실시예에 따라, 제스처 분류모듈(250)은, 복수의 관심영역(roi1, roi2, roi3) 중에서 결과제스처에 대해 가장 높은 확률을 제시하는 관심영역을 검출영역으로 도출할 수 있다. 여기서, 검출영역은, 입력영상에 포함된 제스처가 위치하는 영역이다.
도 10을 참고하면, 예를 들어, 제스처 'A'를 입력영상(IP)에 포함된 제스처의 종류로 최종 도출하였다. 이때, 제1 관심영역(roi1)에서 결과제스처 'A'의 확률은 '1'이고, 제3 관심영역(roi3)에서 결과제스처 'A'의 확률은 '0.5'이므로, 제스처 분류모듈(250)은, 가장 높은 확률(ex, '1')을 제시하는 제1 관심영역(roi1)을 검출영역으로 최종 도출할 수 있다.
도 11은 도 10의 분류 컨볼루션 신경망(CF_Net)의 구조의 일 예시를 설명하는 도면이며, 도 12는 도 11의 분류 컨볼루션 신경망(CF_Net)이 학습하여 도출한 파라미터들의 일 예시도이다.
도 11을 참고하면, 분류 컨볼루션 신경망(CF_Net)은, 복수의 레이어(L1, L2, L3, …, LM, …, LN)를 포함한다.
복수의 레이어(L1, L2, L3, …, LM, …, LN)는 앞선 레이어의 아웃풋을 다음 레이어의 입력(input)이 되도록 직렬로 연결된다. 복수의 레이어(L1, L2, L3, …, LM, …, LN)는, 컨볼루션 연산을 수행하여 특징맵을 생성하는 컨볼루션 연산 레이어(CONV, NORM, RELU)를 포함하고, 일부 레이어(L1, LM, …, LN)는, 샘플링(sampling)이나 풀링(pooling)을 통해 특징맵의 크기를 감소시키는 서브 샘플링 레이어(POOL)를 추가로 포함할 수 있다.
도 12는, 도 11에 도시된 구조로 설계된 분류 컨볼루션 신경망(CF_Net)을 통해 학습한 학습 데이터를 보여준다. 학습데이터는 최종 후보영역을 기초로 입력영상에 포함된 제스처의 종류를 분류하는데 최적화된 각종 파라미터뿐만 아니라, 직렬 결합된 복수의 컨볼루션 레이어(L1, L2, L3, …, LM, …, LN -1, LN)의 레이어 개수(N)도 포함된다.
도 12를 참고하면, 분류 컨볼루션 신경망(CF_Net)은 총 10개(N=10)의 복수의 레이어로 구성되며, 이중 일부 레이어(ex, L1, L5, L10)만 서브 샘플링 레이어(POOL)를 포함한다.
제1 레이어(L1)는, 일 실시예에 따라, 3×3(ker 3) 크기인 커널필터를 활용하여, 인접 수용장 사이 간격이 2(stride 2)인 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)와 비선형함수(PRELU) 적용을 차례로 수행하여 하나의 입력(input)에 대응하여 특징맵 8개(out 8)를 산출한다.
일 실시예에 따라, 제1 레이어(L1)는, 컨볼루션 연산(CONV) 전후의 영상 크기가 작아지는 것을 방지하기 위해 컨볼루션 연산 수행시 패딩(padding)을 함께 수행할 수 있다. 여기서, 패딩은, 홀수의 n을 사용하여 입력영상의 상하좌우에 각각 [n / 2] 두께의 공백을 덧씌우는 것을 의미하며, 여기서 대괄호는 가우스 기호(또는 바닥 함수(floor function)를 나타낸다.
입력영상의 크기가 m x m 인 경우, n x n 인 부분영역(또는 수용장)을 모두 추출하여 컨볼루션 연산(CONV)하면, 아웃풋(output, 출력영상) 1장의 크기는 (m - (n - 1)) x (m - (n - 1))이 된다. 그에 따라, 컨볼루션 연산에 대한 아웃풋(출력영상)은 입력영상과 비교하면 가로와 세로가 각각 n - 1만큼 줄어들게 된다. 예를 들어, 크기가 6 x 6인 입력(input)에 크기가 3 x 3 인 부분영역을 모두 추출하여 컨볼루션 연산을 적용하면, 아웃풋은 크기가 (6 - (3 - 1)) x (6 -(3 - 1)) = 4 x 4가 된다. 따라서, 일 실시예에 따라, 도 12을 참고하면, 제1 레이어(L1)는, 컨볼루션 연산 결과로 이미지의 크기가 작아지는 것을 방지하기 위해 패딩(ex, negative padding, n=1)을 수행할 수 있으며, 이 경우, 결과 이미지의 크기를 입력 이미지의 크기와 동일하게 유지시킬 수 있다.
또한, 제1 레이어(L1)는, 산출한 특징맵에 풀링(POOL) 또는 샘플링을 수행하여 크기가 감소된 특징맵들을 산출한다. 즉, 제1 레이어(L1)는, 서브 샘플링 레이어(POOL)를 포함한다. 도 12을 참고하면, 실시예에 따라, 제1 레이어(L1)는, 크기가 3×3(ker 3)이고, 인접 수용장 사이 간격이 2(stride 2)이며, 최대값(max)을 뽑는 서브 샘플링 레이어(POOL)를 포함하여 특징맵의 크기를 줄인다.
제2 레이어(L2) 내지 제4 레이어(L4)는, 일 실시예에 따라, 3×3(ker 3) 크기인 커널필터를 활용하여 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)와 비선형함수(PRELU) 적용을 차례로 수행하여 하나의 입력에 대응하여 특징맵 16개(out 16)를 산출한다. 실시예에 따라, 제2 레이어(L2) 내지 제4 레이어(L4)는, 컨볼루션 연산 수행시, 컨볼루션 연산 결과인 특징맵의 상하좌우에 각각[n/2=1/2] 두께의 공백을 덧씌우는 패딩(ex, negative padding, n=1)을 수행할 수 있다.
실시예에 따라, 제2 레이어(L2) 내지 제4 레이어(L4)는, 특징맵의 크기를 줄이는 과정(POOL)을 수행하지 않는다. 따라서, 제1 레이어(L1)에서 컨볼루션 연산(CONV) 및 풀링(POOL) 수행 이후, 제2 레이어(L2) 내지 제4 레이어(L4)에서는 풀링(POOL) 없이 컨볼루션 연산(CONV)만 수차례 반복하여 아웃풋(output)인 특징맵의 수가 증가하도록 설계되어, 학습 및 분류하고자 하는 제스처 영상들이 갖는 각각의 특징들을 유지하면서 깊이 있는 학습이 가능하다.
제5 레이어(L5)는, 3×3(ker 3) 크기인 커널필터를 활용하여, 인접 수용장 사이 간격이 2(stride 2)인 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)와 비선형함수(PRELU) 적용을 차례로 수행하여 하나의 입력에 대응하여 특징맵 8개(out 8)를 산출한다. 실시예에 따라, 제5 레이어(L5)는, 컨볼루션 연산 수행시, 컨볼루션 연산 결과인 특징맵의 상하좌우에 각각[n/2=1/2] 두께의 공백을 덧씌우는 패딩(ex, negative padding, n=1)을 수행할 수 있다.
또한, 제5 레이어(L5)는, 산출한 특징맵에 풀링(POOL) 또는 샘플링을 수행하여 크기가 감소된 특징맵들을 산출한다. 도 12를 참고하면, 실시예에 따라, 제5 레이어(L5)는, 크기가 3×3(ker 3)이고, 인접 수용장 사이 간격이 2(stride 2)이며, 최대값(max)을 뽑는 풀링을 수행하여 특징맵의 크기를 줄인다.
제6 레이어(L6) 내지 제9 레이어(L9)는, 일 실시예에 따라, 3×3(ker 3) 크기인 커널필터를 활용하여 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)와 비선형함수(PRELU) 적용을 차례로 수행하여 하나의 입력에 대응하여 특징맵 32개(out 32)를 산출한다. 실시예에 따라, 제6 레이어(L6) 내지 제9 레이어(L9)는, 컨볼루션 연산 수행시, 컨볼루션 연산 결과인 특징맵의 상하좌우에 각각[n/2=1/2] 두께의 공백을 덧씌우는 패딩(ex, negative padding, n=1)을 수행할 수 있다.
실시예에 따라, 제6 레이어(L6) 내지 제9 레이어(L9)는, 특징맵의 크기를 줄이는 과정(POOL)을 수행하지 않는다. 따라서, 제6 레이어(L6) 내지 제9 레이어(L9)에서는 풀링(POOL) 없이 컨볼루션 연산(CONV)만 수차례 반복하여 아웃풋(output)인 특징맵의 수가 증가하도록 설계되어, 학습 및 분류하고자 하는 제스처 영상들이 갖는 각각의 특징들을 유지하면서 깊이 있는 학습이 가능하다.
제10 레이어(L10)는, 일 실시예에 따라, 1×1(ker 1) 크기인 커널필터를 활용하여 컨볼루션 연산(CONV)을 수행하고, 컨볼루션 연산으로 산출된 맵에 정규화(NORM)와 비선형함수(PRELU) 적용을 차례로 수행하여 특징맵 T개를 산출한다. 분류하고자 하는 제스처의 모양의 수가 T개이면, 특징맵의 수도 T가 될 수 있다.
또한, 제10 레이어(L10)는, 산출한 특징맵에 풀링(POOL) 또는 샘플링을 수행하여 크기가 감소된 특징맵들을 산출한다. 도 12를 참고하면, 실시예에 따라, 제10 레이어(L10)는, 평균값(average)을 뽑는 풀링을 수행하여 최종 결과를 도출한다. 이때, 풀링(POOL)은 특징맵 전체 크기에 대해서 평균을 산출하는 global average pooling이 사용될 수 있다.
도 13은 실시예에 따라 컨볼루션 신경망에 기반한 제스처 분류방법을 설명하는 흐름도이다.
도 13을 참고하면, 제스처 분류방법은, 제스처 후보영역 검출단계(S100), 그리고 제스처 분류단계(S200)를 포함할 수 있다.
단계 S100에서, 후보영역 검출부(100)는, 입력영상(IP)에 기초하여 피라미드 이미지를 생성하고, 생성한 피라미드 이미지를 컨볼루션 신경망(CNN)에 입력하여 후보영역을 도출할 수 있다. 여기서, 후보영역은, 하나의 파라미드 이미지 내에 제스처가 위치할 확률이 높은 영역이다. 일 실시예에 따라, 후보영역 검출부(100)는, 복수의 파라미드 이미지에 대응하여 복수의 후보영역을 산출하고, 산출된 복수의 후보영역을 종합하여 최종 후보영역을 도출할 수 있다.
단계 S200에서, 제스처 인식부(200)는, 최종 후보영역을 기초로 입력영상(IP)에 포함된 제스처의 종류를 분류 컨볼루션 신경망을 이용하여 도출할 수 있다. 여기서, 분류 컨볼루션 신경망은, 후보영역 또는 최종 후보영역 내에 위치하는 제스처를 정밀도 높게 분류하도록 설계된 컨볼루션 신경망(Convolutional Neural Network; CNN)의 일 예시이다.
도 14는 도 13의 제스처 후보영역 검출단계를 상세하게 설명하는 흐름도이다.
도 14를 참고하면, 제스처 후보영역 검출단계(S100)는, 카메라 영상 입력단계(S110), 피라미드 이미지 생성단계(S130), 피라미드 이미지 분석단계(S150), 그리고, 후보영역 연산단계(S170)을 포함할 수 있다.
단계 S110에서, 후보영역 검출부(100)는, 카메라(미도시)가 원거리의 사용자를 촬영한 영상을 입력영상(input, IP)으로 전달받는다. 여기서, 사용자는 다양한 제스처를 생성하고, 각 제스처에 대응하는 제어신호는 사용자의 정의에 따라 다양하게 설정될 수 있다. 예를 들어, 제스처가 '묵'인 경우는 'TV 전원을 켜라'에 대응하는 제어신호로 정의될 수 있고, 제스처가 '찌'인 경우는 'TV 볼륨을 높여라'에 대응하는 제어신호로 정의될 수 있다.
단계 S130에서, 후보영역 검출부(100)는, 하나의 입력영상의 크기를 일정 비율로 증가 또는 감소시키는 이미지 변경을 가해 피라미드 이미지를 생성할 수 있다. 도 3을 참고하면, 입력영상(IP)이 전달되면, 후보영역 검출부(100)는, 해당 입력영상(IP)의 크기(size)를 키우거나 줄여서 복수 개의 이미지(img1, img2, …,imgN)를 생성하며, 이렇게 생성된 복수의 이미지(img1, img2, …,imgN)를 피라미드 이미지로 정의한다.
다른 실시예에 따라, 후보영역 검출부(100)는, 하나의 입력영상(IP)에 대해 크기 증감, 명암 변경, 모양 틀어짐 등과 같은 이미지 변경을 가해 피라미드 이미지(img1, img2, …,imgN)를 생성할 수 있다.
단계 S150에서, 후보영역 검출부(100)는, 피라미드 이미지를 분석하여 제스처가 위치할 확률영역을 추출할 수 있다. 일 실시예에 따라, 후보영역 검출부(100)는, 제스처가 위치할 확률영역을 추출하는데 최적으로 설계된 컨볼루션 신경망(CNN)을 포함할 수 있다. 도 3 및 4를 참고하면, 후보영역 검출부(100)는, 하나의 피라미드 이미지(ex, img1)에 대해 다른 시각으로 접근하도록 설계된 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)을 포함할 수 있다.
단계 S170에서, 후보영역 검출부(100)는, 하나의 피라미드 이미지(ex, img1)에 대응하여 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)에서 추출된 제스처가 위치할 확률영역들을 교집합 연산하여 후보영역을 도출할 수 있다.
도 4를 참고하면, 제1 컨볼루션 신경망(Net1)과 제2 컨볼루션 신경망(Net2)은 동일한 피라미드 이미지(ex, img1)를 입력받아 확률영역(11p, 12p)을 각각 도출한다. 일 실시예에 따라, 후보영역 검출부(100)는, 제1 컨볼루션 신경망(Net1)에서 도출된 확률영역(11p)과 제2 컨볼루션 신경망(Net2)에서 도출된 확률영역(12p)을 교집합 연산(AND)하여 후보영역(CA_1)을 도출할 수 있다. 여기서, 교집합 연산(AND)은 공통되는 영역만 결과로 산출하는 연산이다.
다른 실시예에 따라, 도 3을 참고하면, 복수의 피라미드 이미지(img1, img2, …,imgN)가 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)으로 각각 입력되는 경우, 후보영역 검출부(100)는, 개별 피라미드 이미지마다 복수의 컨볼루션 신경망(Net1, Net2, …, NetN)에서 도출된 복수의 확률영역들을 각각 교집합 연산하여, 복수의 후보영역(CA_1, CA_2,…, CA_N)을 도출할 수 있다. 또한, 후보영역 검출부(100)는, 복수의 후보영역(CA_1, CA_2,…, CA_N)들을 합집합 연산(OR)하여 최종 후보영역(F_CA)을 도출할 수 있다. 여기서 합집합 연산(OR)은, 복수의 후보영역(CA_1, CA_2,…, CA_N)들을 모두 포함하는 영역을 산출하는 연산이다.
예를 들어, 도 4를 참고하면, 제1, 2, 3 피라미드 이미지(img1, img2, img3)가 제1, 2 컨볼루션 신경망(Net1, Net2)으로 각각 입력되는 경우를 보여준다. 후보영역 검출부(100)는, 제1 피라미드 이미지(img1)가 제1, 2 컨볼루션 신경망(Net1, Net2)를 통해 산출된 제1 확률영역(11p) 및 제2 확률영역(12p)을 교집합 연산(AND)하여 제1 후보영역(CA_1)을 도출할 수 있다. 또한, 후보영역 검출부(100)는, 제2 피라미드 이미지(img2) 및 제3 피라미드 이미지(img3)에 대해서도 같은 방법으로 제2 후보영역(CA_2) 및 제3 후보영역(CA_3)을 도출할 수 있다. 다음, 후보영역 검출부(100)는, 제1, 2, 3 후보영역(CA_1, CA_2, CA_3)들을 합집합 연산(OR)하여 최종 후보영역(F_CA)을 도출할 수 있다.
도 15은 도 13의 제스처 분류단계를 상세하게 설명하는 흐름도이다.
도 15를 참고하면, 제스처 분류단계(S200)는, 최종 후보영역 입력단계(S210), 관심영역 지정단계(S230), 관심영역 분석단계(S250), 그리고 제스처 분류단계(S270)를 포함할 수 있다.
단계 S210에서, 제스처 인식부(200)는, 제스처 후보영역 검출단계(S100)에서 도출된 최종 후보영역(F_CA)을 입력영상으로 전달받는다. 여기서, 최종 후보영역(F_CA)은, 제스처가 존재할 것으로 기대되는 영역으로, 제스처가 존재하는 것으로 확정된 영역과는 정확하게 일치하지 않을 수 있다.
단계 S230에서, 제스처 인식부(200)는, 최종 후보영역(F_CA)을 중심으로 인접지에 복수의 관심영역(roi1, roi2, …, roiN)을 지정한다. 실시예에 따라, 제스처 인식부(200)는, 확률영역인 최종 후보영역(F_CA)의 인접지까지 분석하도록 관심영역을 지정함으로써 제스처 분류의 정밀도를 높일 수 있다.
도 10을 참고하면, 관심영역 지정모듈(210)은, 실시예에 따라, 최종 후보영역(F_CA)과 같은 크기의 세 개의 영역을 최종 후보영역(F_CA)의 중심으로부터 일정거리 이격시켜 주변부에 배치하여 세 개의 관심영역(roi1, roi2, roi3)으로 지정할 수 있다. 여기서 관심영역(roi1, roi2, roi3)의 크기는 최종 후보영역(F_CA)과 같은 크기에 한정되는 것은 아니며, 일정 오차 범위에서 다른 크기를 갖는 것을 포함한다. 실시예에 따라, 세 개의 관심영역(roi1, roi2, roi3)은 서로 일정 각도 이격되어 위치할 수 있다.
단계 S250에서, 제스처 인식부(200)는, 분류 컨볼루션 신경망(CF_Net)을 이용하여 복수의 관심영역(roi1, roi2, …, roiN) 마다 제스처 종류별 확률과 상기 확률에 근거하여 결과제스처를 산출할 수 있다.
분류 컨볼루션 신경망(CF_Net)은, 예를 들어, 관심영역 지정모듈(210)에서 지정된 세 개의 관심영역(roi1, roi2, roi3)에 대한 이미지를 입력영상으로 하여, 각 관심영역마다 제스처 종류(ex, A, B, C)별 확률을 분석한다. 또한, 분류 컨볼루션 신경망(CF_Net)은, 가장 높은 확률에 대응하는 제스처의 종류를 해당 관심영역의 결과제스처로 산출한다.
도 10을 참고하면, 분류 컨볼루션 신경망(CF_Net)은, 제1 관심영역(roi1)에 도시된 제스처의 종류가 A에 대응될 확률은 '1'이고, 나머지 제스처일 확률은 '0'으로 분석할 수 있다. 이 경우, 분류 컨볼루션 신경망(CF_Net)은, 제1 관심영역(roi1)에 대한 결과제스처를 'A'로 산출할 수 있다. 동일한 방법으로, 분류 컨볼루션 신경망(CF_Net)은, 제2 및 제3 관심영역(roi2, roi3)에 대한 결과제스처를 'B' 및 'A'로 각각 산출할 수 있다.
단계 S270에서, 제스처 인식부(200)는, 분류 컨볼루션 신경망(CF_Net)에서 산출된 개별 관심영역의 결과를 기초로 입력영상에 포함된 제스처의 종류와 제스처의 검출영역을 최종 도출한다.
일 실시예에 따라, 제스처 인식부(200)는, 개별 관심영역마다 결과제스처의 종류를 분석하여 최고 개수를 기록하는 결과제스처를 입력영상(IP)에 포함된 제스처의 종류로 도출할 수 있다. 도 10을 참고하면, 예를 들어, 제1 내지 제3 관심영역(roi1, roi2, roi3)에서 결과제스처가 'A', 'B', 'A'로 도출되었다면, 제스처 분류모듈(250)은, 최고 개수(ex, 2회)를 기록한 결과제스처 'A'를 입력영상(IP)에 포함된 제스처의 종류로 도출할 수 있다.
다른 실시예에 따라, 제스처 인식부(200)는, 복수의 관심영역(roi1, roi2, roi3) 중에서 결과제스처에 대해 가장 높은 확률을 제시하는 관심영역을 검출영역으로 도출할 수 있다. 여기서, 검출영역은, 입력영상에 포함된 제스처가 위치하는 영역이다.
예를 들어, 도 10을 참고하면, 제스처 'A'를 입력영상(IP)에 포함된 제스처의 종류로 최종 도출하였다. 이때, 제1 관심영역(roi1)에서 결과제스처 'A'의 확률은 '1'이고, 제3 관심영역(roi3)에서 결과제스처 'A'의 확률은 '0.5'이므로, 제스처 인식부(200)는, 가장 높은 확률(ex, '1')을 제시하는 제1 관심영역(roi1)을 검출영역으로 최종 도출할 수 있다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100: 후보영역 검출부 110: 이미지 피라미드 생성모듈
130: 검출 네트워크 150: 후보영역 연산모듈
200: 제스처 인식부 210: 관심영역 지정모듈
230: 분류 네트워크 250: 제스처 분류모듈

Claims (22)

  1. 컨볼루션 신경망(Convolutional Neural Network; CNN)을 통해 촬영 이미지를 다면 관찰하여 제스처를 분류하는 장치에 있어서,
    이미지를 컨볼루션 신경망에 입력하여 제스처가 존재할 후보영역을 도출하는 후보영역 검출부;를 포함하고,
    상기 후보영역 검출부는,
    하나의 이미지에 대해 다른 관점에서 분석하도록 설계된 복수의 컨볼루션 신경망을 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서,
    상기 후보영역 검출부는,
    하나의 입력영상에 대해 이미지 변경을 적용하여 복수의 피라미드 이미지를 생성하는 이미지 파라미드 생성모듈;을 포함하고,
    상기 이미지 변경은,
    하나의 입력영상에 대한 크기 증감, 명암 변경, 모양 틀어짐 중 적어도 하나의 변경을 포함하는 것을 특징으로 하는 장치.
  3. 제2항에 있어서,
    상기 후보영역 검출부는,
    피라미드 이미지를 입력받아 제스처가 위치할 확률영역을 추출하는 검출 네트워크;를 추가로 포함하고,
    상기 검출 네트워크는,
    상기 복수의 컨볼루션 신경망을 포함하는 것을 특징으로 하는 장치.
  4. 제3항에 있어서,
    상기 복수의 컨볼루션 신경망은,
    하나의 피라미드 이미지에 대응하여 복수의 확률영역들을 추출하고,
    상기 후보영역 검출부는,
    상기 복수의 확률영역들을 교집합 연산하여 상기 하나의 피라미드 이미지에 대응하는 하나의 후보영역을 도출하는 후보영역 연산모듈;을 추가로 포함하는 것을 특징으로 하는 장치.
  5. 제4항에 있어서,
    상기 후보영역 연산모듈은,
    상기 복수의 피라미드 이미지에 대응하는 복수의 후보영역들을 도출하고, 상기 복수의 후보영역들을 합집합 연산하여 상기 하나의 입력영상에 대응하는 최종 후보영역을 도출하는 것을 특징으로 하는 장치.
  6. 제5항에 있어서,
    상기 후보영역 검출부가 도출한 상기 최종 후보영역을 기초로 상기 입력영상에 포함된 제스처의 종류를 분류 컨볼루션 신경망을 이용하여 분류하는 제스처 인식부;
    를 추가로 포함하는 것을 특징으로 하는 장치.
  7. 제6항에 있어서,
    상기 제스처 인식부는,
    상기 최종 후보영역을 중심으로 인접지에 복수의 관심영역을 지정하는 관심영역 지정모듈;을 포함하는 것을 특징으로 하는 장치.
  8. 제7항에 있어서,
    상기 제스처 인식부는,
    상기 복수의 관심영역을 입력영상으로 전달받아 개별 관심영역마다 제스처 종류별 확률과 상기 확률에 근거하여 결과제스처를 산출하는 분류 컨볼루션 신경망을 포함하는 분류 네트워크;
    를 추가로 포함하는 것을 특징으로 하는 장치.
  9. 제8항에 있어서,
    상기 제스처 인식부는,
    상기 분류 네트워크에서 산출된 상기 개별 관심영역의 결과를 기초로 상기 입력영상에 포함된 제스처의 종류와 상기 제스처가 존재하는 검출영역을 도출하는 제스처 분류모듈;
    을 추가로 포함하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 제스처 분류모듈은,
    상기 개별 관심영역마다 산출된 상기 결과제스처의 종류를 분석하여 최고 개수를 기록하는 결과제스처를 상기 입력영상에 포함된 제스처의 종류로 도출하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 제스처 분류모듈은,
    상기 복수의 관심영역 중에서 결과제스처에 대해 가장 높은 확률을 제시하는 관심영역을 검출영역으로 도출하는 것을 특징으로 하는 장치.
  12. 컨볼루션 신경망(Convolutional Neural Network; CNN)을 통해 촬영 이미지를 다면 관찰하여 제스처를 분류하는 방법에 있어서,
    이미지를 컨볼루션 신경망에 입력하여 제스처가 존재할 후보영역을 도출하는 제스처 후보영역 검출단계;를 포함하고,
    상기 제스처 후보영역 검출단계는,
    하나의 이미지에 대해 다른 관점에서 분석하도록 설계된 복수의 컨볼루션 신경망을 이용하여 상기 제스처가 존재할 후보영역을 추출하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 제스처 후보영역 검출단계는,
    하나의 입력영상에 대해 이미지 변경을 적용하여 복수의 피라미드 이미지를 생성하는 피라미드 이미지 생성단계;를 포함하고,
    상기 이미지 변경은,
    하나의 입력영상에 대한 크기 증감, 명암 변경, 모양 틀어짐 중 적어도 하나의 변경을 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 제스처 후보영역 검출단계는,
    피라미드 이미지를 입력받아 제스처가 위치할 확률영역을 추출하는 피라미드 이미지 분석단계;를 추가로 포함하고,
    상기 피라미드 이미지 분석단계는,
    상기 복수의 컨볼루션 신경망을 이용하여 상기 확률영역을 추출하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서,
    상기 복수의 컨볼루션 신경망은,
    하나의 피라미드 이미지에 대응하여 복수의 확률영역들을 추출하고,
    상기 제스처 후보영역 검출단계는,
    상기 복수의 확률영역들을 교집합 연산하여 상기 하나의 피라미드 이미지에 대응하는 하나의 후보영역을 도출하는 후보영역 연산단계;를 추가로 포함하는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    상기 후보영역 연산단계는,
    상기 복수의 피라미드 이미지에 대응하는 복수의 후보영역들을 도출하고, 상기 복수의 후보영역들을 합집합 연산하여 상기 하나의 입력영상에 대응하는 최종 후보영역을 도출하는 것을 특징으로 하는 방법.
  17. 제16항에 있어서,
    상기 최종 후보영역을 기초로 상기 입력영상에 포함된 제스처의 종류를 분류 컨볼루션 신경망을 이용하여 분류하는 제스처 분류단계;
    를 추가로 포함하는 것을 특징으로 하는 방법.
  18. 제17항에 있어서,
    상기 제스처 분류단계는,
    상기 최종 후보영역을 중심으로 인접지에 복수의 관심영역을 지정하는 관심영역 지정단계;를 포함하는 것을 특징으로 하는 방법.
  19. 제18항에 있어서,
    상기 제스처 분류단계는,
    분류 컨볼루션 신경망을 이용하여 상기 복수의 관심영역마다 제스처 종류별 확률과 상기 확률에 근거하여 결과제스처를 산출하는 관심영역 분석단계;
    를 추가로 포함하는 것을 특징으로 하는 방법.
  20. 제19항에 있어서,
    상기 제스처 분류단계는,
    상기 관심영역 분석단계에서 분석된 상기 복수의 관심영역의 결과를 기초로 상기 입력영상에 포함된 제스처의 종류와 상기 제스처가 존재하는 검출영역을 도출하는 제스처 분류단계;
    을 추가로 포함하는 것을 특징으로 하는 방법.
  21. 제20항에 있어서,
    상기 제스처 분류단계는,
    상기 개별 관심영역마다 산출된 상기 결과제스처의 종류를 분석하여 최고 개수를 기록하는 결과제스처를 상기 입력영상에 포함된 제스처의 종류로 도출하는 것을 특징으로 하는 방법.
  22. 제21항에 있어서,
    상기 제스처 분류단계는,
    상기 복수의 관심영역 중에서 결과제스처에 대해 가장 높은 확률을 제시하는 관심영역을 검출영역으로 도출하는 것을 특징으로 하는 방법.
KR1020170146224A 2017-11-03 2017-11-03 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법 KR102459487B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170146224A KR102459487B1 (ko) 2017-11-03 2017-11-03 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법
KR1020220136896A KR102612602B1 (ko) 2017-11-03 2022-10-21 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170146224A KR102459487B1 (ko) 2017-11-03 2017-11-03 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220136896A Division KR102612602B1 (ko) 2017-11-03 2022-10-21 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190050639A KR20190050639A (ko) 2019-05-13
KR102459487B1 true KR102459487B1 (ko) 2022-10-26

Family

ID=66581914

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170146224A KR102459487B1 (ko) 2017-11-03 2017-11-03 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법
KR1020220136896A KR102612602B1 (ko) 2017-11-03 2022-10-21 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220136896A KR102612602B1 (ko) 2017-11-03 2022-10-21 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법

Country Status (1)

Country Link
KR (2) KR102459487B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102121654B1 (ko) * 2018-06-29 2020-06-10 전자부품연구원 딥러닝 기반 제스처 자동 인식 방법 및 시스템
KR102261894B1 (ko) * 2019-06-13 2021-06-08 네이버 주식회사 객체인식장치 및 객체인식방법
KR102225613B1 (ko) * 2019-08-30 2021-03-08 연세대학교 산학협력단 사람 재식별 장치 및 방법
KR102359136B1 (ko) * 2019-11-12 2022-02-09 주식회사 에스오에스랩 제스처 인식 방법 및 이를 수행하는 제스처 인식 장치
KR102108326B1 (ko) * 2019-12-19 2020-05-12 주식회사 세오 레이더 신호 및 카메라 영상 정보 기반 인공지능 객체 식별 방법 및 시스템
CN112699837A (zh) * 2021-01-13 2021-04-23 新大陆数字技术股份有限公司 一种基于深度学习的手势识别方法及设备
KR20240020812A (ko) * 2022-08-09 2024-02-16 한양대학교 산학협력단 설명 가능한 3d 형상 학습을 위한 컨볼루션 신경망 구조, 및 이를 이용한 3d 형상 학습을 위한 방법 및 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101585466B1 (ko) 2009-06-01 2016-01-15 엘지전자 주식회사 움직임 검출에 의한 전자장치 동작 제어방법 및 이를 채용하는 전자장치
CN106104406B (zh) * 2014-03-06 2018-05-08 前进公司 神经网络及神经网络训练的方法

Also Published As

Publication number Publication date
KR20190050639A (ko) 2019-05-13
KR20220146396A (ko) 2022-11-01
KR102612602B1 (ko) 2023-12-08

Similar Documents

Publication Publication Date Title
KR102459487B1 (ko) 컨볼루션 신경망에 기반한 제스처 분류장치 및 방법
US11657525B2 (en) Extracting information from images
JP7386545B2 (ja) 画像中の物体を識別するための方法、及び当該方法を実施するためのモバイル装置
Ibrahim et al. An automatic Arabic sign language recognition system (ArSLRS)
CN110222787B (zh) 多尺度目标检测方法、装置、计算机设备及存储介质
CN111738231B (zh) 目标对象检测方法、装置、计算机设备和存储介质
Seemanthini et al. Human detection and tracking using HOG for action recognition
US11941918B2 (en) Extracting information from images
KR102343963B1 (ko) 손 제스처를 검출하는 컨볼루션 신경망, 그리고 손 제스처에 의한 기기 제어시스템
CN112639873A (zh) 基于单对象姿态估计器的多个对象的姿态跟踪设备和方法
Bilal et al. A hybrid method using haar-like and skin-color algorithm for hand posture detection, recognition and tracking
CN113591763B (zh) 人脸脸型的分类识别方法、装置、存储介质及计算机设备
Gammulle et al. Coupled generative adversarial network for continuous fine-grained action segmentation
Bose et al. In-situ recognition of hand gesture via Enhanced Xception based single-stage deep convolutional neural network
KR101877683B1 (ko) 학습을 이용한 얼굴 인식 장치 및 방법
KR20220098312A (ko) 이미지 내 관련 대상 검출 방법, 장치, 디바이스 및 기록 매체
Babu et al. Subject independent human action recognition using spatio-depth information and meta-cognitive RBF network
US10917721B1 (en) Device and method of performing automatic audio focusing on multiple objects
US20160140395A1 (en) Adaptive sampling for efficient analysis of ego-centric videos
KR101931220B1 (ko) 인체 부위 측정 장치 및 방법
Vasanthselvakumar et al. Automatic detection and classification of chronic kidney diseases using CNN architecture
CN116958873A (zh) 行人跟踪方法、装置、电子设备及可读存储介质
KR20210026664A (ko) 객체의 행동을 분류하는 장치, 방법 및 컴퓨터 프로그램
Li et al. Detection of Imaged Objects with Estimated Scales.
US20210127205A1 (en) Device and method of performing automatic audio focusing on multiple objects

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent