江俊佳,沈建新,周 喆,韩 鹏
(南京航空航天大学 机电学院,江苏 南京 210016)
裂隙灯显微镜[1]可以通过调节转鼓的放大倍率观察眼部表浅或深部组织的病变,对人眼疾病筛查具有重要意义,而对其成像质量起关键性作用的结构就是转鼓。目前在进行转鼓装校时,主要依靠人工观察显示器上转鼓图像的2 组十字叉丝的中心距离来判断转鼓前后2 块镜片中心的重合度[2]。为解决由于人的主观感受而造成的随机性、不准确性与效率低下等一系列问题,研究转鼓数字化装校技术势在必行。
转鼓数字化装校技术的研究重点在于如何实现转鼓图像中的2 组十字叉丝的准确检测,即直线检测。Hough 变换[3-5]由于良好的鲁棒性,已经成为提取图像直线的一个常用算法,但此算法也存在计算量大、复杂度高、峰值难以确定等问题,难以应用于实际生产线中[6]。针对这些问题,研究人员提出了一系列的改进算法与应用,例如:Xu L 等人提出随机Hough 变换(RHT)[7],该算法能够有效解决标准Hough 变换中消耗内存大、精度低等问题;Matas J 等人提出一种概率Hough 变换算法(PPHT)[8];刘通等人利用改进的PPHT 变换算法解决了空间碎片漫反射激光测距回波数据信噪比低与难以快速高效地提取有效数据点的问题[9];鄢然等人利用PPHT 变换建立了一种编布花边的实时识别算法[10];巩学美改进了标准PPHT 变换,并进行了遥感图像的道路识别[11];Chutatape 等人提出一种将Hough 空间转换为一维空间的改进算法;张振杰提出基于一维的Hough 变换算法[12],该算法主要分为边缘分组、直线编组和直线精确处理3 个过程;段汝娇则提出基于像素点聚类的方法来提高Hough 变换的运算速度[13]。
由于转鼓装校生产线对装校速率有一定的要求,且对转鼓图像的检测精度要求很高,不允许有多余直线出现。而标准概率Hough 变换虽然执行效率很高,但由于该变换是对整幅图像的像素点进行投票计算,而在转鼓图像中,由于2 组十字刻线的线宽不一致,光学镜片缺陷造成的污点这2 个原因,使该算法在对转鼓图像中的同一条直线进行检测时,很容易在同一直线位置检测出多条直线。
本文针对这种情况提出一种基于改进的概率Hough 变换的转鼓数字化装校技术。CCD 相机拍摄转鼓图像后,自动进行十字叉丝检测、直线交点检测,提取有效交点并计算交点距离。通过对转鼓图像的实验检测,验证了该技术的可行性。
在目前的转鼓装校平台上,转鼓装校技术的主要原理为:如图1所示,光源发出的光束经过位于物镜1 前焦面上的十字叉丝1 和物镜1 发射出平行光。然后通过转鼓的一组透镜(这一组透镜能够对十字叉丝1 进行放大或缩小)。再通过物镜2 和带有十字叉丝2 的目镜成像在CCD 相机上,通过数据线传输到显示器显示。最后人眼观察显示器上的转鼓图像,主观判断图像中十字叉丝1 与十字叉丝2 的中心距离,以此来判断转鼓前后镜片的中心重合度。
由于每个人的主观感受不一致,长时间工作导致的人眼疲劳,使得人眼观察叉丝中心距离存在随机性等问题,从而导致了裂隙灯转鼓的装校质量得不到保证。
图1 转鼓装校系统Fig.1 Assembly and adjustment system of rotary drum
对于原始转鼓图像,首先将其灰度化,再利用滤波、Canny 边缘检测等图像技术进行预处理,再通过改进的概率Hough 算法检测十字叉丝直线,准确提取直线后利用制定的十字叉丝交点筛选规则对交点进行有效筛选,最后计算有效交点之间的距离来判定十字叉丝中心的距离。转鼓数字化装校技术流程如图2所示。
图2 数字化转鼓装校流程图Fig.2 Digital assembly and adjustment flow chart of rotary drum
由于相机本身缺陷、光路透镜缺陷以及现场环境干扰,得到的图像中存在的噪声会使边缘检测产生无效的边缘,影响后期的直线检测精度。图像平滑处理(滤波)是消除图像噪声的常用方法,能够在尽量保留图像细节的前提下对噪声进行抑制,其处理效果的好坏将直接影响到后续图像处理和分析的可靠性。滤波的对象是在图像生成和传输过程中受到多种因素扰动形成的受污图像。由于高斯滤波器能够在保留图像轮廓信息的同时可以较好地消除噪声,且实际使用效果非常出色,所以选择高斯滤波器进行滤波[14]。
边缘是图像最重要的特征之一,边缘检测能使算法更加精确提取图像中的直线。在边缘检测的经典算法中,由于Canny 算法是一个多级边缘检测算法,作为当今最优的边缘检测算法之一,具有较好的边缘定位能力和抗噪性能[15]。所以选用Canny边缘检测算法进行检测。
由于十字叉丝1 的线宽会随着转鼓放大倍率的改变而改变,而目镜上的十字叉丝2 的线宽不会改变。并且由于光学透镜和CCD 相机镜头存在缺陷和污染,导致拍摄的转鼓图像存在很多污点。由于这2 点原因,如果直接利用标准PPHT 算法对同一直线进行检测,同一条直线位置将被检测出多条直线。而经过研究发现,对于转鼓图像而言,同一直线位置检测出来的直线斜率近似。为了提高PPHT 算法检测转鼓图像中直线的准确率,对标准PPHT 算法进行改进。
改进的算法首先利用标准PPHT 算法对图像进行检测,再对同多条斜率近似的直线进行归一化拟合,改进算法步骤流程如图3所示。
图3 改进算法流程图Fig.3 Flow chart of improved algorithm
改进的概率Hough 算法可以检测出4 条直线,但由于2 组十字叉丝的位置不同,得到的交点个数也不同,情况分别如下:
1)2 组十字叉丝所产生的2 个交点互不落在对方直线上,此时存在6 个交点,如图4(a)所示;
图4 十字叉丝交点图Fig.4 Crosshair intersection diagrams
2)2 组十字叉丝所产生的2 个交点,其中一个落在对方某一直线上,此时存在4 个交点,如图4(b)所示;
3)2 组十字叉丝相互平行,并且所产生的2 个交点互不落在对方直线上,此时存在4 个交点,如图4(c);
4)2 组十字叉丝存在2 条直线重合,所产生的2 个交点不重合,此时存在2 个交点,如图4(d);
5)2 组十字叉丝所产生的2 个交点相互重合,此时存在一个交点,如图4(e)。
对于计算2 组十字叉丝中心距离而言,有效交点只有十字叉丝原始的2 个交点。因此需要对上述的交点情况制定交点筛选规则:
情况1:如图5若两点连线与原有的4 条直线重合,则这2 个交点不是原十字刻线的交点,如AB、AC、AF、AE、BC、BD、BE、CD、CF、DE、DF;剩余AD、BF、CE不与原有直线重合,由于 ∠ABD和∠AFD为直角,所以ABDF共圆,且AD为直径,所以BF<AD;在 ΔBCF中,由于 ∠CBF为钝角,所以BF<CF,在 ΔCEF中,由于∠CFE为直角,所以CF<CE;可推导出BF<CE;所以BF为2 个交点距离最短的直线,即与原直线不重合的直线中距离最短的直线的2 个端点即为原十字叉丝的2 个交点。
图5 六交点十字叉丝图Fig.5 Diagram of 6 intersections crosshairs
情况2:由于原有2 个交点所连直线长度最小,所以相距最近的2 个交点即为原十字叉丝的交点。
情况3:由于2 组十字叉丝相互平行时,组成一个矩形,矩形的对角线大于任意一边长,且2 条对角线相同,所以对角线距离即为最后所需要求取的十字刻线交点距离,此时无需求出具体的交点。
情况4:2 交点即为原十字叉丝交点,距离即为所求距离。
情况5:只存在一个交点,中心完全重合。
对原图像进行图像预处理后,通过改进的PPHT 算法进行直线检测,提取直线全部交点,利用制定的交点筛选规则筛选出有效交点,最终计算交点距离来量化2 组十字叉丝中心距离。
为了验证图像预处理操作、改进的PPHT 算法、制定的交点筛选规则对转鼓图像十字叉丝检测以及交点筛选的准确性,进行了实验验证。
实验中使用的硬件和软件如下:德国IDS 公司生产的型号为UI148xLE-C 的工业相机,日本Computar 公司生产的焦距为16 mm、最大光圈为F1.4、像场2/3 英寸的工业镜头;使用Visual Studio2013 中的OPENCV3.0.0 库进行开发;计算机硬件配置:处理器Core(TM)i5-7500 主频3.40 GHz;内存DDR4 16 G;显卡NVIDIA GeFoRce GTX1060 3G。
实验平台采用IDS 相机作为光电接收器件,使用LED 光源、光学透镜、导轨、光学镜座等光学元件,搭建了如图6所示的转鼓装校平台。
图6 转鼓装校平台Fig.6 Drum mounting platform
为了有效去除原图像转为灰度图后图像中存在的噪声并且保留直线轮廓信息,本文使用高斯滤波器对图像去除噪声,如图7所示;图8为Canny边缘检测图,由于图中直线存在一定的宽度,所以每一条直线存在2 条边缘。
图7 高斯滤波Fig.7 Gaussian filtering
图8 Canny 检测Fig.8 Canny detection
图9为标准概率Hough 算法的直线检测图,在该图中存在同一条直线被检测出多条斜率近似的直线的情况。设置合适算法参数,通过标准概率Hough 变换,4 条直线一共检测出11 条直线,显然这是不符合实际使用要求的。
图9 标准PPHT 算法直线检测图Fig.9 Standard PPHT algorithm line detection chart
图10 为利用改进的概率Hough 算法的直线检测图,在该图中,同一直线检测出的多条直线被归一化拟合成同一直线。
图10 改进PPHT 算法直线检测图Fig.10 Improved PPHT algorithm line detection chart
表1为本文改进的PPHT 变换和标准PPHT 变换检测转鼓图像直线所消耗的时间和直线检测数量的对比表。同时分析图9、图10 和表1,改进的概率Hough 算法虽然比标准概率Hough 算法消耗的时间较多,但是精度和准确度高了很多,直线数量由标准概率Hough 算法检测的11 条,精确到由改进的概率Hough 算法检测的4 条,且耗时差在1 s 以内,既可以满足生产线的直线检测准确度精度要求,也能满足生产线上的实时性要求。
表1 直线检测结果对比表Table1 Straight line detection results comparison table
根据改进的PPHT 算法检测出的4 条十字叉丝直线,可以得到直线的所有交点,如图11 所示。再通过上文中制定的交点筛选规则能够准确筛选出原十字叉丝的交点,并进行连线计算交点距离,如图12 所示。
图11 交点提取Fig.11 Intersection extraction
图12 交点筛选Fig.12 Intersection screening
利用图像预处理方法、改进的PPHT 算法和交点筛选规则,基于VS2013,结合OPENCV3.0.0,构建MFC 人机交互界面,编写适合于生产线使用的软件。在对转鼓图像的实时处理过程中,转鼓图像的直线数量信息、交点数量、坐标信息及有效交点的距离信息都会实时更新在软件界面上,如图13所示。
图13 转鼓数字化装校软件Fig.13 Drum digital installation software
在本实验中,通过灰度化、高斯滤波、Canny边缘检测等图像预处理操作后,利用改进后的概率Hough 变换100%检测出十字叉丝长直线,通过交点筛选规则能够很好地筛选出2 组十字叉丝的交点并通过计算2 点间距离来判断转鼓镜片中心重合度。
实验结果表明,本文提出的转鼓数字化装校技术,通过对原图像预处理,利用改进的PPHT 直线检测算法,制定交点筛选规则,能够实现对转鼓图像中的2 组十字叉丝中心距离进行精确计算,从而实现对裂隙灯转鼓的数字化装校过程。该装校技术与目前的转鼓装校技术相比较,具有更好的客观性、更高的精确度,能够代替人眼进行转鼓图像十字叉丝中心距离的计算,从而实现了转鼓数字化装校,提高了裂隙灯的成像质量。