人體檢測
開發者將本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。