KR20220033007A - 실시간 얼굴 랜드마크 검출 - Google Patents

실시간 얼굴 랜드마크 검출 Download PDF

Info

Publication number
KR20220033007A
KR20220033007A KR1020210086605A KR20210086605A KR20220033007A KR 20220033007 A KR20220033007 A KR 20220033007A KR 1020210086605 A KR1020210086605 A KR 1020210086605A KR 20210086605 A KR20210086605 A KR 20210086605A KR 20220033007 A KR20220033007 A KR 20220033007A
Authority
KR
South Korea
Prior art keywords
image
patches
facial
facial landmarks
patch
Prior art date
Application number
KR1020210086605A
Other languages
English (en)
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 KR20220033007A publication Critical patent/KR20220033007A/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • 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

Landscapes

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

Abstract

본 개시의 실시 예들은 모바일 장치들에서 실시간으로 얼굴 랜드마크들을 정확하게 검출하는 것을 가능하게 한다. 하나 이상의 어텐션 메커니즘(예를 들어, 어텐션 네트워크), 그래프 컨볼루션 모델(예를 들어, 2차원 얼굴 기하 그래프 컨볼루션 모델), 다중 스케일 성긴-미세(coarse-to-fine) 메커니즘, 패치-얼굴 랜드마크 분리 메커니즘, 및 오차 추정 기술들을 포함하는 얼굴 랜드마크 검출 모델의 구조가 제공된다. 어텐션 메커니즘은 유의미한 패치들에 주의를 기울임으로써 얼굴 랜드마크 검출 모델의 정확도를 증가시킬 수 있다. 그래프 컨볼루션 네트워크는 얼굴 랜드마크의 기하 구조를 고려함으로써 패치 특징 집계 능력을 향상시킬 수 있다. 성긴-미세 메커니즘은 두 사이클(예를 들어, 모델 구조를 통한 두 번의 얼굴 랜드마크 검출 반복들)로 네트워크 수렴을 감소시킨다. 패치-얼굴 랜드마크 분리 메커니즘은 상당한 정확도의 감소 없이 계산 부담을 감소시킨다. 나아가, 오차 추정 기술들은 계산 부담을 줄이고 모델의 정확도를 향상시키기 위해 활용될 수 있는 회귀 오차의 정확한 추정을 제공한다.

Description

실시간 얼굴 랜드마크 검출{REAL-TIME FACIAL LANDMARK DETECTION}
본 개시는 일반적으로 물체 검출에 관한 것으로, 좀 더 상세하게는 실시간 얼굴 랜드마크 검출에 관한 것이다.
효율적이고 고성능의 신경망 처리는 컴퓨터, 스마트폰, 태블릿, 및 웨어러블과 같은 장치들에서 중요해지고 있다. 일부 예들에서, 장치들은 증가한 처리 성능과 감소된 전력 소모로 전문화된 태스크들을 수행하는 전문화된 신경망 처리를 구현할 수 있다. 예를 들어, 신경망 처리는 다양한 이미징 및 컴퓨터 비전(vision) 애플리케이션들을 위해 이식될 수 있다. 물체 검출 시스템들은 감시 카메라, 자율 주행(예를 들어, 보행자 회피 애플리케이션들) 등과 같은 많은 비전 기반 애플리케이션들의 일부이다.
이러한 애플리케이션들을 위한 신경망 처리는 상당한 계산 비용들과 관련이 있을 수 있는데, 이는 전력이 제한된 시스템, 계산 복잡도가 제한된 시스템 등에서의 실시간 구현을 불가능하게 한다. 나아가, 계산 비용(예를 들어, 초당 소수점 연산(floating point operations per second; FLOPS)과 같은, 시간에 따른 계산의 횟수) 및 정확도 사이에 트레이드오프(trade-off)가 존재할 수 있다. 향상된 물체 검출 기술들이 요구될 수 있다.
본 개시는 실시간 얼굴 랜드마크 검출 방법을 제공한다.
실시간 얼굴 랜드마크 검출을 위한 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템이 설명된다. 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 실시 예들은 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하고, 상기 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 상기 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하고, 그리고 상기 검출된 복수의 얼굴 랜드마크들에 기반하여 상기 이미지를 처리한다.
실시간 얼굴 랜드마크 검출을 위한 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템이 설명된다. 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 실시 예들은 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하는 이미지 크롭부, 상기 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 상기 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하는 신경망, 및 상기 검출된 복수의 얼굴 랜드마크들에 기반하여 상기 이미지를 처리하는 후처리부를 포함한다.
실시간 얼굴 랜드마크 검출을 위한 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템이 설명된다. 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 실시 예들은 트레이닝 이미지들 및 상기 트레이닝 이미지들 상의 물체들에 대한 지상 실측 얼굴 랜드마크들을 포함하는 트레이닝 데이터를 수신하고, 상기 트레이닝 이미지들의 복수의 이미지 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 상기 이미지 패치들을 집계함으로써 상기 트레이닝 이미지들로부터 복수의 얼굴 랜드마크들을 예측하고, 상기 예측된 복수의 얼굴 랜드마크들에 기반하여 신경망에 대한 손실 함수를 계산하고, 그리고 상기 손실 함수에 기반하여 상기 신경망의 파라미터들을 업데이트한다.
본 개시의 실시 예에 따르면 실시간으로 얼굴 랜드마크를 검출할 수 있다.
도 1은 본 개시의 실시 예에 따른 물체 검출을 위한 시스템의 예를 나타낸다.
도 2는 본 개시의 실시 예에 따른 신경망의 예를 나타낸다.
도 3은 본 개시의 실시 예에 따른 실시간 얼굴 랜드마크 검출을 위한 과정의 예를 나타낸다.
도 4는 본 개시의 실시 예에 따른 신경망의 예를 나타낸다.
도 5는 본 개시의 실시 예에 따른 신경 특징 추출기의 예를 나타낸다.
도 6은 본 개시의 실시 예에 따른 어텐션 메커니즘의 예를 나타낸다.
도 7은 본 개시의 실시 예에 따른 특징 집계를 위한 그래프 컨볼루션 레이어들의 예를 나타낸다.
도 8은 본 개시의 실시 예에 따른 회귀 오차 추정의 예를 나타낸다.
도 9는 본 개시의 실시 예에 따른 실시간 얼굴 랜드마크 검출을 위한 과정의 예를 나타낸다.
본 개시는 컴퓨터 비전에 관한 것이다. 본 개시의 실시 예들은 얼굴 랜드마크들을 정확하고 효율적으로 검출한다. 예를 들어, 특정 실시 예들은 그래프 컨볼루션 네트워크에 기반한 성긴-미세(coarse-to-fine) 접근을 이용하여 얼굴 랜드마크들을 검출한다. 추가적으로 또는 대안적으로, 실시 예들은 어텐션 메커니즘, 패치-얼굴 랜드마크 분리 메커니즘, 및 오차 추정 기술들을 포함할 수 있다.
컴퓨터 비전 시스템들은 다른 예들 중에서도 물체 검출, 자율주행 차량, 및 모바일 장치 인증을 포함하는 다양한 애플리케이션들에서 사용된다. 예를 들어, 얼굴 랜드마크 검출 네트워크들은 코끝 또는 눈가, 입가와 같이 구체적인 특징들(예를 들어, 또는 얼굴 특징들)에 대응하는 얼굴 상의 점들(즉, 랜드마크들)을 식별한다. 얼굴 랜드마크 검출은 다른 예들 중에서도 얼굴 인식, 얼굴 미화, 얼굴 표정 검출, 및 아바타 렌더링과 같은 많은 애플리케이션을 위한 전처리 단계이다.
그러나, 종래의 얼굴 랜드마크 검출 네트워크들은 계산적으로 고비용이다. 예를 들어, 종래의 심층 신경망 처리 모델들은 초당 소수점 연산(floating point operations per second; FLOPS)에서 측정된 바와 같이 높은 계산 복잡도 및 높은 계산 비용을 동반한다. 이는 전력이 제한된(예를 들어, 배터리로 동작하는) 장치들 또는 면적이 제한된 시스템-온-칩들에 의한 물체 검출 알고리즘들의 구현을 어렵게 하고 있다. 결과적으로, 이러한 장치들은 실시간으로 또는 고해상도 이미지들 상에서 얼굴 랜드마크들을 식별하기 위해 종래의 얼굴 랜드마크 검출 네트워크들을 이용할 수 없다.
본 개시의 실시 예들은 얼굴 랜드마크들을 정확하고 효율적으로 검출하는 향상된 얼굴 랜드마크 검출 네트워크를 포함한다. 결과적으로, 모바일 장치와 같이 전력이 제한되고 면적이 제한된 장치들도 실시간으로 그리고 고해상도 이미지들 상에서 얼굴 랜드마크들을 검출할 수 있다. 예를 들어, 본 개시의 실시 예들은 이미지의 패치 특징들을 추출하고 그래프 컨볼루션 네트워크를 이용하여 추출된 패치 특징들을 집계함으로써 얼굴 랜드마크 검출을 효율적으로 수행한다. 그래프 컨볼루션 네트워크(예를 들어, 2차원 얼굴 기하 그래프 컨볼루션 모델)는 얼굴 랜드마크의 기하학적 구조를 고려함으로써 패치 특징 집계를 향상시킬 수 있다.
추가적으로 또는 대안적으로, 본 개시의 실시 예들은 어텐션 메커니즘(예를 들어, 어텐션 네트워크), 다중 스케일 성긴-미세 메커니즘, 패치-얼굴 랜드마크 분리 메커니즘, 및 오차 추정 기술들을 포함할 수 있다. 어텐션 메커니즘은 유의미한 패치들에 주의를 기울임으로써 얼굴 랜드마크 검출 모델의 정확도를 증가시킬 수 있다. 성긴-미세 메커니즘은 두 사이클(예를 들어, 모델 구조를 통한 두 번의 얼굴 랜드마크 검출 반복들)로 네트워크 수렴을 감소시킨다. 패치-얼굴 랜드마크 분리 메커니즘은 상당한 정확도의 감소 없이 계산 부담을 감소시킨다. 나아가, 오차 추정 기술들은 계산 부담을 줄이고 모델의 정확도를 향상시키기 위해 활용될 수 있는 회귀 오차의 정확한 추정을 제공한다.
도 1은 본 개시의 실시 예에 따른 물체 검출을 위한 시스템의 예를 나타낸다. 나타난 예는 사용자(100), 장치(105), 클라우드(110), 서버(115), 및 데이터베이스(150)를 포함한다. 사용자(100)는 서버(115)와 통신할 수 있는 장치(105)를 사용할 수 있다. 한 실시 예에서, 서버(115)는 프로세서(120), 메모리(125), I/O 컨트롤러(130), 이미지 크롭부(135), 신경망(140), 및 후처리부(145)를 포함할 수 있다.
본 명세서에 설명되는 기술들에 따르면, 도 1에 나타난 물체 검출을 위한 시스템은 감소한 계산 부하(예를 들어, 비용이 제한된 또는 전력이 제한된 장치들에서 처리되거나 사용될 수 있는 계산 부하)로 정확하고 실시간의 물체 검출(예를 들어, 얼굴 랜드마크 검출)을 위해 구현될 수 있다.
장치(105)는 PC, 랩톱 컴퓨터, 메인프레임 컴퓨터, 팸톱 컴퓨터, 퍼스널 어시스턴트, 모바일 장치, 또는 임의의 다른 적절한 처리 장치일 수 있다. 일부 예들에서, 장치(105)는 비용이 제한된 또는 전력이 제한된 장치를 포함 또는 지칭할 수 있다. 일부 경우들에서, 장치(105)는 이미지 센서를 포함할 수 있다. 이미지 센서는 일반적으로 문자 또는 사진들과 같은 것들을 포함하는 이미지들을 광학적으로 스캔하고 디지털 이미지로 변환할 수 있는 임의의 이미지 판독 장치 또는 이미지 센서(예를 들어, 카메라 또는 이미지 스캐너)를 포함할 수 있다. 예를 들어, 얼굴 랜드마크 검출 애플리케이션들에서, 장치(105)는 얼굴의 적어도 일부를 포함하는 이미지 상의 얼굴 랜드마크들의 검출을 위한 이미지 센서를 포함하는 모바일 장치 또는 보안 카메라를 포함할 수 있다. 다른 예로서, 자율주행 차량 애플리케이션들에서, 장치(105)는 이미지 센서(예를 들어, 자율주행 운전 동작들을 위한 물체 검출 카메라)를 포함하는 자율주행 차량을 포함할 수 있다. 또 다른 예로서, 감시 애플리케이션들에서, 장치(105)는 감시 이미지들 또는 비디오를 캡처하기 위한 이미지 센서를 포함하는 보안 카메라를 포함할 수 있다.
클라우드(110)는 데이터 저장 또는 연산 능력과 같은 컴퓨터 시스템 리소스들의 주문형(on-demand) 가용성을 제공하도록 구성되는 컴퓨터 네트워크일 수 있다. 일부 예들에서, 클라우드(110)는 사용자(100)에 의한 능동적인 관리 없이 리소스들을 제공할 수 있다. 클라우드(110)라는 용어는 종종 인터넷을 통해 많은 사용자들(100)에게 접근 가능한 데이터 센터들을 설명하기 위해 사용된다. 일부 대형 클라우드 네트워크들은 중앙 서버들로부터 다수의 지점들에 분산되는 기능들을 갖는다. 서버(예를 들어, 서버(115))는 사용자(100)에게 직접적인 또는 가까운 연결을 갖는 경우 엣지(edge) 서버라고 지칭된다. 일부 경우들에서, 클라우드(110)는 단일의 조직으로 한정된다. 다른 예들에서, 클라우드(110)는 많은 조직들에서 이용 가능하다. 하나의 예에서, 클라우드(110)는 다수의 엣지 라우터들(edge routers) 및 코어 라우터들(core routers)을 포함하는 다중 계층 통신 네트워크를 포함한다. 다른 예에서, 클라우드(110)는 단일의 물리적인 위치 상의 스위치들의 지역적 집합에 기반한다.
서버(115)는 하나 이상의 다양한 네트워크들에 의해 연결되는 사용자들(100)에게 하나 이상의 기능들을 제공한다. 일부 경우들에서, 서버(115)는 단일의 마이크로프로세서 보드를 포함하는데, 이는 서버(115)의 모든 양상들을 제어하기 위한 마이크로프로세서를 포함한다. 일부 경우들에서, 서버(115)는 HTTP(hypertext transfer protocol) 및 SMTP(simple mail transfer protocol)를 통해 하나 이상의 네트워크들 상의 다른 장치들(105)/사용자들(100)과 데이터를 교환하기 위해 마이크로프로세서 및 프로토콜을 이용하며, FTP(file transfer protocol) 및 SNMP(simple network management protocol)과 같은 다른 프로토콜들도 또한 사용될 수 있다. 일부 경우들에서, 서버(115)는 HTML(hypertext markup language) 형식의 파일들(예를 들어, 웹 페이지를 출력하기 위해)을 전송 및 수신하도록 구성된다. 다양한 실시 예들에서, 서버(115)는 범용 계산 장치, PC, 랩톱 컴퓨터, 메인프레임 컴퓨터, 수퍼 컴퓨터, 또는 임의의 다른 적절한 장치를 포함한다.
데이터베이스(150)는 조직화된 데이터의 집합이다. 예를 들어, 데이터베이스(150)는 스키마(schema)로 알려진 특정 형식으로 데이터를 저장한다. 데이터베이스(15)는 단일 데이터베이스, 분산 데이터베이스, 다중 분산 데이터베이스들, 또는 비상 백업 데이터베이스로서 구축될 수 있다. 일부 경우들에서, 데이터베이스 컨트롤러는 데이터베이스(150)에서의 데이터 저장 및 처리를 관리할 수 있다. 일부 경우들에서, 사용자(100)는 데이터베이스(150)(예를 들어, 데이터베이스 컨트롤러)와 상호작용한다. 다른 경우들에서, 데이터베이스 컨트롤러는 사용자(100)와의 상호작용 없이 자동으로 동작할 수 있다.
소프트웨어는 본 개시의 양상들을 구현하기 위한 코드를 포함할 수 있다. 소프트웨어는 메모리(125)(예를 들어, 시스템 메모리 또는 다른 메모리)와 같은 비일시적 컴퓨터 판독 가능 매체에 저장될 수 있다. 일부 경우들에서, 소프트웨어는 프로세서(120)에 의해 직접 실행 가능하지 않을 수 있으나, 컴퓨터가 본 명세서에 설명되는 기능들을 수행하도록 야기할 수 있다(예를 들어, 컴파일되거나 실행되었을 때).
프로세서(120)는 지능형 하드웨어 장치(예를 들어, 범용 처리 장치, DSP, CPU, GPU, 마이크로컨트롤러, ASIC, FPGA, 프로그래밍 가능한 논리 장치, 이산 게이트 또는 트랜지스터 논리 장치, 이산 하드웨어 장치, 또는 이들의 조합)이다. 일부 경우들에서, 프로세서(120)는 메모리 컨트롤러를 이용하여 메모리(125)(예를 들어, 메모리 어레이)를 동작시키도록 구성된다. 다른 경우들에서, 메모리 컨트롤러는 프로세서(120)에 통합된다. 일부 경우들에서, 프로세서(120)는 다양한 기능들을 수행하기 위해 메모리(125)에 저장된 컴퓨터 판독 가능 명령들을 실행하도록 구성된다. 일부 실시 예들에서, 프로세서(120)는 모뎀 처리, 베이스밴드 처리, 디지털 신호 처리, 또는 송신 처리를 위한 전용 목적의 구성 요소들을 포함한다.
메모리(125)의 예들은 RAM, ROM, 또는 하드 디스크를 포함한다. 메모리 장치들의 예는 솔리드 스테이트 메모리 및 하드 디스크 드라이브를 포함한다. 일부 예들에서, 메모리(125)는 실행되었을 때 프로세서(120)가 본 명세서에 설명되는 다양한 기능들을 수행하도록 하는 명령들을 포함하는 컴퓨터 판독 가능 및 컴퓨터 실행 가능 소프트웨어를 저장하기 위해 사용된다. 일부 경우들에서, 메모리(125)는 다른 것들 중에서도, 주변 부품 또는 장치들과의 상호작용과 같은 기본 하드웨어 또는 소프트웨어 동작을 제어하는 BIOS(basic input/output system)를 포함한다. 일부 경우들에서, 메모리 컨트롤러는 메모리 셀들을 동작시킨다. 예를 들어, 메모리 컨트롤러는 행 디코더, 열 디코더, 또는 둘 다를 포함할 수 있다. 일부 경우들에서, 메모리(125) 내부의 메모리 셀들은 논리 상태(logical state)의 형태로 정보를 저장한다.
디지털 이미지 처리 및 컴퓨터 비전에서, 이미지 분할(image segmentation)은 디지털 이미지를 다수의 조각들(픽셀들의 세트들, 이미지 물체들(image objects)이라고도 알려짐) 분할하는 과정이다. 분할의 목적은 이미지의 표현을 더 의미 있고 분석하기 쉬운 무엇인가로 단순화하고 그리고/또는 바꾸는 것이다. 이미지 분할은 이미지들 상의 물체들 및 경계들(선들, 곡선들, 얼굴 랜드마크들, 기타 등등)의 위치를 알아내기 위해 사용될 수 있다. 일부 예들에서, 이미지 분할은 동일한 레이블을 지닌 픽셀들이 특정 특징들을 공유하도록 이미지들의 모든 픽셀들에 레이블을 지정하는 과정이다. 일부 경우들에서, 본 명세서에 설명되는 얼굴 랜드마크 검출 기술들의 양상들은 이미지 분할을 포함하거나 또는 이미지 분할로서 지칭될 수 있다.
다운샘플링은 샘플들을 줄이는 과정(예를 들어, 멀티레이트 디지털 신호 처리 시스템에서 샘플링 속도의 감소)을 지칭한다. 다운샘플링은 압축 및 필터링(즉, 데시메이션(decimation))을 포함할 수 있다. 다운샘플링은 신호의 샘플들의 시퀀스(예를 들어, 이미지) 상에서 수행될 수 있고, 더 낮은 속도 또는 낮은 해상도에서 신호를 샘플링함으로써 획득되는 시퀀스를 근사하여 생성할 수 있다. 압축은 정수의 배수로 데시메이션하는 것을 지칭할 수 있다. 예를 들어, 10배의 데시메이션은 매 10번째 샘플을 사용하는(예를 들어, 남기는, 인코딩하는, 샘플링하는, 기타 등등) 것을 야기한다. 따라서 압축의 과정은 데이터 포인트들을 제거하는 과정을 지칭한다.
I/O 컨트롤러(130)는 장치를 위한 입력 및 출력 신호들을 관리할 수 있다. I/O 컨트롤러(130)는 또한 장치에 통합되지 않은 주변 기기들을 관리할 수 있다. 일부 경우들에서, I/O 컨트롤러(130)는 외부 주변 기기들로의 물리적인 연결 또는 포트를 나타낼 수 있다. 일부 경우들에서, I/O 컨트롤러(130)는 iOS®ANDROID®®®®®®또는 다른 알려진 운영체제와 같은 운영체제를 활용할 수 있다. 다른 경우들에서, I/O 컨트롤러(130)는 모뎀, 키보드, 마우스, 터치 스크린, 또는 유사한 장치를 나타내거나 또는 상호작용할 수 있다. 일부 경우들에서, I/O 컨트롤러(130)는 프로세서의 일부로서 구현될 수 있다. 일부 경우들에서, 장치(105)는 I/O 컨트롤러(130) 또는 I/O 컨트롤러(130)에 의해 제어되는 하드웨어 구성 요소들을 통해 서버(115)와 상호작용할 수 있다.
일부 실시 예들에 따르면, I/O 컨트롤러(130)는 검출될 하나 이상의 물체들을 포함하는 이미지를 수신한다. 일부 예들에서, I/O 컨트롤러(130)는 이미지를 캡처한다(예를 들어, 보안 카메라와 같은 카메라를 이용하여). 즉, I/O 컨트롤러(130)는 이미지 센서 자체를 포함할 수 있거나 또는 장치(105)의 일부일 수 있는 이미지 센서로부터 이미지(예를 들어, 이미지 데이터)를 수신할 수 있다.
일부 실시 예들에 따르면, 이미지 크롭부(135)는 얼굴의 적어도 일부를 포함하는 이미지의 패치들의 세트를 생성한다. 일부 예들에서, 이미지 크롭부(135)는 얼굴 랜드마크들의 세트의 개수보다 적은 수의 크롭된 패치들을 선택하는데, 여기서 이미지의 패치들의 세트는 크롭된 패치들의 수에 기반하여 생성된다. 일부 예들에서, 이미지 크롭부(135)는 검출된 얼굴 랜드마크들의 세트에 기반하여 고해상도 이미지의 패치들의 제 2 세트를 생성하는데, 여기서 이미지는 저해상도 이미지를 포함한다. 일부 예들에서, 이미지 크롭부(135)는 추정된 회귀 오차가 임계 오차 값보다 큰 경우 이미지의 패치들의 제 2 집합을 생성한다.
일부 실시 예들에 따르면, 이미지 크롭부(135)는 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하도록 구성된다. 일부 예들에서, 이미지 크롭부(135)는 얼굴 랜드마크들의 세트의 수보다 적은 수의 크롭된 패치들을 선택하도록 구성되는데, 여기서 이미지의 패치들의 세트는 크롭된 패치들의 수에 기반하여 생성된다. 일부 예들에서, 이미지는 저해상도 이미지를 포함하고, 후처리부(145)는 저해상도 이미지의 검출된 얼굴 랜드마크들의 세트에 기반하여 고해상도 이미지의 패치들을 식별하도록 구성된다. 일부 예들에서, 이미지 크롭부(135)는 오차가 임계 오차 값보다 큰 경우 이미지의 패치들의 제 2 세트를 생성하도록 구성된다.
이미지 크롭부(135)는 도 4를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함한다.
일부 실시 예들에 따르면, 신경망(140)은 손실 함수에 기반하여 검출된 물체들의 세트와 관련된 회귀 에러를 추정하고, 이미지는 추정된 회귀 오차에 기반하여 처리된다. 일부 예들에서, 손실 함수는 검출된 물체와 지상 실측(ground truth) 사이의 정규화된 유클리드 거리와, 추정된 오차 및 실제 오차 사이의 절대 차이의 가중 평균이다.
일부 실시 예들에 따르면, 신경망(140)은 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하도록 구성된다. 일부 예들에서, 신경망(140)은 오차를 출력하도록 구성되는데, 오차는 신경망(140)에 의해 추정된 회귀 오차를 포함한다. 일부 예들에서, 신경망(140)은 그래프 컨볼루션 네트워크를 이용한 2차원 얼굴 랜드마크 그래프에 기반하여 패치 특징들을 집계한다.
일부 실시 예들에 따르면, 신경망(140)은 이미지 패치들 및 이미지 패치들 상의 물체들에 대한 지상 실측 정보를 포함하는 트레이닝 데이터를 수신한다. 일부 예들에서, 신경망(140)은 이미지 패치들로부터 얼굴 랜드마크들의 세트를 예측한다. 일부 예들에서, 신경망(140)은 예측된 얼굴 랜드마크들의 세트에 기반하여 신경망(140)을 위한 손실 함수를 계산한다. 일부 예들에서, 신경망(140)은 손실 함수에 기반하여 신경망(140)을 위한 파라미터들을 업데이트한다.
신경망(140)은 도 2를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함한다.
일부 실시 예들에 따르면, 후처리부(145)는 검출된 얼굴 랜드마크들의 세트에 기반하여 이미지를 처리한다. 일부 예들에서, 후처리부(145)는 디코딩에 기반하여 얼굴 랜드마크들의 세트의 좌표들을 식별하고, 이미지는 얼굴 랜드마크들의 세트의 식별된 좌표들에 기반하여 처리된다. 일부 예들에서, 후처리부(145)는 처리된 이미지에 기반하여 얼굴 인식 계산, 얼굴 미화 계산, 얼굴 표정 검출 계산, 아바타 렌더링 계산, 또는 이들의 조합을 수행한다.
일부 실시 예들에 따르면, 후처리부(145)는 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리하도록 구성될 수 있다.
한편, 도 1을 참조하여 상술한 실시 예들에서 프로세서(120), 메모리(125), I/O 컨트롤러(130), 이미지 크롭부(135), 신경망(140), 및 후처리부(145)는 서버(115)에 포함되는 것으로 설명되었으나, 본 개시는 이에 한정되지 않는다. 다른 실시 예에서, 프로세서(120), 메모리(125), I/O 컨트롤러(130), 이미지 크롭부(135), 신경망(140), 및 후처리부(145)는 장치(105)에 포함될 수 있고, 상술한 동작들은 장치(105)에서 수행될 수도 있다.
도 2는 본 개시의 실시 예에 따른 신경망(200)의 예를 나타낸다. 신경망(200)은 도 1을 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함한다. 한 실시 예에서, 신경망(200)은 신경 특징 추출기(205), 어텐션 네트워크(210), 그래프 컨볼루션 네트워크(215), 및 디코더(220)를 포함한다. 신경 특징 추출기(205)는 도 4 내지 도 5를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함한다. 어텐션 네트워크(210)는 도 4를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함한다. 그래프 컨볼루션 네트워크(215)는 도 4 및 도 7을 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함한다.
효율적이고 고성능의 신경망 처리는 컴퓨터, 스마트폰, 태블릿, 및 웨어러블과 같은 장치들에서 중요해지고 있다. CPU, GPU, 및 NPU와 같은 범용 계산 유닛들은 전용 하드웨어를 이용하여 태스크들을 수행할 수 있다. 전용 신경 프로세서(specific neural processor; SNP)는 신경망 처리를 위해 사용될 수 있는데, SNP는 고효율의 전용 네트워크(예를 들어, 전용 컨볼루션 신경망(CNN), 전용 인공 신경망(ANN), 기타 등등)를 실행할 수 있다.
신경망(200)은 입력 이미지 데이터에 기반하여(예를 들어, 입력 이미지 패치들에 기반하여) 얼굴 랜드마크 정보를 생성(예를 들어, 출력)할 수 있다. 신경망(200)은 명시적으로 프로그래밍되지 않고, 알려진 데이터에 대한 반복을 통해 특정 패턴들을 학습할 수 있는 컴퓨터 알고리즘의 한 유형이다. 신경망(200)은 입력 노드들, 숨겨진 노드들, 및 출력 노드들을 포함하는 인지 모델을 지칭할 수 있다. 신경망(200)의 노드들은 노드가 이전 노드들의 출력에 기반하여 활성화되는지 여부를 계산하는 활성화 함수를 가질 수 있다. 시스템을 트레이닝시키는 것은(예를 들어, 신경망(200)의 하나 이상의 양상들을 트레이닝시키는 것은) 입력들에 대한 값들을 공급하고, 결과가 원하는 출력들의 세트에 근접하게 근사할 때까지 엣지 가중치들 및 활성화 함수들을 변형하는 것(알고리즘적으로 또는 무작위로)을 수반할 수 있다.
일부 예들에서, 신경망(200)은 ANN의 하나 이상의 양상들을 지칭하거나, 또는 포함할 수 있다. ANN은 다수의 연결된 노드들(즉, 인공 뉴런들)을 포함하는 하드웨어 또는 소프트웨어 구성 요소로, 인간 뇌의 뉴런들에 대략적으로 대응한다. 각 연결, 또는 엣지는 하나의 노드로부터 다른 노드로 신호를 전송한다(마치 뇌의 물리적인 시냅스들과 같이). 노드가 신호를 수신하면, 노드는 신호를 처리하고 그 후 처리된 신호를 다른 연결된 노드들로 전송한다. 일부 경우들에서, 노드들 사이의 신호들은 실수들을 포함하고, 각 노드의 출력은 입력들의 합의 함수에 의해 계산된다. 각 노드와 엣지는 신호가 어떻게 처리되고 전송되는지 결정하는 하나 이상의 노드 가중치들과 관련이 있다. 트레이닝 과정 동안, 이러한 가중치들은 결과의 정확도를 향상시키기 위해 조절된다(예를 들어, 현재 결과와 대상 결과 사이의 차이에 어떤 방법으로든 대응하는 손실 함수를 최소화함으로써). 엣지의 가중치는 노드들 사이에 전송되는 신호의 강도를 증가 또는 감소시킨다. 일부 경우들에서, 노드들은 특정 값 아래에서는 신호가 전혀 전송되지 않는 임계 값을 갖는다. 일부 예들에서, 노드들은 레이어들로 집계될 수 있다. 서로 다른 레이어들은 그들의 입력들에 대해 서로 다른 변형들을 수행한다. 첫 번째 레이어는 입력 레이어로 알려져 있으며, 마지막 레이어는 출력 레이어로 알려져 있다. 일부 경우들에서, 신호들은 특정 레이어들을 여러 번 통과한다.
일부 예들에서, 신경망(200)은 CNN의 하나 이상의 양상들을 지칭하거나, 또는 포함할 수 있다. CNN은 컴퓨터 비전 또는 이미지 분류 시스템들에서 흔히 사용되는 신경망의 한 종류이다. 일부 경우들에서, CNN은 최소화된 전처리로 디지털 이미지들의 처리를 가능하게 할 수 있다. CNN은 컨볼루션(또는 교차-상관관계의) 은닉 레이어들의 사용에 의해 특징지어질 수 있다. 이러한 레이어들은 다음 레이어로 결과를 전송하기 전에 입력에 대해 컨볼루션 연산을 적용한다. 각 컨볼루셔널 노드는 제한된 입력 필드(즉, 수용 필드)에 대한 데이터를 처리할 수 있다. CNN의 순방향 통과 동안, 각 레이어의 필터들은 입력 볼륨에 걸쳐 컨볼루션되어, 필터와 입력 사이의 내적(dot product)을 계산할 수 있다. 트레이닝 과정 동안, 필터들은 변형되어 입력 내에서 특정 특징을 검출하는 경우 활성화될 수 있다. 표준 CNN은 출력 레이어의 길이가 가변적인 경우, 즉 관심 있는 물체들의 수가 고정되지 않은 경우 적절하지 않을 수 있다. 종래의 CNN 기술들을 이용하여 분석할 다수의 영역들을 선택하는 것은 계산적 비효율성을 야기할 수 있다. 따라서, R-CNN 방식에서, 유한한 수의 제안된 영역들이 선택되고 분석된다. 일부 예들에서, 신경망(200)은 R-CNBN의 하나 이상의 양상들을 지칭하거나, 또는 포함할 수 있다.
일부 실시 예들에 따르면, 신경 특징 추출기(205)는 크롭된 이미지의 패치들에 특징 추출기를 적용한다. 일부 실시 예들에 따르면, 신경 특징 추출기(205)는 복수의 패치들 각각에 대해 패치 특징들을 추출하도록 구성될 수 있다.
일부 실시 예들에 따르면, 어텐션 네트워크(210)는 크롭된 패치들로부터 가중 패치 특징들을 획득하는데, 가중 패치 특징들은 그래프 컨볼루션 네트워크(215)를 이용하여 집계된다. 일부 실시 예들에 따르면, 어텐션 네트워크(210)는 복수의 패치들로부터 가중 패치 특징들을 획득하도록 구성될 수 있다.
일부 실시 예들에 따르면, 그래프 컨볼루션 네트워크(215)는 패치들의 세트의 각각에 대해 패치 특징들을 추출하고, 패치 특징들을 집계함으로써 얼굴 랜드마크들의 세트를 검출한다. 일부 예들에서, 그래프 컨볼루션 네트워크(215)는 2차원 얼굴 랜드마크에 기반하여 패치 특징들을 집계한다. 일부 예들에서, 2차원 얼굴 랜드마크 그래프는 68개의 점들의 들로네 테셀레이션(Delaunay Tessellation)을 포함한다. 일부 예들에서, 그래프 컨볼루션 네트워크(215)는 패치들의 제 2 세트 각각에 대해 제 2 패치 특징들을 추출하고, 제 2 패치 특징들을 집계함으로써 얼굴 랜드마크들의 제 2 세트를 검출한다. 일부 예들에서, 그래프 컨볼루션 네트워크(215)는 저해상도 이미지 상에서 얼굴 랜드마크들의 제 2 세트를 검출하는데, 이미지는 고해상도 이미지를 포함하고, 이미지의 패치들의 세트는 검출된 얼굴 랜드마크들의 제 2 세트에 기반하여 생성된다. 일부 실시 예들에 따르면, 그래프 컨볼루션 네트워크(215)는 가중 패치 특징들을 집계하도록 구성될 수 있다.
일부 실시 예들에 따르면, 디코더(220)는 집계된 패치 특징들을 디코딩(복호화)한다. 일부 실시 예들에 따르면, 디코더(220)는 집계된 패치 특징들을 디코딩하도록 구성될 수 있는데, 후처리부는 디코딩된 집계된 패치 특징들에 기반하여 이미지를 처리한다. 예를 들어, 디코더(220)는 집계된 패치 특징들을 디코딩하여, 얼굴 랜드마크 정보(예를 들어, 얼굴 랜드마크 위치 좌표들)를 결정(예를 들어, 생성)할 수 있다. 얼굴 랜드마크 정보(예를 들어, 얼굴 랜드마크 위치 좌표들)는 다양한 이미지 처리 동작들을 위해 사용될 수 있다(예를 들어, 도 3의 동작 320을 참조하여 본 명세서에서 후술하는 바와 같이). 예를 들어, 얼굴 랜드마크 정보는 얼굴 랜드마크(들)의 절대적 또는 상대적인 좌표들(예를 들어, x축을 따라 수평 차원 및 y축을 따라 수직 차원)을 포함할 수 있다. 이러한 좌표 정보는 예를 들어, 검출된 얼굴 랜드마크 정보와 미리 결정된 얼굴 랜드마크 정보를 비교함으로써 얼굴 인식 애플리케이션들을 위해 사용될 수 있다.
도 3은 본 개시의 실시 예에 따른 실시간 얼굴 랜드마크 검출을 위한 과정의 예를 나타낸다. 일부 예들에서, 이러한 동작들은 장치의 기능적 구성 요소들을 제어하기 위한 코드들의 세트를 실행하는 프로세서를 포함하는 시스템에 의해 수행된다. 추가적으로 또는 대안적으로, 특정 과정들은 전용 목적 하드웨어를 이용하여 수행된다. 일반적으로, 이러한 동작들은 본 개시의 양상들에 따라 설명되는 방법들 및 과정들에 따라 수행된다. 일부 경우들에서, 본 명세서에 설명되는 동작들은 다양한 하위 단계들로 구성되거나, 또는 다른 동작들과 함께 수행된다.
동작 300에서, 시스템은 이미지의 패치들의 세트를 생성하는데, 이미지는 얼굴의 적어도 일부를 포함한다. 일부 경우들에서, 이 단계의 동작들은 도 1 및 도 4를 참조하여 설명되는 이미지 크롭부를 지칭하거나, 또는 이미지 크롭부에 의해 수행될 수 있다.
동작 305에서, 시스템은 이미지의 패치들에 특징 추출기를 적용한다. 일부 경우들에서, 이 단계의 동작들은 도 2, 도 4, 및 도 5를 참조하여 설명되는 신경 특징 추출기를 지칭하거나, 또는 신경 특징 추출기에 의해 수행될 수 있다.
동작 310에서, 시스템은 어텐션 네트워크를 이용하여 크롭된 패치들로부터 가중 패치 특징들을 획득한다. 일부 경우들에서, 이 단계의 동작들은 도 2 및 도 4를 참조하여 설명되는 어텐션 네트워크를 지칭하거나, 또는 어텐션 네트워크에 의해 수행될 수 있다.
동작 315에서, 시스템은 그래프 컨볼루션 네트워크를 이용하여 얼굴 랜드마크들의 세트를 검출할 수 있다. 예를 들어, 그래프 컨볼루션 네트워크는 패치들의 세트의 각각에 대해 패치 특징들을 추출하고 패치 특징들을 집계할 수 있다. 일부 경우들에서, 이 단계의 동작들은 도 2, 도 4, 및 도 7을 참조하여 설명되는 그래프 컨볼루션 네트워크를 지칭하거나, 또는 그래프 컨볼루션 네트워크에 의해 수행될 수 있다.
단계 320에서, 시스템은 검출된 얼굴 랜드마크들의 세트에 기반하여 이미지를 처리한다. 예를 들어, 그래프 컨볼루션 네트워크는 패치 특징들을 추출하고 집계한 것에 기반하여 얼굴 랜드마크 정보(예를 들어, 얼굴 랜드마크들의 좌표들)를 생성(예를 들어, 출력)할 수 있다. 일반적으로, 시스템은 그 후 다양한 방법으로, 검출된 얼굴 랜드마크들의 세트에 기반하여 이미지를 처리할 수 있다(예를 들어, 얼굴 랜드마크들의 좌표는 얼굴 인식, 아바타 렌더링, 얼굴 표정 검출, 기타 등등과 같은 이미지 처리 애플리케이션들을 위해 사용될 수 있다). 예를 들어, 인체 골격 검출은 인체(손, 다리, 머리, 관절, 기타 등등) 상의 두드러진(salient) 랜드마크 검출의 예이고, 인간의 얼굴 랜드마크 검출과 유사하다. 본 개시는 다른 예들 중에서도, 얼굴 랜드마크 검출 및 인체 골격 검출에 적용될 수 있다.
검출된 얼굴 랜드마크들의 세트에 기반하여 이미지를 처리하는 것은 일반적으로 검출된 얼굴 랜드마크들의 세트에 기반하여 이미지 데이터를 관측하고, 클리닝하고, 변형하고, 그리고 모델링하는 하나 이상의 과정들을 포함할 수 있다. 일부 경우들에서, 이미지 처리 시스템들은 유용한 정보를 발견하고, 정보를 수집하고, 결론을 전달하고, 그리고 의사 결정을 지지하기 위한 구성 요소들을 포함할 수 있다. 일부 경우들에서, 동작 320은 도 1을 참조하여 설명되는 후처리부를 지칭하거나, 또는 후처리부에 의해 수행될 수 있다.
도 4는 본 개시의 실시 예에 따른 신경망(예를 들어, 신경망 구조)의 예를 나타낸다. 도 4의 신경망은 도 1 내지 도 2를 참조하여 설명되는 대응하는 구성 요소들의 예이거나, 또는 양상들을 포함할 수 있다. 나타난 예는 이미지 크롭부(400), 신경 특징 추출기(405), 어텐션 네트워크(410), 그래프 컨볼루션 네트워크(415), 및 다중 레이어 퍼셉트론(multi-layer perceptron)(420)을 포함한다. 이미지 크롭부(400)는 도 1을 참조하여 설명되는 대응하는 구성 요소의 예이거나, 양상들을 포함한다. 신경 특징 추출기(405)는 도 2 및 도 5를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 양상들을 포함한다. 어텐션 네트워크(410)는 도 2를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 양상들을 포함한다. 그래프 컨볼루션 네트워크(415)는 도 2 및 도 7을 참조하여 설명되는 대응하는 구성 요소의 예이거나, 양상들을 포함한다.
얼굴 랜드마크 검출(예를 들어, 얼굴 랜드마크 검출 계산들) 이전에, 얼굴 검출기(예를 들어, 얼굴 검출 기능을 갖는 이미지 센서)는 이미지의 각 얼굴 주변에 하나 이상의 바운딩 박스(bounding box)들을 검출한다. 얼굴 랜드마크 모듈은 그 후 하나 이상의 바운딩 박스들 각각의 내부의 얼굴 랜드마크들을 검출한다. 일부 얼굴 랜드마크 검출 방법들은 실시간 처리에는 적합하지 않을 수 있는 대형 심층 모델들을 사용한다(예를 들어, 일부 신경망 계산들은 모바일 장치에서의 실시간 처리를 위해서는 지나치게 집약적일 수 있다). 본 개시의 실시 예들은(예를 들어, 도 4에 나타난 하나 이상의 양상들을 포함하는) 빠르고, 정확하고, 경량의 신경망 모델을 제공하고, 고정확도, 경량 모델을 용이하게 한다.
본 개시의 얼굴 랜드마크 모델은 패치 기반일 수 있는데, 얼굴 랜드마크 검출 모델은 전체 얼굴 이미지(또는 예를 들어, 얼굴 검출기에 의해 결정된 전체 바운딩 박스)를 보지(예를 들어, 스캔하지, 처리하지) 못할 수 있다. 오히려, 얼굴 랜드마크 검출 모델은 전체 얼굴 이미지의 크롭된 패치들을 검출할 수 있고, 계산 사이클들을 줄일 수 있다. 얼굴 랜드마크 검출 모델은 제 1 및 제 2 반복으로 구성되고, 성긴-미세(coarse-to-fine) 메커니즘을 활용한다. 성긴-미세 메커니즘은 저해상도 이미지로 모델을 적용하고, 미세한 이미지(예를 들어, 고해상도 이미지)로 해상도를 증가시키는 방법이다. 본 개시의 경우, 얼굴 랜드마크 검출 모델은 상대적으로 저해상도 이미지에 적용되고(예를 들어, 제 1 반복에서), 그 후 해상도는 증가되고 얼굴 랜드마크 검출 모델은 상대적으로 고해상도 이미지에 적용된다(예를 들어, 제 2 반복에서).
제 1 반복은 성긴 해상도를 이용하여 얼굴의 대략적인 장소 및 위치를 추론할 수 있다. 제 2 반복은 고해상도 이미지를 이용하여, 제 1 반복에 의해 검출된 얼굴 랜드마크들의 위치를 구체화한다. 제 1 반복 동안, 패치들은 크롭된 후 경량 특징 추출기에 진입한다. 경량 특징 추출기는 두 개의 컨볼루션 레이어들을 갖는 얕은(shallow) CNN일 수 있다(예를 들어, 도 5를 참조하여 본 명세서에 더 상세하게 설명되는 바와 같이). 따라서, 동일한 스케일 상에서 랜드마크를 회귀시키는 패치 기반 솔루션들과 달리, 본 개시는 성긴-미세 접근을 이용한다. 저해상도 얼굴 이미지로 회귀를 시작함으로써(예를 들어, 회귀의 제 1 반복), 패치들은 얼굴의 일부 또는 전체를 덮고, 본 개시의 얼굴 랜드마크 검출 모델은 얼굴의 장소 및 위치를 추론하기에 충분한 정보를 갖는다. 본 개시는 얼굴 랜드마크 검출을 위한 계산 사이클들을 줄이는데, 수렴하기까지 반복들의 횟수는 두 번이다.
예를 들어, 도 4에 나타난 바와 같이, 제 1 반복은 저해상도 얼굴 이미지(예를 들어, 14x14 패치의 마킹들을 갖는)에 모델을 적용할 수 있다. 저해상도 얼굴 이미지의 저해상도 특성으로 인해 얼굴의 상당 부분(예를 들어, 상대적으로 큰 부분)을 패치가 어떻게 덮는지 주목하라. 제 2 반복은 더 미세한 해상도의 이미지로부터의 패치(예를 들어, 미세한 해상도의 이미지로부터 14x14 패치의 마킹들을 갖는)에 모델을 적용할 수 있다. 따라서, 이미지 크롭부(400)에 의해 생성되는 패치들은 이미지의 해상도에 기반할 수 있다. 예를 들어, 이미지 크롭부(400)에 의해 생성되는 복수의 패치들은 제 1 반복 및 제 2 반복에 대해 서로 다를 수 있는데, 제 2 반복에 대해 이미지 크롭부(400)에 의해 생성되는 복수의 패치들은 제 1 반복의 경량 특징 추출기로부터의 얼굴 랜드마크들에 기반할 수 있다(예를 들어, 미세한 얼굴 랜드마크 검출은 성기게 검출된 얼굴 랜드마크들에 대응하는 패치들 상에서 수행될 수 있다).
신경 특징 추출기(405)는 경량 특징 추출기를 포함할 수 있다. 일부 예들에서, 신경 특징 추출기(405)는 두 개의 컨볼루션 레이어들을 갖는 얕은 CNN(예를 들어, 도 5를 참조하여 본 명세서에서 더 자세히 설명되는 바와 같은)을 지칭하거나, 또는 양상들을 포함할 수 있다. 신경 특징 추출기(405)는 이미지의 크롭된 패치들로 특징 추출기를 적용할 수 있고, 특징 추출에 기반하여 패치 특징들(예를 들어, 크롭된 패치들에 포함된 특징들)을 식별할 수 있다. 일부 경우들에서, 특징을 추출하고 패치 특징들을 식별하는 것은 이미지 패치들의 물체들 및 경계들(예를 들어, 선, 곡선, 엣지, 색상, 대비, 얼굴 랜드마크, 기타 등등)을 식별 또는 위치를 알아내는 것을 포함할 수 있다.
어텐션 네트워크(410)는 크롭된 패치들로부터 가중 패치 특징들을 획득할 수 있다. 각 패치 특징에 대한 가중치들은 신경 특징 추출기(405)에 의해 식별된 패치 특징들에 기반하여 획득될 수 있다. 예를 들어, 어텐션 네트워크(410)는 각 이미지 패치들이 포함하는 정보에 따라 각 이미지 패치에 대한 가중치를 계산할 수 있다(예를 들어, 도 6을 참조하여 이하에서 설명되는 바와 같이).
그래프 컨볼루션 네트워크(415)는 어텐션 네트워크(410)로부터 가중 패치 특징들을 집계할 수 있다. 예를 들어, 그래프 컨볼루션 네트워크(415)는 2차원 그래프(예를 들어, 2차원 얼굴 랜드마크 기하 그래프)에 기반하여 더 높은 가중치를 갖는 패치 특징들을 집계할 수 있다. 예를 들어, 그래프 컨볼루션 네트워크(415)는 가중 이미지 패치들이 2차원 그래프와의 대응 관계에 따라 집계되도록 2차원 그래프에 기반하여 얼굴 랜드마크들에 대응하는 가중 이미지 패치들을 집계할 수 있다(예를 들어, 도 7을 참조하여 이하에서 설명되는 바와 같이).
집계된 가중 패치 특징들은 그 후 다중 레이어 퍼셉트론(420)으로 전송될 수 있다. 다중 레이어 퍼셉트론(420)은 전형적으로 퍼셉트론들의 다중 레이어들을 포함하는 순방향 신경망이다. 각 구성 퍼셉트론 레이어는 입력 레이어, 하나 이상의 은닉 레이어들, 그리고 출력 레이어를 포함할 수 있다. 각 노드는 비선형 활성화 함수를 포함할 수 있다. 다중 레이어 퍼셉트론(420)은 역전파(backpropagation)(즉, 파라미터들에 대해 손실 함수의 그래디언트(gradient)를 계산)를 이용하여 트레이닝될 수 있다. 일부 예들에서, 다중 레이어 퍼셉트론(420)은 얼굴 랜드마크 위치 정보를 출력할 수 있다. 본 명세서에서 더 자세히 설명되는 바와 같이, 제 1 반복(즉, 상대적으로 저해상도 버전의 이미지에 적용되는 경량의 성긴 반복)으로부터 출력되는 얼굴 랜드마크 위치 정보는 제 2 반복(예를 들어, 상대적으로 고해상도 버전의 이미지에 적용되는 미세한 반복)을 위한 제 2 복수의 패치들을 생성하기 위해 이미지 크롭부(400)에 의해 이용될 수 있다.
일부 패치 기반 솔루션들은 각 얼굴 랜드마크를 회귀하기 위해 하나의 패치를 이용한다(예를 들어, 하나의 패치가 각 얼굴 랜드마크에 첨부된다). 일부 경우들에서, 조밀한 얼굴 랜드마크 형식들을 이용하여 촘촘하게 패킹된(tightly packed) 패치들의 중복도가 높을 수 있다. 본 명세서에 설명된 기술들에 따라, 희소한(sparse) 패치들은 계산 사이클들을 줄이기 위해 이용될 수 있다. 165개의 얼굴 랜드마크들을 이용한 예의 경우, 23개의 패치들이 이용될 수 있다. 본 명세서에 설명된 패치-얼굴 랜드마크 분리 기술들을 이용하면, 본 개시의 얼굴 랜드마크 검출 모델은 더 가볍고, 정확도 저하는 작다(예를 들어, 이미지 크롭부(400)는 일부 경우들에서, 입력 이미지에 존재하는 얼굴 랜드마크들의 수보다 적은 복수의 희소한 패치들을 생성할 수 있다).
도 4의 예는 설명 목적을 위해 나타난 것이며, 본 개시의 범위를 제한하기 위한 것이 아니다. 예를 들어, 일부 경우들에서, 이미지 크롭부(400), 신경 특징 추출기(405), 어텐션 네트워크(410), 그래프 컨볼루션 네트워크(415), 그리고 다중 레이어 퍼셉트론(420)은 제 1 및 제 2 반복들 모두에 대해 동일할 수 있다. 다른 예들에서, 하나 이상의 이미지 크롭부(400), 신경 특징 추출기(405), 어텐션 네트워크(410), 그래프 컨볼루션 네트워크(415), 그리고 다중 레이어 퍼셉트론(420)은 제 1 및 제 2 반복들에 대해 서로 다를 수 있다. 즉, 제 1 반복에 대해 적용되는 이미지 크롭부(400), 신경 특징 추출기(405), 어텐션 네트워크(410), 그래프 컨볼루션 네트워크(415), 그리고 다중 레이어 퍼셉트론(420)을 포함하는 신경망은, 제 2 반복에 대해 적용되는 이미지 크롭부(400), 신경 특징 추출기(405), 어텐션 네트워크(410), 그래프 컨볼루션 네트워크(415), 그리고 다중 레이어 퍼셉트론(420)을 포함하는 신경망과 동일할 수 있거나 또는 서로 다를 수 있다.
나아가, 일부 경우들에서, 이미지 크롭부(400), 신경 특징 추출기(405), 어텐션 네트워크(410), 그래프 컨볼루션 네트워크(415), 그리고 다중 레이어 퍼셉트론(420)은 재배열될 수 있다. 일부 예들에서, 추가적인 구성 요소들이 도 4의 신경망에 포함될 수 있다. 일부 예들에서, 제 1 반복에 대해 적용되는 이미지 크롭부(400), 신경 특징 추출기(405), 어텐션 네트워크(410), 그래프 컨볼루션 네트워크(415), 그리고 다중 레이어 퍼셉트론(420)을 포함하는 하나 이상의 신경망은 신경망 상에 존재하지 않을 수 있다.
도 5는 본 개시의 실시 예에 따른 신경 특징 추출기(500)의 예를 나타낸다. 신경 특징 추출기(500)는 도 2 및 도 4를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함할 수 있다. 도 5의 신경 특징 추출기(500)는 이미지 패치를 위한 얕은 특징 추출기를 포함할 수 있거나 또는 지칭할 수 있다. 예를 들어, 도 5는 14x14 이미지 패치로부터 2x2 특징들을 추출하는 양상들을 나타낼 수 있다.
신경 특징 추출기(500)는 경량 특징 추출기를 포함할 수 있다. 일부 예들에서, 신경 특징 추출기(500)는 두 개의 컨볼루션 레이어들을 갖는 얕은 CNN의 양상들을 지칭할 수 있거나 또는 포함할 수 있다. 신경 특징 추출기(500)은 이미지의 크롭된 패치들에 특징 추출기를 적용할 수 있고, 특징 추출에 기반하여 패치 특징들(예를 들어, 크롭된 패치들에 포함된 특징들)을 식별할 수 있다. 일부 경우들에서, 특징들을 추출하고 패치 특징들을 식별하는 것은 하나 이상의 이미지 패치들 상에서 물체들 및 경계들(예를 들어, 선들, 곡선들, 엣지들, 색상들, 대비, 얼굴 랜드마크들, 기타 등등)을 식별하거나 또는 위치를 알아내는 것을 포함할 수 있다.
도 6은 본 개시의 실시 예에 따른 이미지의 패치들에 적용되는 어텐션 메커니즘의 하나 이상의 양상들의 예를 나타낸다. 나타난 예는 고가중 패치(600) 및 저가중 패치(605)를 포함한다.
각 패치 특징은 어텐션 네트워크(예를 들어, 도 2 및 도 4를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함하는 어텐션 네트워크)로 전송된다. 어텐션 네트워크는 어텐션 모듈이 포함하는 정보에 따라 각 패치에 대한 가중치를 계산한다. 눈 또는 입과 같이 얼굴 특징의 명확한 뷰를 갖는 고품질 패치들(예를 들어, 고가중 패치(600)와 같은)은 높은 가중치를 수신한다. 얼굴 특징들 및 패치들의 명확하지 않은 뷰들(예를 들어, 저가중 패치(605)와 같은)은 낮은 어텐션(예를 들어, 낮은 가중치 값과 관련되는)을 수신한다. 어텐션 네트워크를 이용함으로써, 얼굴 랜드마크 검출 모델은 중요한 정보에 집중하고 관련성이 낮은 정보를 무시하는 것을 학습하는데, 이는 얼굴 랜드마크 검출 모델의 정확도를 증가시킨다. 어텐션 네트워크를 이용하여, 고가중 패치(600)는 저가중 패치(605)에 비해 높은 가중치를 얻을 수 있다. 어텐션 네트워크는 자연 언어 처리 및 비전을 위한 심층 학습 모델들에서 이용될 수 있다(예를 들어, 얼굴 랜드마크 영역에서 이용될 수 있다).
도 7은 본 개시의 실시 예에 따른 특징 집계를 위한 그래프 컨볼루션 레이어들의 예를 나타낸다. 나타난 예는 집계된 패치 특징들(700), 그래프 컨볼루션 네트워크(705), 및 컨볼루션 집계된 특징들(710)을 포함한다. 그래프 컨볼루션 네트워크(705)는 도 2 및 도 4를 참조하여 설명되는 대응하는 구성 요소의 예이거나, 또는 양상들을 포함한다. 그래프 컨볼루션 네트워크(705)는 집계된 패치 특징들(700)에 적용되어 컨볼루션 집계된 특징들(710)을 생성할 수 있다. 도 7의 예에서, 그래프 컨볼루션 네트워크(705)는 특징 집계를 위한 두 개의 그래프 컨볼루션 레이어들을 포함한다.
각 패치 특징 벡터에 가중치가 부여된 이후, 특징들은 하나의 정보를 갖는 특징으로 집계된다. 얼굴 랜드마크들은 자연스럽게 2차원 그래프를 유도한다. 본 개시의 실시 예들은 각 얼굴 랜드마크 특징을 그래프 상의 이웃하는 얼굴 랜드마크 특징과 컨볼루션한다. 그래프 구조 상에서 특징들을 컨볼루션할 때, 각 이웃의 특징은 중앙 얼굴 랜드마크와의 거리에 따라 가중치가 부여되고, 얼굴 랜드마크들 사이의 실제 상관 관계를 얻을 수 있는데, 가까운 얼굴 랜드마크들은 먼 얼굴 랜드마크들에 비해 더 많은 상관 관계를 갖는다. 상관 관계는 특징 집합(feature aggregation)을 생성하기 위해 특징들을 어떻게 컨볼루션할지를 알려준다. 일부 예들에서, 얼굴 랜드마크 검출 모델은 두 개의 그래프 컨볼루션 레이어들 및 2차원 얼굴 기하 그래프(예를 들어, 도 7에 나타난 68개의 점들의 들로네 테셀레이션(Delaunay Tessellation)과 같은)를 사용한다.
도 8은 본 개시의 실시 예에 따른 회귀 오차 추정의 예를 나타낸다. 예를 들어, 도 8은 본 명세서에 설명되는 신경망 물체 검출 모델을 통해 예시 이미지들(805~820)로부터 검출되는 얼굴 랜드마크들(800)을 나타낸다(예를 들어, 예시 이미지들(805~820)에 걸쳐 얼굴 랜드마크들(800) 검출의 추정된 오차가 달라지는 경우).
얼굴 랜드마크 검출 시스템의 오차 추정은 다운스트림 애플리케이션을 위해 수행될 수 있다. 애플리케이션이 얼굴 랜드마크 검출 시스템에서 결함을 감지하는 경우, 애플리케이션은 결함을 고치기 위한 다른 옵션들을 사용할 수 있다. 얼굴 랜드마크 검출 모델(예를 들어, 도 1, 도 2, 및 도 4를 참조하여 본 명세서에서 설명되는 신경망 모델)은 오차를 결정하기 위한 뉴런을 지정함으로써 회귀 오차를 추정하는 것을 학습한다. 손실 함수는 검출된 랜드마크들과 지상 실측 사이의 정규화된 유클리드 거리와, 예측된 오차와 실제 오차 사이의 절대 차이 사이의 가중 평균이다. 도 8에서, 왼쪽에는 두 개의 실패한 회귀의 예들이 나타나 있다(예를 들어, 예시 이미지들(805 및 815)에 대한 얼굴 랜드마크들(800)의 검출은 오차 임계 값을 초과하는 추정된 오차와 관련될 수 있다). 나아가, 오른쪽에는 두 개의 성공한 회귀의 예들이 나타나 있다(예를 들어, 예시 이미지들(810 및 820)에 대한 얼굴 랜드마크들(800)의 검출은 오차 임계 값보다 작은 추정된 오차와 관련될 수 있다). 실패한 경우들의 추정된 오차(이미지(805)에 대해 0.033, 이미지(815)에 대해 0.034)는 정확한 회귀들에 대한 추정된 오차(이미지(810)에 대해 0.01, 이미지(820)에 대해 0.008)보다 훨씬 더 높다. 결과적으로, 오차 추정기는 정확한 회귀와 부정확한 회귀를 구분하는 판별자(discriminator)가 될 수 있다. 오차 추정은 계산을 줄이고 정확도를 증가시키는 데 사용될 수 있다.
예를 들어, 추정된 오차가 제 1 반복 이후에도 작다면(예를 들어, 도 4를 참조하여 본 명세서에서 더 설명되는 바와 같이), 얼굴 랜드마크 검출 시스템은 제 2 반복을 생략할 수 있고, 계산의 절반을 절약할 수 있다(예를 들어, 이는 새로운 얼굴 검출 동작의 수행 및 제 2 얼굴 랜드마크 검출 과정을 위한 이미지 패치들의 새로운 생성과 관련된 지연 시간을 줄일 수 있다). 예를 들어, 일부 경우들에서, 부정확한 얼굴 검출(예를 들어, 얼굴 바운딩 박스의 부정확한 결정)은 얼굴 랜드마크의 회귀 오차들을 야기한다. 제 1 반복 이후 추정된 오차가 높은 경우, 제 1 반복은 다른 얼굴 검출 초기화와 함께 다시 사용될 수 있다. 새로운 바운딩 박스는 제 1 반복 이후 얼굴 랜드마크들의 바운딩 박스로서 계산되는데, 이는 기존의 얼굴 검출 과정과 비교하여 향상된 위치 파악을 제공하여, 정확한 회귀의 가능성을 높인다.
도 9는 본 개시의 실시 예에 따른 실시간 얼굴 랜드마크 검출의 과정의 예를 나타낸다. 일부 예들에서, 이러한 동작들은 장치의 기능적 구성 요소들을 제어하기 위한 코드들의 세트를 실행하는 프로세서를 포함하는 시스템에 의해 수행된다. 추가적으로 또는 대안적으로, 특정 과정들은 전용 목적 하드웨어를 이용하여 수행된다. 일반적으로, 이러한 동작들은 본 개시의 양상들에 따라 설명되는 방법들 및 과정들에 따라 수행된다. 일부 경우들에서, 본 명세서에 설명되는 동작들은 다양한 하위 단계들로 구성되거나, 또는 다른 동작들과 함께 수행된다.
트레이닝(예를 들어, 지도 트레이닝(supervised training))은 “지상 실측(ground truth)”즉, 시스템에 가해지고 있는 질문에 대한 “답”들)을 포함하는 트레이닝 데이터로 기계 학습 모델을 트레이닝시키는 방법을 지칭한다. 예를 들어, 사람의 얼굴들(예를 들어, 검출된 얼굴 랜드마크들)을 인지하도록 신경망을 트레이닝시키는 것은, 많은 이미지들을 수집하고 어떤 것들이 사람의 얼굴들을 포함하고 그리고 얼굴 랜드마크들이 존재하는지를(예를 들어, 얼굴 검출 바운딩 박스 내부에) 수동적으로 지시하는 것을 포함할 수 있다. 그 후 트레이닝된 네트워크는 예를 들어, 트레이닝 세트 이외의 이미지들(예를 들어, 새로운 이미지들)이 사람의 얼굴을 포함하는지, 검출될 얼굴 랜드마크들이 있는지 여부를 식별하는 데 사용될 수 있다.
동작 900에서, 시스템은 이미지 패치들 및 이미지 패치들 상의 물체들에 대한 지상 실측 정보를 포함하는 트레이닝 데이터를 수신한다. 일부 경우들에서, 이 단계의 동작들은 도 1 내지 도 2를 참조하여 설명되는 신경망을 지칭하거나, 또는 신경망에 의해 수행될 수 있다.
동작 905에서, 시스템은 이미지 패치들로부터 얼굴 랜드마크들의 세트를 예측한다. 일부 경우들에서, 이 단계의 동작들은 도 1 내지 도 2를 참조하여 설명되는 신경망을 지칭하거나, 또는 신경망에 의해 수행될 수 있다.
동작 910에서, 시스템은 예측된 얼굴 랜드마크들의 세트에 기반하여 신경망(140)을 위한 손실 함수를 계산한다. 일부 경우들에서, 이 단계의 동작들은 도 1 내지 도 2를 참조하여 설명되는 신경망을 지칭하거나, 또는 신경망에 의해 수행될 수 있다.
동작 915에서, 시스템은 손실 함수에 기반하여 신경망(140)을 위한 파라미터들을 업데이트한다. 일부 경우들에서, 이 단계의 동작들은 도 1 내지 도 2를 참조하여 설명되는 신경망을 지칭하거나, 또는 신경망에 의해 수행될 수 있다.
따라서, 본 개시는 이하의 실시 예들을 포함한다.
실시간 얼굴 랜드마크 검출을 위한 방법이 설명된다. 방법의 실시 예들은 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하는 단계, 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하는 단계, 및 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리하는 단계를 포함한다.
실시간 얼굴 랜드마크 검출을 위한 장치가 설명된다. 장치는 프로세서, 프로세서와 전기적 통신을 하는 메모리, 그리고 메모리에 저장된 명령들을 포함한다. 명령들은 프로세서가 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하고, 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하고, 그리고 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리하도록 동작할 수 있다.
실시간 얼굴 랜드마크 검출을 위한 코드를 저장하는 비일시적 컴퓨터 판독 가능 매체가 설명된다. 일부 예들에서, 코드는 프로세서에 의해 실행되었을 때 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하고, 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하고, 그리고 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리하도록 하는 명령들을 포함한다.
실시간 얼굴 랜드마크 검출을 위한 시스템이 설명된다. 시스템의 실시 예들은 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하고, 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하고, 그리고 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리한다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 이미지의 크롭된 패치들에 특징 추출기를 적용하는 것을 더 포함한다. 일부 예들은 어텐션 네트워크를 이용하여 크롭된 패치들로부터 가중 패치 특징들을 획득하는 것을 더 포함하되, 가중 패치 특징들은 그래프 컨볼루션 네트워크를 이용하여 집계된다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 복수의 얼굴 랜드마크들의 수보다 적은 수의 크롭된 패치들을 선택하는 것을 더 포함하되, 이미지의 복수의 패치들은 크롭된 패치들의 수에 기반하여 생성된다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 집계된 패치 특징들을 디코딩하는 것, 디코딩에 기반하여 복수의 얼굴 랜드마크들의 좌표들을 식별하는 것을 더 포함하되, 이미지는 복수의 얼굴 랜드마크들의 식별된 좌표들에 기반하여 처리된다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 그래프 컨볼루션 네트워크를 이용한 2차원 얼굴 랜드마크 그래프에 기반하여 패치 특징들을 집계하는 것을 더 포함한다.
일부 예들에서, 2차원 얼굴 랜드마크 그래프는 68개의 점들의 들로네 테셀레이션(Delaunay Tessellation)을 포함한다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 검출된 복수의 얼굴 랜드마크들에 기반하여 고해상도 이미지의 제 2 복수의 패치들을 생성하는 것을 포함하되, 이미지는 저해상도 이미지를 포함한다. 일부 예들은 제 2 복수의 패치들의 각각에 대해 제 2 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 제 2 패치 특징들을 집계함으로써 제 2 복수의 얼굴 랜드마크들을 검출하는 것을 더 포함한다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 저해상도 이미지에서 그래프 컨볼루션 네트워크를 이용하여 제 2 복수의 얼굴 랜드마크들을 검출하는 단계를 더 포함하되, 이미지는 고해상도 이미지를 포함하고, 이미지의 복수의 패치들은 검출된 제 2 복수의 얼굴 랜드마크들에 기반하여 생성된다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 손실 함수에 기반하여 검출된 복수의 물체들과 관련된 회귀 오차를 추정하는 것을 더 포함하되, 이미지는 추정된 회귀 오차에 기반하여 처리된다.
일부 예들에서, 손실 함수는 검출된 랜드마크들과 지상 실측 사이의 정규화된 유클리드 거리와, 예측된 오차와 실제 오차 사이의 절대 차이 사이의 가중 평균이다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 추정된 회귀 오차가 임계 오차 값보다 큰 경우 이미지의 제 2 복수의 패치들을 생성하는 것을 더 포함한다.
상술된 방법, 장치, 비일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예들은 처리된 이미지에 기반하여 얼굴 인식 계산, 얼굴 미화 계산, 얼굴 표정 검출 계산, 아바타 렌더링 계산, 또는 이들의 조합을 수행하는 것을 더 포함한다.
실시간 얼굴 랜드마크 검출을 위한 장치가 설명된다. 장치의 실시 예들은 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하는 이미지 크롭부, 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하는 신경망, 및 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리하는 후처리부를 포함한다.
실시간 얼굴 랜드마크 검출을 위한 시스템이 설명된다. 시스템의 실시 예들은 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하는 이미지 크롭부, 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하는 신경망, 및 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리하는 후처리부를 포함한다.
실시간 얼굴 랜드마크 검출을 위한 장치를 생산하는 방법이 설명된다. 방법은 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하는 이미지 크롭부를 생산하는 단계, 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하는 신경망을 생산하는 단계, 및 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리하는 후처리부를 생산하는 단계를 포함한다.
실시간 얼굴 랜드마크 검출을 위한 장치의 사용 방법이 설명된다. 방법은 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하는 이미지 크롭부, 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하는 신경망, 및 검출된 복수의 얼굴 랜드마크들에 기반하여 이미지를 처리하는 후처리부를 포함한다.
상술된 장치, 시스템, 및 방법의 일부 예들은 복수의 패치들의 각각에 대해 패치 특징들을 추출하는 신경 특징 추출기를 더 포함한다. 일부 예들은 복수의 패치들로부터 가중 패치 특징들을 획득하는 어텐션 네트워크를 더 포함한다. 일부 예들은 가중 패치 특징들을 집계하는 그래프 컨볼루션 네트워크를 더 포함한다. 일부 예들은 집계된 패치 특징들을 디코딩하는 디코더를 더 포함하되, 후처리부는 디코딩된 집계된 패치 특징들에 기반하여 이미지를 처리한다.
일부 예들에서, 이미지 크롭부는 복수의 얼굴 랜드마크들의 수보다 적은 수의 크롭된 패치들을 선택하되, 이미지의 복수의 패치들은 크롭된 패치들의 수에 기반하여 생성된다.
일부 예들에서, 이미지는 저해상도 이미지를 포함하고, 후처리부는 저해상도 이미지의 검출된 복수의 얼굴 랜드마크들에 기반하여 고해상도 이미지의 패치들을 식별한다.
일부 예들에서, 신경망은 오차를 출력하되, 오차는 신경망에 의해 추정되는 회귀 오차를 포함한다.
일부 예들에서, 이미지 크롭부는 오차가 임계 오차 값보다 큰 경우 이미지의 제 2 복수의 패치들을 생성한다.
일부 예들에서, 신경망은 그래프 컨볼루션 네트워크를 이용한 2차원 얼굴 랜드마크 그래프에 기반하여 패치 특징들을 집계한다.
실시간 얼굴 랜드마크 검출을 위한 방법이 설명된다. 방법의 실시 예들은 트레이닝 이미지들 및 트레이닝 이미지들 상의 물체들에 대한 지상 실측 얼굴 랜드마크들을 포함하는 트레이닝 데이터를 수신하는 단계, 트레이닝 이미지들의 복수의 이미지 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 이미지 패치들을 집계함으로써 트레이닝 이미지들로부터 복수의 얼굴 랜드마크들을 예측하는 단계, 예측된 복수의 얼굴 랜드마크들에 기반하여 신경망에 대한 손실 함수를 계산하는 단계, 그리고 손실 함수에 기반하여 신경망의 파라미터들을 업데이트하는 단계를 포함한다.
실시간 얼굴 랜드마크 검출을 위한 장치가 설명된다. 장치는 프로세서, 프로세서와 전기적 통신을 하는 메모리, 그리고 메모리에 저장된 명령들을 포함한다. 명령들은 프로세서가 트레이닝 이미지들 및 트레이닝 이미지들 상의 물체들에 대한 지상 실측 얼굴 랜드마크들을 포함하는 트레이닝 데이터를 수신하고, 트레이닝 이미지들의 복수의 이미지 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 이미지 패치들을 집계함으로써 트레이닝 이미지들로부터 복수의 얼굴 랜드마크들을 예측하고, 예측된 복수의 얼굴 랜드마크들에 기반하여 신경망에 대한 손실 함수를 계산하고, 그리고 손실 함수에 기반하여 신경망의 파라미터들을 업데이트하도록 동작할 수 있다.
실시간 얼굴 검출을 위한 코드를 저장하는 비일시적 컴퓨터 판독 가능 매체가 설명된다. 일부 예들에서, 코드는 프로세서에 의해 실행되었을 때 트레이닝 이미지들 및 트레이닝 이미지들 상의 물체들에 대한 지상 실측 얼굴 랜드마크들을 포함하는 트레이닝 데이터를 수신하고, 트레이닝 이미지들의 복수의 이미지 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 이미지 패치들을 집계함으로써 트레이닝 이미지들로부터 복수의 얼굴 랜드마크들을 예측하고, 예측된 복수의 얼굴 랜드마크들에 기반하여 신경망에 대한 손실 함수를 계산하고, 그리고 손실 함수에 기반하여 신경망의 파라미터들을 업데이트하도록 하는 명령들을 포함할 수 있다.
실시간 얼굴 검출을 위한 시스템이 설명된다. 시스템의 실시 예들은 트레이닝 이미지들 및 트레이닝 이미지들 상의 물체들에 대한 지상 실측 얼굴 랜드마크들을 포함하는 트레이닝 데이터를 수신하고, 트레이닝 이미지들의 복수의 이미지 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 이미지 패치들을 집계함으로써 트레이닝 이미지들로부터 복수의 얼굴 랜드마크들을 예측하고, 예측된 복수의 얼굴 랜드마크들에 기반하여 신경망에 대한 손실 함수를 계산하고, 그리고 손실 함수에 기반하여 신경망의 파라미터들을 업데이트하는 것을 포함할 수 있다.
일부 예들에서, 손실 함수를 계산하는 것은 예측된 복수의 얼굴 랜드마크들 및 지상 실측 얼굴 랜드마크들 사이의 정규화된 유클리드 거리의 가중 평균으로서 손실 함수를 계산하는 것을 포함한다.
본 명세서에 설명된 설명 및 도면은 구성의 예를 나타내며, 청구 범위 내의 모든 구현을 나타내지는 않는다. 예를 들어, 동작들 및 단계들은 재배열, 결합, 또는 수정될 수 있다. 또한, 구조들과 장치들은 구성 요소들 간의 관계를 나타내고 설명된 개념을 모호하게 하는 것을 피하기 위해 블록도의 형태로 표현될 수 있다. 유사한 구성 요소들 또는 기능들은 동일한 이름을 가질 수 있지만, 다른 도면에 대응하는 서로 다른 참조 번호를 가질 수 있다.
본 개시에 대한 일부 수정은 통상의 기술자에게 용이하게 명백할 수 있고, 여기에 정의된 원리는 본 개시의 범위를 벗어나지 않고 다른 변형에 적용될 수 있다. 따라서, 본 개시는 여기에 설명된 예들 및 설계들에 제한되지 않고, 여기에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위에 따르기 위한 것이다.
설명된 방법들은 범용 프로세서, DSP, ASIC, FPGA, 또는 다른 프로그래밍 가능한 논리 장치, 이산 게이트 또는 트랜지스터 논리 장치, 이산 하드웨어 구성 요소들, 또는 이들의 조합을 포함하는 장치들에 의해 구현되거나 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서, 종래의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 상태 머신일 수 있다. 프로세서는 또한 계산 장치들의 결합(예를 들어, DSP와 마이크로프로세서의 결합, 다중의 마이크로프로세서들, DSP 코어와 접속된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성)으로서 구현될 수 있다. 따라서, 본 명세서에 설명된 기능들은 하드웨어 또는 소프트웨어 상에 구현될 수 있고, 프로세서, 펌웨어, 또는 이들의 조합에 의해 실행될 수 있다. 프로세서에 의해 실행되는 소프트웨어 상에 구현되는 경우, 기능들은 컴퓨터 판독 가능 매체 상에 명령들 또는 코드의 형태로 저장될 수 있다.
컴퓨터 판독 가능 매체는 비일시적 컴퓨터 저장 매체와, 코드 또는 데이터의 전송을 돕는 임의의 매체를 포함하는 통신 매체를 모두 포함한다. 비일시적 저장 매체는 컴퓨터에 의해 접근 가능한 임의의 이용 가능한 매체일 수 있다. 예를 들어, 비일시적 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD, 또는 다른 광학 디스크 저장 장치, 자기 디스크 저장 장치, 또는 데이터 또는 코드를 운반 또는 저장하기 위한 임의의 다른 비일시적 매체를 포함할 수 있다.
또한, 연결 구성 요소들은 컴퓨터 판독 가능 매체로 적절하게 지칭될 수 있다. 예를 들어, 코드 또는 데이터가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL(digital subscriber line), 또는 적외선, 라디오, 또는 마이크로파 신호들과 같은 무선 기술을 사용하여 전송되는 경우, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 무선 기술은 매체의 정의에 포함된다. 매체의 조합 또한 컴퓨터 판독 가능 매체의 범위에 포함된다.
본 개시 및 아래의 청구범위에서, “또는”은 예를 들어 “Y, 또는 Z”의 목록이 X 또는 Y 또는 Z 또는 XY 또는 XZ 또는 YZ 또는 XYZ를 의미하도록 하는 포괄적 의미를 나타낸다. 또한, “기반하여”라는 문구는 닫힌 조건 집합을 나타내기 위해 사용되지 않는다. 예를 들어, “조건 A에 기반하여”라고 설명되는 단계는 조건 A 및 조건 B 모두에 기반할 수 있다. 다시 말해서, “기반하여”라는 문구는 “적어도 부분적으로 기반하여”를 의미하는 것으로 해석되어야 한다. 또한, “”또는 “”은 “적어도 하나”를 나타낸다.

Claims (20)

  1. 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들을 생성하는 단계;
    상기 복수의 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 상기 패치 특징들을 집계함으로써 복수의 얼굴 랜드마크들을 검출하는 단계; 및
    상기 검출된 복수의 얼굴 랜드마크들에 기반하여 상기 이미지를 처리하는 단계를 포함하는 물체 검출을 위한 방법.
  2. 제 1 항에 있어서,
    상기 이미지의 크롭된 패치들에 특징 추출기를 적용하는 단계; 및
    어텐션 네트워크를 이용하여 상기 크롭된 패치들로부터 가중 패치 특징들을 획득하는 단계를 더 포함하되,
    상기 가중 패치 특징들은 상기 그래프 컨볼루션 네트워크를 이용하여 집계되는 물체 검출을 위한 방법.
  3. 제 2 항에 있어서,
    상기 복수의 얼굴 랜드마크들의 수보다 적은 수의 크롭된 패치들을 선택하는 단계를 더 포함하되,
    상기 이미지의 상기 복수의 패치들은 상기 크롭된 패치들의 수에 기반하여 생성되는 물체 검출을 위한 방법.
  4. 제 1 항에 있어서,
    상기 집계된 패치 특징들을 디코딩하는 단계; 및
    상기 디코딩에 기반하여 상기 복수의 얼굴 랜드마크들의 좌표들을 식별하는 단계를 더 포함하되,
    상기 이미지는 상기 복수의 얼굴 랜드마크들의 상기 식별된 좌표들에 기반하여 처리되는 물체 검출을 위한 방법.
  5. 제 1 항에 있어서,
    상기 그래프 컨볼루션 네트워크를 이용한 2차원 얼굴 랜드마크 그래프에 기반하여 상기 패치 특징들을 집계하는 단계를 더 포함하는 물체 검출을 위한 방법.
  6. 제 5 항에 있어서,
    상기 2차원 얼굴 랜드마크 그래프는 68개의 점들의 들로네 테셀레이션(Delaunay Tessellation)을 포함하는 물체 검출을 위한 방법.
  7. 제 1 항에 있어서,
    상기 검출된 복수의 얼굴 랜드마크들에 기반하여 고해상도 이미지의 제 2 복수의 패치들을 생성하는 단계; 및
    상기 제 2 복수의 패치들의 각각에 대해 제 2 패치 특징들을 추출하고, 상기 그래프 컨볼루션 네트워크를 이용하여 상기 제 2 패치 특징들을 집계함으로써 제 2 복수의 얼굴 랜드마크들을 검출하는 단계를 더 포함하되,
    상기 이미지는 저해상도 이미지를 포함하는 물체 검출을 위한 방법.
  8. 제 1 항에 있어서,
    저해상도 이미지에서 상기 그래프 컨볼루션 네트워크를 이용하여 제 2 복수의 얼굴 랜드마크들을 검출하는 단계를 더 포함하되,
    상기 이미지는 고해상도 이미지를 포함하고, 상기 이미지의 상기 복수의 패치들은 상기 검출된 제 2 복수의 얼굴 랜드마크들에 기반하여 생성되는 물체 검출을 위한 방법.
  9. 제 1 항에 있어서,
    손실 함수에 기반하여 상기 검출된 복수의 물체들과 관련된 회귀 오차를 추정하는 단계를 더 포함하되,
    상기 이미지는 상기 추정된 회귀 오차에 기반하여 처리되는 물체 검출을 위한 방법.
  10. 제 9 항에 있어서,
    상기 추정된 회귀 오차가 임계 오차 값보다 큰 경우 상기 이미지의 제 2 복수의 패치들을 생성하는 단계를 더 포함하는 물체 검출을 위한 방법.
  11. 제 1 항에 있어서,
    상기 처리된 이미지에 기반하여 얼굴 인식 계산, 얼굴 미화 계산, 얼굴 표정 검출 계산, 아바타 렌더링 계산, 또는 이들의 조합을 수행하는 단계를 더 포함하는 물체 검출을 위한 방법.
  12. 얼굴의 적어도 일부를 포함하는 이미지의 복수의 패치들의 각각에 대해 패치 특징들을 추출하는 신경 특징 추출기;
    상기 추출된 패치 특징들에 기반하여 상기 복수의 패치들로부터 가중 패치 특징들을 획득하는 어텐션 네트워크;
    상기 가중 패치 특징들을 집계하는 그래프 컨볼루션 네트워크; 및
    상기 집계된 패치 특징들을 디코딩하고 복수의 얼굴 랜드마크들을 검출하는 디코더를 포함하는 물체 검출을 위한 장치.
  13. 제 12 항에 있어서,
    상기 이미지의 상기 복수의 패치들을 생성하는 이미지 크롭부; 및
    상기 검출된 복수의 얼굴 랜드마크들에 기반하여 상기 이미지를 처리하는 후처리부를 더 포함하는 물체 검출을 위한 장치.
  14. 제 13 항에 있어서,
    상기 이미지 크롭부는 상기 복수의 얼굴 랜드마크들의 수보다 적은 수의 크롭된 패치들을 선택하고, 상기 이미지의 상기 복수의 패치들은 상기 크롭된 패치들의 수에 기반하여 생성되고, 그리고
    상기 후처리부는 상기 디코딩된 집계된 패치 특징들에 기반하여 상기 이미지를 처리하는 물체 검출을 위한 장치.
  15. 제 13 항에 있어서,
    상기 이미지는 저해상도 이미지를 포함하고, 상기 후처리부는 상기 저해상도 이미지의 상기 검출된 복수의 얼굴 랜드마크들에 기반하여 고해상도 이미지의 패치들을 식별하는 물체 검출을 위한 장치.
  16. 제 13 항에 있어서,
    상기 디코더는 오차를 출력하고, 상기 이미지 크롭부는 상기 오차가 임계 오차 값보다 큰 경우 상기 이미지의 제 2 복수의 패치들을 생성하는 물체 검출을 위한 장치.
  17. 제 16 항에 있어서,
    상기 오차는 신경망에 의해 추정된 회귀 오차를 포함하는 물체 검출을 위한 장치.
  18. 제 12 항에 있어서,
    상기 그래프 컨볼루션 네트워크는 2차원 얼굴 랜드마크 그래프에 기반하여 상기 패치 특징들을 집계하는 물체 검출을 위한 장치.
  19. 트레이닝 이미지들 및 상기 트레이닝 이미지들 상의 물체들에 대한 지상 실측 얼굴 랜드마크들을 포함하는 트레이닝 데이터를 수신하는 단계;
    상기 트레이닝 이미지들의 복수의 이미지 패치들의 각각에 대해 패치 특징들을 추출하고, 그래프 컨볼루션 네트워크를 이용하여 상기 이미지 패치들을 집계함으로써 상기 트레이닝 이미지들로부터 복수의 얼굴 랜드마크들을 예측하는 단계;
    상기 예측된 복수의 얼굴 랜드마크들에 기반하여 신경망에 대한 손실 함수를 계산하는 단계; 및
    상기 손실 함수에 기반하여 상기 신경망의 파라미터들을 업데이트하는 단계를 포함하는 물체 검출을 위한 방법.
  20. 제 19 항에 있어서,
    상기 손실 함수를 계산하는 단계는:
    상기 예측된 복수의 얼굴 랜드마크들 및 상기 지상 실측 얼굴 랜드마크들 사이의 정규화된 유클리드 거리의 가중 평균으로서 상기 손실 함수를 계산하는 단계를 더 포함하는 물체 검출을 위한 방법.
KR1020210086605A 2020-09-08 2021-07-01 실시간 얼굴 랜드마크 검출 KR20220033007A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063075402P 2020-09-08 2020-09-08
US63/075,402 2020-09-08
US17/151,339 2021-01-18
US17/151,339 US11574500B2 (en) 2020-09-08 2021-01-18 Real-time facial landmark detection

Publications (1)

Publication Number Publication Date
KR20220033007A true KR20220033007A (ko) 2022-03-15

Family

ID=80469756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210086605A KR20220033007A (ko) 2020-09-08 2021-07-01 실시간 얼굴 랜드마크 검출

Country Status (2)

Country Link
US (1) US11574500B2 (ko)
KR (1) KR20220033007A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024005513A1 (en) * 2022-06-28 2024-01-04 Samsung Electronics Co., Ltd. Image processing method, apparatus, electronic device and storage medium
WO2024048842A1 (ko) * 2022-08-31 2024-03-07 주식회사 마블러스 식별 이미지 내 얼굴을 비식별화 처리하는 장치 및 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102593438B1 (ko) * 2017-11-17 2023-10-24 삼성전자주식회사 뉴럴 네트워크 학습 방법 및 디바이스
CN117746047A (zh) * 2022-09-21 2024-03-22 华为技术有限公司 一种图像处理方法及其相关设备
CN117456590B (zh) * 2023-12-25 2024-04-02 天津生联智慧科技发展有限公司 一种针对智能城市应用的视觉转换的人脸识别方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101130817B1 (ko) * 2011-09-27 2012-04-16 (주)올라웍스 얼굴 인식 방법, 장치, 및 이 방법을 실행하기 위한 컴퓨터 판독 가능한 기록 매체
CN105981041A (zh) * 2014-05-29 2016-09-28 北京旷视科技有限公司 使用粗到细级联神经网络的面部关键点定位
US9996768B2 (en) * 2014-11-19 2018-06-12 Adobe Systems Incorporated Neural network patch aggregation and statistics
US20210158023A1 (en) * 2018-05-04 2021-05-27 Northeastern University System and Method for Generating Image Landmarks
US20190347510A1 (en) 2018-05-11 2019-11-14 Cyberlink Corp. Systems and Methods for Performing Facial Alignment for Facial Feature Detection
GB2576784B (en) 2018-09-03 2021-05-19 Huawei Tech Co Ltd Facial landmark localisation system and method
CN111127304B (zh) * 2018-10-31 2024-02-20 微软技术许可有限责任公司 跨域图像转换
CN109657583B (zh) 2018-12-10 2021-10-22 腾讯科技(深圳)有限公司 脸部关键点检测方法、装置、计算机设备和存储介质
US10949649B2 (en) * 2019-02-22 2021-03-16 Image Metrics, Ltd. Real-time tracking of facial features in unconstrained video
US11127164B2 (en) * 2019-10-04 2021-09-21 Mitsubishi Electric Research Laboratories, Inc. Image processing system and method for landmark location estimation with uncertainty

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024005513A1 (en) * 2022-06-28 2024-01-04 Samsung Electronics Co., Ltd. Image processing method, apparatus, electronic device and storage medium
WO2024048842A1 (ko) * 2022-08-31 2024-03-07 주식회사 마블러스 식별 이미지 내 얼굴을 비식별화 처리하는 장치 및 방법

Also Published As

Publication number Publication date
US11574500B2 (en) 2023-02-07
US20220075994A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
KR20220033007A (ko) 실시간 얼굴 랜드마크 검출
Yu et al. Hallucinating very low-resolution unaligned and noisy face images by transformative discriminative autoencoders
US8917907B2 (en) Continuous linear dynamic systems
CA2934514C (en) System and method for identifying faces in unconstrained media
CN107369166B (zh) 一种基于多分辨率神经网络的目标跟踪方法及系统
Luo et al. Spatio-temporal feature extraction and representation for RGB-D human action recognition
JP6309549B2 (ja) 変形可能な表現検出器
US9367762B2 (en) Image processing device and method, and computer readable medium
Ventura et al. Iterative deep learning for road topology extraction
CN112507990A (zh) 视频时空特征学习、抽取方法、装置、设备及存储介质
CN115953665B (zh) 一种目标检测方法、装置、设备及存储介质
CN112861575A (zh) 一种行人结构化方法、装置、设备和存储介质
WO2020077198A1 (en) Image-based models for real-time biometrics and marker-less motion tracking in imaging applications
CN112241784A (zh) 训练生成模型和判别模型
CN113095333B (zh) 无监督特征点检测方法及装置
CN114140831B (zh) 人体姿态估计方法、装置、电子设备及存储介质
CN114581918A (zh) 一种文本识别模型训练方法及装置
Yang et al. Video snow removal based on self-adaptation snow detection and patch-based gaussian mixture model
Yang et al. Image segmentation and proto-objects detection based visual tracking
US20210279506A1 (en) Systems, methods, and devices for head pose determination
Chang et al. Fast Online Upper Body Pose Estimation from Video.
Wang et al. LCIF-Net: Local criss-cross attention based optical flow method using multi-scale image features and feature pyramid
US20240169567A1 (en) Depth edges refinement for sparsely supervised monocular depth estimation
Kong et al. Robust part‐based visual tracking via adaptive collaborative modelling
Savitha et al. Deep learning-based face hallucination: a survey