基于服务机器人云平台的图像处理方法及系统
阅读说明:本技术 基于服务机器人云平台的图像处理方法及系统 (Image processing method and system based on service robot cloud platform ) 是由 周风余 郝涛 尹磊 于 2021-08-11 设计创作,主要内容包括:本发明属于服务机器人图像处理领域,提供了一种基于服务机器人云平台的图像处理方法及系统。其中,该方法包括获取待分类图像;将待分类图像经所述服务机器人云平台内优化完成的图像分类网络模型处理后,得到图像分类结果;所述图像分类网络模型的优化过程为:基于图像样本集合计算图像分类网络模型梯度,并将梯度归一化;归一化梯度经元优化器系统处理得到设定数量的候选更新;利用Look-Ahead算法将设定数量的候选更新融合为最终更新;利用最终更优化练图像分类网络模型的参数,并存储至服务机器人云平台内。(The invention belongs to the field of image processing of service robots, and provides an image processing method and system based on a cloud platform of a service robot. The method comprises the steps of obtaining an image to be classified; processing the image to be classified by the optimized image classification network model in the service robot cloud platform to obtain an image classification result; the optimization process of the image classification network model comprises the following steps: calculating the gradient of the image classification network model based on the image sample set, and normalizing the gradient; processing the normalized gradient by a meta-optimizer system to obtain a set number of candidate updates; fusing the set number of candidate updates into a final update by using a Look-Ahead algorithm; and utilizing the parameters of the final more optimized training image classification network model and storing the parameters into the service robot cloud platform.)
技术领域
本发明属于服务机器人图像处理领域,尤其涉及一种基于服务机器人云平台的图像处理方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的
背景技术
信息,不必然构成在先技术。深度学习已经在图像处理等领域取得了巨大的成功,应用也越来越广泛,成为当前最热门的技术之一。但是,深度神经网络的训练仍面临诸多挑战。目前,广泛使用的优化器都是手工设计的,例如,SGD,RMSprop,AdaGrad,和Adam。视觉是服务机器人的主要信息来源,用于图像处理的神经网络在服务机器人中有广泛应用,因此,图像处理精度对服务机器人的性能和使用体验至关重要,
发明人发现,当使用这些手工设计的优化器训练神经网络的时候,经常会面临收敛速度慢、收敛精度低等问题,而且需要花费大量的时间和精力来调节学习率等超参数,需要大量的模型训练经验并且耗时耗力,最终影响图像处理网络训练时的收敛速度及处理结果的精度。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种基于服务机器人云平台的图像处理方法及系统,其能够提高图像处理网络训练时的收敛速度,以及图像处理网络的最终精度,提高服务机器人的图像处理能力。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种基于服务机器人云平台的图像处理方法。
一种基于云计算平台的服务机器人的图像处理方法,其包括:
服务机器人获取待分类图像;
将待分类图像经所述服务机器人云平台内优化完成的深度图像分类网络模型处理后,得到图像分类结果;
所述图像分类网络模型的优化过程为:
基于图像样本集合计算图像分类网络模型梯度,并将梯度归一化;
归一化梯度经元优化器系统处理得到设定数量的候选更新;
利用Look-Ahead算法将设定数量的候选更新融合为最终更新;
利用最终更新优化图像分类网络模型的参数,并存储至服务机器人云平台内。
进一步地,元优化器系统是预先经元学习方式训练得到的。
进一步地,元优化器系统由若干个元优化器构成。
进一步地,所述元优化器为双层LSTM网络。
进一步地,使用Adam来训练元优化器系统中的优化器。
本发明的第二个方面提供一种基于服务机器人云平台的图像处理系统。
一种基于服务机器人云平台的图像处理系统,其包括:
图像获取模块,其用于获取待分类图像;
图像分类模块,其用于将待分类图像经所服务机器人云平台内优化完成的图像分类网络模型处理后,得到图像分类结果;
所述图像分类网络模型的优化过程为:
基于图像样本集合计算图像分类网络模型梯度,并将梯度归一化;
归一化梯度经元优化器系统处理得到设定数量的候选更新;
利用Look-Ahead算法将设定数量的候选更新融合为最终更新;
利用最终更新来优化图像分类网络模型的参数,并存储至服务机器人云平台内。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于服务机器人云平台的图像处理方法中的步骤。
本发明的第四个方面提供一种基于云计算平台的服务机器人。
一种基于云计算平台的服务机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于服务机器人云平台的图像处理方法中的步骤。
与现有技术相比,本发明的有益效果是:
本发明基于图像样本集合计算图像分类网络模型梯度,并将梯度归一化;归一化梯度经元优化器系统处理得到设定数量的候选更新;利用Look-Ahead算法将设定数量的候选更新融合为最终更新;利用最终更新来优化图像分类网络模型的参数,并存储至服务机器人云平台内,有效加快了图像分类网络模型训练时的收敛速度,降低最终损失,还提高了图像分类网络模型对图像处理结果的精度,提高了服务机器人的图像处理能力。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例的基于服务机器人云平台的图像处理方法流程图;
图2是本发明实施例的元优化器结构图;
图3是本发明实施例的元优化器计算图;
图4是本发明实施例的周期余弦退火策略下的学习率变化曲线;
图5是本发明实施例的元优化器使用流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
如图1所示,本实施例提供了一种基于服务机器人云平台的图像处理方法,其具体包括如下步骤:
步骤S101:获取待分类图像。
步骤S102:将待分类图像经所述服务机器人云平台内优化完成的图像分类网络模型处理后,得到图像分类结果。
在本步骤S102中,所述图像分类网络模型的优化过程为:
基于图像样本集合计算图像分类网络模型梯度,并将梯度归一化;
归一化梯度经元优化器系统处理得到设定数量的候选更新;
利用Look-Ahead算法将设定数量的候选更新融合为最终更新;
利用最终更来优化练图像分类网络模型的参数,并存储至服务机器人云平台内。
用元优化器系统来优化神经网络的框架图如图2所示。一个规模为N的元优化器系统包含N个元优化器在第t步优化过程中,每个元优化器都将归一化后的梯度作为输入,然后,每个元优化器G(φi)根据自身参数φi和历史梯度信息输出作为候选更新。最后,Look-Ahead算法将N个候选更新融合为最终输出
其中,{G(φi)}为优化器系统中的第i个优化器,φi为其参数;为第t步第i个优化器的输出,也称为候选更新。
在本实施例中,采用双层LSTM网络来具体实现元优化器G,因为LSTM网络能够结合历史梯度信息来产生当前输出结果,在此类任务中具有更大的优势。
阶段一:利用元学习方式训练元优化器系统
设数据集为D={Dtrain,Dtest},在数据集D上构造神经网络f(θ),其中f(θ)的结构可以是任意一种深度神经网络结构,为了减少计算量,可以简单地构建为多层感知机MLP。然后,构建双层LSTM网络作为元优化器G,参数为φ,其中每层LSTM的hidden size为20。定义元优化器G的损失函数为
其中,M是总的更新次数,ct≥0为每一步的权重,在本实施例中,M=100,对任意t,ct=1。在该损失函数下,元优化器G(φ)的计算图如图3所示。在训练过程中,沿着虚线反向传播的梯度会被丢弃掉,这能够避免计算关于loss的二次梯度。
训练G(φ)的优化器为Adam,并按照公式(2)的方式对其学习率进行退火。
其中,αmax和αmin代表学习率的变化范围,tcur是从上一次训练重启之后的迭代次数。αmin是一个设定小的值,本实施例设为αmin=10-5,αmax=0.01。T是一个决定退火周期的超参数。tcur和T都为整数。当一个周期开始的时候,tcur=0,α0=αmax。经过T次迭代,学习率会变为最小值αmin,此时,一个周期结束。在下一周期开始的时候,tcur会再一次变为0,学习率的值也会变为αmax。当学习率变得设定小的时候,被训练模型趋向于收敛到最近的局部最小值。根据这一发现,当学习率衰减到αmin的时候即可保存模型参数。图4展示了当αmax=0.01,T=750,和N=4时的学习率α的变化曲线。
在训练元优化器G(φ)时,其输入是神经网络f(θ)的梯度,不同坐标下的梯度尺度差距非常大,这会使得训练元优化器变得非常困难。因此,将输入的梯度进行归一化是非常必要的。本实施例采用的归一化方法为:
在本实施例中,设置p=10。p为常系数。
以上内容全都初始化完成以后,便可以采用如下方式训练G,获得包含N个不同参数的元优化器构成元优化器系统。
训练方式为:
步骤一:从Dtrain中随机采集B个样本作为一批训练数据DB。
步骤二:将DB输入f(θ)计算损失l,然后通过反向传播计算f(θ)的梯度
步骤三:将运用公式(3)作归一化处理,并输入G(φ)得到输出g。
步骤四:利用θ←θ+g更新f(θ)的参数θ。
步骤五:重复步骤一到步骤四100次。此时,便可形成如图2所示的训练图。
步骤六:根据计算图,用Adam优化器更新G(φ)的参数φ,即
步骤七:重复步骤一到步骤六3000次,当的时候保存此时的参数φ。
步骤八:重复步骤一到步骤七4次,便可得到元优化器系统
阶段二:利用训练好的元优化器系统在其他数据集上训练其他神经网络
例如:当N为4时,在阶段一完成以后,便可以利用训练好的元优化器系统训练其他的神经网络。该过程的流程图如图5所示。
其中对Look-Ahead算法描述如下:
为了将元优化器系统中N个元优化器输出的候选更新融合为最终更新(t表示第t步更新),本实施例提出了Look-Ahead融合算法。该方法能够使元优化器系统实现更快的收敛速度以及更低的loss。假设被训练模型为f,其参数为θ。在第t步优化过程中,首先,将归一化后的网络梯度输入包含N个元优化器的元优化器系统,然后得到N个候选更新之后,从训练集中采集另一mini-batch数据并计算如下N个迭代公式:
其中,β∈[0,1)是动量系数。是一个实数,并且 的含义为将视为第t步的更新来近似计算f在t+1时刻的loss。最后,Look-Ahead通过如下公式计算在t步的最终更新
当β=0的时候,Look-Ahead仅根据来决定最终更新,即只参考当前时刻的loss变化信息。然而,在计算loss的时候,不同mini-batch的数据得出的结果差异较大,具有很大的随机性。因此,为了消除这种随机性,加入动量项,这对应在公式(4)中β≠0的情况。本实施例设置β=0.1。
图5对应的详细算法如算法1所示。
例如:在MNIST数据集上训练元优化器系统并使用来优化在Fashion-MNIST数据集上的神经网络
首先,训练元优化器系统,在MNIST数据集上构造神经网络f(θ)为三层感知机网络,隐层大小为20,激活函数为ReLU。训练元优化器系统步骤如下:
步骤一:从MNIST数据集中随机采集128个样本作为一批训练数据DB。
步骤二:将DB输入f(θ)计算损失l,然后通过反向传播计算f(θ)的梯度
步骤三:将运用公式(3)作归一化处理,并输入G(φ)得到输出g。
步骤四:利用θ←θ+g更新f(θ)的参数θ。
步骤五:重复步骤一到步骤四100次。此时,便可形成如图2所示的训练图。
步骤六:根据计算图,用Adam优化器更新G(φ)的参数φ,即
步骤七:重复步骤一到步骤六3000次,当的时候保存此时的参数φ。
步骤八:重复步骤一到步骤七4次,便可得到元优化器系统
然后运用得到的元优化器在Fashion-MNIST数据集上训练神经网络具体过程为:
步骤一:从Fashion-MNIST数据集中采集128个训练样本作为一批训练数据DB。
步骤二:将DB输入计算损失l,然后反向传播计算的梯度
步骤三:将运用公式(3)作归一化处理,并输入得到输出4个候选更新
步骤四:利用Look-Ahead算法决定最终更新
步骤五:利用更新的参数
步骤六:重复步骤一到步骤五100次,便可以得到在Fashion-MNIST数据集性能优异的网络
实施例二
本实施例提供了一种基于服务机器人云平台的图像处理系统,其具体包括如下模块:
图像获取模块,其用于获取待分类图像;
图像分类模块,其用于将待分类图像经所述服务机器人云平台内优化完成的图像分类网络模型处理后,得到图像分类结果;
所述图像分类网络模型的优化过程为:
基于图像样本集合计算图像分类网络模型梯度,并将梯度归一化;
归一化梯度经元优化器系统处理得到设定数量的候选更新;
利用Look-Ahead算法将设定数量的候选更新融合为最终更新;
利用最终更新来优化图像分类网络模型的参数,并存储至服务机器人云平台内。
此处需要说明的是,本实施例的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的基于服务机器人云平台的图像处理方法中的步骤。
实施例四
本实施例提供了一种基于云计算平台的服务机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的基于云计算平台的服务机器人的图像处理方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。