用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中的五种异常处理机制介绍
Sep 02 Python
python中查看变量内存地址的方法
May 05 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
Python FTP两个文件夹间的同步实例代码
May 25 Python
python实现字符串中字符分类及个数统计
Sep 28 Python
解决pycharm回车之后不能换行或不能缩进的问题
Jan 16 Python
基于python实现高速视频传输程序
May 05 Python
Ubuntu下Anaconda和Pycharm配置方法详解
Jun 14 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
python OpenCV学习笔记
Mar 31 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
mysql中存储过程、函数的一些问题
2007/02/14 PHP
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
mysql limit查询优化分析
2008/11/12 PHP
php文件上传的简单实例
2013/10/19 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
浅析Python数据处理
2018/05/02 Python
python判断完全平方数的方法
2018/11/13 Python
python opencv读mp4视频的实例
2018/12/07 Python
Python列表切片操作实例总结
2019/02/19 Python
python如何实现数据的线性拟合
2019/07/19 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
Python requests模块session代码实例
2020/04/14 Python
python如何求100以内的素数
2020/05/27 Python
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
商务主管岗位职责
2013/12/08 职场文书
教师旷工检讨书
2014/01/18 职场文书
保证书范文大全
2014/04/28 职场文书
2014高考励志标语
2014/06/05 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
集体生日活动方案
2014/08/18 职场文书
营销学习心得体会
2014/09/12 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
优质护理服务心得体会
2016/01/22 职场文书
大学校园餐饮创业计划书
2019/08/07 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
Pandas数据类型之category的用法
2021/06/28 Python