KR102634141B1 - 물리적 상점에서의 고객의 쇼핑 세션의 비디오에 기반하여 가상 쇼핑 카트를 채우기 위한 시스템 및 방법 - Google Patents

물리적 상점에서의 고객의 쇼핑 세션의 비디오에 기반하여 가상 쇼핑 카트를 채우기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102634141B1
KR102634141B1 KR1020227017402A KR20227017402A KR102634141B1 KR 102634141 B1 KR102634141 B1 KR 102634141B1 KR 1020227017402 A KR1020227017402 A KR 1020227017402A KR 20227017402 A KR20227017402 A KR 20227017402A KR 102634141 B1 KR102634141 B1 KR 102634141B1
Authority
KR
South Korea
Prior art keywords
virtual
physical
rack
item
store
Prior art date
Application number
KR1020227017402A
Other languages
English (en)
Other versions
KR20220082919A (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
Priority claimed from US16/663,589 external-priority patent/US10861085B1/en
Priority claimed from US16/663,564 external-priority patent/US10607080B1/en
Priority claimed from US16/664,470 external-priority patent/US10922555B1/en
Priority claimed from US16/664,529 external-priority patent/US11798065B2/en
Priority claimed from US16/664,490 external-priority patent/US11100717B2/en
Application filed by 세븐-일레븐,인코포레이티드 filed Critical 세븐-일레븐,인코포레이티드
Publication of KR20220082919A publication Critical patent/KR20220082919A/ko
Application granted granted Critical
Publication of KR102634141B1 publication Critical patent/KR102634141B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0036Checkout procedures
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/208Input by product or record sensing, e.g. weighing or scanner processing
    • 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/0633Lists, e.g. purchase orders, compilation or processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F9/00Details other than those peculiar to special kinds or types of apparatus
    • G07F9/02Devices for alarm or indication, e.g. when empty; Advertising arrangements in coin-freed apparatus
    • G07F9/026Devices for alarm or indication, e.g. when empty; Advertising arrangements in coin-freed apparatus for alarm, monitoring and auditing in vending machines or means for indication, e.g. when empty
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G3/00Alarm indicators, e.g. bells

Landscapes

  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Multimedia (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

장치는 디스플레이, 인터페이스, 및 프로세서를 포함한다. 인터페이스는 물리적 상점에 위치되고 제1 물리적 랙에 지향되는 카메라로부터 비디오를 수신한다. 카메라는 쇼핑 세션 동안 랙의 비디오를 캡처한다. 프로세서는 제1 물리적 랙을 에뮬레이팅하고 제1 및 제2 가상 선반들을 포함하는 제1 가상 랙을 표시한다. 가상 선반들은 물리적 랙 상에 위치된 물리적 아이템들의 그래픽 표현들을 포함하는 가상 아이템들을 포함한다. 프로세서는 사람이 제1 물리적 랙과 상호작용하는 것을 포함하는 이벤트를 묘사하는 랙 비디오를 표시한다. 프로세서는 또한 가상 쇼핑 카트를 표시한다. 프로세서는 제1 가상 아이템을 식별하는, 이벤트와 연관된 정보를 수신한다. 랙 비디오는 사람이 제1 물리적 랙과 상호작용하는 동안 제1 물리적 아이템을 선택하였다는 것을 묘사한다. 프로세서는 그 후 제1 가상 아이템을 가상 쇼핑 카트에 저장한다.

Description

물리적 상점에서의 고객의 쇼핑 세션의 비디오에 기반하여 가상 쇼핑 카트를 채우기 위한 시스템 및 방법
본 개시내용은 일반적으로 원격 모니터링 기술들에 관한 것이며, 보다 구체적으로는, 물리적 상점(physical store)에서 고객의 쇼핑 세션의 비디오에 기반하여 가상 쇼핑 카트를 채우기 위한 시스템 및 방법에 관한 것이다.
물리적 상점에서의 전통적인 쇼핑 세션 동안, 고객은 상점 내에 위치된 선반들(shelves)로부터 아이템들을 선택한 다음 이러한 아이템들을 계산원에게 제시한다. 계산원은 아이템들에 대한 청구서를 생성하고 고객으로부터 지불을 받는다. 상점 내에 위치된 임의의 카메라들이 보안 목적들을 위해 전형적으로 존재한다.
전통적인 상점들에서의 쇼핑 세션들은 고객들 및 상점 소유자들 둘 다에 대한 몇몇 비효율성들과 연관될 수 있다. 예를 들어, 상점 내의 바쁜 기간들 동안, 고객은 그/그녀가 선택한 아이템들에 대해 계산원에게 지불하기 위해 줄지어 대기하는 상당한 양의 시간을 소비할 수 있다. 대기하는데 소비된 시간은 심지어 고객이 아이템들을 선택하는데 소비한 총 시간량을 초과할 수 있다. 이것은 고객 불만 및 잠재적으로 반복적인 고객 영업 손실로 이어질 수 있다. 다른 예로서, 전통적인 상점들은 전형적으로 상점들 내에서 계산원 역할을 하는 한 명 이상의 직원의 존재에 의존한다. 상점이 다른 방식으로 비어 있을 때에도, 이러한 직원들은 고객이 구매를 하기 위해 상점에 들어오는 경우를 대비하여 존재한다. 그 결과, 최고 영업 시간들 외에, 상점 내의 계산원의 많은 시간이 유휴 상태로 소비될 수 있다.
본 개시내용은 이러한 기술적 문제점들 중 하나 이상을 해결하는 가상 상점 툴(virtual store tool)을 고려한다. 툴은 물리적 상점을 에뮬레이팅(emulate)하도록 구성된 가상 상점을 생성한다. 툴은 또한 물리적 상점에서의 쇼핑 세션 동안 고객을 추적하기 위해, 물리적 상점에 위치된 카메라들로부터 수신된 카메라 피드들로부터 비디오들의 세트를 생성한다. 특정 실시예들에서, 툴은 그 후 가상 상점 및 물리적 상점에서의 쇼핑 세션의 비디오들을 이용하여, 물리적 상점에서 고객에 의해 선택된 아이템들을 에뮬레이팅하도록 구성된 아이템들의 세트를 저장하는 가상 쇼핑 카트를 생성한다. 따라서, 툴은 가상 쇼핑 카트를 이용하여 그/그녀의 구매들에 대해 고객에게 요금을 청구할 수 있다. 일부 실시예들에서, 툴은 또한 물리적 상점 내에 위치된 센서들로부터 수신된 입력들에 기반하여, 물리적 상점에서의 쇼핑 세션 동안 고객에 의해 선택된 아이템들을 결정하도록 훈련된 알고리즘과 함께 이용될 수 있다. 이러한 실시예들에서, 툴은 가상 상점 및 물리적 상점에서의 쇼핑 세션의 비디오들을 이용하여 알고리즘에 의해 행해진 결정을 검증한다. 툴의 특정 실시예들이 아래에 설명된다.
일 실시예에 따르면, 장치는 인터페이스, 디스플레이, 메모리, 및 메모리 및 디스플레이에 통신가능하게 결합된 하드웨어 프로세서를 포함한다. 인터페이스는 제1 비디오 피드를 수신한다. 제1 비디오 피드는 물리적 상점에 위치된 제1 카메라에 대응하는 제1 카메라 피드 및 물리적 상점에 위치된 제2 카메라에 대응하는 제2 카메라 피드를 포함한다. 제1 카메라는 물리적 상점 내의 제1 위치로 지향된다. 제2 카메라는 물리적 상점 내의 제2 위치로 지향된다. 하드웨어 프로세서는 메모리 내에 제1 비디오 세그먼트를 저장한다. 제1 비디오 세그먼트는 제1 사람에게 할당되고 시작 타임스탬프와 종료 타임스탬프 사이의 시간 간격 동안 발생하는 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처한다. 제1 비디오 세그먼트는 시작 타임스탬프로부터 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 제1 카메라 피드 세그먼트, 및 시작 타임스탬프로부터 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 제2 카메라 피드 세그먼트를 포함한다. 프로세서는 또한 제1 비디오 세그먼트에 제1 슬라이더 바를 할당한다.
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생은 동기화되고, 제1 슬라이더 바는 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 제어한다. 프로세서는 제1 카메라 피드 세그먼트 및 제1 슬라이더 바의 제1 사본을 디스플레이의 제1 영역에 추가로 표시한다. 프로세서는 제2 카메라 피드 세그먼트 및 제1 슬라이더 바의 제2 사본을 디스플레이의 제2 영역에 추가로 표시한다. 프로세서는 또한 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 조정하기 위해 제1 슬라이더 바의 제1 사본 및 제1 슬라이더 바의 제2 사본 중 적어도 하나로부터 명령을 수신한다. 명령을 수신하는 것에 응답하여, 프로세서는 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 조정한다.
다른 실시예에 따르면, 장치는 디스플레이, 인터페이스, 및 디스플레이에 통신가능하게 결합된 하드웨어 프로세서를 포함한다. 인터페이스는 물리적 상점에 위치된 랙 카메라(rack camera)로부터 랙 카메라 피드를 수신한다. 랙 카메라는 물리적 상점에 위치된 물리적 랙들의 세트 중의 제1 물리적 랙에 지향된다. 하드웨어 프로세서는 디스플레이의 제1 영역에 가상 상점의 가상 레이아웃을 표시한다. 가상 레이아웃은 물리적 상점의 물리적 레이아웃을 에뮬레이팅하도록 구성된다. 가상 레이아웃은 제1 물리적 랙에 할당된 제1 가상 랙 및 제2 물리적 랙에 할당된 제2 가상 랙을 포함한다. 여기서, 가상 레이아웃에서의 제1 가상 랙 및 제2 가상 랙의 배열은 물리적 레이아웃에서의 제1 물리적 랙 및 제2 물리적 랙의 배열을 에뮬레이팅하도록 구성된다.
프로세서는 또한 제1 물리적 랙과 연관된 이벤트의 표시를 수신한다. 이벤트는 물리적 상점에 위치된 사람이 제1 물리적 랙과 상호작용하는 것을 포함한다. 제1 물리적 랙과 연관된 이벤트의 표시를 수신하는 것에 응답하여, 프로세서는, 디스플레이의 제2 영역에, 제1 가상 랙을 표시한다. 제1 가상 랙은 제1 가상 선반 및 제2 가상 선반을 포함한다. 제1 가상 선반은 제1 가상 아이템을 포함하고, 제2 가상 선반은 제2 가상 아이템을 포함한다. 제1 가상 아이템은 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템의 그래픽 표현을 포함하고, 제2 가상 아이템은 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템의 그래픽 표현을 포함한다. 프로세서는, 디스플레이의 제3 영역에, 시작 타임스탬프로부터 종료 타임스탬프까지의 랙 카메라 피드의 기록에 대응하는 랙 비디오 세그먼트를 추가로 표시한다. 랙 비디오 세그먼트는 제1 물리적 랙과 연관된 이벤트를 묘사한다.
다른 실시예에 따르면, 장치는 디스플레이, 인터페이스, 및 디스플레이에 통신가능하게 결합된 하드웨어 프로세서를 포함한다. 인터페이스는 물리적 상점에 위치된 랙 카메라로부터 랙 비디오를 수신한다. 랙 카메라는 물리적 상점에 위치된 물리적 랙들의 세트 중의 제1 물리적 랙에 지향된다. 랙 카메라는 물리적 상점에서의 사람의 쇼핑 세션 동안 제1 물리적 랙의 비디오를 캡처한다. 프로세서는 디스플레이의 제1 영역에, 제1 물리적 랙을 에뮬레이팅하는 제1 가상 랙을 표시한다. 제1 가상 랙은 제1 가상 선반 및 제2 가상 선반을 포함한다. 제1 가상 선반은 제1 가상 아이템을 포함하고, 제2 가상 선반은 제2 가상 아이템을 포함한다. 제1 가상 아이템은 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템의 그래픽 표현을 포함하고, 제2 가상 아이템은 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템의 그래픽 표현을 포함한다.
프로세서는 또한 디스플레이의 제2 영역에 랙 비디오를 표시한다. 랙 비디오는 사람이 제1 물리적 랙과 상호작용하는 것을 포함하는 이벤트를 묘사한다. 프로세서는 디스플레이의 제3 영역에 가상 쇼핑 카트를 추가로 표시한다. 프로세서는 이벤트와 연관된 정보를 추가로 수신한다. 정보는 제1 가상 아이템을 식별하고, 랙 비디오는 사람이 제1 물리적 랙과 상호작용하는 동안 제1 물리적 아이템을 선택하였다는 것을 묘사한다. 이벤트와 연관된 정보를 수신하는 것에 응답하여, 프로세서는 가상 쇼핑 카트에 제1 가상 아이템을 저장한다.
다른 실시예에 따르면, 물리적 상점의 물리적 레이아웃을 에뮬레이팅하기 위해 가상 상점의 가상 레이아웃을 생성하도록 구성된 장치는 메모리, 및 메모리에 통신가능하게 결합된 하드웨어 프로세서를 포함한다. 하드웨어 프로세서는 물리적 상점에 위치된 제1 물리적 랙과 연관된 제1 물리적 위치 및 제1 물리적 배향을 수신한다. 제1 물리적 위치 및 제1 물리적 배향을 수신하는 것에 응답하여, 프로세서는 제1 가상 랙을 가상 레이아웃 상의 제1 가상 위치에 그리고 제1 가상 배향으로 배치한다. 가상 레이아웃 상의 제1 가상 랙의 제1 가상 위치는 물리적 레이아웃 상의 제1 물리적 랙의 제1 물리적 위치를 나타내고, 가상 레이아웃 상의 제1 가상 랙의 제1 가상 배향은 물리적 레이아웃 상의 제1 물리적 랙의 제1 물리적 배향을 나타낸다. 프로세서는 또한 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템과 연관된 제1 가상 아이템을 수신한다. 제1 가상 아이템을 수신하는 것에 응답하여, 프로세서는 제1 가상 랙의 제1 가상 선반 상에 제1 가상 아이템을 배치한다. 제1 가상 랙의 제1 가상 선반은 제1 물리적 랙의 제1 물리적 선반을 나타낸다.
프로세서는 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템과 연관된 제2 가상 아이템을 추가로 수신한다. 제2 가상 아이템을 수신하는 것에 응답하여, 프로세서는 제1 가상 랙의 제2 가상 선반 상에 제2 가상 아이템을 배치한다. 제1 가상 랙의 제2 가상 선반은 제1 물리적 랙의 제2 물리적 선반을 나타낸다. 프로세서는 물리적 상점에 위치된 제1 랙 카메라를 제1 가상 랙에 추가로 할당한다. 제1 랙 카메라는 제1 물리적 랙을 포함하는 비디오를 캡처한다. 프로세서는 또한 메모리에 가상 레이아웃을 저장한다.
다른 실시예에 따르면, 장치는 하드웨어 프로세서를 포함한다. 프로세서는 아이템들의 제1 세트를 포함하는 알고리즘 쇼핑 카트를 수신한다. 아이템들의 제1 세트는 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반하여, 물리적 상점에서의 쇼핑 세션 동안 제1 사람에 의해 선택되었던 것으로 알고리즘에 의해 결정된다. 프로세서는 또한 쇼핑 세션과 연관된 아이템들의 제2 세트를 포함하는 가상 쇼핑 카트를 수신한다. 쇼핑 세션의 비디오는 물리적 상점에 위치된 카메라들의 세트에 의해 캡처되었다. 비디오는 사람이 아이템들의 제2 세트를 선택하는 것을 묘사한다. 프로세서는 알고리즘 쇼핑 카트를 가상 쇼핑 카트와 추가로 비교한다. 알고리즘 쇼핑 카트를 가상 쇼핑 카트와 비교하는 것에 응답하여, 프로세서는 알고리즘 쇼핑 카트와 가상 쇼핑 카트 사이에 불일치가 존재한다고 결정한다. 프로세서는 불일치와 연관된 입력들의 세트의 서브세트를 추가로 결정한다. 프로세서는 또한 서브세트에 메타데이터를 첨부한다. 메타데이터는 불일치를 설명한다. 프로세서는 추가로 서브세트를 이용하여 알고리즘을 훈련시킨다.
특정 실시예들은 하나 이상의 기술적 이점을 제공한다. 예를 들어, 실시예는, 서로 동기화되고 고객의 쇼핑 세션을 캡처하도록 구성된, 상점의 복수의 카메라 뷰들을 한 번에 제시함으로써, 상점 내의 고객의 감시 비디오를 검토할 때 소비되는 처리 리소스들을 감소시킨다. 다른 예로서, 실시예는 자동화 및 원격 모니터링 기술들의 이용을 통해 쇼핑 세션의 효율을 증가시킨다. 추가의 예로서, 실시예는 물리적 상점에서 고객을 추적하도록 구성된, 기계 학습 추적 알고리즘의 독립적인 검증을 제공한다. 본 개시내용에 설명된 시스템은 상점과 같은, 물리적 위치에 대한 원격 모니터링 시스템의 실제 응용에 특히 통합될 수 있고, 여기서 상점에 위치된 센서들로부터의 입력들은 상점 내에서 발생하는 이벤트들을 모니터링하고 추적하는데 이용될 수 있다.
특정 실시예들은 이러한 기술적 이점들 중 어느 것도 포함하지 않거나, 일부 또는 전부를 포함할 수 있다. 하나 이상의 다른 기술적 이점은 본 명세서에 포함된 도면들, 설명들 및 청구항들을 통해 본 기술분야의 통상의 기술자에게 쉽게 명백할 수 있다.
본 개시내용의 더 완전한 이해를 위해, 이제 첨부 도면들과 함께 취해지는 다음의 설명이 참조된다.
도 1a 및 도 1b는 물리적 상점과 가상 상점 간의 비교를 나타낸다.
도 2a 및 도 2b는 물리적 상점의 물리적 레이아웃과 가상 상점의 가상 레이아웃 간의 비교를 나타낸다.
도 3a 및 도 3b는 물리적 상점 내의 물리적 랙과 가상 상점 내의 가상 랙 간의 비교를 나타낸다.
도 4는 본 개시내용에 따른 예시적인 시스템을 나타낸다.
도 5a는 도 4에 도시된 시스템에서 이용하기 위해 상점의 영역들을 캡처하도록 구성된 카메라들의 물리적 상점 내의 예시적인 위치들을 나타낸다.
도 5b는 도 4에 도시된 시스템의 레이아웃 카메라들에 의해 캡처된 물리적 상점의 영역들의 예를 나타낸다.
도 6은 도 4에 도시된 시스템의 가상 상점 툴의 비디오 프로세서 구성요소를 나타낸다.
도 7a 내지 도 7c는 도 4에 도시된 시스템의 가상 상점 툴이 도 4에 도시된 시스템의 레이아웃 카메라들 및 랙 카메라들과 연관된 카메라 피드 세그먼트들을 표시하는 방식을 예시하는 예를 나타낸다.
도 8은 도 4에 도시된 시스템의 가상 상점 툴이 도 4에 도시된 시스템의 레이아웃 카메라들 및 랙 카메라들과 연관된 카메라 피드 세그먼트들을 생성 및 표시하는 프로세스를 예시하는 흐름도를 나타낸다.
도 9a 내지 도 9d는 도 4에 도시된 시스템의 가상 상점 툴이 물리적 상점에서 발생하는 쇼핑 세션을 가상적으로 에뮬레이팅할 수 있는 방식을 예시하는 예를 나타낸다.
도 10은 도 4에 도시된 시스템의 가상 상점 툴이 물리적 상점에서 발생하는 쇼핑 세션을 가상적으로 에뮬레이팅할 수 있는 방식을 예시하는 흐름도를 나타낸다.
도 11a 및 도 11b는 물리적 상점의 물리적 레이아웃을 에뮬레이팅하도록 구성된 가상 레이아웃을 생성하는데 이용될 수 있는, 도 4에 도시된 시스템의 가상 상점 툴에 의해 생성된 그래픽 사용자 인터페이스의 예시적인 실시예를 나타낸다.
도 12는 도 4에 도시된 시스템의 가상 상점 툴이 물리적 상점의 물리적 레이아웃을 에뮬레이팅하도록 구성된 가상 레이아웃을 생성할 수 있는 방식을 예시하는 흐름도를 나타낸다.
도 13a 및 도 13b는 물리적 상점에서의 쇼핑 세션 동안 고객에 의해 선택된 아이템들을 결정하도록 구성된 알고리즘에 입력을 제공하는데 이용될 수 있는 센서들의 예들을 나타낸다.
도 13c 및 도 13d는 물리적 선반 및 그 대응하는 가상 선반의 구역들을 정의하기 위해 물리적 상점 내의 물리적 선반에 결합된 센서들의 이용의 예를 나타낸다.
도 14는 도 4에 도시된 시스템의 가상 상점 툴의 레졸루션 구성요소(resolution component)를 나타낸다.
도 15는 도 4에 도시된 시스템의 가상 상점 툴의 기계 학습 구성요소를 나타낸다.
도 16은 도 4에 도시된 시스템의 가상 상점 툴이 물리적 상점에서의 쇼핑 세션 동안 고객에 의해 선택된 아이템들을 결정하도록 구성된 알고리즘에 피드백을 제공할 수 있는 방식을 예시하는 흐름도를 나타낸다.
본 개시내용의 실시예들 및 그 이점들은 도면들 중 도 1 내지 도 16을 참조함으로써 이해될 수 있으며, 유사한 번호들이 다양한 도면들의 유사하고 대응하는 부분들에 대해 사용된다. 추가의 정보는 발명의 명칭이 "Scalable Position Tracking System For Tracking Position In Large Spaces"인 미국 특허 출원 제___호(대리인 문서 번호 090278.0176) 및 발명의 명칭이 "Topview Object Tracking Using a Sensor Array"인 미국 특허 출원 제___호(대리인 문서 번호 090278.0180)에 개시되어 있으며, 이들 모두는 그 전체가 재현되는 것처럼 본 명세서에 참고로 포함된다.
I. 가상 에뮬레이션 소개
본 개시내용은 일반적으로 물리적 상점을 에뮬레이팅하도록 구성되는 가상 상점을 생성하는 것, 및 물리적 상점 내에서 발생하는 쇼핑 세션의 비디오들과 함께 가상 상점을 이용하여 물리적 쇼핑 세션을 가상적으로 에뮬레이팅하는 것에 관한 것이다. 본 개시내용이 물리적 상점의 가상 에뮬레이션을 설명하지만, 본 개시내용은 임의의 유형의 물리적 공간(예를 들어, 창고, 저장 센터, 놀이 공원, 공항, 사무실 건물 등)이 본 개시내용에 설명된 툴을 이용하여 가상적으로 에뮬레이팅될 수 있는 것을 고려한다. 예를 들어, 물리적 상점은 편의점 또는 식료품점일 수 있다. 본 개시내용은 또한 물리적 상점이 물리적 건물이 아니라, 쇼핑객들이 쇼핑할 수 있는 물리적 공간 또는 환경일 수 있는 것을 고려한다. 예를 들어, 물리적 상점은 공항에서의 그랩 앤 고 팬트리(grab and go pantry), 사무실 건물에서의 키오스크, 또는 공원에서의 야외 시장 등일 수 있다.
도 1a에 도시된 바와 같이, 물리적 상점(100)은 오프라인 상점, 즉 물리적 건물에 위치하는 상점이다. (모바일 디바이스들(125)을 휴대할 수 있는) 고객들(105)이 아이템들을 구매하기 위해 물리적 상점(100)에 들어간다. 한편, 가상 상점(110)은 도 1b에 도시된 바와 같이 사용자(120)에 속하는 컴퓨터 또는 다른 디바이스(115) 상에 표시되는, 물리적 상점의 컴퓨터화된 표현이다. 본 개시내용은 사용자(120)가 가상 상점(110)을 이용하여 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 에뮬레이팅할 수 있는 것을 고려한다. 가상 상점(110)은 디바이스(115) 상에서 로컬로 생성되거나 원격으로 생성되고 네트워크를 통해 디바이스(115)로 전송될 수 있다.
가상 상점(110)은 몇몇 상이한 방식들로 물리적 상점(100)을 에뮬레이팅하도록 구성될 수 있다. 예를 들어, 특정 실시예에서, 그리고 도 2a 및 도 2b에 도시된 바와 같이, 가상 상점(110)의 가상 레이아웃(205)은 물리적 상점(100)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된다. 특히, 가상 디스플레이 랙들(230a, 230b, 230c, 및 230d)의 형상, 위치, 및 배향은 물리적 디스플레이 랙들(210a, 210b, 210c, 및 210d)의 형상, 위치, 및 배향을 에뮬레이팅하도록 구성된다. 예를 들어, 도 2a에 도시된 예에서, 물리적 디스플레이 랙들(210a 및 210b)은 물리적 상점(100)의 물리적 레이아웃(200)의 뒷벽(235a)을 따라 위치된다. 따라서, 가상 디스플레이 랙들(230a 및 230b)은 가상 상점(110)의 가상 레이아웃(205)의 뒷벽(240a)을 따라 배치되어 물리적 디스플레이 랙들(210a 및 210b)의 위치 및 배향을 에뮬레이팅한다. 유사하게, 가상 디스플레이 랙(230d)은 가상 레이아웃(205)의 측벽(240b)을 따라 배치되어 측벽(235b)을 따라 물리적 디스플레이 랙(210d)의 위치 및 배향을 에뮬레이팅하고, 가상 디스플레이 랙(230c)은 가상 레이아웃(205)의 중심에 배치되어 물리적 디스플레이 랙(210c)의 위치 및 배향을 에뮬레이팅한다.
다른 예로서, 일부 실시예들에서, 가상 디스플레이 랙들(230a, 230b, 230c, 및 230d)의 콘텐츠는 물리적 디스플레이 랙들(210a, 210b, 210c, 및 210d)의 콘텐츠를 에뮬레이팅하도록 구성된다. 예를 들어, 특정 실시예들에서, 가상 디스플레이 랙들(230a, 230b, 230c, 및 230d)은 각각 아이템들의 리스트를 할당받고, 아이템들의 리스트는 각각 물리적 랙(210a, 210b, 210c, 및 210d) 상에 저장된 이들 아이템들을 포함한다. 다른 실시예들에서, 각각의 가상 디스플레이 랙은 가상 선반들의 세트를 할당받고, 가상 디스플레이 랙 상의 가상 선반들의 수 및 배치는 대응하는 물리적 디스플레이 랙 상의 물리적 선반들의 수 및 배치를 에뮬레이팅하도록 구성된다. 가상 선반들의 세트의 각각의 가상 선반은 이어서 대응하는 물리적 선반 상에 저장된 물리적 아이템들의 세트를 에뮬레이팅하도록 구성되는 가상 아이템들의 세트를 보유한다. 여기서, 가상 아이템들은 가상 선반 상의 외관 및/또는 배치의 면에서 물리적 아이템들을 에뮬레이팅하도록 구성될 수 있다.
특정 예로서, 도 3a 및 도 3b는 일 실시예에서 물리적 디스플레이 랙(210a)과 가상 디스플레이 랙(230a) 간의 비교를 나타낸다. 도 3a에 도시된 바와 같이, 물리적 디스플레이 랙(210a)은 2개의 물리적 선반, 즉 제1 물리적 선반(305a) 및 제2 물리적 선반(305b)을 포함한다. 따라서, 물리적 디스플레이 랙(210a)을 에뮬레이팅하기 위해, 가상 디스플레이 랙(230a)은 또한 2개의 선반, 즉 제1 가상 선반(310a) 및 제2 가상 선반(310b)을 포함한다. 추가로, 가상 선반들(310a 및 310b) 각각은 물리적 선반들(305a 및 305b)의 대응하는 물리적 선반 상에 저장된 물리적 아이템들을 에뮬레이팅하도록 구성된 가상 아이템들의 세트를 포함한다. 예를 들어, 가상 선반(310a)은, 물리적 선반(305a)의 제1 물리적 구역(325a)에서의 제1 물리적 아이템(315a), 물리적 선반(305a)의 제2 물리적 구역(325b)에서의 제2 물리적 아이템(315b), 및 물리적 선반(305a)의 제3 물리적 구역(325c)에서의 제3 물리적 아이템(315c)의 배치를 에뮬레이팅하도록 위치되는, 가상 선반(310a)의 제1 가상 구역(330a)에 위치된 제1 가상 아이템(320a), 가상 선반(310a)의 제2 가상 구역(330b)에 위치된 제2 가상 아이템(320b), 및 가상 선반(310a)의 제3 가상 구역(330c)에 위치된 제3 가상 아이템(320c)을 포함한다. 유사하게, 가상 선반(310b)은, 물리적 선반(305b)의 제4 물리적 구역(325d), 제5 물리적 구역(325e), 및 제6 물리적 구역(325f)에서의 제4 물리적 아이템(315d), 제5 물리적 아이템(315e), 및 제6 물리적 아이템(315f)의 배치를 에뮬레이팅하기 위해, 가상 선반(310b)의 제4 가상 구역(330d), 제5 가상 구역(330e), 및 제6 가상 구역(330f)에 각각 위치된 제4 가상 아이템(320d), 제5 가상 아이템(320e), 및 제6 가상 아이템(320f)을 포함한다. 추가로, 가상 아이템들(320a 내지 320f) 각각은 대응하는 물리적 아이템(315a, 315b, 315c, 315d, 315e, 또는 315f)의 외관을 에뮬레이팅하도록 구성된다. 예를 들어, 각각의 가상 아이템은 대응하는 물리적 아이템의 2차원 그래픽 표현에 대응할 수 있다. 이러한 방식으로, 가상 아이템은 그 실세계의 물리적 대응물의 외관에 기반하여 쉽게 식별될 수 있다.
II. 시스템 개요
도 4는 가상 상점 툴(405), 디바이스(115), 디스플레이(410), 네트워크(430a), 네트워크(430b), 레이아웃 카메라들(490), 및 랙 카메라들(495)을 포함하는 예시적인 시스템(400)을 도시한다. 특정 실시예들에서, 시스템(400)은 외부 시스템(485) 및 센서들(498)을 추가로 포함한다. 일반적으로, 가상 상점 툴(405)은 물리적 상점(100)을 에뮬레이팅하는 가상 상점(110)을 생성하도록 구성된다. 특정 실시예들에서, 가상 상점 툴(405)은 가상 상점(110)을 이용하여, 물리적 상점(100)에 위치된 레이아웃 카메라들(490) 및/또는 랙 카메라들(495)로부터 수신된, 쇼핑 세션을 추적하는 비디오들에 부분적으로 기반하여 물리적 상점(100)에서 사람(105)에 의해 수행되는 쇼핑 세션에 대한 영수증을 생성한다. 일부 실시예들에서, 가상 상점 툴(405)은 물리적 상점(100)에서의 쇼핑 세션 동안 사람(105)에 의해 선택된 아이템들에 대해 알고리즘(488)에 의해 이루어지는 결정을 검증하기 위해 레이아웃 카메라들(490) 및 랙 카메라들(495)로부터 수신된 비디오들 및 가상 상점(110)을 이용한다.
디바이스(115)는 네트워크(430a)를 통해 시스템(400)의 구성요소들과 통신하기 위한 임의의 적절한 디바이스를 포함한다. 예를 들어, 디바이스(115)는, 특히, 전화기, 모바일 폰, 컴퓨터, 랩톱, 무선 또는 셀룰러 전화기, 태블릿, 서버, IoT 디바이스, 및/또는 자동화된 보조기기일 수 있다. 본 개시내용은 디바이스(115)가 네트워크(430a)를 통해 통신들을 전송 및 수신하기 위한 임의의 적절한 디바이스인 것을 고려한다. 디바이스(115)는 또한, 마이크로폰, 키패드, 또는 사용자(120)에 의해 이용가능한 다른 적절한 단말 장비 등의 사용자 인터페이스를 포함할 수 있다. 일부 실시예들에서, 디바이스(115)의 프로세서에 의해 실행되는 애플리케이션은 본 명세서에 설명된 기능들을 수행할 수 있다.
디바이스(115)는 디스플레이(410)를 포함하거나 이에 결합될 수 있다. 디스플레이(410)는 가상 상점 툴(405)로부터 수신된 정보를 표시하기 위해 디바이스(115)에 의해 이용되는 스크린이다. 특정 실시예들에서, 디스플레이(410)는 랩톱 컴퓨터에서 이용되는 표준 디스플레이이다. 특정 다른 실시예들에서, 디스플레이(410)는 랩톱 또는 데스크톱 컴퓨터에 접속된 외부 디스플레이 디바이스이다. 추가 실시예들에서, 디스플레이(410)는 전형적인 스마트폰 또는 태블릿에서 발견되는 표준 터치 스크린 액정 디스플레이이다.
도 4에 예시된 바와 같이, 특정 실시예들에서, 디스플레이(410)는 카메라 피드 세그먼트들(415a 내지 415f), 가상 레이아웃(205), 가상 랙(230), 가상 쇼핑 카트(420), 및/또는 랙 카메라 피드 세그먼트(425)를 나타낼 수 있다. 카메라 피드 세그먼트들(415a 내지 415f)은 물리적 상점(100)에 위치된 레이아웃 카메라들(490)로부터 가상 상점 툴(405)에 의해 수신된 카메라 피드들의 비디오 기록들이고, 물리적 상점(100)에서 쇼핑 세션을 수행하는 사람(105)에게 할당된다. 가상 상점 툴(405)이 카메라 피드 세그먼트들(415a 내지 415f)을 생성하고 디스플레이(410) 상에 카메라 피드 세그먼트들(415a 내지 415f)을 표시하는 방법이 도 5 내지 도 8의 논의에서 아래에 더 상세히 설명된다.
가상 레이아웃(205)은 가상 상점 툴(405)이 카메라 피드 세그먼트들(415a 내지 415f)과 연관된 카메라 피드들을 수신한 특정 물리적 상점(100)에 할당되고, 그 물리적 상점의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성되어 있다. 가상 상점 툴(405)이 가상 레이아웃(205)을 생성하는 방법이 도 11 및 도 12의 논의에서 아래에 더 상세히 설명된다.
가상 랙(230)은 가상 레이아웃(205)에 포함된 가상 랙들 중 하나에 대응하고 물리적 상점(100)의 물리적 랙(210)을 에뮬레이팅하도록 구성된다. 따라서, 가상 랙(230)은 가상 아이템들(320)의 세트를 표시하고, 각각의 가상 아이템(320)은 대응하는 물리적 랙(210) 상에 저장된 물리적 아이템(315)을 나타낸다. 가상 쇼핑 카트(420)는 가상 아이템들(320)을 보유하는데 이용되고, 가상 아이템들(320) 각각은 물리적 상점(100)에서의 쇼핑 세션 동안 사람(105)에 의해 선택된 물리적 아이템(315)을 나타낸다. 랙 카메라 피드 세그먼트(425)는 랙 카메라(495)로부터 가상 상점 툴(405)에 의해 수신된 카메라 피드의 기록이다. 랙 카메라(495)는 가상 랙(230)이 할당되는 물리적 상점(100)의 물리적 랙(210)에 지향된다. 가상 쇼핑 카트(420)는 랙 카메라 피드 세그먼트(425)에 부분적으로 기반하여, 가상 랙(230) 상에 저장된 가상 아이템들(320)에 의해 채워질 수 있다. 가상 상점 툴(405)이 디스플레이(410) 상에 표시할 가상 랙(230)을 결정한 다음 가상 랙(230)을 이용하여 가상 쇼핑 카트(420)를 채우는 방법이 도 9 및 도 10의 논의에서 아래에 더 상세히 설명된다.
일부 실시예들에서, 그리고 도 11a 및 도 11b와 관련하여 아래에 더 상세히 설명되는 바와 같이, 디스플레이(410)는 사용자(120)가 물리적 상점(100)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된 가상 레이아웃(205)을 생성할 수 있는 그래픽 사용자 인터페이스를 표시한다.
네트워크(430a)는 네트워크(430b) 외부에 위치된 시스템(400)의 다양한 구성요소들 간의 및 중의 통신을 용이하게 하고, 레이아웃 카메라들(490), 랙 카메라들(495), 및 외부 시스템(485)을 가상 상점 툴(405)에 접속시킨다. 본 개시내용은 네트워크(430a)가 시스템(400)의 이러한 구성요소들 사이의 통신을 용이하게 하는 임의의 적절한 네트워크인 것을 고려한다. 네트워크(430a)는 오디오, 비디오, 신호들, 데이터, 메시지들, 또는 이들의 임의의 조합을 전송할 수 있는 임의의 상호접속 시스템을 포함할 수 있다. 네트워크(430a)는 공중 교환 전화 네트워크(PSTN), 공용 또는 사설 데이터 네트워크, 근거리 네트워크(LAN), 대도시권 네트워크(MAN), 광역 네트워크(WAN), 로컬, 지역적, 또는 전역적 통신 또는 컴퓨터 네트워크, 예컨대 인터넷, 유선 또는 무선 네트워크, 기업 인트라넷, 또는 이들의 조합들을 포함하는, 구성요소들 사이의 통신을 용이하게 하도록 동작가능한 임의의 다른 적절한 통신 링크의 전부 또는 일부를 포함할 수 있다.
네트워크(430b)는 가상 상점 툴(405)의 다양한 구성요소들과 레이아웃 카메라들(490), 랙 카메라들(495), 및 외부 시스템(485) 간의 및 중의 통신을 용이하게 한다. 본 개시내용은 네트워크(430b)가 가상 상점 툴(405)의 구성요소들과 레이아웃 카메라들(490), 랙 카메라들(495), 및 외부 시스템(485) 간의 통신을 용이하게 하는 임의의 적절한 네트워크인 것을 고려한다. 네트워크(430b)는 오디오, 비디오, 신호들, 데이터, 메시지들, 또는 이들의 임의의 조합을 전송할 수 있는 임의의 상호접속 시스템을 포함할 수 있다. 네트워크(430b)는 공중 교환 전화 네트워크(PSTN), 공용 또는 사설 데이터 네트워크, 근거리 네트워크(LAN), 대도시권 네트워크(MAN), 광역 네트워크(WAN), 로컬, 지역적, 또는 전역적 통신 또는 컴퓨터 네트워크, 예컨대 인터넷, 유선 또는 무선 네트워크, 기업 인트라넷, 또는 이들의 조합들을 포함하는, 구성요소들 사이의 통신을 용이하게 하도록 동작가능한 임의의 다른 적절한 통신 링크의 전부 또는 일부를 포함할 수 있다. 본 개시내용은 네트워크(430b)가 네트워크(430a)와 동일한 네트워크 또는 네트워크(430a)와 별개의 네트워크일 수 있는 것을 고려한다.
도 4에서 알 수 있는 바와 같이, 가상 상점 툴(405)은 프로세서(435), 메모리(440), 및 인터페이스(445)를 포함한다. 본 개시내용은 프로세서(435), 메모리(440), 및 인터페이스(445)가 본 명세서에서 설명되는 가상 상점 툴(405)의 기능들 중 임의의 것을 수행하도록 구성되는 것을 고려한다. 일반적으로, 가상 상점 툴(405)은 레이아웃 생성기(460), 비디오 프로세서(465), 디스플레이 제어기(470), 레졸루션 구성요소(475), 및 기계 학습 모듈(480)을 구현한다. 가상 상점 툴(405)은 레이아웃 생성기(460)를 이용하여 물리적 상점(100)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된 가상 레이아웃(205)을 생성할 수 있다. 가상 상점 툴(405)의 이 기능은 도 11 및 도 12의 논의에서 아래에 더 상세히 설명된다. 가상 상점 툴(405)은 레이아웃 카메라들(490) 및 랙 카메라들(495)로부터 각각 수신된 카메라 피드들에 기반하여, 물리적 상점(100)에서 쇼핑 세션을 수행하는 사람(105)에 할당되는 카메라 피드 세그먼트들(415) 및 랙 카메라 피드 세그먼트들(425)을 생성하기 위해 비디오 프로세서(465)를 이용할 수 있다. 가상 상점 툴(405)의 이 기능은 도 5 내지 도 8의 논의에서 아래에 더 상세히 설명된다. 가상 상점 툴(405)은 디바이스(115)로부터 수신된 입력에 기반하여, 디스플레이(410) 상에 표시되는 정보를 조정하기 위해 디스플레이 제어기(470)를 이용할 수 있다. 가상 상점 툴(405)의 이 기능은 도 7 내지 도 12의 논의에서 아래에 더 상세히 설명된다. 가상 상점 툴(405)은 레졸루션 구성요소(475)를 이용하여, 물리적 상점(100)에서의 쇼핑 세션 동안 고객(105)에 의해 선택된 아이템들을 포함시키기 위해 알고리즘(488)에 의해 결정되는 알고리즘 쇼핑 카트와 가상 카트(420)의 콘텐츠를 비교할 수 있다. 레졸루션 구성요소(475)는 가상 카트(420)와 알고리즘 카트 사이의 임의의 불일치들을 식별하고, 이러한 불일치들을 해결하고, 고객(105)에게 전송할 영수증을 생성할 수 있다. 레졸루션 구성요소(475)는 도 14의 논의에서 아래에 더 상세히 설명될 것이다. 마지막으로, 가상 상점 툴(405)은 가상 쇼핑 카트(420)와 알고리즘 카트 사이의 불일치들을 식별하고 불일치들과 연관된 알고리즘 입력들에 메타데이터를 할당하기 위해 기계 학습 모듈(480)을 이용할 수 있다. 이 메타데이터는 그 후 알고리즘을 재훈련시키는데 이용될 수 있다. 기계 학습 모듈(480)은 도 15 및 도 16의 논의에서 아래에 더 상세히 설명될 것이다.
프로세서(435)는, 메모리(440)에 통신가능하게 결합되고 가상 상점 툴(405)의 동작을 제어하는, 마이크로프로세서들, ASIC(application specific integrated circuits), ASIP(application specific instruction set processor), 및/또는 상태 기계들을 포함하지만, 이들로 제한되지 않는, 임의의 전자 회로이다. 프로세서(435)는 8 비트, 16 비트, 32 비트, 64 비트 또는 임의의 다른 적절한 아키텍처의 것일 수 있다. 프로세서(435)는 산술 및 논리 연산들을 수행하기 위한 ALU(arithmetic logic unit), ALU에 피연산자들을 공급하고 ALU 연산들의 결과들을 저장하는 프로세서 레지스터들, 및 메모리로부터 명령어들을 페치하고 ALU, 레지스터들 및 다른 구성요소들의 조정된 연산들을 보내는 것에 의해 명령어들을 실행하는 제어 유닛을 포함할 수 있다. 프로세서(435)는 정보를 제어 및 처리하도록 동작하는 다른 하드웨어 및 소프트웨어를 포함할 수 있다. 프로세서(435)는 본 명세서에 설명된 기능들 중 임의의 것을 수행하기 위해 메모리에 저장된 소프트웨어를 실행한다. 프로세서(435)는 네트워크(430a), 네트워크(430b), 메모리(440), 디바이스(들)(115), 레이아웃 카메라들(490), 랙 카메라들(495), 및 외부 시스템(485)으로부터 수신된 정보를 처리하는 것에 의해 가상 상점 툴(405)의 동작 및 관리를 제어한다. 프로세서(435)는 프로그래밍가능한 논리 디바이스, 마이크로제어기, 마이크로프로세서, 임의의 적절한 처리 디바이스, 또는 이들의 임의의 적절한 조합일 수 있다. 프로세서(435)는 단일의 처리 디바이스로 제한되지 않고 복수의 처리 디바이스들을 포함할 수 있다.
메모리(440)는 프로세서(435)에 대한 데이터, 동작 소프트웨어, 또는 다른 정보를 영구적으로 또는 일시적으로 저장할 수 있다. 메모리(440)는 정보를 저장하기에 적합한 휘발성 또는 비휘발성 로컬 또는 원격 디바이스들 중 임의의 것 또는 이들의 조합을 포함할 수 있다. 예를 들어, 메모리(440)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 자기 저장 디바이스들, 광학 저장 디바이스들, 또는 임의의 다른 적절한 정보 저장 디바이스 또는 이러한 디바이스들의 조합을 포함할 수 있다. 소프트웨어는 컴퓨터 판독가능한 저장 매체에 구현된 임의의 적절한 세트의 명령어들, 논리, 또는 코드를 나타낸다. 예를 들어, 소프트웨어는 메모리(440), 디스크, CD, 또는 플래시 드라이브에 구현될 수 있다. 특정 실시예들에서, 소프트웨어는 본 명세서에 설명되는 기능들 중 하나 이상을 수행하기 위해 프로세서(435)에 의해 실행가능한 애플리케이션을 포함할 수 있다.
추가로, 특정 실시예들에서, 메모리(440)는 가상 레이아웃들(205) 및 비디오 세트들(450)을 저장할 수 있다. 가상 레이아웃들(205a 내지 205n) 각각은 상이한 물리적 상점(100)에 대응하고 물리적 상점(100)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성되어 있다. 가상 레이아웃들(205)은 상점 식별 번호에 따라 메모리(440)에 저장될 수 있다. 이러한 방식으로, 주어진 가상 레이아웃(205a)은 상점 식별 번호를 이용하여 메모리(440)로부터 검색될 수 있다. 본 개시내용은 비디오 세트(450)가, 예를 들어, 식별 번호(455)를 통해, 주어진 사람(105)에게 할당된 카메라 피드 세그먼트들(415) 및 랙 카메라 피드 세그먼트들(425)을 포함하는 것을 고려한다. 이러한 세그먼트들은, 각각, 레이아웃 카메라들(490) 및 랙 카메라들(495)로부터 가상 상점 툴(405)에 의해 수신되는 카메라 피드들의 비디오 기록들이다. 예를 들어, 비디오 세트(450)는 사람(105)에게 할당된 카메라 피드 세그먼트들(415a 내지 415f) 및 랙 카메라 피드 세그먼트들(425)을 포함할 수 있다. 가상 상점 툴(405)이 비디오 세트(450)를 생성하는 방식은 도 6의 논의에서 이하에 더 상세히 설명된다.
인터페이스(445)는 네트워크들(430a 및 430b)로부터 정보를 수신하거나, 네트워크들(430a 및 430b)을 통해 정보를 전송하거나, 정보의 적절한 처리를 수행하거나, 다른 디바이스들로 전달하거나, 또는 이들의 임의의 조합을 수행하도록 동작가능한 임의의 적절한 디바이스를 나타낸다. 예를 들어, 인터페이스(445)는 레이아웃 카메라들(490) 및 랙 카메라들(495)로부터 카메라 피드들을 수신한다. 다른 예로서, 인터페이스(445)는 디바이스(115)로부터 입력을 수신한다. 인터페이스(445)는 LAN, WAN, 또는 가상 상점 툴(405)이 네트워크들(430a 및 430b)을 통해 디바이스(115), 레이아웃 카메라들(490), 랙 카메라들(495), 및/또는 시스템(400)의 다른 구성요소들과 정보를 교환할 수 있게 하는 다른 통신 시스템들을 통해 통신하기 위해, 프로토콜 변환 및 데이터 처리 능력들을 포함하는 임의의 적절한 하드웨어 및/또는 소프트웨어를 비롯한 실제 또는 가상의 임의의 포트 또는 접속을 나타낸다.
외부 시스템(485)은 물리적 상점(100)에 위치된 센서들(498)로부터 입력을 수신하고 이 입력에 알고리즘(488)을 적용하여 물리적 상점(100)에서의 고객들(105)을 추적하고/하거나 물리적 상점(100)에서의 쇼핑 세션들 동안 이러한 고객들에 의해 선택된 물리적 아이템들(315)을 결정하도록 동작가능한 임의의 시스템을 나타낸다. 외부 시스템(485)의 실시예들은 발명의 명칭이 "Topview Object Tracking Using a Sensor Array"인 미국 특허 출원 제___호(대리인 문서 번호 090278.0180)에 설명되고, 그 내용들은 본 명세서에 참고로 포함된다. 본 개시내용은 센서들(498)이 물리적 상점(100)에 위치하고 물리적 상점(100) 내의 고객들(105)을 검출하도록 동작가능한 임의의 유형의 적절한 센서들을 포함할 수 있는 것을 고려한다. 예를 들어, 물리적 상점(100)은 물리적 상점(100) 내의 고객(105)을 추적하고 고객(105)이 물리적 상점(100)으로부터 하나 이상의 아이템(315)을 선택하는 것과 연관된 정보를 검출하도록 동작가능한, 카메라들, 광 검출 및 범위 센서들, 밀리미터파 센서들, 중량 센서들(weight sensors), 및/또는 임의의 다른 적절한 센서들을 포함할 수 있다. 본 개시내용은 또한 알고리즘(들)(488)이 물리적 상점(100) 내의 고객들(105)을 추적하고 고객들(105)에 의해 선택된 아이템들(315)을 결정하기 위한 임의의 적절한 알고리즘(들)일 수 있는 것을 고려한다. 예를 들어, 특정 실시예들에서, 알고리즘(들)(488)은 기계 학습 알고리즘(들)일 수 있다.
레이아웃 카메라들(490) 및 랙 카메라들(495)은 물리적 상점(100)에 위치된다. 레이아웃 카메라들(490a 내지 490f) 각각은 물리적 상점(100) 내의 위치에 지향되고 그 위치 주위의 공간 내의 영역의 비디오 및/또는 이미지들을 캡처한다. 랙 카메라들(495) 각각은 물리적 상점(100)에 위치된 물리적 디스플레이 랙(210)에 지향되고 물리적 디스플레이 랙(210)의 비디오 및/또는 이미지들 및 물리적 디스플레이 랙(210) 주위의 공간 내의 영역을 캡처한다. 본 개시내용은 임의의 수의 레이아웃 카메라들(490)이 물리적 상점(100)에 설치되고 네트워크(430b)를 통해 가상 상점 툴(405)에 접속될 수 있다는 것을 고려한다. 유사하게, 임의의 수의 랙 카메라들(495)이 물리적 상점(100)에 설치되고 네트워크(430b)를 통해 가상 상점 툴(405)에 접속될 수 있다. 예를 들어, 일부 실시예들에서, 물리적 상점(100)은 물리적 선반들(210)과 동일한 수의 랙 카메라들(495)을 포함한다. 다른 실시예들에서, 물리적 상점(100)은 물리적 선반들(210)보다 더 많은 랙 카메라들(495)을 포함한다. 특정 실시예들에서, 랙 카메라들(495)은 레이아웃 카메라들(490)과 동일하다. 다른 실시예들에서, 랙 카메라들(495)은 레이아웃 카메라들(490)과 별개이다. 레이아웃 카메라들(490) 및 랙 카메라들(495)의 동작은 도 5 및 도 6의 논의에서 아래에 더 상세히 설명된다.
본 발명의 범위를 벗어나지 않고서 본 명세서에 설명된 시스템들에 대해 수정들, 추가들 또는 생략들이 이루어질 수 있다. 예를 들어, 시스템(400)은 임의의 수의 사용자들(120), 디바이스들(115), 디스플레이들(410), 네트워크들(430a 및 430b), 레이아웃 카메라들(490), 랙 카메라들(495), 및 외부 시스템들(485)을 포함할 수 있다. 이러한 구성요소들은 통합되거나 분리될 수 있다. 또한, 그 동작들은 더 많거나, 더 적거나, 또는 다른 구성요소들에 의해 수행될 수 있다. 또한, 그 동작들은 소프트웨어, 하드웨어, 및/또는 다른 논리를 포함하는 임의의 적절한 논리를 이용하여 수행될 수 있다.
III. 고객 기반 비디오 추적
앞서 설명한 바와 같이, 가상 상점 툴(405)은 카메라 피드 세그먼트들(415 및/또는 425)에 의해 캡처된 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 에뮬레이팅하기 위해 가상 레이아웃(205)을 이용할 수 있다. 도 5 내지 도 8은 가상 상점 툴(405)이 카메라 피드 세그먼트들(415 및/또는 425)을 생성 및 표시하는 방법을 설명하는데 이용된다.
a. 고객 기반 비디오 추적에 이용되는 카메라들
도 5a는 물리적 상점(100) 내의 레이아웃 카메라들(490) 및 랙 카메라들(495)의 예시적인 위치들을 도시한다. 물리적 상점(100)을 위해 선택된 레이아웃 카메라들(490) 및 랙 카메라들(495)의 수들은 물리적 상점(100)의 크기 및/또는 레이아웃에 의존할 수 있다. 도 5a의 예에서 알 수 있는 바와 같이, 물리적 상점(100)은 5개의 레이아웃 카메라(490a 내지 490e)를 포함할 수 있다. 물리적 상점(100)의 천장에 위치되는 것으로 도시되지만, 본 개시내용은 레이아웃 카메라들(490)이 물리적 상점(100) 내의 어디에나 장착될 수 있는 것을 고려한다. 부가적으로, 도 5a의 예에서, 물리적 상점(100)은 4개의 랙 카메라(495a 내지 495d)를 포함할 수 있다. 물리적 상점(100)의 천장 및 측벽들 둘 다에 위치되는 것으로 도시되지만, 본 개시내용은 랙 카메라들(495)이 물리적 상점(100) 내의 어디에나 장착될 수 있는 것을 고려한다. 랙 카메라들(495)은 레이아웃 카메라들(490)로부터 분리되거나 레이아웃 카메라들(490)과 동일할 수 있다.
랙 카메라들(495) 각각은 물리적 상점(100)에 위치된 랙(210)에 지향된다. 예를 들어, 도 5a에 예시된 바와 같이, 랙 카메라(495a)는 물리적 디스플레이 랙(210a)에 지향되고, 랙 카메라(495b)는 물리적 디스플레이 랙(210b)에 지향되고, 랙 카메라(495c)는 물리적 디스플레이 랙(210c)에 지향되고, 랙 카메라(495d)는 물리적 디스플레이 랙(210d)에 지향된다. 도 5a가 물리적 상점(100) 내의 5개의 레이아웃 카메라 세트(490) 및 4개의 랙 카메라 세트(495)를 예시하지만, 본 개시내용은 물리적 상점(100)의 크기 및/또는 레이아웃에 따라, 임의의 적절한 수의 레이아웃 카메라들(490) 및 랙 카메라들(495)이 물리적 상점(100)에서 이용될 수 있다는 것을 고려한다. 도 5a는 물리적 상점(100)에 위치된 턴스타일들(510)의 세트를 추가적으로 예시한다. 턴스타일들(510)은 도 6의 논의에서 아래에 더 상세히 설명되는 바와 같이, 물리적 상점(100) 안팎으로의 고객들(105)의 출입을 제어하는데 이용될 수 있다.
도 5b에 예시된 바와 같이, 레이아웃 카메라들(490) 각각은 물리적 상점(100) 내의 특정 위치에 지향되고, 그 위치를 둘러싸는 물리적 상점(100)의 레이아웃(200)의 영역(505)을 캡처한다. 예를 들어, 제1 레이아웃 카메라(490a)는 제1 위치에 지향되고, 물리적 상점(100)의 제1 영역(505a)의 비디오 및/또는 이미지들을 캡처하고; 제2 레이아웃 카메라(490b)는 제2 위치에 지향되고, 물리적 상점(100)의 제2 영역(505b)의 비디오 및/또는 이미지들을 캡처하고; 제3 레이아웃 카메라(490c)는 제3 위치에 지향되고, 물리적 상점(100)의 제3 영역(505c)의 비디오 및/또는 이미지들을 캡처하고; 제4 레이아웃 카메라(490d)는 제4 위치에 지향되고, 물리적 상점(100)의 제4 영역(505d)의 비디오 및/또는 이미지들을 캡처하고; 제5 레이아웃 카메라(490e)는 제5 위치에 지향되고, 물리적 상점(100)의 제5 영역(505e)의 비디오 및/또는 이미지들을 캡처한다. 특정 실시예들에서, 레이아웃 카메라들(490)은 물리적 상점(100)의 중첩 영역들을 캡처할 수 있다. 예를 들어, 도 5b에 도시된 바와 같이, 제3 영역(505c) 모두는 제1 영역(505a), 제2 영역(505b), 제4 영역(505d), 및 제5 영역(505e)의 일부분들에 의해 중첩된다. 물리적 상점(100)의 중첩 영역들은 레이아웃 카메라들(490)의 서로에 대한 근접의 결과일 수 있다. 일반적으로, 물리적 상점(100)의 중첩 영역들을 캡처함으로써, 물리적 레이아웃(200)의 특정 부분들이 복수의 레이아웃 카메라(490)에 의해 캡처될 수 있다. 이는 특정 레이아웃 카메라(490)가 오작동하거나 오프라인으로 되는 경우에 물리적 레이아웃(200)의 충분한 카메라 적용범위를 제공하기 위해 바람직할 수 있다.
도 5b에는 직사각형 형상으로서 예시되어 있지만, 본 개시내용은 영역들(505)이 임의의 형상 또는 크기일 수 있다는 것을 고려한다. 예를 들어, 특정 실시예들에서, 영역들(505)은 타원형 형상이다. 일부 실시예들에서, 영역들(505)은 균일한 크기 및 형상이다. 예를 들어, 도 5b에 예시된 바와 같이, 영역들(505a 내지 505e)은 모두 동일한 형상 및 크기이다. 다른 실시예들에서, 영역들(505)은 상이한 크기들 및 형상들의 영역들(505)을 포함할 수 있다.
b. 카메라 피드 처리
레이아웃 카메라들(490) 및/또는 랙 카메라들(495)에 의해 캡처된 물리적 상점(100)의 비디오들 및/또는 이미지들은 카메라 피드들의 형태로 가상 상점 툴(405)에 전송된다. 가상 상점 툴(405)은 이어서 비디오 프로세서(465)를 이용하여, 이러한 카메라 피드들에 기반하여, 물리적 상점(100)에서 쇼핑 세션을 수행하는 사람(105)에게 할당된, 카메라 피드 세그먼트들(415) 및 랙 카메라 피드 세그먼트들(425)을 생성한다. 도 6은 가상 상점 툴(405)의 비디오 프로세서(465)의 동작을 나타낸다.
도 6은 제1 레이아웃 카메라(490a), 제2 레이아웃 카메라(490b), 및 랙 카메라(495a)를 포함하는 실시예에서, 가상 상점 툴(405)의 비디오 프로세서(465)의 동작의 예를 나타낸다. 도 6에 예시된 바와 같이, 비디오 프로세서(465)는 제1 레이아웃 카메라(490a)로부터 제1 카메라 피드(605a), 제2 레이아웃 카메라(490b)로부터 제2 카메라 피드(605b), 및 랙 카메라(495a)로부터 랙 카메라 피드(620a)를 수신한다. 특정 실시예들에서, 비디오 프로세서(465)는 레이아웃 카메라들(490a, 490b), 및 랙 카메라(495a)로부터 직접 제1 카메라 피드(605a), 제2 카메라 피드(605b), 및 랙 카메라 피드(620a)를 수신한다. 일부 실시예들에서, 비디오 프로세서(465)는 인터페이스(445)로부터 제1 카메라 피드(605a), 제2 카메라 피드(605b), 및 랙 카메라 피드(620a)를 수신한다.
카메라 피드들(605a, 605b, 및 620a)을 처리하기 전에, 비디오 프로세서(465)는 먼저 식별 번호(455)와 연관된 사람(105)이 물리적 상점(100)에 들어갔다고 결정한다. 본 개시내용은 비디오 프로세서(465)가 임의의 적절한 방식으로 사람(105)이 물리적 상점(100)에 들어갔다고 결정할 수 있는 것을 고려한다. 예를 들어, 특정 실시예들에서, 물리적 상점(100)은 사람(105)이 상점에 들어가는 것을 제어하는 턴스타일들(510)을 포함한다. 사람(105)이 턴스타일(510)에 부착된 스캐너(515)를 이용하여 사람(105)에 속하는 모바일 디바이스(125) 또는 물리적 카드 상에 위치된 QR 코드를 스캐닝할 때 턴스타일(510)이 열릴 수 있다. 따라서, QR 코드의 스캐닝은, 사람(105)이 물리적 상점(100)에 들어갔다는 것을 나타내고, 가상 상점 툴(405)에 전송되는 통지를 생성할 수 있다. 다른 예로서, 일부 실시예들에서, 알고리즘(488)은, 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 정보에 기반하여, 사람(105)이 물리적 상점(100)에 들어갔다는 것을 결정하는데 이용될 수 있다. 이러한 알고리즘(488)의 예는, 도 13 내지 도 16의 논의에서, 이하에 더 상세히 설명될 것이다.
본 개시내용은 카메라 피드들(605 및 620)이 타임스탬프들의 면에서 동기화되어, 카메라 피드들(605a, 605b, 및 620a) 각각으로부터의 주어진 타임스탬프와 연관된 비디오가 물리적 상점(100) 내에서 동일한 실시간에 대응하도록 하는 것을 고려한다. 이러한 동기화는 임의의 적절한 방식으로 달성될 수 있다. 예를 들어, 특정 실시예들에서, 레이아웃 카메라들(490) 및 랙 카메라들(495)은 동일한 이더넷 스위치에 플러그인된다. 이어서, 사람(105)이 물리적 상점(100)에 들어갔다고 결정하는 것은 사람(105)이 물리적 상점(100)에 들어갔던 타임스탬프에 대응하는 시작 타임스탬프(610)를 수신하는 것을 포함할 수 있다.
제1 카메라 피드(605a), 제2 카메라 피드(605b), 및 랙 카메라 피드(620a)와 연관된 데이터 패킷들이 상이한 시간들에 네트워크(430b)를 통해 가상 상점 툴(405)에 도달할 수 있는 경우, 본 개시내용은 가상 상점 툴(405)이 시작 타임스탬프(610)로부터 계속하여 제1 카메라 피드(605a), 제2 카메라 피드(605b), 및 랙 카메라 피드(620a)를 스트리밍하기보다는, 가상 레이아웃 툴(405)의 비디오 프로세서(465)가 미리 정의된 양의 시간 동안 지속되는 제1 카메라 피드(605a), 제2 카메라 피드(605b), 및 랙 카메라 피드(620a)의 기록들을 메모리(440)에 저장하는 것을 고려한다. 이러한 기록들은 이어서 재생될 수 있고, 그 각각은 타임스탬프들에 따라 다른 것들과 동기화된다. 따라서, 비디오 프로세서(465)가 사람(105)이 물리적 상점(100)에 들어갔던 타임스탬프에 대응하는 시작 타임스탬프(610)를 결정하면, 비디오 프로세서(465)는 그 다음에 시작 타임스탬프(610)에서 시작하여 종료 타임스탬프(615)에서 끝나는 각각의 카메라 피드의 세그먼트들을 준비한다. 비디오 프로세서(465)는 이어서 이 세그먼트들을 메모리(440)에 저장한다. 예를 들어, 비디오 프로세서(465)는 시작 타임스탬프(610)로부터 종료 타임스탬프(615)까지의 제1 카메라 피드(605a)의 기록에 대응하는 제1 카메라 피드 세그먼트(415a), 시작 타임스탬프(610)로부터 종료 타임스탬프(615)까지의 제2 카메라 피드(605b)의 기록에 대응하는 제2 카메라 피드 세그먼트(415b), 및 시작 타임스탬프(610)로부터 종료 타임스탬프(615)까지의 랙 카메라 피드(620a)의 기록에 대응하는 랙 카메라 피드 세그먼트(425a)를 준비한다. 비디오 프로세서(465)는 이어서 세그먼트들(415a, 415b, 및 425a) 각각을 메모리(450)에 저장한다.
본 개시내용은 시작 타임스탬프(610)와 종료 타임스탬프(615) 사이의 시간 간격이 임의의 미리 결정된 시간량일 수 있다는 것을 고려한다. 예를 들어, 특정 실시예들에서, 시간 간격은 5분이다. 이 미리 결정된 시간량보다 더 오래 지속되는 쇼핑 세션의 비디오를 캡처하기 위해, 일단 카메라 피드들(605a, 605b, 및 620a)이 종료 타임스탬프(615)에 도달하면, 비디오 프로세서(465)는 종료 타임스탬프(615)에서 시작하여 새로운 종료 타임스탬프에서 끝나는 카메라 피드들(605a, 605b, 및 620a)의 추가 기록들을 저장할 수 있고, 새로운 종료 타임스탬프는 종료 타임스탬프(615) 후의 미리 결정된 시간량에서 발생한다. 비디오 프로세서(465)는 임의의 수의 추가 카메라 피드 세그먼트들을 메모리(440)에 저장할 수 있고, 그 각각은 추가의 미리 결정된 시간 간격에 대응한다. 특정 실시예들에서, 비디오 프로세서(465)는 사람(105)이 물리적 상점(100)을 떠났다는 표시를 수신할 때까지 이러한 추가 카메라 피드 세그먼트들을 계속 기록한다.
비디오 프로세서(465)는 임의의 수의 사람들(105)에 대한 카메라 피드 세그먼트들(415 및 425)을 저장할 수 있다. 따라서, 비디오 프로세서(465)는 사람(105)에 할당된 카메라 피드 세그먼트들(415 및 425)의 모음을 비디오 세트(450)로서 저장할 수 있고, 여기서 비디오 세트(450)는 사람(105)과 연관된 식별 번호(455)를 할당받는다. 예로서, 제1 사람(105a)은 제1 시작 타임스탬프(610a)에서 물리적 상점(100)에 들어갈 수 있고, 제2 사람(105b)은 제1 시작 타임스탬프(610a) 이후의 제2 시작 타임스탬프(610b)에서 물리적 상점(100)에 들어갈 수 있으며, 여기서 제2 시작 타임스탬프(610b)는 제1 시작 타임스탬프(610a) 이후의 미리 정의된 시간 간격 내에 있어서, 제1 사람(105a)에 대해 기록된 카메라 피드 세그먼트들은 제2 사람(105b)에 대해 기록된 카메라 피드 세그먼트들과 중첩하는 비디오를 포함할 것이다. 따라서, 비디오 프로세서(465)는 제1 사람(105a)에 대해 기록된 카메라 피드 세그먼트들을, 제1 사람(105a)에 할당된 식별 번호(455a)와 함께, 비디오 세트(450a)로서 메모리(440)에 저장할 수 있다. 유사하게, 비디오 프로세서(465)는 제2 사람(105b)에 대해 기록된 카메라 피드 세그먼트들을, 제2 사람(105b)에 할당된 식별 번호(455b)와 함께, 비디오 세트(450b)로서 메모리(440)에 저장할 수 있다. 가상 상점 툴(405)은 이어서 주어진 사람에 할당된 식별 번호(455)를 이용하여, 그 사람(105)과 연관된 카메라 피드 세그먼트들을 메모리(440)로부터 검색할 수 있다.
비디오 프로세서(465)는 메모리(440)에 저장되고 프로세서(435)에 의해 실행되는 소프트웨어 모듈일 수 있다. 비디오 프로세서(465)의 동작의 예는 다음과 같다: (1) 카메라들(490 및 495)로부터 각각 카메라 피드들(605 및 620)을 수신하고; (2) 사람(105)이 물리적 상점(100)에 들어갔다는 것을 결정하고; (3) 사람(105)이 물리적 상점(100)에 들어갔던 시간에 대응하는 타임스탬프(610)를 결정하고; (4) 카메라 피드들(605 및 620) 각각으로부터의 카메라 피드 세그먼트들(415 및 425)을 기록하고 - 카메라 피드 세그먼트들은 사람(105)이 물리적 상점(100)에 들어갔던 시간에 대응하는 타임스탬프(610)로부터 종료 타임스탬프(615)까지 미리 결정된 시간량 동안 지속되는 카메라 피드들(605 및 620)의 기록들에 대응함 -; (5) 사람(105)의 식별 번호(455)에 따라 메모리(440)에 카메라 피드 세그먼트들(415 및 425)을 비디오 세트(450)로서 저장한다.
c. 카메라 피드 세그먼트들의 표시
비디오 프로세서(465)가 카메라 피드들(605 및 620)로부터의 비디오 세트(450)를 기록하였다면, 가상 상점 툴(405)은 이어서 디바이스(115)의 디스플레이(410) 상에 비디오 세트(450)를 표시하기 위해 디스플레이 제어기(470)를 이용할 수 있다. 특정 실시예들에서, 가상 상점 툴(405)은 그래픽 사용자 인터페이스(700)의 형태로 디바이스(115)의 디스플레이(410) 상에 비디오 세트(450)를 표시할 수 있다. 도 7a 내지 도 7c는 가상 상점 툴(405)이 디스플레이(410) 상에 비디오 세트(450)를 표시하는 방식을 예시하는 예를 나타낸다.
도 7a는 가상 상점 툴(405)이 디스플레이(410)에게 4개의 카메라 피드 세그먼트(415a 내지 415d)를 표시하라고 지시하는 실시예를 나타내는 것이다. 가상 상점 툴(405)은 디스플레이(410)의 제1 영역(750)에 제1 카메라 피드 세그먼트(415a)를, 디스플레이(410)의 제2 영역(755)에 제2 카메라 피드 세그먼트(415b)를, 디스플레이(410)의 제3 영역(760)에 제3 카메라 피드 세그먼트(415c)를, 그리고 디스플레이(410)의 제4 영역(765)에 제4 카메라 피드 세그먼트(415d)를 표시한다. 가상 상점 툴(405)은 임의의 수의 카메라 피드 세그먼트들(415)을 표시하라고 디스플레이(410)에 지시할 수 있다. 예를 들어, 특정 실시예들에서, 가상 디스플레이 툴(405)은 비디오 세트(450)에 저장된 것과 동일한 수의 카메라 피드 세그먼트들(415)을 표시하라고 디스플레이(410)에 지시할 수 있다. 일부 실시예들에서, 가상 디스플레이 툴(405)은 비디오 세트(450)에 저장된 것보다 더 적은 수의 카메라 피드 세그먼트들(415)을 표시하라고 디스플레이(410)에 지시할 수 있다. 이것은 물리적 상점(100)이 많은 수의 레이아웃 카메라들(490)을 포함하는 대형 상점인 실시예들에서 바람직할 수 있다. 이러한 실시예들에서, 디스플레이(410) 상에 모든 카메라 피드 세그먼트들(415)을 표시하는 것은 사용자(120)가 표시된 카메라 피드 세그먼트들(415) 중 임의의 카메라 피드 세그먼트에서 물리적 상점(100)의 특정 특징들을 보는 것을 어렵게 만들 수 있다. 따라서, 가상 상점 툴(405)은 디스플레이(410) 상에 카메라 피드 세그먼트들(415)의 서브세트를 표시할 수 있다. 가상 상점 툴(405)은 임의의 적절한 방식으로 디스플레이(410) 상에 표시할 카메라 피드 세그먼트들(415)의 서브세트를 선택할 수 있다. 예로서, 특정 실시예들에서, 가상 상점 툴(405)은, 임의의 주어진 시간에, 비디오 세트(450)가 할당된 사람(105)의 위치에 가장 가까운 물리적 상점(100)의 영역들을 캡처하는 그 카메라 피드 세그먼트들(415)을 포함하는 카메라 피드 세그먼트들(415)의 서브세트를 표시할 수 있다. 이러한 실시예들에서, 비디오 세트(450)가 사람(105)이 물리적 상점(100)에서의 새로운 위치로 이동하는 것을 묘사할 때, 가상 상점 툴(405)은 디스플레이(410) 상에 현재 표시되는 카메라 피드 세그먼트들(415)의 서브세트를, 사람(105)의 새로운 위치에 가장 가까운 물리적 상점(100)의 영역들을 캡처하는 이러한 카메라 피드 세그먼트들(415)을 포함하는 카메라 피드 세그먼트들(415)의 새로운 서브세트로 대체할 수 있다. 가상 상점 툴(405)은 임의의 적절한 방식으로 위치 또는 사람(105)에 가장 가까운 물리적 상점(100)의 영역들을 캡처하는 카메라 피드 세그먼트들(415)의 서브세트를 결정할 수 있다. 예를 들어, 특정 실시예들에서, 가상 상점 툴(405)은, 물리적 상점(100)에 위치된 센서들(498)의 세트로부터 수신된 입력들에 기반하여, 물리적 상점(100)에서의 사람(105)의 위치들을 추적하도록 구성된 기계 학습 알고리즘(488)으로부터 사람(105)의 위치의 표시를 수신할 수 있다.
도 7a에 예시된 바와 같이, 카메라 피드 세그먼트들(415)을 표시하는 것에 부가하여, 가상 상점 툴(405)은 또한 슬라이더 바(705)를 비디오 세트(450)에 할당하고 각각의 카메라 피드 세그먼트(415)와 함께 슬라이더 바(705)의 사본들을 표시한다. 예를 들어, 가상 상점 툴(405)은 슬라이더 바(705)의 제1 사본(705a)을 제1 카메라 피드 세그먼트(415a)와 함께, 슬라이더 바(705)의 제2 사본(705b)을 제2 카메라 피드 세그먼트(415b)와 함께, 슬라이더 바(705)의 제3 사본(705c)을 제3 카메라 피드 세그먼트(415c)와 함께, 그리고 슬라이더 바(705)의 제4 사본(705d)을 제4 카메라 피드 세그먼트(415d)와 함께 표시한다. 슬라이더 바(705)의 각각의 사본은 연관된 카메라 피드 세그먼트(415)의 재생 진행을 제어하도록 구성된 슬라이더(710)를 포함할 수 있다. 예를 들어, 슬라이더 바(705) 상의 슬라이더(710)의 위치는 연관된 카메라 피드 세그먼트(415)의 현재 재생 진행을 나타낸다. 슬라이더(710)의 위치는 새로운 재생 시간에 대응하는 새로운 위치로 (예컨대, 사용자(120)에 의해) 수동으로 조정될 수 있다. 이러한 조정은 연관된 카메라 피드 세그먼트의 재생이 새로운 재생 시간으로 조정되게 할 수 있다.
특정 실시예들에서, 각각의 카메라 피드 세그먼트(415)의 재생은 다른 카메라 피드 세그먼트들(415)의 재생과 동기화되어, 슬라이더 바(705)의 사본들 중 임의의 사본 상에서의 슬라이더(710)의 조정은 표시된 카메라 피드 세그먼트들(415) 모두의 재생 진행의 대응하는 조정으로 이어진다. 예를 들어, 슬라이더(710)가 제1 재생 시간으로부터 제2 재생 시간으로 슬라이더 바(705)의 제1 사본(705a)에 대해 조정되는 경우, 슬라이더 바(705)의 제2 사본(705b) 상의 슬라이더(710), 슬라이더 바(705)의 제3 사본(705c) 상의 슬라이더(710), 및 슬라이더 바(705)의 제4 사본(705d) 상의 슬라이더(710)는 모두 유사하게 제1 재생 시간으로부터 제2 재생 시간으로 조정될 것이다. 이것은 카메라 피드 세그먼트들(415)을 이용하는 사용자(120)가 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 관찰하는데 바람직할 수 있다. 사용자(120)는 카메라 피드 세그먼트들(415)의 전체의 중단되지 않은 재생을 보는 것이 아니라, 카메라 피드 세그먼트들(415)이 사용자(120)의 관심 지점에 도달했다고 사용자(120)가 결정할 때까지 카메라 피드 세그먼트들(415)의 재생 진행을 조정할 수 있다.
특정 실시예들에서, 슬라이더 바(705)는 하나 이상의 마커(715)를 포함할 수 있다. 예를 들어, 도 7a에 예시된 바와 같이, 슬라이더 바(705)는 슬라이더 바(705) 상의 제1 마커 위치에 위치되고 제1 마커 재생 시간에 대응하는 제1 마커(715a)는 물론, 슬라이더 바(705) 상의 제2 마커 위치에 위치되고 제2 마커 재생 시간에 대응하는 제2 마커(715b)를 포함할 수 있다. 제1 마커(715a)는 제1 마커 재생 시간에 발생하는 제1 이벤트와 연관되고, 제2 마커(715b)는 제2 마커 재생 시간에 발생하는 제2 이벤트와 연관된다. 제1 이벤트 및 제2 이벤트는 물리적 상점(100) 내에서 발생하는 임의의 유형의 이벤트들을 포함할 수 있다. 예를 들어, 제1 이벤트는 사람(105a)이 물리적 상점(100) 내의 물리적 랙(210a)에 위치된 물리적 선반(305a)으로부터 물리적 아이템(315a)을 선택하는 것과 연관될 수 있다. 유사하게, 제2 이벤트는 사람(105a)이 물리적 상점(100) 내의 제2 물리적 랙(210b)에 위치된 제2 물리적 선반(305b)으로부터 제2 물리적 아이템(315b)을 선택하는 것과 연관될 수 있다.
슬라이더 바(705) 상의 제1 마커(715a) 및 제2 마커(715b)에 대한 위치들은 임의의 적절한 방식으로 결정될 수 있다. 예로서, 특정 실시예들에서, 제1 마커(715a)와 연관된 제1 이벤트, 및 제2 마커(715b)와 연관된 제2 이벤트는 물리적 상점(100) 내에 위치된 센서들(498)로부터 수신된 입력들의 세트에 기반하여 알고리즘(488)에 의해 결정될 수 있다. 예를 들어, 알고리즘(488)은 제1 이벤트가 제1 타임스탬프에 대응하는 제1 시간에 발생하고, 제2 이벤트가 제2 타임스탬프에 대응하는 제2 시간에 발생한다고 결정할 수 있다. 가상 상점 툴(405)은 그 후 제1 및 제2 타임스탬프들을 이용하여 슬라이더 바(705) 상의 제1 마커(715a) 및 제2 마커(715b)를 타임스탬프들에 대응하는 위치들에 배치할 수 있다. 제1 및 제2 이벤트들의 타이밍을 결정하는데 이용되는 예시적인 알고리즘(488)은 도 13 내지 도 16의 논의에서 아래에 더 상세히 설명된다. 마커들(715)의 이용은 카메라 피드 세그먼트들(415)을 이용하는 사용자(120)가 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 관찰하는데 바람직할 수 있다. 카메라 피드 세그먼트들(415)의 전체의 중단되지 않은 재생을 보는 것이 아니라, 사용자(120)는 슬라이더(710)가 제1 마커(715a) 또는 제2 마커(715b)와 연관된 이벤트들 중 하나에 도달할 때까지 카메라 피드 세그먼트들(415)의 재생 진행을 조정하여, 예를 들어, 고객(105)이 물리적 상점(100) 내의 물리적 랙(210)으로부터 물리적 아이템(315)을 선택하는 것을 관찰할 수 있다.
위에서 설명된 바와 같이, 도 6의 논의에서, 카메라 피드 세그먼트들(415) 각각은 시작 타임스탬프(610)로부터 종료 타임스탬프(615)까지 지속되는 미리 결정된 시간 간격의 것이다. 따라서, 고객(105)이 미리 결정된 시간 간격보다 더 오랫동안 물리적 상점(100) 내에 남아 있는 특정 실시예들에서는, 복수의 카메라 피드 세그먼트들이 레이아웃 카메라들(490) 각각으로부터 존재할 수 있다. 예를 들어, 가상 상점 툴(405)은 제1 시간 간격, 제2 시간 간격, 제3 시간 간격, 및 제4 시간 간격에 대한 카메라 피드 세그먼트들(415)을 메모리(440)에 저장할 수 있다. 메모리(440)는 임의의 수의 시간 간격들에 대한 임의의 수의 카메라 피드 세그먼트들(415)을 저장한다. 이러한 실시예들에서, 슬라이더(710)가 슬라이더 바(705)의 끝에 도달할 때, 가상 상점 툴(405)은 디스플레이(410) 상에 현재 표시된 이들 카메라 피드 세그먼트들(415)을, 현재 표시된 카메라 피드 세그먼트들(415)의 세트에 의해 캡처된 시간 간격 직후의 시간 간격에 대응하는 카메라 피드 세그먼트들(415)의 다음 세트로 대체할 수 있다. 현재 표시된 카메라 피드 세그먼트들(415)을, 현재 표시된 카메라 피드 세그먼트들(415)의 세트에 의해 캡처된 시간 간격 직후의 시간 간격에 대응하는 카메라 피드 세그먼트들(415)의 새로운 세트로 대체하는 이 프로세스는 가상 상점 툴(405)이 고객(105)이 물리적 상점(100)을 떠났다고 결정할 때까지 계속될 수 있다.
가상 상점 툴(405)은 임의의 적절한 방식으로 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 예로서, 특정 실시예들에서, 가상 상점 툴(405)은 사용자(120)로부터 수신된 입력에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 예를 들어, 비디오 세트(450)가 그래픽 사용자 인터페이스(700)의 형태로 디스플레이(410) 상에 표시되는 실시예들에서, 그래픽 사용자 인터페이스(700)는 도 7b에 예시된 바와 같이, 그/그녀가 고객(105)이 물리적 상점(100)을 빠져나오는 것을 카메라 피드 세그먼트들(415) 상에서 관찰했다는 것을 사용자(120)가 나타낼 수 있는 대화형 버튼(730)(예컨대, 퇴장 고객 버튼)을 포함할 수 있다. 다른 예로서, 가상 상점 툴(405)은 물리적 상점(100) 내에서 고객들(105)을 추적하도록 구성된 알고리즘(488)으로부터 수신된 정보에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 이와 같은 알고리즘(488)은 도 13 내지 도 16의 논의에서 이하에 더 상세히 설명된다. 추가의 예로서, 가상 상점 툴(405)은 물리적 상점(100)으로부터 수신된 정보에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 예를 들어, 물리적 상점(100)은 물리적 상점(100)의 출구 근방의 턴스타일들(510)의 세트를 포함할 수 있다. 턴스타일(510)을 열고 물리적 상점(100)을 떠나기 위해, 고객(105)은 그/그녀가 물리적 상점(100)에 들어가기 위해 이용한 것과 동일한 QR 코드를 스캐닝하도록 요청받을 수 있다. QR 코드를 스캐닝하는 것은 이어서 고객(105)이 물리적 상점(100)을 빠져나왔다는 것을 나타내는 신호를 가상 상점 툴(405)에 전송할 수 있다.
특정 실시예들에서, 사용자(120)가 카메라 피드 세그먼트들(415) 중 어느 것이 관심 정보를 포함할 수 있는지를 결정하는데 도움을 주기 위해, 가상 상점 툴(405)은, 이러한 특정 시간들에, 이들 카메라 피드 세그먼트들(415)에 묘사된 이벤트들에 기반하여, 특정 시간들에서의 특정 카메라 피드 세그먼트들(415)을 강조하도록 구성되어 있다. 예를 들어, 도 7b에 예시된 바와 같이, 가상 상점 툴(405)은 주어진 카메라 피드 세그먼트(415a)가 제1 시간에서의 고객(105)을 묘사하는 것으로 결정하도록 구성될 수 있다. 따라서, 가상 상점 툴(405)은 슬라이더 바(705) 상의 슬라이더(710)가 그 제1 시간에 도달했다는 결정에 응답하여 카메라 피드 세그먼트(415a)를 강조할 수 있다. 여기서, 카메라 피드 세그먼트(415a)를 강조하는 것은 가상 상점 툴(405)이 카메라 피드 세그먼트(415a)쪽으로 주의를 끌 수 있는 임의의 방식을 포함할 수 있다. 예를 들어, 도 7b에 예시된 바와 같이, 카메라 피드 세그먼트(415a)를 강조하는 것은 카메라 피드 세그먼트(415a) 주위에 프레임(720)을 배치하는 것을 포함할 수 있다. 다른 예로서, 카메라 피드 세그먼트(415a)를 강조하는 것은 디스플레이(410) 상에 묘사된 카메라 피드 세그먼트(415a)의 크기를 다른 카메라 피드 세그먼트들(415)에 비해 증가시키는 것을 포함할 수 있다.
특정 실시예들에서, 디스플레이(410) 상에 표시되는 그래픽 사용자 인터페이스(700)는 물리적 상점(100)에서의 고객(105a)의 쇼핑 세션을 모니터링하기 위해 사용자(120)에 의해 이용될 수 있다. 몇몇 다른 고객들(105)을 포함하여 물리적 상점 내의 특정 고객(105a)을 모니터링하는데 있어서 이러한 사용자(120)를 돕기 위해, 가상 상점 툴(405)은 고객(105a)이 물리적 상점(100)에 들어올 때 캡처된, 고객(105a)의 이미지(725)를 추가로 표시할 수 있다. 예를 들어, 물리적 상점(100)이 상점 내로의 사람들(105)의 진입을 제어하기 위한 턴스타일들(510)을 포함하는 특정 실시예들에서, 물리적 상점(100)은 고객(105a)이 턴스타일(510)을 통과할 때 고객(105a)의 이미지(725)를 촬영하도록 구성된 카메라를 포함할 수 있다.
슬라이더 바(705)가 하나 이상의 마커(715)를 포함하는 특정 실시예들에서, 각각의 마커(715)는 마커(715)와 연관된 이벤트를 설명하는 메타데이터(740)를 포함할 수 있다. 하나의 이러한 실시예의 예가 도 7c에 도시되어 있다. 전술된 바와 같이, 도 7a의 논의에서, 각각의 마커(715a 및 715b)는, 고객(105a)이 물리적 상점(100)에 위치된 물리적 랙(210)의 물리적 선반(305)으로부터 물리적 아이템(315)을 선택하는 것으로 구성된 이벤트와 연관될 수 있다. 따라서, 각각의 마커는, 고객(105a)에 의해 선택된 물리적 아이템(315)에 할당된 식별 번호(745), 고객(105a)이 물리적 아이템(315)을 선택한 물리적 선반(305)에 할당된 식별 번호(750), 및/또는 고객(105a)이 물리적 아이템(315)을 선택한 물리적 선반(305)을 포함하는 물리적 랙(210)에 할당된 식별 번호(755)를 나타내는 메타데이터(740)를 포함할 수 있다. 특정 실시예들에서, 아이템 식별 번호(745)는, 고객(105a)이 물리적 아이템(315)을 선택한 물리적 선반(305)의 구역을 식별하는 구역 식별 번호(745)에 대응할 수 있다. 선반 구역들의 이용은 도 13c 및 도 13d의 논의에서 이하에 더 상세히 설명될 것이다.
가상 상점 툴(405)은 메타데이터(740)를 임의의 적절한 방식으로 이용할 수 있다. 예를 들어, 특정 실시예들에서, 슬라이더 바(705) 상의 슬라이더(710)가 제1 마커(715a)에 도달할 때, 가상 상점 툴(405)은 고객(105)이 물리적 랙(210)으로부터 물리적 아이템(315)을 선택했다는 것을 결정하기 위해 메타데이터(740)를 이용할 수 있다. 따라서, 가상 상점 툴(405)은 랙 카메라 세그먼트(425a)를 디스플레이(410) 상에 표시할 수 있고, 여기서 랙 카메라 세그먼트(425a)는 물리적 랙(210)의 비디오를 묘사한다. 랙 카메라 세그먼트(425a)는 카메라 피드 세그먼트들(415a 내지 415d)과 동기화될 수 있고, 따라서 슬라이더 바(705)의 사본들 중 임의의 사본 상에서의 슬라이더(710)의 조정은 랙 카메라 세그먼트(425a)의 재생 진행의 대응하는 조정으로 이어진다. 슬라이더(710)가 슬라이더 바(705) 상의 마커(715)에 도달하는 것에 응답하여, 랙 카메라 세그먼트(425a)를 자동으로 표시하는 것은, 사용자(120)가 고객(105)이 물리적 랙(210)으로부터 물리적 아이템(315)을 선택하는 것을 관찰할 수 있는 물리적 랙(210)의 뷰를 사용자(120)에게 제공하기 위해 바람직할 수 있다. 특정 실시예들에서, 사용자(120)는, 사용자(120)에 의해 결정되는 바와 같이, 물리적 랙(210)의 최상의 뷰를 표시하는 랙 카메라 세그먼트(425a)를 사용자(120)에게 제공하기 위해, 물리적 랙(210)에 할당할 몇 개의 잠재적인 랙 카메라들(495) 중에서 랙 카메라(495)를 선택하기 위해 제2 그래픽 사용자 인터페이스를 이용할 수 있다. 가상 상점 툴(405)의 이 양태는 도 11 및 도 12의 논의에서 이하에 더 상세히 설명될 것이다.
도 8은 가상 상점 툴(405)이 카메라 피드 세그먼트들(415 및 425)을 생성하고 이러한 세그먼트들을 디스플레이(410) 상에 표시하는 프로세스를 예시하는 흐름도를 나타낸다. 단계(805)에서, 가상 상점 툴(405)은 물리적 상점(100)에 위치된 레이아웃 카메라들(490)의 세트로부터의 레이아웃 카메라 피드들(605)의 세트 및 랙 카메라들(495)의 세트로부터의 랙 카메라 피드들(620)의 세트를 수신한다. 단계(810)에서, 가상 상점 툴(405)은 사람(105)이 물리적 상점(100)에 들어갔는지를 결정한다. 본 개시내용은 가상 상점 툴(405)이 임의의 적절한 방식으로 사람(105)이 물리적 상점(100)에 들어갔다고 결정할 수 있는 것을 고려한다. 예를 들어, 특정 실시예들에서, 물리적 상점(100)은 상점 내로의 사람들(105)의 출입을 제어하는 턴스타일들(510)을 포함한다. 사람(105)이 사람(105)에 속하는 모바일 디바이스(125) 또는 물리적 카드 상에 위치된 QR 코드를 스캐닝할 때 턴스타일(510)이 열릴 수 있다. 따라서, QR 코드의 스캐닝은 사람(105)이 물리적 상점(100)에 들어갔다는 것을 나타내고, 가상 상점 툴(405)로 전송되는 통지를 생성할 수 있다. 다른 예로서, 일부 실시예들에서, 알고리즘(488)은, 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 정보에 기반하여, 사람(105)이 물리적 상점(100)에 들어갔다고 결정하는데 이용될 수 있다.
단계(810)에서, 가상 상점 툴(405)이 사람(105)이 물리적 상점(100)에 들어갔다고 결정하면, 단계(815)에서, 가상 상점 툴(405)은 카메라 피드 세그먼트들(415 및 425)의 세트를 메모리(440)에 저장한다. 카메라 피드 세그먼트들(415)의 각각의 카메라 피드 세그먼트는 시작 타임스탬프(610)로부터 종료 타임스탬프(615)까지의 카메라 피드들(605) 중 하나의 기록에 대응한다. 유사하게, 랙 카메라 피드 세그먼트들(425)의 각각의 랙 카메라 피드 세그먼트는 시작 타임스탬프(610)로부터 종료 타임스탬프(615)까지의 랙 카메라 피드들(620) 중 하나의 기록에 대응한다. 시작 타임스탬프(610)는 사람(105)이 물리적 상점(100)에 들어간 시간에 대응한다. 종료 타임스탬프(615)는 시작 타임스탬프(610) 이후의 미리 결정된 시간 간격에 대응한다.
단계(820)에서, 가상 상점 툴(405)은 슬라이더 바(705)의 사본들을 각각의 카메라 피드 세그먼트(415 및 425)에 할당한다. 슬라이더 바(705)의 각각의 사본 상의 슬라이더(710)는 대응하는 카메라 피드 세그먼트(415 및/또는 425)가 진행함에 따라 앞으로 이동한다. 특정 실시예들에서, 슬라이더 바(705)의 사본들은 카메라 피드 세그먼트들(415 및 425) 모두가 동일한 속도로 함께 진행하도록 서로 동기화된다. 그에 부가하여, 이러한 실시예들에서, 슬라이더 바(705)의 사본들 중 임의의 사본 상에서의 슬라이더(710)의 조정은 카메라 피드 세그먼트들(415 및 425) 모두의 재생 진행의 대응하는 조정으로 이어진다. 이것은 카메라 피드 세그먼트들(415)을 이용하는 사용자(120)가 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 관찰하는데 바람직할 수 있다. 사용자(120)는 카메라 피드 세그먼트들(415)의 전체의 중단되지 않은 재생을 보는 것이 아니라, 사용자(120)가 카메라 피드 세그먼트들(415)이 사용자(120)의 관심 지점에 도달했다고 결정할 때까지 카메라 피드 세그먼트들(415)의 재생 진행을 조정할 수 있다.
단계(825)에서, 가상 상점 툴(405)은 하나 이상의 카메라 피드 세그먼트(415 및/또는 425)를, 슬라이더 바(705)의 대응하는 사본들과 함께, 디스플레이(410) 상에 나타낸다. 예를 들어, 가상 상점 툴(405)은 제1 카메라 피드 세그먼트(415a)를, 슬라이더 바(705)의 제1 사본(705a)과 함께, 디스플레이(410)의 제1 영역에, 제2 카메라 피드 세그먼트(415b)를, 슬라이더 바(705)의 제2 사본(705b)과 함께, 디스플레이(410)의 제2 영역에, 제3 카메라 피드 세그먼트(415c)를, 슬라이더 바(705)의 제3 사본(705c)과 함께, 디스플레이(410)의 제3 영역에, 그리고 제4 카메라 피드 세그먼트(415d)를, 슬라이더 바(705)의 제4 사본(705d)과 함께, 디스플레이(410)의 제4 영역에 표시할 수 있다. 가상 상점 툴(405)은, 슬라이더 바(705)의 각각의 사본 상의 슬라이더(710)가 진행하도록, 카메라 피드 세그먼트들(415 및/또는 425)을 추가로 재생한다.
단계(830)에서, 가상 상점 툴(405)은 이어서 슬라이더 바(705)의 사본에서의 임의의 슬라이더(710)에 대한 조정이 슬라이더 바(705) 상의 제1 위치로부터 슬라이더 바(705) 상의 제2 위치로 행해졌는지를 결정하며, 제1 위치는 제1 재생 시간에 대응하고, 제2 위치는 제2 재생 시간에 대응한다. 단계(830)에서, 가상 상점 툴(405)이 조정이 행해졌다고 결정하는 경우, 가상 상점 툴(405)은 이어서 카메라 피드 세그먼트들(415 및 425) 각각의 재생 진행을 제1 재생 시간으로부터 제2 재생 시간으로 조정한다.
단계(840)에서, 가상 상점 툴(405)은 사람(105)이 물리적 상점(100)을 떠났는지를 결정한다. 가상 상점 툴(405)은 고객(105)이 물리적 상점(100)을 떠났다고 임의의 적절한 방식으로 결정할 수 있다. 예로서, 특정 실시예들에서, 가상 상점 툴(405)은 사용자(120)로부터 수신된 입력에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 예를 들어, 카메라 피드 세그먼트들(415 및/또는 425)이 디스플레이(410) 상에 그래픽 사용자 인터페이스(700)의 형태로 표시되는 실시예들에서, 그래픽 사용자 인터페이스(700)는 그/그녀가 고객(105)이 물리적 상점(100)을 빠져나오는 것을 하나 이상의 카메라 피드 세그먼트(415) 상에서 관찰했다는 것을 사용자(120)가 나타낼 수 있는 대화형 버튼(730)(예컨대, 퇴장 고객 버튼)을 포함할 수 있다. 다른 예로서, 가상 상점 툴(405)은 물리적 상점(100) 내에서 고객들(105)을 추적하도록 구성된 알고리즘(488)으로부터 수신된 정보에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 이와 같은 알고리즘(488)은 도 13 내지 도 16의 논의에서 이하에 더 상세히 설명된다. 추가의 예로서, 가상 상점 툴(405)은 물리적 상점(100)으로부터 수신된 정보에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 예를 들어, 물리적 상점(100)은 물리적 상점(100)의 출구 근방의 턴스타일들(510)의 세트를 포함할 수 있다. 턴스타일(510)을 열고 물리적 상점(100)을 떠나기 위해, 고객(105)은 그/그녀가 물리적 상점(100)에 들어가기 위해 이용한 것과 동일한 QR 코드를 스캐닝하도록 요청받을 수 있다. QR 코드를 스캐닝하는 것은 이어서 고객(105)이 물리적 상점(100)을 빠져나왔다는 것을 나타내는 신호를 가상 상점 툴(405)에 전송할 수 있다.
단계(840)에서, 가상 상점 툴(405)이 사람(105)이 물리적 상점(100)을 떠나지 않았다고 결정하면, 단계(845)에서, 가상 상점 툴(405)은 카메라 피드 세그먼트들(415 및 425)이 종료 타임스탬프(615)에 도달했는지를 결정한다. 단계(845)에서, 가상 상점 툴(405)이 카메라 피드 세그먼트들(415 및 425)이 종료 타임스탬프(615)에 도달하지 않았다고 결정하면, 가상 상점 툴은 단계(830)로 복귀하여, 슬라이더 바(705)의 사본에서의 임의의 슬라이더(710)에 대한 조정이 슬라이더 바(705) 상의 제1 위치로부터 슬라이더 바(705) 상의 제2 위치로 발생했는지를 결정한다. 한편, 단계(845)에서, 가상 상점 툴(405)이 카메라 피드 세그먼트들(415 및 425)이 종료 타임스탬프(615)에 도달했다고 결정하면, 가상 상점 툴(405)은 단계(825)로 복귀하여 디스플레이(410) 상에 카메라 피드 세그먼트들(415 및/또는 425)의 새로운 세트를 표시하고, 여기서 카메라 피드 세그먼트들의 새로운 세트는 카메라 피드 세그먼트들(415 및/또는 425)의 이전 세트와 연관된 이전 시간 간격 직후의 시간 간격에 걸친 카메라 피드들(605 및/또는 620)의 기록들에 대응한다.
수정들, 추가들, 또는 생략들이 도 8에 도시된 방법(800)에 대해 이루어질 수 있다. 방법(800)은 더 많은, 더 적은, 또는 다른 단계들을 포함할 수 있다. 예를 들어, 단계들은 병렬로 또는 임의의 적절한 순서로 수행될 수 있다. 가상 상점 툴(405)(또는 그 구성요소들)이 이러한 단계들을 수행하는 것으로서 논의되지만, 예를 들어 디바이스(들)(115)와 같은 시스템(400)의 임의의 적절한 구성요소가 이 방법의 하나 이상의 단계를 수행할 수 있다.
IV. 쇼핑 세션의 가상 에뮬레이션
전술한 바와 같이, 카메라 피드 세그먼트들(415 및 425)은 물리적 상점(100)에서 발생하고 카메라 피드 세그먼트들(415 및/또는 425)에 의해 캡처되는 쇼핑 세션을 가상적으로 에뮬레이팅하기 위해 가상 레이아웃(205)과 함께 이용될 수 있다. 예를 들어, 특정 실시예들에서, 카메라 피드 세그먼트들(415 및 425)은, 가상 레이아웃(205)과 함께, 그래픽 사용자 인터페이스(700)의 형태로 사용자(120)에게 제시될 수 있다. 여기서, 카메라 피드 세그먼트들(415 및 425)은 고객(105)에게 할당되고 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 캡처할 수 있다. 사용자(120)는 고객(120)이 물리적 랙들(210)로부터 물리적 아이템들(315)을 선택하는 것을 보기 위해 카메라 피드 세그먼트들(415 및 425)을 모니터링할 수 있다. 따라서, 사용자(120)는 고객(105)에 의해 선택된 물리적 아이템들(315)을 나타내는 가상 아이템들(320)로 가상 쇼핑 카트(420)를 채울 수 있고, 따라서 고객(105)의 쇼핑 세션의 끝에서, 가상 쇼핑 카트(420)는 고객(105)에 의해 선택된 각각의 물리적 아이템(315)에 대한 가상 아이템(320)을 포함할 수 있다.
도 9a 내지 도 9d는, 물리적 상점(100)에서 발생하고 카메라 피드 세그먼트들(415 및 425)에 의해 캡처되는 쇼핑 세션을 가상적으로 에뮬레이팅하는데 이용될 수 있는, 디스플레이(410) 상에 표시된 그래픽 사용자 인터페이스(700)의 추가 예들을 나타낸다. 도 9a에 나타내는 바와 같이, 가상 상점 툴(405)은, 도 7a 내지 도 7c의 논의에서 전술된 바와 같이, 디스플레이(410)의 제1 영역(955)에 카메라 피드 세그먼트들(415)을 표시할 수 있다. 가상 상점 툴(405)은 추가적으로 디스플레이(410)의 제2 영역(960)에 가상 레이아웃(205)을 표시할 수 있다. 가상 레이아웃(205)은 물리적 상점(100)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된다. 도 9a에 나타내는 바와 같이, 가상 레이아웃(205)은 가상 랙들(230)의 세트를 포함한다. 본 개시내용은, 가상 레이아웃(205)이 임의의 수의 가상 랙들(230)을 포함할 수 있다는 것을 고려하고, 여기서, 가상 레이아웃(205) 상에 표시된 가상 랙들(230)의 수는 물리적 상점(100) 내의 물리적 랙들(210)의 수에 대응한다. 가상 레이아웃(205)에서의 가상 랙들(230)의 레이아웃은 물리적 상점(100) 내의 대응하는 물리적 랙들(210)의 배열을 에뮬레이팅하도록 구성된다.
a. 이벤트의 표시 수신
도 9b에 예시된 바와 같이, 가상 상점 툴(405)은 물리적 상점(100)에 위치된 물리적 랙(210a)과 연관된 이벤트의 표시를 수신할 수 있다. 특정 실시예들에서, 물리적 랙(210a)과 연관된 이벤트는 고객(105)이 물리적 랙(210a)과 상호작용하는 것을 포함할 수 있다. 예를 들어, 물리적 랙(210a)과 연관된 이벤트는 고객(105a)이 물리적 랙(210a)에 접근하는 것, 및/또는 물리적 랙(210a)으로부터 물리적 아이템(315f)을 선택하는 것을 포함할 수 있다. 이벤트의 표시는 가상 상점 툴(405)에 의해 수신된 임의의 적절한 표시를 포함할 수 있다. 예를 들어, 특정 실시예들에서, 이벤트의 표시는 고객(105)이 물리적 랙(210a)에 접근하고/하거나 물리적 랙(210a)과 상호작용하는 것을 보는 것에 응답하여, 사용자(120)가 가상 레이아웃(205)에서 가상 선반(230a)을 선택하는 것을 포함할 수 있다. 다른 예로서, 이벤트의 표시는 슬라이더 바(705) 상의 슬라이더(710)가 마커(715)에 도달하는 것을 포함할 수 있고, 여기서 마커(715)는, 메타데이터(740)를 통해, 이벤트와 연관된 물리적 랙(210)을 표시한다. 추가의 예로서, 특정 실시예들에서, 이벤트의 표시는, 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여, 고객(105)이 물리적 랙(210a)으로부터의 아이템(315)에 접근하였고/하였거나 이를 선택했다고 결정하도록 구성된 알고리즘(488)으로부터 정보를 수신하는 것을 포함할 수 있다.
디스플레이(410) 상에 표시된 그래픽 사용자 인터페이스(700)가 사용자(120)에 의해 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 모니터링하는데 이용될 수 있는 특정 실시예들에서, 가상 상점 툴(405)은, 카메라 피드 세그먼트들(415 및/또는 425)의 현재 재생 진행에 기반하여, 가상 레이아웃(205) 상에 고객(105)의 예측된 위치(950)를 표시할 수 있다. 예측된 위치(950)는, 카메라 피드 세그먼트들(415 및/또는 425)의 현재 재생 진행에 대응하는 물리적 시간에, 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여, 물리적 상점(100) 내의 고객들(105)을 추적하도록 구성된 알고리즘(488)에 의해 결정되는 바와 같이, 물리적 레이아웃(200) 내의 고객(105)의 가능성 있는 위치에 대응할 수 있다. 이것은 사용자(120)가 몇몇 다른 고객들(105)을 포함하여 물리적 상점 내의 특정 고객(105a)을 모니터링하는데 도움을 줄 수 있다. 도 9b에서는 가상 레이아웃(205) 상의 점(950)으로서 예시되어 있지만, 고객(105)의 예측된 위치는 가상 레이아웃(205) 상에 임의의 적절한 방식으로 제시될 수 있다. 예를 들어, 예측된 위치는 고객(105)의 예측된 경로를 포함하는 선일 수 있다. 이러한 실시예들에서, 이벤트의 표시는, 고객(105)이 물리적 랙(210a)에 접근하고/하거나 이와 상호작용하는 것을 보는 것 및/또는 물리적 랙(210a)에 대한 고객(105)의 근접성을 나타내는 가상 레이아웃(205) 상의 고객(105)의 예측된 위치(950)를 보는 것에 응답하여, 사용자(120)가 가상 레이아웃(205)에서 가상 선반(230a)을 선택하는 것을 포함할 수 있다.
이벤트의 표시를 수신하는 것에 응답하여, 가상 상점 툴(405)은 이벤트와 연관된 물리적 랙(210a)에 대응하는 가상 랙(230a)을 디스플레이(410)의 제3 영역(905)에 표시할 수 있고, 여기서 가상 랙(230a)은 물리적 랙(210a)을 에뮬레이팅하도록 구성된다. 특정 실시예들에서, 디스플레이(410)의 제3 영역(905)은 가상 레이아웃(205)의 우측에 위치될 수 있다. 특정 실시예들에서, 가상 상점 툴(405)은, 물리적 랙(210a)과 연관된 이벤트의 표시를 수신하는 것에 응답하여, 가상 레이아웃(205)에서 가상 랙(230a)을 추가로 강조할 수 있다. 가상 랙(230a)을 강조하는 것은 가상 랙(230a)을 다른 가상 랙들(230b 내지 230k)과 구별하는 임의의 방법을 포함할 수 있다. 예를 들어, 도 9b에 예시된 바와 같이, 가상 랙(230a)을 강조하는 것은 가상 랙(230a) 주위에 프레임을 배치하는 것을 포함할 수 있다. 가상 랙(230a)을 강조하는 것은 가상 랙(230a)에 컬러를 적용하는 것, 및/또는 가상 랙(230a)을 나머지 가상 랙들(230b 내지 230k)과 구별하는 임의의 다른 적절한 방법을 추가로 포함할 수 있다.
도 9b에 도시된 바와 같이, 디스플레이(410)의 제3 영역(905)에 표시된 가상 랙(230a)은 가상 아이템들(320a 내지 320h)의 세트를 포함한다. 가상 아이템들(320a 내지 320h)은 물리적 랙(210a) 상에 저장된 물리적 아이템들을 에뮬레이팅하도록 구성된다. 특정 실시예들에서, 가상 아이템들(320a 내지 320h)은 아이템들의 리스트로서 제3 영역(905)에 표시되고, 그 리스트 내의 아이템들의 명칭들은 물리적 랙(210a) 상에 저장된 물리적 아이템들(315a 내지 315h)의 명칭들에 대응한다. 다른 실시예들에서, 제3 영역(905)에 표시된 가상 랙(230a)의 외관은 물리적 랙(210a)의 외관을 에뮬레이팅하도록 구성된다. 예를 들어, 제1 가상 선반(310a)은 제1 물리적 선반(305a)을 에뮬레이팅하도록 구성되고, 제2 가상 선반(310b)은 제2 물리적 선반(305b)을 에뮬레이팅하도록 구성되고, 제3 가상 선반(310c)은 제3 물리적 선반(305c)을 에뮬레이팅하도록 구성된다. 특히, 제1 가상 아이템(320a)은 제1 물리적 선반(305a)의 제1 구역(325a)에서의 제1 물리적 아이템(315a)의 위치를 에뮬레이팅하기 위해 제1 가상 선반(310a)의 제1 구역(330a)에 위치된다. 유사하게, 제2 가상 아이템(320b)은 제1 물리적 선반(305a)의 제2 구역(325b)에서의 제2 물리적 아이템(315b)의 위치를 에뮬레이팅하기 위해 제1 가상 선반(310a)의 제2 구역(330b)에서 제1 가상 아이템(320a)의 우측에 위치되고, 제3 가상 아이템(320c)은 제1 물리적 선반(305a)의 제3 구역(325c)에서의 제3 물리적 아이템(315c)의 위치를 에뮬레이팅하기 위해 제1 가상 선반(310a)의 제3 구역(330c)에서 제2 가상 아이템(320b)의 우측에 위치된다. 가상 아이템들(320d 내지 320f)은 제2 물리적 선반(305b)에 위치된 물리적 아이템들(315d 내지 315f)의 위치들을 에뮬레이팅하기 위해 제2 가상 선반(310b) 상에 유사하게 위치되고, 가상 아이템들(320g 및 320h)은 제3 물리적 선반(305c)에 위치된 물리적 아이템들(315g 및 315h)의 위치들을 에뮬레이팅하기 위해 제3 가상 선반(310c) 상에 위치된다. 물리적 아이템들(315)을 추가로 에뮬레이팅하기 위해, 가상 아이템들(320) 각각은 대응하는 물리적 아이템(315)의 그래픽 표현을 포함할 수 있다.
디스플레이(410)의 영역(905)에 가상 랙(230a)을 표시하는 것에 추가로, 물리적 랙(210a)과 연관된 이벤트의 표시를 수신하는 것에 응답하여, 가상 상점 툴(405)은 또한, 도 9c에 예시된 바와 같이, 디스플레이(410)의 제4 영역(970)에 랙 카메라 세그먼트(425a)를 표시할 수 있다. 특정 실시예들에서, 디스플레이(410)의 제4 영역(970)은 제3 영역(905)의 우측에 있다. 랙 카메라 세그먼트(425a)는, 이벤트가 발생하는 시간 간격 동안, 물리적 랙(210a)을 묘사한다. 예를 들어, 이벤트가 고객(105)이 물리적 랙(210a)에 접근하는 것을 포함하는 실시예들에서, 랙 카메라 세그먼트(425a)는 고객(105)이 물리적 랙(210a)에 접근하는 것을 묘사한다. 다른 예로서, 이벤트가 고객(105)이 물리적 랙(210a)으로부터 아이템(315f)을 선택하는 것을 포함하는 실시예들에서, 랙 카메라 세그먼트(425a)는 고객(105)이 물리적 랙(210a)으로부터 아이템(315f)을 선택하는 것을 묘사한다.
랙 카메라 세그먼트(425a)는 카메라 피드 세그먼트들(415a 내지 415f)과 동기화되어, 슬라이더 바(705)의 사본들 중 임의의 사본 상에서의 슬라이더(710)의 조정이 랙 카메라 세그먼트(425a)의 재생 진행의 대응하는 조정으로 이어질 수 있다. 이벤트의 표시를 수신하는 것에 응답하여, 랙 카메라 세그먼트(425a)를 표시하는 것은, 고객(105)이 물리적 랙(210a)에 접근하고/하거나 물리적 랙(210a)과 상호작용하는 것을 사용자(120)가 관찰할 수 있게 하는 물리적 랙(210a)의 뷰를 사용자(120)에게 제공하기 위해 바람직할 수 있다. 예를 들어, 랙 카메라 세그먼트(425a)는 고객(105)이 물리적 랙(210a)으로부터 아이템(315)을 선택했는지를 사용자(120)가 보는 것을 도울 수 있다. 사용자(120)는 이어서, 도 9d의 논의에서 이하에 더 상세히 설명되는 바와 같이, 가상 카트(420)를 채우기 위해 이 정보를 이용할 수 있다. 특정 실시예들에서, 사용자(120)는, 사용자(120)에 의해 결정되는 바와 같이, 물리적 랙(210a)의 최상의 뷰를 표시하는 랙 카메라 세그먼트(425a)를 사용자(120)에게 제공하기 위해 물리적 랙(210)에 할당할 랙 카메라(495)를 선택할 수 있다. 가상 상점 툴(405)의 이 양태는 도 11 및 도 12의 논의에서 이하에 더 상세히 설명될 것이다.
b. 선택된 아이템을 식별하는 정보 수신
이벤트가 사람(105)이 물리적 선반(210a)으로부터 아이템을 선택하는 것을 포함하는 특정 실시예들에서, 이벤트의 표시는 사람(105)에 의해 선택된 아이템을 식별하는 정보를 포함할 수 있다. 예를 들어, 이벤트가 사람(105)이 물리적 랙(210a)으로부터 물리적 아이템(315f)을 선택하는 것을 포함하는 경우, 가상 상점 툴(405)에 의해 수신된 이벤트의 표시는 물리적 아이템(315f) 및/또는 가상 아이템(320f)을 식별하는 정보를 포함할 수 있다. 예로서, 특정 실시예들에서, 물리적 랙(210a)의 각각의 물리적 선반(305)은, 도 13b 내지 도 13d의 논의에서 후술되는 바와 같이, 물리적 선반(305)의 구역들(325)에 결합된 중량 센서들(1300)의 세트를 포함한다. 사람(105)이 물리적 선반(305)으로부터 아이템(315)을 제거할 때, 아이템(315)이 위치되는 물리적 선반(305)의 구역(325)에 결합된 중량 센서(1300)는 아이템(315)이 물리적 랙(210a)의 물리적 선반(305)으로부터 선택되었다는 것을 나타내는 정보를 가상 상점 툴(405)에 (직접, 또는 외부 시스템(485)과 같은 시스템(400)의 다른 구성요소들을 통해) 전송할 수 있다. 가상 상점 툴(405)은 이 정보를 이용하여 디스플레이(410)의 제3 영역(905)에 표시된, 가상 랙(230a) 상의 대응하는 가상 아이템(320)을 강조할 수 있다. 예를 들어, 물리적 랙(210a)의 제2 물리적 선반(305b)의 제3 구역에 결합된 중량 센서는 아이템(315f)이 물리적 랙(210a)의 제2 물리적 선반(305b)의 제3 구역으로부터 제거되었다는 것을 나타내는 정보를 가상 상점 툴(405)에 전송할 수 있다.
다른 예로서, 특정 실시예들에서, 이벤트의 표시는 슬라이더 바(705) 상의 슬라이더(710)가 마커(715)에 도달하는 것을 포함할 수 있다. 마커들(715)은 도 7c의 논의에서 전술한 바와 같이 메타데이터(740)를 포함할 수 있다. 메타데이터(740)는 고객(105)에 의해 선택된 물리적 아이템(315)에 할당된 식별 번호(745), 고객(105)이 물리적 아이템(315)을 선택한 물리적 선반(305)에 할당된 식별 번호(750), 및/또는 고객(105)이 물리적 아이템(315)을 선택한 물리적 선반(305)을 포함하는 물리적 랙(210)에 할당된 식별 번호(755)를 나타내는 정보를 포함할 수 있다. 예를 들어, 슬라이더 바(705) 상의 슬라이더(710)가 마커(715a)에 도달할 때, 가상 상점 툴(405)은 마커(715a)에 할당된 메타데이터(740)를 판독하여, 사람(105)이 물리적 랙(210a)의 제2 물리적 선반(305b)으로부터 물리적 아이템(315f)을 선택하였다는 것을 식별할 수 있다. 마커들(715)은 임의의 적절한 방식으로 슬라이더 바(705)에 추가될 수 있다. 예를 들어, 특정 실시예들에서, 가상 디스플레이 툴(405)은 물리적 상점(100) 내의 고객들(105)을 추적하고 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여 각각의 고객(105)에 의해 선택된 물리적 아이템들(315)을 결정하도록 구성된 알고리즘(488)으로부터 수신된 정보에 기반하여 슬라이더 바(705)에 마커들(715)을 추가한다.
물리적 아이템(315f)을 물리적 랙(210a)으로부터 사람(105)에 의해 선택된 물리적 아이템인 것으로 식별하는 정보를 수신하는 것에 응답하여, 가상 상점 툴(405)은 가상 랙(230a)의 제2 가상 선반(310b) 상에 위치된 제6 가상 아이템(320f)을 강조할 수 있다. 제6 가상 아이템(320f)을 강조하는 것은 제6 가상 아이템(320f)을 나머지 가상 아이템들(320)과 구별하는 임의의 방법을 포함할 수 있다. 예를 들어, 제6 가상 아이템(320f)을 강조하는 것은 도 9c에 도시된 바와 같이 제6 가상 아이템(320f) 주위에 프레임을 배치하는 것, 다른 가상 아이템들(320)에 비해 제6 가상 아이템(320f)을 확대하는 것, 및/또는 제6 가상 아이템(320f)을 나머지 가상 아이템들(320)과 구별하는 임의의 다른 적절한 방법을 포함할 수 있다.
c. 가상 카트를 채우는 것
특정 실시예들에서, 디스플레이(410) 상에 가상 상점 툴(405)에 의해 표시되는 그래픽 사용자 인터페이스(700)는, 도 9d에 예시된 바와 같이, 가상 쇼핑 카트(420)를 추가로 포함할 수 있다. 가상 쇼핑 카트(420)는, 그/그녀의 쇼핑 세션 동안 사람(105)에 의해 선택되는 물리적 아이템들(315)에 대응하는 가상 아이템들(320)을 저장함으로써, 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 추가로 에뮬레이팅하는데 이용될 수 있다. 가상 상점 툴(405)은 디스플레이(410)의 제5 영역(965)에 가상 쇼핑 카트(420)를 표시할 수 있다. 특정 실시예들에서, 디스플레이(410)의 제5 영역(965)은 디스플레이(410)의 제3 영역(905)에 표시되는 가상 랙(230b)과 랙 카메라 세그먼트(425a) 사이에 위치된다.
특정의 이러한 실시예들에서, 물리적 아이템(315f)을 물리적 랙(210a)으로부터 사람(105)에 의해 선택된 물리적 아이템인 것으로 식별하는 정보를 수신하는 것은 물리적 아이템(315f)에 대응하는 가상 아이템(320f)을 영역(905)에 표시된 가상 랙(230a)으로부터 가상 쇼핑 카트(420)로 드래그 앤 드롭하는 것과 연관된 정보를 수신하는 것을 포함할 수 있다. 예를 들어, 사용자(120)는 카메라 피드 세그먼트들(415a 내지 415f) 및/또는 랙 카메라 피드 세그먼트(425a) 상에서 고객(105)이 물리적 아이템(315f)을 선택하는 것을 관찰할 수 있다. 따라서, 사용자(120)는 가상 랙(230a)으로부터 가상 아이템(320f)을 선택할 수 있고, 여기서 가상 아이템(320f)은 물리적 아이템(315f)에 대응하고 물리적 아이템(315f)을 에뮬레이팅하도록 구성된다. 사용자(120)는 이어서 가상 아이템(320f)을 가상 쇼핑 카트(420)로 드래그하고 가상 아이템(320f)을 가상 쇼핑 카트(420)에 드롭할 수 있다. 사용자(120)가 카메라 피드 세그먼트들(415a 내지 415f) 및/또는 랙 카메라 피드 세그먼트(425a) 상에서 고객(105)이 물리적 아이템(315)을 선택하는 것을 관찰하는데 도움을 주기 위해, 특정 실시예들에서, 사용자(120)는, 카메라 피드 세그먼트들(415a 내지 415f) 및/또는 랙 카메라 피드 세그먼트(425a)를 선택함으로써, 표시된 카메라 피드 세그먼트들(415a 내지 415f) 및/또는 랙 카메라 피드 세그먼트(425a) 중 임의의 것을 다른 것들보다 더 크게 만들 수 있다. 예를 들어, 사용자(120)는 주어진 카메라 피드 세그먼트(415 또는 425)를 클릭하여, 가상 상점 툴(405)에게 디스플레이(410) 상에 제시되는 세그먼트의 크기를 증가시키라고 지시할 수 있다.
메타데이터(740), 물리적 선반(305b)에 결합된 중량 센서들(1300), 가상 아이템(320f)을 가상 쇼핑 카트(420) 내로 드래그 앤 드롭하는 것, 및/또는 물리적 아이템(315f)을 식별하는 정보를 수신하는 임의의 다른 적절한 방법을 통해, 물리적 아이템(315f)을 물리적 랙(210a)으로부터 사람(105)에 의해 선택된 물리적 아이템으로서 식별하는 정보를 수신하는 것에 응답하여, 가상 상점 툴(405)은 물리적 아이템(315f)에 대응하는 가상 아이템(320f)을 가상 쇼핑 카트(420)에 저장할 수 있다. 가상 쇼핑 카트(420)는 임의의 수의 가상 아이템들(320)을 저장할 수 있다. 예를 들어, 카메라 피드 세그먼트들(415 및 425)의 재생이 진행됨에 따라, 가상 상점 툴(405)은 물리적 랙(210)으로부터 사람(105)에 의해 선택되었던 것으로서 추가의 상이한 물리적 아이템(315)을 식별하는 추가의 정보를 수신할 수 있다. 물리적 랙(210)은 물리적 랙(210a)과 동일하거나 물리적 랙(210a)과 상이할 수 있다. 추가의 물리적 아이템(315)을 식별하는 정보를 수신하는 것에 응답하여, 가상 상점 툴(405)은 추가의 물리적 아이템(315)에 대응하는 추가의 가상 아이템(320)을 가상 쇼핑 카트(420)에 저장할 수 있다. 이 프로세스는 카메라 피드 세그먼트들(415 및 425)이 사람(105)이 물리적 랙(210)으로부터 물리적 아이템(315)을 선택했다는 것을 나타내는 횟수에 대응하는 횟수와 같은 임의의 횟수를 반복할 수 있다.
도 9d에 예시된 바와 같이, 특정 실시예들에서, 가상 쇼핑 카트(420)는 대응하는 물리적 아이템(315) 및/또는 대응하는 물리적 아이템(315)의 텍스트 설명(910)의 그래픽 표현으로서 각각의 가상 아이템(320)을 표시할 수 있다. 가상 쇼핑 카트(420)는 또한 가상 쇼핑 카트(420)에 포함된 각각의 가상 아이템(320f)의 양(915)을 표시할 수 있다. 예를 들어, 가상 쇼핑 카트(420)는 고객(105)이 물리적 랙(210a)으로부터 2개의 물리적 아이템(315f)을 선택했다는 사실을 에뮬레이팅하기 위해 2개의 가상 아이템(320f)의 양(915)을 표시할 수 있다. 각각의 가상 아이템(320)의 양(915)은 임의의 적절한 방식으로 증가될 수 있다. 예를 들어, 특정 실시예들에서, 가상 아이템(320f)의 양(915)은 영역(905)에 표시된 가상 랙(230a)으로부터 가상 쇼핑 카트(420)로 물리적 아이템(315f)에 대응하는 가상 아이템(320f)을 여러 번 드래그 앤 드롭함으로써 증가될 수 있다. 다른 예로서, 일부 실시예들에서, 가상 아이템(320f)의 양(915)은 추가 버튼(925)을 통해 그래픽 사용자 인터페이스(700)와 상호작용하는 사용자(120)에 의해 증가될 수 있다. 유사하게, 가상 아이템(320f)의 양(915)은 감산 버튼(925)을 통해 그래픽 사용자 인터페이스(700)와 상호작용하는 사용자(120)에 의해 감소될 수 있다. 사용자(120)는 또한 휴지통 버튼(930)을 통해 그래픽 사용자 인터페이스(700)와 상호작용함으로써 가상 쇼핑 카트(420)로부터 가상 아이템(320f)을 제거할 수 있다.
물리적 상점(100)에서의 고객(105)의 쇼핑 세션의 끝에서(즉, 가상 상점 툴(405)이 고객(105)이 물리적 상점(100)을 나갔다고 결정할 때), 가상 쇼핑 카트(420)는 그/그녀의 쇼핑 세션 동안 고객(105)에 의해 선택된 물리적 아이템들(315)에 대해 고객(105)에게 과금하고, 영수증을 고객(105)에게 전송하는데 이용될 수 있다. 부가적으로, 가상 쇼핑 카트(420)는 그/그녀의 쇼핑 세션 동안 고객(105)에 의해 선택된 물리적 아이템들(315)의, 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여, 알고리즘(488)에 의해 이루어진 결정을 검증하는데 이용될 수 있다. 가상 상점 툴(405)의 이러한 양태들은 도 13 내지 도 16의 논의에서 아래에 더 상세히 설명될 것이다.
d. 물리적 쇼핑 세션을 가상적으로 에뮬레이팅하기 위한 방법
도 10은 가상 상점 툴(405)이 쇼핑 세션을 캡처하고, 물리적 상점(100)으로부터 수신된 카메라 피드 세그먼트들(415 및/또는 425) 및 가상 레이아웃(205)을 이용하여, 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 에뮬레이팅하는 방식을 예시하는 흐름도를 나타낸다. 단계(1005)에서, 가상 상점 툴(405)은 가상 상점(110)의 가상 레이아웃(205)을 표시한다. 가상 레이아웃(205)은 물리적 상점(100)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된다. 특히, 가상 레이아웃(205) 상의 가상 랙들(230)의 배열은 물리적 상점(100) 내의 물리적 랙들(210)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된다.
단계(1010)에서, 가상 상점 툴(405)은 사람(105)이 물리적 상점(100)에서의 쇼핑 세션 동안, 물리적 상점(100)의 물리적 랙(210)과 상호작용하는 것과 연관된 이벤트의 표시를 툴이 수신했는지를 결정한다. 이 이벤트는 고객(105)이 물리적 랙(210)에 접근하는 것 및/또는 물리적 랙(210)으로부터 물리적 아이템(315)을 선택하는 것을 포함할 수 있다. 이벤트의 표시는 고객(105)이 물리적 랙(210)과 상호작용했다는 것을 표시하는 임의의 적절한 정보를 포함할 수 있다. 예를 들어, 특정 실시예들에서, 이벤트의 표시는 고객(105)의 쇼핑 세션을 캡처하고, 물리적 상점(100)에 위치된 레이아웃 카메라들(490)로부터 수신된 카메라 피드들(605)로부터 생성된 카메라 피드 세그먼트들(415)의 세트 상에서 고객(105)이 물리적 랙(210)으로부터의 물리적 아이템(315)에 접근하고/하거나 이를 선택하는 것을 보는 것에 응답하여, 사용자(120)가 가상 레이아웃(205)에서 가상 선반(230)을 선택하는 것을 포함할 수 있다. 다른 예로서, 특정 실시예들에서, 이벤트의 표시는 카메라 피드 세그먼트들(415)에 할당된 슬라이더 바(705) 상의 슬라이더(710)가 마커(715)에 도달하는 것을 포함할 수 있다. 마커(715)는 이벤트와 연관된 물리적 랙(210)을 표시하는 메타데이터(740)를 포함할 수 있다. 추가의 예로서, 이벤트의 표시는 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여, 고객(105)이 물리적 랙(210)으로부터의 아이템(315)에 접근하였고/하였거나 이를 선택했다고 결정하도록 구성된 알고리즘(488)으로부터 정보를 수신하는 것을 포함할 수 있다.
단계(1010)에서, 가상 상점 툴(405)이 사람(105)이 물리적 랙(210)과 상호작용하는 것과 연관된 이벤트의 표시를 수신하면, 단계(1015)에서, 가상 상점 툴(405)은 디스플레이(410)의 영역(905)에, 물리적 랙(210)에 대응하는(즉, 물리적 랙(210)을 에뮬레이팅하도록 구성된) 가상 랙(230)을 표시한다. 또한, 단계(1015)에서, 가상 상점 툴(405)은 물리적 랙(210)에 할당된 랙 카메라(495)로부터 수신된 랙 카메라 피드(620)로부터 생성된 랙 카메라 세그먼트(425)를 표시한다. 랙 카메라 세그먼트(425)는 이벤트가 발생하는 시간 간격 동안 물리적 랙(210)을 묘사한다.
단계(1020)에서, 가상 상점 툴(405)은 툴이 제1 가상 아이템(320)을 식별하는 정보를 수신했는지를 결정한다. 예로서, 특정 실시예들에서, 물리적 랙(210)의 각각의 물리적 선반(305)은 도 13b 내지 도 13d의 논의에서 후술되는 바와 같이 물리적 선반(305)의 구역들에 결합된 중량 센서들(1300)의 세트를 포함한다. 사람(105)이 물리적 선반(305)으로부터 아이템(315)을 제거할 때, 아이템(315)이 위치되는 물리적 선반(305)의 구역에 결합된 중량 센서(1300)는 아이템(315)이 물리적 랙(210a)의 물리적 선반(305)으로부터 선택되었다는 것을 나타내는 정보를 (직접, 또는 외부 시스템(485)과 같은 시스템(400)의 다른 구성요소들을 통해) 가상 상점 툴(405)에 전송할 수 있다. 다른 예로서, 특정 실시예들에서, 이벤트의 표시는 슬라이더 바(705) 상의 슬라이더(710)가 마커(715a 또는 715b)에 도달하는 것을 포함할 수 있다. 마커들(715a 및 715b)은 도 7c의 논의에서 전술한 바와 같이 메타데이터(740)를 포함할 수 있다. 메타데이터(740)는 고객(105)에 의해 선택된 물리적 아이템(315)에 할당된 식별 번호(745), 고객(105)이 물리적 아이템(315)을 선택한 물리적 선반(305)에 할당된 식별 번호(750), 및/또는 고객(105)이 물리적 아이템(315)을 선택한 물리적 선반(305)을 포함하는 물리적 랙(210)에 할당된 식별 번호(755)를 나타내는 정보를 포함할 수 있다. 따라서, 슬라이더 바(705) 상의 슬라이더(710)가 마커(715)에 도달할 때, 가상 상점 툴(405)은 사람(105)이 물리적 랙(210)의 물리적 선반(305)으로부터 물리적 아이템(315)을 선택했다는 것을 식별하기 위해, 마커(715)에 할당된 메타데이터(740)를 판독함으로써 물리적 아이템(315)을 식별하는 정보를 수신할 수 있다. 마커들(715)은 임의의 적절한 방식으로 슬라이더 바(705)에 추가될 수 있다. 예를 들어, 특정 실시예들에서, 가상 디스플레이 툴(405)은 물리적 상점(100) 내의 고객들(105)을 추적하고 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여 각각의 고객(105)에 의해 선택된 물리적 아이템들(315)을 결정하도록 구성된 알고리즘(488)으로부터 수신된 정보에 기반하여 마커들(715)을 슬라이더 바(705)에 추가한다. 추가의 예로서, 물리적 아이템(315)/가상 아이템(320)을 식별하는 정보를 수신하는 것은 물리적 아이템(315)을 에뮬레이팅하도록 구성된 가상 아이템(320)을 디스플레이(410)의 영역(905)에 표시된 가상 랙(230)으로부터 가상 쇼핑 카트(420)로 드래그 앤 드롭하는 것과 연관된 정보를 수신하는 것을 포함할 수 있다.
단계(1025)에서, 가상 상점 툴(405)이 툴이 제1 가상 아이템(320)/물리적 아이템(315)을 식별하는 정보를 수신했다고 결정하면, 단계(1030)에서, 가상 상점 툴(405)은 가상 쇼핑 카트(420)에 제1 가상 아이템(320)을 저장한다. 단계(1035)에서, 가상 상점 툴(405)은 고객(105)의 쇼핑 세션이 종료했는지(즉, 고객(105)이 물리적 상점(100)을 떠났는지)를 결정한다. 가상 상점 툴(405)은 임의의 적절한 방식으로 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 예로서, 특정 실시예들에서, 가상 상점 툴(405)은 사용자(120)로부터 수신된 입력에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 예를 들어, 카메라 피드 세그먼트들(415 및/또는 425)이 디스플레이(410) 상의 그래픽 사용자 인터페이스(700) 상에 표시되는 실시예들에서, 그래픽 사용자 인터페이스(700)는 사용자(120)가 카메라 피드 세그먼트들(415 및/또는 425) 중 하나 이상 상에서 고객(105)이 물리적 상점(100)을 빠져나가는 것을 그/그녀가 관찰했음을 표시할 수 있는 대화형 버튼(730)(예를 들어, 퇴장 고객 버튼)을 추가로 포함할 수 있다. 다른 예로서, 가상 상점 툴(405)은 물리적 상점(100) 내의 고객들(105)을 추적하도록 구성된 알고리즘(488)으로부터 수신된 정보에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 추가의 예로서, 가상 상점 툴(405)은 물리적 상점(100)으로부터 수신된 정보에 기반하여 고객(105)이 물리적 상점(100)을 떠났다고 결정할 수 있다. 예를 들어, 물리적 상점(100)은 물리적 상점(100)의 출구 근처에 위치된 턴스타일들(510)의 세트를 포함할 수 있다. 턴스타일(510)을 열고 물리적 상점(100)을 떠나기 위해, 고객(105)은 그/그녀가 물리적 상점(100)에 들어가기 위해 이용한 것과 동일한 QR 코드를 스캐닝하도록 요청받을 수 있다. QR 코드를 스캐닝하는 것은 이어서 고객(105)이 물리적 상점(100)을 빠져나왔다는 것을 나타내는 신호를 가상 상점 툴(405)에 전송할 수 있다. 특정 실시예들에서, 고객(105)이 물리적 상점(100)을 떠났다고 결정하는 것에 응답하여, 가상 상점 툴(105)은 고객(105)이 설정된 기간 내에 물리적 상점(105)에서의 그/그녀의 쇼핑 세션에 대한 영수증을 수신할 것으로 예상해야 한다는 것을 나타내는 통지를 고객(105)의 디바이스(125)에 전송한다.
단계(1035)에서, 가상 상점 툴(405)이 물리적 상점(100)에서의 고객(105)의 쇼핑 세션이 종료되지 않았다고 결정하면, 가상 상점 툴(405)은 단계(1010)로 복귀하여, 고객(105)이 물리적 랙들(210)로부터 임의의 추가적인 아이템들(315)을 선택했는지를 결정한다. 구체적으로, 가상 상점 툴(405)은 고객(105)이 다른 물리적 랙(210)과 상호작용하는 것과 연관된 이벤트의 표시를 툴이 수신했는지를 결정한다. 물리적 랙(210)은 가상 상점 툴(405)이 고객(105)이 상호작용했다고 이전에 결정한 물리적 랙과 동일하거나 상이한 물리적 랙일 수 있다. 이러한 방식으로, 가상 상점 툴(405)은 가상 카트(420)를 임의의 수의 가상 아이템들(320)로 채울 수 있다.
한편, 단계(1035)에서, 가상 상점 툴(405)이 쇼핑 세션이 종료되었다고 결정하면, 단계(1040)에서, 가상 상점 툴(405)은 가상 카트(420)에 저장된 가상 아이템들(320)에 기반하여, 쇼핑 세션 동안 고객(105)에 의해 선택된 아이템들(315)에 대해 고객(105)에게 과금하고, 영수증을 생성한다. 가상 상점 툴(405)이 영수증을 생성하는 방식은 도 14의 논의에서 아래에 더 상세히 설명된다. 고객(105)에게 과금하기 위해, 본 개시내용은 가상 상점 툴(405)이 고객(105)에 할당된 식별 번호(455)에 따라 고객(105)에 대한 지불 정보를 메모리(440)에 저장할 수 있는 것을 고려한다. 다음으로, 단계(1045)에서, 가상 상점 툴(405)은 영수증을 고객(105)에게 전송한다.
수정들, 추가들, 또는 생략들이 도 10에 도시된 방법(1000)에 대해 이루어질 수 있다. 방법(1000)은 더 많은, 더 적은, 또는 다른 단계들을 포함할 수 있다. 예를 들어, 단계들은 병렬로 또는 임의의 적절한 순서로 수행될 수 있다. 가상 상점 툴(405)(또는 그 구성요소들)이 이러한 단계들을 수행하는 것으로서 논의되지만, 예를 들어 디바이스(들)(115)와 같은 시스템(400)의 임의의 적절한 구성요소가 이 방법의 하나 이상의 단계를 수행할 수 있다.
V. 가상 레이아웃 생성
특정 실시예들에서, 가상 상점 툴(405)의 레이아웃 생성기(460)는 사용자(120)가 물리적 상점(100)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된 가상 레이아웃(205)을 생성할 수 있는 제2 그래픽 사용자 인터페이스(1100)를 표시하도록 구성된다. 도 11a 및 도 11b는 이러한 그래픽 사용자 인터페이스(1100)의 예시적인 실시예를 도시한다.
a. 물리적 랙들의 물리적 레이아웃을 에뮬레이팅하기 위해 가상 랙들을 가상 레이아웃 상에 배치하는 것
가상 상점 툴(405)의 레이아웃 생성기(460)는 물리적 상점(100)에 위치된 물리적 랙들(210)과 연관된 위치들 및 배향들의 세트를 수신하는 것에 응답하여, 물리적 상점의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된 가상 레이아웃(205)을 생성할 수 있다. 레이아웃 생성기(460)는 위치들 및 배향들의 세트를 임의의 적절한 방식으로 수신할 수 있다. 예를 들어, 가상 상점 툴(405)은, 사용자(120)가 그래픽 인터페이스(1100) 상에 가상 랙들(230)을 생성하고 이어서 가상 랙들(230)을 가상 레이아웃(205) 상의 주어진 위치들로 드래그 앤 드롭하고/하거나 가상 랙들(230)을 가상 레이아웃(205) 상의 주어진 배향들로 회전시킴으로써, 그래픽 인터페이스(1100)를 통해, 사용자(120)로부터 위치들 및 배향들을 수신할 수 있다. 다른 예로서, 레이아웃 생성기(460)는 가상 상점 툴(405)에 업로드된 파일로부터 위치들 및 배향들을 수신할 수 있다. 예를 들어, 사용자(120)는 그래픽 사용자 인터페이스(1100) 상의 "여기에 당신의 파일을 드롭(drop your file here)" 버튼(1150)을 이용하여 위치들 및 배향들을 포함하는 파일을 업로드할 수 있다. 파일은 위치들 및 각도들의 쌍들을 포함하는 리스트를 포함할 수 있다. 특정 실시예들에서, 각각의 위치는 물리적 상점(100) 내의 물리적 선반(210)의 질량 중심 위치를 지정할 수 있다. 일부 실시예들에서, 각각의 위치는 물리적 상점(100) 내의 물리적 선반(210)의 주어진 코너의 위치를 지정할 수 있다. 위치들은 물리적 레이아웃(200) 상에 겹쳐진 임의의 좌표계의 면에서 지정될 수 있다. 예를 들어, 각각의 위치는 물리적 상점(100)의 중간에 위치된 원점을 갖는 데카르트 좌표계의 (x,y) 좌표로서 지정될 수 있다. 특정 실시예들에서, 각각의 배향은 주어진 방향에 대한 물리적 선반(210)의 각도를 지정할 수 있다. 예를 들어, 각각의 배향은 이전 예의 데카르트 좌표계의 x-축에 대한 물리적 선반(210)의 각도를 지정할 수 있다. 특정 실시예들에서, 각각의 물리적 선반(210)에 대해, 파일은 물리적 선반(210)의 길이 및 폭을 추가로 포함할 수 있다.
위치들 및 배향들을 수신하는 것에 응답하여, 레이아웃 생성기(460)는 각각의 가상 랙(230)을 가상 레이아웃(205) 상의 가상 위치에 그리고 가상 배향으로 배치한다. 여기서, 가상 레이아웃(205) 상의 주어진 가상 랙(230)에 대한 가상 위치 및 가상 배향은 물리적 레이아웃(200)에서의 대응하는 물리적 랙(210)의 물리적 위치 및 물리적 배향을 나타낸다. 도 11a가 11개의 가상 랙(230)을 포함하는 예를 예시하지만, 본 개시내용은 가상 레이아웃(205)이 임의의 수의 가상 랙들(230)을 포함할 수 있다는 것을 고려한다. 특정 실시예들에서, 가상 상점 툴은 상점 식별 번호(1105)에 따라, 결과적인 가상 레이아웃(205)을 메모리(440)에 저장한다. 또한, 레이아웃 생성기(460)는 랙 식별 번호(755)에 따라 가상 레이아웃(205)의 각각의 가상 랙(230)을 메모리(440)에 저장할 수 있다.
가상 레이아웃 툴(405)은 또한 가상 레이아웃(205) 상의 가상 선반들(230) 중 임의의 것에 대한 새로운 위치 및/또는 배향을 수신하는 것에 응답하여 주어진 가상 레이아웃(205)을 수정할 수 있다. 가상 레이아웃(205)을 수정하는 것은 가상 레이아웃(205)에 의해 에뮬레이팅된 물리적 레이아웃(200)이 변경된 상황들에서 바람직할 수 있다. 레이아웃 생성기(460)는 가상 선반들(230)에 대한 새로운 위치들 및/또는 새로운 배향들을 임의의 적절한 방식으로 수신할 수 있다. 예를 들어, 레이아웃 생성기(460)는 파일로부터 새로운 위치들 및/또는 배향들을 판독할 수 있다. 파일은 가상 랙(230a)에 할당된 식별 번호(755a)를 이용하여 가상 랙(230a)에 대한 새로운 위치 및/또는 배향을 지정할 수 있다. 예를 들어, 각각의 가상 랙(230)에 대해, 파일은 가상 랙(230)에 할당된 식별 번호(755), 랙에 대한 새로운 위치의 데카르트 좌표들 (x,y), 및 랙에 대한 새로운 배향을 지정하는, x-축에 대해 측정된 각도를 포함할 수 있다. 다른 예로서, 레이아웃 생성기(460)는 그래픽 사용자 인터페이스(1100)로부터 수신된 입력에 기반하여 가상 랙(230)에 대한 새로운 위치 및/또는 배향을 수신할 수 있다. 예를 들어, 도 11a에 예시된 바와 같이, 레이아웃 생성기(460)는 가상 레이아웃(205) 상의 제1 위치로부터 가상 레이아웃(205) 상의 새로운 위치(1130)로의 가상 랙(230k)의 드래그를 나타내는 입력을 수신할 수 있다. 이러한 입력을 수신하는 것에 응답하여, 레이아웃 생성기(460)는 도 11b에 예시된 바와 같이 새로운 가상 위치(1130)에 가상 랙(230k)을 배치할 수 있다. 다른 예로서, 가상 상점 툴(205)은 제1 배향으로부터 새로운 배향으로의 가상 랙(230)의 회전을 나타내는 입력을 수신할 수 있다. 이러한 입력을 수신하는 것에 응답하여, 레이아웃 생성기(460)는 가상 랙(230)을 이 새로운 배향으로 가상 레이아웃(205) 상에 배치할 수 있다.
b. 물리적 랙들 상에 위치된 물리적 아이템들을 에뮬레이팅하기 위해 가상 랙들 상에 가상 아이템들을 배치하는 것
가상 레이아웃(205) 상에 가상 랙들(230)을 배치하는 것에 추가하여, 레이아웃 생성기(460)는 가상 아이템들(320)로 가상 랙들(230)을 채우도록 동작가능하다. 예를 들어, 레이아웃 생성기(460)는 물리적 상점(100) 내의 각각의 물리적 랙(210) 상에 배치될 물리적 아이템들(315)을 지정하는 플래노그램(planogram)을 수신할 수 있다. 예를 들어, 각각의 물리적 랙(210)에 대해, 플래노그램은 물리적 랙(210) 상에 배치될 물리적 아이템들(315)의 리스트를 포함할 수 있다. 각각의 물리적 아이템(315)에 대해, 리스트는 물리적 아이템(315)이 배치될 물리적 랙(210)의 선반(305)뿐만 아니라, 물리적 아이템(315)이 배치될 각각의 선반(305)의 구역(325)을 지정할 수 있다. 플래노그램을 수신하는 것에 응답하여, 레이아웃 생성기(460)는 대응하는 가상 아이템들(320)을 가상 랙들(230) 상에 배치할 수 있다. 다른 예로서, 레이아웃 생성기(460)는 각각의 가상 랙(230)에 대한 가상 아이템들(320)의 리스트를 수신할 수 있고, 리스트 내의 각각의 가상 아이템(320)은 물리적 아이템(315)과 연관된다. 이러한 리스트는 물리적 아이템(315)을 에뮬레이팅하는 각각의 가상 아이템(320)에 대한 상점 식별 번호(1105), 랙 식별 번호(755), 선반 식별 번호(750), 및/또는 구역 식별 번호(745)를 지정할 수 있다. 여기서, 상점 식별 번호(1105)는 물리적 아이템(315)을 저장하는 물리적 상점(100)을 식별하고, 랙 식별 번호(755)는 물리적 아이템(315)을 보유하는 물리적 상점(100) 내의 물리적 랙(210)을 식별하고, 선반 식별 번호(750)는 물리적 아이템(315)이 배치되는 물리적 랙(210)의 물리적 선반(305)을 식별하고, 구역 식별 번호(745)는 물리적 아이템(315)을 수용하는 물리적 선반(305)의 구역을 식별한다. 특정 실시예들에서, 구역 식별 번호(745)는 물리적 아이템(315)을 수용하는 물리적 선반(305)의 구역에 결합된 센서(498)의 센서 식별 번호에 대응할 수 있다. 레이아웃 생성기(460)는 그 후 상점 식별 번호(1105), 랙 식별 번호(755), 선반 식별 번호(750), 및 구역 식별 번호(745)에 따라 가상 아이템(320)을 메모리(440)에 저장할 수 있고, 여기서 레이아웃 생성기(460)는 상점 식별 번호(1105)를 가상 레이아웃(205)에, 랙 식별 번호(755)를 가상 랙(230)에, 선반 식별 번호(750)를 가상 선반(310)에, 그리고 구역 식별 번호(745)를 물리적 아이템(315)을 수용하는 물리적 선반(305)의 물리적 구역을 에뮬레이팅하도록 구성된 가상(310)의 가상 구역에 할당하였다. 물리적 선반들(305) 및 가상 선반들(310)의 구역들로의 분할은 도 13c 및 도 13d의 논의에서 아래에 더 상세히 설명된다.
다른 예로서, 레이아웃 생성기(460)는 아이템들의 스크롤가능한 리스트를 포함하는 드롭-다운-메뉴로부터 주어진 가상 랙(230) 상에 저장할 가상 아이템들(320)을 수신할 수 있다. 이러한 드롭-다운-메뉴(1135)의 예가 도 11b에 도시된다. 도 11a 및 도 11b에 도시된 바와 같이, 사용자(120)는 주어진 가상 선반(230)에 대한 드롭-다운-메뉴(1135)로부터 물리적 아이템 명칭(1130)을 선택할 수 있다. 이에 응답하여, 레이아웃 생성기(460)는 물리적 아이템 명칭(1130)을 갖는 물리적 아이템(315)과 연관된 가상 아이템(320)을 가상 선반(230)에 저장할 수 있다.
제2 그래픽 사용자 인터페이스(1100)는 또한 가상 레이아웃(205)에서 가상 랙들(230) 각각에 랙 카메라들(495)을 할당하는데 이용될 수 있다. 도 11a 및 도 11b에 예시된 바와 같이, 레이아웃 생성기(460)는 제2 그래픽 사용자 인터페이스(1100)를 통해 사용자(120)에게 랙 카메라 피드 세그먼트들(425a 내지 425f)의 세트를 제시할 수 있다. 각각의 랙 카메라 피드 세그먼트(425)는 물리적 상점(100)에 위치된 랙 카메라(495)로부터 수신된 랙 카메라 피드(620)로부터 생성된다. 특정 실시예들에서, 사용자(120)는 가상 랙(230)에 할당할 랙 카메라(495)를 선택할 수 있다. 사용자(120)는, 사용자(120)에 의해 결정되는 바와 같이, 랙 카메라 피드 세그먼트들(425a 내지 425f) 중 어느 것이 (가상 랙(230)에 의해 에뮬레이팅되는) 물리적 랙(210)의 최상의 뷰를 사용자(120)에게 제공하는지에 기반하여 주어진 랙 카메라(495)를 선택할 수 있다. 사용자(120)는 임의의 적절한 방식으로 랙 카메라(495)를 선택할 수 있다. 예로서, 특정 실시예들에서, 사용자(120)는 랙 카메라(495)에 의해 생성되고 제2 그래픽 사용자 인터페이스(1100) 상에 표시되는 랙 카메라 세그먼트(425)를 클릭함으로써 주어진 랙 카메라(495)를 가상 랙(230)에 할당할 수 있다. 예를 들어, 사용자(120)는 랙 카메라 세그먼트(425a)를 클릭하여, 랙 카메라 세그먼트(425a)를 생성한 랙 카메라(495a)를 가상 랙(230a)에 할당할 수 있다. 사용자(120)가 랙 카메라 세그먼트(425a)를 클릭하는 것에 응답하여, 레이아웃 생성기(460)는 랙 카메라(495a)에 할당된 랙 카메라 식별 번호(1125a)를 가상 랙(230a)과 연관시킬 수 있다.
제2 그래픽 사용자 인터페이스(1100)는 임의의 수의 가상 레이아웃들(205)을 생성하는데 이용될 수 있고, 레이아웃 생성기(460)는 상점 식별 번호들(1105)에 따라 메모리(440)에 저장할 수 있다. 가상 상점 툴(405)은 나중에 연관된 상점 식별 번호(1105)를 이용하여 주어진 가상 레이아웃(205)을 검색하고 가상 레이아웃(205)을 디스플레이(410) 상에 표시할 수 있다.
레이아웃 생성기(460)는 메모리(440)에 저장되고 프로세서(435)에 의해 실행되는 소프트웨어 모듈일 수 있다. 레이아웃 생성기(460)의 동작의 예는 다음과 같다: (1) 물리적 상점(100)에 위치된 물리적 랙들(210)과 연관된 위치들 및 배향들의 세트를 수신하는 것; (2) 각각의 수신된 위치 및 배향에 대해, 가상 랙(230)을 가상 레이아웃(205) 상에, 물리적 레이아웃(200)에서의 대응하는 물리적 랙(210)의 물리적 위치 및 물리적 배향을 나타내는 가상 위치에 그리고 가상 배향으로 배치하는 것; (3) 가상 랙(230)에 대한 새로운 위치와 연관된 입력이 수신되는 경우, 가상 랙(230)을 가상 레이아웃(205) 상의 새로운 위치에 배치하는 것; (4) 가상 랙(230)에 대한 새로운 배향과 연관된 입력이 수신되는 경우, 가상 랙(230)을 가상 레이아웃(205) 상에, 새로운 배향으로 배치하는 것; (5) 각각의 가상 랙(230)에 대해, 가상 아이템들(320)의 세트를 수신하고, 가상 아이템들(320)의 세트를 가상 랙(230) 상에 배치하는 것; (6) 각각의 가상 랙(230)에 대해, 랙 카메라(495)를 가상 랙에 할당하는 것.
c. 가상 레이아웃 생성 방법
도 12는 가상 상점 툴(405)이 물리적 상점(100)의 물리적 레이아웃(200)을 에뮬레이팅하도록 구성된 가상 레이아웃(205)을 생성할 수 있는 방식을 예시하는 흐름도를 나타낸다. 단계(1205)에서, 가상 상점 툴(405)은 가상 랙들(230)의 세트를 가상 레이아웃(205) 상의 가상 위치들에 그리고 가상 배향들로 배치하고, 여기서 가상 랙들(230)의 가상 위치들 및 가상 배향들은 물리적 상점(100) 내의 물리적 랙들(210)의 물리적 위치들 및 물리적 배향들을 에뮬레이팅하도록 선택된다. 가상 상점 툴(405)은 가상 위치들 및 가상 배향들을 임의의 적절한 방식으로 수신할 수 있다. 예를 들어, 가상 상점 툴(405)은 그래픽 사용자 인터페이스(1100)를 통해 사용자(120)로부터 위치들 및 배향들을 수신할 수 있다. 다른 예로서, 가상 상점 툴(405)은 가상 상점 툴(405)에 업로드된 파일로부터 위치들 및 배향들을 수신할 수 있다.
단계(1210)에서, 가상 상점 툴(405)은 가상 랙(230)의 새로운 가상 위치로의 드래그를 나타내는 입력이 수신되었는지를 결정한다. 단계(1210)에서, 가상 상점 툴(405)이 가상 랙(230)의 새로운 가상 위치로의 드래그를 나타내는 입력이 수신되었다고 결정하는 경우, 단계(1215)에서, 가상 상점 툴(405)은 가상 랙(230)을 새로운 가상 위치에 배치하고 단계(1220)로 진행한다. 한편, 단계(1210)에서, 가상 상점 툴(405)이 가상 랙(230)의 새로운 가상 위치로의 드래그를 나타내는 입력이 수신되었다고 결정하지 않는 경우, 가상 상점 툴(405)은 단순히 단계(1220)로 진행한다.
단계(1220)에서, 가상 상점 툴(405)은 초기 배향으로부터 새로운 배향으로의 가상 랙(230)의 회전을 나타내는 입력이 수신되었는지를 결정한다. 단계(1220)에서, 가상 상점 툴(405)이 초기 배향으로부터 새로운 배향으로의 가상 랙(230)의 회전을 나타내는 입력이 수신되었다고 결정하는 경우, 단계(1225)에서, 가상 상점 툴(405)은 가상 랙(230)의 배향을 초기 배향으로부터 새로운 배향으로 조정하고, 단계(1230)로 진행한다. 한편, 단계(1220)에서, 가상 상점 툴(405)이 초기 배향으로부터 새로운 배향으로의 가상 랙(230)의 회전을 나타내는 입력이 수신되지 않았다고 결정하는 경우, 가상 상점 툴(405)은 단계(1230)로 진행한다.
단계(1230)에서, 가상 상점 툴(405)은 가상 랙(230)에 할당된 가상 아이템들(320)의 세트를 각각의 가상 랙(230)에 대해 수신한다. 가상 상점 툴(405)은 가상 아이템들(320)의 세트들을 임의의 적절한 방식으로 수신할 수 있다. 예를 들어, 가상 상점 툴(405)은 물리적 상점(100) 내의 각각의 물리적 랙(210) 상에 배치될 물리적 아이템들(315)을 지정하는 플래노그램을 수신할 수 있다. 예를 들어, 각각의 물리적 랙(210)에 대해, 플래노그램은 물리적 랙 상에 배치될 물리적 아이템들(315)의 리스트를 포함할 수 있다. 각각의 물리적 아이템(315)에 대해, 리스트는 물리적 아이템(315)이 배치될 물리적 랙(210)의 선반(305)뿐만 아니라, 물리적 아이템(315)이 배치될 각각의 선반(305)의 구역(325)을 지정할 수 있다. 다른 예로서, 가상 상점 툴(405)은 디스플레이(410) 상에 표시된 드롭-다운-메뉴(1135)로부터 가상 아이템들(320)을 수신할 수 있다. 드롭-다운-메뉴(1135)는 사용자(120)가 각각의 가상 랙(230) 상에 배치될 하나 이상의 아이템을 선택할 수 있는 물리적 아이템들(315)의 리스트를 포함할 수 있다. 드롭-다운-메뉴(1135)는 임의의 수의 물리적 아이템들(315)의 스크롤가능한 리스트를 포함할 수 있다. 드롭-다운-메뉴(1135)로부터 물리적 아이템(315)의 선택을 수신하는 것에 응답하여, 가상 상점 툴(405)은 대응하는 가상 아이템(320)을 식별할 수 있다. 가상 상점 툴(405)이 가상 아이템들(320)의 세트들을 수신한 후에, 단계(1235)에서, 가상 상점 툴(405)은 대응하는 가상 랙(230) 상에 가상 아이템들(320)의 각각의 세트를 배치한다.
단계(1240)에서, 가상 상점 툴(405)은 각각의 가상 랙(230)에 랙 카메라(495)를 할당한다. 가상 상점 툴(405)은 임의의 적절한 방식으로 각각의 가상 랙(230)에 랙 카메라(495)를 할당할 수 있다. 예를 들어, 특정 실시예들에서, 사용자(120)는 가상 랙들(230)에 할당할 랙 카메라들(495)을 선택할 수 있다. 사용자(120)는, 사용자(120)에 의해 결정되는 바와 같이, 랙 카메라 피드 세그먼트들(425a 내지 425f) 중 어느 것이 대응하는 물리적 랙(210)의 최상의 뷰를 사용자(120)에게 제공하는지에 기반하여 가상 랙(230)에 대한 주어진 랙 카메라(495)를 선택할 수 있다. 단계(1245)에서, 가상 상점 툴(405)은 메모리(440)에 가상 레이아웃(205)을 저장한다. 특정 실시예들에서, 가상 상점 툴(405)은 상점 식별 번호(1105)에 따라 메모리(440)에 가상 레이아웃(205)을 저장할 수 있다.
수정들, 추가들, 또는 생략들이 도 12에 도시된 방법(1200)에 대해 이루어질 수 있다. 방법(1200)은 더 많은, 더 적은, 또는 다른 단계들을 포함할 수 있다. 예를 들어, 단계들은 병렬로 또는 임의의 적절한 순서로 수행될 수 있다. 가상 상점 툴(405)(또는 그 구성요소들)이 이러한 단계들을 수행하는 것으로서 논의되지만, 예를 들어 디바이스(들)(115)와 같은 시스템(400)의 임의의 적절한 구성요소가 이 방법의 하나 이상의 단계를 수행할 수 있다.
VI. 물리적 상점에서 고객들을 추적하도록 구성된 외부 알고리즘과 함께 이용
가상 상점 툴(405)은 외부 시스템(485)에 의해 생성되고, 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여, 고객들(105)을 추적하고 물리적 상점(100)에서의 고객(105a)의 쇼핑 세션 동안 주어진 고객(105a)에 의해 선택된 아이템들(315)을 결정하도록 구성된 알고리즘(488)과 함께 이용될 수 있다. 예를 들어, 가상 상점 툴(405)은 알고리즘(488)에 의해 이루어진 결정들을 검증하고/하거나 알고리즘(488)의 정확도를 개선하는 것을 돕는데 이용될 수 있다. 도 13 내지 도 16은 가상 상점 툴(405)의 이 양태를 설명하는데 이용된다.
a. 알고리즘 입력 센서들
전술한 바와 같이, 외부 알고리즘(488)은 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여, 고객들(105)을 추적하고 물리적 상점(100)에서의 쇼핑 세션 동안 고객(105)에 의해 선택된 아이템들을 결정하도록 구성된다. 본 개시내용은 물리적 상점(100)이 임의의 유형의 적절한 센서들(498)을 포함할 수 있다는 것을 고려한다. 예를 들어, 물리적 상점(100)은 물리적 상점(100)에서 고객(105)을 추적하고 고객(105)이 물리적 상점(100)으로부터 하나 이상의 아이템을 선택하는 것과 연관된 정보를 검출하도록 동작가능한 카메라들, 광 검출 및 범위 센서들, 밀리미터파 센서들, 중량 센서들, 및/또는 임의의 다른 적절한 센서들을 포함할 수 있다.
도 13a 내지 도 13d는 물리적 상점(100)이 센서들(498)용의 중량 센서들(1300) 및 카메라들(1305) 둘 다를 포함하는 실시예의 예들을 나타낸다. 본 개시내용은 외부 시스템(485)이, 어느 고객들(105)이 물리적 상점(100)에 위치된 물리적 디스플레이 랙들(210)로부터 어느 아이템들을 제거했는지를 결정하기 위해, 알고리즘(488)을 이용하여, 카메라들(1305)로부터 수신된 위치 정보 및 중량 센서들(1300)로부터 수신된 중량 정보를 처리할 수 있는 것을 고려한다. 이러한 방식으로, 외부 시스템(485)은, 물리적 상점(100)에서의 쇼핑 세션 동안, 알고리즘(488)에 의해 고객(105)에 의해 선택되었던 것으로 결정된 아이템들의 알고리즘 쇼핑 카트를 생성할 수 있다.
도 13a에서 알 수 있는 바와 같이, 물리적 상점(100)의 내부는 상점(100)의 천장에 배치된 카메라들(1305)의 어레이를 포함할 수 있다. 특정 실시예들에서, 이 카메라들(1305)의 어레이는 레이아웃 카메라들(490) 및/또는 랙 카메라들(495)을 포함할 수 있다. 다른 실시예들에서, 카메라들(1305)의 어레이는 레이아웃 카메라들(490) 및 랙 카메라들(495)과 별개이다. 일반적으로, 카메라들(1305)의 어레이는 물리적 상점(100)의 내부의 부분들의 비디오들을 생성한다. 이러한 비디오들은 공간 내의 고객들(105)의 프레임들 또는 이미지들을 포함할 수 있다. 외부 시스템(485)은 카메라들(1305)의 어레이로부터의 이러한 프레임들을 처리하여 프레임들 내의 고객들(105)을 검출한다.
도 13a에 예시된 바와 같이, 카메라들(1305)의 어레이는 물리적 상점(100)의 천장에 걸쳐 격자무늬 패턴으로 배열된 카메라들(1305)을 포함할 수 있다. 본 개시내용이 50개의 카메라(1305)를 포함하는 카메라들(1305)의 어레이를 나타내고 있지만, 카메라들(1305)의 어레이는 임의의 적절한 수의 카메라들(1305)을 포함할 수 있다. 일반적으로, 카메라들(1305)의 어레이 내의 카메라들(1305)은 직사각형 어레이를 형성하도록 배열된다. 도 13a의 예에서, 카메라들(1305)의 어레이는 카메라들(1305)의 5 x 10 어레이(예컨대, 카메라들(1305)의 5개의 행 및 10개의 열)이다. 카메라들(1305)의 어레이는 임의의 적절한 치수들의 어레이로 배열될 수 있다.
각각의 카메라(1305)는 외부 시스템(485)에 통신가능하게 결합되고 캡처된 비디오를 외부 시스템(485)에 전달한다. 카메라들(1305)은 임의의 적절한 방식으로 외부 시스템(485)에 통신가능하게 결합된다. 예를 들어, 카메라들(1305)은 외부 시스템(485)의 구성요소들에 하드와이어링될 수 있다. 다른 예로서, 카메라들(1305)은 임의의 적절한 무선 프로토콜(예를 들어, WiFi)을 이용하여 외부 시스템(485)에 무선으로 결합될 수 있다.
카메라들(1305)은 물리적 상점(100)의 내부 공간의 비디오들을 캡처하기 위한 임의의 적절한 디바이스들일 수 있다. 예를 들어, 카메라들(1305)은 공간의 2차원 비디오(예컨대, x-y 평면)를 캡처할 수 있고 또한 비디오에서 사람들 및/또는 물체들의 높이들을 검출할 수 있는 3차원 카메라들일 수 있다. 다른 예로서, 카메라들(1305)은 공간의 2차원 비디오들을 캡처하는 2차원 카메라들일 수 있다. 카메라들(1305)의 어레이는 상이한 유형들의 카메라들(1305)의 혼합을 포함할 수 있다.
도 13b는 선반(305) 상에 위치된 아이템들(315)의 중량을 검출하기 위해 물리적 상점(100)의 물리적 랙(210)의 선반(305)에 결합될 수 있는 예시적인 중량 센서(1300)를 나타낸다. 중량 센서(1300)는 이어서 이 정보를 외부 시스템(485)으로 전달할 수 있다. 외부 시스템(485)은 아이템들(315)이 물리적 랙(210)으로부터 제거되는지 그리고 언제 제거되는지를 결정하기 위해 중량 센서들(1300)에 의해 검출된 중량들을 추적한다.
도 13b에서 알 수 있는 바와 같이, 중량 센서(1300)는 플레이트들(1315a 및 1315b), 로드 셀들(1310a, 1310b, 1310c 및 1310d) 및 와이어들(1320a, 1320b, 1320c, 1320d 및 1325)을 포함한다. 일반적으로, 중량 센서(1300)의 구성요소들은 중량 센서(1300)가 중량 센서(1300) 위에 또는 근처에 위치된 아이템들(315)의 중량을 검출할 수 있도록 조립된다.
플레이트들(1315)은 아이템들(315)의 중량을 표면들에 걸쳐 분산시키는 표면들을 형성한다. 플레이트들(1315)은, 예를 들어, 금속 및/또는 플라스틱과 같은 임의의 적절한 재료로 제조될 수 있다. 아이템들(315)은 플레이트들(1315) 위에 또는 그 부근에 배치될 수 있고, 이들 아이템들(315)의 중량은 플레이트들(1315)에 걸쳐 분산될 수 있다.
로드 셀들(1310)은 플레이트들(1315a 및 1315b) 사이에 위치된다. 로드 셀들(1310)은 로드 셀들(1310)이 느끼는 중량에 기반하여 전기 신호들을 생성한다. 예를 들어, 로드 셀들(1310)은 입력 기계적 힘(예를 들어, 중량, 장력, 압축, 압력, 또는 토크)을 출력 전기 신호(예를 들어, 전류 또는 전압)로 변환하는 변환기들일 수 있다. 입력 힘이 증가함에 따라, 출력 전기 신호는 비례하여 증가할 수 있다. 로드 셀들(1310)은 임의의 적절한 유형의 로드 셀(예를 들어, 유압, 공압, 및 변형 게이지)일 수 있다. 로드 셀들(1310)은 형상이 원통형인 것으로 도시되지만, 이들은 고려되는 특정 구현에 적합한 임의의 적절한 크기 및 형상일 수 있다.
로드 셀들(1310)로부터의 신호들은 중량 센서(1300) 위에 또는 그 부근에 위치된 아이템들(315)의 전체 중량을 결정하기 위해 분석될 수 있다. 로드 셀들(1310)은 중량 센서(1300) 위에 또는 그 부근에 위치된 아이템들(315)의 중량이 각각의 로드 셀(1310)에 균등하게 분산되도록 위치될 수 있다. 도 13b의 예에서, 로드 셀들(1310)은 플레이트들(1315a 및 1315b)의 코너들로부터 실질적으로 등거리에 위치된다. 예를 들어, 로드 셀(1310a)은 플레이트들(1315a 및 1315b)의 코너로부터 거리(d1)에 위치된다. 로드 셀(1310b)은 플레이트들(1315a 및 1315b)의 코너로부터 거리(d2)에 위치된다. 로드 셀(1310c)은 플레이트들(1315a 및 1315b)의 코너로부터 거리(d3)에 위치된다. 로드 셀(1310d)은 플레이트들(1315a 및 1315b)의 코너로부터 거리(d4)에 위치된다. 거리들(d1, d2, d3 및 d4)은 서로 실질적으로 동일할 수 있다. 본 개시내용은 5 내지 10 밀리미터만큼 상이하고 여전히 서로 실질적으로 동일한 것으로 여겨지는 거리들을 고려한다. 로드 셀들(1310)을 플레이트들(1315a 및 1315b)의 코너들로부터 실질적으로 동일한 거리들에 위치시킴으로써, 중량 센서(1300) 위에 또는 그 부근에 위치된 아이템들의 중량은 로드 셀들(1310)에 걸쳐 균등하게 분산된다. 그 결과, 중량 센서(1300) 위에 또는 그 부근에 위치된 아이템들의 총 중량은 개별 로드 셀들(1310)이 느끼는 중량들을 합산함으로써 결정될 수 있다.
로드 셀들(1310)은 로드 셀들(1310)이 느끼는 중량을 나타내는 전기 신호들을 통신한다. 예를 들어, 로드 셀들(1310)은 로드 셀들(1310)이 느끼는 중량 또는 힘에 따라 변하는 전류를 생성할 수 있다. 각각의 로드 셀(1310)은 전기 신호를 운반하는 와이어(1320)에 결합된다. 도 13b의 예에서, 로드 셀(1310a)은 와이어(1320a)에 결합되고; 로드 셀(1310b)은 와이어(1320b)에 결합되고; 로드 셀(1310c)은 와이어(1320c)에 결합되고; 로드 셀(1310d)은 와이어(1320d)에 결합된다. 와이어들(1320)은 함께 그룹화되어 중량 센서(1300)로부터 멀리 연장되는 와이어(1325)를 형성한다. 와이어(1325)는 로드 셀들(1310)에 의해 생성된 전기 신호들을, 이러한 신호들을 외부 시스템(485)에 전달하는 회로 보드에 운반한다.
특정 실시예들에서, 도 13c에 나타내는 바와 같이, 복수의 중량 센서(1300)가 물리적 랙(210)의 주어진 물리적 선반(305)에 결합될 수 있다. 예를 들어, 도 13c에 나타내는 예에서, 물리적 선반(305)은 4개의 중량 센서(1300)를 포함한다. 물리적 선반(305) 내의 중량 센서들(1300)의 위치들은 물리적 선반(305)의 구역들의 세트를 정의할 수 있다. 예를 들어, 제1 중량 센서(1300a)는 제1 구역(325a)을 정의할 수 있고, 제2 중량 센서(1300b)는 제2 구역(325b)을 정의할 수 있고, 제3 중량 센서(1300c)는 제3 구역(325c)을 정의할 수 있고, 제4 중량 센서(1300d)는 제4 구역(325d)을 정의할 수 있다. 특정 실시예들에서, 각각의 구역(325)은 상이한 물리적 아이템(315)과 연관되어, 각각의 중량 센서(1300)가 물리적 선반(305)으로부터의 특정 아이템(315)의 제거와 연관된 중량 변화들을 검출하도록 구성될 수 있다. 가상 선반들(310)은, 각각의 가상 구역(330)이 주어진 가상 아이템(320)과 연관되는, 구역들(330a 내지 330d)의 세트에서 유사하게 분할되어 물리적 선반들(305)의 구역들(325a 내지 325d)을 에뮬레이팅할 수 있다. 이러한 방식으로, 물리적 선반(305)의 제1 물리적 구역(325a)에 저장된 물리적 아이템(315a)의 제거를 나타내는 신호가 중량 센서(1300a)로부터 수신될 때, 이 신호는, 제1 물리적 구역(325a)과 제1 가상 구역(330a) 사이의 대응관계에 기반하여, 제1 가상 구역(330a)에 저장된 가상 아이템(320a)을 식별하는데 이용될 수 있다.
b. 가상 쇼핑 카트와 알고리즘 쇼핑 카트 간의 비교
특정 실시예들에서, 가상 상점 툴(405)은, 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들(498)에 기반하여, 물리적 상점(100) 내의 고객들(105)을 추적하고 물리적 상점(100)에서의 쇼핑 세션 동안 고객(105)에 의해 선택된 물리적 아이템들(315)을 결정하도록 훈련된 알고리즘(488)과 함께 이용될 수 있다. 도 13a 내지 도 13d의 논의에서 전술한 바와 같이, 센서들(498)은 카메라들(1305) 및 중량 센서들(1300)을 포함할 수 있다.
알고리즘(488)은 임의의 적절한 방식으로, 물리적 상점(100)에서 고객들(105)에 의해 선택된 아이템들(315)을 결정하도록 프로그래밍될 수 있다. 예를 들어, 알고리즘(488)은 카메라들(1305)의 어레이로부터 외부 시스템(485)에 의해 수신된 비디오 프레임들을 처리하여, 프레임들에서 검출된 고객들(105)에 대한 좌표들을 결정할 수 있다. 알고리즘(488)은 그 후 프레임들이 수신된 때에 기반하여 이러한 좌표들을 타임스탬핑할 수 있다. 좌표들 및 타임스탬프들에 기반하여, 알고리즘(488)은 물리적 상점(100) 내의 고객들(105)의 위치들을 결정할 수 있다. 알고리즘(488)은 또한 중량 센서들(1300)로부터 외부 시스템(485)에 의해 수신된 신호들을 처리하여, 아이템들(315)이 물리적 선반들(305)로부터 제거된 때를 결정할 수 있다. 물리적 상점(100) 내의 고객들(105)의 위치들, 및 아이템들(315)이 물리적 선반들(305)로부터 제거된 때의 결정들을 이용하여, 알고리즘(488)은 어느 고객들(105)이 어느 아이템들(315)을 가져 갔는지를 결정할 수 있다.
알고리즘(488)과 함께 가상 상점 툴(105)의 이용의 예로서, 가상 상점 툴(405)은 물리적 상점(100)에서의 쇼핑 세션 동안 고객(105)에 의해 선택되었던 것으로 알고리즘(488)에 의해 결정된 물리적 아이템들(315)과 쇼핑 세션 동안 고객(105)에 의해 선택되었던 것으로 가상 상점 툴(405)에 의해 결정된 가상 아이템들(320) 사이의 불일치들을 해결하는데 이용될 수 있다. 고객(105)에 의해 선택되었던 것으로 알고리즘(488)에 의해 결정된 물리적 아이템들(315)과 고객(105)에 의해 선택되었던 것으로 가상 상점 툴(405)에 의해 결정된 가상 아이템들(320) 사이에 불일치들이 존재할 때, 가상 상점 툴(405)에 의해 이루어진 결정은 또한 알고리즘(488)의 미래의 정확도를 개선하는데 이용될 수 있다. 도 14 내지 도 16은 가상 상점 툴(405)의 이러한 양태들을 설명하는데 이용된다.
도 14는 가상 상점 툴(405)의 레졸루션 구성요소(475)를 도시한다. 레졸루션 구성요소(475)는 가상 쇼핑 카트(420)를 알고리즘 쇼핑 카트(1420)와 비교하도록 구성된다. 본 개시내용은 가상 상점 툴(405)이 외부 시스템(485)으로부터 알고리즘 쇼핑 카트(1420)를 수신할 수 있는 것을 고려한다. 알고리즘 쇼핑 카트(1420)는 물리적 상점(100)에 위치된 센서들(498)(카메라들(1305) 및 중량 센서들(1300)을 포함함)로부터 수신된 입력들에 기반하여, 고객(105)에 의해 선택되었던 것으로 알고리즘(488)에 의해 결정된 물리적 아이템들(315)을 포함할 수 있다. 예를 들어, 알고리즘 쇼핑 카트는 제1 물리적 아이템(315l), 제2 물리적 아이템(315m), 및 제3 물리적 아이템(315n)을 포함할 수 있다. 물리적 아이템들(315l 내지 3135n) 각각은 주어진 구매 가격과 연관된다. 예를 들어, 제1 물리적 아이템(315l)은 제1 물리적 가격(1440)과 연관되고, 제2 물리적 아이템(315m)은 제2 물리적 가격(1450)과 연관되고, 제3 물리적 아이템(315n)은 제3 물리적 가격(1460)과 연관된다. 도 14에는 3개의 물리적 아이템(315)을 포함하는 것으로서 예시되어 있지만, 본 개시내용은 알고리즘 쇼핑 카트(1420)가 임의의 수의 물리적 아이템들(315)을 포함할 수 있는 것을 고려한다. 가상 쇼핑 카트(420)는 제1 가상 아이템(320i), 제2 가상 아이템(320j), 및 제3 가상 아이템(320k)을 포함하고, 그 각각은 물리적 상점(100)에서의 쇼핑 세션 동안 고객(105)에 의해 선택되었던 것으로 가상 상점 툴(405)에 의해 결정된다. 가상 아이템들(320i 내지 320k) 각각은 주어진 구매 가격과 연관된다. 예를 들어, 제1 가상 아이템(320i)은 제1 가상 가격(1410)과 연관되고, 제2 가상 아이템(320j)은 제2 가상 가격(1420)과 연관되고, 제3 가상 아이템(320k)은 제3 가상 가격(1425)과 연관된다. 도 14에는 3개의 가상 아이템(320)을 포함하는 것으로서 예시되어 있지만, 본 개시내용은 가상 쇼핑 카트(420)가 임의의 수의 가상 아이템들(320)을 포함할 수 있는 것을 고려한다. 또한, 가상 쇼핑 카트(420)는 알고리즘 쇼핑 카트(1420)와 동일한 수의 아이템들을 포함할 필요가 없다.
레졸루션 구성요소(475)는 가상 쇼핑 카트(420)의 콘텐츠와 알고리즘 쇼핑 카트(1420)의 콘텐츠 간의 비교(1430)를 수행하여 2개의 카트 사이에 임의의 불일치들(1435)이 존재하는지를 결정하도록 구성된다. 레졸루션 구성요소(475)는 (1) 2개의 카트가 서로 일치한다고; 또는 (2) 2개의 카트가 서로 불일치한다고 결정할 수 있다. 특정 실시예들에서, 2개의 카트가 서로 불일치한다고 결정하는 것에 응답하여, 레졸루션 구성요소(475)는 (1) 가상 카트(420)가 에러를 포함하기 때문에 2개의 카트가 서로 불일치한다고; 또는 (2) 알고리즘 카트(1420)가 에러를 포함하기 때문에 2개의 카트가 서로 불일치한다고 결정할 수 있다.
2개의 카트가 서로 일치한다고 결정하는 것은 가상 쇼핑 카트(420)에 존재하는 제1 가상 아이템(320i)이 알고리즘 쇼핑 카트(1420)에 존재하는 제1 물리적 아이템(315l)을 에뮬레이팅하도록 구성되고, 가상 쇼핑 카트(420)에 존재하는 제2 가상 아이템(320j)이 알고리즘 쇼핑 카트(1420)에 존재하는 제2 물리적 아이템(315m)을 에뮬레이팅하도록 구성되고, 가상 쇼핑 카트(420)에 존재하는 제3 가상 아이템(320k)이 알고리즘 쇼핑 카트(1420)에 존재하는 제3 물리적 아이템(315n)을 에뮬레이팅하도록 구성된다고 결정하는 것을 포함할 수 있다. 한편, 2개의 카트가 서로 불일치한다고 결정하는 것은 (1) 가상 쇼핑 카트(420)가 알고리즘 쇼핑 카트(1420)가 물리적 아이템들(315)을 포함하는 것보다 더 많은 가상 아이템들(320)을 포함한다고 결정하는 것; (2) 가상 쇼핑 카트(420)가 알고리즘 쇼핑 카트(1420)가 물리적 아이템들(315)을 포함하는 것보다 더 적은 가상 아이템들(320)을 포함한다고 결정하는 것; (3) 가상 쇼핑 카트(420)에 존재하는 가상 아이템(320)이 알고리즘 쇼핑 카트(1420)에 존재하지 않는 물리적 아이템(315)을 에뮬레이팅하도록 구성된다고 결정하는 것; 또는 (4) 가상 쇼핑 카트(420)에 존재하는 어떠한 가상 아이템(320)도 알고리즘 쇼핑 카트(1420)에 존재하는 물리적 아이템(315)을 에뮬레이팅하도록 구성되지 않는다고 결정하는 것을 포함할 수 있다.
본 개시내용은, 레졸루션 구성요소(475)가 2개의 카트 중 하나가 에러를 포함하기 때문에 2개의 카트가 서로 불일치한다고 결정할 수 있는 실시예들에서, 레졸루션 구성요소(475)가 임의의 적절한 방식으로 2개의 카트 중 하나가 에러를 포함한다고 결정할 수 있는 것을 고려한다. 예로서, 특정 실시예들에서, 레졸루션 구성요소(475)는 가상 쇼핑 카트(420)와 알고리즘 쇼핑 카트(1420) 사이에 불일치가 존재할 때마다 알고리즘 쇼핑 카트(1420)가 에러를 포함한다고 항상 결정할 수 있다. 다른 예로서, 레졸루션 구성요소(475)는 가상 카트(420)와 알고리즘 카트(1420) 사이에 존재하는 불일치(1435)의 유형에 기반하여, 카트들 중 하나가 에러를 포함한다고 결정할 수 있다. 예를 들어, 레졸루션 구성요소(475)는 2개의 카트 사이의 불일치(1435)가 2개의 카트 사이의 특정 아이템의 상이한 양들의 결과일 때 가상 쇼핑 카트(420)가 에러를 포함한다고 결정하도록 구성될 수 있다. 예를 들어, 가상 카트(420)는 제1 물리적 아이템(315l)을 에뮬레이팅하도록 구성된 제1 가상 아이템(320i)의 하나의 인스턴스를 포함할 수 있는 반면, 알고리즘 쇼핑 카트(1420)는 제1 물리적 아이템(315l)의 2개의 인스턴스를 포함할 수 있다. 이러한 상황들에서, 알고리즘 쇼핑 카트(1420)가 부정확한 양의 제1 물리적 아이템(315l)을 포함하는 것보다, 가상 쇼핑 카트(420)가 부정확한 양의 제1 가상 아이템(320i)을 포함할 가능성이 더 클 수 있는데, 그 이유는 고객(105)이 주어진 물리적 선반(305)으로부터 하나보다 많은 물리적 아이템(315l)을 선택했다는 것을 카메라 피드 세그먼트들(415 및/또는 425)로부터 알아내는 것이 어려울 수 있기 때문이다. 한편, 물리적 상점(100) 내의 중량 센서들(1300)로부터 수신된 정보는 하나보다 많은 물리적 아이템(315l)이 물리적 선반(305)으로부터 선택되었다는 것을 더 정확하게 표시할 수 있다. 2개의 카트 사이의 특정 아이템의 상이한 양들을 포함하지 않는 불일치들(1435)에 대해, 레졸루션 구성요소(475)는 알고리즘 쇼핑 카트(1420)가 에러를 포함한다고 디폴트로서 결정하도록 구성될 수 있다.
다른 예로서, 레졸루션 구성요소(475)는 사용자(120)로부터 수신된 입력에 기반하여 가상 쇼핑 카트(420) 또는 알고리즘 쇼핑 카트(1420) 중 어느 하나가 에러를 포함한다고 결정하도록 구성될 수 있다. 예를 들어, 가상 쇼핑 카트(420)와 알고리즘 쇼핑 카트(1420) 사이에 불일치(1435)가 존재한다고 결정하는 것에 응답하여, 레졸루션 구성요소(475)는 사용자(120)에게 불일치(1435)를 알리는 메시지를 디바이스(115)에 전송할 수 있다. 사용자(120)는 그 후 가상 쇼핑 카트(420)가 에러를 포함하는 것, 또는 알고리즘 쇼핑 카트(1420)가 에러를 포함하는 것을 나타내는 응답을 가상 상점 툴(405)에 전송할 수 있다. 사용자(120)는 임의의 적절한 방식으로, 가상 쇼핑 카트(420)와 알고리즘 쇼핑 카트(1420) 중 하나가 에러를 포함한다고 결정할 수 있다. 예로서, 사용자(120)는 카메라 피드 세그먼트들(415 및/또는 425)을 검토하여 가상 쇼핑 카트(420)의 콘텐츠를 확인하거나 가상 쇼핑 카트(420)가 에러를 포함한다고 결정할 수 있다. 예를 들어, 불일치가 알고리즘 쇼핑 카트(1420)로부터의 물리적 아이템(315)의 부재를 포함하고, 대응하는 가상 아이템(320)이 가상 쇼핑 카트(420)에 존재하는 경우, 사용자(120)는 카메라 피드 세그먼트들(415 및/또는 425)을 검토하여, 고객(105)이 물리적 랙(210)으로부터 물리적 아이템(315)을 선택하는 것을 카메라 피드 세그먼트들이 캡처하는 것을 확인할 수 있다. 다른 예로서, 불일치가 알고리즘 쇼핑 카트(1420) 내의 물리적 아이템(315)의 존재를 포함하고, 대응하는 가상 아이템(320)이 가상 쇼핑 카트(420)에 없는 경우, 사용자(120)는 카메라 피드 세그먼트들(415 및/또는 425)을 검토하여, (1) 고객(105)이 물리적 랙(210)으로부터 물리적 아이템(315)을 선택하는 것을 사용자(120)가 관찰한 적이 없다는 것을 확인하거나; 또는 (2) 사용자(120)가 카메라 피드 세그먼트들(415 및/또는 425)에서 고객(105)이 물리적 랙(210)으로부터 물리적 아이템(315)을 선택하는 것을 보는 동안, 고객(105)이 물리적 아이템(315)을 내려 놓고 아이템(315)을 갖고 물리적 상점(100)을 떠나는 것을 사용자(120)가 후속하여 보는 것을 확인할 수 있다.
레졸루션 구성요소(475)는 또한 고객(105)에 대한 영수증(1465)을 생성하도록 구성된다. 특정 실시예들에서, 레졸루션 구성요소(475)는 가상 쇼핑 카트(420)의 콘텐츠에 기반하여 영수증(1465)을 생성한다. 예를 들어, 레졸루션 구성요소(475)는 비교(1430)를 수행하기 전에 가상 쇼핑 카트(420)의 콘텐츠에 기반하여 영수증(1465)을 생성할 수 있다. 다른 실시예들에서, 레졸루션 구성요소(475)는 비교(1430)에 기반하여 영수증(1465)을 생성할 수 있다. 예를 들어, 레졸루션 구성요소(475)가 가상 쇼핑 카트(420)가 알고리즘 쇼핑 카트(1420)와 일치한다고 결정하면, 레졸루션 구성요소(475)는 고객(105)에 대한 영수증(1465a)을 생성할 수 있다. 영수증(1465a)은 제1 가상 가격(1410), 제2 가상 가격(1420), 및 제3 가상 가격(1425)으로부터 결정된 바와 같은, 제1 가상 아이템(320i), 제2 가상 아이템(320j), 및 제3 가상 아이템(320k)의 총 비용(1475)을 포함할 수 있다. 여기서, 가상 카트(420)가 알고리즘 쇼핑 카트(1420)와 일치하기 때문에, 제1 가상 아이템(320i), 제2 가상 아이템(320j), 및 제3 가상 아이템(320k)의 총 비용(1475)을 결정하는 것은 제1 물리적 아이템(315l), 제2 물리적 아이템(315m), 및 제3 물리적 아이템(315n)의 총 비용을 결정하는 것과 동등하다. 다른 예로서, 레졸루션 구성요소(475)가 가상 쇼핑 카트(420)가 에러를 포함한다고 결정하는 경우, 레졸루션 구성요소(475)는 고객(105)에 대한 영수증(1465b)을 생성할 수 있다. 영수증(1465b)은 제1 물리적 가격(1440), 제2 물리적 가격(1450), 및 제3 물리적 가격(1460)으로부터 결정된 바와 같은, 제1 물리적 아이템(315l), 제2 물리적 아이템(315m), 및 제3 물리적 아이템(315n)의 총 비용(1480)을 포함할 수 있다. 추가의 예로서, 레졸루션 구성요소(475)가 알고리즘 쇼핑 카트(1420)가 에러를 포함한다고 결정하는 경우, 레졸루션 구성요소(475)는 고객(105)에 대한 영수증(1465c)을 생성할 수 있다. 영수증(1465c)은 제1 가상 가격(1410), 제2 가상 가격(1420), 및 제3 가상 가격(1425)으로부터 결정된 바와 같은, 제1 가상 아이템(320i), 제2 가상 아이템(320j), 및 제3 가상 아이템(320k)의 총 비용(1475)을 포함할 수 있다. 레졸루션 구성요소(475)가 고객(105)에 대한 영수증(1465)을 생성하였으면, 레졸루션 구성요소(475)는 영수증(1465)에 기반하여 고객(105)에게 과금하고/하거나 고객(105)에 속하는 디바이스(125)에 영수증(1465)을 전송할 수 있다.
레졸루션 구성요소(475)는 메모리(440)에 저장되고 프로세서(435)에 의해 실행되는 소프트웨어 모듈일 수 있다. 레졸루션 구성요소(475)의 동작의 예는 다음과 같다: (1) 가상 쇼핑 카트(420) 및 알고리즘 쇼핑 카트(1420)를 수신하는 것; (2) 가상 쇼핑 카트(420) 내의 가상 아이템들(320)의 수가 알고리즘 쇼핑 카트(1420) 내의 물리적 아이템들(315)의 수와 동일한지를 결정하는 것; (3) 가상 쇼핑 카트(420) 내의 가상 아이템들(320)의 수가 알고리즘 쇼핑 카트(1420) 내의 물리적 아이템들(315)의 수와 상이한 경우, 2개의 카트를 불일치로서 라벨링하는 것; (4) 가상 쇼핑 카트(420) 내의 가상 아이템들(320)의 수가 알고리즘 쇼핑 카트(1420) 내의 물리적 아이템들(315)의 수와 동일한 경우, 알고리즘 쇼핑 카트(1420)가 대응하는 물리적 아이템(315)을 포함하지 않는 임의의 가상 아이템들(320)을 가상 쇼핑 카트(420)가 포함하는지를 결정하는 것; (5) 알고리즘 쇼핑 카트(1420)가 대응하는 물리적 아이템(315)을 포함하지 않는 임의의 가상 아이템들(320)을 가상 쇼핑 카트(420)가 포함하는 경우, 2개의 카트를 불일치로서 라벨링하는 것; (6) 알고리즘 쇼핑 카트(1420)가 대응하는 물리적 아이템(315)을 포함하지 않는 임의의 가상 아이템들(320)을 가상 쇼핑 카트(420)가 포함하지 않는 경우, 2개의 카트를 일치로서 라벨링하는 것; (7) 2개의 카트가 일치로서 라벨링되는 경우, 영수증(1465a)을 생성하는 것; (8) 2개의 카트가 불일치로서 라벨링되는 경우, 가상 카트(420)가 에러를 포함하는지를 결정하는 것; (9) 가상 카트(420)가 에러를 포함하는 경우, 영수증(1465b)을 생성하는 것; (10) 가상 카트(420)가 에러를 포함하지 않는 경우, 영수증(1465c)을 생성하는 것.
c. 알고리즘 피드백
특정 실시예들에서, 가상 상점 툴(405)은 알고리즘(488)과 함께 이용되어 알고리즘(488)에 의해 이루어진 결정들의 정확도를 향상시킬 수 있다. 구체적으로, 기계 학습 모듈(480)은 가상 쇼핑 카트(420)의 콘텐츠와 알고리즘 쇼핑 카트(1420)의 콘텐츠의 비교에 기반하여 알고리즘(488)에 피드백을 제공할 수 있다. 도 15는 기계 학습 모듈(480)의 동작을 나타낸다.
도 15에 나타내는 바와 같이, 특정 실시예들에서, 기계 학습 모듈(480)은 알고리즘 쇼핑 카트(1420)와 가상 쇼핑 카트(420)를 수신한다. 기계 학습 모듈(480)은 이어서, 가상 쇼핑 카트(420)의 콘텐츠와 알고리즘 쇼핑 카트(1420)의 콘텐츠의 비교(1430)를 수행하여, 2개의 카트 사이에 불일치(1435)가 존재하는지를 결정할 수 있다. 특정의 다른 실시예들에서, 기계 학습 모듈(480)은, 가상 쇼핑 카트(420)와 알고리즘 쇼핑 카트(1420) 사이에 불일치(1435)가 존재한다는 표시를 레졸루션 구성요소(475)로부터 직접 수신할 수 있다.
불일치(1435)는 가상 쇼핑 카트(420)와 알고리즘 쇼핑 카트(1420) 사이의 임의의 불일치를 포함할 수 있다. 예를 들어, 불일치(1435)는 알고리즘 쇼핑 카트(1420)로부터의 물리적 아이템(315a)의 부재를 포함할 수 있고, 여기서 대응하는 가상 아이템(320a)이 가상 쇼핑 카트(420)에 존재한다. 이러한 불일치는 물리적 아이템(315a)이 배치되는 물리적 선반(305)에 결합된 중량 센서(1300)가 물리적 선반(305)으로부터의 물리적 아이템(315a)의 선택을 검출하지 못할 때 발생할 수 있다. 다른 예로서, 불일치(1435)는 알고리즘 쇼핑 카트(1420) 내의 물리적 아이템(315b)의 존재를 포함할 수 있고, 여기서 대응하는 가상 아이템(320b)이 가상 쇼핑 카트(420)에 없다. 이러한 불일치는 알고리즘(488)이, 물리적 랙(210)으로부터 물리적 아이템(315b)을 초기에 선택했던 고객(105)이 아이템(315b)을 내려 놓고 아이템(315b)을 갖고 물리적 상점(100)을 떠나지 않았음을 검출하지 못할 때 발생할 수 있다. 추가의 예로서, 불일치(1435)는 제1 고객(105a)에 의해 선택된 제1 아이템(315a)이 제1 고객(105a)에 할당된 알고리즘 쇼핑 카트(1420)에 없고 제2 고객(105b)에 할당된 알고리즘 쇼핑 카트(1420)에 존재하는 식으로 제1 고객(105a)과 제2 고객(105b) 사이의 식별 스왑을 포함할 수 있다. 이러한 식별 스왑은 알고리즘(488)의 고객 추적 구성요소에서 발생할 수 있다.
알고리즘 쇼핑 카트(1420)와 가상 쇼핑 카트(420) 사이에 불일치가 존재한다고 결정하는 것에 응답하여, 기계 학습 모듈(480)은 (카메라들(1305) 및 중량 센서들(1300)을 포함하는) 센서들(498)에 의해 수신되고 불일치와 연관된 입력들의 서브세트(1500)를 결정할 수 있다. 예로서, 기계 학습 모듈(480)은 불일치(1435)가 발생한 카메라 피드 세그먼트들(415 및/또는 425)의 타임스탬프 범위를 결정할 수 있다. 예를 들어, 기계 학습 모듈(480)은, 카메라 피드 세그먼트들(415 및/또는 425)의 제1 타임스탬프와 제2 타임스탬프 사이에 캡처된 고객(105)의 쇼핑 세션의 일부분에 기반하여, 가상 아이템(320a)이 가상 쇼핑 카트(420)에 추가되었지만, 대응하는 물리적 아이템(315a)이 알고리즘 쇼핑 카트(1420)에 추가되지 않았다고 결정할 수 있다. 그 결과, 기계 학습 모듈(480)은 동일한 시간 간격(즉, 제1 타임스탬프와 제2 타임스탬프 사이에 발생하는 시간 간격) 동안 센서들(498)로부터 수신된 입력들의 서브세트(1500)를 결정할 수 있다. 서브세트(1500)는 카메라들(1305)로부터 수신된 입력들의 서브세트(1505) 및/또는 중량 센서들(1300)로부터 수신된 입력들의 서브세트(1510)를 포함할 수 있다.
불일치(1435)와 연관된 서브세트(1500)를 식별하는 것에 응답하여, 기계 학습 모듈(480)은 메타데이터(1540)를 서브세트(1500)에 첨부할 수 있다. 본 개시내용은 메타데이터(1540)가 불일치(1435)를 설명 및/또는 어드레싱하는 임의의 정보를 포함할 수 있는 것을 고려한다. 예를 들어, 메타데이터(1540)를 서브세트(1500)에 첨부하는 것은, 알고리즘(488)에 의해 원래 결정된 바와 같이, 프레임들이 고객(105b)이 아이템을 선택하는 것이 아니라, 고객(105a)이 아이템(315)을 선택하는 것을 나타낸다는 것을 표시하는 라벨을 카메라들(1305)로부터 수신된 하나 이상의 프레임에 첨부하는 것을 포함할 수 있다. 메타데이터(1540)를 서브세트(1500)에 첨부하는 것에 응답하여, 외부 시스템(485)은 서브세트(1500)를 이용하여 알고리즘(488)을 재훈련시킬 수 있다. 특정 실시예들에서, 알고리즘(488)을 재훈련시키는 것은 알고리즘(488)의 정확도를 향상시킬 수 있다.
기계 학습 모듈(480)은 메모리(440)에 저장되고 프로세서(435)에 의해 실행되는 소프트웨어 모듈일 수 있다. 기계 학습 모듈(480)의 동작의 예는 다음과 같다: (1) 알고리즘 쇼핑 카트(1420)를 수신하는 것; (2) 가상 쇼핑 카트(420)를 수신하는 것; (3) 가상 쇼핑 카트(420)의 콘텐츠를 알고리즘 쇼핑 카트(1420)의 콘텐츠와 비교하는 것; (4) 가상 쇼핑 카트(420)와 알고리즘 쇼핑 카트(1420) 사이에 불일치(1435)가 존재한다고 결정하는 것; (5) (카메라들(1305) 및 중량 센서들(1300)을 포함하는) 센서들(498)로부터 수신된 입력들의 서브세트(1500)를 결정하는 것; (6) 메타데이터(1540)를 서브세트(1500)에 첨부하여, 외부 시스템(485)이 서브세트(1500)를 이용하여 알고리즘(488)을 재훈련시킬 수 있게 하는 것.
도 16은 가상 상점 툴(405)이 가상 쇼핑 카트(420)를 이용하여 알고리즘(488)에 피드백을 제공할 수 있는 방식을 예시하는 흐름도를 나타낸다. 단계(1605)에서, 레졸루션 구성요소(475)는 알고리즘 쇼핑 카트(1420)를 수신한다. 알고리즘 쇼핑 카트(1420)는, 물리적 상점(100)에 위치된 센서들(498)로부터 수신된 입력들에 기반하여, 물리적 상점(100)에서의 쇼핑 세션 동안 고객(105)에 의해 선택되었던 것으로 알고리즘(488)에 의해 결정된 물리적 아이템들(315)의 세트를 포함한다. 단계(1610)에서, 레졸루션 구성요소(475)는 가상 쇼핑 카트(420)를 수신한다. 가상 쇼핑 카트(420)는 가상 아이템들(320)의 세트를 포함한다. 특정 실시예들에서, 가상 아이템들(320)은, 물리적 상점(100)에서의 고객(105)의 쇼핑 세션을 캡처하는 카메라 피드 세그먼트들(415 및/또는 425)에 기반하여, 물리적 상점(100)에서의 쇼핑 세션 동안 고객(105)에 의해 선택되었던 것으로 사용자(120)에 의해 결정되었다.
단계(1615)에서, 레졸루션 구성요소(475)는 알고리즘 쇼핑 카트(1420)의 콘텐츠를 가상 쇼핑 카트(420)의 콘텐츠와 비교한다. 단계(1620)에서, 레졸루션 구성요소(475)는 알고리즘 쇼핑 카트(1420)와 가상 쇼핑 카트(420) 사이에 불일치(1435)가 존재하는지를 결정한다. 단계(1620)에서, 레졸루션 구성요소(475)가 알고리즘 쇼핑 카트(1420)와 가상 쇼핑 카트(420) 사이에 불일치(1435)가 존재하지 않는다고 결정하면, 단계(1640)에서, 레졸루션 구성요소(475)는 가상 쇼핑 카트(420)의 콘텐츠에 기반하여 쇼핑 세션에 대한 영수증(1465)을 생성하고, 영수증(1465)을 고객(105)의 디바이스(125)에 전송한다. 단계(1620)에서, 레졸루션 구성요소(475)가 알고리즘 쇼핑 카트(1420)와 가상 쇼핑 카트(420) 사이에 불일치(1435)가 존재한다고 결정하면, 단계(1625)에서, 기계 학습 모듈(480)은 불일치와 연관된 센서들(498)로부터 수신된 입력들의 세트의 서브세트(1500)를 결정한다. 단계(1630)에서, 기계 학습 모듈(480)은 메타데이터(1540)를 서브세트(1500)에 첨부한다. 메타데이터(1540)는 불일치(1435)를 설명할 수 있다. 단계(1635)에서, 외부 시스템(485)은 서브세트(1500)를 이용하여 알고리즘(488)을 재훈련시킬 수 있다. 또한, 단계(1640)에서, 레졸루션 구성요소(475)는 가상 쇼핑 카트(420)의 콘텐츠에 기반하여 쇼핑 세션에 대한 영수증(1465)을 생성하고, 영수증(1465)을 고객(105)의 디바이스(125)에 전송한다.
수정들, 추가들, 또는 생략들이 도 16에 도시된 방법(1600)에 대해 이루어질 수 있다. 방법(1600)은 더 많은, 더 적은, 또는 다른 단계들을 포함할 수 있다. 예를 들어, 단계들은 병렬로 또는 임의의 적절한 순서로 수행될 수 있다. 가상 상점 툴(405)(또는 그 구성요소들)이 이러한 단계들을 수행하는 것으로서 논의되지만, 예를 들어 디바이스(들)(115)와 같은 시스템(400)의 임의의 적절한 구성요소가 이 방법의 하나 이상의 단계를 수행할 수 있다.
본 개시내용이 몇몇 실시예들을 포함하지만, 무수히 많은 변화들, 변형들, 변경들, 변환들, 및 수정들이 본 기술분야의 통상의 기술자에게 제안될 수 있고, 본 개시내용은 첨부된 청구항들의 범위 내에 있는 것으로서 이러한 변화들, 변형들, 변경들, 변환들, 및 수정들을 포함하는 것으로 의도된다.
조항들:
1. 장치로서,
하드웨어 프로세서를 포함하며, 하드웨어 프로세서는,
아이템들의 제1 세트를 포함하는 알고리즘 쇼핑 카트를 수신하고 - 아이템들의 제1 세트는, 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반하여, 물리적 상점에서의 쇼핑 세션 동안 제1 사람에 의해 선택되었던 것으로 알고리즘에 의해 결정됨 -;
쇼핑 세션과 연관된 아이템들의 제2 세트를 포함하는 가상 쇼핑 카트를 수신하고 - 쇼핑 세션의 비디오는 물리적 상점에 위치된 카메라들의 세트에 의해 캡처되었고, 비디오는 사람이 아이템들의 제2 세트를 선택하는 것을 묘사함 -;
알고리즘 쇼핑 카트를 가상 쇼핑 카트와 비교하고;
알고리즘 쇼핑 카트를 가상 쇼핑 카트와 비교하는 것에 응답하여,
알고리즘 쇼핑 카트와 가상 쇼핑 카트 사이에 불일치가 존재한다고 결정하고;
불일치와 연관된 입력들의 세트의 서브세트를 결정하고;
메타데이터를 서브세트에 첨부하고 - 메타데이터는 불일치를 설명함 -;
서브세트를 이용하여 알고리즘을 훈련시키도록 구성되는, 장치.
2. 조항 1에 있어서, 프로세서는,
아이템들의 제3 세트를 포함하는 제2 알고리즘 쇼핑 카트를 수신하고 - 아이템들의 제3 세트는, 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 제2 세트에 기반하여, 물리적 상점에서의 제2 쇼핑 세션 동안 제2 사람에 의해 선택되었던 것으로 알고리즘에 의해 결정됨 -;
아이템들의 제4 세트를 포함하는 제2 가상 쇼핑 카트를 수신하고 - 아이템들의 제4 세트는 제2 쇼핑 세션의 비디오에 기반하여, 물리적 상점에서의 제2 쇼핑 세션 동안 사람에 의해 선택되었던 것으로 결정됨 -;
제2 알고리즘 쇼핑 카트를 제2 가상 쇼핑 카트와 비교하고;
제2 알고리즘 쇼핑 카트를 제2 가상 쇼핑 카트와 비교하는 것에 응답하여, 제2 알고리즘 쇼핑 카트가 제2 가상 쇼핑 카트와 일치하는 것으로 결정하도록 추가로 구성되는, 장치.
3. 조항 1에 있어서, 불일치는 알고리즘 쇼핑 카트로부터의 제1 아이템의 부재를 포함하고, 제1 아이템은 가상 쇼핑 카트 내에 존재하는, 장치.
4. 조항 3에 있어서, 센서들은 제1 아이템의 선택을 검출하지 못한, 장치.
5. 조항 1에 있어서, 불일치는 알고리즘 쇼핑 카트 내의 제1 아이템의 존재를 포함하고, 제1 아이템은 가상 쇼핑 카트에는 없는, 장치.
6. 조항 1에 있어서, 불일치는 제1 사람에 의해 선택된 제1 아이템이 알고리즘 쇼핑 카트에 없고 제2 사람과 연관된 제2 알고리즘 쇼핑 카트에 존재하는 식으로 제1 사람과 제2 사람 사이의 식별 스왑을 포함하는, 장치.
7. 조항 1에 있어서, 센서들은,
카메라들의 세트와 상이한 알고리즘 카메라들의 어레이; 및
중량 센서들의 세트
를 포함하며, 아이템들의 제1 세트의 각각의 아이템은 중량 센서들의 세트 중의 중량 센서에 결합되는, 장치.
8. 방법으로서,
아이템들의 제1 세트를 포함하는 알고리즘 쇼핑 카트를 수신하는 단계 - 아이템들의 제1 세트는, 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반하여, 물리적 상점에서의 쇼핑 세션 동안 제1 사람에 의해 선택되었던 것으로 알고리즘에 의해 결정됨 -;
쇼핑 세션과 연관된 아이템들의 제2 세트를 포함하는 가상 쇼핑 카트를 수신하는 단계 - 쇼핑 세션의 비디오는 물리적 상점에 위치된 카메라들의 세트에 의해 캡처되었고, 비디오는 사람이 아이템들의 제2 세트를 선택하는 것을 묘사함 -;
알고리즘 쇼핑 카트를 가상 쇼핑 카트와 비교하는 단계;
알고리즘 쇼핑 카트를 가상 쇼핑 카트와 비교하는 것에 응답하여,
알고리즘 쇼핑 카트와 가상 쇼핑 카트 사이에 불일치가 존재한다고 결정하는 단계;
불일치와 연관된 입력들의 세트의 서브세트를 결정하는 단계;
메타데이터를 서브세트에 첨부하는 단계 - 메타데이터는 불일치를 설명함 -; 및
서브세트를 이용하여 알고리즘을 훈련시키는 단계
를 포함하는, 방법.
9. 조항 8에 있어서,
아이템들의 제3 세트를 포함하는 제2 알고리즘 쇼핑 카트를 수신하는 단계 - 아이템들의 제3 세트는, 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 제2 세트에 기반하여, 물리적 상점에서의 제2 쇼핑 세션 동안 제2 사람에 의해 선택되었던 것으로 알고리즘에 의해 결정됨 -;
아이템들의 제4 세트를 포함하는 제2 가상 쇼핑 카트를 수신하는 단계 - 아이템들의 제4 세트는 제2 쇼핑 세션의 비디오에 기반하여, 물리적 상점에서의 제2 쇼핑 세션 동안 사람에 의해 선택되었던 것으로 결정됨 -;
제2 알고리즘 쇼핑 카트를 제2 가상 쇼핑 카트와 비교하는 단계; 및
제2 알고리즘 쇼핑 카트를 제2 가상 쇼핑 카트와 비교하는 것에 응답하여, 제2 알고리즘 쇼핑 카트가 제2 가상 쇼핑 카트와 일치한다고 결정하는 단계
를 더 포함하는, 방법.
10. 조항 8에 있어서, 불일치는 알고리즘 쇼핑 카트로부터의 제1 아이템의 부재를 포함하고, 제1 아이템은 가상 쇼핑 카트 내에 존재하는, 방법.
11. 조항 10에 있어서, 센서들은 제1 아이템의 선택을 검출하지 못한, 방법.
12. 조항 8에 있어서, 불일치는 알고리즘 쇼핑 카트 내의 제1 아이템의 존재를 포함하고, 제1 아이템은 가상 쇼핑 카트에는 없는, 방법.
13. 조항 8에 있어서, 불일치는 제1 사람에 의해 선택된 제1 아이템이 알고리즘 쇼핑 카트에 없고 제2 사람과 연관된 제2 알고리즘 쇼핑 카트에 존재하는 식으로 제1 사람과 제2 사람 사이의 식별 스왑을 포함하는, 방법.
14. 조항 8에 있어서, 센서들은,
카메라들의 세트와 상이한 알고리즘 카메라들의 어레이; 및
중량 센서들의 세트
를 포함하며, 아이템들의 제1 세트의 각각의 아이템은 중량 센서들의 세트 중의 중량 센서에 결합되는, 방법.
15. 시스템으로서,
물리적 상점 내에 위치된 센서들의 세트 - 센서들의 세트는 알고리즘 카메라들의 어레이, 및 중량 센서들의 세트를 포함함 -; 및
프로세서
를 포함하며, 프로세서는,
아이템들의 제1 세트를 포함하는 알고리즘 쇼핑 카트를 수신하고 - 아이템들의 제1 세트는, 센서들의 세트로부터 수신된 입력들의 세트에 기반하여, 물리적 상점에서의 쇼핑 세션 동안 제1 사람에 의해 선택되었던 것으로 알고리즘에 의해 결정됨 -;
쇼핑 세션과 연관된 아이템들의 제2 세트를 포함하는 가상 쇼핑 카트를 수신하고 - 쇼핑 세션의 비디오는 물리적 상점에 위치된 카메라들의 세트에 의해 캡처되었고, 카메라들의 세트는 알고리즘 카메라들의 어레이와 상이하고, 비디오는 사람이 아이템들의 제2 세트를 선택하는 것을 묘사함 -;
알고리즘 쇼핑 카트를 가상 쇼핑 카트와 비교하고;
알고리즘 쇼핑 카트를 가상 쇼핑 카트와 비교하는 것에 응답하여,
알고리즘 쇼핑 카트와 가상 쇼핑 카트 사이에 불일치가 존재한다고 결정하고;
불일치와 연관된 입력들의 세트의 서브세트를 결정하고;
메타데이터를 서브세트에 첨부하고 - 메타데이터는 불일치를 설명함 -;
서브세트를 이용하여 알고리즘을 훈련시키도록 구성되는, 시스템.
16. 조항 15에 있어서, 프로세서는,
아이템들의 제3 세트를 포함하는 제2 알고리즘 쇼핑 카트를 수신하고 - 아이템들의 제3 세트는, 센서들의 세트로부터 수신된 입력들의 제2 세트에 기반하여, 물리적 상점에서의 제2 쇼핑 세션 동안 제2 사람에 의해 선택되었던 것으로 알고리즘에 의해 결정됨 -;
아이템들의 제4 세트를 포함하는 제2 가상 쇼핑 카트를 수신하고 - 아이템들의 제4 세트는 제2 쇼핑 세션의 비디오에 기반하여, 물리적 상점에서의 제2 쇼핑 세션 동안 사람에 의해 선택되었던 것으로 결정됨 -;
제2 알고리즘 쇼핑 카트를 제2 가상 쇼핑 카트와 비교하고;
제2 알고리즘 쇼핑 카트를 제2 가상 쇼핑 카트와 비교하는 것에 응답하여, 제2 알고리즘 쇼핑 카트가 제2 가상 쇼핑 카트와 일치하는 것으로 결정하도록 추가로 구성되는, 시스템.
17. 조항 15에 있어서, 불일치는 알고리즘 쇼핑 카트로부터의 제1 아이템의 부재를 포함하고, 제1 아이템은 가상 쇼핑 카트 내에 존재하는, 시스템.
18. 조항 17에 있어서, 센서들의 세트는 제1 아이템의 선택을 검출하지 못한, 시스템.
19. 조항 15에 있어서, 불일치는 알고리즘 쇼핑 카트 내의 제1 아이템의 존재를 포함하고, 제1 아이템은 가상 쇼핑 카트에는 없는, 시스템.
20. 조항 15에 있어서, 불일치는 제1 사람에 의해 선택된 제1 아이템이 알고리즘 쇼핑 카트에 없고 제2 사람과 연관된 제2 알고리즘 쇼핑 카트에 존재하는 식으로 제1 사람과 제2 사람 사이의 식별 스왑을 포함하는, 시스템.
21. 물리적 상점의 물리적 레이아웃을 에뮬레이팅하기 위해 가상 상점의 가상 레이아웃을 생성하도록 구성된 장치로서,
메모리; 및
메모리에 통신가능하게 결합된 하드웨어 프로세서
를 포함하며, 하드웨어 프로세서는,
물리적 상점에 위치된 제1 물리적 랙과 연관된 제1 물리적 위치 및 제1 물리적 배향을 수신하고;
제1 물리적 위치 및 제1 물리적 배향을 수신하는 것에 응답하여, 가상 레이아웃 상의 제1 가상 위치에 그리고 제1 가상 배향으로 제1 가상 랙을 배치하고 - 가상 레이아웃 상의 제1 가상 랙의 제1 가상 위치는 물리적 레이아웃 상의 제1 물리적 랙의 제1 물리적 위치를 나타내고, 가상 레이아웃 상의 제1 가상 랙의 제1 가상 배향은 물리적 레이아웃 상의 제1 물리적 랙의 제1 물리적 배향을 나타냄 -;
제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템과 연관된 제1 가상 아이템을 수신하고;
제1 가상 아이템을 수신하는 것에 응답하여, 제1 가상 랙의 제1 가상 선반 상에 제1 가상 아이템을 배치하고 - 제1 가상 랙의 제1 가상 선반은 제1 물리적 랙의 제1 물리적 선반을 나타냄 -;
제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템과 연관된 제2 가상 아이템을 수신하고;
제2 가상 아이템을 수신하는 것에 응답하여, 제1 가상 랙의 제2 가상 선반 상에 제2 가상 아이템을 배치하고 - 제1 가상 랙의 제2 가상 선반은 제1 물리적 랙의 제2 물리적 선반을 나타냄 -;
물리적 상점에 위치된 제1 랙 카메라를 제1 가상 랙에 할당하고 - 제1 랙 카메라는 제1 물리적 랙을 포함하는 비디오를 캡처하도록 구성됨 -;
가상 레이아웃을 메모리에 저장하도록 구성되는, 장치.
22. 조항 21에 있어서, 프로세서는,
물리적 상점에 위치된 제2 물리적 랙과 연관된 제2 물리적 위치 및 제2 물리적 배향을 수신하고;
제2 물리적 위치 및 제2 물리적 배향을 수신하는 것에 응답하여, 가상 레이아웃 상의 제2 가상 위치에 그리고 제2 가상 배향으로 제2 가상 랙을 배치하고 - 가상 레이아웃 상의 제2 가상 랙의 제2 가상 위치는 물리적 레이아웃 상의 제2 물리적 랙의 제2 물리적 위치를 나타내고, 가상 레이아웃 상의 제2 가상 랙의 제2 가상 배향은 물리적 레이아웃 상의 제2 물리적 랙의 제2 물리적 배향을 나타냄 -;
제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템과 연관된 제3 가상 아이템을 수신하고;
제3 가상 아이템을 수신하는 것에 응답하여, 제2 가상 랙의 제3 가상 선반 상에 제3 가상 아이템을 배치하고 - 제2 가상 랙의 제3 가상 선반은 제2 물리적 랙의 제3 물리적 선반을 나타냄 -;
제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템과 연관된 제4 가상 아이템을 수신하고;
제4 가상 아이템을 수신하는 것에 응답하여, 제2 가상 랙의 제4 가상 선반 상에 제4 가상 아이템을 배치하고 - 제2 가상 랙의 제4 가상 선반은 제2 물리적 랙의 제4 물리적 선반을 나타냄 -;
물리적 상점에 위치된 제2 랙 카메라를 제2 가상 랙에 할당하도록 추가로 구성되며,
제2 랙 카메라는 제1 물리적 랙을 포함하는 비디오를 캡처하도록 구성되는, 장치.
23. 조항 21에 있어서, 상점 식별 번호가 물리적 상점에 할당되고, 가상 레이아웃이 상점 식별 번호에 따라 메모리에 저장되는, 장치.
24. 조항 23에 있어서, 디스플레이를 더 포함하고, 프로세서는,
상점 식별 번호를 수신하고;
상점 식별 번호를 수신하는 것에 응답하여, 디스플레이의 제1 영역에 가상 레이아웃을 표시하고;
제1 물리적 랙과 연관된 이벤트의 표시를 수신하는 것에 응답하여,
디스플레이의 제2 영역에 제1 가상 랙을 표시하고;
디스플레이의 제3 영역에 제1 랙 카메라로부터의 비디오를 표시하도록 추가로 구성되는, 장치.
25. 조항 21에 있어서,
제1 가상 아이템은 제1 물리적 랙의 제1 물리적 선반의 제1 물리적 구역과 추가로 연관되고;
제2 가상 아이템은 제1 물리적 랙의 제2 물리적 선반의 제2 물리적 구역과 추가로 연관되고;
제1 가상 랙의 제1 가상 선반 상에 제1 가상 아이템을 배치하는 것은 제1 가상 랙의 제1 가상 선반의 제1 가상 구역에 제1 가상 아이템을 배치하는 것을 더 포함하고, 제1 가상 선반의 제1 가상 구역은 제1 물리적 선반의 제1 물리적 구역을 나타내고;
제1 가상 랙의 제2 가상 선반 상에 제2 가상 아이템을 배치하는 것은 제1 가상 랙의 제2 가상 선반의 제2 가상 구역에 제2 가상 아이템을 배치하는 것을 더 포함하고, 제2 가상 선반의 제2 가상 구역은 제2 물리적 선반의 제2 물리적 구역을 나타내는, 장치.
26. 조항 25에 있어서,
제1 센서 식별 번호와 연관된 제1 센서가 제1 물리적 선반의 제1 물리적 구역에 할당되고;
제2 센서 식별 번호와 연관된 제2 센서가 제2 물리적 선반의 제2 물리적 구역에 할당되고;
프로세서는,
제1 센서 식별 번호를 제1 가상 선반의 제1 가상 구역에 할당하고;
제2 센서 식별 번호를 제2 가상 선반의 제2 가상 구역에 할당하도록 추가로 구성되는, 장치.
27. 조항 21에 있어서, 제1 가상 아이템 및 제2 가상 아이템을 수신하는 것은 플래노그램을 포함하는 파일을 수신하는 것을 포함하는, 장치.
28. 조항 21에 있어서, 제1 가상 아이템 및 제2 가상 아이템을 수신하는 것은,
아이템들의 스크롤가능한 리스트를 표시하는 것 - 아이템들의 스크롤가능한 리스트는 제1 가상 아이템 및 제2 가상 아이템을 포함함 -;
스크롤가능한 리스트로부터의 제1 가상 아이템을 제1 가상 랙의 제1 가상 선반에 추가하라는 제1 명령을 수신하는 것; 및
스크롤가능한 리스트로부터의 제2 가상 아이템을 제1 가상 랙의 제2 가상 선반에 추가하라는 제2 명령을 수신하는 것
을 포함하는, 장치.
29. 조항 21에 있어서, 프로세서는,
제1 입력을 수신하고;
제1 입력이 제1 가상 위치로부터 새로운 가상 위치로의 제1 가상 랙의 드래그를 나타낸다고 결정하고;
제1 입력이 제1 가상 위치로부터 새로운 가상 위치로의 제1 가상 랙의 드래그를 나타낸다고 결정하는 것에 응답하여, 새로운 가상 위치에 제1 가상 랙을 배치하고;
제2 입력을 수신하고;
제2 입력이 제1 가상 배향으로부터 새로운 가상 배향으로의 제1 가상 랙의 회전을 나타낸다고 결정하고;
제2 입력이 제1 가상 배향으로부터 새로운 가상 배향으로의 제1 가상 랙의 회전을 나타낸다고 결정하는 것에 응답하여, 새로운 가상 배향으로 제1 가상 랙을 배치하도록 추가로 구성되는, 장치.
30. 조항 29에 있어서, 디스플레이를 더 포함하고, 프로세서는,
디스플레이 상에 제1 그래픽 사용자 인터페이스를 표시하고 - 제1 그래픽 사용자 인터페이스는 가상 레이아웃을 포함하고, 제1 입력 및 제2 입력은 제1 그래픽 사용자 인터페이스로부터 수신됨 -;
디스플레이 상에 제2 그래픽 사용자 인터페이스를 표시하고 - 제2 그래픽 사용자 인터페이스가 제1 그래픽 사용자 인터페이스와 별도로 표시되고, 제2 그래픽 사용자 인터페이스가 가상 레이아웃을 포함하고, 비디오가 제1 랙 카메라로부터 수신됨 -;
제2 그래픽 사용자 인터페이스로부터 제3 입력을 수신하고;
제3 입력이 가상 레이아웃으로부터의 제1 가상 랙의 선택을 나타낸다고 결정하고;
제3 입력이 가상 레이아웃으로부터의 제1 가상 랙의 선택을 나타낸다고 결정하는 것에 응답하여, 디스플레이 상의 제2 그래픽 사용자 인터페이스에 제1 가상 랙을 표시하도록 추가로 구성되는, 장치.
31. 물리적 상점의 물리적 레이아웃을 에뮬레이팅하기 위해 가상 상점의 가상 레이아웃을 생성하는 방법으로서,
물리적 상점에 위치된 제1 물리적 랙과 연관된 제1 물리적 위치 및 제1 물리적 배향을 수신하는 단계;
제1 물리적 위치 및 제1 물리적 배향을 수신하는 것에 응답하여, 가상 레이아웃 상의 제1 가상 위치에 그리고 제1 가상 배향으로 제1 가상 랙을 배치하는 단계 - 가상 레이아웃 상의 제1 가상 랙의 제1 가상 위치는 물리적 레이아웃 상의 제1 물리적 랙의 제1 물리적 위치를 나타내고, 가상 레이아웃 상의 제1 가상 랙의 제1 가상 배향은 물리적 레이아웃 상의 제1 물리적 랙의 제1 물리적 배향을 나타냄 -;
제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템과 연관된 제1 가상 아이템을 수신하는 단계;
제1 가상 아이템을 수신하는 것에 응답하여, 제1 가상 랙의 제1 가상 선반 상에 제1 가상 아이템을 배치하는 단계 - 제1 가상 랙의 제1 가상 선반은 제1 물리적 랙의 제1 물리적 선반을 나타냄 -;
제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템과 연관된 제2 가상 아이템을 수신하는 단계;
제2 가상 아이템을 수신하는 것에 응답하여, 제1 가상 랙의 제2 가상 선반 상에 제2 가상 아이템을 배치하는 단계 - 제1 가상 랙의 제2 가상 선반은 제1 물리적 랙의 제2 물리적 선반을 나타냄 -;
물리적 상점에 위치된 제1 랙 카메라를 제1 가상 랙에 할당하는 단계 - 제1 랙 카메라는 제1 물리적 랙을 포함하는 비디오를 캡처하도록 구성됨 -; 및
가상 레이아웃을 메모리에 저장하는 단계
를 포함하는, 방법.
32. 조항 31에 있어서,
물리적 상점에 위치된 제2 물리적 랙과 연관된 제2 물리적 위치 및 제2 물리적 배향을 수신하는 단계;
제2 물리적 위치 및 제2 물리적 배향을 수신하는 것에 응답하여, 가상 레이아웃 상의 제2 가상 위치에 그리고 제2 가상 배향으로 제2 가상 랙을 배치하는 단계 - 가상 레이아웃 상의 제2 가상 랙의 제2 가상 위치는 물리적 레이아웃 상의 제2 물리적 랙의 제2 물리적 위치를 나타내고, 가상 레이아웃 상의 제2 가상 랙의 제2 가상 배향은 물리적 레이아웃 상의 제2 물리적 랙의 제2 물리적 배향을 나타냄 -;
제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템과 연관된 제3 가상 아이템을 수신하는 단계;
제3 가상 아이템을 수신하는 것에 응답하여, 제2 가상 랙의 제3 가상 선반 상에 제3 가상 아이템을 배치하는 단계 - 제2 가상 랙의 제3 가상 선반은 제2 물리적 랙의 제3 물리적 선반을 나타냄 -;
제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템과 연관된 제4 가상 아이템을 수신하는 단계;
제4 가상 아이템을 수신하는 것에 응답하여, 제2 가상 랙의 제4 가상 선반 상에 제4 가상 아이템을 배치하는 단계 - 제2 가상 랙의 제4 가상 선반은 제2 물리적 랙의 제4 물리적 선반을 나타냄 -; 및
물리적 상점에 위치된 제2 랙 카메라를 제2 가상 랙에 할당하는 단계 - 제2 랙 카메라는 제1 물리적 랙을 포함하는 비디오를 캡처하도록 구성됨 -
를 더 포함하는, 방법.
33. 조항 31에 있어서, 상점 식별 번호가 물리적 상점에 할당되고, 가상 레이아웃이 상점 식별 번호에 따라 메모리에 저장되는, 방법.
34. 조항 33에 있어서,
상점 식별 번호를 수신하는 단계;
상점 식별 번호를 수신하는 것에 응답하여, 디스플레이의 제1 영역에 가상 레이아웃을 표시하는 단계; 및
제1 물리적 랙과 연관된 이벤트의 표시를 수신하는 것에 응답하여,
디스플레이의 제2 영역에 제1 가상 랙을 표시하는 단계; 및
디스플레이의 제3 영역에 제1 랙 카메라로부터의 비디오를 표시하는 단계
를 더 포함하는, 방법.
35. 조항 31에 있어서,
제1 가상 아이템은 제1 물리적 랙의 제1 물리적 선반의 제1 물리적 구역과 추가로 연관되고;
제2 가상 아이템은 제1 물리적 랙의 제2 물리적 선반의 제2 물리적 구역과 추가로 연관되고;
제1 가상 랙의 제1 가상 선반 상에 제1 가상 아이템을 배치하는 단계는 제1 가상 랙의 제1 가상 선반의 제1 가상 구역에 제1 가상 아이템을 배치하는 단계를 더 포함하고, 제1 가상 선반의 제1 가상 구역은 제1 물리적 선반의 제1 물리적 구역을 나타내고;
제1 가상 랙의 제2 가상 선반 상에 제2 가상 아이템을 배치하는 단계는 제1 가상 랙의 제2 가상 선반의 제2 가상 구역에 제2 가상 아이템을 배치하는 단계를 더 포함하고, 제2 가상 선반의 제2 가상 구역은 제2 물리적 선반의 제2 물리적 구역을 나타내는, 방법.
36. 조항 35에 있어서,
제1 가상 선반의 제1 가상 구역에 제1 센서 식별 번호를 할당하는 단계 - 제1 센서 식별 번호와 연관된 제1 센서는 제1 물리적 선반의 제1 물리적 구역에 할당됨 -; 및
제2 가상 선반의 제2 가상 구역에 제2 센서 식별 번호를 할당하는 단계 - 제2 센서 식별 번호와 연관된 제2 센서는 제2 물리적 선반의 제2 물리적 구역에 할당됨 -
를 더 포함하는, 방법.
37. 조항 31에 있어서, 제1 가상 아이템 및 제2 가상 아이템을 수신하는 단계는 플래노그램을 포함하는 파일을 수신하는 단계를 포함하는, 방법.
38. 조항 31에 있어서, 제1 가상 아이템 및 제2 가상 아이템을 수신하는 단계는,
아이템들의 스크롤가능한 리스트를 표시하는 단계 - 아이템들의 스크롤가능한 리스트는 제1 가상 아이템 및 제2 가상 아이템을 포함함 -;
스크롤가능한 리스트로부터의 제1 가상 아이템을 제1 가상 랙의 제1 가상 선반에 추가하라는 제1 명령을 수신하는 단계; 및
스크롤가능한 리스트로부터의 제2 가상 아이템을 제1 가상 랙의 제2 가상 선반에 추가하라는 제2 명령을 수신하는 단계
를 포함하는, 방법.
39. 조항 31에 있어서,
제1 입력을 수신하는 단계;
제1 입력이 제1 가상 위치로부터 새로운 가상 위치로의 제1 가상 랙의 드래그를 나타낸다고 결정하는 단계;
제1 입력이 제1 가상 위치로부터 새로운 가상 위치로의 제1 가상 랙의 드래그를 나타낸다고 결정하는 것에 응답하여, 새로운 가상 위치에 제1 가상 랙을 배치하는 단계;
제2 입력을 수신하는 단계;
제2 입력이 제1 가상 배향으로부터 새로운 가상 배향으로의 제1 가상 랙의 회전을 나타낸다고 결정하는 단계; 및
제2 입력이 제1 가상 배향으로부터 새로운 가상 배향으로의 제1 가상 랙의 회전을 나타낸다고 결정하는 것에 응답하여, 새로운 가상 배향으로 제1 가상 랙을 배치하는 단계
를 더 포함하는, 방법.
40. 조항 39에 있어서,
디스플레이 상에 제1 그래픽 사용자 인터페이스를 표시하는 단계 - 제1 그래픽 사용자 인터페이스는 가상 레이아웃을 포함하고, 제1 입력 및 제2 입력은 제1 그래픽 사용자 인터페이스로부터 수신됨 -;
디스플레이 상에 제2 그래픽 사용자 인터페이스를 표시하는 단계 - 제2 그래픽 사용자 인터페이스는 제1 그래픽 사용자 인터페이스와 별도로 표시되고, 제2 그래픽 사용자 인터페이스는 가상 레이아웃을 포함함 -;
제2 그래픽 사용자 인터페이스로부터 제3 입력을 수신하는 단계;
제3 입력이 가상 레이아웃으로부터의 제1 가상 랙의 선택을 나타낸다고 결정하는 단계; 및
제3 입력이 가상 레이아웃으로부터의 제1 가상 랙의 선택을 나타낸다고 결정하는 것에 응답하여, 제1 가상 랙 및 제1 랙 카메라로부터 수신된 비디오를 디스플레이 상의 제2 그래픽 사용자 인터페이스에 표시하는 단계
를 더 포함하는, 방법.
41. 장치로서,
제1 비디오 피드를 수신하도록 구성된 인터페이스 - 제1 비디오 피드는,
물리적 상점에 위치되고 물리적 상점 내의 제1 위치에 지향되는 제1 카메라에 대응하는 제1 카메라 피드; 및
물리적 상점에 위치되고 물리적 상점 내의 제2 위치에 지향되는 제2 카메라에 대응하는 제2 카메라 피드
를 포함함 -;
디스플레이;
메모리; 및
메모리 및 디스플레이에 통신가능하게 결합된 하드웨어 프로세서
를 포함하며, 하드웨어 프로세서는,
제1 비디오 세그먼트를 메모리에 저장하고 - 제1 비디오 세그먼트는 제1 사람에게 할당되고, 시작 타임스탬프와 종료 타임스탬프 사이의 시간 간격 동안 발생하는 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하고, 제1 비디오 세그먼트는,
시작 타임스탬프로부터 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 제1 카메라 피드 세그먼트; 및
시작 타임스탬프로부터 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 제2 카메라 피드 세그먼트
를 포함함 -;
제1 비디오 세그먼트에 제1 슬라이더 바를 할당하고 - 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생은 동기화되고, 제1 슬라이더 바는 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제1 카메라 피드 세그먼트 및 제1 슬라이더 바의 제1 사본을 디스플레이의 제1 영역에 표시하고;
제2 카메라 피드 세그먼트 및 제1 슬라이더 바의 제2 사본을 디스플레이의 제2 영역에 표시하고;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 조정하기 위해 제1 슬라이더 바의 제1 사본 및 제1 슬라이더 바의 제2 사본 중 적어도 하나로부터 명령을 수신하고;
명령을 수신하는 것에 응답하여, 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 조정하도록 구성되는, 장치.
42. 조항 41에 있어서, 프로세서는,
제2 비디오 세그먼트를 메모리에 저장하고 - 제2 비디오 세그먼트는 제2 사람에게 할당되고, 제2 시작 타임스탬프와 제2 종료 타임스탬프 사이의 제2 시간 간격 동안 발생하는 물리적 상점에서의 제2 사람의 쇼핑 세션의 일부분을 캡처하고, 제2 시작 타임스탬프는 시작 타임스탬프보다 더 늦고 종료 타임스탬프보다 더 빠르며, 제2 비디오 세그먼트는,
제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 제3 카메라 피드 세그먼트; 및
제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 제4 카메라 피드 세그먼트
를 포함함 -;
제2 비디오 세그먼트에 제2 슬라이더 바를 할당하고 - 제2 슬라이더 바는 제1 슬라이더 바와 독립적이고, 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생은 동기화되며, 제2 슬라이더 바는 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제3 카메라 피드 세그먼트 및 제2 슬라이더 바의 제1 사본을 디스플레이의 제3 영역에 표시하고;
제4 카메라 피드 세그먼트 및 제2 슬라이더 바의 제2 사본을 디스플레이의 제4 영역에 표시하고;
제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 조정하기 위해 제2 슬라이더 바의 제1 사본 및 제2 슬라이더 바의 제2 사본 중 적어도 하나로부터 제2 명령을 수신하고;
제2 명령을 수신하는 것에 응답하여, 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 조정하도록 추가로 구성되는, 장치.
43. 조항 41에 있어서, 프로세서는,
제1 카메라 피드 세그먼트가 제1 시간에 제1 사람을 묘사한다고 결정하고;
제1 카메라 피드 세그먼트가 제1 시간에 제1 사람을 묘사한다고 결정하는 것에 응답하여,
공통 슬라이더 바가 제1 시간에 도달했다고 결정하고;
공통 슬라이더 바가 제1 시간에 도달했다고 결정하는 것에 응답하여, 제1 카메라 피드 세그먼트를 강조하도록 추가로 구성되는, 장치.
44. 조항 41에 있어서, 공통 슬라이더 바는 공통 슬라이더 바 상의 제1 시간에 위치된 마커를 포함하고, 마커는 제1 시간에 발생하는 이벤트와 연관되고, 제1 사람과 연관된 이벤트는 물리적 상점 내의 랙에 위치된 선반으로부터 아이템을 선택하는 것인, 장치.
45. 조항 44에 있어서,
아이템에는 아이템 식별 번호가 할당되고;
선반에는 선반 식별 번호가 할당되고;
랙에는 랙 식별 번호가 할당되고;
마커는 아이템 식별 번호, 선반 식별 번호, 및 랙 식별 번호를 포함하는 메타데이터를 포함하는, 장치.
46. 조항 45에 있어서,
제1 비디오 피드는 물리적 상점에 위치된 제3 카메라에 대응하는 제3 카메라 피드를 더 포함하고, 제3 카메라는 랙에 지향되고;
제1 비디오 세그먼트는 시작 타임스탬프로부터 종료 타임스탬프까지의 제3 카메라 피드의 기록에 대응하는 제3 카메라 피드 세그먼트를 더 포함하고;
프로세서는,
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 마커에 도달했다고 결정하고;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 마커에 도달했다고 결정하는 것에 응답하여,
마커의 메타데이터에 기반하여, 제1 사람이 물리적 상점 내의 랙에 위치된 선반으로부터 아이템을 선택하는 것과 연관된 이벤트가 발생했다고 결정하고;
이벤트가 발생했다고 결정하는 것에 응답하여, 디스플레이의 제3 영역에 제3 카메라 피드 세그먼트를 표시하도록 추가로 구성되는, 장치.
47. 조항 41에 있어서,
시작 타임스탬프와 종료 타임스탬프 사이의 시간 간격은 미리 결정된 길이를 포함하고;
프로세서는,
제2 비디오 세그먼트를 메모리에 저장하고 - 제2 비디오 세그먼트는 제1 사람에게 할당되고, 종료 타임스탬프와 새로운 종료 타임스탬프 사이의 제2 시간 간격 동안 발생하는 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하고, 제2 비디오 세그먼트는,
종료 타임스탬프로부터 새로운 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 새로운 제1 카메라 피드 세그먼트; 및
종료 타임스탬프로부터 새로운 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 새로운 제2 카메라 피드 세그먼트
를 포함함 -;
제2 비디오 세그먼트에 제2 슬라이더 바를 할당하고 - 새로운 제1 카메라 피드 세그먼트 및 새로운 제2 카메라 피드 세그먼트의 재생은 동기화되고, 제2 슬라이더 바는 새로운 제1 카메라 피드 세그먼트 및 새로운 제2 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 종료 타임스탬프에 도달했다고 결정하고;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 종료 타임스탬프에 도달했다고 결정하는 것에 응답하여,
새로운 제1 카메라 피드 세그먼트 및 제2 슬라이더 바의 제1 사본을 디스플레이의 제1 영역에 표시하고;
새로운 제2 카메라 피드 세그먼트 및 제2 슬라이더 바의 제2 사본을 디스플레이의 제2 영역에 표시하도록 추가로 구성되는, 장치.
48. 방법으로서,
제1 비디오 피드를 수신하는 단계 - 제1 비디오 피드는,
물리적 상점에 위치되고 물리적 상점 내의 제1 위치에 지향되는 제1 카메라에 대응하는 제1 카메라 피드; 및
물리적 상점에 위치되고 물리적 상점 내의 제2 위치에 지향되는 제2 카메라에 대응하는 제2 카메라 피드
를 포함함 -;
제1 비디오 세그먼트를 저장하는 단계 - 제1 비디오 세그먼트는 제1 사람에게 할당되고, 시작 타임스탬프와 종료 타임스탬프 사이의 시간 간격 동안 발생하는 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하고, 제1 비디오 세그먼트는,
시작 타임스탬프로부터 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 제1 카메라 피드 세그먼트; 및
시작 타임스탬프로부터 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 제2 카메라 피드 세그먼트
를 포함함 -;
제1 비디오 세그먼트에 제1 슬라이더 바를 할당하는 단계 - 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생은 동기화되고, 제1 슬라이더 바는 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제1 카메라 피드 세그먼트 및 제1 슬라이더 바의 제1 사본을 디스플레이의 제1 영역에 표시하는 단계;
제2 카메라 피드 세그먼트 및 제1 슬라이더 바의 제2 사본을 디스플레이의 제2 영역에 표시하는 단계;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 조정하기 위해 제1 슬라이더 바의 제1 사본 및 제1 슬라이더 바의 제2 사본 중 적어도 하나로부터 명령을 수신하는 단계; 및
명령을 수신하는 것에 응답하여, 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 조정하는 단계
를 포함하는, 방법.
49. 조항 48에 있어서,
제2 비디오 세그먼트를 저장하는 단계 - 제2 비디오 세그먼트는 제2 사람에게 할당되고, 제2 시작 타임스탬프와 제2 종료 타임스탬프 사이의 제2 시간 간격 동안 발생하는 물리적 상점에서의 제2 사람의 쇼핑 세션의 일부분을 캡처하고, 제2 시작 타임스탬프는 시작 타임스탬프보다 더 늦고 종료 타임스탬프보다 더 빠르며, 제2 비디오 세그먼트는,
제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 제3 카메라 피드 세그먼트; 및
제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 제4 카메라 피드 세그먼트
를 포함함 -;
제2 비디오 세그먼트에 제2 슬라이더 바를 할당하는 단계 - 제2 슬라이더 바는 제1 슬라이더 바와 독립적이고, 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생은 동기화되며, 제2 슬라이더 바는 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제3 카메라 피드 세그먼트 및 제2 슬라이더 바의 제1 사본을 디스플레이의 제3 영역에 표시하는 단계;
제4 카메라 피드 세그먼트 및 제2 슬라이더 바의 제2 사본을 디스플레이의 제4 영역에 표시하는 단계;
제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 조정하기 위해 제2 슬라이더 바의 제1 사본 및 제2 슬라이더 바의 제2 사본 중 적어도 하나로부터 제2 명령을 수신하는 단계; 및
제2 명령을 수신하는 것에 응답하여, 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 조정하는 단계
를 더 포함하는, 방법.
50. 조항 48에 있어서,
제1 카메라 피드 세그먼트가 제1 시간에 제1 사람을 묘사한다고 결정하는 단계;
제1 카메라 피드 세그먼트가 제1 시간에 제1 사람을 묘사한다고 결정하는 것에 응답하여,
공통 슬라이더 바가 제1 시간에 도달했다고 결정하는 단계; 및
공통 슬라이더 바가 제1 시간에 도달했다고 결정하는 것에 응답하여, 제1 카메라 피드 세그먼트를 강조하는 단계
를 더 포함하는, 방법.
51. 조항 48에 있어서, 공통 슬라이더 바는 공통 슬라이더 바 상의 제1 시간에 위치된 마커를 포함하고, 마커는 제1 시간에 발생하는 이벤트와 연관되고, 제1 사람과 연관된 이벤트는 물리적 상점 내의 랙에 위치된 선반으로부터 아이템을 선택하는 것인, 방법.
52. 조항 51에 있어서,
아이템에는 아이템 식별 번호가 할당되고;
선반에는 선반 식별 번호가 할당되고;
랙에는 랙 식별 번호가 할당되고;
마커는 아이템 식별 번호, 선반 식별 번호, 및 랙 식별 번호를 포함하는 메타데이터를 포함하는, 방법.
53. 조항 52에 있어서,
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 마커에 도달했다고 결정하는 단계; 및
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 마커에 도달했다고 결정하는 것에 응답하여,
마커의 메타데이터에 기반하여, 제1 사람이 물리적 상점 내의 랙에 위치된 선반으로부터 아이템을 선택하는 것과 연관된 이벤트가 발생했다고 결정하는 단계; 및
이벤트가 발생했다고 결정하는 것에 응답하여, 디스플레이의 제3 영역에 제3 카메라 피드 세그먼트를 표시하는 단계
를 더 포함하며,
제1 비디오 피드는 물리적 상점에 위치된 제3 카메라에 대응하는 제3 카메라 피드를 더 포함하고, 제3 카메라는 랙에 지향되고;
제1 비디오 세그먼트는 시작 타임스탬프로부터 종료 타임스탬프까지의 제3 카메라 피드의 기록에 대응하는 제3 카메라 피드 세그먼트를 더 포함하는, 방법.
54. 조항 48에 있어서,
제1 사람에게 할당되고, 종료 타임스탬프와 새로운 종료 타임스탬프 사이의 제2 시간 간격 동안 발생하는 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하는 제2 비디오 세그먼트를 저장하는 단계 - 제2 비디오 세그먼트는,
종료 타임스탬프로부터 새로운 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 새로운 제1 카메라 피드 세그먼트; 및
종료 타임스탬프로부터 새로운 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 새로운 제2 카메라 피드 세그먼트
를 포함함 -;
제2 비디오 세그먼트에 제2 슬라이더 바를 할당하는 단계 - 새로운 제1 카메라 피드 세그먼트 및 새로운 제2 카메라 피드 세그먼트의 재생은 동기화되고, 제2 슬라이더 바는 새로운 제1 카메라 피드 세그먼트 및 새로운 제2 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 종료 타임스탬프에 도달했다고 결정하는 단계; 및
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 종료 타임스탬프에 도달했다고 결정하는 것에 응답하여,
새로운 제1 카메라 피드 세그먼트 및 제2 슬라이더 바의 제1 사본을 디스플레이의 제1 영역에 표시하는 단계; 및
새로운 제2 카메라 피드 세그먼트 및 제2 슬라이더 바의 제2 사본을 디스플레이의 제2 영역에 표시하는 단계
를 더 포함하는, 방법.
55. 시스템으로서,
제1 비디오 피드를 수신하도록 동작가능한 인터페이스 - 제1 비디오 피드는,
물리적 상점에 위치되고 물리적 상점 내의 제1 위치에 지향되는 제1 카메라에 대응하는 제1 카메라 피드; 및
물리적 상점에 위치되고 물리적 상점 내의 제2 위치에 지향되는 제2 카메라에 대응하는 제2 카메라 피드
를 포함함 -;
디스플레이 요소;
저장 요소; 및
저장 요소 및 디스플레이 요소에 통신가능하게 결합된 처리 요소
를 포함하며, 처리 요소는,
제1 비디오 세그먼트를 저장 요소에 저장하고 - 제1 비디오 세그먼트는 제1 사람에게 할당되고, 시작 타임스탬프와 종료 타임스탬프 사이의 시간 간격 동안 발생하는 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하고, 제1 비디오 세그먼트는,
시작 타임스탬프로부터 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 제1 카메라 피드 세그먼트; 및
시작 타임스탬프로부터 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 제2 카메라 피드 세그먼트
를 포함함 -;
제1 비디오 세그먼트에 제1 슬라이더 바를 할당하고 - 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생은 동기화되고, 제1 슬라이더 바는 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제1 카메라 피드 세그먼트 및 제1 슬라이더 바의 제1 사본을 디스플레이 요소의 제1 영역에 표시하고;
제2 카메라 피드 세그먼트 및 제1 슬라이더 바의 제2 사본을 디스플레이 요소의 제2 영역에 표시하고;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 조정하기 위해 제1 슬라이더 바의 제1 사본 및 제1 슬라이더 바의 제2 사본 중 적어도 하나로부터 명령을 수신하고;
명령을 수신하는 것에 응답하여, 제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행을 조정하고;
제2 비디오 세그먼트를 저장 요소에 저장하고 - 제2 비디오 세그먼트는 제1 사람에게 할당되고, 종료 타임스탬프와 새로운 종료 타임스탬프 사이의 제2 시간 간격 동안 발생하는 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하고, 제2 비디오 세그먼트는,
종료 타임스탬프로부터 새로운 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 새로운 제1 카메라 피드 세그먼트; 및
종료 타임스탬프로부터 새로운 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 새로운 제2 카메라 피드 세그먼트
를 포함함 -;
제2 비디오 세그먼트에 제2 슬라이더 바를 할당하고 - 새로운 제1 카메라 피드 세그먼트 및 새로운 제2 카메라 피드 세그먼트의 재생은 동기화되고, 제2 슬라이더 바는 새로운 제1 카메라 피드 세그먼트 및 새로운 제2 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 종료 타임스탬프에 도달했다고 결정하고;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 종료 타임스탬프에 도달했다고 결정하는 것에 응답하여,
새로운 제1 카메라 피드 세그먼트 및 제2 슬라이더 바의 제1 사본을 디스플레이 요소의 제1 영역에 표시하고;
새로운 제2 카메라 피드 세그먼트 및 제2 슬라이더 바의 제2 사본을 디스플레이 요소의 제2 영역에 표시하도록 동작가능한, 시스템.
56. 조항 55에 있어서, 처리 요소는,
제2 비디오 세그먼트를 저장 요소에 저장하고 - 제2 비디오 세그먼트는 제2 사람에게 할당되고, 제2 시작 타임스탬프와 제2 종료 타임스탬프 사이의 제2 시간 간격 동안 발생하는 물리적 상점에서의 제2 사람의 쇼핑 세션의 일부분을 캡처하고, 제2 시작 타임스탬프는 시작 타임스탬프보다 더 늦고 종료 타임스탬프보다 더 빠르며, 제2 비디오 세그먼트는,
제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제1 카메라 피드의 기록에 대응하는 제3 카메라 피드 세그먼트; 및
제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제2 카메라 피드의 기록에 대응하는 제4 카메라 피드 세그먼트
를 포함함 -;
제2 비디오 세그먼트에 제2 슬라이더 바를 할당하고 - 제2 슬라이더 바는 제1 슬라이더 바와 독립적이고, 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생은 동기화되며, 제2 슬라이더 바는 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 제어함 -;
제3 카메라 피드 세그먼트 및 제2 슬라이더 바의 제1 사본을 디스플레이 요소의 제3 영역에 표시하고;
제4 카메라 피드 세그먼트 및 제2 슬라이더 바의 제2 사본을 디스플레이 요소의 제4 영역에 표시하고;
제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 조정하기 위해 제2 슬라이더 바의 제1 사본 및 제2 슬라이더 바의 제2 사본 중 적어도 하나로부터 제2 명령을 수신하고;
제2 명령을 수신하는 것에 응답하여, 제3 카메라 피드 세그먼트 및 제4 카메라 피드 세그먼트의 재생 진행을 조정하도록 추가로 동작가능한, 시스템.
57. 조항 55에 있어서, 처리 요소는,
제1 카메라 피드 세그먼트가 제1 시간에 제1 사람을 묘사한다고 결정하고;
제1 카메라 피드 세그먼트가 제1 시간에 제1 사람을 묘사한다고 결정하는 것에 응답하여,
공통 슬라이더 바가 제1 시간에 도달했다고 결정하고;
공통 슬라이더 바가 제1 시간에 도달했다고 결정하는 것에 응답하여, 제1 카메라 피드 세그먼트를 강조하도록 추가로 동작가능한, 시스템.
58. 조항 55에 있어서, 공통 슬라이더 바는 공통 슬라이더 바 상의 제1 시간에 위치된 마커를 포함하고, 마커는 제1 시간에 발생하는 이벤트와 연관되고, 제1 사람과 연관된 이벤트는 물리적 상점 내의 랙에 위치된 선반으로부터 아이템을 선택하는 것인, 시스템.
59. 조항 58에 있어서,
아이템에는 아이템 식별 번호가 할당되고;
선반에는 선반 식별 번호가 할당되고;
랙에는 랙 식별 번호가 할당되고;
마커는 아이템 식별 번호, 선반 식별 번호, 및 랙 식별 번호를 포함하는 메타데이터를 포함하는, 시스템.
60. 조항 59에 있어서,
제1 비디오 피드는 물리적 상점에 위치된 제3 카메라에 대응하는 제3 카메라 피드를 더 포함하고, 제3 카메라는 랙에 지향되고;
제1 비디오 세그먼트는 시작 타임스탬프로부터 종료 타임스탬프까지의 제3 카메라 피드의 기록에 대응하는 제3 카메라 피드 세그먼트를 더 포함하고;
처리 요소는,
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 마커에 도달했다고 결정하고;
제1 카메라 피드 세그먼트 및 제2 카메라 피드 세그먼트의 재생 진행이 마커에 도달했다고 결정하는 것에 응답하여,
마커의 메타데이터에 기반하여, 제1 사람이 물리적 상점 내의 랙에 위치된 선반으로부터 아이템을 선택하는 것과 연관된 이벤트가 발생했다고 결정하고;
이벤트가 발생했다고 결정하는 것에 응답하여, 디스플레이 요소의 제3 영역에 제3 카메라 피드 세그먼트를 표시하도록 추가로 동작가능한, 시스템.
61. 장치로서,
디스플레이;
물리적 상점에 위치된 랙 카메라로부터 랙 카메라 피드를 수신하도록 구성된 인터페이스 - 랙 카메라는 물리적 상점에 위치된 물리적 랙들의 세트 중의 제1 물리적 랙에 지향됨 -; 및
디스플레이에 통신가능하게 결합된 하드웨어 프로세서
를 포함하며, 하드웨어 프로세서는,
디스플레이의 제1 영역에, 가상 상점의 가상 레이아웃을 표시하고 - 가상 레이아웃은 물리적 상점의 물리적 레이아웃을 에뮬레이팅하도록 구성되고, 가상 레이아웃은 제1 물리적 랙에 할당된 제1 가상 랙 및 제2 물리적 랙에 할당된 제2 가상 랙을 포함하고, 가상 레이아웃에서의 제1 가상 랙 및 제2 가상 랙의 배열은 물리적 레이아웃에서의 제1 물리적 랙 및 제2 물리적 랙의 배열을 에뮬레이팅하도록 구성됨 -;
제1 물리적 랙과 연관된 이벤트의 표시를 수신하고 - 이벤트는 물리적 상점에 위치된 사람이 제1 물리적 랙과 상호작용하는 것을 포함함 -;
제1 물리적 랙과 연관된 이벤트의 표시를 수신하는 것에 응답하여,
디스플레이의 제2 영역에, 제1 가상 랙을 표시하고 - 제1 가상 랙은 제1 가상 선반 및 제2 가상 선반을 포함하고, 제1 가상 선반은 제1 가상 아이템을 포함하고, 제2 가상 선반은 제2 가상 아이템을 포함하고, 제1 가상 아이템은 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템의 그래픽 표현을 포함하고, 제2 가상 아이템은 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템의 그래픽 표현을 포함함 -;
디스플레이의 제3 영역에, 시작 타임스탬프로부터 종료 타임스탬프까지의 랙 카메라 피드의 기록에 대응하는 랙 비디오 세그먼트를 표시하도록 구성되고,
랙 비디오 세그먼트는 제1 물리적 랙과 연관된 이벤트를 묘사하는, 장치.
62. 조항 61에 있어서,
인터페이스는 물리적 상점에 위치된 제2 랙 카메라로부터 제2 랙 카메라 피드를 수신하도록 추가로 구성되고, 제2 랙 카메라는 물리적 상점에 위치된 물리적 랙들의 세트 중의 제2 물리적 랙에 지향되고;
프로세서는,
제2 물리적 랙과 연관된 제2 이벤트의 표시를 수신하고 - 제2 이벤트는 사람이 제2 물리적 랙과 상호작용하는 것을 포함함 -;
제2 물리적 랙과 연관된 제2 이벤트의 표시를 수신하는 것에 응답하여,
디스플레이의 제2 영역에, 제2 가상 랙을 표시하고 - 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 제3 가상 선반은 제3 가상 아이템을 포함하고, 제4 가상 선반은 제4 가상 아이템을 포함하고, 제3 가상 아이템은 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 제4 가상 아이템은 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -;
디스플레이의 제3 영역에, 제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제2 랙 카메라 피드의 기록에 대응하는 제2 랙 비디오 세그먼트를 표시하도록 추가로 구성되고,
제2 랙 비디오 세그먼트는 제2 물리적 랙과 연관된 제2 이벤트를 묘사하는, 장치.
63. 조항 61에 있어서,
제1 물리적 랙과 연관된 이벤트는 제1 물리적 아이템이 제1 물리적 랙의 제1 물리적 선반의 제1 구역으로부터 선택되는 것을 포함하고, 제1 물리적 선반의 제1 구역에 결합된 중량 센서는 제1 물리적 아이템이 제1 물리적 선반으로부터 선택되는 것을 검출하도록 구성되고;
이벤트의 표시는 중량 센서로부터 수신된 정보를 포함하는, 장치.
64. 조항 63에 있어서, 제1 가상 랙을 표시하는 것에 응답하여, 프로세서는 제1 가상 선반 상의 제1 가상 아이템을 강조하도록 추가로 구성되는, 장치.
65. 조항 61에 있어서,
인터페이스는 물리적 상점에 위치된 제1 카메라에 대응하는 비디오 피드를 수신하도록 추가로 구성되고;
프로세서는,
제1 비디오 세그먼트를 메모리에 저장하고 - 제1 비디오 세그먼트는 제1 사람에게 할당되고, 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하고, 제1 비디오 세그먼트는 시작 타임스탬프로부터 종료 타임스탬프까지의 비디오 피드의 기록에 대응함 -;
제1 비디오 세그먼트에 슬라이더 바를 할당하고 -
슬라이더 바는 제1 비디오 세그먼트의 재생 진행을 제어하고;
이벤트는 제1 시간에 발생하고;
슬라이더 바는 슬라이더 바 상의 제1 시간에 위치된 마커를 포함하고, 마커는 제1 시간에 발생하는 이벤트와 연관되고, 마커는 제1 가상 아이템에 할당된 아이템 식별 번호, 제1 가상 랙에 할당된 랙 식별 번호, 및 제1 가상 랙의 구역에 할당된 구역 식별 번호를 포함하는 메타데이터를 포함하고;
이벤트의 표시는 제1 비디오 세그먼트의 재생 진행이 마커에 도달하는 것을 포함함 -;
제1 가상 랙을 표시하는 것에 응답하여, 메타데이터에 기반하여, 제1 가상 랙 상의 제1 가상 아이템을 강조하도록 추가로 구성되는, 장치.
66. 조항 65에 있어서,
슬라이더 바는 슬라이더 바 상의 제2 시간에 위치된 제2 마커를 포함하고, 제2 마커는 제2 시간에 발생하는 제2 이벤트와 연관되고, 제2 이벤트는 제2 물리적 랙과 연관되고, 제2 마커는 제3 가상 아이템에 할당된 제2 아이템 식별 번호, 제2 가상 랙에 할당된 제2 랙 식별 번호, 및 제2 가상 랙의 제2 구역에 할당된 제2 구역 식별 번호를 포함하는 제2 메타데이터를 포함하고;
프로세서는,
제1 비디오 세그먼트의 재생 진행이 제2 마커에 도달했다고 결정하고;
제1 비디오 세그먼트의 재생 진행이 제2 마커에 도달했다고 결정하는 것에 응답하여,
디스플레이의 제2 영역에, 제2 가상 랙을 표시하고 - 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 제3 가상 선반은 제3 가상 아이템을 포함하고, 제4 가상 선반은 제4 가상 아이템을 포함하고, 제3 가상 아이템은 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 제4 가상 아이템은 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -;
제2 메타데이터에 기반하여, 제2 가상 랙 상의 제3 가상 아이템을 강조하도록 추가로 구성되는, 장치.
67. 조항 61에 있어서, 제1 물리적 랙과 연관된 이벤트의 표시는 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반한 이벤트의 검출에 응답하여 알고리즘에 의해 생성된 정보를 포함하는, 장치.
68. 방법으로서,
물리적 상점에 위치된 랙 카메라로부터 랙 카메라 피드를 수신하는 단계 - 랙 카메라는 물리적 상점에 위치된 물리적 랙들의 세트 중의 제1 물리적 랙에 지향됨 -;
디스플레이의 제1 영역에, 가상 상점의 가상 레이아웃을 표시하는 단계 - 가상 레이아웃은 물리적 상점의 물리적 레이아웃을 에뮬레이팅하도록 구성되고, 가상 레이아웃은 제1 물리적 랙에 할당된 제1 가상 랙 및 제2 물리적 랙에 할당된 제2 가상 랙을 포함하고, 가상 레이아웃에서의 제1 가상 랙 및 제2 가상 랙의 배열은 물리적 레이아웃에서의 제1 물리적 랙 및 제2 물리적 랙의 배열을 에뮬레이팅하도록 구성됨 -;
제1 물리적 랙과 연관된 이벤트의 표시를 수신하는 단계 - 이벤트는 물리적 상점에 위치된 사람이 제1 물리적 랙과 상호작용하는 것을 포함함 -;
제1 물리적 랙과 연관된 이벤트의 표시를 수신하는 것에 응답하여,
디스플레이의 제2 영역에, 제1 가상 랙을 표시하는 단계 - 제1 가상 랙은 제1 가상 선반 및 제2 가상 선반을 포함하고, 제1 가상 선반은 제1 가상 아이템을 포함하고, 제2 가상 선반은 제2 가상 아이템을 포함하고, 제1 가상 아이템은 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템의 그래픽 표현을 포함하고, 제2 가상 아이템은 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템의 그래픽 표현을 포함함 -; 및
디스플레이의 제3 영역에, 시작 타임스탬프로부터 종료 타임스탬프까지의 랙 카메라 피드의 기록에 대응하는 랙 비디오 세그먼트를 표시하는 단계 - 랙 비디오 세그먼트는 제1 물리적 랙과 연관된 이벤트를 묘사함 -
를 포함하는, 방법.
69. 조항 68에 있어서,
물리적 상점에 위치된 제2 랙 카메라로부터 제2 랙 카메라 피드를 수신하는 단계 - 제2 랙 카메라는 물리적 상점에 위치된 물리적 랙들의 세트 중의 제2 물리적 랙에 지향됨 -;
제2 물리적 랙과 연관된 제2 이벤트의 표시를 수신하는 단계 - 제2 이벤트는 사람이 제2 물리적 랙과 상호작용하는 것을 포함함 -;
제2 물리적 랙과 연관된 제2 이벤트의 표시를 수신하는 것에 응답하여,
디스플레이의 제2 영역에, 제2 가상 랙을 표시하는 단계 - 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 제3 가상 선반은 제3 가상 아이템을 포함하고, 제4 가상 선반은 제4 가상 아이템을 포함하고, 제3 가상 아이템은 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 제4 가상 아이템은 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -; 및
디스플레이의 제3 영역에, 제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제2 랙 카메라 피드의 기록에 대응하는 제2 랙 비디오 세그먼트를 표시하는 단계 - 제2 랙 비디오 세그먼트는 제2 물리적 랙과 연관된 제2 이벤트를 묘사함 -
를 더 포함하는, 방법.
70. 조항 68에 있어서,
제1 물리적 랙과 연관된 이벤트는 제1 물리적 아이템이 제1 물리적 랙의 제1 물리적 선반의 제1 구역으로부터 선택되는 것을 포함하고, 제1 물리적 선반의 제1 구역에 결합된 중량 센서는 제1 물리적 아이템이 제1 물리적 선반으로부터 선택되는 것을 검출하도록 구성되고;
이벤트의 표시는 중량 센서로부터 수신된 정보를 포함하는, 방법.
71. 조항 70에 있어서, 제1 가상 랙을 표시하는 것에 응답하여, 제1 가상 선반 상의 제1 가상 아이템을 강조하는 단계를 더 포함하는, 방법.
72. 조항 68에 있어서,
물리적 상점에 위치된 제1 카메라에 대응하는 비디오 피드를 수신하는 단계;
제1 사람에게 할당되고, 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하는 제1 비디오 세그먼트를 저장하는 단계 - 제1 비디오 세그먼트는 시작 타임스탬프로부터 종료 타임스탬프까지의 비디오 피드의 기록에 대응함 -;
제1 비디오 세그먼트에 슬라이더 바를 할당하는 단계 -
슬라이더 바는 제1 비디오 세그먼트의 재생 진행을 제어하고;
이벤트는 제1 시간에 발생하고;
슬라이더 바는 슬라이더 바 상의 제1 시간에 위치된 마커를 포함하고, 마커는 제1 시간에 발생하는 이벤트와 연관되고, 마커는 제1 가상 아이템에 할당된 아이템 식별 번호, 제1 가상 랙에 할당된 랙 식별 번호, 및 제1 가상 랙의 구역에 할당된 구역 식별 번호를 포함하는 메타데이터를 포함하고;
이벤트의 표시는 제1 비디오 세그먼트의 재생 진행이 마커에 도달하는 것을 포함함 -; 및
제1 가상 랙을 표시하는 것에 응답하여, 메타데이터에 기반하여, 제1 가상 랙 상의 제1 가상 아이템을 강조하는 단계
를 더 포함하는, 방법.
73. 조항 72에 있어서,
제1 비디오 세그먼트의 재생 진행이 제2 마커에 도달했다고 결정하는 단계 - 슬라이더 바는 슬라이더 바 상의 제2 시간에 위치된 제2 마커를 포함하고, 제2 마커는 제2 시간에 발생하는 제2 이벤트와 연관되고, 제2 이벤트는 제2 물리적 랙과 연관되고, 제2 마커는 제3 가상 아이템에 할당된 제2 아이템 식별 번호, 제2 가상 랙에 할당된 제2 랙 식별 번호, 및 제2 가상 랙의 제2 구역에 할당된 제2 구역 식별 번호를 포함하는 제2 메타데이터를 포함함 -; 및
제1 비디오 세그먼트의 재생 진행이 제2 마커에 도달했다고 결정하는 것에 응답하여,
디스플레이의 제2 영역에, 제2 가상 랙을 표시하는 단계 - 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 제3 가상 선반은 제3 가상 아이템을 포함하고, 제4 가상 선반은 제4 가상 아이템을 포함하고, 제3 가상 아이템은 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 제4 가상 아이템은 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -; 및
제2 메타데이터에 기반하여, 제2 가상 랙 상의 제3 가상 아이템을 강조하는 단계
를 더 포함하는, 방법.
74. 조항 68에 있어서, 제1 물리적 랙과 연관된 이벤트의 표시는 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반한 이벤트의 검출에 응답하여 알고리즘에 의해 생성된 정보를 포함하는, 방법.
75. 시스템으로서,
디스플레이 요소;
인터페이스; 및
디스플레이 요소에 통신가능하게 결합된 처리 요소
를 포함하며, 인터페이스는,
물리적 상점에 위치된 랙 카메라로부터 랙 카메라 피드를 수신하고 - 랙 카메라는 물리적 상점에 위치된 물리적 랙들의 세트 중의 제1 물리적 랙에 지향됨 -;
물리적 상점에 위치된 제2 랙 카메라로부터 제2 랙 카메라 피드를 수신하도록 동작가능하고, 제2 랙 카메라는 물리적 상점에 위치된 물리적 랙들의 세트 중의 제2 물리적 랙에 지향되고;
처리 요소는,
디스플레이 요소의 제1 영역에, 가상 상점의 가상 레이아웃을 표시하고 - 가상 레이아웃은 물리적 상점의 물리적 레이아웃을 에뮬레이팅하도록 구성되고, 가상 레이아웃은 제1 물리적 랙에 할당된 제1 가상 랙 및 제2 물리적 랙에 할당된 제2 가상 랙을 포함하고, 가상 레이아웃에서의 제1 가상 랙 및 제2 가상 랙의 배열은 물리적 레이아웃에서의 제1 물리적 랙 및 제2 물리적 랙의 배열을 에뮬레이팅하도록 구성됨 -;
제1 물리적 랙과 연관된 이벤트의 표시를 수신하고 - 이벤트는 물리적 상점에 위치된 사람이 제1 물리적 랙과 상호작용하는 것을 포함함 -;
제1 물리적 랙과 연관된 이벤트의 표시를 수신하는 것에 응답하여,
디스플레이 요소의 제2 영역에, 제1 가상 랙을 표시하고 - 제1 가상 랙은 제1 가상 선반 및 제2 가상 선반을 포함하고, 제1 가상 선반은 제1 가상 아이템을 포함하고, 제2 가상 선반은 제2 가상 아이템을 포함하고, 제1 가상 아이템은 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템의 그래픽 표현을 포함하고, 제2 가상 아이템은 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템의 그래픽 표현을 포함함 -;
디스플레이 요소의 제3 영역에, 시작 타임스탬프로부터 종료 타임스탬프까지의 랙 카메라 피드의 기록에 대응하는 랙 비디오 세그먼트를 표시하고 - 랙 비디오 세그먼트는 제1 물리적 랙과 연관된 이벤트를 묘사함 -;
제2 물리적 랙과 연관된 제2 이벤트의 표시를 수신하고 - 제2 이벤트는 사람이 제2 물리적 랙과 상호작용하는 것을 포함함 -;
제2 물리적 랙과 연관된 제2 이벤트의 표시를 수신하는 것에 응답하여,
디스플레이의 제2 영역에, 제2 가상 랙을 표시하고 - 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 제3 가상 선반은 제3 가상 아이템을 포함하고, 제4 가상 선반은 제4 가상 아이템을 포함하고, 제3 가상 아이템은 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 제4 가상 아이템은 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -;
디스플레이의 제3 영역에, 제2 시작 타임스탬프로부터 제2 종료 타임스탬프까지의 제2 랙 카메라 피드의 기록에 대응하는 제2 랙 비디오 세그먼트를 표시하도록 동작가능하고,
제2 랙 비디오 세그먼트는 제2 물리적 랙과 연관된 제2 이벤트를 묘사하는, 시스템.
76. 조항 75에 있어서,
제1 물리적 랙과 연관된 이벤트는 제1 물리적 아이템이 제1 물리적 랙의 제1 물리적 선반의 제1 구역으로부터 선택되는 것을 포함하고, 제1 물리적 선반의 제1 구역에 결합된 중량 센서는 제1 물리적 아이템이 제1 물리적 선반으로부터 선택되는 것을 검출하도록 구성되고;
이벤트의 표시는 중량 센서로부터 수신된 정보를 포함하는, 시스템.
77. 조항 76에 있어서, 제1 가상 랙을 표시하는 것에 응답하여, 처리 요소는 제1 가상 선반 상의 제1 가상 아이템을 강조하도록 추가로 동작가능한, 시스템.
78. 조항 75에 있어서, 저장 요소를 더 포함하고,
인터페이스는 물리적 상점에 위치된 제1 카메라에 대응하는 비디오 피드를 수신하도록 추가로 동작가능하고,
처리 요소는,
제1 비디오 세그먼트를 저장 요소에 저장하고 - 제1 비디오 세그먼트는 제1 사람에게 할당되고, 물리적 상점에서의 제1 사람의 쇼핑 세션의 일부분을 캡처하고, 제1 비디오 세그먼트는 시작 타임스탬프로부터 종료 타임스탬프까지의 비디오 피드의 기록에 대응함 -;
제1 비디오 세그먼트에 슬라이더 바를 할당하고 -
슬라이더 바는 제1 비디오 세그먼트의 재생 진행을 제어하고;
이벤트는 제1 시간에 발생하고;
슬라이더 바는 슬라이더 바 상의 제1 시간에 위치된 마커를 포함하고, 마커는 제1 시간에 발생하는 이벤트와 연관되고, 마커는 제1 가상 아이템에 할당된 아이템 식별 번호, 제1 가상 랙에 할당된 랙 식별 번호, 및 제1 가상 랙의 구역에 할당된 구역 식별 번호를 포함하는 메타데이터를 포함하고;
이벤트의 표시는 제1 비디오 세그먼트의 재생 진행이 마커에 도달하는 것을 포함함 -;
제1 가상 랙을 표시하는 것에 응답하여, 메타데이터에 기반하여, 제1 가상 랙 상의 제1 가상 아이템을 강조하도록 추가로 동작가능한, 시스템.
79. 조항 78에 있어서,
슬라이더 바는 슬라이더 바 상의 제2 시간에 위치된 제2 마커를 포함하고, 제2 마커는 제2 시간에 발생하는 제2 이벤트와 연관되고, 제2 이벤트는 제2 물리적 랙과 연관되고, 제2 마커는 제3 가상 아이템에 할당된 제2 아이템 식별 번호, 제2 가상 랙에 할당된 제2 랙 식별 번호, 및 제2 가상 랙의 제2 구역에 할당된 제2 구역 식별 번호를 포함하는 제2 메타데이터를 포함하고;
처리 요소는,
제1 비디오 세그먼트의 재생 진행이 제2 마커에 도달했다고 결정하고;
제1 비디오 세그먼트의 재생 진행이 제2 마커에 도달했다고 결정하는 것에 응답하여,
디스플레이 요소의 제2 영역에, 제2 가상 랙을 표시하고 - 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 제3 가상 선반은 제3 가상 아이템을 포함하고, 제4 가상 선반은 제4 가상 아이템을 포함하고, 제3 가상 아이템은 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 제4 가상 아이템은 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -;
제2 메타데이터에 기반하여, 제2 가상 랙 상의 제3 가상 아이템을 강조하도록 추가로 동작가능한, 시스템.
80. 조항 75에 있어서, 제1 물리적 랙과 연관된 이벤트의 표시는 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반한 이벤트의 검출에 응답하여 알고리즘에 의해 생성된 정보를 포함하는, 시스템.

Claims (20)

  1. 장치로서,
    디스플레이;
    물리적 상점(physical store)에 위치된 랙 카메라(rack camera)로부터 랙 비디오를 수신하도록 구성된 인터페이스 - 상기 랙 카메라는 상기 물리적 상점에 위치된 물리적 랙들의 세트 중의 제1 물리적 랙에 지향되고, 상기 랙 카메라는 상기 물리적 상점에서의 사람의 쇼핑 세션 동안 상기 제1 물리적 랙의 비디오를 캡처하도록 구성됨 -; 및
    상기 디스플레이에 통신가능하게 결합된 하드웨어 프로세서
    를 포함하며, 상기 하드웨어 프로세서는,
    상기 디스플레이의 제1 영역에, 상기 제1 물리적 랙을 에뮬레이팅하도록 구성된 제1 가상 랙을 표시하고 - 상기 제1 가상 랙은 제1 가상 선반(virtual shelf) 및 제2 가상 선반을 포함하고, 상기 제1 가상 선반은 제1 가상 아이템을 포함하고, 상기 제2 가상 선반은 제2 가상 아이템을 포함하고, 상기 제1 가상 아이템은 상기 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템의 그래픽 표현을 포함하고, 상기 제2 가상 아이템은 상기 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템의 그래픽 표현을 포함함 -;
    상기 디스플레이의 제2 영역에 상기 랙 비디오를 표시하고 - 상기 랙 비디오는 상기 사람이 상기 제1 물리적 랙과 상호작용하는 것을 포함하는 이벤트를 묘사함 -;
    상기 디스플레이의 제3 영역에 가상 쇼핑 카트를 표시하고;
    상기 이벤트와 연관된 정보를 수신하고 - 상기 정보는 상기 제1 가상 아이템을 식별하고, 상기 랙 비디오는 상기 사람이 상기 제1 물리적 랙과 상호작용하는 동안 상기 제1 물리적 아이템을 선택하였다는 것을 묘사함 -;
    상기 이벤트와 연관된 상기 정보를 수신하는 것에 응답하여, 상기 제1 가상 아이템을 상기 가상 쇼핑 카트에 저장하고,
    상기 쇼핑 세션이 종료되었다고 결정하는 것에 응답하여, 상기 가상 쇼핑 카트를, 상기 쇼핑 세션 동안 선택되었던 것으로 알고리즘에 의해 결정된 아이템들을 포함하는 알고리즘 쇼핑 카트와 비교하도록 구성되며,
    상기 알고리즘 쇼핑 카트는 상기 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반하여 결정되고, 상기 센서들은 중량 센서들(weight sensors)의 세트를 포함하고, 상기 쇼핑 세션 동안 선택되었던 것으로 상기 알고리즘에 의해 결정된 상기 아이템들의 각각의 아이템은 대응하는 중량 센서가 위치된 물리적 랙의 물리적 선반의 구역에 배치되는, 장치.
  2. 제1항에 있어서,
    상기 인터페이스는 상기 물리적 상점에 위치된 제2 랙 카메라로부터 제2 랙 비디오를 수신하도록 추가로 구성되고, 상기 제2 랙 카메라는 상기 물리적 상점에 위치된 상기 물리적 랙들의 세트 중의 제2 물리적 랙에 지향되고, 상기 제2 랙 카메라는 상기 물리적 상점에서의 상기 사람의 쇼핑 세션 동안 상기 제2 물리적 랙의 비디오를 캡처하도록 구성되고;
    상기 프로세서는,
    상기 디스플레이의 상기 제1 영역에, 상기 제2 물리적 랙을 에뮬레이팅하도록 구성된 제2 가상 랙을 표시하고 - 상기 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 상기 제3 가상 선반은 제3 가상 아이템을 포함하고, 상기 제4 가상 선반은 제4 가상 아이템을 포함하고, 상기 제3 가상 아이템은 상기 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 상기 제4 가상 아이템은 상기 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -;
    상기 디스플레이의 상기 제2 영역에 상기 제2 랙 비디오를 표시하고 - 상기 제2 랙 비디오는 상기 사람이 상기 제2 물리적 랙과 상호작용하는 것을 포함하는 제2 이벤트를 묘사함 -;
    상기 제2 이벤트와 연관된 정보를 수신하고 - 상기 정보는 상기 제3 가상 아이템을 식별하고, 상기 제2 랙 비디오는 상기 사람이 상기 제2 물리적 랙과 상호작용하는 동안 상기 제3 물리적 아이템을 선택하였다는 것을 묘사함 -;
    상기 제2 이벤트와 연관된 상기 정보를 수신하는 것에 응답하여, 상기 제3 가상 아이템을 상기 가상 쇼핑 카트에 저장하도록 추가로 구성되는, 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치한다고 결정하고;
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치한다고 결정하는 것에 응답하여,
    상기 제1 가상 아이템에 할당된 제1 가격 및 상기 제3 가상 아이템에 할당된 제2 가격을 포함하는 영수증을 생성하고;
    상기 영수증을 상기 사람에게 전송하도록 추가로 구성되는, 장치.
  4. 제3항에 있어서,
    상기 센서들은 상기 랙 카메라들과 상이한 알고리즘 카메라들의 어레이를 포함하는, 장치.
  5. 제4항에 있어서,
    상기 알고리즘 쇼핑 카트가 에러를 포함한다고 결정하는 것에 응답하여, 상기 프로세서는,
    상기 에러와 연관된 상기 입력들의 세트의 서브세트를 결정하고 - 상기 서브세트는 상기 알고리즘 카메라들의 어레이로부터 수신된 입력들을 포함함 -;
    메타데이터를 상기 서브세트에 첨부하고 - 상기 메타데이터는 불일치를 설명함 -;
    상기 서브세트를 이용하여 상기 알고리즘을 훈련시키도록 추가로 구성되는, 장치.
  6. 제2항에 있어서,
    상기 프로세서는,
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치하지 않는다고 결정하고;
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치하지 않는다고 결정하는 것에 응답하여,
    상기 알고리즘 쇼핑 카트가 에러를 포함한다고 결정하고;
    상기 알고리즘 쇼핑 카트가 에러를 포함한다고 결정하는 것에 응답하여,
    상기 가상 쇼핑 카트에 기반하여 영수증을 생성하고 - 상기 영수증은 상기 제1 가상 아이템에 할당된 제1 가격 및 상기 제3 가상 아이템에 할당된 제2 가격을 포함함 -;
    상기 영수증을 상기 사람에게 전송하도록 추가로 구성되는, 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치하지 않는다고 결정하고;
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치하지 않는다고 결정하는 것에 응답하여,
    상기 가상 쇼핑 카트가 에러를 포함한다고 결정하고;
    상기 가상 쇼핑 카트가 에러를 포함한다고 결정하는 것에 응답하여,
    상기 알고리즘 쇼핑 카트에 기반하여 영수증을 생성하고 - 상기 영수증은 상기 쇼핑 세션 동안 상기 사람에 의해 선택되었던 것으로 상기 알고리즘에 의해 결정된 상기 아이템들의 가격들을 포함함 -;
    상기 영수증을 상기 사람에게 전송하도록 추가로 구성되는, 장치.
  8. 제1항에 있어서,
    상기 이벤트와 연관된 상기 정보는 상기 제1 가상 아이템을 상기 제1 가상 랙으로부터 제1 가상 카트 내로 드래그 앤 드롭하는 것(dragging and dropping)과 연관된 정보를 포함하는, 장치.
  9. 방법으로서,
    물리적 상점에 위치된 랙 카메라로부터 랙 비디오를 수신하는 단계 - 상기 랙 카메라는 상기 물리적 상점에 위치된 물리적 랙들의 세트 중의 제1 물리적 랙에 지향되고, 상기 랙 카메라는 상기 물리적 상점에서의 사람의 쇼핑 세션 동안 상기 제1 물리적 랙의 비디오를 캡처하도록 구성됨 -;
    디스플레이의 제1 영역에, 상기 제1 물리적 랙을 에뮬레이팅하도록 구성된 제1 가상 랙을 표시하는 단계 - 상기 제1 가상 랙은 제1 가상 선반 및 제2 가상 선반을 포함하고, 상기 제1 가상 선반은 제1 가상 아이템을 포함하고, 상기 제2 가상 선반은 제2 가상 아이템을 포함하고, 상기 제1 가상 아이템은 상기 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템의 그래픽 표현을 포함하고, 상기 제2 가상 아이템은 상기 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템의 그래픽 표현을 포함함 -;
    상기 디스플레이의 제2 영역에 상기 랙 비디오를 표시하는 단계 - 상기 랙 비디오는 상기 사람이 상기 제1 물리적 랙과 상호작용하는 것을 포함하는 이벤트를 묘사함 -;
    상기 디스플레이의 제3 영역에 가상 쇼핑 카트를 표시하는 단계;
    상기 이벤트와 연관된 정보를 수신하는 단계 - 상기 정보는 상기 제1 가상 아이템을 식별하고, 상기 랙 비디오는 상기 사람이 상기 제1 물리적 랙과 상호작용하는 동안 상기 제1 물리적 아이템을 선택하였다는 것을 묘사함 -;
    상기 이벤트와 연관된 상기 정보를 수신하는 것에 응답하여, 상기 제1 가상 아이템을 상기 가상 쇼핑 카트에 저장하는 단계; 및
    상기 쇼핑 세션이 종료되었다고 결정하는 것에 응답하여, 상기 가상 쇼핑 카트를, 상기 쇼핑 세션 동안 선택되었던 것으로 알고리즘에 의해 결정된 아이템들을 포함하는 알고리즘 쇼핑 카트와 비교하는 단계를 포함하고,
    상기 알고리즘 쇼핑 카트는 상기 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반하여 결정되고, 상기 센서들은 중량 센서들의 세트를 포함하고, 상기 쇼핑 세션 동안 선택되었던 것으로 상기 알고리즘에 의해 결정된 상기 아이템들의 각각의 아이템은 대응하는 중량 센서가 위치된 물리적 랙의 물리적 선반의 구역에 배치되는, 방법.
  10. 제9항에 있어서,
    상기 물리적 상점에 위치된 제2 랙 카메라로부터 제2 랙 비디오를 수신하는 단계 - 상기 제2 랙 카메라는 상기 물리적 상점에 위치된 상기 물리적 랙들의 세트 중의 제2 물리적 랙에 지향되고, 상기 제2 랙 카메라는 상기 물리적 상점에서의 상기 사람의 쇼핑 세션 동안 상기 제2 물리적 랙의 비디오를 캡처하도록 구성됨 -;
    상기 디스플레이의 상기 제1 영역에, 상기 제2 물리적 랙을 에뮬레이팅하도록 구성된 제2 가상 랙을 표시하는 단계 - 상기 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 상기 제3 가상 선반은 제3 가상 아이템을 포함하고, 상기 제4 가상 선반은 제4 가상 아이템을 포함하고, 상기 제3 가상 아이템은 상기 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 상기 제4 가상 아이템은 상기 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -;
    상기 디스플레이의 상기 제2 영역에 상기 제2 랙 비디오를 표시하는 단계 - 상기 제2 랙 비디오는 상기 사람이 상기 제2 물리적 랙과 상호작용하는 것을 포함하는 제2 이벤트를 묘사함 -;
    상기 제2 이벤트와 연관된 정보를 수신하는 단계 - 상기 정보는 상기 제3 가상 아이템을 식별하고, 상기 제2 랙 비디오는 상기 사람이 상기 제2 물리적 랙과 상호작용하는 동안 상기 제3 물리적 아이템을 선택하였다는 것을 묘사함 -; 및
    상기 제2 이벤트와 연관된 상기 정보를 수신하는 것에 응답하여, 상기 제3 가상 아이템을 상기 가상 쇼핑 카트에 저장하는 단계
    를 더 포함하는, 방법.
  11. 제10항에 있어서,
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치한다고 결정하는 단계; 및
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치한다고 결정하는 것에 응답하여,
    상기 제1 가상 아이템에 할당된 제1 가격 및 상기 제3 가상 아이템에 할당된 제2 가격을 포함하는 영수증을 생성하는 단계; 및
    상기 영수증을 상기 사람에게 전송하는 단계
    를 더 포함하는, 방법.
  12. 제11항에 있어서,
    상기 센서들은 상기 랙 카메라들과 상이한 알고리즘 카메라들의 어레이를 포함하는, 방법.
  13. 제12항에 있어서,
    상기 알고리즘 쇼핑 카트가 에러를 포함한다고 결정하는 것에 응답하여,
    상기 에러와 연관된 상기 입력들의 세트의 서브세트를 결정하는 단계 - 상기 서브세트는 상기 알고리즘 카메라들의 어레이로부터 수신된 입력들을 포함함 -;
    메타데이터를 상기 서브세트에 첨부하는 단계 - 상기 메타데이터는 불일치를 설명함 -; 및
    상기 서브세트를 이용하여 상기 알고리즘을 훈련시키는 단계
    를 더 포함하는, 방법.
  14. 제10항에 있어서,
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치하지 않는다고 결정하는 단계; 및
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치하지 않는다고 결정하는 것에 응답하여,
    상기 알고리즘 쇼핑 카트가 에러를 포함한다고 결정하는 단계; 및
    상기 알고리즘 쇼핑 카트가 에러를 포함한다고 결정하는 것에 응답하여,
    상기 가상 쇼핑 카트에 기반하여 영수증을 생성하는 단계 - 상기 영수증은 상기 제1 가상 아이템에 할당된 제1 가격 및 상기 제3 가상 아이템에 할당된 제2 가격을 포함함 -; 및
    상기 영수증을 상기 사람에게 전송하는 단계
    를 더 포함하는, 방법.
  15. 제9항에 있어서,
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치하지 않는다고 결정하는 단계; 및
    상기 가상 쇼핑 카트가 상기 알고리즘 쇼핑 카트와 일치하지 않는다고 결정하는 것에 응답하여,
    상기 가상 쇼핑 카트가 에러를 포함한다고 결정하는 단계; 및
    상기 가상 쇼핑 카트가 에러를 포함한다고 결정하는 것에 응답하여,
    상기 알고리즘 쇼핑 카트에 기반하여 영수증을 생성하는 단계 - 상기 영수증은 상기 쇼핑 세션 동안 상기 사람에 의해 선택되었던 것으로 상기 알고리즘에 의해 결정된 상기 아이템들의 가격들을 포함함 -; 및
    상기 영수증을 상기 사람에게 전송하는 단계
    를 더 포함하는, 방법.
  16. 제9항에 있어서,
    상기 이벤트와 연관된 상기 정보는 상기 제1 가상 아이템을 상기 제1 가상 랙으로부터 제1 가상 카트 내로 드래그 앤 드롭하는 것과 연관된 정보를 포함하는, 방법.
  17. 시스템으로서,
    디스플레이 요소;
    인터페이스; 및
    상기 디스플레이 요소에 통신가능하게 결합된 처리 요소
    를 포함하며, 상기 인터페이스는,
    물리적 상점에 위치된 랙 카메라로부터 랙 비디오를 수신하고 - 상기 랙 카메라는 상기 물리적 상점에 위치된 물리적 랙들의 세트 중의 제1 물리적 랙에 지향되고, 상기 랙 카메라는 상기 물리적 상점에서의 사람의 쇼핑 세션 동안 상기 제1 물리적 랙의 비디오를 캡처하도록 구성됨 -;
    상기 물리적 상점에 위치된 제2 랙 카메라로부터 제2 랙 비디오를 수신하도록 동작가능하고, 상기 제2 랙 카메라는 상기 물리적 상점에 위치된 상기 물리적 랙들의 세트 중의 제2 물리적 랙에 지향되고, 상기 제2 랙 카메라는 상기 물리적 상점에서의 상기 사람의 쇼핑 세션 동안 상기 제2 물리적 랙의 비디오를 캡처하도록 구성되고;
    상기 처리 요소는,
    디스플레이의 제1 영역에, 상기 제1 물리적 랙을 에뮬레이팅하도록 구성된 제1 가상 랙을 표시하고 - 상기 제1 가상 랙은 제1 가상 선반 및 제2 가상 선반을 포함하고, 상기 제1 가상 선반은 제1 가상 아이템을 포함하고, 상기 제2 가상 선반은 제2 가상 아이템을 포함하고, 상기 제1 가상 아이템은 상기 제1 물리적 랙의 제1 물리적 선반 상에 위치된 제1 물리적 아이템의 그래픽 표현을 포함하고, 상기 제2 가상 아이템은 상기 제1 물리적 랙의 제2 물리적 선반 상에 위치된 제2 물리적 아이템의 그래픽 표현을 포함함 -;
    상기 디스플레이의 제2 영역에 상기 랙 비디오를 표시하고 - 상기 랙 비디오는 상기 사람이 상기 제1 물리적 랙과 상호작용하는 것을 포함하는 이벤트를 묘사함 -;
    상기 디스플레이의 제3 영역에 가상 쇼핑 카트를 표시하고;
    상기 이벤트와 연관된 정보를 수신하고 - 상기 정보는 상기 제1 가상 아이템을 식별하고, 상기 랙 비디오는 상기 사람이 상기 제1 물리적 랙과 상호작용하는 동안 상기 제1 물리적 아이템을 선택하였다는 것을 묘사함 -;
    상기 이벤트와 연관된 상기 정보를 수신하는 것에 응답하여, 상기 제1 가상 아이템을 상기 가상 쇼핑 카트에 저장하고;
    상기 디스플레이의 상기 제1 영역에, 상기 제2 물리적 랙을 에뮬레이팅하도록 구성된 제2 가상 랙을 표시하고 - 상기 제2 가상 랙은 제3 가상 선반 및 제4 가상 선반을 포함하고, 상기 제3 가상 선반은 제3 가상 아이템을 포함하고, 상기 제4 가상 선반은 제4 가상 아이템을 포함하고, 상기 제3 가상 아이템은 상기 제2 물리적 랙의 제3 물리적 선반 상에 위치된 제3 물리적 아이템의 그래픽 표현을 포함하고, 상기 제4 가상 아이템은 상기 제2 물리적 랙의 제4 물리적 선반 상에 위치된 제4 물리적 아이템의 그래픽 표현을 포함함 -;
    상기 디스플레이의 상기 제2 영역에 상기 제2 랙 비디오를 표시하고 - 상기 제2 랙 비디오는 상기 사람이 상기 제2 물리적 랙과 상호작용하는 것을 포함하는 제2 이벤트를 묘사함 -;
    상기 제2 이벤트와 연관된 정보를 수신하고 - 상기 정보는 상기 제3 가상 아이템을 식별하고, 상기 제2 랙 비디오는 상기 사람이 상기 제2 물리적 랙과 상호작용하는 동안 상기 제3 물리적 아이템을 선택하였다는 것을 묘사함 -;
    상기 제2 이벤트와 연관된 상기 정보를 수신하는 것에 응답하여, 상기 제3 가상 아이템을 상기 가상 쇼핑 카트에 저장하고;
    상기 쇼핑 세션이 종료되었다고 결정하고;
    상기 쇼핑 세션이 종료되었다고 결정하는 것에 응답하여,
    상기 가상 쇼핑 카트를, 상기 쇼핑 세션 동안 선택되었던 것으로 알고리즘에 의해 결정된 아이템들을 포함하는 알고리즘 쇼핑 카트와 비교하고 - 상기 알고리즘 쇼핑 카트는 상기 물리적 상점 내에 위치된 센서들로부터 수신된 입력들의 세트에 기반하여 결정되고, 상기 센서들은, 상기 랙 카메라들과 상이한 알고리즘 카메라들의 어레이, 및 중량 센서들의 세트를 포함하고, 상기 쇼핑 세션 동안 선택되었던 것으로 상기 알고리즘에 의해 결정된 상기 아이템들의 각각의 아이템은 상기 중량 센서들의 세트 중의 대응하는 중량 센서가 위치된 상기 제1 물리적 선반 또는 상기 제2 물리적 선반의 구역에 배치됨 -;
    상기 가상 쇼핑 카트를 상기 알고리즘 쇼핑 카트와 비교하는 것에 응답하여,
    상기 쇼핑 세션에 대한 영수증을 생성하고;
    상기 영수증을 상기 사람에게 전송하도록 동작가능한, 시스템.
  18. 제17항에 있어서,
    상기 영수증은 상기 제1 가상 아이템에 할당된 제1 가격 및 상기 제3 가상 아이템에 할당된 제2 가격을 포함하는, 시스템.
  19. 제17항에 있어서,
    상기 가상 쇼핑 카트를 상기 알고리즘 쇼핑 카트와 비교하는 것에 응답하여, 상기 처리 요소는,
    상기 알고리즘 쇼핑 카트가 에러를 포함한다고 결정하고;
    상기 에러와 연관된 상기 입력들의 세트의 서브세트를 결정하고 - 상기 서브세트는 상기 알고리즘 카메라들의 어레이로부터 수신된 입력들을 포함함 -;
    메타데이터를 상기 서브세트에 첨부하고 - 상기 메타데이터는 불일치를 설명함 -;
    상기 서브세트를 이용하여 상기 알고리즘을 훈련시키도록 추가로 동작가능한, 시스템.
  20. 제17항에 있어서,
    상기 이벤트와 연관된 상기 정보는 상기 제1 가상 아이템을 상기 제1 가상 랙으로부터 제1 가상 카트 내로 드래그 앤 드롭하는 것과 연관된 정보를 포함하는, 시스템.
KR1020227017402A 2019-10-25 2020-10-23 물리적 상점에서의 고객의 쇼핑 세션의 비디오에 기반하여 가상 쇼핑 카트를 채우기 위한 시스템 및 방법 KR102634141B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US16/663,589 2019-10-25
US16/664,490 2019-10-25
US16/663,589 US10861085B1 (en) 2019-10-25 2019-10-25 Apparatus, system and method for populating a virtual shopping cart based on video of a customers shopping session at a physical store
US16/664,470 2019-10-25
US16/663,564 2019-10-25
US16/663,564 US10607080B1 (en) 2019-10-25 2019-10-25 Feedback and training for a machine learning algorithm configured to determine customer purchases during a shopping session at a physical store
US16/664,470 US10922555B1 (en) 2019-10-25 2019-10-25 Customer-based video feed
US16/664,529 2019-10-25
US16/664,529 US11798065B2 (en) 2019-10-25 2019-10-25 Tool for generating a virtual store that emulates a physical store
US16/664,490 US11100717B2 (en) 2019-10-25 2019-10-25 System and method for presenting a virtual store shelf that emulates a physical store shelf
PCT/US2020/057048 WO2021081319A1 (en) 2019-10-25 2020-10-23 System and method for populating a virtual shopping cart based on video of a customer's shopping session at a physical store

Publications (2)

Publication Number Publication Date
KR20220082919A KR20220082919A (ko) 2022-06-17
KR102634141B1 true KR102634141B1 (ko) 2024-02-07

Family

ID=73449221

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227017402A KR102634141B1 (ko) 2019-10-25 2020-10-23 물리적 상점에서의 고객의 쇼핑 세션의 비디오에 기반하여 가상 쇼핑 카트를 채우기 위한 시스템 및 방법

Country Status (7)

Country Link
EP (1) EP4049250B1 (ko)
JP (1) JP7440627B2 (ko)
KR (1) KR102634141B1 (ko)
CN (1) CN114830200A (ko)
CA (1) CA3165136A1 (ko)
MX (1) MX2022004899A (ko)
WO (1) WO2021081319A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120215656A1 (en) 2011-02-23 2012-08-23 Liang Light Chen Drag-and-drop internet shopping with an embedded shopping cart view
US20190378205A1 (en) 2016-05-09 2019-12-12 Grabango Co. Computer vision system and method for automatic checkout

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177463A1 (en) * 2004-02-10 2005-08-11 Crutchfield William G.Jr. Virtual showroom for interactive electronic shopping
US7178722B2 (en) * 2004-12-09 2007-02-20 International Business Machines Corporation Virtual shopping environment
US20070073717A1 (en) * 2005-09-14 2007-03-29 Jorey Ramer Mobile comparison shopping
WO2009120616A1 (en) * 2008-03-25 2009-10-01 Wms Gaming, Inc. Generating casino floor maps
US8112920B2 (en) * 2008-07-03 2012-02-14 7-Eleven, Inc. Rolling information display for roller grill
US20130110666A1 (en) * 2011-10-28 2013-05-02 Adidas Ag Interactive retail system
US10083430B2 (en) * 2012-06-08 2018-09-25 Ronny Hay Computer-controlled, unattended, automated checkout store outlet system and related method
RU2671767C2 (ru) * 2013-04-08 2018-11-06 Ронни ХЕЙ Управляемый компьютером киоск с автоматической оплатой, не требующий присутствия продавца
US9473747B2 (en) * 2013-07-25 2016-10-18 Ncr Corporation Whole store scanner
US20150161712A1 (en) * 2013-12-10 2015-06-11 12 Retail (HK) Limited Unifying shopping experience system
WO2015163460A1 (ja) 2014-04-25 2015-10-29 佳弘 東 決済支援装置、決済支援方法及びプログラム
JP5704279B1 (ja) 2014-10-14 2015-04-22 富士ゼロックス株式会社 関連付プログラム及び情報処理装置
US10368057B1 (en) * 2016-09-28 2019-07-30 Amazon Technologies, Inc. Synchronizing data streams
CA3052292A1 (en) * 2017-02-10 2018-08-16 Grabango Co. A dynamic customer checkout experience within an automated shopping environment
US20180240180A1 (en) * 2017-02-20 2018-08-23 Grabango Co. Contextually aware customer item entry for autonomous shopping applications
CN108269371B (zh) * 2017-09-27 2020-04-03 缤果可为(北京)科技有限公司 商品自动结算方法、装置、自助收银台
US10963704B2 (en) * 2017-10-16 2021-03-30 Grabango Co. Multiple-factor verification for vision-based systems
US20210027318A1 (en) 2018-03-20 2021-01-28 Nec Corporation Store management device and store management method
US10373322B1 (en) * 2018-07-16 2019-08-06 Accel Robotics Corporation Autonomous store system that analyzes camera images to track people and their interactions with items

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120215656A1 (en) 2011-02-23 2012-08-23 Liang Light Chen Drag-and-drop internet shopping with an embedded shopping cart view
US20190378205A1 (en) 2016-05-09 2019-12-12 Grabango Co. Computer vision system and method for automatic checkout

Also Published As

Publication number Publication date
KR20220082919A (ko) 2022-06-17
JP2022553542A (ja) 2022-12-23
MX2022004899A (es) 2022-05-16
JP7440627B2 (ja) 2024-02-28
WO2021081319A1 (en) 2021-04-29
EP4049250A1 (en) 2022-08-31
EP4049250B1 (en) 2024-05-29
CA3165136A1 (en) 2021-04-29
CN114830200A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US10810428B1 (en) Feedback and training for a machine learning algorithm configured to determine customer purchases during a shopping session at a physical store
US11657584B2 (en) System and method for presenting a virtual store shelf that emulates a physical store shelf
US10861085B1 (en) Apparatus, system and method for populating a virtual shopping cart based on video of a customers shopping session at a physical store
US11151388B2 (en) Customer-based video feed
US11798065B2 (en) Tool for generating a virtual store that emulates a physical store
US11023728B1 (en) Machine learning algorithm trained to identify algorithmically populated shopping carts as candidates for verification
CN108175227A (zh) 货架控制方法、装置和电子设备
US11995684B2 (en) System and method for populating a virtual shopping cart based on a verification of algorithmic determinations of items selected during a shopping session in a physical store
KR102187773B1 (ko) Ai카메라를 이용한 광고 송출 시스템
US20220180424A1 (en) System and method for populating a virtual shopping cart based on video of a customer's shopping session at a physical store
KR102634141B1 (ko) 물리적 상점에서의 고객의 쇼핑 세션의 비디오에 기반하여 가상 쇼핑 카트를 채우기 위한 시스템 및 방법
US11475656B2 (en) System and method for selectively verifying algorithmically populated shopping carts
US11386647B2 (en) System and method for processing a refund request arising from a shopping session in a cashierless store
WO2022115841A1 (en) System and method for selectively verifying algorithmically populated shopping carts
CN208625093U (zh) 货架
JP2012216117A (ja) 販売支援装置、販売支援装置システム、販売支援装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right