用Python识别人脸,人种等各种信息


Posted in Python onJuly 15, 2019

最近几天了解了一下人脸识别,应用场景可以是图片标注,商品图和广告图中有没有模特,有几个模特,模特的性别,年龄,颜值,表情等数据的挖掘。

用Python识别人脸,人种等各种信息

基础的识别用dlib来实现,dlib是一个机器学习的包,主要用C++写的,但是也有Python版本。其中最流行的一个功能是Facial Landmark Detection, 配备已经训练好的轮廓预测模型,叫shape_predictor_68_face_landmarks.dat, 从名字就可以看出,它可以检测出面部的68个关键点,包括五官和外轮廓等。

安装dlib会花比较长时间,因为依赖包有十个左右,装完了dlib别忘了下载predictor数据文件。

wget

http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2

pip install dlib

我在Adrian大神的代码做了一点修改和封装,先定位脸部的方框,box_face画出方框,在此基础上可选调用tag_face_number来标注脸的标号或者draw_face_landmarks来标注特征点,也可以直接调用count_faces来统计脸的个数,mark_all_faces给所有的脸把所有信息都加上。

用Python识别人脸,人种等各种信息

拿九张模特图来试试,半脸的不行,侧的太厉害不行,其它都能识别出来。

用Python识别人脸,人种等各种信息

一张图多张脸的也毫无压力

用Python识别人脸,人种等各种信息

接下来性别和年龄就不好做了,必须通过机器训练数据,还没时间摸透,又想尽快拿到这些标注,于是先走捷径去调face++的API, 注册个账号申请key和secret即可,免费账户有qps限制,且一张照片内最多支持五人识别。

官方的代码示例极差,而且还是只支持Python2的, 收先要改写一下。Attribute中有很多数据可以拿,你想的到的想不到的都有,甚至包括颜值,人种等。颜值还算靠谱,范冰冰90分,凤姐49分,人种就难说了,欧美模特分分钟当成Asian.

用Python识别人脸,人种等各种信息

用Python识别人脸,人种等各种信息

机器说: 性别女,表情偏悲伤,颜值89分,28岁,亚洲人,基本没笑

{'image_id': 'wPGIyROqltTdjvRX3zopbg==', 'request_id': '1519574701,3113e37e-b000-4440-af08-871831cf1ba8', 'time_used': 355, 'faces': [{'attributes': {'emotion': {'sadness': 93.448, 'neutral': 4.114, 'disgust': 0.002, 'anger': 0.002, 'surprise': 2.414, 'fear': 0.002, 'happiness': 0.018}, 'beauty': {'female_score': 89.348, 'male_score': 88.925}, 'gender': {'value': 'Female'}, 'age': {'value': 28}, 'headpose': {'yaw_angle': 17.526142, 'pitch_angle': 11.047059, 'roll_angle': 19.623343}, 'smile': {'threshold': 30.1, 'value': 28.532}, 'ethnicity': {'value': 'Asian'}}, 'face_rectangle': {'width': 202, 'top': 103, 'left': 69, 'height': 202}, 'face_token': '7be6a72f497ed16cc7883424584052c5'}]}

用Python识别人脸,人种等各种信息

机器说: 性别男,表情很快乐,颜值52分,61岁,黑人,大笑

{'image_id': 'YZ5wzeVDiAgCN9yIFX44Gw==', 'request_id': '1519574926,31f6d4d8-bdf6-4863-b29a-cf61ff04ffbe', 'time_used': 323, 'faces': [{'attributes': {'emotion': {'sadness': 0.0, 'neutral': 0.0, 'disgust': 0.0, 'anger': 0.0, 'surprise': 0.0, 'fear': 0.0, 'happiness': 99.999}, 'beauty': {'female_score': 62.678, 'male_score': 51.847}, 'gender': {'value': 'Male'}, 'age': {'value': 61}, 'headpose': {'yaw_angle': 2.6326802, 'pitch_angle': 11.909821, 'roll_angle': -11.707241}, 'smile': {'threshold': 30.1, 'value': 99.081}, 'ethnicity': {'value': 'Black'}}, 'face_rectangle': {'width': 208, 'top': 88, 'left': 120, 'height': 208}, 'face_token': '19067cf0f5358312c109a0e70bab62ae'}]}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之打包生成exe文件
Nov 06 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
python编程实现12306的一个小爬虫实例
Dec 27 Python
python机器学习案例教程——K最近邻算法的实现
Dec 28 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
Python交互环境下实现输入代码
Jun 22 Python
Python依赖包整体迁移方法详解
Aug 15 Python
Python编译为二进制so可执行文件实例
Dec 23 Python
Python xlrd excel文件操作代码实例
Mar 10 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
python如何读取.mtx文件
Apr 22 Python
对PyTorch中inplace字段的全面理解
May 22 Python
django中账号密码验证登陆功能的实现方法
Jul 15 #Python
python tkinter窗口最大化的实现
Jul 15 #Python
在pycharm下设置自己的个性模版方法
Jul 15 #Python
Pycharm新建模板默认添加个人信息的实例
Jul 15 #Python
在python中将list分段并保存为array类型的方法
Jul 15 #Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 #Python
linux中如何使用python3获取ip地址
Jul 15 #Python
You might like
用php简单实现加减乘除计算器
2014/01/06 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
非常漂亮的JS代码经典广告
2007/10/21 Javascript
基于jquery的超简单上下翻
2010/04/20 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
Python笔记(叁)继续学习
2012/10/24 Python
python调用shell的方法
2013/11/20 Python
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
python多线程与多进程及其区别详解
2019/08/08 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
2014党员民主评议个人总结
2014/09/10 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
师德承诺书
2015/01/20 职场文书
法定代表人资格证明书
2015/06/18 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技