劉士興,馬登科,劉光柱
(合肥工業(yè)大學(xué)電子科學(xué)與應(yīng)用物理學(xué)院,安徽 合肥 230009)
曳引電梯在日常生活中具有廣泛的應(yīng)用。曳引輪受電機(jī)驅(qū)動(dòng)在曳引輪槽和曳引繩之間產(chǎn)生摩擦力,從而為轎廂提供牽引力。曳引輪是電梯上的重要?jiǎng)恿M件,其可靠性對(duì)于電梯的安全運(yùn)行極為重要。當(dāng)凹槽磨損引起的繩索下沉超過(guò)4 mm,將影響曳引輪的正常運(yùn)行[1]?,F(xiàn)行國(guó)內(nèi)有關(guān)電梯曳引輪的維護(hù)和更換標(biāo)準(zhǔn)[2]是GB/T 31821—2015《電梯主要部件報(bào)廢技術(shù)條件》。
在曳引輪正常使用過(guò)程中,凹槽將不斷磨損[3]。目前,繩槽磨損主要采用定性分析的檢測(cè)方法,如目測(cè)法或者采取電梯制動(dòng)的方式檢測(cè)曳引繩是否有滑移[4],操作復(fù)雜且不能保證可靠性。為解決傳統(tǒng)檢測(cè)方法不便性以及可靠性不高的問(wèn)題,李繼波等[5]發(fā)明了一種結(jié)構(gòu)簡(jiǎn)單的接觸式高精度測(cè)量?jī)x,但該種方法只能測(cè)量繩槽的相對(duì)磨損量,無(wú)法進(jìn)行直接磨損測(cè)量。陳建勛等[6]根據(jù)激光三角測(cè)量原理,開(kāi)發(fā)了一種非接觸式曳引輪磨損檢測(cè)儀,使用步進(jìn)電機(jī)調(diào)節(jié)相機(jī)和繩槽之間的相對(duì)位置,但該方法需要將曳引輪從設(shè)備上拆卸下來(lái),未能實(shí)現(xiàn)就地檢測(cè)。謝小娟等[7]通過(guò)建立相對(duì)的離散特征參數(shù)來(lái)分析鋼絲繩的變形,這些特征參數(shù)可以表征曳引輪槽的累積磨損,但是這種方法不能定量地分析磨損量。張湘澤[8]通過(guò)采集聲發(fā)射傳感器信號(hào),構(gòu)建能量特征樣本數(shù)據(jù)庫(kù),對(duì)曳引輪磨損程度進(jìn)行決策分析,但是該方法可靠度低,無(wú)法實(shí)現(xiàn)精確測(cè)量與預(yù)警。目前,隨著機(jī)器視覺(jué)技術(shù)成熟,其在工業(yè)領(lǐng)域逐步得到應(yīng)用[9]。本文使用工業(yè)相機(jī)構(gòu)建檢測(cè)系統(tǒng),檢測(cè)時(shí)利用自制夾具將相機(jī)固定于曳引繩上。與當(dāng)前已有的曳引輪檢測(cè)系統(tǒng)相比,該系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、可靠性高和成本低廉的優(yōu)點(diǎn),避免了繁瑣的設(shè)備結(jié)構(gòu)和操作步驟。同時(shí),由于檢測(cè)環(huán)境光照不均勻給檢測(cè)帶了難度,本文通過(guò)基于機(jī)器視覺(jué)技術(shù)的算法開(kāi)發(fā),實(shí)現(xiàn)弱光照環(huán)境下的穩(wěn)定可靠測(cè)量,提高了檢測(cè)系統(tǒng)精度。
本文基于機(jī)器視覺(jué)技術(shù),研發(fā)了一種電梯曳引輪槽磨損檢測(cè)系統(tǒng)。本系統(tǒng)建立了實(shí)際硬件檢測(cè)平臺(tái),采集鋼絲繩與曳引輪槽底部的間隙圖像,基于多特征融合算法進(jìn)行目標(biāo)匹配,獲取ROI(region of interest)區(qū)域,通過(guò)模擬退火算法獲取最佳閾值,以去除弱光環(huán)境下的干擾光,實(shí)現(xiàn)目標(biāo)區(qū)域邊界坐標(biāo)的精確提取,并進(jìn)行擬合。然后計(jì)算磨損量,并根據(jù)建立的遮擋補(bǔ)償模型對(duì)上述磨損量進(jìn)行補(bǔ)償,以獲取準(zhǔn)確值。最后,驗(yàn)證了系統(tǒng)的檢測(cè)精度。
常用的曳引輪繩槽主要包括:U型槽、V型槽、帶切口的U型槽和帶切口的V型槽。本文以帶切口的U型槽為研究對(duì)象,繩槽截面如圖1所示。
圖1 曳引輪槽截面
本文以該槽為檢測(cè)對(duì)象建立檢測(cè)系統(tǒng),該系統(tǒng)由軟件和硬件兩部分構(gòu)成,系統(tǒng)硬件結(jié)構(gòu)如圖2所示,主要由計(jì)算機(jī)、控制模塊、圖像采集平臺(tái)組成。檢測(cè)系統(tǒng)采用傳感器像元尺寸為 2.2 μm×2.2 μm的500萬(wàn)像素CMOS黑白工業(yè)相機(jī),型號(hào)為MVGE500M-T,像素尺寸為 2 592×1 944,鏡頭焦距在20~30 mm 范圍內(nèi)可調(diào)。
圖2 檢測(cè)系統(tǒng)硬件結(jié)構(gòu)
圖像采集平臺(tái)包括工業(yè)相機(jī)、漫反射光源和相機(jī)固定架。工業(yè)相機(jī)通過(guò)千兆網(wǎng)線連接到計(jì)算機(jī)。控制模塊包括微處理器和控制繼電器。通過(guò)在水平方向上精確調(diào)整工業(yè)相機(jī)位移,實(shí)現(xiàn)相機(jī)與曳引輪繩槽對(duì)齊,以進(jìn)行各個(gè)繩槽的圖像捕獲。
曳引輪檢測(cè)系統(tǒng)的軟件處理流程如圖3所示。檢測(cè)系統(tǒng)的算法基于 Visual Studio 2017 平臺(tái),使用OpenCV4開(kāi)發(fā)。
圖3 圖像處理流程圖
在工業(yè)領(lǐng)域中為了實(shí)現(xiàn)實(shí)時(shí)快速檢測(cè),本系統(tǒng)對(duì)現(xiàn)有的連通域提取算法進(jìn)行了改進(jìn),提出基于鏈表結(jié)構(gòu)的快速連接域標(biāo)記算法。
本文基于鏈表結(jié)構(gòu)的連通域標(biāo)記數(shù)據(jù)結(jié)構(gòu)如圖4所示。Dn(n=1,2 ,···,n)表示輸入圖像中的一個(gè)連通域。假設(shè)連通域位于M×N像素域(M=7,N=5)。Ri(i=1,2,3,4)表示一行中歸屬于同一個(gè)連通域的行程,Li(i=1,2,3,4)是行程中像素構(gòu)成的鏈表節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)存儲(chǔ)每個(gè)行程的標(biāo)簽、行號(hào)、當(dāng)前行的起點(diǎn)和終點(diǎn)、指向上一個(gè)節(jié)點(diǎn)的指針、指向尾節(jié)點(diǎn)的指針和當(dāng)前連通域的面積(即像素總數(shù))。向量Vector存儲(chǔ)鏈表的頭節(jié)點(diǎn),系統(tǒng)通過(guò)遍歷向量實(shí)現(xiàn)指定面積連通域的快速搜索。
圖4 數(shù)據(jù)結(jié)構(gòu)示意圖
掃描每一行,每一行的每個(gè)連通域?qū)?yīng)一個(gè)鏈表節(jié)點(diǎn)。對(duì)上一行與當(dāng)前行的行程進(jìn)行比較,如果兩個(gè)連通域的行程,即它們的起始和終止點(diǎn)之間的區(qū)域有重合的情況:
1) 當(dāng)前行程從屬于一個(gè)已有連通域,給當(dāng)前行程創(chuàng)建鏈表節(jié)點(diǎn)及表頭,節(jié)點(diǎn)中的指針指向上一個(gè)節(jié)點(diǎn),以上一個(gè)節(jié)點(diǎn)的標(biāo)簽label作為當(dāng)前鏈表的標(biāo)簽,在向量Vector中創(chuàng)建鍵值對(duì)<Head,label>,頭節(jié)點(diǎn)Head中更新鏈表所代表的連通域面積,如圖5(a)所示。
圖5 基于鏈表結(jié)構(gòu)的連通域標(biāo)記過(guò)程
2) 當(dāng)前行程從屬于已有的兩個(gè)鏈表,則合并兩個(gè)鏈表,并更新表頭,以O(shè)(1)的時(shí)間復(fù)雜度快速查找并刪除向量中右鏈表頭節(jié)點(diǎn),以左鏈表的頭節(jié)點(diǎn)作為新鏈表的頭節(jié)點(diǎn),并在向量中更新,如圖5(b)所示。
與兩次掃描算法[10]和種子填充算法等使用的四鄰域或八鄰域相比,此方法不需要大量的入棧和出棧操作,因此有效減少了內(nèi)存消耗。同時(shí),與當(dāng)前現(xiàn)有的基于行程的連接域標(biāo)記算法相比,基于鏈表結(jié)構(gòu)的改進(jìn)算法不需要為重疊團(tuán)創(chuàng)建和維護(hù)等價(jià)對(duì)表[11]。與當(dāng)前的輪廓搜索算法相比,該算法只需要一次掃描就可以實(shí)現(xiàn)對(duì)連通域的提取,并且可以在鏈表頭結(jié)點(diǎn)中儲(chǔ)存連通域面積等信息,通過(guò)頭節(jié)點(diǎn)遍歷連通域,然后執(zhí)行其他操作。
本文首先根據(jù)大津法對(duì)獲取的圖像進(jìn)行二值化預(yù)處理,然后執(zhí)行本文提出的基于鏈表結(jié)構(gòu)的快速連通域標(biāo)記算法。本文選擇5個(gè)較大的面積作為匹配樣本,最終輪廓檢測(cè)結(jié)果如圖6所示。
圖6 輪廓檢測(cè)結(jié)果
為了完成輪廓的篩選并找到目標(biāo)繩槽間隙輪廓,本文采用一種融合不變矩[12]和特征向量[13]的匹配算法。以標(biāo)準(zhǔn)輪廓形狀為模板,計(jì)算出模板輪廓與圖像中每個(gè)凹槽輪廓的不變矩,并根據(jù)融合匹配參數(shù)對(duì)它們的相似度進(jìn)行比較。計(jì)算輪廓的不變矩,首先要計(jì)算離散情況下的 (p+q)階幾何矩和中心矩:
和表示圖像重心:
其中p,q=0,1,2,···,∞;(m,n)表示圖像中像素點(diǎn)的坐標(biāo);f(m,n)表示像素點(diǎn)的灰度值,得到歸一化中心矩:
導(dǎo)出了一組7個(gè)不變矩,但是在匹配目標(biāo)圖像的過(guò)程中,只有前兩個(gè)矩具有更好的匹配效果。對(duì)于目標(biāo)輪廓,將外接矩形的長(zhǎng)度和寬度定義為h和w,輪廓面積定義為s,從而構(gòu)造外接矩形的寬高比S1以及占空比S2作為尺度特征:
融合前兩個(gè)不變矩和兩個(gè)尺度不變特征,構(gòu)建新的匹配特征:
對(duì)于目標(biāo)輪廓A和模板輪廓B,使用歐幾里得距離建立輪廓匹配相似度d:
實(shí)驗(yàn)在 Microsoft Windows 10(64 位)操作系統(tǒng)上進(jìn)行,計(jì)算機(jī)具有 Core i7-6500U CPU 2.5 GHz 頻率和8 GB RAM的硬件條件。試驗(yàn)采用相似度d作為匹配系數(shù),輪廓匹配結(jié)果如圖7所示。中間繩槽是匹配的目標(biāo)輪廓。
圖7 基于融合特征的輪廓匹配
從上一步匹配和提取獲得的目標(biāo)輪廓中選擇ROI,然后對(duì)其進(jìn)行詳細(xì)處理。實(shí)驗(yàn)表明,上邊界是理想的,而下邊界由于光照的影響不能直接確定。
本文使用Matlab 2019a分析圖像中ROI區(qū)域的亮度,并繪制輪槽區(qū)域亮度的三維分布圖,如圖8(a)所示。輪槽區(qū)域中的亮度分布不同,最大亮度為圖中的紫色區(qū)域,并且分布是對(duì)稱的,分別對(duì)應(yīng)于上邊界區(qū)域和下邊界區(qū)域。為了進(jìn)一步觀察垂直方向上像素的連續(xù)分布,本文獲得u =125 pixels處的亮度二維分布,如圖8(b)所示。結(jié)果顯示,上邊界具有較明顯的區(qū)分,下邊界由于光照不均勻的影響,像素分布較為連續(xù),因此無(wú)法直接進(jìn)行閾值化處理。其中①為上邊界區(qū)域,②為目標(biāo)區(qū)域,③為光照干擾區(qū)域,④為下邊界區(qū)域。
圖8 ROI區(qū)域的亮度特征
比較各種邊緣檢測(cè)算子的實(shí)驗(yàn)結(jié)果,選擇Sobel算子進(jìn)行邊緣檢測(cè),使用中值濾波去除噪聲,減少運(yùn)算量,并采用迭代閾值化對(duì)檢測(cè)結(jié)果進(jìn)行初始閾值處理??紤]到不均勻光照對(duì)下邊界的影響較大,如何確定最佳閾值來(lái)處理圖像以確定下邊界,是本系統(tǒng)的關(guān)鍵。去除光照不均勻影響的預(yù)處理如圖9所示。
圖9 ROI區(qū)域預(yù)處理結(jié)果
在迭代閾值化中,首先分別獲得圖像的最大灰度值Zmax和最小灰度值Zmin。將初始閾值設(shè)為T(mén)0,D為除數(shù)因子:
根據(jù)閾值T0將圖像分為前景和背景,分別計(jì)算出兩者的平均灰度值Z1和Z2,并求出新閾值T=(Z1+Z2)/D。若兩個(gè)平均灰度值不再變化,則T為閾值,否則重復(fù)上述階段。
針對(duì)曳引輪光照分布不均的情況,本文經(jīng)大量實(shí)驗(yàn)表明,除數(shù)因子D設(shè)置在4.50~6.50之間,對(duì)應(yīng)的閾值在60~20的范圍內(nèi),效果相對(duì)穩(wěn)定。本文采用高精度光照度計(jì)進(jìn)行光照條件的控制,其重復(fù)測(cè)量誤差為±2%,量程為 0~20 000 lx。以中間槽為被測(cè)對(duì)象,在最佳的光照14 512 lx條件下進(jìn)行手動(dòng)采樣,將步長(zhǎng)設(shè)為0.1,以最小二乘法擬合下邊界[14],實(shí)驗(yàn)數(shù)據(jù)的擬合結(jié)果如圖10所示。
圖10 閾值控制參數(shù)D和最小平方和R的對(duì)應(yīng)關(guān)系
為了有效消除干擾光對(duì)目標(biāo)輪廓的影響,實(shí)現(xiàn)最佳閾值的自動(dòng)搜索,采用模擬退火算法[15]。在經(jīng)驗(yàn)閾值范圍Ti∈(T1,Tn)(i=1,2,···,n)內(nèi),其中T1和Tn代表經(jīng)驗(yàn)范圍內(nèi)閾值的上下邊界,調(diào)整閾值Ti,利用最小平方和擬合下邊界坐標(biāo)點(diǎn),得到閾值為T(mén)i時(shí)最小平方和RTi:
式中:xi——在當(dāng)前閾值T時(shí),下邊界像素的x軸坐標(biāo);
φ(xi)——在閾值T時(shí)擬合下邊界得到的函數(shù),即理論上y軸坐標(biāo),φ(xi)=k·xi+b(理想情況下k=0);
yi——當(dāng)前像素的實(shí)際y軸坐標(biāo);
δi——在當(dāng)前閾值時(shí),x軸坐標(biāo)xi對(duì)應(yīng)的函數(shù)值與實(shí)際值之差,δi=φ(xi)-yi;
RTi——在經(jīng)驗(yàn)閾值范圍Ti∈(T1,Tn)(i=1,2,···,n)內(nèi),計(jì)算最小平方和,并選擇值最小,即代價(jià)最小時(shí),當(dāng)前的損失函數(shù);
Ti——對(duì)應(yīng)的最佳閾值。
在經(jīng)驗(yàn)閾值范圍(T1,Tn)內(nèi),得到最小平方和集合(RT1,RTn)。采用模擬退火算法,加入擾動(dòng)因子x,計(jì)算出相應(yīng)的目標(biāo)函數(shù)。在自變量上增加隨機(jī)擾動(dòng)可以有效避免迭代結(jié)果陷入局部最優(yōu)解的情況。將優(yōu)化過(guò)程分為幾個(gè)階段,并確定每個(gè)階段的選擇標(biāo)準(zhǔn),使用Metropolis準(zhǔn)則來(lái)實(shí)現(xiàn)參數(shù)控制:
式中:p——接受新?tīng)顟B(tài)的概率;
Tp——當(dāng)前溫度;
xold——當(dāng)前可行解;
xnew——迭代更新的可能解。
如果E(xnew)<E(xold),xnew被直接接受,否則根據(jù)Metropolis準(zhǔn)則接受新解。
本系統(tǒng)的模擬退火環(huán)境是穩(wěn)定的,所以采用下式:
為了確保更大的退火速率,本文采用 λ=0.95。在光強(qiáng)度為14512 lx的條件下,使用Matlab 2019a對(duì)曳引輪圖像的線性擬合結(jié)果進(jìn)行理論分析。如表1所示,對(duì)同一個(gè)曳引輪的5個(gè)槽進(jìn)行手動(dòng)采樣與模擬退火算法對(duì)比實(shí)驗(yàn)。在100次迭代次數(shù)以內(nèi),損失函數(shù)值最終收斂,收斂值與手動(dòng)采樣得到的實(shí)際值基本匹配,證明了該算法的有效性,確定了最佳閾,實(shí)現(xiàn)下邊界的準(zhǔn)確提取。圖11為目標(biāo)槽算法收斂與上下邊界坐標(biāo)點(diǎn)擬合結(jié)果,此時(shí)除數(shù)因子D=5.75,閾值T=49,損失函數(shù)值R=1 015.02。
表1 算法收斂驗(yàn)證和手動(dòng)采樣對(duì)比
圖11 模擬退火算法閾值計(jì)算與邊界坐標(biāo)點(diǎn)擬合
由于曳引輪空間結(jié)構(gòu)狹小,曳引輪繩槽底部表面為曲面,相機(jī)在拍照時(shí)會(huì)出現(xiàn)繩槽底部對(duì)繩操間隙的遮擋,且無(wú)法避免。本文基于曳引輪物理結(jié)構(gòu)及幾何學(xué)知識(shí)進(jìn)行分析,建立遮擋補(bǔ)償模型,如圖12所示。
圖12 繩槽底部遮擋結(jié)構(gòu)
其中R為鋼絲繩外緣到曳引輪圓心距離,θ為繩槽對(duì)相機(jī)拍攝的遮擋長(zhǎng)度,r為繩槽底部到曳引輪圓心距離,Z為相機(jī)垂直方向物距,δ為繩槽槽底到鋼絲繩外緣間距,L為相機(jī)光心到鋼絲繩的距離,δ′為相機(jī)拍攝待測(cè)區(qū)域的可見(jiàn)長(zhǎng)度。
以曳引輪圓心為坐標(biāo)原點(diǎn)建立坐標(biāo)系,則相機(jī)受繩槽底部遮擋情況下拍攝待測(cè)區(qū)域的邊緣坐標(biāo)為(r+θ,0),相機(jī)光心坐標(biāo)(R-L,Z)。代入直線方程y=kx+b,設(shè)相機(jī)光心點(diǎn)與相機(jī)拍攝受遮擋點(diǎn)的連線上任意一點(diǎn)的坐標(biāo)為(x0,y0),則有
相機(jī)光心與接觸面極限可視點(diǎn)的連線到曳引輪圓心的距離為r,圓心到連線距離表達(dá)式為:
對(duì)于直徑400 mm曳引輪,曳引輪繩槽底部與圓心軸距離r=183.5 mm。在系統(tǒng)檢測(cè)過(guò)程中,相機(jī)光心到鋼絲繩距離L=21 mm,當(dāng)物距Z=300 mm時(shí),測(cè)量值與補(bǔ)償值之間公式為:
實(shí)際檢測(cè)過(guò)程中,為了抵消繩槽底部自身結(jié)構(gòu)對(duì)檢測(cè)結(jié)果的影響,根據(jù)實(shí)際物距和計(jì)算結(jié)果對(duì)測(cè)量值 δ′進(jìn)行補(bǔ)償,使最終計(jì)算結(jié)果趨近于繩槽間隙真實(shí)值 δ,實(shí)現(xiàn)繩槽磨損值的準(zhǔn)確檢測(cè)。
為了驗(yàn)證檢測(cè)系統(tǒng)誤差,使用準(zhǔn)確度為0.01 mm的高精度數(shù)字顯示游標(biāo)卡尺進(jìn)行實(shí)驗(yàn)。游標(biāo)卡尺的外部測(cè)量鉗口間隙用于模擬檢測(cè)的凹槽間隙,收集游標(biāo)卡尺的外部測(cè)量鉗口的圖像,測(cè)量系統(tǒng)的圖像處理算法用于確定工件的邊緣坐標(biāo),計(jì)算實(shí)際測(cè)量結(jié)果并與標(biāo)準(zhǔn)值進(jìn)行比較。
在實(shí)驗(yàn)中,相機(jī)的物距為300 mm,將游標(biāo)卡尺2~6 mm內(nèi)的7個(gè)值作為標(biāo)準(zhǔn)值,并對(duì)每個(gè)測(cè)量點(diǎn)采集10次圖像進(jìn)行非接觸式測(cè)量。如表2所示,檢測(cè)系統(tǒng)的間隙測(cè)量結(jié)果的最大均方根誤差為0.05 mm,相對(duì)誤差不超過(guò)±0.71%,滿足系統(tǒng)的誤差要求。
針對(duì)電梯曳引輪繩槽磨損的檢測(cè)情況,在分析目前電梯曳引輪磨損檢測(cè)方法的基礎(chǔ)上,提出了一種基于機(jī)器視覺(jué)的電梯曳引輪磨損檢測(cè)系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了非接觸式測(cè)量,具有一定的應(yīng)用價(jià)值。為了實(shí)現(xiàn)目標(biāo)輪廓的精確匹配,采用不變矩和特征向量的融合匹配算法。為了消除光照的影響,實(shí)現(xiàn)最佳閾值的自動(dòng)調(diào)整,采用模擬退火算法在經(jīng)驗(yàn)范圍內(nèi)求解擬合函數(shù)的最佳值,得到對(duì)應(yīng)的最佳閾值。通過(guò)理論模型對(duì)曳引輪槽間隙圖像的遮擋部分進(jìn)行分析,實(shí)現(xiàn)對(duì)計(jì)算值的補(bǔ)償。實(shí)驗(yàn)結(jié)果表明,曳引輪磨損檢測(cè)系統(tǒng)能夠準(zhǔn)確計(jì)算出曳引輪槽的磨損量。在2~6 mm的繩槽磨損范圍內(nèi),檢測(cè)系統(tǒng)測(cè)量結(jié)果的均方根誤差小于0.05 mm,相對(duì)誤差小于±0.71%。