KR20150138374A - 병렬 검출과 추적, 및/또는 그룹화된 피처 모션 시프트 추적을 이용한 얼굴 인식 - Google Patents

병렬 검출과 추적, 및/또는 그룹화된 피처 모션 시프트 추적을 이용한 얼굴 인식 Download PDF

Info

Publication number
KR20150138374A
KR20150138374A KR1020157031593A KR20157031593A KR20150138374A KR 20150138374 A KR20150138374 A KR 20150138374A KR 1020157031593 A KR1020157031593 A KR 1020157031593A KR 20157031593 A KR20157031593 A KR 20157031593A KR 20150138374 A KR20150138374 A KR 20150138374A
Authority
KR
South Korea
Prior art keywords
features
group
face
tracking
determining
Prior art date
Application number
KR1020157031593A
Other languages
English (en)
Other versions
KR101969623B1 (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 인텔 코포레이션
Publication of KR20150138374A publication Critical patent/KR20150138374A/ko
Application granted granted Critical
Publication of KR101969623B1 publication Critical patent/KR101969623B1/ko

Links

Images

Classifications

    • G06K9/00248
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • G06K9/00281
    • G06K9/00718
    • G06K9/46
    • G06K9/52
    • G06T7/2033
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • 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/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • G06V40/173Classification, e.g. identification face re-identification, e.g. recognising unknown faces across different face tracks
    • G06K2009/3291
    • G06K2009/4666
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)

Abstract

얼굴 인식과 연관된 장치, 방법 및 저장 매체가 본 명세서에 개시되어 있다. 실시예들에서, 얼굴을 인식하기 위한 방법은, 컴퓨팅 디바이스의 제1 스레드에 의해, 복수의 이미지 프레임 중의 산재되어 있는 선택된 이미지 프레임들에서 얼굴의 존재에 대해 검출하는 단계를 포함할 수 있다. 복수의 이미지 프레임 중의 선택된 이미지 프레임들에서의 제1 이미지 프레임에서 얼굴의 존재를 검출하면, 제1 스레드는, 컴퓨팅 디바이스의 제2 스레드에 의한 얼굴의 추적을 요청하고, 제2 스레드는 컴퓨팅 디바이스에 의해 제1 스레드와 병렬로 동작된다. 이에 응답하여, 제2 스레드에 의해, 제1 스레드를 위해 얼굴이 추적될 수 있다. 다른 실시예들이 기재되고 청구될 수 있다.

Description

병렬 검출과 추적, 및/또는 그룹화된 피처 모션 시프트 추적을 이용한 얼굴 인식{FACE RECOGNITION WITH PARALLEL DETECTION AND TRACKING, AND/OR GROUPED FEATURE MOTION SHIFT TRACKING}
본 개시물은 데이터 처리 분야에 관한 것이며, 구체적으로는 병렬 검출과 추적, 및/또는 그룹화된 피처 모션 시프트 추적을 포함하지만 이에 제한되지는 않는 얼굴 인식과 연관된 장치, 방법 및 저장 매체에 관한 것이다.
본 명세서에서 제공된 배경기술의 설명은 일반적으로 본 개시물의 콘텍스트를 제시하기 위한 것이다. 본 명세서에서 달리 표시되지 않는 한, 본 섹션에서 설명되는 자료들은 본 출원에서의 청구항들에 대한 종래 기술이 아니며, 본 섹션에서의 포함에 의해 종래 기술인 것으로 인정되지는 않는다.
범용 마이크로프로세서들, 그래픽 프로세서들 및 관련 기술들에서의 진보는 컴퓨터 비전에서 추가 진보를 가능하게 하였다. 오늘날, 많은 애플리케이션은 얼굴 추적을 통상적으로 포함하는 얼굴 인식을 수반한다. 대부분의 종래 기술의 얼굴 추적기는 전역적 접근법(global approach)을 이용하여 얼굴을 추적한다. 통상적으로, 전역적 접근법은 ROI 영역에 얼굴이 나타나는지 여부를 판정하기 위해서 이 ROI 영역을 예측하는데 통계적인 분류 기술들을 이용한다. 그것은 종종 "최종 검출(last detect)" - "더 큰 ROI 영역 예측(predict bigger ROI region)" - "현재 검출(current detect)" 단계들을 포함한다. 그것은 얼굴 검출에 고도로 종속하는 얼굴 추적을 행한다. 이러한 종속성 때문에, 종래 기술의 전역적 접근법은 적어도 2가지 단점을 갖는다. 첫번째 단점은, 얼굴 회전이나 부분 폐색(partial occlusions) 시에, 추적이 검출 장애로 인해 종종 실패한다는 것이다. 다른 단점은, 상호종속성이 병렬 및/또는 멀티 코어 처리로부터의 성능 개선을 종래 기술의 접근법들이 이용하는 것을 방지한다는 것이다.
실시예들은 첨부 도면들과 함께 다음의 상세한 설명에 의해 손쉽게 이해될 것이다. 이러한 설명을 용이하게 하기 위해서, 유사한 참조 번호들은 유사한 구조적 요소들을 지시한다. 실시예들은 첨부 도면들에서 제한이 아니라 예로서 예시되어 있다.
도 1은 다양한 실시예들에 따른 얼굴 추적을 위해 본 개시물의 교시들과 통합된 예시적인 컴퓨팅 장치(computing arrangement)의 개략을 도시한다.
도 2는 다양한 실시예들에 따른 병렬 얼굴 검출 및 추적을 도시한다.
도 3은 다양한 실시예들에 따른 얼굴이 위치되어 있는 이미지 프레임의 관심 영역의 피처들을 도시한다.
도 4는 다양한 실시예들에 따른 무방향성 그래프(undirected graph)를 이용하여 피처들을 그룹화하는 것, 및 그룹에 대한 중심을 결정하는 것을 도시한다.
도 5 내지 도 7은 다양한 실시예들에 따른 그룹에 대한 우세 속도(dominant velocity)의 결정을 도시한다.
도 8 내지 도 10은 다양한 실시예들에 따른 드리프트하는 피처들을 제거하는 것, 및 그룹의 피처들을 재수렴하는 것을 도시한다.
도 11 및 도 12는 다양한 실시예들에 따른 그룹으로서의 피처들의 모션 시프트에 기초하여 피처들을 추적하기 위한 예시적인 프로세스를 도시한다.
도 13은 다양한 실시예들에 따른 본 개시물을 실시하기에 적합한 예시적인 컴퓨팅 환경을 도시한다.
도 14는 다양한 실시예들에 따른 장치가 본 개시물의 다양한 양태들을 실시하는 것을 가능하게 하도록 구성된 명령어들을 갖는 예시적인 저장 매체를 도시한다.
얼굴 인식과 연관된 장치, 방법 및 저장 매체가 본 명세서에 개시되어 있다. 실시예들에서, 얼굴을 인식하기 위한 방법은, 컴퓨팅 디바이스의 제1 스레드에 의해, 복수의 이미지 프레임 중의 산재되어 있는 선택된 이미지 프레임들에서 얼굴의 존재에 대해 검출하는 단계를 포함할 수 있다. 복수의 이미지 프레임 중의 선택된 이미지 프레임들에서의 제1 이미지 프레임에서 얼굴의 존재를 검출하면, 제1 스레드는, 컴퓨팅 디바이스의 제2 스레드에 의한 얼굴의 추적을 요청하고, 제2 스레드는 컴퓨팅 디바이스에 의해 제1 스레드와 병렬로 동작된다. 이에 응답하여, 제2 스레드에 의해, 제1 스레드를 위해 얼굴이 추적될 수 있다.
실시예들에서, 제2 스레드는 그룹화 로컬 피처 기반 얼굴 추적기(grouping local feature based face tracker)를 이용할 수 있다. 이 방법은, 컴퓨팅 디바이스에 의해, 복수의 이미지 프레임 중 하나의 이미지 프레임에서 얼굴의 존재를 검출하는 단계를 포함할 수 있다. 이 방법은, 복수의 이미지 프레임 중 하나의 이미지 프레임에서 얼굴의 존재를 검출하면, 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여 얼굴을 추적하는 단계를 포함한다.
실시예들에서, 장치, 예를 들어 스마트폰이나 컴퓨팅 태블릿은 하나 이상의 프로세서, 및 하나 이상의 프로세서에 의한 동작에 응답하여, 이 장치가 전술한 방법들 및 그들의 변형들 중 임의의 것을 수행하게 하도록 구성된 얼굴 검출 기능 및 얼굴 추적 기능을 갖는 저장 매체를 포함할 수 있다. 실시예들에서, 적어도 하나의 저장 매체는, 장치에 의한 실행에 응답하여, 이 장치가 전술한 방법들 및 그들의 변형들 중 임의의 것을 수행하게 하도록 구성된 명령어들을 포함할 수 있다. 결과적으로, 이러한 장치는 움직이는/회전하는 얼굴을 추적할 때 높은 응답 감도(response sensitivity)를 가질 수 있다.
다음의 상세한 설명에서, 본 명세서의 일부를 형성하는 첨부 도면들에 대한 참조가 이루어지고, 여기서 유사한 번호들은 전체에 걸쳐 유사한 부분들을 지시하며, 실시될 수 있는 실시예들이 예시로서 제시된다. 다른 실시예들이 이용될 수 있고, 구조적 또는 논리적 변경들이 본 개시물의 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해되어야 한다. 그러므로, 다음의 상세한 설명은 제한하는 의미로 간주되어서는 안 되며, 실시예들의 범위는 첨부 청구항들 및 그것의 등가물들에 의해 정의된다.
다양한 동작들은 청구 대상을 이해하는데 가장 도움이 되는 방식으로 다수의 개별 액션들 또는 동작들로서 차례로 설명될 수 있다. 그러나, 설명의 순서는 이들 동작들이 반드시 순서 의존형이라는 것을 암시하는 것으로 해석되어서는 안 된다. 특히, 이들 동작들은 제시 순서로 수행되지 않을 수 있다. 설명된 동작들은 설명된 실시예와는 상이한 순서로 수행될 수 있다. 부가적인 실시예들에서 설명된 동작들이 생략될 수 있고/있거나, 다양한 부가적인 동작들이 수행될 수 있다.
본 개시물의 목적을 위해, "A 및/또는 B"라는 어구는 (A), (B), 또는 (A 및 B)를 의미한다. 본 개시물의 목적을 위해, "A, B 및/또는 C"라는 어구는 (A), (B), (C), (A 및 B), (A 및 C), (B 및 C), 또는 (A, B 및 C)를 의미한다.
본 설명은, 동일하거나 상이한 실시예들 중 하나 이상을 각각 지칭할 수 있는 "실시예에서" 또는 "실시예들에서"라는 어구들을 이용할 수 있다. 또한, 본 개시물의 실시예들과 관련하여 이용되는 바와 같은 "포함하는", "구비하는", "갖는" 등과 같은 용어들은 동의어이다.
청구항들을 포함하여 이하에서 이용된 바와 같이, "모듈"이라는 용어는 ASIC(Application Specific Integrated Circuit), 전자 회로, 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 프로세서(공유, 전용 또는 그룹) 및/또는 메모리(공유, 전용 또는 그룹), 조합 논리 회로, 및/또는 설명된 기능성을 제공하는 다른 적합한 컴포넌트들을 지칭하거나, 그것의 일부이거나, 또는 그것을 포함할 수 있다. "클로즈드 캡션(closed captions)"이라는 용어는 전통적인 클로즈드 캡션 및/또는 자막을 포함하는 것이다.
이하 도 1을 참조하면, 다양한 실시예들에 따른 얼굴 인식을 위해 본 개시물의 교시들과 통합된 예시적인 컴퓨팅 장치의 개략이 도시되어 있다. 도시된 바와 같이, 실시예들에서, 컴퓨팅 장치(100)는 프로세서 및 메모리 장치(102), 및 주변 디바이스들(104)을 포함할 수 있으며, 이들은 도시된 바와 같이 커플링(106)을 통해 서로 연결된다. 프로세서 및 메모리 장치(102)는 운영 체제 및 서비스들(114) 및 애플리케이션들(112)을 호스팅하고 실행하도록 구성될 수 있는 한편, 주변 디바이스들(104)은 예를 들어 다수의 이미지 프레임을 캡처 또는 수신하도록 구성된 이미지 캡처 또는 수신 디바이스(142)를 포함할 수 있다. 이미지 캡처 디바이스의 예는 비디오 카메라일 수 있는 한편, 이미지 수신 디바이스의 예는, 이미지 프레임들의 스트림을 제공하는 원격 이미지 소스(도시되지 않음)에 프로세서 및 메모리 장치(102)를 연결하도록 구성된 통신 인터페이스일 수 있다.
실시예들에서, 애플리케이션들(112)은 제어 하에서 실행될 수 있고/있거나, 운영 체제 및 서비스들(114)의 서비스들을 이용할 수 있다. 운영 체제 및 서비스들(114)에 의해 제공되는 서비스들은 얼굴 인식 서비스들(122)을 포함할 수 있으며, 얼굴 인식 서비스들은 얼굴 검출 기능(132) 및 얼굴 추적 기능(134)을 포함할 수 있지만 이에 제한되지는 않는다. 캡처되거나 스트리밍된 이미지 프레임들은 애플리케이션들(112)에 제공될 수 있으며, 다음에 애플리케이션들은 이미지 프레임들에서 하나 이상의 얼굴을 인식 및/또는 추적하기 위해 얼굴 인식 서비스들(122)의 서비스들을 인보크할 수 있다. 얼굴 인식 서비스들(122), 특히 얼굴 검출 기능(132) 및 얼굴 추적 기능(134)은 보다 상세하게 후술될 것이다.
프로세서 및 메모리 장치(102)는, 모바일 컴퓨팅을 위해 설계된 장치들을 포함하지만 이에 제한되지는 않는 광범위한 프로세서들 및 메모리 디바이스들을 나타내는 것으로 의도된다. 예를 들어, 제한 없이, 프로세서는 관련 기술분야에 공지된 다수의 싱글 또는 멀티 코어 범용 또는 특수 목적 프로세서 중 임의의 것일 수 있다. 하나 이상의 범용 또는 특수 목적 프로세서가 이용될 수 있다. 특수 목적 프로세서의 예는 그래픽 프로세서를 포함할 수 있지만, 이에 제한되지는 않는다. 메모리는, 동적 랜덤 액세스 메모리(DRAM), 플래시 등을 포함하지만 이에 제한되지는 않는 관련 기술분야에 공지된 다수의 휘발성 및/또는 비휘발성 메모리 중 임의의 것일 수 있다. 유사하게, 하나 이상의 메모리 유닛이 이용될 수 있다.
전술한 바와 같이, 주변 디바이스들(104)은 통신 인터페이스, 또는 카메라와 같은 이미지 캡처 디바이스를 포함할 수 있다. 카메라의 경우에, 그것은 관련 기술분야에 공지된 광범위한 카메라들 중 임의의 것일 수 있다. 통신 인터페이스의 경우에, 그것은 마찬가지로 프로세서 및 메모리 장치(102)를 개인 영역 네트워크, 로컬 영역 네트워크 및/또는 광역 네트워크에 연결하도록 구성된 광범위한 유선 및/또는 무선 통신 인터페이스들 중 임의의 것일 수 있다. 유선 통신 인터페이스들의 예는 이더넷 네트워킹 인터페이스를 포함할 수 있다. 무선 통신 인터페이스들의 예는 WiFi, 3G/4G 무선 통신을 지원하는 인터페이스들을 포함할 수 있다. 로컬 영역 네트워크 및/또는 광역 네트워크는 사설 및/또는 공중 네트워크, 예를 들어 인터넷을 포함할 수 있다.
또한, 주변 디바이스들(104)은 저장 디바이스들과 같은 다른 컴포넌트들을 포함할 수 있다. 저장 디바이스들은 다수의 광학, 자기 또는 고체 상태 저장 디바이스 중 임의의 것일 수 있다. 주변 디바이스들(104)은 입력 및 출력 디바이스들을 또한 포함할 수 있다. 입력 디바이스들은 키보드 또는 다른 커서 컨트롤 및/또는 제스처 인식 디바이스들을 포함할 수 있다. 출력 디바이스들은 디스플레이 디바이스들을 포함할 수 있다. 디스플레이 디바이스들은, 입력 디바이스의 역할을 또한 할 수 있는 터치 스크린 디스플레이들을 포함하지만 이에 제한되지는 않는 관련 기술분야에 공지된 다수의 디스플레이 디바이스 중 임의의 것일 수 있다. 또한, 컴퓨팅 장치(100)는 GPS(Global Position System) 지원부 및 다양한 센서들을 포함할 수 있다.
프로세서 및 메모리 장치(102) 및 주변 디바이스들(104) 중 일부는 동일한 플랫폼 상에 공존하며, 예를 들어 시스템 버스인 커플링(106)을 이용하여 서로 연결될 수 있다. 프로세서 및 메모리 장치(102) 및 다른 주변 디바이스들(104)은 서로로부터 원격 위치되며, 예를 들어 통신 링크인 커플링(106)을 이용하여 서로 연결될 수 있다. 즉, 프로세서 및 메모리 장치(102)는, 단독으로 또는 주변 디바이스들(104)과 함께, 스마트폰, 컴퓨팅 태블릿, 울트라북, 랩톱, 데스크톱, 서버, 셋톱 박스, 게임 콘솔, 미디어 플레이어, e-리더 등과 같은 단일의 컴퓨팅 디바이스를 형성할 수 있다.
도 1을 여전히 참조하면, 다양한 실시예들에서, 얼굴 검출 기능(FDF: Face Detection Function)(132)은 이미지 프레임에서 얼굴의 존재를 검출하고, 얼굴이 위치되어 있는 이미지 프레임의 관심 영역(ROI: region of interest)을 식별하도록 구성될 수 있다. 얼굴 추적 기능(FTF: Face Tracking Function)(134)은, 실시예들에서, 그룹으로서의 ROI 내의 최대 N개의 피처의 모션 시프트에 적어도 부분적으로 기초하여, FDF(132)를 위해, ROI 내에서 얼굴을 추적하도록 구성될 수 있다. N은 2보다 큰 정수일 수 있다. 실시예들에서, FDF(132) 및 FTF(134)는 얼굴 인식 서비스들(FRS: Face Recognition Services)(122)의 전체 성능을 잠재적으로 증대시키기 위해 2개의 병렬 스레드, 예를 들어 제1 및 제2 스레드에서 동작하도록 구성될 수 있다.
이하 도 2를 참조하면, 다양한 실시예들에 따른 병렬 얼굴 검출 및 추적이 더 상세하게 도시되어 있다. 도시된 바와 같이, FDF(132)는 이미지 프레임들(202) 중의 산재되어 있는 선택된 이미지 프레임들(204)에서의 소정 이미지 프레임에서 얼굴의 존재를 검출하도록 구성될 수 있다. 실시예들에서, FDF(132)는 모든 k번째 이미지 프레임(204)에서의 소정 이미지 프레임에서 얼굴의 존재를 검출하도록 구성될 수 있다. 참조의 용이성을 위해, FDF(132)가 얼굴 검출을 수행하는 이미지 프레임(204)은 키 프레임(key frame)으로 지칭될 수 있다. 실시예들에서, FDF(132)는 얼굴이 위치되어 있을 수 있는 키 프레임 내의 ROI를 식별하도록 또한 구성될 수 있다. 또한, FDF(132)는 대신에 키 프레임의 ROI 내에서 얼굴을 추적하라고 FTF(134)에 요청하도록 구성될 수 있다. 이에 응답하여, FTF(134)는, FDF(132)가 다른 키 프레임에 대한 추적을 요청할 때까지, 다음의 프레임 시퀀스에서, 키 프레임에 대한 ROI 내에서 얼굴을 추적한다. 프로세스는 FDF(132) 및 FTF(134)의 서비스들이 더 이상 필요하지 않을 때까지 반복될 수 있다. 실시예들에서, FTF(134)의 추적 에러는 FDF(132)에 의한 정기 검출을 통해 감소될 수 있다.
실시예들에서, 도시된 바와 같이, FTF(134)는 이미지 프레임의 ROI 내의 N개의 피처를 추출하도록 구성될 수 있다(블록(212)). 부가적으로, FTF(134)는 그룹으로서의 최대 N개의 피처의 모션 시프트를 반복적으로 추적하도록 구성될 수 있다(블록들(214-218)). 각각의 반복 동안, 블록(214)에서, FTF(134)는 N개의 피처의 움직임을 추적할 수 있다. 블록(216)에서, FTF(134)는 추적된 피처들 중 자격이 없는 피처들을 필터링하여, 있다면, n개의 피처를 남길 수 있는데, 여기서 n은 N 이하이다. 블록(218)에서, FTF(134)는 그룹으로서의 n개의 피처의 모션 시프트를 추적하고, 다음의 반복을 위해 N개의 피처 세트를 채우기 위해 적어도 N-n개의 다른 피처를 재생성할 수 있다.
실시예들에서, FTF(134)는, 블록(212)에서 최고 N개의 FAST(Feature Accelerated Segment Test)-코너-응답 피처들을 추출하기 위해서 FAST 코너 추출 알고리즘을 이용하도록 구성될 수 있다. 또한, FTF(134)는 블록(214)에서 KLT(Kanade-Lucas-Tomasi) 광학 흐름 피처 추적을 수행하고, 블록(216)에서 추적된 피처들 중 자격이 없는 피처들을 필터링하기 위해 미디언 필터링(median filtering)을 수행하도록 구성될 수 있다. 보다 상세하게 후술되는 바와 같이, FTF(134)는 블록(218)에서 그룹으로서의 남은 n개의 피처의 모션 시프트를 추적하도록 구성될 수 있다.
실시예들에서, 제한 없이, FDF(132) 및 FTF(134)는 다수의 하드웨어 및/또는 소프트웨어 컴포넌트 중 임의의 것으로 구현될 수 있다. 하드웨어 컴포넌트들은 주문형 집적 회로(ASIC) 및/또는 프로그램가능 집적 회로, 예컨대 필드 프로그램가능 게이트 어레이(FPGA)로 구현될 수 있다. 소프트웨어 컴포넌트들은, 기저의 하드웨어의 명령어 세트 아키텍처(ISA: instruction set architecture)의 명령어들로 어셈블링되거나 컴파일링될 수 있는 다수의 프로그래밍 언어 중 임의의 것으로 구현될 수 있다.
이하 도 3 내지 도 10을 참조하면, 다양한 실시예들에 따른 그룹으로서의 n개 또는 최대 N개의 피처(N≥n)의 모션 시프트에 적어도 부분적으로 기초하여 얼굴을 추적하는 다양한 양태들이 도시되어 있다. 먼저, 도 3은 다양한 실시예들에 따른 얼굴이 위치되어 있는 이미지 프레임, 예를 들어 키 프레임의 ROI의 피처들을 도시한다. 도시된 바와 같이, ROI(300)에 있어서, 예를 들어 FAST 코너 추출 알고리즘을 이용하여, FTF(134)에 의해, 얼굴(302)에 대하여 N개의 피처(304)가 추출될 수 있다.
도 4는 다양한 실시예들에 따른 예를 들어 무방향성 그래프(400)를 이용하여 FTF(134)에 의해 (미디언 필터 이후에) n개의 피처를 그룹화하는 것, 및 그룹에 대한 중심(C)을 결정하는 것을 도시한다. 실시예들에서, C는 수학식 #1을 이용하여 계산될 수 있다.
Figure pct00001
여기서, Dj,i는 피처 i로부터 j까지의 가중된 거리이다.
도 4, 도 5 및 도 7 내지 도 10에서 각각의 그룹 노드에 도시된 값(402)은 피처 j의 합계, 즉
Figure pct00002
을 나타내는 예이다.
실시예들에서, Dj-i는 수학식 #2를 이용하여 계산될 수 있다.
Figure pct00003
여기서, dj-i는 피처 i로부터 j까지의 픽셀 거리이고, wj는 속도의 일관성(consistency)을 파라미터화하기 위한 가중치이다.
일반적으로, 더 높은 일관성은 더 높은 가중치로 표현되며, 더 낮은 가중된 거리를 초래한다.
도 5 내지 도 7은 다양한 실시예들에 따른 n개의 피처의 그룹에 대한 우세 속도의 결정을 도시한다. 보다 구체적으로는, 도 5는 n개의 피처의 그룹의 다수의 예시적인 속도 방향(500)을 도시한다. 실시예들에서, 도 6에 도시된 바와 같이, 속도 방향들의 히스토그램(600)이 구성될 수 있다. 그 이후에, 히스토그램(600)의 피크에서의 정규 배향(canonical orientation)에 적어도 부분적으로 기초하여, n개의 피처의 그룹에 대해 우세 속도 방향이 할당될 수 있다.
실시예들에서, 우세 속도 방향(700)은 단위 벡터
Figure pct00004
에 의해 표시될 수 있다. 또한, 속도 일관성 가중치(
Figure pct00005
)는 벡터
Figure pct00006
를 이용하여 모든 피처에 할당될 수 있다. 보다 구체적으로는, 실시예들에서, 아래의 수학식 #3에 의해 설정된 바와 같이, 속도 일관성 가중치는 가중치를 파라미터화하기 위한 2개의 벡터의 각도의 코사인에 기초하여 할당되고, 벡터 연산을 이용하여 계산될 수 있는데:
Figure pct00007
여기서, wj는 피처 j의 가중치를 나타내고, vj는 피처 j의 속도 벡터이고, θ는 vj
Figure pct00008
사이의 각도이고, a는 wj의 영향을 튜닝하기 위한 인자이다.
따라서, 가중된 거리의 정의로, 그래프 중심 C는 전체 그룹의 평균 위치 및 움직임 트렌드를 효과적으로 나타낼 수 있다.
이하 도 8 내지 도 10을 참조하면, 다양한 실시예들에 따른 n개 또는 최대 N개의 피처(N≥n)의 예시적인 추적 및 업데이트가 도시되어 있다. 보다 구체적으로는, 도 8은 FTF(134)에 의한 n개 또는 최대 N개의 피처(N≥n)의 예시적인 그룹의 예시적인 추적 결과(800)를 도시한다. 약간 굵은 둘레로 도시된 예시적인 피처들(802)은 양호한 추적 결과를 나타낸다. 한편, 2배로 굵은 둘레로 도시된 예시적인 피처들(804)은, 예를 들어 수렴을 통해 업데이트될 수 있는 드리프트하는 추적 결과를 나타낸다. 도 9는 그래프 중심 C를 이용하여 드리프트하는 추적 결과를 수렴하는, 예를 들어 도 8에서의 804인 피처(904)를 타이트닝(tightening)하여 피처들(902)로 업데이트하는 프로세스를 도시한다. 타이트닝 프로세스는 902를 제거한 다음, C와 904 사이에서 새로운 피처를 재추출할 수 있다. 도 10은 n개 또는 최대 N개의 피처(N≥n)의 예시적인 그룹의 그룹 모션 시프트 결과(1000)를 도시한다. 그 이후에, 피처 그룹은, 다음의 반복을 위해 N개의 피처 세트를 채우기 위해서 다른 N-n개의 피처를 재생성함으로써 갱신될(renewed) 수 있다.
도 11 및 도 12는 다양한 실시예들에 따른 그룹으로서의 피처들의 모션 시프트에 기초하여 피처들을 추적하기 위한 예시적인 프로세스를 도시한다. 도시된 바와 같이, 그룹으로서의 피처들의 모션 시프트에 기초하여 피처들을 추적하기 위한 프로세스(1100)는 블록들(1102-1110)에서 수행되는 다양한 동작들을 포함할 수 있다. 동작들은, 예를 들어, FTF(134)에 의해, 예컨대 반복적인 그룹 기반 모션 시프트 추적의 반복 동안, 얼굴을 추적하기 위해 수행될 수 있다.
도시된 바와 같이, 프로세스(1100)는 블록(1102)에서 시작할 수 있다. 블록(1102)에서, 먼저 n개의 피처가 그룹으로서 결합될 수 있다. 전술한 바와 같이, n개의 피처는 이미지 프레임의 ROI로부터 추출된 피처들일 수 있다. 블록(1102)으로부터, 프로세스(1100)는 블록(1104)으로 진행할 수 있다. 블록(1104)에서, 피처들의 움직임이 추적될 수 있다. 예를 들어, 피처들의 움직임은 전술한 바와 같이 KLT 광학 흐름 추적에 따라 추적될 수 있다.
블록(1104)으로부터, 프로세스(1100)는 블록(1106)으로 진행할 수 있다. 블록(1106)에서, 그룹의 평균 위치 및 모션을 반영하는 그룹의 중심 C가 결정될 수 있다. 예를 들어, 중심 C는 전술한 바와 같이 속도의 일관성에 의해 가중되는 피처들 사이의 픽셀 거리들에 적어도 부분적으로 기초하여 결정될 수 있다. 블록(1106)으로부터, 프로세스(1100)는 블록(1108)으로 진행할 수 있다. 블록(1108)에서, 결정된 중심 C를 참조하여, 중심 C로부터 너무 멀리 있는 그룹의 드리프트 피처들이 제거될 수 있으며, 피처들의 그룹이 다시 재수렴될 수 있다. 너무 멀리 구성하는 것은 예를 들어 원하는 정확도에 종속하여 애플리케이션 기초로 구성될 수 있다. 그룹의 재수렴은 중심 C의 이웃으로부터 n개의 피처의 그룹을 재구성하는 것을 포함할 수 있다. 블록(1108)으로부터, 프로세스(1100)는 블록(1110)으로 진행할 수 있다. 블록(1110)에서, 결정된 중심 C 근처에서, 새로운 피처들이 재추출되어, N개의 피처 세트를 채울 수 있다. 이웃의 크기 및 형상은 예를 들어 원하는 정확도에 종속하여 애플리케이션 기초로 또한 구성될 수 있다.
도 12는 다양한 실시예들에 따른 그룹의 피처들의 평균 위치 및 움직임을 반영하는 그룹의 중심 C를 결정하기 위한 프로세스를 도시한다. 도시된 바와 같이, 이러한 그룹에 대한 중심 C를 결정하기 위한 프로세스(1200)는 블록들(1202-1208)에서 수행되는 다양한 동작들을 포함할 수 있다. 동작들은, 예를 들어, FTF(134)에 의해, 프로세스(1100)의 블록(1106)에 대해 수행될 수 있다.
도시된 바와 같이, 프로세스(1200)는 블록(1202)에서 시작할 수 있다. 블록(1202)에서, 다양한 피처들의 속도 방향들이 결정될 수 있다. 블록(1202)으로부터, 프로세스(1200)는 블록(1204)으로 진행할 수 있다. 블록(1204)에서, 우세 속도가 결정될 수 있다. 우세 속도는, 전술한 바와 같이, 예를 들어 히스토그램을 이용하여, 그리고 히스토그램의 피크에서의 정규 방향에 따라 결정될 수 있다.
블록(1204)으로부터, 프로세스(1200)는 블록(1206)으로 진행할 수 있다. 블록(1206)에서, 그룹의 피처들에 대한 속도 일관성 가중치들이 결정되고 할당될 수 있다. 예를 들어, 속도 일관성 가중치들은 전술한 바와 같이 단위 벡터를 이용하여 계산될 수 있다. 블록(1206)으로부터, 프로세스(1200)는 블록(1208)으로 진행할 수 있다. 블록(1208)에서, 그룹의 평균 위치 및 모션을 반영하는 그룹에 대한 중심 C가 계산될 수 있다. 예를 들어, 중심 C는 전술한 바와 같이 속도 일관성들에 의해 가중되는 피처들 사이의 픽셀 거리들에 적어도 부분적으로 기초하여 계산될 수 있다.
이하 도 13을 참조하면, 다양한 실시예들에 따른 도 1의 장치에 이용하기에 적합한 예시적인 컴퓨터가 도시되어 있다. 도시된 바와 같이, 컴퓨터(1300)는 하나 이상의 프로세서 또는 프로세서 코어(1302) 및 시스템 메모리(1304)를 포함할 수 있다. 청구항들을 포함한 본 출원의 목적을 위해, "프로세서" 및 "프로세서 코어"라는 용어들은, 콘텍스트가 명백하게 달리 요구하지 않는 한, 동의어로 고려될 수 있다. 부가적으로, 컴퓨터(1300)는 대용량 저장 디바이스들(1306)(예컨대, 디스켓, 하드 드라이브, CD-ROM(compact disc read only memory) 등), 입/출력 디바이스들(1308)(예컨대, 디스플레이, 키보드, 커서 컨트롤, 카메라 등), 및 통신 인터페이스들(1310)(예컨대, 네트워크 인터페이스 카드, 모뎀 등)을 포함할 수 있다. 이러한 요소들은 하나 이상의 버스를 나타낼 수 있는 시스템 버스(1312)를 통해 서로 연결될 수 있다. 다수의 버스의 경우에, 이들은 하나 이상의 버스 브리지(도시되지 않음)에 의해 브리징될 수 있다.
이들 요소들 각각은 관련 기술분야에 공지되어 있는 그것의 통상의 기능들을 수행할 수 있다. 특히, 시스템 메모리(1304) 및 대용량 저장 디바이스들(1306)은, 집합적으로 계산 로직(1322)으로 표시되는, 이전에 설명된 도 1의 FDF(132) 및/또는 FTF(134)와 연관된 동작들을 구현하는 프로그래밍 명령어들의 작업 카피(working copy) 및 영구 카피(permanent copy)를 저장하기 위해 이용될 수 있다. 다양한 요소들은, 프로세서(들)(1302)에 의해 지원되는 어셈블러 명령어들에 의해, 또는 이러한 명령어들로 컴파일링될 수 있는, 예를 들어 C와 같은 하이 레벨 언어에 의해 구현될 수 있다.
프로그래밍 명령어들의 영구 카피는, 예를 들어, (분배 서버(도시되지 않음)로부터) 통신 인터페이스(1310)를 통해 또는 콤팩트 디스크(CD)와 같은 분배 매체(도시되지 않음)를 통해, 공장에서 또는 필드에서 영구/대용량 저장 디바이스들(1306)에 배치될 수 있다. 즉, 에이전트를 분배하고 다양한 컴퓨팅 디바이스들을 프로그래밍하기 위해 에이전트 프로그램의 구현을 갖는 하나 이상의 분배 매체가 이용될 수 있다.
이들 요소들(1310-1312)의 개수, 능력 및/또는 용량은 예시적인 컴퓨터(1300)의 의도된 용도, 예를 들어 예시적인 컴퓨터(1300)가 셋톱 박스나 데스크톱 컴퓨터와 같은 고정형 컴퓨팅 디바이스인지, 또는 스마트폰, 태블릿, 울트라북이나 랩톱과 같은 이동형 컴퓨팅 디바이스인지에 따라 변할 수 있다. 이들 요소들(1310-1312)의 구성은 다른 방식으로 공지되어 있고, 따라서 추가로 설명되지 않을 것이다.
도 14는 다양한 실시예들에 따른 이전에 설명된 도 1의 FDF(132) 및 FTF(134)와 연관된 동작들 중 선택된 것들 또는 전부를 실시하도록 구성된 명령어들을 갖는 예시적인 비일시적인 컴퓨터 판독가능 저장 매체를 도시한다. 도시된 바와 같이, 비일시적인 컴퓨터 판독가능 저장 매체(1402)는 다수의 프로그래밍 명령어(1404)를 포함할 수 있다. 프로그래밍 명령어들(1404)은, 이러한 프로그래밍 명령어들의 실행에 응답하여, 디바이스, 예를 들어 컴퓨터(1300)가 예를 들어 도 11 및/또는 도 12의 프로세스들(1100 및/또는 1200)의 다양한 동작들을 수행하는 것을 가능하게 하도록 구성될 수 있다. 대안적인 실시예들에서, 프로그래밍 명령어들(1404)은 대신에 다수의 비일시적인 컴퓨터 판독가능 저장 매체(1402) 상에 배치될 수 있다.
도 13을 다시 참조하면, 일 실시예에 있어서, 프로세서들(1302) 중 적어도 하나는, (메모리(1304) 및/또는 대용량 저장 디바이스들(1306)에 저장하는 대신에) 도 11 및/또는 도 12의 프로세스(들)의 양태들을 실시하도록 구성된 계산 로직(1322)과 함께 패키징될 수 있다. 일 실시예에 있어서, 프로세서들(1302) 중 적어도 하나는, SiP(System in Package)를 형성하기 위해 도 11 및/또는 도 12의 프로세스(들)의 양태들을 실시하도록 구성된 계산 로직(1322)과 함께 패키징될 수 있다. 일 실시예에 있어서, 프로세서들(1302) 중 적어도 하나는, 도 11 및/또는 도 12의 프로세스(들)의 양태들을 실시하도록 구성된 계산 로직(1322)과 동일한 다이 상에 집적될 수 있다. 일 실시예에 있어서, 프로세서들(1302) 중 적어도 하나는, SoC(System on Chip)를 형성하기 위해 도 11 및/또는 도 12의 프로세스(들)의 양태들을 실시하도록 구성된 계산 로직(1322)과 함께 패키징될 수 있다. 적어도 하나의 실시예에 있어서, SoC는 예를 들어 컴퓨팅 태블릿에서 이용될 수 있지만, 이에 제한되지는 않는다.
따라서, 설명된 예시적인 실시예들은 다음의 것들을 포함하지만, 이에 제한되지는 않는다:
예 1은 복수의 이미지 프레임에서 얼굴을 인식하기 위한 방법일 수 있다. 이 방법은, 컴퓨팅 디바이스의 제1 스레드에 의해, 복수의 이미지 프레임 중의 산재되어 있는 선택된 이미지 프레임들에서 얼굴의 존재에 대해 검출하는 단계를 포함할 수 있다. 이 방법은, 복수의 이미지 프레임 중의 선택된 이미지 프레임들에서의 제1 이미지 프레임에서 얼굴의 존재를 검출하면, 제1 스레드에 의해, 컴퓨팅 디바이스의 제2 스레드에 의한 얼굴의 추적을 요청하는 단계 - 제2 스레드는 컴퓨팅 디바이스에 의해 제1 스레드와 병렬로 동작됨 -; 및 제2 스레드에 의해, 제1 스레드를 위해 얼굴을 추적하는 단계를 포함할 수 있다.
예 2는 예 1일 수 있는데, 여기서 검출하는 단계는, 복수의 이미지 프레임 중의 모든 k번째 이미지 프레임에서 얼굴의 존재에 대해 검출하는 단계를 포함하고, 여기서 k는 2 이상의 정수이다.
예 3은 예 1 또는 예 2 중 어느 하나일 수 있는데, 여기서 얼굴을 추적하는 단계는, 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여, 2개의 검출 사이에서, 얼굴을 반복적으로 추적하는 단계를 포함한다.
예 4는 예 3일 수 있는데, 여기서 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여, 2개의 검출 사이에서, 얼굴을 반복적으로 추적하는 단계는, 얼굴이 위치되어 있는 관심 영역으로부터 N개의 피처를 추출하는 단계 - 여기서 N은 2 이상의 정수임 -; 및 그룹으로서의 N개의 피처 전부 또는 서브세트의 모션 시프트를 반복적으로 추적하는 단계를 포함한다.
예 5는 예 4일 수 있는데, 여기서 N개의 피처를 추출하는 단계는, 세그먼트 테스팅(segment testing)을 통해 코너들을 추출함으로써 N개의 피처를 추출하는 단계를 포함한다.
예 6은 예 4일 수 있는데, 여기서 그룹으로서의 N개의 피처 전부 또는 서브세트의 모션 시프트를 반복적으로 추적하는 단계는, 각각의 반복에 대하여, 모든 N개의 피처를 추적하는 단계; 추적된 N개의 피처 중 자격이 없는 피처들을 필터링하여, n개의 피처를 남기는 단계 - 여기서 n은 N보다 작음 -; 추적의 결과에 적어도 부분적으로 기초하여, 그룹으로서의 n개의 피처의 모션 시프트를 결정하는 단계; 및 n개의 피처의 그룹의 결정된 모션 시프트에 적어도 부분적으로 기초하여, 다음의 반복을 위해 N개의 피처 세트를 채우기 위해서 관심 영역으로부터 다른 N-n개의 피처를 재추출하는 단계를 포함한다.
예 7은 예 6일 수 있는데, 여기서 N개의 피처를 추적하는 단계는 KLT(Kanade-Lucas-Tomasi) 피처 추적을 이용하여 N개의 피처를 추적하는 단계를 포함한다.
예 8은 예 6일 수 있는데, 여기서 필터링은 N개의 피처의 미디언 필터링을 포함한다.
예 9는 예 6일 수 있는데, 여기서 그룹으로서의 n개의 피처의 모션 시프트를 결정하는 단계는, n개의 피처의 속도들의 일관성을 파라미터화하는 가중치들에 의해 각각 가중되는 n개의 피처 사이의 픽셀 거리들에 적어도 부분적으로 기초하여, n개의 피처로 형성된 그룹에 대한 중심을 결정하는 단계를 포함한다.
예 10은 예 9일 수 있는데, 여기서 n개의 피처로 형성된 그룹에 대한 중심을 결정하는 단계는, n개의 피처를 그룹화하기 위해 무방향성 그래프를 생성하는 단계, 및 무방향성 그래프의 인접 행렬 표현을 이용하여 중심을 결정하는 단계를 포함한다.
예 11은 예 9일 수 있는데, 여기서 그룹으로서의 n개의 피처의 모션 시프트를 결정하는 단계는, 그룹의 우세 속도 배향을 결정하는 단계, 및 그룹의 우세 속도와 피처의 속도의 일관성에 적어도 부분적으로 기초하여 가중치들을 결정하는 단계를 더 포함한다. 그룹의 우세 속도 배향을 결정하는 단계는 속도의 히스토그램의 이용을 포함할 수 있다.
예 12는 예 9일 수 있는데, 여기서 이 방법은, 각각의 반복에 대하여, n개의 피처와 그룹의 결정된 중심 사이의 가중된 거리들을 이용하여, n개의 피처 중 너무 멀리 떨어져 있는 자격이 없는 피처들을 필터링하는 단계를 더 포함한다. n개의 피처 중 너무 멀리 떨어져 있는 자격이 없는 피처들을 필터링하는 단계는, n개의 피처 중 오리지널 피처를 제거한 다음, n개의 피처 중 제거된 오리지널 피처와 그룹에 대한 중심 사이에서 새로운 피처를 재추출하는 것에 의해 달성될 수 있다.
예 13은 예 9일 수 있는데, 여기서 다음의 반복을 위해 N개의 피처 세트를 채우기 위해서 관심 영역으로부터 다른 N-n개의 피처를 재추출하는 단계는, 다음의 반복을 위해, n개의 피처의 그룹의 중심의 이웃 영역으로부터 다른 N-n개의 피처를 재추출하는 단계를 포함한다
예 14는 얼굴을 인식하기 위한 장치일 수 있는데, 이 장치는 하나 이상의 프로세서; 및 하나 이상의 프로세서에 연결되며, 제1 및 제2의 복수의 모듈을 갖는 저장 매체를 포함하고, 제1 및 제2의 복수의 모듈은, 하나 이상의 프로세서에 의한 제1 및 제2의 복수의 모듈의 병렬 동작에 응답하여, 장치가 예 1 내지 예 13 중 어느 하나의 방법을 수행하게 하도록 구성된다.
예 15는 예 14일 수 있는데, 여기서 이 장치는 셋톱 박스, 스마트폰, 컴퓨팅 태블릿, 울트라북, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버 컴퓨터, 게임 콘솔 또는 미디어 플레이어 중 선택된 것이다.
예 16은 복수의 명령어를 포함하는 적어도 하나의 저장 매체일 수 있는데, 복수의 명령어는, 장치에 의한 명령어들의 실행에 응답하여, 이 장치가 예 1 내지 예 13 중 어느 하나의 방법을 수행하게 하도록 구성된다.
예 17은 복수의 이미지 프레임에서 얼굴을 인식하기 위한 방법일 수 있는데, 이 방법은, 컴퓨팅 디바이스에 의해, 복수의 이미지 프레임 중 하나의 이미지 프레임에서 얼굴의 존재를 검출하는 단계; 및 복수의 이미지 프레임 중 하나의 이미지 프레임에서 얼굴의 존재를 검출하면, 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여, 얼굴을 추적하는 단계를 포함한다.
예 18은 예 17일 수 있는데, 여기서 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여, 얼굴을 추적하는 단계는, 얼굴이 위치되어 있는 관심 영역으로부터 N개의 피처를 추출하는 단계 - 여기서 N은 2 이상의 정수임 -; 및 그룹으로서의 N개의 피처 전부 또는 서브세트의 모션 시프트를 추적하는 단계를 포함한다.
예 19는 예 18일 수 있는데, 여기서 그룹으로서의 N개의 피처 전부 또는 서브세트의 모션 시프트를 추적하는 단계는, 모든 N개의 피처를 추적하는 단계; 추적된 N개의 피처 중 자격이 없는 피처들을 필터링하여, n개의 피처를 남기는 단계 - 여기서 n은 N보다 작음 -; 및 추적의 결과에 적어도 부분적으로 기초하여, 그룹으로서의 n개의 피처의 모션 시프트를 결정하는 단계를 포함한다.
예 20은 예 19일 수 있는데, 여기서 그룹으로서의 n개의 피처의 모션 시프트를 결정하는 단계는, n개의 피처의 속도들의 일관성을 파라미터화하는 가중치들에 의해 각각 가중되는 n개의 피처 사이의 픽셀 거리들에 적어도 부분적으로 기초하여, n개의 피처로 형성된 그룹에 대한 중심을 결정하는 단계를 포함한다.
예 21은 예 20일 수 있는데, 여기서 n개의 피처로 형성된 그룹에 대한 중심을 결정하는 단계는, n개의 피처를 그룹화하기 위해 무방향성 그래프를 생성하는 단계, 및 무방향성 그래프의 인접 행렬 표현을 이용하여 중심을 결정하는 단계를 포함한다.
예 22는 예 20일 수 있는데, 여기서 그룹으로서의 n개의 피처의 모션 시프트를 결정하는 단계는, 그룹의 우세 속도 배향을 결정하는 단계, 및 그룹의 우세 속도와 피처의 속도의 일관성에 적어도 부분적으로 기초하여 가중치들을 결정하는 단계를 더 포함한다. 그룹의 우세 속도 배향을 결정하는 단계는 속도의 히스토그램의 이용을 포함할 수 있다.
예 23은 예 20일 수 있는데, 여기서 이 방법은, n개의 피처와 그룹의 결정된 중심 사이의 가중된 거리들을 이용하여, n개의 피처 중 너무 멀리 떨어져 있는 자격이 없는 피처들을 필터링하는 단계를 더 포함한다. n개의 피처 중 너무 멀리 떨어져 있는 자격이 없는 피처들을 필터링하는 단계는, n개의 피처 중 오리지널 피처를 제거한 다음, n개의 피처 중 제거된 오리지널 피처와 그룹에 대한 중심 사이에서 새로운 피처를 재추출하는 것에 의해 달성될 수 있다.
예 24는 얼굴을 인식하기 위한 장치일 수 있는데, 이 장치는 하나 이상의 프로세서; 및 하나 이상의 프로세서에 연결되며, 복수의 모듈을 갖는 저장 매체를 포함하고, 복수의 모듈은, 하나 이상의 프로세서에 의한 복수의 모듈의 동작에 응답하여, 장치가 예 17 내지 예 23 중 어느 하나의 방법을 수행하게 하도록 구성된다.
예 25는 복수의 명령어를 포함하는 적어도 하나의 저장 매체일 수 있는데, 복수의 명령어는, 장치에 의한 명령어들의 실행에 응답하여, 이 장치가 예 17 내지 예 23 중 어느 하나의 방법을 수행하게 하도록 구성된다.
특정 실시예들이 설명의 목적으로 본 명세서에서 예시되고 설명되었지만, 동일한 목적을 달성하도록 산출된 매우 다양한 대안의 그리고/또는 등가의 실시예들 또는 구현예들이, 본 개시물의 범위로부터 벗어나지 않으면서, 제시 및 설명된 실시예들을 대체할 수 있다. 본 출원은 본 명세서에서 논의된 실시예들의 임의의 적응물들 또는 변형물들을 커버하는 것으로 의도된다. 따라서, 본 명세서에 설명된 실시예들은 청구항들에 의해서만 제한되는 것으로 명백하게 의도된다.
본 개시물이 "일(a)" 또는 "제1(a first)" 요소 또는 그것의 등가물을 언급하는 경우, 이러한 개시물은 하나 이상의 이러한 요소를 포함하며, 2개 이상의 이러한 요소를 요구하지도 배제하지도 않는다. 또한, 식별된 요소들에 대한 서수의 표시자들(예를 들어, 제1, 제2 또는 제3)은 이들 요소들을 구별하기 위해 이용되고, 요구되거나 제한된 개수의 이러한 요소들을 나타내거나 암시하지도 않으며, 달리 구체적으로 언급되지 않는 한, 이러한 요소들의 특정 위치나 순서를 나타내지도 않는다.

Claims (26)

  1. 복수의 이미지 프레임에서 얼굴을 인식하기 위한 방법으로서,
    컴퓨팅 디바이스의 제1 스레드에 의해, 상기 복수의 이미지 프레임 중의 산재되어 있는 선택된 이미지 프레임들에서 얼굴의 존재에 대해 검출하는 단계;
    상기 복수의 이미지 프레임 중의 선택된 이미지 프레임들에서의 제1 이미지 프레임에서 얼굴의 존재를 검출하면, 상기 제1 스레드에 의해, 상기 컴퓨팅 디바이스의 제2 스레드에 의한 상기 얼굴의 추적을 요청하는 단계 - 상기 제2 스레드는 상기 컴퓨팅 디바이스에 의해 상기 제1 스레드와 병렬로 동작됨 -; 및
    상기 제2 스레드에 의해, 상기 제1 스레드를 위해 상기 얼굴을 추적하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    검출하는 단계는, 상기 복수의 이미지 프레임 중의 모든 k번째 이미지 프레임에서 얼굴의 존재에 대해 검출하는 단계를 포함하고, 여기서 k는 2 이상의 정수인 방법.
  3. 제1항에 있어서,
    상기 얼굴을 추적하는 단계는, 상기 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여, 2개의 검출 사이에서, 상기 얼굴을 반복적으로 추적하는 단계를 포함하는 방법.
  4. 제3항에 있어서,
    상기 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여, 2개의 검출 사이에서, 상기 얼굴을 반복적으로 추적하는 단계는,
    상기 얼굴이 위치되어 있는 상기 관심 영역으로부터 N개의 피처를 추출하는 단계 - 여기서 N은 2 이상의 정수임 -; 및
    그룹으로서의 N개의 피처 전부 또는 서브세트의 모션 시프트를 반복적으로 추적하는 단계
    를 포함하는 방법.
  5. 제4항에 있어서,
    N개의 피처를 추출하는 단계는, 세그먼트 테스팅(segment testing)을 통해 코너들을 추출함으로써 N개의 피처를 추출하는 단계를 포함하는 방법.
  6. 제4항에 있어서,
    그룹으로서의 N개의 피처 전부 또는 서브세트의 모션 시프트를 반복적으로 추적하는 단계는,
    각각의 반복에 대하여,
    모든 N개의 피처를 추적하는 단계;
    상기 추적된 N개의 피처 중 자격이 없는 피처들을 필터링하여, n개의 피처를 남기는 단계 - 여기서 n은 N보다 작음 -;
    상기 추적의 결과에 적어도 부분적으로 기초하여, 그룹으로서의 상기 n개의 피처의 모션 시프트를 결정하는 단계; 및
    상기 n개의 피처의 그룹의 결정된 모션 시프트에 적어도 부분적으로 기초하여, 다음의 반복을 위해 N개의 피처 세트를 채우기 위해서 상기 관심 영역으로부터 다른 N-n개의 피처를 재추출하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서,
    상기 N개의 피처를 추적하는 단계는 KLT(Kanade-Lucas-Tomasi) 피처 추적을 이용하여 상기 N개의 피처를 추적하는 단계를 포함하는 방법.
  8. 제6항에 있어서,
    상기 필터링은 상기 N개의 피처의 미디언 필터링(median filtering)을 포함하는 방법.
  9. 제6항에 있어서,
    그룹으로서의 상기 n개의 피처의 모션 시프트를 결정하는 단계는, 상기 n개의 피처의 속도들의 일관성(consistency)을 파라미터화하는 가중치들에 의해 각각 가중되는 상기 n개의 피처 사이의 픽셀 거리들에 적어도 부분적으로 기초하여, 상기 n개의 피처로 형성된 그룹에 대한 중심을 결정하는 단계를 포함하는 방법.
  10. 제9항에 있어서,
    상기 n개의 피처로 형성된 그룹에 대한 중심을 결정하는 단계는, 상기 n개의 피처를 그룹화하기 위해 무방향성 그래프(undirected graph)를 생성하는 단계, 및 상기 무방향성 그래프의 인접 행렬 표현을 이용하여 상기 중심을 결정하는 단계를 포함하는 방법.
  11. 제9항에 있어서,
    그룹으로서의 상기 n개의 피처의 모션 시프트를 결정하는 단계는, 상기 그룹의 우세 속도 배향(dominant velocity orientation)을 결정하는 단계, 및 상기 그룹의 우세 속도와 피처의 속도의 일관성에 적어도 부분적으로 기초하여 상기 가중치들을 결정하는 단계를 더 포함하는 방법.
  12. 제9항에 있어서,
    각각의 반복에 대하여, 상기 n개의 피처와 상기 그룹의 결정된 중심 사이의 가중된 거리들을 이용하여, 상기 n개의 피처 중 너무 멀리 떨어져 있는 자격이 없는 피처들을 필터링하는 단계를 더 포함하는 방법.
  13. 제9항에 있어서,
    다음의 반복을 위해 N개의 피처 세트를 채우기 위해서 상기 관심 영역으로부터 다른 N-n개의 피처를 재추출하는 단계는, 다음의 반복을 위해, 상기 n개의 피처의 그룹의 중심의 이웃 영역으로부터 다른 N-n개의 피처를 재추출하는 단계를 포함하는 방법.
  14. 얼굴을 인식하기 위한 장치로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 연결되며, 제1 및 제2의 복수의 모듈을 갖는 저장 매체 - 상기 제1 및 제2의 복수의 모듈은, 상기 하나 이상의 프로세서에 의한 상기 제1 및 제2의 복수의 모듈의 병렬 동작에 응답하여, 상기 장치가 제1항 내지 제13항 중 어느 한 항의 방법을 수행하게 하도록 구성됨 -
    를 포함하는 장치.
  15. 제14항에 있어서,
    상기 장치는 셋톱 박스, 스마트폰, 컴퓨팅 태블릿, 울트라북, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버 컴퓨터, 게임 콘솔 또는 미디어 플레이어 중 선택된 것인 장치.
  16. 복수의 명령어를 포함하는 적어도 하나의 저장 매체로서,
    상기 복수의 명령어는, 장치에 의한 상기 명령어들의 실행에 응답하여, 상기 장치가 제1항 내지 제13항 중 어느 한 항의 방법을 수행하게 하도록 구성되는 적어도 하나의 저장 매체.
  17. 복수의 이미지 프레임에서 얼굴을 인식하기 위한 방법으로서,
    컴퓨팅 디바이스에 의해, 상기 복수의 이미지 프레임 중 하나의 이미지 프레임에서 얼굴의 존재를 검출하는 단계; 및
    상기 복수의 이미지 프레임 중 하나의 이미지 프레임에서 얼굴의 존재를 검출하면, 상기 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여, 상기 얼굴을 추적하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    상기 얼굴이 위치되어 있는 관심 영역에서의 N개의 피처의 그룹의 그룹 모션 시프트에 적어도 부분적으로 기초하여, 상기 얼굴을 추적하는 단계는,
    상기 얼굴이 위치되어 있는 상기 관심 영역으로부터 N개의 피처를 추출하는 단계 - 여기서 N은 2 이상의 정수임 -; 및
    그룹으로서의 N개의 피처 전부 또는 서브세트의 모션 시프트를 추적하는 단계
    를 포함하는 방법.
  19. 제18항에 있어서,
    그룹으로서의 N개의 피처 전부 또는 서브세트의 모션 시프트를 추적하는 단계는,
    N개의 피처 전부를 추적하는 단계;
    상기 추적된 N개의 피처 중 자격이 없는 피처들을 필터링하여, n개의 피처를 남기는 단계 - 여기서 n은 N보다 작음 -; 및
    상기 추적의 결과에 적어도 부분적으로 기초하여, 그룹으로서의 상기 n개의 피처의 모션 시프트를 결정하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서,
    그룹으로서의 상기 n개의 피처의 모션 시프트를 결정하는 단계는, 상기 n개의 피처의 속도들의 일관성을 파라미터화하는 가중치들에 의해 각각 가중되는 상기 n개의 피처 사이의 픽셀 거리들에 적어도 부분적으로 기초하여, 상기 n개의 피처로 형성된 그룹에 대한 중심을 결정하는 단계를 포함하는 방법.
  21. 제20항에 있어서,
    상기 n개의 피처로 형성된 그룹에 대한 중심을 결정하는 단계는, 상기 n개의 피처를 그룹화하기 위해 무방향성 그래프를 생성하는 단계, 및 상기 무방향성 그래프의 인접 행렬 표현을 이용하여 상기 중심을 결정하는 단계를 포함하는 방법.
  22. 제20항에 있어서,
    그룹으로서의 상기 n개의 피처의 모션 시프트를 결정하는 단계는, 상기 그룹의 우세 속도 배향을 결정하는 단계, 및 상기 그룹의 우세 속도와 피처의 속도의 일관성에 적어도 부분적으로 기초하여 상기 가중치들을 결정하는 단계를 더 포함하는 방법.
  23. 제20항에 있어서,
    상기 n개의 피처와 상기 그룹의 결정된 중심 사이의 가중된 거리들을 이용하여, 상기 n개의 피처 중 너무 멀리 떨어져 있는 자격이 없는 피처들을 필터링하는 단계를 더 포함하는 방법.
  24. 복수의 명령어를 포함하는 적어도 하나의 저장 매체로서,
    상기 복수의 명령어는, 장치에 의한 상기 명령어들의 실행에 응답하여, 상기 장치가 제17항 내지 제23항 중 어느 한 항의 방법을 수행하게 하도록 구성되는 적어도 하나의 저장 매체.
  25. 얼굴을 인식하기 위한 장치로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 연결되며, 복수의 모듈을 갖는 저장 매체 - 상기 복수의 모듈은, 상기 하나 이상의 프로세서에 의한 상기 복수의 모듈의 동작에 응답하여, 상기 장치가 제17항 내지 제23항 중 어느 한 항의 방법을 수행하게 하도록 구성됨 -
    를 포함하는 장치.
  26. 제25항에 있어서,
    상기 장치는 셋톱 박스, 스마트폰, 컴퓨팅 태블릿, 울트라북, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버 컴퓨터, 게임 콘솔 또는 미디어 플레이어 중 선택된 것인 장치.
KR1020157031593A 2013-06-27 2013-06-27 병렬 검출과 추적, 및/또는 그룹화된 피처 모션 시프트 추적을 이용한 얼굴 인식 KR101969623B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/078122 WO2014205715A1 (en) 2013-06-27 2013-06-27 Face recognition with parallel detection and tracking, and/or grouped feature motion shift tracking

Publications (2)

Publication Number Publication Date
KR20150138374A true KR20150138374A (ko) 2015-12-09
KR101969623B1 KR101969623B1 (ko) 2019-04-16

Family

ID=52140815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157031593A KR101969623B1 (ko) 2013-06-27 2013-06-27 병렬 검출과 추적, 및/또는 그룹화된 피처 모션 시프트 추적을 이용한 얼굴 인식

Country Status (5)

Country Link
US (1) US9477889B2 (ko)
EP (1) EP3014519A4 (ko)
KR (1) KR101969623B1 (ko)
CN (1) CN105308618B (ko)
WO (1) WO2014205715A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127251A (zh) * 2016-06-23 2016-11-16 合肥工业大学 一种用于描述人脸特征变化的计算机视觉方法
US10198818B2 (en) * 2016-10-12 2019-02-05 Intel Corporation Complexity reduction of human interacted object recognition
CN108257176A (zh) * 2016-12-29 2018-07-06 英特尔公司 用于特征检测和跟踪的技术
CN110008793A (zh) * 2018-01-05 2019-07-12 中国移动通信有限公司研究院 人脸识别方法、装置及设备
CN108491258A (zh) * 2018-03-29 2018-09-04 百度在线网络技术(北京)有限公司 用于处理图像的方法和装置
CN108564028A (zh) * 2018-04-11 2018-09-21 开放智能机器(上海)有限公司 一种基于嵌入式系统的多线程人脸识别系统
CN108717522A (zh) * 2018-04-18 2018-10-30 上海交通大学 一种基于深度学习和相关滤波的人体目标跟踪方法
CN111723353A (zh) * 2019-03-22 2020-09-29 北京小米移动软件有限公司 基于人脸识别的身份认证方法、装置、终端及存储介质
CN111754543B (zh) * 2019-03-29 2024-03-29 杭州海康威视数字技术股份有限公司 图像处理方法、装置及系统
CN115719461A (zh) * 2022-08-03 2023-02-28 中国银联股份有限公司 一种基于光流分析的人脸操控检测方法及其检测装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075926A (ja) * 2007-09-21 2009-04-09 Mitsubishi Electric Corp 動画像顔検出装置および動画像顔検出方法
KR20110035662A (ko) * 2009-09-30 2011-04-06 아주대학교산학협력단 감시 카메라를 이용한 지능형 영상 검색 방법 및 시스템
JP2012205037A (ja) * 2011-03-25 2012-10-22 Olympus Imaging Corp 画像処理装置および画像処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426314C (zh) * 2005-08-02 2008-10-15 中国科学院计算技术研究所 一种基于特征分组的多分类器组合人脸识别方法
JP5247356B2 (ja) * 2008-10-29 2013-07-24 キヤノン株式会社 情報処理装置およびその制御方法
US8675099B2 (en) * 2009-06-16 2014-03-18 Aptina Imaging Corporation Efficient system and method for face tracking
JP2011193063A (ja) * 2010-03-12 2011-09-29 Sanyo Electric Co Ltd 電子カメラ
CN102214291B (zh) * 2010-04-12 2013-01-16 云南清眸科技有限公司 一种快速准确的基于视频序列的人脸检测跟踪方法
JP6000954B2 (ja) * 2010-09-20 2016-10-05 クゥアルコム・インコーポレイテッドQualcomm Incorporated クラウド支援型拡張現実のための適応可能なフレームワーク
TWI452540B (zh) * 2010-12-09 2014-09-11 Ind Tech Res Inst 影像式之交通參數偵測系統與方法及電腦程式產品
WO2012139269A1 (en) 2011-04-11 2012-10-18 Intel Corporation Tracking and recognition of faces using selected region classification
KR101248808B1 (ko) * 2011-06-03 2013-04-01 주식회사 동부하이텍 경계 영역의 잡음 제거 장치 및 방법
WO2014074139A1 (en) * 2012-11-06 2014-05-15 Alcatel-Lucent Usa Inc. System and method for processing visual information for event detection
US9292753B2 (en) * 2012-11-21 2016-03-22 Intel Corporation Parallel face detection and tracking system
CN103150546B (zh) * 2012-12-26 2016-03-16 冉阳 视频人脸识别方法和装置
CN103116756B (zh) * 2013-01-23 2016-07-27 北京工商大学 一种人脸检测与跟踪方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075926A (ja) * 2007-09-21 2009-04-09 Mitsubishi Electric Corp 動画像顔検出装置および動画像顔検出方法
KR20110035662A (ko) * 2009-09-30 2011-04-06 아주대학교산학협력단 감시 카메라를 이용한 지능형 영상 검색 방법 및 시스템
JP2012205037A (ja) * 2011-03-25 2012-10-22 Olympus Imaging Corp 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
US9477889B2 (en) 2016-10-25
KR101969623B1 (ko) 2019-04-16
EP3014519A4 (en) 2017-02-15
CN105308618B (zh) 2020-04-03
EP3014519A1 (en) 2016-05-04
CN105308618A (zh) 2016-02-03
US20150154455A1 (en) 2015-06-04
WO2014205715A1 (en) 2014-12-31

Similar Documents

Publication Publication Date Title
KR101969623B1 (ko) 병렬 검출과 추적, 및/또는 그룹화된 피처 모션 시프트 추적을 이용한 얼굴 인식
US9679412B2 (en) 3D face model reconstruction apparatus and method
US9384385B2 (en) Face recognition using gradient based feature analysis
JP6024658B2 (ja) 物体検出装置、物体検出方法及びプログラム
JP6616521B2 (ja) 画像処理装置
US11544855B2 (en) Method and apparatus for tracking target
US10430966B2 (en) Estimating multi-person poses using greedy part assignment
US20130107065A1 (en) Inertial sensor aided stationary object detection in videos
JP2018045302A (ja) 情報処理装置、情報処理方法及びプログラム
WO2019183398A1 (en) Video object detection
JP2021120814A (ja) 学習プログラム、学習方法、及び情報処理装置
Avril et al. Dynamic adaptation of broad phase collision detection algorithms
CN111915713A (zh) 一种三维动态场景的创建方法、计算机设备、存储介质
US9183639B2 (en) Image frame processing including usage of acceleration data in assisting object location
KR102435957B1 (ko) 다양한 샘플을 이용하여 개선한 확률기반 사물검출기
US10713808B2 (en) Stereo matching method and system using rectangular window
Liu et al. High-Precision Camera Localization in Scenes with Repetitive Patterns
KR102499070B1 (ko) 인공신경망을 이용한 심근 세포 모니터링 방법 및 그 장치
Padmanabha et al. ZYNQ flexible platform for object recognition & tracking
WO2023179342A1 (zh) 重定位方法及相关设备
CN107507224B (zh) 运动物体检测方法、装置、介质及计算设备
Yuan et al. DNN and Model Combined Passive Localization and Social Distancing with Partial Inertial Aiding
US20150125083A1 (en) Object Detection Using Limited Learned Attribute RangesYOR920130570US1
Zhang et al. Research on Video Mosaic Technology Based on Fully Mechanized Face of Coal Mine
KR20210046219A (ko) 인터랙션 검출 방법 및 그 장치

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
GRNT Written decision to grant