KR102301663B1 - 시각 검색 쿼리를 사용하여 물리적 객체를 식별하는 기법 - Google Patents

시각 검색 쿼리를 사용하여 물리적 객체를 식별하는 기법 Download PDF

Info

Publication number
KR102301663B1
KR102301663B1 KR1020190176449A KR20190176449A KR102301663B1 KR 102301663 B1 KR102301663 B1 KR 102301663B1 KR 1020190176449 A KR1020190176449 A KR 1020190176449A KR 20190176449 A KR20190176449 A KR 20190176449A KR 102301663 B1 KR102301663 B1 KR 102301663B1
Authority
KR
South Korea
Prior art keywords
physical object
component
physical
image
type
Prior art date
Application number
KR1020190176449A
Other languages
English (en)
Other versions
KR20200115044A (ko
Inventor
지원 홍
석재 조
Original Assignee
예스플리즈 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 예스플리즈 인코포레이티드 filed Critical 예스플리즈 인코포레이티드
Publication of KR20200115044A publication Critical patent/KR20200115044A/ko
Application granted granted Critical
Publication of KR102301663B1 publication Critical patent/KR102301663B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/434Query formulation using image data, e.g. images, photos, pictures taken by a user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/483Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

온라인 시스템은 시각 검색 쿼리를 사용하여 시각 검색 쿼리에 지정된 구성요소 유형과 매칭되는 복수의 제3자 시스템으로부터 수신된 물리적 객체를 식별한다. 온라인 시스템은 복수의 제3자 시스템으로부터 물리적 객체 정보를 수신하고 물리적 객체 정보에 기초하여 수신된 물리적 객체와 연관된 구성요소 유형을 결정한다. 신경망에 기초하여, 온라인 시스템은 수신된 물리적 객체의 각각의 구성요소에 대한 구성요소 유형에 대응하는 인덱스를 결정한다. 구성요소 유형을 지정하는 시각 검색 쿼리를 수신한 후, 온라인 시스템은 클라이언트 디바이스에 디스플레이하기 위한 시각 검색 쿼리에 매칭되는 물리적 객체를 식별한다.

Description

시각 검색 쿼리를 사용하여 물리적 객체를 식별하는 기법{IDENTIFYING PHYSICAL OBJECTS USING VISUAL SEARCH QUERY}
관련 출원에 대한 상호 참조
본 출원은 2018년 4월 17일자로 출원된 미국 가출원 제62/658,598호의 이익을 주장하며, 그 전체내용은 참조로서 포함된다.
본 발명은 일반적으로 객체의 표현을 검색하는 방법에 관한 것으로, 특히 시각 검색 쿼리에 기초하여 물리적 객체의 표현을 검색하는 방법에 관한 것이다.
온라인 시스템은 종종 정보를 저장하고 사용자가 그 정보를 검색하는 것을 허용하는 검색 엔진을 제공한다. 저장된 정보의 예는 물리적 객체의 표현, 이미지, 문서 등을 포함한다. 온라인 시스템은 종종 복수의 제3자 시스템으로부터 저장된 정보를 수집한다. 검색 엔진은 전형적으로 저장된 정보를 효율적으로 검색하기 위해 하나 이상의 인덱스를 사용한다.
검색 엔진은 또한 사용자가 검색 쿼리를 제공하게 하는 인터페이스, 예를 들어, 사용자가 관심 있는 객체를 설명하는 키워드를 포함하는 검색 쿼리를 입력하여 검색 엔진이 검색 쿼리와 관련이 있다고 판단하는 객체 세트를 포함하는 검색 결과를 수신하게 하는 인터페이스를 제공한다. 검색 결과의 관련성은 입력된 키워드와 온라인 시스템에 저장된 객체와 연관된 이미지, 비디오, 텍스트 설명 및 태그와 같은 정보 사이의 유사성에 기초하여 결정될 수 있다. 수신된 키워드를 사용하여, 온라인 시스템은 데이터베이스에 저장된 객체와 연관된 정보를 필터링하여 키워드와 매칭되는 객체 세트를 선택한다. 그러나, 키워드 기반 검색은 사용자가 특정 유형의 외관을 갖는, 예컨대, 특정 형태의 객체 구성요소를 갖는 물리적 객체를 원할 경우 부족한 사용자 경험을 제공한다. 그러한 설명을 제공하는 것은 사용자에게 번거로운 일이다. 사용자가 그러한 설명을 제공하였더라도, 이들 키워드가 객체의 설명에서 발생하지 않을 수 있기 때문에 종래의 시스템은 그러한 쿼리에 기초하여 검색을 허용하는 인덱스를 저장하지 않는다.
실시예는 시각 검색 쿼리를 사용하여 물리적 객체의 유형의 사양을 수신하고 수신된 시각 쿼리와 매칭되는 물리적 객체를 식별하는 것에 관한 것이다. 온라인 시스템은 물리적 객체를 설명하는 정보, 예컨대, 제3자 시스템으로부터의 물리적 객체를 설명하는 이미지 및 텍스트 설명을 저장한다. 각각의 물리적 객체는 하나 이상의 구성요소를 포함하며, 각각의 구성요소는 구성요소 유형을 갖는다.
온라인 시스템은 물리적 객체의 이미지를 사용하여 시각 검색 쿼리를 작성한다. 온라인 시스템은 시각 검색 쿼리가 지정되는 물리적 객체의 카테고리를 나타내는 물리적 객체 유형의 사양을 수신한다. 물리적 객체 유형의 사양에 기초하여, 온라인 시스템은 그 물리적 객체 유형의 예시적인 물리적 객체의 디폴트 이미지를 디스플레이한다. 예를 들어, 온라인 시스템은 지정된 물리적 객체 유형의 물리적 객체의 각각의 구성요소의 디폴트 구성요소 유형에 대응하는 이미지를 결합함으로써 이미지를 생성한다. 온라인 시스템은 하나 이상의 구성요소에 대한 구성요소 유형의 사양을 사용자 인터페이스를 통해 반복적으로 수신한다. 예를 들어, 사용자 인터페이스는 사용자로 하여금 선택된 구성요소의 구성요소 유형을 수정하게 한다. 수신된 사양에 기초하여, 온라인 시스템은 선택된 구성요소의 구성요소 유형을 반영하도록 예시적인 물리적 객체의 이미지를 재구성한다. 온라인 시스템은 클라이언트 디바이스를 통해 디스플레이할 재구성된 이미지를 전송한다. 사용자가 특정 구성요소의 이미지를 반복적으로 수정함으로써 예시적인 물리적 객체의 이미지 수정을 완료하면, 재구성된 이미지는 시각 검색 쿼리를 나타낸다. 온라인 시스템은 시각 검색 쿼리를 수신하여 시각 검색 쿼리와 매칭되는 물리적 객체 세트를 식별함으로써 처리한다. 온라인 시스템은 식별된 물리적 객체 세트를 시각 검색 쿼리의 검색 결과로서 전송한다.
일 실시예에서, 온라인 시스템은 각각의 물리적 객체 유형에 대한 각각의 구성요소의 위치를 저장한다. 구성요소의 위치는 물리적 객체의 하나 이상의 다른 구성요소에 상대적이다. 온라인 시스템은 각각의 구성요소의 저장된 위치에 따라 물리적 객체의 구성요소의 이미지를 사용자 인터페이스에 배치함으로써 물리적 객체의 이미지를 구성한다.
일 실시예에서, 온라인 시스템은 제3자 시스템으로부터 수신된 정보에 기초하여 물리적 객체의 각각의 구성요소에 대한 구성요소 유형을 결정한다. 온라인 시스템은 각각의 구성요소에 대한 구성요소 유형을 대응하는 물리적 객체에 매핑하는 인덱스를 저장한다. 온라인 시스템은 인덱스를 사용하여 시각 검색 쿼리와 매칭되는 물리적 객체를 식별한다.
일 실시예에서, 온라인 시스템은 복수의 신경망 기반 모델을 사용하여 인덱스를 생성한다. 각각의 신경망 기반 모델은 물리적 객체를 설명하는 입력을 수신하고 입력된 물리적 객체의 구성요소의 구성요소 유형을 예측하도록 구성된다. 물리적 객체를 설명하는 입력은 물리적 객체의 텍스트 설명, 물리적 객체의 이미지, 또는 객체를 설명하는 메타데이터 중 하나 이상을 포함할 수 있다.
도 1은 일 실시예에 따른 온라인 시스템이 동작하는 시스템 환경의 블록도이다.
도 2는 일 실시예에 따른 예시적인 시각 검색 쿼리를 도시하는 개념도이다.
도 3은 일 실시예에 따른 온라인 시스템의 블록도이다.
도 4는 일 실시예에 따라 물리적 객체를 검색하는 프로세스를 도시하는 흐름도이다.
도 5는 일 실시예에 따라 물리적 객체에 대한 인덱스 시스템을 생성하는 프로세스를 도시하는 흐름도이다.
도 6은 일 실시예에 따라 시각 검색 쿼리를 작성하는 프로세스를 도시하는 흐름도이다.
도 7(a) 내지 도 7(d)는 일 실시예에 따른 예시적인 시각 검색 쿼리이다.
도 8은 머신 판독가능 매체로부터 명령어를 판독하고 프로세서 또는 제어기에서 명령어를 실행할 수 있는 컴퓨팅 머신의 실시예를 도시한다.
도면은 예시의 목적으로만 다양한 실시예를 도시한다. 당업자는 다음 논의로부터 본 명세서에 설명된 구조 및 방법의 대안 실시예가 본 명세서에 설명된 원리를 벗어나지 않고 이용될 수 있음을 쉽게 인식할 것이다.
시스템 환경
도 1은 온라인 시스템(140)을 위한 시스템 환경(100)의 블록도이다. 도 1은 하나 이상의 클라이언트 디바이스(110), 네트워크(120), 하나 이상의 제3자 시스템(130) 및 온라인 시스템(140)을 포함한다. 다른 구성에서, 상이한 및/또는 추가 구성요소가 시스템 환경(100)에 포함될 수 있다. 클라이언트 디바이스(110), 제3자 시스템(130) 및 온라인 시스템(140)은 네트워크(120)를 통해 서로 통신한다.
클라이언트 디바이스(110)는 네트워크(120)를 통해 데이터를 송신 및/또는 수신할뿐만 아니라 사용자 입력을 수신할 수도 있는 하나 이상의 컴퓨팅 디바이스이다. 일 실시예에서, 클라이언트 디바이스(110)는 데스크탑 또는 랩탑 컴퓨터와 같은 종래의 컴퓨터 시스템이다. 이와 달리, 클라이언트 디바이스(110)는 개인 휴대 정보 단말기(PDA), 휴대폰, 스마트폰 또는 다른 적합한 디바이스와 같은 컴퓨터 기능을 갖는 디바이스일 수 있다. 클라이언트 디바이스(110)는 네트워크(120)를 통해 제3자 시스템(130) 및 온라인 시스템(140)과 통신하도록 구성된다. 일 실시예에서, 클라이언트 디바이스(110)는 클라이언트 디바이스(110)의 사용자가 온라인 시스템(140)과 상호작용하게 하는 애플리케이션을 실행한다. 예를 들어, 클라이언트 디바이스(110)는 네트워크(120)를 통해 클라이언트 디바이스(110)와 온라인 시스템(140) 사이의 상호작용을 가능하게 하기 위해 브라우저 애플리케이션을 실행한다. 다른 실시예에서, 클라이언트 디바이스(110)는 IOS® 또는 ANDROID™와 같은 클라이언트 디바이스(110)의 기본 운영 체제에서 실행되는 애플리케이션 프로그래밍 인터페이스(API)를 통해 온라인 시스템(140)과 상호작용한다.
클라이언트 디바이스(110)는 유선 및/또는 무선 통신 시스템 모두를 사용하여, 근거리 및/또는 광역 네트워크의 임의의 조합을 포함할 수 있는 네트워크(120)를 통해 통신하도록 구성된다. 일 실시예에서, 네트워크(120)는 표준 통신 기술 및/또는 프로토콜을 사용한다. 예를 들어, 네트워크(120)는 이더넷, 802.11, WiMAX(worldwide interoperability for microwave access), 3G, 4G, 5G, CDMA(code division multiple access), DSL(digital subscriber line) 등과 같은 기술을 사용하는 통신 링크를 포함한다. 네트워크(120)를 통해 통신하는 데 사용되는 네트워킹 프로토콜의 예는 MPLS(multiprotocol label switching), TCP/IP(transmission control protocol/Internet protocol), HTTP(hypertext transport protocol), SMTP(simple mail transfer protocol) 및 FTP(file transfer protocol)를 포함한다. 네트워크(120)를 통해 교환된 데이터는 HTML(hypertext markup language) 또는 XML(extensible markup language)과 같은 임의의 적합한 포맷을 사용하여 표현될 수 있다. 일부 실시예에서, 네트워크(120)의 통신 링크의 전부 또는 일부는 임의의 적합한 기술 또는 기술들을 사용하여 암호화될 수 있다.
하나 이상의 제3자 시스템(130)은 온라인 시스템(140)과 통신하기 위해 네트워크(120)에 연결될 수 있다. 일 실시예에서, 제3자 시스템(130)은 클라이언트 디바이스에 의해 실행될 애플리케이션을 설명하는 정보를 통신하거나 클라이언트 디바이스에서 실행되는 애플리케이션에 의해 사용될 데이터를 클라이언트 디바이스(110)에 통신하는 애플리케이션 제공자이다. 다른 실시예에서, 제3자 시스템(130)은 클라이언트 디바이스(110)를 통해 제시하기 위한 콘텐츠 또는 다른 정보를 제공한다. 제3자 시스템(130)은 또한 제3자 시스템(130)에 의해 제공된 애플리케이션에 관한 광고, 콘텐츠 또는 정보와 같은 정보를 온라인 시스템(140)에 통신할 수 있다.
제3자 시스템(130)은 제3자와 연관된 온라인 시스템일 수 있고, 제3자와 연관된 복수의 물리적 객체(예를 들어, 제3자가 판매한 제품)를 설명하는 물리적 객체 정보를 관리할 수 있다. 일부 실시예에서, 제3자 시스템(130)은 물리적 객체를 위한 온라인 상점이며, 각각의 물리적 객체는 물리적 객체 유형(예를 들어, 셔츠와 같은 의류 유형, 의자와 같은 가구 유형)을 갖는다. 제3자 시스템(130)은 사용자로부터 하나 이상의 물리적 객체를 구매하라는 요청을 수신할 수 있고 요청을 수신하는 것에 응답하여 네트워크(120)를 통해 클라이언트 디바이스(110)에 하나 이상의 물리적 객체를 판매할 수 있다. 제3자와 연관된 각각의 물리적 객체에 대해, 제3자 시스템(130)은 물리적 객체를 설명하는 물리적 객체 정보를 저장할 수 있다. 물리적 객체 정보는 텍스트, 이미지, 오디오, 비디오, 또는 물리적 객체를 설명하는 사용자에게 제시된 임의의 다른 적합한 데이터 중 하나 이상을 포함할 수 있다. 보다 구체적으로, 각각의 물리적 객체에 대해, 물리적 객체 정보는 물리적 객체와 연관된 이미지, 물리적 객체의 속성을 설명하는 텍스트 데이터, 물리적 객체와 연관된 태그, 물리적 객체와 연관된 비용, 제3자 시스템(130)에 의해 수신된 물리적 객체의 리뷰, 물리적 객체와 연관된 랜딩 페이지, 및 물리적 객체가 속하는 제3자 시스템(130)을 적어도 식별하고 설명하는 메타데이터를 포함할 수 있다. 각각의 제3자 시스템(130)이 상이하기 때문에, 물리적 객체 정보의 콘텐츠는 제3자 시스템(130) 내에서 변할 수 있다. 또한, 제3자 시스템(130) 내의 데이터의 이용가능성에 기초하여, 하나의 제3자 시스템(130)으로부터의 상이한 물리적 객체와 연관된 물리적 객체 정보도 변할 수 있다.
시스템 환경(100) 내의 제3자 시스템(130) 각각은 네트워크(120)를 통해 클라이언트 디바이스(110)에 의해 액세스될 수 있는 검색 인터페이스를 제공하여 제3자의 물리적 객체 및 물리적 객체와 연관된 물리적 객체 정보를 브라우징할 수 있다. 그러나, 시스템 환경(100) 내에 상이한 물리적 객체를 설명하는 정보를 제공하는 다수의 제3자 시스템(130)이 있을 때, 물리적 객체의 검색시에 사용자가 제3자 시스템(130)의 검색 인터페이스에서 복수의 검색 쿼리를 만드는 것은 불편하고 시간 소모적이다. 또한, 상이한 제3자 시스템(130)의 상이한 검색 인터페이스를 통해 상이한 물리적 객체를 비교하는 것은 어렵다. 예를 들어, 각각의 제3자 시스템은 상이한 메타데이터 세트를 사용하여 물리적 객체를 나타낼 수 있다. 이는 사용자가 메타데이터 기반 쿼리를 사용하여 상이한 제3자 시스템을 검색하는 것을 어렵게 한다. 물리적 객체 검색을 집중시키기 위해, 하나 이상의 제3자 시스템(130)은 물리적 객체에 대한 검색 쿼리를 처리하고 상이한 제3자 시스템으로부터 수신된 물리적 객체 정보에 기초하여 검색 쿼리와 매칭되는 물리적 객체 세트를 제시하는 온라인 시스템(140)에 물리적 객체 정보를 전송한다. 온라인 시스템(140)은 사용자로 하여금 사용자가 검색에 관심이 있는 물리적 객체의 유형을 나타내는 검색 쿼리의 시각 표현을 작성하게 하는 그래픽 사용자 인터페이스를 사용하여 시각 검색 쿼리를 작성하게 한다. 시각 검색 쿼리는 사용자가 검색중인 물리적 객체의 유형을 시각적으로 표현하고 시각화할 수 있기 때문에 물리적 객체를 검색하기 위한 사용자 친화적인 검색 인터페이스를 제공한다. 대조적으로, 키워드 검색 기반 인터페이스는 사용자가 물리적 객체의 유형을 텍스트로 설명할 것을 요구하므로, 사용자에게 원하는 물리적 객체의 유형을 설명하기 위해 단어를 사용해야 하는 상당한 부담을 준다.
일부 실시예에서, 제3자 시스템(130)은 온라인 시스템(140)으로 이전에 전송되지 않았던 새로 추가된 물리적 객체에 대한 물리적 객체 정보를 전송한다. 하나 이상의 제3자 시스템(130)은 온라인 시스템(140)으로 이전에 전송된 물리적 객체를 업데이트하거나 추가할 수도 있다. 예를 들어, 물리적 객체와 연관된 속성이 변경되면, 제3자 시스템(130)은 온라인 시스템(140)에 이전에 전송된 속성 정보를 업데이트하여 제3자 시스템(130)과 온라인 시스템(140) 간에 일관된 정보를 갖도록 그 변경을 반영할 수 있다. 속성의 예는 물리적 객체의 비용, 물리적 속성의 크기 등을 포함한다. 제3자 시스템(130)은 새로운 정보가 제3자 시스템(130)으로부터 추가됨에 따라 온라인 시스템(140)으로 정보를 주기적으로 (예를 들어, 매일, 매주) 또는 증분적으로 전송할 수 있다.
온라인 시스템(140)은 하나 이상의 제3자 시스템(130)으로부터 물리적 객체 정보를 수신하고 클라이언트 디바이스(110)로부터 물리적 객체에 대한 검색 쿼리를 수신하는 것에 응답하여, 검색 쿼리와 매칭되는 물리적 객체를 디스플레이한다. 온라인 시스템(140)은 제3자 시스템(130)으로부터 수신된 물리적 객체 정보에 기초하여 매칭되는 물리적 객체를 식별한다. 온라인 시스템(140)은 검색 쿼리를 입력하기 위해 클라이언트 디바이스(110)에 의해 액세스될 수 있는 사용자 인터페이스에 포함된 검색 인터페이스를 갖는다. 일부 실시예에서, 검색 인터페이스는 물리적 객체의 이미지를 사용하여 표현된 시각 검색 쿼리를 수신하는 시각 검색 인터페이스이다. 다른 실시예에서, 검색 인터페이스는 텍스트, 이미지 및 음성 입력 중 하나 이상을 사용하여 검색 쿼리를 수신하는 것을 허용할 수 있다. 시각 검색 인터페이스에 대한 세부사항은 도 2와 관련하여 아래에서 논의된다.
검색 쿼리를 수신하는 것에 응답하여, 온라인 시스템(140)은 검색 쿼리에 의해 정의된 검색 파라미터를 만족시키는 물리적 객체를 식별하거나 파라미터를 만족시키는 물리적 객체가 존재하지 않는다고 결정한다. 온라인 시스템(140)은 클라이언트 디바이스(110)에 매칭되는 물리적 객체를 디스플레이함으로써 검색 쿼리의 결과를 디스플레이하거나, 매칭되는 검색 결과가 없다는 메시지를 디스플레이한다. 일부 실시예에서, 온라인 시스템(140)은 물리적 객체를 디스플레이할 때 물리적 객체 정보의 일부를 디스플레이할 수 있다. 예를 들어, 온라인 시스템(140)은 물리적 객체 정보 전체보다는 물리적 객체와 연관된 이미지 및 물리적 객체의 짧은 텍스트 설명을 불러올 수 있다.
매칭되는 물리적 객체의 결과를 디스플레이한 후, 온라인 시스템(140)은 클라이언트 디바이스(110)로부터 매칭되는 물리적 객체 중 하나와 연관된 추가 정보에 대한 요청을 클라이언트 디바이스(110)로부터 수신할 수 있다. 요청에 응답하여, 온라인 시스템(140)은 선택된 물리적 객체와 연관된 제3자 시스템(130)으로부터 수신된 물리적 객체 정보를 포함하는 온라인 시스템(140)의 콘텐츠 페이지를 통해 선택된 물리적 객체와 연관된 추가적인 물리적 객체 정보를 디스플레이할 수 있다. 일부 실시예에서, 온라인 시스템(140)은 온라인 시스템(140)의 사용자 인터페이스에 직접 디스플레이하는 대신에 클라이언트 디바이스(110)를 제3자 시스템(130)의 콘텐츠 페이지로 안내한다.
도 2는 일 실시예에 따른 예시적인 시각적 검색 쿼리를 도시하는 개념도이다. 주어진 물리적 객체에서, 물리적 객체를 구성하는 복수의 구성요소가 존재한다. 또한, 각각의 구성요소에 대해, 고유한 물리적 속성과 각각 연관된 복수의 가능한 구성요소 유형이 존재한다.
일부 실시예에서, 온라인 시스템(140)은 시각 검색 인터페이스를 통해 클라이언트 디바이스(110)로부터 특정 물리적 객체 유형의 특정 물리적 객체에 대한 검색 쿼리를 수신할 수 있다. 온라인 시스템(140)은 클라이언트 디바이스(110)를 통한 구성요소 유형의 사용자 입력에 기초하여 수정될 수 있는 수신된 물리적 객체 유형의 물리적 객체의 예시적인 이미지를 시각 검색 인터페이스 상에 제시할 수 있다. 구성요소 유형의 사양을 수신하기 전에, 예시적인 이미지는 물리적 객체의 각각의 구성요소 유형에 대한 디폴트 구성요소 유형을 사용하여 생성될 수 있다. 예시적인 이미지는 부분들로 분할될 수 있고, 예시적인 이미지의 각각의 부분은 복수의 구성요소 중 한 구성요소와 연관된다. 온라인 시스템(140)은 특정 물리적 객체 유형의 물리적 객체의 다양한 구성요소의 상대 위치를 저장한다. 예를 들어, 물리적 객체 유형은 칼라, 슬리브, 바디 등과 같은 구성요소를 포함하는 셔츠일 수 있다. 온라인 시스템(140)은 이들 구성요소의 상대 위치, 예를 들어, 칼라가 바디에 부착되는 위치 및 각각의 슬리브가 바디에 부착되는 위치를 저장한다. 구성요소의 상대 위치는 온라인 시스템이 개별 구성요소의 이미지를 합성하여(compose) 전체 물리적 객체의 이미지를 얻게 한다. 일 실시예에서, 온라인 시스템(140)은 각각의 구성요소를 설명하는 구조 정보를, 예를 들어, 점, 세그먼트 또는 스플라인(spline)을 포함하는 하나 이상의 기하학적 형태로서 저장한다. 온라인 시스템은 구조 정보를 사용하여 한 구성요소의 다른 구성요소에 대한 상대 위치를 설명한다. 예를 들어, 온라인 시스템(140)은 구성요소의 제1 측을 나타내는 제1 구성요소의 특정 세그먼트가 제2 구성요소의 제2 측을 나타내는 세그먼트에 부착된다는 것을 나타내는 정보를 저장할 수 있다. 따라서, 예시적인 이미지의 각각의 부분은 예시적인 이미지의 적어도 다른 부분에 대한 예시적인 이미지 상의 위치와 연관된다. 클라이언트 디바이스(110)를 통해 디스플레이되는 사용자 인터페이스는 예를 들어, 구성요소의 주어진 디폴트 구성요소 유형을 다른 구성요소 유형으로 수정함으로써 사용자가 예시적인 이미지와 상호작용하여 하나 이상의 구성요소에 대한 구성요소 유형을 지정할 수 있게 한다.
도 2에 도시된 예에서, 물리적 객체 XYZ(200)는 구성요소 A, 구성요소 B 및 구성요소 C인 물리적 객체를 구성하는 3개의 구성요소를 갖는다. 다른 물리적 객체(200)는 더 적거나 추가의 구성요소를 포함할 수 있다. 도 2에 도시된 예에서, 구성요소 A는 A0 및 A1인 2개의 가능한 구성요소 유형을 갖고, 구성요소 B는 B0, B1, B2 및 B3인 4개의 가능한 구성요소 유형을 가지며, 구성요소 C는 C0, C1 및 C2인 3개의 가능한 구성요소 유형을 갖는다. 물리적 객체의 가능한 변형에 따라, 구성요소 개수와 구성요소 유형의 개수가 다를 수 있다. 일부 실시예에서, 각각의 구성요소는 더 적거나 추가의 가능한 구성요소 유형을 가질 수 있다.
온라인 시스템(140)은 물리적 객체의 하나 이상의 구성요소에 대한 구성요소 유형의 수신된 사양을 반영하도록 디스플레이된 예시적인 이미지(210)를 업데이트한다. 구성요소 A는 물리적 객체 XYZ의 좌측 부분과 연관되고, 구성요소 B는 물리적 객체 XYZ의 중간 부분과 연관되며, 구성요소 C는 물리적 객체 XYZ의 우측 부분과 연관된다. 또한, 온라인 시스템은 각각의 구성요소의 상이한 측을 설명하는 정보 및 구성요소 A의 우측이 구성요소 B의 좌측에 부착되고 구성요소 C의 좌측이 구성요소 B의 우측에 부착된다는 것을 나타내는 정보를 저장한다. 제1 물리적 객체(220)에서, 구성요소 A의 구성요소 유형은 A0이고, 구성요소 B의 구성요소 유형은 B1이며, 구성요소 C의 구성요소 유형은 C0이다. 제2 물리적 객체(230)에서, 구성요소 A의 구성요소 유형은 A1이고, 구성요소 B의 구성요소 유형은 B2이며, 구성요소 C의 구성 요소 유형은 C2이다. 제3 물리적 객체(240)에서, 구성요소 A의 구성요소 유형은 A1이고, 구성요소 B의 구성요소 유형은 B3이며, 구성요소 C의 구성 요소유형은 C0이다. 도 2에는 도시되어 있지 않지만, 일부 실시예에서, 하나 이상의 구성요소는 구성요소 유형 선택을 수신하지 않을 수 있다. 예를 들어, 구성요소 A의 구성요소 유형은 A0으로 선택될 수 있고, 구성요소 B의 구성요소 유형은 B1으로 선택될 수 있으며, 구성요소 C의 구성요소 유형은 지정되지 않을 수 있다.
구성요소 유형을 수신하는 것에 응답하여, 예시적인 이미지(210)는 구성요소 유형의 사양에 기초하여 재구성될 수 있다. 온라인 시스템(140)은 각각의 구성요소의 각각의 구성요소 유형에 대한 이미지에 액세스하고, 예시적인 이미지의 적합한 위치에 구성요소 유형의 대응하는 이미지를 디스플레이함으로써 이미지(210)를 재구성한다.
시스템 아키텍처
도 3은 온라인 시스템(140)의 아키텍처의 블록도이다. 도 3에 도시된 온라인 시스템(140)은 물리적 객체 저장소(310), 신경망 트레이닝 모듈(320), 신경망 기반 인덱싱 모듈(330), 인덱스 저장소(340), 시각 검색 인터페이스(350) 및 검색 엔진(360)을 포함한다. 다른 실시예에서, 온라인 시스템(140)은 다양한 애플리케이션을 위한 추가의, 더 적은, 또는 상이한 구성요소를 포함할 수 있다.
물리적 객체 저장소(310)는 온라인 시스템(140)에 의해 수신된 하나 이상의 물리적 객체와 연관된 물리적 객체 정보를 저장한다. 물리적 객체 정보는 복수의 제3자(130)로부터 수신될 수 있다. 물리적 객체 정보는 이미지, 텍스트, 비디오, 링크 및 연관된 물리적 객체를 설명하는 메타데이터 중 하나 이상을 포함할 수 있다. 일부 실시예에서, 물리적 객체 저장소(310)는 신경망 기반 인덱싱 모듈(330)에서 사용되는 신경망의 하나 이상의 모델을 트레이닝하는 데 사용되는 하나 이상의 트레이닝 물리적 객체와 연관된 트레이닝 정보를 저장한다. 트레이닝 정보는 신경망 기반 인덱싱 모듈(330)의 하나 이상의 신경망이 트레이닝 정보를 사용하여 하나 이상의 신경망 각각에 대한 함수에 따라 입력 세트와 출력 세트 사이의 매핑을 학습할 수 있도록 신경망 트레이닝 모듈(320)에 대한 주석이 달린 입력 및 출력 세트를 포함할 수 있다. 물리적 객체 저장소(310)는 물리적 객체 구성요소의 사양을 수신하기 전에 시각 검색 인터페이스(350)를 통해 제시하기 위해 물리적 객체 저장소(310)에 각각의 물리적 객체 유형에 대한 디폴트 물리적 객체 세트를 더 저장할 수 있다. 디폴트 물리적 객체의 각각은 디폴트 구성요소 유형을 갖는다.
신경망 트레이닝 모듈(320)은 하나 이상의 트레이닝 물리적 객체를 설명하는 트레이닝 정보를 수신하고, 수신된 트레이닝 정보를 사용하여 신경망 기반 인덱싱 모듈(330)의 신경망을 트레이닝한다. 주어진 물리적 객체 유형에서, 물리적 객체 유형을 구성하는 복수의 구성요소가 있으며, 각각의 구성요소는 복수의 가능한 구성요소 유형을 갖는다. 신경망 기반 인덱싱 모듈(330)에는, 각각의 물리적 객체의 각각의 구성요소에 대한 적어도 하나의 신경망이 존재할 수 있다. 신경망 트레이닝 모듈(320)은 신경망 기반 인덱싱 모듈(330)에서 신경망을 트레이닝하는바, 신경망이 물리적 객체 저장소(310)에 의해 신경망 기반 인덱싱 모듈(330)에 제공된 입력에 기초하여 물리적 객체의 구성요소 각각에 대한 구성요소 유형을 식별할 수 있다. 구성요소 유형은 인덱스를 사용하여 표현될 수 있다.
트레이닝 프로세스 동안, 신경망 트레이닝 모듈(320)은 하나 이상의 신경망이 입력(예를 들어, 물리적 객체 정보)을 출력(예를 들어, 구성요소에 대한 구성요소 유형)으로 변환할 수 있도록 입력 사이의 매핑 함수를 결정한다. 구성요소 유형은 물리적 객체의 각각의 구성요소에 대해 각각의 구성요소 유형이 인덱스 값에 대응하는 복수의 가능한 구성요소 유형이 존재하도록 인덱스 시스템을 사용하여 표현될 수 있다. 매핑은 입력을 출력으로 변환하기 위해 수신된 입력과 결합된 가중치 세트로 표현될 수 있다. 신경망 트레이닝 모듈(320)은 신경망 기반 인덱싱 모듈(330)에서 신경망을 트레이닝하여 신경망 내의 노드들 사이의 접속을 결정하는바, 신경망 기반 인덱싱 모듈(330)은 온라인 시스템(140)에 제공된 물리적 객체 정보에 기초하여 구성요소 유형을 정확하게 식별할 수 있다.
일부 실시예에서, 신경망 트레이닝 모듈(320)은 트레이닝된 신경망의 정확도를 결정하기 위해 신경망 트레이닝 모듈(320)의 입력 및 예상 출력을 포함하는 물리적 객체의 테스트 세트를 수신할 수 있다. 신경망 트레이닝 모듈(320)은 신경망 트레이닝 모듈(320)에 의해 결정된 테스트 세트에 대한 인덱스 예측이 정확한지 여부를 나타내는 테스트 세트 출력 검증에 대한 입력으로서 물리적 객체 정보를 제공할 수 있다. 신경망 트레이닝 모듈(320)은 신경망 트레이닝 모듈(320)에 의한 결과를 예상 출력과 비교한다. 트레이닝 데이터의 실제 결과와 예측 결과의 비교에 따라, 신경망의 가중치는 역전파(back-propagation)를 사용하여 조정된다.
신경망 기반 인덱싱 모듈(330)은 물리적 객체 정보를 수신하고 수신된 물리적 객체 정보에 기초하여 물리적 객체의 각각의 컴포넌트에 대한 인덱스 엔트리를 생성한다. 신경망 기반 인덱싱 모듈(330)에 의해 사용된 신경망은 신경망 트레이닝 모듈(320)에 의해 트레이닝된다. 신경망 트레이닝 모듈(320)에 의해 수행된 신경망 트레이닝에 기초하여, 신경망 기반 인덱싱 모듈(330)은 물리적 객체의 각각의 구성요소에 대한 인덱스를 식별한다. 인덱스는 구성요소의 물리적 특성을 설명하는 특정 구성요소 유형에 대응한다.
일부 실시예에서, 신경망 기반 인덱싱 모듈(330)은 물리적 객체 저장소(310)로부터 수신된 물리적 객체 정보를 처리하는 전처리 유닛(도시 생략)을 포함할 수 있다. 온라인 시스템(140)이 상이한 제3자 시스템(130)으로부터 물리적 객체 정보를 수신하므로, 상이한 물리적 객체에 대해 수신된 물리적 객체 정보에는 높은 변동성이 있을 수 있다. 전처리 유닛은 상이한 제3자 시스템을 통해 수신된 물리적 객체 정보를 정규화하고, 신경망 기반 인덱싱 모듈(330)의 신경망에 대한 입력으로서 사용될 물리적 객체 정보를 준비할 수 있다.
물리적 객체의 각각의 구성요소와 연관된 인덱스 엔트리를 결정한 후에, 신경망 기반 인덱싱 모듈(330)은 결정된 인덱스 엔트리를 인덱스 저장소(340)에 전송한다. 인덱스 저장소(340)는 물리적 객체와 연관된 수신된 인덱스 엔트리를 저장한다. 일부 실시예에서, 인덱스 저장소(340)는 각각의 구성요소 유형으로부터 특정 구성요소 유형을 갖는 물리적 객체의 표현과 연관된 식별자로의 매핑을 저장한다. 온라인 시스템(140)이 물리적 객체의 이미지로서 표현된 시각 검색 쿼리를 수신하면, 온라인 시스템(140)은 물리적 객체의 이미지에 도시된 각각의 구성요소의 구성요소 유형을 결정한다. 온라인 시스템(140)은 인덱스를 사용하여 시각 검색 쿼리에 의해 지정된 구성요소 유형과 매칭되는 구성요소의 전부 또는 적어도 일부를 갖는 물리적 객체의 서브세트를 식별한다.
시각 검색 인터페이스(350)는 클라이언트 디바이스(110)로부터 시각 검색 쿼리를 수신하고 검색 쿼리와 매칭되는 물리적 객체를 디스플레이하는 온라인 시스템(140)의 사용자 인터페이스이다. 일부 실시예에서, 검색 쿼리를 개시하기 위해 클라이언트 디바이스로부터 온라인 시스템(140)에 의해 물리적 객체 유형의 사양이 수신된다. 수신된 물리적 객체 유형에 기초하여, 온라인 시스템(140)은 시각 검색 인터페이스(350) 상에 제시할 물리적 객체 유형의 예시적인 이미지를 불러온다. 일부 실시예에서, 물리적 객체의 예시적인 이미지는 물리적 객체 저장소(310)에 저장된 물리적 객체 유형과 연관된 디폴트 구성요소 유형에 기초한다. 물리적 객체의 예시적인 이미지는 복수의 부분으로 분할될 수 있으며, 각각의 부분은 물리적 객체의 구성요소에 대응한다. 각각의 부분은 예시적인 이미지의 다른 부분에 대한 물리적 객체의 특정 위치에 있다.
물리적 객체의 제시된 예시적인 이미지에 기초하여, 시각 검색 인터페이스(350)는 예시적인 이미지의 부분에 대한 입력에 기초하여 구성요소 유형의 사양을 수신한다. 도 2에 도시된 예를 다시 참조하면, 물리적 객체 XYZ(200)는 예시적인 이미지(210)에 의해 표현될 수 있는 물리적 객체 유형을 갖는다. 예시적인 이미지(210)는 구성요소 A와 연관된 제1 부분(212), 구성요소 B와 연관된 제2 부분(214) 및 구성요소 C와 연관된 제3 부분(216)을 갖는다. 예시적인 이미지(210)는 시각 검색 인터페이스(350)를 통해 클라이언트 디바이스(110)에 제시될 수 있다. 각각의 구성요소는 물리적 객체 XYZ(200)의 다른 구성요소에 대한 물리적 객체 XYZ(200) 상의 위치에 대응한다. 예컨대, 구성요소 A(212)는 가장 왼쪽 위치와 연관되고, 구성요소 B는 중간 위치와 연관되며, 구성요소 C는 가장 오른쪽 위치와 연관된다.
온라인 시스템의 시각 검색 인터페이스(350)는 예시적인 이미지(210)를 디스플레이할 수 있으며, 예시적인 이미지(210)는 구성요소 A, 구성요소 B 및 구성요소 C 중 하나 이상에 대한 구성요소 유형의 사양을 수신하는 하나 이상의 그래픽 요소(도 2에 도시되지 않음)를 갖는다. 예시적인 이미지(210)의 하나 이상의 구성요소는 구성요소 유형을 지정하는 상호작용을 클라이언트 디바이스(110)로부터 수신할 수 있다. 일례에서, 구성요소 유형을 선택하기 위한 가능한 구성요소 유형을 열거하는 구성요소에 대한 드롭다운 메뉴가 있을 수 있다. 드롭다운 메뉴 내에, 사용자가 가능한 구성요소 유형의 특성을 시각적으로 비교하고 그 특성에 기초하여 구성요소 유형을 선택할 수 있도록 각각의 구성요소 유형에 대한 대표 아이콘이 존재할 수 있다. 구성요소에 대해 구성요소 유형이 선택되면, 예시적인 이미지(210)의 제1 부분(212)은 선택된 구성요소 유형을 반영하도록 수정될 수 있다.
다른 예에서, 구성요소의 각각의 구성요소 유형은 사용자가 구성요소에 대응하는 예시적인 이미지(210)의 부분과 상호작용(예를 들어, 구성요소에 대응하는 부분을 클릭)하는 횟수와 연관될 수 있다. 예를 들어, 구성요소 A의 경우, A0은 제1 부분(212)으로 수행된 한 번의 클릭에 대응할 수 있고, A1은 제1 부분(212)으로 수행된 두 번의 클릭에 대응할 수 있다. 유사하게, 구성요소 B의 경우, B0은 제2 부분(214)으로 수행된 한 번의 클릭에 대응할 수 있고, B1은 두 번의 클릭, B2는 세 번의 클릭, B3는 네 번의 클릭에 대응할 수 있다. 따라서, 온라인 시스템(140)은 구성요소의 각각의 구성요소 유형에 대한 시퀀스 번호를 저장하고, 구성요소에 대한 각각의 클릭은 사용자 인터페이스가 시퀀스에서 다음 구성요소 유형에 대응하는 이미지를 디스플레이하게 한다. 다른 실시예에서, 구성요소 유형을 지정하는 데 상이한 상호작용이 사용될 수 있다.
다른 예에서, 온라인 시스템(140)은 물리적 객체 유형의 사양을 수신하는 것에 응답하여 사용자 인터페이스(예를 들어, 사이드바)에서 각각의 구성요소에 대한 가능한 구성요소 유형 각각에 대한 이미지를 디스플레이한다. 이미지는 예시적인 이미지(210) 상으로 드래그 앤 드롭되어 물리적 객체의 구성요소에 대한 구성요소 유형을 지정할 수 있다. 특정 구성요소에 대한 구성요소 유형을 나타내는 이미지가 예시적인 이미지(210) 상에 드롭되는 것에 응답하여, 이미지는 특정 구성요소에 대응하는 물리적 객체의 위치에 스냅될 수 있다.
다른 예에서, 온라인 시스템(140)은 사용자로부터 특정 구성요소 유형의 구성요소의 스케치를 수신하기 위해 사용자 인터페이스에서 가상 스케치 패드를 제공한다. 사용자 인터페이스는 가상 펜, 지우개, 페인트 브러시, 모양, 색상 편집기 및 하나 이상의 구성요소 유형의 스케치를 수신하기 위한 것과 같은 복수의 그리기 도구를 제공할 수 있다. 수신된 스케치에 기초하여, 온라인 시스템(140)은 이미지 인식을 사용하여 수신된 스케치와 연관된 구성요소 유형을 예측한다. 일부 실시예에서, 온라인 시스템(140)은 특정 구성요소 유형의 구성요소의 부분 스케치를 수신한다. 사용자에 의해 제공된 부분 스케치가 주어지면, 온라인 시스템(140)은 이미지 완성을 수행하여 객체의 전체 이미지를 예측한다. 부분 스케치는 구성요소의 미완성 그림이거나 대강 그려진 완성 그림일 수 있다. 일 실시예에서, 온라인 시스템 (140)은 부분 이미지가 주어지면 전체 이미지를 예측하는 신경망 기반 모델을 사용한다. 신경망 기반 모델은 부분 및 대응하는 전체 이미지 쌍을 사용하여 트레이닝될 수 있다. 실시예에서, 온라인 시스템(140)은 온라인 시스템에 저장된 다양한 구성요소 유형의 구성요소의 이미지에 대하여 부분 스케치를 매칭시켜 최상의 매칭 이미지를 선택한다. 온라인 시스템(140)은 시각 검색을 수행하기 위해 사용자에 의해 지정된 구성요소의 구성요소 유형을 사용하기 전에, 예를 들어, 완성된 이미지가 사용자가 지정했던 것인지 여부를 요청하는 질문을 함으로써 사용자에게 예측 이미지를 승인하도록 요청할 수 있다. 일부 실시예에서, 온라인 시스템(140)은 예측된 구성요소 유형에 대한 신뢰 점수를 결정할 수 있다. 신뢰 점수가 임계치 미만이면, 온라인 시스템(140)은 예측된 구성요소 유형을 사용자 인터페이스 상에 제시하고 예측된 구성요소 유형의 검증을 요청할 수 있다. 신뢰 점수가 임계치를 넘으면, 온라인 시스템(140)은 구성요소 유형을 반영하도록 예시적인 이미지(210)를 자동으로 수정할 수 있다. 일부 실시예에서, 온라인 시스템(140)은 최고 신뢰도를 갖는 복수의 최상위 이미지를 제시하고 사용자가 제시된 이미지 중 하나를 선택하게 한다.
시각 검색 인터페이스(350)는 또한 시각 검색 쿼리를 위한 물리적 객체에 대한 추가 세부사항을 수신하는 입력 필드를 디스플레이할 수 있다. 일부 실시예에서, 추가 세부사항은 물리적 객체의 물리적 속성과 연관된다. 예를 들어, 추가 세부사항은 시각 검색 쿼리에 대한 관심 대상의 물리적 객체의 물질, 인쇄 패턴 및 색상의 사양일 수 있다. 다른 실시예에서, 추가 세부사항은 브랜드, 가격 범위, 가용성, 물리적 객체의 판매 여부 및 사용자 평가와 같은 물리적 객체의 비물리적 속성과 연관될 수 있다.
검색 엔진(360)은 검색 쿼리에서 수신된 구성요소 유형을 시각 검색 인터페이스(350)와 비교하고 검색 쿼리를 만족시키는 물리적 객체를 식별한다. 검색 엔진(360)은 구성요소 유형을 나타내는 수신된 인덱스를 인덱스 저장소(340)에 저장된 정보와 비교한다. 일부 실시예에서, 검색 엔진(360)은 인덱스 저장소(340)에 액세스하여 적어도 임계 개수의 인덱스와 매칭되는 물리적 객체가 있는지 여부를 판정한다. 다른 실시예, 검색 실시예에서, 검색 엔진(360)은 물리적 객체에 대한 전체 점수를 결정하는데, 각각의 구성요소는 가중치와 연관되고 전체 점수는 물리적 객체의 상이한 구성요소의 가중치의 합이다.
검색 쿼리와 매칭되는 물리적 객체를 판정한 후, 검색 엔진(360)은 시각 검색 인터페이스(350)를 통해 클라이언트 디바이스(110)에 디스플레이할 검색 결과를 생성한다. 일부 실시예에서, 검색 엔진(360)은 물리적 객체 저장소(310)의 물리적 객체 정보에 액세스하고 검색 결과를 결과 피드에 제시한다. 결과 피드는 물리적 객체와 연관된 점수에 기초하여 구성될 수 있으며, 이 점수는 물리적 객체와 검색 쿼리의 유사성을 나타낸다. 예를 들어, 시각 검색 쿼리에 의해 지정된 모든 구성요소 유형과 매칭되는 물리적 객체는 시각 검색 쿼리에 의해 지정된 구성요소 유형 중 일부하고만 매칭되는 다른 물리적 객체에 비해 점수가 높을 수 있다. 다른 실시예에서, 검색 엔진(360)은 복수의 인자의 가중 총합을 사용하여 매칭되는 물리적 객체의 순위를 정한다. 예를 들어, 온라인 시스템(140)은 제3자로부터 수신된 물리적 객체 정보에 기초하여 물리적 객체 각각에 대한 인기 점수를 나타내는 인자를 고려할 수 있다. 인기 점수는 제3자로부터 수신되고 제3자에 의해 후원되는 물리적 객체의 전환 이력, 사용자에 의해 수신된 평가 등에 기초할 수 있다.
디스플레이할 물리적 객체 세트를 식별하기 위한 전체 프로세스
도 4는 일 실시예에 따라 물리적 객체를 검색하는 프로세스를 도시하는 흐름도이다. 온라인 시스템은 복수의 물리적 객체를 설명하는 정보를 수신한다(410). 복수의 물리적 객체를 설명하는 정보는 복수의 제3자 시스템으로부터 수신될 수 있고 물리적 객체의 텍스트 설명, 물리적 객체의 이미지 및 물리적 객체를 설명하는 메타데이터 중 하나 이상을 포함한다. 복수의 물리적 객체의 각각의 물리적 객체는 물리적 객체가 속하는 카테고리를 설명하는 물리적 객체 유형(예를 들어, 셔츠, 신발, 차량, 가구의 유형, 컴퓨터, 기계 장치, 식물 등)을 갖는다. 일 실시예에서, 온라인 시스템(140)은 물리적 객체 유형의 카테고리의 계층을 저장하는바 각각의 객체는 계층 내의 하나 이상의 카테고리를 사용하여 분류될 수 있다. 물리적 객체는 물리적 객체를 구성하는 복수의 구성요소를 가질 수 있다(예를 들어, 셔츠는 슬리브, 칼라, 바디, 헴을 포함하는 구성요소를 가질 수 있고, 식물은 꽃, 잎, 줄기, 과일을 포함하는 구성요소를 가질 수 있다). 제3자 시스템으로부터 수신된 물리적 객체 정보는 물리적 객체 저장소(310)에 저장된다.
물리적 객체 정보는 물리적 객체의 각각의 구성요소에 대한 인덱스를 결정하는 신경망 기반 인덱싱 모듈(330)에 제공된다. 일부 실시예에서, 물리적 객체 정보는 물리적 객체에 대한 구성요소 유형을 예측하기 위해 신경망 기반 인덱싱 모듈(330) 내의 신경망에 입력으로서 제공된 물리적 객체의 이미지 및 텍스트 설명이다. 각각의 구성요소는 복수의 가능한 구성요소 유형을 가질 수 있으며, 각각의 구성요소 유형은 인덱스를 사용하여 표현될 수 있다. 객체의 구성요소 유형에 대한 인덱스가 신경망에 의해 결정되면, 인덱스는 온라인 시스템의 인덱스 저장소에 저장되는바 검색 쿼리 동안 온라인 시스템은 저장된 인덱스를 검색하고 인덱스 저장소로부터 검색 쿼리와 매칭되는 물리적 객체를 식별할 수 있다.
온라인 시스템은 물리적 객체의 이미지를 사용하여 표현되는 시각 검색 쿼리를 작성한다(420). 온라인 시스템은 온라인 시스템의 시각 검색 인터페이스를 통해 클라이언트 디바이스로부터 구성요소 유형의 사양을 수신한다. 시각 검색 쿼리를 작성하는 세부사항은 도 6과 관련하여 후술된다.
온라인 시스템은 시각 검색 쿼리와 매칭되는 물리적 객체를 식별하기 위한 요청을 수신한다(430). 물리적 객체의 시각 검색 쿼리에 기초하여, 온라인 시스템은 수신된 구성요소 유형을 온라인 시스템의 인덱스 저장소에 저장된 물리적 객체 인덱스와 비교한다.
온라인 시스템은 시각 검색 쿼리에 대응하는 명령어 세트를 실행한다(440). 명령어 세트는 인덱스 저장소에 액세스하는 것 및 검색 쿼리와 매칭되는 물리적 객체를 식별하는 것을 포함할 수 있다.
온라인 시스템은 명령어 세트의 실행에 기초하여 물리적 객체 세트를 식별한다(450). 일부 실시예에서, 온라인 시스템은 검색 쿼리와 매칭되는 물리적 객체의 다수의 구성요소 유형을 결정함으로써 클라이언트 디바이스에 디스플레이할 물리적 객체 세트에 포함할 물리적 객체를 식별한다. 일부 실시예에서, 온라인 시스템은 인덱스 저장소에 저장된 각각의 물리적 객체에 대한 점수를 결정하고 임계 점수를 초과하는 물리적 객체를 제시한다.
온라인 시스템은 디스플레이할 물리적 객체 세트를 설명하는 정보를 전송한다(460). 식별된 물리적 객체 세트에 기초하여, 온라인 시스템은 제3자 시스템으로부터 수신되고 물리적 객체 저장소에 저장된 물리적 객체 정보에 액세스한다.
물리적 객체에 대한 인덱스 시스템을 생성하는 프로세스
도 5는 일 실시예에 따라 물리적 객체에 대한 인덱스 시스템을 생성하는 프로세스를 도시하는 흐름도이다.
온라인 시스템은 제3자로부터 물리적 객체와 연관된 이미지 및 텍스트 설명을 수신한다(510). 일부 실시예에서, 인덱스 시스템을 생성하기 위해 온라인 시스템에 의해 수신되는 더 적은 또는 추가 정보가 있을 수 있다.
온라인 시스템은 신경망의 하나 이상의 모델을 사용하여 수신된 물리적 객체와 연관된 이미지 및 텍스트 설명을 평가한다(520). 신경망의 모델은 수신된 물리적 객체와 연관된 이미지 및 텍스트 설명을 입력으로서 취하고 인덱스에 저장하기 위한 출력으로서 각각의 구성요소에 대한 인덱스 엔트리를 생성하는 신경망 기반 인덱싱 모듈(330)에 있다. 후술되는 바와 같이, 미가공(raw) 이미지 및 텍스트 설명 데이터는 신경망 기반 인덱싱 모듈(330)에 제공될 수 있고 또는 신경망에 입력되기 전에 신경망 기반 인덱싱 모듈(330)에 의해 사전처리될 수 있다. 입력에 기초하여, 신경망 기반 인덱싱 모듈(330)은 각각의 구성요소에 대한 인덱스 엔트리를 포함하는 인덱스가 물리적 객체의 식별을 위해 저장될 수 있도록 각각의 구성요소에 대한 구성요소 유형을 나타내는 인덱스 엔트리를 결정한다.
온라인 시스템은 물리적 객체의 각각의 구성요소에 대한 인덱스 엔트리를 생성한다(530). 일부 실시예에서, 신경망 기반 인덱싱 모듈(330)은 이미지 및 텍스트 설명을 평가하고 신경망의 하나 이상의 모델에 대한 정규화된 입력을 생성하는 사전처리 구성요소를 포함한다. 일부 실시예에서, 수신된 이미지 및 텍스트 설명은 물리적 객체의 각각의 구성요소에 대한 인덱스 엔트리를 생성하기 위해 신경망에 입력으로서 인코딩되고 제공된다. 생성된 인덱스 엔트리는 인덱스 저장소(340)에 저장되어 클라이언트 디바이스로부터 수신된 검색 쿼리와 매칭되는 물리적 객체를 식별하는 데 사용된다.
시각 검색 쿼리를 작성하는 프로세스
도 6은 일 실시예에 따라 시각 검색 쿼리를 작성하는 프로세스를 도시하는 흐름도이다. 온라인 시스템은 시각 검색 쿼리에 대한 특정 물리적 객체 유형의 사양을 수신한다(610). 특정 물리적 객체 유형은 물리적 객체의 카테고리를 설명한다. 특정 물리적 객체 유형의 사양은 시각 검색 인터페이스를 통해 수신될 수 있다.
온라인 시스템은 물리적 객체 유형에 대응하는 구성요소 세트를 결정한다(620). 온라인 시스템의 각각의 물리적 객체 유형마다, 물리적 객체 유형을 구성하는 상이한 구성요소 세트가 있을 수 있다. 주어진 물리적 객체 유형의 경우, 온라인 시스템은 디폴트 구성요소 세트를 저장할 수 있다. 디폴트 구성요소 세트는 제3자로부터 수신되거나 신경망 모델을 트레이닝하는 데 사용되는 트레이닝 데이터에 기초하여 온라인 시스템에 의해 생성될 수 있다.
온라인 시스템은 클라이언트 디바이스를 통해 디스플레이할 특정 물리적 객체 유형의 예시적인 물리적 객체의 이미지를 구성한다(630). 온라인 시스템은 디폴트 구성요소 세트에 기초하여 예시적인 물리적 객체의 이미지를 디스플레이할 수 있다. 각각의 구성요소는 물리적 객체의 다른 구성요소에 대한 물리적 객체 상의 위치와 연관된다. 예시적인 물리적 객체의 이미지는 각각의 디폴트 구성요소의 이미지에 액세스하고 디폴트 구성요소의 이미지를 각각의 위치에 놓음으로써 예시적인 물리적 객체의 이미지를 작성함으로써 생성된다.
온라인 시스템은 구성요소 세트로부터 하나 이상의 구성요소에 대한 특정 구성요소 유형의 사양을 수신한다(640). 온라인 시스템은 시각 검색 인터페이스를 가지며, 온라인 시스템은 시각 검색 인터페이스를 통해 클라이언트 디바이스로부터 구성요소 유형의 사양을 수신한다. 구성요소 유형의 사양은 예시적인 물리적 객체의 이미지에 대한 상호작용에 기초할 수 있다. 예시적인 물리적 객체의 이미지는 클라이언트 디바이스가 구성요소 유형을 정의하기 위해 상호작용할 수 있는 시각 요소를 포함할 수 있다.
온라인 시스템은 구성요소 세트로부터 하나 이상의 구성요소에 대한 지정된 구성요소 유형의 이미지에 액세스한다(650). 지정된 구성요소 유형의 이미지는 물리적 객체 저장소에 저장될 수 있다. 지정된 구성요소 유형의 이미지는 하나 이상의 제3자 시스템으로부터 수신되거나 트레이닝 데이터에 기초하여 온라인 시스템에 의해 생성될 수 있다.
온라인 시스템은 물리적 객체의 이미지에 디스플레이된 하나 이상의 구성요소 각각이 지정된 구성요소 유형이 되도록 예시적인 물리적 객체의 이미지를 재구성한다(660). 수신된 구성요소 유형의 사양에 기초하여, 온라인 시스템은 예시적인 물리적 객체의 이미지 상의 하나 이상의 구성요소를 업데이트한다. 온라인 시스템(140)은 사용자가 예시적인 물리적 객체의 구성요소의 구성요소 유형을 수정하기 원하는 횟수에 따라 단계(640, 650, 660 및 670)를 여러 번 반복할 수 있다.
온라인 시스템은 클라이언트 디바이스를 통해 디스플레이할 예시적인 물리적 객체의 재구성된 이미지를 전송한다(670). 예시적인 물리적 객체의 재구성된 이미지에는 적어도 지정된 구성요소 유형을 포함하는 복수의 물리적 객체가 제공될 수 있다. 일부 실시예에서, 재구성된 이미지는 단계(640, 650, 660 및 670)의 각각의 반복에서 생성된다. 예를 들어, 사용자가 제1 구성요소에 대한 구성요소 유형을 지정하면, 시스템은 지정된 구성요소 유형의 이미지에 액세스하고 예시적인 물리적 객체의 이미지를 실시간으로 재구성하여 제1 구성요소에 대한 지정된 구성요소 유형을 반영한다. 그런 다음 사용자가 제2 구성요소에 대한 구성요소 유형을 지정하면, 시스템은 지정된 구성요소 유형의 이미지에 액세스하고 예시적인 물리적 객체의 이미지를 실시간으로 재구성하여 제1 구성요소 외에 제2 구성요소에 대한 지정된 구성요소 유형을 반영한다. 일부 실시예에서, 온라인 시스템은 구성요소 유형의 사양에 이어 사전결정된 시간 지연 후에(예를 들어, 사양을 수신하고 1초 후에) 예시적인 물리적 객체의 이미지를 재구성한다. 일부 실시예에서, 온라인 시스템은 구성요소 유형의 추가 사양에 응답하여 클라이언트 디바이스에 제시된 복수의 물리적 객체를 업데이트한다.
일 예에서, 물리적 객체 유형은 셔츠이고, 셔츠에 대응하는 구성요소 세트는 네크라인, 바디 부분 및 슬리브일 수 있다. 셔츠 구성요소 유형의 경우, 디폴트 구성요소 유형은 둥근 네크라인, 전체 몸통을 덮는 바디 부분 및 짧은 슬리브일 수 있다. 디폴트 구성요소 유형을 가진 예시적인 이미지가 생성되어 시각 검색 인터페이스에 디스플레이될 수 있다. 시각 검색 쿼리에서, 클라이언트 디바이스는 슬리브에 대한 원하는 구성요소 유형이 종 모양 슬리브임을 지정할 수 있다. 사양에 응답하여, 온라인 시스템은 종 모양 슬리브의 이미지에 액세스하고 종 모양 슬리브를 포함하도록 예시적인 이미지를 업데이트할 수 있다. 클라이언트 디바이스가 네크라인의 구성요소 유형이 v넥 스타일임을 또한 지정하면, 적어도 종 모양 슬리브 및 v넥 스타일을 포함하도록 클라이언트 디바이스에 제시되는 복수의 물리적 객체를 업데이트한다.
예시적인 시각 검색 쿼리
도 7(a) 내지 도 7(d)는 일 실시예에 따른 예시적인 시각 검색 쿼리이다. 다음의 예시적인 시각 검색 쿼리 각각에서, 관심 있는 물리적 객체 유형은 관련 구성 요소 세트를 가진 신발이다. 신발은 제1 구성요소(710), 제2 구성요소(720), 제3 구성요소(730), 제4 구성요소(740) 및 제5 구성요소(750)를 갖는다. 물리적 객체 유형은 도 7(a) 내지 도 7(d)에 도시된 것보다 더 적거나 추가의 구성요소를 가질 수 있다. 각각의 구성요소는 시각 검색 쿼리를 위한 구성요소 유형의 가능한 조합의 범위가 존재하도록 복수의 가능한 구성요소 유형을 갖는다. 물리적 객체 유형(예컨대, 신발)의 예시적인 이미지가 시각 검색 인터페이스 상에 디스플레이된다. 사용자는 클라이언트 디바이스를 통해 시각 검색 인터페이스 상에 디스플레이된 예시적인 이미지와 상호작용하고 예시적인 이미지를 수정하여 시각 검색 쿼리를 작성하기 위한 특정 구성요소 유형을 지정할 수 있다. 시각 검색 쿼리에서 수신된 구성요소 유형에 기초하여, 온라인 시스템은 시각 검색 쿼리와 매칭되는 물리적 객체를 식별하고 디스플레이한다.
일부 실시예에서, 도 7(a)에 도시된 이미지는 신발인 물리적 객체 유형에 대한 디폴트 이미지일 수 있다. 온라인 시스템은 클라이언트 디바이스로부터 물리적 객체 유형의 사양을 신발로서 수신할 수 있다. 도 7(a)에 도시된 디폴트 이미지는 물리적 객체 사양의 수신에 응답하여 클라이언트 디바이스를 통해 시각 검색 인터페이스 상에 디스플레이될 수 있다.
제1 시각 검색 쿼리에서, 온라인 시스템은 디폴트 이미지의 제1 구성요소(710)에 대한 상호작용을 수신하고 제1 구성요소 유형을 수정할 수 있다. 도 7(a)에 도시된 바와 같이, 제1 구성요소 유형에 대한 디폴트 구성요소 유형은 오픈토(open toe)일 수 있다. 시각 검색 인터페이스는 제1 구성요소 유형을 포인티드 클로즈드 토(pointed closed toe)로 지정하기 위한 상호작용을 수신할 수 있다. 제1 구성요소 유형을 클로즈드 토로 업데이트하라는 요청에 응답하여, 온라인 시스템은 물리적 객체 저장소에 저장된 클로즈드 토 구성요소 유형의 이미지에 액세스하고 도 7(b)에 도시된 바와 같이 클로즈드 토의 액세스 이미지를 포함하도록 시각 검색 쿼리를 재구성할 수 있다.
제2 시각 검색 쿼리에서, 온라인 시스템은 디폴트 이미지의 제3 구성요소 유형(740)에 대한 상호작용을 수신하여 제3 구성요소 유형을 수정할 수 있다. 도 7(a)에 도시된 바와 같이, 제3 구성요소 유형에 대한 디폴트 구성요소 유형은 발의 뒷부분을 위한 개방면을 갖는 것이다. 시각 검색 인터페이스는 제3 구성요소 유형을 폐쇄면으로 지정하기 위한 상호작용을 수신할 수 있다. 제3 구성요소 유형을 폐쇄면으로 업데이트하라는 요청에 응답하여, 온라인 시스템은 물리적 객체 저장소에 저장된 폐쇄면 구성요소 유형의 이미지에 액세스하고 도 7(c)에 도시된 바와 같이 액세스된 폐쇄면의 이미지를 포함하도록 시각 검색 쿼리를 재구성할 수 있다.
제3 시각 검색 쿼리에서, 온라인 시스템은 제1 구성요소 유형(710), 제2 구성요소 유형(720) 및 제3 구성요소 유형(740)에 대한 상호작용을 수신할 수 있다. 도 7(a)에 도시된 바와 같이, 제1 구성요소 유형에 대한 디폴트 구성요소 유형은 오픈 토이고, 제2 구성요소 유형에 대한 디폴트 구성요소 유형은 개방면이며, 제3 구성요소 유형에 대한 디폴트 구성요소 유형은 언커버드 앵클(uncovered ankle)이다. 시각 검색 인터페이스는 제1 구성요소 유형을 클로즈드 토로, 제2 구성요소 유형을 폐쇄면으로, 제3 구성요소 유형을 클로즈드 앵클(closed ankle)로 지정하기 위한 상호작용을 수신할 수 있다. 구성요소 유형을 업데이트하라는 요청에 응답하여, 온라인 시스템은 클로즈드 토, 폐쇄면 및 클로즈드 앵클의 이미지에 액세스하고 도 7(d)에 도시된 바와 같이 액세스된 이미지를 포함하도록 시각 검색 쿼리를 재구성할 수 있다.
컴퓨팅 머신 아키텍처
도 8은 머신 판독가능 매체로부터 명령어를 판독하고 프로세서 (또는 제어기)에서 명령어를 실행할 수 있는 예시적인 머신의 구성요소를 도시하는 블록도이다. 구체적으로, 도 8은 머신으로 하여금 본 명세서에서 논의된 방법 중 임의의 하나 이상을 수행하게 하는 명령어(824)(예를 들어, 소프트웨어)가 실행될 수 있는 컴퓨터 시스템(800)의 예시적인 형태로 머신의 도식적 표현을 도시한다. 다른 실시예에서, 머신은 독립형 디바이스로서 동작하거나 다른 머신에 접속(예를 들어, 네트워킹)될 수 있다. 네트워킹 배치에서, 머신은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신으로서 작동하거나, 피어 투 피어 (또는 분산) 네트워크 환경에서 피어 머신으로서 작동할 수 있다.
머신은 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인 휴대 정보 단말기(PDA), 셀룰러폰, 스마트폰, 웹 기기, 네트워크 라우터, 스위치 또는 브리지 또는 그 머신에 의해 수행될 동작을 지정하는 명령어(824)(순차식 또는 다른 방식)를 실행할 수 있는 임의의 머신일 수 있다. 또한, 단 하나의 머신만이 도시되어 있지만, "머신"이라는 용어는 또한 본 명세서에서 논의된 방법 중 임의의 하나 이상을 수행하기 위해 명령어(824)를 개별적으로 또는 공동으로 실행하는 임의의 머신 컬렉션을 포함하는 것으로 이해해야 한다.
예시적인 컴퓨터 시스템(800)은 버스(808)를 통해 서로 통신하도록 구성되는 프로세서(802)(예를 들어, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 디지털 신호 프로세서(DSP), 하나 이상의 주문형 집적 회로(ASIC), 하나 이상의 무선 주파수 집적 회로(RFIC) 또는 이들의 임의의 조합), 메인 메모리(804), 및 정적 메모리(806)를 포함한다. 컴퓨터 시스템(800)은 그래픽 디스플레이 유닛(810)(예를 들어, 플라즈마 디스플레이 패널(PDP), 액정 디스플레이(LCD), 프로젝터, 또는 음극선관(CRT))을 더 포함할 수 있다. 컴퓨터 시스템(800)은 영숫자 입력 디바이스(812)(예를 들어, 키보드), 커서 제어 디바이스(814)(예를 들어, 마우스, 트랙볼, 조이스틱, 모션 센서 또는 다른 포인팅 기기), 저장 유닛(816), 신호 생성 디바이스(818)(예를 들어, 스피커) 및 네트워크 인터페이스 디바이스(820)도 포함할 수 있으며 이들도 버스(808)를 통해 통신하도록 구성된다.
저장 유닛(816)은 본 명세서에 설명된 방법들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어(824)(예를 들어, 소프트웨어)를 저장하는 머신 판독가능 매체(822)를 포함한다. 명령어(824)(예를 들어, 소프트웨어)는 컴퓨터 시스템(800)에 의해 실행되는 동안 메인 메모리(804) 내에 또는 프로세서(802) 내에 (예를 들어, 프로세서의 캐시 메모리 내에) 완전히 또는 적어도 부분적으로 상주할 수도 있으며, 메인 메모리(804)와 프로세서(802)는 또한 머신 판독가능 매체를 구성한다. 명령어(824)(예를 들어, 소프트웨어)는 네트워크 인터페이스 디바이스(820)를 거쳐 네트워크(826)를 통해 송신되거나 수신될 수 있다.
머신 판독가능 매체(822)가 예시적인 실시예에서 하나의 매체인 것으로 도시되어 있지만, "머신 판독가능 매체"라는 용어는 명령어(예컨대, 명령어(824))를 저장할 수 있는 하나의 매체 또는 복수의 매체(예를 들어, 중앙 집중형 또는 분산형 데이터베이스, 또는 관련 캐시 및 서버)를 포함하는 것으로 이해해야 한다. "머신 판독가능 매체"라는 용어는 머신에 의해 실행될 명령어(예컨대, 명령어(824))를 저장할 수 있고 머신으로 하여금 본 명세서에 개시된 방법 중 임의의 하나 이상을 수행하게 하는 임의의 매체도 포함하는 것으로 이해해야 한다. "머신 판독가능 매체"라는 용어는 고체 상태 메모리, 광학 매체 및 자기 매체 형태의 데이터 저장소를 포함하지만, 이에 제한되지는 않는다.
추가 구성 고려사항
실시예의 전술한 설명은 예시를 위해 제시되었으며; 개시된 바로 그 형태로 특허권을 한정하거나 제한하려는 것은 아니다. 관련 기술 분야의 당업자는 위 개시에 비추어 다수의 수정 및 변형이 가능하다는 것을 이해할 수 있다.
이 설명의 일부 부분은 정보에 대한 동작의 알고리즘 및 기호 표현의 관점에서 실시예를 설명한다. 이러한 알고리즘적 설명 및 표현은 데이터 처리 분야의 당업자에 의해 그들의 작업의 내용을 다른 당업자에게 효과적으로 전달하는 데 일반적으로 사용된다. 이러한 동작들은, 기능적으로, 계산적으로 또는 논리적으로 설명되었지만, 컴퓨터 프로그램 또는 등가 전기 회로, 마이크로코드 등에 의해 구현되는 것으로 이해된다. 게다가, 일반성을 잃지 않으면서 이러한 동작의 배열을 모듈로 지칭하는 것이 때때로 편리하다는 것도 증명되었다. 설명된 동작 및 관련 모듈은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 구현될 수 있다.
본 명세서에 설명된 단계, 동작 또는 프로세스 중 임의의 것은 하나 이상의 하드웨어 또는 소프트웨어 모듈을 사용하여 단독으로 또는 다른 디바이스와 조합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 설명된 단계, 동작 또는 프로세스 중 임의의 것 또는 전부를 수행하는 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품을 사용하여 구현된다.
실시예는 또한 본 명세서의 동작을 수행하는 장치에 관한 것일 수 있다. 이 장치는 필요한 목적을 위해 특별히 구성될 수 있고/있거나 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨팅 디바이스를 포함할 수 있다. 이러한 컴퓨터 프로그램은 컴퓨터 시스템 버스에 연결될 수 있는 비일시적, 유형의 컴퓨터 판독가능 저장 매체, 또는 전자 명령어를 저장하기에 적합한 임의의 유형의 매체에 저장될 수 있다. 또한, 본 명세서에서 언급된 임의의 컴퓨팅 시스템은 하나의 프로세서를 포함할 수 있거나 컴퓨팅 능력 향상을 위해 복수의 프로세서 설계를 이용하는 아키텍처일 수 있다.
실시예는 또한 본 명세서에 설명된 컴퓨팅 프로세스에 의해 생산되는 제품에 관한 것일 수 있다. 이러한 제품은 컴퓨팅 프로세스로부터 발생한 정보를 포함할 수 있고, 정보는 비일시적, 유형의 컴퓨터 판독가능 저장 매체에 저장되고 본 명세서에 설명된 컴퓨터 프로그램 제품 또는 다른 데이터 조합의 임의의 실시예를 포함할 수 있다.
마지막으로, 본 명세서에서 사용된 언어는 원칙적으로 가독성 및 교육 목적을 위해 선택되었으며, 특허권을 기술하거나 제한하기 위해 선택되지 않았을 수도 있다. 그러므로 특허권의 범위는 이 상세한 설명에 의해 제한되는 것이 아니라, 그것에 기초하여 출원에 대해 발행된 임의의 청구범위에 의해 제한되는 것으로 의도된다. 따라서, 실시예의 개시는 특허권의 범위를 예시하는 것이지 제한하기 위한 것이 아니며, 이는 후속하는 청구범위에 설명된다.

Claims (20)

  1. 온라인 시스템에 의해, 복수의 물리적 객체를 설명하는 정보를 저장하는 단계 - 각각의 물리적 객체는 물리적 객체 유형과 연관되고, 각각의 물리적 객체는 구성요소 세트를 포함하며, 각각의 구성요소는 구성요소 유형과 연관됨 - 와,
    클라이언트 디바이스로부터, 특정 물리적 객체 유형의 사양을 수신하는 단계와,
    상기 특정 물리적 객체 유형에 대응하는 구성요소 세트를 결정하는 단계와,
    상기 특정 물리적 객체 유형의 물리적 객체에 대한 시각 검색 쿼리를 작성(building)하는 단계 - 상기 작성 단계는,
    이미지 세트를 합성(composing)함으로써 상기 특정 물리적 객체 유형의 예시적인 물리적 객체의 디폴트 이미지를 구성하는 단계 - 각각의 이미지는 상기 구성요소 세트 중에서 디폴트 구성요소 유형과 연관된 구성요소를 디스플레이함 - 와,
    상기 클라이언트 디바이스를 통해 디스플레이할 상기 디폴트 이미지를 전송하는 단계와,
    상기 예시적인 물리적 객체의 이미지를 반복적으로 수정하는 단계 - 상기 수정 단계는, 선택된 구성요소의 구성요소 유형을 수정하라는 요청을 수신하는 단계, 상기 수정된 구성요소 유형과 연관된 상기 선택된 구성요소의 이미지를 사용하여 상기 예시적인 물리적 객체의 이미지를 재구성하는 단계, 및 상기 클라이언트 디바이스를 통해 디스플레이할 상기 재구성된 이미지를 전송하는 단계를 반복하는 것을 포함함 - 와,
    상기 수정된 이미지에 대응하는 상기 예시적인 물리적 객체의 설명에 기초하여 상기 시각 검색 쿼리를 구성하는 단계
    를 포함함 - 와,
    상기 시각 검색 쿼리에 매칭되는 구성요소를 갖는 물리적 객체 세트를 식별하는 단계와,
    상기 클라이언트 디바이스를 통해 디스플레이할 상기 물리적 객체 세트를 설명하는 정보를 전송하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    각각의 물리적 객체 유형마다, 상기 물리적 객체 유형의 물리적 객체의 각각의 구성요소에 대해, 상기 물리적 객체의 하나 이상의 다른 구성요소에 대한 상기 구성요소의 위치를 저장하는 단계를 더 포함하되,
    상기 물리적 객체의 이미지를 구성하는 단계는 각각의 구성요소의 상기 저장된 위치에 따라 상기 물리적 객체의 구성요소의 이미지를 사용자 인터페이스에 배치하는 단계를 포함하는
    방법.
  3. 제1항에 있어서,
    상기 온라인 시스템에 의해, 상기 복수의 물리적 객체 각각의 표현을 구성요소 유형 세트에 매핑하는 인덱스를 저장하는 단계 - 상기 구성요소 유형 세트 각각은 상기 물리적 객체의 구성요소에 대응함 - 와,
    상기 인덱스에 기초하여 상기 시각 검색 쿼리에 의해 지정된 상기 구성요소 유형 세트에 매칭되는 하나 이상의 구성요소를 갖는 물리적 객체의 표현에 액세스하는 단계를 더 포함하는
    방법.
  4. 제3항에 있어서,
    복수의 신경망 기반 모델을 사용하여 상기 인덱스를 생성하는 단계를 더 포함하되,
    각각의 신경망 기반 모델은 물리적 객체를 설명하는 입력을 수신하고 상기 물리적 객체의 구성요소의 구성요소 유형을 예측하도록 구성되는
    방법.
  5. 온라인 시스템에 의해 복수의 외부 시스템으로부터, 복수의 물리적 객체를 설명하는 정보를 수신하는 단계 - 각각의 물리적 객체는 물리적 객체 유형을 갖고, 각각의 물리적 객체는 구성요소 세트를 포함하며, 각각의 구성요소는 구성요소 유형을 가짐 - 와,
    상기 온라인 시스템에 의해 클라이언트 디바이스로부터, 시각 검색 쿼리를 위한 특정 물리적 객체 유형의 사양을 수신하는 단계와,
    상기 물리적 객체 유형의 하나 이상의 구성요소의 각각에 대해, 상기 클라이언트 디바이스로부터, 특정 구성요소 유형의 사양을 수신하는 단계와,
    예시적인 물리적 객체의 이미지를 구성하는 단계 - 상기 예시적인 물리적 객체의 이미지는 상기 구성요소 세트로부터 각각의 구성요소의 이미지를 합성함으로써 획득되고, 상기 하나 이상의 구성요소 각각의 이미지는 상기 클라이언트 디바이스로부터 수신된 상기 특정 구성요소 유형의 사양에 대응함 - 와,
    상기 클라이언트 디바이스를 통해 디스플레이할 상기 예시적인 물리적 객체의 이미지를 전송하는 단계와,
    상기 시각 검색 쿼리에 의해 지정된 상기 물리적 객체와 매칭되는 구성요소를 갖는 물리적 객체를 식별하기 위한 요청을 수신하는 단계와,
    상기 요청에 기초하여 물리적 객체 세트를 식별하는 단계와,
    상기 클라이언트 디바이스를 통해 디스플레이할 상기 물리적 객체 세트를 설명하는 정보를 전송하는 단계를 포함하는
    방법.
  6. 제5항에 있어서,
    각각의 물리적 객체 유형마다, 상기 물리적 객체 유형의 물리적 객체의 각각의 구성요소에 대해, 상기 물리적 객체의 하나 이상의 다른 구성요소에 대한 상기 구성요소의 위치를 저장하는 단계를 더 포함하되,
    상기 물리적 객체의 이미지를 구성하는 단계는 각각의 구성요소의 상기 저장된 위치에 따라 상기 물리적 객체의 구성요소의 이미지를 사용자 인터페이스에 배치하는 단계를 포함하는
    방법.
  7. 제5항에 있어서,
    상기 온라인 시스템에 의해, 상기 복수의 물리적 객체 각각의 표현을 구성요소 유형 세트에 매핑하는 인덱스를 저장하는 단계 - 상기 구성요소 유형 세트 각각은 상기 물리적 객체의 구성요소에 대응함 - 와,
    상기 인덱스에 기초하여 상기 시각 검색 쿼리에 의해 지정된 상기 구성요소 유형 세트에 매칭되는 하나 이상의 구성요소를 갖는 물리적 객체의 표현에 액세스하는 단계를 더 포함하는
    방법.
  8. 제7항에 있어서,
    상기 인덱스는 물리적 객체를 설명하는 입력을 수신하고 상기 물리적 객체의 구성요소의 구성요소 유형을 예측하도록 트레이닝된 신경망 기반 모델을 사용하여 생성되는
    방법.
  9. 제8항에 있어서,
    상기 물리적 객체를 설명하는 입력은,
    상기 물리적 객체의 텍스트 설명,
    상기 물리적 객체의 이미지, 또는
    상기 객체를 설명하는 메타데이터
    중 하나 이상을 포함하는
    방법.
  10. 제5항에 있어서,
    상기 온라인 시스템에 의해 상기 복수의 외부 시스템으로부터, 상기 복수의 물리적 객체를 설명하는 정보를 수신하는 단계와,
    상기 복수의 물리적 객체 각각에 대해, 상기 물리적 객체를 설명하는 정보를 제공한 상기 외부 시스템을 식별하는 메타데이터를 저장하는 단계를 더 포함하는
    방법.
  11. 제5항에 있어서,
    상기 복수의 물리적 객체의 각각의 물리적 객체에 대해, 상기 물리적 객체의 상기 구성요소 세트와 연관된 값의 가중 조합을 생성하는 단계와,
    상기 가중 조합에 기초하여 상기 복수의 물리적 객체의 순위를 정하는 단계와,
    상기 순위에 기초하여 상기 클라이언트 디바이스를 통해 상기 복수의 물리적 객체의 적어도 하나의 서브세트를 디스플레이하는 단계를 더 포함하는
    방법.
  12. 제5항에 있어서,
    상기 복수의 외부 시스템으로부터 수신된 상기 물리적 객체를 설명하는 정보에 기초하여 상기 복수의 물리적 객체 각각에 대한 인기 점수(popularity score)를 결정하는 단계와,
    상기 인기 점수에 기초하여 상기 복수의 물리적 객체의 순위를 정하는 단계와,
    상기 순위에 기초하여 상기 클라이언트 디바이스를 통해 상기 복수의 물리적 객체의 적어도 하나의 서브세트를 디스플레이하는 단계를 더 포함하는
    방법.
  13. 명령어를 저장하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어는, 디스플레이 제조 시스템의 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    복수의 물리적 객체를 설명하는 정보를 수신 - 각각의 물리적 객체는 물리적 객체 유형을 갖고, 각각의 물리적 객체는 구성요소 세트를 포함하며, 각각의 구성요소는 구성요소 유형을 가짐 - 하게 하고,
    시각 검색 쿼리를 위한 특정 물리적 객체 유형의 사양을 수신하게 하며,
    상기 물리적 객체 유형의 하나 이상의 구성요소 각각에 대해, 클라이언트 디바이스로부터, 특정 구성요소 유형의 사양을 수신하게 하고,
    예시적인 물리적 객체의 이미지를 구성 - 상기 예시적인 물리적 객체의 이미지는 상기 구성요소 세트로부터 각각의 구성요소의 이미지를 합성함으로써 획득되고, 상기 하나 이상의 구성요소 각각의 이미지는 상기 클라이언트 디바이스로부터 수신된 상기 특정 구성요소 유형의 사양에 대응함 - 하게 하며,
    상기 클라이언트 디바이스를 통해 디스플레이할 상기 예시적인 물리적 객체의 이미지를 전송하게 하고,
    상기 시각 검색 쿼리에 의해 지정된 상기 물리적 객체와 매칭되는 구성요소를 갖는 물리적 객체를 식별하기 위한 요청을 수신하게 하며,
    상기 요청에 기초하여 물리적 객체 세트를 식별하게 하고,
    상기 클라이언트 디바이스를 통해 디스플레이할 상기 물리적 객체 세트를 설명하는 정보를 전송하게 하는
    비일시적 컴퓨터 판독가능 매체.
  14. 제13항에 있어서,
    상기 프로세서로 하여금, 각각의 물리적 객체 유형마다, 상기 물리적 객체 유형의 물리적 객체의 각각의 구성요소에 대해, 상기 물리적 객체의 하나 이상의 다른 구성요소에 대한 상기 구성요소의 위치를 저장하게 하는 명령어를 더 저장하되,
    상기 물리적 객체의 이미지를 구성하는 것은 각각의 구성요소의 상기 저장된 위치에 따라 상기 물리적 객체의 구성요소의 이미지를 사용자 인터페이스에 배치하는 것을 포함하는
    비일시적 컴퓨터 판독가능 매체.
  15. 제13항에 있어서,
    상기 프로세서로 하여금,
    상기 복수의 물리적 객체 각각의 표현을 구성요소 유형 세트에 매핑하는 인덱스를 저장 - 상기 구성요소 유형 세트 각각은 상기 물리적 객체의 구성요소에 대응함 - 하게 하고,
    상기 인덱스에 기초하여 상기 시각 검색 쿼리에 의해 지정된 상기 구성요소 유형 세트에 매칭되는 하나 이상의 구성요소를 갖는 물리적 객체의 표현에 액세스하게 하는
    명령어를 더 저장하는
    비일시적 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    상기 인덱스는 물리적 객체를 설명하는 입력을 수신하고 상기 물리적 객체의 구성요소의 구성요소 유형을 예측하도록 트레이닝된 신경망 기반 모델을 사용하여 생성되는
    비일시적 컴퓨터 판독가능 매체.
  17. 제16항에 있어서,
    상기 물리적 객체를 설명하는 입력은,
    상기 물리적 객체의 텍스트 설명,
    상기 물리적 객체의 이미지, 또는
    상기 물리적 객체를 설명하는 메타데이터
    중 하나 이상을 포함하는
    비일시적 컴퓨터 판독가능 매체.
  18. 제13항에 있어서,
    상기 프로세서로 하여금,
    상기 복수의 물리적 객체를 설명하는 정보를 수신하게 하고,
    상기 물리적 객체를 설명하는 정보를 제공한 외부 시스템을 식별하는 메타데이터를 저장하게 하는
    명령어를 더 저장하는
    비일시적 컴퓨터 판독가능 매체.
  19. 제13항에 있어서,
    상기 프로세서로 하여금,
    상기 복수의 물리적 객체의 각각의 물리적 객체에 대해, 상기 물리적 객체의 상기 구성요소 세트와 연관된 값의 가중 조합을 생성하게 하고,
    상기 가중 조합에 기초하여 상기 복수의 물리적 객체의 순위를 정하게 하며,
    상기 순위에 기초하여 상기 클라이언트 디바이스를 통해 상기 복수의 물리적 객체의 적어도 하나의 서브세트를 디스플레이하게 하는
    명령어를 더 저장하는
    비일시적 컴퓨터 판독가능 매체.
  20. 제13항에 있어서,
    상기 프로세서로 하여금,
    상기 복수의 외부 시스템으로부터 수신된 상기 물리적 객체를 설명하는 정보에 기초하여 상기 복수의 물리적 객체 각각에 대한 인기 점수를 결정하게 하고,
    상기 인기 점수에 기초하여 상기 복수의 물리적 객체의 순위를 정하게 하며,
    상기 순위에 기초하여 상기 클라이언트 디바이스를 통해 상기 복수의 물리적 객체의 적어도 하나의 서브세트를 디스플레이하게 하는
    명령어를 더 저장하는
    비일시적 컴퓨터 판독가능 매체.
KR1020190176449A 2018-04-17 2019-12-27 시각 검색 쿼리를 사용하여 물리적 객체를 식별하는 기법 KR102301663B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862658598P 2018-04-17 2018-04-17
US16/364,091 US20200081912A1 (en) 2018-04-17 2019-03-25 Identifying physical objects using visual search query
US16/364,091 2019-03-25

Publications (2)

Publication Number Publication Date
KR20200115044A KR20200115044A (ko) 2020-10-07
KR102301663B1 true KR102301663B1 (ko) 2021-09-14

Family

ID=69719549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190176449A KR102301663B1 (ko) 2018-04-17 2019-12-27 시각 검색 쿼리를 사용하여 물리적 객체를 식별하는 기법

Country Status (2)

Country Link
US (1) US20200081912A1 (ko)
KR (1) KR102301663B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993825B (zh) * 2019-03-11 2023-06-20 北京工业大学 一种基于深度学习的三维重建方法
US20220300550A1 (en) * 2021-03-19 2022-09-22 Google Llc Visual Search via Free-Form Visual Feature Selection
US20220308929A1 (en) * 2021-03-24 2022-09-29 International Business Machines Corporation System and method for provisioning cloud computing resources

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102652362B1 (ko) * 2017-01-23 2024-03-29 삼성전자주식회사 전자 장치 및 전자 장치 제어 방법

Also Published As

Publication number Publication date
US20200081912A1 (en) 2020-03-12
KR20200115044A (ko) 2020-10-07

Similar Documents

Publication Publication Date Title
US11610242B2 (en) System and method allowing social fashion selection in an electronic marketplace
WO2021223567A1 (zh) 内容处理方法、装置、计算机设备和存储介质
US10691744B2 (en) Determining affiliated colors from keyword searches of color palettes
US10235389B2 (en) Identifying data from keyword searches of color palettes
US9792303B2 (en) Identifying data from keyword searches of color palettes and keyword trends
US9898487B2 (en) Determining color names from keyword searches of color palettes
KR102301663B1 (ko) 시각 검색 쿼리를 사용하여 물리적 객체를 식별하는 기법
US10073860B2 (en) Generating visualizations from keyword searches of color palettes
US9922050B2 (en) Identifying data from keyword searches of color palettes and color palette trends
US9607010B1 (en) Techniques for shape-based search of content
CN112313697A (zh) 用于生成描述角度增强的可解释的基于描述的推荐的系统和方法
WO2017118937A1 (en) Webinterface generation and testing using artificial neural networks
US11860928B2 (en) Dialog-based image retrieval with contextual information
JP2022534933A (ja) ウェブ構築システムサービスにユーザフィードバックを統合するシステム及び方法
CN107241914B (zh) 用于搜索查询重写的系统和方法
US9135329B1 (en) Presenting item information based on associated entity relationships
CN112632403A (zh) 推荐模型的训练方法、推荐方法、装置、设备和介质
CN107925698A (zh) 文件类型相关的查询系统
CN107111592A (zh) 用于网络客户端的导航控制
KR20220019737A (ko) 패션 상품 추천 방법, 장치 및 컴퓨터 프로그램
US11488223B1 (en) Modification of user interface based on dynamically-ranked product attributes
CN112989177B (zh) 信息处理方法、装置、电子设备及计算机存储介质
TW202407531A (zh) 媒體項目及產品配對
KR20220044715A (ko) 패션 상품 추천 방법, 장치 및 컴퓨터 프로그램
TWI582624B (zh) 用於感知情境並推薦資訊之電子計算裝置、其方法及其電腦程式產品

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant