其他分享
首页 > 其他分享> > 一种用于移动机器人自动识别电梯按钮的去除透视畸变方法

一种用于移动机器人自动识别电梯按钮的去除透视畸变方法

作者:互联网

简介

 

 

 

 

移动机器人在电梯场景中自动运行是一种具有广泛前景的方案,通常包括三个部分:按钮识别,运动规划和机器人控制。其中,按钮识别是最基本但最具挑战性的步骤。它的性能直接决定整个电梯中移动机器人操作系统的成功率和鲁棒性。但是,当前的按钮识别系统大多不能实现自主操作,它需要人工协助或电梯面板改造,这违背了将机器人设计为自主的想法。

电梯按钮识别算法通常包含两个子任务:按钮检测和字符识别。然而,由于图像扭曲,识别精度并不令人满意。同时,按钮形状、按钮尺寸、电梯面板设计、光线条件等种类繁多,各种透视畸变和模糊使得按钮的识别更加困难。本文工作的关键思想是提出一种新颖的算法,可以根据检测结果自动去除此类透视畸变,帮助提高按钮识别精度。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

角点检测方法包括两个部分。第一部分是按钮分割算法,该算法利用DeepLabv3 +模型进行特征提取并获得按钮分割结果。第二部分是角点坐标检测算法。在获得按钮分割结果之后,利用膨胀和腐蚀操作来减少噪声。然后采用霍夫变换方法检测每个按钮的四行。最后,因为它们是检测到的线的交点,所以可以获得像素坐标和所有按钮角点的顺序。

 

透视畸变失真消除方法由三大步骤组成,第一步是建立一个标准的透视空白坐标系,并在空白坐标系上绘制预设的按钮角点的标准像素坐标。第二步是back projection。在得到角点像素坐标的检测结果后,利用摄像机固有参数的反矩阵,将按钮角点的像素坐标在当时的归一化图像平面上转化为空间坐标。第三步是从失真的图像到标准透视空白坐标系估计相机运动。在获得空间坐标后,利用Rodrigues公式,以每轴0.5的间隔对旋转度进行采样,对畸变角的空间坐标进行旋转,得到新的空间坐标,形成新的空间四边形。 当新的空间四边形的线与标准透视角点得到的标准空间四边形平行时,我们就可以得到相机运动的最佳位姿。第四步是形成无畸变的新图像。得到最佳位姿后,利用对角点像素点进行同样操作,将有畸变的图像中的每个像素转化为新的像素坐标。然后通过应用逆向变换,最终可以消除透视失真。

 

本文方法:角点检测BUTTON CORNER DETECTION

 

1、Button Segmentation

 

在这项工作中,利用DeepLabv3 +模型获得属于按钮的像素的分割结果。它是一种典型的网络体系结构,使用改进的神经体网络结构搜索技术来自动搜索图像的语义分割。DeepLabv3 +模型将两种类型的神经网络结合在一起:编码器-解码器结构和空间金字塔池模块。通过利用编码器-解码器结构,可以获得清晰的对象边界,并且利用空间金字塔池化模块可以通过池化特征来捕获丰富的上下文信息。DeepLabv3 + 模型如图2所示。

 

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

本文中采用的DeepLabv3 +模型的输入是带有畸变的电梯按钮平面图像。首先利用Mobilenet提取特征,这是一个深度可分离的卷积神经网络。Mobilenet作为主干网络主要输出两种类型的按钮分割特征:低级特征和高级特征。然后应用几种具有不同空洞率的空洞卷积来捕获高级特征的丰富语义信息并在输出中进行编码。此外,解码器模块主要用于对象边界的恢复。当DeepLabv3 +模型执行反卷积操作时,低级特征与编码器的输出相融合。

 

本文中采用的DeepLabv3 +模型的输出是具有与输入图像相同分辨率的灰度图像。每个像素的值代表其所属的类别。

 

2  Corner coordinates detection

 

获得失真图像的按钮分割结果后,首先提取其中一个按钮特征,然后可以得到具有两类像素值的二值图像,其中一类代表我们要提取的按钮特征,另一类代表另外两个按钮的特征。之后,采用膨胀和腐蚀的方法来减少二值图像的噪声并平滑按钮的边缘,以提高行检测的性能。腐蚀然后膨胀的过程称为闭运算操作。它用于连接相邻对象并同时平滑其边界,而不会显着改变其面积。

 

然后将Hough变换法应用于处理后的图像,检测按钮的四条线。Hough变换法是计算机视觉、图像分析和数字图像处理领域中检测图像几何形状的基本方法之一。它是将具有相同形状的曲线或直线从一个空间映射到另一个坐标空间的点上,并求出峰值。最后,在得到四条线的检测结果后,我们可以得出按钮角点的像素坐标,因为它们是检测线的交点。而每个按钮角点的顺序是事先定义好的,以方便透视失真去除算法。其顺序如下图所示。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

 

本文方法:透视失真去除PERSPECTIVE DISTORTION REMOVALwatermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

1、符号定义

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

 

 

 

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

 

假设对于不变形的标准透视图按钮角点,水平线的斜率等于零,垂直线的斜率等于无穷大,水平线和垂直线之间的夹角的余弦值等于零。因此,对于矩阵E有:

 

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

 

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

然后可以获得空间坐标点的旋转矩阵:

 

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

最终,可以获得检测到的深度等于1的按钮角点的新的空间坐标点,公式如下:

 

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

其中P [3]代表第三行新的空间坐标点,转换矩阵T定义为标准透视图图像和需要校正的图像中第一个角的空间坐标点值之间的差值。

 

 

在这项工作中,相对于每个轴每0.5度采样一次,以获得从-40度到40度的旋转矩阵R(θ),共有512,000种组合。然后设置三个标准来决定哪种组合可以获得最佳旋转矩阵。

 

第一个标准是每个按钮的水平线在空间坐标中的斜率。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

第二个准则是每个按钮的垂直线在空间坐标中的斜率。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

第三个条件是空间坐标中每个按钮的水平和垂直线的余弦值。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

为了组合这三个标准,针对所有旋转矩阵组合条件对它们进行了归一化。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

那么最终的准则如下所示:

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

当“最终标准”最小时,我们可以获得最优旋转和平移矩阵,该矩阵可以将检测到的按钮角点的空间坐标点转换为标准透视图按钮角的理想空间坐标点,而不会发生变形。

 

 

实验与结果

 

在本节中,DeepLabv3+模型在一个大规模的测试数据集上进行了实验,该数据集包含了2000张电梯按钮图像的高质量像素级annotations。实验结果表明,DeepLabv3+模型具有了良好的表现。然后收集了来自3个不同电梯场景的15张图像的数据集来验证所提出的算法,并且所有的样本都是从不同的视角包含严重的透视失真来采集的。图5中展示了一些原始图像和修正后的图像。根据图5可以看到,即使图像样本的透视畸变也很严重,所提算法也具有良好的校正性能。

 

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

实验结果

 

为了测量所提出的失真消除算法的准确性和有效性,我们将提出的算法和传统的几何算法应用于数据集,并比较它们的失真消除结果。

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

将上式的值用于评估,它表示空间坐标中所有按钮的水平线和垂直线之间的余弦值的两个范数。当Cos值越小,校正效果越好。在实验中使用的传统几何算法是Krishnendu Chaudhury提出的(《Auto-rectification  of  user  photos》)。这种传统几何算法的关键思想是通过在图像上执行仿射校正来使图像更接近于正面平行视图,从而恢复平行于正面平行图像视图的线的平行度,并利用基于消失点的RANSAC方法。

 

失真消除算法的结果比较

 

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

从表中可以看到。所提出的算法在所有三组图像上均实现了更高的精度。该算法的校正结果平均比传统几何算法的校正结果高77.4%,大大改变了算法的有效性。

标签:自动识别,按钮,角点,移动机器人,像素,畸变,坐标,图像,空间
来源: https://blog.51cto.com/u_15067234/2903878