江俊佳,沈建新,周 喆,韓 鵬
(南京航空航天大學(xué) 機(jī)電學(xué)院,江蘇 南京 210016)
裂隙燈顯微鏡[1]可以通過調(diào)節(jié)轉(zhuǎn)鼓的放大倍率觀察眼部表淺或深部組織的病變,對(duì)人眼疾病篩查具有重要意義,而對(duì)其成像質(zhì)量起關(guān)鍵性作用的結(jié)構(gòu)就是轉(zhuǎn)鼓。目前在進(jìn)行轉(zhuǎn)鼓裝校時(shí),主要依靠人工觀察顯示器上轉(zhuǎn)鼓圖像的2 組十字叉絲的中心距離來判斷轉(zhuǎn)鼓前后2 塊鏡片中心的重合度[2]。為解決由于人的主觀感受而造成的隨機(jī)性、不準(zhǔn)確性與效率低下等一系列問題,研究轉(zhuǎn)鼓數(shù)字化裝校技術(shù)勢(shì)在必行。
轉(zhuǎn)鼓數(shù)字化裝校技術(shù)的研究重點(diǎn)在于如何實(shí)現(xiàn)轉(zhuǎn)鼓圖像中的2 組十字叉絲的準(zhǔn)確檢測(cè),即直線檢測(cè)。Hough 變換[3-5]由于良好的魯棒性,已經(jīng)成為提取圖像直線的一個(gè)常用算法,但此算法也存在計(jì)算量大、復(fù)雜度高、峰值難以確定等問題,難以應(yīng)用于實(shí)際生產(chǎn)線中[6]。針對(duì)這些問題,研究人員提出了一系列的改進(jìn)算法與應(yīng)用,例如:Xu L 等人提出隨機(jī)Hough 變換(RHT)[7],該算法能夠有效解決標(biāo)準(zhǔn)Hough 變換中消耗內(nèi)存大、精度低等問題;Matas J 等人提出一種概率Hough 變換算法(PPHT)[8];劉通等人利用改進(jìn)的PPHT 變換算法解決了空間碎片漫反射激光測(cè)距回波數(shù)據(jù)信噪比低與難以快速高效地提取有效數(shù)據(jù)點(diǎn)的問題[9];鄢然等人利用PPHT 變換建立了一種編布花邊的實(shí)時(shí)識(shí)別算法[10];鞏學(xué)美改進(jìn)了標(biāo)準(zhǔn)PPHT 變換,并進(jìn)行了遙感圖像的道路識(shí)別[11];Chutatape 等人提出一種將Hough 空間轉(zhuǎn)換為一維空間的改進(jìn)算法;張振杰提出基于一維的Hough 變換算法[12],該算法主要分為邊緣分組、直線編組和直線精確處理3 個(gè)過程;段汝嬌則提出基于像素點(diǎn)聚類的方法來提高Hough 變換的運(yùn)算速度[13]。
由于轉(zhuǎn)鼓裝校生產(chǎn)線對(duì)裝校速率有一定的要求,且對(duì)轉(zhuǎn)鼓圖像的檢測(cè)精度要求很高,不允許有多余直線出現(xiàn)。而標(biāo)準(zhǔn)概率Hough 變換雖然執(zhí)行效率很高,但由于該變換是對(duì)整幅圖像的像素點(diǎn)進(jìn)行投票計(jì)算,而在轉(zhuǎn)鼓圖像中,由于2 組十字刻線的線寬不一致,光學(xué)鏡片缺陷造成的污點(diǎn)這2 個(gè)原因,使該算法在對(duì)轉(zhuǎn)鼓圖像中的同一條直線進(jìn)行檢測(cè)時(shí),很容易在同一直線位置檢測(cè)出多條直線。
本文針對(duì)這種情況提出一種基于改進(jìn)的概率Hough 變換的轉(zhuǎn)鼓數(shù)字化裝校技術(shù)。CCD 相機(jī)拍攝轉(zhuǎn)鼓圖像后,自動(dòng)進(jìn)行十字叉絲檢測(cè)、直線交點(diǎn)檢測(cè),提取有效交點(diǎn)并計(jì)算交點(diǎn)距離。通過對(duì)轉(zhuǎn)鼓圖像的實(shí)驗(yàn)檢測(cè),驗(yàn)證了該技術(shù)的可行性。
在目前的轉(zhuǎn)鼓裝校平臺(tái)上,轉(zhuǎn)鼓裝校技術(shù)的主要原理為:如圖1所示,光源發(fā)出的光束經(jīng)過位于物鏡1 前焦面上的十字叉絲1 和物鏡1 發(fā)射出平行光。然后通過轉(zhuǎn)鼓的一組透鏡(這一組透鏡能夠?qū)κ植娼z1 進(jìn)行放大或縮小)。再通過物鏡2 和帶有十字叉絲2 的目鏡成像在CCD 相機(jī)上,通過數(shù)據(jù)線傳輸?shù)斤@示器顯示。最后人眼觀察顯示器上的轉(zhuǎn)鼓圖像,主觀判斷圖像中十字叉絲1 與十字叉絲2 的中心距離,以此來判斷轉(zhuǎn)鼓前后鏡片的中心重合度。
由于每個(gè)人的主觀感受不一致,長(zhǎng)時(shí)間工作導(dǎo)致的人眼疲勞,使得人眼觀察叉絲中心距離存在隨機(jī)性等問題,從而導(dǎo)致了裂隙燈轉(zhuǎn)鼓的裝校質(zhì)量得不到保證。
圖1 轉(zhuǎn)鼓裝校系統(tǒng)Fig.1 Assembly and adjustment system of rotary drum
對(duì)于原始轉(zhuǎn)鼓圖像,首先將其灰度化,再利用濾波、Canny 邊緣檢測(cè)等圖像技術(shù)進(jìn)行預(yù)處理,再通過改進(jìn)的概率Hough 算法檢測(cè)十字叉絲直線,準(zhǔn)確提取直線后利用制定的十字叉絲交點(diǎn)篩選規(guī)則對(duì)交點(diǎn)進(jìn)行有效篩選,最后計(jì)算有效交點(diǎn)之間的距離來判定十字叉絲中心的距離。轉(zhuǎn)鼓數(shù)字化裝校技術(shù)流程如圖2所示。
圖2 數(shù)字化轉(zhuǎn)鼓裝校流程圖Fig.2 Digital assembly and adjustment flow chart of rotary drum
由于相機(jī)本身缺陷、光路透鏡缺陷以及現(xiàn)場(chǎng)環(huán)境干擾,得到的圖像中存在的噪聲會(huì)使邊緣檢測(cè)產(chǎn)生無效的邊緣,影響后期的直線檢測(cè)精度。圖像平滑處理(濾波)是消除圖像噪聲的常用方法,能夠在盡量保留圖像細(xì)節(jié)的前提下對(duì)噪聲進(jìn)行抑制,其處理效果的好壞將直接影響到后續(xù)圖像處理和分析的可靠性。濾波的對(duì)象是在圖像生成和傳輸過程中受到多種因素?cái)_動(dòng)形成的受污圖像。由于高斯濾波器能夠在保留圖像輪廓信息的同時(shí)可以較好地消除噪聲,且實(shí)際使用效果非常出色,所以選擇高斯濾波器進(jìn)行濾波[14]。
邊緣是圖像最重要的特征之一,邊緣檢測(cè)能使算法更加精確提取圖像中的直線。在邊緣檢測(cè)的經(jīng)典算法中,由于Canny 算法是一個(gè)多級(jí)邊緣檢測(cè)算法,作為當(dāng)今最優(yōu)的邊緣檢測(cè)算法之一,具有較好的邊緣定位能力和抗噪性能[15]。所以選用Canny邊緣檢測(cè)算法進(jìn)行檢測(cè)。
由于十字叉絲1 的線寬會(huì)隨著轉(zhuǎn)鼓放大倍率的改變而改變,而目鏡上的十字叉絲2 的線寬不會(huì)改變。并且由于光學(xué)透鏡和CCD 相機(jī)鏡頭存在缺陷和污染,導(dǎo)致拍攝的轉(zhuǎn)鼓圖像存在很多污點(diǎn)。由于這2 點(diǎn)原因,如果直接利用標(biāo)準(zhǔn)PPHT 算法對(duì)同一直線進(jìn)行檢測(cè),同一條直線位置將被檢測(cè)出多條直線。而經(jīng)過研究發(fā)現(xiàn),對(duì)于轉(zhuǎn)鼓圖像而言,同一直線位置檢測(cè)出來的直線斜率近似。為了提高PPHT 算法檢測(cè)轉(zhuǎn)鼓圖像中直線的準(zhǔn)確率,對(duì)標(biāo)準(zhǔn)PPHT 算法進(jìn)行改進(jìn)。
改進(jìn)的算法首先利用標(biāo)準(zhǔn)PPHT 算法對(duì)圖像進(jìn)行檢測(cè),再對(duì)同多條斜率近似的直線進(jìn)行歸一化擬合,改進(jìn)算法步驟流程如圖3所示。
圖3 改進(jìn)算法流程圖Fig.3 Flow chart of improved algorithm
改進(jìn)的概率Hough 算法可以檢測(cè)出4 條直線,但由于2 組十字叉絲的位置不同,得到的交點(diǎn)個(gè)數(shù)也不同,情況分別如下:
1)2 組十字叉絲所產(chǎn)生的2 個(gè)交點(diǎn)互不落在對(duì)方直線上,此時(shí)存在6 個(gè)交點(diǎn),如圖4(a)所示;
圖4 十字叉絲交點(diǎn)圖Fig.4 Crosshair intersection diagrams
2)2 組十字叉絲所產(chǎn)生的2 個(gè)交點(diǎn),其中一個(gè)落在對(duì)方某一直線上,此時(shí)存在4 個(gè)交點(diǎn),如圖4(b)所示;
3)2 組十字叉絲相互平行,并且所產(chǎn)生的2 個(gè)交點(diǎn)互不落在對(duì)方直線上,此時(shí)存在4 個(gè)交點(diǎn),如圖4(c);
4)2 組十字叉絲存在2 條直線重合,所產(chǎn)生的2 個(gè)交點(diǎn)不重合,此時(shí)存在2 個(gè)交點(diǎn),如圖4(d);
5)2 組十字叉絲所產(chǎn)生的2 個(gè)交點(diǎn)相互重合,此時(shí)存在一個(gè)交點(diǎn),如圖4(e)。
對(duì)于計(jì)算2 組十字叉絲中心距離而言,有效交點(diǎn)只有十字叉絲原始的2 個(gè)交點(diǎn)。因此需要對(duì)上述的交點(diǎn)情況制定交點(diǎn)篩選規(guī)則:
情況1:如圖5若兩點(diǎn)連線與原有的4 條直線重合,則這2 個(gè)交點(diǎn)不是原十字刻線的交點(diǎn),如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;可推導(dǎo)出BF<CE;所以BF為2 個(gè)交點(diǎn)距離最短的直線,即與原直線不重合的直線中距離最短的直線的2 個(gè)端點(diǎn)即為原十字叉絲的2 個(gè)交點(diǎn)。
圖5 六交點(diǎn)十字叉絲圖Fig.5 Diagram of 6 intersections crosshairs
情況2:由于原有2 個(gè)交點(diǎn)所連直線長(zhǎng)度最小,所以相距最近的2 個(gè)交點(diǎn)即為原十字叉絲的交點(diǎn)。
情況3:由于2 組十字叉絲相互平行時(shí),組成一個(gè)矩形,矩形的對(duì)角線大于任意一邊長(zhǎng),且2 條對(duì)角線相同,所以對(duì)角線距離即為最后所需要求取的十字刻線交點(diǎn)距離,此時(shí)無需求出具體的交點(diǎn)。
情況4:2 交點(diǎn)即為原十字叉絲交點(diǎn),距離即為所求距離。
情況5:只存在一個(gè)交點(diǎn),中心完全重合。
對(duì)原圖像進(jìn)行圖像預(yù)處理后,通過改進(jìn)的PPHT 算法進(jìn)行直線檢測(cè),提取直線全部交點(diǎn),利用制定的交點(diǎn)篩選規(guī)則篩選出有效交點(diǎn),最終計(jì)算交點(diǎn)距離來量化2 組十字叉絲中心距離。
為了驗(yàn)證圖像預(yù)處理操作、改進(jìn)的PPHT 算法、制定的交點(diǎn)篩選規(guī)則對(duì)轉(zhuǎn)鼓圖像十字叉絲檢測(cè)以及交點(diǎn)篩選的準(zhǔn)確性,進(jìn)行了實(shí)驗(yàn)驗(yàn)證。
實(shí)驗(yàn)中使用的硬件和軟件如下:德國(guó)IDS 公司生產(chǎn)的型號(hào)為UI148xLE-C 的工業(yè)相機(jī),日本Computar 公司生產(chǎn)的焦距為16 mm、最大光圈為F1.4、像場(chǎng)2/3 英寸的工業(yè)鏡頭;使用Visual Studio2013 中的OPENCV3.0.0 庫進(jìn)行開發(fā);計(jì)算機(jī)硬件配置:處理器Core(TM)i5-7500 主頻3.40 GHz;內(nèi)存DDR4 16 G;顯卡NVIDIA GeFoRce GTX1060 3G。
實(shí)驗(yàn)平臺(tái)采用IDS 相機(jī)作為光電接收器件,使用LED 光源、光學(xué)透鏡、導(dǎo)軌、光學(xué)鏡座等光學(xué)元件,搭建了如圖6所示的轉(zhuǎn)鼓裝校平臺(tái)。
圖6 轉(zhuǎn)鼓裝校平臺(tái)Fig.6 Drum mounting platform
為了有效去除原圖像轉(zhuǎn)為灰度圖后圖像中存在的噪聲并且保留直線輪廓信息,本文使用高斯濾波器對(duì)圖像去除噪聲,如圖7所示;圖8為Canny邊緣檢測(cè)圖,由于圖中直線存在一定的寬度,所以每一條直線存在2 條邊緣。
圖7 高斯濾波Fig.7 Gaussian filtering
圖8 Canny 檢測(cè)Fig.8 Canny detection
圖9為標(biāo)準(zhǔn)概率Hough 算法的直線檢測(cè)圖,在該圖中存在同一條直線被檢測(cè)出多條斜率近似的直線的情況。設(shè)置合適算法參數(shù),通過標(biāo)準(zhǔn)概率Hough 變換,4 條直線一共檢測(cè)出11 條直線,顯然這是不符合實(shí)際使用要求的。
圖9 標(biāo)準(zhǔn)PPHT 算法直線檢測(cè)圖Fig.9 Standard PPHT algorithm line detection chart
圖10 為利用改進(jìn)的概率Hough 算法的直線檢測(cè)圖,在該圖中,同一直線檢測(cè)出的多條直線被歸一化擬合成同一直線。
圖10 改進(jìn)PPHT 算法直線檢測(cè)圖Fig.10 Improved PPHT algorithm line detection chart
表1為本文改進(jìn)的PPHT 變換和標(biāo)準(zhǔn)PPHT 變換檢測(cè)轉(zhuǎn)鼓圖像直線所消耗的時(shí)間和直線檢測(cè)數(shù)量的對(duì)比表。同時(shí)分析圖9、圖10 和表1,改進(jìn)的概率Hough 算法雖然比標(biāo)準(zhǔn)概率Hough 算法消耗的時(shí)間較多,但是精度和準(zhǔn)確度高了很多,直線數(shù)量由標(biāo)準(zhǔn)概率Hough 算法檢測(cè)的11 條,精確到由改進(jìn)的概率Hough 算法檢測(cè)的4 條,且耗時(shí)差在1 s 以內(nèi),既可以滿足生產(chǎn)線的直線檢測(cè)準(zhǔn)確度精度要求,也能滿足生產(chǎn)線上的實(shí)時(shí)性要求。
表1 直線檢測(cè)結(jié)果對(duì)比表Table1 Straight line detection results comparison table
根據(jù)改進(jìn)的PPHT 算法檢測(cè)出的4 條十字叉絲直線,可以得到直線的所有交點(diǎn),如圖11 所示。再通過上文中制定的交點(diǎn)篩選規(guī)則能夠準(zhǔn)確篩選出原十字叉絲的交點(diǎn),并進(jìn)行連線計(jì)算交點(diǎn)距離,如圖12 所示。
圖11 交點(diǎn)提取Fig.11 Intersection extraction
圖12 交點(diǎn)篩選Fig.12 Intersection screening
利用圖像預(yù)處理方法、改進(jìn)的PPHT 算法和交點(diǎn)篩選規(guī)則,基于VS2013,結(jié)合OPENCV3.0.0,構(gòu)建MFC 人機(jī)交互界面,編寫適合于生產(chǎn)線使用的軟件。在對(duì)轉(zhuǎn)鼓圖像的實(shí)時(shí)處理過程中,轉(zhuǎn)鼓圖像的直線數(shù)量信息、交點(diǎn)數(shù)量、坐標(biāo)信息及有效交點(diǎn)的距離信息都會(huì)實(shí)時(shí)更新在軟件界面上,如圖13所示。
圖13 轉(zhuǎn)鼓數(shù)字化裝校軟件Fig.13 Drum digital installation software
在本實(shí)驗(yàn)中,通過灰度化、高斯濾波、Canny邊緣檢測(cè)等圖像預(yù)處理操作后,利用改進(jìn)后的概率Hough 變換100%檢測(cè)出十字叉絲長(zhǎng)直線,通過交點(diǎn)篩選規(guī)則能夠很好地篩選出2 組十字叉絲的交點(diǎn)并通過計(jì)算2 點(diǎn)間距離來判斷轉(zhuǎn)鼓鏡片中心重合度。
實(shí)驗(yàn)結(jié)果表明,本文提出的轉(zhuǎn)鼓數(shù)字化裝校技術(shù),通過對(duì)原圖像預(yù)處理,利用改進(jìn)的PPHT 直線檢測(cè)算法,制定交點(diǎn)篩選規(guī)則,能夠?qū)崿F(xiàn)對(duì)轉(zhuǎn)鼓圖像中的2 組十字叉絲中心距離進(jìn)行精確計(jì)算,從而實(shí)現(xiàn)對(duì)裂隙燈轉(zhuǎn)鼓的數(shù)字化裝校過程。該裝校技術(shù)與目前的轉(zhuǎn)鼓裝校技術(shù)相比較,具有更好的客觀性、更高的精確度,能夠代替人眼進(jìn)行轉(zhuǎn)鼓圖像十字叉絲中心距離的計(jì)算,從而實(shí)現(xiàn)了轉(zhuǎn)鼓數(shù)字化裝校,提高了裂隙燈的成像質(zhì)量。