李建軍,史志暉,崔桂梅,張 帥,王 磊
(1. 內(nèi)蒙古科技大學(xué)信息工程學(xué)院,內(nèi)蒙古 包頭 014010; 2. 包頭鋼鐵(集團(tuán))有限責(zé)任公司熱軋部,內(nèi)蒙古 包頭 014010)
鐮刀彎是指帶鋼的側(cè)邊與連接測(cè)量部分兩端點(diǎn)的直線(xiàn)之間的最大距離,即帶鋼一側(cè)的邊緣與直線(xiàn)的偏離。鐮刀彎的大小對(duì)整個(gè)產(chǎn)品的生產(chǎn)過(guò)程有著重要的影響。因?yàn)橹虚g坯出現(xiàn)瑕疵,可能會(huì)導(dǎo)致返工或者浪費(fèi),這增加了生產(chǎn)的成本和損耗,同樣也會(huì)影響生產(chǎn)效率。同時(shí),嚴(yán)重的鐮刀彎瑕疵可能在快速傳送的過(guò)程中對(duì)生產(chǎn)設(shè)備造成一定程度的損傷,增加設(shè)備維護(hù)的成本。而且,粗軋鐮刀彎如果不及時(shí)發(fā)現(xiàn)和處理,會(huì)遺傳到精軋機(jī)組甚至是成品,嚴(yán)重影響產(chǎn)品質(zhì)量和成材率。因此,非常有必要進(jìn)行鐮刀彎的檢測(cè),提高熱軋綜合成材率,保證冷軋廠生產(chǎn)穩(wěn)定順利進(jìn)行。帶鋼熱連軋現(xiàn)場(chǎng)局部畫(huà)面如圖1所示。
在目前的生產(chǎn)過(guò)程中,現(xiàn)場(chǎng)鐮刀彎?rùn)z測(cè)基本依賴(lài)于操作工的經(jīng)驗(yàn)進(jìn)行人工觀察,然后對(duì)機(jī)器進(jìn)行調(diào)節(jié),且中間坯鐮刀彎缺乏準(zhǔn)確的檢測(cè)手段,操作難度大,由于主觀因素的參與,鐮刀彎?rùn)z測(cè)準(zhǔn)確率低,檢測(cè)效果差。
隨著生產(chǎn)力的不斷發(fā)展,人們逐漸意識(shí)到人工檢測(cè)的不足,于是開(kāi)始有人利用自動(dòng)檢測(cè)技術(shù)進(jìn)行鐮刀彎?rùn)z測(cè)。20世紀(jì)80年代,蘇聯(lián)學(xué)者[1]使用距離傳感器和位移傳感器進(jìn)行鐮刀彎自動(dòng)檢測(cè),自此,鐮刀彎自動(dòng)檢測(cè)技術(shù)便出現(xiàn)在國(guó)內(nèi)熱連軋生產(chǎn)線(xiàn)上。2011年,廣州鋼鐵企業(yè)集團(tuán)公司鄺家濤等[2]通過(guò)使用激光測(cè)距儀在加熱爐出口測(cè)量固定位置到帶鋼邊緣的距離變化來(lái)判斷是否有鐮刀彎存在。這種檢測(cè)方法的局限性在于只檢測(cè)帶鋼邊緣到固定位置的距離變化來(lái)判斷鐮刀彎是否存在,若發(fā)生漂移,就有可能發(fā)生誤檢[3-4]。隨著機(jī)器視覺(jué)技術(shù)的迅速發(fā)展,2019年,北京科技大學(xué)的劉洋、徐東等人[5]在鐮刀彎?rùn)z測(cè)中使用了視覺(jué)技術(shù),其使用的運(yùn)行非對(duì)稱(chēng)檢測(cè)方法在很大程度上彌補(bǔ)了鐮刀彎?rùn)z測(cè)的不足,滿(mǎn)足了實(shí)時(shí)檢測(cè)與控制的要求,減少了軋制過(guò)程甩尾事故的發(fā)生,提高了規(guī)格帶鋼軋制穩(wěn)定性和成材率。但由于其中心對(duì)稱(chēng)軸固定,帶鋼鐮刀彎與帶鋼跑偏兩者皆屬于非對(duì)稱(chēng)運(yùn)行,極易在檢測(cè)過(guò)程中產(chǎn)生混淆。因此,使用非對(duì)稱(chēng)方法[6]檢測(cè)鐮刀彎問(wèn)題還存在不足之處。
針對(duì)帶鋼中間坯的鐮刀彎?rùn)z測(cè)成功率不高且容易誤檢的問(wèn)題,本文提出了一種基于邊緣向量的檢測(cè)算法——邊緣矢量法,即通過(guò)對(duì)單位絕對(duì)值化的邊緣矢量進(jìn)行比較來(lái)判斷鐮刀彎是否存在。該算法解決了因帶鋼漂移而引起的誤檢問(wèn)題。
在已建立坐標(biāo)系的圖像中分別提取目標(biāo)兩側(cè)邊緣的坐標(biāo),通過(guò)判斷坐標(biāo)之間向量的方向進(jìn)行邊緣彎曲度的度量,這種方法稱(chēng)為邊緣矢量法。
邊緣矢量的比較運(yùn)算在理想狀態(tài)下,即不存在鐮刀彎的情況下應(yīng)當(dāng)滿(mǎn)足以下兩個(gè)條件:
其中,el、er分別是中心軸左右邊的邊緣單位向量,i表示邊緣點(diǎn)按照正方向排序時(shí)的點(diǎn)的順序,本文算法在帶鋼每個(gè)邊緣取六個(gè)邊緣點(diǎn),因此i=0,1,2,3,4,5。
若邊緣矢量不滿(mǎn)足式(1)~(2),則說(shuō)明帶鋼存在鐮刀彎,本文通過(guò)計(jì)算相鄰向量之間的夾角來(lái)判斷鐮刀彎是否存在。
如圖2所示,將數(shù)據(jù)采集設(shè)備安裝在帶鋼上方正中間的位置,拍攝范圍為5 m。本文使用工業(yè)CCD相機(jī)(面陣,900萬(wàn)像素)和鏡頭(16 mm定焦)作為檢測(cè)裝置對(duì)目標(biāo)進(jìn)行視頻圖像采集,傳輸?shù)胶笈_(tái)進(jìn)行檢測(cè)處理。
圖2 攝像機(jī)安裝位置示意圖
首先,使用圖像處理算法在灰度圖上進(jìn)行邊緣提取、最大矩形連通區(qū)域提取、二值形態(tài)學(xué)處理,得到目標(biāo)鋼板的二值圖。然后以圖像中心為原點(diǎn)建立坐標(biāo)系,將目標(biāo)分成4個(gè)區(qū)間。再分別在y軸左右兩半平面進(jìn)行坐標(biāo)間距離運(yùn)算。以左半平面為例,找出特定y值對(duì)應(yīng)的點(diǎn),以這些點(diǎn)的x值減去y軸對(duì)應(yīng)的橫坐標(biāo),取絕對(duì)值之后進(jìn)行比較,最大絕對(duì)值對(duì)應(yīng)的點(diǎn)的坐標(biāo)即為邊緣點(diǎn)坐標(biāo)。
搜尋邊緣點(diǎn)坐標(biāo)的原理為:對(duì)于任意正整數(shù)j,若yi對(duì)應(yīng)的xj滿(mǎn)足:
取相鄰兩邊緣坐標(biāo)之間的向量,單位化之后取絕對(duì)值,如下所示,利用式(1)和(2)進(jìn)行單位向量之間的比較。
考慮到現(xiàn)場(chǎng)環(huán)境的復(fù)雜性,需要在這里設(shè)置一定的裕度,只要 |θ |≤ 0.45?,就認(rèn)為中間坯合格,沒(méi)有鐮刀彎;而當(dāng) |θ |>0.45?時(shí),則認(rèn)為帶鋼有鐮刀彎存在。
圖3給出了本文算法框架。給定一幀圖像,首先進(jìn)行圖像預(yù)處理,然后利用圖像二值化將目標(biāo)從圖像中提取出來(lái)。接著以圖像中心點(diǎn)為坐標(biāo)原點(diǎn)建立坐標(biāo)系進(jìn)行邊緣點(diǎn)提取。根據(jù)所得帶鋼兩側(cè)邊緣點(diǎn)的坐標(biāo)分別計(jì)算兩側(cè)相鄰點(diǎn)之間的向量,單位絕對(duì)值化之后,比較同側(cè)相鄰單位向量,并計(jì)算相鄰向量間夾角,根據(jù)所設(shè)閾值進(jìn)行鐮刀彎判決。同時(shí)還設(shè)有寬度閾值,帶鋼中間坯寬度如果不在閾值范圍內(nèi),同樣視其為不合格中間坯。
1)圖像預(yù)處理。本文的邊緣檢測(cè)是基于圖像灰度梯度進(jìn)行處理的,由于現(xiàn)場(chǎng)環(huán)境比較復(fù)雜,直接對(duì)目標(biāo)進(jìn)行提取可能會(huì)影響目標(biāo)的完整性,因此針對(duì)這個(gè)問(wèn)題,在提取目標(biāo)前使用高斯平滑濾波處理。
圖3 檢測(cè)算法流程圖
2)提取目標(biāo)。圖像中目標(biāo)與背景區(qū)分比較明顯,所以選擇圖像二值化提取目標(biāo)[7]:在灰度直方圖中,目標(biāo)與背景呈現(xiàn)兩個(gè)不同的波峰,而波谷位置的點(diǎn)相對(duì)較少,對(duì)應(yīng)的是目標(biāo)鋼板的邊緣部分,根據(jù)波谷的位置設(shè)置閾值,對(duì)目標(biāo)鋼板進(jìn)行二值化處理。
3)形態(tài)學(xué)去噪。在中間坯軋制過(guò)程中,氧化鐵皮和除磷水的殘留等一些因素的影響,使得提取出來(lái)的二值圖出現(xiàn)孔洞或者不連通現(xiàn)象,因此本文使用形態(tài)學(xué)處理方法消除二值圖上的孔洞以及不連通的地方[8],最終提取的二值圖如圖4所示。
圖4 中間坯目標(biāo)提取
4)目標(biāo)邊緣檢測(cè)。本文使用基于Canny算子的邊緣提取方法,對(duì)中間坯進(jìn)行輪廓提取[9]。首先對(duì)圖像進(jìn)行求導(dǎo),根據(jù)邊緣附近梯度值變化較大的特征,使用非極大值抑制確定邊緣位置。然后使用輪廓標(biāo)注算法對(duì)輪廓邊界進(jìn)行標(biāo)注,如圖5所示,較好地保留了邊緣[10]的完整性。
圖5 中間坯邊緣標(biāo)注
在上節(jié)工作的基礎(chǔ)上,以圖像的中心點(diǎn)為坐標(biāo)原點(diǎn)建立坐標(biāo)系。邊緣點(diǎn)檢測(cè)分為兩個(gè)部分:
1)角點(diǎn)檢測(cè)。根據(jù)攝像機(jī)安裝的位置已知,目標(biāo)帶鋼處于視野的正中心位置,建立坐標(biāo)系后,將目標(biāo)分成4個(gè)區(qū)域,這樣就等同于默認(rèn)目標(biāo)的4個(gè)角分布在圖像四等分的區(qū)間上。以左上角區(qū)間為例,要在此區(qū)間目標(biāo)上的所有點(diǎn)中找到角點(diǎn)[11]的位置,就需要對(duì)這些點(diǎn)進(jìn)行坐標(biāo)間距離運(yùn)算。即把此區(qū)間目標(biāo)上所有點(diǎn)的坐標(biāo)與中心點(diǎn)(原點(diǎn))的坐標(biāo)進(jìn)行距離運(yùn)算,最終確定距離中心點(diǎn)最遠(yuǎn)的點(diǎn)為目標(biāo)在這個(gè)區(qū)間的角點(diǎn)。角點(diǎn)位置檢測(cè)的結(jié)果如圖6所示。
圖6 角點(diǎn)檢測(cè)與標(biāo)注
角點(diǎn)檢測(cè)提取帶鋼矩形區(qū)域的4個(gè)角點(diǎn),以視野中左下角的角點(diǎn)坐標(biāo)為第一個(gè)坐標(biāo),按順時(shí)針?lè)较蜻M(jìn)行排序,帶鋼的寬度[12]由第一個(gè)點(diǎn)與第4個(gè)點(diǎn)之間的距離來(lái)判定。但由于軋制過(guò)程中存在帶鋼整體發(fā)生側(cè)彎而寬度沒(méi)有發(fā)生變化的情況,所以此處所測(cè)量的帶鋼寬度不能作為鐮刀彎的判定依據(jù)。
2)邊緣點(diǎn)檢測(cè)。根據(jù)建立好的坐標(biāo)系,默認(rèn)y軸將圖像二等分成左右兩個(gè)區(qū)間,以左半?yún)^(qū)間為例:列出特定y值對(duì)應(yīng)的在目標(biāo)中的所有的點(diǎn),此處y值是算法在目標(biāo)區(qū)域內(nèi)默認(rèn)提取的,取其橫坐標(biāo)與y軸對(duì)應(yīng)的橫坐標(biāo)分別進(jìn)行差運(yùn)算,取絕對(duì)值,其絕對(duì)值最大的點(diǎn)為該y值對(duì)應(yīng)的目標(biāo)邊緣點(diǎn)[13],原理如公式(3)~(4)所示。
利用上述方法,算法在進(jìn)行邊緣點(diǎn)提取[14]的過(guò)程中,帶鋼的每一側(cè)邊緣都默認(rèn)提取了24個(gè)點(diǎn),在進(jìn)行邊緣向量運(yùn)算時(shí),為了提高運(yùn)算速度,同時(shí)也為達(dá)到邊緣彎曲度檢測(cè)的最佳效果,本文先對(duì)這24個(gè)點(diǎn)進(jìn)行排序,然后從第4個(gè)點(diǎn)開(kāi)始,每隔5個(gè)點(diǎn)取一個(gè)點(diǎn),再加上邊緣兩端的角點(diǎn),總共是6個(gè)點(diǎn)。邊緣點(diǎn)及角點(diǎn)分布如圖7所示。
圖7 邊緣點(diǎn)坐標(biāo)檢測(cè)與標(biāo)注
3)邊緣向量運(yùn)算。同樣以左半?yún)^(qū)間為例,將所檢測(cè)得到的點(diǎn)的坐標(biāo)連同同一側(cè)的兩個(gè)角點(diǎn)一起,存儲(chǔ)在一個(gè)列表當(dāng)中,并對(duì)這些點(diǎn)按照位置順序重新進(jìn)行排序。接著對(duì)列表中的相鄰點(diǎn)進(jìn)行坐標(biāo)運(yùn)算,得出它們之間的向量。
由于邊緣點(diǎn)并不是等距提取的,直接對(duì)邊緣點(diǎn)之間的向量進(jìn)行比較會(huì)導(dǎo)致鐮刀彎誤檢問(wèn)題,因此須對(duì)邊緣點(diǎn)之間的向量做單位邊緣化處理。邊緣點(diǎn)及邊緣向量分布示意圖如圖8所示,以“L”形彎為例。
圖8 帶鋼邊緣點(diǎn)及邊緣向量分布示意圖
4)彎曲度提取。對(duì)3)中所述的向量進(jìn)行分類(lèi),將位于同一側(cè)的向量存儲(chǔ)在同一個(gè)列表當(dāng)中, 將列表中的相鄰兩向量取出來(lái)進(jìn)行比較,如式(1)~(2)所示。
圖9為邊緣矢量算法運(yùn)算具體流程,Li為左側(cè)邊緣點(diǎn),li為左側(cè)相鄰兩邊緣點(diǎn)間向量。若等式不成立,則求其兩者之間的夾角,以此判斷邊緣是否有彎度,而向量之間的夾角就是衡量帶鋼邊緣彎曲度的參數(shù)依據(jù)。圖9以視野中帶鋼左側(cè)邊緣為例,右側(cè)邊緣的運(yùn)算也同樣如此。而左右兩側(cè)邊緣是否彎曲對(duì)于帶鋼是否存在鐮刀彎[15]呈“或”邏輯運(yùn)算關(guān)系,即只要其中一側(cè)邊緣彎曲,那么帶鋼就存在鐮刀彎。
圖9 邊緣矢量法判定鐮刀彎的運(yùn)算過(guò)程
5)閾值設(shè)定。由于現(xiàn)場(chǎng)環(huán)境比較復(fù)雜,各種因素的影響可能會(huì)導(dǎo)致檢測(cè)結(jié)果不穩(wěn)定,嚴(yán)格按照上述方式來(lái)檢測(cè)鐮刀彎可能會(huì)出現(xiàn)誤檢的問(wèn)題,因此,需要在輸出后邊添加結(jié)果評(píng)價(jià)機(jī)制來(lái)增加檢測(cè)精度。本文以向量之間的夾角作為鐮刀彎的分級(jí)參考標(biāo)準(zhǔn),因此以角度作為閾值,閾值的范圍最終設(shè)定為±0.45°,同時(shí)以寬度作為輔助參數(shù),閾值設(shè)為 ± 5 mm。即邊緣向量之間的夾角處于±0.45°、寬度變化處于±5 mm的范圍內(nèi),則視為中間坯無(wú)鐮刀彎;而如果邊緣向量之間的夾角或?qū)挾茸兓龈髯远x的范圍,則判定有鐮刀彎存在。
粗軋鐮刀彎?rùn)z測(cè)算法是應(yīng)用于某廠 2 250 mm熱軋車(chē)間的熱軋過(guò)程控制優(yōu)化系統(tǒng)中。其中,鐮刀彎?rùn)z測(cè)設(shè)備安裝在出口的觀察天橋上,算法運(yùn)行設(shè)備放置在監(jiān)控機(jī)房。
本實(shí)驗(yàn)軟件平臺(tái)為 PyCharm 2020.2×64,硬件運(yùn)行環(huán)境配置為 Intel(R) Core(TM) i5-8500 CPU@3.00 GHz。本文選取5000張含有鐮刀彎的帶鋼圖像作為實(shí)驗(yàn)樣本,檢測(cè)范圍為5 m的帶鋼區(qū)域,圖像設(shè)置大小為 51 2×512。
鐮刀彎的量是由連接測(cè)量部分兩端點(diǎn)的直線(xiàn)與帶鋼側(cè)邊的最大距離決定的,需要根據(jù)這個(gè)量來(lái)進(jìn)行閾值劃分。本文使用邊緣矢量法檢測(cè)鐮刀彎,所以將鐮刀彎的量轉(zhuǎn)換成邊緣矢量間夾角來(lái)評(píng)估帶鋼中間坯是否合格。
本文設(shè)定:若鐮刀彎的量小于或等于鋼板被測(cè)部分實(shí)際長(zhǎng)度的 0 .2%,視中間坯合格。那么5 m的實(shí)際測(cè)量長(zhǎng)度,合格中間坯鐮刀彎的量應(yīng)小于或等于1 0 mm,假設(shè)邊緣曲線(xiàn)為一元二次函數(shù)曲線(xiàn),轉(zhuǎn)換成最大的相鄰向量間夾角則為0.45°,即本文設(shè)定的角度 θ閾值。同時(shí),考慮到現(xiàn)場(chǎng)環(huán)境的復(fù)雜性可能會(huì)導(dǎo)致邊緣提取結(jié)果不穩(wěn)定,于是在寬度檢測(cè)上保留了一定的裕度。
本文在寬度絕對(duì)值區(qū)間( 1 mm,10 mm)內(nèi)選取寬度閾值進(jìn)行實(shí)驗(yàn)探索,當(dāng)寬度閾值 |d|≥5 mm之后,檢測(cè)成功率基本不再發(fā)生變化,因此,將最終的寬度閾值定為 5 mm 。當(dāng) |d|=3 mm時(shí),算法從樣本中檢測(cè)出4672張存在鐮刀彎的圖像;當(dāng) |d|=5 mm時(shí),算法檢測(cè)出4816張存在鐮刀彎的圖像。經(jīng)計(jì)算,在表1中列出在角度θ閾值已定的情況下,通過(guò)改變寬度閾值得出的檢測(cè)成功率。
表1 不同組閾值d 、θ對(duì)應(yīng)的檢測(cè)成功率
在d=±5 mm,θ=±0.45°的閾值設(shè)定下,實(shí)驗(yàn)效果較好,既保證了鐮刀彎的檢測(cè)成功率,也盡量避免了漏檢的情況。同時(shí),算法運(yùn)算速度達(dá)到毫秒級(jí),可及時(shí)對(duì)優(yōu)化系統(tǒng)進(jìn)行反饋,以修正中間坯側(cè)彎現(xiàn)象。
本文在檢測(cè)成功率方面與運(yùn)行非對(duì)稱(chēng)鐮刀彎?rùn)z測(cè)算法進(jìn)行比較,結(jié)果如表2所示。運(yùn)行非對(duì)稱(chēng)鐮刀彎?rùn)z測(cè)算法在提取邊緣像素坐標(biāo)方面與本文算法類(lèi)似,其通過(guò)邊緣像素坐標(biāo)計(jì)算帶鋼中心線(xiàn),從而利用中心線(xiàn)的偏移量來(lái)判斷中間坯是否有鐮刀彎存在。
表2 鐮刀彎成功率對(duì)比
與運(yùn)行非對(duì)稱(chēng)算法相比,本文算法能夠很直觀地體現(xiàn)邊緣特征,無(wú)需考慮因帶鋼跑偏而引起的鐮刀彎誤檢問(wèn)題,比較精準(zhǔn)地實(shí)現(xiàn)了對(duì)中間坯鐮刀彎的檢測(cè)。
為了克服傳統(tǒng)鐮刀彎?rùn)z測(cè)方法以及以往非接觸在線(xiàn)鐮刀彎?rùn)z測(cè)方法的不足,本文提出了一種基于邊緣矢量的鐮刀彎在線(xiàn)檢測(cè)方法,其中加入了角點(diǎn)檢測(cè)測(cè)量寬度作為輔助參數(shù),同時(shí)角點(diǎn)檢測(cè)還可以輔助完成相機(jī)標(biāo)定和邊緣向量運(yùn)算。使用彎曲度度量帶鋼邊緣的曲直程度,可以達(dá)到直觀體現(xiàn)的目的。檢測(cè)算法能夠高效地捕獲帶鋼邊緣的特征,從而很好地實(shí)現(xiàn)鐮刀彎的非接觸檢測(cè),滿(mǎn)足工程的實(shí)時(shí)性需求。算法運(yùn)算穩(wěn)定、計(jì)算效率高,可以對(duì)車(chē)間中的中間坯進(jìn)行在線(xiàn)實(shí)時(shí)檢測(cè),有效抑制粗軋中間坯缺陷的產(chǎn)生,提高軋制的穩(wěn)定性和成材率。