KR20190000397A - 패션 선호도 분석 기법 - Google Patents

패션 선호도 분석 기법 Download PDF

Info

Publication number
KR20190000397A
KR20190000397A KR1020187037225A KR20187037225A KR20190000397A KR 20190000397 A KR20190000397 A KR 20190000397A KR 1020187037225 A KR1020187037225 A KR 1020187037225A KR 20187037225 A KR20187037225 A KR 20187037225A KR 20190000397 A KR20190000397 A KR 20190000397A
Authority
KR
South Korea
Prior art keywords
user
image
fashion
analysis
received
Prior art date
Application number
KR1020187037225A
Other languages
English (en)
Other versions
KR102189394B1 (ko
Inventor
로빈슨 피라무스
웨이 디
비그네쉬 자가디쉬
엘리자베스 처칠
아누라그 바드와즈
Original Assignee
이베이 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이베이 인크. filed Critical 이베이 인크.
Priority to KR1020207034889A priority Critical patent/KR102425462B1/ko
Publication of KR20190000397A publication Critical patent/KR20190000397A/ko
Application granted granted Critical
Publication of KR102189394B1 publication Critical patent/KR102189394B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • G06K9/00201
    • G06K9/00335
    • G06K9/00362
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Abstract

머신은 사용자의 패션 선호도를 결정하고 사용자의 패션 선호도에 기초하여 사용자에게 아이템 추천을 제공하도록 구성될 수 있다. 예를 들어, 머신은 사용자의 이미지 및 사용자의 신체의 자세를 3차원 공간으로 표시하는 공간 데이터 세트를 수신한다. 머신은 이미지 및 공간 데이터 세트의 분석을 수행할 수 있다. 분석을 수행하는 것은 수신된 이미지로부터 사용자에 의해 착용된 아이템의 일부분을 묘사하는 이미지 조각을 추출하는 것을 포함할 수 있다. 머신은 이미지 및 공간 데이터 세트의 분석에 기초하여 사용자의 패션 선호도를 식별할 수 있다. 머신은 패션 아이템의 인벤토리 내에서 사용자의 패션 선호도에 대응하는 아이템을 식별할 수 있으며 식별된 패션 아이템의 추천을 생성할 수 있다.

Description

패션 선호도 분석 기법{FASHION PREFERENCE ANALYSIS}
우선권 주장
본 출원은 2014년 4월 17일자로 출원된 미국 가출원 제61/981,011호의 우선권 이익 및 2014년 7월 8일자로 출원된 미국 특허출원 제14/326,125호의 우선권 이익을 주장하며, 이들 두 출원은 모두 그 전체 내용이 본 출원에서 참조문헌으로 인용된다.
저작권 공고
본 특허 문서의 일부 개시 내용은 저작권 보호를 받는 자료를 담고 있다. 저작권자는 특허문서 또는 특허 개시 내용이 특허청의 특허 파일이나 기록에서 보이는 대로 누군가가 복제하는 데는 이의가 없으나, 그렇지 않은 경우에는 모든 저작권을 보유한다. 다음의 공고 문구는 아래에서 기술되면서 본 문서의 일부를 구성하는 도면 내에 있는 소프트웨어 및 데이터에 적용한다: 2014년 저작권 판권 소유 이베이 인코포레이티드.
기술 분야
본 명세서에서 개시된 주제는 일반적으로 데이터의 처리에 관한 것이다. 구체적으로, 본 개시는 사용자의 패션 선호도를 결정하고 사용자의 패션 선호도에 기초하여 사용자에게 아이템 추천을 제공하는 시스템 및 방법을 제시한다.
온라인 상거래는 사람들이 쇼핑하는 방식을 변화시켰다. 많은 사람은 온라인 상점으로부터 전자제품, 식료품, 책, 자동차 등과 같은 다양한 제품을 구매한다. 온라인 상거래의 가장 인상적인 성공 사례 중 하나는 패션 의류 부분이다. 이것은 적어도 부분적으로 경쟁력 있는 가격의 대규모 인벤토리에 의해 부여될 수 있는 패션 선택의 다양성에 기인할 수 있다. 그러나 대규모의 패션 인벤토리를 호스팅함으로서 부여되는 장점과 더불어, 사용자가 수백만 아이템 목록과 효과적으로 상호작용할 수 있게 할 필요가 있다. 기존의 전자상거래 사이트의 대부분은 쿼리와 가장 관련 있는 제품을 식별하는데 도움이 되는 텍스트 기반의 검색 엔진을 이용한다.
일부 실시예는 예의 형태로 예시되며 첨부 도면의 모습으로 제한되지 않는다.
도 1은 일부 예시적인 실시예가 이용될 수 있는 클라이언트-서버 시스템을 도시하는 네트워크 다이어그램이다.
도 2는 일부 예시적인 실시예에서, 네트워크형 시스템에서 애플리케이션 서버(들)(118)의 일원으로서 제공되는 마켓플레이스 및 결제 애플리케이션을 예시하는 블록도이다.
도 3은 일부 예시적인 실시예에 따른, 패션 선호도의 분석에 적합한 네트워크 환경을 예시하는 네트워크 구성도이다.
도 4는 일부 예시적인 실시예에 따른, 입력 데이터의 예를 예시하는 도면이다.
도 5는 일부 예시적인 실시예에 따른, 예시적인 선호도 분석 머신의 기능 블록도이다.
도 6은 일부 예시적인 실시예에 따른, 상이한 시점에 사용자를 묘사하는 예시적인 이미지 및 상이한 시점에 사용자의 신체를 표현하는 대응하는 예시적인 모델을 예시하는 도면이다.
도 7은 일부 예시적인 실시예에 따른, 선호도 분석 머신의 컴포넌트를 예시하는 블록도이다.
도 8 내지 도 9는 일부 예시적인 실시예에 따른, 사용자의 패션 선호도를 결정하는 방법을 수행할 때 선호도 분석 머신의 동작을 예시하는 플로우차트 이다.
도 10은 일부 예시적인 실시예에 따른, 모델 클러스터의 예를 예시하는 도면이다.
도 11은 일부 예시적인 실시예에 따른, 사용자의 패션 선호도를 결정하는 방법을 수행할 때 선호도 분석 머신의 동작을 예시하는 플로우차트이다.
도 12는 일부 예시적인 실시예에 따른, 예시적인 이미지 및 각 예시적인 이미지로부터 추출된 이미지 견본의 대응하는 예시적인 그룹을 예시하는 도면이다.
도 13 내지 도 15는 일부 예시적인 실시예에 따른, 사용자의 패션 선호도를 결정하는 방법을 수행할 때 선호도 분석 머신의 동작을 예시하는 플로우차트이다.
도 16은 일부 예시적인 실시예에 따른, 예시적인 쿼리 이미지 및 대응하는 예시적인 검색 결과를 예시하는 도면이다.
도 17은 일부 예시적인 실시예에 따른, 이동 디바이스를 예시하는 블록도이다.
도 18은 일부 예시적인 실시예에 따른, 머신 판독 가능한 매체로부터 명령어를 읽고 본 명세서에서 논의된 방법론 중 임의의 하나 이상의 방법론을 수행할 수 있는 머신의 컴포넌트를 예시하는 블록도이다.
사용자의 패션 선호도의 결정을 용이하게 해주고 사용자의 패션 선호도에 기초하여 사용자에게 아이템 추천을 제공하는 예시적인 방법 및 시스템이 기술된다. 예는 그저 가능한 변형예의 본보기일 뿐이다. 달리 명시적으로 언급하지 않는 한, 컴포넌트 및 기능은 선택 사양이고 조합되거나 세부 분할될 수 있으며, 동작은 순서에서 바뀔 수 있고 아니면 조합되거나 세부 분할될 수 있다. 아래의 설명에서, 설명 목적상, 많은 특정한 세부사항이 예시적인 실시예의 철저한 이해를 제공하기 위해 언급된다. 그러나 본 기술에서 통상의 지식을 가진 자에게는 본 주제가 이와 같은 특정 세부사항 없이 실시될 수 있다는 것이 명백할 것이다.
처음 도입된 이래로, 온라인 쇼핑은 사용자가 경쟁력 있는 가격으로 상품을 더 많이 선택하게 해주는 효과적인 메커니즘인 것으로 입증되었다. 더 많은 상거래 주체들이 온라인에 참여하므로, 온라인에서 구입 가능한 상품의 양은 극적으로 증가한다. 결과적으로, 쇼핑하는 사람들은 자기들의 검색 기준을 충족하는 아이템을 빨리 검색하고 식별하기가 더 어려워진다는 것을 알 수 있다.
일반적으로, 검색 엔진을 이용하여 아이템을 온라인 검색하기 시작할 때, 사용자는 텍스트 쿼리를 사용자 인터페이스에 입력한다. 사용자는 텍스트로 패션 아이템을 검색하면서 몇 가지 주요한 고충 문제에 직면할 수 있다. 첫 번째로, 긴 문장의 쿼리의 의미론적 측면을 이해하는데 어려움이 있기 때문에, 긴 쿼리 문구(예를 들면, "칼라가 깊이 파진 청색 줄무늬 반소매 셔츠(blue striped half sleeve shirt with low cut collar)")를 사용하는 경우 기술 텍스트 검색 엔진 중 대부분의 형편없는 수행 결과를 초래할 수 있다. 두 번째로, 패션은 종종 텍스트 검색 엔진에 의해 무시되는 시각적인 미적 대상과 주로 관련된다. 최근의 시도는 이미지 쿼리를 이용하여 아이템의 검색을 가능하게 만들어졌다. 그러나 그러한 시도는 종종 더 양호하고, 더 관련 있는 검색 결과를 가져 오지 않는다. 사용자의 패션 취향, 체형(또는 신체 구조 또는 신체 크기(body dimension)), 선호 색상, 패턴, 스타일, 또는 브랜드를 감안하여 고객화되지 않은 이미지 검색만으로는 사용자와 관련 없는 수많은 검색 결과를 양산할 수 있다.
최근 가상 탈의실의 발전은 사용자의 신체 구조를 결정하는 일부 측면에 초점을 맞추었다. 그러나 많은 가상의 탈의실 시스템은 사용자 스타일 또는 패션 선호도를 이해하려 시도하지 않을 수 있다. 또한, 가상의 탈의실의 체험은 연장된 기간에 걸쳐 사용자의 패션 선택의 지속적인 관찰이 가능하지 않을 수 있는 보통 인의적이고 일회용으로 생긴 것이기 때문에 많은 가상의 탈의실 시스템은 사용자의 자연스러운 패션 스타일을 연구하기에 적합하지 않을 수 있다.
일부 예시적인 실시예에서, 선호도 분석 시스템은 사용자의 패션 선호도를 결정하고 사용자의 패션 선호도에 기초하여 아이템 추천을 제공할 수 있다. 특정의 예시적인 실시예에 따르면, 선호도 분석 시스템은 어떤 기간에 걸쳐 사용자의 자연스러운 환경(예를 들면, 거실 또는 사무실 공간)에서 사용자를 서술하는 시각 및 공간 데이터를 수집할 수 있고, 수집된 시각 및 공간 데이터에 기초하여 사용자의 하나 이상의 패션 선호도를 결정할 수 있고, 사용자의 패션 선호도에 맞는 하나 이상의 패션 아이템(예를 들면, 의류, 신발, 또는 액세서리)을 식별할 수 있고, 식별된 하나 이상의 패션 아이템을 사용자에게 추천할 수 있다. 일부 예시적인 실시예에서, 시각 및 공간 데이터를 수집하는 디바이스(예를 들면, 카메라 또는 센서)에 대해 사용자에게 특정의 미리 정해진 자세로 서 있도록 요청하지 않고 사용자에 의한 선호도 분석 시스템과의 묵시적인 상호작용을 가능하게 함으로써, 선호도 분석 시스템은 사용자의 패션 취향에 관해 더욱 사용자 친화적이고 시간 절약적인 학습 메커니즘을 제공할 수 있으며 사용자의 옷장 아이템과 유사한 또는 사용자의 옷장 아이템과 잘 어울릴 수 있는 관련 있는 패션 아이템의 추천을 제공할 수 있다.
일부 예시적인 실시예에서, 시각 및 공간 데이터는 적(red), 녹(green), 청(blue) 및 깊이(depth)(이하, RGB-D) 센서에서 구현된 기술과 같은 이미징 기술을 이용하여 수집된다. 깊이 감지 기술을 이용하는 제품의 예는 마이크로소프트 XBOX 360® 및 XBOX One이다. 전형적인 RGB 이미지는 3차원(이하, "3D") 장면을 이차원(이하, "2D") 센서에 투사함으로써 취득되며, 그래서 깊이에 관한 정보가 모두 상실된다. RGB-D 센서는 깊이 데이터를 제공하기 때문에, 움직임 포착 및 인간 신체 모델링 분야에서는 새로운 기술 진보가 가능하다. 그뿐만 아니라, RGB-D 데이터는 사용자가 복잡한 움직임을 보이는 비디오 스트림으로서 획득될 수 있기 때문에, 선호도 분석 시스템은 사용자의 신체의 여러 부위에 착용되는 의류에 관한 상세한 정보 및 사용자의 신체에 관한 상세한 정보(예를 들면, 레이아웃, 체형, 또는 치수)를 구할 수 있다.
일부 예시적인 실시예에 따르면, 사용자의 패션 선호도를 결정하는 선호도 분석 시스템에 의해 사용되는 데이터세트는 3-튜플 형태의 세 개의 주요 정보원 즉, RGB 채널, 깊이 채널, 및 (예를 들어, 깊이 센서에 의해 획득된 데이터에 기초하여 생성된) 인간의 막대 형상 그림(human stick figure)을 갖는다. RGB-D 데이터세트는
Figure pat00001
로 표시될 수 있다. 일부 사례에서, 사용자의 패션 선호도에 기초하여 패션 인벤토리의 검색을 수행하는데 사용되는 쿼리 이미지는
Figure pat00002
로 표시될 수 있다. 3개로 이루어진 변수는 각자 RGB 이미지, 깊이 이미지 및 골격 어레이(Skeleton array) (예를 들면, 골격 관절의 식별자)를 나타낸다. RGB-D 이미지에서 인간은 고정 개수의 뼈 관절, 예를 들면, P 관절로 구성된 골격을 이용하여 표현될 수 있다. 다시 말해서,
Figure pat00003
는 각 뼈 관절의 위치에 대응하는 P개의 3차원 좌표를 포함한다. 또한
Figure pat00004
로 표시되는 의류 또는 액세서리(예를 들면, 모자, 선글라스, 티셔츠, 시계, 신발, 보석 아이템, 백 등)의 한 세트 R개의 아이템이 있다고 가정할 수 있다.
움직이는 사용자를 관측함에 따라서 결정될 수 있는 각종 유용한 정보가 있다. 그러한 정보의 예는 사용자의 신체 크기 및 옷 스타일이다. 사용자의 신체 치수의 결정은 특정 사용자의 정확한 사이즈의 옷의 검색을 고객화하는데 도움이 될 수 있다. 일반적으로, 많은 사용자는 자신의 신체 사이즈를 논하는데 주저하거나 신체 크기 정보를 누구에게 (예를 들면, 전자상거래 운영자에게) 제공하기를 주저한다. 사용자는 또한 시간 경과에 따라 자신의 신체 치수를 지속적으로 추적하는 것이 어렵다는 것을 알 수 있다. 선호도 분석 시스템은 명시적인 질문을 하지 않고 그리고 측정하기 위해 포즈를 취하도록 지시를 내리지 않고, 사용자의 신체 치수를 결정함으로써 이와 같은 문제를 해결할 수 있다.
일부 예시적인 실시예에서, 이미징 센서 및 알고리즘의 발전은 선호도 분석 시스템이 복수의 신체 부위에 대한 정확한 신체 크기를 결정하게 한다. 한 점의 2D 이미지 픽셀 좌표를
Figure pat00005
로 표시하고 그의 대응하는 3D 세계에서의 위치를
Figure pat00006
로 표시하면, 두 개의 표현은 투사 매트릭스,
Figure pat00007
에 의해 관련될 수 있다. 이미지 픽셀 좌표에 기초하여, 선호도 분석 시스템은 투사 매트릭스를 이용하여 정확하게 X, Y를 복구할 수 있는 한편, Z는 스케일 팩터까지 복구될 수 있다. 그러나 깊이(예를 들면, 키넥트(Kinect)) 센서의 깊이 채널은 Z에서의 불명료를 해소하는 명시적인 깊이 값을 분석 시스템에 제공할 수 있다. 일단 선호도 분석 시스템이 사용자의 신체 관절의 3D 좌표에 액세스하면, 선호도 분석 시스템은 사용자의 신체 크기를 측정할 수 있다. 인체 다기관 M상에서 3D의 관절 거리 dM의 프리미티브를 이용하면, 다음과 같다.
Figure pat00008
일부 예시적인 실시예에서, 선호도 분석 시스템은 메시를 3D 점에 맞추어 놓은 후 사람 신체상의 모든 픽셀을 3D 공간에 투사하여 사람의 전체 3D 모델을 산출할 수 있다. 특정의 예시적인 실시예에서, 선호도 분석 시스템은 3D 공간에서의 관절 위치에 기초하여 사람의 모델을 생성할 수 있다. 평평한 2D 이미지로부터 추정된 신체 치수는 깊이의 감각이 부족하다. 깊이 센서는 컬러 이미지 내 각 픽셀마다 명시적으로 깊이 채널을 제공함으로써 선호도 분석 시스템이 이러한 문제를 극복하게 하는데 도움을 줄 수 있다. 3D 세계가 2D 이미징 센서상에 투사되었기 때문에, 투사 프로세스는
Figure pat00009
를 이용하여, 진짜 3D 좌표를 복구하기 위해 반전될 수 있고, 여기서
Figure pat00010
,
Figure pat00011
는 x-y 카메라 초점 길이 및 주 오프셋(principal offset)이다.
일단 여러 신체 관절에 대응하는 신체 위치가
Figure pat00012
을 이용하여 국부화되면, 일부 예시적인 실시예에서, 다음 단계는 의류 또는 다른 패션 아이템이 착용될 수 있는 모든 신체 부위의 픽셀을 추출하는 것일 수 있다. 일부 사례에서, 복수의 신체 부위: (예를 들어, 안경이 착용될 수 있는) 얼굴, (예를 들어, 셔츠, 상의, 티셔츠, 또는 블레이저가 착용될 수 있는) 몸통, (예를 들어, 시계 또는 팔찌가 착용될 수 있는) 오른손/왼손, (예를 들어, 바지, 반바지 또는 스커트가 착용될 수 있는) 오른 다리 또는 왼다리, 또는 (예를 들어, 부츠, 신발, 또는 샌달이 착용될 수 있는) 오른발 또는 왼발이 국부화될 수 있다. 이러한 관심의 신체 부위는 아래의 도 6에서 예시된 바와 같이 선천적으로 신체 부위 관절로 구성된다. 예를 들어, 몸통 신체 부위
Figure pat00013
는 가슴
Figure pat00014
및 배꼽
Figure pat00015
에서 검출된 두 개의 관절로 구성된다. 특정 신체 부위와 이들 부위의 구성 관절 사이의 예시적인 관계는 아래에서 도시된 표 1에서 예시된다.
Figure pat00016
일부 예시적인 실시예에서, 이미지 내에서 사용자의 표현 중 특정 신체 부위(예를 들면, 몸통) 부분에 대응하는 이미지 부분 (예를 들면, 조각 또는 구역)은 이미지로부터 추출될 수 있다. 만일 특정 신체 부위가 L개의 관절로 구성된다고 가정하면, 이미지 조각의 중심 및 그 이미지 조각의 사이즈는 다음과 같은 공식을 이용하여 계산될 수 있다.
Figure pat00017
다시 말해서, 일부 예시적인 실시예에 따르면, 이미지 조각을 사용자의 이미지로부터 추출하기 위한 절차는 점 "조각 중심(Swatch Center)"을 중심으로 하여 사각형의 크기 박스 "조각 크기(Swatch Dimension)"를 잘라내는 것을 포함한다.
일단 여러 신체 부위에 대응하는 관심의 구역이 이미지로부터 잘려 나오면, 이들 관심 구역은 적절한 시각 디스크립터(visual descriptor)를 이용하여 서술될 수 있다. 시각 디스크립터는 "색조(Hue), 채도(Saturation), 및 값(Value)" (또한 "HSV") 컬러 공간에서의 컬러 디스크립터일 수 있다. 각 신체 부위에 속하는 픽셀은 잘라낸 부분에 포함된 컬러를 나타내는 한 세트의 실수로 표현된다. 선호도 분석 시스템은 H 채널에 대해 24빈(bin), S 채널에 대해 8빈, 그리고 V 채널에 대해 8빈을 생성하는 불균일 비닝 전략(non-uniform binning strategy)을 활용할 수 있다. 컬러 특징 이외에, 선호도 분석 시스템은 또한 시각 디스크립터가 48개의 실수로 구성되는 8빈으로 이루어진 그레이 스케일 히스토그램을 이용할 수도 있다. j번째 이미지 내 i번째 신체 부위와 연관된 시각 디스크립터는 조각
Figure pat00018
로 표시될 수 있다. 일부 예시적인 실시예에서, 컬러 기반의 디스크립터 이외에 또는 그 대신에, 선호도 분석 시스템은 하나 이상의 다른 종류의 디스크립터(예를 들면, 텍스처 기반의 디스크립터, 형상 기반의 디스크립터 등)를 활용한다.
일부 사례에서, 사용자 패션 선호도를 결정하고 사용자 패션 선호도와 호환 가능한 패션 아이템을 식별하는 프로세스는 특정 포즈와 패션(예를 들면, 의류) 아이템 사이의 호환성을 추정하는 것을 포함한다.
Figure pat00019
앞의 표 2에서 예시된 매트릭스(I)는 부울린 매트릭스이다(예를 들면, 개개의 엔트리는 1 또는 0 중 어느 하나이다). 행(i)은 상이한 자세에 대응하며 열(j)은 상이한 의류(또는 다른 패션) 아이템에 대응한다. 만일 특정 의류 아이템(j)이 자세(i)로부터 신뢰할 수 있게 추출될 수 있으면, I(i, j)=1이다. 이와 달리, 만일 특정의 의류 아이템(j)이 자세(i)로부터 신뢰할 수 있게 추출될 수 없으면, I(i, j)=0이다. 깊이(예를 들면, 키넥트) 센서에 의해 추정된 자세는 이들 사이에서 가변성이 클 수 있다. 공중에 손을 올려 카메라를 마주보는 사용자와 측면을 통해 카메라를 마주보는 사용자 간의 대조가 그 예이다. 선호도 분석 시스템이 사람이 현재 자리 잡고 있는 자세를 이해(예를 들면, 결정)하도록 하기 위해, 선호도 분석 시스템은 포즈 클러스터링(pose clustering)을 이용할 수 있다. 이를 위해, 선호도 분석 시스템은 도 6에 도시된 인간 골격 막대 형상 그림으로부터 포즈 디스크립터를 생성할 수 있다. 만일 i번째 개체의 포즈 디스크립터가 Pn으로 표시되면, 포즈 디스크립터는 관절 위치들 사이의 각도이다.
Figure pat00020
매트릭스
Figure pat00021
은 대칭이기 때문에, 매트릭스의 위쪽 삼각형 부분은 벡터화되어 포즈 디스크립터를 형성한다. 다시 말해서, 모든 포즈 디스크립터는 함께 연결된 한 세트의
Figure pat00022
실수이다. 이러한 디스크립터는 사용자가 취할 수도 있는 자세를 서술하는 특징 공간의 일부분이다. 클러스터링 절차는 유사한 포즈를 함께 그룹화하고 유사한 포즈를 다른 유사하지 않은 포즈와 구별되게 할 수 있다. 일부 예시적인 실시예에서, 선호도 분석 시스템은 하나 이상의 클러스터링 규칙에 기초하여 클러스터 아이템(예를 들면, 클러스터를 형성할 수 있는 아이템)을 특정 클러스터로 그룹화한다. 예를 들면, 제 1 클러스터링 규칙은 동일한 종류의 클러스터 아이템에 기초하여 하나의 클러스터가 형성될 수 있다고 명시한다. 특정의 예시적인 실시예에서, 제 1 클러스터링 규칙을 적용한 결과로서, 선호도 분석 시스템은 하나 이상의 사용자의 이미지를 그룹화한 제 1 클러스터, 하나 이상의 사용자의 모델(예를 들면, 막대 형상 그림)을 그룹화한 제 2 클러스터, 및 이미지와 모델의 조합을 그룹화한 제 3 클러스터를 생성할 수 있다.
다른 예에서, 제 2 클러스터링 규칙은 사용자(들)의 유사한 포즈를 묘사하는 클러스터 아이템에 기초하여 클러스터 아이템들이 함께 특정 클러스터로 그룹화될 수 있다고 명시한다. 특정 포즈 (또는 유사한 포즈)에 기초하여 클러스터 아이템을 특정 클러스터로 그룹화하는 것은 이미지 또는 모델에서 묘사된 사용자의 가려지지 않은 신체 부위에 대응하는 (예를 들어, 이미지 또는 모델 내) 영역을 식별하는 것을 가능하게 할 수 있다. 특정 포즈 (또는 유사한 포즈)에 기초하여 클러스터 아이템을 특정 클러스터로 그룹화하는 것은 또한 가려지지 않은 신체 부위에 대응하는 이미지 또는 모델 내 영역의 더욱 정확한 분석을 수행하는 것을 가능하게 할 수 있다. 클러스터에 포함된 하나 이상의 클러스터 아이템은 클러스터에 포함된 클러스터 아이템에서 묘사된 사용자의 가려지지 않은 신체 부위에 대응하는 특정 영역을 분석하는데 사용될 수 있다.
일 예에 따르면, 클러스터링 절차는 사용자의 팔을 위로 뻗은 채 카메라를 마주보는 사용자의 자세를 예시하는 모든 이미지를 제 1 클러스터로 그룹화한다. 다른 예에 따르면, 사용자가 사용자의 손을 사용자의 앞에 놓은 자세의 이미지는 제 1 클러스터와 구별되는 제 2 클러스터로 그룹화된다. 이러한 시나리오는 도 11에서 도시된다.
클러스터링 절차는 다음의 공식을 이용하여 기술될 수 있다.
Figure pat00023
여기서 K는 분석될 포즈 클러스터의 개수이며, Si (1 ≤ i ≤ K)는 클러스터 세트이며, 각 클러스터는 사용자가 제시하는 자세의 전체 공간의 서브세트 또는 분할부분을 담고 있다. 포즈 클러스터링은 (비디오 프레임의 획득 개수와 동일한) 다수의 데이터 포인트를 작은 세트의 표본 자세 시그니처
Figure pat00024
(1 ≤ i ≤ K)로 줄일 수 있으며, 여기서 각 시그니처는 각 클러스터로부터 출처되는 표현적인 예이다. 클러스터 내에 함께 그룹화된 자세의 예는 사용자의 전면 모습을 묘사하는 이미지, 사용자의 측면 모습을 묘사하는 이미지, 사용자의 팔을 올린 사용자를 묘사하는 이미지, 사용자의 몸통 앞에 놓인 손을 묘사하는 이미지, 또는 앉아 있는 사용자를 묘사하는 이미지이다.
추출된 이미지 조각의 품질은 사용자의 특정 자세에 좌우될 수 있기 때문에 포즈 클러스터링이 사용될 수 있다. 만일 사용자의 특정한 신체 부위가 사용자의 다른 신체 부위와 관련하여 카메라로부터 더 멀리 떨어져 위치하거나, 아니면 다른 신체 부위 또는 실내에 있는 다른 개체에 의해 가려져 있으면, 특정 신체 부위의 이미지 조각은 특정 신체 부위에 착용된 아이템에 대해 사용자 선호도를 결정하기에 충분한 정보를 포함하지 않을 수 있다. 예를 들어, 만일 사용자가 사용자의 왼쪽 손목에 시계를 차고 있고 사용자의 우측 신체가 카메라를 마주하고 있으면, 사용자 왼쪽 손목의 사용자 시계를 묘사하는 이미지 조각을 추출하려는 시도는 양호한 품질의 이미지 조각을 추출하지 못하는 결과를 가져올 수 있다. 유사하게, 사용자가 사용자의 몸통 앞에서 사용자의 팔을 접을 때 사용자의 셔츠에 관한 정보를 추출하려는 시도는 성공적일 수 없는데, 이것은 선호도 분석 시스템이 셔츠의 표현에 속하는 픽셀 대신 이미지 내 사용자의 팔 또는 손의 표현에 속하는 픽셀을 잘못 샘플링할 수 있기 때문이다.
특정의 예시적인 실시예에서, 선호도 분석 시스템은 추출한 조각의 정확도를 평가한다. 추출한 이미지 조각의 정확도는 추출한 이미지 조각이 관심의 신체 부위를 얼마나 잘 표현(예를 들면, 묘사 또는 예시)하는지에 기초하여 평가될 수 있다. 이미지 조각을 추출하는 프로세스의 일환으로서, 선호도 분석 시스템은 관심의 신체 부위를 표현하는 이미지 내 어떤 위치(예를 들면, 영역 또는 구역)에 있는 이미지 위에 바운딩 박스(bounding box)를 겹쳐놓는다. 만일 바운딩 박스에 관심의 신체 부위의 표현의 일부분이 넣어져 있으면, 높은 점수가 (예를 들면, 이미지 조각의 메타데이터로서) 이미지 조각과 연관될 수 있다. 만일 바운딩 박스가 신체 부위의 표현의 일부분을 둘러싸고 있지 않으면, 낮은 점수가 이미지 조각과 연관된다. 일부 사례에서, 크게 신뢰할 수 있는 조각만이 데이터베이스의 레코드에 기록되며 향후의 분석을 위해 사용된다.
일부 예시적인 실시예에서, 선호도 분석 시스템은 특정 패션 아이템(또는 스타일, 컬러 또는 패턴과 같은 패션 아이템의 특징)에 대한 사용자 선호도 및 사용자의 치수에 기초하여 패션 아이템의 인벤토리의 검색을 맞춤화한다. 특정 사용자에게 초점을 맞추어 검색되고 고객화되면 쇼핑 과정에서의 마찰을 없앨 수 있고, 관련 있는 패션 아이템의 추천을 제공할 수 있으며, 추천된 아이템의 판매를 증가시킬 수 있다.
사용자 활동을 관찰하면 특정 사용자의 선호도에 맞게 검색을 고객화하는데 도움이 될 수 있다. 일부 예시적인 실시예에서, 일단 이미지 조각이 관찰된 사용자의 하나 이상의 이미지로부터 추출되면, 선호도 분석 시스템은 사용자의 치수 및 패션 선호도에 기초하여, 패션 아이템의 인벤토리 내 패션 아이템의 검색을 수행하여 사용자에게 추천하기에 적합한 검색 결과를 생성할 수 있다. 일부 사례에서, 패션 아이템의 인벤토리를 검색하는 것은 쿼리 조각(예를 들면, 수신된 사용자의 이미지로부터 추출된 이미지 조각)을 패션 아이템의 인벤토리에 포함된 패션 아이템을 묘사하는 여러 이미지와 비교하는 것을 포함한다.
일부 예시적인 실시예에서, 선호도 분석 시스템은 추출된 이미지 조각에 기초하여 패션 아이템의 인벤토리의 유사도 검색을 수행한다. 유사도 검색을 수행하는 것은 패션 인벤토리 내에서, 예를 들면, 수신된 이미지로부터 추출한 이미지 조각 내 시각적 특징과 패션 아이템의 인벤토리 내 패션 아이템을 묘사하는 상이한 이미지 내 시각적 특징을 대조하는 것에 기초하여, 추출된 이미지 조각과 가능한 밀접하게 일치하는 패션 아이템을 식별하는 것을 포함할 수 있다.
특정 예시적인 실시예에 따르면, 사용자의 이미지로부터 쿼리 조각
Figure pat00025
이 추출되면, 선호도 분석 시스템은 패션 아이템(예를 들면, 전자상거래 사이트에서 판매용 패션 아이템)의 인벤토리 내에서 시각적으로 유사한 아이템을 검색한다. 인벤토리는
Figure pat00026
로 이루어져 있다고 가정할 수 있다. 인벤토리 데이터세트는 안경, 셔츠, 신발, 바지 등과 같은 다양한 패션 아이템에 대응하는 시각적 특징으로 구성될 수 있다. 일부 사례에서, 유사도 검색의 결과는 가장 근사한 이웃 일치(nearest neighbor match)에 기초하여 결정될 수 있으며 쿼리 조각에 가장 유사한 하나 이상의 아이템을 포함할 수 있다. 예를 들면, 인벤토리 아이템은 쿼리 조각과 마찬가지로 복수의 (또는 일부의) 시각적 특징을 가진 인벤토리 아이템에 기초하여 쿼리 조각과 가장 유사한 것으로 식별될 수 있다. 일부 사례에서, 인벤토리 아이템은 특정 임계 값을 초과하는 쿼리 조각과 마찬가지로 복수의 (또는 일부의) 시각적 특징을 가진 인벤토리 아이템에 기초하여 쿼리 조각과 가장 유사한 것으로 식별될 수 있다.
일부 예시적인 실시예에서, 선호도 분석 시스템은 추출한 이미지 조각에 기초하여 패션 아이템의 인벤토리의 조화 검색을 수행한다. 조화 검색을 수행하는 것은 패션 아이템의 인벤토리 내에서, 조화 규칙에 기초하여, 사용자에 의해 이전에 착용된 아이템과 함께 착용될 수 있는 패션 아이템을 식별하는 것을 포함할 수 있다. 일부 사례에서, 사용자의 하나 이상의 패션 선호도를 서술하는 하나 이상의 조화 규칙은 사용자가 이전에 했던 패션 선택(예를 들면, 이전에 함께 착용한 아이템, 사용자가 이전에 구매한 아이템, 패션 아이템에 관한 뒤이은 특정의 추천 등)을 분석하는 것에 기초하여 만들어질 수 있다. 일부 예시적인 실시예에서, 조화 검색을 수행하기 위해 사용자의 하나 이상의 패션 선호도를 서술하는 하나 이상의 조화 규칙을 적용하는 것 이외에 또는 그 대신에, 선호도 분석 시스템은 패션 전문가에 의해 결정된 하나 이상의 조화 규칙, 또는 복수의 사람들(예를 들면, 구매자, 디자이너, 패션 블로거, 패션 전문가, 패션모델, 스트리트 스타일을 보여주는 사람들 등)의 패션 선호도(예를 들면, 패션 선호도 패턴)을 서술하는 데이터로부터 기계 학습된 하나 이상의 조화 규칙을 활용한다.
특정의 예시적인 실시예에 따르면, 쿼리 의류(예를 들면, 셔츠 쿼리) 및 타겟 의류 아이템(예를 들면, 셔츠와 잘 어울리는 바지)이 주어지면, 쿼리와 타겟 공간 사이에서
Figure pat00027
으로 표시된 조화 변환이 먼저 결정될 수 있다. 그러한 시나리오에서, 일단 시각 시그니처를 가진 쿼리 조각
Figure pat00028
이 (예를 들면, 쿼리 의류의 이미지로부터) 추출되면, 선호도 분석 시스템은 쿼리를 타겟 공간(예를 들면, 바지에 대한 컬러/패턴 공간)으로 변환할 수 있다. 이러한 변환은 다음의 공식에 기초하여 수행될 수 있다.
Figure pat00029
일단 타겟의 시각 시그니처가 연산되면, 선호도 분석 시스템은 전술한 시각 검색에 기초하여 타겟 공간에 대해 유사도 검색을 수행할 수 있다. 셔츠 쿼리가 주어지면, 유사도 검색 동안 시각 검색이 쿼리 공간 전체에서 수행되어 검색 결과로서 유사한 셔츠 아이템이 식별되도록 할 수 있다는 것을 주목하는 것이 유용할 수 있다. 이에 반해, 조화 검색 동안, 선호도 분석 시스템은 먼저 시각 시그니처를 쿼리 공간으로부터 타겟 공간(예를 들면, 바지)으로 변환한 다음 타겟 공간 전체에서 최종 검색을 수행할 수 있다.
일부 예시적인 실시예에서, 유사도 검색 또는 조화 검색을 수행하면, 선호도 분석 시스템은 유사도 검색 또는 조화 검색의 하나 이상의 결과를 포함하는 추천을 생성한다. 추천은 사용자에게 통신으로 전송될 수 있다.
특정의 예시적인 실시예에 따르면, 선호도 분석 시스템은 사용자의 패션 선호도를 분석할 수 있으며, 사용자의 포즈 또는 카메라로부터의 시점(viewpoint)에 상관 없이 사용자의 신체 부위의 크기를 추정할 수 있다. 사용자의 이미지의 획득 및 3D 공간 내에서 사용자의 신체 및 포즈를 서술하는 공간 데이터의 획득은 사용자의 집, 사무실 환경, 또는 심지어 공공장소 내에서 이루어질 수 있다.
예를 들면, 대형의 공공 디스플레이는 몰(mall) 및 다른 공공장소에서 쇼핑하는 사람들과 상호작용하는 대중 매체이다. 대형 디스플레이는 사용자들 사이에서 예외 없이 호기심을 불러 일으키며, 장기간에 걸쳐 사용자 참여를 지속시키는 것이 이러한 디스플레이의 성공에 중요한 것일 수 있다. 그러한 디스플레이는 사용자 이미지 및 사용자의 신체와 포즈(들)를 서술하는 공간 데이터를 획득하는 (선호도 분석 시스템의) 카메라를 포함할 수 있다. 사용자가 그러한 디스플레이 옆을 걸어가면, 카메라는 사용자의 이미지 및 공간 데이터를 획득할 수 있으며, 선호도 분석 시스템은 사용자의 이미지 및 사용자의 신체와 포즈(들)를 서술하는 공간 데이터에 기초하여, 사용자 신체 크기, 사용자의 의류의 특징(예를 들면, 옷 스타일), 또는 두 가지 모두를 결정할 수 있다. 사용자의 신체 크기, 사용자 의류의 특징, 또는 두 가지 다에 기초하여, 선호도 분석 시스템은 즉시 사용자에게 제공할 추천을 만들기 시작할 수 있다.
더욱이, 일부 사례에서, 추천은 사용자에게 깊은 인상을 주기 위해 증강될 수 있다. 일 예에 따르면, 만일 사용자에게 추천될 패션 아이템의 검색이 12월달에 수행되는 경우, 사용자가 공공 디스플레이 앞에 서 있는 동안 사용자에게 어울리는 크리스마스 복장이 사용자에게 추천될 수 있다. 만일 검색 쿼리가 스포츠 이벤트(예를 들면, 슈퍼 볼) 중에 수행되면, 선호도 분석 시스템은 경쟁 팀을 표현하는 옷을 추천할 수 있다. 다른 예에 따르면, 선호도 분석 시스템은 비디오 게임을 하고 있는 사람에게, 비디오 게임의 하나 이상의 테마(또는 캐릭터)에 따라서, 패션 아이템을 추천할 수 있다. 또 다른 예에 따르면, 선호도 분석 시스템은 텔레비전 쇼를 시청 중인 사용자에게, 시청 중인 특정 쇼, 그 쇼에서 나오는 캐릭터, 또는 그 쇼에서 주역을 맡은 배우에 따라서, 옷을 추천할 수 있다. 예를 들어, 선호도 분석 시스템은 현재 인기 있는 유명인사에 기초하여 옷 스타일의 계산 모델을 구축할 수 있다. 선호도 분석 시스템은 공연되는 쇼 및 특정 쇼에 등장하는 유명인사의 옷 스타일의 계산 모델에 기초하여 패션 아이템을 추천할 수 있다.
도 1은 예시적인 일 실시예가 이용될 수 있는 클라이언트-서버 시스템(100)을 도시하는 네트워크 다이어그램이다. 네트워크 기반의 마켓플레이스 또는 게시 시스템의 예시적인 형태로 구성된 네트워크형 시스템(102)은 네트워크(104)(예를 들면, 인터넷 또는 광역 네트워크(Wide Area Network, WAN)를 통해 서버 측의 기능성을 하나 이상의 클라이언트로 제공한다. 도 1은 예를 들면 각각의 디바이스(110 및 112)에서 실행하는 웹 클라이언트(106)(예를 들면, 워싱턴 주 레드몬드 소재의 마이크로소프트 코포레이션에 의해 개발된 인터넷 익스플로어 브라우저와 같은 브라우저) 및 프로그램적 클라이언트(108)를 예시한다.
애플리케이션 프로그램 인터페이스(Application Program Interface, API) 서버(114) 및 웹 서버(116)는 각기 하나 이상의 애플리케이션 서버(118)에 연결되어 애플리케이션 서버와의 프로그램적 인터페이스 및 웹 인터페이스를 제공한다. 애플리케이션 서버(118)는 하나 이상의 마켓플레이스 애플리케이션(120) 및 결제 애플리케이션(122)을 호스팅한다. 다음으로, 애플리케이션 서버(118)는 하나 이상의 데이터베이스(126)로의 액세스를 가능하게 하는 하나 이상의 데이터베이스 서버(124)에 연결되는 것으로 도시된다.
마켓플레이스 애플리케이션(120)은 복수의 마켓플레이스 기능 및 서비스를 네트워크형 시스템(102)에 액세스하는 사용자에게 제공할 수 있다. 다양한 예시적인 실시예에서, 마켓플레이스 애플리케이션(120)은 선호도 분석기(132)를 포함할 수 있다. 일부 예시적인 실시예에서, 선호도 분석기(132)는 사용자의 패션 선호도를 결정할 수 있으며 사용자의 패션 선호도에 기초하여 아이템 추천을 생성할 수 있다.
마찬가지로 결제 애플리케이션(122)은 복수의 결제 서비스 및 기능을 사용자에게 제공할 수 있다. 결제 애플리케이션(122)은 사용자가 (예를 들면, U.S. 달러와 같은 상업적 통화 또는 "포인트"와 같은 독점 통화의) 값을 계정에 누적하게 한 다음, 나중에 누적된 값을 마켓플레이스 애플리케이션(120)을 통해 구입할 수 있는 제품(예를 들면, 상품 또는 서비스)과 교환하게 할 수 있다. 마켓플레이스 및 결제 애플리케이션(120 및 122)은 도 1에서 둘 다 네트워크형 시스템(102)의 일부를 구성하는 것으로 도시되지만, 대안의 실시예에서, 결제 애플리케이션(122)은 네트워크형 시스템(102)과 별개이고 구별되는 결제 서비스일 일부를 구성할 수 있다는 것이 인식될 것이다.
또한, 도 1에서 도시된 시스템(100)이 클라이언트-서버 아키텍처를 채용하고 있지만, 실시예는 물론 그러한 아키텍처로 제한되지 않으며, 예를 들면 분산형 또는 피어-투-피어 아키텍처 시스템에서도 마찬가지로 응용 예를 찾아 볼 수 있다. 다양한 마켓플레이스 및 결제 애플리케이션(120 및 122)은 또한 반드시 네트워킹 역량을 갖는 것이 아닌 스탠드얼론 소프트웨어 프로그램으로서 구현될 수도 있다.
웹 클라이언트(106)는 웹 서버(116)에 의해 지원되는 웹 인터페이스를 통해 각종 마켓플레이스 및 결제 애플리케이션(120 및 122)에 액세스한다. 유사하게, 프로그램적 클라이언트(108)는 API 서버(114)에 의해 제공되는 프로그램적 인터페이스를 통해 마켓플레이스 및 결제 애플리케이션(120 및 122)에 의해 제공되는 다양한 서비스 및 기능에 액세스한다. 프로그램적 클라이언트(108)는 예를 들면 판매자가 네트워크형 시스템(102)에서 오프라인 방식으로 목록을 저작하고 관리할 수 있게 하고 프로그램적 클라이언트(108)와 네트워크형 시스템(102) 사이에서 배치-모드(batch-mode) 통신을 수행할 수 있게 해주는 판매자 애플리케이션(예를 들면, 캘리포니아 산호세 소재의 이베이 인코포레이티드(eBay Inc.)에 의해 개발된 TurboLister 애플리케이션)일 수 있다.
도 1은 제 3자 서버 머신(130) 상에서 실행하여, API 서버(114)에 의해 제공되는 프로그램적 인터페이스를 통해 네트워크형 시스템(102)에 프로그램적으로 액세스하는 제 3자 애플리케이션(128)을 또한 도시한다. 예를 들면, 제 3자 애플리케이션(128)은 네트워크형 시스템(102)으로부터 검색되는 정보를 활용하여, 제 3자에 의해 호스팅되는 웹사이트상에서 하나 이상의 특징 또는 기능을 지원할 수 있다. 제 3자 웹사이트는 예를 들면 네트워크형 시스템(102)의 관련 애플리케이션에 의해 지원되는 하나 이상의 홍보, 마켓플레이스, 또는 결제 기능을 제공할 수 있다.
도 2는 예시적인 일 실시예에서, 네트워크형 시스템(102)에서 애플리케이션 서버(들)(118)의 일원으로서 제공되는 마켓플레이스 및 결제 애플리케이션(120 및 122)을 예시하는 블록도이다. 애플리케이션(120 및 122)은 서버 머신 사이에서 통신을 가능할 수 있게 통신으로 연결되는 전용 또는 공유된 서버 머신(도시되지 않음) 상에서 호스팅될 수 있다. 애플리케이션(120 및 122)은 자체적으로 (예를 들면, 적절한 인터페이스를 통해) 서로 그리고 각종 데이터 소스에 통신 가능하게 연결되어, 정보가 애플리케이션(120 및 122) 사이에서 전달되게 하거나 또는 애플리케이션(120 및 122)이 공통의 데이터를 공유하게 하고 그 공통 데이터에 액세스하게 한다. 애플리케이션(120 및 122)은 그뿐만 아니라 데이터베이스 서버(124)를 통해 하나 이상의 데이터베이스(126)에 액세스할 수 있다.
네트워크형 시스템(102)은 복수의 게시, 목록, 및 가격 책정 메커니즘을 제공할 수 있고, 그럼으로써 판매자는 판매를 위한 상품이나 서비스를 열거(또는 관련하는 정보를 게시)할 수 있고, 구매자는 그러한 상품이나 서비스에 관심을 표명하거나 그러한 상품이나 서비스를 구매하려는 욕구를 표시할 수 있으며, 상품이나 서비스와 관련한 거래를 위한 가격이 책정될 수 있다. 이러한 목적을 위해, 마켓플레이스 및 결제 애플리케이션(120 및 122)은 경매 방식 목록 및 가격 책정 메커니즘(예를 들면, 영국식 경매, 네덜란드식 경매, 비크리(Vickrey) 경매, 중국식 경매, 이중(Double) 경매, 역경매 등)을 지원하는 적어도 하나의 게시 애플리케이션(200) 및 하나 이상의 경매 애플리케이션(202)을 포함하는 것으로 도시된다. 각종 경매 애플리케이션(202)은 또한 그러한 경매 방식 목록을 지원하는 복수의 기능, 이를테면 판매자가 목록과 관련하여 최저 경매가격(reserve price)을 명시할 수 있는 최저 경매가격 기능, 및 응찰자가 자동화된 대리 응찰을 불러올 수 있는 대리 응찰 기능을 제공할 수 있다.
복수의 고정가 애플리케이션(204)은 고정가 목록 방식(예를 들면, 전통적인 분류식 광고 방식 목록 또는 카탈로그 목록) 및 매점 방식(buyout-type) 목록을 지원한다. 구체적으로, (예를 들면, 캘리포니아 산호세 소재의 이베이 인코포레이티드에 의해 개발된 즉시 구매(Buy-It-Now, BIN) 기술을 비롯한) 매점 방식 목록은 경매 방식 목록과 함께 제공될 수 있으며, 구매자로 하여금 마찬가지로 경매를 통해 판매하기 위해 제공되기도 하는 상품이나 서비스를 경매의 시작가보다 통상 높은 고정가로 구매하게 할 수 있다.
저장 애플리케이션(206)은 판매자로 하여금 판매자에 의해 그리고 판매자를 위해 브랜드화될 수 있고 그렇지 않으면 맞춤화될 수 있는 "가상의" 저장소 내 목록을 그룹으로 구성하게 한다. 그러한 가상의 저장소는 또한 해당 판매자에게 고유하고 맞춤화된 홍보, 인센티브, 및 특징을 제공할 수 있다.
평판 애플리케이션(208)은 네트워크형 시스템(102)을 활용하여 거래하는 사용자가 잠재적인 매매 파트너에게 이용가능하고 게시될 수 있는 평판을 수립하고, 구축하고 유지하게 해준다. 예를 들어 네트워크형 시스템(102)이 개인 대 개인 매매를 지원하는 경우를 고려해 보면, 사용자는 달리 잠재적인 매매 파트너의 신뢰성 및 신용성이 평가될 수 있는 아무런 이력 또는 다른 참조 정보를 가질 수 없다. 평판 애플리케이션(208)은 사용자가 (예를 들면, 다른 거래 파트너에 의해 제공되는 피드백을 통해) 시간이 지나면서 네트워크형 시스템(102) 내부에서 평판을 수립하게 한다. 그러면 다른 잠재적인 매매 파트너는 신용성 및 신뢰성을 평가할 목적으로 그와 같은 평판을 참조할 수 있다.
맞춤 애플리케이션(210)은 네트워크형 시스템(102)의 사용자가 사용자의 네트워크형 시스템(102)과의 상호작용의 다양한 측면에 맞추게 한다. 예를 들면, 사용자는 적절한 맞춤 애플리케이션(210)을 활용하여 사용자가 당사자가 되는 (또는 당사자였던) 거래에 관한 정보가 검토될 수 있는 맞춤화된 참조 페이지를 생성할 수 있다. 또한, 맞춤 애플리케이션(210)은 사용자가 네트워크형 시스템(102) 및 다른 당사자와의 상호작용의 목록 및 다른 측면에 맞추게 할 수 있다.
네트워크형 시스템(102)은 예를 들면 특정한 지리적 구역에 대해 맞춤화된 복수의 마켓플레이스를 지원할 수 있다. 어떤 버전의 네트워크형 시스템(102)은 영국에서 사용하기 위해 고객화될 수 있는데 반해, 다른 버전의 네트워크형 시스템(102)은 미국에서 사용하기 위해 고객화될 수 있다. 이와 같은 각 버전은 독립적인 마켓플레이스로서 동작할 수 있거나 또는 일반적인 기본 마켓플레이스의 고객화된 (또는 국제화된) 표현일 수 있다. 이에 따라 네트워크형 시스템(102)은 미리 정해진 기준(예를 들면, 지리적, 인구 통계학적 또는 마켓플레이스 기준)에 따라서 정보 (및/또는 네트워크형 시스템(102)에 의한 정보의 제시)를 고객화하는 복수의 국제화 애플리케이션(212)을 포함할 수 있다. 예를 들면, 국제화 애플리케이션(212)은 네트워크형 시스템(102)에 의해 동작되고 그리고 각각의 웹 서버(116)를 통해 액세스 가능한 복수의 지역 웹사이트에 관한 정보의 고객화를 지원하는데 사용될 수 있다.
네트워크형 시스템(102)의 탐색은 하나 이상의 탐색 애플리케이션(214)에 의해 가능해질 수 있다. 예를 들면, (탐색 애플리케이션(214)의 예로서) 검색 애플리케이션은 네트워크형 시스템(102)을 통해 게시된 목록의 키워드 검색을 가능하게 할 수 있다. 열람(browse) 애플리케이션은 사용자가 네트워크형 시스템(102) 내부에서 목록이 분류될 수 있는 각종 카테고리, 카탈로그, 또는 물품 데이터 구조를 열람하게 할 수 있다. 검색 및 열람 애플리케이션을 보충하는 다양한 다른 탐색 애플리케이션(214)이 제공될 수 있다.
네트워크형 시스템(102)을 통해 가능하면 시각적으로 알려주고 눈길을 끄는 이용 가능한 목록을 만들기 위해, 애플리케이션(120 및 122)은 사용자가 목록 내에 포함하기 위한 이미지를 업로드하는데 활용될 수 있는 하나 이상의 영상화 애플리케이션(216)을 포함할 수 있다. 영상화 애플리케이션(216)은 또한 검토한 목록 내에 이미지를 넣도록 동작한다. 영상화 애플리케이션(216)은 또한 잠재 구매자에게 제시되는 이미지 갤러리와 같은 하나 이상의 홍보 특징을 지원할 수 있다. 예를 들어, 판매자는 홍보 항목을 위해 이미지를 이미지의 갤러리 내에 포함하는 추가 비용을 지불할 수 있다.
목록 생성 애플리케이션(218)은 판매자가 네트워크형 시스템(102)을 통해 매매하기를 원하는 상품이나 서비스와 관련 있는 목록을 판매자가 편리하게 저작하게 하며, 목록 관리 애플리케이션(220)은 판매자가 그러한 목록을 관리하게 한다. 구체적으로, 특정의 판매자가 많은 개수의 목록을 저작하고 그리고/또는 게시한 경우, 그와 같은 목록의 관리라는 과제가 제시될 수 있다. 목록 관리 애플리케이션(220)은 그러한 목록을 관리할 때 판매자를 지원하는 복수의 특징(예를 들면, 자동적인 목록 재작성, 인벤토리 레벨 모니터 등)을 제공한다. 하나 이상의 사후 목록 관리 애플리케이션(222)도 또한 통상적으로 사후 목록을 생성하는 복수의 활동을 하는 판매자를 지원한다. 예를 들면, 하나 이상의 경매 애플리케이션(202)에 의해 촉진된 경매가 끝나면, 판매자는 특정의 구매자에 관한 피드백을 남기기를 원할 수 있다. 이러한 목적을 위해, 사후 목록 관리 애플리케이션(222)은 판매자가 편리하게 여러 구매자에 관한 피드백을 평판 애플리케이션(208)에 제공할 수 있게 하기 위해, 하나 이상의 평판 애플리케이션(208)과의 인터페이스를 제공할 수 있다.
분쟁 해결 애플리케이션(224)은 거래 당사자들 사이에서 일어나는 분쟁이 해결될 수 있는 메커니즘을 제공한다. 예를 들면, 분쟁 해결 애플리케이션(224)은 당사자들이 분쟁을 해결하려는 시도로 여러 단계 내내 안내되는 안내 절차를 제공할 수 있다. 분쟁이 안내된 절차를 통해 해결될 수 없는 경우, 분쟁은 단계적으로 제 3자 조정자 또는 중재인에게 확대될 수 있다.
복수의 사기 방지 애플리케이션(226)은 사기의 검출 및 방지 메커니즘을 구현하여 네트워크형 시스템(102) 내부에서 사기의 생성을 줄인다.
메시징 애플리케이션(228)은 (예를 들면, 네트워크형 시스템(102)에서 목록의 상태에 관해 사용자에게 조언하는 (예를 들면, 경매 프로세스 동안 입찰자에게 "더 높은 호가(outbid)" 통지를 제공하거나 또는 홍보 및 상품화 계획 정보를 사용자에게 제공하는) 메시지와 같은) 메시지를 생성하고 네트워크형 시스템(102)의 사용자에게 배달하는 역할을 수행한다. 각각의 메시징 애플리케이션(228)은 메시지를 사용자에게 배달하는 복수의 메시지 배달 네트워크 및 플랫폼 중 어느 하나를 활용할 수 있다. 예를 들면, 메시징 애플리케이션(228)은 전자 메일(이-메일), 인스턴트 메시지(instant message, IM), 단문 메시지 서비스(Short Message Service, SMS), 텍스트, 팩시밀리, 또는 음성(예를 들어, 유선(예를 들면, 인터넷), 재래식 전화 서비스(plain old telephone service, POTS), 또는 무선(예를 들면, 이동, 셀룰러, WiFi, WiMAX) 네트워크(104)를 통한 보이스 오버 IP(Voice over IP, VoIP) 메시지를 배달할 수 있다.
상품화 계획 애플리케이션(230)은 판매자에게 이용 가능한 다양한 상품화 계획 기능을 지원하여 판매자가 네트워크형 시스템(102)을 통한 판매를 증가시킬 수 있게 한다. 상품화 계획 애플리케이션(230)은 또한 판매자가 불러올 수 있고, 그리고 판매자가 채용한 상품화 계획 전략의 성공을 모니터하고 추적할 수 있는 다양한 상품화 계획 특징을 구동한다.
네트워크형 시스템(102) 자체, 또는 네트워크형 시스템(102)을 통해 거래하는 하나 이상의 당사자는 하나 이상의 로열티/홍보 애플리케이션(232)에 의해 지원되는 로열티 프로그램을 구동할 수 있다. 예를 들면, 구매자는 특정 판매자와 함께 수립한 그리고/또는 특정 판매자와 함께 끝마친 각각의 거래마다 로열티 또는 홍보 포인트를 벌 수 있고, 누적된 로열티 포인트가 현금으로 교환될 수 있는 보상금을 제공할 수 있다.
도 3은 일부 예시적인 실시예에 따른, 사용자 패션 선호도를 분석하기에 적합한 네트워크 환경(300)을 예시하는 네트워크 구성도이다. 네트워크 환경(300)은 모두 다 네트워크(390)를 통해 서로 통신 가능하게 연결된, 선호도 분석 머신(310)(예를 들면, 선호도 분석기(132)), 데이터베이스(126), 및 디바이스(330 및 350)를 포함한다. 데이터베이스(126)가 있든 아니면 없든, 선호도 분석 머신(310)은 네트워크 기반의 시스템(305) (예를 들면, 하나 이상의 이미지 처리 서비스를 디바이스(330 및 350)에 제공하기 위해 구성된 클라우드 기반의 서버 시스템)의 전부 또는 일부를 구성한다. 디바이스(330 및 350) 중 하나 또는 둘 다는 이미지(예를 들면, 거실에 있는 사용자의 이미지) 또는 카메라 외부의 환경을 서술하는 깊이(또는 공간) 데이터, 아니면 두 가지 다를 획득하게 하는 카메라를 포함한다. 디바이스(330 및 350) 중 하나 또는 둘 다는 이미지, 공간 데이터, 또는 두 가지 다를 선호도 분석 머신(310)으로 전달하게 할 수 있다. 선호도 분석 머신(310) 및 디바이스(330 및 350)는 각기 도 18과 관련하여 아래에서 설명되는 바와 같이 전체적으로 또는 부분적으로, 컴퓨터 시스템으로 구현될 수 있다.
도 3에는 또한 사용자(332 및 352)가 도시된다. 사용자(332 및 352) 중 한 사용자 또는 모두는 인간 사용자(예를 들면, 인간), 머신 사용자(예를 들면, 소프트웨어 프로그램에 의해 디바이스(330)와 상호작용하도록 구성된 컴퓨터), 또는 이들의 임의의 적절한 조합(예를 들면, 머신의 지원을 받는 인간 또는 인간의 감독을 받는 머신)일 수 있다. 사용자(332)는 네트워크 환경(300)의 일부가 아니고, 디바이스(330)와 연관되며, 디바이스(330)의 사용자일 수 있다. 예를 들면, 디바이스(330)는 사용자(332)에게 속하는 데스크톱 컴퓨터, 차량 컴퓨터, 태블릿 컴퓨터, 네비게이션 디바이스, 휴대용 미디어 디바이스, 스마트폰, 또는 착용 디바이스(예를 들면, 스마트 시계 또는 스마트 안경)일 수 있다. 마찬가지로, 사용자(352)는 네트워크 환경(300)의 일부가 아니고 디바이스(350)와 연관된다. 예로서, 디바이스(350)는 사용자(352)에게 속하는 데스크톱 컴퓨터, 차량 컴퓨터, 태블릿 컴퓨터, 네비게이션 디바이스, 휴대용 미디어 디바이스, 스마트폰, 또는 착용 디바이스(예를 들면, 스마트 시계 또는 스마트 안경)일 수 있다.
또한 도 3에는 깊이 센서(334 및 354)(예를 들면, 마이크로소프트™ Kinect™ (이하 "키넥트"라 함), 셀 폰, 태블릿, 또는 PDA와 같은 이동 디바이스; 또는 카메라; 이하, "깊이 센서(들)"이라 함)가 도시된다. 네트워크 환경(300)은 하나 이상의 깊이 센서를 포함할 수 있다. 일부 예시적인 실시예에서, 깊이 센서(334)는 디바이스(330)의 일부일 수 있다. 다른 예시적인 실시예에서, 깊이 센서(334)는 디바이스(330)의 외부에 있을 수 있다. 마찬가지로, 깊이 센서(354)는 디바이스(350)의 일부일 수 있다. 다른 예시적인 실시예에서, 깊이 센서(354)는 디바이스(350)의 외부에 있을 수 있다.
각각의 깊이 센서(334 및 354)는 깊이 센서 외부의 물리 공간에 관한 공간 데이터(예를 들면, 사용자(332)에 관한 공간 데이터)를 획득(예를 들면, 수신, 수집, 또는 모집)하고 획득된 공간 데이터를 디바이스(330) 또는 디바이스(350)로 전송할 수 있으며, 그런 다음 디바이스는 깊이 센서(334 및 354)에 의해 획득된 일부 또는 모든 공간 데이터를 네트워크(390)를 통해 선호도 분석 머신(310)으로 전송할 수 있다. 일부 예시적인 실시예에서, 깊이 센서(334 및 354)는 선호도 분석 머신(310)과 통신할 수 있으며, 획득된 공간 데이터를 디바이스(330 또는 350) 중 어느 하나의 디바이스로 먼저 전송하지 않고, 공간 데이터를 네트워크(390)를 통해 선호도 분석 머신(310)으로 전송할 수 있다.
일부 예시적인 실시예에서, 깊이 센서(334 및 354)는 네트워크 환경(300)에서 존재하지 않는다. 디바이스(330) 또는 디바이스(350)는 각자 사용자(332) 또는 사용자(352)의 이미지를 획득할 수 있으며, 획득된 이미지에 기초하여 사용자 패션 선호도를 결정하기 위해, 그 이미지를 네트워크(390)를 통해 선호도 분석 머신(310)으로 전송할 수 있다. 예를 들어, 만일 깊이 채널이 존재하지 않으면, 선호도 분석 머신(310)은 RGB 채널 데이터를 활용하여 사용자(들)의 패션 선호도를 결정할 수 있다.
일부 예시적인 실시예에서, 선호도 분석 머신(310)의 일부 또는 모든 기능성은 디바이스(330) 또는 디바이스(350)에 의해 수행된다. 예를 들면, 디바이스(330)상에서 호스팅되는 애플리케이션 (예를 들면, 스마트폰 상에 저장된 앱)은 디바이스(330)의 카메라 또는 깊이 센서(334)로부터 수신한 이미지 데이터 및/또는 공간 데이터의 분석을 수행할 수 있다. 수신된 이미지 데이터 및/또는 수신된 공간 데이터는 사용자(332)가 착용한 아이템 및 사용자(332)의 신체에 착용된 아이템을 서술할 수 있다. 디바이스(330) 상에서 호스팅되는 애플리케이션은 일부 사례에서, 사용자(332)의 하나 이상의 패션 선호도를 결정할 수 있다. 일부 사례에서, 디바이스(330) 상에서 호스팅되는 애플리케이션은 사용자(332)의 패션 선호도의 결정을 위해 그리고/또는 사용자(332)의 패션 선호도에 기초한 패션 아이템의 인벤토리의 검색을 위해 이미지 데이터 및/또는 공간 데이터의 분석 결과를 선호도 분석 머신(310)으로 전송할 수 있다.
도 3에 도시된 머신, 데이터베이스, 또는 디바이스 중 어느 것은 그 머신, 데이터베이스, 또는 디바이스에 대해 본 명세서에서 기술된 하나 이상의 기능을 수행하기 위해 소프트웨어(예를 들면, 하나 이상의 소프트웨어 모듈)에 의해 특수 목적 컴퓨터가 되도록 수정된(예를 들면, 구성되거나 프로그램된) 범용 컴퓨터로 구현될 수 있다. 예를 들면, 본 명세서에서 설명된 방법론 중 임의의 하나 이상의 방법론을 구현할 수 있는 컴퓨터 시스템은 도 18과 관련하여 아래에서 논의된다. 본 명세서에서 사용되는 바와 같은, "데이터베이스"는 데이터 저장 자원이며, 텍스트 파일, 테이블, 스프레드시트, 관계형 데이터베이스(예를 들면, 객체 관계형 데이터베이스), 트리플 스토어(triple store), 계층적 데이터 스토어, 또는 이들의 임의의 적절한 조합으로서 구조화된 데이터를 저장할 수 있다. 더욱이, 도 3에 예시된 머신, 데이터베이스, 또는 디바이스 중 임의의 둘 이상은 단일의 머신으로 조합될 수 있으며, 임의의 단일의 머신, 데이터베이스, 또는 디바이스에 대해 본 명세서에서 기술된 기능은 여러 머신, 데이터베이스, 또는 디바이스 사이에 세분화될 수 있다.
네트워크(390)는 머신과, 데이터베이스와, 디바이스(예를 들면, 서버 머신(310)과 디바이스(330)) 사이에서 통신을 가능하게 해주는 임의의 네트워크일 수 있다. 따라서, 네트워크(390)는 유선 네트워크, 무선 네트워크(예를 들면, 이동 또는 셀룰러 네트워크) 또는 이들의 임의의 적절한 조합일 수 있다. 네트워크(390)는 사설 네트워크, 공중 네트워크(예를 들면, 인터넷), 또는 이들의 임의의 적절한 조합을 구성하는 하나 이상의 부분을 포함할 수 있다. 그러므로 네트워크(390)는 근거리 네트워크(local area network, LAN), 광역 네트워크(wide area network, WAN), 인터넷, 이동 전화 네트워크(예를 들면, 셀룰러 네트워크), 유선 전화 네트워크(예를 들면, 기존 전화 시스템(plain old telephone system, POTS)), 무선 데이터 네트워크(예를 들면, WiFi 네트워크 또는 WiMAX 네트워크), 또는 이들의 임의의 적절한 조합을 포함하는 하나 이상의 부분을 포함할 수 있다. 네트워크(390) 중 임의의 하나 이상의 부분은 전송 매체를 통해 정보를 전달할 수 있다. 본 명세서에서 사용된 봐와 같은, "전송 매체"는 머신에 의해(예를 들면, 그러한 머신의 하나 이상의 프로세서에 의해) 실행하기 위한 명령어를 전달 (예를 들면, 전송)할 수 있는 임의의 무형의 (예를 들면, 일시적인) 매체를 말하며, 그러한 소프트웨어의 전달을 가능하게 하는 디지털 또는 아날로그 통신 신호 또는 다른 무형의 매체를 포함한다.
도 4는 일부 예시적인 실시예에 따른, 입력 데이터의 예를 예시하는 도면이다. 선호도 분석 머신(310)은 깊이 센서에서 구현된 골격 및 깊이 추적 기술을 이용하여, 깊이 센서 외부의 물리적 환경(예를 들면, 사용자의 거실)에 위치한 개체를 서술하는 공간 데이터를 수집할 수 있다. 골격 및 깊이 추적 기술은 깊이 센서(예를 들면, 키넥트), 스테레오 카메라, 이동 디바이스, 및 깊이를 획득할 수 있는 임의의 다른 디바이스에서 실시될 수 있다. 일부 예시적인 실시예에서, 골격 및 깊이 추적 기술은 RGB 및 깊이 채널을 이용하는 알고리즘을 이용하는 서버에서 실시된다.
일부 예시적인 실시예에서, 깊이 감지 기술은 구조화된 광 또는 비행시간 기반의 감지 기술을 이용한다. 예를 들면, 선호도 분석 머신(310)의 일부이면서 사용자의 거실에 배치된 적외선(infrared)(이하, "IR"이라 함) 방사기는 적외선 광 빔을 주변 공간으로 투사(예를 들면, 방사 또는 분사)할 수 있다. 투사된 IR 광 빔은 광 빔의 경로에 놓인 개체(예를 들면, 사용자 또는 사용자의 거실에 있는 개체)에 부딪히고 반사할 수 있다. (예를 들어, 사용자의 거실에 배치된) 깊이 센서는 반사된 IR 광 빔에 기초하여 깊이 센서의 주변에 관한 공간 데이터를 획득(또는 수신)할 수 있다. 일부 예시적인 실시예에서, 획득된 공간 데이터는 (예를 들면, TV 세트, 컴퓨터, 또는 이동 디바이스의) 스크린상에 디스플레이될 수 있는 3D 시야를 생성(예를 들면, 표현, 모델링, 또는 정의)하는데 사용될 수 있다. 그러한 공간 데이터의 예는 공간 센서가 배치된 거실 내에 있는 개체의 위치 및 형상을 포함한다.
일부 예시적인 실시예에서, IR 광 빔이 그 광 빔의 경로에서 만나는 개체로부터 반사하여 깊이 센서에 의해 획득되는데 시간이 얼마나 걸리는지를 측정함에 따라서, 선호도 분석 머신(310)은 IR 광 빔이 반사된 개체(예를 들면, 사용자, 가구 한 점, 또는 벽)의 위치(예를 들면, 깊이 센서로부터의 거리)를 결정할 수 있다. 다양한 예시적인 실시예에서, 수신된 공간 데이터에 기초하여, 시스템은 거실 내 개체의 상세 사항, 이를테면 거실 내 개체의 공간 치수(예를 들면, 사용자 신체의 크기)를 결정할 수 있다.
일부 예시적인 실시예에서, (예를 들면, 디바이스(330)에 포함된 카메라에 의해 획득된) 사용자(332)의 이미지 및 기간 경과에 따라 깊이 센서(334)를 통해 수집된 공간 데이터는 선호도 분석 머신(310)의 입력 데이터로서 사용된다. 도 4는 사용자(332)의 예시적인 이미지(410)(예를 들면, RGB 이미지) 및 깊이 센서(334) 외부의 물리적 환경을 나타내는 예시적인 공간 데이터(420)(예를 들면, 제트 의사 색상 깊이 이미지(jet pseudo-colored depth image)를 예시한다. 공간 데이터(420)는 사용자(332)의 신체의 형상에 관한 정보, 사용자(332)의 신체의 크기, 깊이 센서(334)와 사용자(332) 사이의 거리 등을 포함한다. 특정의 예시적인 실시예에 따르면, 선호도 분석 머신(310)은 입력 데이터를 분석하여 사용자의 패션 선호도를 결정할 수 있다. 선호도 분석 머신(310)은 또한 사용자의 패션 선호도 및 사용자의 신체 치수에 일치하는 구매에 이용 가능한 패션 아이템을 식별할 수 있으며, 식별된 패션 아이템을 사용자에게 추천할 수 있다.
도 5는 일부 예시적인 실시예에 따른, 예시적인 선호도 분석 머신(310)의 기능 블록도이다. 일부 예시적인 실시예에서, 선호도 분석 머신(310)은 네트워크 기반 시스템(500)에 포함된다. 아래에서 더 자세히 설명되는 바와 같이, 선호도 분석 머신(310)은 이미지 및 공간 데이터 세트(510)(예를 들면, 사용자(332)의 이미지 및 깊이 센서(334) 외부의 공간에서 사용자(332)의 신체를 나타내는 공간 데이터)를 수신할 수 있다. 이미지 및 공간 데이터 세트(510)는 사용자(332)와 연관된 디바이스(330)로부터 수신될 수 있다. 이미지 및 공간 데이터 세트(510)는 동시에 함께 또는 서로 상이한 시점에 독립적으로, 여러 데이터 획득 디바이스로부터 수신될 수 있다. 특정의 예시적인 실시예에서, 디바이스(330)는 깊이 센서(334)를 포함한다.
이미지 및 공간 데이터(510)를 수신하는 것에 응답하여, 선호도 분석 머신(310)은 적어도 하나의 컴퓨터 프로세서를 이용하여, 수신된 이미지 및 수신된 공간 데이터 세트(510) (또한 "이미지 및 공간 데이터 세트(510)")를 분석한다(예를 들면, 이미지 및 공간 데이터 분석(520)을 수행한다). 일부 예시적인 실시예에서, 이미지 및 공간 데이터 분석(520)을 수행하기 위해, 선호도 분석 머신(310)은 특정 시간에 수신된 공간 데이터 세트에 기초하여 사용자의 신체를 표현하는 모델을 생성하며, 이미지 및 모델의 분석에 기초하여, 사용자에 의해 특정 시간에 사용자의 특정 신체 부위에 착용된 아이템을 특징짓는 하나 이상의 속성-값 쌍을 결정한다. 사용자에 의해 착용된 아이템의 속성은 스타일, 컬러, 패턴, 브랜드, 직물, 또는 질감과 같은 아이템의 특성일 수 있다. 속성의 값은 속성이 취할 수 있는 설명이다. 속성-값 쌍의 예는 "스타일: 캐주얼", "컬러: 적색", 또는 "소재: 가죽"일 수 있다.
선호도 분석 머신(310)은 복수의 시간에서 수신된 사용자의 복수의 이미지 및 복수의 공간 데이터 세트에 기초하여 이미지 및 공간 데이터 분석(520)을 수행할 수 있다. 이에 따라, 선호도 분석 머신(310)은 복수의 시간에서 사용자의 신체를 표현하는 복수의 모델을 생성할 수 있으며, 복수의 이미지 및 복수의 모델의 분석에 기초하여, 사용자에 의해 복수의 각 시간에 특정 신체 부위에 착용된 각 아이템을 특징짓는 하나 이상의 속성-값 쌍을 결정할 수 있다.
특정의 예시적인 실시예에서, 선호도 분석 머신(310)은 일정 기간 동안 특정의 속성-값 쌍을 특징으로 하는 아이템을 사용자가 착용하는 빈도에 기초하여 사용자(332)의 패션 선호도(530)를 식별한다. 예를 들면, 선호도 분석 머신(310)은 특정 월 중 얼마나 많은 날에 사용자가 속성-값 쌍 "스타일: 캐주얼"을 특징으로 하는 셔츠를 입었는지를 결정할 수 있다. 다른 예에서, 선호도 분석 머신(310)은 특정 월 중 얼마나 많은 날에 사용자가 속성-값 "소재: 가죽"을 특징으로 하는 신발을 신었는지를 결정할 수 있다.
일부 예시적인 실시예에서, 사용자(332)의 사용자 선호도(530)를 식별하면, 선호도 분석 머신(310)은 식별된 사용자 선호도(530)에 기초하여 판매용 아이템의 인벤토리(예를 들면, 판매용 아이템의 복수의 목록)의 검색(540)을 수행한다. 일부 사례에서, 선호도 분석 머신(310)은 사용자 선호도(530)에 기초하여, 사용자(332)가 자주 착용한 아이템과 유사한 패션 아이템을 식별하기 위해 유사도 검색을 수행할 수 있다. 다른 사례에서, 선호도 분석 머신(310)은 사용자 선호도(530)에 기초하여, 사용자(332)가 착용한 하나 이상의 아이템과 조화될 수 있는 (예를 들면, 하나 이상의 아이템과 함께 착용될 수 있는) 패션 아이템을 식별하기 위해 조화 검색을 수행할 수 있다.
일부 예시적인 실시예에서, 선호도 분석 머신(310)은 유사도 검색, 조화 검색, 또는 두 가지 검색 모두의 하나 이상의 결과를 포함할 수 있는 관련 검색 결과의 추천(550)을 생성할 수 있다. 그런 다음 선호도 분석 머신(310)은 사용자(332)와 연관된 디바이스(330)에 관련 검색 결과의 추천(550)을 포함하는 통신신호를 전송할 수 있다.
도 6은 일부 예시적인 실시예에 따른, 상이한 시점에서 사용자를 묘사하는 예시적인 이미지 및 상이한 시점에서 사용자의 신체를 표현하는 예시적인 대응 모델을 예시하는 도면이다. 도 6에 도시된 이미지(610, 630, 650, 및 670)는 일정 기간 동안 특정 시간에 디바이스(330)에 의해 획득된 사용자(332)의 복수의 이미지를 나타낸다. 예를 들면, 이미지(610, 630, 650, 및 670)는 키넥트 비디오 시퀀스로부터 생성된 프레임일 수 있다. 이미지(610, 630, 650, 및 670)는 여러 활동(예를 들면, 서있기, 걷기, 앉아 있기, 운동하기, 또는 스트레칭하기)을 수행하는 사용자(332)를 예시한다.
또한 도 6에는 이미지(610, 630, 650, 및 670)에 각기 대응하는 특정 포즈로 사용자(332)의 신체를 표현하는 모델(620, 640, 660, 및 680)의 예가 도시된다. 모델(620, 640, 660, 및 680)에서 보이는 각 포즈는 대응하는 각 이미지(610, 630, 650, 및 670)에서 예시된 바와 같은 사용자(332)의 신체의 자세를 반영한다.
일부 예시적인 실시예에서, 사용자(332)의 신체의 모델은 도 6에서 묘사된 모델(620, 640, 660, 및 680)에서 보이는 바와 같이, 막대 형상 그림의 형태를 취할 수 있다. 사용자(332)의 신체의 모델은 사용자(332)의 신체의 뼈 관절의 위치의 식별자를 포함할 수 있다. 선호도 분석 머신(310)은 사용자(332)의 신체의 뼈 관절의 위치의 식별자에 기초한 모델에서 사용자(332)의 특정 신체 부위를 식별할 수 있다. 모델에서 식별된 신체 부위에 기초하여, 선호도 분석 머신(310)은 각 신체 부위에 착용된 패션에 대한 사용자 선호도를 결정할 수 있다.
도 7은 일부 예시적인 실시예에 따른, 선호도 분석 머신(310)의 컴포넌트를 예시하는 블록도이다. 선호도 분석 머신(310)은 모두가 서로 (예를 들어, 버스, 공유 메모리, 또는 스위치를 통해) 통신하도록 구성된, 수신기 모듈(710), 생성 모듈(720), 분석 모듈(730), 선호도 모듈(740), 검색 모듈(750), 추천 모듈(760), 및 통신 모듈(770)을 포함하는 것으로 도시된다.
본 명세서에서 기술된 모듈 중 임의의 하나 이상의 모듈은 하드웨어(예를 들면, 머신의 하나 이상의 프로세서) 또는 하드웨어와 소프트웨어의 조합을 이용하여 구현될 수 있다. 예를 들면, 본 명세서에서 기술된 임의의 모듈은 그 모듈에 대하여 본 명세서에서 기술된 동작을 수행하는 (예를 들면, 머신의 하나 이상의 프로세서 중) 하나의 프로세서를 구성할 수 있다. 더욱이, 이러한 모듈 중 임의의 둘 이상의 모듈은 단일의 모듈로 조합될 수 있으며, 단일 모듈에 대해 본 명세서에서 기술된 기능은 여러 모듈 사이에 세분화될 수 있다. 그뿐만 아니라, 다양한 예시적인 실시예에 따르면, 단일의 머신, 데이터베이스, 또는 디바이스 내에서 구현되는 것으로 본 명세서에서 기술된 모듈은 여러 머신, 데이터베이스, 또는 디바이스 전반에 걸쳐 분산될 수 있다.
도 8 내지 도 10은 일부 예시적인 실시예에 따른, 사용자의 패션 선호도를 결정하고 사용자의 패션 선호도에 기초하여 패션 아이템 추천을 제공하는 방법(800)을 수행할 때 선호도 분석 머신(310)의 동작을 예시하는 플로우차트이다. 방법(800)에서 동작은 도 7과 관련하여 앞에서 설명한 모듈을 이용하여 수행될 수 있다. 도 8에서 도시된 바와 같이, 방법(800)은 동작(810, 820, 830) 중 하나 이상의 동작을 포함할 수 있다.
방법 동작(810)에서, 수신기 모듈(710)은 특정 시간(예를 들면, 특정 시점)에 사용자의 이미지 및 특정 시간(예를 들면, 특정 시점)에 3차원 공간 내 사용자의 자세를 표시하는 공간 데이터 세트에 액세스(예를 들면, 수신, 취득, 또는 획득)한다. 수신된 이미지(또한 "이미지") 및 수신된 공간 데이터 세트(또한 "공간 데이터 세트")는 특정 시간에 획득될 수 있다. 일부 예시적인 실시예에서, 수신된 이미지 및 수신된 공간 데이터 세트는 사용자와 연관된 디바이스(예를 들면, 키넥트)로부터 수신기 모듈(710)에 의해 수신된 입력 데이터이다. 이미지, 공간 데이터 세트, 또는 두 가지 다는 이미지, 공간 데이터 세트, 또는 두 가지 다를 사용자와 연관된 디바이스로 전달할 수 있는 깊이 센서에 의해 획득될 수 있다. 일부 사례에서, 깊이 센서는 사용자와 연관된 디바이스를 우회할 수 있으며, 이미지, 공간 데이터 세트, 또는 두 가지 다를 직접 선호도 분석 머신(310)으로 (예를 들면, 수신기 모듈(710)로) 전송할 수 있다.
방법 동작(820)에서, 분석 모듈(730)은 하나 이상의 하드웨어 프로세서를 이용하여, 수신된 이미지 및 수신된 공간 데이터 세트의 분석을 수행한다. 분석을 수행하는 것은 수신된 이미지로부터 이미지 조각을 추출하는 것을 포함할 수 있다. 이미지 조각은 특정 시간에 사용자에 의해 착용된 아이템의 일부분을 묘사할 수 있다. 분석 모듈(730)은 이미지 조각을 데이터베이스(예를 들면, 데이터베이스(126))의 레코드에 저장할 수 있다.
일부 예시적인 실시예에서, 이미지 및 모델의 분석은 사용자의 특정 신체 부위에 대응하는 그리고 특정 시간에 사용자에 의해 착용된 패션 아이템을 묘사하는 이미지의 한 영역의 분석을 포함한다. 특정의 예시적인 실시예에서, 분석 모듈(730)은 이미지 및 모델의 분석의 일환으로서 사용자의 신체의 하나 이상의 치수(예를 들면, 크기)를 결정한다. 분석 모듈(730)은 또한 사용자 신체의 치수에 기초하여, 사용자 신체에 어울릴 수 있는 여러 브랜드(예를 들면, 패션 아이템의 제조자 또는 판매자) 중에서 패션 아이템의 하나 이상의 사이즈를 결정할 수 있다.
방법 동작(830)에서, 분석 모듈(730)은 수신된 이미지 및 수신된 공간 데이터 세트의 분석에 기초하여 사용자의 패션 선호도를 식별한다. 예를 들면, 수신된 이미지 및 수신된 공간 데이터 세트의 분석에 기초하여, 분석 모듈(730)은 사용자가 청색의 데님 직물로 만든 셔츠를 좋아한다고 결정할 수 있다. 방법(800)의 방법 동작에 대해 더 상세한 내용은 도 8a 내지 도 9, 도 13 내지 도 15와 관련하여 아래에서 설명된다.
도 8a에 도시된 바와 같이, 방법(800)은 동작 중 하나 이상의 동작(811)을 포함할 수 있다. 방법 동작(811)은 수신기 모듈(710)이 특정 시간에 3차원 공간에 있는 사용자의 이미지 및 사용자의 자세를 표시하는 공간 데이터 세트를 수신하는 방법 동작(810) 이후에 수행될 수 있다.
방법 동작(811)에서, 생성 모듈(720)은 하나 이상의 프로세서를 이용하여, 공간 데이터 세트에 기초하여 특정 시간에 사용자의 신체를 표현하는 모델을 생성한다. 일부 예시적인 실시예에서, 모델은 특정 시간에 획득된 이미지에서 묘사된 사용자의 포즈를 표현하는 봉성화를 포함한다.
도 9에서 도시된 바와 같이, 방법(800)은 일부 예시적인 실시예에 따른, 방법 동작(901, 902, 및 903) 중 하나 이상을 포함할 수 있다. 방법 동작(901)은 분석 모듈(730)이 수신된 이미지 및 수신된 공간 데이터 세트의 분석을 수행하는 방법 동작(820)의 일환(예를 들면, 선도적 작업, 서브루틴, 또는 일부분)으로서 수행될 수 있다. 방법 동작(901)에서, 분석 모듈(730)은 특정 시간에 사용자의 신체의 자세를 표현하는 모델에서 묘사되는 사용자의 포즈를 분석한다.
방법 동작(902)은 방법 동작(901) 이후에 수행될 수 있다. 방법 동작(902)에서, 분석 모듈(730)은 포즈의 분석에 기초하여, 개체(예를 들면, 사용자의 다른 신체 부위, 가구 아이템, 다른 사람, 동물 등)에 의해 가려지지 않은 사용자의 특정 신체 부위를 표현하는 모델의 영역(예를 들면, 사용자 몸통을 표현하는 영역)을 식별한다.
방법 동작(903)은 방법 동작(902) 이후에 수행될 수 있다. 방법 동작(903)에서, 분석 모듈(730)은 모델을 다른 시간에서 사용자의 신체를 표현하는 하나 이상의 다른 모델과 함께 클러스터화한다(예를 들면, 모델을 그룹화하거나, 모델의 클러스터를 생성하거나, 모델의 그룹을 생성한다). 모델의 클러스터화는 사용자의 특정 신체 부위를 표현하는 모델의 영역 및 다른 신체 부위 또는 개체에 의해 가로 막히지 않은 하나 이상의 다른 모델의 동일 영역에 기초할 수 있다.
예를 들어, 모델은 특정 시간에 사용자 신체의 자세를 표현하는 막대 형상 그림이다. 분석 모듈(730)은 상이한 시간에 사용자의 신체를 표현하는 막대 형상 그림들을 클러스터화할 수 있다. 막대 형상 그림의 클러스터링은 사용자 신체의 포즈의 유사도에 기초할 수 있다. 예를 들어, 분석 모듈(730)은 사용자의 팔 또는 손에 의해 가려지지 않은 (사용자의 몸통을 표현하는) 몸통을 갖는 막대 형상 그림을 식별할 수 있다. 그런 다음 분석 모듈(730)은 식별된 막대 형상 그림을 클러스터로 그룹화할 수 있다. 클러스터는 다른 신체 부위 또는 개체에 의해 가려지지 않은 특정 신체 부위(예를 들면, 몸통)에 맵핑할 수 있다(예를 들면, 특정 신체 부위를 예시하거나 서술하는 것으로 식별될 수 있다).
일부 예시적인 실시예에서, 클러스터는 상이한 시간에 여러 사용자를 서술하는 이미지 및/또는 공간 데이터에 기초하여 생성된 막대 형상 그림의 라이브러리이다. 특정 그룹으로 클러스터화된 막대 형상 그림은 여러 사람이 취한 특정 포즈를 나타낼 수 있다. 포즈 클러스터 중 하나 이상은 시야로부터 가려지지 않은 특정의 신체 부위에 맵핑할 수 있다.
다양한 예시적인 실시예에 따르면, 복수의 시간에서 사용자 신체의 자세를 표현하는 모델의 클러스터를 생성하는 대신 또는 그 이외에, 분석 모듈(730)은 복수의 시간에서 사용자를 묘사하는 이미지의 클러스터를 생성한다. 일부 예시적인 실시예에서, 모델의 클러스터 또는 사용자의 이미지의 클러스터를 생성하는 대신 또는 그 이외에, 분석 모듈(730)은 특정 시간에 획득된 사용자의 이미지와 특정 시간에 사용자의 포즈를 표현하는 대응 모델의 조합을 생성할 수 있다. 예를 들어, 이미지와 대응 모델의 조합은 모델(예를 들면, 사용자의 포즈를 표현하는 형상의 막대 형상 그림)을 이미지에서 묘사된 사용자 신체의 이차원 표현 위에 겹쳐놓은 것(예를 들면, 포개 놓은 것)을 포함할 수 있다. 분석 모듈(730)은 이미지와 대응 모델의 조합을 다른 이미지와 다른 대응 모델의 하나 이상의 다른 조합과 함께 클러스터화할 수 있다. 분석 모듈(730)은 (예를 들어, 모델의, 이미지의, 또는 이미지와 모델의 조합의) 하나 이상의 클러스터를 데이터베이스(예를 들면, 데이터베이스(126))의 하나 이상의 레코드에 저장할 수 있다.
도 10은 일부 예시적인 실시예에 따른, 모델 클러스터의 예를 예시하는 도면이다. 도 10은 사용자의 이미지와 사용자의 포즈를 표현하는 모델의 조합의 두 개의 열을 포함한다. 두 개의 열은 각기 예시적인 클러스터(1010 및 1020)를 나타낸다. 클러스터(1010)는 사용자의 이미지와 사용자 신체의 특정 자세를 표현하는 대응 모델과의 네 가지 조합을 포함한다. 유사하게, 클러스터(1020)는 사용자의 이미지와 사용자 신체의 특정 자세를 표현하는 대응 모델과의 네 가지 조합을 포함한다. 클러스터(1010 및 1020) 내 이미지와 모델의 각 조합에서, 모델(예를 들면, 막대 형상 그림)은 그의 대응하는 사용자의 이미지 위에 포개질 수 있다. 특정 예시적인 실시예에 따르면, 이미지와 모델의 조합은 이미지에서 묘사되고 각 이미지에 대응하는 모델에서 표현된 것으로서 사용자의 포즈의 유사도에 따라서 함께 클러스터화된다.
도 10에서 도시된 바와 같이, 클러스터(1010) 내 이미지와 모델의 조합은 사용자의 팔을 어깨 높이로 또는 그 위로 들어올린 채로 서 있는 사용자를 묘사한다. 따라서, 일부 예시적인 실시예에서, 클러스터(1010)는 (예를 들면, 사용자의 몸통을 표현하는 이미지 영역으로부터 시각적 특징을 추출하는 것에 기초하여) 사용자에 의해 사용자의 상체에 착용된 또는 클러스터(1010)에 포함된 하나 이상의 이미지 내에서 완전하게 보이는 임의의 다른 신체 부위에 착용된 패션에 관한 정보를 취득하는데 사용될 수 있다.
도 10에서 도시된 바와 같이, 클러스터(1020) 내 이미지와 모델의 조합은 사용자의 팔 또는 손이 부분적으로 사용자의 몸통의 모습을 부분적으로 가로막은 채 서 있는 사용자를 묘사한다. 예를 들면, 클러스터(1020)의 이미지의 일부에서 묘사된 것처럼, 사용자는 사용자의 가슴 앞에서 사용자의 팔짱을 끼고 있다. 따라서, 일부 예시적인 실시예에서, 클러스터(1020)는 사용자에 의해 사용자의 상체에 착용된 패션에 관한 정보를 취득하는데 사용될 수 없다. 그러나 사용자의 팔과 손목은 클러스터(1020)의 이미지에서 카메라에 더 가깝기 때문에, 클러스터(1020)는 (사용자의 팔 또는 손목을 표현하는 이미지 영역으로부터 시각적 특징을 추출함에 따라) 사용자에 의해 사용자의 팔 또는 손목에 착용된 또는 클러스터(1020)에 포함된 하나 이상의 이미지 내에서 완전하게 보이는 임의의 다른 신체 부위에 착용된 패션에 관한 정보를 취득하는데 사용될 수 있다.
도 11은 일부 예시적인 실시예에 따른, 사용자의 패션 선호도를 결정하는 방법(800)을 수행할 때 선호도 분석 머신의 동작을 예시하는 플로우차트이다. 도 11에서 도시된 바와 같이, 방법(800)은 일부 예시적인 실시예에 따른 방법 동작(1101, 1102, 1103, 1104, 및 1105) 중 하나 이상의 방법 동작을 포함할 수 있다.
방법 동작(1101)은 분석 모듈(730)이 수신된 이미지 및 수신된 공간 데이터 세트의 분석을 수행하는 방법 동작(820)의 일환(예를 들면, 선도적 작업, 서브루틴, 또는 일부분)으로서 수행될 수 있다. 방법 동작(1101)에서, 분석 모듈(730)은 모델의 클러스터로부터 모델 및 그 모델에 대응하는 수신된 이미지를 취득(예를 들면, 액세스, 수신, 선택, 또는 추출)한다. 대안으로, 일부 예시적인 실시예에서, 분석 모듈(730)은 수신된 이미지와 대응 모델의 조합을 수신된 이미지와 대응 모델의 조합의 클러스터로부터 취득한다. 모델 및 대응하는 수신 이미지는 특정 시간에 사용자의 포즈를 표현(예를 들면, 서술)할 수 있다.
방법 동작(1102)은 방법 동작(1101) 이후에 수행될 수 있다. 방법 동작(1102)에서, 분석 모듈(730)은 클러스터로부터 취득한 모델에 대응하는 수신 이미지 내 위치를 식별한다. 위치는 사용자의 특정 신체 부위에 대응한다. 사용자의 특정 신체 부위에 대응하는 위치를 식별하는 것은 사용자의 뼈 관절의 하나 이상의 식별자에 기초할 수 있다. 사용자의 뼈 관절의 식별자는 특정 시간에 사용자의 포즈를 표현하는 모델에 포함될 수 있다.
방법 동작(1103)은 방법 동작(1102) 이후에 수행될 수 있다. 방법 동작(1103)에서, 분석 모듈(730)은 이미지에서 식별된 위치로부터 이미지 조각(예를 들면, 일부분, 영역, 정사각형, 직사각형, 또는 원)을 추출한다. 이미지 조각은 사용자에 의해 특정 신체 부위에 착용된 아이템의 일부 또는 전체를 묘사할 수 있다. 일부 예시적인 실시예에서, 분석 모듈(730)은 추출한 이미지 조각을 데이터베이스(예를 들면, 데이터베이스(126))의 레코드에 저장한다. 분석 모듈(730)은 수신한 하나 이상의 사용자 이미지로부터 추출된 하나 이상의 이미지의 추가 분석을 수행할 수 있다.
방법 동작(1104)은 방법 동작(1103) 이후에 수행될 수 있다. 방법 동작(1104)에서, 분석 모듈(730)은 이미지 조각을 분석한다. 일부 예시적인 실시예에서, 이미지 조각의 분석은 사용자에 의해 특정 신체 부위에 착용된 아이템을 특징짓는 하나 이상의 속성-값 쌍을 결정하는 것을 포함한다.
방법 동작(1105)은 분석 모듈(730)이 이미지 조각을 분석하는 방법 동작(1104) 이후에 수행될 수 있다. 방법 동작(1105)에서, 분석 모듈(730)은 사용자에 의해 사용자의 특정 신체 부위에 착용된 아이템을 특징짓는 하나 이상의 속성-값 쌍을 결정한다. 하나 이상의 속성-값 쌍을 결정하는 것은 이미지 조각의 분석에 기초할 수 있다. 예를 들면, 수신된 이미지에서 묘사된 사용자의 몸통 영역으로부터 추출된 이미지 조각의 분석에 기초하여, 분석 모듈(730)은 사용자가 속성-값 쌍 "컬러: 청색" 및 속성-값 쌍 "직물: 데님"을 특징으로 하는 아이템을 사용자의 상체에 착용하였다고 결정할 수 있다.
도 12는 일부 예시적인 실시예에 따른, 예시적인 이미지 및 각 예시적인 이미지로부터 추출된 이미지 조각들의 예시적인 대응 그룹을 예시하는 도면이다. 도 12에서 도시된 바와 같이, 이미지(1210 및 1230)는 분석 모듈(730)에 의해 사용자의 이미지의 여러 클러스터로부터 취득된 샘플 이미지일 수 있다. 이미지(1210 및 1230)가 소속한 클러스터는 각 클러스터에 포함된 이미지에서 묘사된 상이한 포즈를 표현할 수 있다.
이미지 및 모델의 분석 프로세스 동안, 분석 모듈(730)은 완전하게 보이는 (예를 들면, 개체의 다른 신체 부위에 의해 가려지지 않은) 사용자의 특정 신체 부위를 식별할 수 있다. 분석 모듈(730)은 특정의 가려지지 않은 신체 부위에 대응하는 이미지 영역(예를 들면, 이미지 내 위치 또는 이미지의 일부분)을 식별할 수 있다. 예를 들면, 도 12에서 도시된 바와 같이, 분석 모듈(730)은 사용자의 특정 신체 부위의 일부 또는 전체를 묘사하는 이미지의 일부분의 주위에 바운딩 박스를 겹쳐놓음으로써 이미지 영역을 식별할 수 있다. 일부 사례에서, 분석 모듈(730)은 사용자의 구별된 (예를 들면, 상이한) 신체 부위를 묘사하는 이미지 부분을 식별하기 위해 상이한 컬러의 복수의 바운딩 박스를 겹쳐 놓음으로써 여러 이미지 영역을 표시할 수 있다. 식별된 이미지 영역(들)은 사용자에 의해 특정 이미지 내 사용자 신체의 여러 부위에 착용된 여러 패션 아이템을 묘사하는 이미지 조각을 추출하는데 사용될 수 있다.
분석 모듈(730)은 식별된 이미지 영역(들)으로부터 하나 이상의 이미지 조각을 추출할 수 있다. 예를 들면, 도 12에서 도시된 바와 같이, 분석 모듈(730)은 사용자의 몸통 영역에서, 이미지(1210) 위에 포개놓은 녹색의 바운딩 박스 내에 포함된 제 1 이미지 영역에 대응하는 제 1 이미지 조각을 추출한다. 분석 모듈(730)은 사용자의 오른쪽 다리의 영역에서, 이미지(1210) 위에 포개놓은 노란색의 바운딩 박스 내에 포함된 제 2 이미지 영역에 대응하는 제 2 이미지 조각을 추출할 수 있다.
또한 도 12에는 이미지(1210)로부터 추출된 이미지 조각들의 그룹(1220) 및 이미지(1230)로부터 추출된 이미지 조각들의 그룹(1240)이 도시된다. 이미지 조각들의 그룹(1220 및 1240) 내 이미지 조각은 사용자에 의해 하나 이상의 신체 부위에 착용된 아이템을 특징짓는 속성-값 쌍을 결정하기 위해 분석될 수 있다.
도 13 내지 도 15는 일부 예시적인 실시예에 따른, 사용자의 패션 선호도를 결정하는 방법(800)을 수행할 때 선호도 분석 머신의 동작을 예시하는 플로우차트이다.
도 13에 도시된 바와 같이, 방법(800)은 일부 예시적인 실시예에 따른 방법 동작(1301 및 1302) 중 하나 이상의 방법 동작을 포함할 수 있다. 방법 동작(1301)은 분석 모듈(730)이 이미지 조각을 분석하는 방법 동작(1104)의 일환(예를 들면, 선도적 작업, 서브루틴, 또는 일부분)으로서 수행될 수 있다. 방법 동작(1301)에서, 분석 모듈(730)은 이미지 조각으로부터 하나 이상의 시각적 특징을 추출한다.
일부 예시적인 실시예에서, 분석 모듈(730)은 이미지 조각으로부터 추출한 하나 이상의 시각적 특징을, 이미지 조각의 식별자와 함께 또는 연관 지어 데이터베이스의 레코드에 저장한다. 일부 사례에서, 이미지 조각으로부터 추출한 하나 이상의 시각적 특징은 패션 아이템의 인벤토리의 유사도 검색 또는 패션 아이템의 인벤토리의 조화 검색, 또는 두 가지 검색을 모두 수행하는데 사용될 수 있다. 예를 들어, 유사도 검색에서, 이미지 조각으로부터 추출한 하나 이상의 시각적 특징은 검색되는 패션 인벤토리에 포함된 패션 아이템을 묘사하는 이미지에서 식별된 하나 이상의 시각적 특징과 비교될 수 있다.
방법 동작(1302)은 분석 모듈(730)이 이미지 조각으로부터 하나 이상의 시각적 특징을 추출하는 방법 동작(1302) 이후에 수행될 수 있다. 방법 동작(1302)에서, 분석 모듈(730)은 이미지 조각으로부터 추출한 시각적 특징에 기초하여, 사용자에 의해 특정 신체 부위에 착용된 아이템을 특징짓는 하나 이상의 속성-값 쌍을 결정한다.
도 14에서 도시된 바와 같이, 방법(800)은 일부 예시적인 실시예에 따른 방법 동작(1401, 1402, 1403, 1404, 1405 및 1406) 중 하나 이상의 방법 동작을 포함할 수 있다. 방법 동작(1401)은 선호도 모듈(740)이 수신된 이미지 및 수신된 공간 데이터 세트의 분석에 기초하여 사용자의 패션 선호도를 식별하는 방법 동작(830)의 일환(예를 들면, 선도적 작업, 서브루틴, 또는 일부분)으로서 수행될 수 있다. 방법 동작(1401)에서, 선호도 모듈(740)은 일정 기간 동안(예를 들면, 6월 동안 일하는 날마다 오전 10시와 같은 복수의 시간에서) 사용자에 의해 착용된 하나 이상의 아이템을 특징짓는 복수의 속성-값 쌍에 액세스(예를 들면, 수신)한다.
방법 동작(1402)은 방법 동작(1401) 이후에 수행될 수 있다. 방법 동작(1402)에서, 선호도 모듈(740)은 일정 기간 동안 수신한 복수의 수신 이미지에 액세스한다.
방법 동작(1403)은 방법 동작(1402) 이후에 수행될 수 있다. 방법 동작(1403)에서, 선호도 모듈(740)은 일정 기간 동안, 복수의 속성-값 쌍 중 특정 속성-값 쌍을 특징으로 하는 아이템을 사용자가 착용하는 빈도를 결정한다. 빈도를 결정하는 것은 일정 기간 동안 수신된 복수의 수신 이미지에 기초할 수 있다. 빈도는 사용자가 일정 기간 동안 특정 속성-값 쌍을 특징으로 하는 아이템을 착용한 일수 또는 횟수로 표현될 수 있다.
방법 동작(1404)은 방법 동작(1403) 이후에 수행될 수 있다. 방법 동작(1404)에서, 선호도 모듈(740)은 일정 기간 동안 특정 속성-값 쌍을 특징으로 하는 아이템을 사용자가 착용하는 빈도에 기초하여 사용자의 패션 선호도를 식별한다.
일부 예시적인 실시예에서, 선호도 모듈(740)은 사용자가 특정 속성-값 쌍을 특징으로 하는 아이템을 착용한 기간의 날수를 임계치의 날수와 비교할 수 있다. 만일 사용자가 특정 속성-값 쌍을 특징으로 하는 아이템을 착용한 기간의 날수가 임계치의 날수를 초과하면, 선호도 모듈(740)은 특정 속성-값 쌍을 사용자의 패션 선호도를 표현하는 것으로서 식별한다. 일부 사례에서, 사용자의 패션 선호도는 사용자의 일반적인 패션 선호도(예를 들면, 사용자는 청색을 좋아하거나, 사용자는 데님을 입는 것을 좋아한다)로서 데이터베이스(126)의 레코드에 저장된다. 다른 사례에서, 사용자의 선호도는 선호도와 관계있는 패션 아이템의 종류(예를 들면, 상의, 하의, 신발, 지갑, 모자, 넥타이, 보석, 등)의 식별자와 연관된 사용자의 패션 선호도로서 데이터베이스(126)의 레코드에 저장된다.
예를 들면, 선호도 모듈(740)은 사용자가 사용자의 상체에 속성-값 쌍 "컬러: 청색"을 특징으로 하는 패션 아이템을 지난 30일 중 20일을 착용하였다고 결정할 수 있다. 임계치의 날수는 30일 중 18일이다. 사용자가 사용자의 상체에 청색의 옷을 지난 30일 중 18일 이상 동안 착용하였기 때문에, 선호도 모듈(740)은 사용자가 속성-값 쌍 "컬러: 청색"을 특징으로 하는 아이템을 착용한 날수가 임계치의 날수를 초과했다고 결정할 수 있다. 따라서, 선호도 모듈(740)은 속성-값 쌍 "컬러: 청색"을 사용자의 패션 선호도로서 식별할 수 있다.
방법 동작(1405)은 분석 모듈(730)이 수신된 이미지 및 수신된 공간 데이터 세트의 분석에 기초하여 사용자의 패션 선호도를 식별하는 방법 동작(830) 이후에 수행될 수 있다. 방법 동작(1405)에서, 검색 모듈(750)은 패션 아이템의 인벤토리의 검색에 기초하여 (예를 들면, 검색의 일부로서) 사용자의 패션 선호도에 대응하는 아이템을 식별한다. 선호도 모듈(740)은 사용자의 식별된 패션 선호도에 기초하여 패션 아이템의 인벤토리의 검색을 수행할 수 있다. 패션 아이템의 인벤토리는 네트워크 기반 마켓플레이스에서 구매할 수 있는 아이템을 포함할 수 있다.
일부 예시적인 실시예에서, 사용자의 패션 선호도에 대응하는 아이템을 식별하는 것은 이미지 조각에 기초하여 패션 아이템의 인벤토리의 검색을 수행하는 것을 포함한다. 검색을 수행하는 것은 특정 검색 규칙에 따라서, 이미지 조각과 인벤토리 내 패션 아이템을 묘사하는 하나 이상의 이미지를 비교하는 것을 포함할 수 있다.
일부 예시적인 실시예에서, 사용자의 패션 선호도에 대응하는 아이템을 식별하는 것은 사용자에 의해 사용자의 특정 신체 부위에 착용된 아이템을 특징짓는 하나 이상의 속성-값 쌍에 기초하여 패션 아이템의 인벤토리의 검색을 수행하는 것을 포함한다. 하나 이상의 속성-값 쌍은 이미지 조각으로부터 추출된 시각적 특징에 기초하여 결정될 수 있다.
일부 예시적인 실시예에서, 검색 모듈(750)은 아이템의 특정 카테고리로 검색을 제한할 수 있다. 예를 들면, 검색 모듈(750)은 특정 성별(예를 들면, 여성 또는 남성) 또는 연령(예를 들면, 아이 또는 어른)의 사람에게 착용된 것으로서 식별된 (예를 들면, 아이템 목록의 메타데이터 또는 아이템의 이미지의 메타데이터에 포함된 식별자 또는 태그를 가진) 아이템을 검색한다. 다른 예에 따르면, 검색 모듈(750)은 패션 아이템의 특정 카테고리에 포함된 아이템(예를 들면, 상의, 하의, 모자, 신발, 보석 등)을 검색한다.
방법 동작(1406)은 방법 동작(1405) 이후에 수행될 수 있다. 방법 동작(1406)에서, 추천 모듈(760)은 사용자의 패션 선호도에 대응하는 것으로서 패션 인벤토리의 검색 중에 식별된 아이템의 추천을 생성한다.
일부 예시적인 실시예에서, 방법(800)은 사용자에게 (예를 들면, 통신 모듈(770)에 의해) 통신신호를 전송하는 것을 더 포함할 수 있다. 통신신호는 사용자의 패션 선호도에 대응하는 것으로 식별된 아이템의 생성된 추천을 포함할 수 있다.
도 15에 도시된 바와 같이, 방법(800)은 일부 예시적인 실시예에 따른, 방법 동작(1501 및 1502) 중 하나 이상의 방법 동작을 포함할 수 있다. 방법 동작(1501)은 검색 모듈(750)이 사용자의 식별된 패션 선호도에 기초하여 패션 아이템의 인벤토리의 검색을 수행하는 방법 동작(1405)의 일환(예를 들면, 선도적 작업, 서브루틴, 또는 일부분)으로서 수행될 수 있다. 방법 동작(1501)에서, 검색 모듈(750)은 패션 인벤토리의 유사도 검색을 수행하고 유사도 검색 결과(예를 들면, 사용자가 이전에 착용했던 아이템과 유사한 패션 아이템)를 생성한다.
일부 예시적인 실시예에서, 유사도 검색은 이미지 조각에 기초할 수 있다. 일부 사례에서, 유사도 검색은 또한 사용자 신체의 하나 이상의 치수에 기초할 수도 있다. 유사도 검색을 수행하는 것은 쿼리 이미지 조각으로 사용될 추출된 이미지 조각을 (예를 들면, 검색 모듈(750)에 의해) 선택하고, 쿼리 이미지 조각을 패션 인벤토리 내 아이템의 하나 이상의 이미지에 대조하는 것을 포함할 수 있다.
일부 사례에서, 검색 모듈(750)은 이미지 조각으로부터 추출된 하나 이상의 시각적 특징에 기초하여 패션 아이템의 인벤토리의 유사도 검색을 수행한다. 예를 들면, 유사도 검색을 수행하기 위해, 검색 모듈(750)은 이미지 조각으로부터 추출된 하나 이상의 시각적 특징과 검색되는 패션 인벤토리에 포함된 패션 아이템을 묘사하는 이미지에서 식별된 하나 이상의 시각적 특징을 비교한다.
일부 예시적인 실시예에서, 유사도 검색은 사용자에 의해 이전에 착용된 패션 아이템을 특징짓는 속성-값 쌍에 기초할 수 있다. 일부 사례에서, 유사도 검색은 또한 사용자 신체의 하나 이상의 치수에 기초할 수도 있다. 유사도 검색을 수행하는 것은 쿼리 속성-값 쌍으로 사용될 속성-값 쌍을 (예를 들면, 검색 모듈(750)에 의해) 선택하고, 속성-값 쌍을 특징으로 하는 패션 인벤토리 내 하나 이상의 아이템을 식별하는 것을 포함할 수 있다.
방법 동작(1502)은 검색 모듈(750)이 사용자의 식별된 패션 선호도에 기초하여 패션 아이템의 인벤토리의 검색을 수행하는 방법 동작(1405)의 일환(예를 들면, 선도적 작업, 서브루틴, 또는 일부분)으로서 수행될 수 있다. 방법 동작(1502)에서, 검색 모듈(750)은 패션 인벤토리의 조화 검색을 수행하고 조화 검색 결과(예를 들면, 이전에 사용자가 착용했던 아이템과 조화될 수 있는 패션 아이템)을 생성한다.
일부 예시적인 실시예에서, 조화 검색은 이미지 조각에 기초할 수 있다. 일부 사례에서, 조화 검색은 또한 사용자 신체의 하나 이상의 치수에 기초할 수도 있다. 조화 검색을 수행하는 것은 쿼리 이미지 조각으로 사용될 추출된 이미지 조각을 (예를 들면, 검색 모듈(750)에 의해) 선택하고, 조화 규칙에 기초하여, 쿼리 이미지 조각에 대응하는 패션 아이템과 함께 착용될 수 있는 패션 인벤토리 내 하나 이상의 아이템을 식별하는 것을 포함할 수 있다.
일부 사례에서, 검색 모듈(750)은 이미지 조각으로부터 추출된 하나 이상의 시각적 특징에 기초하여 패션 아이템의 인벤토리의 조화 검색을 수행한다. 예를 들면, 조화 검색을 수행하기 위해, 검색 모듈(750)은 이미지 조각으로부터 추출된 하나 이상의 시각적 특징과 검색되는 패션 인벤토리에 포함된 패션 아이템을 묘사하는 이미지에서 식별된 하나 이상의 시각적 특징을 비교한다.
일부 사례에서, 어떤 아이템이 함께 착용될 수 있는지를 명시하는 하나 이상의 조화 규칙은 일정 기간에 걸쳐 획득된, 하나 이상의 사용자의 복수의 이미지의 분석에 기초하여 만들어진다. 하나 이상의 조화 규칙은 하나 이상의 사용자의 식별자와 연계하여 데이터베이스(예를 들면, 데이터베이스(126))의 하나 이상의 레코드에 저장될 수 있다.
일부 예시적인 실시예에서, 조화 검색은 사용자에 의해 이전에 착용된 패션 아이템을 특징짓는 속성-값 쌍에 기초할 수 있다. 일부 사례에서, 조화 검색은 또한 사용자 신체의 하나 이상의 치수에 기초할 수도 있다. 조화 검색을 수행하는 것은 쿼리 속성-값 쌍으로 사용될 속성-값 쌍을 (예를 들면, 검색 모듈(750)에 의해) 선택하고, 조화 규칙에 기초하여, 속성-값 쌍을 특징으로 하는 이전에 사용자에 의해 착용되었던 패션 아이템과 함께 착용될 수 있는 패션 인벤토리 내 하나 이상의 아이템을 식별하는 것을 포함할 수 있다.
도 16은 일부 예시적인 실시예에 따른, 쿼리 이미지 조각 및 대응하는 예시적인 검색 결과를 포함하는 예시적인 이미지를 예시하는 도면이다. 도 16에서 도시된 바와 같이, 이미지(1610)는 두 개의 이미지 조각 즉, 이미지(1610)에서 묘사된 사용자의 청바지의 일부분 위에 겹쳐 놓은 (예를 들면, 둘러싸는) 적색의 바운딩 박스에 의해 표시된 제 1 이미지 조각 및 이미지(1610)에서 묘사된 사용자의 흰색 티셔츠의 일부분 위에 겹쳐 놓은(예를 들면, 둘러싸는) 녹색의 바운딩 박스에 의해 표시된 제 2 이미지 조각을 추출하는데 사용될 수 있다.
검색 모듈(750)은 이미지(1610)로부터 추출된 제 1 이미지 조각에 기초하여 유사도 검색을 수행할 수 있다. 유사도 검색에 기초하여, 검색 모듈(750)은 하나 이상의 유사도 검색 결과(1620)를 생성할 수 있다. 검색 모듈(750)은 이미지(1610)로부터 추출된 제 2 이미지 조각에 기초하여 조화 검색을 수행할 수 있다. 조화 검색에 기초하여, 검색 모듈(750)은 하나 이상의 조화 검색 결과(1630)를 생성할 수 있다.
유사하게, 검색 모듈(750)은 이미지(1640)로부터 추출된 제 1 이미지 조각에 기초하여 유사도 검색을 수행할 수 있다. 유사도 검색에 기초하여, 검색 모듈(750)은 하나 이상의 유사도 검색 결과(1650)를 생성할 수 있다. 검색 모듈(750)은 이미지(1640)로부터 추출된 제 2 이미지 조각에 기초하여 조화 검색을 수행할 수 있다. 조화 검색에 기초하여, 검색 모듈(750)은 하나 이상의 조화 검색 결과(1660)를 생성할 수 있다.
다양한 예시적인 실시예에 따르면, 본 명세서에서 설명된 방법론 중 하나 이상의 방법론은 사용자의 패션 선호도의 결정을 용이하게 할 수 있다. 더욱이, 본 명세서에서 설명된 방법론 중 하나 이상의 방법론은 사용자의 패션 선호도에 기초하여 사용자에게 아이템 추천을 제공하는 것을 용이하게 할 수 있다. 그러므로 본 명세서에서 설명된 하나 이상의 방법론은 사용자에게 추천된 아이템의 판매 개선을 촉진할 수 있다.
이러한 효과가 모두 합쳐 고려되면, 본 명세서에서 설명된 방법론 중 하나 이상의 방법론은 그렇지 않았더라면 온라인 판매용 아이템의 이미지를 평가할 때 연루되었을 어떤 노력 또는 자원을 쓸 필요를 배제할 수 있다. 그러한 이미지를 평가할 때 그러한 이미지의 공급자(예를 들면, 판매자)에 의해 들인 노력은 본 명세서에서 설명된 방법론 중 하나 이상의 방법론에 의해 줄어들 수 있다. (예를 들면, 네트워크 환경(300) 내의) 하나 이상의 머신, 데이터베이스, 또는 디바이스에 의해 사용된 컴퓨팅 자원도 마찬가지로 줄어들 수 있다. 그러한 컴퓨팅 자원의 예는 프로세서 사이클, 네트워크 트래픽, 메모리 사용, 데이터 저장 용량, 전력 소비, 및 냉각 용량을 포함한다.
예시적인 이동 디바이스
도 17은 예시적인 실시예에 따른 이동 디바이스(1700)를 예시하는 블록도이다. 이동 디바이스(1700)는 프로세서(1702)를 포함할 수 있다. 프로세서(1702)는 이동 디바이스에 적합한 임의의 각종의 상이한 종류의 상업적으로 구입 가능한 프로세서(1702)(예를 들면, XScale 아키텍처 마이크로프로세서, MIPS(microprocessor without interlocked pipeline stage) 아키텍처 프로세서, 또는 다른 종류의 프로세서(1702))일 수 있다. 랜덤 액세스 메모리(Random Access Memory, RAM), 플래시 메모리, 또는 다른 종류의 메모리와 같은 메모리(1704)는 통상적으로 프로세서(1702)에 액세스 가능하다. 메모리(1704)는 오퍼레이팅 시스템(operating system, OS)(1706)는 물론이고, LBS를 사용자에게 제공할 수 있는 이동 위치 작동가능 애플리케이션(mobile location enabled application)과 같은 애플리케이션 프로그램(1708)을 저장하도록 적응될 수 있다. 프로세서(1702)는 직접적으로 또는 적절한 중개 하드웨어를 통해서 디스플레이(1710)에 연결될 수 있으며 또한 하나 이상의 입력/출력(input/output, I/O) 디바이스(512), 이를테면 키패드, 터치 패널 센서, 및 마이크로폰 등에 연결될 수 있다. 유사하게, 일부 실시예에서, 프로세서(1702)는 안테나(1716)와 인터페이스하는 송수신기(1714)에 연결될 수 있다. 송수신기(514)는 이동 디바이스(1700)의 특성에 따라서 안테나(1716)를 통해 셀룰러 네트워크 신호, 무선 데이터 신호, 또는 다른 종류의 신호를 송신 및 수신하도록 구성될 수 있다. 또한, 일부 구성에서, GPS 수신기(1718)는 또한 안테나(1716)를 이용하여 GPS 신호를 수신할 수 있다.
모듈, 컴포넌트 및 로직
본 명세서에서 특정한 실시예가 로직 또는 복수의 컴포넌트, 모듈, 또는 메커니즘을 포함하는 것으로 기술된다. 모듈은 소프트웨어 모듈(예를 들면, (1) 비일시적인 머신 판독 가능한 저장소 상에서 또는 (2) 전송 신호에서 구현되는 코드) 또는 하드웨어 구현된 모듈 중 어느 하나의 모듈을 구성할 수 있다. 하드웨어 구현된 모듈은 특정의 동작을 수행할 수 있는 유형의 유닛이며 특정의 방식으로 구성되거나 배열될 수 있다. 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들면, 스탠드얼론, 클라이언트, 또는 서버 컴퓨터 시스템) 또는 하나 이상의 프로세서(1702)는 본 명세서에서 기술된 바와 같은 특정의 동작을 수행하도록 동작하는 하드웨어 구현된 모듈처럼 소프트웨어(예를 들면, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
다양한 실시예에서, 하드웨어 구현된 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 하드웨어 구현된 모듈은 (예를 들면, 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA) 또는 주문형 집적 회로(application specific integrated circuit, ASIC)와 같은 특수 목적 프로세서처럼) 특정한 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 모듈은 또한 소프트웨어에 의해 특정한 동작을 수행하도록 일시적으로 구성될 수 있는 (예를 들면, 범용 프로세서(1702) 또는 다른 프로그래머블 프로세서(1702) 내에 포함되어 있는 것으로서) 프로그래머블 로직 또는 회로를 포함할 수 있다. 하드웨어 구현된 모듈을 기계적으로, 전용으로 및 영구적으로 구성된 회로로 또는 일시적으로 구성되는 (예를 들면, 소프트웨어에 의해 구성되는) 회로로 구현하려는 결정은 비용과 시간을 고려하여 추진될 수 있다는 것이 인식될 것이다.
따라서, "하드웨어 구현된 모듈"이라는 용어는 유형의 엔티티 즉, 물리적으로 구축되거나, 영구적으로 구성되거나(예를 들면, 하드웨어에 내장되거나(hardwired)), 또는 임시로 또는 일시적으로 구성되어(예를 들면, 프로그램되어) 특정한 방식으로 동작하고 그리고/또는 본 명세서에서 기술된 특정 동작을 수행하는 엔티티를 망라하는 것으로 이해되어야 한다. 하드웨어 구현된 모듈이 일시적으로 구성되는(또는 프로그램되는) 실시예를 고려하면, 각각의 하드웨어 구현된 모듈은 임의의 한 시간 인스턴스에서 구성되거나 인스턴스화될 필요가 없다. 예를 들면, 하드웨어 구현된 모듈이 소프트웨어를 이용하여 구성된 범용 프로세서(1702)를 포함하는 경우, 범용 프로세서(1702)는 상이한 시간에 제각기 상이한 하드웨어 구현된 모듈로서 구성될 수 있다. 이에 따라서 소프트웨어는 예를 들면, 하나의 시간 인스턴스에서 특정의 하드웨어 구현된 모듈을 구성하고 상이한 시간 인스턴스에서 상이한 하드웨어 구현된 모듈을 구성하는 프로세서(1702)를 구성할 수 있다.
하드웨어 구현된 모듈은 정보를 다른 하드웨어 구현된 모듈에 제공하고, 그 다른 하드웨어 모듈로부터 정보를 수신할 수 있다. 따라서, 기술된 하드웨어 구현된 모듈은 통신 가능하게 연결되어 있는 것이라고 간주될 수 있다. 복수의 그러한 하드웨어 구현된 모듈이 동시에 존재하는 경우, 통신은 (예를 들면, 하드웨어 구현된 모듈을 연결하는 적절한 회로 및 버스를 통한) 신호 전송을 통해 달성될 수 있다. 복수의 하드웨어 구현된 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 그러한 하드웨어 구현된 모듈 간의 통신은 예를 들면, 복수의 하드웨어 구현된 모듈이 액세스하는 메모리 구조체 내 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들면, 하나의 하드웨어 구현된 모듈은 어떤 동작을 수행할 수 있고, 그 동작의 출력을 하드웨어 구현된 모듈이 통신 가능하게 연결된 메모리 디바이스에 저장할 수 있다. 그러면 다른 하드웨어 구현된 모듈은 나중에 그 메모리 디바이스에 액세스하여 저장된 출력을 검색하여 처리할 수 있다. 하드웨어 구현된 모듈은 또한 입력 또는 출력 디바이스와 통신을 개시할 수 있고, 자원(예를 들면, 정보의 집합)에 대해 동작할 수 있다.
본 명세서에서 기술된 예시적인 방법의 다양한 동작은 관련 동작을 수행하도록 (예를 들면, 소프트웨어에 의해) 일시적으로 구성되거나 아니면 영구적으로 구성된 하나 이상의 프로세서(1702)에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 구성되든 영구적으로 구성되든, 그러한 프로세서(1702)는 하나 이상의 동작이나 기능을 수행하도록 동작하는 프로세서 구현된 모듈을 구성할 수 있다. 본 명세서에서 언급되는 모듈은, 일부 예시적인 실시예에서, 프로세서 구현된 모듈을 포함한다.
유사하게, 본 명세서에서 기술된 방법은 적어도 부분적으로 프로세서에 의해 구현될 수 있다. 예를 들면, 방법의 동작 중 적어도 일부 동작은 하나 이상의 프로세서(1702) 또는 프로세서 구현된 모듈에 의해 수행될 수 있다. 동작 중 어떤 동작은 단일의 머신 내에 상주할 뿐만 아니라, 복수의 머신 전반에 배치되어 있는 하나 이상의 프로세서(1702) 또는 프로세서 구현된 모듈 사이에서 분산되어 수행될 수 있다. 일부의 예시적인 실시예에서, 하나 이상의 프로세서(1702) 또는 프로세서 구현된 모듈은 (예를 들면, 가정 환경, 사무실 환경 내에서, 또는 서버 팜으로서) 단일의 장소에 배치되어 있을 수 있지만, 다른 실시예에서, 프로세서(1702)는 여러 장소에 걸쳐 분산되어 있을 수 있다.
하나 이상의 프로세서(1702)는 또한 "클라우드 컴퓨팅" 환경에서 또는 "서비스형 소프트웨어(software as a service)"(SaaS)로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들면, 동작 중 적어도 일부 동작은 (프로세서를 포함하는 머신의 예처럼) 컴퓨터 그룹에 의해 수행될 수 있고, 이러한 동작은 네트워크(예를 들면, 인터넷)를 통해 그리고 하나 이상의 적절한 인터페이스(예를 들면, 애플리케이션 프로그램 인터페이스(Application Program Interface, API)를 통해 액세스 가능하다.
전자 장치 및 시스템
예시적인 실시예는 디지털 전자 회로에서 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어에서, 또는 이들의 조합에서 구현될 수 있다. 예시적인 실시예는 예를 들어 프로그래머블 프로세서(1702), 컴퓨터, 또는 여러 컴퓨터와 같은 데이터 처리 장치에 의한 실행을 위해, 또는 데이터 처리 장치의 동작을 제어하기 위해 정보 캐리어 내에서, 예를 들면, 머신 판독 가능한 매체 내에서 유형으로 구현되는 컴퓨터 프로그램과 같은 컴퓨터 프로그램 제품을 이용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일된 언어 또는 해석된 언어를 비롯한 어떤 형태의 프로그래밍 언어로도 작성될 수 있으며, 컴퓨터 프로그램은 스탠드-얼론 프로그램으로서 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 서브루틴, 또는 다른 유닛으로서 이를 포함하여, 어떤 형태로도 배치될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서 또는 한 장소에 있는 여러 컴퓨터상에서 실행되도록 배치될 수 있거나, 여러 장소에 걸쳐 분산되어 통신 네트워크에 의해 상호 연결되도록 배치될 수 있다.
예시적인 실시예에서, 동작은 입력 데이터에 대해 작용하여 출력을 생성함으로써 기능을 수행하는 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서(1702)에 의해 수행될 수 있다. 방법의 동작은 또한 특수 목적의 로직 회로, 예를 들면 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적회로(ASIC)에 의해 수행될 수 있으며, 예시적인 실시예의 장치는 특수 목적의 로직 회로, 예를 들면 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적회로(ASIC)로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있으며 통상적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각자의 컴퓨터에서 구동하는 그리고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 말미암아 생긴다. 프로그래머블 컴퓨팅 시스템을 사용하는 실시예에서, 두 하드웨어 및 소프트웨어 아키텍처는 모두 고려할 가치가 있다고 인식될 것이다. 구체적으로, 영구적으로 구성된 하드웨어(예를 들면, ASIC)에서, 일시적으로 구성된 하드웨어(예를 들면, 소프트웨어와 프로그래머블 프로세서(1702)의 조합)에서, 또는 영구적이면서 일시적으로 구성된 하드웨어의 조합에서 어떤 기능성을 구현할지 구현하지 않을지를 선택하는 것은 디자인 선택일 수 있다는 것이 인식될 것이다. 아래에는 다양한 예시적인 실시예에서 이용될 수 있는 하드웨어(예를 들면, 머신) 및 소프트웨어 아키텍처가 상세히 설명된다.
예시적인 머신 아키텍처 및 머신 판독가능한 매체
도 18은 일부 예시적인 실시예에 따라서, 머신 판독 가능한 매체(1822)(예를 들면, 비일시적 머신 판독 가능한 매체, 머신 판독 가능한 저장 매체, 컴퓨터 판독가능한 저장 매체, 또는 이들의 임의의 적절한 조합)으로부터 명령어(1824)를 판독할 수 있고, 전체적으로 또는 부분적으로, 본 명세서에서 논의된 방법론 중 임의의 하나 이상의 방법론을 수행할 수 있는 머신(1800)의 예시적인 컴포넌트를 예시하는 블록도이다. 특히, 도 18은 머신(1800)으로 하여금 본 명세서에서 논의된 방법론 중 임의의 하나 이상의 방법론을 수행하게 하는 명령어(1824) (예를 들면, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행 가능하나 코드)가 전체적으로 또는 부분적으로 실행될 수 있는 컴퓨터 시스템(예를 들면, 컴퓨터)의 예시적인 형태의 머신(1800)을 도시한다.
대안의 실시예에서, 머신(1800)은 스탠드얼론 디바이스로서 동작하거나 다른 머신에 접속(예를 들면, 네트워크로 연결)될 수 있다. 네트워크형 배치에서, 머신(1800)은 서버-클라이언트 네트워크 환경에서는 서버 머신 또는 클라이언트 머신의 입장에서 동작할 수 있거나, 분산된 (예를 들면, 피어-투-피어) 네트워크 환경에서는 피어 머신으로서 동작할 수 있다. 머신(1800)은 머신에 의해 취할 행동을 명시하는, 순차적이거나 아니면 그렇지 않은, 명령어(1824)를 실행할 수 있는 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(personal computer, PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, 셀룰러 전화, 스마트폰, 셋톱 박스(set-top box, STB), 개인 휴대 정보 단말기(personal digital assistant, PDA), 웹 어플라이언스, 네트워크 라우터, 네트워크 스위치, 네트워크 브릿지, 또는 임의의 머신일 수 있다. 또한, 단일의 머신만이 예시되지만, "머신"이라는 용어는 개별적으로 또는 연합하여 명령어(1824)를 실행하여 본 명세서에서 논의된 방법론 중 임의의 하나 이상의 방법론 중 모두 또는 그 일부를 수행하는 머신들의 임의의 집합을 포함하는 것으로 취급될 것이다.
머신(1800)은 버스(1808)를 통해 서로 통신하도록 구성된 프로세서(1802)(예를 들면, 중앙 처리 유닛(central processing unit, CPU), 그래픽 처리 유닛(graphics processing unit, GPU), 디지털 신호 프로세서(digital signal processor, DSP), 주문형 집적 회로(application specific integrated circuit, ASIC), 무선 주파수 집적 회로(radio-frequency integrated circuit, RFIC), 또는 이들의 임의의 적절한 조합), 메인 메모리(1804), 및 정적 메모리(1806)를 포함한다. 프로세서(1802)는 프로세서(1802)가 전체적으로 또는 부분적으로, 본 명세서에서 기술된 방법론 중 임의의 하나 이상의 방법론을 수행하는데 구성할 수 있도록 일부 또는 모든 명령어(1824)에 의해 일시적으로 또는 영구적으로 구성 가능한 마이크로회로를 포함할 수 있다. 예를 들면, 프로세서(1802)의 한 세트의 하나 이상의 마이크로회로는 본 명세서에서 기술된 하나 이상의 모듈(예를 들면, 소프트웨어 모듈)을 실행하도록 구성 가능할 수 있다.
머신(1800)은 또한 그래픽 디스플레이(1810)(예를 들면, 플라즈마 디스플레이 패널(plasma display panel, PDP), 발광 다이오드(light emitting diode, LED) 디스플레이, 액정 디스플레이(liquid crystal display, LCD), 프로젝터, 음극선관(cathode ray tube, CRT), 또는 그래픽 또는 비디오를 디스플레이할 수 있는 임의의 다른 디스플레이)을 포함할 수 있다. 머신(1800)은 또한 영숫자 입력 디바이스(1812)(예를 들면, 키보드 또는 키패드), 커서 제어 디바이스(1814)(예를 들면, 마우스, 터치패드, 트랙볼, 조이스틱, 움직임 센서, 눈 추적 디바이스, 또는 다른 포인팅 기구), 저장 유닛(1816), 오디오 생성 디바이스(1818)(예를 들면, 사운드 카드, 증폭기, 스피커, 헤드폰 잭, 또는 이들의 임의의 적절한 조합), 및 네트워크 인터페이스 디바이스(1820)를 포함한다.
저장 유닛(1816)은 본 명세서에서 기술된 방법론 또는 기능 중 임의의 하나 이상을 구현하는 명령어(1824)가 저장된 머신 판독 가능한 매체(1822)(예를 들면, 유형의 비일시적인 머신 판독 가능한 저장 매체)를 포함한다. 명령어(1824)는 또한 전체적으로 또는 적어도 부분적으로, 머신(1800)에 의한 명령어의 실행 이전에 또는 명령어의 실행 동안 메인 메모리(1804) 내, 프로세서(1802) 내(예를 들면, 프로세서의 캐시 메모리 내), 또는 모두 다 내에 상주할 수 있다. 따라서, 메인 메모리(1804) 및 프로세서(1802)는 머신 판독 가능한 매체(예를 들면, 유형의 비일시적 머신 판독 가능한 매체)라고 간주될 수 있다. 명령어(1824)는 네트워크(1826)를 통하고 네트워크 인터페이스(1820)를 통해 송신되거나 수신될 수 있다. 예를 들면, 네트워크 인터페이스 디바이스(1820)는 임의의 하나 이상의 전송 프로토콜(예를 들면, 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol, HTTP)을 이용하여 명령어(1824)를 전달할 수 있다.
일부 예시적인 실시예에서, 머신(1800)은 스마트 폰 또는 태블릿 컴퓨터와 같은 휴대용 컴퓨팅 디바이스일 수 있으며, 하나 이상의 부수적인 입력 컴포넌트(1830)(예를 들면, 센서 또는 게이지)를 가질 수 있다. 그와 같은 입력 컴포넌트(1830)의 예는 이미지 입력 컴포넌트(예를 들면, 하나 이상의 카메라), 오디오 입력 컴포넌트(예를 들면, 마이크로폰), 방향 입력 컴포넌트(예를 들면, 나침반), 위치 입력 컴포넌트(예를 들면, 위성 위치 확인 시스템(global positioning system, GPS)), 방위 컴포넌트(예를 들면, 자이로스코프), 움직임 검출 컴포넌트(예를 들면, 하나 이상의 가속도계), 고도 검출 컴포넌트(예를 들면, 고도계), 및 가스 검출 컴포넌트(예를 들면, 가스 센서)를 포함한다. 이러한 입력 컴포넌트 중 임의의 하나 이상의 컴포넌트에 의해 취득된 입력은 본 명세서에서 기술된 모듈 중 임의의 모듈에 의해 액세스 가능하고 그 모듈에 이용 가능할 수 있다.
본 명세서에서 사용된 바와 같이, "메모리"라는 용어는 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 머신 판독 가능한 매체를 말하며, 이것으로 제한되는 것은 아니지만, 랜덤 액세스 메모리(Random Access Memory, RAM), 판독 전용 메모리(read-only memory, ROM), 버퍼 메모리, 플래시 메모리, 및 캐시 메모리를 포함하는 것으로 취급될 수 있다. 머신 판독 가능한 매체(1822)는 예시적인 실시예에서 단일의 매체인 것으로 도시되지만, "머신 판독 가능한 매체"라는 용어는 명령어를 저장할 수 있는 단일 매체 또는 다중 매체(예를 들면, 중앙 집중형 또는 분산형 데이터베이스, 또는 연합된 캐시 및 서버)를 포함하는 것으로 취급되어야 한다. 또한, "머신 판독 가능한 매체"라는 용어는 명령어(1824)가 머신(1800)의 하나 이상의 프로세서(예를 들면, 프로세서(1802))에 의해 실행될 때, 머신(1800)으로 하여금, 전체적으로 또는 부분적으로, 본 명세서에서 기술된 방법론 중 임의의 하나 이상의 방법론을 수행하게 하도록, 머신(1800)에 의해 실행을 위한 명령어(1824)를 저장할 수 있는 임의의 매체 또는 복수의 매체들의 조합을 포함하는 것으로 취급되어야 한다. 이에 따라서, "머신 판독 가능한 매체"는 단일의 저장 장치 또는 디바이스를 말할 뿐만 아니라, 복수의 저장 장치 또는 디바이스를 포함하는 클라우드 기반의 저장 시스템 또는 저장 네트워크를 말한다. 그러므로 "머신 판독 가능한 매체"라는 용어는 이것으로 제한되는 것은 아니지만, 고체 상태 메모리, 광 매체, 자기 매체, 또는 이들의 임의의 적절한 조합의 형태의 하나 이상의 유형의 (예를 들면, 비일시적인) 데이터 보관소를 포함하는 것으로 취급되어야 한다.
본 명세서 전체에서, 복수의 인스턴스는 단일의 인스턴스로서 기술된 컴포넌트, 동작, 또는 구조체를 구현할 수 있다. 하나 이상의 방법의 개개의 동작이 개별 동작으로 예시되고 기술되지만, 개개의 동작 중 하나 이상의 동작은 동시에 수행될 수 있으며, 그 어느 것도 동작이 예시된 순서대로 수행되는 것을 요구하지 않는다. 예시적인 구성에서 개별 컴포넌트로서 제시된 구조체 및 기능성은 조합된 구조체 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일의 컴포넌트로서 제시된 구조체 및 기능성은 개별 컴포넌트로서 구현될 수 있다. 이러한 그리고 다른 변형, 수정, 부가 및 개선사항은 본 명세서에서의 주제의 범위에 속한다.
본 명세서에서 특정의 실시예는 로직 또는 복수의 컴포넌트, 모듈, 또는 메커니즘을 포함하는 것으로서 설명된다. 모듈은 소프트웨어 모듈(예를 들면, 머신 판독 가능한 매체상에서 또는 전송 신호에서 저장되거나 그렇지 않으면 구현되는 코드), 하드웨어 모듈, 또는 이들의 임의의 적절한 조합을 구성할 수 있다. "하드웨어 모듈"은 특정의 동작을 수행할 수 있는 유형의 (예를 들면, 비일시적인) 유닛이며 특정의 물리적인 방식으로 구성되거나 배열될 수 있다. 다양한 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들면, 스탠드얼론 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들면, 프로세서 또는 프로세서의 그룹)은 본 명세서에서 기술된 바와 같은 특정의 동작을 수행하도록 동작하는 하드웨어 모듈처럼 소프트웨어(예를 들면, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
일부 실시예에서, 하드웨어 모듈은 기계적으로, 전자적으로, 또는 이들의 임의의 적절한 조합으로 구현될 수 있다. 예를 들면, 하드웨어 모듈은 특정의 동작을 수행하도록 영구적으로 구성된 전용의 회로 또는 로직을 포함할 수 있다. 예를 들면, 하드웨어 모듈은 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)와 같은 특수 목적 프로세서일 수 있다. 하드웨어 모듈은 또한 소프트웨어에 의해 특정의 동작을 수행하도록 일시적으로 구성된 프로그래머블 로직 또는 회로를 포함할 수 있다. 예를 들면, 하드웨어 모듈은 또한 범용 프로세서 또는 다른 프로그래머블 프로세서 내부에 포함된 소프트웨어를 포함할 수 있다. 하드웨어 모듈을 기계적으로, 전용으로 및 영구적으로 구성된 회로로 구현하거나, 아니면 일시적으로 구성되는 (예를 들면, 소프트웨어에 의해 구성되는) 회로로 구현하려는 결정은 비용과 시간을 고려하여 추진될 수 있다는 것이 인식될 것이다.
따라서, "하드웨어 모듈"이라는 관용구는 유형의 엔티티를 망라하는 것으로 이해되어야 하며, 그와 같은 유형의 엔티티는 물리적으로 구축되거나, 영구적으로 구성되거나 (예를 들면, 하드웨어에 내장되거나), 또는 일시적으로 구성되어(예를 들면, 프로그램되어) 특정한 방식으로 동작하거나, 또는 본 명세서에서 기술된 특정 동작을 수행할 수 있다. 본 명세서에서 사용된 바와 같은, "하드웨어 구현된 모듈"은 하드웨어 모듈을 말한다. 하드웨어 모듈이 일시적으로 구성되는(또는 프로그램되는) 실시예를 고려하면, 각 하드웨어 모듈은 임의의 한 시간 인스턴스에서 구성되거나 인스턴스화될 필요가 없다. 예를 들면, 하드웨어 모듈이 특수 목적 프로세서가 되는 소프트웨어에 의해 구성되는 경우, 범용 프로세서는 상이한 시간에서 (예를 들어, 상이한 하드웨어 모듈을 포함하는) 제각기 상이한 하드웨어 모듈로서 구성될 수 있다. 이에 따라서 소프트웨어(예를 들면, 소프트웨어 모듈)는 예를 들면, 하나의 시간 인스턴스에서 특정의 하드웨어 모듈을 구성하고 상이한 시간 인스턴스에서 상이한 하드웨어 구현된 모듈을 구성하는 하나 이상의 프로세서를 구성할 수 있다.
하드웨어 모듈은 정보를 다른 하드웨어 모듈에 제공하고, 다른 하드웨어 모듈로부터 정보를 수신할 수 있다. 따라서, 기술된 하드웨어 모듈은 통신 가능하게 연결되어 있는 것이라고 간주될 수 있다. 여러 하드웨어 모듈이 동시에 존재하는 경우, 통신은 하드웨어 모듈 중 둘 이상의 모듈끼리 또는 둘 이상의 모듈 사이에서 (예를 들면, 적절한 회로 및 버스를 통한) 신호 전송을 통해 달성될 수 있다. 복수의 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 그러한 하드웨어 구현된 모듈 간의 통신은 예를 들면, 복수의 하드웨어 모듈이 액세스하는 메모리 구조체 내 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 어떤 동작을 수행할 수 있으며 그 동작의 출력을 하드웨어 모듈이 통신 가능하게 연결되어 있는 메모리 디바이스에 저장할 수 있다. 그러면 다른 하드웨어 모듈이 나중에 메모리 디바이스에 액세스하여 저장된 출력을 검색하여 처리할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와 통신을 개시할 수 있고, 자원(예를 들면, 정보의 집합)에 대해 동작할 수 있다.
본 명세서에서 기술된 예시적인 방법의 다양한 동작은 관련 동작을 수행하도록 (예를 들면, 소프트웨어에 의해) 일시적으로 구성되거나 영구적으로 구성된 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 구성되든 영구적으로 구성되든, 그러한 프로세서는 본 명세서에서 기술된 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현된 모듈을 구성할 수 있다. 본 명세서에서 사용된 바와 같은 "프로세서 구현된 모듈"은 하나 이상의 프로세서를 이용하여 구현된 하드웨어 모듈을 말한다.
유사하게, 본 명세서에서 기술된 방법은 적어도 부분적으로 프로세서에 의해 구현될 수 있으며, 프로세서는 하드웨어의 일 예이다. 예를 들어, 방법의 동작 중 적어도 일부 동작은 하나 이상의 프로세서 또는 프로세서 구현된 모듈에 의해 수행될 수 있다. 본 명세서에서 사용된 바와 같은 "프로세서 구현된 모듈"은 하드웨어가 하나 이상의 프로세서를 포함하는 하드웨어 모듈을 말한다. 더욱이, 하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경에서 또는 "서비스형 소프트웨어(Saas)"로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들어, 동작 중 적어도 일부 동작은 (프로세서를 포함하는 머신의 예처럼) 컴퓨터 그룹에 의해 수행될 수 있으며, 이러한 동작은 네트워크(예를 들면, 인터넷)를 통해 그리고 하나 이상의 적절한 인터페이스(예를 들면, 애플리케이션 프로그램 인터페이스(API)를 통해 액세스 가능하다.
단일의 머신 내에 상주할 뿐만 아니라, 복수의 머신에 걸쳐 배치되어 있는 하나 이상의 프로세서 사이에 분산되어 수행될 수 있다. 일부의 예시적인 실시예에서, 하나 이상의 프로세서 또는 프로세서 구현된 모듈은 (예를 들면, 가정 환경, 사무실 환경, 또는 서버 팜 내) 단일의 지리학적 장소에 배치되어 있을 수 있다. 다른 예시적인 실시예에서, 하나 이상의 프로세서 또는 프로세서 구현된 모듈은 여러 지리학적 장소에 걸쳐 분산되어 있을 수 있다.
본 명세서에서 기술된 주제의 몇몇 부분은 머신 메모리(예를 들면, 컴퓨터 메모리) 내에 비트 또는 이진 디지털 신호로서 저장된 데이터에 관한 동작의 알고리즘적 또는 상직적 표현의 관점에서 제시될 수 있다. 그러한 알고리즘적 또는 상징적 표현은 데이터 처리 기술에서 통상의 지식을 가진 자가 자신의 작업의 요지를 다른 본 기술에서 통상의 지식을 가진 자에게 전달하는데 사용되는 기술의 예이다. 본 명세서에서 사용된 바와 같은 "알고리즘"은 원하는 결과에 이르게 하는 일관성 있는 동작 시퀀스 또는 유사한 처리이다. 이러한 맥락에서, 알고리즘 및 동작에는 물리 량의 물리적인 조작이 연루된다. 전형적으로, 그렇다고 반드시 그렇지는 않지만, 그러한 양은 머신에 의해 저장되거나, 액세스되거나, 전달되거나, 조합되거나, 비교되거나, 그렇지 않으면 조작될 수 있는 전기, 자기, 또는 광 신호의 형태를 가질 수 있다. 때로는 대개 공통적으로 사용한다는 이유 때문에, 이와 같은 신호를 "데이터", "콘텐츠", "비트", "값", "요소", "기호", "문자", "조건", "번호", 또는 "숫자" 등과 같은 단어를 사용하여 언급하는 것이 편리하다. 그러나 이러한 단어는 그저 편리한 표시일 뿐이며 적절한 물리량과 연관될 것이다.
달리 특별하게 언급하지 않는 한, 본 명세서에서 "프로세싱", "컴퓨팅", "계산하기", "결정하기", "제시하기", 또는 "디스플레이하기" 등과 같은 단어를 사용하여 논하는 것은 정보를 수신하거나, 저장하거나, 전송하거나, 또는 디스플레이하는 하나 이상의 메모리(예를 들면, 휘발성 메모리, 비휘발성 메모리, 또는 이들의 임의의 조합), 레지스터, 또는 다른 머신 컴포넌트 내 물리(예를 들면, 전자, 자기 또는 광) 량으로 표현된 데이터를 조작 또는 변환하는 머신(예를 들면, 컴퓨터)의 작동 또는 프로세스를 말할 수 있다. 그뿐만 아니라, 달리 특별하게 언급하지 않는 한, "하나" 또는 "하나의"라는 용어는 특허 문헌에서 흔히 그러하듯이, 본 명세서에서 하나 또는 하나보다 많은 인스턴스를 포함하는 것으로 사용된다. 마지막으로, 본 명세서에서 사용된 바와 같은 "또는"이라는 접속사는 달리 특별하게 언급하지 않는 한, 비배타적인 "또는"을 말한다.
[산업상 이용 가능성]
본 명세서에서 개시된 발명은 깊이 감지 기술, 이미지 분석, 데이터 프로세싱, 및 인간-머신 상호작용과 같은 광범위한 산업상 응용을 갖는다.

Claims (20)

  1. 시스템으로서,
    하나 이상의 하드웨어 프로세서와,
    명령어를 저장하는 머신 판독 가능한 비일시적 저장 매체로서,
    상기 명령어는 상기 하나 이상의 하드웨어 프로세서에 의해 실행될 때, 상기 하나 이상의 하드웨어 프로세서로 하여금,
    사용자의 이미지 및 상기 사용자의 신체의 자세를 3차원 공간으로 표시하는공간 데이터 세트를 수신하는 것 - 상기 수신된 이미지 및 상기 수신된 공간 데이터 세트는 한 시점에서(at a point in time) 획득됨 - 과,
    상기 3차원 공간에서 상기 사용자의 신체의 자세를 나타내는 상기 공간 데이터 세트에 기초하여 생성된 골격 어레이(skeleton array) 내의 상기 사용자의 뼈 관절의 하나 이상의 식별자에 기초하여, 상기 사용자의 신체의 특정 신체 부위에 대응하는 상기 수신된 이미지 내의 위치를 식별하는 것과,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트의 분석을 수행하는 것 - 상기 분석을 수행하는 것은 상기 수신된 이미지로부터 이미지 조각(an image swatch)을 추출하는 것을 포함하며, 상기 이미지 조각은 상기 시점에서 상기 사용자에 의해 착용된 아이템의 일부분을 묘사하고, 상기 이미지 조각은 상기 수신된 이미지 내의 상기 식별된 위치로부터 추출되며, 상기 이미지 조각은 상기 사용자의 상기 특정 신체 부위 상에 입혀진 상기 아이템의 상기 일부분을 묘사함 - 과,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트의 분석에 기초하여 상기 사용자의 패션 선호도를 식별하는 것
    을 포함하는 동작을 수행하게 하는
    시스템.
  2. 제 1 항에 있어서,
    상기 동작은 상기 수신된 이미지 및 상기 수신된 공간 데이터 세트에 기초하여, 상기 시점에서 상기 사용자의 신체를 표현하는 모델을 생성하는 동작을 더 포함하는
    시스템.
  3. 제 2 항에 있어서,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트의 분석을 수행하는 것은,
    상기 시점에서 상기 사용자의 신체를 표현하는 상기 모델에서 묘사된 상기 사용자의 포즈를 분석하는 것과,
    상기 포즈의 분석에 기초하여, 개체에 의해 가려지지 않은(unobstructed) 상기 사용자의 특정 신체 부위를 표현하는 상기 모델의 영역을 식별하는 것과,
    상기 사용자의 상기 특정 신체 부위를 표현하는 상기 모델의 상기 영역 및 개체에 의해 가려지지 않은 하나 이상의 다른 모델의 동일 영역에 기초하여, 상기 모델을 다른 시간에 상기 사용자의 신체를 표현하는 하나 이상의 다른 모델과 함께 클러스터화하는 것 - 상기 하나 이상의 다른 모델은 상기 사용자의 신체를 표현함 - 을 포함하는
    시스템.
  4. 제 2 항에 있어서,
    상기 모델은 상기 사용자의 상기 뼈 관절의 상기 복수의 식별자를 포함하는
    시스템.
  5. 제 4 항에 있어서,
    상기 동작은
    상기 이미지 조각의 분석을 수행하는 것과,
    상기 이미지 조각의 분석에 기초하여, 상기 사용자에 의해 상기 특정 신체 부위에 착용된 아이템을 특징짓는 하나 이상의 속성-값 쌍을 결정하는 것을 더 포함하는
    시스템.
  6. 제 5 항에 있어서,
    상기 이미지 조각의 분석을 수행하는 것은,
    상기 이미지 조각으로부터 하나 이상의 시각적 특징(visual features)을 추출하는 것을 포함하며,
    상기 하나 이상의 속성-값 쌍을 결정하는 것은 상기 이미지 조각으로부터 추출된 상기 하나 이상의 시각적 특징에 기초하는
    시스템.
  7. 제 5 항에 있어서,
    상기 동작은 또한,
    일정 기간 동안 상기 사용자에 의해 착용된 하나 이상의 아이템을 특징짓는 복수의 속성-값 쌍에 액세스하는 것과,
    상기 기간 동안 수신된 복수의 수신 이미지에 액세스하는 것과,
    상기 기간 동안 상기 복수의 속성-값 쌍 중 특정 속성-값 쌍에 의하여 특징지어진 아이템을 상기 사용자가 착용하는 빈도를 결정하는 것을 더 포함하며,
    상기 사용자의 상기 패션 선호도를 식별하는 것은 상기 기간 동안 상기 복수의 속성-값 쌍 중 특정 속성-값 쌍에 의하여 특징지어진 아이템을 상기 사용자가 착용하는 상기 빈도 기초하는
    시스템.
  8. 제 1 항에 있어서,
    상기 동작은
    패션 아이템의 인벤토리의 검색에 기초하여 상기 패션 아이템의 인벤토리 내에서 상기 사용자의 상기 패션 선호도에 대응하는 아이템을 식별하는 것을 더 포함하는
    시스템.
  9. 제 8 항에 있어서
    상기 사용자의 상기 패션 선호도에 대응하는 아이템을 식별하는 것은
    상기 이미지 조각에 기초하여 상기 패션 아이템의 인벤토리의 검색을 수행하는 것을 포함하며, 상기 검색을 수행하는 것은 상기 인벤토리 내에서 패션 아이템을 묘사하는 하나 이상의 이미지와 상기 이미지 조각을 특정 검색 규칙에 따라 비교하는 것을 포함하는
    시스템.
  10. 제 8 항에 있어서
    상기 사용자의 상기 패션 선호도에 대응하는 아이템을 식별하는 것은
    상기 사용자에 의해 상기 사용자의 특정 신체 부위에 착용된 아이템을 특징짓는 하나 이상의 속성-값 쌍에 기초하여 상기 패션 아이템의 인벤토리의 검색을 수행하는 것을 포함하며, 상기 하나 이상의 속성-값 쌍은 상기 이미지 조각으로부터 추출된 하나 이상의 시각적 특징에 기초하여 결정되는
    시스템.
  11. 제 8 항에 있어서,
    상기 사용자의 상기 패션 선호도에 대응하는 아이템을 식별하는 것은,
    상기 패션 인벤토리의 유사도 검색을 수행하는 것을 포함하는
    시스템.
  12. 제 8 항에 있어서,
    상기 사용자의 상기 패션 선호도에 대응하는 아이템을 식별하는 것은,
    상기 이미지 조각으로부터 추출한 하나 이상의 시각적 특징에 기초하여 상기 패션 인벤토리의 조화 검색(co-ordination search)를 수행하는 것을 포함하는
    시스템.
  13. 제 8 항에 있어서,
    상기 동작은 상기 패션 인벤토리의 검색 동안 식별된 상기 패션 아이템의 추천을 생성하는 것을 더 포함하는
    시스템.
  14. 사용자의 이미지 및 상기 사용자의 신체의 자세를 3차원 공간으로 표시하는공간 데이터 세트를 수신하는 단계 - 상기 수신된 이미지 및 상기 수신된 공간 데이터 세트는 한 시점에서(at a point in time) 획득됨 - 와,
    상기 3차원 공간에서 상기 사용자의 신체의 자세를 나타내는 상기 공간 데이터 세트에 기초하여 생성된 골격 어레이(skeleton array) 내의 상기 사용자의 뼈 관절의 하나 이상의 식별자에 기초하여, 상기 사용자의 신체의 특정 신체 부위에 대응하는 상기 수신된 이미지 내의 위치를 식별하는 단계와,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트의 분석을 수행하는 단계 - 상기 분석을 수행하는 것은 상기 수신된 이미지로부터 이미지 조각(an image swatch)을 추출하는 것을 포함하며, 상기 이미지 조각은 상기 시점에서 상기 사용자에 의해 착용된 아이템의 일부분을 묘사하고, 상기 이미지 조각은 상기 수신된 이미지 내의 상기 식별된 위치로부터 추출되며, 상기 이미지 조각은 상기 사용자의 상기 특정 신체 부위 상에 입혀진 상기 아이템의 상기 일부분을 묘사함 - 와,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트의 분석에 기초하여 상기 사용자의 패션 선호도를 식별하는 단계를 포함하는
    방법.
  15. 제 14 항에 있어서,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트에 기초하여, 상기 시점에서 상기 사용자의 신체를 표현하는 모델을 생성하는 단계를 더 포함하는
    방법.
  16. 제 15 항에 있어서,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트의 분석을 수행하는 단계는,
    상기 시점에서 상기 사용자의 신체를 표현하는 상기 모델에서 묘사된 상기 사용자의 포즈를 분석하는 단계와,
    상기 포즈의 분석에 기초하여, 개체에 의해 가려지지 않은 상기 사용자의 특정 신체 부위를 표현하는 상기 모델의 영역을 식별하는 단계와,
    상기 사용자의 상기 특정 신체 부위를 표현하는 상기 모델의 상기 영역 및 개체에 의해 가려지지 않은 하나 이상의 다른 모델의 동일 영역에 기초하여, 상기 모델을 다른 시간에 상기 사용자의 신체를 표현하는 상기 하나 이상의 다른 모델과 함께 클러스터화하는 단계 - 상기 하나 이상의 다른 모델은 상기 사용자의 신체를 표현함 - 을 포함하는
    방법.
  17. 제 15 항에 있어서,
    상기 모델은 상기 사용자의 뼈 관절의 복수의 식별자를 포함하는
    방법.
  18. 제 17 항에 있어서,
    상기 이미지 조각의 분석을 수행하는 단계와,
    상기 이미지 조각의 분석에 기초하여, 상기 사용자에 의해 상기 특정 신체 부위에 착용된 아이템을 특징짓는 하나 이상의 속성-값 쌍을 결정하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  19. 제 18 항에 있어서,
    상기 이미지 조각의 분석을 수행하는 단계는,
    상기 이미지 조각으로부터 시각적 특징(visual features)을 추출하는 단계를 포함하며,
    상기 하나 이상의 속성-값 쌍을 결정하는 단계는 상기 이미지 조각으로부터 추출된 상기 시각적 특징에 기초하는
    컴퓨터로 구현된 방법.
  20. 명령어를 포함하는 머신 판독 가능한 비일시적 저장 매체로서,
    상기 명령어는 머신의 하나 이상의 프로세서에 의해 실행될 때, 상기 머신으로 하여금,
    사용자의 이미지 및 상기 사용자의 신체의 자세를 3차원 공간으로 표시하는공간 데이터 세트를 수신하는 것 - 상기 수신된 이미지 및 상기 수신된 공간 데이터 세트는 한 시점에서(at a point in time) 획득됨 - 과,
    상기 3차원 공간에서 상기 사용자의 신체의 자세를 나타내는 상기 공간 데이터 세트에 기초하여 생성된 골격 어레이(skeleton array) 내의 상기 사용자의 뼈 관절의 하나 이상의 식별자에 기초하여, 상기 사용자의 신체의 특정 신체 부위에 대응하는 상기 수신된 이미지 내의 위치를 식별하는 것과,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트의 분석을 수행하는 것 - 상기 분석을 수행하는 것은 상기 수신된 이미지로부터 이미지 조각(an image swatch)을 추출하는 것을 포함하며, 상기 이미지 조각은 상기 시점에서 상기 사용자에 의해 착용된 아이템의 일부분을 묘사하고, 상기 이미지 조각은 상기 수신된 이미지 내의 상기 식별된 위치로부터 추출되며, 상기 이미지 조각은 상기 사용자의 상기 특정 신체 부위 상에 입혀진 상기 아이템의 상기 일부분을 묘사함 - 과,
    상기 수신된 이미지 및 상기 수신된 공간 데이터 세트의 분석에 기초하여 상기 사용자의 패션 선호도를 식별하는 것
    을 포함하는 동작을 수행하게 하는
    머신 판독 가능한 비일시적 저장 매체.
KR1020187037225A 2014-04-17 2015-04-17 패션 선호도 분석 기법 KR102189394B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020207034889A KR102425462B1 (ko) 2014-04-17 2015-04-17 패션 선호도 분석 기법

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461981011P 2014-04-17 2014-04-17
US61/981,011 2014-04-17
US14/326,125 2014-07-08
US14/326,125 US10013710B2 (en) 2014-04-17 2014-07-08 Fashion preference analysis
PCT/US2015/026361 WO2015161191A1 (en) 2014-04-17 2015-04-17 Fashion preference analysis

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167032017A Division KR20160145732A (ko) 2014-04-17 2015-04-17 패션 선호도 분석 기법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207034889A Division KR102425462B1 (ko) 2014-04-17 2015-04-17 패션 선호도 분석 기법

Publications (2)

Publication Number Publication Date
KR20190000397A true KR20190000397A (ko) 2019-01-02
KR102189394B1 KR102189394B1 (ko) 2020-12-18

Family

ID=54322403

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020187037225A KR102189394B1 (ko) 2014-04-17 2015-04-17 패션 선호도 분석 기법
KR1020207034889A KR102425462B1 (ko) 2014-04-17 2015-04-17 패션 선호도 분석 기법
KR1020167032017A KR20160145732A (ko) 2014-04-17 2015-04-17 패션 선호도 분석 기법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020207034889A KR102425462B1 (ko) 2014-04-17 2015-04-17 패션 선호도 분석 기법
KR1020167032017A KR20160145732A (ko) 2014-04-17 2015-04-17 패션 선호도 분석 기법

Country Status (5)

Country Link
US (3) US10013710B2 (ko)
EP (1) EP3132421A4 (ko)
KR (3) KR102189394B1 (ko)
CN (2) CN110826528B (ko)
WO (1) WO2015161191A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220018816A (ko) * 2020-08-07 2022-02-15 주식회사 비크코퍼레이션 빅데이터 기반의 소비자 참여형 온라인 쇼핑 서비스 제공 방법 및 장치
KR20220041319A (ko) * 2020-09-25 2022-04-01 엔에이치엔 주식회사 딥러닝 기반 상품검색 방법 및 시스템

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10332176B2 (en) * 2014-08-28 2019-06-25 Ebay Inc. Methods and systems for virtual fitting rooms or hybrid stores
US9460342B1 (en) * 2013-08-05 2016-10-04 Google Inc. Determining body measurements
US10013710B2 (en) 2014-04-17 2018-07-03 Ebay Inc. Fashion preference analysis
US10529009B2 (en) 2014-06-25 2020-01-07 Ebay Inc. Digital avatars in online marketplaces
US10653962B2 (en) 2014-08-01 2020-05-19 Ebay Inc. Generating and utilizing digital avatar data for online marketplaces
WO2016042039A1 (en) * 2014-09-16 2016-03-24 Foundation For Research And Technology - Hellas (Forth) Gesture recognition apparatuses, methods and systems for human-machine interaction
US10726464B2 (en) * 2014-12-18 2020-07-28 Ebay Inc. Expressions of user interest
EP3284019A4 (en) * 2015-04-16 2018-12-05 Robert Bosch GmbH System and method for automated sign language recognition
US10339593B2 (en) * 2015-07-07 2019-07-02 Lutzy Inc. System and network for outfit planning and wardrobe management
US9836867B2 (en) * 2015-11-06 2017-12-05 International Business Machines Corporation Photograph augmentation with garment overlay
US9460557B1 (en) 2016-03-07 2016-10-04 Bao Tran Systems and methods for footwear fitting
US9996981B1 (en) 2016-03-07 2018-06-12 Bao Tran Augmented reality system
KR102380569B1 (ko) * 2016-03-08 2022-03-30 더 라이크라 컴퍼니 유케이 리미티드 의복 사이즈 선택을 개선하기 위한 방법 및 시스템
US9919217B2 (en) 2016-03-08 2018-03-20 Electronic Arts Inc. Dynamic difficulty adjustment
US10262440B2 (en) * 2016-03-25 2019-04-16 Ebay Inc. Publication modification using body coordinates
KR20180026155A (ko) * 2016-09-02 2018-03-12 에스케이플래닛 주식회사 사용자 이미지를 이용한 대여 아이템 선호도 자동 분석 장치 및 이를 이용한 방법
US10384133B1 (en) 2016-12-30 2019-08-20 Electronic Arts Inc. Systems and methods for automatically measuring a video game difficulty
WO2018129201A1 (en) 2017-01-04 2018-07-12 Aquifi, Inc. Systems and methods for shape-based object retrieval
JP2018120527A (ja) * 2017-01-27 2018-08-02 株式会社リコー 画像処理装置、画像処理方法及び画像処理システム
US10357718B2 (en) 2017-02-28 2019-07-23 Electronic Arts Inc. Realtime dynamic modification and optimization of gameplay parameters within a video game application
US10052026B1 (en) 2017-03-06 2018-08-21 Bao Tran Smart mirror
JP6922400B2 (ja) * 2017-05-15 2021-08-18 富士通株式会社 ファッション分析プログラム、ファッション分析装置及びファッション分析方法
CN108230082A (zh) 2017-06-16 2018-06-29 深圳市商汤科技有限公司 搭配服饰的推荐方法和装置、电子设备、存储介质
US10949667B2 (en) 2017-09-14 2021-03-16 Ebay Inc. Camera platform and object inventory control
US10592960B2 (en) * 2017-12-19 2020-03-17 Futurewei Technologies, Inc. Determining thermal insulation levels of clothing to wear at a destination
CN109993595A (zh) * 2017-12-29 2019-07-09 北京三星通信技术研究有限公司 个性化推荐商品及服务的方法、系统及设备
US11188965B2 (en) * 2017-12-29 2021-11-30 Samsung Electronics Co., Ltd. Method and apparatus for recommending customer item based on visual information
CN110110189A (zh) * 2018-02-01 2019-08-09 北京京东尚科信息技术有限公司 用于生成信息的方法和装置
US10713543B1 (en) 2018-06-13 2020-07-14 Electronic Arts Inc. Enhanced training of machine learning systems based on automatically generated realistic gameplay information
CN110706043A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 一种商品提供商、商品的推荐方法、装置及设备
CN110147854A (zh) * 2018-07-19 2019-08-20 深圳码隆科技有限公司 服装识别方法、计算机设备和存储介质
CN109672917B (zh) * 2018-08-10 2020-05-08 邹培利 视频文件读取分析方法
US11276216B2 (en) 2019-03-27 2022-03-15 Electronic Arts Inc. Virtual animal character generation from image or video data
US10953334B2 (en) 2019-03-27 2021-03-23 Electronic Arts Inc. Virtual character generation from image or video data
US10902510B2 (en) 2019-04-11 2021-01-26 Caastle, Inc. Systems and methods for analysis of wearable items of a clothing subscription platform
US10796276B1 (en) * 2019-04-11 2020-10-06 Caastle, Inc. Systems and methods for electronic platform for transactions of wearable items
US11151794B1 (en) 2019-06-28 2021-10-19 Snap Inc. Messaging system with augmented reality messages
US11626994B2 (en) * 2020-02-27 2023-04-11 Sneakertopia Inc. System and method for presenting content based on articles properly presented and verifiably owned by or in possession of user
US11721035B2 (en) * 2020-06-16 2023-08-08 Tailoru Llc System and method of use of augmented reality in measuring body circumference for the use of apparel production
US11531697B2 (en) * 2020-11-03 2022-12-20 Adobe Inc. Identifying and providing digital images depicting human poses utilizing visual interactive content search and virtual mannequins
US11854069B2 (en) * 2021-07-16 2023-12-26 Snap Inc. Personalized try-on ads

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070057674A (ko) * 2005-12-01 2007-06-07 인터내셔널 비지네스 머신즈 코포레이션 선택된 상품을 갖는 소비자 모습 렌더링
KR20120085707A (ko) * 2009-06-03 2012-08-01 라이크닷컴 사용자 장르 및 스타일을 학습하고 사용자 선호도에 따라 상품을 매칭하는 방법 및 시스템
KR20130038547A (ko) * 2011-10-10 2013-04-18 건국대학교 산학협력단 관심영역 설정을 이용한 이미지 이중 검색 시스템
KR20140028064A (ko) * 2011-06-06 2014-03-07 마이크로소프트 코포레이션 펼친 손 또는 오므린 손의 인식 시스템

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010090191A (ko) 2000-03-23 2001-10-18 이건우 인터넷을 이용한 주문형 신발 제작 시스템 및 방법
US8660902B2 (en) * 2004-07-23 2014-02-25 Lori Coulter, Llc Methods and systems for selling apparel
FI20045300A (fi) * 2004-08-17 2006-02-18 Nokia Corp Elektroninen laite ja menetelmä elektronisen laitteen toimintojen ohjaamiseksi sekä ohjelmatuote menetelmän toteuttamiseksi
US8139067B2 (en) * 2006-07-25 2012-03-20 The Board Of Trustees Of The Leland Stanford Junior University Shape completion, animation and marker-less motion capture of people, animals or characters
US8068676B2 (en) * 2007-11-07 2011-11-29 Palo Alto Research Center Incorporated Intelligent fashion exploration based on clothes recognition
BRPI0917864A2 (pt) 2008-08-15 2015-11-24 Univ Brown aparelho e método para estimativa da forma corporal
US20100313141A1 (en) 2009-06-03 2010-12-09 Tianli Yu System and Method for Learning User Genres and Styles and for Matching Products to User Preferences
KR101616926B1 (ko) 2009-09-22 2016-05-02 삼성전자주식회사 영상 처리 장치 및 방법
US8908928B1 (en) * 2010-05-31 2014-12-09 Andrew S. Hansen Body modeling and garment fitting using an electronic device
EP2692126A4 (en) * 2011-03-31 2015-04-29 Facecake Marketing Technologies Inc SYSTEM AND METHOD FOR TARGET MARKETING
US20130085893A1 (en) 2011-09-30 2013-04-04 Ebay Inc. Acquisition and use of query images with image feature data
CN104156870A (zh) * 2011-12-07 2014-11-19 株式会社尼康 移动终端的控制方法及移动终端
US9213420B2 (en) * 2012-03-20 2015-12-15 A9.Com, Inc. Structured lighting based content interactions
KR20130107506A (ko) 2012-03-22 2013-10-02 삼성전기주식회사 유체동압베어링 모듈 및 이를 포함하는 스핀들 모터
CN103578008B (zh) * 2012-07-20 2020-08-25 阿里巴巴集团控股有限公司 一种推荐服装产品的方法以及装置
WO2014037939A1 (en) 2012-09-05 2014-03-13 Body Pass Ltd. System and method for deriving accurate body size measures from a sequence of 2d images
CN102968555A (zh) * 2012-11-01 2013-03-13 江苏物联网研究发展中心 基于电子商务的懒人搭配穿衣建议系统
US9275308B2 (en) * 2013-05-31 2016-03-01 Google Inc. Object detection using deep neural networks
CN103440587A (zh) * 2013-08-27 2013-12-11 刘丽君 基于网络购物的个人形象设计与产品推荐的方法
US10013710B2 (en) 2014-04-17 2018-07-03 Ebay Inc. Fashion preference analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070057674A (ko) * 2005-12-01 2007-06-07 인터내셔널 비지네스 머신즈 코포레이션 선택된 상품을 갖는 소비자 모습 렌더링
KR20120085707A (ko) * 2009-06-03 2012-08-01 라이크닷컴 사용자 장르 및 스타일을 학습하고 사용자 선호도에 따라 상품을 매칭하는 방법 및 시스템
KR20140028064A (ko) * 2011-06-06 2014-03-07 마이크로소프트 코포레이션 펼친 손 또는 오므린 손의 인식 시스템
KR20130038547A (ko) * 2011-10-10 2013-04-18 건국대학교 산학협력단 관심영역 설정을 이용한 이미지 이중 검색 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220018816A (ko) * 2020-08-07 2022-02-15 주식회사 비크코퍼레이션 빅데이터 기반의 소비자 참여형 온라인 쇼핑 서비스 제공 방법 및 장치
KR20220039683A (ko) * 2020-08-07 2022-03-29 주식회사 비크코퍼레이션 소비자 참여형 구매요청 서비스 제공 방법
KR20220041319A (ko) * 2020-09-25 2022-04-01 엔에이치엔 주식회사 딥러닝 기반 상품검색 방법 및 시스템

Also Published As

Publication number Publication date
CN110826528B (zh) 2023-12-22
EP3132421A1 (en) 2017-02-22
CN106462979A (zh) 2017-02-22
US20150302505A1 (en) 2015-10-22
US20180365750A1 (en) 2018-12-20
KR20200139275A (ko) 2020-12-11
EP3132421A4 (en) 2017-08-23
CN110826528A (zh) 2020-02-21
US10013710B2 (en) 2018-07-03
US20210166290A1 (en) 2021-06-03
WO2015161191A1 (en) 2015-10-22
CN106462979B (zh) 2019-12-13
US11599929B2 (en) 2023-03-07
US10878481B2 (en) 2020-12-29
KR102425462B1 (ko) 2022-07-27
KR102189394B1 (ko) 2020-12-18
KR20160145732A (ko) 2016-12-20

Similar Documents

Publication Publication Date Title
KR102189394B1 (ko) 패션 선호도 분석 기법
US11301912B2 (en) Methods and systems for virtual fitting rooms or hybrid stores
US11273378B2 (en) Generating and utilizing digital avatar data for online marketplaces
US11593871B1 (en) Virtually modeling clothing based on 3D models of customers
US11017462B2 (en) Providing a virtual shopping environment for an item
US20200143456A1 (en) Digital avatars in online marketplaces
US20180137515A1 (en) Virtual dressing room
US11315324B2 (en) Virtual try-on system for clothing
KR101713502B1 (ko) 이미지 특징 데이터 추출 및 사용
US10475099B1 (en) Displaying relevant content

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2019101003867; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20191125

Effective date: 20200821

GRNO Decision to grant (after opposition)
A107 Divisional application of patent
GRNT Written decision to grant