--- license: agpl-3.0 library_name: onnxruntime pipeline_tag: object-detection tags: - onnx - yolov5 - object-detection - person-detection --- # YOLOv5m — Person Detector (ONNX) ONNX export of **YOLOv5m**, used as the person detector in the PULAO event access-control vision pipeline (person boxes feed a ByteTrack tracker + ArcFace face recognition). > ⚠️ **Provenance / license.** This appears to be a standard **Ultralytics YOLOv5m** model (COCO-pretrained), exported to ONNX from PyTorch. Ultralytics YOLOv5 is licensed **AGPL-3.0**. If you redistribute or deploy this you must comply with AGPL-3.0 (retain the license, make corresponding source available); a commercial Ultralytics license, if you hold one, governs instead. Credit: [Ultralytics YOLOv5](https://github.com/ultralytics/yolov5). ## Files - `yolov5m_dynamic.onnx` — 84.7 MB - SHA-256: `2bebc77005d6946d0e81e0a1abab3c849b7caa0ced162d0aae89d52d8b4e7e01` ## Inputs / outputs - **Input** `images`: float32 `[N, 3, H, W]` (dynamic spatial dims). In this pipeline each frame is letterboxed to a square and resized to **320×320**, scaled by `1/255`, channels swapped to RGB. - **Output**: YOLOv5 detection tensor `[1, num_boxes, 85]` = `[cx, cy, w, h, obj, 80×class_scores]` (COCO classes). The pipeline keeps the **person** class, then applies NMS. ## Usage (onnxruntime) ```python import cv2, onnxruntime as ort sess = ort.InferenceSession("yolov5m_dynamic.onnx", providers=["CPUExecutionProvider"]) img = cv2.imread("frame.jpg") blob = cv2.dnn.blobFromImage(img, 1/255, (320, 320), swapRB=True, crop=False) out = sess.run(None, {"images": blob})[0] # [1, N, 85] ``` ## Intended use Person detection for an event check-in / access-control prototype. Research / prototype use.