人脸朝向识别 - 人脸识别 - 华为开发者联盟

能力描述

人脸检测 朝向判别

检测手机当前摄像头视野中是否有人,以及人脸的朝向,能给智能手机的决策系统提供重要信息, 例如在智能亮屏、智能灭屏、智能旋转、图像旋转控制等场景。 人脸朝向识别,是利用图像识别技术检测可见光图像中人脸朝上、人脸朝右、人脸朝下、人脸朝左、无人脸共五个类别信息。 通过本API可以获得图像中人脸朝向的具体类别和置信度。
应用场景

屏幕控制 智能旋转

检测人像有无与面部朝向,适用于基于人脸朝向进行决策的业务场景,如亮灭屏智能管理、图像智能旋转等。

智能亮灭屏

当手机被拿起时,如果前置摄像头视野中没人则不亮屏,有人才亮屏。当手机被放下时,有人则不灭屏,无人才灭屏。

智能旋转

当手机被旋转时,手机屏幕会根据人脸的实际朝向进行旋转,而不依赖重力感应,给用户更好的体验。

功能演示

Request
复制代码

HeadposeDetector headposeDetector = new HeadposeDetector(mContext);
Frame frame = new Frame();
frame.setBitmap(mBitmap);
JSONObject jsonObject = headposeDetector.detect(frame, null);
HeadPoseResult result = headposeDetector.convertResult(jsonObject);

Response
复制代码
{
"resultCode":0,
"headposevl":"{
\"confidence\":0.99997175,
\"headpose\":3
}"
}
}

与华为一同开发从这里开始

业务介绍

业务概述、应用场景及功能特点等详情。
了解详情 >

接入准备

注册认证、协议签署等接入前准备工作。
了解流程 >

示例代码

业务示例代码展示。
查看代码 >

API说明

接口参数定义及相关说明、限制与约束等详情。
查看文档 >
FAQ
1没有调用接口的prepare()方法可以直接使用detect()方法吗?

可以的,在detect()方法中会默认启动引擎,如果引擎已经启动则不会再次启动,开发者可以放心使用。

2release()方法是什么时候调用?

release()方法会卸载在NPU芯片中已经加载的模型,请在应用不再使用人脸朝向时及时卸载模型,释放资源。

3人脸朝向识别,算法是端测的还是云测的?

人脸朝向识别是端测的,用户在手机断网的情况下,仍然可以使用这个功能。

4输出结果中的confidence表示什么含义?

confidence表示识别为该朝向的可信度,是介于0和1之间的浮点数,confidence越大,表示识别结果的可信度越高。一般情况下,可设定较大阈值,可信度超过这个阈值,才进行相关的决策。