干貨 | 基于 OpenVINO 的交互式人臉檢測演示
Created by Openvino Technical Support
Copyright ? Openvino community Technical Support Team. This material, including documentation and any related computer programs, is protected by copyright controlled by Openvino community Technical Support Team. All rights are reserved. Copying, including reproducing, storing, adapting or translating, any or all of this material requires the prior written consent of Openvino community Technical Support Team.
前言
本文主要針對英特Openvino提供的開源模型演示交互式人臉檢測應(yīng)用:展示了使用神經(jīng)網(wǎng)絡(luò)應(yīng)用于面部識別的對象檢測任務(wù)。該演示執(zhí)行了四個并行推理過程,用于同時運行的“年齡/性別識別”,“頭部姿勢估計”,“情緒識別”和“面部標志檢測”網(wǎng)絡(luò)。在本應(yīng)用的演示中使用以下5個預(yù)訓練的模型。
交互式人臉檢測模型設(shè)計5個預(yù)訓練模型,具體如下: face-detection-adas-0001,這是查找人臉的主要檢測網(wǎng)絡(luò) age-gender-recognition-retail-0013,它會在第一個模型的結(jié)果之上執(zhí)行,并報告檢測到的每個面孔的估計年齡和性別 head-pose-estimation-adas-0001在第一個模型的結(jié)果之上執(zhí)行,并報告以Tait-Bryan角度估計的頭部姿勢 emotions-recognition-retail-0003,它會在第一個模型的結(jié)果之上執(zhí)行,并報告每個檢測到的臉部的情緒 facial-landmarks-35-adas-0002,它是在第一個模型的結(jié)果之上執(zhí)行的,并報告估計的面部標志的標準化坐標 -模型使用目的和下載鏈接 通過OpenCV 提供視頻輸入支持 通過人臉檢測網(wǎng)絡(luò)可視化生成的人臉邊界框 可視化每個檢測到的臉部的年齡/性別,頭部姿勢,情感信息和面部標志位置 模型(bin文件和xml文件)下載鏈接(本文以FP16為例,其他格式模型應(yīng)用可以參考本文)
a) 通過OpenCV 提供視頻輸入支持 b) 通過人臉檢測網(wǎng)絡(luò)可視化生成的人臉邊界框 c) 可視化每個檢測到的臉部的年齡/性別,頭部姿勢,情感信息和面部標志位置 d) 模型(bin文件和xml文件)下載鏈接(本文以FP16為例,其他格式模型應(yīng)用可以參考本文)
序號 | 模型名稱 | 鏈接 |
---|---|---|
1 | face-detection-adas-0001 | https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/face-detection-adas-0001/FP16/ |
2 | age-gender-recognition-retail-0013 | https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/age-gender-recognition-retail-0013/FP16/ |
3 | head-pose-estimation-adas-0001 | https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/ head-pose-estimation-adas-0001/FP16/ |
4 emotions-recognition-retail-0003 https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/ emotions-recognition-retail-0003/FP16/ 5 The Godfatherfacial-landmarks-35-adas-0002 https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/ facial-landmarks-35-adas-0002/FP16/
運行模型的方法
a) 該應(yīng)用程序讀取命令行參數(shù),并根據(jù)推理引擎的選項最多加載五個網(wǎng)絡(luò)。 b) 該應(yīng)用程序從OpenCV VideoCapture獲取幀(可以通過攝像頭也可以通過視頻)。 c) 該應(yīng)用程序在人臉檢測網(wǎng)絡(luò)上執(zhí)行推理。 d) 如果在命令行中指定了年齡/性別,頭姿勢,情緒和面部地標檢測網(wǎng)絡(luò),則應(yīng)用程序?qū)⑼瑫r執(zhí)行四個推斷。 e) 可以使用異步API新的“推斷請求”。
使用該-h選項運行應(yīng)用程序會輸出幫助信息: ./interactive_face_detection_demo -h 推理引擎: API版本............ <版本> 構(gòu)建.................. <數(shù)字> Interactive_face_detection_demo [OPTION] 選項: -h打印用法消息 -i“ <路徑>”是必需的。視頻文件的路徑(指定“ cam”以用于攝像機)。 -o“ <路徑>”可選。輸出視頻文件的路徑。 -m“ <路徑>”必需。具有經(jīng)過訓練的人臉檢測模型的.xml文件的路徑。 -m_ag“ <路徑>”可選。具有經(jīng)過訓練的年齡/性別識別模型的.xml文件的路徑。 -m_hp“ <路徑>”可選。具有經(jīng)過訓練的頭部姿勢估計模型的.xml文件的路徑。 -m_em“ <路徑>”可選。具有經(jīng)過訓練的情緒識別模型的.xml文件的路徑。 -m_lm“ <路徑>”可選。具有經(jīng)過訓練的面部地標估計模型的.xml文件的路徑。 -l“ <absolute_path>”對于CPU自定義層是必需的。使用內(nèi)核實現(xiàn)的共享庫的絕對路徑。 要么 -c“ <absolute_path>”是GPU自定義內(nèi)核所必需的。具有內(nèi)核描述的.xml文件的絕對路徑。 -d“ <設(shè)備>”可選。人臉檢測網(wǎng)絡(luò)的目標設(shè)備(可用設(shè)備列表如下所示)。默認值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。 -d_ag“ <設(shè)備>”可選。年齡/性別識別網(wǎng)絡(luò)的目標設(shè)備(可用設(shè)備列表如下所示)。默認值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。 -d_hp“ <設(shè)備>”可選。頭部姿勢估計網(wǎng)絡(luò)的目標設(shè)備(可用設(shè)備列表如下所示)。默認值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。 -d_em“ <設(shè)備>”可選。情緒識別網(wǎng)絡(luò)的目標設(shè)備(可用設(shè)備列表如下所示)。默認值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。 -d_lm“ <設(shè)備>”可選。面部地標估計網(wǎng)絡(luò)的目標設(shè)備(可用設(shè)備列表如下所示)。默認值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。 -n_ag“ <num>”可選。年齡/性別識別網(wǎng)絡(luò)最多可同時處理的面部數(shù)量(默認為16) -n_hp“ <num>”可選。頭部姿勢估計網(wǎng)絡(luò)的最大同時處理的面部數(shù)(默認為16) -n_em“ <num>”可選。情緒識別網(wǎng)絡(luò)可同時處理的最大臉數(shù)(默認為16) -n_lm“ <num>”可選?!叭四樀貥斯烙嫛本W(wǎng)絡(luò)最多可同時處理的人臉數(shù)量(默認為16) -dyn_ag可選。為年齡/性別識別網(wǎng)絡(luò)啟用動態(tài)批量大小 -dyn_hp可選。為“頭姿勢估計”網(wǎng)絡(luò)啟用動態(tài)批次大小 -dyn_em可選。為情緒識別網(wǎng)絡(luò)啟用動態(tài)批量大小 -dyn_lm可選。為面部地標估計網(wǎng)絡(luò)啟用動態(tài)批量 -async可選。啟用異步模式 -no_wait可選。不后的按鍵要等待最。 -no_show可選。不顯示已處理的視頻。 -pc可選。啟用每層性能報告 -r可選。將推斷結(jié)果輸出為原始值 -t可選。檢測的概率閾值 -bb_enlarge_coef可選。放大/縮小檢測到的面部周圍的邊框尺寸的系數(shù) -dx_coef可選。使邊界框沿檢測軸沿Ox軸移動的系數(shù) -dy_coef可選。沿Oy軸圍繞檢測到的臉部移動邊界框的系數(shù) -fps可選。播放視頻的最大FPS -loop_video可選。啟用循環(huán)播放視頻 -no_smooth可選。不平滑人物屬性 -no_show_emotion_bar可選。不顯示情緒吧 -u可選。最初顯示的監(jiān)視器列表。 在選項列表為空的情況下運行應(yīng)用程序會產(chǎn)生上面給出的用法消息和錯誤消息。 注意:在使用經(jīng)過訓練的模型運行演示之前,請確保下載openvino模型推理引擎格式(* .xml + * .bin)。
a) 打開命令行窗口,設(shè)置環(huán)境變量并測試是否可以成功導(dǎo)入opencv cd “C:Program Files (x86)IntelSWToolsopenvinobin” setupvars.bat python import cv2 b) 找到安裝路徑下的interactive_face_detection_demo目錄 C:UsersxxxDocumentsIntelOpenVINOomz_demos_buildintel64Releaseinteractive_face_detection_demo.exe c) 確保5個pre-trained模型下載成功 face-detection-adas-0001l age-gender-recognition-retail-0013 head-pose-estimation-adas-0001 emotions-recognition-retail-0003 facial-landmarks-35-adas-0002 d) 理解參數(shù),創(chuàng)建face-age-emotion-head.bat,并Run bat文件 C:UsersxxxDocumentsIntelOpenVINOomz_demos_buildintel64Releaseinteractive_face_detection_demo.exe ^ -m C:mydownloadintelface-detection-retail-0004FP16face-detection-retail-0004.xml ^ -m_ag C:mydownloadintelage-gender-recognition-retail-0013FP16age-gender-recognition-retail-0013.xml ^ -m_em C:mydownloadintelemotions-recognition-retail-0003FP16emotions-recognition-retail-0003.xml ^ -m_lm C:mydownloadintelfacial-landmarks-35-adas-0002FP16facial-landmarks-35-adas-0002.xml ^ -m_hp C:mydownloadintelhead-pose-estimation-adas-0001FP16head-pose-estimation-adas-0001.xml ^ #-i "cam" ^(使用攝像頭) -i C:Tempsample-videos-masterfbb.avi ^(使用視頻文件) -d CPU ^ -d_ag CPU ^ -d_em CPU ^ -d_lm MYRIAD ^(如果有,使用intel 2代神經(jīng)計算棒) -d_hp CPU ^ e) 結(jié)果輸出(以在CPU推斷為例)
評論