opencv+mtcnn+facenet+python+tensorflow 实现实时人脸识别
Abstract:本文记录了在学习深度学习过程中,使用opencv+mtcnn+facenet+python+tensorflow,开发环境为ubuntu18.04,实现局域网连接手机摄像头,对目标人员进行实时人脸识别,效果并非特别好,会继续改进
这里是
如果各位老爷看完觉得对你有帮助的话,请给个小星星,3q
Instruction
当前时间距facenet论文发布已有三年,网上对于facenet的解读也有许多,但却也找不到什么能修修改改就能用的代码,所以本文就此而生,将会系统的介绍在CNN在图像识别方向-人脸识别,我会把我遇到的一切问题以及见解都陆续的补充在本文中,并会附上项目地址,保证各位官人看的开心。
所用工具简介
opencv很有名了,在本次项目中用到的当然是它的强大的图片处理能力了,大概就是读取、写入、连接手机摄像头一些了
mtcnn是一个用来检测图片中人脸位置(人脸检测)的深度学习模型,其使用了三个卷积网络实现了对图像中人脸的检测,在文章后面再具体的介绍其实现的细节
facenet是谷歌的一篇很有名的论文和开源项目,其实现了将输入的人像最终转换为shape为1*128的向量,然后通过计算不同照片之间的欧几里得距离来判断他们的相似度,当然其中还包含许多技巧以及创新的想法,最终的在lfw(一个很有名的人脸数据库)准确率达到99%+++,在文章的后面我会尽可能的解读其论文和代码中的有意思的想法
tensorflow应该很熟悉了(不然你是怎么搜到我的这篇文章的?) 学习深度学习的应该都知道存在各种各样的方便于搭建网络的框架,tensorflow就是其中很有名的一个,由google开源,功能强大
正式开始前的一些废话,防止看官老爷在后面麋鹿~
你肯定已经或多或许对机器学习或者是深度学习有些了解,所以你应该知道整个项目的过程无非就是
使用现有的几大框架搭建网络(当然不排除是使用matlab自己手动实现