真会玩,程序员用AI认双胞胎儿子!“这个树莓派版人脸识别系统,没我认得准”
到了 2021 年,人们普遍认为,通过学习算法和人工智能研究,机器在很多方面都优于人类。
长期以来,机器一直主导着制造业和供应链领域,甚至开始涉足更复杂的任务,比如自动驾驶,甚至撰写高难度综合类文章。但是,在面部识别方面,机器的发展真的已经超过人类大脑了吗?

举个例子,我最近购买了一部带有指纹识别器的手机,我问我的儿子们是否想做一个小实验:一个将指纹录入,然后另一个用自己的手指去解锁,这显然是行不通的。事实证明,多种环境因素(其中只有一种是基因)驱使了子宫内的“指纹”形成,因此双胞胎通常具有不同的指纹。


WiFi:启动 Pi 时,需要将其连接到本地网络。创建一个名为 wpa_supplicant.conf 的文件,并将其放在 SD 卡的顶层。确保文件格式为纯文本,并以 .conf 结尾。保存文件之前,添加你地理位置的两个字母的国家/地区代码以及 WiFi 网络的 SSID 和 PSK(保留双引号)。

SSH:由于我们将 Pi 设置为无头运行(没有监视器),因此我们需要一种连接到它进行管理和配置的方法——使用 SSH。要启用 Linux SSH 守护程序并自动进行,请将一个名为 ssh 的文件放置在 SD 卡的顶层,该文件不包含任何内容且没有文件扩展名。 视频:我们将在没有显示器连接的情况下启动 Pi,但仍希望在对其进行远程控制时启用视频,因此即使没有被检测到,我们也必须强制 HDMI 处于活动状态。编辑 SD 卡顶层的名为 config.txt 的文件,然后取消 hdmi_force_hotplug = 1 行的注释。
现在弹出 micro SD 卡,将其插入 Pi,连接到电源并打开。大约一分钟后,Pi 应已完全启动,并应连接到你的 WiFi 网络。检查 WiFi 路由器以获取 Pi 的 IP 地址。
现在,通过打开终端(在 Mac 上)或使用 Putty(在 Windows 上)和 SSH 将 IP 地址作为用户名“Pi”(默认密码为“raspberry”)来验证你可以连接到 Pi。
以 pi 用户的身份通过 SSH 连接到 Pi,并确保你位于 pi 用户的主目录中:cd~ 在Github上克隆我们的Raspberry Pi面部识别存储库的副本:git clone https://github.com/tomalessi/pi-facial-recognition.git 执行安装脚本(大约需要 1 个小时):pi-facial-recognition / pi-setup.sh
Pi 设置:SSH 到 PI,执行命令 sudo raspi-config,向下滚动到界面选项 →VNC 并启用它。启用此功能后,你需要重新启动。 工作站设置:从 RealVNC 下载并为你的平台安装 VNC Viewer(免费下载)。安装完成后,使用其 IP 地址设置从 VNC Viewer 到 Pi 的新连接,并确保你可以登录。成功登录后,你将会看到 Raspberry Pi OS 的背景。
通过执行以下命令并在观看实时视频后按空格键来拍照:python pi-facial-recognition / face-req.py -c photo -n Tom 通过将 -n 参数替换为另一个参数来继续为他人拍照名称。在终端窗口中按 ctrl + c 退出。 训练模型:python pi-facial-recognition / face-req.py -c train。分析每张照片,然后将结果序列化以用于分析视频时,大约需要 10 秒钟。 分析视频并应用面部识别模型:python pi-facial-recognition / face-req.py -c analyze。大约十秒钟后,应该开始直播视频。识别出的所有面孔将被标记为该人的名字,否则面孔将被标记为无法识别。按“q”退出。 清理环境并重新开始,请执行以下操作:python pi-facial-recognition / face-req.py -c clean。
注意:我们尝试了另一种实验,即以不同角度拍摄 10 张照片,但这并没有改变结果,可能是因为我们使用的是面向梯度直方图(HOG)的面部识别方法,它只适用于正面照片。



Alexander(左),Nicolas(右)
Alexander(左),Nicolas(右)

注意:即使是一张 12 岁的静态照片,我和我妻子也很容易马上分辨双胞胎。

为了提高系统的准确性,我想尝试一些不同的面部识别技术,比如利用 Dlib 支持的卷积神经网络(CNN)(尽管 Raspberry Pi 受其计算能力的限制),或者让 Pi 调用 GCP、AWS 或 Azure 中的公共服务进行面部识别。
学术界对双胞胎面部识别的研究也越来越多,因此技术肯定会继续改进,以解决我们在此处指出的一些现有缺陷——我和我的儿子们肯定会关注这个领域。

关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 三个层面看我国民营经济发展前景 7957010
- 2 小伙30多万买机器人对外租8000一天 7939497
- 3 客机西安起飞后返航 引擎冒火光 7844280
- 4 产业“破题” 绘就振兴“答卷” 7790996
- 5 4人喝100瓶酒1人坠亡 KTV被判赔48万 7672582
- 6 偶像剧终于有不回避成长女主了 7502854
- 7 有商家盗版哪吒周边卖了200万元 7469326
- 8 女孩逃票进景区后坠亡 景区被判无责 7309672
- 9 8岁孩子厨房玩刀意外刺破肝脏 7263364
- 10 姚晨闷声干大事 7185901