农业无人机
工业无人机
军警无人机
娱教无人机
水下无人机
反无人机设备
无人机配件
无人机租赁
无人机培训
当前位置:全球无人机网 » 无人机技术 » DIY » 正文

200美元“造”出一台可由语音控制外加能进行人脸识别的自主飞行无人机

发布日期:2016-11-18  来源:Parrot派诺特我要投稿我要评论

    运用语音来控制无人机

进行语音识别部分开发的难点并不是识别本身,而是如何把语音流从运行在我本地服务器上的网页里转换成微软Speech API可以使用格式。下面的代码就是实现这个功能的。一旦你能把语音保存成单声道和以正确的采样频率采样后,这个语音识别API就能很方便地识别语音内容。这个API的花费是1000次请求4美元。对于业余应用来说,基本相当于是免费了。

RecordRTC是一个很好的库,可以用来作为以网页为客户端的语音采集的新手入门的工具。在客户端,我就加入了保存语音文件的代码。

app.post(‘/audio’, function(req, res) {

var form = new formidable.IncomingForm();

// 设定允许客户在一个请求里上传多个文件

form.multiples = true;

form.uploadDir = path.join(__dirname, ‘/uploads’);

form.on(‘file’, function(field, file) {

filename = “audio.wav”

fs.rename(file.path, path.join(form.uploadDir, filename));

});

// 记录发生的错误日志

form.on(‘error’, function(err) {

console.log(‘An error has occured: \n’ + err);

});

// 一旦所有文件上传完成,才给客户端发相应

form.on(‘end’, function() {

res.end(‘success’);

});

// 解析出请求里包含的表单数据

form.parse(req)

speech.parseWav(‘uploads/audio.wav’, function(text) {

console.log(text);

controlDrone(text);

});

});

我使用FFmpeg工具来降低音频的采样率,并把多声道合并成单声道,以供微软API使用。

exports.parseWav = function(wavPath, callback) {

var cmd = ‘ffmpeg -i ‘ + wavPath + ‘ -ar 8000 -ac 1 -y tmp.wav’;

exec(cmd, function(error, stdout, stderr) {

console.log(stderr); // command output is in stdout

});

postToOxford(callback);

});

尽管我开发的功能就是这些,但是还是可以继续扩展。比如用微软的文字变语音的API来让无人机说话!

    开发自主搜索路径


我使用ardrone-autonomy库来为无人机开发自主搜索路径。在此过程中,我无数次地把无人机弄得撞到了客厅的家具和植物上。最后,我妻子很“客气”地建议我去车库里继续我的项目,因为那里没多少可以撞的东西。但是车库的地方有点小,使得操控空间有限。



图3:在我的“实验室”里试飞无人机。图片由Lukas Biewald授权使用

在我能有一个更大的实验空间后,我会尝试更智能的搜索算法。不过,现在我还是只会让无人机做起飞和旋转的动作,以此来搜索发现人,并识别是敌还是友。

var autonomy = require(‘ardrone-autonomy’);

var mission = autonomy.createMission({ip: ‘10.0.1.3’, frameRate: 1, imageSize: ‘640:320’});

console.log(“Here we go!”)

mission.takeoff()

.zero()         // 把当前状态作为参考基准

.altitude(1)

.taskSync(console.log(“Checkpoint 1”))

.go({x: 0, y: 0, z: 1, yaw: 90})

.taskSync(console.log(“Checkpoint 2”))

.hover(1000)

.go({x: 0, y: 0, z: 1, yaw: 180})

.taskSync(console.log(“Checkpoint 3”))

.hover(1000)

.go({x: 0, y: 0, z: 1, yaw: 270})

.taskSync(console.log(“Checkpoint 4”));

.hover(1000)

.go({x: 0, y: 0, z: 1, yaw: 0

.land()

    全都搞定后的效果

看下面的视频。我让无人机起飞并去找我的朋友Chris:

    结论

在一切都配置妥当之后,就可以通过API来控制无人机,获得拍摄到的视频图片,这一切都爽爆了!随着新的图像识别技术可供使用,可能的应用必将越来越多。比如,让无人机根据房屋平面图来刷墙。虽然Parrot无人机并不是设计来为在狭小空间(比如我的房子)里安全飞行的,但随着无人机越来越皮实,价格变得更低,我相信真正有用的应用将会进入爆发期。

微软的认知服务云API是相当得好用且便宜。最初我比较担心无人机所用的广角摄像头所拍摄的图片会影响人脸识别的准确度,另外螺旋桨的噪声可能会对语音识别产生干扰。但整体而言,这两个API的表现远超我的期望。同时处理延迟也低于我的预期。从架构设计角度来看,在云端运行机器学习实时图像处理似乎是一个奇怪的选择,但它可能会成为未来很多应用的架构选择。

Lukas Biewald

Lukas Biewald是CrowdFlower的创始人兼CEO。CrowdFlower始于2009年,是一个数据增强的平台,可以帮助企业获得随需的人力来收集、产生训练数据,以及参与人-机器学习循环的工作。 在从斯坦福大学拿到数学学士和计算机科学硕士学位后,Lukas领导了雅虎日本的搜索相关团队。随后他去了Powerset,作为一个资深数据科学家进行工作。2008年Powerset被微软收购。Lukas还被《公司》杂志评选为30位30岁以下的著名人士。 Lukas还是一位专家级的围棋选手。
 
本文链接:https://www.81uav.cn/tech/201611/18/209.html
标签:  
0相关评论
免责声明:凡注明来源全球无人机网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,请注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

图文推荐

推荐新闻

推荐品牌

关于本站

合作服务电话

  • 客服热线:0755-23779287
  • 展会负责:18682042306
  • 广告合作:点击这里给我发消息
  • 展会合作:点击这里给我发消息

公众号/APP下载


    (公众号)


    (Android下载)

Copyright©2005-2021 81UAV.CN All Rights Reserved  访问和使用全球无人机网,即表明您已完全接受和服从我们的用户协议。 SITEMAPS 网站地图 网站留言
运营商: 湛江中龙网络科技有限公司 全球无人机网 
ICP备案号:粤ICP备2023038372号-1 
全国公安机关 备案信息 可信网站不良举报 文明转播