今年初,大疆发布了一款mavic系列的新成员——mavic air随行无人机,号称全球最便携的可折叠无人机。mavic air的重量有430克,最长飞行时间为21分钟,最大飞行速度可达68公里/小时,主打智能飞行和球型全景。
从续航、图传距离等性能指标上来看,mavic air的定位似乎介于mavic pro和spark之间。但从支持智能功能的角度来说,mavic air比起mavic pro只有过之而无不及。其中最值得一提的是全新的以手势控制为核心的「慧拍」功能,其效果可见以下视频。
可以看到,「慧拍」相比于spark的手势操控来说,在体验上有了质的提升,这也许就是改叫「慧拍」的主要原因。雷锋网(公众号:雷锋网)今天借该功能来管中窥豹,聊一下大疆在自主飞行上的技术积累。
「慧拍」——随行摄影师
玩无人机的同学都知道,拍照和操控方式是消费级无人机最重要的两个方面。大疆的各个产品也一直都围绕着提升拍照和遥控器的便携化来展开。尤其对于入门级用户来说,遥控器操作是一个相当高的门槛。例如像拍摄跟随、刷锅这样的镜头,需要同时操作飞机的姿态及云台的俯仰角来对准目标来拍摄,即使对于专业的航模爱好者来说,也是有相当的难度,更不用说入门级用户。
mavic air推出的慧拍功能,主要意图就在对人像进行跟随、拍摄和操控调整视角这一典型场景的全覆盖,尤其对于时奔跑、跳跃、骑车、攀岩这样的场景,以往想要完成拍摄,一定需要一个非常有经验的专业飞手来辅助才可以,而慧拍功能就时为了解决这部分用户使用无人机的痛点。
从教学视频当中可以看出,用户可以通过手势的方式控制无人机的起飞、降落,也可以调整机位角度、和远近距离(2米~6米),更细心的是,即使当用户放下双手,飞机也会始终保持跟随拍摄目标,并且云台会始终锁定在目标身上,使得目标保持在画面的中间。
据雷锋网亲测,mavic air对于人的跟随准确度和流畅度,比之前phantom 4和mavic pro的activetrack有了很大程度的提升,并且在奔跑、跳跃、骑车、攀岩等场景做了强化。
当用户使用单手手势控制到合适的拍摄角度,双手手势控制到合适的拍摄距离,并找到合适的拍摄地点后,做出yeah或者相框手势,mavic air就会进行拍照或者录像动作。如果这时候有两个人同时做出yeah手势,还会触发集体照的彩蛋,进行三个角度的拍摄。
可以看到,启动慧拍功能后,mavic air化身成为用户的随行摄影师,不仅能够跟随用户运动而运动,还能够理解用户的手势来调整拍摄角度、拍摄距离和进行拍摄动作。起飞,跟随,控制,拍摄,降落整个过程一气呵成,在完全脱离遥控器的情况下,用户依然可以对mavic air进行灵活的操控。
根据实际评测使用中可以发现,启动慧拍模式后,通过手掌自如地控制6米外的mavic air进行飞行和拍摄,如同实现了phantom x中隔空操纵无人机,可谓相当酷炫。另外,慧拍,或许会是热爱户外运动的用户的福音——在进行跑步、踢球、骑车、攀岩、滑雪等运动的时候,往往不太方便使用遥控器来操作无人机对自己进行拍摄。而在这些场景下启动慧拍功能,这个问题就能够在较大程度上得到解决。
phantomx概念片中,神盾局特工主演汪可盈手势操纵无人机飞行
mavic air慧拍这一功能背后,是大疆在无人机自主飞行技术上的创新和突破。这涉及到多个学科、多个层面的深入技术积累和锤炼。具体来说,包括物体检测和跟踪、手部手势识别与跟踪、肢体手势识别、多传感器融合定位、深度图测距与建图、路径规划、以及控制等技术,并且克服各个单点技术的缺陷,将它们有机地整合在一起。应该说,慧拍背后的技术,是大疆在计算机视觉、人工智能、机器人这颗技术树上,点的最为全面的一次。
物体检测与跟踪
物体检测,指的是找到画面中的感兴趣物体(比如行人、车辆、船只等)并框出来。目前采用的主流算法框架大都基于faster r-cnn[1]。
物体跟踪,指的是用户选择了要跟踪的物体后,如果该物体以后移动了、姿态变化了,依然能够将其找到并框出来。其中goturn[2]算法能够达到每秒100帧以上的处理速度。
手部手势识别与跟踪
一般常说的手势识别其实有两种,一种是更关注于手部(手掌、手指关节),比如deep hand[3]可以识别用户是否张开手掌,比yeah;另外一种是则更关注于肢体与手臂的相对位置,比如类似cpm[4]可以识别用户平举双手、抬起单手等。从慧拍的实现方式上推测,或许是同时兼顾了上述两种技术。另外,手势跟踪能够利用上时序信息,将手势识别的结果变得更加稳定、可靠。
多传感器融合定位
mavic air上具有视觉、imu、tof等多种传感器,使用vio技术进行融合后,能够构成足够的冗余,当单一传感器失效的时候,依然能够较好地估计自己的姿态和位置。
深度图测距与建图
深度图的产生方法有多种,比如可以通过tof传感器直接得到,也可以通过双目立体视觉来计算得到,得到深度图后,无人机能够知道环境中各物体距离自身的远近,再配合多传感器融合定位,能够建立三维地图,供后续避障或者轨迹规划使用。
轨迹规划
轨迹规划,指的是用户指定某个目标地点,无人机需要结合自身定位和建好的地图,推算出一条通往目标地点的轨迹,为了最优化路径以及后续控制上的平滑,需要考虑满足某些约束,比如考虑了最小化速度的导数等。
无人机控制
在轨迹规划之后,需要通过控制算法改变无人机的飞行姿态,从而完成既定的轨迹,这部分常用的算法是pid控制算法。
在上述算法中,有不少算法需要耗费巨大的计算资源,比如物体检测与跟踪、手部和肢体的姿势识别等。能在mavic air紧凑的机身里面浓缩集成如此高密度和高计算强度的算法,并有机整合成慧拍功能,反映出来大疆在各个相关领域的深入积累。
大家可能会疑惑,mavic air又不是无人车,为何可以说是“自动驾驶”呢?其实,无人机与无人车虽然一个在天上飞,一个在地上跑,在动力系统、控制系统、硬件平台上确实需要因地制宜。但另一方面,这两者的内核都是要实现“无人”二字,即智能化程度要足够高。而在无人机上的智能化,称为自主飞行,在无人车上的智能化,称为自动驾驶。
自动驾驶的等级一般划分为l0~l5。l0为完全受控驾驶,即完全靠人类来驾驶;l1为驾驶辅助,一般我们常说的“adas”属于这个级别,能够具有前向碰撞提醒、车道线偏离预警等功能,具有一定的安全提醒功能;l2称为部分自动驾驶,特斯拉使用的autopilot系统属于这个级别,提供了自主巡航功能,能够在较为简单的路况下自动驾驶,但需要司机紧握方向盘以准备随时接管;l3是有条件的自动驾驶,预计在今年4月开售的全新奥迪a8宣称它是首款实现了l3的量产车型,在限速60公里的条件下,能够在较为复杂的路况下进行自动驾驶,并允许司机双手离开方向盘。l4与l5由于目前没有对应的量产车型,不在这里展开。
仿照自动驾驶的分级,可以给出自主飞行的分级,如下表所示:
在表格中可以看到,启动了慧拍功能的mavic air,在诸多核心技术加持下,已经能够达到l3的自主飞行。它在特定的场景下脱离遥控器使用,可类比于在l3的自动驾驶中允许司机的双手离开方向盘。
可以说,大疆从来没有停止过在计算机视觉、人工智能、机器人等的技术的探索,而这些技术构成了大疆最为核心的竞争力,足以在mavic air上支撑起了一整套“空中自动驾驶”的米乐m6平台的解决方案——慧拍。
参考文献:
[1] faster r-cnn: towards real-time object detection with region proposal networks
[2] learning to track at 100 fps with deep regression networks
[3] deep hand: how to train a cnn on 1 million hand images when your data is continuous and weakly labelled
[4] convolutional pose machines