用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 相关文章推荐
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
Python中用函数作为返回值和实现闭包的教程
Apr 27 Python
详解Python多线程
Nov 14 Python
详解python3实现的web端json通信协议
Dec 29 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
Jul 04 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
python定位xpath 节点位置的方法
Aug 27 Python
python使用matplotlib绘制雷达图
Oct 18 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
django xadmin action兼容自定义model权限教程
Mar 30 Python
python数据处理——对pandas进行数据变频或插值实例
Apr 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录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
2014/09/10 PHP
php 使用array函数实现分页
2015/02/13 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
php时间戳转换代码详解
2019/08/04 PHP
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
js new Date()实例测试
2019/10/31 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python中__call__用法实例
2014/08/29 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
计算机专业推荐信范文
2013/11/27 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
吃空饷专项治理工作实施方案
2014/03/04 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
创先争优公开承诺书
2014/08/30 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB