KR20230029533A - 아바타 등록을 위한 액세서리 검출 및 결정 - Google Patents

아바타 등록을 위한 액세서리 검출 및 결정 Download PDF

Info

Publication number
KR20230029533A
KR20230029533A KR1020220103778A KR20220103778A KR20230029533A KR 20230029533 A KR20230029533 A KR 20230029533A KR 1020220103778 A KR1020220103778 A KR 1020220103778A KR 20220103778 A KR20220103778 A KR 20220103778A KR 20230029533 A KR20230029533 A KR 20230029533A
Authority
KR
South Korea
Prior art keywords
contour
models
interest
glasses
pairs
Prior art date
Application number
KR1020220103778A
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 KR20230029533A publication Critical patent/KR20230029533A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)

Abstract

개별 사용자들이 3차원(3D) 아바타들의 커스터마이즈된 인스턴스들을 생성할 기회를 허용하기 위한 디바이스들, 방법들, 및 비일시적 프로그램 저장 디바이스들(NPSD)이 개시되며, 아바타의 각각의 인스턴스는 개별 사용자의 외관을 반영할 수 있는 특정 시각적 특성들 및/또는 액세서리들을 갖도록 커스터마이즈될 수 있다. 예컨대, 개별 사용자의 아바타 등록 또는 커스터마이즈 프로세스 동안 이미지들이 캡처될 때, 새로운 형상 매칭 기술들이 등록 이미지에서 식별된 2차원(2D) 관심 객체들(예컨대, 안경테들)과 하나 이상의 3D 모델 객체 라이브러리들에 저장된 3D 모델들 사이에 채용될 수 있다. 캡처된 이미지에서 식별된 2D 관심 객체들에 최적의 형상 매치들을 제공하는 객체 라이브러리로부터의 3D 모델들의 순위가 매겨진 목록은, 예컨대, 사용자 인터페이스를 통해, 사용자의 3D 아바타의 생성 및/또는 커스터마이즈에 사용하기 위해, 자동으로 결정되고/되거나 선택을 위해 사용자에게 제시될 수 있다.

Description

아바타 등록을 위한 액세서리 검출 및 결정{Accessory Detection and Determination for Avatar Enrollment}
본 개시는 일반적으로 이미지 프로세싱의 분야에 관한 것이다. 보다 구체적으로, 본 개시는, 예컨대, 3D 아바타 생성 또는 커스터마이즈 프로세스 중에 캡처된 개별 사용자들의 등록 이미지들에서 식별된 관심 객체들을 매칭할 때, 2차원(2D) 이미지들에서 식별된 객체들(예컨대, 개인용 액세서리들)에 대한 개선된 3차원(3D) 객체 모델 매칭을 위한 기술들에 관한 것이나, 그에 제한되는 것은 아니다.
본 명세서에 사용되는 "아바타"는 가상 환경에서 디바이스의 개별 사용자(또는 그들의 분신)의 시각적 표현을 지칭할 수 있다. 아바타는 종종 컴퓨터 게임들 또는 2차원(2D) 아이콘 또는 사진에서 사용되는 3차원(3D) 모델의 형태를 취한다. 아바타들은 일반적으로 사용자의 실제 사진을 대신해 온라인 소셜 네트워킹, 게임 및/또는 기타 온라인 통신들에서 점점 더 많이 사용되고 있다.
아바타들은 어느 정도의 프라이버시를 제공할 수 있는 한편, 여전히 사용자들이 그들의 온라인 아이덴티티들에 대한 제어를 가능하게 한다. 자기 표현을 위한 수단으로서, 많은 사용자들은 사용자들의 실제 외관을 반영하는 물리적 특성들을 나타내기 위해 그들 자신의 아바타들을 커스터마이즈하기를 원할 수 있다. 사용자들은 또한 의상, 안경, 모자 등과 같은 다양한 액세서리들로 그들의 아바타들을 커스터마이즈할 수 있으며, 이는 사용자들의 개별 스타일들, 패션 취향들, 및/또는 실제 외관들을 반영할 수 있다.
본 명세서에 기술된 디바이스들, 방법들 및 NPSD들에서, 각각의 개별 사용자에게는 사용자의 개별 아바타의 커스터마이즈된 인스턴스들을 생성할 기회가 주어질 수 있으며, 아바타의 각각의 인스턴스는 특정 상황들 및 환경들에서 개별 사용자의 외관을 반영할 수 있는 특정 얼굴 표정, 시각적 특성들, 신체 언어, 및/또는 액세서리들을 갖도록 커스터마이즈될 수 있다.
사용자의 아바타의 특정 인스턴스에 의해 착용된 액세서리들은 하나 이상의 3D 모델 객체 라이브러리들 중에서 선택될 수 있다. 이미지들, 예컨대, 개별 사용자의 아바타 생성 또는 커스터마이즈 프로세스 동안 캡처될 수 있는 등록 이미지들이 캡처될 때, 등록 이미지에서 식별된 2D 관심 객체들(예컨대, 안경테들)과 3D 모델 객체 라이브러리에 저장된 3D 모델들 간에 새로운 형상 매칭 기술들이 사용될 수 있다. 일부 예들에서, 등록 이미지에서 식별된 2D 관심 객체들에 대한 최상의 형상 매칭들을 제공하는 객체 라이브러리로부터의 3D 모델들의 순위가 매겨진 목록이 자동으로 결정되고/되거나, 예컨대, 사용자 인터페이스를 통해, 사용자의 3D 아바타의 생성 및/또는 커스터마이즈에 사용하기 위한 선택을 위해 사용자에게 제시될 수 있다.
따라서, 제1 실시예에서, 디바이스가 개시되며, 디바이스는, 메모리; 이미지 캡처 디바이스; 및 메모리에 동작가능하게 결합된 하나 이상의 프로세서들을 포함하며, 하나 이상의 프로세서들은 하나 이상의 프로세서들로 하여금, 이미지 캡처 디바이스에 의해 캡처된 제1 이미지(예컨대, 아바타 등록 이미지)를 획득하고 - 제1 이미지는 제1 안경 쌍을 착용한 제1 대상체를 포함함 -; (예컨대, 안경이 특정 뷰, 예컨대 정면 뷰로 배향된 상태에서) 제1 안경 쌍의 제1 윤곽을 결정하고; 객체 라이브러리를 획득하고 - 객체 라이브러리는 안경 쌍들의 제1 복수의 3D 모델들을 포함함 -; (예컨대, 각각의 3D 모델이 특정 뷰로 배향된 상태에서) 객체 라이브러리에서 안경 쌍들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽을 결정하고 - 안경 쌍들의 제1 복수의 3D 모델들의 제1 세트는 객체 라이브러리에 저장된 모델들의 일부를 포함하되, 객체 라이브러리에 저장된 각각의 모델에 이르기까지일 수 있고 이들을 포함할 수 있음 -; 제1 세트 내의 안경 쌍들의 3D 모델들의 각각에 대한 각자의 제2 윤곽에 대한 제1 윤곽의 비교에 적어도 부분적으로 기초하여, 제1 세트 내의 안경 쌍들의 3D 모델들의 각각에 대한 유사도 점수를 결정하게 하는 명령어들을 실행하도록 구성된다.
일부 이러한 실시예들에서, 제1 세트 내의 안경 쌍들의 3D 모델들의 순위가 매겨진 목록은 그들의 각자의 유사도 점수들에 적어도 부분적으로 기초하여 결정될 수 있다. 다른 실시예들에서, 디바이스의 디스플레이 상에, 제1 세트 내의 안경 쌍들의 3D 모델들의 순위가 매겨진 목록의 적어도 일부가 제시될 수 있고, 이어서, 예컨대, 디바이스의 사용자 인터페이스를 통해, 제1 세트 내의 안경 쌍들의 3D 모델들 중 제1 3 D 모델의 선택을 수신할 수 있다. 이러한 실시예들에서, 디바이스는 또한 제1 대상체를 나타내는 아바타의 뷰를 제시할 수 있으며, 아바타는 안경 쌍들의 3D 모델들 중 선택된 제1 3 D 모델을 착용하고 있다.
다른 실시예들에서, 제1 세트 내의 안경 쌍들의 3D 모델들의 각각에 대한 각자의 제2 윤곽에 대해 제1 윤곽을 비교하는 것은, 제1 윤곽과 제1 세트 내의 안경 쌍들의 각자의 3D 모델에 대한 제2 윤곽을 정렬하고; 이어서 제1 윤곽과 각자의 3D 모델에 대한 정렬된 제2 윤곽 사이의 영역을 (예컨대, 총 픽셀들의 수의 관점에서) 추정하는 단계를 포함할 수 있다.
다른 실시예들에서, 제1 안경 쌍의 제1 윤곽을 결정하는 것은, 제1 이미지로부터 제1 마스킹된 영역을 획득하고 - 제1 마스킹된 영역은 제1 안경 쌍의 테의 일부인 것으로 결정된 제1 이미지로부터의 픽셀들의 표시를 포함함 -; 제1 마스킹된 영역으로부터 에지 픽셀들의 세트를 추출하고; 복수의 셀들을 포함하는 그리드 위에 에지 픽셀들의 세트를 배치하고; 그리드의 각각의 셀 내에 위치된 에지 픽셀들의 질량 중심을 결정하고; 이어서 제1 안경 쌍의 제1 윤곽을 키 포인트들의 순서화된 목록으로서 결정하는 것을 포함할 수 있으며, 키 포인트들은 제1 안경 쌍의 테의 외부 에지를 나타내는 에지 픽셀들을 포함하는 그리드의 셀들의 질량 중심들을 포함한다.
다른 실시예들에서, 객체 라이브러리 내의 안경 쌍들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽을 결정하는 것은, 제1 세트 내의 안경 쌍들의 각각의 3D 모델에 대해, 특정 뷰로 배향된 각자의 3D 모델로부터 에지 픽셀들의 세트를 추출하고; 복수의 셀들을 포함하는 그리드 위에 에지 픽셀들의 세트를 배치하고; 그리드의 각각의 셀 내에 위치된 에지 픽셀들의 질량 중심을 결정하고; 이어서 각자의 3D 모델의 제2 윤곽을 키 포인트들의 순서화된 목록으로서 결정하는 것을 포함할 수 있으며, 키 포인트들은 안경 쌍의 각자의 3D 모델의 테의 외부 에지를 나타내는 에지 픽셀들을 포함하는 그리드의 셀들의 질량 중심들을 포함한다.
또 다른 실시예들에서, 디바이스가 개시되며, 디바이스는, 메모리; 이미지 캡처 디바이스; 및 메모리에 동작가능하게 결합된 하나 이상의 프로세서들을 포함하며, 하나 이상의 프로세서들은 하나 이상의 프로세서들로 하여금, 이미지 캡처 디바이스에 의해 캡처된 제1 이미지를 획득하고 - 제1 이미지는 제1 관심 객체를 포함함 -; 제1 관심 객체의 제1 윤곽을 결정하고; 객체 라이브러리를 획득하고 - 객체 라이브러리는 제1 관심 객체의 변형(variant)들의 제1 복수의 3차원(3D) 모델들을 포함함 -; 제1 관심 객체의 변형들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽을 결정하고; 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들의 각각에 대한 각자의 제2 윤곽에 대한 제1 윤곽의 비교에 적어도 부분적으로 기초하여, 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들의 각각에 대한 유사도 점수를 결정하게 하는 명령어들을 실행하도록 구성된다.
일부 이러한 실시예들에서, 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들의 순위가 매겨진 목록은 그들의 각자의 유사도 점수들에 적어도 부분적으로 기초하여 결정될 수 있다. 다른 실시예들에서, 디바이스의 디스플레이 상에, 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들의 순위가 매겨진 목록의 적어도 일부가 제시되고, 이어서, 예컨대, 디바이스의 사용자 인터페이스를 통해, 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들 중 제1 모델의 선택을 수신할 수 있다. 이러한 실시예들에서, 디바이스는 또한 제1 대상체를 나타내는 아바타의 뷰를 제시할 수 있으며, 제1 관심 객체의 변형들의 3D 모델들 중 선택된 제1 3D 모델은 아바타와 함께 제시된다.
다양한 NPSD 실시예들이 또한 본 명세서에 개시된다. 그러한 NPSD들은 하나 이상의 프로세서들에 의해 판독가능하다. 하나 이상의 프로세서들로 하여금 본 명세서에 개시된 실시예들 중 임의의 것을 수행하게 하기 위해, 명령어들이 NPSD들 상에 저장될 수 있다. 본 명세서에 개시된 디바이스 및 NPSD 실시예들에 따라, 다양한 이미지 프로세싱 방법들이 또한 본 명세서에 개시된다.
1a는 하나 이상의 실시예들에 따른, 등록 이미지들 내의 안경테 매칭을 위한 예시적인 시스템을 도시한다.
1b는 하나 이상의 실시예들에 따른, 안경테들에 대한 예시적인 에지 검출 프로세스를 도시한다.
1c는 하나 이상의 실시예들에 따른, 안경테들에 대한 예시적인 에지 폐색 검출 프로세스를 도시한다.
2는 하나 이상의 실시예들에 따른, 등록 이미지에서 식별된 객체에 매칭되는 3D 모델 객체들의 예시적인 순위가 매겨진 목록을 도시한다.
3a 내지 도 3d는 다양한 실시예들에 따른, 등록 이미지들 내의 안경테 매칭을 수행하는 방법들을 도시한 흐름도들이다.
4는 다양한 실시예들에 따른, 이미지들에서 관심 객체 매칭을 수행하는 방법을 도시한 흐름도이다.
5는 본 명세서에 개시된 기술들 중 하나 이상이 구현될 수 있는 프로그래밍가능 전자 컴퓨팅 디바이스를 도시한 블록도이다.
다음의 설명에서, 설명의 목적을 위해, 다수의 특정 상세 사항들이 본 명세서에 개시된 발명들의 철저한 이해를 제공하기 위해 기재된다. 그러나, 본 발명들이 이들 특정 상세 사항들 없이도 실행될 수 있음이 당업자에게 자명할 것이다. 다른 사례들에서, 구조 및 디바이스들은 본 발명들을 이해하기 모호하게 하는 것을 피하기 위해 블록도 형태로 도시된다. 아래첨자들 또는 접미사들이 없는 숫자들에 대한 참조들은 참조된 수에 대응하는 아래첨자들 및 접미사들의 모든 사례를 참조하는 것으로 이해된다. 게다가, 본 개시내용에 사용된 표현은 원칙적으로 가독성 및 교육 목적들을 위해 선택되었으며, 본 발명의 요지를 기술하거나 제한하도록 선택되지는 않아서, 그러한 본 발명의 요지를 결정하기 위해 청구범위에 대한 의존이 필요할 수 있다. 본 명세서에서 "하나의 실시예" 또는 "일 실시예"(또는 유사한 것)에 관한 언급은 실시예들에 관련되어 기술되어진 특정한 특징부, 구조 또는 특성이 본 발명들 중 하나의 발명의 적어도 하나의 실시예에 포함된다는 것을 의미하고, "하나의 실시예" 또는 "일 실시예"에 관한 중복 언급이 동일 실시예를 반드시 모두 참조하는 것으로 이해되어서는 안된다.
본 명세서에서 사용되는 물리적 환경은 사람들이 전자 디바이스들의 도움 없이 감지하고/하거나 그와 상호작용할 수 있는 물리적 세계를 지칭한다. 물리적 환경은 물리적 표면 또는 물리적 객체와 같은 물리적 특징부들을 포함할 수 있다. 예를 들어, 물리적 환경은 물리적 나무들, 물리적 건물들, 및 물리적 사람들을 포함하는 물리적 공원에 대응한다. 사람들은, 예컨대 시각, 촉각, 청각, 미각, 및 후각을 통해, 물리적 환경을 직접 감지하고/하거나 그와 상호작용할 수 있다. 대조적으로, 확장 현실(extended reality, XR) 환경은 사람들이 전자 디바이스를 통해 감지하고/하거나 그와 상호작용하는 완전히 또는 부분적으로 시뮬레이션된 환경을 지칭한다. 예를 들어, XR 환경은 증강 현실(augmented reality, AR) 콘텐츠, 혼합 현실(mixed reality, MR) 콘텐츠, 가상 현실(virtual reality, VR) 콘텐츠 등을 포함할 수 있다. XR 시스템을 이용하면, 사람의 신체적 움직임들 또는 그 표현들의 서브세트가 추적되고, 이에 응답하여, XR 환경에서 시뮬레이션된 하나 이상의 가상 객체들의 하나 이상의 특성들이 적어도 하나의 물리 법칙에 따르는 방식으로 조정된다. 하나의 예로서, XR 시스템은 머리 움직임을 검출할 수 있고, 이에 응답하여, 사람에게 제시되는 그래픽 콘텐츠 및 음장(acoustic field)을 그러한 뷰들 및 소리들이 물리적 환경에서 변경되는 방법과 유사한 방식으로 조정할 수 있다. 다른 예로서, XR 시스템은 XR 환경을 제시하는 전자 디바이스(예컨대, 모바일 폰, 태블릿, 랩톱 등)의 이동을 검출할 수 있고, 이에 응답하여, 사람에게 제시되는 그래픽 콘텐츠 및 음장을 그러한 뷰들 및 소리들이 물리적 환경에서 변경되는 방법과 유사한 방식으로 조정할 수 있다. 일부 상황들에서(예컨대, 접근성 이유들로 인해), XR 시스템은 물리적 모션들의 표현들(예컨대, 음성 커맨드들)에 응답하여 XR 환경 내의 그래픽 콘텐츠의 특성(들)을 조정할 수 있다.
사람이 다양한 XR 환경들을 감지하고/하거나 그와 상호작용할 수 있게 하는 많은 상이한 유형들의 전자 시스템들이 존재한다. 예들은 헤드-장착가능 시스템들, 투사-기반 시스템들, 헤드-업(head-up) 디스플레이(HUD)들, 디스플레이 능력이 통합된 차량 앞유리들, 디스플레이 능력이 통합된 창문들, 사람의 눈들에 배치되도록 설계된 렌즈들로서 형성된 디스플레이들(예컨대, 콘택트 렌즈들과 유사함), 헤드폰들/이어폰들, 스피커 어레이들, 입력 시스템들(예컨대, 햅틱 피드백이 있거나 또는 없는 웨어러블 또는 핸드헬드 제어기들), 스마트폰들, 태블릿들, 및 데스크톱/랩톱 컴퓨터들을 포함한다. 헤드-장착가능 시스템은 하나 이상의 스피커(들) 및 통합 불투명 디스플레이를 가질 수 있다. 대안적으로, 헤드-장착가능 시스템은 외부 불투명 디스플레이(예컨대, 스마트폰)를 수용하도록 구성될 수 있다. 헤드-장착가능 시스템은 물리적 환경의 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 이미징 센서들, 및/또는 물리적 환경의 오디오를 캡처하기 위한 하나 이상의 마이크로폰들을 포함할 수 있다. 헤드-장착가능 시스템은 불투명 디스플레이보다는, 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 사람의 눈들로 지향되는 매체를 가질 수 있다. 디스플레이는 디지털 광 프로젝션, OLED들, LED들, uLED들, 실리콘 액정 표시장치, 레이저 스캐닝 광원, 또는 이들 기술들의 임의의 조합을 이용할 수 있다. 매체는 광학 도파관, 홀로그램 매체, 광학 조합기, 광학 반사기, 또는 이들의 임의의 조합일 수 있다. 일부 구현예들에서, 투명 또는 반투명 디스플레이는 선택적으로 불투명해지도록 구성될 수 있다. 투사-기반 시스템들은 그래픽 이미지들을 사람의 망막 상에 투사하는 망막 투사 기술을 채용할 수 있다. 투사 시스템들은 또한 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투사하도록 구성될 수 있다.
본 명세서에 기술된 일부 실시예들에 따르면, 아바타 커스터마이즈 시스템의 각각의 사용자는, 예를 들어, 아바타 편집 환경을 통해, 자신의 가상 아이덴티티와 연관되도록 개별화된 아바타를 구성할 수 있다. 사용자는 자신의 아바타를 위해 얼굴 특징들, 헤어스타일들, 피부 톤들, 의상들, 액세서리들 등(총괄적으로 "요소들"로 지칭됨)을 선택 및 수정할 수 있고, 또한 그들의 아바타 요소들의 각각에 대한 색상들, 형상들, 및/또는 스타일들을 특정할 수 있다. 일단 사용자가 자신의 개별 아바타의 다양한 양태들을 특정하면, 아바타 정의 데이터가 저장되고 온라인 채팅 세션들, 인터넷 포럼들, 개인 블로그들, 대화형 게임들, 주소록들, 캘린더들 등과 같은 다양한 가상 환경들에서 아바타를 렌더링하기 위해 호출될 수 있다.
개별화된 아바타는 그것이 외관과 패션의 관점에서 표현한다는 점에서 사용자를 닮을 수 있다. 그러나, 종래의 시스템들에서, 각각의 사용자의 아바타의 다양한 요소들은 가상 객체 요소들의 큰 "라이브러리들"로부터 수동으로 선택되어야 할 수 있으며, 이는 이들이 상이한 상황들 및 환경들에서 나타낼 수 있는 그들의 실제 얼굴 표정들, 외관들, 신체 언어, 및/또는 액세서리들을 가장 근접하게 모방하는 가상 객체 요소들을 위치시켜야 한다는 점에서 지루하고/하거나 사용자에게 어려움을 줄 수 있다. 사용자들은 또한 그들의 아바타들을 커스터마이즈하기 위해 일반(또는 심지어 무작위로 생성된) 요소들을 선택할 수 있지만, 그러한 일반 및/또는 무작위로 생성된 요소들은 각각의 사용자의 외관, 스타일 및/또는 선호하는 액세서리들에서 개별성을 정확하게 반영하지 않을 수 있다.
따라서, 사용자를 위한 3D 아바타의 생성 및/또는 커스터마이즈 동안 사용을 제안하기 위해 특정 3D 객체 모델들을 결정할 때, 사용자의 2D 등록 이미지들에서 식별된 바와 같이, 관심 객체들(예컨대, 안경테들)의 더 지능적이고 자동화된 매칭을 사용자에게 제공하기 위한 디바이스들, 방법들 및 비일시적 프로그램 저장 디바이스들(NPSD)에 대한 필요성이 존재한다.
캡처된 이미지들 내의 안경테 매칭을 위한 예시적인 시스템
이제 도 1a를 참조하면, 하나 이상의 실시예들에 따른, 등록 이미지들 내의 안경테 매칭을 위한 예시적인 시스템(100)이 도시된다. 주의: 본 명세서에 기술된 예들 및 실시예들은 주로 캡처된 이미지 내에서 검출되는 안경테를 매칭하는 맥락에서 이루어지지만, 캡처된 이미지 내에서 발견되는(또한 시스템이 그에 대한 객체 모델 라이브러리를 갖는) 임의의 유형의 관심 객체를 검출하고 매칭하기 위해 본 명세서에 기술된 것들과 유사한 기술들이 유사하게 사용될 수 있음이 이해되어야 한다. 예시적인 제1 등록 이미지(102)는 제1 안경 쌍(106)을 착용한 인간 대상체(104)를 포함한다. 예시적인 제1 등록 이미지(102)는, 예컨대, 사용자가 3D 아바타들을 활용하는 새로운 시스템, 앱, 게임, 또는 온라인 커뮤니티에 등록할 때, 또는 사용자가 각자의 시스템, 앱, 게임, 또는 온라인 커뮤니티에 대해 그들의 아바타를 업데이트하기를 원할 때와 같이 임의의 시점에 전자 디바이스의 이미지 캡처 디바이스(예컨대, 웹캠, 카메라 등)에 의해 캡처될 수 있다. 대안적으로, 이전에 캡처된 사용자의 이미지가 예컨대, 저장된 사진 라이브러리로부터 사용될 수 있다.
일부 실시예들에서, 하나 이상의 관심 객체들을 식별하기 위해, 하나 이상의 컴퓨터 비전(CV) 및/또는 다른 기계 학습(ML)-인에이블된 객체 검출 알고리즘들이 등록 이미지(102)에 적용될 수 있다. 시스템(100)의 예에서, 관심 객체들은 안경테들이고, 이 예에서의 객체 검출 알고리즘은 마스킹된 영역(108)을 생성하였으며, 마스킹된 영역(108) 내의 밝은 픽셀들은 알고리즘에 의해 등록 이미지(102)에서 식별된 제1 안경 쌍의 테의 일부인 것으로 결정된 픽셀들을 나타낸다. 물론 다른 실시예들에서, 주어진 애플리케이션에 대한 관심 객체가 어떠한 유형일지라도(예컨대, 컵 또는 머그와 같은 안경 쌍 이외의 객체) 그것의 일부인 것으로 결정된 캡처된 이미지의 픽셀들을 나타내는 마스킹된 영역들이 생성될 수 있다. 이 예(100)에서는 안경 쌍의 전방 대면 뷰를 예상하였지만, 객체가 비교되는 3D 모델 객체들이 유사한 뷰로 지향되어 3D 모델 객체에 대해 유효한 유사도 점수가 결정될 수 있는 한 관심 객체의 다른 뷰들도 허용가능할 수 있다.
제1 안경 쌍의 테의 일부인 것으로 결정된 픽셀들이 마스킹된 영역(108)에서 식별되면, 제1 윤곽(110)이 제1 안경 쌍에 대해 생성될 수 있다. 일부 실시예들에서, 관심 객체의 외부 에지의 단순한 윤곽을 생성하는 것이 바람직할 수 있으며, 예컨대 윤곽은 그리드 상에 나타나는 키 포인트들의 순서화된 목록을 포함할 수 있다. 아래에서 논의되는 바와 같이, 2개의 정렬된 형상들의 윤곽들(즉, 이미지 내의 검출된 관심 객체의 윤곽 및 객체 라이브러리로부터의 관심 객체의 후보 매칭 3D 모델의 윤곽)에 대한 키 포인트들의 순서화된 목록 - 예컨대, 윤곽들은 Catmull-Rom 스플라인들, 다른 유형들의 곡선들, 연결된 라인 세그먼트들 등의 형태일 수 있음 -을 생성하는 것은 이 2개의 윤곽들 사이의 영역의 보다 용이한 계산을 허용할 수 있으며, 2개의 윤곽들 사이의 영역이 더 작아질수록 2개의 객체들 사이의 윤곽 형상이 더 정확하게 매칭됨을 나타낼 수 있다. 예를 들어, 이 경우에, 등록 이미지 내의 관심 객체의 2D 표현은 3D 모델 객체 라이브러리 내의 관심 객체의 변형의 각자의 3D 모델의 특정 뷰와 비교될 것이다.
도 1b를 참조하여 아래에서 더 상세히 설명되는 바와 같이, 일부 실시예들에서, 제1 안경 쌍의 제1 윤곽을 결정하는 프로세스는: (예컨대, 임의의 원하는 에지 검출 알고리즘, 예컨대, 소벨(Sobel) 에지 검출을 사용하여) 제1 마스킹된 영역(108)으로부터 에지 픽셀들의 세트를 추출하는 단계; 복수의 셀들을 포함하는 그리드 위에 에지 픽셀들의 세트를 배치하는 단계; 그리드의 각각의 셀 내에 위치된 에지 픽셀들의 질량 중심을 결정하는 단계(제1 안경 쌍을 나타내는 마스크 영역의 크기에 대한 그리드 내의 셀들의 밀도는 예컨대, 주어진 구현에 대해 어느 정도의 파인(fine) 또는 코스(coarse)의 객체 윤곽이 필요한지에 기초하여 커스터마이즈될 수 있음); 및 이어서 키 포인트들의 순서화된 목록(112)을 결정하는 단계를 포함할 수 있으며, 키 포인트들은 제1 안경 쌍의 테의 외부 에지를 나타내는 에지 픽셀들을 포함하는 그리드의 셀들의 질량 중심들을 포함한다.
일부 실시예들에서, 관심 객체의 외부 에지(즉, 내부 에지에 대조됨)를 결정하는 것이 중요한 고려사항일 수 있는데, 예컨대, 관심 객체의 실루엣만이 3D 모델 객체 라이브러리 내의 객체들의 실루엣과 매칭되는 한편, 내부 에지들(예컨대, 마스킹된 영역(108) 내의 안경테들의 렌즈들 주위에서 식별된 내부 에지들(114))은 무시될 수 있다.
예를 들어, 이제 도 1b를 참조하면, 하나 이상의 실시예들에 따라 안경테들을 위한 예시적인 에지 검출 프로세스가 도시된다. 일부 그러한 에지 검출 프로세스에서, 그리드(150) 내의 셀들의 열(column)들(예컨대, 예시적인 셀 열(140)) 각각은 예컨대, 도 1b에서 2개의 예시적인 횡단 방향 화살표들에 의해 도시된 바와 같이 우측에서 좌측으로 그리드를 가로질러 열들을 횡단한 다음, 각각의 개별 열 내의 셀들(예컨대, 예시적인 셀(144))을 상단에서 하단으로 횡단하는 것과 같이 특정 방향으로 횡단될 수 있다. 개별 셀 열 내에서 셀들을 횡단할 때, 주어진 셀들의 열의 상단에 가장 근접하게 발견된 제1 질량 중심 픽셀(예컨대, 예시적인 픽셀들(146)은 그들의 각자의 셀들 내에 위치된 에지 픽셀들에 대한 질량 중심 픽셀들을 나타냄)(예컨대, 도 1b의 예시적인 셀 열(140)의 확대도에서 질량 중심 픽셀(142A))은 "상단" 외부 에지 픽셀로 간주될 수 있고, 주어진 셀들의 열의 하단에 가장 근접하게 발견된 마지막 질량 중심 픽셀(예컨대, 도 1b의 예시적인 셀 열(140)의 확대도에서 질량 중심 픽셀(142D))은 "하단" 외부 에지 픽셀로 간주될 수 있다. 이어서, 주어진 열에서 식별된 다른 질량 중심 픽셀들(예컨대, 도 1b의 예시적인 셀 열(140)의 확대도에서 질량 중심 픽셀들(142B, 142C))은 무시될 수 있는데, 이는 이미지에서 검출된 관심 객체의 내부 에지(예컨대, 안경 쌍의 경우, 렌즈의 윤곽)를 나타낼 가능성이 있기 때문이다.
일부 경우들에서, 하나 이상의 다른 객체-특정 휴리스틱들이 또한 관심 객체 윤곽 결정 프로세스에서 사용될 수 있다. 이제, 도 1c를 참조하면, 하나 이상의 실시예들에 따른, 안경테들에 대한 예시적인 에지 폐색 검출 프로세스(160)가 도시된다. 일부 이러한 에지 폐색 검출 프로세스들에서, 주어진 셀들의 열에 대한 "상단" 외부 에지 픽셀(162) 및 "하단" 외부 에지 픽셀(164)이 미리 결정된 임계값 최소 거리보다 서로 더 근접한 경우(예컨대, 안경 쌍의 경우 콧대의 추정된 폭(170)보다 더 근접함), 객체 마스크가 놓여진 그리드의 주어진 열의 상단 및/또는 하단 에지 중 어느 하나에 폐색(예컨대, 그들의 안경테의 외부 에지의 전체 또는 일부를 덮는 사용자 모발)이 있는 것으로 판정될 수 있다.
일부 경우들에서, 폐색이 판정되면, 객체 윤곽을 나타내는 키 포인트들의 순서화된 목록(예컨대, 결정 대상인 객체의 윤곽(172) 주위에서 시계 방향 또는 반시계 방향으로 진행하는 좌표점들의 순서화된 목록)은 판정된 폐색(들)을 갖는 주어진 열(들)에 대한 유효한 각자의 "상단" 외부 에지 픽셀(또는 "하단" 외부 에지 픽셀)을 단순히 식별하지 않을 수 있고, 이어서 객체의 윤곽 내의 이전 유효 상단(또는 하단) 키 포인트를, 순서화된 목록의 방향으로 유효 상단(또는 하단) 키 포인트를 갖는 다음 열에 연결할 수 있다. 유효 "상단" 외부 에지 픽셀(또는 "하단" 외부 에지 픽셀)이 식별된 열들의 경우(예컨대, 열에서 검출된 폐색이 없음), 프로세스는 단순히 열 단위(column-by-column) 방식으로 질량 중심 픽셀들을 계속해서 횡단하여, 그러한 키 포인트들 사이에 순서화된 관계를 설정하고 추정된 객체 윤곽(172)을 형성할 수 있음이 이해되어야 한다.
예를 들어, 도 1c의 예(160)에 도시된 바와 같이, 그리드 내의 연속적인 열들(인덱스들 1 내지 6으로 라벨링됨)에서 다수의 식별된 "상단" 외부 에지 질량 중심 픽셀들이 폐색 픽셀들(166)로 식별되었으며(예컨대, 그들의 각자의 셀 열들에서 해당 "하단" 외부 에지 픽셀에 너무 근접한 것으로 결정된 것에 기인함), 따라서 안경테 객체 윤곽(172)의 생성에서 제외되었다. 안경이 포함된 이미지에서 발생하는 폐색의 예로는 사용자의 모발 일부가 그들의 이마 위로 내려와 안경테의 일부분을 덮는 것일 수 있다. 안경테 객체의 상단 외부 에지 픽셀들을 식별할 때 예(106)에 도시된 그리드 내의 열들이 우측에서 좌측 방식으로 횡단된다고 가정하면, 안경테 객체의 윤곽에서 이전 유효 상단 키 포인트(즉, 도 1c의 상단 외부 에지 픽셀 N(162N))은, 예컨대, 윤곽 연결 세그먼트(168)(이는 예컨대, 직선 세그먼트, 곡선 또는 기타 원하는 유형의 연결을 포함할 수 있음)를 사용하여 유효 상단 키 포인트(즉, 도 1c의 상단 외부 에지 픽셀 N+1(162N+1))를 갖는 다음 열에 단순히 연결될 수 있다. 윤곽 연결 세그먼트(168)가 공교롭게도 인접하지 않은 열들의 질량 중심 픽셀들을 연결하기 때문에(즉, 폐색 픽셀들(166)이 존재하는 것에 기인함), 윤곽(172)이 이러한 테의 영역에 대한 안경테 객체의 윤곽의 정확한 형상을 추적하지 않을 수 있지만, 그래도 객체의 실제 윤곽에 대한 근사치를 제공하고 전체 객체 윤곽이 완성되도록 할 수 있음이 이해되어야 한다. 객체의 하단 외부 에지 위에 존재하는 폐색을 갖는 것으로 식별된 임의의 열들을 제외시키는 것을 포함하여, 객체의 윤곽을 나타내는 키 포인트들의 순서화된 목록에서 객체 윤곽의 "하단" 외부 에지 픽셀들(164)을 식별 및 연결하기 위해 유사한 프로세스가 이어질 수 있다. (다른 구현예들에서, 추가적으로 또는 대안적으로, "좌측" 외부 에지 픽셀들 및 "우측" 외부 에지 픽셀들의 목록이 또한 결정되고 객체의 윤곽을 나타내는 키 포인트들의 순서화된 목록 내의 적절한 위치에 포함될 수 있음이 이해되어야 한다.)
물론, 판정된 폐색들(166)을 갖는 열들(및/또는 행들)이 너무 많이 존재하여 관심 객체의 충분히 정확한 객체 윤곽이 만들어질 수 없는 경우, 프로세스는 단순히 종료하고/하거나 사용자에게 폐색이 적은 대체 제1 등록 이미지를 캡처하도록 요청할 수 있다. 예컨대, 다음과 같은 경우에 충분히 정확한 객체 윤곽이 주어진 객체에 대해 식별될 수 없다는 결정이 이루어질 수 있다: (1) 마스킹된 영역(108) 내의 픽셀들의 총 수가 제1 임계량 미만임(이는 예컨대, 대상체가 안경을 착용하지 않거나 테 없는 안경을 착용하고 있음을 나타낼 수 있음); 또는 (2) 안경의 중심점(예컨대, 추정된 콧대 위치(170)로 표시됨)의 우측 및 좌측으로 식별된 수 또는 키 포인트들 간의 차이가 제2 임계량보다 큼(이는 예컨대, 대상체의 얼굴 한쪽에 폐색들이 있음을 나타내거나, 등록 이미지에서 대상체의 머리가 너무 한쪽으로 돌아가서 안경테들의 원하는 뷰, 예컨대 정면 뷰를 얻을 수 없음을 나타낼 수 있음).
그러나, 다른 실시예들에서, 매칭 동작은, 그렇게 원하는 경우, 관심 객체들의 외부 에지들 및 객체 라이브러리 내의 3D 모델들의 대응하는 뷰들 이상을 고려할 수 있음이 이해되어야 한다. 이러한 경우들에서, 관심 객체의 제1 윤곽은 주어진 매칭 동작에 대해 관심 대상이 되는 임의의 및 모든 에지들을 포함할 수 있다(예컨대, 이미지에서 식별된 커피 머그잔들을 매칭하는 경우, 손잡이 안쪽의 커피 머그잔의 형상이 또한, 커피 머그잔의 외부 실루엣과는 대조적으로, 객체 라이브러리로부터 최적 매칭 커피 머그잔 3D 모델을 찾는 것과 관련될 수 있다).
이제 도 1a 및 3D 모델 객체 라이브러리(120)를 다시 참조하면, 안경테들의 다양한 3D 모델들이 도시된다. 일부 실시예들에서, 제2 윤곽은 객체 라이브러리에서 안경 쌍들의 제1 복수의 3D 모델들 중의 하나 이상의 제1 세트의 각각에 대해 결정될 수 있다(즉, 예컨대, 객체의 크기, 유형, 사용자 지역, 사용자 성별 등에 따라 일부를 필터링할 수 있는 경우, 라이브러리 내의 모든 3D 모델 각각에 대해 제2 윤곽을 결정할 필요가 없으므로, 라이브러리 내의 3D 모델들의 일정 세트에 대해서만 윤곽들이 결정될 필요가 있다). 예시적인 목적들을 위해, 예(100)에서 122로 라벨링된 안경 쌍에 대한 3D 모델을 더 상세히 검토한다. 특히, 안경 모델(122)에 대한 제1 모델 뷰(124)가 예컨대, 안경이 특정 뷰로 배향된 상태로 생성될 수 있다. 이 예에서, 제1 등록 이미지에서 식별된 안경의 2D 표현은 정면 뷰로 배향될 가능성이 있고, 따라서 안경 모델(122)은 또한 제1 모델 뷰(124)의 생성을 위해 정면 뷰로 배향될 수 있다.
다음으로, 예컨대, 마스킹된 영역(108)에 대한 제1 윤곽(110)의 생성과 관련하여 전술한 것과 유사한 윤곽 생성 프로세스에 따라, 제1 모델 뷰(124)에 대해 제2 윤곽(126)이 생성될 수 있다. 특히, 제1 세트 내의 안경 쌍들의 각각의 3D 모델에 대해: 특정 뷰로 배향된 각자의 3D 모델로부터 에지 픽셀들의 세트를 추출하고; 복수의 셀들을 포함하는 그리드 위에 에지 픽셀들의 세트를 배치하고; 그리드의 각각의 셀 내에 위치된 에지 픽셀들의 질량 중심을 결정하고; 이어서 키 포인트들의 순서화된 목록을 결정함으로써 각자의 3D 모드에 대한 제2 윤곽이 생성될 수 있으며, 키 포인트들은 안경 쌍의 각자의 3D 모델의 테의 외부 에지를 나타내는 에지 픽셀들을 포함하는 그리드의 셀들의 질량 중심들을 포함한다.
제1 안경 쌍에 대한 제1 윤곽이 결정되고 제1 세트 내의 안경 쌍의 각각의 3D 모델에 대한 제2 윤곽이 결정되면, 블록(128)에서, 각각 각자의 제2 윤곽은 제1 윤곽과 정렬되어 이들이 서로 비교될 수 있고 제1 세트로부터의 각자의 3D 모델에 대해 유사도 점수가 결정될 수 있다. 일부 경우들에서, 제1 윤곽과 각자의 제2 윤곽을 정렬하는 것은 제1 윤곽 및 제1 세트 내의 안경 쌍들의 각자의 3D 모델에 대한 제2 윤곽을 포함하는 키 포인트들을 정렬하는 것을 포함할 수 있다. 정렬 동작은, 필요에 따라, 제1 윤곽을 병진, 회전 및/또는 스케일링하여 각자의 제2 윤곽에 대한 유효한 비교가 이루어질 수 있게 하는 것을 포함할 수 있다. 또 다른 경우들에서, ICP(Iterative Closest Point) 스타일 알고리즘을 사용하여 2개의 윤곽 형상들을 신속하게 정렬할 수 있다.
다음으로, 블록(130)에 도시된 바와 같이, 정렬된 제1 및 제2 윤곽들이 서로 비교될 수 있고, 블록(132)에서 유사도 점수가 결정될 수 있다. 일부 구현예들에서, 2개의 정렬된 윤곽들 사이의 유사도 점수를 결정하는 것은 제1 윤곽과 각자의 3D 모델에 대한 정렬된 제2 윤곽 사이의 영역을 (예컨대, 픽셀들의 수의 관점에서) 추정하는 것을 포함할 수 있다. 이제 이해될 수 있는 바와 같이, 제1 윤곽과 각자의 제2 윤곽 사이에 있는 픽셀들의 수가 작을수록, 각자의 3D 모델이 등록 이미지에서 사용자가 착용한 안경 쌍과 더 유사하다.
이제 도 2를 참조하면, 하나 이상의 실시예들에 따라, 등록 이미지에서 식별된 객체(이 예에서, 마스킹된 영역(108)으로 표시되는 제1 안경 쌍)에 대해 매칭되는 3D 모델 객체들의 예시적인 순위가 매겨진 목록(200)이 도시된다. 이러한 예에서, 도 1a에 관하여 위에서 논의된 윤곽 비교(130)(즉, 제1 윤곽(110)과 3D 모델(122)에 기초한 제2 윤곽(126) 사이의 윤곽 비교)는 제1 윤곽과 각자의 제2 윤곽 사이의 제2 최소 영역을 갖는 것으로 밝혀지고, 따라서, 안경 쌍(122)의 대응하는 3D 모델은 제2위 3D 모델인 것으로 간주된다. 윤곽 비교(202)(즉, 제1 윤곽(110)과 3D 모델(212)에 기초한 제2 윤곽 사이의 윤곽 비교)는 제1 윤곽과 각자의 제2 윤곽 사이에 최소 영역을 갖는 것으로 밝혀지고, 따라서, 안경 쌍(212)의 대응하는 3D 모델은 안경의 제1위, 또는 최적 매칭 3D 모델인 것으로 간주된다. 일부 실시예들에서, 이어서, 안경 모델(212)은 그들의 등록 이미지에서 식별되는 마스킹된 영역(108)에 기초하여, 그들의 아바타와 함께 포함하기 위해 사용자에게 제안될 수 있다. 마지막으로, 예시적인 윤곽 비교(204)(즉, 제1 윤곽(110)과 3D 모델(214)에 기초한 제2 윤곽 사이의 윤곽 비교)는 제1 윤곽과 각자의 제2 윤곽 사이에 제3 최소 영역을 갖는 것으로 밝혀지고, 따라서, 안경 쌍(214)의 대응하는 3D 모델은 안경의 제3위 3D 모델인 것으로 간주된다.
일부 실시예들에서, 순위가 매겨진 3D 모델들의 목록의 전부 또는 일부는 예컨대, 사용자 인터페이스를 통해 선택을 위해 사용자에게 제시될 수 있음이 이해되어야 한다. 사용자는 그들의 아바타와 함께 포함하기 위한 최적 매칭 3D 모델을 선택할 의무가 없으며, 일부 경우들에서, 사용자는 3D 모델 객체 라이브러리를 수동으로 탐색하고 그들의 아바타와 함께 포함하기 위해 그들이 선택한(또는 무작위의) 3D 객체를 선택할 수 있다.
캡처된 이미지들 내의 안경테 매칭을 위한 예시적인 방법들
3a 내지 도 3d는 다양한 실시예들에 따른, 캡처된 이미지들, 예컨대, 아바타 등록 이미지들에서 안경테 매칭을 수행하는 방법들을 도시한 흐름도들이다. 먼저 도 3a를 참조하면, 방법(300)은 이미지 캡처 디바이스에 의해 캡처된 제1 이미지를 예컨대, 아바타 등록 이미지의 형태로 획득함으로써 블록(302)에서 시작하며, 제1 이미지는 제1 안경 쌍을 착용한 제1 대상체를 포함한다. 일부 실시예들에서, 방법(300)은, 제1 이미지에서 캡처된 제1 안경 쌍에서 임계량 이상의 폐색이 존재한다고 결정하고; 그러한 경우, 이미지 캡처 디바이스에 의해 캡처된 대체 제1 이미지를 획득할 수 있으며, 대체 제1 이미지는 제1 안경 쌍을 착용한 제1 대상체를 포함하고, 대체 제1 이미지에서 캡처된 제1 안경 쌍에서 임계량 미만의 폐색이 존재하고, 제1 안경 쌍의 제1 윤곽은 대체 제1 이미지에서 캡처된 제1 안경 쌍의 표현으로부터 결정된다. 예컨대, 대체 이미지 캡처 프로세스는 제1 안경 쌍에서 임계량 미만의 폐색이 검출될 때까지 필요에 따라(또는 원하는 대로) 반복될 수 있음이 이해되어야 한다. 또한, 안경 쌍이 충분한 신뢰도로 검출되지 않는 이미지들에서, 방법(300)의 나머지 단계들이 단순히 제외되고/되거나, (예컨대, 사용자가 실생활에서 안경을 착용하지 않더라도) 사용자가 그들의 아바타에 포함하기를 원할 수 있는 임의의 이러한 3D 객체 모델에 대한 안경 쌍들(또는 다른 유형의 관심 객체)의 3D 객체 모델들의 라이브러리 중에서 선택할 수 있게 하는 보다 수동적인 프로세스로 대체될 수 있음이 이해되어야 한다.
다음으로, 블록(304)에서, 방법(300)은 (예컨대, 안경이 특정 뷰, 예컨대, 정면 뷰, 후면 뷰, 측면 뷰, 등각 뷰 등으로 배향된 상태에서) 제1 안경 쌍의 제1 윤곽을 결정할 수 있다. 다음으로, 블록(306)에서, 방법(300)은 객체 라이브러리를 획득할 수 있으며, 객체 라이브러리는 (예컨대, 도 1a의 3D 모델 객체 라이브러리(120)에 도시된 바와 같이) 안경 쌍들의 제1 복수의 3차원 모델들을 포함한다. 블록(308)에서, 방법(300)은, (예컨대, 각각의 3D 모델이 특정 뷰로 배향된 상태, 즉, 제1 안경 쌍으로부터 생성된 제1 윤곽과 동일하게 배향된 상태에서) 객체 라이브러리 내의 안경 쌍들의 제1 복수의 3D 모델들 중의 하나 이상의 제1 세트의 각각에 대한 제2 윤곽을 결정할 수 있으며, 이는 객체 라이브러리 내의 관련 3D 객체 모델들의 각각에 이르기까지 그리고 이들을 포함한 것에 대한 것이다.
다음으로, 블록(310)에서, 방법(300)은 제1 세트 내의 안경 쌍들의 3D 모델들의 각각에 대한 각자의 제2 윤곽에 대한 제1 윤곽의 비교에 적어도 부분적으로 기초하여, 제1 세트 내의 안경 쌍들의 3D 모델들의 각각에 대한 유사도 점수를 결정할 수 있다. 일부 구현예들에서, 방법(300)은 또한, 그들의 각자의 유사도 점수들에 적어도 부분적으로 기초하여 제1 세트 내의 안경 쌍들의 3D 모델들의 순위가 매겨진 목록을 결정하고(블록(312)), 예컨대, 도 2에 도시된 바와 같이, 디바이스의 디스플레이 상에, 제1 세트 내의 안경 쌍들의 3D 모델들의 순위가 매겨진 목록의 적어도 일부를 제시하고(블록(314)), 사용자 인터페이스를 통해, 제1 세트 내의 안경 쌍들의 3D 모델들 중 제1 3D 모델의 선택을 수신하고/하거나(블록(316)), 디바이스의 디스플레이 상에, 제1 대상체를 나타내는 아바타의 뷰를 제시할 수 있으며, 아바타는 안경 쌍들의 3D 모델들 중 선택된 제1 3D 모델을 착용하고 있다(블록(318)). 원하는 대로, 사용자는 (예컨대, 그들의 아바타를 생성할 그리고/또는 커스터마이즈할 새로운 이미지를 캡처하기 위해) 블록(300)으로; (예컨대, 3D 모델들의 순위가 매겨진 목록을 참조하고/하거나 선택하기 위해) 블록(314)으로; 그리고/또는 예컨대, 그들의 아바타와 함께 제시된 객체들의 추가적인 수정 또는 커스터마이즈가 필요할 때마다 방법(300)의 프로세스에서의 다른 단계들로 복귀할 수 있다.
이제 도 3b를 참조하면, 방법(300)의 블록(310)을 수행하는 것의 추가적인 세부 사항들을 도시한 흐름도가 도시된다. 특히, 블록(330)에서, 제1 세트 내의 안경 쌍들의 3D 모델들의 각각에 대한 각자의 제2 윤곽에 대한 제1 윤곽의 비교는, (예컨대, 각자의 윤곽들의 키 포인트들을 정렬함으로써) 제1 윤곽과 제1 세트 내의 안경 쌍들의 각자의 3D 모델에 대한 제2 윤곽을 정렬하는 것을 더 포함할 수 있다. 단계(330)에서의 정렬은, 각자의 제2 윤곽에 대한 유효한 비교가 이루어질 수 있도록 필요에 따라 제1 윤곽을 병진, 회전 및/또는 스케일링하는 것을 포함할 수 있다. 다음으로, 블록(332)에서, 방법(300)은 제1 윤곽과 각자의 3D 모델에 대한 정렬된 제2 윤곽 사이의 영역을 (예컨대, 픽셀들의 수의 관점에서) 추정할 수 있다. 일부 실시예들에서, 제1 윤곽과 각자의 제2 윤곽 사이의 영역은 복수의 평행사변형들로 분할될 수 있으며, 이러한 평행사변형들은 삼각형들의 쌍들로 분할될 수 있어서, 삼각형들의 각각의 쌍의 영역들이 제1 및 제2 윤곽들 사이의 전체 영역에 걸쳐 효율적으로 계산되고 합산될 수 있다. 이해될 수 있는 바와 같이, 제1 윤곽과 제2 윤곽 사이의 더 작은 영역(예컨대, 더 적은 수의 총 픽셀들)은 제1 안경 쌍과 각자의 제2 윤곽에 의해 표현되는 특정 3D 모델 사이의 더 강한 형상 매칭을 반영하는 한편, 제1 윤곽과 제2 윤곽 사이의 더 큰 영역(예컨대, 더 많은 수의 총 픽셀들)은 제1 안경 쌍과 각자의 제2 윤곽에 의해 표현되는 특정 3D 모델 사이의 더 불량한 형상 매칭을 반영한다.
이제 도 3c를 참조하면, 방법(300)의 블록(304)을 수행하는 것의 추가적인 세부 사항들을 도시한 흐름도가 도시된다. 특히, 제1 안경 쌍의 제1 윤곽의 결정은: 제1 이미지로부터 (예컨대, 도 1a에 도시된 마스킹된 영역(108)과 같은) 제1 마스킹된 영역을 획득하는 단계(블록(340)) - 제1 마스킹된 영역은 제1 안경 쌍의 테의 일부인 것으로 결정된 제1 이미지로부터의 픽셀들의 표시를 포함함 -; 제1 마스킹된 영역으로부터 에지 픽셀들의 세트를 추출하는 단계(블록(342)); 복수의 셀들을 포함하는 그리드 위에 에지 픽셀들의 세트를 배치하는 단계(블록(344)); 그리드의 각각의 셀 내에 위치된 에지 픽셀들의 질량 중심을 결정하는 단계(블록(346)); 및 제1 안경 쌍의 제1 윤곽을 키 포인트들의 순서화된 목록으로서 결정하는 단계(블록(348))를 더 포함할 수 있으며, 키 포인트들은 제1 안경 쌍의 테의 외부 에지를 나타내는 에지 픽셀들을 포함하는 그리드의 셀들의 질량 중심들을 포함한다.
이제 도 3d를 참조하면, 방법(300)의 블록(308)을 수행하는 것의 추가적인 세부 사항들을 도시한 흐름도가 도시된다. 특히, 블록(360)에서, (예컨대, 도 1a에 도시된 제2 윤곽(126)과 같은) 객체 라이브러리 내의 안경 쌍들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽의 결정은, 제1 세트 내의 안경 쌍들의 각각의 3D 모델에 대해: 특정 뷰로 배향된 각자의 3D 모델로부터 에지 픽셀들의 세트를 추출하는 단계(블록(362)); 복수의 셀들을 포함하는 그리드 위에 에지 픽셀들의 세트를 배치하는 단계(블록(364)); 그리드의 각각의 셀 내에 위치된 에지 픽셀들의 질량 중심을 결정하는 단계(블록(366)); 및 각자의 3D 모델의 제2 윤곽을 키 포인트들의 순서화된 목록으로서 결정하는 단계(블록(368))를 더 포함할 수 있으며, 키 포인트들은 안경 쌍의 각자의 3D 모델의 테의 외부 에지를 나타내는 에지 픽셀들을 포함하는 그리드의 셀들의 질량 중심들을 포함한다.
캡처된 이미지들 내의 관심 객체 매칭을 위한 예시적인 방법들
이제 도 4를 참조하면, 다양한 실시예들에 따른, 캡처된 이미지들, 예컨대, 아바타 등록 이미지들에서 관심 객체 매칭을 수행하는 방법(400)을 도시한 흐름도가 도시된다. 방법(400)은 이미지 캡처 디바이스에 의해 캡처된 제1 이미지를 획득함으로써 블록(402)에서 개시될 수 있으며, 제1 이미지는 제1 관심 객체를 포함한다. 이해될 수 있는 바와 같이, 관심 객체는 캡처된 이미지 내의 임의의 유형의 검출 가능한(즉, 안경 쌍 이외의) 객체일 수 있으며, 방법(400)이 수행되게 하기 위해 캡처된 이미지에 인간 대상체가 존재할 필요는 없다. 즉, 캡처된 이미지 내의 객체의 2D 표현과 매칭되는 3D 객체 모델이, 인간 대상체의 아바타 또는 다른 표현과 함께 제시를 위해 선택되는지 여부에 관계없이, 선택을 위해 사용자에게 제시될 수 있다. 다음으로, 블록(404)에서, 방법(400)은 (예컨대, 관심 객체가 특정 뷰로 배향된 상태에서) 제1 관심 객체의 제1 윤곽을 결정할 수 있다.
다음으로, 블록(406)에서, 방법(400)은 객체 라이브러리를 획득할 수 있으며, 객체 라이브러리는 제1 관심 객체의 변형들의 제1 복수의 3D 모델들을 포함한다. 예를 들어, 특정 예에서, 이미지에서 식별된 관심 객체가 커피 머그잔인 경우, 획득되는 객체 라이브러리는 커피 머그잔 형상들 및 크기들의 복수의 변형들을 포함할 수 있으며, 이들은 이후에 커피 머그잔 객체 모델 변형들의 제1 세트에 대한 각자의 유사도 점수들을 결정하기 위해, 이미지에서 식별된 커피 머그잔과 비교될 수 있다.
다음으로, 블록(408)에서, 방법(400)은, (예컨대, 각각의 3D 모델이 특정 뷰로 배향된 상태에서) 제1 관심 객체의 변형들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽을 결정할 수 있다. 블록(410)에서, 방법(400)은, 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들의 각각에 대한 각자의 제2 윤곽에 대한 제1 윤곽의 비교에 적어도 부분적으로 기초하여, 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들의 각각에 대한 유사도 점수를 결정할 수 있다. 예를 들어, 안경 쌍들의 맥락에서 전술된 것들과 유사한 윤곽 비교 및 유사도 점수 결정 기술들이 또한, 이미지들에서 식별된 임의의 원하는 관심 객체들과 대응하는 3D 모델 변형들 사이의 유사도 점수들을 결정할 수 있다.
마지막으로, 일부 구현예들에서, 방법(400)은, 그들의 각자의 유사도 점수들에 적어도 부분적으로 기초하여 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들의 순위가 매겨진 목록을 결정하고/하거나(블록(412)), 제1 세트 내의 제1 관심 객체의 변형들의 3D 모델들의 순위가 매겨진 목록의 적어도 일부를 디바이스의 디스플레이 상에 제시할 수 있다(블록(414)). 사용자에게 제시되는 제1 관심 객체의 변형들 중 하나 이상의 선택 시, 그리고 그렇게 원하는 경우, 방법(400)은 또한, 예컨대, 디바이스의 디스플레이 상에, 제1 대상체를 나타내는 아바타의 뷰를 제시할 수 있고(원하는 경우), 아바타는 제1 관심 객체의 선택된 하나 이상의 변형들과 함께 제시된다.
3a 내지 도 3d 및 도 4에 도시된 흐름도들의 맥락에서 전술한 다양한 블록들은 주어진 구현에 적합하도록 상이한 순서로 수행될 수 있고 도면들에 도시된 특정 순서로 수행될 필요가 없음이 이해되어야 한다. 추가적으로, 하나 이상의 블록들은 일부 실시예들에서 선택적으로 수행될 수 있고, 다른 실시예들에서 생략될 수 있다.
예시적인 전자 컴퓨팅 디바이스들
이제 도 5를 참조하면, 예시적인 프로그래밍가능 전자 컴퓨팅 디바이스(500)의 단순화된 기능 블록도가 하나의 실시예에 따라 도시된다. 전자 디바이스(500)는, 예를 들어, 모바일 전화, 개인 미디어 디바이스, 휴대용 카메라, 또는 태블릿, 노트북 또는 데스크톱 컴퓨터 시스템일 수 있다. 도시된 바와 같이, 전자 디바이스(500)는 프로세서(505), 디스플레이(510), 사용자 인터페이스(515), 그래픽 하드웨어(520), 디바이스 센서들(525)(예컨대, 근접 센서/주변 광 센서, 가속도계, 관성 측정 유닛 및/또는 자이로스코프), 마이크로폰(530), 오디오 코덱(들)(535), 스피커(들)(540), 통신 회로부(545), 이미지 캡처 디바이스(550) - 이는, 예를 들어, 상이한 특성들 또는 능력들을 가진 다수의 카메라 유닛들/광학 이미지 센서들(예를 들어, SIS(Still Image Stabilization), HDR, OIS 시스템들, 광학 줌, 디지털 줌 등)을 포함할 수 있음 -, 비디오 코덱(들)(555), 메모리(560), 저장소(565), 및 통신 버스(570)를 포함할 수 있다.
프로세서(505)는 전자 디바이스(500)에 의해 수행되는(예컨대, 본 명세서에 기술된 다양한 실시예들에 따른, 이미지들의 생성 및/또는 프로세싱과 같은) 많은 기능들의 동작을 이행하거나 제어하기 위해 필요한 명령어들을 실행시킬 수 있다. 예를 들어, 프로세서(505)는 디스플레이(510)를 구동하고 사용자 인터페이스(515)로부터 사용자 입력을 수신할 수 있다. 사용자 인터페이스(515)는 다양한 형태들, 예컨대 버튼, 키패드, 다이얼, 클릭 휠, 키보드, 디스플레이 스크린 및/또는 터치 스크린을 가질 수 있다. 예를 들어, 사용자 인터페이스(515)는 전달부(conduit)일 수 있고, 이를 통해 사용자는 캡처된 비디오 스트림을 볼 수 있고/있거나, (예컨대, 원하는 이미지 프레임이 디바이스의 디스플레이 스크린에 디스플레이되는 순간에 물리적 또는 가상 버튼을 클릭함으로써) 사용자가 캡처하고자 하는 특정 이미지 프레임(들)을 표시할 수 있다. 하나의 실시예에서, 디스플레이 (510)는, 프로세서(505) 및/또는 그래픽 하드웨어(520) 및/또는 이미지 캡처 회로부가 메모리(560) 및/또는 저장소(565)에 비디오 스트림을 동시에 생성하고 저장하는 동안 캡처되는 비디오 스트림을 디스플레이할 수 있다. 프로세서(505)는 모바일 디바이스들에서 발견되는 것들과 같은 SOC(system-on-chip)이고, 하나 이상의 전용 GPU(graphics processing unit)들을 포함할 수 있다. 프로세서(505)는 RISC(reduced instruction-set computer) 또는 CISC(complex instruction-set computer) 아키텍처들 또는 임의의 다른 적합한 아키텍처에 기초할 수 있으며, 하나 이상의 프로세싱 코어들을 포함할 수 있다. 그래픽 하드웨어(520)는 그래픽을 프로세싱하기 위한 특수 목적 연산 하드웨어일 수 있고/있거나 보조 프로세서(505)는 연산 작업들을 수행한다. 하나의 실시예에서, 그래픽 하드웨어(520)는 하나 이상의 프로그래밍가능 GPU들 및/또는 하나 이상의 특수 SOC들, 예컨대 애플(Apple)의 뉴럴 엔진 프로세싱 코어(Neural Engine processing cores)와 같은, 메인 디바이스 CPU(central processing unit) 또는 전형적인 GPU보다 더 에너지 효율적인 방식으로 신경망 및 기계 학습 동작들(예컨대, 콘볼루션들)을 구현하도록 특별히 설계된 SOC를 포함할 수 있다.
이미지 캡처 디바이스(550)는 이미지들, 예컨대, 등록 이미지들을 캡처하도록 구성된 하나 이상의 카메라 유닛들을 포함할 수 있고, 이미지들은 본 개시내용에 따라, 상기 캡처된 이미지들의 커스터마이즈된 3D 아바타 모델 버전들을 생성하도록 프로세싱될 수 있다. 이미지 캡처 디바이스(550)로부터의 출력은 비디오 코덱(들)(555) 및/또는 프로세서(505) 및/또는 그래픽 하드웨어(520), 및/또는 이미지 캡처 디바이스(550) 내에 통합된 전용 이미지 프로세싱 유닛 또는 이미지 신호 프로세서에 의해, 적어도 부분적으로 프로세싱될 수 있다. 그렇게 캡처된 이미지들은 메모리(560) 및/또는 저장소(565)에 저장될 수 있다. 메모리(560)는 디바이스 기능들을 수행하기 위해 프로세서(505), 그래픽 하드웨어(520), 및 이미지 캡처 디바이스(550)에 의해 사용되는 하나 이상의 상이한 유형들의 미디어를 포함할 수 있다. 예를 들어, 메모리(560)는 메모리 캐시, ROM(read-only memory) 및/또는 RAM(random access memory)을 포함할 수 있다. 저장소(565)는 미디어(예컨대, 오디오, 이미지 및 비디오 파일들), 컴퓨터 프로그램 명령어들 또는 소프트웨어, 선호도 정보, 디바이스 프로파일 정보, 및 임의의 다른 적합한 데이터를 저장할 수 있다. 저장소(565)는, 예를 들어, 자기 디스크들(고정형, 플로피, 및 이동형) 및 테이프, CD-ROM들 및 DVD(digital video disk)들과 같은 광학 미디어, 및 EPROM(Electrically Programmable Read-Only Memory) 및 EEPROM(Electrically Erasable Programmable Read-Only Memory)과 같은 반도체 메모리 디바이스들을 포함하는, 하나 이상의 비일시적 저장 매체들을 포함할 수 있다. 메모리(560) 및 저장소(565)는 비일시적 프로그램 저장 디바이스들을 포함할 수 있고 하나 이상의 모듈들로 조직화되고 임의의 원하는 컴퓨터 프로그래밍 언어로 기록되는 컴퓨터 프로그램 명령어들 또는 코드를 유지하기 위해 사용될 수 있다. 예를 들어, 프로세서(505)에 의해 실행될 때, 그러한 컴퓨터 프로그램 코드는 본 명세서에 기술된 방법들 또는 프로세스들 중 하나 이상을 구현할 수 있다. 전원(575)은 재충전가능 배터리(예컨대, 리튬-이온 배터리 등) 또는 전력 공급부에 대한, 예컨대, 메인 전원에 대한 다른 전기 연결부를 포함할 수 있으며, 그것은 전자 디바이스(500)의 전자 컴포넌트들 및 연관된 회로부에 대한 전력을 관리하고/하거나 그것에 전력을 제공하는 데 사용된다.
이상의 설명이 제한적인 것이 아니라 예시적인 것으로 의도되어 있음이 이해되어야 한다. 예를 들면, 위에 기술된 실시예들은 서로 조합하여 이용될 수 있다. 많은 다른 실시예들이 설명을 검토할 때 통상의 기술자들에게 명백할 것이다. 그러므로, 본 발명의 범주는 첨부된 특허청구범위를 참조하여, 이러한 청구범위의 권리를 갖는 등가물들의 전체 범주에 따라 결정되어야 한다.

Claims (20)

  1. 디바이스로서,
    메모리;
    이미지 캡처 디바이스; 및
    상기 메모리에 동작가능하게 결합된 하나 이상의 프로세서들을 포함하며, 상기 하나 이상의 프로세서들은, 상기 하나 이상의 프로세서들로 하여금,
    상기 이미지 캡처 디바이스에 의해 캡처된 제1 이미지를 획득하고 - 상기 제1 이미지는 제1 안경 쌍을 착용한 제1 대상체를 포함함 -;
    상기 제1 안경 쌍의 제1 윤곽을 결정하고;
    객체 라이브러리를 획득하고 - 상기 객체 라이브러리는 안경 쌍들의 제1 복수의 3차원(3D) 모델들을 포함함 -;
    상기 객체 라이브러리 내의 상기 안경 쌍들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽을 결정하고;
    상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 각각에 대한 상기 각자의 제2 윤곽에 대한 상기 제1 윤곽의 비교에 적어도 부분적으로 기초하여, 상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 각각에 대한 유사도 점수를 결정하게 하는 명령어들을 실행하도록 구성되는, 디바이스.
  2. 제1항에 있어서, 상기 하나 이상의 프로세서들은, 상기 하나 이상의 프로세서들로 하여금,
    그들의 각자의 유사도 점수들에 적어도 부분적으로 기초하여 상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 순위가 매겨진 목록을 결정하게 하는 명령어들을 실행하도록 더 구성되는, 디바이스.
  3. 제2항에 있어서, 상기 디바이스는 디스플레이를 더 포함하고, 상기 하나 이상의 프로세서들은, 상기 하나 이상의 프로세서들로 하여금,
    상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 상기 순위가 매겨진 목록의 적어도 일부를 상기 디스플레이 상에 제시하게 하는 명령어들을 실행하도록 더 구성되는, 디바이스.
  4. 제3항에 있어서, 상기 디바이스는 사용자 인터페이스를 더 포함하고, 상기 하나 이상의 프로세서들은, 상기 하나 이상의 프로세서로 하여금,
    상기 사용자 인터페이스를 통해, 상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들 중 제1 3D 모델의 선택을 수신하고;
    상기 디바이스의 상기 디스플레이 상에, 상기 제1 대상체를 나타내는 아바타의 뷰를 제시하게 하는 명령어들을 실행하도록 더 구성되며, 상기 아바타는 상기 안경 쌍들의 3D 모델들 중 상기 선택된 제1 3D 모델을 착용하고 있는, 디바이스.
  5. 제1항에 있어서, 상기 제1 윤곽은 상기 제1 안경 쌍의 정면 뷰의 윤곽을 포함하는, 디바이스.
  6. 제1항에 있어서, 상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 각각에 대한 상기 유사도 점수는 상기 제1 윤곽과 상기 제1 세트 내의 상기 안경 쌍들의 각자의 3D 모델에 대한 상기 제2 윤곽 사이의 추정된 영역을 포함하는, 디바이스.
  7. 제6항에 있어서, 상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 각각에 대한 유사도 점수를 결정하기 위한 상기 명령어들은, 상기 하나 이상의 프로세서들로 하여금,
    상기 제1 윤곽과 상기 각자의 3D 모델에 대한 상기 제2 윤곽 사이의 상기 영역을 추정하기 전에, 상기 제1 윤곽과 상기 제1 세트 내의 상기 안경 쌍들의 각자의 3D 모델에 대한 상기 제2 윤곽을 정렬하게 하도록 구성되는 명령어들을 더 포함하는, 디바이스.
  8. 컴퓨터 판독가능 명령어들을 포함하는 비일시적 프로그램 저장 디바이스(non-transitory program storage device; NPSD)로서, 상기 명령어들은,
    이미지 캡처 디바이스에 의해 캡처된 제1 이미지를 획득하고 - 상기 제1 이미지는 제1 안경 쌍을 착용한 제1 대상체를 포함함 -;
    상기 제1 안경 쌍의 제1 윤곽을 결정하고;
    객체 라이브러리를 획득하고 - 상기 객체 라이브러리는 안경 쌍들의 제1 복수의 3차원(3D) 모델들을 포함함 -;
    상기 객체 라이브러리 내의 상기 안경 쌍들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽을 결정하고;
    상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 각각에 대한 상기 각자의 제2 윤곽에 대한 상기 제1 윤곽의 비교에 적어도 부분적으로 기초하여, 상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 각각에 대한 유사도 점수를 결정하도록 하나 이상의 프로세서들에 의해 실행 가능한, 비일시적 프로그램 저장 디바이스(NPSD).
  9. 제8항에 있어서, 컴퓨터 판독가능 명령어들을 더 포함하며, 상기 명령어들은,
    그들의 각자의 유사도 점수들에 적어도 부분적으로 기초하여 상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 순위가 매겨진 목록을 결정하도록 상기 하나 이상의 프로세서들에 의해 실행 가능한, NPSD.
  10. 제9항에 있어서, 컴퓨터 판독가능 명령어들을 더 포함하며, 상기 명령어들은,
    상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들의 상기 순위가 매겨진 목록의 적어도 일부를 디스플레이 상에 제시하도록 하나 이상의 프로세서들에 의해 실행 가능한, NPSD.
  11. 제10항에 있어서, 컴퓨터 판독가능 명령어들을 더 포함하며, 상기 명령어들은,
    상기 제1 세트 내의 상기 안경 쌍들의 3D 모델들 중 제1 3D 모델의 선택을 수신하고;
    상기 디스플레이 상에, 상기 제1 대상체를 나타내는 아바타의 뷰를 제시하도록 하나 이상의 프로세서들에 의해 실행 가능하며, 상기 아바타는 상기 안경 쌍들의 3D 모델들 중 상기 선택된 제1 3D 모델을 착용하고 있는, NPSD.
  12. 이미지 프로세싱 방법으로서,
    이미지 캡처 디바이스에 의해 캡처된 제1 이미지를 획득하는 단계 - 상기 제1 이미지는 제1 관심 객체를 포함함 -;
    상기 제1 관심 객체의 제1 윤곽을 결정하는 단계;
    객체 라이브러리를 획득하는 단계 - 상기 객체 라이브러리는 상기 제1 관심 객체의 변형(variant)들의 제1 복수의 3차원(3D) 모델들을 포함함 -;
    상기 제1 관심 객체의 상기 변형들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽을 결정하는 단계; 및
    상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형들의 3D 모델들의 각각에 대한 상기 각자의 제2 윤곽에 대한 상기 제1 윤곽의 비교에 적어도 부분적으로 기초하여, 상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형들의 3D 모델들의 각각에 대한 유사도 점수를 결정하는 단계를 포함하는, 방법.
  13. 제12항에 있어서,
    그들의 각자의 유사도 점수들에 적어도 부분적으로 기초하여, 상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형들의 3D 모델들의 순위가 매겨진 목록을 결정하는 단계를 더 포함하는, 방법.
  14. 제13항에 있어서,
    디스플레이 상에, 상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형들의 3D 모델들의 상기 순위가 매겨진 목록의 적어도 일부를 제시하는 단계를 더 포함하는, 방법.
  15. 제12항에 있어서, 상기 제1 윤곽 및 상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형들의 3D 모델들에 대한 상기 제2 윤곽들의 각각은, 각각, 상기 제1 관심 객체의 특정 뷰의 윤곽 및 상기 제1 관심 객체의 상기 변형들의 상기 특정 뷰의 윤곽들을 포함하는, 방법.
  16. 제12항에 있어서, 상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형들의 3D 모델들의 각각에 대한 상기 유사도 점수는,
    상기 제1 윤곽과 상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형들의 상기 각자의 3D 모델에 대한 상기 제2 윤곽 사이의 추정된 영역을 포함하는, 방법.
  17. 제16항에 있어서, 상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형들의 3D 모델들의 각각에 대한 유사도 점수를 결정하는 단계는,
    상기 제1 윤곽과 상기 각자의 3D 모델에 대한 상기 제2 윤곽 사이의 상기 영역을 추정하기 전에, 상기 제1 윤곽과 상기 제1 세트 내의 상기 제1 관심 객체의 상기 변형의 상기 각자의 3D 모델에 대한 상기 제2 윤곽을 정렬하는 단계를 더 포함하는, 방법.
  18. 제12항에 있어서, 상기 제1 관심 객체의 제1 윤곽을 결정하는 단계는,
    상기 제1 이미지로부터 제1 마스킹된 영역을 획득하는 단계를 더 포함하며, 상기 제1 마스킹된 영역은 상기 제1 관심 객체의 일부인 것으로 결정된 상기 제1 이미지로부터의 픽셀들의 표시를 포함하는, 방법.
  19. 제18항에 있어서, 상기 제1 관심 객체의 제1 윤곽을 결정하는 단계는,
    상기 제1 마스킹된 영역으로부터 에지 픽셀들의 세트를 추출하는 단계;
    복수의 셀들을 포함하는 그리드 위에 상기 에지 픽셀들의 세트를 배치하는 단계;
    상기 그리드의 각각의 셀 내에 위치된 에지 픽셀들의 질량 중심을 결정하는 단계; 및
    상기 제1 관심 객체의 상기 제1 윤곽을 키 포인트들의 순서화된 목록으로서 결정하는 단계를 더 포함하며, 상기 키 포인트들은 상기 제1 관심 객체의 외부 에지를 나타내는 에지 픽셀들을 포함하는 상기 그리드의 셀들의 질량 중심들을 포함하는, 방법.
  20. 제12항에 있어서, 상기 객체 라이브러리 내의 상기 제1 관심 객체의 상기 변형들의 제1 복수의 3D 모델들의 제1 세트의 각각에 대한 제2 윤곽을 결정하는 단계는,
    상기 제1 세트 내의 상기 제1 관심 객체의 변형들의 각각의 3D 모델에 대해:
    특정 뷰로 배향된 상기 각자의 3D 모델로부터 에지 픽셀들의 세트를 추출하는 단계;
    복수의 셀들을 포함하는 그리드 위에 상기 에지 픽셀들의 세트를 배치하는 단계;
    상기 그리드의 각각의 셀 내에 위치된 에지 픽셀들의 질량 중심을 결정하는 단계; 및
    상기 각자의 3D 모델의 상기 제2 윤곽을 키 포인트들의 순서화된 목록으로서 결정하는 단계를 더 포함하며, 상기 키 포인트들은 상기 제1 관심 객체의 변형의 상기 각자의 3D 모델의 외부 에지를 나타내는 에지 픽셀들을 포함하는 상기 그리드의 셀들의 질량 중심들을 포함하는, 방법.
KR1020220103778A 2021-08-23 2022-08-19 아바타 등록을 위한 액세서리 검출 및 결정 KR20230029533A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163236082P 2021-08-23 2021-08-23
US63/236,082 2021-08-23
US17/819,746 US20230055013A1 (en) 2021-08-23 2022-08-15 Accessory Detection and Determination for Avatar Enrollment
US17/819,746 2022-08-15

Publications (1)

Publication Number Publication Date
KR20230029533A true KR20230029533A (ko) 2023-03-03

Family

ID=85132545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220103778A KR20230029533A (ko) 2021-08-23 2022-08-19 아바타 등록을 위한 액세서리 검출 및 결정

Country Status (4)

Country Link
US (1) US20230055013A1 (ko)
KR (1) KR20230029533A (ko)
CN (1) CN115713619A (ko)
DE (1) DE102022208561A1 (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224748B2 (ja) * 1999-09-13 2009-02-18 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、記録媒体、並びに画像処理装置
US20150293382A1 (en) * 2014-04-09 2015-10-15 Pro Fit Optix, Inc. Method and System for Virtual Try-On and Measurement
WO2015171815A1 (en) * 2014-05-06 2015-11-12 Nant Holdings Ip, Llc Image-based feature detection using edge vectors
US10121178B2 (en) * 2014-06-13 2018-11-06 Ebay Inc. Three-dimensional eyeglasses modeling from two-dimensional images
US11488239B2 (en) * 2019-08-26 2022-11-01 Warby Parker Inc. Virtual fitting systems and methods for spectacles
TW202117503A (zh) * 2019-10-15 2021-05-01 視鏡科技股份有限公司 互動式眼鏡框試戴系統及方法
KR20230002738A (ko) * 2020-04-15 2023-01-05 와비 파커 인코포레이티드 참조 프레임을 사용하는 안경용 가상 시착 시스템

Also Published As

Publication number Publication date
DE102022208561A1 (de) 2023-02-23
CN115713619A (zh) 2023-02-24
US20230055013A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
AU2018214005B2 (en) Systems and methods for generating a 3-D model of a virtual try-on product
US11900569B2 (en) Image-based detection of surfaces that provide specular reflections and reflection modification
US11733769B2 (en) Presenting avatars in three-dimensional environments
US20220156998A1 (en) Multiple device sensor input based avatar
CN102566756B (zh) 用于扩展现实显示的基于理解力和意图的内容
US20180096537A1 (en) Using computed facial feature points to position a product model relative to a model of a face
KR20180108709A (ko) 사용자의 현실적인 신체 모델에 가상으로 옷을 입혀보는 방법
KR20190051028A (ko) 감각 안경류
US12112449B2 (en) Camera-based transparent display
US11217036B1 (en) Avatar fidelity and personalization
US20200065559A1 (en) Generating a video using a video and user image or video
US20230171484A1 (en) Devices, methods, and graphical user interfaces for generating and displaying a representation of a user
US20230037866A1 (en) Device and method for acquiring depth of space by using camera
US20240248531A1 (en) Reducing startup time of augmented reality experience
WO2017141223A1 (en) Generating a video using a video and user image or video
CN116569221A (zh) 用于成像系统的灵活照明
CN113744411A (zh) 图像处理方法及装置、设备、存储介质
WO2023244932A1 (en) Predicting sizing and/or fitting of head mounted wearable device
US20230055013A1 (en) Accessory Detection and Determination for Avatar Enrollment
US20230252745A1 (en) Validation of modeling and simulation of virtual try-on of wearable device
CN116529786A (zh) 多相机生物识别成像系统
US12073501B1 (en) Generating facial expressions using a neural network having layers of constrained outputs
KR102580427B1 (ko) 가상 피팅 서비스를 제공하는 방법 및 이를 위한 시스템
US12125149B2 (en) Interfaces for presenting avatars in three-dimensional environments
US20240073402A1 (en) Multi-perspective augmented reality experience

Legal Events

Date Code Title Description
E902 Notification of reason for refusal