张育斌,熊邦书,陈垚锋,程起有
(1. 中国直升机设计研究所 直升机旋翼动力学重点实验室,江西 333001;2. 南昌航空大学 江西省图像处理与模式识别重点实验室,南昌 330063)
桨叶运动参数测量[1]为研究直升机旋翼的动力学特性提供了重要支持。目前,利用立体视觉方法[2]进行桨叶运动参数测量仍是主流。该方法需要将圆形标记粘贴于被测桨叶的表面,运用立体视觉技术[3]获得圆形标记点的圆心三维坐标[4],进而解算桨叶运动参数。但是,在风洞环境下拍摄的桨叶标记点图像具有低曝光、小目标的特点,易出现圆形标记点漏检测的问题。桨叶标记点漏检测后,桨叶运动参数将无法计算。因此,研究桨叶图像中圆检测方法对桨叶运动参数测量具有重要意义。
Hough变换(Hough Transform, HT)[5]是常用的圆检测算法,其主要优点为抗噪性能好、能检测遮掩和重叠等情况下的圆形标记点,但此类方法存在计算量大、占用内存多和检测速度慢的问题。 为了提高此类方法的效率,许多学者提出了改进Hough变换方法,如随机HT(Randomized Hough Transform, RHT)[6]和有序HT(Sequenced Hough Transform, SHT)[7]等。这些方法一定程度上克服了HT算法的缺点,但仍存在速度偏慢的问题。Akinlar等[8]先利用边缘直线拟合法(EDPF)拟合图像中连通域边缘轮廓,再利用边界线段特性定位圆[9]。该方法在圆形标记点清晰完整的情况下具有实时性和鲁棒性强的特点,但对具有低曝光、小目标的桨叶圆形标记点图像存在漏检测的现象。
针对目前直升机桨叶图像中圆形标记点漏检测和识别难的问题,并结合桨叶圆形标记点排布规律,提出了一种快速检测算法。该算法检测快、鲁棒性好、能在复杂场景中准确检测和识别桨叶上的圆形标记点,已用于直升机高速旋转桨叶运动轨迹和形变的高精度视觉测量。
桨叶标记点的排布需要考虑测量要求和视觉检测效果。为了准确获得旋转桨叶的扭转数据,在作为桨叶剖面气动中心和扭转中心的1/4弦线上均匀粘贴圆形标记点,同时在3/4弦线位置相应粘贴了圆形标记点。其中1/4弦线上有一前置圆,用于区分桨叶不同弦线,桨叶标记点排布如图1所示。桨叶表面喷涂黑色哑光油漆,圆形标记为银白色高亮反光胶带制作,以增强对比度,便于识别。圆形标记点直径44 mm,2行17列,圆心行间距70 mm,圆形列间距90 mm。
图1 桨叶圆形标记点示意图
桨叶标记点检测步骤包括:单像素边缘提取[10]、圆检测、阵列结构识别。
为了解决梯度较小导致标记圆轮廓提取过少进而漏检的问题,本文采用CLAHE方法[11]对低曝光图像进行增强预处理,采用中值滤波对增强图像进行噪声抑制。然后运用Sobel算子得到梯度图像,再以梯度图中的极大值作为单像素边缘起点,基于八邻域和梯度方向进行搜索,完成单像素边缘提取。八邻域和梯度方向如图2所示,具体步骤如下:
图2 梯度方向和像素边缘提取示例
(1)在梯度图中任选一个极大值像素点作为起始点;
(2)根据当前像素点的梯度方向图确定搜索方向,若该像素点的梯度方向为水平方向,则在左右方向进行搜索;若该像素点的梯度方向为垂直方向,则在上下方向进行搜索;
(3)在确定的搜索方向上找到最大梯度值的像素点,并将该像素点作为边缘点和下一次搜索起点;
(4)重复(2)(3)步骤,当搜索点梯度值为0或到达搜索起始点时停止搜索,并将搜索的边缘像素坐标进行记录。
圆形标记经过桨叶形变和投影成像,在图像中表现为类圆目标。因此,将单像素边缘提取得到的闭合轮廓检测采用圆度[12-13]和惯性度进行筛选,具体步骤如下。
(1)假设单像素边缘提取中有一闭合轮廓S,则该轮廓的质心坐标为:
(1)
其中,xi和yi分别为单像素边缘坐标值。
(2)根据质心坐标(xu,yu),计算轮廓S的(0,0)、(0,2)和(2,0)阶中心矩,即u0,0(S)、u2,0(S)和u0,2(S),其数学表达式如式(2)所示:
up,q(S)=∬S(x-ux(S))p(x-uy(S))qdxdy
(2)
(3)根据上述步骤得到的各阶中心矩,计算该轮廓的圆度和惯性度。圆度为:
(3)
惯性度为:
(4)
(4)对于轮廓S,当圆度越和惯性度趋近1,则轮廓越趋近于圆。但桨叶在旋转运动中存在一定的形变,圆形标记点也跟随存在一定的变形。通过多次实验得到,将圆度筛选范围设为0.95~1,惯性度筛选范围设为0.80~1,对桨叶上圆形标记点筛选效果较佳。
上述步骤排除了干扰轮廓,并检测出图像中的圆,但无法识别出圆是否属于桨叶标记点。因此,根据先验信息采用阵列结构识别方式区分桨叶上的圆和背景中的圆。具体步骤如下:
(1)计算所有圆轮廓的中心坐标;
(2)计算某中心坐标p与其他圆心坐标pi的距离di,选择距离最近的3个中心坐标;
(3)在3个最近邻中心坐标中任选一个,设其与p的距离为d,计算其与p的像素偏移Δx和Δy,根据相邻阵列标记圆之间圆心距相等且在行列直线上的约束,以(xp-Δx,yp-Δy),在半径为λ*d的范围内查找圆轮廓的中心,对其他最近类圆中心均进行配对搜索;
(4)在直线配对成功的标记点中任选一个标记点Pi和未直线配对的Pj,它们距p的距离分别为di和dj,Pi和Pj之间的距离为ΔD。根据余弦定理计算两Pi和Pj的夹角,如果满足|θ-0.5*π|≤ξ,其中ξ为可容忍的角度偏差,则类圆中心的三个最近邻满足垂直关系,且直线配对的方向为行方向,并记录当前阵列内圆的与三个最近邻中三个方向标记点的像素偏移Δxk、Δyk,k=1,2,3。若不满足条件,则返回步骤(3)重新检测直线模式;
(5)根据(4)中的像素偏移Δxk、Δyk,在行和列方向查找圆轮廓中心。若找到圆轮廓中心数与先验信息相符合,则完成阵列模式检测。若不满足条件,则返回步骤(3)重新检测直线模式;
(6) 以行方向两端位置的标记点为起点,根据像素偏移Δx3、Δy3以及距离约束,向外扩展查找首行前置标记圆,再根据圆中心逐个偏移,完成所有标记圆的检测和识别,并依次记录所有圆形标记点圆心像素坐标。
实验图像是在风洞环境下采集的真实运动桨叶图像。所用相机为FASTCAM MiniWX 100 type 80K-M-8GB,相机曝光时间为50 μs,桨叶旋转速度为750 rpm。利用Visual Studio 2013实现了本文圆形标记点检测方法,在CPU为Intel(R) Core(TM) i7-9750H 12核,显卡为GT1660Ti,主频为2.7 GHz、16 G RAM、Win10系统上进行实验。
为了验证检测效果,在4次真实旋翼桨叶形变测量采集的2.6万张图像中,随机抽取了500张桨叶图像进行处理,其中采集的图像分辨率包括2048×1024 pixel、2048×2048 pixel和2048×1080 pixel。为了能够清晰展示本文算法检测效果,对两组不同的桨叶图像检测结果进行展示,展示图像为初始分辨率下检测完成后裁剪放大的桨叶部分。原始桨叶图像如图3(a)和图4(a)所示,并进行了图像光照增强。图3和图4中(b)~(d)为本文方法各部分处理结果图。从图3(d)和图4(d)可以看出,本文方法检测的桨叶中圆形标记点轮廓视觉效果较好,且能完整的识别出桨叶圆形标记点的阵列结构。
图3 算法处理过程
图4 其他阵列结构标记点处理过程
为了量化本文方法的检测效率,以上述500张图像为对象,统计EDPF方法、Hough方法、Canny方法和OSTU方法圆检测一张图像的平均时间,如表1所示。由表1中结果可以看出,本文方法检测速率与EDPF方法、Canny方法和RHT方法速率相当,比Hough方法和OSTU方法检测更快。
表1 各方法耗时统计表
为了进一步量化本文方法的检测性能,对于抽取的500张桨叶图像,采用统计的方法计算本文方法及另外4种方法的漏检率,统计结果如表2所示。从表2中可以看出,本文方法对于圆形标记点在准确检测率上具有较好的性能,且较其他方法具有一定的领先优势。
表2 各方法漏检率及误检率统计表
为了定量的验证本文方法对圆形标记点的检测精度,本节同样使用上文中500张桨叶图像为样本,对各个方法检测的桨叶图像中的圆形标记点直径进行统计,如表3所示。实际测量的圆形标记点直径为44 mm,依据本文方法计算出的圆形标记点平均直径44.492 mm,最大误差为0.570 mm,比Hough方法、RHT方法、Canny方法和OTSU方法都更接近实际测量圆形标记点直径。
表3 各方法漏检率及误检率统计表
本文提出的直升机桨叶图像中圆形标记点的识别方法,可以准确地识别高速旋转桨叶图像中的多个标记,对图像中存在低曝光、小目标、类圆干扰的复杂情况检测效果较好。该方法采用图像对比度增强的方法增大了图像对比度,提高了圆形标记识别率。采用阵列结构先验排除了背景干扰,识别出桨叶圆形标记点。通过实验表明,所提方法解决了高速旋转桨叶图像中多标记的检测识别问题,验证了本文方法的有效性。