一种直升机桨叶图像中圆形标识的快速分水岭检测方法与流程

文档序号:16584643发布日期:2019-01-14 18:17阅读:221来源:国知局
一种直升机桨叶图像中圆形标识的快速分水岭检测方法与流程

本发明涉及一种几何标识快速分水岭检测方法,尤其是涉及一种低曝光高速旋转下直升机桨叶图像中圆形标识的快速分水岭检测方法。



背景技术:

视觉测量直升机高速旋转桨叶时,图像具有低曝光、运动模糊、标识形变、高分辨率等特点,通过立体视觉精确测量桨叶上各人工标识的空间位置,要求快速、精确定位图像中的每一个人工标识,这是一个技术难题。

圆是具有旋转不变性的几何形状,圆形标识是机器视觉中最常用的人工标识之一。桨叶上的圆形标识经过成像时的透视变形和桨叶弹性变形,在图像中形成类圆目标。现有类圆检测方法有hough变换法、形状参数阈值法和几何形状拟合方法。以上方法均对单个类圆识别有效,但对具有类圆属性的干扰轮廓,则无法区分。

hough变换及其改进方法是目前应用最广的圆检测方法,主要优点为抗噪声性能好,能检测遮掩和重叠等情况的多个圆,但hough变换检测圆中存在一对多的映射关系使得计算量大、占用内存多。为了提高效率,许多学者利用梯度和边缘信息,实现了多种基于随机抽样和参数聚类改进的hough变换。但对于低曝光图像,梯度和边缘信息本身难以准确提取。现有边缘提取主要有基于阈值分割、基于梯度算子、分水岭方法和水平集分割方法等。大津阈值方法对内容简单的图像分割效果较好,当多个目标亮度变化较大,且和背景的占比差异越大时,分割准确度越差;基于梯度算子的方法中较有代表性的是canny和edpf(edgedrawingparameterfree)边缘检测方法,在低曝光图像中边缘漏检严重;各种分水岭(watershedtransform,wst)和水平集分割法计算复杂、速度慢。



技术实现要素:

本发明的目的在于提供一种低曝光高速旋转下直升机桨叶图像圆形标识的快速分水岭检测方法,旨在解决现有检测方法漏检和传统标记分水岭方法速度慢的问题。本发明方法具体包括以下步骤:

1.并行处理框架构建,具体包括以下步骤:

(1.a)根据桨叶上圆形标识数量num=row×col,开启大小为num的线程池;

(1.b)把原始桨叶图像分成num个图像子块,每个线程处理一个图像子块。

2.基于图像下采样的局部极值特征快速提取,具体包括以下步骤:

(2.a)在线程函数中使用中值滤波和高斯滤波对图像子块去噪;

(2.b)在线程函数中对去噪后的图像子块进行倍下采样;

(2.c)在线程函数中采用h极值变换对下采样后的图像子块进行局部极值提取;

(2.d)在线程函数中对局部极值进行连通域标记。

3.基于预设模式的圆形标识局部极值识别,具体包括以下步骤:

(3.a)在下采样图像中删除分块边界处只标记了单侧的伪极小值连通域;

(3.b)计算步骤(3.a)保留的各连通域的形状因子,排除圆度和惯性度小的干扰连通域。

(3.c)根据圆形标识矩阵排列的预设模式,识别圆形标识的局部极值。

4.基于查找表的圆形标识感兴趣区域(roi)快速标记,具体包括以下步骤:

(4.a)建立查找表。以(0,0)为圆心,r为半径,根据圆方程计算该圆周上的所有像素坐标,且相邻像素之间满足4-邻域连通;把圆周上的像素坐标保存成一维表;以r为索引,建立不同r的圆周像素坐标二维查找表。其中,r为整数,取值范围满足r1≤r≤r2,r1和r2分别为最小和最大圆半径。

(4.b)使用查找表。计算下采样图像中圆形标识的局部极小值连通域中心坐标(xi,yi),然后n倍映射得到原始图像中坐标(n×xi,n×yi);计算原始图像中相邻圆心距d,确定roi标记的半径为获取表中半径为的圆周像素坐标;然后每个像素坐标加上偏移量(n×xi,n×yi),得到中心坐标为((n×xi,n×yi)),半径为的圆周像素集合,作为圆形标识的roi标记。所有roi标记统一编号为num+1。

5.roi局部梯度计算,具体包括以下步骤:

(5.a)以roi标记圆上的像素为起点,通过邻域迭代把roi内像素压入队列;

(5.b)根据g=f9_max-f9_min,计算roi内每个像素的形态学梯度。其中f9_max是以当前像素为中心的3×3局部窗口内像素灰度最大值,f9_min是以当前像素为中心的3×3局部窗口内像素灰度最小值。6.roi局部分水岭变换,具体包括以下步骤:

(6.a)将步骤(3.c)中圆形标识的极值连通域中心,按顺序标记编号为1至num;

(6.b)把圆心为(n×xi,n×yi),半径为的圆作为第i个圆的roi标记,标记编号为num+1;

(6.c)把圆心为(n×xi,n×yi),半径为的圆作为第i个圆局部涨水的虚拟图像边界,即范围标记;

(6.d)根据圆形标识的内标记、roi标记、范围标记,对步骤(5.b)所得的相应局部梯度图像,进行局部标记分水岭变换。

本发明的优点是,能准确提取低曝光桨叶图像中的所有圆形标识的单像素线宽连续边缘,克服了其它方法存在的圆形标识漏检严重的问题;采用图像下采样、并行处理、查表和局部计算方法,克服了传统标记分水岭方法速度慢的缺点,提高了直升机桨叶图像中圆形标识的检测效率;同时,具有抗干扰能力强、自动化程度高的优点,可用于直升机桨叶运动参数视觉测量中的圆形标识检测和定位。

附图说明

图1为桨叶上喷涂圆形标识的实拍图。

图2为本发明的工作流程图。

实施方式

本发明实施例中的桨叶图像是放置于地面的双目立体摄像机竖直向上拍摄直升机试验塔旋翼桨叶得到的;实施中,视觉传感器选用德国basler公司型号为aca2000-340km的工业相机,水平视场角为25°,垂直视场角为12.5°,镜头焦距为12mm,拍摄距离为5m,测量位置单个摄像机的视场范围约为4.66m×2.22m,图像分辨率为2040pixel×1024pixel,曝光时间是40us。本实施例中,计算机配置为四核intelcore(tm)i5-3470cpu@3.2ghz,8gddrram。

本发明中桨叶喷涂圆形标识采用2行12列、形状相同、直径为40mm的黑色圆心标识,桨叶喷涂为白色,行方向圆心距为60mm,列方向圆心间距为90mm,实拍图如图1所示。

本发明采用如图2所示的工作流程,实现低曝光高速旋转下的桨叶图像圆形标识快速分水岭检测方法,具体实施步骤如下:

1)并行处理框架构建

(1.a)根据桨叶上圆形标识数量num=row×col,开启大小为num的线程池;

本实施例中,row=2,col=12,num=24。

(1.b)把原始桨叶图像分成num个图像子块,每个线程处理一个图像子块。

本实施例中,图像子块的划分方法为:把图像划分成4行6列共24个子块,每个子块邻接且互不重叠。

2)基于图像下采样的局部极值特征快速提取

(2.a)在线程函数中使用中值滤波和高斯滤波对图像子块去噪;

本实施例中,在线程函数中使用3×3中值滤波和3×3高斯滤波对桨叶图像子块进行去噪。

(2.b)在线程函数中对去噪后的图像子块进行倍下采样;

本实施例中:所采集图像分辨率为2040pixel×1024pixel,对图像水平和垂直方向分别进行下采样,得到分辨率为510pixel×256pixel的图像。

(2.c)在线程函数中采用h极值变换对下采样后的图像子块进行局部极值提取;

本实施例中:在线程函数中对下采样子块图像进行取反运算,再使用h极大值变换提取图像极大值特征。

所述h极大值变换算法,其思想是,圆形标识为黑色,取反图像中圆形标识都为灰度值大的区域,通过h极大值变换得到区域极大值,能滤除高度小于等于h的极大值。h极大值变换可通过i对i-h的腐蚀重建实现,记为:

其中h代表深度,i代表原桨图像,r和ε分别代表形态学重建和腐蚀参数。图像i的区域极大值定义为原始图像减去腐蚀重建图像,公式记为:

最后,得到极大值区域像素值为非零而其它像素值全为0的局部极值图像。

本实施例中,由于低曝光图像对比度较小,取h=3。

(2.d)在线程函数中对局部极值进行连通域标记。

本实施例中极值特征提取步骤,原图中执行耗时3.443秒,1/4倍下采样图像中耗时0.34065秒,进一步24线程并行处理耗时0.022秒。

3)基于预设模式的圆形标识局部极值识别

由于大视场拍摄环境背景复杂,步骤2)输出的连通域,存在大量干扰连通域,本发明使用连通域形状因子去除部分干扰连通域。具体实施步骤如下:

(3.a)在下采样图像中删除分块边界处只标记了单侧的伪极小值连通域;

(3.b)计算步骤(3.a)保留的各连通域的形状因子,排除圆度和惯性度小的干扰连通域;

(3.c)根据圆形标识矩阵排列的预设模式,识别圆形标识的局部极值。

本实施例中,预设结构模式为2行12列矩阵排列模式和一个导向圆标识,根据这一预设模式识别各圆形标识局部极值连通域中心。具体步骤如下:

(3.c.1)计算各极值连通域中心;

(3.c.2)随机取一个新的中心坐标,计算其与最近邻的三个中心坐标,是否符合“t”形排列,即三个点与当前中心点等距,且其中两个点与当前点连线夹角为180度,第三个点与当前点连线垂直于前两个点所在直线。如果是,则存储“t”字形交点处的中心坐标值及在行、列方向上相邻中心的坐标偏移量,转步骤(3.c.3);如果否,则随机选取下一中心坐标,重复步骤(3.c.2);

(3.c.3)根据(3.c.2)存储的中心坐标以及行、列方向上的坐标偏移量,如果成功找到2×12矩阵排列的中心坐标集合,则存储中心坐标集合,流程结束;如果未成功找到2×12矩阵排列的中心坐标集合,则转步骤(3.c.2)。

4)基于查找表的圆形标识感兴趣区域(roi)快速标记

每个圆形标识参数相同,则其roi形状和大小也相同。基于查找表快速标记圆形标识感兴趣区域(roi)的具体实施步骤如下:

(4.a)建立查找表。以(0,0)为圆心,r为半径,根据圆方程计算该圆周上的所有像素坐标,且相邻像素之间满足4-邻域连通;把圆周上的像素坐标保存成一维表;以r为索引,建立不同r的圆周像素坐标二维查找表。其中,r为整数,取值范围满足r1≤r≤r2,r1和r2分别为最小和最大圆半径;

桨叶图像拍摄距离基本不变,不同桨叶图像中的标识大小和距离相近,因此,roi大小在很小范围内变化。根据2×12矩阵排列的中心坐标间距均值d,圆半径为r取r1=d/4到r2=3d/4之间的整数。

本实施例中测得圆形标识中心间距为26pixel,建立以半径r(6≤r≤20)pixel为索引的圆周查找表。

(4.b)使用查找表。计算下采样图像中圆形标识的局部极小值连通域中心坐标(xi,yi),然后n倍映射得到原始图像中坐标(n×xi,n×yi);计算原始图像中相邻圆心距d,确定roi标记的半径为获取表中半径为的圆周像素坐标;然后每个像素坐标加上偏移量(n×xi,n×yi),得到中心坐标为((n×xi,n×yi)),半径为的圆周像素集合,作为圆形标识的roi标记。所有roi标记统一编号为num+1。

本实施例中,num=24,因此,圆形标识roi都标记编号为25。

本实施例中,圆形标识感兴趣区域(roi)标记提取步骤,传统基于欧式距离图像分水岭变换的提取方法耗时15.871秒,本文基于查找表的提取方法耗时0.002秒,进一步24线程并行处理耗时缩短至0.001秒。

5)roi局部梯度计算

(5.a)以roi标记圆上的像素为起点,通过邻域迭代把roi内像素压入队列;

(5.b)根据g=f9_max-f9_min,计算roi内每个像素的形态学梯度。其中f9_max是以当前像素为中心的3×3局部窗口内像素灰度最大值,f9_min是以当前像素为中心的3×3局部窗口内像素灰度最小值。

本实施例中,形态学梯度计算步骤,原图耗时1.081秒,roi局部计算耗时缩短至0.046秒,进一步24线程并行处理后耗时缩短至0.003秒。

6)roi局部分水岭变换

本发明采用局部标记分水岭算法,并通过以上步骤所得信息对涨水区域进行自适应限制,使得算法涨水区域缩小,算法速度提升。

(6.a)将步骤(3.c)中圆形标识内极值连通域中心,按顺序标记编号为1至num;

(6.b)把圆心为(n×xi,n×yi),半径为的圆作为第i个圆的roi标记,标记编号为num+1;

(6.c)把圆心为(n×xi,n×yi),半径为的圆作为第i个圆局部涨水的虚拟图像边界,即范围标记;

(6.d)根据圆形标识的内标记、roi标记、范围标记,对步骤(5.b)所得的相应局部梯度图像,进行局部标记分水岭变换。

本实施例中,n=4,num=24。标记分水岭变换步骤原图变换完成时间为10.124秒,局部变换完成时间缩短为0.351秒,局部24线程并行处理的时间为0.024秒。

在2040pixel×1024pixel的低曝光桨叶图像中完成24个圆形标识定位的整个流程,常规标记分水岭处理为31.424秒,局部标记分水岭优化后耗时缩短至0.804秒,进一步24线程并行处理后的时间缩短至0.051秒。用于直升机桨叶运动参数视觉测量中的圆形标识检测和定位,达到了本实施例预期效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1