新聞中心

EEPW首頁 > 智能計算 > 進(jìn)階指南 > 干貨 | 基于 OpenVINO 的交互式人臉檢測演示

干貨 | 基于 OpenVINO 的交互式人臉檢測演示

作者: 時間:2021-01-20 來源:OpenVINO中文社區(qū) 收藏

Created by Openvino Technical Support

本文引用地址:http://butianyuan.cn/article/202101/422244.htm

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.

1611113613872882.png

前言

    本文主要針對英特Openvino提供的開源模型演示式人臉檢測應(yīng)用:展示了使用神經(jīng)網(wǎng)絡(luò)應(yīng)用于面部識別的對象檢測任務(wù)。該演示執(zhí)行了四個并行推理過程,用于同時運(yùn)行的“年齡/性別識別”,“頭部姿勢估計”,“情緒識別”和“面部標(biāo)志檢測”網(wǎng)絡(luò)。在本應(yīng)用的演示中使用以下5個預(yù)訓(xùn)練的模型

涉及的模型

1.具體的使用模型

    式人臉檢測模型設(shè)計5個預(yù)訓(xùn)練模型,具體如下:

    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í)行的,并報告估計的面部標(biāo)志的標(biāo)準(zhǔn)化坐標(biāo)

    -模型使用目的和下載鏈接

    通過OpenCV  提供視頻輸入支持

    通過人臉檢測網(wǎng)絡(luò)可視化生成的人臉邊界框

    可視化每個檢測到的臉部的年齡/性別,頭部姿勢,情感信息和面部標(biāo)志位置

    模型(bin文件和xml文件)下載鏈接(本文以FP16為例,其他格式模型應(yīng)用可以參考本文)


2.模型使用目的和下載鏈接

    a)  通過OpenCV  提供視頻輸入支持

    b)  通過人臉檢測網(wǎng)絡(luò)可視化生成的人臉邊界框

    c)  可視化每個檢測到的臉部的年齡/性別,頭部姿勢,情感信息和面部標(biāo)志位置

    d)  模型(bin文件和xml文件)下載鏈接(本文以FP16為例,其他格式模型應(yīng)用可以參考本文)

序號模型名稱鏈接
1face-detection-adas-0001https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/face-detection-adas-0001/FP16/
2age-gender-recognition-retail-0013https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/age-gender-recognition-retail-0013/FP16/
3head-pose-estimation-adas-0001https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/ head-pose-estimation-adas-0001/FP16/



4emotions-recognition-retail-0003https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/ emotions-recognition-retail-0003/FP16/
5The Godfatherfacial-landmarks-35-adas-0002https://download.01.org/opencv/2020/openvinotoolkit/2020.2/open_model_zoo/models_bin/2/ facial-landmarks-35-adas-0002/FP16/

運(yùn)行模型的方法

1.運(yùn)行模型主要步驟

    a) 該應(yīng)用程序讀取命令行參數(shù),并根據(jù)推理引擎的選項最多加載五個網(wǎng)絡(luò)。

    b) 該應(yīng)用程序從OpenCV VideoCapture獲取幀(可以通過攝像頭也可以通過視頻)。

    c) 該應(yīng)用程序在人臉檢測網(wǎng)絡(luò)上執(zhí)行推理。

    d) 如果在命令行中指定了年齡/性別,頭姿勢,情緒和面部地標(biāo)檢測網(wǎng)絡(luò),則應(yīng)用程序?qū)⑼瑫r執(zhí)行四個推斷。

    e) 可以使用異步API新的“推斷請求”。


2.模型參數(shù)解釋

    使用該-h選項運(yùn)行應(yīng)用程序會輸出幫助信息:

    ./interactive_face_detection_demo -h

推理引擎:

    API版本............ <版本>

    構(gòu)建.................. <數(shù)字>

    Interactive_face_detection_demo [OPTION]

選項:

    -h打印用法消息

    -i“ <路徑>”是必需的。視頻文件的路徑(指定“ cam”以用于攝像機(jī))。

    -o“ <路徑>”可選。輸出視頻文件的路徑。

    -m“ <路徑>”必需。具有經(jīng)過訓(xùn)練的人臉檢測模型的.xml文件的路徑。

    -m_ag“ <路徑>”可選。具有經(jīng)過訓(xùn)練的年齡/性別識別模型的.xml文件的路徑。

    -m_hp“ <路徑>”可選。具有經(jīng)過訓(xùn)練的頭部姿勢估計模型的.xml文件的路徑。

    -m_em“ <路徑>”可選。具有經(jīng)過訓(xùn)練的情緒識別模型的.xml文件的路徑。

    -m_lm“ <路徑>”可選。具有經(jīng)過訓(xùn)練的面部地標(biāo)估計模型的.xml文件的路徑。

    -l“ <absolute_path>”對于CPU自定義層是必需的。使用內(nèi)核實現(xiàn)的共享庫的絕對路徑。

要么

    -c“ <absolute_path>”是GPU自定義內(nèi)核所必需的。具有內(nèi)核描述的.xml文件的絕對路徑。

    -d“ <設(shè)備>”可選。人臉檢測網(wǎng)絡(luò)的目標(biāo)設(shè)備(可用設(shè)備列表如下所示)。默認(rèn)值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。

    -d_ag“ <設(shè)備>”可選。年齡/性別識別網(wǎng)絡(luò)的目標(biāo)設(shè)備(可用設(shè)備列表如下所示)。默認(rèn)值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。

    -d_hp“ <設(shè)備>”可選。頭部姿勢估計網(wǎng)絡(luò)的目標(biāo)設(shè)備(可用設(shè)備列表如下所示)。默認(rèn)值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。

    -d_em“ <設(shè)備>”可選。情緒識別網(wǎng)絡(luò)的目標(biāo)設(shè)備(可用設(shè)備列表如下所示)。默認(rèn)值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。

    -d_lm“ <設(shè)備>”可選。面部地標(biāo)估計網(wǎng)絡(luò)的目標(biāo)設(shè)備(可用設(shè)備列表如下所示)。默認(rèn)值為CPU。使用“ -d HETERO:<逗號分隔的設(shè)備列表>”格式來指定HETERO插件。該演示將為指定的設(shè)備尋找合適的插件。

    -n_ag“ <num>”可選。年齡/性別識別網(wǎng)絡(luò)最多可同時處理的面部數(shù)量(默認(rèn)為16)

    -n_hp“ <num>”可選。頭部姿勢估計網(wǎng)絡(luò)的最大同時處理的面部數(shù)(默認(rèn)為16)

    -n_em“ <num>”可選。情緒識別網(wǎng)絡(luò)可同時處理的最大臉數(shù)(默認(rèn)為16)

    -n_lm“ <num>”可選?!叭四樀貥?biāo)估計”網(wǎng)絡(luò)最多可同時處理的人臉數(shù)量(默認(rèn)為16)

    -dyn_ag可選。為年齡/性別識別網(wǎng)絡(luò)啟用動態(tài)批量大小

    -dyn_hp可選。為“頭姿勢估計”網(wǎng)絡(luò)啟用動態(tài)批次大小

    -dyn_em可選。為情緒識別網(wǎng)絡(luò)啟用動態(tài)批量大小

    -dyn_lm可選。為面部地標(biāo)估計網(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ùn)行應(yīng)用程序會產(chǎn)生上面給出的用法消息和錯誤消息。

注意:在使用經(jīng)過訓(xùn)練的模型運(yùn)行演示之前,請確保下載openvino模型推理引擎格式(* .xml + * .bin)。


3.模型結(jié)果輸出

a) 打開命令行窗口,設(shè)置環(huán)境變量并測試是否可以成功導(dǎo)入opencv

    cd “C:Program Files (x86)IntelSWToolsopenvinobin”

    setupvars.bat

    python

    import cv2


b) 找到安裝路徑下的interactive_face_detection_demo目錄

    C:UsersxxxDocumentsIntelomz_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:UsersxxxDocumentsIntelomz_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推斷為例)

1611113509777535.png

1611113554638795.bmp



關(guān)鍵詞: OpenVINO 交互 人臉識別

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉