白癜风在什么医院好 http://m.39.net/pf/a_4784152.html大数据文摘授权转载自学术头条编译:吴玲竹人脸识别能不能识别双胞胎?这个问题估计很多人想过,但是很少有人会付诸实践去探索。巧的是,一位拥有一对双胞胎儿子的技术人员对这个问题产生了兴趣,于是他用树莓派构建了一个人脸识别系统,试图用AI来认儿子!结果显而易见,由于两个儿子长得太像,AI识别还没有他自己认得准。在一篇博客上,他记录了整个实验的过程,以下是博客全文。到了年,人们普遍认为,通过学习算法和人工智能研究,机器在很多方面都优于人类。长期以来,机器一直主导着制造业和供应链领域,甚至开始涉足更复杂的任务,比如自动驾驶,甚至撰写高难度综合类文章。但是,在面部识别方面,机器的发展真的已经超过人类大脑了吗?13年前,当我的同卵双胞胎儿子出生时,我和妻子很容易认出哪一个是Nicolas,哪一个是Alexander。在旧金山加利福尼亚太平洋医学中心的新生儿重症监护室(NICU)陪伴了他们8周后,我们知道如何将他们的个人行为与名字相匹配。我们很早就学到了大多数同卵双胞胎父母都会掌握的东西:一个人是谁,不仅取决于他的长相,还取决于他走路、说话的方式,以及在与世界互动时的各种行为举止的差异。处理这个广泛的数据集使人类能够立即识别出我们所认识的人,包括同卵双胞胎。图|Alexander和Nicolas随着从识别罪犯到帮助我们购物等各个方面的广泛应用,面部识别在新闻中被称为“矩阵式的银弹”(Matrix-likesilverbullet),我一直在想,当数据集只呈现出非常微小的差异时,机器在辨别人脸方面能够做到什么地步?比如识别同卵双胞胎。深入探讨差异随着儿子们一天天长大,我们详细地讨论了他们基因组成的独特性质——本质上说,他们是从同一个受精卵中克隆而来的(注:这有一个频率非常高的“克隆”(“coolness”)因素,因为他们是《星球大战》中克隆人*队的忠实粉丝)。对他们来说,他们是完全相同的人,从相同的蓝图中创造出来。当然,它们之间是有区别的,这些区别使得我偶尔会将他们弄混淆,而且我猜测,机器也会分不清。相同的DNA是一回事,但是基因的内在表现和所处环境的影响,在人类随着时间变化和发展中起着重要作用。举个例子,我最近购买了一部带有指纹识别器的手机,我问我的儿子们是否想做一个小实验:一个将指纹录入,然后另一个用自己的手指去解锁,这显然是行不通的。事实证明,多种环境因素(其中只有一种是基因)驱使了子宫内的“指纹”形成,因此双胞胎通常具有不同的指纹。为了帮助回答有关“人类或机器谁更擅长识别同卵双胞胎”的问题,我决定设计一个比指纹读取器稍微复杂的实验,并邀请我的“小科学家们”(我的儿子)接受培训以提供帮助。构建实验对于这个项目,我想构建一个尽可能便宜的计算机系统,该系统能够运行执行和训练机器学习与面部识别模型所需的所有软件。我选择树莓派(RaspberryPi)是因为它具有极高的成本效益,其外围支持并且能够运行标准的Linux发行版以及所有编译软件所必需的工具。我现在已经拥有一些用于其他项目的RaspberryPi,因此我测试了三个,看哪种最适合该应用程序。PiZero可以正常工作,但在分析视频提要的帧并编译所有必需的软件时,它耗时48小时(是的,编译该软件需要2天)。对于任何想要运行类似环境的人,我强烈推荐Pi4b(8GB型号),因为它具有更快的处理器,多个内核和扩展内存。我们测试的三个Pi的详细细节和形状因子如下所示。该设置过程的其余部分假定使用Pi4b(8GB)。图
PiZero,Pi3b+和Pi4b-刻度铅笔这个项目还需要一个网络摄像头。我已经有一个LogitechUSB网络摄像头,该摄像头运行良好,无需安装驱动程序。任何现代的Logitech或类似的网络摄像头都可以使用。设置:步骤1设置Pi的第一步是将RaspberryPiOS闪存到microSD卡上并进行一些基本配置。为此,将RaspberryPi成像器下载并安装到工作站上。安装完成后,插入microSD卡(通常使用适配器),启动成像仪,选择操作系统和SD卡,然后选择“写入(Write)”。对于OS(操作系统),请选择RaspberryPIOS(32位),这是DebianLinux的端口,具有设置机器学习环境所需的一切要素。SD卡写入并验证后,请勿将其移除,将其重新插入Pi之前,还需要进行三个附加配置:设置WiFi,SSH和视频输出。WiFi:启动Pi时,需要将其连接到本地网络。创建一个名为wpa_supplicant.conf的文件,并将其放在SD卡的顶层。确保文件格式为纯文本,并以.conf结尾。保存文件之前,添加你地理位置的两个字母的国家/地区代码以及WiFi网络的SSID和PSK(保留双引号)。SSH:由于我们将Pi设置为无头运行(没有监视器),因此我们需要一种连接到它进行管理和配置的方法——使用SSH。要启用LinuxSSH守护程序并自动进行,请将一个名为ssh的文件放置在SD卡的顶层,该文件不包含任何内容且没有文件扩展名。视频:我们将在没有显示器连接的情况下启动Pi,但仍希望在对其进行远程控制时启用视频,因此即使没有被检测到,我们也必须强制HDMI处于活动状态。编辑SD卡顶层的名为config.txt的文件,然后取消hdmi_force_hotplug=1行的注释。现在弹出microSD卡,将其插入Pi,连接到电源并打开。大约一分钟后,Pi应已完全启动,并应连接到你的WiFi网络。检查WiFi路由器以获取Pi的IP地址。现在,通过打开终端(在Mac上)或使用Putty(在Windows上)和SSH将IP地址作为用户名“Pi”(默认密码为“raspberry”)来验证你可以连接到Pi。设置:步骤2安装过程的第二步是安装和编译所有必需的软件。为了执行面部识别任务,我决定使用OpenCV(开源计算机视觉库)和Dlib。OpenCV和Dlib具有许多优化算法,包括面部识别,已在工业界和学术界广泛应用,受到了良好的尊重和支持,并且具有用于Python编程语言的接口,这些接口可用于驱动模型训练和识别程序。互联网上有许多在RaspberryPi上设置OpenCV和Dlib的示例,但是我找不到任何简洁而全面的内容,因此创建了一个简单的包装程序来安装所有的必备软件并编译OpenCV和Dlib源代码。要下载和执行此包装程序,请执行以下操作:以pi用户的身份通过SSH连接到Pi,并确保你位于pi用户的主目录中:cd~在Github上克隆我们的RaspberryPi面部识别存储库的副本:gitclone