KR20220025257A - 미제어 조명 상태를 갖는 이미지에서 피부색을 식별하는 기법 - Google Patents

미제어 조명 상태를 갖는 이미지에서 피부색을 식별하는 기법 Download PDF

Info

Publication number
KR20220025257A
KR20220025257A KR1020227004970A KR20227004970A KR20220025257A KR 20220025257 A KR20220025257 A KR 20220025257A KR 1020227004970 A KR1020227004970 A KR 1020227004970A KR 20227004970 A KR20227004970 A KR 20227004970A KR 20220025257 A KR20220025257 A KR 20220025257A
Authority
KR
South Korea
Prior art keywords
computing device
image
training
skin color
machine learning
Prior art date
Application number
KR1020227004970A
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 KR20220025257A publication Critical patent/KR20220025257A/ko

Links

Images

Classifications

    • 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
    • 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
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D44/00Other cosmetic or toiletry articles, e.g. for hairdressers' rooms
    • A45D44/005Other cosmetic or toiletry articles, e.g. for hairdressers' rooms for selecting or displaying personal cosmetic colours or hairstyle
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0077Devices for viewing the surface of the body, e.g. camera, magnifying lens
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/44Detecting, measuring or recording for evaluating the integumentary system, e.g. skin, hair or nails
    • A61B5/441Skin evaluation, e.g. for skin disorder diagnosis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B44DECORATIVE ARTS
    • B44DPAINTING OR ARTISTIC DRAWING, NOT OTHERWISE PROVIDED FOR; PRESERVING PAINTINGS; SURFACE TREATMENT TO OBTAIN SPECIAL ARTISTIC SURFACE EFFECTS OR FINISHES
    • B44D3/00Accessories or implements for use in connection with painting or artistic drawing, not otherwise provided for; Methods or devices for colour determination, selection, or synthesis, e.g. use of colour tables
    • B44D3/003Methods or devices for colour determination, selection or synthesis, e.g. use of colour tables
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/46Measurement of colour; Colour measuring devices, e.g. colorimeters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D44/00Other cosmetic or toiletry articles, e.g. for hairdressers' rooms
    • A45D2044/007Devices for determining the condition of hair or skin or for selecting the appropriate cosmetic or hair treatment

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Mathematical Physics (AREA)
  • Veterinary Medicine (AREA)
  • Public Health (AREA)
  • Animal Behavior & Ethology (AREA)
  • Surgery (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Pathology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Dermatology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

본 발명의 몇몇 실시예에서는, 하나 이상의 머신 러닝 모델이 조명 상태들에 관계없이 하나 이상의 이미지에서 피부색을 정확하게 추정하도록 트레이닝된다. 몇몇 실시예에서, 모델들은 다음으로 새로운 이미지에서 피부색을 추정하는데 사용될 수 있으며, 그 추정된 피부색은 다양한 목적으로 사용될 수 있다. 예를 들어, 피부색은 피부색에 정확하게 일치하는 파운데이션 쉐이드의 추천 또는 추정된 피부색과 상보적인 다른 화장품의 추천을 생성하는 데 사용될 수 있다. 그래서, 제품의 직접 테스트 필요성이 없어진다.

Description

미제어 조명 상태를 갖는 이미지에서 피부색을 식별하는 기법
관련 출원에 대한 상호 참조
본 출원은 2019년 7월 18일자로 제출된 미국 출원 제16/516,080호의 권익을 주장하는데; 그 내용은 모든 목적으로 그 전체가 참조로 본 명세서에 편입되어 있다.
이 발명의 개요는 아래의 '상세한 설명'에서 더 설명되는 개념들의 집합을 간략화된 형태로 소개하기 위해 제공된다. 이 발명의 개요는 특허청구된 주제의 주요 특징들을 식별하기 위한 것이 아닐뿐더러, 특허청구된 주제의 범위를 결정하는 데 있어서 보조로서 사용하기 위한 것도 아니다.
몇몇 실시예에서는, 이미지 내의 얼굴의 피부색을 추정하도록 머신 러닝 모델을 트레이닝시키는 방법이 제공된다. 컴퓨팅 디바이스는 트레이닝 대상의 얼굴을 포함하는 적어도 하나의 트레이닝 이미지를 수신한다. 컴퓨팅 디바이스는 적어도 하나의 트레이닝 이미지에 대한 태깅 정보를 수신한다. 컴퓨팅 디바이스는 적어도 하나의 트레이닝 이미지 및 태깅 정보를 트레이닝 데이터 저장소에 추가한다. 컴퓨팅 디바이스는 트레이닝 데이터 저장소에 저장된 정보를 사용하여 얼굴들의 피부색들을 결정하도록 머신 러닝 모델을 트레이닝시킨다.
몇몇 실시예에서는, 얼굴의 피부색을 추정하기 위해 하나 이상의 머신 러닝 모델을 사용하는 방법이 제공된다. 컴퓨팅 디바이스는 라이브 대상(live subject)의 얼굴을 포함하는 적어도 하나의 이미지를 수신한다. 컴퓨팅 디바이스는 피부색의 결정을 획득하기 위해 적어도 하나의 머신 러닝 모델을 사용하여 적어도 하나의 이미지를 처리한다. 컴퓨팅 디바이스는 피부색을 제시한다.
몇몇 실시예에서는, 시스템이 제공된다. 시스템은 트레이닝 대상의 얼굴을 포함하는 적어도 하나의 트레이닝 이미지를 수신하고; 적어도 하나의 트레이닝 이미지에 대한 태깅 정보를 수신하며; 적어도 하나의 트레이닝 이미지 및 태깅 정보를 트레이닝 데이터 저장소에 추가하고; 및 트레이닝 데이터 세트를 사용하여 얼굴들의 피부색들을 결정하도록 머신 러닝 모델을 트레이닝시키도록 구성된 전산 회로를 포함하는 피부색 예측 유닛을 포함한다.
몇몇 실시예에서는, 시스템이 제공된다. 시스템은 피부색 예측 유닛과 예측된 피부색 유닛을 포함한다. 피부색 예측 유닛은 하나 이상의 컨벌루션 뉴럴 네트워크 이미지 분류기를 사용하여 이미지 내의 얼굴의 피부색에 대한 픽셀별 예측 점수를 생성하도록 구성된 전산 회로를 포함한다. 예측된 피부색 유닛은 얼굴의 피부색에 대한 예측 점수들에 기초한 하나 이상의 입력에 응답하여 사용자의 예측된 피부색의 가상 디스플레이를 생성하도록 구성된 전산 회로를 포함한다.
본 발명의 전술한 양태들 및 수반되는 이점들 다수는 첨부 도면들과 함께 취해질 때 다음의 상세한 설명을 참조함으로써 더 잘 이해됨에 따라 보다 용이하게 인식될 것이다.
도 1은 본 발명의 다양한 양태들에 따른 피부색의 자동 추정을 생성하기 위해 적어도 하나의 머신 러닝 모델을 사용하는 시스템의 비한정적인 예시적인 실시예의 개략도이다.
도 2는 본 발명의 다양한 양태들에 따른 모바일 컴퓨팅 디바이스 및 피부색 결정 디바이스의 비한정적인 예시적인 실시예들을 도시하는 블록도이다.
도 3은 본 발명의 다양한 양태들에 따른 이미지 내의 얼굴의 피부색을 추정하기 위해 머신 러닝 모델을 트레이닝하는 방법의 비한정적인 예시적인 실시예를 도시하는 플로차트이다.
도 4는 본 발명의 다양한 양태들에 따른 얼굴을 포함하는 이미지의 정규화의 비한정적인 예시적인 실시예를 도시하는 개략도이다.
도 5는 본 발명의 다양한 양태들에 따른 이미지 내의 얼굴의 피부색을 추정하기 위해 머신 러닝 모델을 사용하는 방법의 비한정적인 예시적인 실시예를 도시하는 플로차트이다.
도 6은 본 발명의 컴퓨팅 디바이스로서 사용하기에 적합한 예시적인 컴퓨팅 디바이스의 양태들을 도시하는 블록도이다.
모바일 컴퓨팅 디바이스를 통한 것을 포함하여, 온라인으로 제품들을 쇼핑하는 것은 소비자가 제품들을 검색하고 입수할 수 있는 편리한 방법이다. 마우스의 클릭이나 손가락의 탭으로 이용 가능한 아이템들의 대규모 카탈로그들을 갖는 것 외에, 온라인 쇼핑객들이 관심을 갖는 다른 제품들, 그들의 구매 이력, 다른 제품들에 대한 그들의 리뷰, 다른 쇼핑객들의 구매 이력 및 리뷰 등을 기초로 온라인 쇼핑객들이 관심을 가질 수 있는 제품들에 대한 폭넓은 추천을 온라인 쇼핑객들에게 제공하기 위해 다양한 기술들이 존재한다.
하지만, 직접 체험(in-person experience)이 온라인 상호작용으로 대체되기 어려운 특정 유형의 제품들이 있다. 예를 들어, 파운데이션이나 다른 메이크업과 같은 미용 제품들은 온라인으로 검색하기 어렵고, 자동화된 방식으로 추천하기가 어렵다. 이는 무엇보다도, 가장 관련성이 높은 추천 기준이 되는 소비자의 특성 - 얼굴 피부색 - 을 자동화된 방식으로 추정하기 어렵기 때문이다. 소비자의 이미지 또는 비디오가 캡처되더라도, 제어되지 않은 환경들로부터의 이미지들의 처리에서의 기술적 결함으로 인해 현재 해당 이미지는 피부색을 신뢰성있게 결정하는데 사용될 수 없다. 위치들 사이의 비일관적인 조명 상태들은 이미지 또는 비디오 내에서 상이한 위치들에 상이한 색상을 재현시키게 되며, 그래서 결정된 피부색은 조명 상태들에 따라 달라지게 된다. 조명 상태들에 관계없이 이미지 내의 피부색을 정확하게 추정하기 위해 이들 기술적 한계를 극복할 수 있는 기법들이 바람직하다.
본 발명의 몇몇 실시예에서는, 하나 이상의 머신 러닝 모델이 조명 상태들에 관계없이 하나 이상의 이미지에서 피부색을 정확하게 추정하도록 트레이닝된다. 몇몇 실시예에서, 모델들은 다음으로 새로운 이미지에서 피부색을 추정하는데 사용될 수 있으며, 그 추정된 피부색은 다양한 목적으로 사용될 수 있다. 예를 들어, 피부색은 피부색에 정확하게 일치하는 파운데이션 쉐이드(foundation shade)의 추천 또는 추정된 피부색과 상보적인 다른 화장품의 추천을 생성하는 데 사용될 수 있다. 그래서, 제품의 직접 테스트 필요성이 없어지며, 온라인 쇼핑 체험의 이점들이 색상 일치에 크게 의존하는 이들 신제품으로 확장될 수 있다.
도 1은 본 발명의 다양한 양태들에 따른 피부색의 자동 추정을 생성하기 위해 적어도 하나의 머신 러닝 모델을 사용하는 시스템의 비한정적인 예시적인 실시예의 개략도이다. 도시된 바와 같이, 사용자(90)는 모바일 컴퓨팅 디바이스(102)를 갖고 있다. 사용자(90)는 모바일 컴퓨팅 디바이스(102)로 그 얼굴의 이미지를 캡처한다. 사용자(90)는 임의의 유형의 장소에 있을 수 있으며, 그에 따라 이미지가 캡처되는 조명 상태들이 알려지지 않을 수 있다. 모바일 컴퓨팅 디바이스(90)는 이미지를 피부색 결정 디바이스(104)로 전송한다. 피부색 결정 디바이스(104)는 이미지를 기초로 피부색(108)을 결정하기 위해 하나 이상의 머신 러닝 모델(106)을 사용한다. 피부색(108)은 다음으로 피부색(108)에 상보적이거나 달리 적합한 하나 이상의 제품(110)을 추천하는 데 사용될 수 있다.
몇몇 실시예에서, 모바일 컴퓨팅 디바이스(90)는 2개 이상의 이미지를 피부색 결정 디바이스(104)에 전송할 수 있다. 몇몇 실시예에서는, 단독 이미지 대신에 비디오를 캡처함으로써 복수의 이미지가 캡처될 수 있는데, 비디오를 캡처하는 동안 모바일 컴퓨팅 디바이스(102)를 움직임으로써 조명 상태들이 변경될 수 있다. 예를 들어, 사용자(90)는 전면 카메라("셀피(selfie)" 카메라로도 알려짐)를 사용하여 비디오를 캡처하도록 모바일 컴퓨팅 디바이스(102)를 구성할 수 있고, 체험되는 조명 상태들을 변경하기 위해 모바일 컴퓨팅 디바이스(102)를 "셀피" 위치로 유지하면서 회전할 수 있다. 상이한 조명 상태들에서의 복수의 이미지를 제공함으로써, 머신 러닝 모델(106)은 복수의 피부색(108) 결정을 생성하는 데 사용될 수 있는데, 이는 그리고 나서 결정의 정확도를 향상시키기 위해 평균화되거나 달리 결합될 수 있다.
도 2는 본 발명의 다양한 양태들에 따른 모바일 컴퓨팅 디바이스 및 피부색 결정 디바이스의 비한정적인 예시적인 실시예들을 도시하는 블록도이다. 위에서 논의된 바와 같이, 모바일 컴퓨팅 디바이스(102)는 사용자(90)의 이미지를 캡처하는 데 사용되며, 모바일 컴퓨팅 디바이스(102)는 사용자(90)의 피부색을 결정하기 위해 피부색 결정 디바이스(104)로 이미지를 전송한다. 모바일 컴퓨팅 디바이스(102)와 피부색 결정 디바이스(104)는 Wi-Fi, Wi-MAX, Bluetooth(블루투스), 2G, 3G, 4G, 5G, 및 LTE를 포함하나 이들에 국한되지 않는 무선 통신 기술들; 또는 이더넷, FireWire, 및 USB를 포함하나 이들에 국한되지 않는 유선 통신 기술들과 같은 임의의 적절한 통신 기술을 사용하여 통신할 수 있다. 몇몇 실시예에서, 모바일 컴퓨팅 디바이스(102)와 피부색 결정 디바이스(104) 사이의 통신은 적어도 부분적으로는 인터넷을 통해 이루어질 수 있다.
몇몇 실시예에서, 모바일 컴퓨팅 디바이스(102)는 스마트폰, 태블릿 컴퓨팅 디바이스, 또는 적어도 도시된 컴포넌트들을 갖는 다른 컴퓨팅 디바이스이다. 도시된 실시예에서, 모바일 컴퓨팅 디바이스(102)는 카메라(202), 데이터 수집 엔진(204), 및 사용자 인터페이스 엔진(206)을 포함한다. 몇몇 실시예에서, 카메라(202)는 이미지들을 캡처하도록 구성된다. 몇몇 실시예에서, 모바일 컴퓨팅 디바이스(102)는 전면 카메라와 후면 카메라를 포함하나 이들에 국한되지 않는, 복수의 카메라를 포함할 수 있다. 몇몇 실시예에서는, 전면 카메라(즉, 모바일 컴퓨팅 디바이스(102)의 디스플레이와 동일한 모바일 컴퓨팅 디바이스(102)의 면에 위치된 카메라)가 이미지들을 캡처하기 위한 카메라(202)로 사용될 수 있다.
몇몇 실시예에서, 데이터 수집 엔진(204)은 카메라(202)를 사용하여 사용자(90)의 이미지들을 캡처하도록 구성되고, 머신 러닝 모델(106)을 트레이닝시키기 위한 트레이닝 이미지들을 캡처하도록 또한 구성될 수 있다. 몇몇 실시예에서, 사용자 인터페이스 엔진(206)은 트레이닝 대상에 대한 피부색 정보를 수집하기 위한 사용자 인터페이스를 제시하도록 구성된다.
몇몇 실시예에서, 피부색 결정 디바이스(104)는 데스크탑 컴퓨팅 디바이스, 서버 컴퓨팅 디바이스, 클라우드 컴퓨팅 디바이스, 또는 도시된 컴포넌트들을 제공하는 다른 컴퓨팅 디바이스이다. 도시된 실시예에서, 피부색 결정 디바이스(104)는 트레이닝 엔진(208), 피부색 결정 엔진(210), 이미지 정규화 엔진(212), 제품 추천 엔진(214)을 포함한다. 일반적으로, 본 명세서에서 사용되는 "엔진"이라는 단어는 C, C++, COBOL, JAVA™, PHP, Perl, HTML, CSS, JavaScript, VBScript, ASPX, Microsoft .NET™ 등과 같은 프로그래밍 언어로 작성될 수 있는 하드웨어 또는 소프트웨어 명령어들로 구현된 로직을 의미한다. 엔진은 실행 가능한 프로그램들로 컴파일되거나 해석된 프로그래밍 언어들로 작성될 수 있다. 소프트웨어 엔진들은 다른 엔진들 또는 그 자체로부터 호출 가능할 수 있다. 일반적으로, 본 명세서에서 설명되는 엔진들은 다른 엔진들과 병합될 수 있거나 서브엔진들로 분할될 수 있는 논리 모듈들을 의미한다. 엔진들은 임의의 유형의 컴퓨터 가독 매체 또는 컴퓨터 스토리지 디바이스에 저장될 수 있고 하나 이상의 범용 컴퓨터에 저장되어 실행될 수 있으며, 그에 따라 엔진 또는 그 기능을 제공하도록 구성된 특수 목적 컴퓨터를 생성할 수 있다.
도시된 바와 같이, 피부색 결정 디바이스(104)는 트레이닝 데이터 저장소(216), 모델 데이터 저장소(218), 및 제품 데이터 저장소(220)를 또한 포함한다. 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이, 본 명세서에서 설명되는 "데이터 저장소"는 컴퓨팅 디바이스에 의한 액세스를 위해 데이터를 저장하도록 구성된 임의의 적절한 디바이스일 수 있다. 데이터 저장소의 일례는 하나 이상의 컴퓨팅 디바이스에서 실행되고 고속 네트워크를 통해 액세스할 수 있는, 신뢰성 높은 고속 관계형 데이터베이스 관리 시스템(database management system: DBMS)이다. 데이터 저장소의 다른 예는 키-값 저장소(key-value store)이다. 하지만, 쿼리에 응답하여 저장된 데이터를 신속하고 신뢰성있게 제공할 수 있는 임의의 다른 적절한 저장 기법 및/또는 디바이스가 사용될 수 있으며, 컴퓨팅 디바이스는 네트워크를 통해서가 아니라 로컬에서 액세스할 수도 있고, 또는 클라우드 기반의 서비스로서 제공될 수도 있다. 데이터 저장소는 아래에서 더 설명되는 바와 같이, 컴퓨터 가독 저장 매체에 조직화된 방식으로 저장된 데이터를 또한 포함할 수 있다. 본 기술분야의 통상의 기술자는 본 발명의 범위로부터 일탈함이 없이, 본 명세서에 기재된 개별 데이터 저장소들이 단일 데이터 저장소로 통합될 수도 있고, 및/또는 본 명세서에 기재된 단일 데이터 저장소가 복수의 데이터 저장소로 분리될 수 있음을 인식할 것이다.
몇몇 실시예에서, 트레이닝 엔진(208)은 트레이닝 데이터 저장소(216)에 저장된 트레이닝 데이터에 액세스하고 트레이닝 데이터를 사용하여 하나 이상의 머신 러닝 모델을 생성하도록 구성된다. 트레이닝 엔진(208)은 생성된 머신 러닝 모델들을 모델 데이터 저장소(218)에 저장할 수 있다. 몇몇 실시예에서, 피부색 결정 엔진(210)은 이미지들에 묘사된 피부색을 추정하기 위해 이미지들을 처리하기 위해 모델 데이터 저장소(218)에 저장된 하나 이상의 머신 러닝 모델을 사용하도록 구성된다. 몇몇 실시예에서, 이미지 정규화 엔진(212)은 이루어지는 결정의 정확도를 향상시키기 위해 이미지들이 트레이닝 엔진(208) 또는 피부색 결정 엔진(210)에 제공되기 전에 이미지들을 전처리하도록 구성된다. 몇몇 실시예에서, 제품 추천 엔진(214)은 결정된 피부색에 기초하여 제품 데이터 저장소(220)에 저장된 하나 이상의 제품을 추천하도록 구성된다.
도 2는 다양한 컴포넌트들이 모바일 컴퓨팅 디바이스(102) 또는 피부색 결정 디바이스(104)에 의해 제공되는 것으로 도시하지만, 몇몇 실시예에서는 컴포넌트들의 레이아웃이 상이할 수 있다. 예를 들어, 몇몇 실시예에서는, 모바일 컴퓨팅 디바이스(102)가 피부색 결정 디바이스(104)에 이미지들을 전송하는 일 없이 카메라(202)에 의해 캡처된 이미지들에서 피부색을 결정할 수 있도록 피부색 결정 엔진(210)과 모델 데이터 저장소(218)가 모바일 컴퓨팅 디바이스(102) 상에 존재할 수 있다. 다른 예로서, 몇몇 실시예에서는, 컴포넌트들 모두가 단일 컴퓨팅 디바이스에 의해 제공될 수 있다. 또 다른 예로서, 몇몇 실시예에서는, 피부색 결정 디바이스(104)에 의해 제공되는 것으로 도시된 기능을 제공하기 위해 복수의 컴퓨팅 디바이스가 함께 작동할 수 있다.
도 3은 본 발명의 다양한 양태들에 따른 이미지 내의 얼굴의 피부색을 추정하기 위해 머신 러닝 모델을 트레이닝하는 방법의 비한정적인 예시적인 실시예를 도시하는 플로차트이다. 방법(300)에서, 트레이닝 데이터 세트가 수집되며, 피부색 결정 디바이스(104)는 트레이닝 데이터를 사용하여 하나 이상의 머신 러닝 모델 - 이들은 다음으로 제어되지 않은 조명 상태들에도 불구하고 이미지들에서 피부색을 추정하는 데 사용될 수 있음 - 을 생성한다.
블록 302에서, 모바일 컴퓨팅 디바이스(102)의 사용자 인터페이스 엔진(206)은 트레이닝 대상에 대한 피부색 정보를 수신한다. 이 피부색 정보는 트레이닝 대상의 캡처되는 이미지들에 대한 그라운드 트루스(ground truth) 또는 태깅 정보로 사용된다. 몇몇 실시예에서, 사용자 인터페이스 엔진(206)은 피부색 정보가 사용자에 의해 입력될 수 있게 하는 인터페이스를 제시한다. 몇몇 실시예에서, 피부색 정보는 컬러 차트와의 비교 또는 분광 광도계에 의해 결정된 값과 같은, 피부색을 결정하기 위한 업계 표준 기법을 사용하여 사용자에 의해 수집될 수 있다. 몇몇 실시예에서는, 사용자 인터페이스를 사용하는 대신에, 피부색 정보가 분광 광도계와 같은 디바이스로부터 전자식으로 수집될 수 있다. 몇몇 실시예에서는, 이미지의 일부가 색상 참조 차트를 묘사할 수 있다. 그러한 실시예들에서는, 색상 참조 차트의 묘사에 기초하여 이미지에 색상 보정을 적용함으로써 피부색 정보가 이미지 자체로부터 결정될 수 있게 할 수 있다.
블록 304에서, 모바일 컴퓨팅 디바이스(102)의 데이터 수집 엔진(204)은 모바일 컴퓨팅 디바이스(102)의 카메라(202)를 사용하여 트레이닝 대상의 하나 이상의 트레이닝 이미지를 캡처한다. 몇몇 실시예에서는, 트레이닝 대상에 의해 유지되는 모바일 컴퓨팅 디바이스(102)의 전면 카메라(202)가 트레이닝 이미지들을 캡처하는 데 사용될 수 있다. 몇몇 실시예에서, 트레이닝 이미지들은 상이한 조명 상태들에서 수집될 수 있다. 몇몇 실시예에서, 트레이닝 이미지들은 개별 이미지들일 수 있다. 몇몇 실시예에서는, 카메라(202)로 비디오를 녹화함으로써 복수의 트레이닝 이미지가 수집될 수 있다. 몇몇 실시예에서는, (원을 그리며 도는 것과 같이) 비디오를 녹화하는 동안 트레이닝 대상을 움직이게 함으로써 조명 상태들이 변동될 수 있다. 다음으로 비디오로부터 개별 프레임들을 추출함으로써 복수의 트레이닝 이미지가 생성될 수 있다. 복수의 트레이닝 이미지를 생성하기 위해 비디오를 캡처하는 것은, 적어도 상이한 조명 상태들을 갖는 대량의 트레이닝 데이터를 생성하는 효율을 크게 향상시키기 때문에 유익할 수 있다.
블록 306에서, 데이터 수집 엔진(204)은 피부색 정보 및 하나 이상의 트레이닝 이미지를 피부색 결정 디바이스(104)에 전송한다. 전송은 위에서 논의된 바와 같이, 임의의 적절한 유선 또는 무선 통신 기술을 사용하여 이루어질 수 있다. 블록 308에서, 피부색 결정 디바이스(104)의 트레이닝 엔진(208)은 트레이닝 데이터 저장소(216)에 트레이닝 대상에 대한 피부색 정보를 저장한다. 피부색 정보는 트레이닝 이미지들의 처리의 원하는 결과를 나타내는 태깅 데이터로 사용될 수 있다.
블록 310에서, 피부색 결정 디바이스(104)의 이미지 정규화 엔진(212)은 하나 이상의 트레이닝 이미지를 정규화하고, 정규화된 하나 이상의 트레이닝 이미지를 트레이닝 데이터 저장소(216)에 저장한다. 몇몇 실시예에서, 트레이닝 이미지들의 정규화는 옵션이며, 방법(300)의 나머지 부분은 미가공의(raw) 정규화되지 않은 트레이닝 이미지들로 작동할 수 있다. 몇몇 실시예에서, 하나 이상의 트레이닝 이미지의 정규화는 머신 러닝 모델의 정확도를 향상시키는 데 도움이 될 수 있다.
도 4는 본 발명의 다양한 양태들에 따른 얼굴을 포함하는 이미지의 정규화의 비한정적인 예시적인 실시예를 도시하는 개략도이다. 도시된 바와 같이, 모바일 컴퓨팅 디바이스(102)는 트레이닝 대상의 이미지(402)를 캡처했고, 모바일 컴퓨팅 디바이스(102)의 디스플레이 디바이스 상에 이미지(402)를 제시하고 있다. 이미지(402)는 전체 이미지(402)의 작은 부분만을 차지하는 중심에서 벗어난 얼굴을 포함한다. 그래서, 이미지(402)를 기초로 피부색을 추정하도록 머신 러닝 모델을 트레이닝시키는 것이 어려울 수 있다. 이미지에서 얼굴이 아닌 영역의 양을 줄이고 이미지의 얼굴 영역을 일관된 위치에 배치하는 것이 바람직할 수 있다.
제1 정규화 동작(404)에서, 이미지 정규화 엔진(212)은 얼굴을 묘사하는 이미지(404)의 부분을 검출하기 위해 얼굴 검출 알고리즘을 사용한다. 이미지 정규화 엔진(212)은 얼굴을 포함하는 바운딩 박스(406)를 찾기 위해 얼굴 검출 알고리즘을 사용할 수 있다. 제2 정규화 동작(408)에서, 이미지 정규화 엔진(212)은 바운딩 박스(406)를 이미지(408) 내에서 중앙에 위치시키도록 이미지(408)를 변경할 수 있다. 제3 정규화 동작(410)에서, 이미지 정규화 엔진(212)은 바운딩 박스(406)가 이미지(410) 내에서 가능한 한 크게 되도록 이미지(410)를 줌(zoom)할 수 있다. 정규화 동작들을 수행함으로써, 이미지 정규화 엔진(212)은 복수의 이미지 사이의 레이아웃 및 크기의 차이를 줄일 수 있으며, 그에 따라 머신 러닝 모델의 트레이닝 및 정확도를 향상시킬 수 있다. 몇몇 실시예에서는, 상이한 정규화 동작들이 이루어질 수 있다. 예를 들어, 몇몇 실시예에서는, 바운딩 박스(406)를 중앙에 배치하고 줌하는 대신에, 이미지 정규화 엔진(212)은 이미지를 바운딩 박스(406)로 크롭(crop)할 수 있다. 다른 예로서, 몇몇 실시예에서, 이미지 정규화 엔진(212)은 상이한 카메라들(202) 또는 상이한 모바일 컴퓨팅 디바이스들(102)에 의해 수집된 다른 이미지들과 일치시키기 위해 비트 심도(bit depth)를 감소 또는 증가시키거나, 이미지의 픽셀들을 언더샘플링 또는 오버샘플링할 수 있다.
도 3으로 돌아가면, 결정 블록 312에서, 더 많은 트레이닝 데이터가 수집되어야 하는지 여부에 관한 결정이 이루어진다. 이 결정은 관리자에 의해 머신 러닝 모델을 트레이닝하기에 충분하다고 여겨지는 트레이닝 데이터의 사전 결정된 역치량(threshold amount)에 기초할 수 있다. 더 많은 트레이닝 데이터가 수집되어야 한다고 결정되면, 결정 블록 312의 결과는 YES이며, 방법(300)은 새로운 트레이닝 대상에 대한 트레이닝 데이터를 수집하기 위해 블록 302로 돌아간다. 그렇지 않고, 충분한 트레이닝 데이터가 수집되었으면, 결정 블록 312의 결과는 NO이다.
블록 314에서, 트레이닝 엔진(208)은 트레이닝 데이터 저장소에 저장된 피부색 정보 및 정규화된 트레이닝 이미지들을 사용하여 하나 이상의 머신 러닝 모델을 트레이닝한다. 몇몇 실시예에서, 제1 머신 러닝 모델은 정규화된 트레이닝 이미지들을 입력으로 받아들이고는 추정된 광원 색상을 출력하도록 트레이닝될 수 있고, 제2 머신 러닝 모델은 정규화된 트레이닝 이미지들과 추정된 광원 색상을 입력으로 받아들이고는 추정된 피부색을 출력하도록 트레이닝될 수 있다. 몇몇 실시예에서는, 단일 머신 러닝 모델이 정규화된 트레이닝 이미지들을 입력으로 받아들이고는 추정된 피부색을 출력하도록 트레이닝될 수 있다. 제1 머신 러닝 모델과 제2 머신 러닝 모델을 사용하면 이미지의 제시된 색상을 보정하거나 이미지 내의 다른 물체들의 색상을 검출하는 데 추정된 광원 색상이 사용될 수 있다는 점에서 유익할 수 있는 한편, 단일 머신 러닝 모델을 사용하면 트레이닝 시간과 복잡도를 줄이는 측면에서 유익할 수 있다. 몇몇 실시예에서, 머신 러닝 모델들은 피드포워드 뉴럴 네트워크, 컨벌루션 뉴럴 네트워크, 및 리커런트 뉴럴 네트워크(recurrent neural networks)를 포함하지만 이들에 국한되지 않는 뉴럴 네트워크들일 수 있다. 몇몇 실시예에서는, 경사 하강법(스토캐스틱(stochastic), 배치(batch), 및 미니 배치 경사 하강법(mini-batch gradient descent)을 포함하지만 이에 국한되지 않음)을 포함하지만 이에 국한되지 않는, 임의의 적절한 트레이닝 기법들이 사용될 수 있다.
블록 316에서, 트레이닝 엔진(208)은 하나 또는 머신 러닝 모델들을 모델 데이터 저장소(218)에 저장한다. 몇몇 실시예에서는, 모델 데이터 저장소(218)의 일부가 모바일 컴퓨팅 디바이스(102) 또는 다른 디바이스에 존재할 수 있는데, 이 경우에 트레이닝 엔진(208)은 모델 데이터 저장소(218)의 일부를 보유한 다른 디바이스들에 하나 이상의 머신 러닝 모델을 전송할 수 있다.
도 5는 본 발명의 다양한 양태들에 따른 이미지 내의 얼굴의 피부색을 추정하기 위해 머신 러닝 모델을 사용하는 방법의 비한정적인 예시적인 실시예를 도시하는 플로차트이다. 방법(500)에서, 피부색 결정 디바이스(104)는 라이브 대상의 이미지에서 피부색을 추정하기 위해 위에서 논의된 방법(300)에 의해 생성된 하나 이상의 머신 러닝 모델을 사용한다. 대상(subject)은 방법(300)에서 분석된 트레이닝 대상들과 이 대상을 구별하기 위해 방법(500)에서는 "라이브 대상(live subject)"으로 지칭된다. 그라운드 트루스 피부색 정보는 트레이닝 대상들에 이용 가능하였으나, 이러한 정보는 라이브 대상에는 이용 가능하지 않다.
블록 502에서, 모바일 컴퓨팅 디바이스(102)의 데이터 수집 엔진(204)은 모바일 컴퓨팅 디바이스(102)의 카메라(202)를 사용하여 라이브 대상의 하나 이상의 이미지를 캡처한다. 단일 이미지들을 캡처하거나 비디오를 캡처하고 비디오의 프레임들로부터 이미지들을 추출하는 것과 같은, 블록 304에서 트레이닝 대상의 하나 이상의 이미지를 캡처하는 데 사용된 것과 유사한 기법들이 라이브 대상의 하나 이상의 이미지를 캡처하는 데 사용될 수 있다.
몇몇 실시예에서, 모바일 컴퓨팅 디바이스(102) 및 카메라(202)는 방법(300)의 블록 304에서 사용된 모바일 컴퓨팅 디바이스(102) 및/또는 카메라(202)의 유형과 일치할 수 있다. 예를 들어, 블록 304의 모바일 컴퓨팅 디바이스는 아이폰 6일 수 있고, 블록 304의 카메라는 아이폰 6의 전면 카메라일 수 있는 한편, 블록 502의 모바일 컴퓨팅 디바이스는 동일하거나 상이한 아이폰 6일 수 있고, 블록 502의 카메라는 재차 전면 카메라일 수 있다. 몇몇 실시예에서, 정규화 단계들 및 머신 러닝 모델은 라이브 대상의 이미지 및 트레이닝 데이터를 수집하는 데 사용되는 모바일 컴퓨팅 디바이스(102) 및 카메라(202)의 모델에 맞춤화될 수 있다. 몇몇 실시예에서는, 블록 502에서와는 다른 유형의 모바일 컴퓨팅 디바이스(102) 및/또는 카메라(202)가 블록 304에서 사용될 수 있고, 캡처된 이미지들 사이의 차이가 정규화 중에 최소화될 수 있다.
블록 504에서, 데이터 수집 엔진(204)은 라이브 대상의 하나 이상의 이미지를 피부색 결정 디바이스(104)로 전송한다. 위에서와 같이, 데이터 수집 엔진(204)은 임의의 적절한 유선 또는 무선 통신 기술을 사용하여 이미지들을 피부색 결정 디바이스(104)에 전송할 수 있다.
블록 506에서, 이미지 정규화 엔진(212)은 라이브 대상의 하나 이상의 이미지를 정규화한다. 몇몇 실시예에서, 라이브 대상의 이미지들의 정규화는 블록 310에서 트레이닝 대상의 이미지들에 대해 수행된 정규화와 일치한다. 비한정적인 일례로서, 도 4에 도시된 동작들이 트레이닝 대상의 이미지들에 적용된 동작들과 일치하는 방식으로 라이브 대상의 이미지들에 적용될 수 있다.
블록 508에서, 피부색 결정 디바이스(104)의 피부색 결정 엔진(210)은 라이브 대상의 정규화된 하나 이상의 이미지 및 하나 이상의 머신 러닝 모델을 사용하여 라이브 대상의 피부색을 결정한다. 몇몇 실시예에서, 라이브 대상의 정규화된 하나 이상의 이미지는 광원 색상을 추정하기 위해 제1 머신 러닝 모델에 입력으로 제공되며, 다음으로 라이브 대상의 정규화된 하나 이상의 이미지와 광원 색상은 피부색을 추정하기 위해 제2 머신 러닝 모델에 입력으로 제공된다. 몇몇 실시예에서, 라이브 대상의 정규화된 하나 이상의 이미지는 피부색을 직접 추정하는 단일 머신 러닝 모델에 입력으로 제공된다. 몇몇 실시예에서는, 복수의 정규화된 이미지가 단일 머신 러닝 모델(또는 제1 머신 러닝 모델에 및 그 다음 제2 머신 러닝 모델)에 입력으로 한 번에 제공될 수 있다. 몇몇 실시예에서, 정규화된 이미지들은 한 번에 하나씩 분석될 수 있고, 정규화된 이미지들에 대한 추정된 피부색들은 최종 피부색 결정을 생성하기 위해 평균화되거나 달리 결합될 수 있다. 몇몇 실시예에서, 라이브 대상의 이미지들은 정규화 없이 머신 러닝 모델들에 의해 처리될 수 있다.
블록 510에서, 피부색 결정 엔진(210)은 피부색을 모바일 컴퓨팅 디바이스(102)에 전송한다. 몇몇 실시예에서, 사용자 인터페이스 엔진(206)은 피부색과 연관된 이름 또는 값을 사용자에게 제시할 수 있다. 몇몇 실시예에서, 사용자 인터페이스 엔진(206)은 모바일 컴퓨팅 디바이스(102)의 디스플레이 상에서 사용자에게 제시하기 위한 색상을 재현할 수 있다.
블록 512에서, 피부색 결정 디바이스(104)의 제품 추천 엔진(214)은 피부색에 기초하여 추천할 하나 이상의 제품을 결정한다. 블록 514에서, 제품 추천 엔진(214)은 하나 이상의 제품을 모바일 컴퓨팅 디바이스(102)에 전송한다. 사용자 인터페이스 엔진(206)은 다음으로 제품들을 사용자에게 제시할 수 있고, 사용자가 제품들을 구매하거나 달리 입수할 수 있게 할 수 있다.
몇몇 실시예에서, 제품 추천 엔진(214)은 결정된 피부색과 일치하는, 제품 데이터 저장소(220) 내의 하나 이상의 제품을 결정할 수 있다. 이는 사용자의 피부색과 일치하도록 의도된 파운데이션과 같은 제품들에 특히 유용할 수 있다. 몇몇 실시예에서, 제품 추천 엔진(214)은 피부색에 상보적이지만 피부색과 일치하지는 않는, 제품 데이터 저장소(220) 내의 하나 이상의 제품을 결정할 수 있다. 이는 피부색에 정확히 일치시키는 것이 덜 바람직한 아이섀도 또는 립 컬러와 같은 제품들에 특히 유용할 수 있다. 몇몇 실시예에서, 제품 추천 엔진(214)은 일치하거나 유사한 피부색을 가진 다른 사용자들에 의해 선호되는 제품들에 기초하여 제품 데이터 저장소(220)로부터 제품을 결정하기 위해, 추천 시스템과 같은, 별개의 머신 러닝 모델을 사용할 수 있다. 몇몇 실시예에서는, 기존 제품이 피부색과 일치하지 않는 경우, 제품 추천 엔진(214)은 피부색과 일치하는 제품을 만들기 위한 성분들을 결정할 수 있고, 피부색과 일치하는 커스텀 제품을 만들기 위한 배합 시스템에 성분들을 제공할 수 있다.
도 6은 본 발명의 컴퓨팅 디바이스로서 사용하기에 적합한 예시적인 컴퓨팅 디바이스(600)의 양태들을 도시하는 블록도이다. 복수의 상이한 유형의 컴퓨팅 디바이스들이 위에서 논의되었으나, 예시적인 컴퓨팅 디바이스(600)는 다수의 상이한 유형의 컴퓨팅 디바이스들에 공통되는 다양한 요소들을 기술한다. 도 6은 네트워크 상의 디바이스로서 구현되는 컴퓨팅 디바이스를 참조하여 설명되지만, 아래의 설명은 서버, PC, 휴대폰, 스마트폰, 태블릿 컴퓨터, 임베디드 컴퓨팅 디바이스, 및 본 발명의 실시예들의 일부를 구현하는 데 사용될 수 있는 다른 디바이스들에 적용 가능하다. 또한, 본 기술분야의 통상의 기술자 및 다른 이들은 컴퓨팅 디바이스(600)가 현재 이용 가능하거나 아직 개발되지 않은 디바이스들 중 임의의 개수의 어느 하나일 수 있음을 인식할 것이다.
그 가장 기본적인 구성에서, 컴퓨팅 디바이스(600)는 통신 버스(606)에 의해 연결된 적어도 하나의 프로세서(602) 및 시스템 메모리(604)를 포함한다. 디바이스의 정확한 구성과 유형에 따라, 시스템 메모리(604)는 읽기 전용 메모리(read only memory: "ROM"), 랜덤 액세스 메모리(random access memory: "RAM"), EEPROM, 플래시 메모리, 또는 유사한 메모리 기술과 같은, 휘발성 또는 비휘발성 메모리일 수 있다. 본 기술분야의 통상의 기술자 및 다른 이들은 시스템 메모리(604)가 전형적으로 프로세서(602)가 즉시 액세스 가능하고 및/또는 현재 프로세서(602)에 의해 작동되고 있는 데이터 및/또는 프로그램 모듈들을 저장한다는 것을 인식할 것이다. 이와 관련하여, 프로세서(602)는 명령어들의 실행을 지원함으로써 컴퓨팅 디바이스(600)의 전산 센터로서 기능할 수 있다.
도 6에 추가로 도시된 바와 같이, 컴퓨팅 디바이스(600)는 네트워크를 통해 다른 디바이스들과 통신하기 위한 하나 이상의 컴포넌트를 포함하는 네트워크 인터페이스(610)를 포함할 수 있다. 본 발명의 실시예들은 공통 네트워크 프로토콜을 사용하여 통신을 수행하기 위해 네트워크 인터페이스(610)를 이용하는 기본 서비스에 액세스할 수 있다. 네트워크 인터페이스(610)는 또한 WiFi, 2G, 3G, LTE, WiMAX, 블루투스, 블루투스 저에너지 등과 같은 하나 이상의 무선 통신 프로토콜을 통해 통신하도록 구성된 무선 네트워크 인터페이스를 포함할 수 있다. 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이, 도 6에 도시된 네트워크 인터페이스(610)는 시스템(100)의 특정 컴포넌트들과 관련하여 위에서 설명되고 도시된 하나 이상의 무선 인터페이스 또는 물리적 통신 인터페이스를 나타낼 수 있다.
도 6에 묘사된 예시적인 실시예에서, 컴퓨팅 디바이스(600)는 저장 매체(608)를 또한 포함한다. 하지만, 로컬 저장 매체에 데이터를 영속화하는 수단을 포함하지 않는 컴퓨팅 디바이스를 사용하여 서비스에 액세스할 수 있다. 따라서, 도 6에 묘사된 저장 매체(608)는 저장 매체(608)가 옵션임을 나타내기 위해 파선으로 나타내고 있다. 어느 경우라도, 저장 매체(608)는 하드 드라이브, 솔리드 스테이트 드라이브, CD ROM, DVD, 또는 기타 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 등과 같은, 하지만 이들에 국한되지 않는, 정보를 저장할 수 있는 임의의 기술을 사용하여 구현되는 휘발성 또는 비휘발성, 착탈식 또는 비착탈식일 수 있다.
본 명세서에서 사용되는 경우, "컴퓨터 가독 매체"라는 용어는 컴퓨터 가독 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 기타 데이터와 같은 정보를 저장할 수 있는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 및 착탈식 및 비착탈식 매체를 포함한다. 이와 관련하여, 도 6에 묘사된 시스템 메모리(604) 및 저장 매체(608)는 단지 컴퓨터 가독 매체의 예들일 뿐이다.
프로세서(602), 시스템 메모리(604), 통신 버스(606), 저장 매체(608), 및 네트워크 인터페이스(610)를 포함하는 컴퓨팅 디바이스들의 적절한 구현예들은 알려져 있고 상업적으로 이용 가능하다. 예시의 용이를 위해서 및 특허청구된 주제의 이해에 중요하지 않기 때문에, 도 6은 많은 컴퓨팅 디바이스의 전형적인 컴포넌트들 중 일부를 도시하지 않고 있다. 이와 관련하여, 컴퓨팅 디바이스(600)는 키보드, 키패드, 마우스, 마이크로폰, 터치 입력 디바이스, 터치스크린, 태블릿 등과 같은 입력 디바이스들을 포함할 수 있다. 이러한 입력 디바이스들은 RF, 적외선, 직렬, 병렬, 블루투스, 블루투스 저에너지, USB, 또는 무선 또는 물리적 연결을 사용하는 다른 적절한 연결 프로토콜을 포함한, 유선 또는 무선 연결에 의해 컴퓨팅 디바이스(600)에 결합될 수 있다. 유사하게, 컴퓨팅 디바이스(600)는 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스들을 또한 포함할 수 있다. 이들 디바이스는 본 기술분야에 잘 알려져 있으므로, 본 명세서에서는 더 이상 도시되거나 설명되지 않는다.
예시적인 실시예들이 도시되고 설명되었으나, 본 발명의 사상과 범위로부터 일탈함이 없이 이에 다양한 변경이 이루어질 수 있음을 이해할 것이다. 예를 들어, 위에서 설명된 실시예들은 피부색을 추정하기 위해 모델들을 트레이닝하여 사용하지만, 몇몇 실시예에서는 피부색 이외의 피부 특징들이 추정될 수 있다. 예를 들어, 몇몇 실시예에서는, 피부색과 관련하여 위에서 논의된 것들과 유사한 기법들을 사용하여 Fitzpatrick(피츠패트릭) 피부 유형을 추정하도록 하나 이상의 머신 러닝 모델이 트레이닝될 수 있고, 이러한 모델들은 다음으로 라이브 대상들의 이미지들에 대한 Fitzpatrick(피츠패트릭) 피부 유형을 추정하는 데 사용될 수 있다.
또한, 전술한 실시예들은 이미지에 묘사된 얼굴 전체에 대한 피부색을 추정하는 모델들을 트레이닝하여 사용하지만, 몇몇 실시예에서는, 이미지 내의 얼굴의 피부색에 대한 픽셀별 예측 점수들을 생성하도록 하나 이상의 컨볼루션 뉴럴 네트워크 이미지 분류기가 트레이닝되어 사용될 수 있다. 이러한 실시예들은 하나 이상의 컨벌루션 뉴럴 네트워크 이미지 분류기를 사용하여 픽셀별 예측 점수를 생성하도록 구성된 전산 회로를 포함하는 피부색 예측 유닛, 및 얼굴의 피부색에 대한 예측 점수들에 기초한 하나 이상의 입력에 응답하여 사용자의 예측된 피부색의 가상 디스플레이를 생성하도록 구성된 전산 회로를 포함하는 예측된 피부색 유닛을 포함하는 시스템을 포함할 수 있다.

Claims (15)

  1. 이미지 내의 얼굴의 피부색을 추정하도록 머신 러닝 모델을 트레이닝시키는 방법으로서,
    컴퓨팅 디바이스에 의해, 트레이닝 대상의 얼굴을 포함하는 적어도 하나의 트레이닝 이미지를 수신하는 단계;
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 트레이닝 이미지에 대한 태깅 정보를 수신하는 단계;
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 트레이닝 이미지 및 상기 태깅 정보를 트레이닝 데이터 저장소에 추가하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 트레이닝 데이터 저장소에 저장된 정보를 사용하여 얼굴들의 피부색들을 결정하도록 상기 머신 러닝 모델을 트레이닝시키는 단계:
    를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 방법은 상기 컴퓨팅 디바이스에 의해, 적어도 하나의 정규화된 트레이닝 이미지를 생성하기 위해 상기 적어도 하나의 트레이닝 이미지를 정규화하는 단계를 더 포함하고,
    적어도 하나의 정규화된 트레이닝 이미지를 생성하기 위해 상기 적어도 하나의 트레이닝 이미지를 정규화하는 단계는:
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 트레이닝 이미지에서 얼굴을 검출하는 단계;
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 트레이닝 이미지에서 상기 얼굴을 중앙에 위치시키는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 얼굴이 사전 결정된 크기가 되도록 상기 적어도 하나의 트레이닝 이미지를 줌(zoom)하는 단계:
    를 포함하는,
    방법.
  3. 제1 항 내지 제2 항 중 어느 한 항에 있어서,
    적어도 하나의 트레이닝 이미지를 수신하는 단계는:
    상기 컴퓨팅 디바이스에 의해, 비디오를 수신하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 비디오로부터 적어도 하나의 트레이닝 이미지를 추출하는 단계:
    를 포함하는,
    방법.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 트레이닝 이미지에 대한 태깅 정보를 수신하는 단계는:
    상기 컴퓨팅 디바이스에 의해, 상기 트레이닝 이미지에서 색상 참조 차트(color reference chart)를 검출하는 단계;
    상기 컴퓨팅 디바이스에 의해, 상기 색상 참조 차트에 기초하여 광원 색상을 결정하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 결정된 광원 색상에 기초하여 상기 적어도 하나의 트레이닝 이미지의 색상을 조정하는 단계:
    를 포함하는,
    방법.
  5. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 트레이닝 이미지에 대한 태깅 정보를 수신하는 단계는 분광 광도계에 의해 상기 트레이닝 대상으로부터 수집된 피부색 정보를, 상기 컴퓨팅 디바이스에 의해, 수신하는 단계를 포함하는,
    방법.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서,
    트레이닝 데이터 세트를 사용하여 얼굴들의 피부색들을 결정하도록 상기 머신 러닝 모델을 트레이닝시키는 단계는:
    상기 컴퓨팅 디바이스에 의해, 트레이닝 이미지를 입력으로 처리하여 조명 상태의 표시를 출력으로 생성하는 제1 머신 러닝 모델을 트레이닝시키는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 트레이닝 이미지 및 상기 조명 상태의 표시를 입력으로 처리하여 피부색의 표시를 출력으로 생성하는 제2 머신 러닝 모델을 트레이닝시키는 단계:
    를 포함하는,
    방법.
  7. 얼굴의 피부색을 추정하기 위해 하나 이상의 머신 러닝 모델을 사용하는 방법으로서,
    컴퓨팅 디바이스에 의해, 라이브 대상(live subject)의 얼굴을 포함하는 적어도 하나의 이미지를 수신하는 단계;
    상기 컴퓨팅 디바이스에 의해, 피부색의 결정을 획득하기 위해 적어도 하나의 머신 러닝 모델을 사용하여 상기 적어도 하나의 이미지를 처리하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 피부색을 제시하는 단계:
    를 포함하는, 방법.
  8. 제7 항에 있어서,
    상기 컴퓨팅 디바이스에 의해, 적어도 하나의 정규화된 이미지를 생성하기 위해 상기 적어도 하나의 이미지를 정규화하는 단계를 더 포함하는, 방법.
  9. 제8 항에 있어서,
    적어도 하나의 정규화된 이미지를 생성하기 위해 상기 적어도 하나의 이미지를 정규화하는 단계는:
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 이미지에서 얼굴을 검출하는 단계;
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 이미지에서 상기 얼굴을 중앙에 위치시키는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 얼굴이 사전 결정된 크기가 되도록 상기 적어도 하나의 이미지를 줌(zoom)하는 단계:
    를 포함하는,
    방법.
  10. 제7 항 내지 제9 항 중 어느 한 항에 있어서,
    라이브 대상의 얼굴을 포함하는 적어도 하나의 이미지를 수신하는 단계는:
    상기 컴퓨팅 디바이스에 의해, 비디오를 수신하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 비디오로부터 적어도 하나의 이미지를 추출하는 단계:
    를 포함하는,
    방법.
  11. 제10 항에 있어서,
    상기 비디오로부터 적어도 하나의 이미지를 추출하는 단계는 상기 비디오로부터 복수의 이미지를 추출하는 단계를 포함하고;
    상기 방법은:
    상기 컴퓨팅 디바이스에 의해, 피부색의 복수의 결정을 획득하기 위해 적어도 하나의 머신 러닝 모델을 사용하여 상기 복수의 이미지를 처리하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 피부색의 결합된 결정(combined determination)을 결정하기 위해 상기 피부색의 복수의 결정을 결합하는 단계:
    를 더 포함하는, 방법.
  12. 제7 항 내지 제11 항 중 어느 한 항에 있어서,
    피부색의 결정을 획득하기 위해 적어도 하나의 머신 러닝 모델을 사용하여 상기 적어도 하나의 이미지를 처리하는 단계는:
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 이미지를 입력으로 사용하여 조명 상태의 표시를 출력으로 생성하도록 제1 머신 러닝 모델을 실행하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 이미지 및 상기 조명 상태의 표시를 입력으로 사용하여 상기 피부색의 결정을 생성하도록 제2 머신 러닝 모델을 실행하는 단계:
    를 포함하는,
    방법.
  13. 제7 항 내지 제12 항 중 어느 한 항에 있어서,
    상기 컴퓨팅 디바이스에 의해, 상기 피부색을 입력으로 사용하여 제품 추천을 생성하도록 추천자 모델(recommender model)을 실행하는 단계:
    를 더 포함하는, 방법.
  14. 시스템으로 하여금 제1 항 내지 제13 항 중 어느 한 항에 기재된 방법을 수행하게 하도록 구성된 전산 회로를 포함하는 하나 이상의 디바이스를 포함하는 시스템.
  15. 컴퓨팅 시스템의 하나 이상의 프로세서에 의한 실행에 응답하여, 상기 컴퓨팅 시스템으로 하여금 제1 항 내지 제13 항 중 어느 한 항에 기재된 방법을 수행하게 하는 컴퓨터 실행 가능 명령어들이 저장된 비일시적 컴퓨터 가독 매체.
KR1020227004970A 2019-07-18 2020-07-09 미제어 조명 상태를 갖는 이미지에서 피부색을 식별하는 기법 KR20220025257A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/516,080 2019-07-18
US16/516,080 US11191342B2 (en) 2019-07-18 2019-07-18 Techniques for identifying skin color in images having uncontrolled lighting conditions
PCT/US2020/041350 WO2021011287A1 (en) 2019-07-18 2020-07-09 Techniques for identifying skin color in images having uncontrolled lighting conditions

Publications (1)

Publication Number Publication Date
KR20220025257A true KR20220025257A (ko) 2022-03-03

Family

ID=71833481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227004970A KR20220025257A (ko) 2019-07-18 2020-07-09 미제어 조명 상태를 갖는 이미지에서 피부색을 식별하는 기법

Country Status (6)

Country Link
US (2) US11191342B2 (ko)
EP (1) EP4000000A1 (ko)
JP (2) JP7181437B2 (ko)
KR (1) KR20220025257A (ko)
CN (1) CN114258559A (ko)
WO (1) WO2021011287A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
IL282172B2 (en) 2018-10-11 2024-02-01 Tesla Inc Systems and methods for training machine models with enhanced data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US20220122354A1 (en) * 2020-06-19 2022-04-21 Pinterest, Inc. Skin tone determination and filtering
US11995567B2 (en) * 2020-08-27 2024-05-28 Micron Technology, Inc. Apparatuses and methods for color matching and recommendations
EP4046594A1 (de) * 2021-02-18 2022-08-24 Ivoclar Vivadent AG Verfahren zur festlegung einer zahnfarbe
US11373059B2 (en) * 2021-07-23 2022-06-28 MIME, Inc. Color image analysis for makeup color prediction model
US11816144B2 (en) 2022-03-31 2023-11-14 Pinterest, Inc. Hair pattern determination and filtering

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6437866B1 (en) 1999-07-07 2002-08-20 Fd Management, Inc. System for assisting customers in selecting an optimum color cosmetic product
JP2002189918A (ja) * 2000-12-20 2002-07-05 Pola Chem Ind Inc 化粧料情報作成装置,化粧料情報作成方法,及びコンピュータ読取可能な記録媒体
JP2004282535A (ja) * 2003-03-18 2004-10-07 Mitsubishi Electric Corp 画角調整装置
JP2005242582A (ja) * 2004-02-25 2005-09-08 Univ Waseda 顔検出装置およびその方法
JP2007047949A (ja) * 2005-08-08 2007-02-22 Advanced Telecommunication Research Institute International 口トラッキング装置及びコンピュータプログラム
JP4782600B2 (ja) * 2006-03-30 2011-09-28 富士フイルム株式会社 顔検出方法およびこれを用いた撮影装置
WO2008108760A1 (en) * 2007-03-08 2008-09-12 Hewlett-Packard Development Company, L.P. Method and system for recommending a product based upon skin color estimated from an image
US8830468B2 (en) 2012-09-17 2014-09-09 Larry Y Igarashi Custom cosmetic blending machine with handheld colorimeter
JP2013207721A (ja) * 2012-03-29 2013-10-07 Fujifilm Corp 撮像装置、並びにそのホワイトバランス補正方法及びホワイトバランス補正プログラム
CN105760826B (zh) * 2016-02-03 2020-11-13 歌尔股份有限公司 一种人脸跟踪方法、装置和智能终端
CN108701323B (zh) * 2016-03-21 2023-11-10 宝洁公司 用于提供定制的产品推荐的系统和方法
JP6844295B2 (ja) * 2017-02-10 2021-03-17 富士ゼロックス株式会社 画像処理装置及びプログラム
WO2019014646A1 (en) * 2017-07-13 2019-01-17 Shiseido Americas Corporation REMOVAL OF VIRTUAL FACIAL MAKE-UP, FAST FACIAL DETECTION AND TRACK POINT TRACKING
BR112020008021A2 (pt) * 2017-10-24 2020-10-27 L'ORéAL S.A. dispositivos de computação, método para gerar uma cnn treinada para processar imagens e métodos para processar uma imagem
US11157985B2 (en) * 2017-11-29 2021-10-26 Ditto Technologies, Inc. Recommendation system, method and computer program product based on a user's physical features

Also Published As

Publication number Publication date
JP2022532443A (ja) 2022-07-14
JP7181437B2 (ja) 2022-11-30
US20220079325A1 (en) 2022-03-17
CN114258559A (zh) 2022-03-29
JP7500689B2 (ja) 2024-06-17
US20210015240A1 (en) 2021-01-21
WO2021011287A1 (en) 2021-01-21
EP4000000A1 (en) 2022-05-25
JP2023018021A (ja) 2023-02-07
US11191342B2 (en) 2021-12-07

Similar Documents

Publication Publication Date Title
US11191342B2 (en) Techniques for identifying skin color in images having uncontrolled lighting conditions
US11176423B2 (en) Edge-based adaptive machine learning for object recognition
WO2019233421A1 (zh) 图像处理方法及装置、电子设备、存储介质
US10438077B2 (en) Face liveness detection method, terminal, server and storage medium
US10846555B2 (en) Object recognition based on hierarchical domain-based models
US9704046B2 (en) Discovering object pathways in a camera network
EP3726844B1 (en) Display apparatus, content recognizing method thereof, and non-transitory computer readable recording medium
WO2016187888A1 (zh) 基于字符识别的关键词通知方法及设备、计算机程序产品
US11010636B2 (en) Systems and methods for providing personalized product recommendations using deep learning
WO2020019591A1 (zh) 用于生成信息的方法和装置
CN110741377A (zh) 人脸图像处理方法、装置、存储介质及电子设备
US11080348B2 (en) System and method for user-oriented topic selection and browsing
US20160027050A1 (en) Method of providing advertisement service using cloud album
US11810177B2 (en) Clothing collocation
US20200117948A1 (en) Object recognition apparatus, object recognition system, and object recognition method
WO2019214019A1 (zh) 基于卷积神经网络的网络教学方法以及装置
KR20160012901A (ko) 이미지를 검색하는 방법 및 그 전자 장치
US11763564B1 (en) Techniques for generating optimized video segments utilizing a visual search
KR20150101846A (ko) 스케치를 기반으로 하는 영상 분류 서비스 시스템, 사용자 장치, 서비스 제공 장치, 그 서비스 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN109902531B (zh) 用户管理方法、装置、介质和电子设备
CN115797723B (zh) 滤镜推荐方法、装置、电子设备及存储介质
WO2021105163A1 (en) Techniques for improving product recommendations using personality traits