SYSTEM AND METHOD FOR FILLING A VIRTUAL SHOPPING CART BASED ON A VIDEO OF A CUSTOMER'S PURCHASE SESSION IN A PHYSICAL STORE
Patent Information
- Authority / Receiving Office
- MX · MX
- Patent Type
- Patents
- Current Assignee / Owner
- 7-ELEVEN INC
- Filing Date
- 2022-04-22
- Publication Date
- 2026-05-19
AI Technical Summary
Traditional shopping experiences in physical stores are inefficient, with customers facing long wait times at checkout and stores requiring staff presence even during off-hours, leading to wasted time and resources.
A virtual store tool that generates a virtual shopping cart based on video analysis of a customer's shopping session, using cameras to track items selected and automate the checkout process, allowing remote monitoring and verification through algorithms.
Reduces processing resources and enhances shopping efficiency by automating checkout and providing independent verification, minimizing wait times and staff requirements.
Smart Images

Figure MX434176B0
Abstract
Description
SYSTEM AND METHOD FOR FILLING A VIRTUAL SHOPPING CART BASED ON A VIDEO OF A CUSTOMER'S PURCHASING SESSION IN A PHYSICAL STORE DESCRIPTION OF THE INVENTION This disclosure relates generally to remote monitoring techniques and, more particularly, to a system and method for filling a virtual shopping cart based on a video of a customer's shopping session in a physical store. During a traditional shopping session in a physical store, a customer selects items from shelves located inside the store and then presents those items to a cashier. The cashier generates an invoice for the items and receives payment from the customer. Any cameras located inside the store are typically featured for security purposes. Shopping sessions in brick-and-mortar stores can be associated with several inefficiencies for both customers and store owners. For example, during busy periods in a store, a customer may spend considerable time waiting in line to pay the cashier for the items he or she has selected. The wait time may even exceed the total time the customer spent selecting the items. This can lead to customer frustration and potentially loss of business. As another example, brick-and-mortar stores typically rely on the presence of one or more employees who act as cashiers within the stores. Even when the store is empty, such employees are present, in case a customer enters the store to make a purchase. As a result, outside of business hours, much of a cashier's time in a store can be spent doing nothing. This description contemplates a virtual store tool that addresses one or more of the above technical problems. The tool generates a virtual store configured to emulate a physical store. The tool also generates a set of videos from images received from cameras located in the physical store, to track a customer during a shopping session in the physical store. In certain embodiments, the tool then uses the virtual store and videos of a shopping session in the physical store to generate a virtual shopping cart, which stores a set of items configured to emulate the items selected by the customer in the physical store. . Therefore, the tool can use the virtual shopping cart to charge the customer for their purchases. In some embodiments, the tool may also be used in conjunction with a trained algorithm to determine the items selected by a customer during a shopping session in a physical store, based on inputs received from sensors located in the physical store. In such modalities, the tool uses the virtual store and videos of a shopping session in the physical store to verify the determination made by the algorithm. Some modalities of the tool are described below. According to one embodiment, an apparatus includes an interface, a display, a memory, and a hardware processor communicatively coupled to the memory and the display. The interface receives a first video feed. The first video feed includes a first camera feed corresponding to a first camera located in a physical store and a second camera corresponding to a second camera located in the physical store. The first camera is directed to a first location in the physical store. The second camera is directed to a second location in the physical store. The hardware processor stores a first video segment in memory. The first video segment is assigned to a first person and captures a portion of a shopping session of the first person in the physical store that occurs during a time interval between a start timestamp and an end timestamp. The first video segment includes a first camera feed segment corresponding to a recording of the first camera feed from the start timestamp to the end timestamp, and a second camera feed segment "RQbnn / zznz / E / Y corresponding to a recording of the second camera feed from the start timestamp to the end timestamp. The processor also assigns a first slider bar to the first video segment. The playback of the first camera feed segment and the second camera feed segment is synchronized, and the first slider bar controls the playback progress of the first camera feed segment and the second camera feed segment. The processor additionally displays the first camera segment and a first copy of the first slider bar in a first region of the screen. The processor additionally displays the second camera feed segment and a second copy of the first slider bar in a second region of the display. The processor also receives an instruction from at least one of the first copies of the first slider bar and the second copy of the first slider bar to adjust the playback progress of the first camera feed segment and the second camera feed segment. camera. In response to receiving the instruction, the processor adjusts the playback progress of the first camera feed segment and the second camera feed segment. According to another embodiment, an apparatus includes a display, an interface, and a hardware processor "RQbnn / zznz / E / Y" RQbnn / zznz / E / Y communicatively coupled to the display. The interface receives a shelf camera feed from a shelf camera located in a physical store. The shelf camera is directed to a first physical shelf of a set of physical shelves located in the physical store. The hardware processor displays, in a first region of the screen, a virtual layout of a virtual store. The virtual layout is set up to emulate a physical layout of the physical store. The virtual layout includes a first virtual shelf mapped to a first physical shelf and a second virtual shelf mapped to a second physical shelf. Here, an arrangement of the first virtual shelf and the second virtual shelf in the virtual arrangement is configured to emulate an arrangement of the first physical shelf and the second physical shelf in the physical arrangement. The processor also receives an indication of an event associated with the first physical shelf. The event includes a person located in the physical store interacting with the first physical shelf. In response to receiving the event indication associated with the first physical shelf, the processor displays, in a second region of the display, the first virtual shelf. The first virtual shelf includes a first virtual shelf and a second virtual shelf. The first virtual shelf includes a first virtual item and the second virtual shelf includes a second virtual item. The first virtual item includes a graphical representation of a first physical item located on a first physical shelf of the first physical shelf and the second virtual item includes a graphical representation of a second physical item located on a second physical shelf of the first physical shelf. The processor additionally displays, in a third region of the display, a segment of shelf video corresponding to a recording of the shelf camera feed from a start timestamp to an end timestamp. The shelf video segment shows the event associated with the first physical shelf. According to another embodiment, an apparatus includes a display, an interface, and a hardware processor communicatively coupled to the display. The interface receives shelf video from a shelf camera located in a physical store. The shelf camera is directed to a first physical shelf of a set of physical shelves located in the physical store. The shelf camera captures video of the first physical shelf during a person's shopping session in the physical store. The processor displays, in a first region of the screen, a first virtual shelf that emulates the first physical shelf. The first virtual shelf includes a first virtual shelf and a second virtual shelf. The first virtual shelf includes a first virtual item and the second virtual shelf includes a second virtual item. The first virtual item includes a graphical representation of a first physical item located on a first physical shelf of the first physical shelf and the second virtual item includes a graphical representation of a second physical item located on a second physical shelf of the first physical shelf. The processor also displays, in a second region of the screen, the video from the shelf. The shelf video shows an event that includes the person's interaction with the first physical shelf. The processor additionally displays, in a third region of the screen, a virtual shopping cart. The processor also receives information associated with the event. The information identifies the first virtual item, and the video of the shelf shows that the person has selected the first physical item while interacting with the first physical shelf. In response to receiving information associated with the event, the processor stores the first virtual item in the virtual shopping cart. According to another embodiment, an apparatus configured to create a virtual layout of a virtual store to emulate a physical layout of a physical store includes a memory and a hardware processor communicatively coupled to the memory. The hardware processor receives a first physical position and a first physical orientation associated with a first physical shelf located in the physical store. In response to receiving the first physical position and the first physical orientation, the processor places a first virtual shelf in a first virtual position and with a first virtual orientation in the virtual layout. The first virtual position of the first virtual shelf in the virtual layout represents the first physical position of the first physical shelf in the physical layout and the first virtual orientation of the first virtual shelf in the virtual layout represents the first physical orientation of the first shelf physics in the physical layout. The processor also receives a first virtual item associated with a first physical item located on a first physical shelf of the first physical shelf. In response to receiving the first virtual item, the processor places the first virtual item on a first virtual shelf of the first virtual shelf. The first virtual shelf of the first virtual shelf represents the first physical shelf of the first physical shelf. The processor additionally receives a second virtual item associated with a second physical item located on a second physical shelf of the first physical shelf. In response to receiving the second virtual item, the processor places the second virtual item on a second virtual shelf of the first virtual shelf. The second virtual shelf of the first virtual shelf represents the second physical shelf of the first virtual shelf. The processor further assigns a first shelf camera located in the physical store to the first virtual shelf. The first shelf camera captures video that includes the first physical shelf. The processor also stores the virtual layout in memory. According to another embodiment, an apparatus includes a hardware processor. The processor receives an algorithmic shopping cart that includes a first set of items. An algorithm determines that the first set of items has been selected by a first person during a shopping session in a physical store, based on a set of inputs received from sensors located within the physical store. The processor also receives a virtual shopping cart that includes a second set of items associated with the shopping session. Video of a shopping session is captured by an array of cameras located in the physical store. The video shows the person selecting the second set of items. The processor additionally compares the algorithmic shopping cart with the virtual shopping cart. In response to the comparison of the algorithmic shopping cart with the virtual shopping cart, the processor determines that a discrepancy exists between the algorithmic shopping cart and the virtual shopping cart. The processor further determines a subset of the set of inputs associated with the discrepancy. The processor also attaches metadata to the subset. The metadata explains the discrepancy. The processor additionally uses the subset to train the algorithm. Certain embodiments provide one or more technical advantages. For example, one embodiment reduces the processing resources spent when reviewing surveillance video of a customer in a store by presenting multiple camera views of the store at once, synchronized with each other, and configured to capture the shopping session. the client's. As another example, one modality increases the efficiency of a shopping session through the use of automation and remote monitoring techniques. As another example, one embodiment provides independent verification of a machine learning tracking algorithm configured to follow a customer in a physical store. The system described in this description can be particularly integrated into a practical application of a remote monitoring system for a physical location, such as a store, where inputs from sensors located in the store can be used to monitor and track events occurring within. of the store. «RQbnn / zznz / E / Y Certain modalities may not include any, some or all of the technical advantages mentioned. One or more technical advantages may be readily apparent to one skilled in the art from the figures, descriptions and claims included herein. BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of this description, reference is now made to the following description, taken together with the attached drawings, in which: FIGURES 1A and IB present a comparison between a physical store and a virtual store; FIGURES 2A and 2B present a comparison between a physical layout of a physical store and a virtual layout of a virtual store; FIGURES 3A and 3B present a comparison between a physical shelf of a physical store and a virtual shelf of a virtual store; FIGURE 4 illustrates an exemplary system according to this description; FIGURE 5A illustrates examples of placement in a physical store of cameras configured to capture regions of the store for use in the system illustrated in FIGURE 4; FIGURE 5B illustrates an example of the regions of a physical store captured by the layout cameras of the system illustrated in FIGURE 4; «RQbnn / zznz / E / Y FIGURE 6 illustrates the video processor component of the virtual store tool of the system illustrated in FIGURE 4; FIGURES 7A to 7C present an example illustrating how the virtual store tool of the system illustrated in FIGURE 4 displays camera feed segments associated with the layout cameras and shelving cameras of the system illustrated in FIGURE 4 ; FIGURE 8 presents a flowchart illustrating the process by which the virtual store tool of the system illustrated in FIGURE 4 generates and displays camera feed segments associated with the layout cameras and the shelf cameras of the system illustrated in FIGURE 4; FIGURES 9A to 9D present examples illustrating how the virtual store tool of the system illustrated in FIGURE 4 can virtually emulate a shopping session that occurs in a physical store; FIGURE 10 presents a flowchart illustrating how the virtual store tool of the system illustrated in FIGURE 4 can virtually emulate a shopping session that occurs in a physical store; FIGURES 11A and 11B illustrate an example embodiment of a graphical user interface generated by the virtual store tool of the system illustrated in "RQbnn / zznz / E / Y FIGURE 4, which can be used to generate a virtual layout configured to emulate a physical layout of a physical store; FIGURE 12 presents a flowchart illustrating how the virtual store tool of the system illustrated in FIGURE 4 can generate a virtual layout configured to emulate a physical layout of a physical store; FIGURES 13A and 13B present examples of sensors that can be used to provide input to an algorithm configured to determine the items selected by a customer during a shopping session in a physical store; FIGURES 13C and 13D illustrate an example of the use of sensors attached to a physical shelf in a physical store to define zones of the physical shelf and its corresponding virtual shelf; FIGURE 14 illustrates a resolution component of the virtual store tool of the system illustrated in FIGURE 4; FIGURE 15 illustrates a machine learning component of the virtual store tool of the system illustrated in FIGURE 4; and FIGURE 16 presents a flow chart illustrating how the virtual store tool of the system illustrated in FIGURE 4 can provide feedback to an algorithm configured to determine the items selected by a customer during a shopping session in a store. physical. The embodiments of this description and its advantages can be understood with reference to FIGURES 1 to 16 of the drawings, with similar numbers being used for similar and corresponding parts of the various drawings. Additional information is described in United States Patent Application No. titled, Scalable Position Tracking System for Position Tracking in Large Spaces (Attorney File No. 090278.0176) and United States Patent Application No. titled, Top view of object tracking using an array of sensors (Attorney File No. 090278.0180) which are incorporated herein by reference as if reproduced in their entirety. I. Introduction to virtual emulation This description is generally directed to generating a virtual store that is configured to emulate a physical store, and to using the virtual store, together with videos of a shopping session that occurs within the physical store, to virtually emulate the session. physical purchase. Although this description describes the virtual emulation of a physical store, this description contemplates that any type of physical space (for example, a warehouse, a storage center, an amusement park, an airport, an office building, etc.) can emulated virtually using the tool described in this description. For example, the physical store may be a convenience store or a grocery store. This description also contemplates that the physical store may not be a physical building, but rather a physical space or environment in which buyers can shop. For example, the physical store could be a grab-and-go pantry at an airport, a kiosk in an office building, or an outdoor market in a park, etc. As illustrated in FIGURE 1A, a physical store 100 is a brick and mortar store, that is, a store that is located in a physical building. Customers 105 (who may carry mobile devices 125) enter the physical store 100 to purchase items. On the other hand, a virtual store 110 is a computer representation of a physical store, displayed on a computer or other device 115 belonging to a user 120, as illustrated in FIGURE IB. This description contemplates that user 120 may use virtual store 100 to emulate a shopping session of customer 105 in physical store 100. The virtual store 110 may be generated locally on the device 115 or generated remotely and transmitted over a network to the device 115. The virtual store 110 can be configured to emulate the physical store 100 in several different ways. For example, in certain embodiments, and as illustrated in FIGURES 2A and 2B, the virtual layout 205 of the virtual store 110 is configured to emulate the physical layout 200 of the physical store 100. In particular, the shape, location and orientation of the virtual display shelves 230a, 230b, 230c and 230d are configured to emulate the shape, location and orientation of the physical display shelves 210a, 210b, 210c and 210d. For example, in the example illustrated in FIGURE 2A, physical display shelves 210a and 210b are located along the rear wall 235a of the physical layout 200 of the physical store 100. Accordingly, the virtual display shelves 230a and 230b are positioned along the rear wall 240a of the virtual layout 205 of the virtual store 110, to emulate the location and orientation of the physical display shelves 210a and 210b. Similarly, the virtual display shelf 230d is positioned along the side wall 240b of the virtual layout 205, to emulate the position and orientation of the physical display shelf 210d along the side wall 235b, and the Virtual display shelf 230c is placed in the center of the virtual layout 205, to emulate the position and orientation of the physical display shelf 210c. As another example, in some embodiments, the content of virtual display shelves 230a, 230b, 230c, and 230d is configured to emulate the content of physical display shelves 210a, 210b, 210c, and 210d. For example, in certain embodiments, the virtual display shelves 230a, 230b, 230c and 230d are assigned an item list, wherein the item list includes the items stored on the shelves 210a, 210b, 210c and 210d physics, respectively. In other embodiments, each virtual display shelf is assigned a set of virtual shelves, where the number and placement of the virtual shelves on the virtual display shelf are configured to emulate the number and placement of physical shelves on the virtual display shelf. corresponding physical display shelf. Each virtual shelf in the set of virtual shelves then holds a set of virtual items that is configured to emulate the set of physical items stored on a corresponding physical shelf. Here, virtual items can be configured to emulate physical items in terms of appearance and / or placement on the virtual shelf. As a specific example, FIGURES 3A and 3B present a comparison between physical display shelf 210a and virtual display shelf 230a in one embodiment. As seen in FIGURE 3A, the physical display shelf 210a includes two physical shelves - the first physical shelf 305a and the second shelf "RQbnn / zznz / E / Y" RQbnn / zznz / E / Y 305b physical. Accordingly, to emulate the physical display shelf 210a, the virtual display shelf 230a also includes two shelves - the first virtual shelf 310a and the second virtual shelf 310b. Additionally, each of the virtual shelves 310a and 310b includes a set of virtual items configured to emulate the physical items stored on the corresponding physical shelf of the physical shelves 305a and 305b. For example, the virtual shelf 310a includes the first virtual item 320a, located in the first virtual area 330a of the virtual shelf 310a, the second virtual item 320b, located in the second virtual area 330b of the virtual shelf 310a, and the third virtual item 320c , located in the third virtual area 330c of the virtual shelf 310a, positioned to emulate the positioning of the first physical item 315a in the first physical area 325a of the physical shelf 305a, the second physical item 315b in the second physical area 325b of the physical shelf 305a, and the third physical item 315c in the third physical zone 325c of the physical shelf 305a. Similarly, the virtual shelf 310b includes the fourth virtual item 320d, the fifth virtual item 320e, and the sixth virtual item 320f, located, respectively, in the fourth virtual zone 330d, the fifth virtual zone 330e, and the sixth virtual zone 330f of the virtual shelf 310b, to emulate the positioning of the fourth physical item 315d, the fifth physical item 315e and the sixth physical item 315f in the "RQbnn / zznz / E / Y fourth physical zone 325d, the fifth physical zone 325e and the sixth zone 325f physical rack 305b physical. Additionally, each of the virtual items 320a to 320f is configured to emulate the appearance of the corresponding physical item 315a, 315b, 315c, 315d, 315e, or 315f. For example, each virtual item may correspond to a two-dimensional graphical representation of the corresponding physical item. In this way, a virtual item can be easily identified based on the appearance of its physical counterpart in the real world. II. System Overview FIGURE 4 illustrates an exemplary system 400 that includes virtual store tool 405, device 115, display 410, network 430a, network 430b, layout cameras 490, and shelf cameras 495. In certain embodiments, the system 400 additionally includes an external system 485 and sensors 498. Generally, the virtual store tool 405 is configured to generate a virtual store 110 that emulates a physical store 100. In certain embodiments, the virtual store tool 405 uses the virtual store 110 to generate a receipt for a shopping session conducted by a person 105 at the physical store 100, based in part on the received tracking videos of a shopping session. from the layout cameras 490 and / or the shelving cameras 495 located in the physical store 100. In some embodiments, the virtual store tool 405 uses the virtual store 110 and videos received from the layout cameras 490 and the shelf cameras 495 to validate a determination made by an algorithm 488 of the items selected by the person 105 during the shopping session in the 100 physical store. Device 115 includes any device appropriate for communicating with system components 400 over network 430a. For example, device 115 may be a telephone, a mobile phone, a computer, a laptop, a wireless or cellular phone, a tablet, a server, an IoT device, and / or an automated assistant, among others. This description contemplates device 115 being any device suitable for sending and receiving communications over network 430a. Device 115 may also include a user interface, such as a microphone, keyboard, or other appropriate terminal equipment usable by user 120. In some embodiments, an application executed by a processor of device 115 may perform the functions described herein. The device 115 may include or be coupled to the display 410. The display 410 is a display used by the device 115 to display information received from the virtual store tool 405. In certain embodiments, display 410 is a standard display used in a laptop-type computer. In certain additional embodiments, the display 410 is an external display device connected to a laptop or desktop computer. In additional embodiments, the display 410 is a standard touch liquid crystal display found on a typical smartphone or tablet. As illustrated in FIGURE 4, in certain embodiments, the display 410 may present camera feed segments 415a to 415f, virtual layout 205, virtual shelf 230, virtual shopping cart 420, and / or camera feed segment 425. shelving. The camera feed segments 415a to 415f are camera feed video recordings received by the virtual store tool 405 from the layout cameras 490 located in the physical store 100, and are assigned to a person 105 conducting a session of buy in the 100 physical store. The method by which the virtual store tool 405 generates the camera feed segments 415a to 415f and displays the camera feed segments 415a to 415f on the display 410 is described in more detail below, in the description of the FIGURES 5 to 8. The virtual layout 205 is assigned to the particular physical store 100 from which the virtual store tool 405 received the camera feeds associated with the camera feed segments 415a to 415f, and is configured to emulate the physical layout 200 of that store. physical. The method by which the virtual store tool 405 generates the virtual layout 205 is described in more detail below in the description of FIGURES 11 and 12. The virtual shelf 230 corresponds to one of the virtual shelves included in the virtual layout 205 and is configured to emulate a physical shelf 210 in the physical store 100. Accordingly, the virtual shelf 230 displays a set of virtual items 320, each virtual item 320 representing a physical item 315 stored on the corresponding physical shelf 210. The virtual shopping cart 420 is used to contain the virtual items 320, each of which represents a physical item 315 selected by the person 105 during the shopping session in the physical store 100. The shelf camera feed segment 425 is a recording of a camera feed received by the virtual store tool 405 from a shelf camera 495. The shelf camera 495 is directed to the physical shelf 210 of the physical store 100 to which the virtual shelf 230 is assigned. The virtual shopping cart 420 may be filled by the virtual items 320 stored on the virtual shelf 230, based in part on the shelf chamber feed segment 425. The method by which the virtual store tool 405 determines a virtual shelf 230 to display on the screen 410 and then uses the virtual shelf 230 to "RQbnn / zznz / E / Y fill the virtual shopping cart 420 is described further. detail below, in the description of FIGURES 9 and 10. In some embodiments, and as described in more detail below, with respect to FIGURES 11A and 11B, screen 410 displays a graphical user interface through which a user 120 can generate a virtual layout 205 configured to emulate a 200 physical layout of a 100 physical store. Network 430a facilitates communication between the various components of system 400 located outside of network 430b, connecting layout cameras 490, shelf cameras 495, and external system 485 to virtual store tool 405. This description contemplates network 430a to be any suitable network that facilitates communication between said components of system 400. Network 430a may include any interconnection system capable of transmitting audio, video, signals, data, messages, or any combination of the above. Network 430a may include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), an area network (WAN), a local, regional or global communication or computing network, such as the Internet, a wired or wireless network, an enterprise intranet, or any other suitable communication link, "RQbnn / zznz / E / Y including combinations of the themselves, operable to facilitate communication between the components. Network 430b facilitates communication to and between the various components of the virtual store tool 405 and the layout cameras 490, the shelf cameras 495, and the external system 485. This description contemplates network 430b being any suitable network that facilitates communication between the components of the virtual store tool 405 and the layout cameras 490, the shelf cameras 495, and the external system 485. Network 430b may include any interconnection system capable of transmitting audio, video, signals, data, messages, or any combination of the above. Network 430b may include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), an area network (WAN), a local, regional, or global communications or computing network, such as the Internet, a wired or wireless network, an enterprise intranet, or any other suitable communications link, including combinations thereof, operable to facilitate communication between the components. This description contemplates that network 430b may be the same network as network 430a or a network separate from network 430a. As seen in FIGURE 4, the virtual store tool 405 includes a processor 435, a memory 440, and "RQbnn / zznz / E / Y an interface 445. This description contemplates that the processor 435, the memory 440 and the interface 445 are configured to perform any of the functions of the virtual store tool 405 described herein. Generally, the virtual store tool 405 implements the layout creator 460, the video processor 465, the display controller 470, the resolution component 475, and the machine learning module 480. The virtual store tool 405 may use the layout creator 460 to generate a virtual layout 205 configured to emulate a physical layout 200 of a physical store 100. This function of the virtual store tool 405 is described in more detail below, in the discussion of FIGURES 11 and 12. The virtual store tool 405 can use the video processor 465 to generate camera feed segments 415 and segments 425 shelf camera feeds, assigned to a person 105 conducting a shopping session in the physical store 100, based on the camera feeds received from the layout cameras 4 90 and the shelf cameras 495, respectively. This function of the virtual store tool 405 is described in more detail below, in the discussion of FIGURES 5 to 8. The virtual store tool 405 can use the display controller 470 to adjust the information displayed on the screen 410, based on the information received from the "RQbnn / zznz / E / Y device 115. This function of the virtual store tool 405 is described in more detail below, in the discussion of FIGURES 7 to 12. The virtual store tool 405 may use the resolution component 475 to compare the contents of the virtual cart 420 to an algorithmic shopping cart, determined by an algorithm 488 to contain items selected by the customer 105 during a shopping session in the physical store 100. The resolution component 475 may identify any discrepancies between the virtual cart 420 and the algorithmic cart, resolve such discrepancies, and generate a receipt to send to the customer 105. The resolution component 475 will be described in more detail below, in the discussion of the FIGURE 14. Finally, the virtual store tool 405 can use the machine learning module 480 to identify discrepancies between the virtual shopping cart 420 and the algorithmic cart and assign metadata to the algorithmic entries associated with the discrepancies. This metadata can then be used to retrain the algorithm. The machine learning module 480 will be described in more detail below in the discussion of FIGURES 15 and 16. Processor 435 is any electronic circuit, including, but not limited to, microprocessors, application-specific integrated circuits (ASICs), application-specific instruction set processors (ASIPs), and / or state machines, that are communicatively coupled to the memory 440 and controls the operation of the virtual store tool 405. The processor 435 may be 8-bit, 16-bit, 32-bit, 64-bit, or any other suitable architecture. The processor 435 may include an arithmetic logic unit (ALU) for performing arithmetic and logical operations, processor registers that supply operands to the ALU and store the results of the ALU operations, and a control unit that obtains instructions from memory. and executes them by directing the coordinated operations of the ALU, registries and other components. The processor 435 may include other hardware and software that operates to control and process information. Processor 435 executes software stored in memory to perform any of the functions described herein. Processor 435 controls the operation and management of virtual store tool 405 by processing information received from network 430a, network 430b, memory 440, device(s) 115, layout cameras 490, shelf cameras 495, and external system 485. . The processor 435 may be a programmable logic device, a microcontroller, a microprocessor, any suitable processing device, or any suitable combination of the above. The processor 435 is not limited to a single processing device and may span multiple processing devices. «RQbnn / zznz / E / Y Memory 440 may store, permanently or temporarily, data, operating software, or other information for processor 435. Memory 440 may include one or a combination of volatile or non-volatile local or remote devices suitable for storing information. For example, memory 440 may include random access memory (RAM), read-only memory (ROM), magnetic storage devices, optical storage devices, or any other suitable information storage device or a combination of these devices. Software represents any suitable set of instructions, logic, or code embodied in a computer-readable storage medium. For example, the software may be embedded in memory 440, a disk, a CD, or a flash drive. In certain embodiments, the software may include an application executable by processor 435 to perform one or more of the functions described herein. Additionally, in certain embodiments, memory 440 may store virtual layouts 205 and sets of videos 450. Each of the virtual layouts 205 to 205n corresponds to a different physical store 100 and is configured to emulate the physical layout 200 of the physical store 100. . Virtual layouts 205 may be stored in memory 440 according to a store identification number. Thus, a given virtual layout 205a can be retrieved from memory 440 using the store identification number. This description contemplates that the video set 450 includes camera recording segments 415 and shelf camera recording segments 425 assigned to a particular person 105, for example, by identification number 455. Such segments are video recordings of camera feeds received by the virtual store tool 405 from the layout cameras 490 and the shelf cameras 495, respectively. For example, the video set 450 may include camera feed segments 415 at 415f and shelf camera feed segments 425, assigned to a person 105. The manner in which the virtual store tool 405 generates video sets 450 is described in more detail below, in the analysis of FIGURE 6. Interface 445 represents any suitable device that can receive information from networks 430a and 430b, transmit information over networks 430a and 430b, perform appropriate processing of the information, communicate with other devices, or any combination of the above. For example, interface 445 receives information from layout cameras 490 and shelf cameras 495. As another example, interface 445 receives information from device 115. Interface 445 represents any port or connection, real or virtual, including any suitable hardware and / or software, including protocol conversion and data processing capabilities, to communicate. through a LAN, WAN, or other communication systems that allow the virtual store tool 405 to exchange information with the device 115, the layout cameras 490, the shelf cameras 495, and / or other components of the system 4 00 through networks 430a and 430b. The external system 485 represents any system operable to receive input from sensors 498 located in the physical store 100 and to apply an algorithm 488 to this input to track customers 105 in the physical store 100 and / or to determine the items 315 physical items selected by said customers during the purchasing sessions in the physical store 100. Embodiments of the external system 485 are described in United States Patent Application No. _ entitled, Top View Object Tracking Using an Array of Sensors (Attorney File No. 090278.0180), the contents of which are incorporated here for reference. This description contemplates that the sensors 498 may include any type of suitable sensors, located in the physical store 100, and operable to detect customers 105 in the physical store 100. For example, the physical store 100 may include cameras, light detection and ranging sensors, millimeter wave sensors, weight sensors, and / or any other appropriate sensor, operable to track a customer 105 in the physical store 100 and detect information associated with the customer 105 selecting one or more items 315 from the physical store 100. This description contemplates that the algorithms 488 may be any algorithm suitable for tracking customers 105 in the physical store 100 and determining the items 315 selected by customers 105. For example, in certain embodiments, the algorithms 488 may be learning algorithms. automatic. The layout cameras 490 and the shelf cameras 495 are located in the physical store 100. Each of the array cameras 490a to 490f is directed to a location in the physical store 100 and captures video and / or images of a region in space around the location. Each of the shelf cameras 495 is directed to a physical display shelf 210 located in the physical store 100 and captures video and / or images of the physical display shelf 210 and the region in the space around the display shelf 210. physical. This description contemplates that any number of layout cameras 490 can be installed in the physical store 100 and connected to the virtual store tool 405 through the network 430b. Similarly, any number of shelf cameras 495 can be installed in the physical store 100 "RQbnn / zznz / E / Y and connected to the virtual store tool 405 through the network 430b. For example, in some embodiments, the physical store 100 contains the same number of shelf chambers 495 as the physical shelves 210. In other embodiments, the physical store 100 contains more shelf chambers 495 than the physical shelves 210. In certain embodiments, the shelving chambers 495 are the same as the layout chambers 490. In other embodiments, the shelving chambers 495 are different from the layout chambers 490. The operation of the layout chambers 490 and the shelving chambers 495 is described in more detail below in the discussion of FIGURES 5 and 6. Modifications, additions or omissions may be made to the systems described herein without departing from the scope of the invention. For example, system 400 may include any number of users 120, devices 115, displays 410, networks 430a and 430b, layout cameras 490, shelf cameras 495, and external systems 485. The components can be integrated or separate. Additionally, operations can be performed by more, less, or other components. Additionally, operations may be performed using any suitable logic comprising software, hardware and / or other logic. III. Client-based video tracking As described above, the virtual store tool 405 "RQbnn / zznz / E / Y can use the virtual layout camera 205 to emulate a shopping session of a customer 105 in a physical store 100 captured by segments 415 and / or 425 power supply for the cameras. FIGURES 5 to 8 are used to describe the method by which the virtual store tool 405 generates and displays the camera feed segments 415 and / or 425. to. Cameras used for client-based video tracking FIGURE 5A illustrates examples of locations of layout cameras 490 and shelf cameras 495 in a physical store 100. The number of layout chambers 490 and shelf chambers 495 chosen for a physical store 100 may depend on the size and / or layout of the physical store 100. As seen in the example of FIGURE 5A, physical store 100 may include five layout chambers 490a to 490e. Although illustrated that they are located on the ceiling of the physical store 100, this description contemplates that the layout cameras 490 may be mounted anywhere in the physical store 100. Additionally, in the example of FIGURE 5A, physical store 100 may include four shelf chambers 495a to 495d. Although illustrated to be located on both the ceiling and side walls of the physical store 100, this description contemplates that the shelf cameras 495 may be mounted anywhere in the physical store 100. The shelving chambers 495 may be separate from the disposal chambers 490 or be the same as the disposal chambers 490. Each of the shelf cameras 495 is directed to a shelf 210 located in the physical store 100. For example, as illustrated in FIGURE 5A, shelf camera 495a is directed to physical display shelf 210a, shelf camera 495b is directed to physical display shelf 210b, shelf camera 495c is directed to physical display shelf 210c, and the shelf camera 495d is directed to the physical display shelf 210d. Although FIGURE 5A illustrates a set of five layout chambers 490 and a set of four shelving chambers 495 in the physical store 100, this description contemplates that any suitable number of layout chambers 490 and shelving chambers 495 may be used in the physical store 100. physical store 100, depending on the size and / or layout of the physical store 100. FIGURE 5A further illustrates a set of turnstiles 510 located in the physical store 100. Turnstiles 510 may be used to control the entry and exit of customers 105 at the physical store 100, as described in more detail below in the discussion of FIGURE 6. As illustrated in FIGURE 5B, each of the "RQbnn / zznz / E / Y layout cameras 490 is directed to a particular location in the physical store 100 and captures a region 505 of the layout 200 of the physical store 100, surrounding the location. For example, the first layout camera 490a is directed to a first location and captures video and / or images of a first region 505a of the physical store 100; the second layout camera 490b is directed to a second location and captures video and / or images of a second region 505b of the physical store 100; the third layout camera 490c is directed to a third location and captures video and / or images of a third region 505c of the physical store 100; the fourth layout camera 490d is directed to a fourth location and captures video and / or images of a fourth region 505d of the physical store 100; and the fifth layout camera 490e is directed to a fifth location and captures video and / or images of a fifth region 505e of the physical store 100. In certain embodiments, the layout cameras 490 may capture overlapping regions of the physical store 100. For example, as illustrated in FIGURE 5B, the entire third region 505c overlaps with portions of the first region 505a, the second region 505b, the fourth region 505d and the fifth region 505e. The overlapping regions of the physical store 100 may be a result of the proximity of the layout chambers 490 to each other. Generally, when capturing overlapping regions of the physical store 100, certain portions of the physical layout 200 may be captured by multiple layout cameras 490. This may be desirable, to provide sufficient camera coverage of the physical layout 200 in the event that some of the layout cameras 490 malfunction or go offline. Although a rectangular shape is illustrated in FIGURE 5B, this description contemplates that the regions 505 may have any shape or size. For example, in certain embodiments, regions 505 are elliptical in shape. In some embodiments, the regions 505 are of uniform size and shape. For example, as illustrated in FIGURE 5B, regions 505a to 505e all have the same shape and size. In other embodiments, regions 505 may include regions 505 of different sizes and shapes. b. Camera feed processing Videos and / or images of the physical store 100 captured by the layout cameras 490 and / or the shelf cameras 495 are transmitted to the virtual store tool 405 in the form of camera streams. The virtual store tool 405 then uses the video processor 465 to generate camera feed segments 415 and shelf camera feed segments 425, assigned to a person 105 conducting a shopping session in the physical store 100, based on these camera feeds. FIGURE 6 illustrates the operation of the video processor 465 of the virtual store tool 405. FIGURE 6 presents an example of the operation of the video processor 465 of the virtual store tool 405, in an embodiment that includes a first layout camera 490a, a second layout camera 490b and a shelf camera 495a. As illustrated in FIGURE 6, the video processor 465 receives the first camera feed 605a from the first layout camera 490a, the second camera feed 605b from the second layout camera 490b, and the camera feed 620a of shelving from the shelving chamber 495a. In certain embodiments, the video processor 465 receives the first camera feed 605a, the second camera feed 605b, and the shelf camera feed 620a directly from the layout cameras 490a, 490b, and the shelf camera 495a. In some embodiments, the video processor 465 receives the first camera feed 605a, the second camera feed 605b, and the shelf camera feed 620a from the interface 445. Before processing feeds 605a, 605b and 620a, the video processor 465 first determines that a person 105, associated with an identification number 455, has entered the physical store 100. This description contemplates that the video processor 465 may "RQbnn / zznz / E / Y" RQbnn / zznz / E / Y determine that the person 105 has entered the physical store 100 in any suitable manner. For example, in certain embodiments, the physical store 100 includes turnstiles 510, which control the entry of persons 105 into the store. A turnstile 510 may open when the person 105 scans a QR code, located on a physical card or on a mobile device 125 belonging to the person 105, using a scanner 515 coupled to the turnstile 510. Accordingly, scanning the QR code may generate a notification, sent to the virtual store tool 405, indicating that the person 105 has entered the physical store 100. As another example, in some embodiments, an algorithm 488 may be used to determine that the person 105 has entered the physical store 100, based on information received from sensors 498 located in the physical store 100. An example of said algorithm 488 will be described in more detail below, in the analysis of FIGURES 13 to 16. This description contemplates that the camera feeds 605 and 620 are synchronized in terms of timestamps, so that the video associated with a given timestamp of each of the camera feeds 605a, 605b and 620a corresponds to the same real time inside the 100 physical store. Such synchronization can be achieved in any suitable way. For example, in certain embodiments, layout cameras 490 and shelving cameras 495 connect to the same Ethernet switch. Determining that the person 105 has entered the physical store 100 may include receiving an initial timestamp 610 corresponding to the timestamp at which the person 105 entered the physical store 100. Since the data packets associated with the feed 605a of the first camera, the feed 605b of the second camera, and the feed 620a of the shelf camera may reach the virtual store tool 405 through the network 430b at different At times, this description contemplates that instead of the virtual store tool 405 transmitting the feed 605a of the first camera, the feed 605b of the second camera and the feed 620a of the shelf camera starting at time stamp 610, the Video processor 465 of virtual layout tool 405 stores recordings of first camera feed 605a, second camera feed 605b, and shelf camera feed 620a, for a predefined duration of time, in memory 440. Recordings can be played back, each synchronized with the others according to time stamps. Accordingly, once the video processor 465 determines the initial timestamp 610, which corresponds to the timestamp at which the person 105 entered the physical store 100, the video processor 465 prepares segments of each "RQbnn / zznz / E / Y camera feed, starting at start timestamp 610 and ending at end timestamp 615. The video processor 465 then stores these segments in memory 440. For example, the video processor 465 prepares the first camera feed segment 415a, corresponding to a recording of the first camera feed 605a from timestamp 610. start to the end timestamp 615, the second camera feed segment 415b, corresponding to a recording of the second camera feed 605b from the start timestamp 610 to the end timestamp 615, and the segment 425a of shelf camera feed, corresponding to a recording of the shelf camera feed 620a from the start timestamp 610 to the end timestamp 615. The video processor 465 then stores each of the segments 415a, 415b and 425a in memory 450. This description contemplates that the time interval between the start timestamp 610 and the end timestamp 615 may be any predetermined amount of time. For example, in certain embodiments, the time interval is five minutes. To capture video of a shopping session that lasts longer than this predetermined amount of time, once the camera feeds 605a, 605b, and 620a reach the final timestamp 615, the video processor 465 may store additional recordings of the shopping sessions. camera feeds 605a, 605b and 620a, starting at the end timestamp 615 and ending at a new end timestamp, the new end timestamp occurring at the predetermined amount of time after the end timestamp 615. Video processor 465 may store any number of additional camera feed segments in memory 440, each corresponding to an additional predetermined time interval. In certain embodiments, the video processor 465 continues to record said additional camera feed segments until it receives an indication that the person 105 has left the physical store 100. The video processor 465 can store camera feed segments 415 and 425 for any number of people 105. Accordingly, the video processor 465 can store a collection of camera feed segments 415 and 425 assigned to a person 105 as a video set 450, where the video set 450 is assigned an identification number 455 associated with the person 105. As an example, a first person 105a may enter the physical store 100 at a first start timestamp 610a and a second person 105b may enter the physical store 100 at a second start timestamp 610b after the first start timestamp 610a, where the second start timestamp 610b is within the range of "RQbnn / zznz / E / Y predefined time after the first start timestamp 610a, such that the camera feed segments recorded for the first person 105a will contain video that overlaps with the camera feed segments recorded for the second person 105b. Accordingly, the video processor 465 may store the recorded camera feed segments for the first person 105a, along with an identification number 455a, assigned to the first person 105a, in memory 440, as a set of videos 450a. Likewise, the video processor 465 may store the recorded camera feed segments for the second person 105b, along with an identification number 455b, assigned to the second person 105b, in memory 440, as a set of videos 450b. The virtual store tool 405 may then retrieve from memory 440 the camera feed segments associated with a given person 105, using the identification number 455 assigned to that person. The video processor 465 may be a software module stored in memory 440 and executed by the processor 435. An example of the operation of the video processor 465 is as follows: (1) receiving camera feeds 605 and 620 from the cameras 490 and 495, respectively; (2) determine that a person 105 has entered the physical store 100; (3) determining the timestamp 610 corresponding to the time that the person 105 entered the physical store 100; (4) record video segments 415 and 425 from cameras 605 and 620, respectively, where the video segments correspond to recordings from cameras 605 and 620 from timestamp 610, corresponding to the time the person 105 entered the physical store 100, and with a predetermined duration until the final timestamp 615; and (5) storing the video segments 415 and 425 in memory 440 according to an identification number 455 of the person 105, as a set of videos 450. c. Viewing Camera Feed Segments Once the video processor 465 has recorded the set of videos 450 from the cameras 605 and 620, the virtual store tool 405 can use the display controller 470 to display the set of videos 450 on the screen 410 of the device 115. In certain embodiments, the virtual store tool 405 may display the set of videos 450 on the screen 410 of the device 115 in the form of a graphical user interface 700. FIGURES 7A to 7C present an example illustrating how the virtual store tool 405 displays the set of videos 450 on the screen 410. FIGURE 7A illustrates an embodiment in which the virtual store tool 405 commands the screen 410 to display four camera feed segments 415a to 415d. The virtual store tool 405 displays the first camera feed segment 415a in a first region 750 of the screen 410, the second camera feed segment 415b in a second region 755 of the screen 410, the third camera feed segment 415c camera in a third region 760 of the screen 410, and the fourth camera feed segment 415d in a fourth region 765 of the screen 410. The virtual store tool 405 can instruct the screen 410 to display any number of segments 415 of camera feed. For example, in certain embodiments, the virtual display tool 405 can instruct the display 410 to display the same number of camera feed segments 415 as those stored in the video set 450. In some embodiments, the virtual display tool 405 Virtual display may instruct screen 410 to display fewer camera feed segments 415 than those stored in video set 450. This may be desirable in embodiments where physical store 100 is a large store that includes a large number of 490 layout chambers. In such embodiments, displaying all camera feed segments 415 on display 410 may make it difficult for a user 120 to see specific features of the physical store 100 in any of the displayed camera feed segments 415. Accordingly, the virtual store tool 405 may display a subset of camera feed segments 415 on screen 410. The virtual store tool 405 may select a subset of camera feed segments 415. to display on screen 410 in any suitable manner. As an example, in certain embodiments, the virtual store tool 405 may display a subset of camera feed segments 415 that includes, at any given time, those camera feed segments 415 that capture the regions of the physical store 100 plus close to the location of the person 105, to which the video set 450 is assigned. In such embodiments, when the video set 450 shows the person 105 moving to a new location in the physical store 100, the tool 405 of virtual store may replace the subset of camera feed segments 415 currently displayed on screen 410 with a new subset of camera feed segments 415, which includes those camera feed segments 415 that capture regions of the physical store 100 closest to the new location of the person 105. The virtual store tool 405 may determine the subset of camera feed segments 415 that capture the regions of the physical store 100 closest to the location of the person 105 in any suitable manner. For example, in certain embodiments, the virtual store tool 405 may receive an indication of the location of the person 105 from a machine learning algorithm 488 configured to track the locations of a person 105 in the physical store 100, based on the inputs received from a set of sensors 498 located in the physical store 100. As illustrated in FIGURE 7Ά, in addition to displaying the camera feed segments 415, the virtual store tool 405 also assigns a slider bar 705 to the video set 450 and displays copies of the slider bar 705 along with each segment 415 of camera feed. For example, the virtual store tool 405 displays a first copy 705a of the slider bar 705 together with the first camera feed segment 415a, a second copy 705b of the slider bar 705 together with the second camera feed segment 415b, a third copy 705c of the slider bar 705 together with the third camera feed segment 415c, and a fourth copy 705d of the slider bar 705 together with the fourth camera feed segment 415d. Each copy of slider bar 705 may contain a slider 710 configured to control the playback progress of the associated camera feed segment 415. For example, the position of slider 710 on slider bar 705 indicates the current playback progress of the associated camera feed segment 415. The position of the slider 710 may be adjusted manually (e.g., by a user 120) to a new position corresponding to a new playback time. Such an adjustment may result in the playback of the associated camera feed segment being adjusted to the new playback time. In certain embodiments, the playback of each camera feed segment 415 is synchronized with that of the other camera feed segments 415, such that an adjustment of the slider 710 on any of the copies of the slider bar 705 leads to an adjustment corresponding to the playback progress of all displayed camera feed segments 415. For example, if the slider 710 is adjusted in the first copy 705a of the slide bar 705 from a first playback time to a second playback time, the slider 710 in the second copy 705b of the slide bar 705, the slider 710 in the third copy 705c of the slide bar 705, and the slider 710 in the fourth copy 705d of the slide bar 705 will be similarly adjusted from the first playback time to the second playback time. This may be desirable for a user 120 who uses camera feed segments 415 to observe a shopping session of a customer 105 in the physical store 100. User 120 may adjust the playback progress of camera feed segments 415 until user 120 determines that "RQbnn / zznz / E / Y" RQbnn / zznz / E / Y camera feed segments 415 have reached a point of interest for the user 120, rather than viewing the entire uninterrupted playback of the camera feed segments 415. In certain embodiments, the slider bar 705 may include one or more markers 715. For example, as illustrated in FIGURE 7A, the slider bar 705 may include a first marker 715a, located at a first marker position on the bar 705. slide and corresponding to a first marker playback time, as well as a second marker 715b, located at a second marker position on the slide bar 705 and corresponding to a second marker playback time. The first marker 715a is associated with a first event that occurs at the first playback time of the marker and the second marker 715b is associated with a second event that occurs at the second playback time of the marker. The first event and the second event may include any type of event that occurs within the physical store 100. For example, the first event may be associated with a person 105a selecting a physical item 315a from a physical shelf 305a located on a physical shelf 210a in the physical store 100. Similarly, the second event may be associated with person 105a selecting a second physical item 315b from a second physical shelf 305b located on a second shelf "RQbnn / zznz / E / Y 210b physical in the 100 physical store. The locations of the first marker 715a and the second marker 715b on the slider bar 705 may be determined in any suitable manner. As an example, in certain embodiments, the first event, associated with the first marker 715a, and the second event, associated with the second marker 715b, may be determined by an algorithm 488, based on a set of inputs received from the sensors 498. located inside the 100 physical store. For example, algorithm 488 may determine that the first event takes place at a first time, corresponding to a first timestamp, and that the second event takes place at a second time, corresponding to a second timestamp. The virtual store tool 405 can then use the first and second timestamps to place the first marker 715a and the second marker 715b on the slider bar 705, at positions corresponding to the timestamps. An example of algorithm 488, used to determine the timing of the first and second events, is described in more detail below, in the discussion of FIGURES 13 to 16. The use of markers 715 may be desirable for a user 120 who uses camera feed segments 415 to observe a shopping session of customer 105 in physical store 100. Instead of watching the entire uninterrupted playback of the camera feed segments 415, the user 120 can adjust the playback progress of the camera feed segments 415 until the slider 710 reaches one of the events associated with the first marker. 715a or the second marker 715b, to, for example, observe the customer 105 selecting a physical item 315 from a physical shelf 210 in the physical store 100. As described above, in the analysis of FIGURE 6, each of the camera feed segments 415 has a predetermined time interval, lasting from a start timestamp 610 to an end timestamp 615. Accordingly, in certain embodiments where the customer 105 remains within the physical store 100 for longer than the predetermined time interval, there may be multiple camera feed segments, from each of the layout cameras 490. For example, the virtual store tool 405 may store in memory 440 camera feed segments 415 for a first time slot, a second time slot, a third time slot, and a fourth time slot. Memory 440 stores any number of camera feed segments 415 for any number of time intervals. In such embodiments, when the slider 710 reaches the end of the slider bar 705, the virtual store tool 405 may replace the camera feed segments 415 currently displayed on the screen 410, with the "RQbnn / zznz / E / And next set of camera feed segments 415, corresponding to the time interval immediately following the time interval captured by the currently displayed set of camera feed segments 415. This process of replacing the currently displayed camera feed segments 415 with a new set of camera feed segments 415, corresponding to the time interval immediately following the time interval captured by the currently displayed set of camera feed segments 415 may continue until the virtual store tool 405 determines that the customer 105 has left the physical store 100. The virtual store tool 405 may determine that the customer 105 has left the physical store 100 in any suitable manner. As an example, in certain embodiments, the virtual store tool 405 may determine that the customer 105 has left the physical store 100 based on input received from user 120. For example, in embodiments in which the set of videos 450 is displayed on the screen 410 in the form of a graphical user interface 700, the graphical user interface 700 may include an interactive button 730 (e.g., a customer exit button) through which the user 120 can indicate that he has observed the customer 105 exit the physical store 100, in the camera feed segments 415, as illustrated in FIGURE 7B. As another example, the virtual store tool 405 may determine that the customer 105 has left the physical store 100 based on information received from an algorithm 488 configured to track customers 105 within the physical store 100. Said algorithm 488 is described in more detail below, in the analysis of FIGURES 13 to 16. As another example, the virtual store tool 405 can determine that the customer 105 has left the physical store 100 based on the information received from the 100 physical store. For example, physical store 100 may include a set of turnstiles 510 near the exit of physical store 100. To open a turnstile 510 and exit the physical store 100, a customer 105 may be asked to scan the same QR code that was used to enter the physical store 100. Scanning the QR code may send a signal to the virtual store tool 405, indicating that the customer 105 has left the physical store 100. In certain embodiments, to help a user 120 determine which of the camera feed segments 415 may include information of interest, the virtual store tool 405 is configured to highlight certain camera feed segments 415, at certain times, based on at events depicted in those camera feed segments 415, at those certain times. For example, as illustrated in FIGURE 7B, the virtual store tool 405 may be configured to determine that a given camera feed segment 415a represents the customer 105 at first. Accordingly, the virtual store tool 405 may highlight the camera feed segment 415a in response to determining that the slider 710 on the slider bar 705 reached that first time. Here, highlighting the camera feed segment 415a may include any manner by which the virtual store tool 405 may draw attention to the camera feed segment 415a. For example, as illustrated in FIGURE 7B, highlighting the camera feed segment 415a may include placing a frame 720 around the camera feed segment 415a. As another example, highlighting the camera feed segment 415a may include increasing the size of the camera feed segment 415a, represented on the display 410, relative to the other camera feed segments 415. In certain embodiments, the graphical user interface 700 displayed on the screen 410 may be used by a user 120 to monitor a shopping session of a customer 105a at the physical store 100. To assist said user 120 in monitoring a particular customer 105a in a physical store that includes several other customers 105, the virtual store tool 405 may additionally display an image 725 of the customer 105a, captured when the customer 105a entered the physical store 100. . For example, in certain embodiments where the physical store 100 includes turnstiles 510 to control the entry of people 105 into the store, the physical store 100 may include a camera configured to take an image 725 of the customer 105a when the customer 105a passes through. a tourniquet 510. In certain embodiments where the slider 705 includes one or more markers 715, each marker 715 may include metadata 740 describing the event associated with the marker 715. An example of one of these embodiments is illustrated in FIGURE 7C. As described above, in the analysis of FIGURE 7A, each marker 715a and 715b may be associated with an event consisting of the customer 105a selecting a physical item 315 from a physical shelf 305 of a physical shelf 210 located in the 100 physical store. Accordingly, each marker may include metadata 740 indicating an identification number 745 assigned to the physical item 315 selected by the customer 105a, an identification number 750 assigned to the physical shelf 305 from which the customer 105a selected the physical item 315, and / or an identification number 755 assigned to the physical shelf 210 that includes the physical shelf 305 from which the customer 105a selected the physical item 315. In certain embodiments, the item identification number 745 may correspond to a zone identification number 745, which identifies a "RQbnn / zznz / E / Y zone of the physical shelf 305 from which the customer 105a selected the physical item 315. The use of shelf zones will be described in more detail below in the discussion of FIGURES 13C and 13D. The virtual store tool 405 may use the metadata 740 in any suitable manner. For example, in certain embodiments, when the slider 710 of the slider bar 705 reaches the first marker 715a, the virtual store tool 405 can use the metadata 740 to determine that the customer 105 has selected a physical item 315 from the physical shelf 210. . Accordingly, the virtual store tool 405 can display the shelf camera segment 425a on the screen 410, where the shelf camera segment 425a displays a video of the physical shelf 210. The shelf camera segment 425a may be synchronized with the camera feed segments 415a to 415d, such that an adjustment of the slider 710 on any of the copies of the slider bar 705 leads to a corresponding adjustment of the playback progress of the segment. 425a shelf chamber. Automatic display of the shelf camera segment 425a, in response to the slider 710 reaching the marker 715 on the slider bar 705, may be desirable, to provide a user 120 with a view of the physical shelf 210 through which the User 120 is "RQbnn / zznz / E / Y capable of observing customer 105 selecting a physical item 315 from physical shelf 210. In certain embodiments, the user 120 may be able to use a second graphical user interface to choose a shelf camera 495 from among several potential shelf cameras 495 to assign to the physical shelf 210, to provide the user 120 with a segment 425a of shelf camera showing the best view of the physical shelf 210, as determined by user 120. This aspect of the virtual store tool 405 will be described in more detail below, in the discussion of FIGURES 11 and 12. FIGURE 8 presents a flow chart illustrating the process by which the virtual store tool 405 generates camera feed segments 415 and 425 and displays said segments on the screen 410. In step 805, the store tool 405 The virtual store receives a set of layout camera feeds 605 from an array of layout cameras 490 and a set of shelf camera feeds 620 from an array of shelf cameras 495 located in the physical store 100. In step 810, the virtual store tool 405 determines whether a person 105 has entered the physical store 100. This description contemplates that the virtual store tool 405 may determine that the person 105 entered the physical store 100 in any suitable manner. For example, in certain embodiments, the store 100 physics includes turnstiles 510, which control the entry of people 105 into the store. A turnstile 510 may open when the person 105 scans a QR code, located on a physical card or on a mobile device 125 belonging to the person 105. Accordingly, scanning the QR code may generate a notification, sent to the tool 405. virtual store, to indicate that person 105 has entered the physical store 100. As another example, in some embodiments, an algorithm 488 may be used to determine that the person 105 has entered the physical store 100, based on information received from sensors 498 located in the physical store 100. If, in step 810, the virtual store tool 405 determines that the person 105 entered the physical store 100, in step 815, the virtual store tool 405 stores a set of camera feed segments 415 and 425 in the memory 440. Each camera feed segment of the camera feed segments 415 corresponds to a recording of one of the camera feeds 605 from a start timestamp 610 to an end timestamp 615. Likewise, each shelf camera feed segment of the shelf camera feed segments 425 corresponds to a recording of one of the shelf camera feeds 620 from the start timestamp 610 to the end timestamp 615. . The initial timestamp 610 corresponds to the time when the person 105 entered the physical store 100. The final timestamp 615 corresponds to a predetermined time interval after the initial timestamp 610. In step 820, the virtual store tool 405 assigns copies of a slider bar 705 to each camera feed segment 415 and 425. The slider 710 of each copy of the slider bar 705 moves forward as the corresponding camera feed segment 415 and / or 425 advances. In certain embodiments, the copies of the slider bar 705 are synchronized with each other so that all the camera feed segments 415 and 425 progress together, at the same rate. Additionally, in such embodiments, an adjustment of the slider 710 on any of the copies of the slider bar 705 leads to a corresponding adjustment of the playback process of all camera feed segments 415 and 425. This may be desirable for a user 120 who uses the camera feed segments 415 to observe a shopping session of a customer 105 in the physical store 100. User 120 may adjust the playback progress of camera feed segments 415 until user 120 determines that camera feed segments 415 have reached a point of interest to user 120, rather than viewing the entire playback. uninterrupted supply of the camera feed segments 415. «RQbnn / zznz / E / Y At step 825, the virtual store tool 405 displays one or more camera feed segments 415 and / or 425 on the display 410, along with corresponding copies of the slider bar 705. For example, the virtual store tool 405 may display the first camera feed segment 415a, along with the first copy 705a of the slider bar 705 on a first region of the display 410, the second camera feed segment 415b, along with the second copy 705b of the slider bar 705 in a second region of the screen 410, the third camera feed segment 415c, together with the third copy 705c of the slider bar 705 in a third region of the screen 410, and the fourth camera feed segment 415d, along with the fourth copy 705d of the slider bar 705 in a fourth region of the screen 410. The virtual store tool 405 additionally reproduces the camera feed segments 415 and / or 425, so that the slider 710 in each copy of the slider bar 705 progresses. In step 830, the virtual store tool 405 then determines whether an adjustment occurred for any slider 710 on a copy of the slider bar 705, from a first position on the slider bar 705 to a second position on the slider bar 705. , where the first position corresponds to a first playback time and the second position corresponds to a second playback time. If, in step 830, the virtual store tool 405 determines that an adjustment has occurred, the virtual store tool 405 then adjusts the playback progress of each of the camera feed segments 415 and 425 from the first playback time to the second playback time. In step 840, the virtual store tool 405 determines whether the person 105 has left the physical store 100. The virtual store tool 405 may determine that the customer 105 has left the physical store 100 in any suitable manner. As an example, in certain embodiments, the virtual store tool 405 may determine that the customer 105 has left the physical store 100 based on input received from user 120. For example, in embodiments in which segments 415 and / or Camera feed 425 are displayed on screen 410 in the form of a graphical user interface 700, the graphical user interface 700 may include an interactive button 730 (e.g., a client exit button) through which the user 120 may indicate that it has observed customer 105 leaving the physical store 100 in one or more camera feed segments 415. As another example, the virtual store tool 405 may determine that the customer 105 has left the physical store 100 based on information received from an algorithm 488 "RQbnn / zznz / E / Y configured to track customers 105 within the 100 physical store. Said algorithm 488 is described in more detail below, in the analysis of FIGURES 13 to 16. As another example, the virtual store tool 405 can determine that the customer 105 has left the physical store 100 based on the information received from the 100 physical store. For example, physical store 100 may include a set of turnstiles 510 near the exit of physical store 100. To open a turnstile 510 and exit the physical store 100, a customer 105 may be asked to scan the same QR code that was used to enter the physical store 100. Scanning the QR code may send a signal to the virtual store tool 405, indicating that the customer 105 has left the physical store 100. If, in step 840, the virtual store tool 405 determines that the person 105 has not left the physical store 100, in step 845, the virtual store tool 405 determines whether the feed segments 415 and 425 of camera have reached the final 615 timestamp. If, in step 845, the virtual store tool 405 determines that the camera feed segments 415 and 425 have not reached the final timestamp 615, the virtual store tool returns to step 830, to determine whether this has occurred. an adjustment for any slider 710 in a copy of the slider bar 705, from a first position in the RRQtnn / zznz / E / Y slider bar 705 to a second position on slider bar 705. On the other hand, if, in step 845, the virtual store tool 405 determines that the camera feed segments 415 and 425 have reached the final timestamp 615, the virtual store tool 405 returns to step 825 and displays a new set of camera feed segments 415 and / or 425 on screen 410, where the new set of camera feed segments corresponds to camera feed recordings 605 and / or 620 during a time interval immediately following the interval of previous time associated with the previous set of camera feed segments 415 and / or 425. Modifications, additions, or omissions may be made to method 800 depicted in FIGURE 8. Method 800 may include more, less, or other steps. For example, the steps can be performed in parallel or in any suitable order. Although discussed as a virtual store tool 405 (or components thereof) performing the steps, any suitable component of the system 400, such as the device(s) 115 for example, may perform one or more steps of the method. IV. Virtual Emulation of a Shopping Session As described above, the camera feed segments 415 and 425 can be used in conjunction with the virtual layout 205 to virtually emulate a shopping session that occurs in the physical store 100 and that is captured by the segments 415 and / or 425. camera feed. For example, in certain embodiments, the camera feed segments 415 and 425, along with the virtual layout 205, may be presented to a user 120, in the form of a graphical user interface 700. Here, camera feed segments 415 and 425 may be assigned to a customer 105 and capture a shopping session of customer 105 at physical store 100. User 120 may monitor camera segments 415 and 425 to view customer 120 selecting physical items 315 from physical shelves 210. Accordingly, the user 120 may fill a virtual shopping cart 420 with virtual items 320 representing the physical items 315 selected by the customer 105, such that at the end of a shopping session of the customer 105, the virtual shopping cart 420 may include a virtual item 320 for each physical item 315 selected by the customer 105. FIGURES 9A to 9D present other examples of a graphical user interface 700, displayed on screen 410, that can be used to virtually emulate a shopping session that occurs in the physical store 100 and that is captured by segments 415 and 425 of camera feed. As illustrated in FIGURE 9A, the virtual store tool 405 can display camera feed segments 415 in a first region 955 of the screen 410, as described "RQbnn / zznz / E / Y above in the analysis of the FIGURES 7A to 7C. The virtual store tool 405 may additionally display the virtual layout 205 in a second region 960 of the display 410. The virtual layout 205 is configured to emulate the physical layout 200 of the physical store 100. As illustrated in FIGURE 9A, virtual arrangement 205 includes a set of virtual shelves 230. This description contemplates that the virtual layout 205 may include any number of virtual shelves 230, where the number of virtual shelves 230 displayed in the virtual layout 205 corresponds to the number of physical shelves 210 in the physical store 100. The arrangement of the virtual shelves 230 in the virtual arrangement 205 is configured to emulate the arrangement of the corresponding physical shelves 210 in the physical store 100. to. Receive an indication of an event As illustrated in FIGURE 9B, the virtual store tool 405 may receive an indication of an event associated with a physical shelf 210a located in the physical store 100. In certain embodiments, the event associated with the physical shelf 210a may include the customer 105 interacting with the physical shelf 210a. For example, the event associated with the physical shelf 210a may include the customer 105a approaching the physical shelf 210a, and / or selecting a physical item 315f from the physical shelf 210a. The event indication may include any suitable indication received by the virtual store tool 405. For example, in certain embodiments, the event indication may include the user 120 selecting the virtual shelf 230a in the virtual layout 205, in response to the display of the customer 105 approaching and / or interacting with the physical shelf 210a. As another example, the indication of the event may include the slider 710 on the slider bar 705 reaching a marker 715, where the marker 715 indicates the physical shelf 210 associated with the event, through the metadata 740. As another example, in In certain embodiments, the indication of the event may include receiving information from an algorithm 488 configured to determine that the customer 105 approached and / or selected an item 315 from the physical shelf 210a, based on inputs received from sensors 498 located in the 100 physical store. In certain embodiments, in which the graphical user interface 700 displayed on the screen 410 can be used by a user 120 to monitor a shopping session of a customer 105 in the physical store 100, the virtual store tool 405 can display a predicted location 950 of the client 105 in the virtual layout 205, based on the current playback progress of the camera feed segments 415 and / or 425. The ubication Predicted 950 may correspond to the likely location of customer 105 in the physical layout 200, as determined by an algorithm 488 configured to track customers 105 in the physical store 100, based on inputs received from sensors 498 located in the store. 100 physically, at a physical time corresponding to the current playback progress of the camera feed segments 415 and / or 425. This can help a user 120 monitor a particular customer 105a in a physical store that includes several other customers 105. Although illustrated in FIGURE 9B as point 950 in the virtual layout 205, the intended location of the customer 105 may be presented in the virtual arrangement 205 in any suitable manner. For example, the intended location may be a line, including the intended path of the customer 105. In such embodiments, the event indication may include the user 120 selecting the virtual shelf 230a in the virtual layout 205, in response to the visual! zation of the customer 105 approaching and / or interacting with the physical shelf 210a and / or the display of the intended location 950 of the customer 105 in the virtual layout 205 indicating the proximity of the customer 105 to the physical shelf 210a. In response to receiving the event indication, the virtual store tool 405 may display the virtual shelf 230a corresponding to the physical RQbnn / zznz / E / Y shelf 210a associated with the event, in a third region 905 of the display. 410, where the virtual shelf 230a is configured to emulate the physical shelf 210a. In certain embodiments, the third region 905 of the display 410 may be located to the right of the virtual layout 205. In certain embodiments, the virtual store tool 405 may additionally highlight the virtual shelf 230a, in the virtual layout 205, in response to receiving the indication of the event associated with the physical shelf 210a. Highlighting the virtual shelf 230a may include any method of distinguishing the virtual shelf 230a from the other virtual shelves 230b to 230k. For example, as illustrated in FIGURE 9B, highlighting the virtual shelf 230a may include placing a frame around the virtual shelf 230a. Highlighting the virtual shelf 230a may further include applying a color to the virtual shelf 230a, and / or any other suitable method to distinguish the virtual shelf 230a from the rest of the virtual shelves 230b to 230k. As illustrated in FIGURE 9B the virtual shelf 230a, shown in the third region 905 of the screen 410 includes a set of virtual items 320a to 320h. The virtual items 320a to 320h are configured to emulate the physical items stored on the physical shelf 210a. In certain embodiments, the virtual items 320a to 320h are displayed in the third region 905 as a list of items, where the names of the items in the list correspond to the names of the physical items 315a to 315h stored on the physical shelf 210a. In other embodiments, the appearance of the virtual shelf 230a, displayed in the third region 905, is configured to emulate the appearance of the physical shelf 210a. For example, the first virtual shelf 310a is configured to emulate the first physical shelf 305a, the second virtual shelf 310b is configured to emulate the second physical shelf 305b, and the third virtual shelf 310c is configured to emulate the third physical shelf 305c. In particular, the first virtual item 320a is located in a first area 330a of the first virtual shelf 310a to emulate the location of the first physical item 315a in a first area 325a of the first physical shelf 305a. Likewise, the second virtual item 320b is located in a second area 330b of the first virtual shelf 310a, to the right of the first virtual item 320a, to emulate the location of the second physical item 315b in a second area 325b of the first physical shelf 305a , and the third virtual item 320c is located in a third area 330c of the first virtual shelf 310a, to the right of the second virtual item 320b, to emulate the location of the third physical item 315c in a third area 325c of the first physical shelf 305a. Virtual items 320d to 320f are similarly located on the second virtual shelf 310b to emulate the locations of physical items 315d to 315f, located on the second physical shelf 305b, and items 320g and Virtual 320h are located on the virtual third shelf 310c to emulate the locations of the physical items 315g and 315h located on the physical third shelf 305c. To further emulate the physical items 315, each of the virtual items 320 may include a graphical representation of the corresponding physical item 315. In addition to displaying the virtual shelf 230a in region 905 of display 410, in response to receiving the indication of the event associated with the physical shelf 210a, the virtual store tool 405 may also display the shelf camera segment 425a in a fourth region 970 of screen 410, as illustrated in FIGURE 9C. In certain embodiments, the fourth region 970 of the display 410 is to the right of the third region 905. The shelf camera segment 425a represents the physical shelf 210a, during the time interval in which the event occurs. For example, in embodiments where the event includes customer 105 approaching physical shelf 210a, shelf camera segment 425a shows customer 105 approaching physical shelf 210a. As another example, in embodiments where the event includes customer 105 selecting an item 315f from physical shelf 210a, shelf camera segment 425a represents customer 105 selecting item 315f from physical shelf 210a. The shelf camera segment 425a may be synchronized with the camera feed segments 415a to 415f, such that an adjustment of the slider 710 on any of the copies of the slider bar 705 leads to a corresponding adjustment of the playback progress of the segment. 425a shelf chamber. Display of the shelf camera segment 425a, in response to receiving the event indication may be desirable, to provide a user 120 with a view of the physical shelf 210a through which the user 120 is able to observe the customer 105 approaching and / or interacting with the physical shelf 210a. For example, shelf camera segment 425a may help user 120 see whether customer 105 has selected an item 315 from physical shelf 210a. User 120 can then use this information to fill virtual cart 420, as described in more detail below in the discussion of FIGURE 9D. In certain embodiments, the user 120 may be able to select a shelf camera 495 to assign to the physical shelf 210 to provide the user 120 with a shelf camera segment 425a that shows the best view of the physical shelf 210a, as determined by user 120. This aspect of the virtual store tool 405 will be described in more detail below, in the discussion of FIGURES 11 and 12. b. Receive Information That Identifies a Selected Item In certain embodiments in which the event includes the person 105 selecting an item from the physical shelf 210a, the indication of the event may include information that identifies the item selected by the person 105. For example, if the event includes the person 105 selecting the physical item 315f from the physical shelf 210a, the event indication received by the virtual store tool 405 may include information identifying the physical item 315f and / or the virtual item 320f. As an example, in certain embodiments, each physical shelf 305 of the physical shelf 210a includes a set of weight sensors 1300, coupled to areas 325 of the physical shelf 305, as described below, in the discussion of FIGURES 13B to 13D. When the person 105 removes an item 315 from the physical shelf 305, the weight sensor 1300 coupled to the area 325 of the physical shelf 305 in which the item 315 is located can send information to the virtual store tool 405 (either directly, or through other components of system 400, such as external system 485), indicating that item 315 has been selected from physical shelf 305 to physical shelf 210a. The virtual store tool 405 may use this information to highlight the corresponding virtual item 320 on the virtual shelf 230a, displayed in the third region 905 of the screen 410. For example, a weight sensor coupled to a third area of the second shelf 305b physical shelf 210a may send information to the virtual store tool 405 indicating that item 315f has been removed from the third area of the second physical shelf 305b of the physical shelf 210a. As another example, in certain embodiments, the event indication may include the slider 710 of the slider bar 705 reaching a marker 715. The markers 715 may include metadata 740, as described above, in the discussion of FIGURE 7C. The metadata 740 may include information indicating an identification number 745 assigned to the physical item 315 selected by the customer 105, an identification number 750 assigned to the physical shelf 305 from which the customer 105 selected the physical item 315, and / or an identification number 755 assigned to the physical shelf 210 that includes the physical shelf 305 from which the customer 105 selected the physical item 315. When, for example, the slider 710 of the sliding bar 705 reaches the marker 715a, the virtual store tool 405 can read the metadata 740 assigned to the marker 715a, to identify that the person 105 selected the physical item 315f from the second physical shelf 305b. from the physical «RQbnn / zznz / E / Y shelf 210a. Markers 715 may be added to slider bar 705 in any suitable manner. For example, in certain embodiments, the virtual display tool 405 adds markers 715 to the slider bar 705 based on information received from an algorithm 488 configured to track customers 105 in the physical store 100 and to determine the physical items 315 selected. for each customer 105, based on the inputs received from the sensors 498 located in the physical store 100. In response to receiving information identifying the physical item 315f as the physical item selected by the person 105 from the physical shelf 210a, the virtual store tool 405 may highlight the sixth virtual item 320f, located on the second virtual shelf 310b. from the virtual 230th shelf. Highlighting the virtual sixth item 320f may include any method of distinguishing the virtual sixth item 320f from the remaining virtual items 320. For example, highlighting the virtual sixth article 320f may include placing a frame around the virtual sixth article 320f, as illustrated in FIGURE 9C, enlarging the virtual sixth article 320f in comparison to the other virtual articles 320, and / or any another suitable method to distinguish the sixth virtual article 320f from the remaining virtual articles 320. c. Fill a Virtual Cart In certain embodiments, the graphical user interface 700 displayed by the virtual store tool 405 on the screen 410 may additionally include a virtual shopping cart 420, as illustrated in FIGURE 9 D. The virtual shopping cart 420 may be used to further emulate a shopping session of a customer 105 at the physical store 100, by storing virtual items 320 corresponding to the physical items 315 selected by the person 105 during their shopping session. The virtual store tool 405 may display the virtual shopping cart 420 in a fifth region 965 of the display 410. In certain embodiments, the fifth region 965 of the display 410 is located between the virtual shelf 230b, displayed in the third region 905. of the screen 410, and the shelf camera segment 425a. In certain embodiments, receiving information that identifies the physical item 315f as the physical item selected by the person 105 from the physical shelf 210a may include receiving information associated with dragging and dropping the virtual item 320f, corresponding to the physical item 315f. , from the virtual shelf 230a, shown in region 905, to the virtual shopping cart 420. For example, a user 120 may observe customer 105 selecting physical item 315f in camera feed segments 415 to 415f and / or in shelf camera feed segment 425a. Accordingly, the user 120 can select the virtual item 320f from the virtual shelf 230a, where the virtual item 320f corresponds to the physical item 315f and is configured to emulate the physical item 315f. The user 120 can then drag the virtual item 320f to the virtual shopping cart 420 and drop the virtual item 320f into the virtual shopping cart 420. To assist the user 120 in observing the customer 105 selecting a physical item 315 in the camera feed segments 415a to 415f and / or the shelf camera feed segment 425a, in certain embodiments, the user 120 can cause any of the chamber feed segments 415a to 415f shown and / or the shelf chamber feed segment 425a is larger than the others, selecting the chamber feed segments 415a to 415f and / or the shelf chamber feed segment 425a. shelving. For example, user 120 may click on a certain camera feed segment 415 or 425 to instruct the virtual store tool 405 to increase the size of the segment presented on screen 410. In response to receiving information that identifies the physical item 315f as the physical item selected by the person 105 from the physical shelf 210a either from the metadata 740, the weight sensors 1300 coupled to the physical shelf 305b, a drag and dropping the virtual item 320f into the virtual shopping cart 420, and / or any other suitable method of receiving information that identifies the physical item 315f - the virtual store tool 405 may store the virtual item 320f, corresponding to the physical item 315f , in the virtual shopping cart 420. The virtual shopping cart 420 can store any number of virtual items 320. For example, as playback of the camera feed segments 415 and 425 progresses, the virtual store tool 405 may receive more information that identifies an additional and different physical item 315 that has been selected by the person 105 from a shelf. 210 physics. The physical shelf 210 may be the same as the physical shelf 210a or different from the physical shelf 210a. In response to receiving information identifying the additional physical item 315, the virtual store tool 405 may store an additional virtual item 320, corresponding to the additional physical item 315, in the virtual shopping cart 420. This process may be repeated any number of times, such as a number of times corresponding to the number of times the camera feed segments 415 and 425 indicate that a person 105 selected a physical item 315 from a physical shelf 210. As illustrated in the FIGURE 9D, in certain embodiments, the virtual shopping cart 420 may display each virtual item 320 as a graphical representation of the corresponding physical item 315 and / or a textual description 910 of the corresponding physical item 315. The virtual shopping cart 420 may also indicate a quantity 915 of each virtual item 320f contained in the virtual shopping cart 420. For example, the virtual shopping cart 420 may indicate a quantity 915 of two virtual items 320f, to emulate the fact that the customer 105 selected two physical items 315f from the physical shelf 210a. The quantity 915 of each virtual item 320 may be increased in any suitable manner. For example, in some embodiments, the quantity 915 of the virtual item 320f may be increased by dragging and dropping the virtual item 320f, corresponding to the physical item 315f, from the virtual shelf 230a, shown in region 905, to the virtual shopping cart 420 multiple times. . As another example, in some embodiments, the quantity 915 of the virtual item 320f may be incremented by a user 120 interacting with the graphical user interface 700 via an add button 925. Similarly, the quantity 915 of the virtual item 320f may be decreased by the user 120 interacting with the graphical user interface 700 via a subtraction button 925. The user 120 may also remove the virtual item 320f from the virtual shopping cart 420 which interacts with the graphical user interface 700 via a discard button 930. At the end of a shopping session of the customer 105 at the physical store 100 (i.e., when the virtual store tool 405 determines that the customer 105 left the physical store 100), the virtual shopping cart 420 can be used to load the customer 105 the physical items 315 selected by the customer 105 during his or her purchasing session, and to send a receipt to the customer 105. Additionally, the virtual shopping cart 420 may be used to validate a determination made by an algorithm 488, based on the inputs received from the sensors 498 located in the physical store 100, from the physical items 315 selected by the customer 105 during their purchasing session. These aspects of the virtual store tool 405 will be described in more detail below, in the description of FIGURES 13 to 16. d. Method to Virtually Emulate a Session Physical Purchase FIGURE 10 presents a flow chart illustrating how the virtual store tool 405 emulates a shopping session of a customer 105 in a physical store 100, using the virtual layout 205 and the feed segments 415 and / or 425. of camera received from the physical store 100, and capturing the shopping session. At step 1005, "RQbnn / zznz / E / Y" RQbnn / zznz / E / Y the virtual store tool 405 displays the virtual layout 205 of the virtual store 110. The virtual layout 205 is configured to emulate the physical layout 200. from the 100 physical store. In particular, the arrangement of the virtual shelves 230 in the virtual arrangement 205 is configured to emulate the physical arrangement 200 of the physical shelves 210 in the physical store 100. In step 1010, the virtual store tool 405 determines whether the tool received an indication of an event associated with a person 105 interacting with a physical shelf 210 in the physical store 100, during a shopping session in the physical store 100. This event may include the customer 105 approaching a physical shelf 210 and / or selecting a physical item 315 from the physical shelf 210. The event indication may include any appropriate information indicating that the customer 105 interacted with the physical shelf 210. For example, in certain embodiments, the event indication may include the user 120 selecting the virtual shelf 230 in the virtual layout 205, in response to the display of the customer 105 approaching and / or selecting the physical item 315 from the physical shelf 210. in a set of camera feed segments 415, generated from the camera feeds 605 received from the layout cameras 490, located in the physical store 100 and capturing the shopping session of the customer 105. As another example, in In certain embodiments, the event indication may include slider 710 on slider bar 705, assigned to camera feed segments 415, reaching a marker 715. Marker 715 may include metadata 740 indicating the physical shelf 210 associated with the event. As another example, the indication of the event may include receiving information from an algorithm 488 configured to determine that the customer 105 approached and / or selected an item 315 from the physical shelf 210, based on inputs received from sensors 498 located in the 100 physical store. If, in step 1010, the virtual store tool 405 receives an indication of an event associated with the person 105 interacting with the physical shelf 210, in step 1015, the virtual store tool 405 displays the virtual shelf 230 corresponding to the physical shelf 210 (i.e., configured to emulate the physical shelf 210), in region 905 of the display 410. Additionally, at step 1015, the virtual store tool 405 displays a shelf camera segment 425 generated from of a shelf chamber feed 620 received from a shelf chamber 495 assigned to the physical shelf 210. The shelf camera segment 425 shows the physical shelf 210 during the time interval in which the event occurs. «RQbnn / zznz / E / Y In step 1020, the virtual store tool 405 determines whether the tool has received information that identifies a first virtual item 320. As an example, in certain embodiments, each physical shelf 305 of the physical shelf 210 includes a set of weight sensors 1300, coupled to areas of the physical shelf 305, as described below, in the description of FIGURES 13B to 13D. When the person 105 removes an item 315 from the physical shelf 305, the weight sensor 1300 coupled to the area of the physical shelf 305 in which the item 315 is located can send information to the virtual store tool 405 (either directly, or to through other components of system 400, such as external system 485), indicating that item 315 was selected from physical shelf 305 to physical shelf 210a. As another example, in certain embodiments, the indication of the event may include the slider 710 of the slider bar 705 reaching the marker 715a or 715b. Markers 715a and 715b may include metadata 740, as described above, in the description of FIGURE 7C. The metadata 740 may include information indicating an identification number 745 assigned to the physical item 315 selected by the customer 105, an identification number 750 assigned to the physical shelf 305 from which the customer 105 selected the physical item 315, and / or an identification number 755 assigned to the physical shelf 210 that includes the physical shelf 305 from which the customer 105 selected the physical item 315. Accordingly, when the slider 710 of the sliding bar 705 reaches a marker 715, the virtual store tool 405 may receive information that identifies the physical item 315, by reading the metadata 740 assigned to the marker 715, to identify that the person 105 selected item 315 physical from shelf 305 physical from shelf 210 physical. Markers 715 may be added to slider bar 705 in any suitable manner. For example, in certain embodiments, the virtual display tool 405 adds markers 715 to the slider bar 705 based on information received from an algorithm 488 configured to track customers 105 in the physical store 100 and to determine the physical items 315 selected. for each customer 105, based on the inputs received from the sensors 498 located in the physical store 100. As a further example, receiving information identifying the physical item 315 / virtual item 320 may include receiving information associated with dragging and dropping the virtual item 320, configured to emulate the physical item 315, from the virtual shelf 230. , displayed in region 905 of screen 410, to the virtual shopping cart 420. If, in step 1025, the virtual store tool 405 determines that the tool received information that "RQbnn / zznz / E / Y identifies the first virtual item 320 / physical item 315, in step 1030, the virtual store tool 405 stores the first virtual item 320 in the virtual shopping cart 420. In step 1035, the virtual store tool 405 determines whether the shopping session of the customer 105 has ended (i.e., whether the customer 105 has left the physical store 100). The virtual store tool 405 may determine that the customer 105 left the physical store 100 in any suitable manner. As an example, in certain embodiments, the virtual store tool 405 may determine that the customer 105 left the physical store 100 based on input received from user 120. For example, in embodiments in which segments 415 and / or 425 camera feeds are displayed on a graphical user interface 700 on screen 410, the graphical user interface 700 may additionally include an interactive button 730 (e.g., a client exit button) through which the user 120 can indicate that you observed customer 105 leaving the physical store 100, in one or more of the camera feed segments 415 and / or 425. As another example, the virtual store tool 405 may determine that the customer 105 has left the physical store 100 based on information received from an algorithm 488 configured to track customers 105 within the physical store 100. As another example, the virtual store tool 405 can "RQbnn / zznz / E / Y determine that the customer 105 left the physical store 100 based on the information received from the physical store 100. For example, physical store 100 may include a set of turnstiles 510 located near the exit of physical store 100. To open a turnstile 510 and exit the physical store 100, a customer 105 may be asked to scan the same QR code that was used to enter the physical store 100. Scanning the QR code may send a signal to the virtual store tool 405, indicating that the customer 105 left the physical store 100. In certain embodiments, in response to the determination that the customer 105 has left the physical store 100, the virtual store tool 105 sends a notification to a device 125 of the customer 105, indicating that the customer 105 should expect to receive a receipt for your shopping session at the physical store 105 within a set time period. If, in step 1035, the virtual store tool 405 determines that the shopping session of the customer 105 at the physical store 100 has not ended, the virtual store tool 405 returns to step 1010, to determine if the customer 105 selected any items. 315 additional from the 210 physical shelves. Specifically, the virtual store tool 405 determines whether the tool received an indication of an event associated with the customer 105 interacting with another physical shelf 210. The physical shelf 210 may be the same or a different physical shelf than the physical shelf with which the virtual store tool 405 previously determined that the customer 105 interacted. In this way, the virtual store tool 405 can fill the virtual cart 420 with any number of virtual items 320. On the other hand, if, in step 1035, the virtual store tool 405 determines that the shopping session has ended, then, in step 1040, the virtual store tool 405 charges the customer 105 for the items 315 selected by the customer. 105 during the purchasing session, based on the virtual items 320 stored in the virtual cart 420, and generates a receipt. The way in which the virtual store tool 405 generates the receipt is described in more detail below, in the description of FIGURE 14. To charge the customer 105, this description contemplates that the virtual store tool 405 can store payment information for the customer 105, according to an identification number 455 assigned to the customer 105, in memory 440. Next, in step 1045, the virtual store tool 405 sends the receipt to the customer 105. Modifications, additions or omissions may be made to method 1000 depicted in FIGURE 10. Method 1000 may include more, less or other steps. For example, the steps can be performed in parallel or in any suitable order. Although described as the virtual store tool 405 (or components thereof) performing the steps, any suitable component of the system 400, such as the device(s) 115 for example, may perform one or more steps of the method. V. Creation of Virtual Arrangements In certain embodiments, the layout creator 460 of the virtual store tool 405 is configured to display a second graphical user interface 1100 through which a user 120 can generate a virtual layout 205 configured to emulate a physical layout 200 of a store. 100 physical store. FIGURES 11A and 11B illustrate an example embodiment of said graphical user interface 1100. to. Placing Virtual Shelves in the Virtual Layout to Emulate the Physical Layout of Physical Shelves The layout creator 460 of the virtual store tool 405 may generate a virtual layout 205 configured to emulate a physical layout 200 of a physical store, in response to receiving a set of positions and orientations associated with the physical shelves210 located in the store. 100 physical store. The layout creator 460 may receive the set of positions and orientations in any suitable manner. For example, the virtual store tool 405 may receive the positions and orientations of the user 120, through the graphical interface 1100, by the user 120 creating virtual shelves 230 "RQbnn / zznz / E / Y in the graphical interface 1100, and, then drag and drop the virtual shelves 230 to given positions in the virtual layout 205 and / or rotate the virtual shelves 230 to given orientations in the virtual layout 205. As another example, the layout creator 460 may receive the positions and orientations of a file uploaded to the virtual store tool 405. For example, user 120 can upload a file that includes the positions and orientations using the drag file here button 1150 on the graphical user interface 1100. The file may include a list that includes pairs of positions and angles. In certain embodiments, each position may specify the position of the center of mass of a physical shelf 210 in the physical store 100. In some embodiments, each position may specify the position of a specific corner of a physical shelf 210 in the physical store 100. The positions may be specified in terms of any coordinate system superimposed on the physical layout 200. For example, each position can be specified as an (x,y) coordinate of a Cartesian coordinate system with an origin located at the center of the physical store 100. In certain embodiments, each orientation may specify the angle of a physical shelf 210 relative to a given direction. For example, each orientation can specify the angle of a physical shelf 210 relative to the x-axis of the coordinate system. Cartesians from the previous example. In certain embodiments, for each physical shelf 210, the file may additionally include a length and width of the physical shelf 210. In response to receiving the positions and orientations, the layout creator 460 places each virtual shelf 230 in a virtual position and with a virtual orientation in the virtual layout 205. Here, the virtual position and virtual orientation for a specific virtual shelf 230 in the virtual layout 205 represents the physical location and physical orientation of the corresponding physical shelf 210 in the physical layout 200. Although FIGURE 11A illustrates an example that includes eleven virtual shelves 230, this description contemplates that the virtual arrangement 205 may include any number of virtual shelves 230. In certain embodiments, the virtual store tool stores the resulting virtual layout 205 in memory 440, according to a store identification number 1105. Additionally, the layout creator 460 may store each virtual shelf 230 of the virtual layout 205 in the memory 44 0 according to a shelf identification number 7 55. The virtual layout tool 405 may also modify a particular virtual layout 205, in response to receiving a new position and / or orientation "RQbnn / zznz / E / Y" RQbnn / zznz / E / Y for any of the shelves 230 virtual in the virtual layout 205. Modification of the virtual layout 205 may be desirable in situations where the physical layout 200 emulated by the virtual layout 205 has changed. The layout creator 460 may receive new positions and / or new orientations for the virtual shelves 230 in any suitable manner. For example, the layout creator 460 can read the new positions and / or orientations from a file. The file may specify a new position and / or orientation for a virtual shelf 230a using the identification number 755 assigned to the virtual shelf 230a. For example, for each virtual shelf 230, the file may include the identification number 755 assigned to the virtual shelf 230, the Cartesian coordinates (x,y) of the new position for the shelf, and an angle measured relative to the axis -x, specifying the new orientation for the shelf. As another example, layout creator 460 may receive a new position and / or orientation for a virtual shelf 230, based on input received from graphical user interface 1100. For example, as illustrated in FIGURE 11 A, the layout creator 460 may receive an input that represents a drag of the virtual shelf 230k from a first position in the virtual layout 205 to a new position 1130 in the virtual layout 205. In response to receiving such input, the layout creator 460 may place the virtual shelf 230k at the new virtual position 1130, as illustrated in FIGURE 11B. As another example, the virtual store tool 205 may receive input representing a rotation of the virtual shelf 230 from a first orientation to a new orientation. In response to receiving such input, the layout creator 460 may place the virtual shelf 230 in the virtual layout 205 with this new orientation. b. Placing Virtual Items on Virtual Shelves to Emulate Physical Items Located on Physical Shelves In addition to placing the virtual shelves 230 in the virtual layout 205, the layout creator 460 is operable to fill the virtual shelves 230 with virtual items 320. For example, layout creator 460 may receive a planogram specifying the physical items 315 that should be placed on each physical shelf 210 in the physical store 100. For example, for each physical shelf 210, the planogram may include a list of physical items 315 to place on the physical shelf 210. For each physical item 315, the list may specify the shelf 305 of the physical shelf 210 in which the physical item 315 should be placed, as well as the area 325 of each shelf 305 in which the physical item 315 should be placed. In response to receiving the planogram, the layout creator 460 can place the corresponding virtual items 320 on the virtual shelves 230. As another example, layout creator 460 may receive a list of virtual items 320 for each virtual shelf 230, with each virtual item 320 in the list associated with a physical item 315. Such a list may specify a store identification number 1105, a shelf identification number 755, a shelf identification number 750, and / or a zone identification number 745 for each virtual item 320 that emulates a physical item 315. Here, the store identification number 1105 identifies a physical store 100 that stocks the physical item 315, the shelf identification number 755 identifies a physical shelf 210 in the physical store 100 that contains the physical item 315, the number 750 shelf identification number identifies a physical shelf 305 of the physical shelf 210, on which the physical item 315 is placed, and the zone identification number 745 identifies a zone of the physical shelf 305 that houses the physical item 315. In certain embodiments, the zone identification number 745 may correspond to a sensor identification number of a sensor 498 coupled to the zone of the physical shelf 305 that houses the physical item 315. The layout creator 460 can then store the virtual item 320 in memory 440 according to the store identification number 1105, the shelf identification number 755, the shelf identification number 750 and the zone identification number 745, where the layout creator 460 assigned the number 1105 of store identification to virtual layout 205, shelf identification number 755 to virtual shelf 230, shelf identification number 750 to virtual shelf 310 and zone identification number 745 to a virtual shelf zone 310 virtual configured to emulate the physical area of the physical shelf 305 that houses the physical item 315. The division of physical shelves 305 and virtual shelves 310 into zones is described in more detail below, in the description of FIGURES 13C and 13D. As another example, layout creator 460 may receive virtual items 320 to store on a specific virtual shelf 230 from a drop-down menu that includes a scrollable list of items. An example of such a drop-down menu 1135 is illustrated in FIGURE 11B. As illustrated in FIGURES 11A and 11B, user 120 can select a physical item name 1130 from the drop-down menu 1135 for a specific virtual shelf 230. In response, the layout creator 460 may store the virtual item 320 associated with the physical item 315 having the physical item name 1130 on the virtual shelf 230. The second graphical user interface 1100 can also be used to assign shelf cameras 495 to each of the virtual shelves 230 in the virtual layout 205. As illustrated in FIGURES 11A and 11B, the layout creator 460 can present a set of shelf chamber feed segments 425a to 425f to the user 120, through the second graphical user interface 1100. Each shelf chamber feed segment 425 is generated from a shelf chamber feed 620 received from a shelf chamber 495 located in the physical store 100. In certain embodiments, a user 120 may select a shelf camera 495 to assign to a virtual shelf 230. The user 120 may select a specific shelf camera 495 based on which of the shelf camera feed segments 425a to 425f provides the user 120 with the best view of the physical shelf 210 (emulated by the virtual shelf 230), as determined by the user. 120. User 120 may select shelf camera 495 in any suitable manner. For example, in certain embodiments, the user 120 can assign a specific shelf camera 495 to the virtual shelf 230 by clicking on the shelf camera segment 425 generated by the shelf camera 495 and displayed on the second graphical interface 1100. user. For example, user 120 may click on shelf camera segment 425a to assign shelf camera 495a, which generated shelf camera segment 425a, to virtual shelf 230a. In response to the user 120 clicking on the shelf camera segment 425a, the layout creator 460 may associate a shelf camera identification number 1125a, assigned to the shelf camera 495a, with the virtual shelf 230a. The second graphical user interface 1100 may be used to generate any number of virtual layouts 205, which the layout creator 460 may store in memory 440 based on store identification numbers 1105. The virtual store tool 405 may subsequently retrieve a particular virtual layout 205 using the associated store identification number 1105 and display the virtual layout 205 on the screen 410. The layout creator 460 may be a software module stored in memory 440 and executed by the processor 435. An example of the operation of the layout creator 460 is to (1) receive a set of positions and orientations associated with physical shelves 210 located in the physical store 100; (2) for each position and orientation received, place a virtual shelf 230 in the virtual layout 205, in a virtual position and with a "RQbnn / zznz / E / Y virtual orientation that represents the physical position and physical orientation of the corresponding physical shelving 210 in physical layout 200; (3) if an entry associated with a new position for a virtual shelf 230 is received, place the virtual shelf 230 in the new position in the virtual layout 205; (4) if an entry associated with a new orientation is received for a virtual shelf 230, place the virtual shelf 230 in the virtual layout 205, with the new orientation; (5) for each virtual shelf 230, receive a set of virtual items 320, and place the set of virtual items 320 on the virtual shelf 230; (6) For each virtual shelf 230, assign a shelf camera 495 to the virtual shelf. c. Method to Generate a virtual layout FIGURE 12 presents a flow chart illustrating how the virtual store tool 405 can generate a virtual layout 205 configured to emulate a physical layout 200 of a physical store 100. In step 1205, the virtual store tool 405 places a set of virtual shelves 230 in virtual positions and with virtual orientations in the virtual layout 205, where the virtual positions and virtual orientations of the virtual shelves 230 are chosen to emulate the positions and the physical orientations of the physical shelves 210 in the physical store 100. The virtual store tool 405 may receive the virtual positions and orientations in any suitable manner. For example, the virtual store tool 405 may receive the positions and orientation of the user 120 through the graphical user interface 1100. As another example, the virtual store tool 405 can receive the positions and orientations from a file uploaded to the virtual store tool 405. In step 1210, the virtual store tool 405 determines whether the input representing the dragging of a virtual shelf 230 to a new virtual position was received. If, in step 1210, the virtual store tool 405 determines that an input representing a drag of a virtual shelf 230 to a new virtual position was received, in step 1215, the virtual store tool 405 places the virtual shelf 230 at the new virtual position and proceeds to step 1220. On the other hand, if, in step 1210, the virtual store tool 405 does not determine that an input representing a drag from a virtual shelf 230 to a new virtual position was received, the virtual store tool 405 simply proceeds to step 1220. In step 1220, the virtual store tool 405 determines whether an input representing a rotation of a virtual shelf 230 from an initial orientation to a new orientation was received. If, in step 1220, the virtual store tool 405 determines that an input representing a rotation of a virtual shelf 230 from an initial orientation to a new orientation was received, the virtual store tool 405 adjusts the orientation of the shelf 230. virtual from the initial orientation to the new orientation, at step 1225, and proceeds to step 1230. On the other hand, if, at step 1220, the virtual store tool 405 determines that the input representing a rotation of a shelf 230 virtual from an initial orientation to a new orientation was not received, the virtual store tool 405 proceeds to step 1230. In step 1230, the virtual store tool 405 receives, for each virtual shelf 230, a set of virtual items 320 assigned to the virtual shelf 230. The virtual store tool 405 may receive the virtual item sets 320 in any suitable manner. For example, the virtual store tool 405 may receive a planogram, specifying the physical items 315 to be placed on each physical shelf 210 in the physical store 100. For example, for each physical shelf 210, the planogram may include a list of physical items 315 to be placed on the physical shelf. For each physical item 315, the list may specify the shelf 305 of the physical shelf 210 in which the physical item 315 should be placed, as well as the area 325 of each shelf 305 in which the physical item 315 should be placed. physical article 315. As another example, the virtual store tool 405 may receive virtual items 320 from a drop-down menu 1135 displayed on screen 410. The drop-down menu 1135 may include a list of physical items 315 from which a user 120 may select one or more items. to be placed on each virtual shelf 230. The drop-down menu 1135 may include a scrolling list of any number of physical items 315. In response to receiving a selection of a physical item 315 from the drop-down menu 1135, the virtual store tool 405 may identify the corresponding virtual item 320. After the virtual store tool 405 has received the virtual item sets 320, in step 1235, the virtual store tool 405 places each virtual item set 320 on the corresponding virtual shelf 230. In step 1240, the virtual store tool 405 assigns a shelf camera 495 to each virtual shelf 230. The virtual store tool 405 may assign a shelf camera 495 to each virtual shelf 230 in any suitable manner. For example, in certain embodiments, a user 120 may select shelf cameras 495 to assign to virtual shelves 230. The user 120 can select a certain shelf chamber 495 for a virtual shelf 230 based on which of the segments "RQbnn / zznz / E / Y Shelf camera feed 425a to 425f provides the user 120 with the best view of the corresponding physical shelf 210, as determined by the user 120. In step 1245, the virtual store tool 405 stores the virtual layout 205 in memory 440. In certain embodiments, the virtual store tool 405 may store the virtual layout 205 in memory 440 according to a store identification number 1105. Modifications, additions or omissions may be made to method 1200 depicted in FIGURE 12. Method 1200 may include more, less or other steps. For example, the steps can be performed in parallel or in any suitable order. Although described as the virtual store tool 405 (or components thereof) performing the steps, any suitable component of the system 400, such as the device(s) 115 for example, may perform one or more steps of the method. SAW. Use in Conjunction with an External Algorithm Configured to Track Customers in the Physical Store The virtual store tool 405 may be used in conjunction with an algorithm 488, generated by the external system 485, and configured to track customers 105 and determine the items 315 selected by a given customer 105a during a purchasing session of the customer 105a in the physical store 100, based on the inputs received from the sensors 498 located in the physical store 100. For example, the 100 virtual store tool 405 can be used to validate the determinations made by the algorithm 488 and / or to help improve the accuracy of the algorithm 488. FIGURES 13 to 16 are used to describe this aspect of the virtual store tool 405. to. Algorithm Input Sensors As described above, the external algorithm 488 is configured to track customers 105 and determine the items selected by a customer 105 during a shopping session in the physical store 100, based on inputs received from sensors 498 located in the 100 physical store. This description contemplates that the physical store 100 may include any type of suitable sensors 498. For example, the physical store 100 may include cameras, light detection and ranging sensors, millimeter wave sensors, weight sensors, and / or any other appropriate sensor, operable to track a customer 105 in the physical store 100 and detect information associated with the customer 105 selecting one or more items from the physical store 100. FIGURES 13A to 13D present examples of an embodiment in which the physical store 100 includes both cameras 1305 and weight sensors 1300 for the sensors 498. This description contemplates that the external system 485 can process the position information received from the cameras 1305. , and the weight information received from the weight sensors 1300, 101 using an algorithm 488, to determine which customers 105 removed which items from the physical display shelves 210 located in the physical store 100. Thus, the external system 485 may generate an algorithmic shopping cart of items that the algorithm 488 determines were selected by a customer 105, during a shopping session at the physical store 100. As seen in FIGURE 13A, the interior of the physical store 100 may include an array of cameras 1305 positioned on the ceiling of the store 100. In certain embodiments, this camera array 1305 may include layout cameras 490 and / or 495 shelf cameras. In other embodiments, the chamber array 1305 is separated from the layout chambers 490 and the shelf chambers 495. In general, the camera array 1305 produces videos of portions of the interior of the physical store 100. These videos may include stills or images of customers 105 within the space. The external system 485 processes these frames from the camera array 1305 to detect the customers 105 within the frames. As illustrated in FIGURE 13A, the camera array 1305 may include cameras 1305 arranged in a grid pattern across the ceiling of the physical store 100. Although this description shows the camera array 1305 including fifty cameras 1305, the camera array 1305 may "RQbnn / zznz / E / Y 102 include any suitable number of cameras 1305. Generally, the cameras 1305 in the camera array 1305 are arranged to form a rectangular array. In the example of FIGURE 13A, the camera array 1305 is a matrix of 5 x 10 cameras 1305 (e.g., five rows and ten columns of cameras 1305). The camera array 1305 may be arranged in an array of any suitable dimension. Each camera 1305 is communicatively coupled to the external system 485 and communicates the captured video to the external system 485. The cameras 1305 are communicatively coupled to the external system 485 in any suitable manner. For example, cameras 1305 may be connected by cable to external system components 485. As another example, cameras 1305 can be wirelessly coupled to external system 485 using any suitable wireless protocol (e.g., WiFi). The cameras 1305 may be any device suitable for capturing videos of the interior space of the physical store 100. For example, cameras 1305 may be three-dimensional cameras that can capture two-dimensional videos of space (e.g., the x-y plane) and also detect the heights of people and / or objects in the video. As another example, cameras 1305 may be two-dimensional cameras that capture two-dimensional videos of the space of the camera array 1305 may include a mixture of different types of 103 cameras 1305. FIGURE 13B presents an example of a weight sensor 1300 that can be attached to a shelf 305 of a physical shelf 210 of the physical store 100 to detect the weight of items 315 placed on the shelf 305. The weight sensor 1300 can then communicate this information to the external 485 system. The external system 485 tracks the weights detected by the weight sensors 1300 to determine if and when items 315 are removed from the physical shelf 210. As seen in FIGURE 13B, the weight sensor 1300 includes plates 1315a and 1315b, load cells 1310a, 1310b, 1310c, and 1310d, and cables 1320a, 1320b, 1320c, 1320d, and 1325. Generally, the components of the sensor 1300 are assembled so that the weight sensor 1300 can detect the weight of items 315 placed above or near the weight sensor 1300. The plates 1315 form surfaces that distribute the weight of the articles 315 across the surfaces. The plates 1315 can be made of any suitable material, such as, for example, metal and / or plastic. The items 315 may be placed on or near the plates 1315 and the weight of these items 315 may be distributed across the plates 1315. Load cells 1310 are placed between plates 1315a and 1315b. The load cells 1310 produce electrical signals based on the weight experienced by the cells 1310 «RQbnn / zznz / E / Y 104 load. For example, load cells 1310 may be transducers that convert an input mechanical force (e.g., weight, tension, compression, pressure, or torque) into an output electrical signal (e.g., current or voltage). As the input force increases, the output electrical signal can increase proportionally. The load cells 1310 may be any suitable type of load cell (e.g., hydraulic, pneumatic, and strain gauge). Although load cells 1310 are illustrated as cylindrical in shape, they may have any size and shape suitable for the particular implementation contemplated. Signals from load cells 1310 may be analyzed to determine an overall weight of items 315 placed above or near weight sensor 1300. The load cells 1310 may be positioned so that the weight of items 315 placed above or near the weight sensor 1300 is distributed evenly to each load cell 1310. In the example of FIGURE 13B, load cells 1310 are placed substantially equidistant from the corners of plates 1315a and 1315b. For example, the load cell 1310a is placed at a distance di from a corner of the plates 1315a and 1315b. The load cell 1310b is placed at a distance d2 from a corner of the plates 1315a and 1315b. The load cell 1310c is placed at a distance d3 from a corner of the plates 1315a and 1315b. The load cell 1310d is placed at a 105 distance d4 from a corner of plates 1315a and 1315b. The distances di, d2, d3 and d4 may be substantially equal to each other. This description contemplates that the distances differ between 5 and 10 millimeters and yet are considered substantially equal to each other. By placing the load cells 1310 at substantially equal distances from the edges of the plates 1315a and 1315b, the weight of items placed above or near the weight sensor 1300 is distributed evenly between the load cells 1310. As a result, the total weight of items placed above or near the weight sensor 1300 can be determined by adding the weights experienced by the individual load cells 1310. The load cells 1310 communicate electrical signals that indicate a weight experienced by the load cells 1310. For example, the load cells 1310 may produce an electrical current that varies as a function of the weight or force experienced by the load cells 1310. Each load cell 1310 is coupled to a cable 1320 that carries the electrical signal. In the example of FIGURE 13B, load cell 1310a is coupled to cable 1320a; load cell 1310b is coupled to cable 1320b; load cell 1310 is coupled to cable 1320c; and the load cell 1310d is coupled to the cable 1320d. The cables 1320 are grouped to form the cable 1325 that extends outside the weight sensor 1300. Cable 1325 carries the electrical signals produced by load cells 1310 106 to a circuit board that communicates signals to the external system 485. In certain embodiments, and as illustrated in FIGURE 13C, multiple weight sensors 1300 may be coupled to a given physical shelf 305 of the physical shelf 210. For example, in the example illustrated in FIGURE 13C, physical shelf 305 includes four weight sensors 1300. The locations of the weight sensors 1300 on the physical shelf 305 may define a set of zones of the physical shelf 305. For example, the first weight sensor 1300a may define a first zone 325a, the second weight sensor 1300b may define a second zone 325b, the third weight sensor 1300c may define a third zone 325c, and the fourth weight sensor 1300d may define a fourth zone 325d. In certain embodiments, each zone 325 may be associated with a different physical item 315, such that each weight sensor 1300 is configured to detect weight changes associated with the removal of a specific item 315 from the physical shelf 305. The virtual shelves 310 may similarly be divided into a set of zones 330a to 330d, with each virtual zone 330 associated with a given virtual item 320, to emulate the zones 325a to 325d of the physical shelves 305. Thus, when a signal is received from a weight sensor 1300a, indicating the removal of a physical item 315a stored in the first physical area 325a of the physical shelf 305, the signal can 107 be used to identify the virtual item 320a, stored in the first virtual zone 330a, based on the correspondence between the first physical zone 325a and the first virtual zone 330a. b. Comparison Between Virtual Shopping Cart and Algorithmic Shopping Cart In certain embodiments, the virtual store tool 405 may be used in conjunction with a trained algorithm 488 to track customers 105 within the physical store 100 and to determine the physical items 315 selected by a customer 105 during an in-store shopping session. 100 physical, based on inputs 498 received from sensors 498 located in the physical store 100. As described above, in the description of FIGURES 13A to 13D, sensors 498 may include cameras 1305 and weight sensors 1300. The algorithm 488 may be programmed to determine the items 315 selected by customers 105 in the physical store 100 in any suitable manner. For example, algorithm 488 may process video frames, received by external system 485 from camera array 1305, to determine the coordinates of clients 105 detected in the frames. Algorithm 488 can then timestamp these coordinates based on when the frames were received. Based on the coordinates and the «RQbnn / zznz / E / Y 108 timestamps, the algorithm 488 can determine the positions of customers 105 in the physical store 100. Algorithm 488 may also process signals received by external system 485 from weight sensors 1300 to determine when items 315 were removed from physical shelves 305. Using the positions of customers 105 in the physical store 100, and determinations of when items 315 were removed from physical shelves 305, algorithm 488 can determine which customers 105 took which items 315. As an example of using the virtual store tool 105 in conjunction with the algorithm 488, the virtual store tool 405 can be used to resolve discrepancies between physical items 315 that the algorithm 488 determines were selected by the customer 105 during a shopping session. purchases in the physical store 100 and the virtual items 320 that the virtual store tool 405 determines have been selected by the customer 105 during the purchasing session. When there are discrepancies between the physical items 315 determined by algorithm 488 that were selected by the customer 105 and the virtual items 320 determined by the virtual store tool 405 that were selected by the customer 105, the determination made by the store tool 405 virtual can also be used to improve the future accuracy of algorithm 488. FIGURES 14 to 16 are 109 used to describe these aspects of the virtual store tool 405. FIGURE 14 illustrates the resolution component 475 of the virtual store tool 405. The resolution component 475 is configured to compare the virtual shopping cart 420 with the algorithmic shopping cart 1420. This description contemplates that the virtual store tool 405 can receive the algorithmic shopping cart 1420 from the external system 485. Algorithmic shopping cart 1420 may include physical items 315 determined by an algorithm 488 that were selected by customer 105, based on inputs received from sensors 498 (including cameras 1305 and weight sensors 1300) located in store 100. physical. For example, the algorithmic shopping cart may include the first physical item 3151, the second physical item 315m, and the third physical item 315n. Each of the physical items 3151 to 3135η is associated with a certain purchase price. For example, the first physical item 3151 is associated with a first physical price 1440, the second physical item 315m is associated with a second physical price 1450, and the third physical item 315n is associated with a third physical price 1460. Although FIGURE 14 illustrates that it includes three physical items 315, this description contemplates that the algorithmic shopping cart 1420 may include any number of physical items 315. He 110 virtual shopping cart 420 includes the first virtual item 3201, the second virtual item 320j, and the third virtual item 320k, each of which is determined by the virtual store tool 405 as selected by the customer 105 during a shopping session. in the 100 physical store. Each of the virtual items 320i to 320k is associated with a certain purchase price. For example, the first virtual item 3201 is associated with a first virtual price 1410, the second virtual item 320j is associated with a second virtual price 1420, and the third virtual item 320k is associated with a third virtual price 1425. Although FIGURE 14 illustrates that it includes three virtual items 320, this description contemplates that the virtual shopping cart 420 may include any number of virtual items 320. Additionally, the virtual shopping cart 420 does not need to include the same number of items as the algorithmic shopping cart 1420. The resolution component 475 is configured to perform a comparison 1430 between the contents of the virtual shopping cart 420 and the contents of the algorithmic shopping cart 1420 to determine if there is any discrepancy 1435 between the two carts. The resolution component 475 may determine that: (1) the two carts are consistent with each other; or (2) the two cars are inconsistent with each other. In certain embodiments, in response to the determination that the two 111 carts are inconsistent with each other, the resolution component 475 may determine that: (1) the two carts are inconsistent with each other because the virtual cart 420 includes an error; or (2) the two carts are inconsistent with each other, because the algorithmic cart 1420 includes an error. Determining that the two carts are consistent with each other may include determining that the first virtual item 3201, present in the virtual shopping cart 420, is configured to emulate the first physical item 3151, presented in the algorithmic shopping cart 1420, the virtual second item 320j, present in the virtual shopping cart 420, is configured to emulate the physical second item 315m, presented in the algorithmic shopping cart 1420, and the virtual third item 320k, present in the virtual shopping cart 420 , is configured to emulate the third physical item 315n, which is presented in the algorithmic shopping cart 1420. On the other hand, determining that the two carts are inconsistent with each other may include: (1) determining that the virtual shopping cart 420 includes more virtual items 320 than the algorithmic shopping cart 1420 includes physical items 315; (2) determine that the virtual shopping cart 420 includes fewer virtual items 320 than the algorithmic shopping cart 1420 includes physical items 315; (3) determine that a virtual item 320, present in the virtual shopping cart 420, is 112 configures to emulate a physical item 315, which is not presented in the algorithmic shopping cart 1420; or (4) determine that no virtual item 320, present in the virtual shopping cart 420, is configured to emulate a physical item 315, present in the algorithmic shopping cart 1420. This description contemplates that in embodiments in which the resolution component 475 may determine that the two carts are inconsistent with each other because one of the two carts includes an error, the resolution component 475 may determine that one of the two carts includes an error. error in any suitable way. As an example, in certain embodiments, the resolution component 475 may always determine that the algorithmic shopping cart 1420 includes an error whenever there is a discrepancy between the virtual shopping cart 420 and the algorithmic shopping cart 1420. As another example, the resolution component 475 may determine that one of the carts includes an error, based on the type of discrepancy 1435 that exists between the virtual cart 420 and the algorithmic cart 1420. For example, the resolution component 475 may be configured to determine that the virtual shopping cart 420 includes an error when the discrepancy 1435 between the two carts is the result of different quantities of a particular item between the two carts. For example, virtual cart 420 may include an instance of "RQbnn / zznz / E / Y 113 virtual first item 320i, configured to emulate the physical first item 3151, while the algorithmic shopping cart 1420 may include two instances of the physical first item 3151. In such situations, it may be more likely that the virtual shopping cart 420 includes an incorrect quantity of the first virtual item 3201 than the algorithmic shopping cart 1420 includes an incorrect quantity of the first physical item 3151, as it may be difficult to tell from of the camera feed segments 415 and / or 425 that the customer 105 selected more than one physical item 3151 from a specific physical shelf 305. On the other hand, information received from the weight sensors 1300 in the physical store 100 may more accurately indicate that more than one physical item 3151 was selected from the physical shelf 305. For discrepancies 1435 that do not include different quantities of a particular item between the two carts, the resolution component 475 may be configured to determine that the algorithmic shopping cart 1420 includes an error, by default. As another example, the resolution component 475 may be configured to determine that the virtual shopping cart 420 or the algorithmic shopping cart 1420 includes an error based on input received from user 120. For example, in response to determining that there is a discrepancy 1435 between the virtual shopping cart 420 and the algorithmic shopping cart 1420, component 475 of Resolution 114 may send a message to device 115, notifying user 120 of the discrepancy 1435. User 120 may then send a response to virtual store tool 405 indicating that virtual shopping cart 420 includes an error, or that the cart 1420 algorithmic purchase includes an error. User 120 may determine that one of the virtual shopping carts 420 and the algorithmic shopping cart 1420 includes an error in any suitable manner. As an example, user 120 may review camera feed segments 415 and / or 425 to confirm the contents of virtual shopping cart 420 or determine that virtual shopping cart 420 includes an error. For example, if the discrepancy includes an absence of a physical item 315 from the algorithmic shopping cart 1420, when the corresponding virtual item 320 is presented in the virtual shopping cart 420, the user 120 can review the segments 415 and / or 425 of camera feed to confirm that the camera feed segments capture the customer 105 selecting the physical item 315 from a physical shelf 210. As another example, if the discrepancy includes the presence of a physical item 315 in algorithmic shopping cart 1420, where the corresponding virtual item 320 is absent from virtual shopping cart 420, user 120 may review segments 415 and / or 425. camera feed to (1) confirm that user 120 never observes client 105 by selecting the 115 item 315 physical of a shelf 210 physical; or (2) confirm that while the user 120 sees the customer 105 selecting the physical item 315 from a physical shelf 210 in the camera feed segments 415 and / or 425, the user 120 subsequently sees the customer 105 leaving the physical item 315 and leaving the physical store 100 with article 315. The resolution component 475 is also configured to generate a receipt 1465 for the customer 105. In certain embodiments, the resolution component 475 generates the receipt 1465 based on the contents of the virtual shopping cart 420. For example, resolution component 475 may generate receipt 1465 based on the contents of virtual shopping cart 420 before performing comparison 1430. In other embodiments, resolution component 475 may generate receipt 1465 based on comparison 1430. For example, if the resolution component 475 determines that the virtual shopping cart 420 is consistent with the algorithmic shopping cart 1420, the resolution component 475 may generate receipt 1465a for customer 105. Receipt 1465a may include cost 1475. total of the first virtual item 320i, the second virtual item 320j and the third virtual item 320k, as determined from the first virtual price 1410, the second virtual price 1420 and the third virtual price 1425. Here, since the virtual 420 cart is 116 consistent with the algorithmic shopping cart 1420, determining the total cost 1475 of the first virtual item 3201, second virtual item 320j, and third virtual item 320k is equivalent to determining the total cost of the first physical item 3151, second physical item 315m, and third article 315n physical. As another example, if the resolution component 475 determines that the virtual shopping cart 420 includes an error, the resolution component 475 may generate receipt 1465b for customer 105. Receipt 1465b may include the total cost 1480 of the first item 3151. physical, the second physical item 315m, and the third physical item 315n, as determined from the first physical price 1440, the second physical price 1450, and the third physical price 1460. As another example, if the resolution component 475 determines that the algorithmic shopping cart 1420 includes an error, the resolution component 475 may generate receipt 1465c for customer 105. The receipt 1465c may include the total cost 1475 of the first item 3201. virtual, the second virtual item 320j, and the third virtual item 320k, as determined from the first virtual price 1410, the second virtual price 1420, and the third virtual price 1425. Once the resolution component 475 has generated a receipt 1465 for the customer 105, the resolution component 475 may charge the customer 105, based on the receipt 1465, and / or send the receipt 1465 to the device 125, which 117 «RQbnn / zznz / E / Y belongs to client 105. The resolution component 475 may be a software module stored in memory 440 and executed by the processor 435. An example of the operation of the resolution component 4 / 5 is the following (1) receiving the virtual shopping cart 420 and the cart 1420 algorithmic purchase; (2) determining whether the number of virtual items 320 in the virtual shopping cart 420 is the same as the number of physical items 315 in the algorithmic shopping cart 1420; (3) if the number of virtual items 320 in the virtual shopping cart 420 is different from the number 315 of physical items in the algorithmic shopping cart 1420, label the two carts as inconsistent; (4) If the number of virtual items 320 in the virtual shopping cart 420 is the same as the number of physical items 315 in the algorithmic shopping cart 1420, determine whether the virtual shopping cart 420 includes any virtual items 320 for the that the algorithmic shopping cart 1420 does not include the corresponding physical item 315 (5) if the virtual shopping cart 420 includes any virtual item 320 for which the algorithmic shopping cart 1420 does not include the corresponding physical item 315, label the two carts as inconsistent; (6) if the virtual shopping cart 420 does not include any virtual item 320 for which the algorithmic shopping cart 1420 does not include the corresponding item "RQbnn / zznz / E / Y 118 315 physical, label the two carts as consistent (7) if the two carts are labeled as consistent generate receipt 1465a; (8) if the two carts are labeled as inconsistent, determine whether the virtual cart 420 includes an error; (9) if virtual cart 420 includes an error, generate receipt 1465b; (10) If virtual cart 420 does not include an error, generate receipt 1465c. c. Algorithm Feedback In certain embodiments, the virtual store tool 405 can be used in conjunction with the algorithm 488, to improve the accuracy of the determinations made by the algorithm 488. Specifically, the machine learning module 480 can provide feedback to the algorithm 488, based on a comparison of the content of the virtual shopping cart 420 with the content of the algorithmic shopping cart 1420. FIGURE 15 illustrates the operation of the machine learning module 480. As illustrated in FIGURE 15, in certain embodiments, the machine learning module 480 receives the algorithmic shopping cart 1420 and the virtual shopping cart 420. The machine learning module 480 may then perform a comparison 1430 of the contents of the virtual shopping cart 420 and the contents of the algorithmic shopping cart 1420, to determine whether a discrepancy 1435 exists between the two carts. In some other embodiments, the module 119 Machine learning 480 may receive an indication that a discrepancy 1435 exists between the virtual shopping cart 420 and the algorithmic shopping cart 1420 directly from the resolution component 475. The discrepancy 1435 may include any inconsistency between the virtual shopping cart 420 and the algorithmic shopping cart 1420. For example, the discrepancy 1435 may include the absence of a physical item 315a in the algorithmic shopping cart 1420, when the corresponding virtual item 320a is present in the virtual shopping cart 420. Such a discrepancy may occur when a weight sensor 1300 coupled to a physical shelf 305 on which the physical item 315a is placed did not detect the selection of the physical item 315a from the physical shelf 305. As another example, the discrepancy 1435 may include the presence of a physical item 315b in the algorithmic shopping cart 1420, where the corresponding virtual item 320b is absent from the virtual shopping cart 420. Such a discrepancy may arise where algorithm 488 fails to detect that a customer 105, who initially selected physical item 315b from a physical shelf 210, left item 315b and did not exit physical store 100 with item 315b. As another example, the discrepancy 1435 may include an identification exchange between a first customer 105a and a second customer 105b, such that a first item 315a selected "RQbnn / zznz / E / Y 120 by the first customer 105a is absent from the algorithmic shopping cart 1420 assigned to the first customer 105a, and present in an algorithmic shopping cart 1420 assigned to the second customer. Such identification exchange may occur in the customer tracking component of algorithm 488. In response to determining that a discrepancy exists between the algorithmic shopping cart 1420 and the virtual shopping cart 420, the machine learning module 480 may determine a subset 1500 of inputs received by the sensors 498 (which include the cameras 1305 and weight sensors 1300) and associated with the discrepancy. As an example, the machine learning module 480 may determine a range of timestamps of the camera feed segments 415 and / or 425 during which the discrepancy 1435 occurred. For example, the machine learning module 480 may determine that a virtual item 320a was added to the virtual shopping cart 420, based on a portion of a customer purchasing session 105 captured between a first timestamp and a second timestamp of the feed segments 415 and / or 425. camera, but that a corresponding physical item 315a was not added to the algorithmic shopping 1420 1420 cart. As a result, the machine learning module 480 may determine a subset 1500 of inputs received from the sensors 498 during the same time interval (i.e., the time interval that 121 occurs between the first timestamp and the second timestamp). Subset 1500 may include a subset 1505 of inputs received from cameras 1305 and / or a subset 1510 of inputs received from weight sensors 1300. In response to the identification of the subset 1500, associated with the discrepancy 1435, the machine learning module 480 may attach metadata 1540 to the subset 1500. This disclosure contemplates that the metadata 1540 may include any information that explains and / or addresses the discrepancy 1435. For example, attaching metadata 1540 to subset 1500 may include attaching a label to one or more frames received from cameras 1305 indicating that the frames illustrate customer 105a selecting item 315, rather than customer 105b selecting the item, as originally determined. algorithm 488. In response to the addition of metadata 1540 to subset 1500, external system 485 may use subset 1500 to retrain algorithm 488. In certain embodiments, retraining algorithm 488 may result in improved accuracy of algorithm 488. . The machine learning module 480 may be a software module stored in memory 440 and executed by the processor 435. An example of the operation of the machine learning module 480 is the following (1) receiving the algorithmic shopping cart 1420; (2) receive cart 420 122 virtual purchase; (3) comparing the contents of the virtual shopping cart 420 with the contents of the algorithmic shopping cart 1420; (4) determine that a discrepancy 1435 exists between the virtual shopping cart 420 and the algorithmic shopping cart 1420; (5) determining a subset 1500 of inputs received from sensors 498 (including cameras 1305 and weight sensors 1300); (6) attach metadata 1540 to subset 1500, so that the external system 485 can use subset 1500 to retrain algorithm 488. The FIGURE presents a flowchart illustrating how the virtual store tool 405 can use the virtual shopping cart 420 to provide feedback to the algorithm 488. In step 1605, the resolution component 475 receives an algorithmic shopping cart 1420. Algorithmic shopping cart 1420 includes a set of physical items 315, determined by algorithm 488 as selected by a customer 105 during a shopping session at physical store 100, based on inputs received from sensors 498 located in the store. 100 physics. In step 1610, resolution component 475 receives a virtual shopping cart 420. The virtual shopping cart 420 includes a set of virtual items 320. In certain embodiments, virtual items 320 were determined by a user 120 as selected by the customer 105 during a shopping session at the store 100. 123 "Physical RQbnn / zznz / E / Y, based on camera feed segments 415 and / or 425 capturing the shopping session of customer 105 at physical store 100. In step 1615, the resolution component 475 compares the contents of the algorithmic shopping cart 1420 with the contents of the virtual shopping cart 420. In step 1620, the resolution component 475 determines whether a discrepancy 1435 exists between the algorithmic shopping cart 1420 and the virtual shopping cart 420. If, in step 1620, the resolution component 475 determines that there is no discrepancy 1435 between the algorithmic shopping cart 1420 and the virtual shopping cart 420, then, in step 1640, the resolution component 475 generates a receipt 1465. for the purchasing session, based on the contents of the virtual shopping cart 420, and sends the receipt 1465 to a device 125 of the customer 105. If, in step 1620, the resolution component 475 determines that a discrepancy 1435 exists between the algorithmic shopping cart 1420 and virtual shopping cart 420, then, in step 1625, the machine learning module 480 determines a subset 1500 of the set of inputs received from the sensors 498 associated with the discrepancy. At step 1630, the machine learning module 480 attaches metadata 1540 to the subset 1500. The metadata 1540 may explain the discrepancy 1435. At step 1635, the external system 485 may use the 124 subset 1500 to retrain the algorithm 488. Additionally, in step 1640, the resolution component 475 generates a receipt 1465 for the purchasing session, based on the contents of the virtual shopping cart 420, and sends the receipt 1465 to a device 125 from client 105. Modifications, additions, or omissions may be made to method 1600 depicted in FIGURE 16. Method 1600 may include more, less, or other steps. For example, the steps can be performed in parallel or in any suitable order. Although described as virtual store tool 405 (or components thereof) performing the steps, any suitable component of system 400, such as device(s) 115 for example, may perform one or more steps of the method. Although this description includes various embodiments, a myriad of changes, variations, alterations, transformations and modifications may suggest themselves to one skilled in the art, and the present description is intended to encompass such changes, variations, alterations, transformations and modifications as falling within the scope of the attached claims. «RQbnn / zznz / E / Y 125 CLAUSES 1. A device comprising: a hardware processor configured to: receiving an algorithmic shopping cart comprising a first set of items, the first set of items determined by an algorithm that was selected by a first person during a shopping session in a physical store, based on a set of inputs received from sensors located within the physical store; receive a virtual shopping cart that includes a second set of items associated with the shopping session, in which video of a shopping session is captured by a set of cameras located in the physical store, and in which the video shows to the person selecting the second set of items; compare algorithmic shopping cart with virtual shopping cart; in response to the comparison of algorithmic shopping cart with virtual shopping cart; determine that a discrepancy exists between the algorithmic shopping cart and the virtual shopping cart; and determining a subset of the input set associated with the discrepancy; attach metadata to the subset, the metadata that "RQbnn / zznz / E / Y 126 explain the discrepancy; and use the subset to train the algorithm. 2. The apparatus of clause 1, wherein the processor is further configured to: receiving a second algorithmic shopping cart comprising a third set of items, the third set of items that the algorithm determines were selected by a second person during a second shopping session in the physical store, based on a second set of inputs received of the sensors located within the physical store; receive a second virtual shopping cart that includes a fourth set of items, the fourth set of items determined to have been selected by the person during the second shopping session in the physical store, based on the video of the second shopping session compare the second algorithmic shopping cart with the second virtual shopping cart; and in response to comparing the second algorithmic shopping cart to the second virtual shopping cart, determining that the second algorithmic shopping cart matches the second virtual shopping cart. 3. The apparatus of clause 1, wherein the discrepancy comprises an absence of a first item from the algorithmic shopping cart, wherein the first item 127 is present in the virtual shopping cart. 4. The apparatus in clause 3, where the sensors did not detect a selection of the first item. 5. The apparatus of clause 1, wherein the discrepancy comprises the presence of a first item in the algorithmic shopping cart, wherein the first item is absent from the virtual shopping cart. 6. The apparatus of clause 1, wherein the discrepancy comprises an exchange of identification between the first person and a second person, such that a first item selected by the first person is absent from the algorithmic shopping cart and is presented in a second algorithmic shopping cart associated with the second person. 7. The apparatus of clause 1, wherein the sensors comprise; an array of algorithmic cameras different from the array of cameras; and a set of weight sensors, wherein each article of the first set of articles is coupled to a weight sensor of the set of weight sensors. 8. A method that includes: receive an algorithmic shopping cart comprising a first set of items, the first set of items determined by an algorithm that has been selected by a first person during a shopping session 128 purchases in a physical store, based on a set of inputs received from sensors located within the physical store; receive a virtual shopping cart that includes a second set of items associated with the shopping session, in which the video of a shopping session was captured by a set of cameras located in the physical store, and where the video shows the person selecting the second set of items; compare algorithmic shopping cart with virtual shopping cart; in response to the comparison of the algorithmic shopping cart with the virtual shopping cart; determine that a discrepancy exists between the algorithmic shopping cart and the virtual shopping cart; and determining a subset of the input set associated with the discrepancy; attach metadata to the subset, the metadata that explains the discrepancy; and use the subset to train the algorithm. 9. The method of clause 8 further comprises: receive a second algorithmic shopping cart comprising a third set of items, the third set of items that the algorithm determines were selected by a second person during a second shopping session 129 in the physical store, based on a second set of inputs received from sensors located within the physical store; receive a second virtual shopping cart that includes a fourth set of items, the fourth set of items determined to have been selected by the person during the second shopping session in the physical store, based on the video of the second shopping session compare the second algorithmic shopping cart with the second virtual shopping cart; and in response to comparing the second algorithmic shopping cart to the second virtual shopping cart, determining that the second algorithmic shopping cart matches the second virtual shopping cart. 10. The method of clause 8, wherein the discrepancy comprises an absence of a first item from the algorithmic shopping cart, wherein the first item is presented in the virtual shopping cart. 11. The method of clause 10, where the sensors did not detect a selection of the first item. 12. The method of clause 8, where the discrepancy includes the presence of a first item in the algorithmic shopping cart, in which the first item is absent from the virtual shopping cart. 13. The method of clause 8, where the Discrepancy 130 comprises an exchange of identification between the first person and a second person, such that a first item selected by the first person is absent from the algorithmic shopping cart and is presented in a second algorithmic shopping cart associated with the second person. 14. The method of clause 8, wherein the sensors comprise; an array of algorithmic cameras different from the array of cameras; and a set of weight sensors, wherein each article of the first set of articles is coupled to a weight sensor of the set of weight sensors. 15. A system that includes: a set of sensors located within a physical store, the set of sensors comprising: an array of algorithmic cameras; and a set of weight sensors; and a processor configured to: receiving an algorithmic shopping cart comprising a first set of items, the first set of items determined by an algorithm that was selected by a first person during a shopping session in the physical store, based on a set of inputs received from the set of sensors; receive a virtual shopping cart that includes a “RQbnn / zznz / E / Y 131 second set of items associated with the shopping session, where the video of a shopping session was captured by a set of cameras located in the physical store, the camera array different from the algorithmic camera array, the video showing a the person who selects the second set of items; compare algorithmic shopping cart with virtual shopping cart; in response to the comparison of the algorithmic shopping cart with the virtual shopping cart determine that a discrepancy exists between the algorithmic shopping cart and the virtual shopping cart; And determine a subset of the set of entries associated with the discrepancy; attach metadata to the subset, the metadata that explains the discrepancy; and use the subset to train the algorithm. 16. The system of clause 15, wherein the processor is further configured to: receive a second algorithmic shopping cart comprising a third set of items, the third set of items that the algorithm determines were selected by a second person during a second shopping session in the physical store, based on a second set of RRQbnn / ZZnZ / E / YIAI 132 inputs received from the sensor array; receiving a second virtual shopping cart that includes a fourth set of items, determining that the fourth set of items was selected by the person during the second shopping session in the physical store, based on the video of the second shopping session; compare the second algorithmic shopping cart with the second virtual shopping cart; and in response to comparing the second algorithmic shopping cart to the second virtual shopping cart, determining that the second algorithmic shopping cart matches the second virtual shopping cart. 17. The system of clause 15, where the discrepancy comprises an absence of a first item from the algorithmic shopping cart, where the first item is presented in the virtual shopping cart. 18. The system in clause 17, where the sensor array did not detect a selection of the first item. 19. The system of clause 15, where the discrepancy comprises a presence of a first item in the algorithmic shopping cart, where the first item is absent from the virtual shopping cart. 20. The system in clause 15, where the discrepancy involves an exchange of identification between “RQbnn / zznz / E / Y 133 the first person and a second person, such that a first item selected by the first person is absent from the algorithmic shopping cart and is presented in a second algorithmic shopping cart associated with the second person. 21. An apparatus configured to create a virtual layout of a virtual store to emulate a physical layout of a physical store, the apparatus comprising: a memory; and a hardware processor communicatively coupled to the memory, the hardware processor configured to; receive a first physical position and a first physical orientation associated with a first physical shelf located in the physical store; in response to receiving the first physical position and the first physical orientation, placing a first virtual shelf in a first virtual position and with a first virtual orientation in the virtual layout, wherein the first virtual position of the first virtual shelf in the virtual layout represents the first physical position of the first physical shelf in the physical layout and the first virtual orientation of the first virtual shelf in the virtual layout represents the first physical orientation of the first physical shelf in the physical layout receive an associated first virtual item with a first physical item located on a first physical shelf of “RQbnn / zznz / E / Y 134 the first physical shelf; in response to receiving the first virtual item, placing the first virtual item on a first virtual shelf of the first virtual shelf, where the first virtual shelf of the first virtual shelf represents the first physical shelf of the first physical shelf; receiving a second virtual item associated with a second physical item located on a second physical shelf of the first physical shelf in response to receiving the second virtual item, placing the second virtual item on a second virtual shelf of the first virtual shelf, wherein the second virtual shelf of the first virtual shelf represents the second physical shelf of the first virtual shelf assigning a first shelf camera located in the physical store to the first virtual shelf, the first shelf camera configured to capture video comprising the first shelf physical; and store the virtual layout in memory. 22. The apparatus of clause 21, wherein the processor is further configured to: receive a second physical position and a second physical orientation associated with a second physical shelf 135 located in the physical store; in response to receiving the second physical position and the second physical orientation, placing a second virtual shelf in a second virtual position and with a second virtual orientation in the virtual layout, where the second virtual position of the second virtual shelf in the layout virtual represents the second physical position of the second physical shelf in the physical layout and the second virtual orientation of the second virtual shelf in the virtual layout represents the second physical orientation of the second physical shelf in the physical layout; receiving a third virtual item associated with a third physical item located on a third physical shelf of the second physical shelf; in response to receiving the third virtual item, placing the third virtual item on a third virtual shelf of the second virtual shelf, where the third virtual shelf of the second virtual shelf represents the third physical shelf of the second physical shelf receiving a fourth item virtual associated with a fourth physical item located on a fourth physical shelf of the second physical shelf; in response to receiving the fourth virtual item, place the fourth virtual item in a fourth 136 virtual shelf of the second virtual shelf, wherein the fourth virtual shelf of the second virtual shelf represents the fourth physical shelf of the second physical shelf; and assigning a second shelf camera located in the physical store to the second virtual shelf, the second shelf camera configured to capture video comprising the first physical shelf. 23. The apparatus of clause 21, wherein a physical store identification number is assigned, and the virtual layout is stored in memory according to the store identification number. 24. The apparatus of clause 23 further comprises a display, wherein the processor is further configured to: receive the store identification number; in response to receiving the store identification number, displaying the virtual layout in a first region of the screen; and in response to receiving an indication of an event associated with the first physical shelf displaying the first virtual shelf in a second region of the display; and displaying a video from the first shelf camera in a third region of the screen. 25. The apparatus of clause 21, where; the first virtual article is also associated with a «RQbnn / zznz / E / Y 137 first physical area of the first physical shelf of the first physical shelf; the second virtual item is further associated with a second physical area of the second physical shelf of the first virtual shelf; Placing the first virtual item on the first virtual shelf of the first virtual shelf further comprises placing the first virtual item in a first virtual area of the first virtual shelf of the first virtual shelf, wherein the first virtual area of the first virtual shelf represents the first physical zone of the first physical shelf; and placing the second virtual item on the second virtual shelf of the first virtual shelf further comprises placing the second virtual item in a second virtual area of the second virtual shelf of the first virtual shelf, where the second virtual area of the second virtual shelf represents the second physical area of the second physical shelf. 26. The apparatus of clause 25, where: a first sensor associated with a first sensor identification number is assigned to the first physical zone of the first physical shelf; a second sensor associated with a second sensor identification number is assigned to the second physical zone of the "RQbnn / zznz / E / Y 138 second physical shelf; and the processor is further configured to: assigning the first sensor identification number to the first virtual zone of the first virtual shelf; and assigning the second sensor identification number to the second virtual zone of the second virtual shelf. 27. The apparatus of clause 21, wherein the receipt of the first virtual article and the second virtual article comprises the receipt of a file comprising a planogram. 28. The apparatus of clause 21, wherein the receipt of the first virtual item and the second virtual item comprises: displaying a scrolling list of items, the scrolling list of items comprising the first virtual item and the second virtual item; receive a first instruction to add the first virtual item in the list and move it to the first virtual shelf of the first virtual shelf; and receive a second instruction to add the second virtual item in the list and move it to the second virtual shelf of the first virtual shelf. 29. The apparatus of clause 21, wherein the processor is further configured to: receive a first input; 139 determining that the first entry represents a drag of the first virtual shelf from the first virtual position to a new virtual position in response to determining that the first entry represents the drag of the first virtual shelf from the first virtual position to the new virtual position, place the first virtual shelf in the new virtual position; receive a second entry; determining that the second input represents a rotation of the first virtual shelf from the first virtual orientation to a new virtual orientation; and in response to determining that the second entry represents the rotation of the first virtual shelf from the first virtual orientation to the new virtual orientation, placing the first virtual shelf with the new virtual orientation. 30. The apparatus of clause 29 further comprises a display, wherein the processor is further configured to: displaying a first graphical user interface on the screen, the first graphical user interface comprising the virtual layout, wherein the first input and the second input are received from the first graphical user interface; display a second graphical user interface on the 140 display, the second graphical user interface displayed separately from the first graphical user interface, the second graphical user interface comprising the virtual layout and a video received from the first shelf camera; receiving a third input from the second graphical user interface; determining that the third entry represents a selection of the first virtual shelf of the virtual layout; and in response to determining that the third input represents the selection of the first virtual shelf from the virtual layout, displaying the first virtual shelf in the second graphical user interface on the screen. 31. A method for creating a virtual layout of a virtual store to emulate a physical layout of a physical store, the method comprising; receiving a first physical position and a first physical orientation associated with a first physical shelf located in the physical store; in response to receiving the first physical position and the first physical orientation, placing a first virtual shelf in a first virtual position and with a first virtual orientation in the virtual layout, in which the first virtual position of the first shelf "RQbnn / zznz / E / Y 141 virtual in the virtual arrangement represents the first physical position of the first physical shelf in the physical arrangement and the first virtual orientation of the first virtual shelf in the virtual arrangement represents the first physical orientation of the first physical shelf in the physical arrangement; receiving a first virtual item associated with a first physical item located on a first physical shelf of the first physical shelf; in response to receiving the first virtual item, placing the first virtual item on a first virtual shelf of the first virtual shelf, where the first virtual shelf of the first virtual shelf represents the first physical shelf of the first physical shelf; receiving a second virtual item associated with a second physical item located on a second physical shelf of the first physical shelf; in response to receiving the second virtual item, placing the second virtual item on a second virtual shelf of the first virtual shelf, wherein the second virtual shelf of the first virtual shelf represents the second physical shelf of the first physical shelf; assign a first shelf camera located at «RQbnn / zznz / E / Y 142 the physical store to the first virtual shelf, the first shelf camera configured to capture video comprising the first physical shelf; and store the virtual layout in memory. 32. The method of clause 31 further comprises: receive a second physical position and a second physical orientation associated with a second physical shelf located in the physical store; in response to receiving the second physical position and the second physical orientation, placing a second virtual shelf in a second virtual position and with a second virtual orientation in the virtual layout, where the second virtual position of the second virtual shelf in the layout virtual represents the second physical position of the second physical shelf in the physical layout and the second virtual orientation of the second virtual shelf in the virtual layout represents the second physical orientation of the second physical shelf in the physical layout; receiving a third virtual item associated with a third physical item located on a second physical shelf of the second physical shelf; in response to receiving the third virtual item, placing the third virtual item on a third virtual shelf of the second virtual shelf, wherein the third virtual shelf of the second virtual shelf "RQbnn / zznz / E / Y 143 represents the third physical shelf of the second physical shelf; receiving a fourth virtual item associated with a fourth physical item located on a fourth physical shelf of the second physical shelf; in response to receiving the fourth virtual item, placing the fourth virtual item on a fourth virtual shelf of the second virtual shelf, wherein the fourth virtual shelf of the second virtual shelf represents the fourth physical shelf of the second physical shelf; and assigning a second shelf camera located in the physical store to the second virtual shelf, the second shelf camera configured to capture video comprising the first physical shelf. 33. The method of clause 31, wherein a physical store identification number is assigned, and the virtual layout is stored in memory according to the store identification number. 34. The method of clause 33 further comprises: receiving the store identification number; in response to receiving the store identification number, displaying the virtual layout in a first region of a screen; and in response to receipt of an indication of a 144 event associated with the first physical shelf; displaying the first virtual shelf in a second region of the screen; and displaying a video from the first shelf camera in a third region of the screen. 35. The method of clause 31, wherein the first virtual item is further associated with a first physical area of the first physical shelf of the first physical shelf; the second virtual item is further associated with a second physical area of the second physical shelf of the first physical shelf; Placing the first virtual item on the first virtual shelf of the first virtual shelf further comprises placing the first virtual item in a first virtual area of the first virtual shelf of the first virtual shelf, wherein the first virtual area of the first virtual shelf represents the first physical zone of the first physical shelf; and placing the second virtual item on the second virtual shelf of the first virtual shelf further comprises placing the second virtual item in a second virtual area of the second virtual shelf of the first virtual shelf, wherein the second virtual area of the second virtual shelf represents the second physical zone of the second physical shelf. 145 36. The method of clause 35 further comprises: assigning a first sensor identification number to the first virtual zone of the first virtual shelf, wherein a first sensor associated with the first sensor identification number is assigned to the first zone physics of the first physical shelf; and assigning a second sensor identification number to the second virtual zone of the second virtual shelf, wherein a second sensor associated with the second sensor identification number is assigned to the second physical zone of the second physical shelf. 37. The method of clause 31, wherein receiving the first virtual item and the second virtual item comprises receiving a file comprising a planogram. 38. The method of clause 31, wherein the receipt of the first virtual item and the second virtual item comprises: displaying a scrolling list of items, the scrolling list of items comprising the first virtual item and the second virtual item; receive a first instruction to add the first virtual item in the list and move it to the first virtual shelf of the first virtual shelf; and receive a second instruction to add the 6 second virtual item in the list moves it to the second virtual shelf of the first virtual shelf. 39. The method of clause 31 further comprises: receive a first entry; determining that the first entry represents a drag of the first virtual shelf from the first virtual position to a new virtual position in response to determining that the first entry represents a drag of the first virtual shelf from the first virtual position to the new position virtual, place the first virtual shelf in the new virtual position; receive a second entry; determining that the second input represents a rotation of the first virtual shelf from the first virtual orientation to a new virtual orientation; and in response to determining that the second entry represents the rotation of the first virtual shelf from the first virtual orientation to the new virtual orientation, placing the first virtual shelf with the new virtual orientation. 40. The method of clause 39 further comprises: displaying a first graphical user interface on a screen, the first graphical user interface comprising the virtual layout, in which the first entry "RQbnn / zznz / E / Y 147 and the second input are received from the first graphical user interface; displaying a second graphical user interface on the screen, the second graphical user interface displayed separately from the first graphical user interface, the second graphical user interface comprising the virtual layout; receiving a third input from the second graphical user interface; determining that the third entry represents a selection of the first virtual shelf of the virtual layout; and; in response to determining that the third input represents the selection of the first virtual shelf from the virtual layout, displaying the first virtual shelf and a video received from the first shelf camera in the second graphical user interface on the screen. 41. A device comprising: an interface configured to receive a first video feed comprising: a first camera feed corresponding to a first camera located in a physical store, the first camera directed to a first location in the physical store; and a second chamber corresponding to a second 148 camera located in the physical store, the second camera directed to a second location in the physical store; a screen; a memory; and a hardware processor communicatively coupled to the memory and the display, the hardware processor configured to: store a first video segment in memory, the first video segment assigned to a first person and capturing a portion of a shopping session of the first person in the physical store that occurs during a time interval between a timestamp start and an end timestamp, the first video segment comprising: a first camera feed segment corresponding to a recording of the first camera feed from the start timestamp to the end timestamp; and a second camera feed segment corresponding to a recording of the second camera feed from the start timestamp to the end timestamp; assign a first slider bar to the first video segment, in which the playback of the first camera feed segment and the second camera feed segment are synchronized and the first bar 9 slider controls the playback progress of the first camera feed segment and the second camera feed segment; displaying the first camera feed segment and a first copy of the first slider bar in a first region of the screen; displaying the second camera feed segment and a second copy of the first slider bar in a second region of the screen; receiving an instruction from at least one of the two copies of the first slider bar and the second copy of the first slider bar to adjust the playback progress of the first camera segment and the second camera feed segment; and in response to receiving the instruction, adjusting the playback progress of the first camera feed segment and the second camera feed segment. 42. The apparatus of clause 41, wherein the processor is further configured to: store a second video segment in memory, the second video segment assigned to a second person and capturing a portion of a shopping session of the second person in the physical store that occurs during a second time interval between a second mark start time «RQbnn / zznz / E / Y 150 and a second end timestamp, the second start timestamp after the start timestamp and before the end timestamp, the second video segment comprising: a third camera feed segment corresponding to a recording of the first camera feed from the second start timestamp to the second end timestamp; and a fourth camera feed segment corresponding to a recording of the second camera feed from the second start timestamp to the second end timestamp assigning a second slider bar to the second video segment, the second slider bar independent sliding of the first slide bar, wherein the playback of the third camera feed segment and the fourth camera feed segment are synchronized and the second slide bar controls a playback progress of the third camera feed segment and from the fourth chamber feed segment; displaying the third camera feed segment and a first copy of the second slider bar in a third region of the screen displaying the fourth camera feed segment and a second copy of the second slider bar in a fourth region of the screen; 151 receiving a second instruction from at least one of the first copy of the second slider bar and the second copy of the second slider bar to adjust the playback progress of the third camera feed segment and the fourth camera feed segment in response to receiving the second instruction, adjusting the playback progress of the third camera feed segment and the fourth camera feed segment. 43. The apparatus of clause 41, wherein the processor is further configured to: determining that the first camera feed segment represents the first person at first; in response to determining that the first camera feed segment represents the first person at the first time: determine that the common slider reached the first beat; and in response to determining that the common slider reached the first beat, highlight the first camera feed segment. 44. The apparatus of clause 41, wherein the common slider bar comprises a marker located at a first time on the common slider bar, the marker associated with an event occurring at the first time, the associated event "RQbnn / zznz / HEY 152 with the first person selecting an item from a shelf located on a shelf in the physical store. 45. The apparatus of clause 44, where: the item is assigned an item identification number; the shelf is assigned a shelf identification number; the shelf is assigned a shelf identification number; and the marker comprises metadata comprising the item identification number, the shelf identification number, and the shelf identification number. 46. The apparatus of clause 45, where: the first video feed further comprises a third camera feed corresponding to a third camera located in the physical store, the third camera directed to the shelf; the first video segment further comprises a third camera feed segment corresponding to a recording of the third camera from the start timestamp to the end timestamp; and the processor is further configured to: determine that the playback progress of the first camera feed segment and the second “RQbnn / zznz / E / Y 153 camera feed segment reached the marker; and in response to determining that the playback progress of the first camera feed segment and the second camera feed segment reached the marker; determining, based on the marker metadata, that the event associated with the first person selecting the item from the shelf located on the physical store shelf has occurred; and in response to determining that the event has occurred, displaying the third camera feed segment in a third display region. 47. The apparatus of clause 41, wherein the time interval between the initial timestamp and the final timestamp comprises a predetermined length; and the processor is further configured to: store a second video segment in memory, the second video segment assigned to the first person and capturing a portion of a shopping session of the first person in the physical store that occurs during a second time interval between the mark of end time and a new end timestamp, the second video segment comprising: a new segment of power from the first 154 camera corresponding to a recording of the first camera feed from the end timestamp to the new end timestamp; and a new second camera feed segment corresponding to a recording of the second camera feed from the end timestamp to the new end timestamp; assign a second slider bar to the second video segment, in which the playback of the new segment of the first camera and the new segment of the second camera are synchronized and the second slider controls the playback progress of the new segment of the first chamber and the new segment of the second chamber; determining that the playback progress of the first camera feed segment and the second camera feed segment reached the end timestamp; and in response to determining that the playback progress of the first camera feed segment and the second camera feed segment reached the end timestamp: displaying the new segment of the first camera and a first copy of the second slider in the first region of the screen; and display the new feed segment of the 155 second camera and a second copy of the second slider in the second region of the screen. 48. A method comprising: receive a first video feed comprising: a first camera feed corresponding to a first camera located in a physical store, the first camera directed to a first location in the physical store; and a second camera feed corresponding to a second camera located in the physical store, the second camera directed to a second location in the physical store; store a first video segment, the first video segment assigned to a first person and capture a portion of a shopping session of the first person in the physical store that occurs during a time interval between an initial timestamp and a final timestamp, the first video segment comprising: a first camera feed segment corresponding to a recording of the first camera feed from the start timestamp to the end timestamp; and a second camera feed segment corresponding to a recording of the second camera feed from the start timestamp to the end timestamp; 156 assigning a first slider bar to the first video segment, in which the playback of the first camera feed segment and the second camera feed segment is synchronized and the first slider bar controls the progress of the playback of the first feed segment chamber and the second chamber feed segment; displaying the first camera feed segment and a first copy of the first slider bar in a first region of a screen; displaying the second camera feed segment and a second copy of the first slider bar in a second region of the screen; receiving an instruction from at least one of the first copies of the first slider bar and the second copy of the first slider bar to adjust the playback progress of the first camera feed segment and the second camera feed segment; and in response to receiving the instruction, adjusting the playback progress of the first camera feed segment and the second camera feed segment. 49. The method of clause 48 further comprises: store a second video segment, the second video segment assigned to a second person and capturing 157 a portion of a shopping session of the second person in the physical store that occurs during a second time interval between a second start timestamp and a second end timestamp, the second subsequent start timestamp at the start timestamp and before the end timestamp, the second video segment comprises; a third camera feed segment corresponding to a recording of the first camera feed from the second start timestamp to the second end timestamp; and a fourth camera feed segment corresponding to a recording of the second camera feed from the second start timestamp to the second end timestamp assigning a second slider bar to the second video segment, the second slider bar independent of the first slider bar, in which the playback of the third camera feed segment and the fourth camera feed segment is synchronized and the second slider controls the playback progress of the third camera feed segment and the fourth feed segment Of camera; displaying the third camera feed segment and a first copy of the second slider bar in a third region of the screen; 158 displaying the fourth camera feed segment and a second copy of the second slider bar in a fourth region of the screen; receive a second instruction from at least one of the first copy of the second slider bar and the second copy of the second slider bar to adjust the playback progress of the third camera feed segment and the fourth camera feed segment ; in response to receiving the second instruction, adjusting the playback progress of the third camera feed segment and the fourth camera feed segment. 50. The method of clause 48 further comprises: determining that the first camera feed segment represents the first person at first; in response to determining that the first camera feed segment represents the first person at the first time; determine that the common slider reached the first beat; and in response to determining that the common slider reached the first beat, highlight the first camera feed segment. 51. The method of clause 48, wherein the common slider comprises a marker located on a first 159 moment on the common slider bar, the marker associated with an event that occurs at the first moment, the event associated with the first person who selects an item from a shelf located on a shelf in the physical store. 52. The method of clause 51, where; The item is assigned an item identification number; the shelf is assigned a shelf identification number; the shelf is assigned a shelf identification number; and the marker comprises metadata comprising the item identification number, the shelf identification number, and the shelf identification number. 53. The method of clause 52 further comprises: determining that the playback progress of the first camera feed segment and the second camera feed segment reached the marker; and in response to determining that the playback progress of the first camera feed segment and the second camera feed segment reached the marker determining, based on the metadata of the marker, that the event associated with the first occurred. person 160 that selects the item from the shelf located on the shelf of the physical store; and in response to determining that the event has occurred, displaying a third camera feed segment in a third region of the display, wherein; the first video segment further comprises a third camera feed segment corresponding to a third camera located in the physical store, the third camera directed at the shelf; and the first video segment further comprises the third camera feed segment corresponding to a recording of the third camera from the start timestamp to the end timestamp. 54. The method of clause 48 further comprises: store a second video segment assigned to the first person and capture a portion of a shopping session of the first person in the physical store that occurs during a second time interval between the end timestamp and a new end timestamp. completion, comprising the second video segment: a new first camera feed segment corresponding to a recording of the first camera feed from the end timestamp to the new end timestamp; and a new feed segment of the second «RQbnn / zznz / E / Y 161 camera corresponding to a recording of the second camera from the end timestamp to the new end timestamp; assign a second slider bar to the second video segment, in which the playback of the new first camera feed segment and the new second camera feed segment are synchronized and the second slider controls the playback progress of the new feed segment of the first chamber and the new feed segment of the second chamber; determining that the playback progress of the first camera feed segment and the second camera feed segment reached the end timestamp; and in response to determining that the playback progress of the first camera feed segment and the second camera feed segment reached the end timestamp: displaying the new feed segment of the first camera and a first copy of the second slider in the first region of the screen; and display the new segment of the second camera and a second copy of the second slider in the second region of the screen. 55. A system that includes: 162 an interface operable to receive a first video feed comprising: a first camera feed corresponding to a first camera located in a physical store, the first camera directed to a first location in the physical store; and a second camera feed corresponding to a second camera located in the physical store, the second camera directed to a second location in the physical store; a display element; a storage element; and a processing element communicatively coupled to the storage element and the display element, the processing element operable to: store a first video segment in the storage element, the first video segment assigned to a first person and capture a portion of a shopping session of the first person in the physical store that occurs during a time interval between a mark of start time and an end timestamp, the first video segment comprising: a first camera feed segment corresponding to a recording of the first camera feed from the start timestamp to the end timestamp; and a second chamber feed segment «RQbnn / zznz / E / Y 163 corresponding to a recording of the second camera feed from the start timestamp to the end timestamp; assign a first slider bar to the first video segment, where the playback of the first camera feed segment and the second camera feed segment is synchronized and the first slider controls the playback progress of the first camera feed segment and the second chamber feed segment; displaying the first camera feed segment and a first copy of the first slider bar in a first region of the display element; displaying the second camera feed segment and a second copy of the first slider bar in a second region of the display element; receiving an instruction from at least one of the first copy of the first slider bar and the second copy of the first slider bar to adjust the playback progress of the first camera feed segment and the second camera feed segment; in response to receiving the instruction, adjust the playback progress of the first camera feed segment and the second camera feed segment; store a second video segment in the storage element, the second video segment assigned to the "RQbnn / zznz / E / Y 164 first person and capture a portion of a shopping session of the first person in the physical store that occurs during a second time interval between the final timestamp and a new final timestamp, the second video segment comprises: a new first camera feed segment corresponding to a recording of the first camera feed from the end timestamp to the new end timestamp; and a new second camera feed segment corresponding to a recording of the second camera feed from the end timestamp to the new end timestamp; assign a second slider to the second video segment, where the playback of the new feed segment from the first camera and the new feed segment from the second camera are synchronized and the second slider controls the playback progress of the new feed segment of the first chamber and the new feed segment of the second chamber; determining that the playback progress of the first camera feed segment and the second camera feed segment reached the end timestamp; and in response to determining that the playback progress of the first camera feed segment and the 165 second segment of camera feed has reached end timestamp: displaying the new first camera feed segment and a first copy of the second slider bar in the first region of the display element; and displaying the new feed segment of the second camera and a second copy of the second slider bar in the second region of the display element. 56. The system of clause 55, wherein the processing element is further operative to: store a second video segment in the storage element, the second video segment assigned to a second person and capture a portion of a shopping session of the second person in the physical store that occurs during a second time interval between a second start timestamp and a second end timestamp, the second start timestamp after the start timestamp and before the end timestamp, comprising the second video segment: a third camera feed segment corresponding to a recording of the first camera feed from the second start timestamp to the second end timestamp; and a fourth camera feed segment corresponding to a recording of the second camera feed from the second timestamp "RQbnn / zznz / E / Y "RQbnn / zznz / E / Y 166 start to second end timestamp assigns a second slider bar to the second video segment, the second slider bar is independent of the first slider bar, where the playback of the third camera feed segment and the fourth feed segment are synchronized and the second slider controls the playback progress of the third camera feed segment and the fourth camera feed segment; displaying the third camera feed segment and a first copy of the second slider bar in a third region of the display element; displaying the fourth camera feed segment and a second copy of the second slider bar in a fourth region of the display element; receiving a second instruction from at least one of the first copy of the second slider bar and the second copy of the second slider bar to adjust the playback progress of the third camera feed segment and the fourth camera feed segment; and in response to receiving the second instruction, adjust the playback progress of the third camera feed segment and the fourth camera feed segment. 57. The clause 55 system, where the 167 «RQbnn / zznz / E / Y processing element is also operational for: determining that the first camera feed segment represents the first person at first; in response to determining that the first camera feed segment represents the first person at the first time: determine that the common slider reached the first moment; and in response to determining that the common slider reached the first moment, highlight the first camera feed segment. 58. The system of clause 55, wherein the common slider bar comprises a marker initially located on the common slider bar, the marker associated with an event that occurs at first, the event associated with the first person who selects an item from a shelf located on a shelf in the physical store. 59. The system of clause 58, where: the item is assigned an item identification number; the shelf is assigned a shelf identification number; the shelf is assigned a shelf identification number; and the marker comprises metadata comprising the 168 item ID number, shelf ID number, and shelf ID number. 60. The clause 59 system, where: the first video feed further comprises a third camera feed corresponding to a third camera located in the physical store, the third camera directed to the shelf; the first video segment further comprises a third camera feed segment corresponding to a recording of the third camera feed from the start timestamp to the end timestamp; and the processing element is further operative to: determining that the playback progress of the first camera feed segment and the second camera feed segment reached the marker; and in response to determining that the playback progress of the first camera feed segment and the second camera feed segment reached the marker: determining, based on the marker metadata, that the event associated with the first person selecting the item from the shelf located on the shelf in the physical store has occurred; and in response to the determination that 169 event occurred, display the third camera feed segment in a third region of the display element. 61. A device comprising: a screen; an interface configured to receive a shelf camera signal from a shelf camera located in a physical store, directing the shelf camera to a first physical shelf of a set of physical shelves located in the physical store; and a hardware processor communicatively coupled to the display, the hardware processor configured to: displaying, in a first region of the screen, a virtual layout of a virtual store, the virtual layout configured to emulate a physical layout of the physical store, the virtual layout comprising a first virtual shelf assigned to a first physical shelf and a second virtual shelf mapped to a second physical shelf, wherein a layout of the first virtual shelf and the second virtual shelf in the virtual layout is configured to emulate a layout of the first physical shelf and the second physical shelf in the physical layout; receive an indication of an event associated with the first physical shelf, the event comprising a person 170 located in the physical store interacting with the first physical shelf; in response to receiving the indication of the event associated with the first physical shelf: displaying, in a second region of the screen, the first virtual shelf, the first virtual shelf comprising a first virtual shelf and a second virtual shelf, the first virtual shelf comprising a first virtual item, the second virtual shelf comprising a second virtual item, wherein the first virtual item comprises a graphical representation of a first physical item located on a first physical shelf of the first physical shelf and the second virtual item comprises a graphical representation of a second physical item located on a second physical shelf of the first physical shelving; and displaying, in a third region of the screen, a video segment of the shelf corresponding to a recording of the camera feed of the shelf from a start timestamp to an end timestamp, where the video segment of the shelf shelf represents the event associated with the first physical shelf. 62. The apparatus of clause 61, where: The interface is further configured to receive a second shelving camera fed from a second shelving camera located in the physical store, the second 171 shelf camera directed to a second physical shelf of the set of physical shelves located in the physical store; and the processor is further configured to: receiving an indication of a second event associated with the second physical shelf, the second event comprising the person interacting with the second physical shelf; in response to receiving the indication of the second event associated with the second physical shelf: displaying, in the second region of the screen, the second virtual shelf, the second virtual shelf comprising a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item, wherein the third virtual item comprises a graphical representation of a third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphical representation of a fourth physical item located on a fourth physical shelf from the second physical shelf; and displaying, in the third display region, a second segment of shelf video corresponding to a recording of the camera feed of the second shelf from a second start timestamp to a second "RQbnn / zznz / E / Y 172 completion timestamp, where; The second shelf video segment shows the second event associated with the second physical shelf. 63. The apparatus of clause 61, where: The event associated with the first physical shelf comprises the first physical item being selected from a first zone of the first physical shelf of the first physical shelf, where a weight sensor coupled to the first zone of the first physical shelf is configured to detect the first physical item that is selected from the first physical shelf; and the event indication comprises information received from the weight sensor. 64. The apparatus of clause 63, wherein, in response to the display of the first virtual shelf, the processor is further configured to highlight the first virtual item on the first virtual shelf. 65. The apparatus of clause 61, where: the interface is further configured to receive a video feed corresponding to a first camera located in a physical store; and the processor is further configured to: storing a first video segment in a memory, the first video segment assigned to a first person and capturing a portion of a shopping session of the first person in the physical store, the first video segment 173 corresponding to a recording of the video feed from the start timestamp to the end timestamp; assign a slider to the first video segment, where: the slider bar controls the playback progress of the first video segment; the event occurs at first; the slider bar comprises a marker located at the first moment on the slider bar, the marker associated with the event that occurs at a first moment, the marker comprising metadata comprising an item identification number assigned to the first virtual item, a number shelf identification number assigned to the first virtual shelf, and a zone identification number assigned to a zone of the first virtual shelf; and the event indication comprises the playback progress of the first video segment that reaches the marker; and in response to the display of the first virtual shelf, highlight the first virtual item on the first virtual shelf, based on the metadata. 66. The apparatus of clause 65, where; The slider bar comprises a second marker located at a second time on the slider bar, the 174 second marker associated with a second event that occurs at the second time, the second event associated with the second physical shelf, the second marker comprising second metadata comprising a second item identification number assigned to a third virtual item, a second shelf identification number assigned to the second virtual shelf and a second zone identification number assigned to a second zone of the second virtual shelf; and the processor is further configured to: determine that the playback progress of the first video segment reached the second marker; and in response to the determination that the playback progress of the first video segment reached the second marker: displaying, in the second region of the screen, the second virtual shelf, the second virtual shelf comprising a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item, wherein the third virtual item comprises a graphical representation of a third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphical representation of a fourth physical item located at "RQbnn / zznz / HEY 175 a fourth physical shelf of the second physical shelf; and highlight the third virtual item on the second virtual shelf, based on the second metadata. 67. The apparatus of clause 61, wherein the indication of the event associated with the first physical shelf comprises information generated by an algorithm in response to a detection of the event based on a set of inputs received from sensors located within the physical store. 68. A method comprising: receiving a shelf camera feed from a shelf camera located in a physical store, the shelf camera directed to a first physical shelf of a set of physical shelves located in the physical store; displaying, in a first region of the screen, a virtual layout of a virtual store, the virtual layout configured to emulate a physical layout of the physical store, the virtual layout comprising a first virtual shelf assigned to a first physical shelf and a second virtual shelf mapped to a second physical shelf, wherein a layout of the first virtual shelf and the second virtual shelf in the virtual layout is configured to emulate a layout of the first physical shelf and the second physical shelf in the physical layout; 176 «RQbnn / zznz / E / Y receive an indication of an event associated with the first physical shelf, the event comprising a person located in the physical store interacting with the first physical shelf; in response to receiving the indication of the event associated with the first physical shelf: displaying, in a second region of the screen, the first virtual shelf, the first virtual shelf comprising a first virtual shelf and a second virtual shelf, the first virtual shelf comprising a first virtual item, the second virtual shelf comprising a second virtual item, wherein the first virtual item comprises a graphical representation of a first physical item located on a first physical shelf of the first physical shelf and the second virtual item comprises a graphical representation of a second physical item located on a second physical shelf of the first physical shelving; and displaying, in a third region of the screen, a video segment of the shelf corresponding to a recording of the camera feed of the shelf from a start timestamp to an end timestamp, where the video segment of the shelf shelf represents the event associated with the first physical shelf. 69. The method of clause 68 further comprises: receive a second powered shelving camera «RQbnn / zznz / E / Y 177 from a second shelf chamber located in the physical store, the second shelf chamber directed to a second physical shelf of the set of physical shelves located in the physical store; receiving an indication of a second event associated with the second physical shelf, the second event comprising the person interacting with the second physical shelf; in response to receiving the indication of the second event associated with the second physical shelf: displaying, in the second region of the screen, the second virtual shelf, the second virtual shelf comprising a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item, wherein the third virtual item comprises a graphical representation of a third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphical representation of a fourth physical item located on a fourth physical shelf of the second physical shelving; and displaying, in the third display region, a second segment of shelf video corresponding to a recording of the camera feed of the second shelf from a second start timestamp to a second 178 completion timestamp, where the second shelf video segment represents the second event associated with the second physical shelf. 70. The method of clause 68, where: The event associated with the first physical shelf comprises the first physical item being selected from a first zone of the first physical shelf of the first physical shelf, where a weight sensor coupled to the first zone of the first physical shelf is configured to detect the first physical item that is selected from the first physical shelf; and the event indication comprises information received from the weight sensor. 71. The method of clause 70 further comprises highlighting the first virtual item on the first virtual shelf, in response to the display of the first virtual shelf. 72. The method of clause 68 further includes: receiving a video feed corresponding to a first camera located in a physical store; store a first video segment assigned to a first person and capture a portion of a shopping session of the first person in the physical store, the first video segment corresponding to a recording of the video feed from the initial timestamp to the final timestamp; 179 assign a slider bar to the first video segment, where: the slider bar controls the playback progress of the first video segment; the event occurs at first; the slider bar comprises a marker located at the first moment on the slider bar, the marker associated with the event occurring at the first moment, the marker comprising metadata comprising an item identification number assigned to the first virtual item, a number shelf identification number assigned to the first virtual shelf, and a zone identification number assigned to a zone of the first virtual shelf; and the event indication comprises the playback progress of the first video segment that reaches the marker; and in response to the display of the first virtual shelf, highlighting the first virtual item on the first virtual shelf, based on the metadata. 73. The method of clause 72 further comprises: determine that the playback progress of the first video segment reached a second marker, where the slider bar comprises the second marker located at a second time on the slider bar, the second marker associated with a second event occurring at the second time, the 180 second event associated with the second physical shelf, the second marker comprising second metadata comprising a second item identification number assigned to a third virtual item, a second shelf identification number assigned to the second virtual shelf and a second number zone identification assigned to a second zone of the second virtual shelf; and in response to the determination that the playback progress of the first video segment reached the second marker: displaying, in the second region of the screen, the second virtual shelf, the second virtual shelf comprising a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item, wherein the third virtual item comprises a graphical representation of a third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphical representation of a fourth physical item located on a fourth physical shelf of the second physical shelving; and highlight the third virtual item on the second virtual shelf, based on the second metadata. 74. The method of clause 68, wherein the indication of the event associated with the first physical shelf 181 comprises information generated by an algorithm in response to a detection of the event based on a set of inputs received from sensors located within the physical store. 75. A system that includes: a display element; an operable interface for: receiving a shelf camera feed from a shelf camera located in a physical store, the shelf camera directed to a first physical shelf of a set of physical shelves located in the physical store; and receiving a second shelf chamber feed from a second shelf chamber located in the physical store, the second shelf chamber directed to a second physical shelf of the set of physical shelves located in the physical store; and a processing element communicatively coupled to the display element, the processing element operable to: displaying, in a first region of the display element, a virtual layout of a virtual store, the virtual layout configured to emulate a physical layout of the physical store, the virtual layout comprising a first virtual shelf assigned to a first physical shelf and a second virtual shelf assigned to «RQbnn / zznz / E / Y 182 a second physical shelf, wherein an arrangement of the first virtual shelf and the second virtual shelf in the virtual arrangement is configured to emulate an arrangement of the first physical shelf and the second physical shelf in the physical arrangement; receiving an indication of an event associated with the first physical shelf, the event comprising a person located in the physical store interacting with the first physical shelf; in response to receiving the indication of the event associated with the first physical shelf: displaying, in a second region of the display element, the first virtual shelf, the first virtual shelf comprising the first virtual shelf and a second virtual shelf, the first virtual shelf comprising a first virtual item, the second virtual shelf comprising a second virtual item , wherein the first virtual item comprises a graphical representation of a first physical item located on a first physical shelf of the first physical shelf and the second virtual item comprises a graphical representation of a second physical item located on a second physical shelf of the first physical shelf; and displaying, in a third region of the display element, a video segment of the shelf 183 corresponding to a recording of the shelf camera feed from a start timestamp to an end timestamp, where the shelf video segment represents the event associated with the first physical shelf; receiving an indication of a second event associated with the second physical shelf, the second event comprising the person interacting with the second physical shelf; in response to receiving the indication of the second event associated with the second physical shelf: displaying, in the second region of the screen, the second virtual shelf, the second virtual shelf comprising a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item, wherein the third virtual item comprises a graphical representation of a third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphical representation of a fourth physical item located on a fourth physical shelf from the second physical shelf; and displaying, in the third display region, a second video segment of the shelf corresponding to a recording of the camera feed of the second shelf from a second initial timestamp to a "RQbnn / zznz / E / Y 184 second final timestamp, in which the video segment of the second shelf represents the second event associated with the second physical shelf. 76. The clause 75 system, where: The event associated with the first physical shelf comprises the first physical item being selected from a first zone of the first physical shelf of the first physical shelf, where a weight sensor coupled to the first zone of the first physical shelf is configured to detect the first physical item that is selected from the first physical shelf; and the event indication comprises information received from the weight sensor. 77. The system of clause 76, wherein, in response to the display of the first virtual shelf, the processing element is further operative to highlight the first virtual item on the first virtual shelf. 78. The system of clause 75, which also includes a storage element, in which: the interface may further be operable to receive a video feed corresponding to a first camera located in a physical store; and the processing element is further operative to: store a first video segment in the storage element, the first video segment assigned to a 185 first person and capturing a portion of a shopping session of the first person in the physical store, the first video segment corresponding to a recording of the video feed from the initial timestamp to the final timestamp; assign a slider to the first video segment, where: the slider bar controls the playback progress of the first video segment; the event occurs at first; the slider bar comprises a marker located at the first moment on the slider bar, the marker associated with the event that occurs at a first moment, the marker comprising metadata comprising an item identification number assigned to the first virtual item, a number shelf identification number assigned to the first virtual shelf, and a zone identification number assigned to a zone of the first virtual shelf; and the event indication comprises the playback progress of the first video segment that reaches the marker; and in response to the display of the first virtual shelf, highlight the first virtual item on the first virtual shelf, based on the metadata. 79. The clause 78 system, in which: 186 the slider bar comprises a second marker located at a second time on the slider bar, the second marker associated with a second event occurring at the second moment, the second event associated with the second physical shelf, the second marker comprising second metadata comprising a second item identification number assigned to a third virtual item, a second shelf identification number assigned to the second virtual shelf and a second zone identification number assigned to a second zone of the second virtual shelf; and the processing element is further operative to: determine that the playback progress of the first video segment reached the second marker; and in response to the determination that the playback progress of the first video segment reached the second marker: displaying, in the second region of the display element, the second virtual shelf, the second virtual shelf comprising a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item , wherein the third virtual item comprises a graphical representation of a "RQbnn / zznz / E / Y 187 third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphic representation of a fourth physical item located on a fourth physical shelf of the second physical shelf; and highlight the third virtual item on the second virtual shelf, based on the second metadata. 80. The system of clause 75, wherein the indication of the event associated with the first physical store comprises information generated by an algorithm in response to a detection of the event based on a set of inputs received from sensors located within the physical store.
Claims
1. An apparatus characterized in that it comprises: a display; an interface configured to receive shelf video from a shelf camera located in a physical store, the shelf camera directed at a first physical shelf of a set of physical shelves located in the physical store, the shelf camera configured to capture video of the first physical shelf during a shopping session of a person in the physical store;and a hardware processor communicatively coupled to the display, the hardware processor configured to: display, in a first region of the display, a first virtual shelf configured to emulate the first physical shelf, wherein the first virtual shelf comprises a first virtual shelf and a second virtual shelf, the first virtual shelf comprises a first virtual item, the second virtual shelf comprises a second virtual item, wherein the first virtual item comprises a graphical representation of a first physical item located on a first physical shelf of the first physical shelf and the second virtual item comprises a graphical representation of a second physical item located on a second physical shelf of the first physical shelf;"RQbnn / zznz / E / Y 189 display, in a second region of the screen, the shelf video, wherein the shelf video represents an event comprising the person interacting with the first physical shelf; display, in a third region of the screen, a virtual shopping cart; receive information associated with the event, identifying the information the first virtual item, wherein the shelf video shows that the person selected the first physical item while interacting with the first physical shelf; and in response to receiving the information associated with the event, store the first virtual item in the virtual shopping cart." 2. The apparatus according to claim 1, characterized in that: the interface is further configured to receive a second shelf video from a second shelf camera located in the physical store, the second shelf camera directed at a second physical shelf of the set of physical shelves located in the physical store, the second shelf camera configured to capture video of the second physical shelf during the person's shopping session in the physical store;and the processor is further configured to: 190 display, in the first region of the screen, a second virtual shelf configured to emulate the second physical shelf, wherein the second virtual shelf comprises a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item, wherein the third virtual item comprises a graphical representation of a third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphical representation of a fourth physical item located on a fourth physical shelf of the second physical shelf; display, in the second region of the screen, the second shelf video, wherein the second shelf video represents a second event comprising the person interacting with the second physical shelf;receive information associated with the second event, identifying the information the third virtual item, in which the video of the second shelf shows that the person selected the third physical item while interacting with the second physical shelf; and in response to receiving the information associated with the second event, store the third virtual item in the virtual shopping cart.
3. The apparatus according to claim 2, 191, characterized in that the processor is further configured to: determine that the shopping session has ended; in response to the determination that the shopping session has ended: compare the virtual shopping cart with an algorithmic shopping cart comprising items determined by an algorithm that were selected during the shopping session, the algorithmic shopping cart being determined on the basis of a set of inputs received from sensors located within the physical store; determine that the virtual shopping cart matches the algorithmic shopping cart; and in response to the determination that the virtual shopping cart matches the algorithmic shopping cart: generate a receipt comprising a first price assigned to the first virtual item and a second price assigned to the third virtual item; and send the receipt to the person.
4. The apparatus according to claim 3, characterized in that the sensors comprise: an array of algorithmic cameras, different from shelf cameras; and a set of weight sensors, wherein each item of the items determined by the algorithm that were selected during the shopping session is coupled to a weight sensor "RQbnn / zznz / E / Y 192" of the weight sensor set.
5. The apparatus according to claim 4, characterized in that, in response to the determination that the algorithmic shopping cart has an error, the processor is further configured to: determine a subset of the set of inputs associated with the error, wherein the subset comprises inputs received from the array of algorithmic cameras; attach metadata to the subset, the metadata explaining the discrepancy; and use the subset to train the algorithm.
6. The apparatus according to claim 2, characterized in that the processor is further configured to: determine that the shopping session has ended; in response to the determination that the shopping session has ended: compare the virtual shopping cart with an algorithmic shopping cart comprising items determined by an algorithm that were selected by the person during the shopping session, the algorithmic shopping cart being determined based on inputs received from sensors located within the physical store; determine that the virtual shopping cart does not match the algorithmic shopping cart; and in response to the determination that the virtual shopping cart does not match the algorithmic shopping cart: determine that the algorithmic shopping cart contains an error;and in response to the determination that the algorithmic shopping cart contains an error: generate a receipt based on the virtual shopping cart, the receipt comprising a first price assigned to the first virtual item and a second price assigned to the third virtual item; and send the receipt to the person.
7. The apparatus according to claim 1, further characterized in that the processor is configured to: determine that the shopping session has ended; in response to the determination that the shopping session has ended: compare the virtual shopping cart with an algorithmic shopping cart comprising items determined by an algorithm that were selected during the shopping session, the algorithmic shopping cart being determined based on inputs received from sensors located within the physical store; determine that the virtual shopping cart does not match the algorithmic shopping cart; and in response to the determination that the virtual shopping cart does not match the algorithmic shopping cart: determine that the virtual shopping cart contains an error;and in response to determining that the virtual shopping cart contains an error: generate a receipt based on the algorithmic shopping cart, the receipt comprising the prices of the items determined by the algorithm that were selected by the person during the shopping session; and send the receipt to the person.
8. The apparatus according to claim 1, characterized in that the information associated with the event comprises information associated with dragging and dropping the first virtual item from the first virtual shelf to the first virtual cart.
9. A method characterized in that it comprises: receiving shelf video from a shelf camera located in a physical store, the shelf camera directed at a first physical shelf of a set of physical shelves located in the physical store, the shelf camera configured to capture video of the first physical shelf during a shopping session of a person in the physical store;display, in a first region of a screen, a first virtual shelf configured to emulate the first physical shelf, wherein the first virtual shelf comprises a first virtual shelf and a second virtual shelf, the first virtual shelf comprises a first virtual item, the second virtual shelf comprises a second virtual item, wherein the first virtual item comprises a graphical representation of a first physical item located on a first physical shelf of the first physical shelf and the second virtual item comprises a graphical representation of a second physical item located on a second physical shelf of the first physical shelf; display, in a second region of the screen, the shelf video, wherein the shelf video represents an event comprising the person interacting with the first physical shelf; display, in a third region of the screen, a virtual shopping cart;receive information associated with the event, identifying the information the first virtual item, where the shelf video shows that the person selected the first physical item while interacting with the first physical shelf; and in response to receiving the information associated with the event, store the first virtual item in the virtual shopping cart. 196; 10. The method according to claim 9, further characterized in that it comprises: receiving a second shelf video from a second shelf camera located in the physical store, the second shelf camera directed at a second physical shelf of the set of physical shelves located in the physical store, the second shelf camera configured to capture video of the second physical shelf during the person's shopping session in the physical store;display, in the first region of the screen, a second virtual shelf configured to emulate the second physical shelf, wherein the second virtual shelf comprises a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item, wherein the third virtual item comprises a graphical representation of a third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphical representation of a fourth physical item located on a fourth physical shelf of the second physical shelf; display, in the second region of the screen, the second shelf video, wherein the second shelf video represents a second event comprising the person interacting with the second physical shelf;"RQbnn / zznz / E / Y 197 receive information associated with the second event, identifying the information the third virtual item, in which the video of the second shelf shows that the person selected the third physical item while interacting with the second physical shelf; and in response to receiving the information associated with the second event, store the third virtual item in the virtual shopping cart.; 11. The method according to claim 10, further characterized in that it comprises: determining that the shopping session has ended; in response to the determination that the shopping session has ended: comparing the virtual shopping cart with an algorithmic shopping cart comprising items determined by an algorithm that were selected during the shopping session, the algorithmic shopping cart being determined based on a set of inputs received from sensors located within the physical store; determining that the virtual shopping cart matches the algorithmic shopping cart; and in response to the determination that the virtual shopping cart matches the algorithmic shopping cart: generating a receipt comprising a first price assigned to the first virtual item and a second price assigned to the third virtual item; and sending the receipt to the person.
12. The method according to claim 11, characterized in that the sensors comprise: an array of algorithmic cameras, different from shelf cameras; and a set of weight sensors, wherein each item of the items determined by the algorithm that were selected during the shopping session is coupled to a weight sensor of the set of weight sensors.
13. The method according to claim 12, further characterized in that it comprises, in response to the determination that the algorithmic shopping cart contains an error: determining a subset of the set of inputs associated with the error, wherein the subset comprises inputs received from the array of algorithmic cameras; attaching metadata to the subset, the metadata explaining the discrepancy; and using the subset to train the algorithm.
14. The method according to claim 10, further characterized in that it comprises: determining that the shopping session has ended; in response to the determination that the shopping session has ended: comparing the virtual shopping cart with an algorithmic shopping cart comprising items determined by an algorithm that were selected by the person during the shopping session, the algorithmic shopping cart being determined based on inputs received from sensors located within the physical store; determining that the virtual shopping cart does not match the algorithmic shopping cart; and in response to the determination that the virtual shopping cart does not match the algorithmic shopping cart: determining that the algorithmic shopping cart comprises an error;and in response to the determination that the algorithmic shopping cart contains an error: generate a receipt based on the virtual shopping cart, the receipt comprising a first price assigned to the first virtual item and a second price assigned to the third virtual item; and send the receipt to the person.
15. The method according to claim 9, further characterized in that it comprises: determining that the shopping session has ended; in response to the determination that the shopping session has ended: comparing the virtual shopping cart with an algorithmic shopping cart comprising items determined by an algorithm that were selected during the shopping session, the algorithmic shopping cart being determined based on inputs received from sensors located within the physical store; determining that the virtual shopping cart does not match the algorithmic shopping cart; and in response to the determination that the virtual shopping cart does not match the algorithmic shopping cart: determining that the virtual shopping cart contains an error;and in response to determining that the virtual shopping cart contains an error: generate a receipt based on the algorithmic shopping cart, the receipt comprising the prices of the items determined by the algorithm that were selected by the person during the shopping session; and send the receipt to the person.
16. The method according to claim 9, characterized in that the information associated with the event comprises information associated with dragging and dropping the first virtual item from the first virtual shelf to the first virtual cart. «RQbnn / zznz / E / Y 201 17. A system characterized in that it comprises: a display element; an interface operable for: receiving a shelf video from a shelf camera located in a physical store, the shelf camera directed at a first physical shelf of a set of physical shelves located in the physical store, the shelf camera configured to capture video of the first physical shelf during a shopping session of a person in the physical store; and receiving a second shelf video from a second shelf camera located in the physical store, the second shelf camera directed at a second physical shelf of the set of physical shelves located in the physical store, the second shelf camera configured to capture video of the second physical shelf during the shopping session of the person in the physical store;and a processing element communicatively coupled to the display element, the processing element operable to: display, in a first region of the screen, a first virtual shelf configured to emulate the first physical shelf, wherein the first virtual shelf comprises a first virtual shelf and a second virtual shelf, the first virtual shelf comprises a first virtual item "RQbnn / zznz / E / Y 202", the second virtual shelf comprises a second virtual item, wherein the first virtual item comprises a graphical representation of a first physical item located on a first physical shelf of the first physical shelf and the second virtual item comprises a graphical representation of a second physical item located on a second physical shelf of the first physical shelf;display, in a second region of the screen, the shelf video, wherein the shelf video represents an event comprising the person interacting with the first physical shelf; display, in a third region of the screen, a virtual shopping cart; receive information associated with the event, identifying the information the first virtual item, where the shelf video shows that the person selected the first physical item while interacting with the first physical shelf; in response to receiving the information associated with the event, store the first virtual item in the virtual shopping cart;display, in the first region of the screen, a second virtual shelf configured to emulate the second physical shelf, wherein the second virtual shelf comprises a third virtual shelf and a fourth virtual shelf, the third virtual shelf comprising a third virtual item, the fourth virtual shelf comprising a fourth virtual item, wherein the third virtual item comprises a graphical representation of a third physical item located on a third physical shelf of the second physical shelf and the fourth virtual item comprises a graphical representation of a fourth physical item located on a fourth physical shelf of the second physical shelf; display, in the second region of the screen, the second shelf video, wherein the second shelf video represents a second event comprising the person interacting with the second physical shelf;receive information associated with the second event, identifying the information the third virtual item, in which the video of the second shelf shows that the person selected the third physical item while interacting with the second physical shelf; and in response to receiving the information associated with the second event, store the third virtual item in the virtual shopping cart; determine that the shopping session has ended; in response to the determination that the shopping session has ended: compare the virtual shopping cart with an algorithmic shopping cart comprising items determined by an algorithm that were selected during the shopping session, the algorithmic shopping cart determined based on a set of inputs received from sensors located within the physical store, where the sensors comprise: an array of algorithmic cameras, different from shelf cameras;a set of weight sensors, in which each item of the items determined by the algorithm that were selected during the shopping session is attached to a weight sensor of the set of weight sensors; and in response to the comparison of the virtual shopping cart with the algorithmic shopping cart: generate a receipt for the shopping session; and send the receipt to the person.
18. The system according to claim 17, characterized in that the receipt comprises a first price assigned to the first virtual item and a second price assigned to the third virtual item.
19. The system according to claim 17, characterized in that, in response to the comparison of the virtual shopping cart with the algorithmic shopping cart, the processing element is further operative to: determine that the algorithmic shopping cart contains an error; determine a subset of the set of inputs associated with the error, wherein the subset comprises inputs received from the array of algorithmic cameras; attach metadata to the subset, the metadata explaining the discrepancy; and use the subset to train the algorithm.
20. The system according to claim 17, characterized in that the information associated with the event comprises information associated with dragging and dropping the first 10 virtual item from the first virtual shelf to the first virtual cart.