宋舒然|斯隆奖新晋得主宋舒然:从视觉出发,打造机器人之「眼」( 五 )
作为一名计算机视觉专业的「科班生」,宋舒然每研究一个项目,便愈发为视觉与机器人的交叉结合所能产生的神奇效果惊讶。TossingBot的工作发表后,她在接受《纽约时报》的采访时惊叹道:「It is learning more complicated things than I could ever think about.(机器人正在学习更复杂的事情,这是我以前没有想过的。)」
不过,这显然不是终点。「TossingBot」发表两年后,宋舒然又挑战了机器人在高速动态动作上的新高度。她带领她在哥大的第一位博士生Huy Ha,又凭借另一个机器人「FlingBot」拿下了第二个最佳系统论文奖——CoRL 2021最佳系统论文奖。
当时CoRL 2021的评选委员会对「FlingBot」这项工作给出了极高的评价:「这篇论文是我见过的迄今为止对模拟和现实世界布料操作方面的最了不起的工作。」
文章插图
论文地址:https://arxiv.org/pdf/2105.03655.pdf
「FlingBot」挑战的任务是布料处理,迁移到日常生活中,就是常见的铺床单、铺被子等等。此前,针对这项任务的大多数工作是使用单臂准静态动作来操作布料,但这需要大量的交互来挑战初始布料配置,并严格限制了机器人可及范围的最大布料尺寸。
于是,宋舒然与学生使用了自监督学习框架FlingBot,从视觉观察出发设置双臂操作,对织物使用拾取、拉伸并抛掷的初始配置。实验表明,FlingBot的3个动作组合可以覆盖80%以上的布料面积,超过静态基线的面积4倍以上。
文章插图
图注:FlingBot
听起来是不是很简单?
「算法确实不难,所以这篇工作还被RSS拒过,理由是方法过于『trivial』。」宋舒然笑道。
他们一开始的想法很简单:当时他们看了许多文献,所有工作都是采用拾取、放置,这与人们在日常生活中的习惯十分不同。「举一个非常简单的例子,就是早上铺床。我们不可能小心翼翼地去做『pick up-place』(拾取-放置),我们铺床单一般就是一扔,抛开后再把床单铺开,但没有机器人系统是这样做的。」
所以他们就思考,是否可以让机器人采用一些扔高、展开的动作,如抛开。最后做出系统时,他们也发现,整个系统确实非常简单,只需分解成三步:第一步是抓布料,第二步是把布料展开,第三步是「扔」开布料。而「展开」与「扔」这两个动作基本不需要学习,因为学与不学的区别不大,真正要学的只有「抓」这一步,因为如何抓会直接影响后面的「展开」与「扔」。
虽然他们在「抓」这一步上也突破了传统算法,但整体而言,「FlingBot」的整个系统是比较简单的。所以在第一次提交论文时,评审们就将论文拒了,理由均是:结果很了不起,系统也很了不起,但算法非常简单。
这时候宋舒然的反向思维又来了:在第二次提交时,他们就在论文中强调了「简单但高效」的亮点——
「用一个简单的算法就可以解决一个这么复杂的任务,难道不是好过你去设计一个非常复杂的系统吗?而且它的效果非常好,恰恰证明了它在高速动态动作上的效率。」
这与她在博士期间与汤晓鸥等人合作3D ShapeNets的研究思想是一脉相承的:简单,但高效。后来,FlingBot 果然被 CoRL 接收,还获得了最佳系统论文奖。
5、一些思考
这时想必大家都已发现,与在结构性环境中的机器人(如亚马逊工厂的产线机器人)相比,宋舒然的机器人工作,无论是「TossingBot」还是「FlingBot」,都需要先对物理环境进行感知,掌握环境信息,然后执行适应环境的动作。
「在工厂或仓库中,机器人每天遇到的物体、物体位置与物体类别高度相似,在这类场景下,机器人的感知与规划已经达到非常成熟的状态。很多工厂的流水线上都安置了自动化机器人。但如果你仔细观察,这些机器人大多是没有『视觉』的,它们只是在记忆特定的动作,然后重复同样的动作,所以它们不能照搬到一个新的环境。」
因此,宋舒然认为,如何让机器人去适应非结构化的环境,是机器人视觉接下来的关键研究方向。在她的研究中,无论是从对人的观察中学习机器人的进化经验,还是强调机器人与现实世界的交互,都是在为这个方向努力。
比如,在FlingBot中,为什么会用「扔」的动作去展开物体呢?宋舒然解释:「如果物体被展开,是更容易被识别的。如果衣物揉成一团,不展开的话你根本不知道是T恤还是裤子。」从这个角度来看,机器人与物理世界的交互也有利于提升感知的准确性。