一种巡线模型的训练方法、巡线方法及巡线系统
文献发布时间:2023-06-19 11:26:00
技术领域
本申请属于移动设备巡线技术领域,尤其涉及一种巡线模型的训练方法、巡线方法、巡线模型的训练装置、巡线装置及巡线系统。
背景技术
在移动设备(如教育小车和移动机器人)领域中,巡线一直是一个非常经典的应用场景。传统的巡线技术都是通过采集固定位置的跑道信息,根据固定位置的跑道信息来计算移动设备当前所处的跑道位置,从而计算出转向系数。
然而,传统的方案要求移动设备在巡线的全过程中只能使用一个速度,当跑道中存在复杂弯道时,就必须以过弯速度来运动,使得移动设备的速度非常缓慢。
发明内容
有鉴于此,本申请提供了一种巡线模型的训练方法、巡线方法、巡线模型的训练装置、巡线装置及巡线系统,可以使移动设备在巡线过程中根据当前所处的跑道位置以不同的速度来运动,从而加快了移动设备的巡线速度,提高了移动设备的巡线效率。
第一方面,本申请提供了一种巡线模型的训练方法,包括:
将预设的训练图像集中的训练图像输入至上述巡线模型,得到上述巡线模型输出的预测结果,其中,上述训练图像集中各个训练图像通过拍摄跑道而得,且各个训练图像存在各自对应的标注信息,上述标注信息包括标注转向值和标注速度值,上述预测结果包括预测转向值和预测速度值;
根据上述训练图像对应的标注信息和上述预测结果,计算得到转向误差值和速度误差值;
根据上述转向误差值和上述速度误差值对上述巡线模型中的参数进行调整,直至上述巡线模型满足收敛条件,得到目标巡线模型。
第二方面,本申请提供了一种巡线方法,包括:
获取移动设备在跑道上运动的过程中对上述跑道进行拍摄而得到的跑道图像;
将上述跑道图像输入至目标巡线模型,得到上述目标巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值;
基于上述预测转向值和上述预测速度值,控制上述移动设备运动;
其中,上述目标巡线模型是基于训练图像集以及上述训练图像集中各训练图像对应的标注信息训练得到的,上述标注信息包括标注转向值和标注速度值。
第三方面,本申请提供了一种巡线模型的训练装置,包括:
模型预测单元,用于将预设的训练图像集中的训练图像输入至上述巡线模型,得到上述巡线模型输出的预测结果,其中,上述训练图像集中各个训练图像通过拍摄跑道而得,且各个训练图像存在各自对应的标注信息,上述标注信息包括标注转向值和标注速度值,上述预测结果包括预测转向值和预测速度值;
误差计算单元,用于根据上述训练图像对应的标注信息和上述预测结果,计算得到转向误差值和速度误差值;
参数调整单元,用于根据上述转向误差值和上述速度误差值对上述巡线模型中的参数进行调整,直至上述巡线模型满足收敛条件,得到目标巡线模型。
第四方面,本申请提供了一种巡线装置,包括:
图像获取单元,用于获取移动设备在跑道上运动的过程中对上述跑道进行拍摄而得到的跑道图像;
目标模型预测单元,用于将上述跑道图像输入至目标巡线模型,得到上述目标巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值;
运动控制单元,用于基于上述预测转向值和上述预测速度值,控制上述移动设备运动;
其中,上述目标巡线模型是基于训练图像集以及上述训练图像集中各训练图像对应的标注信息训练得到的,上述标注信息包括标注转向值和标注速度值。
第五方面,本申请提供了一种巡线系统,包括:
终端设备,用于实现如上述第一方面所提供的方法的步骤;
移动设备,用于实现如上述第二方面所提供的方法的步骤。
由上可见,本申请方案中首先获取通过拍摄跑道而得到的训练图像集,上述训练图像集包括至少一个训练图像,各个训练图像存在各自对应的标注信息,上述标注信息包括标注转向值和标注速度值,将上述训练图像集中的训练图像输入至上述巡线模型,得到上述巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值,然后根据上述训练图像对应的标注信息和上述预测结果,计算得到转向误差值和速度误差值,最后根据上述转向误差值和上述速度误差值对上述巡线模型中的参数进行调整,直至巡线模型满足收敛条件,得到目标巡线模型。本申请方案通过训练图像集和训练图像集中各训练图像对应的标注转向值和标注速度值训练得到目标巡线模型,针对移动设备所处的跑道位置对应的跑道类型(直线道、弯道及直角弯等),目标巡线模型可以匹配不同的预测转向值和预测速度值,从而加快了移动设备的巡线速度,提高了移动设备的巡线效率。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种巡线模型的训练方法的流程示意图;
图2是本申请实施例提供的一种获得训练图像集的场景示例图;
图3是本申请实施例提供的一种指定跑道的示例图;
图4是本申请实施例提供的一种标记工具的可视化界面的示例图;
图5是本申请实施例提供的一种巡线模型的网络结构示例图;
图6是本申请实施例提供的一种巡线方法的流程示意图;
图7是本申请实施例提供的一种巡线模型的训练装置的结构示意图;
图8是本申请实施例提供的一种巡线装置的结构示意图;
图9是本申请实施例提供的一种终端设备的结构示意图;
图10是本申请实施例提供的一种移动设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1示出了本申请实施例提供的一种巡线模型的训练方法的流程图,该训练方法应用于终端设备,详述如下:
步骤101,将预设的训练图像集中的训练图像输入至巡线模型,得到巡线模型输出的预测结果。
在本申请实施例中,预设的训练图像集中各个训练图像通过拍摄跑道而得,且各个训练图像存在各自对应的标注信息,该标注信息包括标注转向值和标注速度值。具体地,获得训练图像集的方式可以如下:请参阅图2,移动设备可以是一小车,终端设备可以是一电脑,其中,移动设备与蓝牙手柄通过蓝牙连接,终端设备通过无线通信技术(WirelessFidelity,WIFI)与移动设备连接,使得蓝牙手柄与移动设备可以相互通信,移动设备与终端设备可以相互通信。首先,用户可以将移动设备放置在指定跑道上,然后通过操控蓝牙手柄向移动设备发送控制转向值和控制速度值,以指示移动设备基于控制转向值和控制速度值在该指定跑道上运动,作为一个示例,指定跑道可以如图3所示。其中,移动设备上安装有视觉模块,比如摄像头,该摄像头的视场朝向地面,移动设备通过该摄像头,可以在运动过程中的各个时刻对指定跑道进行拍摄,得到训练图像,并且,在拍摄每一训练图像的时刻,移动设备可以获取该时刻下蓝牙手柄发送的控制转向值和控制速度值,将该控制转向值作为该训练图像对应的标注转向值,将该控制速度值作为该训练图像对应的标注速度值。通过上述方式,移动设备即可获得训练图像集以及训练图像集中各个训练图像对应的标注信息,而不需要用户手动进行标注。由于移动设备的计算性能通常较差,不足以完成训练,因此移动设备可以通过无线通信技术将训练图像集和训练图像集中各个训练图像对应的标注信息发送至终端设备,由终端设备来对巡线模型进行训练。
需要说明的是,为了使巡线模型能够识别出跑道的特征,训练图像中需包含跑道的两边中的至少一边,因此,本申请实施例需要对移动设备上的摄像头的视场角大小和跑道的宽度作出限定。举个例子,摄像头的视场角大小可以在80~120度之间,这个范围是考虑到移动设备上的单片机采集数据要提升帧率的话,分辨率不能太高,另外单片机能处理的特征图大小有限,不论多大的图,都要统一的缩放到300x300以下分辨率,才能达到实时性要求。相应地,当跑道在距离摄像头前30厘米处时,可以设定跑道的宽度不超过40厘米。
终端设备获得训练图像集以及训练图像集中各训练图像对应的标注信息后,可以将训练图像集中的训练图像输入至巡线模型,巡线模型根据输入的训练图像,输出对应的预测结果,该预测结果包括预测转向值和预测速度值
步骤102,根据训练图像对应的标注信息和预测结果,计算得到转向误差值和速度误差值。
在本申请实施例中,根据输入的训练图像对应的标注信息和巡线模型输出的预测结果,可以计算得到转向误差值和速度误差值。具体地,在巡线模型的迭代训练过程中使用的损失函数可以是均方误差函数,根据该均方误差函数、标注信息以及预测结果,可以计算出转向误差值和速度误差值。
步骤103,根据转向误差值和速度误差值对巡线模型中的参数进行调整,直至巡线模型满足收敛条件,得到目标巡线模型。
在本申请实施例中,计算得到转向误差值和速度误差值后,可以根据转向误差值和速度误差值对巡线模型中的参数进行调整。然后对调整参数后的巡线模型通过重复上述步骤101、102以及103继续训练,直到巡线模型满足收敛条件。其中,收敛条件可以是在通过验证集对巡线模型进行验证时,巡线模型输出的预测结果的错误率连续10次未下降。
可选地,在上述步骤101之前还包括:
对训练图像集中的训练图像进行增强处理,得到增强处理后的训练图像;
相应地,上述步骤101具体包括:
将增强处理后的训练图像输入至巡线模型,得到巡线模型输出的预测结果。
在本申请实施例中,为了提高巡线模型的泛化性,可以对训练图像中的训练图像进行增强处理。其中,增强处理包括随机亮度、随机对比度、随机饱和度、运动模糊、高斯模糊以及高斯噪声中的至少一种。通过增强处理可以增加训练图像的多样性。在训练的过程中,将增强处理前的训练图像和增强处理后的训练图像都作为训练巡线模型的训练样本,从而提高训练得到的目标巡线模型的准确度。其中,随机亮度是指对训练图像的亮度进行随机调整,随机对比度是指对训练图像的对比度进行随机调整,随机饱和度是指对训练图像的饱和度进行随机调整,运动模糊是指时训练图像中的景物产生移动模糊效果。
可选地,在上述步骤101之前还包括:
对训练图像集中的训练图像的像素值进行归一化处理,得到归一化处理后的训练图像;
相应地,上述步骤101具体包括:
将归一化处理后的训练图像输入至巡线模型,得到巡线模型输出的预测结果。
在本申请实施例中,训练图像由像素点组成,每个像素点的像素值的取值为0~255范围内的整数。在实际应用中,虽然可以将未归一化处理的训练图像直接输入至巡线模型,但是这会导致巡线模型的训练速度非常缓慢,因此,为了提高巡线模型的训练速度,可以对训练图像集中的训练图像的各个像素点的像素值进行归一化处理,使得像素值的范围从0~255缩放至0~1之间。示例性地,归一化处理可以通过将训练图像的每个像素值均除以255来实现,比如对像素值255进行归一化处理,可以将像素值255除以255来实现,即归一化处理后像素值变为1。在训练过程中,可以将归一化处理后的训练图像输入至巡线模型,从而提高了巡线模型的训练速度。
可选地,在上述步骤101之前还包括:
针对训练图像集中的每一训练图像,将训练图像的宽度的一半与训练图像对应的标注转向值之和作为移动坐标值;
显示训练图像,以及训练图像中移动坐标值所对应的移动点,以指示用户对训练图像进行标记;
将训练图像集中标记为不合格的训练图像剔除,得到剔除后的训练图像集;
相应地,上述步骤101具体包括:
将剔除后的训练图像集中的训练图像输入至巡线模型,得到巡线模型输出的预测结果。
在本申请实施例中,针对训练图像集中的每一训练图像,可以将该训练图像的宽度的一半与该训练图像对应的标注转向值之和作为移动坐标值,比如训练图像1的宽度为a,训练图像1对应的标注转向值为b,则该训练图像1对应的移动坐标值为a/2+b。该移动坐标值即为训练图像1中的移动点的坐标值。终端设备通过显示屏,可以显示训练图像以及训练图像中移动坐标值所对应的移动点,然后,用户可以判断移动点的位置是否偏离了人工预期,从而对训练图像进行标记,如果移动点的位置偏离了人工预期,则用户可以通过标记工具将训练图像标记为不合格。请参阅图4,图4为标记工具的可视化界面,用户通过“选择文件”选项,可以选择训练图像集,并设置自动播放时间,使标记工具在可视化界面中按照训练图像集中各训练图像的先后拍摄顺序,播放训练图像集中的训练图像,同时显示训练图像中的移动点。在播放过程中,当用户发现某个训练图像的移动点偏离了人工预期,则可以通过“暂停播放标注”选项将该训练图像标记为不合格。最后,可以将训练图像集中标记为不合格的训练图像剔除,得到剔除后的训练图像集。
在一个实施例中,由于移动设备的运动是连续的,因此用户可以不需要一帧帧地去对训练图像进行标记,只需要标记播放过程中,移动点发生偏离的第一帧训练图像(记作首帧标记图像)和移动点发生偏离的最后一帧训练图像(记作尾帧标记图像)。然后,直接将首帧标记图像、尾帧标记图像以及播放过程中位于该首帧标记图像与该尾帧标记图像之间的训练图像一起剔除即可。
可选地,考虑到巡线模型最终需要应用到移动设备上,而移动设备上的单片机的计算能力有限,因此,巡线模型的网络结构应该尽量简单,使得单片机可以运行该巡线模型。基于此,本申请实施例提出一种巡线模型的网络结构,如图5所示,巡线模型包括五个卷积层、一个池化层和两个全连接层,其中,该五个卷积层中的卷积核的大小不超过3×3,该两个全连接层用于执行通用矩阵乘法(General Matrix Multiplication,GEMM),该巡线模型使用的激活函数为线性整流函数(Rectified Linear Unit,,ReLU)。
可选地,由于移动设备上的单片机的计算能力有限,只能处理8位的数据,且移动设备对目标巡线模型的实时性要求较高,因此,在终端设备上训练得到的目标巡线模型不能直接部署到移动设备中。基于此,在上述步骤103之后还包括:
对目标巡线模型进行量化处理,得到已量化模型。
在本申请实施例中,训练得到目标巡线模型后,可以对目标巡线模型进行量化处理,使目标巡线模型的精度从32位转换为8位,得到已量化模型,从而减少了模型的计算量,进而达到加速的目的。该已量化模型可以部署到移动设备,由移动设备上的单片机运行。其中,目标巡线模型中的参数为浮点数据,比如6.0,已量化模型中的参数为定点数据,比如127。由浮点数据转换为定点数据的量化公式为:
其中,Q表示量化后的定点值,R表示真实的浮点值,Z表示0浮点值对应的量化定点值,S表示定点量化后可以表示的最小刻度。
同时,S和Z的求值公式如下所示:
Z=Q
举例来说,假设一个权重激活值的范围在[-2.0,6.0]之间,需要对其进行精度为8位数据的量化处理,定点量化可表示的范围为[-128,127],计算过程如下:
Z=127-6.0÷0.0313725≈-64.25≈64
那么存在如下的对应关系:
根据上述得到的值,如果有一个真实的权重值为0.48,即R=0.48,那么对应的Q的求值过程为:
Q=0.48÷0.0313725+(-64)≈-55.07≈-55。
由上可见,本申请方案中首先获取通过拍摄跑道而得到的训练图像集,上述训练图像集包括至少一个训练图像,各个训练图像存在各自对应的标注信息,上述标注信息包括标注转向值和标注速度值,将上述训练图像集中的训练图像输入至上述巡线模型,得到上述巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值,然后根据上述训练图像对应的标注信息和上述预测结果,计算得到转向误差值和速度误差值,最后根据上述转向误差值和上述速度误差值对上述巡线模型中的参数进行调整,直至满足巡线模型收敛条件,得到目标巡线模型。本申请方案通过训练图像集和训练图像集中各训练图像对应的标注转向值和标注速度值训练得到目标巡线模型,针对移动设备所处的跑道位置对应的跑道类型(直线道、弯道及直角弯等),目标巡线模型可以匹配不同的预测转向值和预测速度值,从而加快了移动设备的巡线速度,提高了移动设备的巡线效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图6示出了本申请实施例提供的一种巡线方法的流程图,该巡线方法应用于移动设备,详述如下:
步骤601,获取移动设备在跑道上运动的过程中对跑道进行拍摄而得到的跑道图像。
步骤602,将跑道图像输入至目标巡线模型,得到目标巡线模型输出的预测结果,预测结果包括预测转向值和预测速度值。
步骤603,基于预测转向值和预测速度值,控制移动设备运动。
在本申请实施例中,对在终端设备上训练得到的目标巡线模型进行量化处理后,该量化处理后的目标巡线模型可以部署到移动设备上。移动设备在跑道上运动的过程中,可以按照预设的拍摄频率对跑道进行拍摄,得到跑道图像,比如在运动过程中移动设备每间隔1秒对跑道进行一次拍摄。每当移动设备拍摄得到一帧跑道图像,移动设备立即获取该跑道图像,并将该跑道图像输入至目标巡线模型,该目标巡线模型将会输出对应的预测结果,该预测结果包括预测转向值和预测速度值。最后,移动设备将会基于该预测转向值和该预测速度值进行运动。其中,目标巡线模型是基于训练图像集以及训练图像集中各训练图像对应的标注信息训练得到的,该标注信息包括标注转向值和标注速度值,具体地,目标巡线模型是通过执行本申请实施例提供的巡线模型的训练方法的步骤训练得到的。
由上可见,本申请方案中,首先获取移动设备在跑道上运动的过程中对上述跑道进行拍摄而得到的跑道图像,然后将上述跑道图像输入至目标巡线模型,得到上述目标巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值,最后基于上述预测转向值和上述预测速度值,控制上述移动设备运动。其中,上述目标巡线模型是基于训练图像集以及上述训练图像集中各训练图像对应的标注信息训练得到的,上述标注信息包括标注转向值和标注速度值。本申请方案通过训练图像集和训练图像集中各训练图像对应的标注转向值和标注速度值训练得到目标巡线模型,针对移动设备所处的跑道位置对应的跑道类型(直线道、弯道及直角弯等),目标巡线模型可以匹配不同的预测转向值和预测速度值,从而加快了移动设备的巡线速度,提高了移动设备的巡线效率。
图7示出了本申请实施例提供的一种巡线模型的训练装置的结构示意图,该训练装置应用于终端设备,为了便于说明,仅示出了与本申请实施例相关的部分。
该巡线模型的训练装置700包括:
模型预测单元701,用于将预设的训练图像集中的训练图像输入至上述巡线模型,得到上述巡线模型输出的预测结果,其中,上述训练图像集中各个训练图像通过拍摄跑道而得,且各个训练图像存在各自对应的标注信息,上述标注信息包括标注转向值和标注速度值,上述预测结果包括预测转向值和预测速度值;
误差计算单元702,用于根据上述训练图像对应的标注信息和上述预测结果,计算得到转向误差值和速度误差值;
参数调整单元703,用于根据上述转向误差值和上述速度误差值对上述巡线模型中的参数进行调整,直至上述巡线模型满足收敛条件,得到目标巡线模型。
可选地,上述巡线模型的训练装置700还包括:
增强处理单元,用于对上述训练图像集中的训练图像进行增强处理,得到增强处理后的训练图像,上述增强处理包括随机亮度、随机对比度、随机饱和度、运动模糊、高斯模糊以及高斯噪声中的至少一种。
上述模型预测单元701,具体用于将增强处理后的训练图像输入至上述巡线模型。
可选地,上述巡线模型的训练装置700还包括:
归一化处理单元,用于对上述训练图像集中的训练图像的像素值进行归一化处理,得到归一化处理后的训练图像;
上述模型预测单元701,具体用于将归一化处理后的训练图像输入至上述巡线模型。
可选地,上述巡线模型的训练装置700还包括:
坐标计算单元,用于针对上述训练图像集中的每一训练图像,将上述训练图像的宽度的一半与上述训练图像对应的标注转向值之和作为移动坐标值;
图像显示单元,用于显示上述训练图像,以及上述训练图像中上述移动坐标值所对应的移动点,以指示用户对上述训练图像进行标记;
图像剔除单元,用于将上述训练图像集中标记为不合格的训练图像剔除,得到剔除后的训练图像集;
上述模型预测单元701,具体用于将上述剔除后的训练图像集中的训练图像输入至上述巡线模型。
可选地,上述巡线模型包括五个卷积层和一个池化层,上述五个卷积层中的卷积核的大小小于或等于3×3。
可选地,上述巡线模型的训练装置700还包括:
量化处理单元,用于对上述目标巡线模型进行量化处理,得到已量化模型,上述目标巡线模型中的参数为浮点数据,上述已量化模型中的参数为定点数据。
由上可见,本申请方案中首先获取通过拍摄跑道而得到的训练图像集,上述训练图像集包括至少一个训练图像,各个训练图像存在各自对应的标注信息,上述标注信息包括标注转向值和标注速度值,将上述训练图像集中的训练图像输入至上述巡线模型,得到上述巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值,然后根据上述训练图像对应的标注信息和上述预测结果,计算得到转向误差值和速度误差值,最后根据上述转向误差值和上述速度误差值对上述巡线模型中的参数进行调整,直至满足巡线模型收敛条件,得到目标巡线模型。本申请方案通过训练图像集和训练图像集中各训练图像对应的标注转向值和标注速度值训练得到目标巡线模型,针对移动设备所处的跑道位置对应的跑道类型(直线道、弯道及直角弯等),目标巡线模型可以匹配不同的预测转向值和预测速度值,从而加快了移动设备的巡线速度,提高了移动设备的巡线效率。
图8示出了本申请实施例提供的一种巡线装置的结构示意图,该巡线装置应用于移动设备,为了便于说明,仅示出了与本申请实施例相关的部分。
该巡线装置800包括:
图像获取单元801,用于获取移动设备在跑道上运动的过程中对上述跑道进行拍摄而得到的跑道图像;
目标模型预测单元802,用于将上述跑道图像输入至目标巡线模型,得到上述目标巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值;
运动控制单元803,用于基于上述预测转向值和上述预测速度值,控制上述移动设备运动;
其中,上述目标巡线模型是基于训练图像集以及上述训练图像集中各训练图像对应的标注信息训练得到的,上述标注信息包括标注转向值和标注速度值。
由上可见,本申请方案中,首先获取移动设备在跑道上运动的过程中对上述跑道进行拍摄而得到的跑道图像,然后将上述跑道图像输入至目标巡线模型,得到上述目标巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值,最后基于上述预测转向值和上述预测速度值,控制上述移动设备运动。其中,上述目标巡线模型是基于训练图像集以及上述训练图像集中各训练图像对应的标注信息训练得到的,上述标注信息包括标注转向值和标注速度值。本申请方案通过训练图像集和训练图像集中各训练图像对应的标注转向值和标注速度值训练得到目标巡线模型,针对移动设备所处的跑道位置对应的跑道类型(直线道、弯道及直角弯等),目标巡线模型可以匹配不同的预测转向值和预测速度值,从而加快了移动设备的巡线速度,提高了移动设备的巡线效率。
图9为本申请实施例提供的终端设备的结构示意图。如图9所示,该实施例的终端设备9包括:至少一个第一处理器90(图9中仅示出一个)、第一存储器91以及存储在上述第一存储器91中并可在上述至少一个第一处理器90上运行的第一计算机程序92,上述第一处理器90执行上述第一计算机程序92时实现以下步骤:
将预设的训练图像集中的训练图像输入至上述巡线模型,得到上述巡线模型输出的预测结果,其中,上述训练图像集中各个训练图像通过拍摄跑道而得,且各个训练图像存在各自对应的标注信息,上述标注信息包括标注转向值和标注速度值,上述预测结果包括预测转向值和预测速度值;
根据上述训练图像对应的标注信息和上述预测结果,计算得到转向误差值和速度误差值;
根据上述转向误差值和上述速度误差值对上述巡线模型中的参数进行调整,直至上述巡线模型满足收敛条件,得到目标巡线模型。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,在上述将预设的训练图像集中的训练图像输入至上述巡线模型之前,上述第一处理器90执行上述第一计算机程序92时还实现以下步骤:
对上述训练图像集中的训练图像进行增强处理,得到增强处理后的训练图像,上述增强处理包括随机亮度、随机对比度、随机饱和度、运动模糊、高斯模糊以及高斯噪声中的至少一种;
相应地,上述将预设的训练图像集中的训练图像输入至上述巡线模型,包括:
将增强处理后的训练图像输入至上述巡线模型。
在上述第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,在上述将预设的训练图像集中的训练图像输入至上述巡线模型之前,上述第一处理器90执行上述第一计算机程序92时还实现以下步骤:
对上述训练图像集中的训练图像的像素值进行归一化处理,得到归一化处理后的训练图像;
相应地,上述将预设的训练图像集中的训练图像输入至上述巡线模型,包括:
将归一化处理后的训练图像输入至上述巡线模型。
在上述第一种可能的实施方式作为基础而提供的第四种可能的实施方式中,在上述将预设的训练图像集中的训练图像输入至上述巡线模型之前,上述第一处理器90执行上述第一计算机程序92时还实现以下步骤:
针对上述训练图像集中的每一训练图像,将上述训练图像的宽度的一半与上述训练图像对应的标注转向值之和作为移动坐标值;
显示上述训练图像,以及上述训练图像中上述移动坐标值所对应的移动点,以指示用户对上述训练图像进行标记;
将上述训练图像集中标记为不合格的训练图像剔除,得到剔除后的训练图像集;
相应地,上述将预设的训练图像集中的训练图像输入至上述巡线模型,包括:
将上述剔除后的训练图像集中的训练图像输入至上述巡线模型。
在上述第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述巡线模型包括五个卷积层和一个池化层,上述五个卷积层中的卷积核的大小小于或等于3×3。
终端设备9可包括,但不仅限于,第一处理器90、第一存储器91。本领域技术人员可以理解,图9仅仅是终端设备9的举例,并不构成对终端设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称第一处理器90可以是中央处理单元(Central Processing Unit,CPU),该第一处理器90还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述第一存储器91在一些实施例中可以是上述终端设备9的内部存储单元,例如终端设备9的硬盘或内存。上述第一存储器91在另一些实施例中也可以是上述终端设备9的外部存储设备,例如上述终端设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述第一存储器91还可以既包括上述终端设备9的内部存储单元也包括外部存储设备。上述第一存储器91用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如上述第一计算机程序的程序代码等。上述第一存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
图10为本申请一实施例提供的移动设备的结构示意图。如图10所示,该实施例的移动设备10包括:至少一个第二处理器100(图10中仅示出一个)、第二存储器101以及存储在上述第二存储器101中并可在上述至少一个第二处理器100上运行的第二计算机程序102,上述第二处理器100执行上述第二计算机程序102时实现以下步骤:
获取移动设备在跑道上运动的过程中对上述跑道进行拍摄而得到的跑道图像;
将上述跑道图像输入至目标巡线模型,得到上述目标巡线模型输出的预测结果,上述预测结果包括预测转向值和预测速度值;
基于上述预测转向值和上述预测速度值,控制上述移动设备运动;
其中,上述目标巡线模型是基于训练图像集以及上述训练图像集中各训练图像对应的标注信息训练得到的,上述标注信息包括标注转向值和标注速度值。
该移动设备可包括,但不仅限于,第二处理器100、第二存储器101。本领域技术人员可以理解,图10仅仅是移动设备10的举例,并不构成对移动设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称第二处理器100可以是中央处理单元(Central Processing Unit,CPU),该第二处理器100还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述第二存储器101在一些实施例中可以是上述移动设备10的内部存储单元,例如移动设备10的硬盘或内存。上述第二存储器101在另一些实施例中也可以是上述移动设备10的外部存储设备,例如上述移动设备10上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述第二存储器101还可以既包括上述移动设备10的内部存储单元也包括外部存储设备。上述第二存储器101用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如上述第二计算机程序的程序代码等。上述第二存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种巡线系统,包括上述移动设备和上述终端设备。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可以包括:能够将计算机程序代码携带到服务器的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
- 一种巡线模型的训练方法、巡线方法及巡线系统
- 一种分布控制的架空输电线路无人机巡线系统及其巡线方法