Decision Process - Logic
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 ]
Create trackers:
Shelf Tracker:
- Check available cameras
- Process start and end detections using calibration scheme. Which creates the inventory
Weights
Video
- For weigths and video we just format the data properly.
Resolving Transactions:
PodTracker.resolve()
Static: (per shelf)
Inventory
Before
After
Events
- item
- likelihood
- in_out
- valid
- ...
Static: (per shelf)
-
full_transaction
-
detailed_transaction
-
transaction
(all events)
(valid and moves)
(valid, no moves)
Static Heuristics: (For miss classification)
- If in the same lane we have low confidence Add + Remove.
- Then, decrease the confidence of both.
Video:
Left
Right
Events
Events
Events
Merged Events
(merge by class_id and start_time)
Weight Integration:
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:
Weight Integration:
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:
- Decrease likelihood of events that are not found in the current video transaction.
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):
- Select video events that match weights based on the start and end times.
- Do MLE on the selected events with the weight reading.
- Flip the events direction if necessary.
- Do a final MLE with the total weight and the union of valid events.
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
Shelf coordinates:
Extrinsic Transform:
Decision Process
By Daniel Yukimura
Decision Process
- 179