智东西(公众号:zhidxcom)
编辑 | 李水青
智东西6月21日消息,近日GTIC 2021嵌入式AI创新峰会在北京圆满收官!在这场全天座无虚席、全网直播观看人数逾150万次的高规格AI产业峰会上,来自产业链上下游的16位大佬共聚一堂,围绕嵌入式AI的软硬件生态创新、家居AIoT、移动机器人和工业制造产业4大版块地图,带来了深入浅出的分享。
会上,极智嘉研发总监陈超带来了题为《物流机器人视觉感知技术的挑战与创新》的演讲。演讲主要包含三部分:物流与物流机器人,仓储与工业两种不同场景下物流机器人在视觉方面面临的挑战与解法。
物流行业是一个巨大市场,但行业长期面临用人难、市场需求变化快等痛点。物流机器人在这样的背景下应运而生,目前已经演化出智能分拣、智能搬运、智能叉车、智能仓储等多场景的产品形态,并在众多实际场景中落地。
陈超回顾,在极智嘉物流机器人落地行业过程中,在视觉感知技术方面克服了众多挑战。
在仓储AMR移动机器人领域,场景相对简单,主要包括货架到人的拣选和货箱到人的拣选两大场景。针对用于导航的地面二维码,团队遇到了污损/反光、运动模糊等问题,以及成本降低的诉求。为此,极智嘉在最新机器人上引入了基于地纹融合的V1.5,弥补二维码易污损的问题;更进一步,极智嘉基于Marker-Net的V2.0解决方案将故障率降低两个数量级。
在工业AMR移动机器人领域,面临的场景和挑战也更加复杂多样。比如,针对行业样本少的问题,极智嘉采取学习仿真方案,快速扩充样本;针对未知目标检测问题,极智嘉引入深度相机,使得深度学习模型有机结合深度数据,提高目标检测性能。
而针对鲁棒性要求高的问题,极智嘉采用复合模型方法;面对高动态场景下的定位难题,采用地图更新和语义地图,从而保证机器人长期稳定运行;针对端侧设备低算力的问题,极智嘉通过算法优化及加速引擎来突破算力限制。
可以看到,作为自2015年就成立的物流机器人头部企业,极智嘉已经针对仓储及工业特定应用场景,攻克了嵌入式AI开发的一座座山头。
我们将陈超演讲实录整理为以下三部分:
一、物流行业占GDP超10%,物流机器人应运而生
关于物流,除了普通消费者经常接触到的快递物流之外,还包括仓储物流、工厂物流等细分的物流场景。物流是一个非常庞杂的复合型产业,在GDP中占比超10%,可以说物流为整个社会的生产生活物资供应提供了保障。
近年来物流业面临着挑战:首先是用人难的问题。其实每个人的身边都可以明显感觉到这些年来整个社会的老龄化与少子化的趋势。适龄劳动人口正在逐渐减少,与此同时,现在的年轻人也更倾向于去大城市从事服务型的工作,不愿意下到工厂仓库里面做一些底层枯燥的物流类的工作,给物流相关企业的招聘造成一定的困难。
另一方面,物流业变化快。随着整个经济的发展,居民的消费升级目前大规模标准的工业化生产产品越来越少,更多是高度定制化、个性化的小批量产品生产,现在产品的迭代速度更快,升级更频繁,对于供应链提出新的挑战。
物流机器人在这样的背景下应运而生。
由于物流涉及的面比较广,在不同的环节、方面也会有不同的机器人和解决方案。(物流机器人)主要用在一些快递领域的智能分拣、电商仓库里的智能拣选,还有制造业产线上的智能搬运机器人、智能叉车,集成解决方案智能仓和智慧工厂……下面,我们通过具体的机器人了解一下。
极智嘉的产品全家福,涵盖了绝大多数物流机器人的品类。包括前排的低矮潜伏式的拣选机器人和搬运式机器人,以及中间的分拣机器人和料箱拣选机器人,以及后排高大的无人叉车、人机协作机器人、带有机械臂的复合机器人。
在忙碌工作的机器人背后,是一套基于云边端的系统架构。
首先在最底层的端侧,是机器人的本体,包含视觉感知、定位、PNC等软件的算法;中间的边缘服务器端,运行RMS负责机器人任务的调度和路径规划;最上层的云端部署WMS、ERP系统和客户的业务进行对接。
正是基于这么一套云边端架构,(我们)保证了物流机器人稳定高效运行。
二、仓储场景:视觉识别精度要提升,降本需求大
对物流机器人系统有初步了解之后,看一下视觉感知的挑战和应对。
首先在仓储场景,目前应用较多的是:1、货架到人拣选;2、货箱到人的拣选。
“货到人拣选模式”改变了传统拣选中人找货的工作方式——由RMS下发指令,机器人运行到特定的位置处,将对应的货架或者特定的料箱搬运到拣选工位处,由人工完成拣选。在这个环节中,作业员已经不需要穿梭货架寻找货物,新的拣选模式大幅降低了拣选员的劳动强度,同时明显降低了拣选的错误率,使整体的效率有2~3倍的提升。
拣选机器人是怎么定位的?细心的朋友已经看到了,视频里面在地面上网格化密布了一些二维码,在机器人底部装有摄像头,通过摄像头拍摄二维码进行定位,这和平时手机扫码原理很相似。
由于二维码部署在地面上,有一些特殊之处,容易受到污损。在仓库的场景下经常会有一些拖车料车运行,仓库里面定期进行清洁维护,用功率非常大的清洗机,都会对地面二维码造成损伤。
另外一方面,机器人运行速度超过2~3米/秒,镜头距地面距离非常近,单位时间内物体滑过的像素数比较多,图象模糊的情况比较严重。另外,低成本,也是受到前端市场方面的激烈竞争,(市场)对拣选类的机器人的传感器、计算芯片等提出降成本的诉求。
针对前面的问题,我们做了一些技术和产品的迭代。早先的版本里面选用了非常低成本的异构SoC(系统级芯片),将我们传统的基于几何特征的算法用FPGA优化加速,最终实现比较优异的性能价格比和性能功耗比。
针对二维码的污损问题,同时也为了减少二维码在场景中的部署,(我们)引入了地纹。仔细观察会发现,地面其实有非常细小的纹理,都是独一无二的ID,可以用来做定位,和二维码上面的码值是类似的。
由于地纹的特殊性,(我们)采用一系列变换来提取地纹Global Feature,建立地图定位。当然地纹有一定的局限性,对于工厂的环氧地面、一些高亮瓷砖地面等都无法使用。
(我们)在最新的机器人上通过在机器人前端部署平视相机,后端采用神经网络的方法Markernet极大地拓展了二维码检测能力。之前我们的摄像机是朝下拍摄的,视野范围非常小,机器人稍微走偏一点点,几厘米、十几厘米就会发生定位的丢失。现在依托于前视摄像头能够在更大的范围内检测二维码,进行重定位,使故障率降低了两个数量级。
很多朋友会问,为什么对于二维码有着明显几何特征或者人工设计的物体,为什么采用网络的方法?
相对传统的手机扫码也好或者之前的机器人下视二维码检测的方式,现在二维码需要在更大范围更小的角度去检测模糊污损的二维码,基于数据驱动模型的方法超过了传统的人工设计特征的方法。
借助灵活相机的部署还有后端智能算法,极大地拓展了二维码在场景中的使用范围,可以拓展到侧面的货架或者天花板或者场景中的几乎任何地方。这是在物流港口集装箱里面做的测试,可以在非常黑暗的环境中进行二维码的检测识别。
三、工业场景:应对更复杂场景,建立仿真方案
在工业场景下,物流机器人视觉感知面临的挑战和应对,相对之前提到的仓储环境,作业环节更多,涉及的面更广。
工业场景中,不同场景下对应有不同形态的机器人,包括左边的滚筒搬运机器人、顶升搬运,还有机械臂负荷机器人和智能叉车。工业场景下需求多样、场景复杂,而不同的机器人在处理不同作业任务的时候会面临着不同的挑战,下面具体来了解一下。
首先,样本少。以复合型机器人为例,做末端的抓取当中面临着超过十万种商品的检测和识别,不同于像无人车这种应用,在工业领域很少有能在公开数据集上找到相应的样本供我们训练。同时,工业客户对数据的隐私性有一定的要求,也限制了一些样本的采集。
我们采用仿真+学习的方案。以托盘为例,托盘是在整个物流场景下广泛使用的载具,托盘有很多种类,有欧标、国标还有非标,有各种不同的颜色、形状、尺寸、材质,甚至某些客户就地取材,用原材料临时组装成类似托盘的物品。利用仿真引擎快速搭建单目标的效果图,可以对它进行不同的光照、颜色、位置的渲染,快速扩充我们的样本。对于某些应用,我们可以做到全场景的仿真。对于工业场景下之前已经积累的一些数据还有已经训练好的模型利用Few Shots learning,Transfer Learning快速开发、适配一些新应用。
未知目标检测,目标的种类比较多,一些异常检测或者障碍物检测无法穷尽被测目标,我们不知道前面掉的是产线上的扳手或者一个零件,也可能是一个鼠标或者电池,基于传统的深度模型的方法过度依赖于之前的样本,面对从来没有见过的物品检测的时候,性能有比较大的下降。
我们引入深度学习的方法有机结合深度数据和RGB数据进行检测。深度相机的种类非常多,包括Stereo camera、TOF camera、Structure Light camera等,根据不同的检测距离、精度要求选择相应的传感器。我们选用Stereo camera进行障碍物检测,它输出的深度图和灰度图在像素层面上是天然对齐的,为后面的进一步信息融合奠定非常好的。
以深度为主的检测方法不太依赖之前建立的模型,对于未曾见过的目标有比较好的检测效果,我们机器人上使用的是成本非常廉价的深度传感器,不像激光雷达有那么高的距离精度,对于低矮细小的物体,深度的数据可用性大幅降低,对于很远的物体,深度图从原理上退化成2D图,需要结合RGB的数据进行检测。
工业场景下出于对于安全性、效率的要求,对其相关的设备鲁棒性要求非常高,以叉车为例,叉车的负载能力非常强,破坏性非常大,错误的检测会对物品、人员造成非常大的伤害,我们采用复合模型的方法,通过复合模型把深度学习方法和领域知识结合在一起。一方面我们快速地输出物体潜在的检测物体,另外一方面托盘检测或者某些料箱检测来说,我们知道检测的是什么目标,就可以利用先验模型走一个网络校验,得到鲁棒性更高准确性更高的结果。
高动态场景下的定位,和基于地面上的二维码进行定位的仓储机器人不同,,工业上更多的使用SLAM机器人。SLAM是利用传感器对环境进行观测建立地图进而进行定位的技术,这和人眼观测整个场景,根据这些视觉地标定位的原理是很相似的。基于SLAM定位有一些优点,不需要对场景进行改造,不需要铺设那么多二维码,实施起来更加便捷,行走线路不是网格化,而是走任意轨迹。SLAM机器人由于灵活性,更符合柔性制造的产业客户需求,在制造业得到了广泛的应用。
基于SLAM定位有一个非常大的挑战,就是高动态环境下定位丢失的问题。例如产线上的料箱会随着作业时间的变化而发生改变,当机器人去取料箱的时候,还有10个箱子,当它放回来的时候只剩下2个,场景的变化就会造成机器人定位失败,相当于拿着旧地图去看路寻路,大概率会失败。
我们采取地图更新和语义地图的方案,基于刚才提到的云边端的架构,赋予每个端侧机器人检测变化的能力,当发现与地图无法良好匹配的时候,把数据上传到边缘服务器。边缘端能够综合多台机器人搜集到的数据,根据之前的静态参考地图进行判断,进行地图的融合更新,将融合好的地图下发到每个机器人那里,这样机器人可以利用最新的地图进行定位。
语义地图,在网络中检测一些物体,识别动静态特性,比如人、料车是可移动的,不能作为地标从地图里面去除掉,对于某些重型设备是可移动的,移动频率非常低,在地图里面降低它的置信度,地面的标线、墙面、柱子等等是高静态物体,增加它在地图里的置信度。相比传统的基于特征点的定位,基于语义目标的定位,精度可能略微低一点,但鲁棒性非常高,甚至可以基于整个场景中的一个物体就能够对整个机器人的位置进行部分或者全部约束,从而保证机器人的顺畅运行。
低算力的挑战,受限于价格、体积、功耗等一系列方面的因素,我们在端侧设备上不可能使用高性能的计算芯片,我们做的是在算法和软件层面进行优化。对于网络模型,在数值计算层面,在网络本身的结构上,在整个检测流程方面进行优化。另一方面利用各大硬件厂商所提供的配套优化和推理引擎来对我们的算法进行优化部署。以OpenVINO为例,在服务器端进行量化调优剪枝,经过优化的模型通过IE引擎部署到低算力的计算平台上。英特尔的OpenVINO能够充分挖掘整个处理器中不仅仅是CPU,还包含其它的计算单元,特别是集成显卡的算力,更加充分利用了片上资源。
今天就聊到这里,我们非常期待与各位同行和合作伙伴一起来探讨视觉AI技术在物流行业的应用,共同打造智能机器人,让物流变得更简单。谢谢大家!
以上是陈超演讲内容的完整整理。