一种基于卷积神经网络的任意角度激光门检测方法以及储存介质与流程

文档序号:24426410发布日期:2021-03-26 23:06阅读:155来源:国知局
一种基于卷积神经网络的任意角度激光门检测方法以及储存介质与流程

1.本发明涉及图像识别领域,尤其涉及一种基于卷积神经网络的任意角度激光门检测方法以及储存介质。


背景技术:

2.一般的激光门检测方法,直接基于激光数据,结合一些传统的机器学习算法来检测出门的位置;或,是利用一些已有的基于卷积神经网络的检测器直接检测出门的位置。
3.前者,提取的特征一般都很浅显,对于场景的变化较为敏感,导致其鲁棒性达不到实际使用需求;
4.而对于后者,由于目前绝大多数已有的检测算法都只能检测出不带角度的矩形框,这就导致该类方法得到的结果无法给出门的门线、朝向等姿态信息,可用信息有限。


技术实现要素:

5.本发明解决上述技术问题的技术方案如下:一种基于卷积神经网络的任意角度激光门检测方法,其特征在于,包括步骤如下:
6.s1、获取原始激光数据;
7.s2、将所述原始激光数据转化为激光图像;
8.s3、采用模型对所述激光图像进行检测和提取所述激光图像中门的特征曲线;
9.s4、对于所述门的特征曲线采用矩形框或/和倾斜框进行标识,获取所述矩形框或/和倾斜框位置信息,其中,所述位置信息包含中心点、长宽和角度信息。
10.进一步地,所述步骤s2中的具体还包括:
11.s201、激光坐标转换;
12.s202、灰度图填充。
13.进一步地,所述步骤s201中包括将距离信息转换为坐标信息,将极坐标激光数据转换为笛卡尔坐标数据的公式如下:
14.x=r
×
cosθ;
15.y=r
×
sinθ
16.其中,r为矩形框中心到坐标原点的距离,x,y表示为矩形框中心在笛卡尔坐标的位置,θ为激光发射的角度。
17.进一步地,需要进一步地将坐标值按照实际使用比例t填充至灰度图中,在填充时,按照比例t缩放到的坐标位置填充为255,其余位置为0,这样就可以得到实际可用的激光图像。
18.进一步地,所述步骤s3中具体包括:
19.步骤s301、图像预处理;
20.步骤s302、模型处理;
21.步骤s303、结果后处理。
22.进一步地,所述步骤s301中具体包括:所述激光图像在输入模型前需要进行一定归一化和数据增广(训练阶段)的图像预处理操作,其中,所述归一化需要将激光图像上的0和255分别归一化为

0.5和0.5,所述数据增广操作包括随机翻转和旋转操作。
23.进一步地,所述步骤s302中具体包括:所述检测模型采用了yolo

v3作为基准模型,对所述yolo

v3的输出层进行了相应的修改;
24.在最后一层回归层中加入了对倾斜框(w,h,θ)的检测,其中,倾斜框的回归目标(target)则是直接基于原有锚框(anchor)计算而来,而中心点(x,y)则是和矩形框相同。
25.进一步地,所述步骤s302中具体包括:在模型训练阶段中,则是用损失函数来表征预测值与真实值的差异性,倾斜框的长或宽,采用和矩形框相同的l2 loss作为损失函数,而角度θ则采用正弦函数sin作为损失函数,具体函数如下所示:
26.l2=(x
gt

x
pred
)2;
27.l
θ
=sin(|θ
gt

θ
pred
|)
28.其中,x
gt
是倾斜框的长或宽,x
pred
是矩形框的长或宽,θ
gt
是倾斜框的角度,θ
pred
是矩形框的角度。
29.进一步地,所述步骤s303中具体包括:检测模型的后处理操作为非极大值抑制(non

maximum suppression,nms)
30.获取矩形框nms之后的保留索引值;
31.基于所述索引值得到对应的倾斜框同时得到后处理过的矩形框和倾斜框;
32.基于所述倾斜框获取倾斜框的位置信息(x,y,w,h,θ)。
33.本发明实施例的第三方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以上所述机器人的基于卷积神经网络的任意角度激光门检测方法的步骤。
34.本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以上基于卷积神经网络的任意角度激光门检测方法的步骤。
35.与现有技术相比,本发明具有的有益效果如下:
36.本方法则在现有算法的基础上,面向特定场景作出改进,使其同时具有检测出任意角度的门的能力。具体来说,在本方法中,首先将输入的原始激光数据转换为激光图像,作为后续检测模型的输入,接着利用改进版的检测模型做处理,在输出图像中门的矩形框位置的同时,给出其倾斜框的位置信息,其中包含中心点、长宽和角度等信息。如果想在实际场景中使用,比如机器人乘梯、机器人移动等行为控制,还可以将图像的检测结果转化为机器人视角的坐标,以供下游任务使用。本发明可以准确地给出图像中门的倾斜框位置信息,能够在实际使用过程中为其他任务提供丰富的高层次信息。
附图说明
37.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
38.图1是实施例1提供的基于卷积神经网络的任意角度激光门检测方法流程图;
39.图2是实施例2提供的激光数据转换的流程图;
40.图3是实施例3提供的模型检测的流程图;
41.图4是本发明是本发明实施例提供的任意角度激光门检测的效果图;
42.图5是实施例3提供的结果对比一效果图;
43.图6是实施例3提供的结果对比二效果图。
具体实施方式
44.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.在一些实施例中,图1中提供了一种基于卷积神经网络的任意角度激光门检测方法的流程图,包括步骤如下:
46.s1、获取原始激光数据,其中获取激光数据的方法有多种,以下提供了三维激光雷达使用的三种情况,具体使用情况如下:如果机器人边扫描边行走,处理图片需要时间,为减少机器人处理图片的时间,需要在机器人移动之前采用人工手动进行采图处理,用户手持三维激光雷达在目标区域中行走,用户带动所述三维激光雷达向目标位置移动,三维激光雷达会实时地对地面进行检测并建图,用户的人数为多个,多个用户在不同的区域进行扫描,直到覆盖所有目标区域为止;或,将三维激光雷达安装在移动机器人上,让机器人自主移动和扫描,这样可以节约用户的工作时间;
47.或,如果机器人边扫描边行走,处理图片需要时间,为减少机器人处理图片的时间,需要在机器人移动之前采用人工手动进行采图处理,这种耗费了人力,如果在目标区域范围内设置多个激光扫描用户在目标区域进行定点设置,提供了一种目标区域设置设备的一种示意图,示意性地上述所述设备在目标区域设置三个站点,在分配方案上为:三个装备为三角形,优先地三角形夹角为600,所述设备通过无线通讯设备和所述机器人建立联系,三维激光原始数据;
48.s2、将所述原始激光数据转化为激光图像,原始激光数据只是一些点云数据的集合;
49.s3、采用模型对所述激光图像进行检测和提取所述激光图像中门的特征曲线,其中,所述提取特征曲线的算法为卷积神经网络,所述特征曲线包括门水平线特征曲线和门的轮廓特征曲线,另外门水平线特征曲线和门的轮廓特征曲线都是由点云数据组成的,即多点构成曲线,在用卷积神经网络提取特征曲线时需要采集门的正样本和不断改进卷积神经网络提取模型;
50.s4、对于所述门的特征曲线采用矩形框或/和倾斜框进行标识,获取所述矩形框或/和倾斜框位置信息,其中,所述位置信息包含矩形框或/和倾斜框的中心点、长宽和角度信息,矩形框和倾斜框的区别在是相对于基准点而言的,其中,激光图像和视觉图像具有相同的基准点,以基准点为原心建立xoy的二维坐标,因此可以获取矩形框或/和倾斜框相对
于基准点的位置信息,矩形框在坐标系中是垂直状态,而倾斜框是根据提取的门的特征曲线具有一定的倾斜角度。产生倾斜情况主要和采集激光数据的角度有关,在使用激光采集设备时,为了节约时间,不可能把角度计算低非常完美,因此,肯定会产生一定角度的偏差,这种情况下就会产生倾斜框的情况。
51.本方法则在现有算法的基础上,面向特定场景作出改进,使其同时具有检测出任意角度的门的能力。
52.在本实施例中,图4是本发明是本发明实施例提供的任意角度激光门检测的效果图,(a),(b)和(c)分别是检测到不同位置门的检测结果,(a)和(b)中对比可以看出矩形框具有不同的角度,(c)可以看出可以检测和标记多个目标。
53.具体来说,在本方法中,首先将输入的原始激光数据转换为激光图像,作为后续检测模型的输入,接着利用改进版的检测模型做处理,在输出图像中门的矩形框位置的同时,给出其倾斜框的位置信息,其中,包含中心点、长宽和角度等信息。
54.另外,如果想在实际场景中使用,比如机器人乘梯、机器人移动等行为控制,还可以将图像的检测结果转化为机器人视角的坐标,以供下游任务使用。本发明可以准确地给出图像中门的倾斜框位置信息,能够在实际使用过程中为其他任务提供丰富的高层次信息。
55.需要解释地,卷积神经网络卷积神经网络(convolutional neural network,cnn)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它包括卷积层(convolutional layer)和池化层(pooling layer)。一般地,cnn的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。
56.在本实施例中,在用卷积神经模型如何识别门并采用矩形框标记的,示意性提供一种方案,在本申请文件中,此部分并不是重点,重点是如何根据矩形框的位置信息检测出门的朝向和门宽度信息,示意性地,基于预先构建并训练的包含区域建议网络、全连接层、分类器、第一回归器、第二回归器的深度卷积神经网络,该方法包括以下步骤:通过安装在机器人身上的激光传感器对门进行位置进行扫描作为第一激光图像;将所述第一图像压缩为第二图像;所述第二图像的预设尺寸为m
×
n;基于所述区域建议网络提取所述第二图像的特征图g,其中,所述特征图包括门特征和水平基准线特征,并对所述门特征进行候选矩形框的提取,构建第一候选矩形框集合;利用感兴趣区域池化对所述第一候选矩形框集合中的各候选矩形框在特征图g上所对应的特征进行处理,得到第一特征向量;第一特征向量经所述全连接层进行处理后得到第二特征向量;将所述第一候选矩形框集合中的各候选矩形框所对应的第二特征向量,分别送入所述分类器中进行类别判定,并构建第二候选矩形框集合;利用所述第一回归器对第二候选矩形框集合中的各候选矩形框分别进行调整,得
到各候选矩形框所对应的定位矩形框,构建定位矩形框集合;对于所述定位矩形框集合中的各定位矩形框,利用所述第二回归器分别计算各定位矩形框所对应物体的抓取位置,其中,第一特征向量和第二特征向量和所述位置信息包含中心点、长宽和角度信息相关,通过数学变化可以相互转化,下面内容主要涉及到对矩型框产生方法的进一步改进。
57.在本实施例中,所述步骤s2中的具体还包括:
58.s201、激光坐标转换;
59.s202、灰度图填充。
60.在本实施例中,所述步骤s201中包括将距离信息转换为坐标信息,最原始的激光数据仅仅包含距离信息,即每根激光束到达的距离,这种极坐标格式的数据是无法直接利用的,因此需要将距离信息转换为坐标信息,以机器人坐标系为左手系坐标为例(正前方为x轴),将极坐标激光数据转换为笛卡尔坐标数据的公式如下:
61.x=r
×
cosθ;
62.y=r
×
sinθ
63.其中,r为矩形框中心到坐标原点的距离,x,y表示为矩形框中心在笛卡尔坐标的位置,θ为激光发射的角度。
64.在本实施例中,需要进一步地将坐标值按照实际使用比例t填充至灰度图中,在填充时,按照比例t缩放到的坐标位置填充为255,其余位置为0,这样就可以得到实际可用的激光图像。
65.在本实施例中,所述步骤s3中具体包括:
66.步骤s301、图像预处理;
67.步骤s302、模型处理;
68.步骤s303、结果后处理。
69.在本实施例中,所述步骤s301中具体包括:所述激光图像在输入模型前需要进行一定归一化和数据增广(训练阶段)的图像预处理操作,其中,所述归一化需要将激光图像上的0和255分别归一化为

0.5和0.5,所述数据增广操作包括随机翻转和旋转操作,这样可以使得检测模型更具鲁棒性。
70.在本实施例中,所述步骤s302中具体包括:所述检测模型采用了yolo

v3作为基准模型,对所述yolo

v3的输出层进行了相应的修改;
71.在最后一层回归层中加入了对倾斜框(w,h,θ)的检测,其中,倾斜框的回归目标(target)则是直接基于原有锚框(anchor)计算而来,而中心点(x,y)则是和矩形框相同。
72.在本实施例中,所述步骤s302中具体包括:在模型训练阶段中,则是用损失函数来表征预测值与真实值的差异性,倾斜框的长或宽,采用和矩形框相同的l2 loss作为损失函数,而角度θ则采用正弦函数sin作为损失函数,具体函数如下所示:
73.l2=(x
gt

x
pred
)2;
74.l
θ
=sin(|θ
gt

θ
pred
|)
75.其中,x
gt
是倾斜框的长或宽,x
pred
是矩形框的长或宽,θ
gt
是倾斜框的角度,θ
pred
是矩形框的角度。
76.在本实施例中,所述步骤s303中具体包括:检测模型的后处理操作为非极大值抑制(non

maximum suppression,nms);
77.获取矩形框nms之后的保留索引值;
78.基于所述索引值得到对应的倾斜框同时得到后处理过的矩形框和倾斜框;
79.基于所述倾斜框获取倾斜框的位置信息(x,y,w,h,θ),在模型处理完之后,还需要进一步地通过后处理操作才能最终地输出,一般来说,检测模型的后处理操作为非极大值抑制(non

maximum suppression,nms),而由于本发明中的模型可以同时输出矩形框和倾斜框两种,因此无法直接运用原始的nms算法。在本发明修改的nms算法中,将矩形框作为主要输入,在获得矩形框nms之后的保留索引值后,会基于此索引值得到对应的倾斜框,这样就可以利用简单的修改同时得到后处理过的矩形框和倾斜框。和直接利用倾斜框作为输入做基于倾斜框的nms相比,本发明中的修改具有快速高效的优势,且由于检测目标的稀疏性,也可以保证结果的精度。在经过后处理之后,则会得到最终的倾斜框输出,即门的位置信息(x,y,w,h,θ)。
80.本技术方案可以应用在机器人乘梯行为过程中的电梯门检测。一般来说,在机器人需要搭乘电梯时,会首先根据其全局定位来判断自己是否处于电梯门口,然后再作出乘梯的决策,但是由于实际情况下传感器、数据转换等诸多方面因素带来的误差,全局定位和实际的位置可能出现较大偏差,这对机器人的进梯动作会带来很大影响,因此可以借助本技术方案得到的电梯门的位置信息来辅助机器人的进梯过程。图5为本技术方案中对任意角度电梯门的检测结果示例图,图中绿色框为检测结果,由图可见,无论是机器人以正面姿势或是以一定角度倾斜对着电梯门,本技术方案都可以得到很不错的检测效果,且其角度和电梯门的实际角度都相符,这一结果可以有效克服因全局定位偏差带来的机器人进梯失败的情况,进一步减少因全局定位偏差导致的机器人撞墙、乘错梯等事故带来的损失。
81.在本实施例中,可以对激光门的位置进行精准的检测,检测结果包含了详细的长宽和角度信息,大幅度增加了激光门信息的易用性,同时由于状态信息的丰富性,对于下游任务有很好的促进作用。本技术方案的检测结果和其他方法的对比如图5

图6所示,图5

图6中的左侧框(a)为其他方法,右侧框(b)为本技术方案的结果。由图可见,本技术方案可以准确地检测出门的位置,并且可以获知其朝向角度等信息。
82.对比图中的数据为激光电梯门,但本技术方案不仅限于电梯门,其他例如酒店房间门、会议室门等等,也都在本技术方案的适用范围之内。
83.图3提供了的一种控制器的电路结构示意图。该控制器包括一个或多个处理器以及存储器。其中,以一个处理器为例。
84.处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。
85.存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的机器人的基于卷积神经网络的任意角度激光门检测方法对应的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行机器人的基于卷积神经网络的任意角度激光门检测装置的各种功能应用以及数据处理,即实现上述方法实施例提供的机器人的基于卷积神经网络的任意角度激光门检测方法以及上述装置实施例的各个模块或单元的功能。
86.存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述
网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
87.所述程序指令/模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任意方法实施例中的机器人的基于卷积神经网络的任意角度激光门检测方法。
88.本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,可使得上述一个或多个处理器可执行上述任意方法实施例中的机器人的基于卷积神经网络的任意角度激光门检测方法。
89.本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行任一项所述的机器人的基于卷积神经网络的任意角度激光门检测方法。
90.以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
91.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
92.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1