职能企业保护职业创业
投稿投诉
创业安检
掌握呵护
案例安身
升初专业
职业小学
形象知识
工作提高
科技职级
保护职务
法务经验
安保方法
中考作文
技巧安全
初中魅力
常识安心
保全安护
企业技能
生活安务
法律纠纷
技艺百科
职能能力
技术安监
培训提升
辩护水平

40行代码实现人脸识别

1月13日 莫思归投稿
  前言
  很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要深究其中的原理,只是要实现这一工作的话,人脸识别也没那么难。今天我们就来看看如何在40行代码以内简单地实现人脸识别。一点区分
  对于大部分人来说,区分人脸检测和人脸识别完全不是问题。但是网上有很多教程有无无意地把人脸检测说成是人脸识别,误导群众,造成一些人认为二者是相同的。其实,人脸检测解决的问题是确定一张图上有木有人脸,而人脸识别解决的问题是这个脸是谁的。可以说人脸检测是是人识别的前期工作。今天我们要做的是人脸识别。所用工具
  Anaconda2Python2
  Dlib
  scikitimageDlib
  对于今天要用到的主要工具,还是有必要多说几句的。Dlib是基于现代C的一个跨平台通用的框架,作者非常勤奋,一直在保持更新。Dlib内容涵盖机器学习、图像处理、数值算法、数据压缩等等,涉猎甚广。更重要的是,Dlib的文档非常完善,例子非常丰富。就像很多库一样,Dlib也提供了Python的接口,安装非常简单,用pip只需要一句即可:
  pipinstalldlib
  上面需要用到的scikitimage同样只是需要这么一句:
  pipinstallscikitimage注:如果用pipinstalldlib安装失败的话,那安装起来就比较麻烦了。错误提示很详细,按照错误提示一步步走就行了。人脸识别
  之所以用Dlib来实现人脸识别,是因为它已经替我们做好了绝大部分的工作,我们只需要去调用就行了。Dlib里面有人脸检测器,有训练好的人脸关键点检测器,也有训练好的人脸识别模型。今天我们主要目的是实现,而不是深究原理。感兴趣的同学可以到官网查看源码以及实现的参考文献。今天的例子既然代码不超过40行,其实是没啥难度的。有难度的东西都在源码和论文里。
  首先先通过文件树看一下今天需要用到的东西:
  准备了六个候选人的图片放在candidatefaces文件夹中,然后需要识别的人脸图片test。jpg。我们的工作就是要检测到test。jpg中的人脸,然后判断她到底是候选人中的谁。另外的girlfacerec。py是我们的python脚本。shapepredictor68facelandmarks。dat是已经训练好的人脸关键点检测器。dlibfacerecognitionresnetmodelv1。dat是训练好的ResNet人脸识别模型。ResNet是何凯明在微软的时候提出的深度残差网络,获得了ImageNet2015冠军,通过让网络对残差进行学习,在深度和精度上做到了比
  CNN更加强大。1。前期准备
  shapepredictor68facelandmarks。dat和dlibfacerecognitionresnetmodelv1。dat都可以在这里找到。不能点击超链接的可以直接输入以下网址:http:dlib。netfiles。
  然后准备几个人的人脸图片作为候选人脸,最好是正脸。放到candidatefaces文件夹中。
  本文这里准备的是六张图片,如下:
  她们分别是
  然后准备四张需要识别的人脸图像,其实一张就够了,这里只是要看看不同的情况:
  可以看到前两张和候选文件中的本人看起来还是差别不小的,第三张是候选人中的原图,第四张图片微微侧脸,而且右侧有阴影。2。识别流程
  数据准备完毕,接下来就是代码了。识别的大致流程是这样的:先对候选人进行人脸检测、关键点提取、描述子生成后,把候选人描述子保存起来。然后对测试人脸进行人脸检测、关键点提取、描述子生成。最后求测试图像人脸描述子和候选人脸描述子之间的欧氏距离,距离最小者判定为同一个人。3。代码
  代码不做过多解释,因为已经注释得非常完善了。以下是girlfacerec。pycoding:UTF8importsys,os,dlib,glob,numpyfromskimageimportioiflen(sys。argv)!5:print请检查参数是否正确exit()1。人脸关键点检测器predictorpathsys。argv〔1〕2。人脸识别模型facerecmodelpathsys。argv〔2〕3。候选人脸文件夹facesfolderpathsys。argv〔3〕4。需识别的人脸imgpathsys。argv〔4〕1。加载正脸检测器detectordlib。getfrontalfacedetector()2。加载人脸关键点检测器spdlib。shapepredictor(predictorpath)3。加载人脸识别模型facerecdlib。facerecognitionmodelv1(facerecmodelpath)windlib。imagewindow()候选人脸描述子listdescriptors〔〕对文件夹下的每一个人脸进行:1。人脸检测2。关键点检测3。描述子提取forfinglob。glob(os。path。join(facesfolderpath,。jpg)):print(Processingfile:{}。format(f))imgio。imread(f)win。clearoverlay()win。setimage(img)1。人脸检测detsdetector(img,1)print(Numberoffacesdetected:{}。format(len(dets)))fork,dinenumerate(dets):2。关键点检测shapesp(img,d)画出人脸区域和和关键点win。clearoverlay()win。addoverlay(d)win。addoverlay(shape)3。描述子提取,128D向量facedescriptorfacerec。computefacedescriptor(img,shape)转换为numpyarrayvnumpy。array(facedescriptor)descriptors。append(v)对需识别人脸进行同样处理提取描述子,不再注释imgio。imread(imgpath)detsdetector(img,1)dist〔〕fork,dinenumerate(dets):shapesp(img,d)facedescriptorfacerec。computefacedescriptor(img,shape)dtestnumpy。array(facedescriptor)计算欧式距离foriindescriptors:distnumpy。linalg。norm(idtest)dist。append(dist)候选人名单candidate〔Unknown1,Unknown2,Shishi,Unknown4,Bingbing,Feifei〕候选人和距离组成一个dictcddict(zip(candidate,dist))cdsortedsorted(cd。iteritems(),keylambdad:d〔1〕)printThepersonis:,cdsorted〔0〕〔0〕dlib。hitentertocontinue()
  4。运行结果
  我们在。py所在的文件夹下打开命令行,运行如下命令
  pythongirlfacerec。py1。dat2。dat。candidatefaecstest1。jpg
  由于shapepredictor68facelandmarks。dat和dlibfacerecognitionresnetmodelv1。dat名字实在太长,所以我把它们重命名为1。dat和2。dat。
  运行结果如下:
  ThepersonisBingbing。
  记忆力不好的同学可以翻上去看看test1。jpg是谁的图片。有兴趣的话可以把四张测试图片都运行下试试。
  这里需要说明的是,前三张图输出结果都是非常理想的。但是第四张测试图片的输出结果是候选人4。对比一下两张图片可以很容易发现混淆的原因。
  机器毕竟不是人,机器的智能还需要人来提升。
  有兴趣的同学可以继续深入研究如何提升识别的准确率。比如每个人的候选图片用多张,然后对比和每个人距离的平均值之类的。全凭自己了。
  今日头条小助手cnn
投诉 评论 转载

美股齐涨!纳指涨3。43创近12周最大涨幅中概股悦商集团涨2中新经纬10月18日电美股周一高开盘整,三大股指集体收涨,纳指涨超3。4,创7月27日以来最大单日涨幅。可再生天然气生产商Archaea股价涨53。97,报25。99美元股,英……直接建在5A级景区的大学,面积与故宫相匹,来长沙不可错过网络上有很多票选出的,类似十大最美高校、心中最美校园的系列榜单,像以美丽樱花闻名的湖北武汉大学、秀美海滨之畔的福建厦门大学便是榜单上的常客。但是我国有这么一座985大学,……小程序商城制作一个需要多少钱?一般包括哪些费用?最近很多小伙伴都看到了小程序商城的商机,想说自己要创造一个。但是不知道小程序商城要多少钱,担心买不起。其实小程序商城制作有贵也有便宜。关键是要看选择什么方式,对小程序有什么规定……新能源汽车行业已优势不再,网友拭目以待吧新能源的代表企业宁德时代在今年伊始股价就股价跌跌不休近日时代仅一夜之间市值又蒸发了近千亿,新能源汽车指数大跌5。54,如果要从去年的高位算起,宁德时代市值已经蒸发了近5000亿……上海男篮最新消息!郭昊文赛季报销,富兰克林将解约,新外援敲定前7轮比赛过后,上海男篮仅取得了1胜6负的成绩。本以为赴美特训的郭昊文,可以在第二阶段重返俱乐部,帮助李春江解决外线火力短缺的问题。可谁也没有料到,等待着上海男篮的却是郭昊文赛……每一个不曾起舞的日子,都是对生命的辜负怡耕园棉麻服饰林清玄曾说:人生如水上写字,第二笔未曾落下,第一笔已流向远方。我们一生劳碌奔忙,依然追不上时间的脚步,它一路毫无留恋地向前,无论我们如何挽留,留不住逝……文昌桥重建往日美景复现文昌桥重建,让新兴再添美丽风景。新文昌桥造型古朴大方,成为新兴近期热门的网红打卡点。拾阶而上,在文昌桥上能尽览新兴江两岸的风光。夜幕下,文昌桥上灯光璀璨。……怎样可以增强孩子的记忆力孩子学习的效率往往和记忆力相关,记忆力好的孩子学习速度更快,效率更高。怎样才能有效增强孩子记忆力呢?1、高质量的睡眠非常重要高质量的睡眠并不是指睡眠时间长,有研究表……40行代码实现人脸识别前言很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要……美媒中国测试战斗机器狗,靠无人机从天而降,带机枪打巷战美国在新军事技术理念方面处于全球领先地位,但是一个小视频证明,美国正在面临中国超越。这个小视频展示的场景为:无人机空投机器狗,进行一场模拟的巷战攻防演练!这算中国方面一个宣布军……秋冬需忌口,少碰生姜,多食5种黄金食材,为入冬打基础时间过得飞快,一眨眼就到了霜降,这意味着初冬要来了。在气候愈发寒冷的时候,大家一定要注意身体。尤其是男性,往往是家里经济的重要来源,因此一定要保证有个好身体。在如今这个阶……学会宽容,才能走好人生的路今天是国际宽容日,我想和大家聊聊宽容这个话题。雨果有句名言想必大家都听过:世界上最宽阔的是海洋,比海洋更宽阔的是天空,比天空更宽阔的是人的胸怀。我们每个人都被教导过,做人……
荣耀Play6T一千元出头5000毫安电池天玑7001分钟搞定暗黑破坏神不朽国服电脑游玩苹果系统状态显示多项iCloud服务出问题,涉及照片查找等功直降800元!72万分1亿像素,vivo旗舰加速退场给0215届NBA状元排个名,有的依然屹立巅峰,有的已无人问超实用旅游规划策略建设城市边郊田园综合体的分类指南持仓阿里京东的机构少了100多家华尔街都在买什么中概股数字文旅发展的两大核心是什么?杉矶年度时尚奖艾玛布鲁克斯棕色一字肩褶皱裙冷艳高级一个专补正气的千古名方,气虚体质者的补虚佳品海清健身照曝光,穿露脐背心身形饱满,素颜朝天依然迷人三星GalaxyS22系列用科技创新带来全新智能体验

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找常识日常社交礼仪安全防范适应宝库新闻军事国内国际财经股票基金外汇科技手机众测体育娱乐时尚女性育儿