:COO、执行总编、主编、高级编译、主笔、运营总监、客户经理、咨询总监、行政助理等 9 大岗位全面开放。 简历投递:j[email protected] HR 微信:13552313024 新智元为COO和执行总编提供最高超百万的年薪激励;为骨干员工提供最完整的培训体系、高于业界平均水平的工资和奖金。 加盟新智元,与人工智能业界领袖携手改变世界。 【新智元导读】与新智元此前推荐过数据科技学家 Lukas Biewald 《用 TensorFlow 打造“会看”的机器人》。现在,他结合深度学习和便宜硬件,又自制了一台由语音控制、拥有人脸识别功能的自主飞行无人机。
(文/Lukas Biewald)在“造”出能进行物体识别的机器人后,下一步就很清晰了,我要“造”一个能飞的东西!我决定搞一个能自主飞行的无人机,并要它能识别人脸和响应语音指令。 选择一台成品无人机 开始“黑入”一台无人机的最难的部分就是如何开始。我最初的选择是用零件组装一台无人机。但和我完成的大部分的DIY项目一样,从零开始一般都耗费了太多的时间,还不如直接买一个成品。实话实说,我自己组装的无人机从来没有正常的飞行过。而买一台成品机就既省事又省钱。 绝大部分无人机厂商都宣称提供API接口,但对于业余玩家来说就没有一个明确的最佳选择。大部分能提供貌似可用的API接口的无人机都要超过1000美元。这对于入门级的玩家来说就太贵了。 但经过搜索,我发现Parrot AR 无人机2.0版(见图1)是一个低端可“黑”入无人机的极佳选择。新的售价是200美元,不过很多人在买了以后就不怎么再玩了,所以在eBay上花130美元或更少就能买到一个不错的二手货。
图1:我车库里的无人机收藏。最左边的就是Parrot AR无人机。图片由Lukas Biewald授权使用 论飞行稳定性,Parrot AR型不如更贵的Parrot Bebop 2型(550美元)。但是Parrot AR型所带的叫node-ar-drone的node.js客户端库是非常好用的。 Parrot AR型的另外一个优点是它非常皮实、耐摔。在测试自主飞行代码的时候,我的无人机频繁地撞到墙、家具、植物甚至是我们家的客人,开奖,并坠落。但它还是依旧能正常飞行。 比起“造”能在地上跑的机器人,“造”无人机最不爽的一点就是它的电池可用时间太短了。基本上是充电几小时,飞行十几分钟。所以我建议多买两块电池,循环充电使用。 给无人机开发程序 我经过实践发现,Java内在的事件驱动的特性使得它成为一种非常好的控制无人机的语言。请相信我,无人机飞行的时候,是有非常多的异步事件发生。我写Node.JS的时间并不长,但在这个项目过程中,我对它的印象非常深刻。 上一次我正儿八经地为机器人写程序用的是C语言。处理C语言的线程和异常是一件非常让人头疼的事,所以我尽量避免再使用它。我希望有人能为其他的机器人平台开发出Java的接口,因为这会让为机器人开发程序(完全无法预知会发生什么事)变得更简单更有趣。 架构设计 我决定在我的笔记本上运行控制逻辑,同时在云端运行机器学习的部分。这种架构设计比在树莓派板上直接运行神经网络的延迟要低。我认为这种架构对于业余无人机项目而言是合适的。 微软、谷歌、IBM和亚马逊都提供快速且便宜的机器学习API。最终我选择了微软的认知服务API来完成这个项目,因为它是唯一提供定制化的人脸识别功能的API。图2里展示了整个无人机项目的系统架构。
图2:智能无人机的系统架构。图片由Lukas Biewald授权使用 开始动手 默认地,直播,Parrot AR无人机2.0版自己可以提供一个无线网络,供客户端接入,但是这个功能却极度烦人。每次你要实验点东西,你都需要从本地网络断开,再连到无人机的无线网里。好消息是,有一个叫ardrone-wpa2的项目,非常有用,用它你可以“黑”进无人机,并让无人机连到你自己的无线网络里。 (责任编辑:本港台直播) |