自移动设备的控制方法、装置、存储介质及自移动设备
技术领域
本申请涉及自移动设备的控制方法、装置、存储介质及自移动设备,属于计算机
技术领域
。背景技术
随着人工智能以及机器人行业的发展,扫地机器人等智能家用电器逐渐普及。
常见的扫地机器人通过固定在机身上方的摄像组件采集环境图片,使用图像识别算法识别采集图片中的物品。为了保证图像识别精度,该图像识别算法通常是基于神经网络模型等训练得到的。
然而,现有的图像识别算法需要图形处理器(Graphics Processing Unit,GPU)和神经网络处理器(Neural Processing Unit,NPU)的结合实现,对扫地机器人的硬件要求较高。
发明内容
本申请提供了一种自移动设备的控制方法、装置及存储介质,可以解决现有的图像识别算法对扫地机器人的硬件要求高,导致扫地机器人的对象识别功能应用范围受限的问题。本申请提供如下技术方案:
第一方面,提供了一种自移动设备的控制方法,所述自移动设备上安装有图像采集组件,所述方法包括:
获取所述图像采集组件采集的环境图像;
获取图像识别模型,所述图像识别模型运行时占用的计算资源低于所述自移动设备提供的最大计算资源;
控制所述环境图像输入所述图像识别模型得到对象识别结果,所述对象识别结果用于指示目标对象的类别。
可选地,所述图像识别模型是对小网络检测模型进行训练得到的。
可选地,所述获取图像识别模型之前,还包括:
获取小网络检测模型;
获取训练数据,所述训练数据包括所述自移动设备的工作区域中的各个对象的训练图像和每张训练图像的识别结果;
将所述训练图像输入所述小网络检测模型,得到模型结果;
基于所述模型结果与所述训练图像对应的识别结果之间的差异对所述小网络检测模型进行训练,得到所述图像识别模型。
可选地,所述基于所述模型结果与所述训练图像对应的识别结果之间的差异对所述小网络检测模型进行训练,得到所述图像识别模型之后,还包括:
对所述图像识别模型进行模型压缩处理,得到用于识别对象的图像识别模型。
可选地,所述小网络检测模型为:微型的YOLO模型;或者,MobileNet模型。
可选地,所述控制所述环境图像输入所述图像识别模型得到对象识别结果之后,还包括:
基于所述对象识别结果,控制所述自移动设备移动以完成对应的任务。
可选地,所述自移动设备上安装有液体清扫组件,所述基于所述对象识别结果,控制所述自移动设备移动以完成对应的任务,包括:
当所述对象识别结果指示所述环境图像包含液体图像时,控制所述自移动设备移动至所述液体图像对应的待清洁区域;
使用所述液体清扫组件清扫所述待清洁区域中的液体。
可选地,所述自移动设备中安装有供电组件,所述供电组件使用充电组件进行充电,所述基于所述对象识别结果,控制所述自移动设备移动以完成对应的任务,包括:
当所述供电组件的剩余电量小于或等于电量阈值、且所述环境图像包括所述充电组件的图像时,根据所述充电组件的图像位置确定所述充电组件的实际位置。
可选地,所述自移动设备上还安装有定位传感器,所述定位传感器用于定位所述充电组件上充电接口的位置;所述控制所述自移动设备向所述充电组件移动之后,还包括:
在向所述充电组件移动过程中,控制所述定位传感器对所述充电组件的位置进行定位得到定位结果;
控制所述自移动设备按照所述定位结果移动,以实现所述自移动设备与所述充电接口对接。
第二方面,提供了一种自移动设备的控制装置,所述自移动设备上安装有图像采集组件,所述装置包括:
图像获取模块,用于在所述自移动设备移动过程中,获取所述图像采集组件采集的环境图像;
模型获取模块,用于获取图像识别模型,所述图像识别模型运行时占用的计算资源低于所述自移动设备提供的最大计算资源;
设备控制模块,用于控制所述环境图像输入所述图像识别模型得到对象识别结果,所述对象识别结果用于指示目标对象的类别。
第三方面,提供一种自移动设备的控制装置,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的自移动设备的控制方法。
第四方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的自移动设备的控制方法。
第五方面,提供一种自移动设备,包括:
用于带动所述自移动设备移动的移动组件;
用于驱动所述移动组件运动的移动驱动组件;
安装在所述自移动设备上、用于采集行进方向上的环境图像的图像采集组件;
与所述移动驱动组件和所述图像采集组件通信相连的控制组件,所述控制组件与存储器通信相连;所述存储器中存储有程序,所述程序由所述控制组件加载并执行以实现第一方面所述的自移动设备的控制方法。
本申请的有益效果在于:通过在自移动设备移动过程中,获取图像采集组件采集的环境图像;获取图像识别模型,图像识别模型运行时占用的计算资源低于自移动设备提供的最大计算资源;控制环境图像输入图像识别模型得到对象识别结果,对象识别结果用于指示环境图像中目标对象的类别;可以解决现有的图像识别算法对扫地机器人的硬件要求高,导致扫地机器人的对象识别功能应用范围受限的问题;通过使用消耗计算资源较少的图像识别模型来识别环境图像中的目标对象,可以降低对象识别方法对自移动设备的硬件要求,扩大对象识别方法的应用范围。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的自移动设备的结构示意图;
图2是本申请一个实施例提供的自移动设备的控制方法的流程图;
图3是本申请一个实施例提供的执行工作策略的流程图;
图4是本申请一个实施例提供的执行工作策略的示意图;
图5是本申请另一个实施例提供的执行工作策略的流程图;
图6是本申请另一个实施例提供的执行工作策略的示意图;
图7是本申请一个实施例提供的自移动设备的控制装置的框图;
图8是本申请一个实施例提供的自移动设备的控制装置的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
首先,以下对本申请涉及的若干名词进行介绍。
模型压缩:是指降低训练后的网络模型中的参数冗余,从而减少网络模型的存储占用、通信带宽和计算复杂度的方式。
模型压缩包括但不限于:模型裁剪、模型量化和/或低轶分解。
模型裁剪:是指最优网络结构的搜索过程。模型裁剪过程包括:1、训练网络模型;2、剪裁不重要的权重或通道;3、微调或再训练已剪裁的网络。其中,第2个步骤通常借助迭代式逐层剪裁、快速微调或者权重重建以保持精度。
量化:量化模型是一种模型加速方法的总称,它是以更少位数的数据类型表示有限范围(如32位)浮点型数据的过程,从而达到减少模型尺寸大小、减少模型内存消耗及加快模型推理速度等目标。
低秩分解:将网络模型的权重矩阵分解成多个小矩阵,小矩阵计算量比原始矩阵的计算量小,以达到减少模型运算量,降低模型占用内存的目的。
YOLO模型:基础网络模型之一,是通过卷积神经网络(Convolutional NeuralNetworks,CNN)网络就能够实现目标的定位和识别的神经网络模型。YOLO模型包括YOLO、YOLO v2和YOLO v3。其中,YOLO v3是YOLO和YOLO v2之后的YOLO系列的又一种目标检测算法,是基于YOLO v2的改进。而YOLO v3-tiny为YOLO v3的简化版本,在YOLO v3的基础上去掉某些特征层,从而达到了模型运算量减少,运算更快的效果。
MobileNet模型:是基本单元是深度级可分离卷积(depthwise separableconvolution)的网络模型。其中,深度级可分离卷积可以分解为深度可分卷积(Depthwise,DW)和逐点卷积(Pointwise,PW)。DW和标准卷积不同,对于标准卷积其卷积核是用在所有的输入通道上的,而DW针对每个输入通道采用不同的卷积核,就是说一个卷积核对应一个输入通道。而PW就是普通的卷积,只不过其采用1x1的卷积核。对于深度级可分离卷积,其首先是采用DW对不同输入通道分别进行卷积,然后采用PW将上面的输出再进行结合,这样其实整体计算结果和一个标准卷积过程的计算结果近似相同,但是会大大减少计算量和模型参数量。
图1是本申请一个实施例提供的自移动设备的结构示意图,如图1所示,该系统至少包括:控制组件110、与控制组件110通信相连的图像采集组件120。
图像采集组件120用于采集自移动设备移动过程中的环境图像130;并将该环境图像130发送至控制组件110。可选地,图像采集组件120可以实现为照相机、摄像机等,本实施例不对图像采集组件120的实现方式作限定。
可选地,图像采集组件120的视场角在水平方向上为120°、竖直方向上为60°;当然,视场角也可以为其它数值,本实施例不对图像采集组件120的视场角的取值作限定。图像采集组件120的视场角可以保证能够采集到自移动设备的在行进方向上的环境图像130。
另外,图像采集组件120的数量可以是一个或多个,本实施例不对图像采集组件120的数量作限定。
控制组件110用于对自移动设备进行控制。比如:控制自移动设备的启动、停止;控制自移动设备中的各个组件(如图像采集组件120)的启动、停止等。
本实施例中,控制组件110与存储器通信相连;该存储器中存储有程序,该程序由控制组件110加载并执行至少实现以下步骤:在自移动设备移动过程中,获取图像采集组120件采集的环境图像130;获取图像识别模型;控制环境图像130输入图像识别模型得到对象识别结果140,该对象识别结果140用于指示环境图像130中目标对象的类别。换句话说,该程序由控制组件110加载并执行以实现本申请提供的自移动设备的控制方法。
在一个示例中,在环境图像中包括目标对象时,对象识别结果140为该目标对象的类型;在环境图像中包括目标对象时,对象识别结果140为空。或者,在环境图像中包括目标对象时,对象识别结果140为包括目标对象的指示(比如:通过“1”指示包括目标对象)和该目标对象的类型;在环境图像中不包括目标对象时,对象识别结果140为不包括目标对象的指示(比如:通过“0”指示不包括目标对象)。
其中,图像识别模型运行时占用的计算资源低于自移动设备提供的最大计算资源。
可选地,对象识别结果140还可以包括但不限于:目标对象的图像在环境图像130中的位置、尺寸等信息。
可选地,目标对象是位于自移动设备的工作区域中的对象。比如:自移动设备的工作区域为房间时,目标对象可以为房间中的床、桌子、椅子、人等对象;自移动设备的工作区域为物流仓库时,目标对象可以为仓库中的箱子、人等,本实施例不对目标对象的类型作限定。
可选地,图像识别模型为模型层数小于第一数值;和/或,每层中的节点数量小于第二数值的网络模型。其中,第一数值和第二数值均为较小的整数,从而保证图像识别模型在运行时消耗较少的计算资源。
需要补充说明的是,本实施例中,自移动设备还可以包括其它组件,比如:用于带动自移动设备移动的移动组件(比如:车轮)、用于驱动移动组件运动的移动驱动组件(比如:电机)等,其中,移动驱动组件与控制组件110通信相连,在控制组件110的控制下移动驱动组件运行并带动移动组件运动,从而实现自移动设备的整体运动,本实施例在此对自移动设备包括的组件不再一一列举。
另外,自移动设备可以为扫地机器人、自动割草机或者其它具有自动行驶功能的设备,本申请不对自移动设备的设备类型作限定。
本实施例中,通过使用消耗计算资源较少的图像识别模型来识别环境图像130中的目标对象,可以降低对象识别方法对自移动设备的硬件要求,扩大对象识别方法的应用范围。
下面对本申请提供的自移动设备的控制方法进行详细介绍。
图2是自移动设备的对象是别方法的流程图,图2中以该自移动设备的控制方法用于图1所示的自移动设备中、且各个步骤的执行主体为控制组件110为例进行说明,参考图2,该方法至少包括以下几个步骤:
步骤201,在自移动设备移动过程中,获取图像采集组件采集的环境图像。
可选地,图像采集组件用于采集视频数据,此时,环境图像可以为该视频数据中的一帧图像数据;或者,图像采集组件用于采集单张的图像数据,此时,环境图像为图像采集组件发送的单张的图像数据。
步骤202,获取图像识别模型,图像识别模型运行时占用的计算资源低于自移动设备提供的最大计算资源。
本实施例中,通过使用计算资源低于自移动设备提供的最大计算资源的图像识别模型,可以降低图像识别模型对自移动设备的硬件要求,扩大对象识别方法的应用范围。
在一个示例中,自移动设备读取预先训练得到的图像识别模型。此时,图像识别模型是对小网络检测模型进行训练得到的。对小网络检测模型进行训练,包括:获取小网络检测模型;获取训练数据;将训练图像输入小网络检测模型,得到模型结果;基于模型结果与训练图像对应的识别结果之间的差异对小网络检测模型进行训练,得到图像识别模型。
其中,训练数据包括自移动设备的工作区域中的各个对象的训练图像和每张训练图像的识别结果。
本实施例中,小网络模型是指模型层数小于第一数值;和/或,每层中的节点数量小于第二数值的网络模型。其中,第一数值和第二数值均为较小的整数。比如:小网络检测模型为:微型的YOLO模型;或者,MobileNet模型。当然,小网络检测模型也可以是其它模型,本实施例在此不再一一列举。
可选地,为了进一步地压缩图像识别模型运行时占用的计算资源,在对小网络检测模型进行训练得到图像识别模型之后,自移动设备还可以对图像识别模型进行模型压缩处理,得到用于识别对象的图像识别模型。
可选地,模型压缩处理包括但不限于:模型裁剪、模型量化和/或低轶分解等。
可选地,在对模型进行压缩处理后,自移动设备可以再次使用训练数据对压缩后的图像识别模型进行训练,以提高图像识别模型的识别精度。
步骤203,控制环境图像输入图像识别模型得到对象识别结果,该对象识别结果用于指示目标对象的类别。
可选地,对象识别结果还包括但不限于:目标对象的图像在环境图像中的位置、和/或尺寸等信息。
综上所述,本实施例提供的自移动设备的控制方法,通过在自移动设备移动过程中,获取图像采集组件采集的环境图像;获取图像识别模型,图像识别模型运行时占用的计算资源低于自移动设备提供的最大计算资源;控制环境图像输入图像识别模型得到对象识别结果,对象识别结果用于指示环境图像中目标对象的类别;可以解决现有的图像识别算法对扫地机器人的硬件要求高,导致扫地机器人的对象识别功能应用范围受限的问题;通过使用消耗计算资源较少的图像识别模型来识别环境图像中的目标对象,可以降低对象识别方法对自移动设备的硬件要求,扩大对象识别方法的应用范围。
另外,通过采用小网络模型训练学习得到图像识别模型,不需要图形处理器(Graphics Processing Unit,GPU)和嵌入式神经网络处理器(Neural-networkProcessing Units,NPU)的结合才能实现对象识别过程,因此,可以降低对象识别方法对设备硬件的要求。
另外,对图像识别模型进行模型压缩处理,得到用于识别对象的图像识别模型;可以进一步缩小图像识别模型运行时占用的计算资源,提高识别速度,扩大对象识别方法的应用范围。
可选地,基于上述实施例,本申请中,自移动设备得到对象识别结果后,还会基于该对象识别结果控制自移动设备移动以完成对应的任务。该任务包括但不限于:实现对某些物品进行避障的任务,例如对椅子、宠物粪便等进行避障;对某些物品进行定位的任务,例如对门窗、充电组件等进行定位的任务;对人进行监控和跟随的任务;对特定物品进行清扫的任务,如对液体进行清扫;和/或,自动回充任务。下面,对不同的对象识别结果对应的执行的任务进行介绍。
可选地,自移动设备上安装有液体清扫组件。此时,在步骤203之后,基于对象识别结果控制自移动设备移动以完成对应的任务,包括:当对象识别结果指示环境图像包含液体图像时,控制自移动设备移动至液体图像对应的待清洁区域;使用液体清扫组件清扫待清洁区域中的液体。
在一个示例中,液体清扫组件包括安装于自移动设备的轮体外围的吸水拖布。当环境图像中存在液体图像时,控制自移动设备向液体图像对应的待清洁区域移动,使得自移动设备的轮体经过待清洁区域,从而使得吸水拖布吸收地面的液体。自移动设备中还设置有清洗池和蓄水池;清洗池位于轮体下方;水泵抽吸蓄水池中的水,通过管道从喷嘴喷到轮体上,将吸水拖布上的污垢冲刷至清洗池。轮体上还设有压辊,以拧干吸水拖布。
当然,上述液体清扫组件仅是示意性的,在实际实现时,液体清扫组件也可以通过其它方式实现,本实施例在此不再一一列举。
为了更清楚地理解基于对象识别结果执行对应的工作策略的方式,参考图3和图4所示的执行清扫液体工作策略的示意图,根据图3和图4可知,自移动设备采集到环境图像后,使用图像识别模型得到环境图像的对象识别结果;在该对象识别结果为当前环境包括液体时,使用液体清扫组件31对该液体进行清扫。
可选地,本实施例中,自移动设备可以为扫地机器人,此时,该自移动设备具有干湿垃圾统一清除的功能。
本实施例中,通过在环境图像中存在液体图像时,启动液体清扫组件,可以避免自移动设备对液体绕行,导致清扫任务无法完成的问题;可以提高自移动设备的清扫效果。同时,可以避免液体进入自移动设备内部,造成电路损坏,可以降低自移动设备损坏风险。
可选地,基于上述实施例,自移动设备中安装有供电组件。基于对象识别结果控制自移动设备移动以完成对应的任务,包括:当供电组件的剩余电量小于或等于电量阈值、且环境图像包括充电组件的图像时,自移动设备根据充电组件的图像位置确定充电组件的实际位置;控制自移动设备向充电组件移动。
由于自移动设备拍摄到充电组件的图像之后,可以将根据该图像在环境图像中的位置,确定出充电组件相对于自移动设备的方向,因此,自移动设备可以根据大致确定出的方向向充电组件移动。
可选地,为了提高自移动设备向充电组件移动的准确度,自移动设备上还安装有定位传感器,该定位传感器用于定位充电组件上充电接口的位置。此时,自移动设备在控制自移动设备向充电组件移动过程中,控制定位传感器对充电组件的位置进行定位得到定位结果;控制自移动设备按照定位结果移动,以实现自移动设备与充电接口对接。
在一个示例中,定位传感器为激光传感器。此时,充电组件充电接口发射不同角度的激光信号,定位传感器基于接收到的激光信号的角度差确定充电接口的位置。
当然,定位传感器可以为其它类型的传感器,本实施例不对定位传感器的类型作限定。
为了更清楚地理解基于对象识别结果执行对应的工作策略的方式,参考图5和图6所示的执行清扫液体工作策略的示意图,根据图5和图6可知,自移动设备采集到环境图像后,使用图像识别模型得到环境图像的对象识别结果;在该对象识别结果为当前环境包括充电组件51时,使用定位传感器52定位充电组件51上的充电接口53的位置;向充电接口53移动,以使自移动设备通过充电接口与充电组件51电连接实现充电。
本实施例中,通过图像识别模型识别充电组件,并移动至充电组件附近;可以实现自移动设备自动回归充电组件进行充电,提高自移动设备的智能化。
另外,通过定位传感器确定充电组件上充电接口的位置,可以提高自移动设备自动回归充电组件时的准确性,提高自动充电效率。
图7是本申请一个实施例提供的自移动设备的控制装置的框图,本实施例以该装置应用于图1所示的自移动设备中为例进行说明。该装置至少包括以下几个模块:图像获取模块710、模型获取模块720和设备控制模块730。
图像获取模块710,用于在所述自移动设备移动过程中,获取所述图像采集组件采集的环境图像;
模型获取模块720,用于获取图像识别模型,所述图像识别模型运行时占用的计算资源低于所述自移动设备提供的最大计算资源;
设备控制模块730,用于控制所述环境图像输入所述图像识别模型得到对象识别结果,所述对象识别结果用于指示目标对象的类别。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的自移动设备的控制装置在进行自移动设备的控制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将自移动设备的控制装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的自移动设备的控制装置与自移动设备的控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本申请一个实施例提供的自移动设备的控制装置的框图,该装置可以是图1所示的自移动设备,当然,也可以是其他安装在自移动设备上与自移动设备相互独立的设备。该装置至少包括处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的自移动设备的控制方法。
在一些实施例中,自移动设备的控制装置还可选包括有:外围设备接口和至少一个外围设备。处理器801、存储器802和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,自移动设备的控制装置还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的自移动设备的控制方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的自移动设备的控制方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。