本发明涉及一种基于决策的激光条纹的中心提取方法,属于图形学算法技术领域。
背景技术:
目前激光测量技术已经在测量测绘的各个领域得到了广泛应用,其主要原理是用线激光照射待测物体,然后用工业相机调整曝光时间得到一个光条纹,通过扫描得到物体的3d模型,但是在实际中,该光条纹具有一定的宽度,因此如何提取条纹中心成为了激光测量中的关键技术,以往的算法有灰度重心法,其只以灰度作为衡量标准虽然速度快,但是误差较大;曲线拟合法和采用海森矩阵提取算法虽然有着很高的准确度,但是运算速度很慢。
技术实现要素:
本发明的目的在于提供一种基于决策的激光条纹的中心提取方法,以解决现有技术中光条纹存在一定宽度的问题。本发明同时考虑了速度和准确率,通过像素的统计特性,在图像中合理的估计一条路径,做到快速且精准的提取条纹中心。
本发明一种基于决策的激光条纹的中心提取方法,将提取中心线条的问题转化为一个类似于走迷宫问题,即从起点出发,对于只考虑四连通来说,只有四个方向可供选择,即上、下、左、右,然后根据决策手段,决定下一个像素点去往哪个方向;之后以所述的下一个像素点为新的决策点,再次判断又一个像素点的位置,即此时只有三种选择,因为不可能再往回走;依此方法逐步迭代,每一个像素点都要经过一个决策确定下一个位置,直到走到图像的尽头或者条纹的尽头算法结束;那么所有走过的点组成的集合就是所提取的条纹中心;该方法具体过程如下:
步骤1)对原图像进行预处理,确定图像的起点;
步骤2)对起点坐标采用决策手段,确定下一个像素点的位置,对接下来的每一个像素点同样采用如此方法画出路径,直到路径到达图像边缘或者线条边缘。
步骤3)对提取的线条进行局部优化,使得路径穿过最亮的像素点。
其中,所述的确定图像起点的方法为第一列采用灰度重心法确定起点位置;
其中,所述的确定图像起点的方法进一步包括:根据周围像素点的值,以当前的像素点为中心,决定下一个像素点的位置。
其中,所述的决策手段,具体为根据像素的统计特性,从微观像素的角度出发,确定下一个像素点与当前像素点的位置关系。
其中,所述的局部优化,具体为在步骤1)和步骤2)的基础上,对已经提取的线条做微调整,使得整个线条满足像素值最大。即优化步骤是从起点出发,将当前点后面的三个点作为优化目标,枚举可能的情况,取目标函数最大的情况。
其中,所述局部优化,优化的目标函数为:
即应该保证从a点到b点在路径点数相同的情况下,尽可能让路径上的点的像素值的和尽可能大。
本发明一种基于决策的激光条纹的中心提取方法,其优点及功效在于:本发明方法可同时兼顾速度和准确率,做到快速且精准的提取条纹中心。
附图说明
图1所示为当前决策点的四种选择,分别为像素级别的上下左右。
图2所示为基于决策方法的算法示例,箭头方向是以当前像素点为基准,根据周围像素分布决定下一步为哪个方向。
图3所示为真实的带有激光噪声的图像。
图4a~4c所示为如果下一个像素点是三个方向是,灰度值应该有的分布。
图5所示为根据灰度值确定解集的位置,图中的直线即为分界线。
图6所示为根据图5的分界线,在算法编程中,只需要比较图中各点的灰度分布即可。
图7所示为在优化方法中,采用四点优化时,可能的优化路径。
图8所示为优化示例图。
图9所示为本发明实施例提取效果图。
图10所示为本发明方法流程框图。
具体实施例方式
下面结合附图和实施例,对本发明的技术方案做进一步的说明。
如图10所示,本发明一种基于决策的激光条纹的中心提取方法,将提取中心线条的问题转化为一个类似于走迷宫的问题。即从起点出发,对于只考虑四连通来说,其只有四个方向可供选择,即上下左右,然后根据一些决策手段,决定下一个像素点去往哪个方向如图1的①②③④,假如决定下一个像素点的方向是右,则接下来以这个新的点为新的决策点,再次判断下一个像素点的位置(当然此时只有三种选择,因为不可能再往回走)。依此方法逐步迭代,每一个像素点都要经过一个决策确定下一个位置,直到走到图像的尽头或者条纹的尽头算法结束。那么所有走过的点组成的集合就是所提取的条纹中心,算法简单概括如图2。
本发明实施例为首先对图像预处理,确定图像的起点,起点的提取不同情况做法不一,如图3只需要在第一列采用灰度重心法确定起点位置即可。接着以起点为中心,从微观像素的角度来看,从起点出发,下一个像素点理论上应该有四个方向,但是由于起点是最左侧的像素点,终点在最右侧,所以可认为路径中的像素不会有向左的方向。所以决策手段的核心步骤就是根据周围像素点的值,以当前的像素点为中心,决定下一个像素点的位置即可。
根据不同类型的宽条纹,应该有不同的决策方法,因为宽条纹横截面的噪声类型有很多种情况,例如有可能出现瑞利分布,均匀分布以及高斯分布等等,在不同的噪声模型下应对方法不一,如果是均匀分布,决策手段可能更接近灰度重心的思想,而对于激光条纹,法线方向的灰度值分布可近似认为是高斯分布。所以每个路径上的像素点(x0,y0)都会产生以下影响:
而当路径到达当前像素点以后,会面临三个选择:上右下,对于上右下三个方向,理论上的像素分布应该是图4a、b、c中的一种。
但是实际的图像中下一个像素点相对于当前像素点不会是这么理想的三个方向,但是我们可以判断出下一个像素点更加靠近这三个方向的哪个方向。
假设当前点坐标为(xnow,ynow),三个方向应有的分布是:
解zright(x,y)=zup(x,y)
可得图5中左下到右上的斜线即为该方程的解,即线条上的点不足以判断其像素值大小是由于①位置还是②位置的影响,可认为其为分割线,所以如果下一个像素点位于当前像素点的上方向,则线条的左侧像素值比线条右侧像素值更大,同理如果另一个斜线条(右上到左下)左侧像素值比右侧像素值大,则下一个像素点方向更可能是向下,但是如果上方向和下方向的概率都大于右方向,这时候对方程zleft(x,y)=zdown(x,y)求解,解集是图5中水平线,所以此时应比较该水平线线上下像素值即可。
综上,具体做法是:
从当前像素点出发,计算图6中δ1、δ2、δ3位置的平均像素值,若δ1最大,则下一个像素点在上,若δ3最大,则下一个像素点在下,否则下一个像素点在右,显然如果上一个像素点是下,则无需判断δ3的值,此外由于实际图像有一些噪声,可以加一些阈值,例如如果δ1的平均值减δ2、δ3处的平均值大于某个阈值才认为下一个像素点在上面,否则认为在右边。遍历整张图像即可得所求中心条纹。
最后,这种方法,对于每个像素点来说,只是从微观的角度从当前像素点考虑下一个像素点的位置,但是这样做缺乏了全局考虑,如图7所示,从a点到b点由以下三种可能,由于噪声的影响,只是考虑下一个像素点的方法可能会在以下情况中造成误判,因此需要对提取的线条进行优化。
优化的目标函数应为:
即应该保证从a点到b点在路径点数相同的情况下,尽可能让路径上的点的像素值的和尽可能大。
故优化步骤是从起点出发,将后面的三个点作为优化目标,枚举可能的情况,取目标函数最大的情况,如图8所示。
实施例:
1)对原图像进行预处理,提取目标区域,去掉无用背景。
2)对提取区域纵向扫描,根据灰度重心法求出起点坐标
3)对起点坐标采用决策手段,确定下一个像素点的位置,对接下来的像素点同样采用如此方法画出路径,直到路径到达图像边缘或者线条边缘。
4)对提取的线条进行局部优化,使得路径穿过最亮的像素点。提取效果如图9所示。
1.一种基于决策的激光条纹的中心提取方法,其特征在于:所述方法是将提取中心线条的问题转化为一个类似走迷宫问题,即从起点出发,只考虑四连通,即只有四个方向供选择,即上、下、左、右,然后根据决策手段,决定下一个像素点去往哪个方向;之后以所述的下一个像素点为新的决策点,再次判断又一个像素点的位置,即此时只有三种选择;依此方法逐步迭代,每一个像素点都要经过一个决策确定下一个位置,直到走到图像的尽头或者条纹的尽头算法结束;那么所有走过的点组成的集合就是所提取的条纹中心;该方法具体过程如下:
步骤1)对原图像进行预处理,确定图像的起点;
步骤2)对起点坐标采用决策手段,确定下一个像素点的位置,对接下来的每一个像素点同样采用如此方法画出路径,直到路径到达图像边缘或者线条边缘;
步骤3)对提取的线条进行局部优化,使得路径穿过最亮的像素点。
2.根据权利要求1所述的一种基于决策的激光条纹的中心提取方法,其特征在于:步骤1)所述的确定图像起点的方法为第一列采用灰度重心法确定起点位置。
3.根据权利要求1所述的一种基于决策的激光条纹的中心提取方法,其特征在于:步骤1)所述的确定图像起点的方法进一步包括:根据周围像素点的值,以当前的像素点为中心,决定下一个像素点的位置。
4.根据权利要求1所述的一种基于决策的激光条纹的中心提取方法,其特征在于:步骤2)所述的决策手段,具体为根据像素的统计特性,从微观像素的角度出发,确定下一个像素点与当前像素点的位置关系。
5.根据权利要求1所述的一种基于决策的激光条纹的中心提取方法,其特征在于:步骤3)所述的局部优化,具体为在步骤1)和步骤2)的基础上,对已经提取的线条做微调整,使得整个线条满足像素值最大;即优化步骤是从起点出发,将当前点后面的三个点作为优化目标,枚举可能的情况,取目标函数最大的情况。
6.根据权利要求5所述的一种基于决策的激光条纹的中心提取方法,其特征在于:所述的局部优化,优化的目标函数为:
即应该保证从a点到b点在路径点数相同的情况下,尽可能让路径上的点的像素值的和尽可能大。
技术总结