原文地址:https://github.com/intel-iot-devkit/safety-gear-detector-python
git上下载慢的话,可以从此链接下载demo程序及模型 and 视频文件
https://download.csdn.net/download/zhouhui1982/11262779
以下是自动翻译的
图1:能够检测人员以及他们是否在视频中佩戴安全夹克和安全帽的应用程序。
它能做什么
此应用程序是一系列物联网参考实现之一,说明如何为特定问题开发工作解决方案。它演示了如何使用英特尔®硬件和软件工具创建智能视频物联网解决方案。该参考实施检测人员和潜在的违反安全装备标准的行为。
这个怎么运作
该应用程序使用英特尔®分布式OpenVINO™工具包中包含的推理引擎。训练有素的神经网络可以检测指定区域内的人。该应用程序检查每个检测到的人是否戴着安全夹和安全帽。如果不是,则在视频中的人物上绘制一个红色边界框。如果他们穿着指定的安全装备,视频中会有一个绿色的边界框。
要求
硬件
软件
注意:我们建议在此软件中使用4.14+ Linux内核。运行以下命令以确定内核版本:
uname -a
建立
安装英特尔®分布式OpenVINO™工具包
请参阅安装适用于Linux *的OpenVINO™工具包的英特尔®分发版以安装和设置工具包。
安装OpenCL™运行时包以在GPU上运行推理。CPU推断不是强制性的。
FFmpeg的*
FFmpeg与Ubuntu存储库分开安装:
sudo apt update sudo apt install ffmpeg
安装Python *依赖项
sudo apt install python3-pip sudo pip3 install numpy sudo pip3 install jupyter
配置应用程序
使用哪种型号
默认情况下,此应用程序使用person-detection-retail-0013Intel®模型,可以使用模型下载程序访问。该模型下载下载.XML和.bin文件将被应用程序使用的文件。
下载.xml和.bin文件
转到OpenVINO™工具包的英特尔®分发版中的模型下载程序目录。
cd /opt/intel/openvino/deployment_tools/tools/model_downloader
sudo ./downloader.py --name person-detection-retail-0013
sudo ./downloader.py --name person-detection-retail-0013-fp16
这些文件将下载到Retail / object_detection / pedestrian / rmnet_ssd / 0013 / dldt目录中。
配置文件
该资源/ conf.txt包含将被应用程序所使用的视频,每行一个视频。
文件中的每一行都是表单path/to/video。
例如:
videos/video1.mp4
这path/to/video是本地系统上用作输入的视频的路径。
应用程序可以使用任意数量的视频进行检测(即,conf.txt文件可以包含任意数量的行。)但是,应用程序并行使用的视频越多,每个视频的帧速率就越低。这可以通过向运行应用程序的机器添加更多计算能力来解决。
要使用什么输入视频
该应用程序适用于任何输入视频。我们建议使用Safety_Full_Hat_and_Vest.mp4视频。
使用相机流
替换path/to/video为conf.txt中的摄像机ID,其中ID来自您的视频设备(/ dev / videoX中的数字X)。在Ubuntu上,要列出所有可用的视频设备,请使用以下命令:
ls /dev/video*
例如,如果上面命令的输出是/dev/video0,那么conf.txt将是:
0
设置环境
打开终端以设置运行OpenLinkO™工具包应用程序所需的环境变量:
source /opt/intel/openvino/bin/setupvars.sh -pyver 3.5
注意:此命令只需在执行应用程序的终端中执行一次。如果终端关闭,则需要再次执行该命令。
运行应用程序
将当前目录更改为系统上的git-cloned应用程序代码位置。例如:
cd
要查看各种选项的列表:
./safety-gear-python.py -h
用户可以指定哪些目标设备通过使用设备命令行参数来运行-d接着值中的一个CPU,GPU,MYRIAD,HDDL或FPGA 。
在CPU上运行
虽然默认情况下应用程序在CPU上运行,但也可以通过-d CPU命令行参数显式指定:
./safety-gear-python.py -d CPU -m /home/root1/openvino_models/Retail/object_detection/pedestrian/rmnet_ssd/0013/dldt/person-detection-retail-0013.xml -e /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libcpu_extension_sse4.so -c resources/conf.txt
在集成GPU上运行
要在具有浮点精度32(FP32)的集成Intel GPU上运行,请使用-d GPU命令行参数:
./safety-gear-python.py -d GPU -m /opt/intel/openvino/deployment_tools/tools/model_downloader/Retail/object_detection/pedestrian/rmnet_ssd/0013/dldt/person-detection-retail-0013.xml -c resources/conf.txt
要在具有浮点精度16(FP16)的集成英特尔®GPU上运行:
./safety-gear-python.py -d GPU -m /opt/intel/openvino/deployment_tools/tools/model_downloader/Retail/object_detection/pedestrian/rmnet_ssd/0013/dldt/person-detection-retail-0013-fp16.xml -c resources/conf.txt
在英特尔®神经计算棒上运行
要在英特尔®神经计算棒上运行,请使用-d MYRIAD命令行参数:
./safety-gear-python.py -d MYRIAD -m /opt/intel/openvino/deployment_tools/tools/model_downloader/Retail/object_detection/pedestrian/rmnet_ssd/0013/dldt/person-detection-retail-0013-fp16.xml -c resources/conf.txt
注意:英特尔®神经计算棒只能运行FP16型号。通过-m
在HDDL上运行
要在HDDL上运行,请使用-d HETERO:HDDL,CPU命令行参数:
./safety-gear-python.py -m /opt/intel/openvino/deployment_tools/tools/model_downloader/Retail/object_detection/pedestrian/rmnet_ssd/0013/dldt/person-detection-retail-0013-fp16.xml -d HETERO:HDDL,CPU -e /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libcpu_extension_sse4.so -c resources/conf.txt
注意: HDDL只能运行FP16型号。通过-m
在FPGA上运行
在FPGA上运行应用程序之前,请编写AOCX(比特流)文件。使用fpga_support_files.tgz中的setup_env.sh脚本设置环境变量。
例如:
source /home/
可以在该/opt/intel/openvino/bitstreams/a10_vision_design_bitstreams文件夹下找到HDDL-F的比特流。
要编程比特流,请使用以下命令:
aocl program acl0 /opt/intel/openvino/bitstreams/a10_vision_design_bitstreams/2019R1_PL1_FP11_RMNet.aocx
有关比特流编程的更多信息,请参阅https://software.intel.com/en-us/articles/OpenVINO-Install-Linux-FPGA#inpage-nav-11
要使用浮点精度16(FP16)在FPGA上运行应用程序,请使用-d HETERO:FPGA,CPU命令行参数:
./safety-gear-python.py -m /opt/intel/openvino/deployment_tools/tools/model_downloader/Retail/object_detection/pedestrian/rmnet_ssd/0013/dldt/person-detection-retail-0013-fp16.xml -d HETERO:FPGA,CPU -e /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libcpu_extension_sse4.so -c resources/conf.txt