穆莉莉, 汪晨燦, 儲(chǔ) 匯, 宋 陳
(安徽理工大學(xué) 機(jī)械工程學(xué)院, 安徽 淮南 232001)
國(guó)內(nèi)外樓宇或家庭車庫(kù)卷閘門(mén)一般采用射頻或攝像頭識(shí)別車牌,手動(dòng)遙控卷閘門(mén)的啟?;蜃詣?dòng)啟停,但目前多數(shù)不能實(shí)時(shí)監(jiān)控卷閘門(mén)的開(kāi)度,即不能實(shí)時(shí)監(jiān)控位移狀態(tài)并進(jìn)行遠(yuǎn)程客戶端控制。根據(jù)市場(chǎng)跟蹤與調(diào)研,用戶提出了非接觸位移監(jiān)控系統(tǒng)的迫切需求,由于卷閘門(mén)提升電機(jī)為密封件,不可拆裝,無(wú)法安裝位移傳感器,傳統(tǒng)的位移檢測(cè)方法無(wú)法采用,結(jié)合國(guó)外客戶需求提出一種基于IPC攝像頭的位移實(shí)時(shí)檢測(cè)系統(tǒng)。由于卷閘門(mén)開(kāi)啟為全天候環(huán)境,白天強(qiáng)光、夜晚弱光或黑暗,甚至霧天、雨天、障礙物等對(duì)圖像造成極大的影響,對(duì)圖像位移跟蹤算法的穩(wěn)定性和識(shí)別精度提出了極高的要求。本文針對(duì)光照、障礙物等干擾環(huán)境下的標(biāo)簽選擇、圖像處理、標(biāo)簽捕捉與跟蹤等圖像算法進(jìn)行了研究。
卷閘門(mén)一般為灰色或白色,邊緣和內(nèi)部均沒(méi)有清晰的特征點(diǎn),在門(mén)不被破壞性處理?xiàng)l件下,本文通過(guò)設(shè)計(jì)一種特殊標(biāo)簽作為特征點(diǎn)進(jìn)行標(biāo)記。標(biāo)簽材質(zhì)的選取要考慮光線對(duì)其影響,弱光、強(qiáng)光或者黑暗狀態(tài)下都能夠保持可追蹤性,同時(shí)還要考慮其他顏色對(duì)標(biāo)簽識(shí)別的干擾。針對(duì)不同光照條件下各種標(biāo)記物的捕獲特性,選用對(duì)光線的吸收效果好帶有顆粒的純黑色標(biāo)記物,避免了反射、折射等不利影響,以保證圖象質(zhì)量最佳。IPC攝像機(jī)和黑色標(biāo)簽安裝結(jié)構(gòu)如圖1所示。
圖1 IPC攝像機(jī)和黑色標(biāo)簽安裝結(jié)構(gòu)
標(biāo)簽的識(shí)別追蹤分別經(jīng)過(guò)灰度圖像轉(zhuǎn)化、高斯模糊、二值化、腐蝕、膨脹等幾個(gè)預(yù)處理步驟,最后再對(duì)帶有特征信息的物體進(jìn)行追蹤,圖像預(yù)處理步驟如圖2所示。
(a)灰度轉(zhuǎn)換 (b)高斯模糊 (c)腐蝕 (d)膨脹
捕捉到的第一幀圖像為彩色圖像,處理計(jì)算量較大,首先進(jìn)行灰度轉(zhuǎn)化,然后進(jìn)行高斯模糊進(jìn)一步降低對(duì)比度,使灰度像素過(guò)渡更加平穩(wěn)。為減少數(shù)據(jù)維度,排除原圖中噪聲帶來(lái)的干擾凸顯有效區(qū)域的輪廓范圍,使圖像呈現(xiàn)明顯的黑白效果。本文采用了全局固定閾值函數(shù)來(lái)實(shí)現(xiàn)圖像的二值化處理,設(shè)置RGB全局閾值T,圖像中所有像素點(diǎn)統(tǒng)一使用同一個(gè)固定閾值。使用一維Means方法尋找二值化閾值:
(1)
式中:f(x,y)為圖像RGB值;g(x,y)為處理后的灰度值[1-3]。
腐蝕膨脹在圖像處理中的主要作用是消除噪聲分割出獨(dú)立的圖像元素,在圖像中連接相鄰的元素。膨脹尋找圖像中明顯的極大值區(qū)域,腐蝕尋找圖像中明顯的極小值區(qū)域,求出圖像的梯度[4]。標(biāo)簽為純黑色,在進(jìn)行腐蝕膨脹時(shí)先進(jìn)行灰度翻轉(zhuǎn),變?yōu)榘咨吡?,如圖2(c)和圖2(d)所示。
KCF(Kernel Correlation Filter)追蹤器采用核相關(guān)濾波算法[5],無(wú)論是在跟蹤效果還是跟蹤速度上表現(xiàn)都十分出色。本文選用KCF追蹤器進(jìn)行標(biāo)簽追蹤。KCF追蹤算法利用目標(biāo)函數(shù)f(z)=ωTz求最小化采樣數(shù)據(jù)與下一幀真實(shí)目標(biāo)位置的距離[6]:
(2)
對(duì)式(2)求解并引入高斯函數(shù)φ(x)核函數(shù)[7],將ω的解轉(zhuǎn)化為高維權(quán)值得到:
(3)
式中:Kxx表示核矩陣的第一行元素;^表示矩陣的傅里葉變化。
利用采樣樣本與訓(xùn)練相似樣本的核矩陣將二者做相關(guān)操作得到頻域中響應(yīng)值為:
(4)
再通過(guò)傅里葉反變化將式(4)轉(zhuǎn)化到時(shí)域中找到最大值。KCF算法通過(guò)對(duì)模板更新實(shí)現(xiàn)對(duì)目標(biāo)的追蹤:
(5)
式中:β為學(xué)習(xí)因子[8]。
為進(jìn)行標(biāo)簽的精確捕捉與追蹤,對(duì)圖像進(jìn)行抗干擾處理。系統(tǒng)首先獲取標(biāo)簽初始位置在空間坐標(biāo)中的定位A和B角點(diǎn)坐標(biāo)分別為A(x,y)和B(x+w,y+h)。標(biāo)簽的初始坐標(biāo)及運(yùn)動(dòng)坐標(biāo)如圖3所示。
圖3 標(biāo)簽的初始坐標(biāo)及運(yùn)動(dòng)坐標(biāo)
設(shè)位移圖像上所測(cè)標(biāo)簽位移為△H,基于線性放大原理,計(jì)算得出物體的實(shí)際位移。
(6)
式中:h為圖像標(biāo)簽的高度;H為實(shí)際標(biāo)簽高度。
進(jìn)行抗干擾處理前,對(duì)圖像進(jìn)行了裁切處理。對(duì)原圖像左邊裁切m下方裁切n,即以(m,n)為新的坐標(biāo)原點(diǎn)。設(shè)裁切處理后的標(biāo)簽左下角坐標(biāo)為A(x,y),將坐標(biāo)軸還原到原坐標(biāo)中,如圖4所示。
圖4 坐標(biāo)轉(zhuǎn)化
因坐標(biāo)系不同需首先進(jìn)行坐標(biāo)轉(zhuǎn)換,即坐標(biāo)補(bǔ)償原點(diǎn)O1在原坐標(biāo)軸中的坐標(biāo)為(m,n),A(x,y)點(diǎn)還原到原坐標(biāo)中坐標(biāo)進(jìn)行補(bǔ)償應(yīng)為A(x+m,y+n)。同理應(yīng)用到所有的坐標(biāo)轉(zhuǎn)化中。
基于KCF追蹤器構(gòu)建追蹤目標(biāo)實(shí)時(shí)監(jiān)測(cè)系統(tǒng),系統(tǒng)程序結(jié)構(gòu)框圖如圖5所示。系統(tǒng)內(nèi)部設(shè)置KCF追蹤器,打開(kāi)系統(tǒng)檢測(cè)攝像機(jī)是否開(kāi)啟并獲取第一幀圖像,對(duì)捕捉到的第一幀圖像進(jìn)行圖像預(yù)處理。系統(tǒng)對(duì)預(yù)處理后的圖像進(jìn)行邊緣檢測(cè),圖像邊緣信息主要集中在高頻段,圖像銳化或檢測(cè)邊緣實(shí)質(zhì)就是高頻濾波,微分運(yùn)算是求信號(hào)的變化率,具有加強(qiáng)高頻分量的作用[9],由于數(shù)字圖像為離散信號(hào),微分運(yùn)算就變成計(jì)算差分或梯度[10]。圖像處理中有多種邊緣檢測(cè)(梯度)算子,本文選用Canny邊緣檢測(cè)算子,相比普通的梯度算法,Canny算子抑制了噪聲引起的偽邊緣且邊緣細(xì)化便于后續(xù)的畫(huà)框處理[11-12]。KCF追蹤器利用對(duì)模板的不斷更新實(shí)現(xiàn)對(duì)目標(biāo)持續(xù)追蹤并對(duì)坐標(biāo)位置不斷更新,計(jì)算得到提升機(jī)的實(shí)際位移并進(jìn)行遠(yuǎn)程傳輸。
圖5 系統(tǒng)程序結(jié)構(gòu)圖
基于Python3和OpenCV-3.4.1.15構(gòu)建物體追蹤位移系統(tǒng),針對(duì)不同光照環(huán)境、環(huán)境中的干擾物體及攝像機(jī)位置進(jìn)行了追蹤實(shí)驗(yàn)與位移監(jiān)測(cè)。實(shí)際卷閘門(mén)標(biāo)簽實(shí)驗(yàn)場(chǎng)景如圖6所示。
圖6 實(shí)際卷閘門(mén)標(biāo)簽實(shí)驗(yàn)場(chǎng)景圖
選用90 mm × 90 mm規(guī)格帶有純黑色啞光顆粒標(biāo)簽作為目標(biāo)標(biāo)簽,選取紅外攝像機(jī)為型號(hào)850清晰度為1 080 p,具有紅外補(bǔ)光特性。進(jìn)行了若干組實(shí)驗(yàn),設(shè)置了不同的光照強(qiáng)度下的標(biāo)簽顏色閾值,如表1所示。
表1 不同光照條件下的顏色閾值
卷閘門(mén)開(kāi)啟后,外部存在各種物體形成特征點(diǎn),濾除不同顏色噪聲后,系統(tǒng)對(duì)不同大小的干擾物體進(jìn)行濾波。針對(duì)實(shí)際標(biāo)簽大小選用核為3×3進(jìn)行腐蝕膨脹操作,為最大程度上濾除噪聲,達(dá)到最佳捕獲效果,本文通過(guò)多次對(duì)圖像進(jìn)行腐蝕操作將圖像中閾值選取范圍內(nèi)未能進(jìn)行濾除的噪聲進(jìn)行濾波處理。通過(guò)腐蝕膨脹次數(shù)的調(diào)整可以更好地去除噪聲,更加精準(zhǔn)地對(duì)標(biāo)簽進(jìn)行捕捉得到更精確的位移數(shù)據(jù)。經(jīng)過(guò)不同次數(shù)的腐蝕膨脹后的二值圖像如圖5所示。最終利用邊緣檢測(cè)算法捕捉目標(biāo)標(biāo)簽。
(a)灰度圖 (b)3次腐蝕
(c)15次腐蝕 (d)15次膨脹
不同光照條件下提升機(jī)標(biāo)簽捕捉情況如圖8所示,夜晚照度約為0 lx,白天正常光照約在100 lx,卷閘門(mén)打開(kāi)強(qiáng)光約在1 000 lx。不同光照條件下,不同的干擾標(biāo)簽系統(tǒng)都能精準(zhǔn)捕捉到。
(a)0~1 lx(夜晚) (c)500 lx
(b)100 lx (d)1 000 lx
攝像頭與運(yùn)動(dòng)物體之間的距離對(duì)測(cè)量結(jié)果影響較大,如圖9、圖10所示。由于攝像頭的拍攝畫(huà)面受攝像頭的焦距的影響,距離會(huì)影響標(biāo)簽的捕捉精度。當(dāng)攝像頭在同一高度時(shí)標(biāo)簽與攝像頭的水平距離會(huì)影響系統(tǒng)的測(cè)量精度,同時(shí)攝像頭的安裝高度也會(huì)影響測(cè)量的精度。白天和夜晚環(huán)境下卷閘門(mén)運(yùn)行1 m行程的測(cè)量誤差分別為表2和表3所示。
圖9 白天環(huán)境下的距離對(duì)測(cè)量結(jié)果的影響圖10 黑夜環(huán)境下的距離對(duì)測(cè)量結(jié)果的影響
表2 白天物體位移1 m位移測(cè)量平均誤差 單位:%
表3 夜晚物體位移1 m位移測(cè)量平均誤差 單位:%
綜上,實(shí)際系統(tǒng)中選用90 mm × 90 mm規(guī)格的純黑色顆粒標(biāo)簽作為目標(biāo)標(biāo)簽,安裝于卷閘門(mén)底部居中位置,攝像機(jī)安裝在4.5 m × 2.5 m(高×長(zhǎng))位置最佳。
針對(duì)物體追蹤問(wèn)題,利用了OpenCV視覺(jué)庫(kù)中的KCF追蹤器對(duì)物體進(jìn)行實(shí)時(shí)追蹤將其與位移算法相結(jié)合,基于單目相機(jī)提出一種針對(duì)卷閘門(mén)運(yùn)作過(guò)程實(shí)時(shí)位移監(jiān)測(cè)的物體追蹤位移監(jiān)測(cè)系統(tǒng)。設(shè)計(jì)的物體位移監(jiān)測(cè)系統(tǒng)可適用井下采煤機(jī)等機(jī)器的實(shí)時(shí)位移監(jiān)測(cè)方便對(duì)井下實(shí)時(shí)工作狀況的了解。