KR20220079395A - 제품의 이미지 캡처 중에 추천을 생성하기 위한 시스템 및 방법 - Google Patents

제품의 이미지 캡처 중에 추천을 생성하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20220079395A
KR20220079395A KR1020210052322A KR20210052322A KR20220079395A KR 20220079395 A KR20220079395 A KR 20220079395A KR 1020210052322 A KR1020210052322 A KR 1020210052322A KR 20210052322 A KR20210052322 A KR 20210052322A KR 20220079395 A KR20220079395 A KR 20220079395A
Authority
KR
South Korea
Prior art keywords
image
product
images
merchant
camera
Prior art date
Application number
KR1020210052322A
Other languages
English (en)
Inventor
벤자민 루이
구두루 사이 니하스
살림 바틀로우니
Original Assignee
쇼피파이 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쇼피파이 인크. filed Critical 쇼피파이 인크.
Publication of KR20220079395A publication Critical patent/KR20220079395A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06K9/6201
    • 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0276Advertisement creation
    • 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/0641Shopping interfaces
    • 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/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00148Storage
    • H04N1/00159Storage for sharing images without access restriction, e.g. publishing images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00161Viewing or previewing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00169Digital image input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00183Photography assistance, e.g. displaying suggestions to the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Studio Devices (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

제품의 이미지 캡처 중에 추천을 생성하기 위한 시스템 및 방법이 제공된다. 이 방법은 사용자 디바이스 내의 카메라로부터 카메라 라이브 스트림을 획득하는 단계 - 상기 카메라 라이브 스트림은 특정 제품의 이미지 데이터를 포함함 - ; 컬렉션의 하나 이상의 제품의 이미지들의 이미지 데이터의 이미지 분석에 적어도 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지들에 공통적인 하나 이상의 기준 이미지 특징을 결정하는 단계; 상기 하나 이상의 기준 이미지 특징을 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징과 비교하여 하나 이상의 추천을 생성하는 단계; 및 상기 사용자 디바이스 상에 상기 카메라 라이브 스트림과 함께 디스플레이하기 위해, 상기 하나 이상의 추천을 생성하는 단계를 포함할 수 있다.

Description

제품의 이미지 캡처 중에 추천을 생성하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR GENERATING RECOMMENDATIONS DURING IMAGE CAPTURE OF A PRODUCT}
본 개시는 제품의 이미지를 캡처하는 것과 관련이 있고, 특히, 제품의 이미지 캡처 중에 추천을 생성하는 것과 관련이 있다.
일부 온라인 카탈로그 플랫폼에서는, 사용자가 하나 이상의 제품의 사진을 촬영하는 작업을 수행할 수 있다. 제품들 및/또는 사진들은 서로 관련될 수 있고, 따라서, 사진들 간의 일관성이 중요하다. 예를 들어, 동일한 상점에서 또는 동일한 컬렉션에서 판매되고 있는 상이한 제품들의 사진들이 촬영될 수 있다. 다른 예로서, 동일한 제품의 상이한 변형들(색상, 크기 등)의 사진들이 촬영될 수 있다. 고객은 다수의 관련 사진들을 동시에 볼 수 있거나 관련 사진들을 빠르게 연속하여 볼 수 있다. 관련 사진들의 임의의 시각적 차이들은 고객에게 좋지 않은 경험을 야기할 수 있고 브랜드 매력 및/또는 판매의 감소로 이어질 수 있다.
실시예들은 아래 첨부 도면들을 참조하여 단지 예로서 설명될 것이다.
도 1은 일 실시예에 따른 예시적인 전자 상거래 플랫폼의 블록도이다.
도 2는 일 실시예에 따른 관리자의 홈 페이지의 예이다.
도 3은 일 실시예에 따른, 다른 예시적인 전자 상거래 플랫폼의 블록도이다.
도 4는 일 실시예에 따른 제품의 이미지 캡처 중에 추천을 생성하기 위한 예시적인 시스템을 예시하는 블록도이다.
도 5는 일 실시예에 따른 룩업 테이블의 형태로 예시적인 제품 이미지 특징 모델을 예시하는 다이어그램이다.
도 6은 일 실시예에 따른 제품의 이미지 캡처 중에 추천을 생성하기 위한 예시적인 방법을 예시하는 흐름도이다.
도 7은 일 실시예에 따른 컬렉션에서 하나 이상의 제품의 이미지를 획득하기 위한 예시적인 방법을 예시하는 흐름도이다.
도 8은 일 실시예에 따른 컬렉션에서 하나 이상의 제품의 이미지를 획득하기 위한 다른 예시적인 방법을 예시하는 흐름도이다.
도 9는 일 실시예에 따른 화면 페이지를 예시한다.
도 10은 일 실시예에 따른 하나 이상의 이미지를 캡처하는 예시적인 방법을 예시하는 흐름도이다.
도 11은 일 실시예에 따른 화면 페이지를 예시한다.
도 12는 일 실시예에 따른 화면 페이지를 예시한다.
일부 온라인 카탈로그 플랫폼에서는, 사용자가 하나 이상의 제품의 사진을 촬영하는 작업을 수행할 수 있다. 제품들 및/또는 사진들은 서로 관련될 수 있고, 따라서, 사진들 간의 일관성이 중요하다. 예를 들어, 동일한 상점에서 또는 동일한 컬렉션에서 판매되고 있는 상이한 제품들의 사진들이 촬영될 수 있다. 다른 예로서, 동일한 제품의 상이한 변형들(색상, 크기 등)의 사진들이 촬영될 수 있다. 고객은 다수의 관련 사진들을 동시에 볼 수 있거나 관련 사진들을 빠르게 연속하여 볼 수 있다. 관련 사진들의 임의의 시각적 차이들은 고객에게 좋지 않은 경험을 야기할 수 있고 브랜드 매력 및/또는 판매의 감소로 이어질 수 있다.
시각적 차이들은 종횡비, 제품 시야각, 카메라 각도, 전경과 배경 간의 깊이, 조명, 배경 물체, 배경 클러터(background clutter), 배경 구성, 프레임에서 제품의 위치 등의 차이로 인해 발생할 수 있다.
사용자는 관련 제품들의 사진들을 촬영하고 후처리 액션들을 이용하여 이들 사진 간의 임의의 모순들을 정정하려고 시도할 수 있다. 이 시점에서, 사용자는 모순되는 사진들이 원하는 일관성을 달성하기 위해 편집 가능하지 않을 수 있고 따라서 전체 프로세스를 다시 시작할 필요가 있을 것임을 인식할 수 있다. 이는 일반 사용자에게는 어렵고 실망스러울 수 있고 여러 번의 헛된 시도로 이어질 수 있다.
일 양태에 따르면, 본 출원은 제품의 이미지 캡처 중에 추천을 생성하기 위한 시스템 및 방법들을 제공한다. 이 시스템들 및 방법들은 사용자 디바이스 내의 카메라로부터 카메라 라이브 스트림을 획득할 수 있고, 상기 카메라 라이브 스트림은 특정 제품의 이미지 데이터를 포함한다. 컬렉션의 하나 이상의 제품의 이미지들의 이미지 데이터의 이미지 분석에 적어도 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지들에 공통적인 하나 이상의 기준 이미지 특징(baseline image features)이 결정될 수 있다. 상기 하나 이상의 기준 이미지 특징은 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징과 비교될 수 있고 하나 이상의 추천이 생성될 수 있다. 상기 하나 이상의 추천은 상기 사용자 디바이스 상에 상기 카메라 라이브 스트림과 함께 디스플레이될 수 있다. 이러한 방식으로, 추천들은 상기 사용자에게 상기 하나 이상의 이미지 특징이 동일한 컬렉션 내의 하나 이상의 이미지의 이미지 특징들과 일관되도록 보장하는 조정을 하도록 지시할 수 있다.
일 양태에서는 컴퓨터 구현 방법(computer-implemented method)이 제공될 수 있다. 이 컴퓨터 구현 방법은 사용자 디바이스 내의 카메라로부터 카메라 라이브 스트림을 획득하는 단계 - 상기 카메라 라이브 스트림은 특정 제품의 이미지 데이터를 포함함 - ; 컬렉션의 하나 이상의 제품의 이미지들의 이미지 데이터의 이미지 분석에 적어도 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지들에 공통적인 하나 이상의 기준 이미지 특징을 결정하는 단계; 상기 하나 이상의 기준 이미지 특징을 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징과 비교하여 하나 이상의 추천을 생성하는 단계; 및 상기 사용자 디바이스 상에 상기 카메라 라이브 스트림과 함께 디스플레이하기 위해, 상기 하나 이상의 추천을 생성하는 단계를 포함할 수 있다.
하나 이상의 실시예에서, 상기 하나 이상의 추천은 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징을 조정하기 위한 추천들일 수 있다.
하나 이상의 실시예에서, 이 방법은 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징이 상기 하나 이상의 기준 이미지 특징의 문턱 값 내에 있을 때까지 상기 비교 및 생성을 반복하는 단계를 추가로 포함할 수 있다.
하나 이상의 실시예에서, 이 방법은 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징이 상기 하나 이상의 기준 이미지 특징의 문턱 값 내에 있는 것에 응답하여, 상기 사용자 디바이스가 상기 특정 제품의 하나 이상의 이미지를 캡처하게 하는 단계를 추가로 포함할 수 있다.
하나 이상의 실시예에서, 이 방법은 상기 특정 제품의 이미지 데이터를 분석하여 상기 특정 제품을 식별하는 단계; 및 상기 식별된 특정 제품에 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지들을 획득하는 단계를 추가로 포함할 수 있다.
하나 이상의 실시예에서, 이 방법은 상기 카메라 라이브 스트림을 획득하기 전에, 상기 특정 제품에 관한 정보를 획득하는 단계; 및 상기 특정 제품에 관한 정보에 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지들을 획득하는 단계를 추가로 포함할 수 있다.
하나 이상의 실시예에서, 상기 컬렉션의 하나 이상의 제품의 이미지들은 상기 사용자에 의해 이전에 캡처된 이미지들일 수 있다.
하나 이상의 실시예에서, 상기 추천들은 상기 기준 이미지 특징들과 더 일관된 상기 특정 제품의 추가 이미지를 캡처하기 위해 생성될 수 있다.
하나 이상의 실시예에서, 상기 이미지 특징들은 이미지 해상도, 픽셀 밀도, 이미지 밝기, 피사계 심도, 초점, 상기 이미지에서 제품의 크기, 상기 이미지에서 제품의 각도, 상기 이미지에서 제품의 방향, 또는 상기 제품과 배경 사이의 대비 중 적어도 하나를 포함할 수 있다.
하나 이상의 실시예에서, 상기 하나 이상의 추천은 관련 제품의 형상, 텍스트, 이미지, 또는 애니메이션 중 적어도 하나를 포함할 수 있다.
다른 양태에 따르면 시스템이 제공될 수 있다. 이 시스템은 하나 이상의 프로세서; 프로세서 실행가능 명령어들을 포함하는 프로세서 판독가능 저장 매체를 포함할 수 있고, 상기 프로세서 실행가능 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 사용자 디바이스 내의 카메라로부터 카메라 라이브 스트림을 획득하고 - 상기 카메라 라이브 스트림은 특정 제품의 이미지 데이터를 포함함 - ; 컬렉션의 하나 이상의 제품의 이미지들의 이미지 데이터의 이미지 분석에 적어도 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지들에 공통적인 하나 이상의 기준 이미지 특징을 결정하고; 상기 하나 이상의 기준 이미지 특징을 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징과 비교하여 하나 이상의 추천을 생성하고; 상기 사용자 디바이스 상에 상기 카메라 라이브 스트림과 함께 디스플레이하기 위해, 상기 하나 이상의 추천을 생성하게 할 수 있다.
하나 이상의 실시예에서, 상기 하나 이상의 추천은 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징을 조정하기 위한 추천들일 수 있다.
하나 이상의 실시예에서, 상기 프로세서 실행가능 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징이 상기 하나 이상의 기준 이미지 특징의 문턱 값 내에 있을 때까지 상기 비교 및 생성을 반복하게 할 수 있다.
하나 이상의 실시예에서, 상기 프로세서 실행가능 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금, 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징이 상기 하나 이상의 기준 이미지 특징의 문턱 값 내에 있는 것에 응답하여, 상기 사용자 디바이스가 상기 특정 제품의 하나 이상의 이미지를 캡처하도록 하게 할 수 있다.
하나 이상의 실시예에서, 상기 프로세서 실행가능 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금 상기 특정 제품의 이미지 데이터를 분석하여 상기 특정 제품을 식별하고; 상기 식별된 특정 제품에 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지들을 획득하게 할 수 있다.
하나 이상의 실시예에서, 상기 프로세서 실행가능 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로 상기 하나 이상의 프로세서로 하여금, 상기 카메라 라이브 스트림을 획득하기 전에, 상기 특정 제품에 관한 정보를 획득하고; 상기 특정 제품에 관한 정보에 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지들을 획득하게 할 수 있다.
하나 이상의 실시예에서, 상기 컬렉션의 하나 이상의 제품의 이미지들은 상기 사용자에 의해 이전에 캡처된 이미지들일 수 있다.
하나 이상의 실시예에서, 상기 추천들은 상기 기준 이미지 특징들과 더 일관된 상기 특정 제품의 추가 이미지를 캡처하기 위해 생성될 수 있다.
하나 이상의 실시예에서, 상기 시스템은 상기 사용자 디바이스 - 상기 사용자 디바이스는 상기 하나 이상의 프로세서를 포함함 - ; 상기 하나 이상의 프로세서에 커플링된 디스플레이; 및 상기 카메라를 포함할 수 있고, 상기 카메라는 이미지 센서를 포함하고 상기 라이브 카메라 스트림을 상기 하나 이상의 프로세서에 제공한다.
다른 양태에 따르면, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 본 명세서에 기술된 방법들 중 임의의 것을 수행하게 할 수 있는 프로세서 실행가능 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체가 제공될 수 있다.
다른 양태에 따르면, 프로세서 상에서 실행될 때, 본 명세서에 기술된 방법들 중 임의의 것을 수행하도록 구성되는 컴퓨터 프로그램이 제공될 수 있다.
예시의 목적을 위해, 특정 예시적인 실시예들이 이제 도면들과 함께 아래에 더 상세히 설명될 것이다.
예시적인 전자 상거래 플랫폼
일부 실시예들에서, 필수는 아니지만, 본 명세서에 개시된 방법들은 전자 상거래 플랫폼 상에서 또는 전자 상거래 플랫폼과 관련하여 수행될 수 있다. 따라서, 전자 상거래 플랫폼의 예가 배경으로 설명될 것이다.
도 1은 일 실시예에 따른, 전자 상거래 플랫폼(100)을 예시한다. 전자 상거래 플랫폼(100)은 상인 제품들 및 서비스들을 고객들에게 제공하기 위해 사용될 수 있다. 본 개시는 제품들 및 서비스들을 구매하기 위해 본 장치, 시스템, 및 프로세스를 사용하는 것을 고려하지만, 간결함을 위해 본 명세서에서의 설명은 제품들을 언급할 것이다. 본 개시의 전체에 걸쳐 제품들에 대한 모든 언급은, 물리적 제품들, 디지털 콘텐츠, 티켓들, 구독들, 제공될 서비스들 등을 포함하여, 제품들 및/또는 서비스들에 대한 언급인 것으로 또한 이해되어야 한다.
본 개시는 전체에 걸쳐 '상인' 및 '고객'이 개인들 이상일 수 있음을 고려하지만, 간결함을 위해 본 명세서에서의 설명은 일반적으로 상인들 및 고객들(또는 "구매자들")을 그와 같이 언급할 수 있다. 본 개시의 전체에 걸쳐 상인들 및 고객들에 대한 모든 언급은 개인들, 회사들, 기업들, 컴퓨팅 엔티티들 등의 그룹들에 대한 언급인 것으로 또한 이해되어야 하고, 제품들의 영리 목적 또는 비영리 목적 교환을 나타낼 수 있다. 또한, 본 개시는 전체에 걸쳐 '상인들' 및 '고객들'을 언급하고, 그들의 역할을 그와 같이 설명하지만, 전자 상거래 플랫폼(100)은 전자 상거래 환경에서의 사용자들을 더 일반적으로 지원하는 것으로 이해되어야 하고, 본 개시의 전체에 걸쳐 상인들 및 고객들에 대한 모든 언급은 사용자들에 대한 언급인 것으로 또한 이해되어야 하는데, 예컨대 여기서 사용자는 상인-사용자(예를 들어, 제품들의 판매자, 소매업자, 도매업자, 또는 제공자), 고객-사용자(예를 들어, 구매자, 구매 대리인, 또는 제품들의 사용자), 잠재적 사용자(예를 들어, 브라우징하고 있지만 아직 구매를 약속하지 않은 사용자, 마케팅 및 제품 판매 등에 잠재적인 사용을 위해 전자 상거래 플랫폼(100)을 평가하는 사용자), 서비스 제공자 사용자(예를 들어, 배송 제공자(112), 금융 제공자 등), 회사 또는 기업 사용자(예를 들어, 제품들의 구매, 판매, 또는 사용을 위한 회사 대표; 기업 사용자; 고객 관계 또는 고객 관리 대리인 등), 정보 기술 사용자, 컴퓨팅 엔티티 사용자(예를 들어, 제품들의 구매, 판매 또는 사용을 위한 컴퓨팅 봇) 등이다.
전자 상거래 플랫폼(100)은 상인들에게 그들의 비즈니스를 관리하기 위한 온라인 리소스들 및 설비들을 제공하기 위한 중앙 집중형 시스템을 제공할 수 있다. 본 명세서에 기술된 설비들은 플랫폼(100)의 일부이거나 외부에 있을 수 있는 하나 이상의 프로세서 상에서 컴퓨터 소프트웨어, 모듈들, 프로그램 코드들, 및/또는 명령어들을 실행하는 머신을 통해 부분적으로 또는 전체적으로 배치될 수 있다. 상인들은, 예컨대 온라인 상점(138)를 통해, 채널들(110A-B)을 통해, 물리적 위치들(예를 들어, 키오스크, 단말기, 판독기, 프린터, 3D 프린터 등과 같은 것을 통해 물리적 스토어프런트(storefront) 또는 다른 위치)에서 POS 디바이스들(152)을 통해 고객들과의 전자 상거래 경험을 구현하는 것에 의해, 전자 상거래 플랫폼(100)을 통해 비즈니스를 관리하는 것에 의해, 전자 상거래 플랫폼(100)의 통신 설비(129)를 통해 고객들과 상호작용하는 것에 의해, 또는 이들의 임의의 조합에 의해, 고객들과의 상거래를 관리하기 위해 전자 상거래 플랫폼(100)을 이용할 수 있다. 상인은 전자 상거래 플랫폼(100)을 고객들과의 단독 상거래 존재로서, 또는 다른 상인 상거래 설비들과 함께, 예컨대 물리적 상점(예를 들어, '오프라인(brick-and-mortar)' 소매 상점), 상인 오프-플랫폼 웹사이트(104)(예를 들어, 상거래 인터넷 웹사이트 또는 전자 상거래 플랫폼과는 별도로 상인에 의해 또는 상인을 대신하여 지원되는 다른 인터넷 또는 웹 속성 또는 자산) 등을 통해 이용할 수 있다. 그러나, 이들 '다른' 상인 상거래 설비들도 전자 상거래 플랫폼에 통합될 수 있는데, 예컨대 여기서 상인의 물리적 상점에 있는 POS 디바이스들(152)이 전자 상거래 플랫폼(100)에 링크되고, 여기서 상인 오프-플랫폼 웹사이트(104)가 예컨대 상인 오프 플랫폼 웹사이트(104)로부터의 콘텐츠를 온라인 상점(138)으로 링크하는 '구매 버튼(buy buttons)' 등을 통해 전자 상거래 플랫폼(100)에 연결된다.
온라인 상점(138)은 복수의 가상 스토어프런트를 포함하는 멀티테넌트 설비(multitenant facility)를 나타낼 수 있다. 실시예들에서, 상인들은 상인 디바이스(102)(예를 들어, 컴퓨터, 랩톱 컴퓨터, 모바일 컴퓨팅 디바이스 등)를 통해 온라인 상점(138)에서 하나 이상의 스토어프런트를 관리할 수 있고, 다수의 상이한 채널들(110A-B)(예를 들어, 온라인 상점(138); POS 디바이스(152)를 통한 물리적 스토어프런트; 예컨대 소셜 네트워크, 소셜 미디어 페이지, 소셜 미디어 메시징 시스템 상의 웹사이트 또는 소셜 미디어 채널에 통합된 전자 구매 버튼을 통한, 전자 시장; 등)을 통해 고객들에게 제품들을 제공할 수 있다. 상인은 채널들(110A-B)을 통해 판매한 다음 전자 상거래 플랫폼(100)을 통해 그들의 판매를 관리할 수 있고, 여기서 채널들(110A)은 전자 상거래 플랫폼(100) 내부에 또는 전자 상거래 채널(110B) 외부로부터 제공될 수 있다. 상인은 그들의 물리적 소매 상점에서, 팝업에서, 도매를 통해, 전화를 통해 등등으로 판매한 다음 전자 상거래 플랫폼(100)을 통해 그들의 판매를 관리할 수 있다. 상인은 POS 디바이스들(152)을 이용하여 물리적 스토어프런트를 통해 비즈니스를 유지하는 것, 온라인 상점(138)을 통해 가상 스토어프런트를 유지하는 것, 및 통신 설비(129)를 이용하여 고객 상호작용 및 분석(132)을 이용하는 것여 고객 상호작용 및 분석(132)을 이용하여 판매 확률을 개선하는 것과 같이, 이들의 전부 또는 임의의 조합을 이용할 수 있다. 본 개시의 전체에 걸쳐 온라인 상점(138) 및 스토어프런트라는 용어들은 전자 상거래 플랫폼(100)을 통해 상인의 온라인 전자 상거래 제공 존재를 지칭하기 위해 동의어로 사용될 수 있고, 여기서 온라인 상점(138)은 전자 상거래 플랫폼(100)에 의해 지원되는 스토어프런트들의 멀티테넌트 컬렉션을 지칭하거나(예를 들어, 복수의 상인을 위한) 또는 개별 상인의 스토어프런트(예를 들어, 상인의 온라인 상점)를 지칭할 수 있다.
일부 실시예들에서, 고객은 고객 디바이스(150)(예를 들어, 컴퓨터, 랩톱 컴퓨터, 모바일 컴퓨팅 디바이스 등), POS 디바이스(152)(예를 들어, 소매 디바이스, 키오스크, 자동화된 체크아웃 시스템 등), 또는 당업계에 알려진 임의의 다른 상거래 인터페이스 디바이스를 통해 상호작용할 수 있다. 전자 상거래 플랫폼(100)은 상인들이 온라인 상점(138)을 통해, 물리적 위치들(예를 들어, 상인의 스토어프런트 또는 다른 곳)에서의 POS 디바이스들(152)을 통해 고객에게 도달하여, 전자 통신 설비(129)를 통한 대화를 통해 고객들과의 상거래를 촉진하는 것 등을 가능하게 하여, 고객들에게 도달하기 위한 시스템을 제공하고 고객들에게 도달하고 그들과 상호작용하기 위해 이용가능한 실제 또는 가상 경로들을 위한 상인 서비스들을 가능하게 한다.
일부 실시예들에서, 그리고 본 명세서에 더 기술된 바와 같이, 전자 상거래 플랫폼(100)은 프로세서 및 메모리를 포함하는 처리 설비를 통해 구현될 수 있고, 이 처리 설비는, 실행될 때, 전자 상거래 플랫폼(100)으로 하여금 전자 상거래를 수행하고 본 명세서에 기술된 바와 같은 기능들을 지원하게 하는 일련의 명령어들을 저장한다. 처리 설비는 서버, 클라이언트, 네트워크 인프라, 모바일 컴퓨팅 플랫폼, 클라우드 컴퓨팅 플랫폼, 고정 컴퓨팅 플랫폼, 또는 다른 컴퓨팅 플랫폼의 일부일 수 있고, 전자 상거래 플랫폼(100)의 전자 컴포넌트들, 상인 디바이스들(102), 결제 게이트웨이들(106), 애플리케이션 개발자들, 채널들(110A-B), 배송 제공자들(112), 고객 디바이스들(150), POS(point of sale) 디바이스들(152) 등 사이의 전자 연결 및 통신을 제공한다. 전자 상거래 플랫폼(100)은, 예컨대 소프트웨어가 구독 기반으로 라이센스되고 중앙에서 호스팅되는(예를 들어, 웹 브라우저 또는 다른 애플리케이션을 통해 클라이언트(예를 들어, 씬 클라이언트)를 사용하는 사용자들에 의해 액세스되고, POS 디바이스들을 통해 액세스되는 등) 소프트웨어 및 제공 모델에서, 클라우드 컴퓨팅 서비스, SaaS(software as a service), IaaS(infrastructure as a service), PaaS(platform as a service), DaaS(desktop as a Service), MSaaS(managed software as a service), MBaaS(mobile backend as a service), ITMaaS(information technology management as a service) 등으로 구현될 수 있다. 일부 실시예들에서, 전자 상거래 플랫폼(100)의 요소들은 iOS, Android와 같은 다양한 플랫폼들 및 운영 체제들 상에서, 웹 상에서 등등으로 동작하도록 구현될 수 있다(예를 들어, 관리자(114)는 iOS, Android 용의, 그리고 웹 용의 주어진 온라인 상점에 대한 다수의 인스턴스에서 구현되고, 각각 유사한 기능을 가짐).
일부 실시예들에서, 온라인 상점(138)은 전자 상거래 플랫폼(100)의 서버에 의해 제공되는 웹페이지를 통해 고객 디바이스(150)에 서빙될 수 있다. 서버는 고객 디바이스(150)에 설치된 브라우저 또는 다른 애플리케이션으로부터 웹페이지에 대한 요청을 수신할 수 있고, 여기서 브라우저(또는 다른 애플리케이션)는 IP 주소를 통해 서버에 연결하고, IP 주소는 도메인 이름을 번역하여 획득된다. 대답으로서, 서버는 요청된 웹페이지를 돌려보낸다. 웹페이지들은 HTML(Hypertext Markup Language), 템플릿 언어, JavaScript 등, 또는 이들의 임의의 조합으로 작성되거나 이를 포함할 수 있다. 예를 들어, HTML은 웹페이지의 레이아웃, 형식, 및 콘텐츠와 같은, 웹페이지의 정적 정보를 기술하는 컴퓨터 언어이다. 웹사이트 디자이너들 및 개발자들은 템플릿 언어를 사용하여 다수의 페이지들에서 동일한 정적 콘텐츠와 하나의 페이지와 다음 페이지 간에 변경되는 동적 콘텐츠를 조합하는 웹페이지들을 구축할 수 있다. 템플릿 언어는 웹페이지의 레이아웃을 정의하는 정적 요소들을 재사용하면서, 온라인 상점으로부터의 데이터로 페이지를 동적으로 채우는 것을 가능하게 할 수 있다. 정적 요소들은 HTML로 작성될 수 있고, 동적 요소들은 템플릿 언어로 작성될 수 있다. 파일 내의 템플릿 언어 요소들은 플레이스홀더로서의 역할을 할 수 있고, 따라서 파일 내의 코드가 컴파일되어 고객 디바이스(150)로 전송된 다음 템플릿 언어는, 예컨대 테마가 설치된 경우, 온라인 상점(138)으로부터의 데이터로 대체된다. 템플릿과 테마들은 태그들, 객체들, 및 필터들을 고려할 수 있다. 그 후 클라이언트 디바이스 웹 브라우저(또는 다른 애플리케이션)가 그에 따라 페이지를 렌더링한다.
일부 실시예들에서, 온라인 상점들(138)은 전자 상거래 플랫폼(100)에 의해 고객들에게 서빙될 수 있고, 여기서 고객들은 이용가능한 다양한 제품을 탐색하고 구매할 수 있다(예를 들어, 그것들을 장바구니에 추가하고, 구매 버튼을 통해 즉시 구매하고, 등등). 온라인 상점들(138)은 그것이 전자 상거래 플랫폼(100)을 통해(상인으로부터 직접이 아니라) 제공되고 있음을 고객들이 반드시 알고 있을 필요 없이 투명한 방식으로 고객에게 서빙될 수 있다. 상인들은 상인 구성 가능한 도메인 이름, 사용자 지정 가능한 HTML 테마 등을 사용하여, 그들의 온라인 상점(138)을 사용자 지정(customize)할 수 있다. 상인들은 테마 시스템을 통해 그들의 웹사이트의 룩 앤드 필(look and feel)을 사용자 지정할 수 있는데, 예컨대 여기서 상인들은 온라인 상점의 제품 계층 구조 내에 동일한 기본 제품 및 비즈니스 데이터가 제시되게 하면서 그들의 테마를 변경하는 것에 의해 온라인 상점(138)의 룩 앤드 필을 선택하고 변경할 수 있다. 테마들은 사용자들이 그들의 웹사이트의 디자인을 유연하게 사용자 지정하는 것을 가능하게 하는 디자인 인터페이스인 테마 편집기를 통해 추가로 사용자 지정될 수 있다. 테마들은 또한 특정 색상들, 글꼴들, 및 미리 만들어진 레이아웃 스킴들과 같은 양태들을 변경하는 테마-특정 설정들을 사용하여 사용자 지정될 수 있다. 온라인 상점은 웹사이트 콘텐츠에 대한 콘텐츠 관리 시스템을 구현할 수 있다. 상인들은 블로그 게시물들 또는 정적 페이지들을 작성하고 그것들을 블로그들, 기사들 등을 통해 그들의 온라인 상점(138)에 게시할 수 있을 뿐만 아니라 내비게이션 메뉴들을 구성할 수 있다. 상인들은 이미지들(예를 들어, 제품들에 대한), 비디오, 콘텐츠, 데이터 등을 예컨대 시스템에 의한 저장을 위해(예를 들어, 데이터(134)로서) 전자 상거래 플랫폼(100)에 업로드할 수 있다. 일부 실시예들에서, 전자 상거래 플랫폼(100)은 이미지들을 크기 조정하고, 이미지를 제품과 연관시키고, 텍스트를 추가하고 이미지와 연관시키고, 새로운 제품 변형에 대한 이미지를 추가하고, 이미지들을 보호하고 등등을 위한 기능들을 제공할 수 있다.
본 명세서에 기술된 바와 같이, 전자 상거래 플랫폼(100)은 온라인 상점(138)을 포함하는 다수의 상이한 채널들(110A-B)을 통해, 전화를 통해, 뿐만 아니라 본 명세서에 기술된 물리적 POS 디바이스들(152)을 통해 제품들에 대한 거래 설비들을 상인들에게 제공할 수 있다. 전자 상거래 플랫폼(100)은 온라인 비즈니스를 운영하는 것, 예컨대 그들의 온라인 상점과 연관된 도메인 서비스(118), 고객과의 거래를 용이하게 하기 위한 결제 서비스들(120), 구매된 제품들에 대한 고객 배송 옵션들을 제공하기 위한 배송 서비스들(122), 제품 보호 및 법적 책임과 연관된 위험 및 보험 서비스들(124), 상인 청구(billing) 등과 연관된 비즈니스 지원 서비스들(116), 관리자(114) 등을 포함할 수 있다. 서비스들(116)은 전자 상거래 플랫폼(100)을 통해 또는 외부 설비들과 관련하여, 예컨대 결제 처리를 위한 결제 게이트웨이(106), 제품들의 배송을 촉진하기 위한 배송 제공자들(112) 등을 통해 제공될 수 있다.
일부 실시예들에서, 전자 상거래 플랫폼(100)은, 상인들에게 실시간 업데이트, 추적, 자동 요금 계산, 대량 주문 준비, 라벨 인쇄 등을 제공하는 것과 같은, 통합 배송 서비스들(122)을 제공할 수 있다(예를 들어, 전자 상거래 플랫폼 배송 설비를 통해 또는 제3자 배송 업체를 통해).
도 2는 관리자(114)의 홈 페이지에 대한 비제한적인 실시예를 묘사하는데, 이는 일상 업무, 상점의 최근 활동, 및 상인이 그들의 비즈니스를 구축하기 위해 취할 수 있는 다음 단계들에 대한 정보를 보여줄 수 있다. 일부 실시예들에서, 상인은 예컨대 데스크톱 컴퓨터 또는 모바일 디바이스로부터 상인 디바이스(102)를 통해 관리자(114)에 로그인할 수 있고, 그들의 온라인 상점(138)의 양태들, 예컨대 온라인 상점(138)의 최근 활동을 보는 것, 온라인 상점(138)의 카탈로그를 업데이트하는 것, 주문을 관리하는 것, 최근 방문 활동, 총 주문 활동 등을 관리할 수 있다. 일부 실시예들에서, 상인은 도 2에 도시된 바와 같은 사이드바를 사용하여 관리자(114)의 상이한 섹션들에 액세스할 수 있다. 관리자(114)의 섹션들은, 주문, 제품, 고객, 이용가능한 보고서 및 할인을 포함하여, 상인의 비즈니스의 코어 양태들에 액세스하고 이를 관리하기 위한 다양한 인터페이스들을 포함할 수 있다. 관리자(114)는 또한 온라인 상점, 상점에 액세스하기 위해 고객들이 이용할 수 있는 모바일 애플리케이션(들)(모바일 앱), POS 디바이스들 및/또는 구매 버튼을 포함하여 상점에 대한 판매 채널들을 관리하기 위한 인터페이스들을 포함할 수 있다. 관리자(114)는 또한 상인의 계정에 설치된 애플리케이션들(앱들)을 관리하기 위한 인터페이스들; 상인의 온라인 상점(138) 및 계정에 적용되는 설정들을 포함할 수 있다. 상인은 서치 바(search bar)를 사용하여 제품, 페이지, 또는 다른 정보를 찾을 수 있다. 상인이 사용하고 있는 디바이스(102) 또는 소프트웨어 애플리케이션에 따라, 그들은 관리자(114)를 통해 상이한 기능에 대해 가능하게 될 수 있다. 예를 들어, 상인이 브라우저로부터 관리자(114)에 로그인하면, 그들은 그들의 온라인 상점(138)의 모든 양태들을 관리할 수 있다. 상인이 그들의 모바일 디바이스로부터(예를 들어, 모바일 애플리케이션을 통해)로그인하면, 그들은 그들의 온라인 상점(138)의 양태들의 전부 또는 서브세트, 예컨대 온라인 상점(138)의 최근 활동을 보는 것, 온라인 상점(138)의 카탈로그를 업데이트하는 것, 주문을 관리하는 것, 등을 볼 수 있다.
상인의 온라인 상점(138)에 대한 상거래 및 방문자들에 대한 더 상세한 정보는, 상인의 전체 비즈니스에 대한 판매 요약, 활성 판매 채널들에 대한 특정 판매들 및 참여 데이터 등을 디스플레이하는 것과 같은, 획득 보고서들 또는 메트릭들을 통해 볼 수 있다. 보고서들은 획득 보고서들, 행동 보고서들, 고객 보고서들, 재무 보고서들, 마케팅 보고서들, 판매 보고서들, 사용자 지정 보고서들 등을 포함할 수 있다. 상인은, 예컨대 드롭 다운 메뉴들을 사용하여, 상이한 기간들(예를 들어, 일, 주, 월 등)로부터 상이한 채널들(110A-B)에 대한 판매 데이터를 볼 수 있다. 상점의 판매 및 참여 데이터에 대한 더 상세한 보기를 원하는 상인을 위해 개요 대시보드가 제공될 수 있다. 상인의 계정에서의 활동의 개요를 예시하기 위해 홈 메트릭 섹션에서의 활동 피드가 제공될 수 있다. 예를 들어, '모든 최근 활동 보기(view all recent activity)' 대시보드 버튼을 클릭하는 것에 의해, 상인은 그들의 계정에서의 최근 활동에 대한 더 긴 피드를 볼 수 있다. 홈 페이지는 예컨대 계정 상태, 성장, 최근 고객 활동 등에 기초하여, 상인의 온라인 상점(138)에 대한 알림들을 보여줄 수 있다. 알림들은 상인이 결제를 캡처하는 것, 주문을 이행된 것으로 표시하는 것, 완료된 주문을 보관하는 것 등과 같은 프로세스를 통해 탐색하는 것을 보조하기 위해 제공될 수 있다.
전자 상거래 플랫폼(100)은 예컨대 상인들, 고객들, 상인 디바이스들(102), 고객 디바이스들(150), POS 디바이스들(152) 등 간의 통신 상호작용들을 수집하고 분석하기 위한 전자 메시징 통합 설비를 이용하여 전자 통신 및 마케팅을 제공하기 위한 통신 설비(129) 및 연관된 상인 인터페이스를 제공하여, 예컨대 제품의 판매를 제공할 가능성을 증가시키는 것 등을 위해 통신을 집계하고 분석할 수 있다. 예를 들어, 고객은 고객과 상인(또는 상인을 대표하는 자동화된 프로세서 기반 에이전트) 사이의 대화를 생성할 수 있는 제품과 관련된 질문을 가질 수 있고, 여기서 통신 설비(129)는 상호작용을 분석하고 판매의 가능성을 개선하는 방법에 대해 상인에게 분석을 제공한다.
전자 상거래 플랫폼(100)은, 예컨대 보안 카드 서버 환경을 통해, 고객들과의 안전한 금융 거래를 위한 플랫폼 결제 설비(120)를 제공할 수 있다. 전자 상거래 플랫폼(100)은 재정 상태를 조정하고, 상인들에 청구하고, 전자 상거래 플랫폼(100) 금융 기관 계정과 상인의 은행 계정(예를 들어, 자본을 사용할 때) 간의 ACH(automated clearing house) 이체를 수행하고 등등을 위해 신용 카드 정보를 예컨대 PCI(payment card industry data) 환경들(예를 들어, 카드 서버)에 저장할 수 있다. 이들 시스템은 SOX(Sarbanes-Oxley Act)를 준수 및 그들의 개발 및 운영에 필요한 높은 수준의 성실성을 가질 수 있다. 플랫폼 결제 설비(120)는 또한, 예컨대 자본의 대출(예를 들어, 자금의 대출, 현금 서비스 등) 및 보험의 제공을 통해, 상인들에게 금융 지원을 제공할 수 있다. 또한, 전자 상거래 플랫폼(100)은 일련의 마케팅 및 파트너 서비스들을 제공하고 전자 상거래 플랫폼(100)과 파트너 간의 관계를 제어할 수 있다. 그들은 또한 새로운 상인들을 전자 상거래 플랫폼(100)에 연결하고 온보딩할 수 있다. 이들 서비스는 상인들이 전자 상거래 플랫폼(100)에 걸쳐 일하는 것을 더 쉽게 하는 것에 의해 상인 성장을 가능하게 할 수 있다. 이들 서비스를 통해, 상인들은 전자 상거래 플랫폼(100)을 통해 도움 설비들을 제공받을 수 있다.
일부 실시예들에서, 온라인 상점(138)은 많은 수의 독립적으로 관리되는 스토어프런트들을 지원하고 각종의 제품들에 대해 매일 대량의 거래 데이터를 처리할 수 있다. 거래 데이터는 고객 연락처 정보, 청구 정보, 배송 정보, 구매된 제품들에 대한 정보, 제공된 서비스들에 대한 정보, 및 전자 상거래 플랫폼(100)을 통한 비즈니스와 연관된 임의의 다른 정보를 포함할 수 있다. 일부 실시예들에서, 전자 상거래 플랫폼(100)은 이 데이터를 데이터 설비(134)에 저장할 수 있다. 거래 데이터는 분석(132)을 생성하기 위해 처리될 수 있고, 분석은 차례로 온라인 상거래와 관련되고, 대시보드 인터페이스를 통해, 보고서 등을 통해 제공되는, 예컨대 소비자 동향, 마케팅 및 판매 통찰력, 판매를 개선하기 위한 추천, 고객 행동의 평가, 마케팅 및 판매 모델링, 사기의 동향 등을 제공하는, 상인들 또는 제3자 상거래 엔티티들에 제공될 수 있다. 전자 상거래 플랫폼(100)은 비즈니스 및 상인 거래에 대한 정보를 저장할 수 있고, 데이터 설비(134)는 데이터를 향상, 기여, 정제 및 추출하는 많은 방식들을 가질 수 있고, 시간 경과에 따라 수집된 데이터는 전자 상거래 플랫폼(100)의 양태들에 대한 개선들을 가능하게 할 수 있다.
다시 도 1을 참조하면, 일부 실시예들에서, 전자 상거래 플랫폼(100)은 복수의 온라인 상점(138)에 대한 지원 및 서비스를 가능하게 하는 콘텐츠 관리, 작업 자동화 및 데이터 관리를 위한 상거래 관리 엔진(136)으로 구성될 수 있지만(예를 들어, 제품, 재고, 고객, 주문, 협력, 공급자, 보고서, 재정 상태, 위험 및 사기 등과 관련됨), 계속 늘어나는 각종의 상인 온라인 상점, POS 디바이스, 제품 및 서비스를 수용하기 위해 필요한 더 큰 유연성 및 사용자 지정 프로세스들을 가능하게 하는 애플리케이션들(142A-B)을 통해 확장 가능할 수 있고, 여기서 애플리케이션들(142A)은 전자 상거래 플랫폼(100) 내부에서 제공될 수 있고 또는 애플리케이션들(142B)은 전자 상거래 플랫폼(100) 외부로부터 제공될 수 있다. 일부 실시예들에서, 애플리케이션(142A)은 플랫폼(100)을 제공하는 동일한 당사자에 의해 또는 상이한 당사자에 의해 제공될 수 있다. 일부 실시예들에서, 애플리케이션(142B)은 플랫폼(100)을 제공하는 동일한 당사자에 의해 또는 다른 당사자에 의해 제공될 수 있다. 상거래 관리 엔진(136)은, 예컨대 고객 식별자, 주문 식별자, 온라인 상점 식별자 등에 의해, 기능들 및 데이터의 분할(예를 들어, 공유)을 통해 유연성 및 확장성을 위해 구성될 수 있다. 상거래 관리 엔진(136)은 상점-특정 비즈니스 로직을 수용할 수 있고 일부 실시예들에서, 관리자(114) 및/또는 온라인 상점(138)을 통합할 수 있다.
상거래 관리 엔진(136)은 전자 상거래 플랫폼(100)의 기본 또는 "코어"기능을 포함하고, 따라서 본 명세서에 기술된 바와 같이, 온라인 상점(138)을 지원하는 모든 기능이 포함하기에 적절하지 않을 수 있다. 예를 들어, 상거래 관리 엔진(136)에 포함하기 위한 기능들은 그 기능이 상거래 경험의 코어(예를 들어, 온라인 상점 활동의 대부분에 공통적, 예컨대 채널들, 관리자 인터페이스들, 상인 위치들, 산업들, 제품 유형 등에 걸쳐)이고, 온라인 상점들(138)에 걸쳐 재사용가능하고(예를 들어, 코어 기능들에 걸쳐 재사용/수정될 수 있는 기능들), 한 번에 단일 온라인 상점(138)의 컨텍스트로 제한되고(예를 들어, 코드가 한 번에 다수의 온라인 상점들(138)과 상호작용할 수 없어야 하는 온라인 상점 '격리 원칙(isolation principle)'을 구현하여, 온라인 상점들(138)이 서로의 데이터에 액세스할 수 없도록 보장함), 거래 작업 부하를 제공한다고 결정될 수 있는 코어 기능 문턱 값을 초과할 필요가 있을 수 있다. 어떤 기능들이 구현되는지에 대한 제어를 유지하는 것은 상거래 관리 엔진(136)이 응답성을 유지하는 것을 가능하게 할 수 있는데, 그 이유는 많은 필요한 특징들이 상거래 관리 엔진(136)에 의해 직접 서빙되거나 인터페이스(140A-B)를 통해, 예컨대 애플리케이션들(142A-B) 및 채널들(110A-B)에 대한 애플리케이션 프로그래밍을 통한 그것의 확장을 통해 가능하게 되기 때문이고, 여기서 인터페이스들(140A)은 전자 상거래 플랫폼(100) 내부의 애플리케이션들(142A) 및/또는 채널들(110A)에 또는 전자 상거래 플랫폼(100) 외부의 애플리케이션들(142B) 및/또는 채널들(110B)에 제공된 인터페이스들(140B)을 통해 제공될 수 있다. 일반적으로, 플랫폼(100)은 다른 플랫폼들, 시스템들, 소프트웨어, 데이터 소스들, 코드 등과의 연결 및 통신을 용이하게 하는 인터페이스들(140A-B)(확장, 커넥터, API 등일 수 있음)를 포함할 수 있다. 그러한 인터페이스들(140A-B)은 더 일반적으로 상거래 관리 엔진(136)의 인터페이스(140A) 또는 플랫폼(100)의 인터페이스(140B)일 수 있다. 상거래 관리 엔진(136)에서의 기능을 제한하는 데 주의를 기울이지 않으면, 예컨대 느린 데이터베이스들 또는 중요하지 않은 백엔드 장애를 통한 인프라 성능 저하를 통해, 예컨대 데이터 센터가 오프라인이 되는 것과 같은 치명적인 인프라 장애를 통해, 예상보다 실행하는 데 더 오래 걸리는 새로운 코드가 배포되는 것 등을 통해 응답성이 손상될 수 있다. 이들 상황을 방지하거나 완화시키기 위해, 상거래 관리 엔진(136)은, 예컨대 성능 저하를 방지하기 위해 타임아웃, 큐, 배압(backpressure) 등을 이용하는 구성을 통해 응답성을 유지하도록 구성될 수 있다.
온라인 상점 데이터를 격리하는 것은 온라인 상점들(138)과 상인들 간의 데이터 비밀성을 유지하는 데 중요하지만, 예를 들어, 주문 위험 평가 시스템 또는 플랫폼 결제 설비로, 교차 상점 데이터를 수집하고 사용하는 이유들이 있을 수 있고, 이들 둘 다는 잘 수행하기 위해 다수의 온라인 상점들(138)로부터의 정보를 필요로 한다. 일부 실시예들에서, 격리 원칙을 위반하는 것이 아니라, 이들 컴포넌트를 상거래 관리 엔진(136) 밖으로 전자 상거래 플랫폼(100) 내의 그들 자체의 인프라 내로 이동시키는 것이 바람직할 수 있다.
일부 실시예들에서, 전자 상거래 플랫폼(100)은 상거래 관리 엔진(136)으로부터의 데이터를 이용하지만 격리 원칙을 위반하지 않도록 외부에 위치할 수 있는 컴포넌트의 다른 예인 플랫폼 결제 설비(120)를 제공할 수 있다. 플랫폼 결제 설비(120)는 온라인 상점들(138)과 상호작용하는 고객들이 그들의 결제 정보를 상거래 관리 엔진(136)에 의해 안전하게 저장되게 하여 그들이 그것을 한 번 입력하기만 하면 되게 할 수 있다. 고객이 상이한 온라인 상점(138)을 방문할 때, 그들이 전에 거기에 가본 적이 없더라도, 플랫폼 결제 설비(120)는 더 빠르고 정확한 체크아웃을 가능하게 하기 위해 그들의 정보를 소환할 수 있다. 이는 교차 플랫폼 네트워크 효과를 제공할 수 있고, 여기서 전자 상거래 플랫폼(100)은, 예컨대 고객 구매들에 대한 사용 편의성 때문에 더 자주 체크아웃하는 더 많은 고객들이 있기 때문에 더 많은 상인들이 가입함에 따라 그것의 상인들에게 더 유용하게 된다. 이 네트워크의 효과를 극대화하기 위해, 주어진 고객에 대한 결제 정보가 온라인 상점의 체크아웃으로부터 리트리빙(retrieving) 가능할 수 있어, 온라인 상점들(138)에 걸쳐 전세계적으로 정보가 이용가능하게 될 수 있다. 각각의 온라인 상점(138)이 거기에 저장된 결제 정보를 리트리빙하기 위해 임의의 다른 온라인 상점(138)에 연결할 수 있는 것은 어렵고 오류가 발생하기 쉽다. 그 결과, 플랫폼 결제 설비는 상거래 관리 엔진(136) 외부에서 구현될 수 있다.
상거래 관리 엔진(136) 내에 포함되지 않은 기능들에 대해, 애플리케이션들(142A-B)은 전자 상거래 플랫폼(100)에 특징들을 추가하는 방법을 제공한다. 애플리케이션들(142A-B)은 상인의 온라인 상점(138)의 데이터에 액세스하고 이를 수정하고, 관리자(114)를 통해 작업들을 수행하고, 사용자 인터페이스(예를 들어, 확장들/API를 통해 표면화되는)를 통해 상인을 위한 새로운 흐름들을 생성하고, 등등을 수행할 수 있다. 상인들은 애플리케이션 서치, 추천들, 및 지원 플랫폼(128) 또는 시스템을 통해 애플리케이션들(142A-B)을 발견하고 설치하는 것이 가능하게 될 수 있다. 일부 실시예들에서, 코어 제품들, 코어 확장 포인트들, 애플리케이션들, 및 관리자(114)는 함께 동작하도록 개발될 수 있다. 예를 들어, 애플리케이션 확장 포인트들은 관리자(114) 내부에 구축될 수 있어 애플리케이션들을 통해 코어 특징들이 확장될 수 있고, 이는 확장을 통해 상인에게 기능을 전달할 수 있다.
일부 실시예들에서, 애플리케이션들(142A-B)은 인터페이스(140A-B)를 통해 상인에게 기능을 전달할 수 있고, 예컨대 여기서 애플리케이션들(142A-B)은 상인에게 거래 데이터를 표면화할 수 있고(예를 들어, 앱: "엔진, 내장된 앱 SDK를 사용하여 모바일 및 웹 관리자에 나의 앱 데이터를 표면화하시오"), 및/또는 여기서 상거래 관리 엔진(136)이 애플리케이션에게 온 디맨드로 작업을 수행하도록 요청할 수 있다(엔진: "앱, 이 체크아웃에 대한 지방세 계산을 주시오").
애플리케이션들(142A-B)은 온라인 상점들(138) 및 채널들(110A-B)을 지원하고, 상인 지원을 제공하고, 다른 서비스들과 통합하고, 등등을 수행할 수 있다. 상거래 관리 엔진(136)이 온라인 상점(138)에 서비스들의 기초를 제공할 수 있는 경우, 애플리케이션들(142A-B)은 상인들이 특정하고 때때로 고유한 요구를 만족시키는 방법을 제공할 수 있다. 상이한 상인들은 상이한 요구를 가질 것이고, 따라서 상이한 애플리케이션들(142A-B)로부터 혜택을 받을 수 있다. 애플리케이션들(142A-B)은 그것이 상인을 위해 수행하는 기능의 유형에 따라 애플리케이션들이 태깅되는 것을 가능하게 하는 애플리케이션 분류(카테고리들)의 개발을 통해 전자 상거래 플랫폼(100)을 통해; 서치, 랭킹, 및 추천 모델들을 지원하는 애플리케이션 데이터 서비스들을 통해; 애플리케이션 상점, 홈 정보 카드들, 애플리케이션 설정 페이지와 같은 애플리케이션 발견 인터페이스들을 통해; 등등으로 구성될 수 있다.
애플리케이션들(142A-B)은 인터페이스(140A-B)를 통해 상거래 관리 엔진(136)에 연결될 수 있는데, 예컨대 API들을 이용하여 상거래 관리 엔진(136)을 통해 그리고 그 안에서 이용가능한 기능 및 데이터를 애플리케이션들의 기능에 노출시킬 수 있다(예를 들어, REST, GraphQL, 등을 통해). 예를 들어, 전자 상거래 플랫폼(100)은 API 인터페이스들(140A-B)을, 예컨대 애플리케이션 확장, 프로세스 흐름 서비스, 개발자 대면 리소스 등을 포함하는, 상인 및 파트너 대면 제품들 및 서비스들에 제공할 수 있다. 고객들이 쇼핑을 위해 모바일 디바이스들을 더 자주 사용함에 따라, 모바일 사용과 관련된 애플리케이션들(142A-B)은 관련된 증가하는 상거래 트래픽을 지원하기 위해 더 광범위한 API들의 사용으로부터 혜택을 받을 수 있다. 애플리케이션들 및 API들의 사용을 통해 제공되는(예를 들어, 애플리케이션 개발을 위해 제공되는) 유연성은 전자 상거래 플랫폼(100)이 상거래 관리 엔진(136)에 대한 지속적인 변경을 요구하지 않고도 상인들(및 내부 API들을 통한 내부 개발자들)의 새롭고 고유한 요구를 더 잘 수용하고, 따라서 그들이 그것을 필요로 할 때 그들이 필요로 하는 것을 상인들에게 제공하는 것을 가능하게 한다. 예를 들어, 배송 서비스들(122)은 배송 또는 운송 업체 서비스 API를 통해 상거래 관리 엔진(136)과 통합될 수 있고, 따라서 전자 상거래 플랫폼(100)이 상거래 관리 엔진(136)에서 실행되는 코드에 직접 영향을 주지 않고 배송 서비스 기능을 제공하는 것을 가능하게 한다.
많은 상인 문제들은 파트너들이 백-오피스 동작들(상인 대면 애플리케이션들(142A-B)) 및 온라인 상점(138)(고객 대면 애플리케이션들(142A-B))과 연관된 문제들과 같은, 애플리케이션 개발을 통해 상인 워크플로우들을 개선하고 확장하게 하는 것에 의해 해결될 수 있다. 비즈니스를 하는 것의 일부로서, 많은 상인들은 백-오피스 작업들(예를 들어, 판촉, 재고, 할인, 이행 등) 및 온라인 상점 작업들(예를 들어, 반짝 세일(flash-sales), 새로운 제품 제공 등을 위한, 그들의 온라인 상점과 관련된 애플리케이션들)을 위해 모바일 및 웹 관련 애플리케이션들을 매일 사용할 것이고, 여기서 애플리케이션들(142A-B)은, 확장/API(140A-B)를 통해, 빠르게 성장하는 시장에서 제품들을 쉽게 보고 구매하는 데 도움이 된다. 일부 실시예들에서, 파트너들, 애플리케이션 개발자들, 내부 애플리케이션 설비들 등은, 예컨대 애플리케이션 인터페이스를 샌드박스화하는 관리자(114) 내에 프레임을 생성하는 것을 통해, 소프트웨어 개발 키트(SDK)를 제공받을 수 있다. 일부 실시예들에서, 관리자(114)는 프레임 내에서 일어나는 것을 제어하지도 인식하지도 못할 수 있다. SDK는, 예컨대 상거래 관리 엔진(136)의 확장으로서의 역할을 하는, 전자 상거래 플랫폼(100)의 룩 앤드 필을 모방하는 인터페이스들을 생성하기 위해 사용자 인터페이스 키트와 함께 사용될 수 있다.
API들을 이용하는 애플리케이션들(142A-B)은 온 디맨드로 데이터를 가져올 수 있지만, 종종 그것들은 업데이트가 발생할 때 데이터가 푸시되게 할 필요가 있다. 업데이트 이벤트들은, 예를 들어, 고객 생성, 제품 변경, 또는 주문 취소와 같은, 구독 모델에서 구현될 수 있다. 업데이트 이벤트들은, 예컨대 로컬 데이터베이스를 동기화하는 것, 외부 통합 파트너에게 알리는 것 등을 위해, 상거래 관리 엔진(136)의 변경된 상태에 관하여 필요한 업데이트들을 상인들에게 제공할 수 있다. 업데이트 이벤트들은, 예컨대 업데이트 이벤트 구독을 통해, 업데이트들을 확인하기 위해 항상 상거래 관리 엔진(136)을 폴링하지 않고도 이 기능을 가능하게 할 수 있다. 일부 실시예들에서, 업데이트 이벤트 구독과 관련된 변경이 발생할 때, 상거래 관리 엔진(136)은, 예컨대 미리 정의된 콜백 URL에 요청을 게시할 수 있다. 이 요청의 본문은 객체의 새로운 상태와 액션 또는 이벤트에 대한 설명을 포함할 수 있다. 업데이트 이벤트 구독들은 수동으로, 관리자 설비(114)에서, 또는 자동으로(예를 들어, API(140A-B)를 통해) 생성될 수 있다. 일부 실시예들에서, 업데이트 이벤트들은, 실시간으로 배포되지 않는 업데이트 이벤트 알림을 생성할 수 있는, 그것들을 트리거한 상태 변경으로부터 비동기적으로 큐잉되거나 처리될 수 있다.
일부 실시예들에서, 전자 상거래 플랫폼(100)은 애플리케이션 서치, 추천 및 지원 플랫폼(128)을 제공할 수 있다. 애플리케이션 서치, 추천 및 지원 플랫폼(128)은 애플리케이션들의 개발을 돕기 위한 개발자 제품들 및 툴들, 애플리케이션 대시보드(예를 들어, 개발자들에게 개발 인터페이스를 제공하고, 애플리케이션들의 관리를 위한 관리자들에게, 애플리케이션들의 사용자 지정을 위해 상인들에게 제공), 애플리케이션(142A-B)에 액세스를 제공하는 것에 관하여 권한을 설치하고 제공하기 위한 설비들(예를 들어, 예컨대 설치되기 전에 기준이 충족되어야 하는 경우 공용 액세스를 위해, 또는 상인에 의한 사적 사용을 위해), 상인이 그들의 온라인 상점(138)에 대한 요구를 만족시키는 애플리케이션들(142A-B)을 서치하는 것을 쉽게 하는 애플리케이션 서치, 그들이 그들의 온라인 상점(138)을 통해 사용자 경험을 개선할 수 있는 방법에 대한 제안들을 상인들에게 제공하는 애플리케이션 추천들, 상거래 관리 엔진(136) 내의 코어 애플리케이션 능력에 대한 설명 등을 포함할 수 있다. 이들 지원 설비들은 그들 자신의 애플리케이션(142A-B)을 개발하는 상인, 애플리케이션(142A-B)을 개발하는 제3자 개발자(예를 들어, 상인에 의해 계약된, 대중에 제공하기 위해 그들 자신이 개발한, 전자 상거래 플랫폼(100)과 관련하여 사용하기 위해 계약된, 등등), 또는 전자 상거래 플랫폼(100)과 연관된 내부 개인 리소스들에 의해 개발되는 애플리케이션들(142A 또는 142B)을 포함하여, 임의의 엔티티에 의해 수행되는 애플리케이션 개별에 의해 이용될 수 있다. 일부 실시예들에서, 애플리케이션들(142A-B)에는, 예컨대 애플리케이션에 연결하고(예를 들어, API를 통해), 애플리케이션을 서치하고, 애플리케이션 추천을 하고, 등등을 위해 애플리케이션 식별자(ID)가 할당될 수 있다.
상거래 관리 엔진(136)은 전자 상거래 플랫폼(100)의 기본 기능들을 포함할 수 있고 API들(140A-B)을 통해 이들 기능을 애플리케이션들(142A-B)에 노출시킬 수 있다. API들(140A-B)은 애플리케이션 개발을 통해 구축된 상이한 유형의 애플리케이션들을 가능하게 할 수 있다. 애플리케이션들(142A-B)은 상인들에 대한 매우 다양한 요구를 만족시킬 수 있지만 대략 다음 3개의 카테고리로 그룹화될 수 있다: 고객 대면 애플리케이션들, 상인 대면 애플리케이션들, 통합 애플리케이션들 등. 고객 대면 애플리케이션들(142A-B)은 상인들이 제품들을 열거하고 그것들이 구매되게 할 수 있는 곳들인 온라인 상점(138) 또는 채널들(110A-B)을 포함할 수 있다(예를 들어, 온라인 상점, 반짝 세일을 위한 애플리케이션들(예를 들어, 상인 제품들 또는 제3자 소스들로부터의 기회주의적 판매 기회로부터), 모바일 상점 애플리케이션, 소셜 미디어 채널, 도매 구매를 제공하기 위한 애플리케이션 등). 상인 대면 애플리케이션들(142A-B)은 상인이 그들의 온라인 상점(138)을 관리하고(예를 들어, 웹 또는 웹사이트 또는 모바일 디바이스와 관련된 애플리케이션을 통해), 그들의 비즈니스를 운영하고(예를 들어, POS 디바이스들과 관련된 애플리케이션들을 통해), 그들의 비즈니스를 성장시키고(예를 들어, 배송(예를 들어, 드롭 배송), 자동화된 에이전트들의 사용, 프로세스 흐름 개발 및 개선들의 사용과 관련된 애플리케이션을 통해), 등등을 할 수 있게 하는 애플리케이션들을 포함할 수 있다. 통합 애플리케이션들은, 배송 제공자들(112) 및 결제 게이트웨이들과 같은, 비즈니스의 운영에 참여하는 유용한 통합들을 제공하는 애플리케이션들을 포함할 수 있다.
일부 실시예들에서, 애플리케이션 개발자는 애플리케이션 프록시를 사용하여 외부 위치로부터 데이터를 가져와서 그것을 온라인 상점(138)의 페이지에 디스플레이할 수 있다. 이들 프록시 페이지의 콘텐츠는 동적일 수 있고, 업데이트 등이 가능할 수 있다. 애플리케이션 프록시들은 이미지 갤러리들, 통계들, 사용자 지정 양식들, 및 다른 종류의 동적 콘텐츠를 디스플레이하기 위해 유용할 수 있다. 전자 상거래 플랫폼(100)의 코어 애플리케이션 구조는 증가하는 수의 상인 경험이 애플리케이션들(142A-B)에 구축되는 것을 허용하여 상거래 관리 엔진(136)이 더 일반적으로 이용되는 상거래의 비즈니스 로직에 계속 집중될 수 있게 할 수 있다.
전자 상거래 플랫폼(100)은 상인들이 유연하고 투명한 방식으로 고객들과 연결하는 것을 가능하게 하는 큐레이팅된 시스템 아키텍처를 통해 온라인 쇼핑 경험을 제공한다. 전형적인 고객 경험은 실시예 예시적인 구매 워크플로를 통해 더 잘 이해될 수 있는데, 여기서 고객은 채널들(110A-B)에서 상인의 제품들을 탐색하고, 그들이 구매하려는 것을 장바구니에 추가하고, 체크아웃을 진행하고, 그들의 장바구니의 콘텐츠에 대해 결제하여 상인을 위한 주문의 생성을 야기한다. 그 후 상인은 주문을 검토하고 이행(또는 취소)할 수 있다. 그 후 제품이 고객에게 배달된다. 고객이 만족하지 않으면, 그들은 상인에게 제품을 반품할 수 있다.
예시적인 실시예에서, 고객은 채널들(110A-B)에서 상인의 제품들을 탐색할 수 있다. 채널(110A-B)은 고객들이 제품들을 보고 구매할 수 있는 곳이다. 일부 실시예들에서, 채널들(110A-B)은 애플리케이션들(142A-B)로서 모델링될 수 있다(가능한 예외는, 개시 관리 엔진(136) 내에 통합되는, 온라인 상점(138)이다). 판촉 컴포넌트는 상인들이 그들이 판매하기를 원하는 것과 그들이 그것을 판매하는 곳을 설명할 수 있게 할 수 있다. 제품과 채널 간의 연관은 제품 게시로서 모델링될 수 있고, 예컨대 제품 목록 API를 통해, 채널 애플리케이션들에 의해 액세스될 수 있다. 제품은, 크기 및 색상과 같은, 많은 옵션들, 및 특소형 및 녹색인 변형, 또는 크기가 대형이고 청색인 변형과 같은, 이용가능한 옵션들을 모든 옵션의 특정 조합들로 확장하는 많은 변형들을 가질 수 있다. 제품들은 적어도 하나의 변형을 가질 수 있다(예를 들어, 어떠한 옵션도 없는 제품에 대해 "디폴트 변형"이 생성된다). 검색 및 관리를 용이하게 하기 위해, 제품들은 컬렉션들, 제공된 제품 식별자들(예를 들어, SKU(stock keeping unit)) 등으로 그룹화될 수 있다. 제품들의 컬렉션들은 수동으로 제품들을 하나(예를 들어, 사용자 지정 컬렉션)로 분류하는 것, 자동 분류를 위한 규칙 집합들(예를 들어, 스마트 컬렉션)을 구축하는 것 등에 의해 구축될 수 있다. 제품들은 가상 또는 증강 현실 인터페이스 등을 통해 2D 이미지들, 3D 이미지들, 회전 뷰 이미지들로서 볼 수 있다.
일부 실시예들에서, 고객은 그들이 구매하려고 하는 것을 장바구니에 추가할 수 있다(대안적인 실시예에서, 제품은, 예컨대 본 명세서에 기술된 구매 버튼을 통해, 직접 구매될 수 있다). 고객들은 그들의 쇼핑 장바구니에 제품 변형들을 추가할 수 있다. 쇼핑 장바구니 모델은 채널 특정적일 수 있다. 온라인 상점(138) 장바구니는 다수의 장바구니 라인 항목들로 구성될 수 있고, 여기서 각각의 장바구니 라인 항목은 제품 변형에 대한 수량을 추적한다. 상인들은 그들의 장바구니의 콘텐츠에 기초하여 장바구니 스크립트들을 사용하여 고객들에게 특별 프로모션들을 제공할 수 있다. 장바구니에 제품을 추가하는 것은 고객 또는 상인으로부터의 어떤 약속도 의미하지 않고, 장바구니의 수명은 몇 분 정도일 수 있으므로, 일부 경우에 장바구니들은 일시적 데이터 저장소로 지속될 수 있다. 그러나, 많은 구현들에서, 고객 세션은 몇 분만 지속될 수 있지만, 상인 및/또는 고객은 이전 세션에서 구축된 장바구니로 돌아갈 가능성을 갖지를 원할 수 있다. 따라서, 장바구니, 예를 들어, 제품 항목 데이터 및 사용자 식별자로 채워진 쇼핑 장바구니 데이터 구조는 플랫폼(100) 상의 영구 메모리에 저장될 수 있다.
전형적인 세션에서, 고객은 그들의 쇼핑 장바구니에 하나 이상의 항목을 추가한 후 어느 시점에서 체크아웃을 진행한다. 체크아웃 컴포넌트는 고객 대면 주문 생성 프로세스로서 웹 체크아웃을 구현할 수 있다. 체크아웃 API는 고객들을 대신하여 주문을 생성하기 위해(예를 들어, POS(point of sale)를 위해) 일부 채널 애플리케이션들에 의해 사용되는 컴퓨터 대면 주문 생성 프로세스로서 제공될 수 있다. 체크아웃들은 장바구니로부터 생성될 수 있고 이메일 주소, 청구, 및 배송 세부 사항들과 같은 고객의 정보를 기록할 수 있다. 체크아웃 시, 상인은 가격 책정을 한다. 고객이 거래를 완료하지 않으면, 전자 상거래 플랫폼(100)은 고객이 후속 세션에서(예를 들어, 버려진 장바구니 특징에서) 부분적으로 완료된 장바구니로 돌아갈 수 있도록 메모리에 쇼핑 장바구니 데이터 구조를 유지할 수 있다.
체크아웃은 고객의 배송 주소에 기초하여 세금 및 배송 비용을 계산할 수 있다. 체크아웃은 세금의 계산을 세금 컴포넌트에 위임하고 배송 비용의 계산을 배달 컴포넌트에 위임할 수 있다. 가격 책정 컴포넌트는 상인들이 할인 코드들을 생성하는 것을 가능하게 할 수 있다. 고객들을 유치하고 마케팅 캠페인들의 성과를 평가하기 위해 상인들에 의해 할인이 사용될 수 있다. 동일한 플랫폼 부분 위에, 예컨대 가격 규칙(예를 들어, 충족될 때 일련의 자격 들을 의미하는 일련의 전제 조건들)을 통해 할인 및 다른 사용자 지정 가격 시스템이 구현될 수 있다. 예를 들어, 전제 조건들은 "주문 소계가 $100보다 큼" 또는 "배송 비용이 $10 미만"과 같은 항목들일 수 있고, 자격들은 "전체 주문에 대해 20% 할인" 또는 "제품 X, Y, 및 Z에서 $10 할인"과 같은 항목들일 수 있다.
그 후 고객들은 그들의 장바구니의 콘텐츠에 대해 결제하여 상인을 위한 주문을 생성을 야기한다. 채널들(110A-B)은 상거래 관리 엔진(136)을 사용하여 돈, 통화 또는 가치 저장소(예컨대 달러 또는 암호 화폐)를 고객들 및 상인들과 주고받을 수 있다. 다양한 결제 제공자들(예를 들어, 온라인 결제 시스템들, 모바일 결제 시스템들, 디지털 지갑, 신용 카드 게이트웨이들 등)과의 통신은 결제 처리 컴포넌트 내에서 구현될 수 있다. 결제 게이트웨이들(106)과의 실제 상호작용들은 카드 서버 환경을 통해 제공될 수 있다. 일부 실시예들에서, 결제 게이트웨이(106)는 선도적인 국제 신용 카드 프로세서들과의 통합과 같은 국제 결제를 수락할 수 있다. 카드 서버 환경은 카드 서버 애플리케이션, 카드 싱크, 호스팅된 필드들 등을 포함할 수 있다. 이 환경은 민감한 신용 카드 정보의 보안 게이트키퍼로서의 역할을 할 수 있다. 일부 실시예들에서, 프로세스의 대부분은 결제 처리 작업에 의해 조정될 수 있다. 상거래 관리 엔진(136)은 많은 다른 결제 방법들, 예컨대 오프사이트 결제 게이트웨이(106)를 통해(예를 들어, 고객이 다른 웹사이트로 리디렉션되는 경우), 수동으로(예를 들어, 현금), 온라인 결제 방법들(예를 들어, 온라인 결제 시스템들, 모바일 결제 시스템들, 디지털 지갑, 신용 카드 게이트웨이들 등), 기프트 카드들 등을 지원할 수 있다. 체크아웃 프로세스의 끝에, 주문이 생성된다. 주문은 상인이 주문들에 열거된 제품들 및 서비스들(예를 들어, 주문 라인 항목들, 배송 라인 항목들 등)을 제공하는 데 동의하고 고객들이 결제(세금 포함)를 제공하는 데 동의하는 상인과 고객 간의 판매의 계약이다. 이 프로세스는 판매 컴포넌트에서 모델링될 수 있다. 상거래 관리 엔진(136) 체크아웃들에 의존하지 않는 채널들(110A-B)은 주문 API를 사용하여 주문들을 생성할 수 있다. 주문이 생성되면, 주문 확인 알림이 고객에게 전송되고 발주 알림(order placed notification)이 알림 컴포넌트를 통해 상인에게 전송된다. 초과 판매를 방지하기 위해 결제 처리 작업이 시작될 때 재고가 예약될 수 있다(예를 들어, 상인들은 각각의 변형의 재고 정책으로부터 이 동작을 제어할 수 있음). 재고 예약은 짧은 기간(분)을 가질 수 있고 반짝 세일을 지원하기 위해 매우 빠르고 확장 가능할 필요가 있을 수 있다(예를 들어, 충동 구매를 타겟팅하는 것과 같은, 단기간 동안 제공되는 할인 또는 프로모션). 결제가 실패하면 예약은 해제된다. 결제가 성공하고, 주문이 생성될 때, 예약은 특정 위치에 할당된 장기 재고 약속으로 전환된다. 재고 컴포넌트는 변형들이 비축되어 있는 곳을 기록할 수 있고, 재고 추적이 가능하게 되는 변형들에 대한 수량들을 추적한다. 그것은 제품 변형들(제품 목록의 템플릿을 나타내는 고객 대면 개념)을 재고 항목들(그 수량과 위치가 관리되는 항목을 나타내는 상인 대면 개념)로부터 분리할 수 있다. 재고 수준 컴포넌트는 판매를 위해 이용가능한, 주문을 약속한 또는 재고 이송 컴포넌트로부터(예를 들어, 공급업체)로부터 들어오는 수량들을 계속 추적할 수 있다.
그 후 상인은 주문을 검토하고 이행(또는 취소)할 수 있다. 검토 컴포넌트는 주문을 실제로 이행하기 전에 주문이 이행에 적합한지 보장하기 위해 비즈니스 프로세스 상인의 사용을 구현할 수 있다. 주문이 사기일 수 있고, 검증(예를 들어, ID 확인)을 필요로 할 수 있고, 상인이 그들의 자금을 받을 것임을 확인하기 위해 기다려야 하는 결제 방법을 가질 수 있고, 등등일 수 있다. 위험 및 추천이 주문 위험 모델에서 지속될 수 있다. 주문 위험은 주문 위험 API 등을 통해 제3자에 의해 제출된, 사기 탐지 툴로부터 생성될 수 있다. 이행으로 진행하기 전에, 상인은 결제 정보(예를 들어, 신용 카드 정보)를 캡처하거나 그것을 수신하기 위해(예를 들어, 은행 이체, 수표 등을 통해) 기다리고 주문을 결제된 것으로 표시할 필요가 있을 수 있다. 이제 상인은 배달을 위해 제품을 준비할 수 있다. 일부 실시예들에서, 이 비즈니스 프로세스는 이행 컴포넌트에 의해 구현될 수 있다. 이행 컴포넌트는 재고 위치 및 이행 서비스에 기초하여 주문의 라인 항목들을 논리적 이행 작업 단위(unit of work)로 그룹화할 수 있다. 상인은 예컨대 상인이 제품들을 집어 박스에 포장하고, 배송 라벨을 구매하고 그것의 추적 번호를 입력하거나, 단지 항목을 이행된 것으로 표시할 때 사용되는 수동 이행 서비스를 통해(예를 들어, 상인 관리 위치들에서) 그 작업 단위를 검토하고, 조정하고, 관련 이행 서비스를 트리거할 수 있다. 사용자 지정 이행 서비스는 이메일을 전송할 수 있다(예를 들어, API 연결을 제공하지 않는 위치). API 이행 서비스는 제3자를 트리거할 수 있고, 여기서 제3자 애플리케이션은 이행 기록을 생성한다. 레거시 이행 서비스는 상거래 관리 엔진(136)으로부터 제3자로의 사용자 지정 API 호출을 트리거할 수 있다(예를 들어, Amazon에 의한 이행). 기프트 카드 이행 서비스는 기프트 카드를 제공(예를 들어, 번호를 생성)하고 활성화할 수 있다. 상인들은 주문 프린터 애플리케이션을 사용하여 패킹 슬립을 인쇄할 수 있다. 이행 프로세스는 항목들이 박스에 포장되고 배송 준비되고, 배송되고, 추적되고, 배달되고, 고객에 의해 수령된 것으로 확인되고, 등등일 때 실행될 수 있다.
고객이 만족하지 않으면, 그들은 상인에게 제품(들)을 반품할 수 있다. 비즈니스 프로세스 상인들은 반품 컴포넌트에 의해 구현될 수 있는 항목을 "판매 취소(un-sell)"로 할 수 있다. 반품은 각종의 상이한 액션들, 예컨대 판매된 제품이 실제로 다시 비즈니스로 돌아와 다시 판매가능한, 재입고; 고객으로부터 수금된 돈이 일부 또는 전부 반환되는, 환불; 환불된 돈이 얼마인지를 적은 회계 조정(예를 들어, 재입고 수수료, 또는 반품되지 않고 고객의 수중에 남아 있는 제품이 있었는지를 포함); 등등으로 구성될 수 있다. 반품은 판매 계약(예를 들어, 주문)의 변경을 나타낼 수 있고, 여기서 전자 상거래 플랫폼(100)은 상인이 법적 의무(예를 들어, 세금과 관련하여)와 관련하여 준수 문제를 인식하게 할 수 있다. 일부 실시예들에서, 전자 상거래 플랫폼(100)은 상인들이 판매 모델 컴포넌트(예를 들어, 항목에 발생한 판매 관련 이벤트들을 기록하는 추가 전용 날짜 기반 원장)를 통해 구현되는 것과 같은, 시간 경과에 따른 판매 계약의 변경을 계속 추적하는 것을 가능하게 할 수 있다.
전자 상거래 플랫폼을 사용하여 이미지 캡처 중에 추천을 생성하는 구현
전자 상거래 플랫폼(100)은 그들의 제품의 이미지를 생성하는 과정에 있는 상인을 돕거나 보조할 수 있다. 도 3은 도 1의 전자 상거래 플랫폼(100)을 예시하지만, 제품 이미지 추천 엔진(300)을 포함한다. 제품 이미지 추천 엔진(300)은 사용자에 의해 생성된 제품 이미지들을 획득 및 분석하고, 제품 이미지 일관성을 개선하기 위해 사용자에게 능동적으로 추천을 제공하는 컴퓨터로 구현되는 시스템의 예이다. 예에서, 사용자는 온라인 상점(138)에 프레젠테이션하기 위한 그들의 제품을 촬영하고 있는 상인이다. 그들의 제품을 촬영하는 과정 중에, 제품 이미지 추천 엔진은 온라인 상점(138) 내의 특정 컬렉션의 하나 이상의 제품의 이전에 획득된 이미지에 공통적인 하나 이상의 기준 이미지 특징을 결정한다. 상인 디바이스(102)는 촬영되고 있는 제품의 이미지 데이터를 포함하는 라이브 카메라 스트림을 전송한다. 제품 이미지 추천 엔진(300)은 결정된 하나 이상의 기준 이미지 특징을 촬영되고 있는 제품의 이미지 데이터의 하나 이상의 이미지 특징과 비교하고, 제품 이미지 일관성을 개선하기 위해 하나 이상의 이미지 특징을 조정하기 위한 하나 이상의 추천을 상인에게 제공한다.
제품 이미지 추천 엔진(300)은 도 3에서 전자 상거래 플랫폼(100)의 별개의 컴포넌트로서 예시되어 있지만, 이는 단지 예일 뿐이다. 제품 이미지 추천 엔진은 또한 또는 대신에 전자 상거래 플랫폼(100)의 다른 컴포넌트에 의해 제공될 수도 있다. 일부 실시예들에서, 애플리케이션들(142A-B) 중 어느 하나 또는 둘 다는 상인들이 이용할 수 있는 제품 이미지 추천 엔진을 제공한다. 더욱이, 일부 실시예들에서, 상거래 관리 엔진(136)은 제품 이미지 추천 엔진을 제공한다. 전자 상거래 플랫폼(100)은 하나 이상의 당사자에 의해 제공되는 다수의 제품 이미지 추천 엔진들을 포함할 수 있다. 다수의 제품 이미지 추천 엔진들은 동일한 방식으로, 유사한 방식으로, 그리고/또는 별개의 방식으로 구현될 수 있다. 또한, 제품 이미지 추천 엔진의 적어도 일부가 상인 디바이스(102) 상에 구현될 수 있다. 예를 들어, 상인 디바이스(102)는 소프트웨어 애플리케이션으로서 로컬로 제품 이미지 추천 엔진을 저장하고 실행할 수 있다.
아래에 더 상세히 논의되는 바와 같이, 제품 이미지 추천 엔진(300)은 본 명세서에 기술된 기능 중 적어도 일부를 구현할 수 있다. 아래 기술되는 실시예들은 전자 상거래 플랫폼(100)과 관련하여 구현될 수 있지만, 아래 기술되는 실시예는 도 1 내지 도 3의 특정 전자 상거래 플랫폼(100)에 제한되지 않는다. 따라서, 아래의 실시예들은 임의의 전자 상거래 플랫폼과 관련하여 더 일반적으로 제시될 것이다. 더 광범위하게, 다음은 전자 상거래 플랫폼의 예와 관련하여 기술되지만, 본 출원의 주제는 더 광범위하게 적용될 수 있다. 예를 들어, 그것은 가이드 또는 교재(예를 들어, 유형 또는 부류의 상이한 항목들을 보여주는), 연감, 카탈로그, 잡지 등에서 사용하기 위한 일련의 이미지 플레이트들을 준비할 때와 같이 관련 이미지들의 일련의 일관된 사진들을 생성하는 것이 바람직한 다른 시나리오들에서 적용가능할 수 있다.
제품 이미지들
본 명세서에서 사용되는, 용어 "제품 이미지"는 제품을 예시하거나 묘사하는 임의의 이미지를 지칭한다. 특정 실시예들에서, 제품 이미지는 온라인 상점에서 판매를 위해 제공되는 제품을 프레젠테이션하거나 디스플레이하기 위해 사용된다. 제품 이미지들은 또한 또는 대신에 다른 형태의 미디어에서, 예를 들어, 광고 또는 기사와 같은 것에서 사용될 수 있다.
제품 이미지가 생성되는 방식은 본 명세서에서 제한되지 않는다. 적어도 부분적으로, 예를 들어, 카메라 또는 스캐너를 사용하여 물리적 제품 또는 물체의 이미지를 캡처하는 것에 의해 제품 이미지가 생성될 수 있다. 적어도 부분적으로, CGI(computer-generated imagery)를 사용하여 생성되는 제품 이미지들도 고려된다. 제품 이미지는 2차원(2D) 또는 3차원(3D)일 수 있다.
일부 실시예들에서, 제품 이미지는 애니메이션화된다. 예를 들어, 제품 이미지는 제품의 비디오를 포함할 수 있다. 제품의 3D 스캔은 다양한 각도들로부터 제품을 예시하는 애니메이션화된 제품 이미지로 변환될 수 있다.
위에 언급된 바와 같이, 고객들은 종종 제품 이미지에서 제품이 어떻게 프레젠테이션되는지에 기초하여 제품의 품질을 판단한다. 이는 온라인 쇼핑에 대해 특히 관련이 있을 수 있는데, 그 이유는 고객은 전형적으로 물리적 제품을 검사하는 옵션을 가지고 있지 않고, 따라서 고객은 관련 제품 이미지에 기초하여 제품을 판단할 수 있기 때문이다. 일부 경우에, 고객은 제품 이미지의 품질에 의해 영향을 받을 수 있다.
본 명세서에서 사용되는, 제품 이미지의 "품질"은 제품 이미지에 의해 전달되는 제품의 인지된 가치와 관련이 있다. 제품 이미지의 품질에 영향을 미치는 요인들은 제품 이미지를 생성하기 위해 사용된 디바이스의 속성들에 제한되지 않는다. 예로서, 제품을 촬영하기 위해 사용되는 카메라의 속성들 및 제품이 촬영되는 조건들은 둘 다 결과 제품 이미지의 품질에 영향을 미칠 수 있다. 고품질 제품 이미지는 고객들의 흥미를 끄는 방식으로 제품을 묘사하고, 전형적으로 더 높은 시장 성공과 연관되는 것이다. 반대로, 저품질 제품 이미지는 불분명하거나 모호하거나 달리 고객들의 흥미를 끌지 않는 방식으로 제품을 묘사하는 이미지이다. 저품질 제품 이미지는 더 낮은 시장 성공으로 이어질 수 있는데, 특히 이들 저품질 제품 이미지가, 예를 들어, 온라인 상점에서 유사한 제품들에 대한 고품질 제품 이미지들과 나란히 고객에게 디스플레이되는 경우에 그러하다. 따라서, 많은 상인들은 그들의 제품들에 대한 고품질 제품 이미지들을 원한다.
시장 성공은 어떤 것이 상업 시장에서 얼마나 잘 수용되는지와 관련이 있다. 일부 경우에, 제품 이미지의 시장 성공은, 적어도 부분적으로, 제품 이미지에 디스플레이되는 제품의 시장 성공의 관점에서 측정된다. 그러나, 일반적으로, 제품 이미지의 시장 성공은 각종의 방식들 중 임의의 방식으로 측정하거나 정량화될 수 있다. 다음은 제품 이미지의 시장 성공을 나타내는 측정 가능한 메트릭 또는 파라미터의 비제한적인 목록이다:
● 제품의 판매의 수량 및/또는 달러 금액과 같은, 판매 데이터;
● 유사 제품들의 총 판매 수량에 대한 제품의 판매 수량;
● 제품 또는 제품 이미지를 본 고객의 수를 포함하는, 페이지 뷰(예를 들어, 제품 이미지와 연관된 웹사이트 링크의 클릭률);
● 제품 이미지를 확대한 고객들;
● 고객들이 제품 이미지를 보는 데 소비한 평균 시간;
● 제품 이미지가 전문 제품 사진사에 의해 촬영되었는지 여부;
● 제품 이미지의 또는 제품 이미지와 연관된 제품의 소셜 미디어 재공유;
● 동일한 상인에 의해 판매된 다른 제품 이미지들과의 일관성 또는 유사성(예를 들어, 동일한 상인에 의해 판매된 다른 제품 이미지들과 일관되거나 유사한 파라미터 값들을 갖는 제품 이미지, 이에 대한 추가 세부 사항은 아래에 제공됨); 및
● 동일한 상인에 의해 판매된 컬렉션 내의 다른 제품 이미지들과의 일관성 또는 유사성(예를 들어, 동일한 상인에 의해 판매된 컬렉션 내의 다른 제품 이미지들과 일관되거나 유사한 파라미터 값들을 갖는 제품 이미지, 이에 대한 추가 세부 사항은 아래에 제공됨).
원하는 목표 값 또는 값들을 충족하거나 초과하는 것으로 결정된 이들 파라미터 중 어느 하나 또는 임의의 조합은 높은 시장 성공을 나타낼 수 있다. 다른 한편으로, 원하는 목표 값 또는 값들 아래로 떨어지는 것으로 결정된 이들 파라미터 중 어느 하나 또는 임의의 조합은 낮은 시장 성공을 나타낼 수 있다. 다시 말해서, 제품 이미지의 시장 성공(위의 파라미터들 중 어느 하나를 통해 표시되거나 측정된)을 개선하는 것은 직접 또는 간접적으로 제품의 판매 증가로 이어질 수 있다. 따라서, 본 명세서에 제공된 일부 실시예들은 컬렉션 내의 다른 제품 이미지들과의 일관성을 개선하기 위해 이미지 캡처 중에 추천의 생성과 관련이 있다.
이미지 캡처 중에 추천을 생성하는 구현
도 4는 이미지 캡처 중에 추천을 생성하기 위한 예시적인 시스템(400)을 예시하는 블록도이다. 시스템(400)은 제품 이미지 추천 엔진(402), 네트워크(426), 및 상인 디바이스(430)를 포함한다.
제품 이미지 추천 엔진(402)은 프로세서(404), 메모리(406), 및 네트워크 인터페이스(408)를 포함한다. 프로세서(404)는 메모리(406)에 저장된 명령어들을 실행하는 하나 이상의 프로세서에 의해 구현될 수 있다. 대안적으로, 프로세서(404)의 일부 또는 전부는 주문형 집적 회로(ASIC), 그래픽 처리 유닛(GPU), 또는 프로그래밍된 필드 프로그래머블 게이트 어레이(FPGA)와 같은 전용 회로를 사용하여 구현될 수 있다.
이 실시예에서, 메모리(406)는 특정 컬렉션 내의 이미지들에 대한 제품 이미지 일관성을 개선하기 위해 사용될 수 있는 제품 이미지 특징 모델(410)을 저장한다. 달리 말하면, 제품 이미지 특징 모델(410)은 특정 컬렉션 내의 하나 이상의 제품 이미지에 대한 평균 이미지 특징들을 저장할 수 있다. 그러한 이미지 특징들의 비제한적인 예들은 다음을 포함한다:
● 이미지 해상도;
● 이미지의 픽셀 밀도;
● 이미지 밝기;
● 피사계 심도;
● 초점;
● 이미지에서 제품의 크기(예를 들어, 제품이 차지하는 면적의 백분율 및/또는 제품이 차지하는 픽셀 수의 관점에서);
● 이미지에서 제품의 각도 또는 방향; 및
● 제품과 배경 사이의 대비.
제품 이미지 특징 모델(410)은 특정 상인 및/또는 특정 제품들의 컬렉션에 특정하거나 그에 의존한다. 예를 들어, 상인이 다수의 상이한 커피 머그를 판매하는 온라인 상점을 운영한다면, 해당 상인에 그리고 커피 머그에 특정한 제품 이미지 특징 모델이 생성될 수 있다.
제품 이미지 특징 모델(410)은 각종의 방식들 중 임의의 방식으로 구현될 수 있다. 제품 이미지 특징 모델들의 예시적인 구현들은 룩업 테이블을 포함한다. 그러나, 제품 이미지 모델들의 다른 구현들도 고려된다.
룩업 테이블 구현에서, 테이블은 상이한 제품 이미지 특징들의 목록, 값, 및 각각의 제품 이미지 특징에 대한 문턱 값을 저장할 수 있다. 이들 값은 컬렉션 내의 하나 이상의 제품에 대한 하나 이상의 이전에 캡처된 제품 이미지에 기초하여 결정될 수 있다. 예를 들어, 값들은 컬렉션 내의 하나 이상의 이전에 캡처된 제품 이미지에 대한 이미지 특징들의 평균 값들에 기초하여 결정될 수 있다.
룩업 테이블에 저장된 제품 이미지 특징들은 기준 이미지 특징들(baseline image features)이라고 지칭될 수 있다. 상이한 상인들에 대해 상이한 제품 유형들 및/또는 상이한 제품들의 컬렉션에 대해 상이한 룩업 테이블들이 사용될 수 있다. 예를 들어, 특정 상인에 대한 온라인 상점 내의 각각의 컬렉션은 연관된 룩업 테이블을 가질 수 있다.
도 5는 룩업 테이블(500)의 형태로 예시적인 제품 이미지 특징 모델을 예시하는 다이어그램이다. 룩업 테이블(500)은 특정 상인에 대한 커피 머그들의 컬렉션 내의 제품 이미지들에 특정하다. 룩업 테이블은 제품 이미지의 다수의 기준 이미지 특징들에 대한 값 및 문턱 값을 정의한다. 값은 컬렉션에서 이전에 획득된 제품 이미지들에 대한 평균 값들이다. 문턱 값은 일관된 것으로 간주되기 위해 이미지 특징이 기준 이미지 특징에 얼마나 가까워야 하는지를 정의한다. 아래에 더 상세히 논의되는, 룩업 테이블(500)에 정의된 이미지 특징들은, 이미지 해상도, 이미지 밝기, 피사계 심도, 초점, 머그의 크기, 머그의 기울기, 머그의 방위각, 및 대비를 포함한다.
이미지 해상도는 이미지 내의 픽셀 수와 관련이 있다. 룩업 테이블(500)에서, 이미지 해상도는 메가픽셀 단위로 측정된다. 이미지 해상도의 평균 값은 15 메가픽셀이고, 이는 컬렉션에서 이전에 획득된 제품 이미지들에 대한 이미지 해상도의 평균 값이 15 메가픽셀임을 나타낸다. 문턱 값은 0.5 메가픽셀로 설정되고 이는 14.5 메가픽셀과 15.5 메가픽셀 사이의 임의의 이미지 해상도가 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다.
평균 이미지 밝기는 이미지의 전체 밝기 또는 어두움과 관련이 있다. 룩업 테이블(500)에서, 평균 이미지 밝기는 최대 이미지 밝기의 백분율로서 정의된다. 일 실시예에서, 평균 이미지 밝기는, 예를 들어, 이미지의 픽셀들을 색조, 채도, 값(hue, saturation, value, HSV)으로 변환하고 값 V의 평균을 결정하기 위해 변환 알고리즘을 사용하여 결정될 수 있다. 최대 이미지 밝기(100%)는 각각의 픽셀이, 완전히 백색 이미지를 생성하는, 그것의 밝기 값으로 설정되는 경우이다. 0%의 이미지 밝기는 완전히 흑색 이미지이다. 이미지 밝기는 다른 실시예들에서 상이하게 정의될 수 있다. 이미지 밝기의 평균 값은 55%이고 이는 컬렉션에서 이전에 획득된 제품 이미지들에 대한 이미지 밝기의 평균 값이 55%임을 나타낸다. 문턱 값은 1%로서 설정되고 이는 54%와 56% 사이의 임의의 이미지 밝기가 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다.
룩업 테이블(500)에서, 피사계 심도는 제품 이미지에서 커피 머그의 얼마나 많은 부분이 초점이 맞는지와 관련이 있다. 피사계 심도의 평균 값은 21cm이고 이는 컬렉션에서 이전에 획득된 제품 이미지들에 대한 피사계 심도의 평균 값이 21cm임을 나타낸다. 문턱 값은 1cm로서 설정되고 이는 19cm과 22cm 사이의 임의의 피사계 심도가 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다.
룩업 테이블(500)에서, 초점은 커피 머그의 앞면에 대해 측정된다. 커피 머그의 앞면은 임의의 일러스트레이션이 보여지는 곳일 수 있고, 초점은 이상적으로는 이들 일러스트레이션을 보다 명확하게 보여주기 위해 커피 머그의 이 표면에 있다. 초점에 대한 평균 값은 0.5cm이고 이는 컬렉션에서 이전에 획득된 제품 이미지들에 대한 평균 초점 값이 0.5cm임을 나타낸다. 문턱 값은 0.05cm로서 설정되고 이는 0.45cm과 0.55cm 사이의 임의의 초점이 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다.
룩업 테이블(500)에서, 머그의 크기는 제품 이미지의 커피 머그의 크기와 관련이 있다. 이는 커피 머그가 차지하는 제품 이미지에서의 픽셀들의 백분율의 관점에서 측정된다. 제품 이미지 전체를 채우는 이미지는 제품 이미지에서 픽셀들의 100%를 차지하는 것으로 간주될 것이다. 머그의 크기에 대한 평균 값은 70%이고 이는 컬렉션에서 이전에 획득된 제품 이미지들에 대한 머그의 크기의 평균 값이 70%임을 나타낸다. 문턱 값은 2%로서 설정되고 이는 68%와 72% 사이의 임의의 머그의 크기가 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다.
룩업 테이블(500)에서, 머그의 기울기는 수평에 대한 제품 이미지에서의 커피 머그의 각도를 정의한다. 일 실시예에서, 머그의 기울기는, 예를 들어, 사용자 디바이스의 센서의 방향을 결정하는 것에 의해 결정될 수 있다. 0°의 기울기는 제품 이미지에서 평평한 표면 상에 놓여 있는 것처럼 보이는 커피 머그를 나타낸다. 0°와 다른 기울기 값은 커피 머그가 경사진 표면 상에 있는 것, 또는 카메라가 수평에 대해 기울어져 있는 것의 결과로 발생할 수 있다. 머그의 평균 기울기는 0.2°이고 이는 컬렉션에서 이전에 획득된 제품 이미지들에 대한 머그의 평균 기울기가 0.2°임을 나타낸다. 문턱 값은 0.01°로서 설정되고 이는 0.19°와 0.21° 사이의 임의의 머그의 기울기가 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다.
머그의 방위각은 제품 이미지에서 보이는 커피 머그의 부분 또는 측면을 정의한다. 룩업 테이블(500)에서, 방위각은 커피 머그의 손잡이에 대해 정의된다. 방위각이 0°인 커피 머그에 대한 제품 이미지는 손잡이가 카메라를 향하도록 할 것이다. 방위각이 90°인 커피 머그에 대한 제품 이미지는 제품 이미지에서 커피 머그의 손잡이가 측면으로부터 보이게 하여, 고객이 손잡이의 형상을 알아볼 수 있게 할 것이다. 머그의 평균 방위각은 91°이고 이는 컬렉션에서 이전에 획득된 제품 이미지들에 대한 머그의 평균 방위각이 91°임을 나타낸다. 문턱 값은 1°로서 설정되고 이는 90°와 92° 사이의 임의의 머그의 방위각이 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다.
대비는 커피 머그가 제품 이미지의 배경으로부터 얼마나 잘 눈에 띄는지와 관련이 있다. 룩업 테이블(500)에서, 대비는 커피 머그의 평균 밝기 대 배경의 평균 밝기의 비율로서 정의된다. 이 대비는 1보다 크거나 1보다 작을 수 있다. 예를 들어, 어두운 커피 머그와 밝은 배경은 1보다 작은 대비를 생성할 것인 반면, 밝은 커피 머그와 어두운 배경은 1보다 큰 대비를 생성할 것이다. 룩업 테이블(500)에서 커피 머그는 밝은 커피 머그이고 어두운 배경인 것으로 가정한다. 따라서, 머그의 평균 대비는 2:1이고 이는 컬렉션에서 이전에 획득된 제품 이미지들에 대한 머그의 평균 대비가 3:1임을 나타낸다. 문턱 값은 0.5로서 설정되고 이는 2.95:1과 3.05:1 사이의 임의의 대비가 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다.
룩업 테이블(500)에 포함된 각각의 기준 이미지 특징은 컬렉션에서 하나 이상의 이전에 획득된 제품 이미지에 기초한 평균 기준 이미지 특징으로서 보여지지만, 대안들이 이용가능하다는 것을 잘 알 것이다. 예를 들어, 이전에 획득된 단일 제품 이미지가 기준 이미지 특징들을 결정하기 위해 사용될 수 있다. 이 예에서, 각각의 기준 이미지 특징은 이전에 획득된 단일 제품 이미지를 분석하는 것에 의해 결정될 수 있다. 달리 말하면, 각각의 기준 이미지 특징은 평균 기준 특징이 아니라 이전에 획득된 단일 제품 이미지에서의 기준 이미지 특징과 동등한 것으로서 설정된다. 다른 예에서, 디폴트 기준 이미지 특징들이 사용될 수 있다. 예를 들어, 정사각형 종횡비가 디폴트로서 설정될 수 있다. 이 예에서, 디폴트 기준 이미지 특징들은 사용자에 의해 조정되거나 재정의될(overridden) 수 있고 조정되거나 재정의된 값들은 사용자를 위한 새로운 디폴트 기준 이미지 특징들로서 설정될 수 있다.
룩업 테이블(500)에 제시된 특정 기준 이미지 특징들, 값들 및 문턱 값들은 단지 예로서 제공된다는 점에 유의해야 한다. 이 예는 결코 제한적인 것이 아니다. 커피 머그들에 대한 것이든 또는 다른 유형의 제품에 대한 것이든, 다른 룩업 테이블들은 상이한 수의 기준 이미지 특징들, 상이한 유형의 기준 이미지 특징들, 기준 이미지 특징들을 특성화하기 위한 상이 메트릭들, 다른 평균 값들 및 상이한 문턱 값들을 포함할 수 있다. 도 5에 도시된 것과 상이한, 다른 형식의 룩업 테이블들도 고려된다.
룩업 테이블(500)은 특정 컬렉션 내의 이미지들에 대한 이미지 일관성을 개선하기 위해 제품의 이미지 캡처 중에 추천을 생성하기 위해 제품 이미지 추천 엔진(402)에 의해 사용될 수 있다. 예를 들어, 이미지 캡처 중에, 임의의 이미지 특징들이 룩업 테이블(500)에 정의된 기준 이미지 특징들의 문턱 값 내에 있지 않다면, 해당 이미지 특징은 특정 컬렉션 내의 다른 제품 이미지들과 모순되는 것으로 간주될 수 있다.
다시 도 4를 참조하면, 메모리(406)는 또한, 제품 이미지 특징 모델(410)의 생성을 용이하게 하는, 제품 이미지 특징 모델 생성기(412)를 저장한다. 제품 이미지 특징 모델(410)이 생성되면, 그것은 새로운 데이터가 이용가능하게 될 때 업데이트될 수 있다. 예를 들어, 하나 이상의 새로운 제품 이미지가 사용자에 의해 촬영되고 컬렉션에 추가될 때, 제품 이미지 특징 모델(410)은 기준 이미지 특징들에 대한 평균 값을 결정할 때 새로운 제품 이미지들을 포함하도록 업데이트될 수 있다. 이 업데이트는 또한 제품 이미지 특징 모델 생성기(412)에 의해 용이하게 될 수 있다.
일부 구현들에서, 제품 이미지 특징 모델 생성기(412)는 프로세서(404)에 의해 실행가능한 소프트웨어 애플리케이션을 제공하고 사용자가 제품 이미지 특징 모델(410)을 생성할 때 사용되거나 무시될 컬렉션 내의 하나 이상의 이전에 획득된 제품 이미지를 선택하거나 선택 해제할 수 있게 한다.
일부 구현들에서, 제품 이미지 특징 모델 생성기(412)는 프로세서(404)에 의해 실행가능한 소프트웨어 애플리케이션을 제공하고 사용자가 제품 이미지 특징 모델(410)의 적어도 일부를 수동으로 업데이트할 수 있게 한다. 예를 들어, 제품 이미지 특징 모델 생성기(412)는 룩업 테이블을 생성하고 사용자가 룩업 테이블에서 문턱 값들을 수동으로 조정할 수 있게 할 수 있다.
메모리(406)는 룩업 테이블을 생성하기 위해 제품 이미지 특징 모델 생성기(412)에 의해 사용되는 데이터(416)를 저장한다. 데이터(416)는 전자 상거래 플랫폼에서 이전에 획득된 제품 이미지들로부터 취득될 수 있다. 이들 이전에 획득된 제품 이미지들은 온라인 상점에서 판매하기 위한 제품을 디스플레이하기 위해 사용되고/되거나 사용된 제품 이미지들을 포함할 수 있다. 일부 구현들에서, 데이터(416)는 예를 들어, 도 1의 데이터 설비(134)와 같은 전자 상거래 플랫폼의 데이터 설비에 의해 제공될 수 있다. 데이터(416)는 전자 상거래와 관련된 다른 정보를 저장하는 더 큰 데이터 세트의 일부를 형성할 수 있다. 대안적으로, 데이터(416)는 제품 이미지 추천에 특정한 데이터 세트일 수 있다. 제품 이미지 추천 엔진(402)은 새로운 정보를 지속적으로 또는 주기적으로 취득하고 데이터(416)에 저장할 수 있다. 새로운 정보가 이용가능하게 됨에 따라 더 오래된 정보가 데이터(416)로부터 제거될 수도 있다.
이전에 획득된 특정 제품 이미지에 대해, 데이터(416)는 다음의 정보 중 임의의 것 또는 전부를 저장할 수 있다:
● 제품 유형;
● 제품 컬렉션;
● 제품 이미지가 속하는 상인; 또는
● 제품 이미지의 이미지 특징들.
메모리(406)는 이미지 분석기(414)를 추가로 포함한다. 이미지 분석기(414)는 제품 이미지를 수신하도록 구성될 수 있고 제품 이미지의 이미지 특징들을 결정할 수 있다. 일부 경우에, 이미지 분석기(414)는 데이터(416)에 저장하기 위한 하나 이상의 이전에 획득된 제품 이미지의 이미지 특징들을 결정하기 위해 사용된다. 이미지 분석기(414)는 또한 또는 대신에 상인으로부터 카메라 라이브 스트림의 일부로서 수신되는 제품 이미지에 대한 제품 이미지 특징들을 결정하기 위해 사용될 수 있다.
일부 구현들에서, 이미지 분석기(414)는 프로세서(404)에 의해 실행되는 이미지 분석 알고리즘이거나 이를 포함한다. 이미지 분석 알고리즘은 제품 이미지에서 제품과 배경 사이의 경계를 찾는 이미지 분할 프로세스를 포함할 수 있다. 예를 들어, 제품이 차지하는 제품 이미지의 백분율과 같은 특정 이미지 특징들을 결정할 때 도움이 될 수 있다.
이미지 분석 알고리즘의 예는 SIFT(scale-invariant feature transform)이다. SIFT 알고리즘은 타깃 이미지로부터, SIFT 프레임워크에서 포인트라고 불리는, 관심 포인트들을 추출한다. 추출된 키포인트들은, 이미지의 특징들을 탐지하고 기술하는 데 도움이 되는, 위치, 크기 조정 및 회전에 대한 그들 자체의 정보를 전달한다. 그 후 탐지된 특징들은 제품 이미지의 이미지 특징들을 결정하기 위해 사용될 수 있다. SIFT 알고리즘, 및 수 개의 다른 예시적인 이미지 분석 알고리즘에 관한 더 상세한 내용은 Computer Vision: Algorithms and Applications by Richard Szeliski(Springer, 2010)에서 찾을 수 있고, 그 내용은 그 전체가 인용에 의해 본 명세서에 포함된다.
제품 이미지 추천 엔진(402) 내의 네트워크 인터페이스(408)는 네트워크(426)를 통한 통신을 위해 제공된다. 네트워크 인터페이스(408)의 구조는 구현 특정적이다. 예를 들어, 일부 구현들에서 네트워크 인터페이스(408)는 네트워크 인터페이스 카드(NIC), 컴퓨터 포트(예를 들어, 플러그 또는 케이블이 연결되는 물리적 콘센트), 및/또는 네트워크 소켓을 포함할 수 있다.
상인 디바이스(430)는 사용자 디바이스의 예이다. 상인 디바이스(430)는 상인이 소유 및/또는 사용하는 휴대폰, 태블릿, 랩톱, 또는 컴퓨터일 수 있다. 상인 디바이스(430)는 프로세서(432), 메모리(434), 카메라(436), 사용자 인터페이스(438) 및 네트워크 인터페이스(440)를 포함한다. 사용자 인터페이스의 예는 디스플레이 화면(터치 스크린일 수 있음), 키보드, 및/또는 마우스이다. 네트워크 인터페이스(440)는 네트워크(426)를 통해 통신하기 위해 제공된다. 네트워크 인터페이스(440)의 구조는 상인 디바이스(430)가 네트워크(426)와 인터페이스하는 방법에 의존할 것이다. 예를 들어, 상인 디바이스(430)가 휴대폰 또는 태블릿이면, 네트워크 인터페이스(440)는 네트워크(426)로/로부터의 무선 송신들을 송수신하기 위한 안테나이 있는 송신기/수신기를 포함할 수 있다. 상인 디바이스가 네트워크 케이블로 네트워크에 연결된 개인용 컴퓨터이면, 네트워크 인터페이스(440)는, 예를 들어, NIC, 컴퓨터 포트, 및/또는 네트워크 소켓을 포함할 수 있다. 프로세서(432)는 상인 디바이스(430)에 의해 수행되는 모든 동작들을 직접 수행하거나 지시한다. 이들 동작의 예들은 사용자 인터페이스(438)로부터 수신된 사용자 입력들을 처리하는 것, 네트워크(426)를 통한 송신을 위한 정보를 준비하는 것, 네트워크(426)를 통해 수신된 데이터를 처리하는 것, 정보를 디스플레이하도록 디스플레이 화면에 지시하는 것을 포함한다. 프로세서(432)는 메모리(434)에 저장된 명령어들을 실행하는 하나 이상의 프로세서에 의해 구현될 수 있다. 대안적으로, 프로세서(432)의 일부 또는 전부는 ASIC, GPU, 또는 프로그래밍된 FPGA와 같은 전용 회로를 사용하여 구현될 수 있다. 카메라(436)는 메모리(434)에 저장될 수 있는 사진들을 촬영하기 위해 제공된다. 카메라(436)는 물체의 이미지를 생성하기 위한 디바이스의 일 예이다. 상인 디바이스는 또한 또는 대신에, 예를 들어, 스캐너들과 같은 다른 디바이스들을 포함할 수 있다. 카메라(436)는 상인 디바이스(430)의 컴포넌트로서 도시되어 있지만, 카메라는 대신에 상인 디바이스와 별도로 구현될 수 있고, 예를 들어, 유선 또는 무선 연결을 통해 상인 디바이스와 통신할 수 있다.
도 4에서, 하나의 상인 디바이스가 예로서 도시되어 있다. 일반적으로, 둘 이상의 상인 디바이스가 제품 이미지 추천 엔진(402)과 통신할 수 있다.
제품 이미지 추천 엔진(402)은 각종의 방식들 중 임의의 방식으로 구현될 수 있다. 예를 들어, 제품 이미지 추천 엔진(402)은, 전자 상거래 플랫폼에 의해 제공되는 코어 기능으로서, 또는 전자 상거래 플랫폼에 의해 지원되는 애플리케이션에 의해 전자 상거래 플랫폼에 의해 구현될 수 있다. 제품 이미지 추천 엔진(402)은 또한 또는 대신에 전자 상거래 플랫폼의 외부에서 구현될 수 있다. 일부 실시예들에서, 제품 이미지 추천 엔진은 부분적으로 또는 전체적으로 상인 디바이스(430)와 같은 사용자 디바이스 상에 구현된다. 예를 들어, 이미지 분석을 수행하고 로컬로(즉, 사용자 디바이스 상에서) 추천을 생성하는 소프트웨어 애플리케이션이 사용자 디바이스 상에 설치될 수 있다. 소프트웨어 애플리케이션은 서버로부터 제품 이미지 특징 모델(410) 및/또는 이미지 분석기(414)를 다운로드할 수 있고, 서버는 제품 이미지 추천 엔진 또는 전자 상거래 플랫폼의 일부일 수도 있고 아닐 수도 있다.
시스템(400)은 사용자가 제품 이미지를 캡처하는 과정에 있는 동안 사용자에게 추천을 제공할 수 있다. 제품의 이미지 캡처 중에 추천을 생성하기 위한 예시적인 방법(600)이 도 6을 참조하여 아래에 설명된다. 방법(600)은 컴퓨팅 디바이스로 하여금 설명된 동작들을 수행하게 하기 위한 적합한 컴퓨터 실행가능 명령어들을 갖는 컴퓨팅 디바이스에 의해 구현될 수 있다. 명령어들은 컴퓨팅 디바이스 상에서 실행되는 애플리케이션을 통해 구현될 수 있다. 방법(600)은, 전체적으로 또는 부분적으로, 상인 디바이스(430)(도 4)와 같은 사용자 디바이스에 의해 구현될 수 있다. 상인 디바이스(430)(도 4)는 제품 이미지 추천 엔진(402)을 이용할 수 있다. 일부 구현들에서, 사용자 디바이스는 방법(600)의 적어도 일부 동작들을 예를 들어 제품 이미지 추천 엔진(402)(도 4) 또는 전자 상거래 플랫폼의 일부일 수 있는 서버와 같은 외부 디바이스로 오프로드할 수 있다.
방법(600)은 사용자 디바이스 내의 카메라로부터 카메라 라이브 스트림을 획득하는 단계를 포함하고, 카메라 라이브 스트림은 특정 제품의 이미지 데이터를 포함한다(단계 610).
이 실시예에서, 사용자 디바이스의 카메라로부터 실시간 라이브 스트림 이미지를 획득하기 위해 카메라 기능이 개시된다. 실시간 라이브 스트림은 카메라로부터의 이미지들의 스트림을 제공하고, 이는 라이브 모드, 프리뷰 모드, 또는 뷰파인더 모드라고 지칭될 수 있다. 이미지들의 라이브 스트림은, 예를 들어, 이미지 프로세서를 사용하여 전처리될 수 있다. 일부 경우에, 처리는 특정 제품을 식별 및/또는 추적하기 위한 특징 탐지를 포함한다.
라이브 스트림의 처리는 처리된 라이브 스트림을 생성한다. 이 처리는, 예를 들어, 이미지들을 크로핑하여 크로핑된 라이브 스트림을 획득하고 /하거나 이미지들을 크기 조정하여 크기 조정된 라이브 스트림을 획득하는 것을 포함할 수 있다. 처리된 라이브 스트림은 라이브 스트림으로서 디스플레이될 수 있다.
이 처리는, 예를 들어, 탐지된 특정 제품에 인접한 이미지의 일부, 예를 들어, 이미지의 배경 부분을 변경하는 것을 포함할 수 있다. 배경의 변경은 배경을 흐리게 하는 것 또는 균일한 색상 값으로 배경을 채우는 것을 포함할 수 있다.
이 처리는, 예를 들어, 라이브 스트림의 이미지 내에서 이미지 파라미터들을 변경하는 것을 포함할 수 있다. 이미지 파라미터들은, 예를 들어, 밝기, 색조, 채도, 화이트 밸런스, 또는 다른 그러한 파라미터들을 포함할 수 있다.
특정 제품의 탐지는 특징 탐지를 이용할 수 있고, 일부 경우에, 예상되는 물리적 항목들과 연관되는 일련의 정의된 형상들 또는 특징들에 의해 가이드될 수 있다. 예들은 박스, 캔, 병, 상자, 가방, 또는 다른 그러한 소매 포장을 포함할 수 있다. 의류 소매업자의 예시적인 경우, 예시적인 물리적 항목들은 의류 형상들일 수 있다. 이 특징 탐지는 에지, 블롭, 코너를 식별하기 위한 임의의 적합한 기법을 포함할 수 있고, 이미지에서 식별된 관심 패치들에 관한 특징 설명자들 또는 특징 벡터들을 획득할 수 있다. 특징 설명자들은 특징 설명자를 특징들의 라이브러리 또는 데이터베이스와 매칭시키려고 시도하는 것을 통해 분석될 수 있다. 이 분석은 물체를 인식하려고 시도하기 위해 로컬 특징들을 수학적으로 기술하고 그것들을 특징들의 데이터베이스 내의 항목들과 비교하기 위해 SIFT(scale-invariant feature transforms) 또는 다른 그러한 이미지 분석 기법들을 사용할 수 있다. 특징 탐지를 구현하는 데 다양한 컴퓨터 비전 기법들이 사용될 수 있다.
일부 경우에, 특정 제품의 탐지는 데이터의 추출을 추가로 포함할 수 있다. 데이터 추출은, 예를 들어, 관심 영역 내의 로고들 또는 그래픽들을 목표로 하는 추가 특징 탐지를 포함할 수 있다. 일부 경우에, 특정 제품을 포함하는 이미지의 부분으로부터 텍스트를 추출하기 위해 광학 문자 인식(OCR)과 같은 텍스트 인식 알고리즘들이 이용될 수 있다. 일부 경우에, 특정 제품에 관한 관련 라벨, 선반 태그, 행 태그, 또는 다른 식별 데이터를 식별하기 위해 특징 탐지가 이용될 수 있다.
방법(600)은 컬렉션의 하나 이상의 제품의 이미지에 공통적인 하나 이상의 기준 이미지 특징을 결정하는 단계(단계 620)를 포함한다.
이 실시예에서, 단계 620은 컬렉션 내의 하나 이상의 제품의 이미지를 획득하는 것을 필요로 한다. 컬렉션은 특정 제품이 그 일부가 될 제품들의 컬렉션이다. 예시적인 컬렉션은 "커피 머그들"일 수 있고 따라서 사용자에 의해 이전에 캡처된 하나 이상의 커피 머그의 그러한 이미지들이 획득된다. 이 예에서의 특정 제품도 커피 머그이다.
일 실시예에서, 특정 제품이 식별될 수 있고, 도 7에 도시된 방법(700)에 따라 식별된 특정 제품에 기초하여 하나 이상의 제품의 이미지가 획득될 수 있다. 방법(700)은 컴퓨팅 디바이스로 하여금 설명된 동작들을 수행하게 하기 위한 적합한 컴퓨터 실행가능 명령어들을 갖는 컴퓨팅 디바이스에 의해 구현될 수 있다. 명령어들은 컴퓨팅 디바이스 상에서 실행되는 애플리케이션을 통해 구현될 수 있다. 방법(700)은, 전체적으로 또는 부분적으로, 상인 디바이스(430)(도 4)와 같은 사용자 디바이스에 의해 구현될 수 있다. 상인 디바이스(430)(도 4)는 제품 이미지 추천 엔진(402)을 이용할 수 있다. 일부 구현들에서, 사용자 디바이스는 방법(700)의 적어도 일부 동작들을 예를 들어 제품 이미지 추천 엔진(402)(도 4) 또는 전자 상거래 플랫폼의 일부일 수 있는 서버와 같은 외부 디바이스로 오프로드할 수 있다.
방법(700)은 특정 제품의 이미지 데이터를 분석하여 특정 제품을 식별하는 단계(단계 710)를 포함한다. 단계 710은, 예를 들어, 이미지 분석기(414)(도 4)를 사용하여 수행될 수 있다. 이 실시예에서, 카메라 라이브 스트림에 포함된 이미지 데이터가 특정 제품을 식별하기 위해 분석될 수 있다. 예를 들어, 특정 제품의 식별은 특징 탐지를 이용할 수 있고, 일부 경우에, 예상되는 물리적 항목들과 연관되는 일련의 정의된 형상들 또는 특징들에 의해 가이드될 수 있다. 이 특징 탐지는 에지, 블롭, 코너를 식별하기 위한 임의의 적합한 기법을 포함할 수 있고, 이미지에서 식별된 관심 패치들에 관한 특징 설명자들 또는 특징 벡터들을 획득할 수 있다. 특징 설명자들은 특징 설명자를 특징들의 라이브러리 또는 데이터베이스와 매칭시키려고 시도하는 것을 통해 분석될 수 있다. 이 분석은 물체를 인식하려고 시도하기 위해 로컬 특징들을 수학적으로 기술하고 그것들을 특징들의 데이터베이스 내의 항목들과 비교하기 위해 SIFT(scale-invariant feature transforms) 또는 다른 그러한 이미지 분석 기법들을 사용할 수 있다. 특징 탐지를 구현하는 데 다양한 컴퓨터 비전 기법들이 사용될 수 있다. 이미지 데이터는 실시간으로 처리될 수 있고 처리된 이미지는 라이브 카메라 스트림으로서 제시될 수 있다.
특정 제품이 식별되면, 식별된 특정 제품에 기초하여 컬렉션 내의 하나 이상의 제품의 이미지들이 획득될 수 있다(단계 720). 예를 들어, 특정 제품은 커피 머그인 것으로 식별될 수 있고 따라서 사용자에 의해 이전에 캡처된 하나 이상의 커피 머그의 그러한 이미지들이 획득될 수 있다. 이 이미지들은 사용자 디바이스 상의 메모리로부터 획득될 수 있거나 예를 들어, 제품 이미지 추천 엔진(402)(도 4) 또는 전자 상거래 플랫폼의 일부일 수 있는 서버와 같은 외부 디바이스로부터 획득될 수 있다.
다른 실시예에서, 특정 제품에 관한 정보가 획득될 수 있고 도 8에 도시된 방법(800)에 따라 이 정보에 기초하여 하나 이상의 제품의 이미지들이 획득될 수 있다. 방법(800)은 컴퓨팅 디바이스로 하여금 설명된 동작들을 수행하게 하기 위한 적합한 컴퓨터 실행가능 명령어들을 갖는 컴퓨팅 디바이스에 의해 구현될 수 있다. 명령어들은 컴퓨팅 디바이스 상에서 실행되는 애플리케이션을 통해 구현될 수 있다. 방법(800)은, 전체적으로 또는 부분적으로, 상인 디바이스(430)(도 4)와 같은 사용자 디바이스에 의해 구현될 수 있다. 상인 디바이스(430)(도 4)는 제품 이미지 추천 엔진(402)을 이용할 수 있다. 일부 구현들에서, 사용자 디바이스는 방법(800)의 적어도 일부 동작들을 예를 들어 제품 이미지 추천 엔진(402)(도 4) 또는 전자 상거래 플랫폼의 일부일 수 있는 서버와 같은 외부 디바이스로 오프로드할 수 있다.
방법(800)은 특정 제품에 관한 정보를 획득하는 단계(단계 810)를 포함한다. 이 실시예에서, 이미지 캡처를 개시하기 전에, 사용자 디바이스는 특정 제품에 관한 정보를 요청하는 그래픽 사용자 인터페이스를 디스플레이할 수 있다. 예를 들어, 그래픽 사용자 인터페이스는 특정 제품이 추가될 카테고리를 선택하기 위해 사용될 수 있는 드롭 다운 메뉴와 같은 선택 가능한 옵션을 포함할 수 있다. 드롭 다운 메뉴에 열거된 카테고리들은 사용자의 상점에서 이용가능한 제품들의 모든 카테고리들을 포함할 수 있다. 사용자는 카테고리들 중 하나를 선택할 수 있고 따라서 특정 제품에 관한 정보가 획득된다.
특정 제품에 관한 정보에 기초하여 컬렉션 내의 하나 이상의 제품의 이미지들이 획득될 수 있다(단계 820). 예를 들어, 특정 제품에 관한 정보는 사용자가 "커피 머그" 카테고리를 선택하는 것에 기초할 수 있고 따라서 사용자에 의해 이전에 캡처되고 선택된 카테고리에 포함된 하나 이상의 커피 머그의 이미지들이 획득될 수 있다. 이 이미지들은 사용자 디바이스 상의 메모리로부터 획득될 수 있거나 예를 들어, 제품 이미지 추천 엔진(402)(도 4) 또는 전자 상거래 플랫폼의 일부일 수 있는 서버와 같은 외부 디바이스로부터 획득될 수 있다.
다른 실시예에서, 특정 제품에 관한 정보는 특정 제품이 상점에 추가되게 된 상거래 워크플로우에 기초하여 자동으로 결정될 수 있다. 예를 들어, 상인은 그들의 제품 컬렉션들 중 하나를 보고 있었을 수 있고 "컬렉션에 새로운 제품을 추가"하는 옵션과 연관된 선택 가능한 옵션을 선택할 수 있다.
다른 실시예에서, 사용자는 하나 이상의 기준 특징을 결정하기 위해 사용될 하나 이상의 이미지를 선택할 수 있다. 예를 들어, 그래픽 사용자 인터페이스가 사용자 디바이스 상에 디스플레이될 수 있고 사용자에 의해 이전에 캡처된 하나 이상의 이미지를 포함할 수 있다. 사용자는, 예를 들어, 사용자 디바이스와 연관된 입력 인터페이스를 사용하여 디스플레이된 이미지들 중 하나 이상을 선택할 수 있다. 예를 들어, 사용자는 디스플레이된 이미지의 위치에 대응하는 위치에서 사용자 디바이스의 디스플레이 화면에 대해 탭 제스처를 수행하는 것에 의해 이미지를 선택할 수 있다. 그래픽 사용자 인터페이스는, 사용자에 의해 선택될 때, 사용자가 하나 이상의 제품의 이미지 선택을 완료했음을 나타낼 수 있는 선택 가능한 옵션을 포함할 수 있다.
다른 실시예에서, 특정 카테고리는 추천을 생성할 때 포함되어서는 안 되는 하나 이상의 아웃라이어(outlier) 이미지를 포함할 수 있다. 예를 들어, 카테고리 내의 하나 이상의 이미지는 공급자로부터 획득된 이미지일 수 있고 따라서 사용자에 의해 이전에 캡처된 이미지들이 아니다. 이 실시예에서, 특정 제품이 어느 카테고리에 추가되어야 하는지가 결정될 때, 사용자는 하나 이상의 기준 특징을 결정하기 위해 사용될 하나 이상의 이미지를 선택할 수 있다. 예를 들어, 그래픽 사용자 인터페이스가 사용자 디바이스 상에 디스플레이될 수 있고 해당 카테고리 내에 사용자에 의해 이전에 캡처된 하나 이상의 이미지를 포함할 수 있다. 사용자에 의해 선택되지 않는 이미지들은 기준 이미지 특징들을 생성할 때 무시되거나 달리 사용되지 않는다.
하나 이상의 실시예에서, 특정 제품에 대한 카테고리가 아직 존재하지 않을 수 있다. 따라서, 그래픽 사용자 인터페이스는 새로운 카테고리를 추가하기 위한 선택 가능한 옵션을 포함할 수 있다.
컬렉션 내의 하나 이상의 제품 이미지가 획득되면, 컬렉션의 하나 이상의 제품의 이미지들에 공통적인 하나 이상의 기준 특징이 결정된다. 기준 이미지 특징들의 비제한적인 예들은 다음을 포함한다:
● 이미지 해상도;
● 이미지의 픽셀 밀도;
● 이미지 밝기;
● 피사계 심도;
● 초점;
● 이미지에서 제품의 크기(예를 들어, 제품이 차지하는 면적의 백분율 및/또는 제품이 차지하는 픽셀 수의 관점에서);
● 이미지에서 제품의 각도 또는 방향; 및
● 제품과 배경 사이의 대비.
이 실시예에서, 제품 이미지 특징 모델 생성기(412)는 본 명세서에 기술된 룩업 테이블(500)과 유사한 룩업 테이블을 생성하기 위해 사용될 수 있다. 구체적으로, 예를 들어, 이미지 분석기(414)를 사용하여 하나 이상의 제품의 이미지들을 분석하는 것에 의해 하나 이상의 기준 이미지 특징의 평균이 계산될 수 있다. 언급된 바와 같이, 단일 이미지가 사용될 수 있고 따라서 단일 이미지를 분석하고 단일 이미지의 하나 이상의 기준 특징을 결정하는 것에 의해 하나 이상의 기준 이미지 특징이 결정될 수 있다.
언급된 바와 같이, 특정 제품에 대한 카테고리가 아직 존재하지 않을 수 있고 따라서 그래픽 사용자 인터페이스는 새로운 카테고리를 추가하는 선택 가능한 옵션을 포함할 수 있다. 사용자는 새로운 카테고리 외부의 하나 이상의 제품의 이전에 캡처된 이미지를 선택할 필요가 있을 수 있고 이들 선택된 이미지는 하나 이상의 기준 이미지 특징을 결정하기 위해 사용될 수 있다. 예를 들어, 특정 제품은 새로운 카테고리 "커피 머그"에 속할 수 있고 사용자는 하나 이상의 기준 이미지 특징을 결정하기 위해 사용될 "맥주 머그"의 이전에 캡처된 이미지를 선택할 수 있다.
방법(600)은 하나 이상의 기준 이미지 특징을 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징과 비교하는 단계를 포함한다(단계 630).
이 실시예에서, 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징이 결정되고 대응하는 기준 이미지 특징과 비교된다. 언급된 바와 같이, 기준 이미지 특징은 머그의 크기를 포함할 수 있다. 룩업 테이블(500)을 참조하면, "커피 머그" 컬렉션 내의 하나 이상의 제품 이미지에서 커피 머그의 크기의 평균 값은 70%로서 계산될 수 있다. 문턱 값은 2%이고 이는 68%와 72% 사이의 임의의 머그의 크기가 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다. 특정 제품의 이미지 데이터에서, 특정 제품, 즉 커피 머그의 크기는 60%인 것으로 결정될 수 있다. 따라서, 이미지 데이터에서 특정 제품의 크기는 기준 이미지 특징의 문턱 값을 벗어나기 때문에 너무 작다.
방법(600)은 사용자 디바이스 상에 카메라 라이브 스트림과 함께 디스플레이하기 위해, 하나 이상의 추천을 생성하는 단계(단계 640)를 포함한다. 하나 이상의 추천은 하나 이상의 기준 이미지 특징을 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징과 비교하는 것에 기초한다. 추천은 제품 이미지 일관성을 개선하기 위해 생성된다.
추천은 카메라의 설정을 변경하는 추천 및/또는 특정 제품이 위치하는 환경에서의 조건을 변경하는 추천을 포함할 수 있다. 이미지 특징들은 제품 이미지를 촬영하기 위해 사용되는 카메라의 능력, 카메라의 설정, 및 특정 제품이 위치하는 환경에서의 조건에 의존할 수 있다. 다음은 하나 이상의 이미지 특징을 조정하기 위해 변경할 수 있는 능력, 설정 및 조건의 비제한적인 목록이다:
● 카메라 해상도;
● 카메라 감도;
● 조리개 크기;
● 노출 시간;
● 줌 설정;
● 필터링;
● 플래시 설정;
● 카메라로부터 제품까지의 거리;
● 카메라에 대한 제품의 방향;
● 카메라 모드(예를 들어, 세로 모드);
● 사용된 광원(들); 및
● 사용된 배경(들).
● 이미지에서 제품의 크기(예를 들어, 제품이 차지하는 면적의 백분율 및/또는 제품이 차지하는 픽셀 수의 관점에서);
● 이미지에서 제품의 각도 또는 방향;
● 제품과 배경 사이의 대비; 및
● 하나 이상의 배경 제품의 제거.
추천은 상인이 컬렉션 내에서 이전에 캡처된 하나 이상의 이미지의 이미지 특징들과 일관된 이미지 특징들을 갖는 이미지를 생성하는 데 도움이 되기 위해 생성된다. 이러한 방식으로, 상인은 컬렉션 내의 제품들 간에 일관된 이미지들을 획득하거나 달리 생성하기 위해 경험이나 값비싼 장비를 가질 필요가 없다.
일부 구현들에서, 추천은 상인에 대한 지시(instruction)를 포함한다. 예를 들어, 이 지시는 광원, 배경, 카메라로부터 제품까지의 거리 및/또는 카메라에 대한 제품의 방향을 변경하라는 것일 수 있다. 일부 구현들에서, 추천은 상인 디바이스(430)에 의해 자동으로 수행될 수 있는 지시를 포함한다. 예를 들어, 이 지시는 카메라(436)에서 감도, 노출 시간, 줌 설정, 필터링 및/또는 플래시 설정을 변경하라는 것일 수 있다. 이 예에서, 추천은 사용자 알림의 형태일 수 있고 지시는 사용자 개입 없이 자동으로 수행될 수 있다.
추천은 하나 이상의 기준 이미지 특징을 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징과 비교하는 것에 기초하여 생성될 수 있고 이는 룩업 테이블을 사용하여 수행될 수 있다. 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징이 룩업 테이블에 지정된 문턱 값 외부에 있을 때, 이미지 특징은 기준 이미지 특징과 모순되는 것으로 간주되고 따라서 컬렉션에서 하나 이상의 이전에 캡처된 이미지와 모순되는 이미지를 생성할 것이다. 따라서 해당 이미지 특징을 대응하는 기준 이미지 특징의 문턱 값 내로 가져오기 위해 추천이 생성된다. 도 5의 룩업 테이블(500)을 예로서 참조하면, "커피 머그" 컬렉션 내의 하나 이상의 제품의 이미지들에서 커피 머그의 크기의 평균 값은 70%로서 계산될 수 있다. 문턱 값은 2%이고 이는 68%와 72% 사이의 임의의 머그의 크기가 일관된 것으로 간주될 수 있을 만큼 평균 값에 충분히 가까운 것으로 간주됨을 나타낸다. 특정 제품의 이미지 데이터에서, 특정 제품, 즉 커피 머그의 크기가 60%이면, 제품 이미지 추천 엔진(402)은 카메라를 줌인하거나 카메라를 특정 제품에 더 가까이 가져오기 위한 추천을 생성할 수 있다.
언급된 바와 같이, 하나 이상의 추천은 사용자 디바이스 상에 카메라 라이브 스트림과 함께 디스플레이하기 위해 생성된다. 사용자 디바이스는 그것의 디스플레이 화면 상에 추천을 디스플레이하도록 지시받을 수 있다. 추천은 카메라 라이브 스트림과 관련하여 디스플레이될 수 있다. 추천은 특정 제품의 이미지가 컬렉션에서 하나 이상의 이전에 획득된 이미지와 모순됨을 상인에게 알릴 수 있다. 추천은 하나 이상의 이미지 특징이 컬렉션 내의 하나 이상의 이미지의 이미지 특징들과 일관되도록 보장하도록 이미지를 조정하기 위해 하나 이상의 능력, 설정, 또는 조건을 조정하도록 상인에게 지시할 수 있다. 둘 이상의 제품이 식별되는 경우, 추천은 어느 제품이 이미징될지를 선택하도록 사용자에게 요청하는 것을 포함할 수 있고/있거나 사용자가 다른 식별된 제품들을 배경으로부터 제거할 것을 제안할 수 있다.
추천은 관련 제품의 형상, 텍스트, 이미지, 또는 애니메이션 중 적어도 하나를 포함할 수 있다. 추천은 사용자가 추천을 시각화하는 데 도움이 되도록 사용자 디바이스 상에 카메라 라이브 스트림과 오버레이되거나 중첩될 수 있다. 추천은 화면 페이지 상에 디스플레이될 수 있다. 예시적인 화면 페이지(900)가 도 9에 도시되어 있다. 알 수 있는 바와 같이, 화면 페이지(900)는 카메라의 뷰파인더를 포함한다. 카메라는 배경(906) 앞의 표면(904) 상에 놓여 있는 커피 머그(902)의 이미지를 캡처하기 위해 사용된다. 화면 페이지(900)는 사용자가 화면 페이지(900)에 제시도어 있는 이미지를 캡처하고 저장할 수 있게 하는 버튼(914)을 포함한다. 추천들(908, 910, 912)은 사용자가 추천들을 더 잘 시각화하는 데 도움이 되도록 카메라 라이브 스트림과 오버레이되거나 중첩된다.
추천들(908, 910)은 커피 머그에 대해 카메라를 20° 회전시키는 것과 관련이 있다. 구체적으로, 추천(908)은 사용자에게 카메라를 20° 회전시키도록 지시하는 텍스트를 포함하고, 추천(910)은 사용자가 카메라가 어떻게 회전되어야 하는지를 시각화하는 데 도움이 되는 화살표이다. 추천(910)은 화살표가 가리키는 방향으로 연속적으로 연장되는 애니메이션화된 화살표일 수 있다. 이들 추천은 특정 제품의 이미지 데이터의 기울어진 이미지 특징을 룩업 테이블(500)의 기준 기울어진 이미지 특징과 비교하는 것에 의해 생성될 수 있다.
추천(912)은 사용자에게 더 어두운 배경을 사용하도록 지시하는 텍스트를 포함한다. 추천(912)은 특정 제품의 이미지 데이터의 대비 이미지 특징을 기준 대비 이미지 특징과 비교하는 것에 의해 생성될 수 있다.
추천들(908, 910, 912)에 기초하여, 사용자는 카메라의 방향을 바꾸고 배경을 변경할 수 있다. 추천들은 능동적으로 업데이트될 수 있고 방법(600)의 비교 및 생성 단계들은 이미지 특징들이 대응하는 기준 이미지 특징들의 문턱 값 내에 있을 때까지 반복될 수 있다. 이는 도 10에 도시된 방법(1000)에 따라 수행될 수 있다. 방법(1000)은 컴퓨팅 디바이스로 하여금 설명된 동작들을 수행하게 하기 위한 적합한 컴퓨터 실행가능 명령어들을 갖는 컴퓨팅 디바이스에 의해 구현될 수 있다. 명령어들은 컴퓨팅 디바이스 상에서 실행되는 애플리케이션을 통해 구현될 수 있다. 방법(1000)은, 전체적으로 또는 부분적으로, 상인 디바이스(430)(도 4)와 같은 사용자 디바이스에 의해 구현될 수 있다. 상인 디바이스(430)(도 4)는 제품 이미지 추천 엔진(402)을 이용할 수 있다. 일부 구현들에서, 사용자 디바이스는 방법(1000)의 적어도 일부 동작들을 예를 들어 제품 이미지 추천 엔진(402)(도 4) 또는 전자 상거래 플랫폼의 일부일 수 있는 서버와 같은 외부 디바이스로 오프로드할 수 있다.
방법(1000)은 기준 이미지 특징을 특정 제품의 이미지 데이터의 현재 이미지 특징과 비교하는 단계를 포함한다(단계 1010). 이 실시예에서, 특정 제품의 이미지 데이터의 이미지 특징은 단계 630을 참조하여 본 명세서에 기술된 것과 유사한 방식으로 연속적으로 결정될 수 있다.
이미지 특징이 기준 이미지 특징의 문턱 값 내에 있는지를 결정하기 위한 확인이 수행된다(단계 1020). 이미지 특징이 기준 이미지 특징의 문턱 값 내에 있지 않다고 결정될 때, 추천이 업데이트될 수 있고(단계 1030) 방법은 기준 이미지 특징이 업데이트된 이미지 특징과 비교되는 단계 1010으로 돌아간다.
단계 1020 동안, 이미지 특징이 기준 이미지 특징의 문턱 값 내에 있다고 결정될 때, 대응하는 추천이 제거되거나 달리 사라지고 특정 제품의 하나 이상의 이미지가 캡처된다(단계 1040). 이 실시예에서, 캡처된 이미지는 라이브 피드의 프레임으로부터 획득될 수 있거나 정적 이미지로서 캡처될 수 있다. 캡처 이벤트는 지시의 수신, 예를 들어, 버튼 누르기 또는 화면 탭에 의해 트리거될 수 있다. 예를 들어, 사용자는 이미지를 캡처하기 위해 화면 페이지(900)의 버튼(914)을 선택할 수 있다.
예에서, 캡처 이벤트는 하나 이상의 이미지 특징이 대응하는 기준 이미지 특징들의 문턱 값 내에 있을 때만 이용가능할 수 있다. 예를 들어, 화면 페이지(900)의 버튼(914)은 하나 이상의 이미지 특징이 대응하는 기준 이미지 특징들의 문턱 값 내에 있을 때까지 비활성화될 수 있다.
다른 실시예에서, 캡처 이벤트는 자동일 수 있다. 예를 들어, 데이터는 사용자 디바이스와 연관된 하나 이상의 센서로부터 획득될 수 있다. 데이터는 사용자 디바이스가 정지하거나 움직이지 않는 때를 결정하기 위해 분석될 수 있다. 사용자 디바이스가 일정 기간 동안 정지하는 것으로 결정될 때, 사용자로부터의 추가 입력 없이 하나 이상의 이미지가 자동으로 캡처될 수 있다.
캡처된 이미지 또는 이미지들은 검토를 위해 사용자 디바이스 상의 화면 페이지 상에 디스플레이를 위해 이용가능할 수 있다. 화면 페이지는 이미지를 수락하거나 이미지를 다시 촬영하기 위한 하나 이상의 선택 가능한 옵션을 포함할 수 있다. 이미지가 수락될 때, 이미지는 메모리에 저장될 수 있다. 화면 페이지는 본 명세서에 기술된 방법에 기초하여 생성된 추가적인 추천들을 포함할 수 있다. 예를 들어, 획득된 이미지는 하나 이상의 이미지 특징이 여전히 모순되는 것으로 간주되는지를 결정하기 위해 분석될 수 있다. 다른 예로서, 이미지가 획득된 후에, 사용자는 룩업 테이블에서 문턱 값들을 감소시키기 위한 선택 가능한 옵션을 제공받을 수 있다. 사용자가 선택 가능한 옵션을 선택할 때, 문턱 값들은 업데이트되거나 달리 감소될 수 있고 사용자는 한층 더 일관된 이미지를 획득하기 위해 감소된 문턱 값들로 다른 사진을 촬영하도록 프롬프트될 수 있다.
라이브 카메라 스트림과 동시에 다수의 추천들(1102, 1104)을 디스플레이하는 다른 예시적인 화면 페이지(1100)가 도 11에 도시되어 있다. 추천들(1102, 1104)은 이미지에서의 제품(커피 머그(902))의 크기와 관련이 있다. 예를 들어, 본 명세서에 기술된 방법들을 사용하여, 커피 머그가 이미지에서 너무 적은 수의 픽셀들을 차지한다는 점에서 대응하는 기준 이미지 특징에 비해 너무 작다고 결정될 수 있다. 따라서, 추천(1102)은 커피 머그(902)에 더 가까이 카메라를 이동시키도록 사용자에게 지시하는 텍스트를 포함한다. 추천(1104)은 대응하는 기준 이미지 특징에 기초하여 사용자가 커피 머그(902)의 크기를 시각화하는 데 도움이 되는 박스, 윤곽선 또는 손잡이를 포함한다. 사용자는 커피 머그(902)가 박스를 채울 때까지 카메라를 커피 머그(902)에 더 가까이 이동시킬 수 있다. 그 후 추천들(1102, 1104)은 화면 페이지로부터 사라지고 이미지가 캡처될 수 있다.
라이브 카메라 스트림과 동시에 다수의 추천들(1202, 1204)을 디스플레이하는 다른 예시적인 화면 페이지(1200)가 도 12에 도시되어 있다. 추천들(1202, 1204)은 이미지에서의 제품(커피 머그(902))의 크기 및 이미지에서의 제품의 각도와 관련이 있다. 추천(1202)은 커피 머그(902)가 추천(1204)과 대체로 겹치도록 카메라를 이동시키도록 사용자에게 지시하는 텍스트를 포함한다. 추천(1204)은 이미지에서 제품의 크기의 기준 이미지 특징에 기초한 커피 머그의 이미지를 포함한다. 추천(1204)은 컬렉션 내에서 이전에 캡처된 이미지로부터 획득된 컷-아웃일 수 있다. 추천(1204)은 커피 머그(902)가 추천(1204)과 겹칠 때 사용자가 그것을 볼 수 있다는 점에서 반투명하다.
다른 실시예에서, 손잡이들은 제품의 식별된 코너들 주위에 디스플레이될 수 있다. 예를 들어, 예시적인 화면 페이지(1200)는 커피 머그(902) 및 추천(1204)의 식별된 코너들 주위에 손잡이들을 포함할 수 있다. 이러한 방식으로, 사용자는 커피 머그(902)의 손잡이들과 추천(1204)의 손잡이들이 겹칠 때까지 하나 이상의 이미지 특징을 조정할 수 있다.
다른 실시예에서, 커피 머그의 이미지의 형태로 추천을 보여주기보다는(예컨대 도 12에 도시된 추천(1204)), 추천은 이미징될 제품의 코너들이 어디에 위치되어야 하는지를 식별하는 손잡이들의 형태일 수 있다. 이러한 방식으로, 사용자는 커피 머그(902)의 손잡이들과 디스플레이된 손잡이들이 겹칠 때까지 하나 이상의 이미지 특징을 조정할 수 있다.
적어도 일부 실시예들에서, 이미지 캡처가 개시될 때 추천들이 제공될 수 있다는 것을 잘 알 것이다. 예를 들어, 이미지 캡처가 개시될 때, 컬렉션에서 하나 이상의 제품 이미지의 대응하는 기준 이미지 특징에 기초하여 제품의 크기를 나타내는 추천이 라이브 카메라 스트림 상에 자동으로 오버레이 될 수 있다. 추천은, 예를 들어, 도 11에 도시된 추천(1104) 또는 도 12에 도시된 추천(1204)과 유사할 수 있다. 이러한 방식으로, 사용자는 이미지에서 제품의 크기의 기준 이미지 특징을 나타내는 초기 추천을 제공받는다.
적어도 일부 실시예들에서, 추천들은 진행 및/또는 성공을 나타내는 사용자에 대한 피드백을 포함할 수 있다는 것을 잘 알 것이다. 예를 들어, 추천은 사용자가 이미지에서 제품의 각도의 이미지 특징을 조정하기 위해 사용자 디바이스의 각도를 조정할 것을 요청할 수 있다. 사용자가 사용자 디바이스의 각도를 조정함에 따라, 이미지에서 제품의 현재 각도가 대응하는 기준 이미지 특징과 함께 디스플레이될 수 있다. 사용자 디바이스의 각도가 더 조정됨에 따라, 사용자가 대응하는 기준 이미지 특징의 문턱 값 내로 각도를 조정할 때까지 이미지에서 제품의 현재 각도가 업데이트될 수 있다. 이미지에서 제품의 각도가 기준 이미지 특징의 문턱 값 내에 있을 때, 성공을 나타내는 알림이 사용자에게 디스플레이될 수 있다.
적어도 일부 실시예들에서, 추천들은 하나 이상의 이미지 특징을 조정하는 데 있어서 사용자에 의한 진행을 나타내는 진행 바(progress bar)를 포함할 수 있다. 예를 들어, 추천은 사용자가 이미지에서 제품의 각도의 이미지 특징을 조정하기 위해 사용자 디바이스의 각도를 조정할 것을 요청할 수 있다. 사용자가 사용자 디바이스를 회전시킴에 따라, 사용자 디바이스를 회전시키는 데 있어서 사용자의 진행을 업데이트하기 위한 진행 바가 디스플레이될 수 있다. 이미지에서 제품의 각도가 기준 이미지 특징의 문턱 값 내에 있을 때 진행 바는 꽉 찬 것으로 제시될 수 있다.
적어도 일부 실시예들에서, 이미지 특징을 조정하는 데 성공을 나타내는 경보 또는 다른 피드백이 사용자에게 제공될 수 있다. 예를 들어, 사용자 디바이스는 성공을 나타내는 가청 경보를 출력하거나 진동하게 될 수 있다.
적어도 일부 실시예들에서, 제품 이미지는 3차원일 수 있고 따라서 사용자 디바이스는, 예를 들어, 3차원 카메라를 포함할 수 있다. 이 실시예에서, 추천들은 3차원 제품 이미지를 캡처하는 것에 기초하여 제공될 수 있다. 예를 들어, 추천들은 3차원 카메라를 제품 주위로 물리적으로 이동시키라는 추천들을 포함할 수 있다.
적어도 일부 실시예들에서, 제품 이미지들은 제품 비디오의 일부일 수 있다. 이 실시예에서, 추천들은 제품 비디오를 캡처하는 것에 기초하여 제공될 수 있다. 예를 들어, 추천들은 비디오 캡처 중에 카메라 및/또는 제품을 이동시키는 방법에 대한 추천들을 포함할 수 있다.
본 명세서에 기술된 예시적인 방법들의 단계들 중 일부는 그의 동작에 실질적으로 영향을 주지 않고 상이한 순서로 또는 동시에 수행될 수 있다는 것을 이해할 것이다.
구현들
본 명세서에 기술된 방법들 및 시스템들은 프로세서 상에서 컴퓨터 소프트웨어, 프로그램 코드들, 및/또는 명령어들을 실행하는 머신을 통해 부분적으로 또는 전체적으로 배치될 수 있다. 프로세서는 서버, 클라우드 서버, 클라이언트, 네트워크 인프라, 모바일 컴퓨팅 플랫폼, 고정 컴퓨팅 플랫폼, 또는 다른 컴퓨팅 플랫폼의 일부일 수 있다. 프로세서는 프로그램 명령어들, 코드, 바이너리 명령어들 등을 실행할 수 있는 임의의 종류의 계산 또는 처리 디바이스일 수 있다. 프로세서는 신호 프로세서, 디지털 프로세서, 임베디드 프로세서, 마이크로프로세서 또는 그 위에 저장된 프로그램 코드 또는 프로그램 명령어들의 실행을 직접 또는 간접적으로 용이하게 할 수 있는 코-프로세서(수학 코-프로세서, 그래픽 코-프로세서, 통신 코-프로세서 등) 등과 같은 임의의 변형이거나 이를 포함할 수 있다. 또한, 프로세서는 다수의 프로그램들, 스레드들, 및 코드들의 실행을 가능하게 할 수 있다. 스레드들은 프로세서의 성능을 향상시키고 애플리케이션의 동시 동작들을 용이하게 하기 위해 동시에 실행될 수 있다. 구현에 의해, 본 명세서에 기술된 방법들, 프로그램 코드들, 프로그램 명령어들 등은 하나 이상의 스레드에서 구현될 수 있다. 스레드는 그것들과 연관된 우선순위들을 할당했을 수 있는 다른 스레드들을 야기할 수 있다; 프로세서는 이들 스레드를 프로그램 코드에 제공된 명령어들에 기초한 우선순위 또는 임의의 다른 순서에 기초하여 실행할 수 있다. 프로세서는 본 명세서에 그리고 다른 곳에서 기술된 방법들, 코드들, 명령어들 및 프로그램들을 저장하는 메모리를 포함할 수 있다. 프로세서는 본 명세서에 그리고 다른 곳에서 기술된 방법들, 코드들, 및 명령어들을 저장할 수 있는 저장 매체에 인터페이스를 통해 액세스할 수 있다. 방법들, 프로그램들, 코드들, 프로그램 명령어들 또는 컴퓨팅 또는 처리 디바이스에 의해 실행될 수 있는 다른 유형의 명령어들을 저장하기 위한 프로세서와 연관된 저장 매체는 CD-ROM, DVD, 메모리, 하드 디스크, 플래시 드라이브, RAM, ROM, 캐시 등 중 하나 이상을 포함할 수 있지만 이에 제한되지 않을 수 있다.
프로세서는 멀티프로세서의 속도와 성능을 향상시킬 수 있는 하나 이상의 코어를 포함할 수 있다. 실시예들에서, 프로세스는 2개 이상의 독립적인 코어(다라고 불림)를 조합하는 듀얼 코어 프로세서, 쿼드 코어 프로세서, 다른 칩-레벨 멀티프로세서 등일 수 있다.
본 명세서에 기술된 방법들 및 시스템들은 서버, 클라우드 서버, 클라이언트, 방화벽, 게이트웨이, 허브, 라우터, 또는 다른 그러한 컴퓨터 및/또는 네트워킹 하드웨어 상에서 컴퓨터 소프트웨어를 실행하는 머신을 통해 부분적으로 또는 전체적으로 배치될 수 있다. 소프트웨어 프로그램은 파일 서버, 인쇄 서버, 도메인 서버, 인터넷 서버, 인트라넷 서버 및 보조 서버, 호스트 서버, 분산 서버 등과 같은 다른 변형들을 포함할 수 있는 서버와 연관될 수 있다. 서버는 메모리들, 프로세서들, 컴퓨터 판독가능 매체, 저장 매체, 포트들(물리적 및 가상), 통신 디바이스들, 및 유선 또는 무선 매체 등을 통해 다른 서버들, 클라이언트들, 머신들, 및 디바이스들에 액세스할 수 있는 인터페이스들 중 하나 이상을 포함할 수 있다. 본 명세서에 그리고 다른 곳에서 기술된 방법들, 프로그램들 또는 코드들은 서버에 의해 실행될 수 있다. 또한, 본 출원에 기술된 방법의 실행을 위해 필요한 다른 디바이스들은 서버와 연관된 인프라의 일부로 간주될 수 있다.
서버는 클라이언트들, 다른 서버들, 프린터들, 데이터베이스 서버들, 인쇄 서버들, 파일 서버들, 통신 서버들, 분산 서버들 등을 포함하지만 이에 제한되지 않는 다른 디바이스들에의 인터페이스를 제공할 수 있다. 또한, 이 커플링 및/또는 연결은 네트워크에 걸쳐 프로그램들의 원격 실행을 용이하게 할 수 있다. 이들 디바이스의 일부 또는 전부의 네트워킹은 본 개시의 범위를 벗어나지 않고 하나 이상의 위치에서 프로그램 또는 방법의 병렬 처리를 용이하게 할 수 있다. 또한, 인터페이스를 통해 서버에 접속된 디바이스들 중 임의의 디바이스는 방법들, 프로그램들, 코드들 및/또는 명령어들을 저장할 수 있는 적어도 하나의 저장 매체를 포함할 수 있다. 중앙 저장소는 상이한 디바이스들 상에서 실행될 프로그램 명령어들을 제공할 수 있다. 이 구현에서, 원격 저장소는 프로그램 코드, 명령어들, 및 프로그램들을 위한 저장 매체로서의 역할을 할 수 있다.
소프트웨어 프로그램은 파일 클라이언트, 인쇄 클라이언트, 도메인 클라이언트, 인터넷 클라이언트, 인트라넷 클라이언트 및 보조 클라이언트, 호스트 클라이언트, 분산 클라이언트 등과 같은 다른 변형들을 포함할 수 있는 클라이언트와 연관될 수 있다. 클라이언트는 메모리들, 프로세서들, 컴퓨터 판독가능 매체, 저장 매체, 포트들(물리적 및 가상), 통신 디바이스들, 및 유선 또는 무선 매체 등을 통해 다른 클라이언트들, 서버들, 머신들, 및 디바이스들에 액세스할 수 있는 인터페이스들을 포함할 수 있다. 본 명세서에 그리고 다른 곳에서 기술된 방법들, 프로그램들 또는 코드들은 클라이언트에 의해 실행될 수 있다. 또한, 본 출원에 기술된 방법의 실행을 위해 필요한 다른 디바이스들은 클라이언트와 연관된 인프라의 일부로 간주될 수 있다.
클라이언트는 서버들, 다른 클라이언트들, 프린터들, 데이터베이스 서버들, 인쇄 서버들, 파일 서버들, 통신 서버들, 분산 서버들 등을 포함하지만 이에 제한되지 않는 다른 디바이스들에의 인터페이스를 제공할 수 있다. 또한, 이 커플링 및/또는 연결은 네트워크에 걸쳐 프로그램들의 원격 실행을 용이하게 할 수 있다. 이들 디바이스의 일부 또는 전부의 네트워킹은 본 개시의 범위를 벗어나지 않고 하나 이상의 위치에서 프로그램 또는 방법의 병렬 처리를 용이하게 할 수 있다. 또한, 인터페이스를 통해 클라이언트에 접속된 디바이스들 중 임의의 디바이스는 방법들, 프로그램들, 코드들 및/또는 명령어들을 저장할 수 있는 적어도 하나의 저장 매체를 포함할 수 있다. 중앙 저장소는 상이한 디바이스들 상에서 실행될 프로그램 명령어들을 제공할 수 있다. 이 구현에서, 원격 저장소는 프로그램 코드, 명령어들, 및 프로그램들을 위한 저장 매체로서의 역할을 할 수 있다.
본 명세서에 기술된 방법들 및 시스템들은 네트워크 인프라들을 통해 부분적으로 또는 전체적으로 배치될 수 있다. 네트워크 인프라는 컴퓨팅 디바이스들, 서버들, 라우터들, 허브들, 방화벽들, 클라이언트들, 개인용 컴퓨터들, 통신 디바이스들, 라우팅 디바이스들 및 당업계에 알려진 다른 능동 및 수동 디바이스들, 모듈들 및/또는 컴포넌트들과 같은 요소들을 포함할 수 있다. 네트워크 인프라와 연관된 컴퓨팅 및/또는 비-컴퓨팅 디바이스(들)는, 다른 컴포넌트들과는 별도로, 플래시 메모리, 버퍼, 스택, RAM, ROM 등과 같은 저장 매체를 포함할 수 있다. 본 명세서에 그리고 다른 곳에서 기술된 프로세스들, 방법들, 프로그램 코드들, 명령어들은 네트워크 인프라 요소들 중 하나 이상에 의해 실행될 수 있다.
본 명세서에 그리고 다른 곳에서 기술된 방법들, 프로그램 코드들, 및 명령어들은 유선 또는 무선 네트워크에서 동작할 수 있는 상이한 디바이스들에서 구현될 수 있다. 무선 네트워크들의 예들은 4세대(4G) 네트워크들(예를 들어, LTE(Long Term Evolution)) 또는 5세대(5G) 네트워크들뿐만 아니라 WLAN(Wireless Local Area Network)과 같은 비-셀룰러 네트워크들을 포함한다. 그러나, 거기에 기술된 원리들은 다른 유형의 네트워크들에도 동등하게 적용될 수 있다.
본 명세서에 그리고 다른 곳에서 기술된 동작들, 방법들, 프로그램 코드들, 및 명령어들은 모바일 디바이스들 상에서 또는 모바일 디바이스들을 통해 구현될 수 있다. 모바일 디바이스들은 내비게이션 디바이스들, 셀 폰들, 휴대폰들, 모바일 개인 휴대 정보 단말기들, 랩톱들, 팜톱들, 넷북들, 페이저들, 전자 책 리더들, 음악 플레이어들 등을 포함할 수 있다. 이들 디바이스는, 다른 컴포넌트들과는 별도로, 플래시 메모리, 버퍼, RAM, ROM 및 하나 이상의 컴퓨팅 디바이스와 같은 저장 매체를 포함할 수 있다. 모바일 디바이스들과 연관된 컴퓨팅 디바이스들은 그 위에 저장된 프로그램 코드들, 방법들, 및 명령어들을 실행할 수 있게 될 수 있다. 대안적으로, 모바일 디바이스들은 다른 디바이스들과 협력하여 명령어들을 실행하도록 구성될 수 있다. 모바일 디바이스들은 서버들과 인터페이스되고 프로그램 코드들을 실행하도록 구성된 기지국들과 통신할 수 있다. 모바일 디바이스들은 피어 투 피어 네트워크, 메시 네트워크, 또는 다른 통신 네트워크 상에서 통신할 수 있다. 프로그램 코드는 서버와 연관된 저장 매체 상에 저장되고 서버 내에 임베드된 컴퓨팅 디바이스에 의해 실행될 수 있다. 기지국은 컴퓨팅 디바이스 및 저장 매체를 포함할 수 있다. 저장 디바이스는 기지국과 연관된 컴퓨팅 디바이스에 의해 실행되는 프로그램 코드들 및 명령어들을 저장할 수 있다.
컴퓨터 소프트웨어, 프로그램 코드들, 및/또는 명령들은 다음을 포함할 수 있는 머신 판독가능 매체 상에 저장 및/또는 액세스될 수 있다: 컴퓨터 컴포넌트들, 디바이스들, 및 일정 시간 간격 동안 컴퓨팅을 위해 사용되는 디지털 데이터를 보유하는 기록 매체; 랜덤 액세스 메모리(RAM)로 알려진 반도체 저장 디바이스; 광 디스크, 하드 디스크와 같은 자기 저장의 형태, 테이프, 드럼, 카드 및 다른 유형들과 같은, 전형적으로 더 영구적인 저장을 위한 대용량 저장 장치; 프로세서 레지스터, 캐시 메모리, 휘발성 메모리, 비-휘발성 메모리; CD, DVD와 같은 광학 저장 장치; 플래시 메모리(예를 들어, USB 스틱 또는 키), 플로피 디스크, 자기 테이프, 종이 테이프, 펀치 카드, 독립형 RAM 디스크, Zip 드라이브, 이동식 대용량 저장 장치, 오프-라인 등과 같은 이동식 매체; 동적 메모리, 정적 메모리, 판독/기입 저장 장치, 이변 저장 장치(mutable storage), 판독 전용, 랜덤 액세스, 순차 액세스, 위치 어드레싱 가능, 파일 어드레싱 가능, 콘텐츠 어드레싱 가능, 네트워크 접속된 저장 장치, 저장 영역 네트워크, 바 코드, 자기 잉크와 같은 다른 컴퓨터 메모리.
본 명세서에 기술된 방법들 및 시스템들은 물리적 및/또는 무형의 항목들을 하나의 상태에서 다른 상태로 변환할 수 있다. 본 명세서에 기술된 방법들 및 시스템들은 또한 물리적 및/또는 무형의 항목을 나타내는 데이터를 하나의 상태에서 다른 상태로, 예컨대 사용 데이터에서 정규화된 사용 데이터세트로 변환할 수 있다.
도면들 전체에 걸친 흐름도들 및 블록도들을 포함하여, 본 명세서에 기술되고 묘사된 요소들은 요소들 간의 논리적 경계들을 의미한다. 그러나, 소프트웨어 또는 하드웨어 엔지니어링 관행에 따르면, 묘사된 요소들과 그의 기능들은 모놀리식 소프트웨어 구조로서, 독립형 소프트웨어 모듈들로서, 또는 외부 루틴들, 코드, 서비스들 등을 이용하는 모듈들로서, 또는 이들의 임의의 조합으로서 그 위에 저장된 프로그램 명령어들을 실행할 수 있는 프로세서를 갖는 컴퓨터 실행가능 매체를 통해 머신들 상에 구현될 수 있고, 그러한 모든 구현들은 본 개시의 범위 내에 있을 수 있다. 그러한 머신들의 예들은, 개인 휴대 정보 단말기들, 랩톱들, 개인용 컴퓨터들, 휴대폰들, 다른 핸드헬드 컴퓨팅 디바이스들, 의료 장비, 유선 또는 무선 통신 디바이스들, 트랜스듀서들, 칩들, 계산기들, 위성들, 태블릿 PC들, 전자 책들, 가제트들, 전자 디바이스들, 인공 지능을 가진 디바이스들, 컴퓨팅 디바이스들, 네트워킹 장비, 서버들, 라우터들 등을 포함할 수 있지만 이에 제한되지 않을 수 있다. 더욱이, 흐름도 및 블록도들에 묘사된 요소들 또는 임의의 다른 논리적 컴포넌트는 프로그램 명령어들을 실행할 수 있는 머신 상에서 구현될 수 있다. 따라서, 전술한 도면들 및 설명들은 개시된 시스템들의 기능적 양태들을 설명했지만, 이들 기능적 양태를 구현하기 위한 소프트웨어의 어떤 특정 배열도 명시적으로 언급되거나 문맥으로부터 달리 명확하지 않은 한 이들 설명으로부터 추론되어서는 안 된다. 유사하게, 위에서 식별되고 기술된 다양한 단계들은 변경될 수 있고, 단계들의 순서는 본 명세서에 개시된 기법들의 특정 응용들에 적응될 수 있다는 것을 잘 알 것이다. 그러한 모든 변형들 및 수정들은 본 개시의 범위 내에 속하도록 의도된다. 따라서, 다양한 단계들에 대한 순서의 묘사 및/또는 설명은 특정 응용에 의해 요구되거나, 명시적으로 언급되거나 문맥으로부터 달리 명확하지 않은 한 해당 단계들에 대한 특정 실행 순서를 요구하는 것으로 이해되어서는 안 된다.
위에 기술된 방법들 및/또는 프로세스들, 및 그의 단계들은, 하드웨어, 소프트웨어 또는 특정 응용에 적합한 하드웨어와 소프트웨어의 임의의 조합으로 실현될 수 있다. 하드웨어는 범용 컴퓨터 및/또는 전용 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스의 특정 양태 또는 컴포넌트를 포함할 수 있다. 프로세스들은, 내부 및/또는 외부 메모리와 함께, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 프로그래머블 디지털 신호 프로세서 또는 다른 프로그래머블 디바이스에서 실현될 수 있다. 프로세스들은 또한 또는 대신에 주문형 집적 회로, 프로그래머블 게이트 어레이, 프로그래머블 어레이 로직, 또는 전자 신호들을 처리하도록 구성될 수 있는 임의의 다른 디바이스 또는 디바이스들의 조합으로 구현될 수 있다. 프로세스들 중 하나 이상은 머신 판독가능 매체 상에서 실행될 수 있는 컴퓨터 실행가능 코드로서 실현될 수 있다는 것도 잘 알 것이다.
컴퓨터 실행가능 코드는 C와 같은 구조화된 프로그래밍 언어, C++와 같은 객체 지향 프로그래밍 언어, 또는 위의 디바이스들뿐만 아니라 에서 프로세서들, 프로세서 아키텍처들, 또는 상이한 하드웨어와 소프트웨어의 조합들, 또는 프로그램 명령어들을 실행할 수 있는 임의의 다른 머신의 이종 조합들 중 하나 상에서 실행되도록 저장, 컴파일 또는 해석될 수 있는 임의의 다른 하이-레벨 또는 로우-레벨 프로그래밍 언어(어셈블리 언어, 하드웨어 기술 언어, 및 데이터베이스 프로그래밍 언어 및 기술을 포함함)를 사용하여 생성될 수 있다.
따라서, 일 양태에서, 위에 기술된 각각의 방법, 및 이들의 조합들은, 하나 이상의 컴퓨팅 디바이스 상에서 실행될 때, 그의 단계들을 수행하는 컴퓨터 실행가능 코드로 구현될 수 있다. 다른 양태에서, 이 방법들은 그의 단계들을 수행하는 시스템들에서 구현될 수 있고 다수의 방식들로 디바이스들에 걸쳐 분산될 수 있거나, 모든 기능이 전용, 독립형 디바이스 또는 다른 하드웨어에 통합될 수 있다. 다른 양태에서, 위에 기술된 프로세스들과 연관된 단계들을 수행하기 위한 수단은 위에 기술된 하드웨어 및/또는 소프트웨어 중 임의의 것을 포함할 수 있다. 그러한 모든 치환들 및 조합들은 본 개시의 범위 내에 속하도록 의도된다.

Claims (14)

  1. 컴퓨터 구현 방법(computer-implemented method)으로서,
    사용자 디바이스 내의 카메라로부터 카메라 라이브 스트림을 획득하는 단계 - 상기 카메라 라이브 스트림은 특정 제품의 이미지 데이터를 포함함 - ;
    이미지 특징을 식별하기 위해 상기 특정 제품의 이미지 데이터를 처리하는 단계;
    적어도 컬렉션의 하나 이상의 제품의 이미지의 이미지 데이터의 이미지 분석에 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지에 공통적인 하나 이상의 기준 이미지 특징을 결정하는 단계;
    하나 이상의 추천을 생성하기 위해 상기 하나 이상의 기준 이미지 특징을 상기 특정 제품의 이미지 데이터의 식별된 이미지 특징 중 하나 이상의 이미지 특징과 비교하는 단계; 및
    상기 사용자 디바이스 상에 상기 카메라 라이브 스트림과 함께 디스플레이하기 위해, 상기 하나 이상의 추천을 생성하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 하나 이상의 추천은, 상기 특정 제품의 이미지 데이터의 하나 이상의 이미지 특징을 조정하기 위한 추천인, 컴퓨터 구현 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 특정 제품의 이미지 데이터의 식별된 이미지 특징 중 하나 이상의 이미지 특징이 상기 하나 이상의 기준 이미지 특징의 문턱 값 내에 있을 때까지 상기 비교하는 단계 및 상기 생성하는 단계를 반복하는 단계
    를 더 포함하는, 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 특정 제품의 이미지 데이터의 식별된 이미지 특징 중 하나 이상의 이미지 특징이 상기 하나 이상의 기준 이미지 특징의 문턱 값 내에 있는 데 응답하여, 상기 사용자 디바이스로 하여금 상기 특정 제품의 하나 이상의 이미지를 캡처하게 하는 단계
    를 더 포함하는, 컴퓨터 구현 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 특정 제품을 식별하기 위해 상기 특정 제품의 이미지 데이터를 분석하는 단계; 및
    상기 식별된 특정 제품에 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지를 획득하는 단계
    를 더 포함하는, 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 카메라 라이브 스트림을 획득하기 전에, 상기 특정 제품에 관한 정보를 획득하는 단계; 및
    상기 특정 제품에 관한 정보에 기초하여 상기 컬렉션의 하나 이상의 제품의 이미지를 획득하는 단계
    를 더 포함하는, 컴퓨터 구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 컬렉션의 하나 이상의 제품의 이미지는, 사용자에 의해 이전에 캡처된 이미지인, 컴퓨터 구현 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 추천은, 상기 기준 이미지 특징과 더 일관된 상기 특정 제품의 추가 이미지를 캡처하기 위해 생성되는, 컴퓨터 구현 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 이미지 특징은 이미지 해상도, 픽셀 밀도, 이미지 밝기, 피사계 심도, 초점, 상기 이미지에서의 제품의 크기, 상기 이미지에서의 제품의 각도, 상기 이미지에서의 제품의 방향, 및 제품과 배경 사이의 대비 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 하나 이상의 추천은 관련 제품의 형상, 텍스트, 이미지, 및 애니메이션 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.
  11. 시스템으로서,
    하나 이상의 프로세서;
    프로세서 실행가능 명령어를 포함하는 프로세서 판독가능 저장 매체
    를 포함하며, 상기 프로세서 실행가능 명령어는, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제10항 중 어느 한 항의 방법을 수행하게 하는, 시스템.
  12. 제11항에 있어서,
    사용자 디바이스
    를 더 포함하며, 상기 사용자 디바이스는:
    상기 하나 이상의 프로세서;
    상기 하나 이상의 프로세서에 커플링된 디스플레이; 및
    및 카메라
    를 포함하고, 상기 카메라는 이미지 센서를 포함하고, 라이브 카메라 스트림을 상기 하나 이상의 프로세서에 제공하도록 구성되는, 시스템.
  13. 프로세서 실행가능 명령어를 저장한 비일시적 컴퓨터 판독가능 매체로서, 상기 프로세서 실행가능 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제10항 중 어느 한 항의 방법을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
  14. 컴퓨터 프로그램으로서, 하나 이상의 프로세서 상에서 실행될 때, 제1항 내지 제10항 중 어느 한 항의 방법을 수행하도록 구성되는, 컴퓨터 프로그램.
KR1020210052322A 2020-12-04 2021-04-22 제품의 이미지 캡처 중에 추천을 생성하기 위한 시스템 및 방법 KR20220079395A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/111,712 US11645776B2 (en) 2020-12-04 2020-12-04 System and method for generating recommendations during image capture of a product
US17/111,712 2020-12-04
EP21166115.2A EP4009619A1 (en) 2020-12-04 2021-03-30 System and method for generating recommendations during image capture of a product
EP21166115.2 2021-03-30

Publications (1)

Publication Number Publication Date
KR20220079395A true KR20220079395A (ko) 2022-06-13

Family

ID=75339427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210052322A KR20220079395A (ko) 2020-12-04 2021-04-22 제품의 이미지 캡처 중에 추천을 생성하기 위한 시스템 및 방법

Country Status (8)

Country Link
US (2) US11645776B2 (ko)
EP (1) EP4009619A1 (ko)
JP (1) JP2022089740A (ko)
KR (1) KR20220079395A (ko)
CN (1) CN114612174B (ko)
AU (1) AU2021202364A1 (ko)
CA (1) CA3114145A1 (ko)
TW (1) TW202223748A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112070524B (zh) * 2020-07-24 2024-02-13 广州阿凡提电子科技有限公司 广告业务推荐方法、装置
US11645776B2 (en) 2020-12-04 2023-05-09 Shopify Inc. System and method for generating recommendations during image capture of a product
WO2022249011A1 (en) 2021-05-25 2022-12-01 Applications Mobiles Overview Inc. System and method for providing personalized transactions based on 3d representations of user physical characteristics
CN113473017A (zh) * 2021-07-01 2021-10-01 北京字跳网络技术有限公司 一种图像处理方法、装置、设备及存储介质
CN113473019A (zh) * 2021-07-01 2021-10-01 北京字跳网络技术有限公司 一种图像处理方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005076167A1 (en) * 2004-02-09 2005-08-18 Seqora Systems Inc. Online virtual catalogue or flyer
US7805066B2 (en) * 2007-12-24 2010-09-28 Microsoft Corporation System for guided photography based on image capturing device rendered user recommendations according to embodiments
WO2013075295A1 (zh) * 2011-11-23 2013-05-30 浙江晨鹰科技有限公司 低分辨率视频的服装识别方法及系统
US10091414B2 (en) 2016-06-24 2018-10-02 International Business Machines Corporation Methods and systems to obtain desired self-pictures with an image capture device
CN106599880A (zh) * 2016-12-29 2017-04-26 湖南强视信息科技有限公司 一种面向无人监考的同人判别方法
KR102438201B1 (ko) * 2017-12-01 2022-08-30 삼성전자주식회사 사진 촬영과 관련된 추천 정보를 제공하는 방법 및 시스템
CN108347559A (zh) * 2018-01-05 2018-07-31 深圳市金立通信设备有限公司 一种拍摄方法、终端及计算机可读存储介质
CN110149475B (zh) * 2018-06-21 2021-09-21 腾讯科技(深圳)有限公司 图像拍摄方法及装置、电子装置、存储介质和计算机设备
CN110493517A (zh) * 2019-08-14 2019-11-22 广州三星通信技术研究有限公司 图像捕获装置的辅助拍摄方法和图像捕获装置
CN112330634A (zh) * 2020-11-05 2021-02-05 恒信东方文化股份有限公司 一种针对服装的边缘精细抠图方法及系统
US11645776B2 (en) 2020-12-04 2023-05-09 Shopify Inc. System and method for generating recommendations during image capture of a product

Also Published As

Publication number Publication date
TW202223748A (zh) 2022-06-16
AU2021202364A1 (en) 2022-06-23
US11645776B2 (en) 2023-05-09
CN114612174A (zh) 2022-06-10
JP2022089740A (ja) 2022-06-16
EP4009619A1 (en) 2022-06-08
CN114612174B (zh) 2024-06-18
US20230186513A1 (en) 2023-06-15
US20220180551A1 (en) 2022-06-09
US11967105B2 (en) 2024-04-23
CA3114145A1 (en) 2022-06-04

Similar Documents

Publication Publication Date Title
US11967105B2 (en) System and method for generating recommendations during image capture of a product
JP2021125258A (ja) 物理的アイテムに関する拡張現実シーンを生成するシステムおよび方法
US12002079B2 (en) Method, system, and non-transitory computer readable medium for providing product image recommendations
US11687582B2 (en) Automated image-based inventory record generation systems and methods
US11341558B2 (en) Systems and methods for recommending a product based on an image of a scene
EP3757932A1 (en) Systems and methods for facilitating e-commerce product returns using orders for returned items
US11403723B2 (en) Methods and systems for detecting errors in kit assembly
US20220383396A1 (en) Build and update a virtual store based on a physical store
EP3926494A1 (en) Dynamic generation of location-specific user interfaces
US20220114324A1 (en) Systems and methods for generating digital layouts with feature-based formatting
US20220383397A1 (en) Customize a virtual store based on buyer preferences and movement
US20240233173A1 (en) System and method for generating recommendations during image capture of a product
EP3965046A1 (en) Methods and devices for capturing an item image
US20230360346A1 (en) Systems and methods for responsive augmented reality content
US20240087267A1 (en) Systems and methods for editing content items in augmented reality
US20230394537A1 (en) Systems and methods for processing multimedia data
US20230394751A1 (en) Image generation based on tracked 3d scanning
US20240087251A1 (en) Methods for calibrating augmented reality scenes

Legal Events

Date Code Title Description
A201 Request for examination