当前位置: 首页 > news >正文

怎样搭建web网站/电商网站建设报价

怎样搭建web网站,电商网站建设报价,成都网站制作培训,广西学校论坛网站建设tensorflow_face_recognition使用tensorflowopencv或tensorflowmtcnn或dlib实现人脸识别运行环境:Tensorflow 1.11Linux Ubuntu 18.04使用前清先到模型原作者的github仓库中下载20180402-114759这个已经训练好的卷积模型文件,地址为https://github.com/d…

tensorflow_face_recognition

使用tensorflow+opencv或tensorflow+mtcnn或dlib实现人脸识别

运行环境:

Tensorflow 1.11

Linux Ubuntu 18.04

使用前清先到模型原作者的github仓库中下载20180402-114759这个已经训练好的卷积模型文件,地址为https://github.com/davidsandberg/facenet ,下载完后解压到本项目当前路径下,这步至关重要。

本项目一共有四种解决方案,第一是dlib检测人脸,tensorflow模型识别人脸,对应的脚本文件名为face_recognition_dlib_tensorflow_people.py,第二是opencv检测人脸,tensorflow模型识别人脸,对应的脚本文件为face_recognition_opencv_tensorflow.py,第三种是mtcnn模型检测人脸,tensorflow模型识别人脸,对应的脚本文件为face_recognition_mtcnn_tensorflow_people.py,第四中是dlib检测人脸,dlib识别人脸,对应的脚本文件为face_recognition_dlib.py,经实际测试发现,使用第一种的效果最好,第二第三种的人脸检测成功率较低,第四种因为年代久远,所以不推荐使用。

本项目使用的是海康威视的ip摄像头,并且将人脸识别分成两个部分来做,第一是人脸检测,第二是人脸识别,整个识别流程是首先在摄像头中找到人脸,如果有人脸就使用人脸识别模型,没有的话就继续寻找人脸,只有在画面中人脸数量大于0才调用人脸识别模型。

无论是哪种方案,都是用到了主进程创建进程1和进程2的策略,进程1负责打开摄像头,并且设定每隔22帧画面(测试用的海康威视ip摄像头为每秒22帧,每一秒保存一帧是为了防止卡顿,可根据实际情况设定)就保存一帧画面到Queue中(这个Queue可用于进程间的通信)用于人脸检测和识别,进程2负责从Queue中取出保存的帧,首先调用人脸检测模型检测人脸,如果人脸数大于零,就调用人脸识别模型进行人脸识别。代码运行的时候可以选择是否在控制台打印检测到的人脸数目,Queue保存的帧数等。此外,还设置了20分钟后自动关闭摄像头的功能,简而言之就是kill掉所有与之有关的进程。

下面以第一种解决方案为例,介绍如何使用海康威视的ip摄像头进行人脸识别,其他方案原理类似,具体的说明代码里面都有注释,不再一一详细展开介绍

1.首先请得到若干张(建议5张以上)同一个人且照片中只有一个人的正脸照片,分别使用*.jpg命名,*为阿拉伯数字,从1开始,逐渐递增。

2.将第一步得到的照片放进一个文件夹里面,文件夹的名字最好为照片本人的名字,然后把整个文件夹存放到data_faces_from_camera/Uncalculated/目录下

3.运行get_features_into_csv_tensorflow.py脚本文件,这个脚本用于将上面步骤中的人脸录入到本地中保存为.csv文件,首先把每个人的每张照片转换为一个shape=[1,512]的数组(相当于将人脸信息数组化,一张人脸被转化成一个512D的特征数组),然后保存到data_csvs_from_camera中以每个人名字命名的.csv文件中,这个.csv文件存放的是将每个人的照片转换为数组的结果,有多少张照片就有多少行。举个例子,例如有一个人,名字叫1,他一共有7张照片,将他的7张照片按顺序命名好后放到一个叫1的文件夹,然后将文件夹1放到data_faces_from_camera/Uncalculated/目录下,因此在运行get_features_into_csv_tensorflow.py脚本文件后会在data_csvs_from_camera目录下有一个名叫1.csv的文件,里面有7行数组,每一行都有512列,每一行代表每张图片转化后的结果。每计算完一个人后就自动把该人对应的人脸文件夹移动到目录data_faces_from_camera/calculated中。

待所有人都将图片转换成.csv文件后,get_features_into_csv_tensorflow.py还会对每个人的.csv文件计算平均值,然后存放到features_all_tensorflow.csv文件中。假如说有1和2两个人,他们的人脸都被转换成1.csv文件和2.csv文件,那么接下来就会把1.csv文件和2.csv文件中的每一列计算平均值,存放到features_all_tensorflow.csv文件中,features_all_tensorflow.csv中存放着n个人的人脸信息(n等于data_csvs_from_camera中.csv文件的数量,即录入的人数)。features_all_tensorflow.csv文件一共有n行,每一行512列,每一行代表一个人的特征。

4.然后运行face_recognition_dlib_tensorflow_people.py脚本进行人脸识别,运行前请先到脚本文件里面修改第158行的摄像头url,将摄像头的信息设置为自己摄像头的信息,这里用的是opencv打开摄像头的方法,详细使用方法可以百度一下,注意,不设置这步将无法正确运行。

5.这里采用的人脸识别方法是如果画面中有人脸,就把画面中的所有人脸裁剪出来,放到一个faces_queue中,然后从faces_queue中取出上面裁剪的人脸输入到卷积神经网络中,卷积神经网络输出一个和人脸录入时一样的shape=[1,512]的数组,即人脸特征数组,将这个得到的人脸特征数组与本地中已录入的人脸特征数组两两之间计算欧几里德距离,取其中最小的欧几里德距离作为最后结果(距离越小代表两个人的特征越接近),若欧士距离小于0.7,就认为是同一个人,并且将对应的人名打印在控制台上,画面中有多少张人脸就打印多少条名字,若果大于0.7,控制台就会输出“未能识别”。0.7是一个阈值,可以根据自己的实际情况调整。

6.在face_recognition_dlib_tensorflow_people.py和face_recognition_mtcnn_tensorflow_people.py中还增加了标记人脸和自动保存图片的功能,代码会把能检测到的人脸(有的人脸可能检测不到)用黄色的矩形框起来,在矩形框下面会有对应的名字和最小的欧士距离,在face_recognition_mtcnn_tensorflow_people.py中还会在矩形框的上面打印人脸置信度(即这个矩形框里面是人脸的概率),这个人脸置信度只有大于0.85(可自行调节)才认为这是一张人脸。标记完所有人脸后就以当前时间命名并保存该图片到test_result_dlib文件夹中,里面有一张图片是测试后的结果,face_recognition_mtcnn_tensorflow_people.py脚本的保存在test_result_mtcnn目录中,里面同样也有一张测试后的结果。保存的图片可供以后分析使用。

使用dlib检测人脸,tensorflow识别人脸的结果

使用MTCNN检测人脸,tensorflow识别人脸的结果

其它的解决方案使用方法类似,有什么不懂的可以创建issue提问,我尽力解答。

http://www.lbrq.cn/news/1382905.html

相关文章:

  • 绍兴网站建设设计/西安网站制作费用
  • 外贸网站推广 上海/网站推广优化排名公司
  • 网站制作价格便宜/aso关键词覆盖优化
  • 网站里的横幅怎么做/天津疫情最新情况
  • 电脑微信公众号登录入口/seo线上培训多少钱
  • flash做导航网站/网站推广的作用在哪里
  • 织梦贷款网站模板/中国今天刚刚发生的新闻
  • 床伸舌头哔哩哔哩原声/东莞seo技术
  • 河南网站推广/微信指数是搜索量吗
  • 网站免费源码大全/衡水网站优化推广
  • 个人做的网站不能做淘客/谷歌推广和seo
  • 武汉网页制作模板/云南网站建设快速优化
  • 做企业的网站都要准备什么东西/seo排名的方法
  • 郑州网站建设推销/社会新闻最新消息
  • 用focusky做h5微网站/app宣传推广方案
  • 开封网站开发公司/软件开发平台
  • 大型企业网站建设/昆明seo工资
  • 苏宁易购网站建设方案/360seo
  • 广州建网站费用/成人本科报考官网
  • 苹果园做网站的公司/全网营销推广方案
  • 没有独立网站淘宝客推广怎么做/安徽网络优化公司排名
  • 青岛网站建设哪家好 网络服务/游戏搜索风云榜
  • wordpress 设置角色/seo外链推广员
  • 价格低性价比高的汽车/搜索引擎优化
  • wordpress手机大标题/重庆旅游seo整站优化
  • 重庆网页设计/seo推广官网
  • 网站建设方案书 人员安排/百度搜索排名靠前
  • 淘宝网站建设策划书/自媒体发布平台有哪些
  • 西部数码网站工具/网页搜索快捷键
  • 台州中兴建设咨询有限公司网站/百度网盘app怎么打开链接
  • 计算机网络基础(二) --- TCP/IP网络结构(应用层)
  • 【AI论文】单一领域能否助力其他领域?一项基于数据的、通过强化学习实现多领域推理的研究
  • Vue.js 指令系统完全指南:深入理解 v- 指令
  • VUE进阶案例
  • 【CSS】盒子类型
  • 试用SAP BTP 02C:试用SAP HANA Schemas HDI Containers