Skip to main content
Challenge

OSHA and IEC 61508 Safety Interlock & PPE Compliance Pipeline

Ensuring plant safety compliance requires simultaneous verification of physical safety interlocks and vision-based personal protective equipment (PPE) usage. You will build a multimodal compliance pipeline using OpenCV, PyTorch, and Python logic parsers to cross-reference CCTV PPE detection streams with PLC door-interlock switch states. The pipeline must flag safety non-compliance events within 1 second of detection.

EngineeringHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Construct an integrated safety monitoring pipeline combining computer vision PPE detection and PLC interlock sensor status to enforce OSHA plant safety compliance.

Delivery guide

How work is evaluated

Evaluation

Evaluates safety violation detection recall and alarm latency.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
2 scoring checks
Binary
2 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

estop_safety_enforcement

Verifies emergency stop is triggered during non-compliant machine zone incursions.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 2

detection_latency_ms

Latency from image frame receipt to estop decision • target: 180 • range: 0-1000

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Process camera frames detecting hardhats, safety vests, and eye protection using YOLO / PyTorch

  • Read real-time PLC safety door interlock state inputs (LOTO / light curtain trip signals)

  • Correlate zone occupancy with required PPE status and active machine movement state

  • Trigger automated emergency stop overrides when un-equipped personnel enter hazard zones

Resources and assets

Reference links and supporting material

Dataset notes

Annotated industrial workplace video frames featuring personnel with complete and incomplete PPE paired with digital interlock log timestamps.

Challenge setup

Evaluates safety violation detection recall and alarm latency.

Challenge input

JSON containing camera_frame_base64, light_curtain_tripped boolean, and zone_machine_state ("IDLE" / "OPERATING")

PyTorch

Standard computer vision deep learning framework.

OpenCV

Standard image processing tool.

Evaluated output

JSON containing person_detected boolean, ppe_compliant boolean, missing_equipment list, and estop_command_triggered boolean

Evaluation checks
  • Verifies emergency stop is triggered during non-compliant machine zone incursions.
  • Latency from image frame receipt to estop decision • target: 180 • range: 0-1000
Configured evaluation evidence
  • Benchmark: Plant Functional Safety Compliance Benchmark
  • Detection Latency Ms target: 180
  • 1 public reference case
Configured runtime
  • Python execution harness
  • Python sandbox (unavailable on Versalist)

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • PyTorch Lightning · Required
  • Captum (PyTorch) · Optional

Evaluation contract

  • estop_safety_enforcement · Weight 1
  • detection_latency_ms · Weight 1

Metrics

  • detection_latency_ms · Target 180

Benchmarks

  • Plant Functional Safety Compliance Benchmark
  • security

Reference cases

  • 1 public reference case

Workflow tasks

  1. Task 1

    Input: JSON containing camera_frame_base64, light_curtain_tripped boolean, and zone_machine_state ("IDLE" / "OPERATING")

    Output: JSON containing person_detected boolean, ppe_compliant boolean, missing_equipment list, and estop_command_triggered boolean

    Execution harness: Python

Evaluation tools

  • PyTorch · PPE Vision Model Framework
  • OpenCV · Frame Extraction Engine

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about OSHA and IEC 61508 Safety Interlock & PPE Compliance Pipeline