视觉测量中环形编码标志点的精确识别算法研究
2016-03-08倪章松李中伟
倪章松,成 垒,顾 艺,陈 然,刘 甍,钟 凯,李中伟
(1.中国空气动力研究与发展中心,四川 绵阳 621000;2.华中科技大学 材料科学与工程学院,湖北 武汉 430074)
视觉测量中环形编码标志点的精确识别算法研究
倪章松1,成 垒1,顾 艺1,陈 然2,刘 甍2,钟 凯2,李中伟2
(1.中国空气动力研究与发展中心,四川 绵阳 621000;2.华中科技大学 材料科学与工程学院,湖北 武汉 430074)
视觉测量中,在待测物体表面分布一些易于识别的标记,可以提高特征识别的准确性和精度,保证多幅图像间特征点对应匹配的可靠性。针对在投影角度或图像噪声较大时,环形编码标志点识别率低的问题,设计了一种环形编码标志点作为标记,并提出了一种编码标志点精确识别算法。该算法首先使用Otsu算法提取椭圆边缘环状领域,并对环状领域点进行椭圆拟合求解椭圆参数;然后根据圆度与椭圆参数约束排除图像中伪标志点;最后通过计算编码环段内椭圆的灰度梯度确定编码环带的编码值。所使用的圆心提取算法能达到亚像素级精度。试验结果表明,该编码标志点识别算法受投影角度、图像噪声等因素的影响小,可以实现编码标志点的精确定位与准确识别。
视觉测量;编码标志点;圆心提取
视觉测量中,在被测物体表面分布一些易于识别且具有唯一身份信息的编码标志点,可以方便、可靠地实现多幅图像之间的标志点的对应匹配[1];因此,国内外不少学者对编码标志点的设计和识别做了研究。1972年,F. A. Russo等[2]开始设计编码标志点,1988年,K. W. Wong等[3]将编码标志点应用于视觉测量,其后又经过C. T. Schneider[4]、K. Forbes等[5]以及S. J. Ahn[6]等的改进和提高,编码标志点已经广泛应用于视觉测量中,如德国GOM公司的TRITOP、ACION公司的DPAInspect和西安交大的XJTUDP系统[7]。但是,在图像噪声或投影角度较大时,编码标志点的识别率仍然较低。为此,国内外许多研究者对编码标志点的识别算法进行了改进。K. Forbes等在2002年使用带有环形编码带的编码标志点进行标定时,提出了一种有效的编码标志点识别方法。该方法首先使用一系列的准则提取标志点,然后每隔360°/n(n为编码环的位数)将编码环带上的灰度值与图像平均灰度值进行对比,解码编码标志点。该方法的识别率较低,主要原因是所使用的标志点识别算法容易将编码环段误判为标志点,以及没有考虑图像噪声对解码算法的影响。周玲等对Forbes的算法进行了改进,首先对图像进行中值滤波,然后将一定角度编码环段上所有像素灰度值的中值与图像平均灰度值进行比较来解码编码标志点。这种方法降低了图像噪声对编码标志点解码的影响, 但是当投影角度较大时,会对编码标志点的正确解码产生影响。段康容等[8]通过图像像素灰度值比较寻找编码弧段上的灰度跳变点来计算编码弧段对应的圆心角和弧长,进行编码标志点解码,但是图像噪声可能会影响编码标志点的正确解码。
为了实现编码标志点的精确解码,本文提出一种基于灰度梯度的编码标志点解码算法。该算法首先使用Otsu算法[9]提取椭圆边缘环状领域,并对环状领域点进行椭圆拟合求解椭圆参数;根据圆度与椭圆参数约束排除图像中伪标志点;然后通过计算编码环段内椭圆的灰度梯度寻找灰度跳变点;最后计算编码弧段对应的圆心角来确定编码环带的编码值。所使用的圆心提取算法能达到亚像素级精度。试验结果表明,该编码标志点识别算法受投影角度、图像噪声等因素的影响小,可以实现编码标志点的精确定位与准确识别。
1 编码标志点的设计
编码标志点的设计应遵守如下原则。
1)互异性。编码标志点经过平移、缩放、旋转和错切等变形后与其他编码标志点仍然不同。
2)所设计的编码标志点方案能提供足够数目的编码标志点。对于环状编码标志点,不同的编码点位数对应的编码标志点总数见表1。
3)标志点特征简单、易于识别。
4)尺寸适当。标志点过小时,不利于标志点的识别;标志点过大时,标志点无法在狭小的平面或曲率较大的曲面上固定,另外标志点的分布容易影响测量结果。
表1 编码点位数和编码标志点总数的对应关系表
根据上述设计准则和实际测量范围,本文采用K. Forbes等提出的编码方法设计出的15位环形编码标志点(见图1)。它由中心圆和同心圆环两部分组成,中心圆半径为10 mm,同心圆环的宽度为7.5 mm,两者间的间距为7.5 mm。编码环被等分成15个单元,每单元间隔24°。每份编码环带可以制作成为亮环带或暗环带,相应的二进制码为1和0。以任意的编码环带为起点,按逆时针顺序组成的编码环带对应的最小15位二进制数,就是该编码标志点的编号。编码标志点的实际图像如图2所示。
图1 编码标志点设计图
图2 编码标志点实际图像
2 标志点的识别与解码
在实际测量中,编码标志点与非编码标志点同时使用,非编码标志点如图3所示。标志点的识别算法包含标志点圆心提取算法和编码标志点解码算法,后文中无特殊说明时,标志点指编码和非编码标志点的总称。
图3 非编码标志点
2.1 标志点圆心提取
圆形标志点经CCD成像后呈椭圆形状,因此标志点圆心提取的目标是从图像中提取标志点在图像平面上成像的椭圆中心。本文所采用的圆心提取算法步骤如下。
1)根据Otsu算法确定的梯度阈值提取椭圆边缘环状邻域。在众多阈值分割算法中,由Otsu提出的基于类间方差最大化的分割算法一直被认为是分割阈值自动选取的最优方法[10],它实际上是以错分概率最小作为分割阈值的选取准则。它将图像分为背景与目标两类(见图4),通过搜索计算类间方差最大值,得到最优阈值(见图5)。通过环状边缘邻域的提取这一步操作之后,就可以提取得到环状边缘邻域(见图6)。由于采用了椭圆环状邻域参与最优化计算,避免了传统方法中的单像素边缘易受噪声的影响,因此它无需精确提取椭圆的单像素边缘轮廓,对噪声和不均匀的光照条件有较好的鲁棒性。
图4 圆形标志点灰度图
图5 某一行灰度、梯度及阈值
图6 根据梯度阈值分割的环状边缘邻域
2)将环状邻域上所有的点代入基于切线拟合的对偶二次曲线的目标函数模型中,通过加权最小二乘算法将椭圆参数计算出来,进而实现圆心的精确提取。圆形标志点在图像上成像的椭圆可用平面椭圆方程来表示:
Ax2+Bxy+Cy2+Dx+Ey+F=0
(1)
(2)
可以将式1表示成矩阵的形式:
(3)
(4)
通过使目标函数最小化,可以求解参数向量ψ。目标函数的表达式:
(5)
式中,n为切线的数目,ωi为权重因子。
2.2 去除伪标志点
由于实际测量场景复杂,会存在椭圆状或类椭圆的图案,这些图案在标志点圆心提取时,会被误认为标志点而被识别。伪标志点一般为测量场景中的细小颗粒、细长的椭圆图案和多边形等接近椭圆的形状。无论成像角度如何,这些伪标志点具有如下特点:1)场景中的细小颗粒拟合的椭圆长轴小于标志点拟合的椭圆长轴;2)细长椭圆图案的长短轴比例大于标志点椭圆;3)多边形拟合的椭圆圆度大于标志点拟合的椭圆。因此,本文使用如下约束原则:1)椭圆最小长轴约束,设置椭圆最小长轴阈值,排除椭圆长轴小于阈值的椭圆;2)椭圆长短轴比例约束,设置椭圆长短轴比例阈值,排除椭圆长短轴比例大于阈值的椭圆;3)圆度阈值,排除大于此阈值的椭圆。使用标志点圆心提取算法的结果如图7所示,使用约束原则排除伪标志点后的结果如图8所示。由此可见,使用椭圆参数约束和圆度约束后,可去除被识别的伪标志点。
图7 标志点圆心提取 图8 采用约束原则的 标志点圆心提取
2.3 编码标志点解码
编码标志点的解码是编码的逆过程,其基本思想是根据编码环上的灰度变化, 以任意编码环带为
起点,逆时针读取二进制位组成15位的二进制串,所有二进制串的最小数对应的十进制数为该编码标志点的编号。解码示意图如图9所示,椭圆D为标志点圆心提取时识别出的椭圆,椭圆A、C分别为对应编码环带的外边界和内边界,椭圆B介于椭圆A、C之间。
图9 解码示意图
在实际测量中,由于图像噪声和投影角度等因素的影响,编码标志点上的编码环段可能会成像为模糊且细长的环带图案,常用的基于灰度值的编码标志点解码算法无法保证极端条件下编码标志点的准确解码;为此,本文提出了通过计算灰度梯度寻找灰度跳变点的算法。为了保证所提算法的准确性,本文采用了2个有效措施:1)在计算灰度梯度前对图像进行中值滤波,这样可有效消除图像噪声对算法的影响;2)使用亚像素插值算法对图像像素进行插值,从而计算椭圆B上像素的灰度梯度,此方法可保证图像梯度计算更加精确。
编码标志点的具体解码步骤如下。
1)根据椭圆D找到椭圆B上各点在图像中的位置,并对其进行亚像素插值来计算灰度梯度。
2)找到椭圆B上灰度梯度大于平均灰度梯度k倍的点,这些点即为编码环上灰度跳变点,本文中使用k=3。
3)将步骤2中的点坐标按式6逆仿射为单位元坐标,并计算相邻两点间的角度。
(6)
式中,X、Y分别为椭圆B上灰度跳变点在图像坐标系上的横、纵坐标;X′、Y′为单位圆上对应的横、纵坐标;X0、Y0为椭圆B在图像上的中心坐标;a、b分别为椭圆B的长、短轴;α为椭圆B与图像坐标系上X轴的旋转角。
4)识别每个编码环带上的颜色,计算其所包含的单位环段的数量。
5)按记录顺序将编码环记录为15位二进制串。
6)对得到的二进制串循环移动15次,取其中最小的二进制串对应的十进制数为最后的解码值。
3 试验分析
本文所述算法应用VS2010和OPENCV2.4.9软件,所使用的计算机主频为3.3GHz,内存为8GB。为了验证本文算法的优势,设计了模拟试验和实测试验,并以不同噪声和投影角度下编码标志点的识别率作为评价依据。
3.1 模拟试验
本文设计2组模拟试验,检验所提算法在不同噪声和投影角度下的编码标志点识别率。在模拟试验中,图像的分辨率为1 024×1 280,每幅图像上均匀分布有50个编码标志点和50个非编码标志点,每组试验包含20张图像。
为了验证图像噪声对编码标志点解码的影响,本文将投影角度固定为20°,然后对每幅图像加载σ为1~8逐渐递进的高斯噪声,并计算本文算法在不同图像噪声下的编码标志点识别率。试验结果如图10所示。
图10 图像噪声对编码标志点识别的影响
由图10可知,当图像噪声<6时,本文所提出的算法不受图像噪声的影响,可以精确识别所有的编码标志点;当图像噪声为8时,本文所提出的算法的识别率高达99.5%。可见,本文所提出的算法对图像噪声具有较强的抵抗能力,能够保证在不同噪声级别下,编码标志点的正确识别。
为了验证投影角度对编码标志点识别的影响,本文将图像噪声固定为4,投影角度从0°~50°,每隔5°依次增加,并计算本文算法在不同投影角度下的编码标志点识别率。试验结果如图11所示。
图11 投影角度对编码标志点识别的影响
由图11可知,当投影角度<25°时,本文所提出的算法能够保证编码标志点的精确识别;当投影角度>25°时,随着投影角度的增大,编码标志点的识别率下降;当投影角度为50°时,本文所提出的算法仍然能达到95.1%的识别率。由此可见,本文所提出的编码标志点识别算法受投影角度变化的影响较小,能够保证较高的编码标志点识别率。
3.2 实测试验
本文还设计了真实试验验证所提出的算法(见图12),在地面上平均分布着编码标志点与非编码标志点,编码标志点总数为140,非编码标志点总数为500,所使用的相机的分辨率为4 288×2 848。在试验过程中,相机从不同角度拍摄了200幅图像,并统计了本文算法的识别结果,测量结果见表2。
图12 测量场景图
识别率/%误识别率/%解码率/%99.70.299
从表2中可以看出,本文提出的算法标志点识别率和正确解码率均高达99%。这是因为:1)本文使用了Otsu算法确定的梯度阈值提取椭圆边缘环状邻域,消除了图像噪声对标志点识别的影响;2)本文使用去除伪标志点约束原则有效地消除了测量场景中类椭圆形状对标志点识别的影响;3)本文通过计算图像灰度梯度查找编码标志点编码环段的灰度跳变点,可以精确地确定编码环段的灰度跳变点,保证了编码标志点的正确解码。
4 结语
视觉测量中,编码标志点识别的稳定性和精度对后续的相机标定和三维重建有着非常重要的意义。本文根据编码标志点的设计准则,设计了一套15位环形编码标志点,同时提出了精确稳定的编码标志点识别算法。试验结果表明,本文所提出的算法受图像噪声和投影角度变化的影响非常小,编码标志点的识别具有很高的准确率和精度,实用性强。
[1] 周玲,张丽艳. 近景视觉测量中标记点的自动检测[J]. 应用科学学报,2007,25(3):288-295.
[2]RussoFA,KnockeartRP.Automateddataacquisitionwithanopticalcodereader[J].BecdixTechnical, 1972(5):48-52.
[3]WongKW,LewM,WileyAG. 3Dmetricvisionforengineeringconstruction[J].InternationalArchivesofPhotogrammetryandRemoteSensing, 1988(27):647-656.
[4]SchneiderCT. 3-Dmeasurementofsurfacesandcomponentsbyphotogrammetyandimageprocessing[C]∥Proceedingsofthe91thIDENT/VISION.Stuttgart, 1991.
[5]ForbesK,VoigtA,BodikaN.Aninexpensive,automaticandaccuratecameracalibrationmethod[C]∥ProceedingsoftheThirteenthAnnualSouthAfricanWorkshoponPatternRecognitionPrasa, 2002.
[6]AhnSJ,RauhW.Circularcodedtargetforautomationofoptical3D-measurementandcameracalibration[J].InternationalJournalofPatternRecognitionandArtificialIntelligence, 2001, 15(6):905-919.
[7] 张德海,梁晋,唐正宗,等. 大型复杂曲面产品近景工业视觉测量系统开发[J]. 光电工程,2009,36(5):122-128.
[8] 段康容,刘先勇.视觉测量中编码标记点检测算法研究[J]. 传感器与微系统,2010,29(8):74-81.
[9]OtsuNA.Thresholdselectionmethodfromgrey-levelhistograms[J].IEEETransSystManCybern, 1979(8):62-66.
[10] 黄奎.多关节式坐标测量系统的关键技术研究[D]. 武汉:华中科技大学,2010.
责任编辑 郑练
Research on Detection Algorithm of Circular Coded Reference Point in Vision Measurement
NI Zhangsong1, CHENG Lei1, GU Yi1, CHEN Ran2, LIU Meng2, ZHONG Kai2, LI Zhongwei2
(1.China Aerodynamics Research and Development Center, Mianyang 621000, China; 2.Huazhong University of Science and Technology, School of Materials Science and Engineering, Wuhan 430074, China)
Using distributed coded points on the measured object is a reliable and common method for achieving the optimum target location and accurate matching of corresponding points among multi-view images. However, it is difficult to decode the coded point while the image noise and the projection angle are large. Aiming at solve this problem, an accurate and stable detection algorithm is proposed. Firstly, an accurate ellipse detection which can get sub-pixel locations is adopted to extract targets, and several rules are used to remove the non-target points. Then, the gray scale gradient in the circular is calculated to decode the target. Experiments show that the algorithm can identify and locate coded points accurately, and it is robust to the change of projection angles and noise.
vision measurement, coded point, ellipse detection
TP 391.4
A
倪章松(1973-),男,高级工程师,硕士,主要从事低速风洞试验技术等方面的研究。
2016-08-16