干货 | 基于 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提供的开源模型演示交互式人脸检测应用:展示了使用神经网络应用于面部识别的对象检测任务。该演示执行了四个并行推理过程,用于同时运行的“年龄/性别识别”,“头部姿势估计”,“情绪识别”和“面部标志检测”网络。在本应用的演示中使用以下5个预训练的模型。
交互式人脸检测模型设计5个预训练模型,具体如下: face-detection-adas-0001,这是查找人脸的主要检测网络 age-gender-recognition-retail-0013,它会在第一个模型的结果之上执行,并报告检测到的每个面孔的估计年龄和性别 head-pose-estimation-adas-0001在第一个模型的结果之上执行,并报告以Tait-Bryan角度估计的头部姿势 emotions-recognition-retail-0003,它会在第一个模型的结果之上执行,并报告每个检测到的脸部的情绪 facial-landmarks-35-adas-0002,它是在第一个模型的结果之上执行的,并报告估计的面部标志的标准化坐标 -模型使用目的和下载链接 通过OpenCV 提供视频输入支持 通过人脸检测网络可视化生成的人脸边界框 可视化每个检测到的脸部的年龄/性别,头部姿势,情感信息和面部标志位置 模型(bin文件和xml文件)下载链接(本文以FP16为例,其他格式模型应用可以参考本文)
a) 通过OpenCV 提供视频输入支持 b) 通过人脸检测网络可视化生成的人脸边界框 c) 可视化每个检测到的脸部的年龄/性别,头部姿势,情感信息和面部标志位置 d) 模型(bin文件和xml文件)下载链接(本文以FP16为例,其他格式模型应用可以参考本文)
序号 | 模型名称 | 链接 |
---|---|---|
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) 该应用程序读取命令行参数,并根据推理引擎的选项最多加载五个网络。 b) 该应用程序从OpenCV VideoCapture获取帧(可以通过摄像头也可以通过视频)。 c) 该应用程序在人脸检测网络上执行推理。 d) 如果在命令行中指定了年龄/性别,头姿势,情绪和面部地标检测网络,则应用程序将同时执行四个推断。 e) 可以使用异步API新的“推断请求”。
使用该-h选项运行应用程序会输出帮助信息: ./interactive_face_detection_demo -h 推理引擎: API版本............ <版本> 构建.................. <数字> Interactive_face_detection_demo [OPTION] 选项: -h打印用法消息 -i“ <路径>”是必需的。视频文件的路径(指定“ cam”以用于摄像机)。 -o“ <路径>”可选。输出视频文件的路径。 -m“ <路径>”必需。具有经过训练的人脸检测模型的.xml文件的路径。 -m_ag“ <路径>”可选。具有经过训练的年龄/性别识别模型的.xml文件的路径。 -m_hp“ <路径>”可选。具有经过训练的头部姿势估计模型的.xml文件的路径。 -m_em“ <路径>”可选。具有经过训练的情绪识别模型的.xml文件的路径。 -m_lm“ <路径>”可选。具有经过训练的面部地标估计模型的.xml文件的路径。 -l“ <absolute_path>”对于CPU自定义层是必需的。使用内核实现的共享库的绝对路径。 要么 -c“ <absolute_path>”是GPU自定义内核所必需的。具有内核描述的.xml文件的绝对路径。 -d“ <设备>”可选。人脸检测网络的目标设备(可用设备列表如下所示)。默认值为CPU。使用“ -d HETERO:<逗号分隔的设备列表>”格式来指定HETERO插件。该演示将为指定的设备寻找合适的插件。 -d_ag“ <设备>”可选。年龄/性别识别网络的目标设备(可用设备列表如下所示)。默认值为CPU。使用“ -d HETERO:<逗号分隔的设备列表>”格式来指定HETERO插件。该演示将为指定的设备寻找合适的插件。 -d_hp“ <设备>”可选。头部姿势估计网络的目标设备(可用设备列表如下所示)。默认值为CPU。使用“ -d HETERO:<逗号分隔的设备列表>”格式来指定HETERO插件。该演示将为指定的设备寻找合适的插件。 -d_em“ <设备>”可选。情绪识别网络的目标设备(可用设备列表如下所示)。默认值为CPU。使用“ -d HETERO:<逗号分隔的设备列表>”格式来指定HETERO插件。该演示将为指定的设备寻找合适的插件。 -d_lm“ <设备>”可选。面部地标估计网络的目标设备(可用设备列表如下所示)。默认值为CPU。使用“ -d HETERO:<逗号分隔的设备列表>”格式来指定HETERO插件。该演示将为指定的设备寻找合适的插件。 -n_ag“ <num>”可选。年龄/性别识别网络最多可同时处理的面部数量(默认为16) -n_hp“ <num>”可选。头部姿势估计网络的最大同时处理的面部数(默认为16) -n_em“ <num>”可选。情绪识别网络可同时处理的最大脸数(默认为16) -n_lm“ <num>”可选。“人脸地标估计”网络最多可同时处理的人脸数量(默认为16) -dyn_ag可选。为年龄/性别识别网络启用动态批量大小 -dyn_hp可选。为“头姿势估计”网络启用动态批次大小 -dyn_em可选。为情绪识别网络启用动态批量大小 -dyn_lm可选。为面部地标估计网络启用动态批量 -async可选。启用异步模式 -no_wait可选。不后的按键要等待最。 -no_show可选。不显示已处理的视频。 -pc可选。启用每层性能报告 -r可选。将推断结果输出为原始值 -t可选。检测的概率阈值 -bb_enlarge_coef可选。放大/缩小检测到的面部周围的边框尺寸的系数 -dx_coef可选。使边界框沿检测轴沿Ox轴移动的系数 -dy_coef可选。沿Oy轴围绕检测到的脸部移动边界框的系数 -fps可选。播放视频的最大FPS -loop_video可选。启用循环播放视频 -no_smooth可选。不平滑人物属性 -no_show_emotion_bar可选。不显示情绪吧 -u可选。最初显示的监视器列表。 在选项列表为空的情况下运行应用程序会产生上面给出的用法消息和错误消息。 注意:在使用经过训练的模型运行演示之前,请确保下载openvino模型推理引擎格式(* .xml + * .bin)。
a) 打开命令行窗口,设置环境变量并测试是否可以成功导入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) 理解参数,创建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代神经计算棒) -d_hp CPU ^ e) 结果输出(以在CPU推断为例)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码