王靖震,李志鋒,李婷,李向榮
(鞍鋼集團(tuán)鋼鐵研究院,遼寧 鞍山 114009)
計(jì)算機(jī)數(shù)字圖像處理技術(shù)的發(fā)展和CCD(電荷耦合器件)圖像傳感器生產(chǎn)工藝的進(jìn)步,使得用CCD相機(jī)采集圖像并進(jìn)行處理的視覺成像檢測方法得到冶金工業(yè)等領(lǐng)域廣泛的應(yīng)用。在冶金工業(yè)鋼板寬度測量方面,已經(jīng)有公司應(yīng)用視覺成像檢測方法開發(fā)出鋼板寬度測量相關(guān)產(chǎn)品,即CCD測寬儀,并且有了這方面產(chǎn)品的應(yīng)用案例研究。目前普遍采用的方式是把帶鋼水平放置于一系列運(yùn)動的輥?zhàn)由?,CCD相機(jī)采集水平運(yùn)動帶鋼的圖像,并確定帶鋼邊緣,從而測量鋼板的寬度。由于帶鋼水平運(yùn)動時會發(fā)生抖動以及弓形、彎曲等形狀變化,為了避免帶鋼抖動和形狀變化給寬度測量帶來的干擾,選擇生產(chǎn)中帶鋼和輥?zhàn)颖砻尜N合在一起的工況狀態(tài)下,識別判斷帶鋼的邊緣,進(jìn)行帶鋼寬度測量。而要正確識別判斷帶鋼的邊緣,就需要避免帶鋼表面缺陷帶來的干擾,本文提出了帶鋼邊緣檢測的一種抗缺陷干擾方法,通過將二維鋼板圖像簡化處理為一維線陣圖像,用梯度計(jì)算和非極大值抑制查找每個灰度值跳躍位置,采用最小平均絕對偏差法計(jì)算帶鋼邊緣判定參數(shù),最終判定鋼板邊緣位置。
目前帶鋼寬度測量普遍采用的方式是把帶鋼水平放置于一系列運(yùn)動的輥?zhàn)又?,帶鋼水平通過裝有CCD相機(jī)的測量箱體,水平方式帶鋼寬度測量示意圖如圖1所示。此時帶鋼對光源遮擋,采集圖像中能夠產(chǎn)生明暗不同的分區(qū),圖像中明暗交界線為帶鋼邊緣,從而可以測量鋼板的寬度。但是由于在輥?zhàn)由线\(yùn)動,帶鋼難免產(chǎn)生抖動,這給精確的板寬測量帶來很大的干擾。尤其是在帶鋼發(fā)生弓形彎曲變化時,更是難以對其進(jìn)行準(zhǔn)確測量。
圖1 水平方式帶鋼寬度測量示意圖Fig.1 Horizontal Schematic Diagram for Width Measurement of Steel Strip
為了盡量避免帶鋼抖動、彎曲等情況對板寬測量的影響,利用輥?zhàn)优c帶鋼作用產(chǎn)生的張力促使帶鋼緊貼于輥?zhàn)由媳3謳т摪逍蔚钠秸?。貼輥方式帶鋼板寬度測量示意圖如圖2所示。當(dāng)采用圖2所示的結(jié)構(gòu)進(jìn)行測量帶鋼寬度時,帶鋼會和輥?zhàn)颖砻婢o緊貼合在一起。但是,此時光源無法從帶鋼背部照射獲得明暗分區(qū),而只能從正面照射,利用圖像處理的方法獲得帶鋼邊緣位置信息,這就對帶鋼邊緣的測定提出了更高要求。因?yàn)橥ǔт摽偸菐в袆澓?、壓印、表面夾雜等缺陷,所以在相機(jī)采集的圖像中,要避免因帶鋼本身缺陷而導(dǎo)致的對帶鋼邊緣的錯誤識別,進(jìn)而正確的測定帶鋼邊緣。
圖2 貼輥方式帶鋼板寬度測量示意圖Fig.2 Schematic Diagram for Width Measurement of Steel Strip by Pressing Close to Rolls
根據(jù)實(shí)際生產(chǎn)情況,CCD相機(jī)不必采集全部帶鋼圖像進(jìn)行處理,只需采集帶鋼兩邊緣一定區(qū)域范圍內(nèi)的圖像進(jìn)行檢測處理即可??衫脙膳_CCD相機(jī)分別采集運(yùn)動的帶鋼左右兩邊的圖像,確定運(yùn)動帶鋼的邊緣位置。
邊緣是圖像局部區(qū)域內(nèi)特性差別的反映,它表示為圖像信息的某種不連續(xù)性(如灰度突變、彩色的變化等)。通過這種不連續(xù)性在圖像內(nèi)區(qū)分出不同區(qū)域。因此,基于灰度不連續(xù)性的特征檢測方法也就成為邊緣檢測的主要手段之一。
根據(jù)邊緣處灰度具有不連續(xù)性這一特性,對相機(jī)所采集的帶鋼圖像進(jìn)行邊緣檢測,可以檢測出帶鋼邊緣處圖像中灰度值發(fā)生的跳變。以寬度測量左側(cè)相機(jī)為例,相機(jī)所采集的帶鋼圖像見圖3。實(shí)際生產(chǎn)中,帶鋼常常帶有劃痕,壓印,表面夾雜等缺陷,帶鋼表面缺陷如圖4所示。
圖3 左側(cè)相機(jī)所采集的帶鋼板圖像Fig.3 Images Taken by Camera on Left Side
圖4 帶鋼表面缺陷Fig.4 Steel Strip Surface Defects
當(dāng)帶鋼的表面上有明顯缺陷時,帶鋼圖像在其缺陷處與邊緣處一樣,會具有灰度值的跳變,需要正確區(qū)分判定邊緣。
在帶鋼的寬度測量設(shè)計(jì)中,相機(jī)采集圖像的像素掃描方向與帶鋼運(yùn)動方向垂直。所以在采集的圖像中豎直方向?yàn)閹т撨\(yùn)動方向,水平方向依次為輥?zhàn)颖尘昂蛶т?。圖像中輥?zhàn)颖尘昂蛶т撛谒椒较蛏匣叶戎祵a(chǎn)生明顯變化,因此可以把二維圖像問題轉(zhuǎn)化為水平方向上一維圖像問題,即用一個一維線陣圖像處理得到帶鋼在水平方向的邊緣。
本文采用二維圖像豎直方向每行像素灰度值相加求平均的辦法得到一維線陣圖像,同時也起到對圖像噪聲均勻?yàn)V波的作用,消除部分干擾,具體如式(1)所示。
式中,x為水平方向第i點(diǎn)坐標(biāo);y為豎直方向第j點(diǎn)坐標(biāo);m為圖像行數(shù)。
利用邊緣處灰度值發(fā)生跳變的特點(diǎn),梯度檢測成為邊緣檢測的常用方法。由于圖像已經(jīng)簡化為一維線陣圖像,因此采用水平方向的一階導(dǎo)數(shù)作為圖像邊緣檢測的梯度。在帶鋼寬度測量中利用左右各一臺相機(jī)測定帶鋼的邊緣。左側(cè)相機(jī)采集的圖像中,帶鋼的邊緣位置表現(xiàn)為灰度值上升跳變,左側(cè)圖像的梯度值定義為:
右側(cè)相機(jī)采集的圖像中,帶鋼的邊緣位置表
當(dāng)梯度G(x)的計(jì)算值大于0時,為可能的帶鋼邊緣處。
由于受相機(jī)分辨率和光線照射等影響,邊緣處的灰度跳變大多會有一定的坡度,即邊緣處的梯度值一般有個逐漸增大或減小的過程。當(dāng)邊緣要求精確位置信息時,如果簡單的以圖像中梯度值最大那一點(diǎn)即梯度的極值點(diǎn)作為精確的邊緣位置,由于缺陷等干擾因素的存在,這樣選取的邊緣位置常常不準(zhǔn)確。
考慮到邊緣位置處,不一定是圖像梯度值變化最大的極大值點(diǎn),但也一定會是相對的局部極大值點(diǎn),所以邊緣的確定,可以先查找出圖像中所有梯度值變化大的極大值點(diǎn)位置,即全部局部極大值點(diǎn)的位置,再進(jìn)一步采用算法排除缺陷等干擾因素來進(jìn)一步確定邊緣。
提取所有梯度值變化大的極大值點(diǎn)位置,即全部局部極大值點(diǎn)的位置,應(yīng)用非極大值抑制的方法。采用非極大值抑制的方法,排除非局部極大值點(diǎn),留存局部極大值點(diǎn),對圖像的梯度數(shù)據(jù)進(jìn)行處理,把非局部極大值都設(shè)置為0,只保留各個局部極大值點(diǎn),帶鋼邊緣的精確位置限定在局部極大值點(diǎn)所在的位置中。一般的設(shè)X為在第i點(diǎn)像素點(diǎn)位置上的灰度值,X、X分別為其左、右像素點(diǎn)第i-1點(diǎn)和第i+1點(diǎn)位置上的灰度值。其原理如下示意代碼所示:現(xiàn)為灰度值下降跳變,右側(cè)圖像的梯度值定義為:
非極大值抑制過程中,同時設(shè)置門限,把灰度值小于門限的值都設(shè)置為0,通過對較低灰度值的過濾有效減少假邊緣。
實(shí)際上,不僅帶鋼邊緣處的灰度值會發(fā)生跳變,由于帶鋼劃痕、壓印等缺陷的影響,帶鋼圖像中將會有多處發(fā)生灰度值跳變。經(jīng)過梯度計(jì)算和非極大值抑制處理后,排除了帶鋼圖像的非局部極大值點(diǎn),留存局部極大值點(diǎn),圖像依然可以查找出多處具有邊緣特征的灰度值跳變。對經(jīng)過非極大值抑制處理后的帶鋼圖像進(jìn)一步分析,排除缺陷等干擾因素以進(jìn)一步確定邊緣,本文采用最小平均絕對偏差法。
平均絕對偏差即所有單個值與算術(shù)平均值的偏差的絕對值平均。比起平均誤差,平均絕對偏差由于偏差值被絕對化,不會出現(xiàn)正負(fù)相抵消的情況,因而能更好的反映總體單個值偏離的實(shí)際情況,即總體均勻性。
用最小平均絕對偏差法進(jìn)行邊緣判定的基本思想是:圖像灰度值的平均絕對偏差作為灰度值分布均勻性的一種度量,平均絕對偏差值越小,說明圖像越均勻。當(dāng)由于缺陷干擾而查出多處具有邊緣特征的灰度值跳變時,位于帶鋼邊緣處的灰度值跳變兩側(cè)的區(qū)域,即帶鋼區(qū)域和輥?zhàn)颖尘皡^(qū)域,灰度值的平均絕對偏差之和最小。
當(dāng)帶鋼圖像經(jīng)過梯度計(jì)算和非極大值抑制處理,檢出的灰度值跳變多于1處時,則設(shè)定帶鋼邊緣判定參數(shù) B(q)為:
式中,q*是滿足平均絕對偏差值最小,即是B(q)值最小的參數(shù),即為所求帶鋼邊緣點(diǎn)位置。
為了檢驗(yàn)方法的效果,把幾種帶鋼的缺陷圖像在一幅圖像中進(jìn)行合成構(gòu)造,以左側(cè)相機(jī)采集的圖像為例進(jìn)行分析,合成的有缺陷帶鋼圖像如圖5所示,圖像左側(cè)為輥?zhàn)颖尘埃覀?cè)為有缺陷的帶鋼圖像。
把帶鋼的二維圖像簡化為一維線陣圖像,線陣圖像灰度值變化如圖6所示,結(jié)合圖5進(jìn)行分析,可以看出鋼板邊緣左右兩側(cè)的圖像灰度值有明顯不同。
圖5 合成的有缺陷帶鋼圖像Fig.5 Composite Images of Steel Strips with Defects
圖6 線陣圖像灰度值Fig.6 Gray Values of Linear Array Images
對線陣圖像進(jìn)行梯度分析,圖7為線陣圖像的梯度值。當(dāng)梯度值>0時,表示灰度值的上升跳變;當(dāng)梯度值<0時,表示灰度值的下降跳變。由于采用左側(cè)相機(jī)的圖像進(jìn)行分析,梯度值>0時的灰度值發(fā)生跳變處表示灰度值由低變高,為可能的帶鋼邊緣位置。采用非極大值抑制的方法,排除非局部極大值點(diǎn),留存局部極大值點(diǎn),對圖像的梯度數(shù)據(jù)進(jìn)行處理,以便確定灰度值發(fā)生跳變的精確位置。圖8為非極大值抑制后所得的梯度值圖像。
圖7 線陣圖像的梯度值Fig.7 Gradient Values of Linear Array Images
圖8 非極大值抑制后所得的梯度值圖像Fig.8 Images of Gradient Values Achieved by Suppressing Non-Maximum Values
結(jié)合最小平均絕對偏差法的帶鋼邊緣判定參數(shù)B(q),經(jīng)過非極大值抑制后從梯度值圖像可以看出,檢出可能是帶鋼邊緣位置的灰度值跳變處多于1處。則帶鋼邊緣判定參數(shù)B(q)的取值見圖9。
圖9 帶鋼邊緣判定參數(shù)B(q)取值Fig.9 Decision Parameter B(q)Values Taken for Determination of Steel Strip Edges
從圖9及圖6的比較中可以看出,帶鋼邊緣判定參數(shù)B(q)值最小處,即為按公式(10)所求得的帶鋼邊緣位置處。計(jì)算所得的邊緣處位置結(jié)合圖6進(jìn)行分析,與合成缺陷帶鋼圖像實(shí)際邊緣位置相符合。
針對在帶鋼寬度測量中,帶鋼的缺陷會影響對帶鋼邊緣的測定問題,提出了采用了梯度計(jì)算、極大值抑制以及最小平均絕對偏差法相結(jié)合的方法,設(shè)計(jì)帶鋼邊緣判定參數(shù)來進(jìn)行帶鋼邊緣位置判定。此方法經(jīng)過實(shí)驗(yàn)的驗(yàn)證和分析,在帶鋼邊緣判定中可以抗鋼板缺陷的干擾,準(zhǔn)確定位帶鋼鋼板邊緣,取得了滿意的效果。