乐鱼全站app三色人脸虚拟摄像头详细教程传统查监控呢?就是说还是需要是我们选择需要查的这个画面,选到以后,然后以时间为标准来去查找这个监控里面出现的人或者是车什么等等等等,操作起来呢?嗯,查找起来很很麻烦。 嗯,演示一下这个大华这个人脸识别的这个以图搜图,这个查录像的这个方法,嗯,图片上传好以后,然后在这个,嗯,智能搜索里面有个人脸识别,这边有人脸识别,然后有一个,这里有一个这个图片搜索, 然后在这个热恋户已经建好了之前,一会再给大家讲一下热恋户怎么建,然后时间,这有时间,然后那个时间段是可以选的,他可以选择最近几天这些都可以,然后选择需要搜索的通道,就是说哪些摄像头来搜索这张人脸,然后相似度是从百分之五十到百分之一百,就可以自己设定的 最低百分之五十,然后点搜索以后,他会自己搜索,然后关于这张人的这个人脸的所有的监控就就全都显出来了,就是非常非常方便 这一查,然后这边就可以播放关于这张脸是在什么时间抓拍到的,去干什么都有了。要实现以脸搜脸,得需要先在录像机里面创建一个人脸库,在一个智能里,然后找到一个比对库,人脸库配置,然后底下点一个这个添加 名称,就是简写测试,然后点决定,然后创建好以后,然后返回, 返回,然后找到需要嗯搜的图片搜的那个人脸,然后把它添加到人脸库这里,现在人脸库是注册人数是零,然后这个可以 随便选,这都无所谓,无所谓,都可以随便填,然后点确定名称,名称就写也是测试点确定,然后 创建好以后呢?就是说这个人脸已经到人脸库里面了,然后咱们再点智能搜索,重复看看之前的操作。嗯,在这个智能搜索里面有一个人脸识别,然后在人脸库里面上传我们需要需要搜索的人脸,然后点决定, 点去,然后点确定,然后选择需要搜索通通通道哪些个摄像头去解锁这个,这个人脸可以把他全部都选择,都可以的, 然后时间自定义,然后相册度自定义搜索就可以了。关于这个人脸的一些个,所有的这个监控就全出来了。
请左右摇头,就这个距离,请左右摇头,请眨下眼, 看见没有?从群里的视频来看,这种破解方式是利用软件将静态的人脸照片处理成动态视频,进而骗过部分手机应用中的认证环节。 从聊天记录来看,相关人脸认证涉及五八同城、陌陌、世纪佳缘等多个应用,认证后的这种实名账户则可以被倒卖,用于商业推广或小额网贷等用途。 记者发现,制作动态视频的主要原材料是网上售卖的人脸和身份证照片,每套只需要二点五元。先买卖照片,再做成动态人脸,最后倒卖实名账号。 一条完整的灰色产业链就这样形成了。人脸识别难道就这么容易被攻破吗?调查中记者发现,上述行为主要还是针对部分手机端的应用。在专业支付场景下,目前人脸识别技术的安全性还。
亲爱的各位朋友大家好,欢迎光临微课进行时,微课进行时帮您解决大问题。 好,今天呢给大家推荐一个比较好用的工具啊,功能也比较多,主要是摄像头的美化与优化,另外呢还具备录屏的功能。 好,这个软件的名字叫 yy 开播啊,非常不错,我们现在看到的图像呢,就是经过这个 yy 开播来进行啊合成的啊,这个眼镜呢是假的啊,我扭头可以看一下呢,嗯, 模仿的还是比较真的,对吧,就是镜片的感觉不大好。好,下面呢我们来看一下这个软件该 如何进行使用。我们首先呢将摄像头呢给关闭啊,打开之后呢就是这样一种状态,第一个是美颜,我们需要打开一个摄像头, 我们选择一个摄像头来选择逻辑摄像头,然后呢选择一个尺寸好,然后点击这里的确定按钮。 好,这样呢就把摄像头打开了,打开之后在右侧呢都是对着你的形象进行调整的,首先是美颜,比如这个白皙,可以调整一下这个肤色, 让肤色更白或者是更红润啊,还有补光,如果呃比较暗的话呢,光线可以提亮一点,还有磨皮啊,让 让自己的脸部呢更光滑啊,这里呢就是原始状态,然后呢更光滑一点,还可以调整一下这个清晰度,清晰度还能瘦脸啊,脸胖一点, 然后再瘦一点,对吧,还能够瘦身,下面是啊,高级的整形啊,下面开始整形,首先是脸可以更小,小脸 啊,看下巴变小了,那还有呢,可以变得 更小更瘦小啊,下面是额高额头的高低啊,可以调整一下,还有额宽宽度也可以调整,嗯,下面还有种法令纹, 还有下巴啊,下巴更大了,对吧?那还有这个其他的啊,像眼镜啊,呃,眼睛更大一点啊,大眼,我眼睛小啊,调大一点,下面还有眼角的调整, 还有鼻子啊,鼻子的位置也可以调,这个有点太奇怪了啊,好,往下来, 鼻子瘦一点,胖一点好,还有嘴巴啊,嘴巴的调整, 宽位置往上往下,牙再白一点啊,好,这就是他的美颜功能。那下面的是关于音效 啊,我们在直播的时候呢,需要一些音效,可以在这里进行点击啊,我们可以使用快捷键啊,比如说这个胜利 好,嗯,下面呢是我们的特效,这个特效呢是需要介绍一下的,比如这个眼镜呢就是这个特效好。 特效里面呢分为场景,场景呢是整体的一种调整。第二个是动画,可以为我们视频的增加一些动画效果,比如说,嗯,大家好, 呃,比如说鼓掌啊,呃,再比如说,呃,哈哈大笑啊,下面是 是表情,表情里面呢这个呢是比较常用的,嗯,修改一下人的装束,当然女子的比较多一点 好,呃,还可以增加一些头顶的一些道具 好,另外呢还有什么胡萝卜啊,小兔子好。下面呢比较好玩的就是一个是眼镜,可以为我们增加一个眼镜,还可以增加一个墨镜, 对吧?墨镜,嗯,下面这几个头像啊,比较的好玩,第一个可以为我们增加,呃,这样一个的头像,可以啊,掩盖我们实际的面容,还可以整体的变成 成一个形象,比如点击他,我们可以看到啊,这就是我们的这个虚拟形象啊,眨眼眨眼眨眼,张嘴张嘴张嘴啊,这是当然,反应稍微有点迟钝啊, 还有帽子,还有眼镜啊,我们呢还是喜欢这样一个眼镜。好,下面还有一个镜头的一种调整,左右翻转啊,镜像好,镜像啊,还有这个左右翻转,还有上下 好,在这里呢,还有旋转,还有分屏啊,比如说我们看一下三个老师给你讲课,是不是更震撼啊,如果想取消的话,直接点击这个整个图标就可以取消了啊,下面是镜头的运动, 可以镜头现在开始啊,推进推远好,呃,这是特效。下面还有抠图, 这个抠图呢只适合于有绿木的抠图,如果没有绿木呢,是不能抠的,我们勾选抠图啊,这样的背景都给抠掉了。呃,下面选择虚拟背景可以看到啊,这个背景才开始转化 好,下面可以调节一下平滑度等等。 好,这是抠图效果,那下面的是虚拟形象在这里呢,好像没有开放,还不能够使用。好,这是关于摄像头人像的处理,下方呢是我们的画面的安排排版,他有点像 obs, 比如我们想录屏,可以添加屏幕的捕捉啊,全局的捕捉 好,我们可以将它调整,比如说我们让它最大最大化,那最大化看不到摄像头了怎么办呢?我们点击窗口在这里来调整一下,选择摄像头, 然后呢让他置于顶层。好,我们来调整一下他的大小。 好,在抠图里面我们调整一下, 这样呢就把桌面也加进来了,另外呢还可以加其他的一些内容啊,很多像字幕可以加一些水印在这里。 好,还有图片可以添加图片还可以添加视频,还可以啊,进行讲课啊,我们加一个白板,把白板放到 这里,然后我们可以进行圈话讲述啊,这是白板功能,下面还有一起看一起看呢,就是为我们的观众啊播放一些视频啊,这个对于我们老师来说呢,用处不是太大, 那接下来我们的画面该如何进行输出呢啊?有三种形式,第一种形式就是进行录制,我们点击之后, 然后将其最小化,那这样呢,我们就开始录屏啊,有什么东西我们拿出来进行操作啊,操作完成之后,我们回到界面,然后点击停止, 然后点击这个无念夹,就可以找到我们刚才录制的内容,应当是这个,我们双击打开来看一下,看,这就是我们刚才的录屏效果。第二个就是进行拍照,我们将 全屏捕捉给删除,摄像头呢拉大,然后我们加上加一个虚拟背景,调整一下相似度。 好,调好之后呢,我们觉得这个画面不错,还可以再加上一些特效。 好,你觉得这个效果还不错乐鱼全站app,那我们呢就开始点击这个拍照, 好拍照,这个照片呢就保存了,来看一下就保存这里了啊,这是拍照。第三种输出方式呢,就是为录屏软件增加虚拟的摄像头,比如我们进行美颜啊,美颜之后,好,下面呢我们可以将其关闭, 然后打开一个录屏软件,在这里我们点击打开摄像头,选择外外开播。好, 这时候呢我也要开播,会直接的打开打开呢,让我们进行设置啊,假如说当前设置呢还是不错的,那我们就将其最小化,然后调整一下这个录屏软件摄像头的大小,那下面呢我们就可以开始录制了。 好,那录制讲解,录制讲解,我们的摄像头内容呢,就会添加到咱这个录制的视频当中。好,录制完成可以看一下这个效果。 好,这就是我们添加的一个虚拟摄像头,它是经过了美颜和特效的。最后呢给大家介绍一个 比较简单的虚拟摄像头,叫 class in kim, 这个软件呢也可以美颜啊,选择美颜可以进行啊,美颜调整 在这里呢,还可以啊,对我们的摄像头进行变焦,比如让我离的镜头近点 啊,这个功能不错。好,下面美颜还可以添加贴纸,注意这个贴纸呢,我们需要登录账号,账号呢用手机注册也是免费的。那最后呢可以开启一下这个虚拟背景, 这个虚拟背景不需要有绿幕,也可以进行开启。呃,只是他在推送到其他的录屏软件的时候 呢,他有些延迟啊,所以说目前呢不建议大家使用这个软件。好的,各位朋友,关于外外直播还有这一个虚拟摄像头设置的方法呢,我们今天就讲到这里, 如果你喜欢请点赞留言转发,感谢观看,再见!
大华录像机人类识别操作设置,首先录像机需要带抗癌的智慧的录像扣投,要支持人脸抓拍的摄像头,然后我们首先打开相机设置,找到的就是人脸支持人脸抓拍的摄像头添加上去,然后我们在 智能里面能量库点击添加,输入能量库的名称,点击确定,然后在这里面添加人员,点击详情,这里有个人员添加的, 可以通过优盘插入优盘选择照片,也可以通过电脑上传照片,我们这边先通过电脑上传一个人员,好的,这边我们已经上传, 就等刷新就行了,这就有个人员了。然后我们再到参数设置里面把人脸抓拍的功能启用摄像头的人脸抓拍的功能启用智能方案点击应用, 然后再到人脸检测里面启用人脸照片绘制规则,规则画好之后,然后点击保存,然后我们再到人脸识别这里人脸识别这里 猫乱是后智能咱就启用就可以,然后设置人脸符设置,嗯,勾选确定勾选,这里有个印 联动的,联动的话这边他可以设置报警声音,报警声音也可以通过电脑也可以通过 u 盘输入,报警声音封顶的话我们也是给他先勾起来, 然后我们这边点击应用,这边他的功能就设置好了,然后我们这边先把报警声音给他录进去,他是在音频管理里面 点击添加,这边我们只要优盘插上去,然后这边也有他那个文件大小的设置, 所以说我们用 mp 三格式的音频插入进去就可以,这边我们把音频倒一下,欢迎光临,然后这边我那边上传了之后,这边就有了,然后如果说想听到声音的,我们这边就是给录像机接一个音频的 喇叭,然后这边我们就可以回到刚刚那个人脸识别设置那里面,我们把那个联动里面,我们就可以选择刚刚那个报警声音,好点击确定应用。 然后我们再退到主界面上,他这里有个 ai 模式,开启 ai, 然后他右上角就会有一个人脸识别的一个照片对比,好设置,就这些设置。
脸识别录入系统的三种方式,现在是在做通电测试是吗?可以通电测试,然后播放检查 技术老师在呃测试一批最新的人脸识别。那我今天简单的来介绍一下我们人脸识别有哪几种入入方式。首先呢,我们人脸识别是有三种入入方式的,呃第一种入入方式呢是呃照片导入到我们的手机上,通过手机上传到人脸识别。第二种入入方式呢是我们的电脑 pc 端入入,那呃,今天我可以简单的来跟大家演示一下我们的第三种入入方式。 我们的第三种录入方式是可以通过人脸识别的前端来录入我们想要录的人脸识别作为明镜考清。那第三种录入方式就比较简单,嗯,他是怎么录入的呢?首先我们只要手里面有蓝牙鼠标就可以了,那蓝牙鼠标当中他有 usb, 把这个 usb 呃插入到前端有一个 usb 接口,插入进去之后呢,他这里呃会跟我们的 ipad 一样,他有显示一些呃操作页面,请输入,那先输入我们的密码,密码输入进去之后呢?呃这个页面他是有提示的, 提示你入入人脸识别,那我们可以根据这个提示来入入我们的人脸识别。那不仅是有这么一个功能,呃入入识别的功能在里面,那对于我们这一款全升级的人脸识别的话,他可 可以充当我们电脑的 pc 端可以导入出去的进出数据,那在这个人脸识别的前端,呃我们也是可以导入进来的。
呃,各位朋友大家好啊,就是家里头如果有想这个装监控或者是已经装过监控的,一定听说过两个,最近比较流行的概念就是这个人脸识别和人脸检测。然后今天大家讲一下,就是说这两个 实际他的使用功能是怎么样的。嗯,咱们结合一下,就是说大华这个具有这两种功能的这个录像机,大家实际,嗯,看一下,嗯,是应该是怎么去使用的? 首先说呢就是这个,呃,人脸检测,人脸检测呢,其实他主要就是针对于这个画面当中,画面当中出现的这个人脸进行这个检测,然后呢显示出他这个一些基本信息,就这样人脸的基本信息,比如这个性别啊、年龄啊,然后口罩啊、眼镜啊,有没 胡子啊等等来写这些信息。然后就是说,嗯,为人脸检索,就说你要检索这张那个图片的时候,想要以实现这个以脸搜脸,还去查监控的时候还提供帮助,比如说这张图片检索到了,然后通过这个智能检索,然后呢有一个,嗯,这个检,可以说 用这图片查到这个画面里出现人这个录像这样一个应用。嗯,然后呢具体怎么操作呢?可以看我这个往期视频有一期,嗯,介绍比较详细的那个。 然后呢再讲一下这个人脸识别,这个人脸识别呢,他是在这个人脸检测的基础上,嗯,这功能的一个升级,他主要的作用其实就是说,嗯,也可以理解为是就是两张图片的对比,嗯,作用是什么呢?实际当中是怎么使用的呢?嗯,这举个例子,比如是说,呃,我们 这个有个店铺是吧?然后就是说,嗯,有一个这个罐头,我说来过一次,偷过一东西了,然后以咱们也抓拍到他人脸了,咱们就以我这张脸举例吧。然后因为上午我已经做了一个测试了,就是说把这张脸录入到我们的人脸库以后,咱们这里有一个人脸库, 录入到人脸库里以后,然后就可以说利用这个人脸识别来作为一个嗯,一个一个一个比对,一个比对,一个比对的一个一个方法。然后呢开启这个呃进行布控 啊,这有不控设置,就是说可以嗯,哪一天只可按时间来,不控呢,然后不控人脸控呢就选择选择咱们这这个人脸就行了。然后呢这里还可以设置这个像素,就是说如果说画面里头出现这个嗯,摄像机 认为是一样的这个人脸,他就会自动嗯报警,然后提示咱们这个相关人员进行这个关注,及时关注,嗯,避免咱们 那个财富的一个损失。降速度呢,就是说嗯,这个具体方方法呢?然后就是说基本上是在百分之五十以上,因为太低的话,可能他这个就是他精准度,可能是 嗯准确度可能会有所降低,就相对的话是百分之五十以上,基本上都没问题。然后呢嗯,可以设置是我本地有一个封屏器报警,然后呢他如果说这个录像机联网以后的话呢,还可以,嗯,联动到手机上出现到这个有嫌疑人,或者说咱们不空的人出现在这个画面当中的话,他可以联动手机及时提示咱们。 嗯,这就是说关于咱们现在常听到的这个,嗯,人脸识别和人脸检测这两个主要功能的一些。嗯,应用 这里有一个联动,就是说联动是需要如果说这张人出现在这个画面里的话,会出现这个,有这个分明他就会在录像机里面有这个警示音能提示。 嗯,点好应用以后就可以了。然后我现在去外面试一下,大家可以看一下这个他的这个反应的速度怎么样。 this 好了,然后他这他这个还有一个,这个,这不有一个相似度吗?就是我们之前设置那个,如果说这低于这个相似度的话,他就是没有没有提示的。然后就说你换衣服的话肯定也是能,这,这是这之前我拍的换衣服的话也是没有什么影响的, 但如果戴口罩和戴帽子的话,肯定是对这个,嗯,这个识别的这个精度是有是有影响的。然后这个可以在以后实际使用当中可以按照实际情况,然后再做参数的修改。嗯,那行,我先讲到这,有需要的话,有兴趣的话可以点我关注,然后呢有问题的话可以私信沟通。
听说有人想做一个能联网的监控,那么这个摄像头加上这个芯片一共应该不到三十,可以满足你的要求。先看看这个摄像头,他太小了,拿在手里都有点慌, 当然呢,他和什么一零八零批就没什么关系了,但是近距离做个人脸识别还是没问题的。再来看这块板子,首先就是这个 sd 卡的插槽,放个 sd 卡保存个视频片段或者截图, 这里边的话呢,就是摄像头的插口。背板呢,主要是这个 esp 三二的芯片,这个和咱之前玩的八二六六基本一样,都是通过你家 wifi 联网,不过呢,他的性能更强,谁让咱要做视频传输呢?这次想说的细一点,所以内容会比较多,下个作品和大家聊他的玩法。
五、人脸相机设置好,我们现在讲如何设置我们的一个相机,然后我们点击左上角的设置,然后我们这里能看到他有两个相机, 然后我们现在怎么办呢?鼠标左键点击我们的相机,然后右键设为人脸相机,把我们的人脸设设设好就可以使用了,好吧, 然后呢我们这边点击保存保存设置,保存设置以后,我们退出软件,重启一下软件,然后设置就完成,相机就可以正常使用了。
这种人脸追踪的视频是怎么拍出来的啊?我们在直播间会经常看到。其实啊乐鱼app下载,这个是需要用到这种智能跟拍摄像头的,我用的这个是大眼猴新出的一个 ai 智能跟拍摄像头,可以自由追随我那迷人的脸庞啊,满眼都是我,我的脸到哪他就跟到哪。二 k 分辨率二十五针左右,能旋转一百八十度,上下四十二度, 无论是战士座还是左右活动,基本没有死角,使用起来也很方便。只有一个 usb 插口,插在电脑上就完事了,不需要驱动,也不需要适配软件,比个手势就可以开始和结束人脸跟踪,再比个手势就可以放大和缩小,对于直播和上网课来说还是相当好用的。另外呢,这个配置,这个价格在同等级别产品中也非常有优势,感兴趣的小伙伴可以到小黄车里面去详细了解一下。
考生考试中的摄像头拍照、人脸识别、拍照答题操作说明首先我们来看一下 pc 端参加这类型的考试需要注意什么, 我们进入链接参加考试。 在考试之前,我们需要检查并打开自己的摄像头,我们阅读考试须知以及重要事项,系统会提示我们检查摄像头进行考前拍照,我们点击拍照进入考试 勾选我已阅读考试须知进入考试, 我们输入姓名, 点击进入实名合验, 进行人脸身份认证,我们需要填写真实姓名和身份证号, 点击下一步进行人脸采集,我们将人脸对准摄像头,点击拍照采集人脸, 点击开始验证,这是正常核验通过的情况,下面我们来看一下如果核验失败要如何处理,我们复制链接 前面还是同样的操作,我们点击拍照进入考试。 填写身份信息,进入实名考验, 填写信息以及正确的身份证号, 点击下一步拍照采集人脸。 如果验证失败乐鱼app,系统会提示我们验证失败的原因 以及验证机会已经用完。我们需要通过这个号码联系管理员,管理员进行人工审核,之后我们点击人工审核刷新才能够进入考试。如果管理员审核通过之后,我们需要点击刷新, 点击这里就可以开始答题,进入考试。这场考试是有摄像头监控拍照的,在考试过程中,我们需要保证全程将摄像头对准 人脸,系统会进行无感抓拍。 我们开始做 做的 现在我们来看一下拍照答题如何操作, 一般是针对问答题,一般情况下我们在做答案,有特殊自辅公式计算过程的试题时,可以使用拍照答题功能,一般手机端参加考试用的比较多,电脑端也可以实现。 我们需要先将答案写在纸上,再用手机拍照上传到电脑内,我们点击这个按钮上传图片, 如果还需要继续上传,我们点击继续上传图片。下面我们来看一下手 手机端参加这类型的考试需要注意什么。我们使用手机微信扫码参加。 进入考试之前,我们需要检查自己的摄像头是否可用,我们勾选。已阅读考试须知点击拍照,进入考试 说自己的真实姓名, 点击进入实名合验。 我需要填写真实姓名和身份证号,输入身份证号码 进行人脸采集,点击拍照采集人脸, 点击开始验证, 验证成功我们可以进入考试。点击开始答题, 我们快速作答。 我们现在来看一下拍照答题在手机端的效果。 我们需要先将答案写在纸上,然后用手机拍照上传, 点击拍照, 点击使用照片。 如果需要,如果需要继续上传,我们可以点击加号继续上传图片。 手机端摄像头监考需要我们手动上传照片 才能继续参加考试,我们点击拍照 使用照片就可以继续参考。
我是陶美,今天继续我们 open cv 学习,那今天啊,我们主要来讲一个案例,也就是人脸识别,那今天的人脸识别呢?我们主要是基于这个 face 的肯定神来实现的啊,它的原理呢也是非常简单,我们先看一下它的这个效果是怎样的 啊?我呢下载了三张这个图片,分别是三个不同的人物啊,经过我们这个人脸识别系统的时候,他前两个呢都能够正常的识别,那么最后一个呢?他发现啊, 哎,这个人我不认识,就啊 no, 不认识,为什么他不认识呢?因为我们这个数据啊,他没有这个人,所以呢当他检测到一个新的人脸的时候, 他就会给你显示, oh, no, 就是我不认识。如果这个数据库里面他有,比如说有这个刘德华这个图片,他识别到之后他就会,他就会告诉你刘德, ok, 那这个就是我们今天要实现的一个小的人脸识别的一个小的案例。那我们再继续看一下今天啊我们要 用到的哪些方法,因为我们是用这个 face recognition 这个酷来实现它里面呢,首先是有这样一个方法叫 face distance, 这个主要是用来计算两个人脸之间的这个距离,这个距离,因为我们在之前的上一节视频当中也讲过,我们会把人脸的关键点进行一个编码,也就是编编,编码成一百二十八为, 他会计算这两个,一百二十八为这个项链他们之间的一个距离,来判断是否为统一个人。 ok, 那么第二个方法叫做 face locations, 这个方法呢,它主要是用来查找一张图片当中有几张人脸,没事,你给了他一张图片, 里面有三张人脸,他,那么最后他会,他会给你返回什么呢?返回一个列表,这个列表里面有三个数组,每个数组呢都是这个人脸的一个位置,也就是 location 啊。第三个方法叫做 landmarks, landmarks 呢,主要是检索人脸的一个关键点,因为我们在前几页视频当中讲过人脸的关键点呢,他我们目前学到的有六十八个关键点和五个关键点, 一般来说呢,我们会用六十八个关键点,因为他更能够刻画出一个人的一个脸部的一个一个形状, ok。 然后第四一个方法叫做 face includings, 这个方法主要是进行编码的,就是说我把你这个上面找到的这个关键点呢,编码乘一个一百二十八位,我们就是通过这个方法来实现的。那最后一个方法是叫做 这个方法,其实呢他主要是用来比较的,这是我比较你给我的这两个人脸,他们是否是同一个人,如果是,我就给你返回一个 q, 如果不是,我就给你返回一个 force, ok, 然后这边这个叫 tolerance。 零点六,什么意思啊? 我在比较的时候呢,我会设定一个预值,就说如果你小于零点六,那我就说你们两个人这个相似度比比较比较可靠,如果我计算出来这个结果大于零点六,那我就说你们两个人完全是不是同一个人, 他这个就是一个计算的一个过程。那这里啊,我给大家提供了一个 api 的一个文档,叫 face recony 一声的 api 的文档啊,各位朋友可以去看一下,我在这里,这里呢也可以,待会当我们写完整个代码之后,我也会呢,带着大家去看一下它底层 api 的一个实现。 ok, 那接下来 那我们就是开始我们今天的这个项目,首先啊我们还需要打开我们这个拍券,也就是集成开发工具,然后呢打开,打,然后呢打开我们这个啊,项目工程 face reconnation, 对吧?那在这里呢,我们要重新命名一个,呃,拍成 package, 一个一个包,比如说我们今天是人脸识别,对吧? face recognition, 然后呢我们用的是 face recognition, 我们就用这个叫 f r g 吧乐鱼全站app,对吧? face f r g 来表示,呃,就这样, 然后回车,在这里呢我们要新建一个文件,也就拍摄文件用,主要用来实现我们这个功能的,也就人脸识别这个功能。在这里呢,我们就说 face 吧, f r f s 这样写,行,可以随便写 face r g 啊,回车,然后接下来因为我们要实现 这个人脸识别吗?那我里面是不是要有一些数据啊?这个数据就是用来对比的吗?那我在这里呢,我要放两张图片进去,在这里我先 review, 找到这个文件夹,然后呢双击打开它,在这里啊,我要放放进去两张图片, 这个呢是我刚才从网上下载了两张图片,一个呢是郭富城的这个图片一,一张呢是刘德华的这个图片 啊,一共是两张图片,因为我们毕竟是一个小的案例吗?主要是给大家看一下效果到底是怎么实现的。 ok, 我们现在呢在这个小的这个项目里面,项目里面放了两张图片了, 第一章,第二章,对吧?那接下来我们就来开始写代码实现这个功能,我们稍微捋一下,你怎么去实现这样一个人脸识别呢?那是不是跟过去一样? 我们是不是要加载库?我们这边写一下你要加载库这第一步吧,那第二步你要干嘛?那你是不是,呃,要加载我们的图片,因为我这边提供了两个素材,对吧?我们待会要先我们第一步呢,我们肯定要去。 呃,实现就说把他们的人脸给他找出来,同时给他这个人脸呢进行一个 encoling, 也就是给他进行一个编码,包括他的关键点我们都要找出来,然后呢进行一个编码,那这个图片也是一样的,首先我们要在这张图片当中找出这个人脸在哪里, 然后呢给他这个绘制或说找到他的关键点,也就是他脸部的六十八个关键点,我们全部给他找到。最后呢我们给他进一个编码。呃,流程是这样的,我们这边首先是加载图片吧,或者加载素材都可以。然后这第二步,那第三步我们要干嘛?因为我们这个 open cv 呢, 他默认的这个通道是 b g 二,我们这边必须要给他转换成 r g b, ok, b g 二,我们要进行一下转换,转换成什么呢?转 转啊? rgb, 对吧?这第三步我们要转换一下图片的一个通道格式或顺序。那第四步我们要干嘛?我们这边这样写也行, 就说因为我们这边加载图片之后嘛,这第三步是这样的。第四步,我们是不是要去对这个加载的图片进行一个人脸检测,就像我们刚才讲的,你要给我检测人脸,对不对?所以第四步呢?就是检测 人脸, ok, 第四步,那第五步我们要干嘛呢?人脸检测到了,那我是不是要进行一个编码了,对吧?就说我要给这些人脸给他进行一个编码,就一百二十八位的一个编码,那我这里可以这样写,比如说人脸特 编码,对吧?我可以这样写吧。那么第六步干嘛呢?就说我们编码之后,我是不是要把这两张数图片当做一个数据库啊?当做一个数据库,为什么呢?因为我待会通过我的这个摄像头打开之后呢乐鱼app,我会和我的这个数据来进行比较对比,就说 我检测检测到的这个人脸,他是不是我这个数据库里面存放的这两张人脸?如果不是我就给你说一个叫做啊? no, 我不认识你, 如果是的话,那我就给你说说,他对应的这个名字就是刘德华,这个名字就是郭富城,对吧?就这里呢?第六步,也就是说我要把它放在一起组合成一个数据库,把 所有人脸放在一起当做数据库使用,对吧?这个数据库的作用啊,就是说当我通过 摄像头来识别人脸的时候,我要和这个数据会里面所有的人去比较,一一比较。如果我发现有一个非常相似这两招人脸,那我就判断这是同一个人,我再给你说出一个名称,比如说刘德华,对吧?就这么简单。那第七步要干嘛呢?我们是不是要打开我们的摄像头了?所以我们这边可以这样写,打开摄像头,要打开摄像头了, 读取视频流,对吧?你说打开摄像头读取视频流, ok, 这第七步,那第八步我们干嘛呢?那我们是不是把我们摄像头读取到的每一针,也就每一张图片 转换成一个啊?这个 rgb 格式啊,所以我们这边还是要再做一个转换, b g 二,对吧?转 rgb, 对吧?这第八步,那么第九步我们要干嘛呢?那么是不是我们也要对这个摄像头啊,这个读取到的每一张图片进行一个人脸的 检测,对吧?我们摄像头开就一直打开着,那么他会读取到每一针,我就对每一针进行一个人脸的一个检测,所以我这边呢,肯定是还是跟上面一样进行一个人脸检测, 这第九步,那么第十步我们要干嘛呢?那是不是还是和这里一样,我们要进行一个人脸的一个特征编码,对吧?这我们这边还是一样的,人脸 特征编码是第十步。那第十一步呢?那我们这边进行人脸特征编码之后,那首先啊,你看一下我们这边数据库是不是已经准备好了,然后这里呢,我们又发现了一个新的人脸乐鱼app,也给他进行了编码,那是不是我要进行比较了?我要把这个新的特征编码和语言,这个原来的这个, 这个数据库数据里面的所有的这个特征,这个人脸特征进行一个比较,如果发现相似或相等,我就 判断是同一个人。所以这里呢,肯定是说与数据库中的所有人脸 进行什么进行匹匹配吧,对吧?我我要和他进行一个匹配吧,那第十二步是什么呢?第十二步就是说我在匹配的时候, 我是不是要通过一个循环,因为我这个人脸啊?因为我这边才两张图片,对吧?非常少,这是才两张乐鱼app。那如果我这个数据会有一百万张图片,那你这里是不是还是要通过一个循环去一个一个的去匹配?所以我们这边肯定会写一个循环的。那么之后呢?我们会进行一个匹配, 比如说我这边进行开始进行匹配了,对吧?进行匹配,然后呢?第十三步,干嘛?那我这边进行匹配的时候,你怎么去匹配呢?我是不是要计算你两张图片这个编码的距离啊?刚才 我们就一直在讲,就说我们把所有图片进行一个人脸特征编码之后,他们也就说有各自的一个特征了,那怎么去来判断他们是否相似为同一个人呢?那我这里肯定是要去计算他们之间的一个距离, 这个计算距离啊,我在上一节视频当当中讲过,讲过了那个通过欧式距离去进行一个比较,如果这一块不太了解啊,可以看一下上一期的一个视频计算距离,对吧?对,第十三步。那么计算距离之后, 接下来我们要干嘛?我们是不是要做一个判断?就是说我要判断你这个距离到底是近还是远?如果发现很近,也就是说你匹配了,那我就给你说出一个名字吗?如果我发现你们两个人之间的距离很远,那我就说你们不是同一个人,对吧?所以我这边肯定是要做一个判断的,对吧?肯定会做一个判断, 如果匹配,那么就输出或者获取这个名称吧,对吧?名字,因为我每张图片都对应了名字的,我待会会给他复一个名字,比如说郭富城、刘德华,对吧?我都会给他复一个名字的, ok, 那继续, 这是第十四,那第十五干嘛呢?第十五,我们是不是当我们如果匹配之后了获取到名字了,我们是不是要在这张图片上画出一个矩形框,对吧?把它一个矩形框画出来, 就把他这个人脸给他框住,是不是?那同时呢,我们要在这个他这个下方,这边我会画一个长方形, 显示这个人的名称,就显示在这个矩形框的下方,所以我这边肯定是显示吧,对吧?所以显示呢,肯定是说绘制人脸的矩形框,对吧?绘制 人年举行框,这第十五步,那第十六步干嘛呢?那你是不是也要写上他对应的一个名称,对吧?绘制或说啊,显示吧,对应 人脸的名字,对吧?这你肯定要显示吗?不然你只是把一个人脸框给他框出来了,你下面也没写名字,这肯定,这肯定是不行的。那第十八部是干嘛呢?那最后是不是我们要把整个图片给他显示出来,整个效果给他显示出来,对吧?显示整个效果, 对吧?就这么简单。然后最后呢,我们说要关闭啊,关闭所有所有的资源,关闭所有资源,我们要释放所有资源,对吧?这第十八步,一共就十八步。先我这边呢把一些很小的一些这种操作也给他进行了细化。像我们在写代码的时候啊,你就像那个建房 房子呀,就一块砖一块砖的往里面去垒就可以了,这样呢也比较清晰,我们就接下来呢,就写一下代码吧。首先我们是加入库,一步一步来,是不是你要导入库啊? input, 对吧? input 什么库?是不是 cv 库?还要导入什么库?是不是导入我们的 nan pie乐鱼app, 对吧?我们这个也会用到的, 还需要导入我们很重要的一个库,叫 face recognition, 这个库你必须给我导入进来,因为我们要调用它的方法,刚才 ppt 里面我们着重强调了这几个方法,我们待会儿都会用到。 ok, 我们接下来呢,我们首先是加载图片,比如说我这边留吧,对吧?就是刘德华对应的图片吧, i am ready 的 读取这个图片,这叫刘,对吧?然后呢,我还有读取谁的?这个是郭富城的,对吧?我这边读取郭富城的图片,这边郭乐鱼app下载, 对吧?点接 bg, ok, 然后呢,这个图片我读取之后,我是不是第三步进行一个 bg 二转二 gb 啊?因为欧本思维默认是 bg 二 bg 二的这种格式或顺序,所以我这边还需要给他做一个通道的一个转换,很简单, 直接是这样,前面的高和宽不变,把后面的通道就颠,呃,颠倒一下顺序就可以了啊,颠倒顺序直接用这种这种写法就可以了,前面两个不变啊,一个负一嘛,这个就是我们列表的一种用法,对吧?所以我们这边一个,然后接下来是国嘛,郭富城的郭, 然后是通道给他做一个颠倒,这样就可以了。 ok, 这样的我们就把 b g 二转换成了 rgb, 那接下来一步呢?是不是我们要检测人脸了,对吧?我们这个图片你你输给了他,他也不知道人脸 在哪里,所以我需要对他进行一个人脸的检测,看看人脸到底在什么方位。所以我这边呢,肯定是有个叫给他一个变量叫六流 face, 对吧?通过我们的 face recognition 调用里面这个方法,通过 face, 然后呢他会提示你的叫 locations, 这个方法呢,主要是用来检测人脸在哪里的,你看他里面,他这里就提示你输入哪些参数了,对吧?他默认用的是 hog 这个算法来进行一个人脸的检测,当然 他还有一个,呃,还有个还有一种选择,就是用 cnn, 也就是通过我们的神经网络卷机神经网络来进行一个人脸检测。他为什么默认用耗子呢? 因为号码它的速度比较快一点,虽然它的精度不高,但是它速度比较快,如果你把这里的默认改成了 cnn, 它的速度就比较慢,速度比较慢啊,如果你的机器啊,你的电脑的性能比较 包,我建议你算用成 c n n, 他的这个精度比较高,我们这边呢就全部选择默认的了啊,这样速度就比较快一点。然后我们这边首先把这个图片你要给他扔进去,对吧? 我们的图片是不是我这边这样写一下,因为我们转换成 rgb 了吗?所以我这边给他做一个标记, rgb, 对吧? 我们就把这个留的这张转换后的 rgb 图片给他扔进去,这样呢,他就能够自动去检测这个人脸了。看看你这个图片里面有几张人脸,他都他都会给你检测出来,最后给你返回他的位置。 ok, 接下来呢,我们就检测一下郭富城的人脸郭, 然后呢 face, 然后再用,再调用这个方法 locations 就可以了,然后是锅而击毙,这样呢,他就会把图片里面所有人脸,这个图片里面所有人脸都会检测出来,这个也会检测出来。人脸检测出来之后, 我们是不是要对他进行一个啊特征的编码了,也就是编码成一个一百二十八位的特征项链,所以我们这边呢,还是调用这个叫 reconnesse 方法,然后调一个叫 face including 这个方法 includings, 他就会给你去做一个编码的一个工作。首先呢,你要把他图片放进来,留 rgb, 对吧?同时呢,你还需要把刚才检测到的人脸的数据给他放进来。为什么?因为你这个留 face, 我们现在这个图片他只有一个人脸在里面,那如果我们这个图片里面有很多张人脸,那你这边 得到的这个留 face 是不是它是一个数组里面有多张人脸的一个坐标,所以你这边呢要把它给它传进来,因为我们现在看到的它这个是一张人脸,但是呢,如果这图片里有多张人脸,多张人脸怎么办呢?所以你这个肯定要传进来,对吧?它这个留 face 可能是一张 人脸,有可能是有多个人脸在里面,然后呢,这样他就可以进行一个人脸的编码,对每一个人脸他都会进行一个一百二十八位的一个特征的一个一个编码。 ok, 那接下来呢,我们看一下锅 那说,呃,锅的一个 recognition re 锅,哎, sorry, 应该是 face reconnession, 我们对他已经一个编码,然后把锅的这个图片先给他传进来 说 rgb 的图片,然后把锅刚才在图片上检测到的这个人脸给他传进来,对吧?没有问题吧?然后给他复 把它,首先啊,付给一个变量,为什么呢?因为我这个减编码之后啊,他会,他会得到什么呢?他会得到很多张人脸的编码,所以我这边一定要给他复制一个变量的,比如说留,对吧? including, 当然我可以加 including, 因为我们我,我们现在知道他这个图片上就一张人脸,所以我这里呢,我就这样去命名了,但这样命名其实不太好,因为你这个刘嘛,刘德华,你这个太,对吧,你就已经知道结果了嘛。但是我们今天主要是演示嘛,我们就先这样写, ok, 然后呢,这这样呢,我们就拿到了每张图片上每个人脸的一个编码,我们全部就拿到了, ok, 那接下来我们就把他们放在一起啊,当做一个数据库去使用,怎么放呢?啊?太简单了。首先是我们,比如说我这边这样写,叫做 incoling spa, 因为是所有的嘛,我都放在一起了,比如第一个是留的 incoling 放,放里面, 然后锅的 encoding 放里面,就是这样就可以放在一起了。然后呢,我要给他们一个命名,就 names 把,就给这两张图片进行命名,因为我们一旦进行人脸识别,我要给他显示个名 称的,所以我这边呢,比如说刘德华,对吧?郭,你要用字符串,郭富城,对吧?这样就可以了,两两张图片,然后呢两个人,两个人点吧,两个人我就给他两个名称,如果你这里有很多姓名的话,你这边可以再放很多姓名都可以, 这个这样呢,我们就组合成了一个,一个数据库,一个数据库,这个是编码,这个是名称。接下来呢,我们就打开摄像头,你看我们这个每一步是非常清晰的,我建议各位朋友写代码呢,也可以这样去写,你先用中文去描述乐鱼全站app,然后你再写代码,就像那个 啊,建房子一样,你先把骨架搭起来,然后再往里面填这个砖头。然后首先呢,我们打开我们的摄像头,是不是因为我们的 cv, 然后是 v 六 capture, 对吧? ok, 打开摄像头,然后呢,我们 是不是你要判断一下我们这个摄像头他是否正常的打开了,如果没有,那我就要报错,我就要给你一个错误, io arrow 这个错误,比如说 camera row arrow, 对吧?我就会告诉你摄像头错了,你的摄像头设备有问题。 ok, 这样就可以了。那接下来呢,我们是不是要通过一个外循环去不断的读取我们这个摄像头啊?直播间,所以我这里用一个外循环, 然后这边写法很固定啊,然后是 cap, 然后 read, 对吧?这样我就能够读取到每一针了吧,也就是每一张图片这个 frame, 也就是每一张图片 读取号。读取到之后,我是不是要和上面一样进行一个呃, rgb 到 b 教的一个转换,所以我这里呢,直接给他进行一个转换,怎么转啊?是不是跟刚才的一模一样?今天是 frem 吧, fram, 对吧?然后呢?哎,然后是,呃, frem, rgb 吧,还是跟上面写法一模一样吧,这样我们就知道这个 frem 是不是已经转换,转换之后的了, 我们这边还是一样高和宽不变,把它的通道顺序变一下就可以了,这样我们就把它通道给转换好了。那接下来我们是不是和上面一样进行一个人脸检测了吧?就第九步进行人脸的检测, 检测是不是用这个方法,这个 location 一样吧,对吧?所以我们这边还是用这个 location 来进行一个人脸的检测,是不是 fast recognition, 然后呢 location 看一下啊,是 face locations, 这样呢他就会检测你这个图片上的人脸到底有几张人脸在上面。 friend rgb, 然后给他啊,把这个 返回的结果呢复制给一个变量,比如我这边就叫做 faces locations, 据说可能他有好几张人脸的一个图片,这个好几张人脸的这个数据啊,我都给他赋予了这个变量,对吧? 那接下来我们要干嘛?那么我这个人也检测到了,我是不是要给他进行一个编码,跟上面这个步骤是一模一样的,我要对他进行编码,怎么编码?是不是用这个 face recognition 里面有个叫 face includings 啊? 他这个方法都给你写好了,待会我们会看一下他底层的实线是怎样实现的。这里呢,首先我们需要把这个 fram rgb, 你要给他这个原始图片给他,然后呢你还要把这个刚刚找到的这个啊, face faces, faces locations, 刚刚给我们找到的所有的人脸的数据,你要给他,我们给他往里面一放就可以了。最后呢,他会给 给我们返回一个数组,就是一个一个列表,这个列表里面是所有人脸特征的一个编码,所有人脸的一个人脸特征的一个编码,下面这里呢也给他一个命名叫 faces, 对吧? accordance, 这样就可以了,我们就拿到了他的所有的这个人脸特征的一个编码了,全部拿到了,那么接下来是是做什么呢?你是不是要 与我们的这个数据库啊进行一个对比了,就说我通过摄像头识别到的检索到的人脸,我要和我们这边的数据库里面进行对比, 看看到底是不是刘德华还是郭富城,还是说你是其他人,对吧?我这边呢就要进行一个对比,对比你肯定要用一个负负循环嘛,因为我们数据库里面有可能有很多人,我们现在才两个人, 那你如果有一百万一一百万张图片怎么办呢?所以我们这边要用一个负循环做一个对比,对吧?这个对比呢,我们可以这样写,比如说,嗯,我能, 我可以把这个 locations 和 including 可以把它们放在一起,我们可以这样写啊,首先是啊,我先写,写完之后我再跟你讲,为什么我这么写 top, 然后是什么是 right, 然后是 bottom, 然后是什么是 left, 然后呢,这边是一个 locations, 一个 face including, 我先这样写,你还不知道我为什么这么写,对吧?啊? in zip, 然后是我们的 face is locations, 然后是 face is includings, okay, 这样就可以了,我为什么这么写啊?首先我用这个 z 盘数,就是将我的这个刚刚检测到的人脸数据和这个 includings 每个人脸对应的这个 includings 放在一起。这个 zip 函数呢,就是一个粘合函数,把他们组合起 起来,组合在一起,然后我通过一个,通过一个负循环呢,不断的去读取他们里面的每一对数据,我通过一个负循环都是不是在读取啊?那么这个 location 我刚才讲过了,他返回的是什么?返回的是坐标,对不对?就是你的,你的,你,你的这个四个坐标,所以这边呢,给他返回了 top, right, bottom, left 四个点的坐标,我都给他,我都全部给他拿到了, ok, 全部给他拿到了,然后这个 face including 呢?其实就是我们拿到的这个里面每一张人脸的一个特征编码,一一个一百二十八位的一个特征编码, ok, 这个就是负循环的一个作用,就是循通过循环拿到他们相对应的坐标和编码,就这么简单。那接下来我们要干嘛?是不是你拿到了这个编码之后,我需要进行一个匹配啦,对吧?我需要进行匹配,匹配怎么匹配呢? 很简单,我这里,哎,我把这个这个备注放到里面去,接下来就是进行一个匹配,匹配啊,我们也是有一个方法的,叫做 face 啊, recognition, 对吧?然后呢? face 里面有个叫做,看一下啊,叫做 compare, compare faces, 就我们可以用通过这个方法来进行一个比较,或者说通过一个 啊,通过这个方法来进行匹配。它里面你看你要传进去两个编码,一个是已知数,已知的人脸的编码,你要给我传进来,说白了就我们这个数据库吧,刚刚准备的还有一个呢,就是你摄像头检测到的这个 人脸的一个编码,这两个编码你要给我传过来,然后这个是一个默认值,也就是零点零点六一个预值,你不用管他,这个你不用管他,我们找一下刚才这个数据库的编码,叫做 mcolins, 这个你给他拷贝过来,然后呢,我们 通过循环读取到的每一个人脸的编码,你要给我考过来,这啥意思啊?就是说我把我检测的这个第一个人脸和我已知数据库里面所有的人脸进行对比,我看看你们两个人之间是否相似,我会计算出一个,就就是进行匹配嘛, 我会判断你们之间是否相似,会得到一个距离,你这边肯定会给我返回一个距离的,这个就是进行一个距离的一个计算。 ok, 那么,呃,我拿到啊,这边应该是一个匹配, sorry, 不是距离,距离是在下面计算,我们这边应该是因为这边是一个距离,对吧?我们在第十三步,我们会进行距离计算, 这边呢,你会拿这个匹配,他会进行判断,比如说这两个人是否相似,如果相似我就给你一个 choo, 不相似我,我就给你一个 force, 所以这边是一个匹配,叫 matchs, m, a, d, c, h。 我们这样写啊,然后接下来我们才是计算距离, 计算距离也很简单,通过我们的 face, 那肯定是里面有个叫做啊,看一下在哪里叫做 face distance, 对吧?通过这个,通过这个方法,它是计算距离的,而这个是用来进行比较的,所以我们这里呢,可以进行一个距距离的计算,也很简单,直接是 in call things, 然后呢 face including, 这样就可以了,这样就可以了,我们现在呢就可以通过这个方法来计算他们的距离,最后我们就拿到了这个距离,比如说叫做 distance is, 我们现在就拿到了啊,这个人脸和数数据库里面所有人脸进行这个计算之后的这个距离,所以这边呢也是一个列表,他有很多距离的,对吧?因为我这个数据库我现在才两张人脸,如果我有很多张人脸,那么他这个 返回的结果呢?就是有很多很多的这个数据,也就是距离嘛在里面这是一个列表, ok, 那这个距离我们就计算好了,那接下来我们要干嘛?我们是不是要做一个判断,就说我们也就是第十四步,我们要做一个判断, 就说如果匹配我们就获取到他的名字,这个判断怎么判断呢?也很简单,直接是用我们的这个易腐语句,易腐语句我这里啊,我要先将用个内内幕来做一个,就说如果我们这摄像头读取到的这个人脸 不在数据户当中,我就给你返回一个叫 oh no, 我不认识这个人,结果这边呢先给他定一个啊,这个字串的一个一个变调名,就是叫 name oh no。 然后接下来我会做一个匹配,用一个一辅一句来判断,比如说我会说 f matches, 这个里面呢,我会用的就是我们这个叫做呃 呃,距离,那么你在这里写呢?为什么我要用距离啊?其实我们你看我这个图片和数据库里面所有的人呢,做了一个距离的计算,对吧?那么这里呢,其实我会拿到一个,我想拿到一个最小的,什么意思啊?比如说 我摄像头检测到一个人脸了,对吧?我和这里的两张人脸作为一个对比,他最后给我出出来的数据,比如说和他比较相似,那么和他比如说不相似,那么他的距离就比较短,就比较小, 那么这个纸呢?和他的距离就比较大,对不对?那我就想拿到这个最小的一个距离,就说最相似的那个距离,那么这里呢?我就可以这样写,可是我想拿到一个最相似的距离或最小的距离,他又叫 mp, 里面有个叫二哥,对吧?好,二哥 mix, 二哥 mi, 对吧?拿到一个最小距 距离,通过这个方法呢,这个呢?派这个方法呢?他就可以拿到一堆数据当中所有距离当中一个最小的,说白了我就挑那个和我最相似的那个人脸的一个距离,这样我就拿到了,对吧?拿到之后我这里就可以做判断了,我会把这个最相似的距离拿过来。这个匹配,哎, 你是否和我是就你我拿到的这个人呢?或这个距离是否在我这个数据库里面存在?如果存在呢?我就说,哎,匹配上了,如果不存在,那我就说没有匹配上,结果这边呢?可以这样写, 对吧?就说如果他能够匹配上,能够匹配上,那你就去我这个数据库里面嘛,在这里在这个内幕词里面找对应的名称就可以了,对应的名字,对吧?就这里呢?如果你匹配上了,我就这边给你返回相对应的名称。 ak, ak, 其实这个这个二嘎,他的结果呢?他不是一长串的什么什么距离,那个很小,数点特别长,不是他返回的,可能就是一些什么零,对吧?什么一二正下标,就这个返回的他不是具体的数值,而是他对应的下标 啊,所以这个我这边如果这样写,各位不太明白,我就可以这样写, index 就下标的意思吗?我可以这样写,这样呢,可能大家理解起来就比较简单一点,就是 他最后返回的是一些下标,你知道吧?所以我通过这个 max 呢,就可以去找他那个对应的下标,对吧?去找他那个下标,如果他在我们这个呃赢这个数据库里面,那我就给我就说你已经匹配匹配上了,所以呢,我就可以把你这个下标拿过来,去 找他对应的这个 name, ok, 就是在这个 names 里面去找对应的这个 names, 可以,最好可以这样写,因为如果我不嫌 index 呢?很多朋友可能以为就是,哎,你这个距离那么长的数字,对吧?怎么匹配的?其实它返回的是一些下标, ok, 这样我们就能够匹配上了。 那接下来呢,匹配上之后我们要干嘛?我们是不是你要绘制这个人脸的矩形框了,对吧?我把这个备注拿拿过来, 然后绘制。人家举行过,怎么绘制啊?是不是用我们的 rectangle, 对吧? record tango, 首先是我们的 fram, 对吧?然后呢是不是你要坐标给他一个坐标?一共是两个坐标吧,对吧?我们这样先写一下, 然后呢我会这样写边框,举行的边框给他一个颜色粗细,对吧?里面的坐标,第一个坐标就是第一个点的坐标嘛?这个点的坐标很好写哦。首先是一个类 吗?然后呢是一个套,对吧?这个我们在前面的几期视频当中也给大家讲过,我这里就不再重复了。为什么这么去写?因为你一个矩形啊,你一张一拖,对吧?他这里有一个点,然后呢?然后他对角线也有一个点,这样我们就能画出一个矩形, 画出个矩形框,所以这个就是第一个点的一个坐标,那这个呢?就是一个对角线的一个坐标。 ok, 这样我们就能够把一个矩形框给他画出来, ok, 举行框我们已经画出来,那接下来你是不是还要把下面就那个,我要,因为我要显示对应的一个名字嘛,所以那个我也要画一个小的举行框,对不对?因为我要在这个举行框下面显示名称,结果呢?还想再画一个小的举行框, 那怎么画?是不是还是用 rectangle 来画,对吧? recotangle, 然后呢?是 frame, 然后这里的坐标呢?一定要注意这里的坐标,我先不写坐标,然后呢, 我先这样,不然大家可能容易弄混,然后这里还是有一个有零点二五五, 然后呢?有时候宽度还是三八,比如说,因为,呃,我还是给各位看一下 ppt 照,一定要看一下的,不然不容易了解。你看我上面一个这种绿色的一个框,把人家框住了,对吧?然后在下面,下面也就说我想显示人的一个名字在这里,对吧?那你这边是不是 往下就是,呃,他的的第一个点,就是这这个点的坐标和他的横横坐标,呃,和他的这个横坐标是相似的,重坐标是,对吧?呃,重坐标是相似的,横坐标是不同横坐。呃,看一下,哦, 横坐标相同,重坐标是不同的,对吧?第一个点就这个点,他的横坐标是相同,重坐标是不同,对吧?因为重坐标低, 是在这边是零零吗?那你这边的动作标肯定不是零零了,对吧?那这里呢,也是一样的,这里和他的众坐标,众坐标是一致的,但红坐标又不同,所以我们这边可以这样去计算,这个就主要是一个计算的一个 计算的一个过程,比如我们这边可以说他的横坐标相同,对吧?第一个点的横坐标相同,动作标不同,那我就这样写吧, ot 点三十,比如说,因为我是显示在各位朋友乐鱼app,再看一下,我是显示在他下方,对不对?下方,所以呢,我用这个 bottom, 其实这边不用减加也行,我用加吧啊,当然我们待会可以看一下效果, 加一下就行了,因为剪的话这个效果感觉有点丑。然后这边呢,继续一个 right, 这样 bottom, 我们具体待会会看一下效果,来调整他这个坐标的一个位置,我们可以调整的,因为 这边呢,我也是感觉应该是这样的,我们待会可以试一下。啊,这样呢,我们就把这个名称的矩形框给他绘绘制出来。名字的矩形框绘制出来了,那接下来我们要干嘛?你是不是要在这个矩形框里面写上他的名字呀?对吧?所以我们这边可以这样写, 显示啊,啊,显示吧名字,我们把这个改成时期显示名字, ok, 然后呢,我们实现一下,怎么显示啊?是不是我们 cv 库里面叫做 put text 这个功能,对不对?然后呢,是我们的 fram 这个图片,原始图片,然后是我们的要显示的名字,这个名字呢,我在这里已经给大家注视了, 如果他不认识就显示,哦, no, 不认识,如果认识他就会去这个 name 里面根据下标去检索 检索,如果是第一个就是刘德华,第二就郭富城,他会一一对应的去检索,然后这边呢就会显示,然后呢给他一个坐标,比如说这样写吧, let 也是左边的,对吧?这我给大家加个十吧, 这个比较好理解。坐标,这个比较好写,这个显示你只需要,呃,加三十吧,加三十,对,然后呢这个跟这个和上面的要一致,就这个这两我们先一致的看一下,加三十,然后呢我们这个 bottom 减三十,我们这样试一下,然后看一下效果,然后我们的字体,字体是不是之前讲过啊?你不用去记,用这个 complex, 默认的 complex, 然后是一,然后呢是我们的啊,字体颜色,我们就这样写, ok, 然后呢字体的一个大小粗细, ok, 这样就可以了,这样就可以了,我们继续这样,我们就把字体给他写上去了,对吧?写上去之后我们是不是要看一下整体的一个显示效果啊?整体的显示效果,呃,这个很简单,直接是用我们的这个 c v m 秀就可以了, 比如说我们这边叫 face recognition, 对吧?然后呢把这个 flip 给它显示出来就可以了,这边应该是十八了,对吧?我们这边写一下,改成十八, 显示整体效果,这样就可以了,看有没有问题,哎,不对,那这个应该出来,不能在负循环里面,不然会爆错,这样就可以了。那接下来我们是不是要做一个判断,就说如果你这边按下了这个 esc 键,或者说 q 键, q 键,那么我就退出,如果你按下了这个 q 键,我就退出,只用一个 f 一句,然后呢用个 y k, 这个我们在之前讲了很多遍了,我就不去讲这个 功能了,他很固定你,如果你按下了 q 键,我就退出,整个这个循环也就关闭啊,就把整个程序都给他终止了。最后呢,我们会关闭所有的资源。二十 说关闭所有的资源,怎么关闭呢?是不是我们有个叫 cap, 对吧?哎,我看一下是不是在 这边有个叫 cup, 对吧? frake 应该是我们的 cup 点 release release, 然后呢? 然后是什么?是我们的 cv, destroy or windows, 没问题吧?我们会释放所有的资源,对吧?然后我们看一下有没有问题, 没问题,看一下。我担心这个坐标显示的时候可能会有点乱,因为这个坐标你需要算一下的他那个位置,不过影响不大。我们先看一下有没有问题,我们先运行一下,看一下效果。 哎,好像有问题哦好像有问题哦。在这里他说 list index out of range 超出了界限,在四十八号,在这里我们看一下是哪里的问题 啊?二个,对吧? indexes, 然后我们这边用了一个 f matches, 对吧?匹配,我们进一个匹配,然后呢,如果如果他匹配上了,我们就找到他对应这个 names, 对吧?看一下哪里的问题 哦,错呢?你看到他这里说超出了这个范围,其实啊,这里是没有问题的。错,是错在哪里呢?我们这边啊漏写了一个,一漏写了一步,就是在这里漏写了一个东西,在这里出错了, 就我们这边必须要加上他的一个坐标,不一个啊?这个零为什么呢?要提取一下呢?因为我们这边呢,你会发现我们这边是一个人脸,对吧?那么我刚才讲过了,如果这张图 边上有多张人脸的话,那么你这边他肯定就说你这个返回,如果我不写零的话,他返回的是一长串的这个这个 encoding, 就所有的编码,比如说三张人脸,那么他这边拿到的 就是三张人脸的一个特征变吧。那今那我们这边是一个数据库,我们知道他只有一张人脸,所以说我们就只只取第一个人脸的一个数据,所以我们这边必须要加上零, 这个他的作用就是说我们提取里面第一个人脸的一个特征编码,第一个人脸特征编码,我们比如我们这个图片他就一张人脸,对吧?那么我这边计算出来之后,你一定要把它提取一下,就加上这个零, 他就提取他的这个第一个特征编码,如果你这边不加上的话,他就会报错,而且报错呢还很奇怪,他还报错在这里,这里根本就没有超出他的界限和 范围,所以呢我们这个写代码呢,他有时候我们一旦一不小心啊这个就报错,而报错之后你会花很多时间去找这种小问题,这种小问题有时候你很难去一下子找到的,就是,所以我们这个一定要注意,一定要注意,那我们在运行下看看 有没有问题,如果有问题我们就再找问题,我们运行一下让一下, 哎,现在是没有问题,对吧?只是呢他有点卡, 他只是有点卡而已,我们先退出。 呃,有点卡,主要是第一个呢卡可能和我们这个算法有问题吧。还有一个呢, 就是我们这边这个视频,可能这个框窗,这个窗口太大了,我把这边稍微调小一点。怎么调?我在这里稍微调小一点,比如 friend, 对吧?然后点 recise, 我把它呃,把它 recise 一下就行了。应该是这样 re recise, 然后呢?我们的 frame, 然后原图我把它调小成一半吧,就把窗口缩小为一半,这样一半大小,这样会快一点。可能会,我们这样试一下,我们再运行一下,看一下 把窗口调小一点,这样可能会速度快一点,哎,这样就可以了,对吧?你看这样它的速度会比较快一点,只是我们这个字体它显示到上方去了,我们要把这个 这个这个位置要调一下,不然那个字体在上方,对吧?我们再推出再改一下字体,再改一下这个坐标,这个坐标我们这个坐标要改一下,我看一下他往上跑了,往上跑了,就字体在这里,他往上跑了,我们只要改这里就可以了。把这几个改一下。 怎么改呢?他这个应该是不对的,这个应该是因为他往上跑了,往上跑了,我们这边肯定要减十,减十,然后左边左边加十吧, 试一下看下效果怎么样就行了。然后这边不是加,应该是减往下跑,往上跑了,这样我们再再运行,看下效果是怎样的。我们再运行一下这个,这是一个坐标的调整,如果你发现这个坐标他跑的就是 有点偏了,你可以调整一下。哎,这样就这样就可以了,你把坐标调整之后啊,他这个大小这样就可以了,对吧? 你看他现在有时候识别,是啊, no, 无法识别,然后有时候又能识别出刘德华,对吧?把我识别错误了,对,他,因为为什么他会识别错?主要就是我们这边的 数据库的素材太少了,就两张图片,所以呢,他的特征是太有限了。那么接下来呢,我们有另一门课程,就是深度学习,也就轻松学这个拍 touch, 也就深度学习的一个框架。那这是我们新的一门课程。接下来呢,我会通过卷机神经网络来给大家讲一些这种人脸识别的一些项目,它的精度包括速度啊,比这个要快的多。我们这个是算法比较传统,用的是 他集成了一个算法,比较传统,然后呢也比较慢,当然也和我的机器有关,因为我是笔记本乐鱼app,所以他跑起来速度就比较慢,如果你的这个设备比较高级高配, 那可能速度就比较快点。好了,那今天我们这个任务呢,就就先讲到这里,应该刚才出现一个问题啊,主要就是我们这边 要把它提取,第一个我们这个没有提取,所以他就会报错,他会报错这种小问题,其实有时候你你很难发现的,要去找一下。 ok, 那今天任务呢,我们主要是这样的,已经实现好了,那这个代码,包括整个项目的代码我都会分享在我这个云盘里面, 各位朋友可以在视频下方去找一下这个链接啊,可以找到所有的这个项目,包括代码、 ppt、 k。 那我们再稍微看一下这几个方法吧,这是我们今天调用的几个方 方法,像 distance, locations and the marks, 关键点对吧? includings, 然后比较人脸。然后呢,这边有个 ipa 的文档,改进去的朋友呢,可以去看一下,去看一下他这个官方文档。 ok, 那今天我们任务呢,先到这里,如果啊,你有任何疑问呢,可以在视频下方给我留言,那么我将及时啊进行一个回复。那欢迎各位朋友呢,继续学习后续的课程,拜拜。
哎,大家那个中秋快乐啊,刚过节,今天是过了节以后上班第一天,今天事不太多, 给大家伙聊一聊这个人脸识别,最近尤其是今年这个 锁上用人脸识别的技术这个越来越多了,最近有总总总有一些朋友打电话问,什么三弟啊,什么两弟啊,谁的好啊?我说我一做指纹的, 我对人脸了解也不多,我也不懂这玩意啊,但是这个总有一些朋友问,问到了,正好我差不多,我们是在一五 一六年的时候做过一段这个人脸的算法,还有这个车牌,停车场的车牌识别的算法,算是有一个简单的了解吗? 既然大家伙都经常问了,那我就录一段,我们简单的 给大家伙介绍一下现在这些人脸识别的一些基础基础情况,作为科普啊,就不作为技术探讨 分,呃,大体上是分两地和三地的,现在大家伙总是在说,哎呀,什么是两地的呀,什么是三地的呀?谁家的好啊?待会总是讲这些情况,我就今天给大家伙聊到哪算 哪啊,就是讲一下我的认识,那两地的人脸识别呢?主要是,呃, 传统的这个算法吗?主要一些利用一些数学的办法,数学的方法, 呃,从图像这个,从这个图像里面提提取出来特征,那这个这个特征呢?一般的他的理论基础就是说,呃,他的尺度不变性, 你比如说,哎,像一个他首先人脸检测,检测到人脸, 在检测到你,比如人的眼睛,鼻子和嘴巴下巴,然后 这个面部的宽度,一般的检测的好像最早一些国际比赛人练比赛里面都会有检测到六十八个点呢,多少个点吗?根据检测到这些点的点与点之间的几何不变性, 打个比方就是你两个眼睛之间的距离对不对?眼睛离鼻子和嘴巴之间的相对距离,就是利用一些数学呃数学的方式和一些人脸的呃人脸上面的一些 各个器官的,还有一些各各个特征点的这个相对的距离 去计算这个人去做人脸识别。但是这是一个简单的一个轮廓大体 的呃理论基础啊,就是利用这种利用这种数学的方法去算,去做人脸识别这些传统的方法,我们就把这一类的人脸识别呢 叫这个两地的人脸识别,这是比较传统的一些。那三地呢?三地又分好多种, 三 d 的又分,你看双目三 d 啊,哎呀, 三 d 结构光和 t o f, 这个三 d 分好多种,我们先看一下这个双目三 d。 双目三地呢?他是什么意思呢?他就是根据人眼睛人眼的这个 视觉差差距吗?这以及这个三角形的原理,呃,就是很容易得到一个位置啊, 你别说这个,这个位置在左眼,在右眼上的坐标是不一样的,就是根据三角形的原理 能得出来反推出来一个三 d 的图像跟人的眼睛是一样的吗?就是你像我们这个人两个眼睛去看一个东西, 我们当然能可以看得出出来哪是立体的,哪是平面的吧,对吧?所以说他这种呢,也是利用这个人眼的原理, 根据这个视觉的视觉视差在这个两个眼睛上的两个摄像头上面的。还有一种就是三 d 结构光,他基本原理就是他有个激光器, 呃,极叫什么叫极光投射器啊?他投射一些光线,这个光线是投射出来是有结构性的,你比如说在这个工业用途上就是说。 嗯,三 d 扫描,他们用一般的用最多的就是条状、线状。三 d 结构,结构光就打出来 就是均匀分布的,打到这个物体上一些线条,横线条或者竖线条。 如果他是个平面的,那我摄像头抓回来的呢?就是我打出去是什么样的线条,我反反射回来还是什么样的线条? 如果他是一个三 d 的,如果他是一个凹凸不平的面,或者说他是一个立体的面,那我打出去的这些线条会被破坏掉 是什么意思呢?你别说我是个平面,我打打上一百个线条,间距相等的一百个线条,那我摄像头抓出来还是一百个间距相等的线条吗?如果他是一个立体的,那就有可能会破坏掉 里边正好高的地方或矮的地方,对吧?那这个线条就会变形吗?那根据这个线条的变形,然后反推出来他的立体 的一个东西,那人脸识别也是一样啊,那 iphone 他就是打,打出来很多点。呃,他打的那个点呢?是经过编码的,他打出去那个点一组一组的,每一组那个点与点之间的间距啊?点与点之间的结构啊, 他是确定的,他是预先知道的乐鱼app,所以说他可以通过摄像头拍到打到你脸上那些点的 变化和破坏程度,反推出来你这个人脸的这个三 d 结构,这就是三 d 结构光的。嗯,基础原理 就根据这个反推回来的这个,这个你立体,立体的东西, 对这个你打出去的这结构光的破坏程度, 就可以得到一个深度信息,最终得到一个 立体的三维的一个数据。你看这里打出来一些光线, 如果他是平的,那他是均匀分布的,如果他奥迪不平的这个摄像头就拍出来就是破,破坏了这个结构光乐鱼app,这个估计再这样讲不好理解,一会我们找几张图片详细解释一下,这是三 d 结构光乐鱼app下载, 这个也是三 d 人脸识别, 那刚才我们讲下双目三 d, 这是结构光三 d, 还有一种就是 叫他们叫 tof, 就是 to f 三 d, 其实它的原理也不复杂,原理就是说你看打出一个光线, 然后这边这边一个摄像头 打出去的光线通过反射反射到摄像头的把面上,那我们已知的是什么呢?已知是光速是确定的, 光速是恒定的,如果和这边是一个平面,那他反射回来的图像的时间差呢? 应该是恒定的,应该是必然是是一样的。如果他是凹凸凹凸不平的呢?那他打出去的光线,你比如说他是凸起的部分,反射回来的时间肯定短吧? 如果他是凹的,那反射回来的时间肯定是有长吗?通过这个时间差来得到一个被测物体的一个一个三 d, 三 d 这个图像推算出来一个三 d 图像, 一般的这种 tof 的这种三 d 呢?首先他有个激光发射器, 然后呢 他有个接收器,接收器是个什么呢?基本上就是个全局全局曝光的摄像头。这种阿基宾的 摄像头啊,他是成像的,他是一行一行成像的,再传出去的像这一类的摄像头啊, 他就没有办法做 tvf, 因为这个光速是很快的呀。你,你现打到这个脸上的鼻子和这个嘴巴,这个就这么点距离,他相差就是相差多少那秒, 所以说他要求这个摄像头曝光一定是个全局曝光摄像头,就夸一下,一次性把所有图像全部曝光。 而现在我们用的这种摄像头啊,传统的这种 igb 摄像头都是一行一行曝光的,所以说他慢,他曝光了第一行,他妈第二行还没来得及曝光啊,这个这个反射回来早就过了,是吧? 所以说传统的摄像头不行,我的理解啊,有可能是不对的,我的理解 ttuf 这个传感器就是他妈一个全局曝光的一个摄像头。 tof 的好处就是说他技术门槛比较低,把这摄像头全局曝光,这摄像头搞定就好了,这往外打点,这边,这边往外打光,这边收就好了。 tvf 理论上也是应该成本比较低,比较可靠的,但是现在好像是 全剧曝光摄像头成本比较高吧。 这刚才我们讲到这个,目前主流的三种,这个 三 d 人脸识别的主流技术。呃,双目三 d 就是用两个摄像头去做三 d, 就是利用这个人眼的原理吗?就是视觉差,三 d 人脸利用结构光, 利用 tof 去做三 d 人脸识别。 呃,那他们的优缺点呢? 其实目前呢,就是说是三弟啊,我的理解就是说是三弟,其实不是三弟,全他妈是骗人的, 你说两地其实也不是真两地,你比如说像这种三 d 结构光,包括 苹果用的这种,他往你脸上不管你打几万个这个点,那分辨率还是很低的嘛。 抓出的真正的三 d 图像头像都像他妈鬼一样, 根本不足以去做一个人脸识别, tof 更不要说了,那反射回来的那个图像更更像个鬼一样,我们可以看一下, 你看这个,这个就是一个典型的目前的 tof, 或者说三 d 结构光返回来的三 d 图像 很难像这种,对吧?这才是真正的三 d 的像这种点云打出来反射回来的这个只能 抓到一个分辨率极低的一个三 d 图像。所以说我说现在不管是什么,其实哪有什么真三 d 全他妈是假的, 都是两地加。两地加是什么意思呢? 都是利用了一个都是基于 rgb 图像或者说红外图像,就是都是利用两地的图像加了一个深度的信息, 因为目前不管是结构光还是透幅的精度都达不到高高分辨率的三 d 图像,这也是为什么现在都需要一个 rgb 摄像头的主要原因。所以说谁也别说什么三 d, 三 d 只是待会口头上叫的 习惯了而已啊。我这是三 d, 三 d, 你说的是不是三 d 吧,他还他他他也有深度信息,你比如像托付啊或者结构光啊,他都有深度信息, 包括这个两地的。 所以说现在整个真正的理论上,包括理论是理论,实际上目前 实际上目前没有真正的三 d 识别。你三 d 识别就应该是完全用三 d 图像去做人脸识别的吗?目前没有。