python人脸识别训练模型_AI的强大!用Python实现一个简单的人脸识别--中享思途...
近几年来,兴起了一股人工智能热潮,让人们见到了AI的能力和强大,比如图像识别,语音识别,机器翻译,无人驾驶等等。总体来说,AI的门槛还是比较高,不仅要学会使用框架实现,更重要的是,需要有一定的数学基础,如线性代数,矩阵,微积分等。
幸庆的是,国内外许多大神都已经给我们造好“轮子”,我们可以直接来使用某些模型。今天就和大家交流下如何实现一个简易版的人脸对比,非常有趣!
整体思路:
使用到的第三方模块和模型:
预先导入所需要的人脸识别模型遍历循环识别文件夹里面的图片,让模型“记住”人物的样子输入一张新的图像,与前一步文件夹里面的图片比对,返回最接近的结果
模块:os,dlib,glob,numpy
模型:人脸关键点检测器,人脸识别模型
1.导入需要的模块和模型
这里解释一下两个dat文件:
人脸识别算是深度学习的一个应用,事先需要经过大量的人脸图像来训练
它们的本质是参数值(即神经网络的权重)。。所以一开始我们需要去设计一个神经网络结构,来“记住”人类的脸。
对于神经网络来说
,即便是同样的结构,不同的参数也会导致识别的东西不一样。在这里,这两个参数文件就对应了不同的功能(它们对应的神经网络结构也不同):
shape_predictor.dat这个是为了检测人脸的关键点,比如眼睛,嘴巴等等;dlib_face_recognition.dat是在前面检测关键点的基础上,生成人脸的特征值。
dlib模块的时候
所以后面使用,其实就是相当于,调用了某个神经网络结构,再把预先训练好的参数传给我们调用的神经网络。顺便提一下,在深度学习领域中,往往动不动会训练出一个上百M的参数模型出来,是很正常的事。
2.对训练集进行识别
计算他们的人脸特征,并放到一个列表里面
在这一步中,我们要完成的是,对图片文件夹里面的人物图像,,为了后面可以和新的图像进行一个距离计算。关键地方会加上注释,应该不难理解,具体实现为:
当你做完这一步之后,输出列表descriptors看一下,可以看到类似这样的数组,每一个数组代表的就是每一张图片的特征量(128维)。然后我们可以使用L2范式(欧式距离),来计算两者间的距离。
举个例子,比如经过计算后,A的特征值是[x1,x2,x3],B的特征值是[y1,y2,y3], C的特征值是[z1,z2,z3],
那么由于A和B更接近,所以会认为A和B更像
。想象一下极端情况,如果是同一个人的两张不同照片,那么它们的特征值是不是应该会几乎接近呢?知道了这一点,就可以继续往下走了。
3.处理待对比的图片
目的就是算出一个特征值出来,所以和第二步差不多。然后再顺便计算出新图片和第二步中每一张图片的距离
其实是同样的道理,如法炮制,,再合成一个字典类型,排个序,选出最小值,搞定收工!
4.运行看一下
这里我用了一张“断水流大师兄”林国斌的照片,识别的结果是,果然,是最接近黎明了(嘻嘻,我爱黎明)。但如果你事先在训练图像集里面有放入林国斌的照片,那么出来的结果就是林国斌了。
为什么是黎明呢?我们看一下输入图片里的人物最后与每个明星的距离,输出打印一下:
没错,他和黎明的距离是最小的,所以和他也最像了!
Python就是这么有趣好玩,可以玩爬虫,探秘数据分析,量化金融来赚钱,也可以来撩妹子做自动化工作,机器学习领域就更好了,人脸识别,自然语言处理,数据预测和挖掘!【关键词:青岛Python培训机构,Python培训费用,Python培训哪家好,中享思途】
python人脸识别训练模型_AI的强大!用Python实现一个简单的人脸识别--中享思途...相关推荐
- matlab——一个简单的动物识别专家系统
本实验中用matlab实现一个简单的动物识别专家系统,该系统是用来识7种动物的,但在规则库中形成了15条规则.首先将动物分成哺乳动物.鸟.蹄类动物.肉食动物4大类,然后通过继续询问得到要的结果.本程序 ...
- 人脸识别手机端APK分享 | 极速体验人脸识别功能 创建一个简单的人脸识别手机APP程序
1.前言 虹软公司提供免费离线人脸识别,对于开发者提供了比较友好.完整的可配置demo.但是如需直接体验功能,还是要花一点时间去完成项目编译.配置等一系列工作,对于初学者.不怎么熟悉整个项目的人来说可 ...
- python数据分析工具包_熊猫入门强大的Python数据分析工具包-经管之家官网!
熊猫入门强大的Python数据分析工具包 1.简介 大熊猫 首先,Pandas是用于数据分析的开源Python库.它包含数据处理和数据结构工具,这些工具旨在生成类似于电子表格的数据,以便在Python ...
- 教你训练一个简单的音频识别网络(附代码)
来源:大数据文摘 本文长度为7600字,建议阅读10分钟 本文将一步步向你展示,如何建立一个能识别10个不同词语的基本语音识别网络. 你需要知道,真正的语音与音频识别系统要复杂的多,但就像图像识别领域 ...
- 使用TensorFlow 来实现一个简单的验证码识别过程
本文我们来用 TensorFlow 来实现一个深度学习模型,用来实现验证码识别的过程,这里识别的验证码是图形验证码,首先我们会用标注好的数据来训练一个模型,然后再用模型来实现这个验证码的识别. 1.验 ...
- 改变,从一个简单的“物体识别”开始
一.百度AI开放平台 前几天在百度的AI平台上看到了很多好玩的API类,像类似于语音识别.人脸识别.文字识别.自然语言处理等等.这些在当前比较热门的技术都有提供给使用者的API.而且~~~,大部分都是 ...
- 利用EasyDL制作一个简单的图片识别小项目
主要是利用EasyDL制作一个简单的傻瓜式猫狗图片识别,利用EasyDL,只需要几步简单的点击即可 *主要的步骤: 1.准备数据 2.训练模型 3.部署 4.H5 * 1.首先创建两个文件夹cat和d ...
- python自己制作节奏大师游戏_使用pygame制作一个简单的游戏
翻译自Will McGugan的<Beginning Game Development with Python and Pygame –From Novice to Professional&g ...
- Python【小游戏合集】之自己做一个简单又好玩的推箱子小游戏
导语:哈喽铁汁们~今日游戏之旅开始! 想领取完整源码跟python学习资料可私信我或点击这行字体 这期就是带大家使用当前主流且易用的Python语言做一个简单的推箱子小游戏 现在小编的快乐源泉就是玩自 ...
- 用python做人脸识别_用Python实现一个简单的人脸识别,原来我和这个明星如此相似...
近几年来,兴起了一股人工智能热潮,让人们见到了AI的能力和强大,比如图像识别,语音识别,机器翻译,无人驾驶等等.总体来说,AI的门槛还是比较高,不仅要学会使用框架实现,更重要的是,需要有一定的数学基础 ...
最新文章
- 算法和编程面试题精选 TOP50!(附代码+解题思路+答案)
- 使用微软分布式缓存服务Velocity Part 3
- ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
- linux ftp用户指定多个目录,linux ftp服务器下用户限制目录的方法
- repeated_Ruby中带有示例的Array.repeated_combination()方法
- iis php5.3配置,windows+IIS 环境下以Fastcgi方式配置php 5.3.3的方法
- Canny边缘检测及C++实现
- Ubuntu 20.04更新源报错W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。
- caffe 使用笔记
- 前端知识点回顾——Javascript篇(三)
- linux上apache和php结合
- tomcatX.exe与startup.bat启动的区别
- 第三届算法设计与编程挑战赛(冬季赛)G题
- Word里输入上下标五种方法
- 三菱iQ-R系列PLC控制系统项目全套资料
- 港科夜闻|香港科技大学(广州)与广东联通签署多方位战略合作协议
- 《大学两年的摸爬滚打:新征程》
- java time_java常用类Time
- 【例26图片的加密解密操作】
- 计算机专业英语问卷调查,问卷调查英语版.doc
热门文章
- scikit-learn功能大全
- 在android移动终端运行android应用程序
- Maya模型制作心得
- 2021全国大学生电子设计竞赛F题(智能送药小车)国一赛后总结
- BZOJ 3097: Hash Killer I【构造题,思维题】
- Android 第三方登录之支付宝登录
- html标签各属性之间用空格隔开对吗,03-HTML标签(二)
- python 转盘 圆形_python实现大转盘抽奖效果
- zeros什么意思_zeros:zeros还是zeroes?4)是什么意思?
- 目标转化出价多少_浅谈什么是 oCPC 目标转化出价?