# panda_onnx **Repository Path**: wangqingpan/panda_onnx ## Basic Information - **Project Name**: panda_onnx - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, onnx, Yolo ## README #### YOLOv5 (ONNX)多路异步检测框架文档 > 本框架是一个基于 Python 的高性能目标检测工具,支持同时处理多个视频流(如 RTSP、USB 摄像头或本地视频文件),并能够通过回调函数实时处理识别结果。 #### 核心功能 高性能推理:使用 onnxruntime 引擎,支持 GPU (CUDA)、CPU 加速,相比原生模型推理更轻量。 异步回调系统:识别结果通过 ThreadPoolExecutor 异步推送,检测主流程不会因处理逻辑(如写入数据库、发送邮件)而产生卡顿。 动态任务管理:支持在程序运行期间动态地 增加 或 删除 检测源,无需重启程序。 自动重连机制:针对网络摄像头等不稳定源,内置了自动断线重连逻辑。 频率控制:可自定义 interval(检测间隔),在保证监控质量的同时极大降低 CPU/GPU 负载。 模型支持:Yolov5/Yolov8/Yolov11/Yolov5-seg/Yolov8-seg/Yolov11-seg #### 核心类说明 ### UniversalYOLODetector 推理引擎类,负责图片预处理、ONNX 推理及后处理(NMS 非极大值抑制)。 输入:ONNX 模型文件。 输出:标准化的 JSON 格式识别结果。 ### DetectionManager 任务管理器,负责多线程的调度。 add_task: 开启一个新的线程去轮询指定的视频源。 remove_task: 安全地停止并释放指定视频源的线程与资源。 #### 数据格式说明 当触发回调时,你接收到的 payload(JSON 字符串)结构如下: | 字段 | 描述 | |------|------------------------| | time | 识别发生的具体时间 | | source | 视频源标识 | | detections | 检测到的目标列表 | | detections.name | 类别名称 | | detections.score | 置信度 (0-1) | | detections.box | 坐标 [x, y, w, h] | | detections.segments | 分割坐标对 [[x1,y1,x2,y2,....],[x1,y1,x2,y2,....]] | #### 运行 创建环境:conda create -n onnx python=3.9 激活环境:conda activate onnx 安装环境:pip install -r requirements.txt 程序运行:python main.py #### Docker 部署 打包:docker build -t 名称:版本 . 基础运行:docker run -d --name 名称 名称:版本 映射本地图片路径:docker run -d \ --name 名称 \ -v 宿主机路径:/data/hmbaby \ 名称:版本 使用宿主机摄像头:docker run -d \ --name 名称 \ --device=/dev/video0:/dev/video0 \ 名称:版本