用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 相关文章推荐
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
Python 获得命令行参数的方法(推荐)
Jan 24 Python
python编程嵌套函数实例代码
Feb 11 Python
Python中pillow知识点学习
Apr 30 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
May 24 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
Django 内置权限扩展案例详解
Mar 04 Python
python线程信号量semaphore使用解析
Nov 30 Python
关于Django Models CharField 参数说明
Mar 31 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
Mar 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
咖啡的化学
2021/03/03 咖啡文化
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
浅析javascript的return语句
2015/12/15 Javascript
详解Bootstrap插件
2016/04/25 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
搭建vue开发环境
2018/07/19 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
python分数表示方式和写法
2019/06/26 Python
在python里面运用多继承方法详解
2019/07/01 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
python中rb含义理解
2020/06/18 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
外包公司软件测试工程师
2014/11/01 面试题
廉洁使者实施方案
2014/03/29 职场文书
工作检讨书500字
2014/10/19 职场文书
战友聚会致辞
2015/07/28 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL