Pod Server
Logic
Module
request packet
Download info
from GCloud
no images,
just detections
Create
Trackers
Static
Create
Trackers
Weights
Video
Pod
Tracker
Static
= list[ ShelfTracker ]
Shelf Tracker:
Weights
Video
PodTracker.resolve()
Static: (per shelf)
Inventory
Before
After
Events
Static: (per shelf)
full_transaction
detailed_transaction
transaction
(all events)
(valid and moves)
(valid, no moves)
Static Heuristics: (For miss classification)
Video:
Left
Right
Events
Events
Events
Merged Events
(merge by class_id and start_time)
General problem:
Goal: Determine which events correspond to each weight sensor reading.
Weights
Detections
likelihood/score
GT weights
time, direction, frame count,...
Combinatorial formulation:
(knapsack version)
Probabilistic formulation:
Static + Weights: (per shelf)
Shelf
Tracker
Weights[shelf_n]
video
Goal: Determine the most likely set of events based given the feedback from weight sensor.
Static + Weights: (per shelf)
Goal: Determine the most likely set of events based given the feedback from weight sensor.
FT = full_transaction
TW = Total Weight
Maximum likelihood estimation:
gaussian density
Video cue:
Video + Weights:
Goal: Determine the most likely set of events based given the feedback from weight sensor.
Match by reading:
For each weight reading (WR):
Weights
Video
weight reading
start/end times
tracking
start/end times
(removing)
(adding)
maximum likelihood estimation
maximum likelihood estimation
final match (optional):
MLE
For i in {1, ..., N}:
C = [] For j in {1, ..., M}:
full algorithm:
For i in {1, ..., N}:
...
For j,io in mle:
(available to remove)
(available to add)
...
For j in {1, ..., M}:
Static + Video + Weights:
match
MLE
Extrinsic Transform: