硬件加速的单对象和多对象检测
本教程使用了名为“对象检测 YOLO* V3 Python* 演示”的示例应用程序。对象检测 YOLO V3 Python 演示使用 OpenVINO™ 的组件 OpenCV,来显示带有检测结果的框架,检测结果将显示为边界框和标签(如果提供)。默认情况下,此示例应用程序显示:
- OpenCV 时间:帧解码、渲染边界框、标签和结果的时间。
- 检测时间:对象检测网络的推理时间。仅在同步模式下报告检测时间。
- 挂钟时间:组合的应用程序级性能。
本教程提供了三种硬件配置的说明,以便您可以选择适合您的系统配置,无论您的系统是否使用:
对于每种配置,该样本演示了两种检测类型:
- 单一检测使用基本数据集执行一对一的检测。
- 多检测使用高级数据集执行多对象检测,例如人和汽车。
在运行示例应用程序时,您将熟悉英特尔® 发行版 OpenVINO™ 工具套件
CPU 上具有硬件加速功能的单对象和多对象检测
在目标系统上运行这些步骤。
步骤 1:初始化英特尔® 发行版 OpenVINO™ 工具套件的环境
- 打开一个终端窗口。
- 转到对象检测 YOLO V3 Python 演示所在的示例应用程序目录:
cd $HOME/Downloads/YOLOv3
- 初始化 OpenVINO™ 环境:
source /opt/intel/openvino_2021/bin/setupvars.sh
将终端窗口保持打开状态以进行下一步。
步骤 2:在 CPU 上运行单一检测应用程序
- 运行对象检测 YOLO V3 Python 演示示例应用程序:
python3 object_detection_demo.py -i $HOME/Downloads/YOLOv3/Sample_videos/one-by-one-person-detection.mp4 -m $HOME/Downloads/YOLOv3/tensorflow-yolo-v3/FP32/frozen_darknet_yolov3_model.xml -t 0.1 -at yolo
通过在边框中显示单个个体的图像表示成功。在图像的左侧,您可以看到推理时间。如果场景组件的颜色与边框或文本的颜色相同,则可能看不到某些边框和检测结果。
- 按下键盘上的 Tab 键来更改异步模式选项。
- 按 Esc 键退出演示。
将终端窗口保持打开状态以进行下一步。
步骤 3:在 CPU 上运行多检测应用程序
- 运行对象检测 YOLO V3 Python 演示示例应用程序:
python3 object_detection_demo.py -i $HOME/Downloads/YOLOv3/Sample_videos/person-bicycle-car-detection.mp4 -m $HOME/Downloads/YOLOv3/tensorflow-yolo-v3/FP32/frozen_darknet_yolov3_model.xml -t 0.1 -at yolo
通过显示一个或多个对象和/或人的图像来表示成功。在图像的左侧,您可以看到推理时间。如果场景组件的颜色与边框或文本的颜色相同,则可能看不到某些边框和检测结果。
- 按下键盘上的 Tab 键来更改异步模式选项。
- 按 Esc 键退出演示。
如果要在 GPU 或英特尔® Vision Accelerator 上运行示例应用程序,请保持终端窗口打开,并从 GPU 或英特尔® Vision Accelerator 说明的步骤 2 开始。
GPU 上具有硬件加速功能的单对象和多对象检测
如果您使用了 CPU 指令并打开了终端窗口,请跳至步骤 2。
在目标系统上运行这些步骤。
步骤 1:初始化英特尔® 发行版 OpenVINO™ 工具套件的环境
- 打开一个终端窗口。
- 转到对象检测 YOLO V3 Python 演示所在的示例应用程序目录:
cd $HOME/Downloads/YOLOv3
- 初始化 OpenVINO™ 环境:
source /opt/Intel/openvino_2021/bin/setupvars.sh
将终端窗口保持打开状态以进行下一步。
步骤 2:在 GPU 上运行单一检测应用程序
- 运行对象检测 YOLO V3 Python 演示示例应用程序:
python3 object_detection_demo.py -i $HOME/Downloads/YOLOv3/Sample_videos/one-by-one-person-detection.mp4 -m $HOME/Downloads/YOLOv3/tensorflow-yolo-v3/FP32/frozen_darknet_yolov3_model.xml -d GPU -t 0.1 -at yolo
通过在边框中显示单个个体的图像表示成功。在图像的左侧,您可以看到推理时间。如果场景组件的颜色与边框或文本的颜色相同,则可能看不到某些边框和检测结果。
- 按下键盘上的 Tab 键来更改异步模式选项。
- 按 Esc 键退出演示。
将终端窗口保持打开状态以进行下一步。
步骤 3:在 GPU 上运行多检测应用程序
- 运行对象检测 YOLO V3 Python 演示示例应用程序:
python3 object_detection_demo.py -i $HOME/Downloads/YOLOv3/Sample_videos/person-bicycle-car-detection.mp4 -m $HOME/Downloads/YOLOv3/tensorflow-yolo-v3/FP32/frozen_darknet_yolov3_model.xml -d GPU -t 0.1 -at yolo
通过显示一个或多个对象和/或人的图像来表示成功。在图像的左侧,您可以看到推理时间。如果场景组件的颜色与边框或文本的颜色相同,则可能看不到某些边框和检测结果。
- 按下键盘上的 Tab 键来更改异步模式选项。
- 按 Esc 键退出演示。
在英特尔®视觉加速器上通过硬件加速实现单对象和多对象检测
通过在英特尔® Vision Accelerator 上运行应用程序,您可以将推理处理工作转移到英特尔® Vision Accelerator 上,并为其他应用程序腾出了 CPU 资源。
如果您使用了 CPU 指令并打开了终端窗口,请跳至步骤 2。
在目标系统上运行这些步骤。
步骤 1:初始化英特尔® 发行版 OpenVINO™ 工具套件的环境
- 打开一个终端窗口。
- 转到对象检测 YOLO V3 Python 演示所在的示例应用程序目录:
cd $HOME/Downloads/YOLOv3
- 初始化 OpenVINO™ 环境:
source /opt/Intel/openvino_2021/bin/setupvars.sh
将终端窗口保持打开状态以进行下一步。
步骤 2:在英特尔® Vision Accelerator 运行单一检测应用程序
- 运行对象检测 YOLO V3 Python 演示示例应用程序:
python3 object_detection_demo.py -i $HOME/Downloads/YOLOv3/Sample_videos/one-by-one-person-detection.mp4 -m $HOME/Downloads/YOLOv3/tensorflow-yolo-v3/FP32/frozen_darknet_yolov3_model.xml -d HDDL -t 0.1 -at yolo
通过在边框中显示单个个体的图像表示成功。在图像的左侧,您可以看到推理时间。如果场景组件的颜色与边框或文本的颜色相同,则可能看不到某些边框和检测结果。
- 按下键盘上的 Tab 键来更改异步模式选项。
- 按 Esc 键退出演示。
将终端窗口保持打开状态以进行下一步。
步骤 3:在英特尔® Vision Accelerator 上运行多检测应用程序
- 运行对象检测 YOLO V3 Python 演示示例应用程序:
python3 object_detection_demo.py -i $HOME/Downloads/YOLOv3/Sample_videos/person-bicycle-car-detection.mp4 -m $HOME/Downloads/YOLOv3/tensorflow-yolo-v3/FP32/frozen_darknet_yolov3_model.xml -d HDDL -t 0.1 -at yolo
通过显示一个或多个对象和/或人的图像来表示成功。在图像的左侧,您可以看到推理时间。如果场景组件的颜色与边框或文本的颜色相同,则可能看不到某些边框和检测结果。
- 按下键盘上的 Tab 键来更改异步模式选项。
- 按 Esc 键退出演示。
结论和后续行动
在本教程中,您学习了使用示例应用程序“对象检测 YOLO V3 Python 演示”在不同的处理单元上运行推理应用程序。在此过程中,您将熟悉与视觉边缘洞见一起安装的英特尔® 发行版 OpenVINO™ 工具套件。
转到英特尔® 边缘软件配置器文档以了解如何使用该工具管理边缘软件包、创建和管理容器和虚拟机。
下一步,查看多摄像头检测社交距离参考实现。