王 堅,張義兵,陳 雙,何 義
(湘潭大學 自動化與信息工程學院,湘潭 411100)
機器視覺相較于人工檢測具有更強的適應性、更高的穩(wěn)定性,在分辨能力、感光范圍、響應速度等方面都能很好的彌補人眼的不足[1]。傳統(tǒng)瞄準鏡缺陷檢測是人眼通過顯微鏡觀察瞄準鏡鏡片特征,判斷產品是否合格,使用傳統(tǒng)人工方法檢測在這兩方面有明顯的不足。檢測準確率方面,在比較短的時間里面,人眼通過顯微鏡檢測會有比較高的識別準確率,隨著工作時間的增長,人的大腦和眼睛會出現(xiàn)疲勞,造成檢測準確率降低。速度方面,與使用機器視覺技術檢測相比,傳統(tǒng)人工檢測的速度顯得很緩慢。
目前,應用于缺陷檢測的機器視覺技術取得了大量的研究成果。Liang Sun[2]等提出了一種基于機器視覺的混凝土裂縫提取分類算法。通過自適應的非線性灰度變換擴展圖像與背景之間的灰度差。采用改進的OTSU閾值分割法提取裂紋,并將提取結果中的斷裂點與斷裂骨架線的延伸方向和裂紋邊緣的灰度特征相結合,得到完整的裂紋圖像。解決了土木工程結構健康監(jiān)測中裂縫圖像提取誤差大的問題。Li Liu[3]等提出了一種新的GANet網(wǎng)絡框架,解決了尺度變化極大的紋理分類問題。董娜[4]等提出了一種基于機器視覺雙視場雙工位協(xié)同在線檢測系統(tǒng)。通過將封酒環(huán)輪廓二維信息轉換成一維向量,巧妙的解決了封酒環(huán)輪廓缺陷在二維信息中難以提取的問題。葉文煒[5]等提出了基于機器視覺的雙視野雙遠心光學系統(tǒng)設計,以折射棱鏡為分界,將遠心系統(tǒng)分為“物鏡”部分與“目鏡”部分,通過增加或更換“目鏡”,解決了遠心系統(tǒng)更換不同倍數(shù)鏡頭時過程繁雜,容易影響精度的問題。
使用傳統(tǒng)人工檢測的方法對瞄準鏡進行缺陷檢測,檢測速度慢,目前市面上沒有將機器視覺技術應用于瞄準鏡缺陷檢測的方案,為了提高鏡缺陷檢測的檢測速度,將機器視覺技術應用于瞄準鏡缺陷檢測。本文針對黑雞絲與黑絲定位困難的問題,提出了一種基于機器視覺的瞄準鏡缺陷檢測算法。算法主要分為3個步驟。第一步,圖像采集和圖像預處理,對相機采集到的圖像進行二值化處理并找出圖像的輪廓。第二步,雞絲線段定位,在第一步的基礎上,對圖像進行局部直方圖均衡化后進行累計霍夫變換處理,利用霍夫變換找到的直線,求出它們的交點,根據(jù)交點信息,使用正六邊形循環(huán)擴散找出圖像所有的雞絲線段。第三步,判斷雞絲線段是否為黑絲或黑雞絲。
黑絲、黑雞絲與正常圖對比圖如圖1所示。從圖可以看出,黑絲圖像有一條很粗的線段。與正常絲圖像對比,黑雞絲圖像的光纖線段更明顯。由此,可以通過對瞄準鏡圖像進行一系列的圖像處理操作,讓正常的線段消失,保留黑絲與黑雞絲,通過設定的黑絲與黑雞絲長度閾值來判斷圖像上的雞絲線段是否為黑絲或黑雞絲。
圖1 黑雞絲,黑絲與原圖對比圖
圖2(a)為一組圖像中有黑絲和黑雞絲缺陷的一張圖像。為了提取圖像的目標區(qū)域,即瞄準鏡鏡片部分的圖像。對圖2(a)進行二值化處理,二值化后圖像如圖2(b)所示,將原圖與二值化圖像進行重疊,原圖與二值化圖像上灰度為0的位置重合的部分灰度置為0,其他位置與原圖保持一致,得到預處理圖像,如圖2(c)所示。
圖2 原圖與預處理圖像
因為鏡筒不同區(qū)域的光透過率不同,造成圖像檢測區(qū)域有亮有暗(外圍暗,內部亮),為了減少這些干擾,將一張圖像分為兩塊,亮度較高的部分和亮度較低的部分,如圖3所示,將一張圖像分為兩部分roi1和roi2(各2/3,上下或者左右,計算左右亮度差和上下亮度差,選擇亮度差大的分塊方式)單獨處理后將結果進行整合。在這兩張子圖片roi1和roi2中分別進行同樣的處理,以rio2為例:使用局部直方圖均衡化[6~9]處理圖片,盡量消除不同區(qū)域的亮度差異,提高圖像對比度,如圖4所示。對局部直方圖均衡化后圖像進行自適應二值化[10,11],找出產品的骨架,自適應二值化后圖像如圖5所示。使用累計概率霍夫變換[12]對圖5進行處理,整合找到的所有線段,將距離接近,角度相同的線段合并成同一條線段,如圖6所示。
圖3 roi1,roi2分塊圖
圖4 局部直方圖均衡化圖像
圖5 自適應二值化圖像
圖6 累計霍夫變換示意圖
由于自適應二值化后找出的骨架只是整體骨架的一部分,從圖6可以看出,在這個基礎上,通過累計概率霍夫變換找出的雞絲線段也是不完整的,并且還產生了一些瞄準鏡原始圖像上并不存在的干擾線段,為了找出所有雞絲線段,本文設計了一種在累計概率霍夫變換的基礎上,通過線找點,點找線的方法,找出圖中所有的雞絲線段的方法,這個方法分為3個步驟:
第一步,利用累計概率霍夫變換得到的線段信息,求出圖6中所有的線段交點信息,如圖7所示。
第二步,根據(jù)第一步得到的交點信息,找出一個正六邊形。
鏡筒均由正六邊形的光纖組成,先確定兩條邊再根據(jù)正六邊形性質確定第三條邊。如圖7所示,連接ab線段,bc線段,c點的最近相鄰點還有2個,由正六邊形性質可以知道,正六邊形的一條邊與它相鄰的邊角度為120度,與相臨邊相臨的邊與它角度為60度。因此,通過第三條邊與第一條邊的角度為60度,與第二條邊角度為120度,可以確定第三條邊的位置。因此,左上角的d點符合和點a,b,c組成正六邊行的條件,右上角的e點不能和點a,b,d組成一個正六邊形。同樣,根據(jù)正邊形性質和圖上點的位置可以確定第四,第五和第六條邊,將六條邊相連,得到一個正六邊形。如圖8所示。
圖7 交點圖
圖8 六邊形示意圖
第三步,將得到的正六邊形沿與邊垂直的6個方向平移邊長的根號3倍,循環(huán)擴散,找出所有點的信息(剔除第一步中找出的干擾點,補齊累計概率霍夫變換沒有找出的線段交點),將相臨點連接,找出所有雞絲線段。
從圖8可以看出,通過每一個新的正六邊形,可以確定四個點的坐標。如圖9所示,正六邊形abcdef沿bf向量的方向平移邊長的根號3倍可得正六邊形fekjih。設a,b,c,d,e,f,h,i,j,k的坐標分別為(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5),(x6,y6),(x7,y7),(x8,y8),(x9,y9),(x10,y10)。由正六邊形性質可得,向量bf,向量ah,向量fi,向量ej,向量dk是相等向量。用數(shù)學關系式表示如式(1)~式(4)所示。
圖9 向量法求點圖
正六邊形abcdef的六個頂點的坐標已知,根據(jù)式(1)~式(4)可求出h,i,j,k四點的坐標。將正六邊形沿與邊垂直的六個方向平移得出的交點坐標和圖7中的交點坐標相比較,如果與已有的交點接近,則將該點更改為之前已經(jīng)得到的交點。將點的坐標記錄于容器vessel中。如果是圖7中點集中沒有的點,則將此點作為繁殖的新點記錄于容器vessel中。將新得到的正六邊形記錄為父正六變形,每個父正六邊形按照第一個正六變形的方法平移,找尋其他的交點。平移后得到的點,如果與已有的交點接近,則將此點更改為之前已得到的交點,再檢查與已尋得的正六邊形點是否接近,如果是將該點更改為已尋得的交點。將新交點信息記錄于容器vessel中。將新得到的正六邊形記錄為新的正六邊形,循環(huán)擴散,如果新找到的正六邊形超出瞄準鏡圖像范圍,則將此正六邊形剔除。超出圖像的偽交點不記錄于容器中。判斷方式為將此點坐標代入圓心坐標為瞄準鏡中心,半徑為瞄準鏡半徑的園中,如果得到的值比瞄準鏡半徑平方要大,則此點不合格,此點組成的新正六邊形也要剔除。循環(huán)直至最后一個新正六邊形超出邊界。最終得到的整幅圖面上的所有正六邊形的點,這部分只是子圖roi2的部分,得到的結果還需要跟子圖roi1進行整合,將在此圖上得到的局部圖交點信息變成全局的交點信息,只需要把交點的坐標(x,y)加上子圖在父圖上的平移位置即可,這個圖片是父圖上的右側三分之二的圖片,只需要將點的x值加上父圖的寬度的三分之一。整合所有子圖上的點,最終得到完整圖片的所有點,如圖10所示。
圖10 完整點圖
根據(jù)正六邊形的邊長與容器vessel中的點集,畫出符合雞絲長度的線段,即可得到圖像上所有的雞絲線段位置。將每一條雞絲線段用矩形框起來,如圖11所示。
圖11 旋轉矩形圖
在圖11上尋找一個旋轉矩形,將旋轉矩形區(qū)域擺正。對旋轉矩形區(qū)域進行仿射變換后得到一個和圖12相似的正矩形區(qū)域roi。
圖12 正矩形roi區(qū)域圖
1)黑絲判定
對圖13(a)進行自適應二值化處理后,使用3×3的卷積核對圖像進行腐蝕,卷積核的中心點逐個像素掃描圖像,被掃描到的圖像中的像素點,只有當卷積核周圍的8個像素的灰度值均為255時,其值才為255,否則其值修改為0,使圖像暗的部分更多,亮的部分減少,腐蝕后得到圖13(b)。從圖上可以看出,正常絲只留下了一個幾乎看不見的白點,黑絲還有一大片白色區(qū)域,對比明顯。在圖13(b)的基礎上,使用findContour找出圖像的輪廓[13],如圖13(c)所示。計算圖中白色線段的長度,黑絲長度閾值設置為100,超出閾值判斷為黑絲。
圖13 黑絲正常絲對比圖
2) 黑雞絲判定
如圖14(a)所示,從微觀上看,黑雞絲與正常絲差異不大,黑雞絲比正常絲較為粗了2um~6um,將與圖像長邊平行的方向定義為X軸,與圖像短邊平行的方向定義為Y軸,使用sobel檢測Y軸,得到圖像的垂直邊緣,如圖14(b)所示。在圖14(b)的基礎上,對圖像作二值化處理,凸顯黑雞絲圖像和正常絲圖像的輪廓,如圖14(c)所示。使用findContours去除圖像上的小輪廓,從圖14(d)可以看出,黑雞絲圖像還留下了一條白色的線,正常絲圖像沒有。將圖14(d)對X軸進行映射,如果縱坐標中有灰度值為255的點,則在X軸上將對應的橫坐標的灰度值標記為255,反之標記為0,計算在X軸上灰度值為255的線段長度。根據(jù)產品要求,將黑雞絲長度閾值設置為100um,在X軸上灰度值為255的線段長度大于黑雞絲長度閾值的線段標記為黑雞絲。
圖14 黑雞絲正常絲
本文提出的瞄準鏡缺陷檢測系統(tǒng)在離線機上運行,圖15為瞄準鏡檢測系統(tǒng)實物圖。計算機操作系統(tǒng)版本為Win7,64位系統(tǒng),CPU運行內存為8G,配置1T的硬盤和千兆網(wǎng)卡。瞄準鏡直徑約為2cm,系統(tǒng)采用4300萬像素相機(7912×5432)進行圖像采集,單像素精度為1um。20000/(7912×1)=2.53,20000/(5432×1)=3.68,因此一個瞄準鏡一共需要拍攝3×4=12張圖片,才能滿足檢測需求。在圖像采集過程中,需要對瞄準鏡進行垂直照射進行圖像采集,因此系統(tǒng)采用的光源是背光源,如圖15(b)所示,背光源安裝在相機鏡頭的下方,需要檢測的瞄準鏡放置于兩者中間。針對瞄準鏡鏡筒黑絲和黑雞絲的檢測,設計了瞄準鏡缺陷檢測軟件,建立QT界面,用c++語言,在Visuol Studio 2017編譯環(huán)境下編寫算法。構建了通過軟件控制相機進行圖像采集,對采集到的圖像進行一系列處理,實現(xiàn)對瞄準鏡黑絲和黑雞絲檢測系統(tǒng)的集成。圖16是瞄準鏡缺陷檢測軟件界面示意圖。該界面包括24個按鍵,界面左下角49個空格,代表49個產品。
圖15 瞄準鏡檢測系統(tǒng)實物圖
圖16 瞄準鏡檢測系統(tǒng)界面圖
圖17為檢測流程圖。點擊開始按鈕,系統(tǒng)打開相機,進行圖像采集,然后調動線程函數(shù),進行圖像處理,顯示處理結果,在主界面左下角記錄處理結果,合格,不良或標記為需要人工檢測。
圖17 檢測流程圖
本節(jié)使用兩種不同規(guī)格的瞄準鏡對瞄準鏡缺陷檢測系統(tǒng)進行測試,驗證瞄準鏡缺陷檢測系統(tǒng)的可行性,給出瞄準鏡缺陷檢測的檢測效果。
1)實驗過程
第一步,繪制檢測結果數(shù)據(jù)表,如表1,表2,表3所示。
表1 直徑2.17cm瞄準鏡測試結果數(shù)據(jù)表
表2 直徑2.60cm瞄準鏡測試結果數(shù)據(jù)表
表3 人工檢測與使用機器視覺檢測速度對比表
第二步,準備好兩種待測樣本。
第三步,開啟瞄準鏡缺陷檢測系統(tǒng)。
第四步,對兩種瞄準鏡進行缺陷檢測,并將缺陷檢測結果數(shù)據(jù)填于表中。
2)實驗結果分析
使用直徑2.17cm和2.60cm的瞄準鏡各20組,其中2.17cm的瞄準鏡包括合格產品866,黑絲缺陷產品67,黑雞絲缺陷產品73(有的產品同時具有兩種缺陷),2.60cm的瞄準鏡包括合格產品857,黑絲缺陷產品71,黑雞絲缺陷產品76,一共1980個瞄準鏡對軟件系統(tǒng)進行測試,人工檢測時間來自之前人工檢測數(shù)據(jù)統(tǒng)計。在光源強度,成像環(huán)境,相機的曝光,相機鏡頭,瞄準鏡與光源的相對位置等成像條件一致的情況下,運行瞄準鏡缺陷檢測系統(tǒng),從上面統(tǒng)計的測試數(shù)據(jù)分析得出,兩種不同的瞄準鏡得到的檢測數(shù)據(jù)區(qū)別不大,識別準確率差不多。兩種產品黑絲缺陷檢測的識別率均達100%,2.17cm瞄準鏡黑雞絲缺陷檢測識別率90.4%,合格產品識別率94.5%,2.60cm瞄準鏡黑雞絲缺陷檢測識別率89.4%,合格產品識別率95.1%。識別錯誤的主要原因是在圖像采集的過程中,采集到的圖像質量不佳,在對圖像進行自適應二值化和累計霍夫變換后,許多雞絲線段缺失,由于缺失雞絲線段信息過多,在邊找點,點找邊的過程中,圖像的雞絲線段定位發(fā)生錯誤,最后框出來的旋轉矩形圖里面沒有雞絲線段,導致識別錯誤。從表3可以看出,與使用傳統(tǒng)人工檢測的方法相比,使用機器視覺的方法節(jié)省了大約(1020-116)/1020=88.6%的檢測時間。在測試過程中,檢測系統(tǒng)運行流暢,沒有出現(xiàn)異常,也沒有卡頓現(xiàn)象。驗證了此系統(tǒng)的可行性。
本文提出了一個基于機器視覺的瞄準鏡黑雞絲與黑絲檢測系統(tǒng),針對雞絲線段定位困難的問題,提出了一種以累計霍夫變換為基礎,利用正六邊形性質,通過線找點,點找線,正六邊形循環(huán)擴散找出所有雞絲線段的方法。在離線機上進行測試,檢測識別率超過94%,系統(tǒng)運行流暢,驗證了檢測系統(tǒng)的可行性,與傳統(tǒng)人工檢測相比,利用本文的提出機器視覺檢測系統(tǒng),縮短了大約88.6%的檢測時間。本系統(tǒng)適用于由正六邊形光纖組成的瞄準鏡黑絲與黑雞絲的檢測。目前已應用于實際生產,并取得了良好的效果。