Google Play服务中的人脸检测

资料来源:Face Detection in Google Play services 
从Google Play服务版本7.8开始,提供一套更快更优秀的人脸检测的接口。这套接口在各种角度及各表情的脸部识别技术方面更加优秀。

Face Detection对于之前的FaceDetector接口来说是一次很大的技术更新。它被设计用于更好的从图片或视频中检测出人脸。Face Detection足够智能来去从不同角度识别人脸。所以即使你是侧身着的,它也能够识别出来。脸部上比较明显的地方也能够被识别出来,比如眼睛、鼻子、嘴唇等。

*注意: 
这套新的接口并不是用来做人脸辨别的,它只是用来从图片与视频中检测出人脸的部分。它也能从视频中识别出不同帧的人脸是不是一样的。如果人脸先离开画面再进来,这种情况是识别不了的。*

人脸检测: 
这套接口检测出脸部后,会返回一个Face对象。这个对象提供了面部的一些数据,这样你可以做一些事情,比如在脸部周围画个边框,或者你可以在脸部比较明显的部位加一些特别的东西,比如添加一顶帽子。 
getPosition() 返回面部左上角的坐标 
getWidth() 返回面部的宽度 
getHeight() 返回面部的高度 
getId() 返回系统对该面部的唯一标记

角度、面向: 
这套接口可以多角度的检测人脸。因为头部是可以移动和绕多个轴旋转的立体,所以图片中的面部的每一部分都是差别非常大的。 
下面是面部的样张,尽管面向的方位是完全不同的,一样能迅速的检测出脸部。

这里写图片描述

即使只有不到一半的面部信息,面向任何角度,甚至面部是在上图中的角落里,,这套接口也都能检测出来的。

下面是Face对象的部分方法: 
getEulerY() 获取竖直方向的偏移角度,知道了脖子的转向也就知道了头是偏左还是偏右的,比如上图中的y轴数据 
getEulerZ() 获取脸部相对z轴的偏向,即脖子的偏转角度

Landmarks 主要部位 
调用getLandmarks() 会返回一个包含了脸部突出部位信息的列表。 
比如:嘴,左脸颊,左耳,左耳尖,左眼、嘴巴左边、鼻底、右脸颊,右耳朵,右耳朵尖,右眼或嘴巴右边 
这里写图片描述

Activity 
除了检测出这些面部部位,这套接口还提供了以下方法,这样你能更智能的识别出面部特征: 
getIsLeftEyeOpenProbability() - 返回0到1之间的值,表示左眼睁着的概率 
getIsRighteyeOpenProbability() - 返回0到1之间的值,表示右眼睁着的概率 
getIsSmilingProbability() - 返回0到1之间的值,表示微笑的概率

根据这些方法,你可以知道一些信息,,比如可以知道图中的人物是否在微笑。 
这里写图片描述

结论 
这套接口能让你很容易的使用人脸检测,并且提供了大量的资源方法供使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值