背景

随着互联网在现代社会的快速发展,人们的时间变得越来越宝贵。从经济学中的机会成本角度来看,意味着我们做的每一件事,都可能意味着放弃做其他事情所带来的成本越来越大。Cobos作为家用机器人的领导者,一直致力于给现代人一种全新的生活方式,让用户花更少的时间打扫卫生,享受智能生活。以扫地机器人行业为例,虽然目前的扫地机技术相对成熟,但其性能在某些情况下还是会受到批评,比如推鞋、被电线、破布等低矮物体卡住等。因此,在清扫之前,用户需要进行预清洁(手动整理房间,将鞋子和抹布放好,打包电线等)。),而我们的目的就是视觉识别这些目标,把人从预清洁中解放出来。

[科技界] 科沃斯机器人:AI扫地场景携手TensorFlow,共探室内场景

我们的识别目标主要是充电座、垃圾桶、鞋子、柔性布、地毯等。在算法开发过程中,我们遇到了以下影响性能的棘手问题:数据缺乏、室内环境复杂、待检测目标形状不同、目标灵活小、家用生产芯片计算能力有限,使得我们很难使用传统的机器视觉方法通过提取特征进行鲁棒检测。因此,我们决定使用深度神经网络模型。我们的团队开发了一个基于张量流的对象检测模型。本文将简要介绍我们的开发过程以及如何将模型应用到实际产品中。

[科技界] 科沃斯机器人:AI扫地场景携手TensorFlow,共探室内场景

目前市场上有很多深度学习框架,所以我们选择张量流来开发我们的模型。我们选择它有以下两个原因:

1.是主流的成熟框架,有活跃的论坛和社区,已经实现了很多流行的模型架构和运营者,会大大缩短开发时间;而当开发遇到困难时,更容易在网上找到解决方案。

2.使用张量流开发的模型进行产品落地非常方便。

接下来,我们将从数据和模型两个方面来说明我们的开发过程。

数据

聪明的女人离不开米饭,大量有效的数据永远是深度学习最宝贵的资源。在不同的时间和地点收集数据已经贯穿了我们整个项目。

因为扫地机器人主要在地面工作,视角非常独特,很难从网上找到公共数据集。所以我们从扫地机器人的角度手动采集了大量的家居环境数据,主要来自华东、华南、华北以及一些欧美地区。

当然不同时间段采集的数据也不一样。比如昼夜数据差别很大,主要体现在环境光上。白天可以采集到阳光斜射造成的曝光过度、背光等极端数据,而晚上从屋顶传来的光分布更均匀,弱光图像也更多。此外,由于季节和地理位置的不同,收集的数据也会有所不同,这主要体现在家庭环境安排和鞋类的差异上。

在收集数据之后,还要注意数据标注,这与一般的公共数据集标注略有不同:

1.由于室内地景,遮挡截断的异常物体较多,遮挡和未遮挡物体的比例要慎重选择。此外,标记时应区别对待柔性物体和非柔性物体。比如电线等柔性物体,截断后会变成多个物体;

2.由于芯片计算能力的限制,开发的轻量级模型需要在精度和速度之间进行折衷;当我们使用map来评估模型效果时,我们将数据分为必要目标和非必要目标。非必要目标多为远程目标,即使模型不被识别,对机器的影响也不大。因此,我们的模型只需要识别出必要的目标,并尽量与非必要的目标兼容,这样就可以度量出能够满足实际应用场景的模型极限能力,这对我们压缩模型大小非常有帮助。

[科技界] 科沃斯机器人:AI扫地场景携手TensorFlow,共探室内场景

图1:各种数据的分布

图1显示了我们的数据类型的分布。从图中可以看出,鞋子占了数据的很大一部分,也是目前训练效果比较好的一类。

模型

关于模型开发,我们主要讨论数据增强、一些模型的设计以及如何将模型导入产品。这里要感谢张量流,它有一个开源框架,张量流对象检测API [1],实现了很多经典的对象检测和分割模型。我们可以使用这个框架来开发我们自己的模型。

数据增强在模型开发中一直扮演着重要的角色。在对象检测api中,有一个python文件[2],实现了很多数据增强方法,还有一个对应的protobuf文件[3],定义了每个方法的超参数。为了调试方便,我们开发了一个可视化工具,图2显示了该工具的工作界面。当开发者加载图片、标注数据、训练好的pipeline.config三个文件时,工作界面会被激活,工具会根据pipeline.config中的配置初始化数据增强功能..开发人员可以通过左上角的运算符列表选择所需的函数,相应的超参数将在下面的参数列表中详细显示。开发人员也可以拉动滚动条调整超级参数的值,或者直接设置目标值,经过一系列的调整,也可以直接恢复到默认值。预览效果将以类似于幻灯片放映的方式呈现。play键运行后,工具会不断产生效果图,并临时保存在历史列表中,以便随时跳回。数据增强方法和参数可以在预览时实时调整。数据增强配置完成后,只需单击一下,即可轻松导出修改后的pipeline.config文件。

[科技界] 科沃斯机器人:AI扫地场景携手TensorFlow,共探室内场景

图2:数据增强配置工具

我们还为我们的场景实现了一些数据增强方法。比如适当调整色调会给我们的数据带来很大的增益,我们可以模拟各种颜色的地板和地毯。但是,在现实世界中,有些东西通常只有一种颜色。如果贸然改变它的色调,就会产生相反的效果。因此,我们需要根据图片中对象的种类来不同地调整色调。

在目标检测任务中,锚盒出现在许多架构中,无论是单级还是多级检测器。在开发过程中,根据不同对象的像素大小及其在特征图上的大小,设计了一个轻量级骨干网络和检测模型,并使用多层特征图来检测不同尺度的对象。其中针对不同的对象类别定制特定的锚框,以获得更多的正样本,从而保证数据能够得到充分有效的训练。在锚箱的设计中,有许多优化方案来选择锚箱的尺寸和比例。文[4]采用聚类方法,用遗传算法[5]设计锚箱。优化后,不仅保证了每个锚盒在训练阶段匹配更多的平均正样本,而且在不影响精度的情况下,将锚盒数量减少到原数量的三分之一。图3和图4显示了锚盒优化前后与每个类别匹配的对象的平均数量。优化前的锚箱在小目标(比例尺:250)很小,优化后小目标与大目标匹配数明显提高。

[科技界] 科沃斯机器人:AI扫地场景携手TensorFlow,共探室内场景

图3:优化前锚箱平均匹配数

图4:优化前锚箱的平均匹配数

整个建模过程是使用对象检测api框架完成的,所以开发速度比较快。在模型开发之后,我们继续使用对象检测api进行模型训练。试验证明,锚箱的设计在我们的检测任务中起着关键作用。此外,为了提高小目标的召回率,我们发现特征融合非常有用,因此我们将后一个特征图与前一个特征图进行融合,实验证明这改进了2点图。

[科技界] 科沃斯机器人:AI扫地场景携手TensorFlow,共探室内场景

训练后的模型效果如图5和图6所示。

图5:模型推理演示

图6:模型在一定程度上不能识别地面以上的物体

最后,经过训练,模型以pb格式保存。为了将其导入到产品中,我们需要使用tensorflow lite库来转换模型。Tensorflow lite库主要用于cpu端加速计算(最新版本支持移动gpu),相比Tensorflow有三个优势:

1.轻巧。Tf lite可以生成非常小的链接库,这对嵌入式产品是致命的。

2.硬件加速。一些手机的硬件加速可以通过nnapi(安卓神经网络api)来实现。

3.依赖库少,便于跨平台,模型可以进一步简化。

这里,我们首先将pb模型分为三个部分:预处理、中间部分和后处理。预处理主要负责图像预处理,包括尺寸归一化等。中间部分主要是cnn相关层,后处理部分负责优化包括nms等检测结果的输出。其中,对于中间部分,我们使用tensorflow lite将其转换为lite格式,这样整个模型就可以在扫地机器人的芯片上进行cpu推理。然后我们尝试使用芯片上空闲的小gpu,并将一些操作移植到gpu上。这里我们用opencl来实现,最终推理速度提高了30%。然后,在后处理中,我们针对不同种类的目标设置不同的nms iou阈值,比如将线的iou阈值设计得更大,以增加线的输出帧数,进一步提高召回率。

[科技界] 科沃斯机器人:AI扫地场景携手TensorFlow,共探室内场景

慢慢的,一个家庭智力朋友诞生了。

摘要

以物体检测为例,介绍了如何利用Cobos中的tensorflow、物体检测api和tensorflow lite开发出业界首款ai视觉推理扫地机器人。

未来,我们将继续探索人工智能在家庭机器人中的应用,不断将新的技术点应用到产品中,让我们的用户享受到技术带来的便利。

科技让生活更美好~

参考

【1 】 google,(n.d),https://github/tensorflow/models/tree/master/research/object _ detection

【2 】 google,(n.d),https://github/tensorflow/models/blob/master/research/object _ detection/core/preparation or . py(2019年3月19日访问)

【3 】 google,(n.d .),https://github/tensorflow/models/blob/master/research/object _ detection/protos/preprocess . proto(2019年3月19日访问)

【4】redmon j .(2016),yolo9000:更好,更快,更强

【5】sastry k .,goldberg d .,Kendall g .(n . d .),遗传算法

文章转载自tensorflow微信微信官方账号

作者:鲍亮,曹琦,

Cobos机器人智能控制中心

标题:[科技界] 科沃斯机器人:AI扫地场景携手TensorFlow,共探室内场景

地址:http://www.heliu2.cn/xw/7107.html