王丹民,孫慶文,沈迎君,王永濤,李耀軍
WANG Dan-min,SUN Qing-wen,SHEN Ying-jun,WANG Yong-tao,LI Yao-jun
(中冶京誠工程技術有限公司,北京 100176)
目前,我國鋼廠在棒材計數方面主要采用人工計數和光電檢測兩種方式。絕大多數企業采用人工計數方式,人工計數方式勞動強度高、效率低,為避免出錯,在管理方面采取多人重復計數方法以保證準確率,人力成本較高,這種計數方式也與棒材全連軋制不匹配,成為棒材廠自動化生產過程中的速度瓶頸[1]。光電檢測計數方式由于受氧化鐵皮粉塵和隨機光線的影響,會產生多計現象,或者當棒材出現粘連和重疊時現象,會產生漏計現象。為解決漏計問題,可以在生產線計數工序之前增加機械平鋪裝置,實現棒材的單層平鋪且相互分離,但上述措施僅可以解決較粗棒材的光電計數問題,對于解決細棒材的重疊和交叉無能為力[2]。為解決上述兩種方法的不足之處,我們開發了基于圖像識別技術的棒材自動計數系統。
采用機器視覺方法,利用工業相機、照明光源、圖像采集卡等設備獲取生產線上運動的棒材端面,通過計算機圖像處理等方法,準確識別出中棒材的根數,并根據打捆數量要求,在棒材中間適當的位置標識出滿足生產要求的分鋼位置[3]。該方法可以有效解決對于光電檢測法無法解決的細棒材在重疊、交叉和無法分離情況下的計數問題。系統具體功能如下:
1)實時顯示生產現場棒材端面圖像、并對其計數;
2)滿足打捆根數要求時自動控制鏈床停止,并在屏幕上實時顯示分鋼位置;
3)適用于棒材產品規格直徑10mm~25mm,或更寬范圍的產品規格;
4)滿足鏈床運行速度范圍300mm/s~1000 mm/s;
5)界面簡單,采用觸摸屏,方便現場工人操作;
6)棒材端面照明光源亮度可軟件調節。
系統結構如圖1所示,具體說明如下:
1)光源與棒材端部的水平距離為1.5m~2m,位于鏈床水平面以下,且與該平面在棒材端部形成5~10度的夾角,可減少棒材上表面的光亮度。照明光源采用以超高亮藍色聚光二極管制成的藍色LED光源,因為生產線上的棒材經上道工序冷剪切割后,其端面經常呈現藍色,所以,采用藍色光源會增加棒材端面光反射強度。
2)拍攝裝置采用黑白數碼攝像機,采用黑白方式可增加目標對象與背景的區別,提高目標圖像清晰度。相機傳感器采用逐行掃描CCD,連接計算機的數據接口采用IEEE1394a,幀率為30fps。拍攝裝置與棒材端部的水平距離為1.5m~2m,位于鏈床水平面以上,且與該平面在棒材端部形成5~10度的夾角。拍攝視場寬度為300mm~700mm,高度為200mm。

圖1 系統結構圖
3)鏈床上下方各安裝遮光裝置,上方為遮光箱,可罩住棒材端部,遮擋背景光,下方為可調節高度的遮光板,與棒材端部在同一垂直面上,遮擋下部反射光。
4)棒材端面圖像經圖像采集卡輸入到圖像識別系統,經過圖像處理后識別出圖像中棒材根數。當棒材根數達到打捆根數要求時,在屏幕上最后一根棒材位置后面標識出分鋼位置,同時系統向I/O控制板發送停止鏈床的命令,使鏈床驅動電機停轉,鏈床停止,再進行分鋼等操作。
5)在鏈床傳動軸上安裝編碼器,其輸出的脈沖信號輸入置于工控機中的計數卡,測得鏈床移動速度,進而獲得前后兩幅圖片中相同棒材的位移量,圖像識別系統利用位移量實現圖像跟蹤。
3.1.1 平滑濾波
棒材圖像在采集過程中因受到背景光線等諸多因素的干擾而含有噪聲,噪聲惡化了圖像質量,給后續的圖像分割等處理過程帶來困難,所以在從圖像中提取各種特征之前,需要減少和消除圖像中的噪聲,即對圖像進行平滑濾波。濾波方法有多種,如:鄰域平均法、低通濾波、中值濾波等。綜合考慮執行速度及效果等因素后,選用了中值濾波。具體方法是:選用一個含有奇數個點的滑動窗口W,把滑動窗口內覆蓋的子圖中的各點像素的灰度值按大小排序后,取其中間位置的值來代替滑動窗口中心點像素的灰度值。其數學形式為[4]:

式中: W——所選定模板窗口,這里選5×5;
f (x,y),g (x,y) ——分別為中值濾波前后的圖像;
median——中值算法。設有n個值gi,i=0,1,…,n-1,若以升序對gi進行排序后得到si,則gi的中值為:median (gi) = Si/2。
中值濾波前后效果如圖2、圖3所示。

圖2 攝像機采集的原圖

圖3 中值濾波后效果圖
3.1.2 圖像分割
圖像分割是提取圖像中與感興趣部分相對應的那些區域,通過設定閾值,對圖像進行二值化處理是常用的圖像分割方法之一。設圖像f (x,y)的灰度范圍是(Tl,Th),閾值Ti是介于Tl和Th之間的一個整數,則分割后的圖像中標記為1的像素對應于感興趣的目標,標記為0的像素對應于背景,表示為:

由于外界光源亮度變化或受到雜光干擾,采用固定的閾值分割方法效果較差,為使圖像分割具有更好的魯棒性和自適應性,采用閾值迭代的方法自動搜尋出比較合適的分割閾值。先用初始閾值把原圖全部像素分成目標、背景兩大類,然后分別對其進行積分,并將結果取平均,獲得一個新的閾值,之后再以此閾值將圖像分成目標、背景,并用作新的閾值函數,如此反復迭代下去,當迭代收斂于某個穩定的閾值時,此刻的閾值即作為最終的閾值結果,用于對圖像的分割。
自動最佳分割閾值算法如下:
第一步:求初始閾值T0

式中Tl,Th——分別是圖像f (x,y)中最小和最大灰度值;
第二步:迭代求出新的閾值 Ti+1

式中hk——灰度值為k的像素點個數。
第三步:如果Ti+1=Ti,則T=Ti,程序結束;否則,i+1→i,轉第二步。
圖像二值化后如圖4所示。

圖4 二值化后效果圖
3.1.3 腐蝕
棒材端面圖像經過上述處理后,圖像中還有些干擾像素,且有些交疊的棒材端面會粘連在一起,給計數帶來困難,為此采用數學形態學中的腐蝕算法來去除粘連及干擾。
腐蝕算法是對于一個給定的圖像F和結構元素S,所有與F具有最大相關的結構元素S的當前位置像素的集合即稱之為S對F的腐蝕。也可以定義為,用S來腐蝕F得到的集合G是S完全包括在F中時S的當前位置(通常取結構元素的原點位置)的集合。其數學形式為:

腐蝕后結果如圖5所示。

圖5 腐蝕后效果圖
3.1.4 計數
經過上述對采集到的棒材端面圖像進行平滑濾波、二值化圖像分割、腐蝕去粘連干擾后,所得到的二值圖像就能夠滿足計數要求了。此時每根棒材對應于圖像中的一個連通域,再對各連通域進行編號并標識出其中心位置坐標,通過計算連通域個數,即得到該幅圖片中的棒材根數。
計數后如圖6所示。

圖6 計數后效果圖
棒材跟蹤是為判斷前一幀圖片中的棒材在當前幀中所對應的位置,以識別出在當前幀中相對于前一幀新增加的棒材,并進行累加計數。算法如下:
第一步:對當前幀圖片進行圖像處理,獲得每根棒材的坐標位置,并保存前一幀圖片中最后一根棒材的坐標位置;
第二步:利用安裝在傳輸鏈電機軸上的編碼器可以獲得同一棒材在前后兩幀圖片中的位移差,并考慮留有一定的誤差范圍;
第三步:利用前一幀圖片中最后一根棒材的坐標位置以及位移差,可以得到前一幀中最后一根棒材在當前幀中的列坐標位置;
第四步:對該列坐標位置與棒材移動方向相反方向上存在的棒材進行計數,得到在當前幀中相對于前幅圖片新增加的棒材數,對新增加的棒材進行逐根累加計數,并不斷與打捆要求的根數值進行比較;
第五步:經比較,若相等,則在當前新增加的棒材位置后面畫一豎線,指出分鋼位置,程序運行結束;若不相等,則繼續對當前幀中新增加的棒材進行逐根累加計數,并與打捆要求根數值進行比較;
第六步:當前幀中所有新增棒材被計數,但未達到打捆要求的根數值,返回第一步,重新循環執行上述步驟。
圖像識別系統的軟件運行界面如圖7所示。
1)由于細棒材的重疊和交叉問題比較嚴重,所以,利用光電計數方法對其進行計數非常困難。本系統基于圖像識別技術通過對棒材端面進行計數很好地解決了這個問題,而且準確率高。
2)本系統僅解決了細棒材的計數問題,達到規定打捆支數后,分鋼還需要人工操作。主要是由于沒有有效的解決分開重疊和交叉的細棒材的機械手段,盡管嘗試了一些方法,但效果不太理想。下一步研究方向是在分鋼機械操作過程中輔助以圖像識別技術進行配合,兩者相輔相成,最終實現自動分鋼[5]。

圖7 軟件運行界面
[1] 羅三定,沙莎,沈德耀,等. 棒材生產在線視覺計數系統研究[J]. 小型微型計算機系統,2004,25(4): 671-675.
[2] 安軍鋒,任吉堂. 在線棒材計數系統現狀與研究[J]. 中國冶金,2007,17(11): 1-5.
[3] 郭國營,劉冀偉,柴愛紅,等. 棒材定支數包裝與理論質量計量[J]. 工業計量,2006,16(1): 13-16.
[4] 何東健. 數字圖像處理[M]. 西安: 西安電子科技大學出版社,2003.
[5] 陳邵鋼,羅三定. 計算機視覺在棒材分離控制中的應用[J]. 工業控制計算機,2007,20(1): 23-26.