甘玉坤,丁躍澆,羅振威,吳雪婷,李旭東
(湖南理工學院,湖南 岳陽 414000)
電機是電子產(chǎn)品中常用的一個零件,其安裝要求旋轉軸與工件之間具有一定的間隙,保證其工作過程中不與工件發(fā)生摩擦。利用機器視覺方法來提取間隙的常用方法是將工件放在安裝有背光光源的檢測區(qū)內(nèi),以近似均勻散射光的背光源照射,通過相機得到非常銳利的工件邊緣輪廓圖像[1-2]。文中所提到的安裝間隙在進行圖像采集時,打光條件受到工件外形的限制,只能從安裝間隙的上方進行打光。電機旋轉軸的表面光滑,光線在其表面產(chǎn)生鏡面反射,導致采集的圖像在軸的表面出現(xiàn)亮度不均的缺點,軸邊緣處的像素點會出現(xiàn)明顯的低灰度值[3]。因軸邊緣與工件之間的間隙內(nèi)無法形成有效反光,所采集圖像在安裝間隙內(nèi)的灰度值同樣較低,從而導致灰度差值較小,提取軸邊緣和安裝間隙邊緣信息較為困難[4]。
機器視覺研究工作者為了提取充分反映圖像特征的邊緣信息,提出了各種增強圖像對比度的方法以及優(yōu)化邊緣提取效果的方法。Ba Chien等[5]使用分段對比拉伸技術,根據(jù)相對于人眼視覺系統(tǒng)的感知量化器來調(diào)整粗略重建的LDR圖像的像素分布。無論是在視覺質量和TMQI度量均取得了較好的效果。Yu T H等[6]通過對圖像的輻照分量和反射分量進行非線性變換,然后對輸出圖像進行線性對比度拉伸,來實現(xiàn)對霧霾圖像的對比度增強。分段對比拉伸技術對低對比度圖像有較好的增強效果,對于安裝間隙提取,增強間隙對比度的同時也應該考慮間隙之外區(qū)域對間隙提取的影響。文中提出通過將圖像安裝間隙內(nèi)灰度值區(qū)間之外的區(qū)間的像素點設置為固定值,來去除其他區(qū)域對邊緣提取效果的影響。Canny算法由于其優(yōu)越的性能,被廣泛應用于邊緣檢測。Xu Q等[7]提出了一種分布式Canny邊緣檢測算法,該算法根據(jù)圖像塊類型和梯度在圖像塊中的局部分布自適應地計算邊緣檢測閾值,解決了Canny算法計算量大、高延時的問題。Chen J等[8]使用一種可調(diào)節(jié)尺度的自適應高斯算法對圖像進行平滑,使用基于梯度閾值法和簡單統(tǒng)計方法的自適應雙閾值選擇方法對非最大抑制梯度圖像邊緣進行檢測,該方法能在一定程度上防止邊緣丟失、提取出假邊緣。Canny算法性能優(yōu)異,但對于安裝間隙圖像軸邊緣處的灰度值明顯低于其他區(qū)域的情況,其對軸邊緣信息提取效果不理想[9]。文中提出圖像反轉方法,將安裝間隙與其他區(qū)域的灰度反轉,再通過Canny來提取邊緣信息,提升軸邊緣信息的檢測效果。
文中獲取圖像所使用的機器視覺系統(tǒng)相機像素數(shù)目為500萬,鏡頭為16 mm焦距,使用一個近射光圈減小最近對焦距離,獲取安裝間隙圖像時,因工件的安裝間隙區(qū)域較小,且受鏡頭參數(shù)的影響,所拍攝的圖像視野范圍過大,不便于處理。文中僅截取安裝間隙區(qū)域的圖像進行圖像處理操作,該區(qū)域的分辨率為475*112,如圖1所示。
圖1 安裝間隙圖像
因打光條件受限,進行圖像采集時,感光元件接收到的來自間隙內(nèi)的光信號較弱,采集的圖像在間隙處不可避免地出現(xiàn)灰度值不均勻的現(xiàn)象和噪聲,進行對比度拉伸時會放大該缺陷,從而嚴重影響安裝邊緣提取的效果,對圖像進行平滑處理可以消除或減弱該缺陷,提升后續(xù)圖像處理算法的處理效果[10-12]。文中對比分析了三種圖像平滑方法(雙邊濾波、高斯濾波和中值濾波)的處理效果,其處理結果如圖2所示。
圖2 濾波結果
在利用圖像濾波方法去除灰度值不均勻現(xiàn)象和噪聲的同時,也應該考慮盡量保留安裝間隙圖像中的邊緣信息,防止因圖像濾波而導致圖像邊緣變得模糊。通過對比實驗結果可得知,高斯濾波在平滑圖像的效果上優(yōu)于中值濾波和雙邊濾波,但是其在一定程度上平滑了軸邊緣到間隙內(nèi)的灰度值過渡,模糊了圖像的邊緣信息不宜邊緣提取;雙邊濾波對邊緣的灰度差值保留最好,邊緣信息保存完整,但是平滑效果不理想;中值濾波在平滑圖像的同時,保留了軸邊緣和間隙兩個區(qū)域內(nèi)像素點的灰度差值,對邊緣信息保留得較好,較符合預期。增大濾波器的內(nèi)核后發(fā)現(xiàn),三種算法均在一定程度上降低了整體圖像的灰度值和灰度差值,模糊了圖像的邊緣信息。因此文中取使用5×5內(nèi)核的中值濾波器濾波后的圖像進行后續(xù)處理。
圖像的灰度直方圖能直觀地表現(xiàn)出灰度圖像中所含有的每一級灰度值像素的個數(shù),直觀地表現(xiàn)出圖像中每種灰度級出現(xiàn)頻率以及圖像中大致的灰度值分布情況[13]。對安裝間隙圖像進行直方圖計算可以得知安裝間隙圖像中像素點灰度值的主要分布范圍,以及安裝間隙圖像中包含邊緣信息的像素點所分布的灰度區(qū)間,為分段線性對比度拉伸分段點的選取提供可靠依據(jù)。圖3為安裝間隙圖像的直方圖以及截取圖像中的左右兩個間隙局部及其灰度直方圖。
分析圖3(a)、(b)可知,安裝間隙圖像的像素點的像素點灰度值主要分布在20~250這一范圍內(nèi),并在灰度值40以及灰度值240處,像素點分布較為密集。分析圖3(c)、(d)可知,在間隙圖像的左間隙部分,像素點灰度值集中分布在灰度值為20~60的區(qū)間內(nèi),分析圖3(e)、(f)可知,在間隙圖像的右間隙部分,像素點灰度值集中分布在灰度值為20~100的區(qū)間內(nèi)。
(a)安裝間隙
(b)直方圖
(c)左間隙 (d)直方圖
(e)右間隙 (f)直方圖
對比度拉伸區(qū)間的選取應該盡可能多地包含目標區(qū)域內(nèi)的像素點,同時盡可能縮小灰度值區(qū)間長度來增強對比度拉伸效果。文中選取區(qū)間時,除了盡可能多地包含安裝間隙內(nèi)的像素點,也需要利用分段線性函數(shù)盡可能地去除安裝間隙之外像素點對安裝間提取的影響,考慮到左右間隙像素點的灰度值區(qū)間,理想的分段點應該在20~80區(qū)間內(nèi)選擇。為了驗證該方法的有效性,文中將選擇區(qū)間擴大為20~130,逐步縮小區(qū)間,以提供對比驗證。
分段線性對比度拉伸是對圖像的不同灰度區(qū)間使用不同的變換關系來改變圖像的對比度,以此來增強圖像。選擇的斜率不同對圖像的增強效果不同,同時可以將區(qū)間的灰度值設置為固定值,以去除這一區(qū)間的灰度值對圖像的其他區(qū)域的影響。分段線性變換的函數(shù)形式為:
(1)
其中,f(x)為變換后的像素值,x為原像素值,(x1,y1)、(x2,y2)為分段點。
文中通過圖像的直方圖分析安裝間隙的灰度值分布,在安裝間隙的灰度值分布范圍內(nèi)選擇對比度拉伸的區(qū)間,使用分段線性對比度拉伸拉升所選擇的區(qū)間,來提升安裝間隙圖像間隙內(nèi)的對比度。而對于灰度值低于這一區(qū)間的像素點通過線性函數(shù)將灰度值設置為1,將灰度值高于這一區(qū)間的像素點通過線性函數(shù)將灰度值設置為255,從而去除圖像中高于灰度區(qū)間以及低于灰度區(qū)間的像素點對邊緣提取算法的干擾。所使用的分段線性變換的函數(shù)形式為:
(2)
其中,f(x)為變換后的像素值,x為原像素值,(x1,y1)為拉伸區(qū)間,區(qū)間在灰度值20~130之間選擇。
根據(jù)上文對安裝間隙圖像直方圖的分析,分段點在20~130這一區(qū)間內(nèi)選擇,為了對比驗證分段線性對比度拉伸的有效性,文中分別以25~130、25~100、25~80、25~70、25~60、25~50、30~60為拉伸區(qū)間進行對比實驗,結果如圖4所示。
圖4 分段線性對比度拉伸
從圖4中可以看出,隨著拉伸區(qū)間縮小,對比度拉伸效果逐漸增強,圖中軸邊緣與間隙內(nèi)的灰度值差異也因拉伸區(qū)間的縮小而增大,間隙外灰度值被轉變成255的像素點面積逐漸增大,對比度增強效果逐漸明顯。圖4(b)以25~130為拉伸區(qū)間,其區(qū)間最大,圖像對比度拉伸的效果不明顯,對比原圖其將一部分間隙之外區(qū)域的灰度值轉變?yōu)?55,但圖像低對比度的情況未發(fā)生明顯改善;圖4(c)、(d)、(e)、(f)的拉伸區(qū)間分別為25~100、25~80、25~70、25~60,可以看出隨著區(qū)間的減小,安裝間隙的對比度發(fā)生明顯改善,更多區(qū)域內(nèi)像素點的灰度值被轉變成255,區(qū)間為25~60時圖像中除安裝間隙之外的大部分區(qū)域灰度值都被設置成255,對比度的改善效果達到最佳;圖4(g)、(h)的拉伸區(qū)間分別為30~60、25~50,因其線性函數(shù)的斜率過高,造成處理之后的圖像中的安裝間隙內(nèi)的部分灰度值發(fā)生顛倒。文中取效果最優(yōu)的25~60區(qū)間進行邊緣提取操作,同時取25~130、25~100、25~80、25~70區(qū)間進行邊緣提取處理,以對比驗證該方法的有效性。
獲取的安裝間隙圖像在軸邊緣處像素點的灰度值明顯低于其他區(qū)域像素點的灰度值。Canny算法采用雙閾值選擇特性會導致其將灰度值較低軸邊緣判斷為弱邊緣,導致提取效果不佳[14]。電機旋轉軸相對于產(chǎn)品其他部位而言其公差小且易于測量,通過實際測量旋轉軸獲得其寬度,與圖像中軸的兩條邊緣距離之間所包含的像素數(shù)目進行數(shù)學運算,可以用于相機標定,因此增強軸的邊緣提取效果十分重要。
圖像反轉可以將低灰度值轉換成高灰度值,圖像反轉在視覺上最直觀的表現(xiàn)為將白色變?yōu)楹谏?,其在函?shù)形式為:
f(x)=255-g(x)
(3)
其中,f(x)為反轉后的像素的灰度值,g(x)為原像素灰度值。
文中將以區(qū)間25~130、25~100、25~80、25~70、25~60進行對比度拉伸的圖像后的圖像反轉,反轉效果如圖5所示。
圖5 原圖及圖像反轉
從圖5可以看出,圖像反轉將圖像中原本低灰度值的間隙區(qū)域反轉為高灰度值區(qū)域,低灰度的黑色軸邊緣區(qū)域被轉變成白色高灰度;原本灰度值高的區(qū)域反轉成為灰度值低的區(qū)域,間隙之外的較高灰度值的白色區(qū)域轉變黑色低灰度值。
邊緣是區(qū)分圖像不同區(qū)域的重要特征,從圖像邊緣中能夠獲取用于識別、計算等操作的信息。圖像邊緣主要表現(xiàn)為圖像局部灰度特征的不連續(xù)性,即圖像中灰度值相差較大的區(qū)域[15-17]。Canny算子在計算過程中使用了兩個閾值來定位邊緣,若像素梯度高于上閾值則接受像素為邊緣,并定義為強邊緣,若像素梯度低于下閾值則拒絕它,若像素梯度處于上閾值和下閾值之間則定義為弱邊緣,上閾值與下閾值的比例通常選擇3∶1[18]。為了驗證圖像反轉能有效改善Canny算法,將軸邊緣判定為弱邊緣的情況,增強邊緣提取的效果。文中使用Canny算法分別對圖5的原圖及反轉后的圖像提取邊緣信息,并進行對比驗證。為了避免閾值不同對檢測效果的影響,對同一拉升區(qū)間下的圖像選擇相同的下閾值使用Canny算法,其結果如圖6所示。
(a)、(b)的拉伸區(qū)間為25~130,下閾值為15;(c)、(d)的拉伸區(qū)間為25~100,下閾值為23;(e)、(f)的拉伸區(qū)間為25~80,下閾值為29;(g)、(h)的拉伸區(qū)間為25~70,下閾值為35;(i)、(j)的拉伸區(qū)間為25~60,下閾值為51
分析圖6(a)、(c)、(e)、(g)、(i)以及圖6(b)、(d)、(f)、(h)、(j)可以得出結論,在對比度拉升區(qū)間較大時,Canny算法雖然也能提取出邊緣信息,但是間隙之外的區(qū)域同樣也被Canny算法識別為邊緣,邊緣信息相對復雜。隨著拉伸區(qū)間寬度的減小,間隙之外的區(qū)域的像素點逐漸被分段線性函數(shù)轉化為固定值,被轉化成固定值的像素點逐漸被Canny算法所剔除,對于間隙處的軸邊緣及主要間隙邊緣的提取效果逐漸增強,在25~60的拉伸區(qū)間下僅保留了主要的邊緣信息。
對比分析圖6(a)(b)、(c)(d)、(e)(f)、(g)(h)、(i)(j)可得出結論,反轉前的圖像在提取邊緣的時候,軸邊緣的信息因像素點灰度值較低被Canny算法判斷為弱邊緣,相對于其他邊緣信息,軸邊緣信息的提取效果不佳;圖像反轉后,因間隙圖像邊緣處的低灰度值像素點反轉成為高灰度值像素點,Canny算法將軸的兩條邊緣判斷為強邊緣,同時,高灰度值像素點因被反轉為低像素點被Canny算法判斷為弱邊緣,更好地突出了軸的邊緣信息。
針對對比度較低的安裝間隙圖像,使用分段線性對比度拉伸能夠有效增強軸邊緣與間隙的對比度,同時,其將拉伸區(qū)間外的灰度值轉變?yōu)楣潭ㄖ?,能有效去除區(qū)間外的像素點所提取出非目標邊緣信息對安裝間隙邊緣信息的干擾。Canny算法對低灰度值邊緣不敏感,導致其對低灰度值軸邊緣區(qū)域的邊緣提取效果不佳,利用圖像反轉將低灰度值像素點轉變成高灰度值像素點能有效解決這一問題。文中所使用的方法能夠有效增強圖像對比度,準確有效地提取出安裝間隙的邊緣信息,但僅完成了提取的工作,對于間隙寬度計算、相機標定等內(nèi)容尚未涉足。在處理的過程中,拉伸區(qū)間的選擇方法較為繁瑣,如何利用程序自適應選擇拉伸區(qū)間仍可進行進一步的研究。