用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写的英文字符大小写转换代码示例
Mar 06 Python
详解Python的Django框架中inclusion_tag的使用
Jul 21 Python
使用Python内置的模块与函数进行不同进制的数的转换
Mar 12 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
mac系统安装Python3初体验
Jan 02 Python
Python使用pyh生成HTML文档的方法示例
Mar 10 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
python如何通过twisted搭建socket服务
Feb 03 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缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python定时器(Timer)用法简单实例
2015/06/04 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
python文字转语音实现过程解析
2019/11/12 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
给客户的感谢信
2015/01/21 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android