智能门锁不安全?工程师自己造了一个AI人脸识别门锁

2019-01-30 09:39:35 来源:EEFOCUS
标签:

iPhone X Face ID反复打开了一扇窗,人们开始意识到通过AI深入学习他们的脸比他们的指纹更加独特和准确。


我们构建了一个平台,展示了AI如何在Ultra96和Intel Movidius NCS以及Tensorflow Inception Facenet上运行。 该项目可以扩展到使用面部识别来解锁,记录进出情况,打开不同的灯光场景。


TensorFlow Facenet
我们使用基于 https://github.com/davidsandberg/facenet的 Facenet 以及Movidius的SDK。 Xilinx Ultra96 FPGA非常适合处理OpenCV,我们将通过NCS推断面部识别。


Facenet不是一种经过训练的分类器,可以将面部归类为属于受过训练的特定个体。 相反,它被训练为一般地在面部上找到并量化地标。 通过比较两个图像上的面部界标量化值(网络推断输出),可以确定两个面部是同一个人的可能性。 这使我们能够创建一种简单易用的方法来对单个图像进行面部识别。Movidius将用于在边缘设备上实时推断AI。

 


Facenet image from Cole Murray's tutorial


第1步:收集材料
我们需要以下物品:

 


Materials needed

 

第2步:设置Netduino 3 WiFi
Netduino是一个基于C#和.NET的物联网板,具有很多功能,这样我们就可以基于C#创建整个项目。


从 https://visualstudio.microsoft.com/vs/mac/ 安装Visual Studio ,在 这种情况下我使用的是Mac。 然后转到Visual Studio社区菜单 - >扩展 - >图库,并搜索“MicroFramework”以安装Micro Framework。

 


Micro Framework

 

按照此页面的说明更新最新固件
http://developer.wildernesslabs.co/Netduino/About/Updating_Firmware/#mac
安装最新固件后,我们需要通过Netduino Deploy设置WiFi网络,以便设备连接到互联网,我们将在这里使用静态IP。

 


Netduino Deploy


第3步:连接硬件
因为因为锁需要12v并且Netduino的常规输出只能提供5v,我们需要通过顶部的焊接2线接入Netduino的电源,如下图所示,这将允许我们在没有额外电源的情况下打开和关闭锁舌。


Modified Netduino with 12v Output


然后我们可以从设备中点击12v的输出直接连接到继电器,一个连接到门锁,因此继电器将从电路板本身接收+12v电压,对继电器接收负电压。连接方式如下图


Wiring Frame


第4步:设置Netduino Webserver
我们现在可以使用以下代码连接到计算机。 当它工作时我们可以进入下一步,我们已经创建了一个Netduino Web服务器,供其他设备通过WiFi网络连接。 以下代码设置了插座,当接收到“ON”时,它将打开LED和继电器,这使我们可以打开锁。

上传后,你会看到下面的图像,连接互联网。 一旦部署在Netduino上,我们就可以在终端上使用以下命令


Netduino Webserver解锁Deadbolt,如下所示


Netduino Unlocking Bolt


第5步:安装PYNQ linux
Ultra96很新,但可以非常友好地运行基础Ubuntu,这是一个很大的优势,因为这允许我们在ultra96上构建不同的平台。 编译后的debian版本可以从http://fileserver.linaro.org/owncloud/index.php/s/jTt3MYSuwtLuf9d下载。之后我们可以使用像ether这样的工具将它加载到mini-SD卡上。

 

 

在启动时,我们首先必须通过删除损坏的repos来修复一些错误。


sudo rm -r /var/lib/apt/lists/*


这允许我们根据需要安装所有软件包以使用该平台。


第6步:安装Movidius NCSDK
为了让AI和Computer Vision工作,我们可以使用Movidius NCS,它具有一套工具来运行我们的项目。 Ultra96没有演练,所以我们基本上通过https://movidius.github.io/blog/ncs-apps-on-rpi/引用了这个。


首先我们必须安装依赖项,这部分没有PYNQ,所以我们将安装它们以确保一切正常。


接下来我们可以安装NCSDK SDK,它包含可以将应用程序连接到NCS的API。 由于NCSDK不是为Ultra96构建的,我们可以使用 markjay4k的 版本 对变通方法进行以下修改。


这项工作应该让我们使用与Ultra96和PYNQ一起使用的NCSDK API

 


NCSDK on PYNQ


接下来我们将尝试让NcAppZoo和Hello World运行神经计算棒,我们需要在pynq上重复旧的python 3.6


步骤7:使用Ultra96和NCS在边缘AI
在本指南中,我们将使用经过预先培训并与Caffe合作的SSD神经网络,我们还将学习如何利用其他神经网络进行一些工作。

 


Ultra96 with Movidius NCS


在这一步中,我们之前已经训练了通过caffe模型,我们必须在另一台机器上编译图形,因为我们只安装了API而不是工具包,因为它们不是为aarch64构建的。 但是,由于API可以工作,我们可以简单地在另一台机器上构建它并将图形文件传输到Ultra96。 FPGA可以处理所有CV2和Movidius NCS。


使用Facenet安装Movidius NCS


压缩整个文件夹并将其复制到ultra96上

 

第8步:构建面部识别验证
Movidius App Zoo应该能够获得NCS和OpenCV的整个软件堆栈,接下来我们可以创建自己的文件夹并基于video_face_matcher示例运行。 我们只需要在validated_images下更改验证图像,因为facenet可以根据此进行训练。 你可以在github repo上看到完整的代码。

 


validation image


使用以下代码,我们应该能够访问WiFi点与使用手机的WiFi Arduino锁相同。我们如何做到这一点,特别是确保我们已经验证了超过10帧的图像,以避免误报。


当我们识别出错误的脸部时,我们可以显示周围的红色边框,以指示检测到错误的人物。

 


Wrong person detected


当检测到合适的人时,我们可以在周围显示绿色边框,一旦通过10帧,我们就可以使用它来解锁锁舌

 


Validated


效果演示(点击查看动图)

 

你想不想自己做个AI门锁?感兴趣的话请访问:
https://www.hackster.io/Nyceane/ai-facial-recognition-wifi-lock-7f9705
 

与非网编译内容,未经许可,不得转载!

 

有人说硬件技术将很快达到极限,而在我们看来,硬件创新,尤其是中国硬件工程师的创新,还远未走到尽头,而只是刚刚开始。作为致力于为全球硬件开发者提供技术共享服务的平台,与非网母公司SupplyFrame旗下最大的全球硬件开发者社区Hackaday.com已连续五年举办全球硬件开发者大赛Hackadayprize,有超过3000多个硬件团队在这个赛事中互动交流、切磋技艺。

 
这个《硬件改变世界》系列,我们挑选在前几届Hackadayprize大赛中获奖的优秀作品加以展示,硬件技术可以多有意思,硬件开发者可以多有创意,从这些作品中你可以看到。
 
2019年3月,Hackadayprize中国区赛事将隆重开启,我们很期待看到国内的硬件开发者大开脑洞、大展技艺。你准备好了没,与来自全球的硬件开发者同台PK?
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
从分析师大会的九个关键词,读懂华为如何思考
从分析师大会的九个关键词,读懂华为如何思考

相信大家都知道,关于华为的企业智慧和发展经验,有大量的文章和专著去讨论。这些论述不仅是ICT产业从业者和企业管理者的“必备教材”,甚至已经在某种程度上成为了“大众读物”。

中国学术力量不容小觑,首届华人带头的国际分布式 AI 学术会议将于北京召开

近年来,随着中国的学术实力不断增强,越来越多的学术顶会移步中国。IJCAI2019、IROS2019 将于澳门召开,EMNLP 也在今年花落香港。伴随着一波波涌向中国的学术浪潮,北京也将于今年 10 月迎来一个全新国际学术会议——DAI(Distributed AI),重点关注分布式人工智能。

时隔一年再发布云平台,汇医慧影的 AORTIST 3.0 有何亮点?

在学科深度层面,AORTIST能提高手术的精准度,为患者提供个性化随访计划;在学科宽度层面,帮助基层医生拥有更好的诊疗水平,推进血管学科建设。”

云知声秀出全栈 AI 硬核技术

云知声董事长/CTO 梁家恩博士与多位云知声技术专家向深圳的合作伙伴、行业人士全面的秀出了全栈 AI 硬核技术,并与腾讯杰出科学家/腾讯 AI Lab 副主任俞栋、携住科技联合创始人叶明、同行者科技联合创始人叶维、金鹰卡通卫视产品总监戴文博、三诺声智联副总经理乔峤等多位嘉宾,剖析了 AI 技术在酒店、车载、教育等领域的应用及落地。

【技术分享】OctConv用更低计算力做到更高准确率

近几天,一篇改进卷积网络的论文引发了不小的关注和讨论。简单来说,这篇论文对传统的卷积操作做了简单的通用改进,就同时获得了更低的计算能力消耗和更高的准确率。知名机器学习研究员、「GANs 之父」Ian Goodfellow 就在推特上公开称赞了这篇论文。

更多资讯
【技术分享】英特尔10纳米Agilex FPGA核心技术全解读

英特尔的10纳米FPGA终于来了。在四月刚刚结束的英特尔“以数据为中心创新日”中,曾经代号为Falcon Mesa的英特尔最新一代10纳米FPGA正式亮相,并正式命名为Agilex™。

【技术分享】使用EPROM或EEPROM配置FPGA大家都会,使用NOR闪存呢?

NOR闪存已作为FPGA(现场可编程门列阵)的配置器件被广泛部署。其为FPGA带来的低延迟和高数据吞吐量特性使得FPGA在工业、通信和汽车ADAS(高级驾驶辅助系统)等应用中得到广泛采用。汽车场景中摄像头系统的快速启动时间要求就是很好的一个例子——车辆启动后后视图像在仪表板显示屏上的显示速度是最为突出的设计挑战。

【技术分享】详解FPGA中的DDS技术

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。

高云半导体研讨会圆满召开,累计出货已达1500万片

2019年4月12日,中国武汉,高云半导体FPGA技术研讨会系列活动于武汉凯悦酒店成功召开,现场气氛热烈,座无虚席。

高云半导体研讨会圆满召开,累计出货已达1500万

2019年4月12日,中国武汉,高云半导体FPGA技术研讨会系列活动于武汉凯悦酒店成功召开,现场气氛热烈,座无虚席。

Moore8直播课堂
开发板测评
技术讨论
电路方案

1970-01-01 08:00:00