人体检测
开发者将本Application部署至Atlas 200 DK或者AI加速云服务器上实现对本地mp4文件或者RTSP视频流进行解码,对视频帧中的行人和人脸进行检测并对其属性进行预测,生成结构化信息发送至Server端进行保存、展示的功能。
当前分支中的应用适配1.32.0.0及以上版本的DDK&RunTime。
前提条件
部署此Sample前,需要准备好以下环境:
部署
可以选择如下快速部署或者常规方法部署,二选一即可:
说明:
说明:
编译
以Mind Studio安装用户在命令行中进入安装包解压后的“MindStudio-ubuntu/bin”目录,如:$HOME/MindStudio-ubuntu/bin。执行如下命令启动Mind Studio
./MindStudio.sh
启动成功后,打开sample-videoanalysisperson工程,如图 打开videoanalysisperson工程所示。
图 1 打开videoanalysisperson工程
图 2 配置文件路径
该配置文件默认配置内容如下:
remote_host=192.168.1.2
presenter_view_app_name=video
video_path_of_host=/home/HwHiAiUser/person.mp4
rtsp_video_stream=
视频文件配置示例如下:
remote_host=192.168.1.2
presenter_view_app_name=video
video_path_of_host=/home/HwHiAiUser/person.mp4
rtsp_video_stream=
Rtsp视频流配置示例如下:
remote_host=192.168.1.2
presenter_view_app_name=video
video_path_of_host=
rtsp_video_stream=rtsp://192.168.2.37:554/cam/realmonitor?channel=1&subtype=0
说明:
图 3 执行deploy脚本
说明:
图 4 编译操作及生成文件
须知:
首次编译工程时,Build > Build为灰色不可点击状态。需要点击Build > Edit Build Configuration,配置编译参数后再进行编译。
打开Mind Studio工具的Terminal,在应用代码存放路径下,执行如下命令在后台启动人体检测应用的Presenter Server主程序。如图 启动PresenterServer所示。
bash run_present_server.sh
图 5 启动PresenterServer
如图 工程部署示意图所示,请在“Current environment valid ip list”中选择通过浏览器访问Presenter Server服务使用的IP地址。
图 6 工程部署示意图
如图7所示,表示presenter_server的服务启动成功。
图 7 Presenter Server进程启动
使用上图提示的URL登录Presenter Server,IP地址为图6中输入的IP地址,端口号默为7011,如下图所示,表示Presenter Server启动成功。
图 8 主页显示
Presenter Server、Mind Studio与Atlas 200 DK之间通信使用的IP地址示例如下图所示:
图 9 IP地址示例
例如将视频文件person.mp4上传到Host侧的“/home/HwHiAiUser/“目录下。
说明:
支持H264与H265格式的MP4文件,如果MP4文件需要剪辑,建议使用开源工具ffmpeg,使用其他工具剪辑的视频文件ffmpeg工具可能不支持解析。
运行
在Mind Studio工具的工具栏中找到Run按钮,点击Run > Run 'sample-videoanalysisperson',如图 程序已执行示意图所示,可执行程序已经在开发板执行。
图 10 程序已执行示意图
说明:
人体检测应用程序的Presenter Server最多支持2个 presenter_view_app_name 同时显示。
页面左侧树结构列出了视频所属app name以及通道名,中间列出了抽取的视频帧大图以及检测出的目标小图,点击下方小图后会在右侧列出详细的推理结果、评分。
本应用支持人体属性检测和人脸属性检测。
Age:共分Age16-30,Age31-45,Age46-60,AgeAbove61四个年龄段; Backpack; CarryingOther; Casual lower; Casual upper; Formal lower; Hat; Jacket; Jeans; Leather Shoes; Logo; Short hair/Long hair; Male/Female; Messenger Bag; Muffler; No accessory; No carrying; Plaid; PlasticBags; Sandals; Shoes; Shorts; Short Sleeve; Skirt; Sneaker; Stripes; Sunglasses; Trousers; Tshirt; UpperOther; V-Neck。
其中在视频分析界面的详细推理结果展示区域,Age、Male/Female、Short hair/Long hair是必展示属性,其他属性当置信度>0.5时则展示,否则不展示。
后续处理
视频程序分析完之后会自动停止退出,如图 videoperson应用程序停止所示
图 11 videoperson应用程序停止
Presenter Server服务启动后会一直处于运行状态,若想停止人体检测应用对应的Presenter Server服务,可执行如下操作。
以Mind Studio安装用户在Mind Studio所在服务器中执行如下命令查看人体检测应用对应的Presenter Server服务的进程。
ps -ef | grep presenter | grep video_analysis_person
ascend@ascend-HP-ProDesk-600-G4-PCI-MT:~/sample-videoanalysisperson$ ps -ef | grep presenter | grep video_analysis_car
ascend 3656 20313 0 15:10 pts/24?? 00:00:00 python3 presenterserver/presenter_server.py --app video_analysis_person
如上所示_3656_ 即为人体检测应用对应的Presenter Server服务的进程ID。
若想停止此服务,执行如下命令:
kill -9 3656
重新启动人体检测应用时请确保以下条件满足任意一个,否则会报错:
例如:视频解析数据存储路径为:$HOME/videoperson_storage/video,其中:$HOME/videoperson_storage是启动Presenter Server时配置的“Please input a absolute path to storage video analysis data”的值,video为param_configure.conf配置文件中参数presenter_view_app_name的值。
满足此条件情况下,无需重启Presenter Server,直接重新执行 Run > Run 'sample-videoanalysisperson' 运行应用程序即可。
param_configure.conf配置文件中参数presenter_view_app_name的值如下所示。
满足此条件情况下,无需重启Presenter Server。