Platform 4.0 / BOX 5.0

Sigma: scenario-based workplace monitoring

Sigma: scenario-based workplace monitoring. A step-by-step training task, result verification, and links to instructions.

Browsing: Platform 4.0
Also available in: Platform 4.0BOX 5.0

Sigma practical exercise: workplace monitoring with a scenario

Related screen.

In BOX 3.2, this task was covered using the built-in workplace attendance module. Here, we design it as a Platform 4.0 scenario, with a custom rule for zone state and intervals. A suitable CV model is sufficient to recognize presence; an LLM is not required.

Condition: during working hours, the station must be occupied by at least one person. Breaks are excluded from the calculation. A brief departure is allowed within an agreed threshold. Lost video means no observation, not an employee departure.

Frame + time + camera ID
  → Image suitability check
  → Person detection
  → Person membership in the workplace zone
  → Aggregation for each zone, including an empty person list
  → Zone state: OCCUPIED / EMPTY / UNKNOWN / OUTSIDE SCHEDULE
  → Absence timer and interval boundaries
  → Start/end events + report data

Critical detail: the logic must receive messages even with zero people. If a filter removes the empty list or the entire msg, the downstream timer will not learn that the station is empty. A normal event based on a missing attribute in an existing track does not solve this.

Project parameter Training example How to choose
Zone type and ID workplace, station 01 The exact directory identifier and geometry that excludes the walkway
Minimum occupancy 1 person The station requirement, not the total number of people in the frame
Working intervals 09:00–18:00, break 13:00–14:00 The site's actual schedule and time zone
Absence threshold 60 seconds An agreed rule; it is not derived from model capabilities
Allowed observation gap For example, 5 seconds After this is exceeded, the state becomes unknown; tune it to the stream
Return confirmation Several reliable observations / a duration Do not end the interval on a single false detection
Repeat notification According to procedure Separate from the duration of a single interval
Time source Frame timestamps For a video file, this is the media time, not playback speed

State is stored under the key (camera, zone, rule). A state block or software extension with documented persistent context is required. The following algorithm is business-logic pseudocode, not ready-to-paste Python code:

on a new zone observation:
    if outside working hours:
        end/pause calculation according to the agreed rule
        state = OUTSIDE_SCHEDULE
    else if the frame is unsuitable or the gap between frames is too large:
        state = UNKNOWN
        do not include this interval in proven absence
    else if the required number of people is reliably present:
        confirm return
        close the open absence interval, if any
        state = OCCUPIED
    else:
        mark the start of observed emptiness if not already marked
        state = EMPTY
        after the threshold, create one absence-start event
        do not create a new start on every frame

Define behavior separately for scenario restart, version changes, prolonged disconnection, and midnight crossover. If new frames stop arriving, a freshness check outside the per-frame handler is needed; a function called only on frames cannot detect a stopped stream by itself.

For reporting, store camera/zone IDs, start, end, duration, work schedule, rule version, completion status, and unknown intervals. A single station empty signal does not automatically create an interval-based workplace attendance report. Integration of these intervals into standard reporting must be implemented and verified separately, or the report must be built from an agreed set of events/data.

Acceptance table:

Episode Expected behavior
Employee at the station Occupied; no absence
Departure shorter than the threshold No prolonged-absence event
Departure longer than the threshold One start and the correct duration
Passerby in the adjacent walkway The station is not considered occupied
Two people present, one leaves Occupied if at least one person is required
Break Excluded from absence during working hours
Stream loss / obscured camera Unknown, with separate diagnostics
Video returns to an empty station Continue timing according to an explicitly agreed rule, without inventing knowledge of the outage
Restart / new version Predictable closure or restoration of the interval without duplicates

First annotate intervals manually in the Sigma workshop videos and compare the scenario output with them. This edition describes an implementation approach; it does not claim to provide a completed, tested graph for interval-based workplace attendance monitoring or its report integration.

BOX 5.0: select a scenario or model and its version, then an asset and asset version
BOX 5.0: select a scenario or model and its version, then an asset and asset version. Launch remains unavailable in this empty form until the required inputs are selected.
Use the documentation and configuration supplied for your installed release. Environment addresses and access credentials are provided privately with the delivery.