包起来
- 本文介绍了如何将 OKI 的 AI 边缘计算机“AE2100”与柯尼卡美能达的图像物联网平台“FORXAI”链接起来。
- 在本文中,我们使用FORXAI的骨架估计引擎和示例应用程序人体入侵检测我将分两部分解释使用AE2100进行推断的方法。
- 在第二期《AE2100推理版》中,我们将讲解如何在AE2100端搭建环境,以及如何使用FORXAI的AI模型和示例应用进行推理。
介绍
本文是关于FORXAI与AE2100合作的第二篇文章。
在上一篇文章中,我解释了如何链接 FORXAI 和 AE2100 以及如何部署 AI 容器。
让我们把OKI的AI边缘计算机“AE2100”和柯尼卡美能达的图像物联网平台“FORXAI”联系起来(一)-设备注册/AI容器/应用程序准备-
这次,我们将解释如何在 AE2100 端构建环境,以及如何使用 FORXAI 的 AI 容器(框架估计)和示例应用程序(快速入门套件)检测人为入侵。
注意,本文假设您是 FORXAI 合作伙伴。
(如果您不是 FORXAI 合作伙伴,FORXAI 合作伙伴网站无法访问)
如果您不是 FORXAI 合作伙伴并且有兴趣,FORXAI 查询表格请咨询我们。
环境
执行环境与第 1 部分相同。有关详细信息,请参阅第一篇文章。
让我们把OKI的AI边缘计算机“AE2100”和柯尼卡美能达的图像物联网平台“FORXAI”联系起来(一)-设备注册/AI容器/应用程序准备-
AE2100 iptables 设置
首先,您需要为 AE2100 设置 iptables。
所有与 FORXAI 相关的容器都在同一个子网上172.18.0.0/16但是,使用 AE2100 上 iptables 的默认设置无法实现容器之间的通信。
因此,提前在 iptables 中添加以下规则。
-A service_accept_in -s 172.18.0.0/16 -d 192.168.100.1 -j ACCEPT
要更改 iptables 设置,您需要创建“iptables-make-chain-custom”和“iptables-common-rule-custom”。
细节是AE2100 SDK使用手册(普通版)请参阅 中的“防火墙设置”。
准备一个用于执行 Quick Start Kit 的容器(主机操作系统端)
在上一篇文章中,已经完成了 FORXAI IoT Platform 相关容器和 AI 容器的部署,但除此之外,还需要准备一个单独的容器来执行 FORXAI 示例代码合集“快速启动工具包”。
在本文中,我们使用 AE2100 标准容器作为执行 Quick Start Kit 的容器。ae2100_openvino_ubuntu20_runtime_2021.4.2.tar使用。
AE2100 SDK使用手册(深度学习版)参考“部署到AE2100”导入Docker镜像,使用以下命令启动容器。
容器名称是任意的,但在本文中即使在最前面我正在做。
# docker run -d --network forxai_network --expose 54321 --name forxai-demo -it ae2100_openvino/ubuntu20_runtime:2021.4.2 /bin/bash
接下来,将上一篇文章中从FORXAI合作伙伴网站下载的“quick_start_kit_r01.zip”和“skeleton_recognition_dl.zip”,使用SCP等传输到AE2100的宿主机操作系统,并复制到forxai-demo。
此外,作为推理期间的输入英特尔 Github 上的示例视频“one-by-one-person-detection.mp4”,所以也将其复制到forxai-demo。
# docker cp quick_start_kit_r01.zip forxai-demo:/root/
# docker cp skeleton_recognition_dl.zip forxai-demo:/root/
# docker cp one-by-one-person-detection.mp4 forxai-demo:/root/
构建 Quick Start Kit 执行环境(容器端)
在本章中,我们将在上一章创建的容器 forxai-demo 中构建运行 Quick Start Kit 的环境。
请访问forxai-demo。
首先,运行demo需要ffmpeg等,所以安装依赖包。
*需要互联网连接。
# cd /opt/intel/openvino/install_dependencies
# apt-get clean
# ./install_openvino_dependencies.sh
接下来,解压缩从主机操作系统端复制的“quick_start_kit_r01.zip”和“skeleton_recognition_dl.zip”。
解压目录src/人进入检测由于人入检测应用程序“sample_entering-detection.py”存储在该目录中,因此示例视频“one-by-one-person-detection.mp4”放置在同一目录中。
# cd
# apt-get install zip
# unzip quick_start_kit_r01.zip
# unzip skeleton_recognition_dl.zip
# cp -p one-by-one-person-detection.mp4 src/people-entering-detection/
此外,为了在 AE2100 上运行 FORXAI 的骨架估计引擎,需要安装 Python 客户端库。
安装包包含在上一节解压的“skeleton_recognition_dl.zip”中,请安装。
细节是FORXAI 合作伙伴网站上的 AI 容器准备页面被描述。
# cd
# pip3 install --upgrade pip
# pip3 install protobuf==3.20.0
# pip3 install /root/skeleton_recognition_dl/python/dist/forxai_base-1.0.0-py3-none-any.whl
# pip3 install /root/skeleton_recognition_dl/python/dist/forxai_recognition-1.0.0-py3-none-any.whl
最后修改下面的代码,执行“sample_entering-detection.py”。
with forxai_recognition.Client('127.0.0.1', 52051) as d:
将此IP地址部分修改为上一篇中部署的骨架估计引擎“forxai_skelton_recognition_ov”的IP地址。
您可以在 FORXAI Portainer 屏幕上的“Containers”中查看 AI 容器的 IP 地址。
在我的情况下172.18.0.2因此,我将代码修改如下。
with forxai_recognition.Client('172.18.0.2', 52051) as d:
推理运行
参考本文并提前在Windows PC 上启动XLaunch,并指定作为窗口显示目的地的Windows PC 的IP 地址。
# export DISPLAY=192.168.0.2:0.0
至此,推理执行的准备工作已经完成。
让我们以“one-by-one-person-detection.mp4”作为输入运行“sample_entering-detection.py”。
# cd src/people-entering-detection/
# python3 sample_entering-detection.py --file one-by-one-person-detection.mp4
推理运行结果
执行“sample_entering-detection.py”后,将显示以下窗口。 (用于骨骼估计的 AI 尚未移动)
按照窗口左上角的“单击图像窗口四次定义区域”,单击要设置为检测区域的四个点。
然后,检测区域会显示一个黄色框,骨骼估计 AI 会移动。
当一个人出现在窗口中时,骨架估计就开始了。
并且当有人进入预先设置的检测区域时,检测框的颜色变为红色,即检测进入的状态。
即使是面朝后的人也能准确估计出骨骼的位置,检测精度相当不错。
当然,也可以将输入改为摄像头图像而不是视频,这样也可以在现场实时输出推理结果。
此外,由于这种推理是由 CPU 执行的,因此推理处理速度(FPS)略低。
AE2100使用Myriad可以实现更快的推理,希望FORXAI能支持Myriad。
概括
这一次,我解释了AE2100端的环境构建和使用FORXAI的AI模型示例应用程序进行推理。
FORXAI还有很多其他的AI容器,所以我认为通过根据应用选择合适的AI,结合AE2100 x FORXAI可以实现各种用例。
上一篇:
让我们把OKI的AI边缘计算机“AE2100”和柯尼卡美能达的图像物联网平台“FORXAI”联系起来(一)-设备注册/AI容器/应用程序准备-
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308624171.html