王成辰,王小丫,郭乃宏,周 鋒,王如剛
(1. 鹽城工學(xué)院 信息工程學(xué)院, 江蘇 鹽城 224051;2. 鹽城雄鷹精密機(jī)械有限公司,江蘇 鹽城 224006)
直線傳送帶具有傳輸距離長,連續(xù)輸送能力高,可重構(gòu)性強(qiáng)等優(yōu)點(diǎn),因此在工業(yè)生產(chǎn)中應(yīng)用十分廣泛。但由于傳送帶大部分以摩擦力帶動(dòng)運(yùn)輸,很容易發(fā)生打滑以及偏移的問題,傳送帶的偏移會(huì)加速托輥和帶的磨損[1],降低運(yùn)輸效率,嚴(yán)重時(shí)會(huì)引發(fā)安全事故[2],所以對(duì)傳送帶實(shí)時(shí)偏移檢測具有重大現(xiàn)實(shí)意義。針對(duì)傳送帶不同種類和應(yīng)用場景,目前國內(nèi)外對(duì)于傳送帶不良現(xiàn)象的檢測方法最主要是機(jī)器視覺檢測、超聲波檢測、電磁檢測以及X射線檢測法等[3]。超聲波檢測是裝置接收超聲波發(fā)射系統(tǒng)發(fā)射的超聲波,在對(duì)其進(jìn)行濾波去噪等處理后,根據(jù)前后的波形對(duì)比判斷傳送帶的情況[4],該方法對(duì)環(huán)境要求較高,不易得到穩(wěn)定的回波。電磁檢測和X射線檢測各是通過電磁感應(yīng)效應(yīng)和X射線的穿透性的原理完成檢測功能,電磁檢測對(duì)周圍電磁波很敏感,應(yīng)用于工業(yè)上需要各種措施保證抗干擾能力,X射線因其輻射性對(duì)操作人員健康造成影響,需要額外的保護(hù)裝置,所以實(shí)質(zhì)上這兩種方法的應(yīng)用都會(huì)大大增加裝置的成本[5]。隨著機(jī)器視覺技術(shù)的發(fā)展,利用機(jī)器視覺對(duì)傳送帶檢測的方法越來越普遍和高效,基于視覺技術(shù)對(duì)物品輪廓和表面的檢測早有研究,現(xiàn)如今大量機(jī)器視覺檢測系統(tǒng)應(yīng)用于各種產(chǎn)品材料表面檢測包括:半導(dǎo)體器件、機(jī)械零件、鋼架結(jié)構(gòu)、紡織品、建筑表面、焊縫等[6]。隨著成像的清晰度越來越高,圖像處理算法的不斷開發(fā),機(jī)器視覺技術(shù)正在成為主流的檢測技術(shù)。
國內(nèi)實(shí)現(xiàn)傳送帶檢測的方法主要集中在工人的定期檢測以及機(jī)器視覺檢測等方法上,其中人工檢測及糾正的方法通過工人定期檢測配合裝置物理限制的方法對(duì)傳送帶進(jìn)行檢測和糾正。2018年,王來平等研究人員采用機(jī)器視覺技術(shù)設(shè)計(jì)了一種傳送帶跑偏自動(dòng)糾正系統(tǒng),提高了跑偏糾正精度同時(shí)也使得工作效率大大提高[7]。2020年,楊林順等研究人員,提出了一種基于導(dǎo)向?yàn)V波和最大類間方差法的改進(jìn)型Canny算子邊緣檢測方法,并利用Hough變換提取到邊緣直線特征并進(jìn)行分析處理,最終實(shí)現(xiàn)了對(duì)輸送帶跑偏故障的在線檢測和分級(jí)故障報(bào)警[8]?;跈C(jī)器視覺的檢測系統(tǒng)主要是通過分析圖像傳感器采集到的實(shí)時(shí)圖像來判定是否發(fā)生偏移。機(jī)器視覺在偏移檢測系統(tǒng)中的使用,提高了檢測系統(tǒng)的精度和穩(wěn)定性[9],從現(xiàn)有研究成果可以看出,研究人員做了較多有益的工作,且基于機(jī)器視覺的檢測方法相比于人工檢測的方法具有更高的精度和效率[10-12]。為了進(jìn)一步解決送料傳送帶在運(yùn)行過程中發(fā)生的橫向偏移和縱向偏移所導(dǎo)致的材料傳送帶運(yùn)輸位置精度問題,本文在現(xiàn)有的機(jī)器視覺檢測的基礎(chǔ)上,設(shè)計(jì)一種基于改進(jìn)的Hough直線檢測算法的機(jī)器視覺傳送帶偏移檢測系統(tǒng),本系統(tǒng)將采用FPGA作為處理單元,對(duì)CMOS圖像傳感器拍攝的實(shí)際傳送帶圖像進(jìn)行濾波,邊緣檢測,二值化等圖像的預(yù)處理,利用以太網(wǎng)傳輸方式把預(yù)處理后的圖像信息傳送給上位機(jī),在上位機(jī)中進(jìn)行Hough直線檢測算法處理,獲得傳送帶的偏移狀態(tài)。
膠質(zhì)傳送帶依靠的是帶與滾筒之間的摩擦力實(shí)現(xiàn)物料的運(yùn)輸,經(jīng)過一段時(shí)間的使用,各部件之間的配合不足和零件磨損將會(huì)導(dǎo)致傳送帶出現(xiàn)偏移等現(xiàn)象,圖1為傳送帶傾斜偏移示意圖。其中力F為傳送帶受到的牽引力,牽引力F分解為托輥轉(zhuǎn)動(dòng)的力F1和橫向分力F2,橫向力F2給托輥橫向竄動(dòng)的趨勢(shì),所以傳送帶會(huì)受到一個(gè)與之相反的橫向力,從而導(dǎo)致傳送帶朝另一側(cè)跑偏。導(dǎo)致傳送帶跑偏的原因主要包括:傳送帶本身存在質(zhì)量問題,即傳送帶平整度和帶的張緊度不一致會(huì)導(dǎo)致兩邊所受的牽引力不同,從而使傳送帶向牽引力較弱的一側(cè)偏移;當(dāng)滾筒質(zhì)量存在問題時(shí),滾筒的中心與轉(zhuǎn)軸的中心線未重合,此時(shí)滾筒的傾斜將導(dǎo)致滾筒兩邊的張緊程度不一致,在傳動(dòng)帶橫向方向每段收到的牽引力大小向滾筒偏移中心遞增;傳送帶在傳送過程中會(huì)粘帶一些雜物遺留在托輥上,導(dǎo)致傳送帶兩邊受力不一致,此外,若傳送帶輸送的載荷較大也會(huì)造成傳送帶受力不均勻,導(dǎo)致傳送帶向一側(cè)偏移。通過以上分析可以看出,傳送帶偏移的主要包含兩個(gè)方面:一方面是傳送帶兩邊受到的牽引力大小不同,另一方面是滾筒傾斜對(duì)傳送帶產(chǎn)生的額外推力。因此,傳送帶跑偏原因綜合為縱向傾斜偏移和橫向的扭轉(zhuǎn)跑偏。
圖1 傳送帶的縱向傾斜偏移
針對(duì)這兩種偏移的特性,傳送帶偏移檢測技術(shù)如圖2所示,為了減少數(shù)據(jù)運(yùn)算量及其他圖像元素的干擾,對(duì)待測傳送帶的二值圖像數(shù)據(jù)進(jìn)行感興趣區(qū)域(ROI)劃分,對(duì)劃分后的區(qū)域數(shù)據(jù)分別建立X和Y坐標(biāo)計(jì)數(shù)器,建立的兩個(gè)坐標(biāo)計(jì)數(shù)器分別對(duì)行列像素進(jìn)行計(jì)數(shù)從而得到像素的坐標(biāo)值,經(jīng)過對(duì)X坐標(biāo)計(jì)數(shù)器和感興趣區(qū)域數(shù)據(jù)進(jìn)行多次采樣獲得平均行坐標(biāo)的邊緣信息,并與傳送帶實(shí)時(shí)邊緣位置進(jìn)行對(duì)比分析,以便獲取傳送帶的橫向偏移信息;對(duì)從Y坐標(biāo)計(jì)數(shù)器的值進(jìn)行累加操作獲得垂直投影信息,如果垂直投影后的位置發(fā)生變化,且與之前采樣的位置不同,即可以判斷為發(fā)生扭轉(zhuǎn)或者橫向偏移,垂直投影部分和邊緣累加器的作用就是實(shí)時(shí)判斷傳送帶橫向位置。從Y坐標(biāo)計(jì)數(shù)器輸出的信號(hào)作為縱向偏移檢測分量信息,先用Hough直線檢測算法檢測出傳送帶的邊緣直線,根據(jù)檢測結(jié)果判斷是否需要進(jìn)行擬合,獲得擬合直線的傾角,并與設(shè)置的閾值進(jìn)行比較判斷出是否發(fā)生傾斜。
圖2 偏移檢測算法框圖
傳送帶縱向偏移檢測利用Hough變換加最小二乘法回歸曲線的方式檢測出傳送帶邊緣直線,將計(jì)算出來的斜率與設(shè)定的傾斜角度相比較即可判斷是否發(fā)生了偏移。標(biāo)準(zhǔn)Hough變換利用對(duì)偶性原理,采用直線的極坐標(biāo)形式可以檢測全部的直線,空間坐標(biāo)方程轉(zhuǎn)化為極坐標(biāo)方程如式(1)所示。
y=kx+b?ρ=xcosθ+ysinθ
(1)
其中:ρ代表Hough中點(diǎn)到中心的距離,θ為點(diǎn)在Hough空間中投影出的線段與坐標(biāo)軸的角度。
為了實(shí)現(xiàn)對(duì)傳送帶實(shí)時(shí)檢測,采用改進(jìn)的Hough變換算法(PHT),選取感興趣區(qū)域(ROI)邊緣點(diǎn)。改進(jìn)的算法分為以下幾個(gè)步驟:1) 建立ROI感興趣區(qū)域,和設(shè)定一定范圍的ρ和θ,特別檢測指定區(qū)域規(guī)定角度范圍內(nèi)的直線;2) 隨機(jī)選取一個(gè)邊緣點(diǎn),建立極坐標(biāo)系統(tǒng),獲得邊緣點(diǎn)的直線簇;3) 在邊緣點(diǎn)處利用Hough變換,累加求和;4) 遍歷Hough空間選取最大值的點(diǎn),判斷該點(diǎn)是否大于閾值。若該點(diǎn)大于閾值則進(jìn)入下一步,否則返回第一步;5) 從Hough空間得到的最大點(diǎn)開始,沿著直線方位找到直線的起始點(diǎn)和終點(diǎn);6) 計(jì)算出直線的長度,如果大于閾值則該直線可以輸出。
二值圖像經(jīng)過Hough空間變換得到想要的邊緣直線,由于可能因?yàn)橥獠康脑胍?、圖像采集和邊緣提取算法的原因,實(shí)際上傳送帶圖像的二值化圖像中的傳送帶邊緣并不是平滑的直線,甚至?xí)霈F(xiàn)不連續(xù)的現(xiàn)象。所以,在Hough變換的直線提取之后在增加一個(gè)最小二乘法的直線擬合[13],進(jìn)一步獲得完整精確直線,計(jì)算最小二乘法擬合后直線的斜率并與設(shè)置好的角度閾值進(jìn)行對(duì)比,進(jìn)而判斷是否發(fā)生縱向的跑偏。
圖3 像素垂直投影
圖4 Hough變換直線檢測圖
實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)框圖如圖5所示,實(shí)驗(yàn)系統(tǒng)包含圖像采集單元、圖像處理單元、圖像緩存單元、以太網(wǎng)傳輸單元、上位機(jī)處理及顯示單元。系統(tǒng)采用的是Altera公司的Cyclone系列EP4CE10F17C8N芯片為核心設(shè)計(jì)的FPGA開發(fā)板,開發(fā)環(huán)境為Quartus II 13.1,使用硬件描述語言Verilog HDL。圖像傳感器選用的是Omni Vision公司生產(chǎn)的OV5 640圖像傳感器,該傳感器可以調(diào)整輸入分辨率以適應(yīng)不同應(yīng)用場景,最大可以通過數(shù)字視頻接口輸出30幀/秒的1 080p彩色高清視頻,采集到的視頻數(shù)據(jù)發(fā)送給數(shù)據(jù)轉(zhuǎn)換模塊,可使用IIC總線協(xié)議對(duì)其內(nèi)部寄存器進(jìn)行配置以改變采集圖像的分辨率。從數(shù)據(jù)轉(zhuǎn)換模塊輸出的信號(hào)進(jìn)入圖像處理單元,該單元包括灰度轉(zhuǎn)換、中值濾波和Sobel邊緣檢測;為了解決圖像數(shù)據(jù)在FPGA與SDRAM之間互相傳輸時(shí)產(chǎn)生的跨時(shí)鐘問題,設(shè)計(jì)了讀寫FIFO模塊,SDRAM讀寫控制器模塊負(fù)責(zé)驅(qū)動(dòng)SDRAM片外存儲(chǔ)器,內(nèi)部采用兩個(gè)數(shù)據(jù)緩存BANK,數(shù)據(jù)的傳送實(shí)行乒乓操作,數(shù)據(jù)進(jìn)入SDRAM控住器,交替送往兩個(gè)緩存BANK,各緩存單元對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,同樣,輸出數(shù)據(jù)時(shí)也是兩個(gè)緩存部分交替進(jìn)行。以太網(wǎng)傳輸單元主要由圖像數(shù)據(jù)封裝、UDP頂層模塊構(gòu)成。圖像數(shù)據(jù)封裝負(fù)責(zé)從SDRAM中的數(shù)據(jù)輸出模塊讀取16位的圖像數(shù)據(jù),并轉(zhuǎn)換成以太網(wǎng)發(fā)送模塊方便調(diào)用的32位數(shù)據(jù)。UDP模塊實(shí)現(xiàn)以太網(wǎng)通信的收發(fā)功能,該模塊內(nèi)部集成了以太網(wǎng)接收模塊、以太網(wǎng)發(fā)送模塊和CRC32校驗(yàn)?zāi)K,為了提高收發(fā)效率,把三個(gè)模塊封裝成一個(gè)UDP頂層模塊。
圖5 系統(tǒng)框圖
在FPGA硬件平臺(tái)上進(jìn)行所設(shè)計(jì)的算法實(shí)現(xiàn)時(shí),按照平臺(tái)的資源合理規(guī)劃圖像傳輸通道和處理過程,設(shè)計(jì)的算法處理模塊可以同時(shí)進(jìn)行相應(yīng)的處理。根據(jù)板卡資源設(shè)計(jì)系統(tǒng)的實(shí)現(xiàn)方式,得益于FPGA流水線操作和并行處理的特點(diǎn),系統(tǒng)各部分并行進(jìn)行高速的圖像處理[14-15],由于Hough直線檢測占用硬件資源很大,現(xiàn)有板卡資源無法完成,所以偏移算法部分使用以太網(wǎng)傳輸技術(shù),將FPGA處理好的圖像數(shù)據(jù)傳送到PC機(jī),使用MATLAB軟件完成偏移算法的仿真。FPGA進(jìn)行圖像的灰度轉(zhuǎn)化、濾波、邊緣檢測、二值化等處理。
1)圖像數(shù)據(jù)格式轉(zhuǎn)換:
攝像頭采集到的數(shù)據(jù)為彩色RBG圖像,如果直接使用彩色圖像,會(huì)占用大量的硬件資源,所有首先對(duì)圖像進(jìn)行灰度處理。以下算法實(shí)現(xiàn)彩色圖到灰度圖的變換,將圖像從24位真彩色圖像(RGB888)轉(zhuǎn)換成8位的灰度圖像。為了避免實(shí)現(xiàn)浮點(diǎn)運(yùn)算和資源消耗,采用的轉(zhuǎn)換方法可以用式(2)表示為[16]:
(2)
其中:R、G、B分別表示為紅、綠、藍(lán)信號(hào),Y、Cb、Cr分別表示為YUV中的亮度、色調(diào)以及飽和度,實(shí)現(xiàn)待測圖像格式轉(zhuǎn)換過程需要將式(1)中的Y、Cb、Cr右移8位,舍棄信號(hào)中的Cb、Cr分量,保留Y信號(hào)分量,得到8比特灰度圖像。
2)灰度圖像濾波處理:
為了有效地降低噪聲,需要對(duì)圖像進(jìn)行濾波處理,該部分選取3×3的卷積核做中值濾波處理,在3×3窗口圖像數(shù)據(jù)中獲取中值[17]。在邏輯設(shè)計(jì)過程中,采用兩個(gè)行緩存來暫存前兩行數(shù)據(jù),使用3×3窗口獲取鄰域中的9個(gè)像素,其排序比較算法的核心過程如圖6所示:(1)對(duì)每行的3個(gè)像素進(jìn)行排序,得到最大值(MAX)、中值(MID)、最小值(MID);(2)比較3行中每行的最大值,獲取3個(gè)最大值中的最小值(MAX_MIN);(3)比較3行中每行的最小值,獲取3個(gè)最小值中的最大值(MIN_MAX);(4)比較3行中每行的中值,獲取3個(gè)中值中的中間值(MID_MID);(5)將(2) ~ (4)獲取的值送入下一級(jí)的比較器,獲取中值(mid_mid)。
圖6 獲取3×3窗口中值
3)邊緣檢測:
傳統(tǒng)的Sobel算子僅對(duì)水平和垂直方向上的模板算子進(jìn)行梯度計(jì)算,若待測圖像的像素點(diǎn)在其他方向上的幅值比較高,而水平和垂直方向合成的梯度幅值比較低,那么此像素點(diǎn)將不會(huì)被判別為邊緣點(diǎn)。因此,這將導(dǎo)致待測圖像的邊緣點(diǎn)檢測不準(zhǔn)確。為了提高待測圖像邊緣信息的準(zhǔn)確度,在傳統(tǒng)Sobel算子的基礎(chǔ)上增加450和1350方向上算子[18]。圖7為經(jīng)過傳送帶圖像經(jīng)過邊緣檢測后的圖像,可以看出,該方法可以準(zhǔn)確地定位邊緣點(diǎn)且圖像信息較為完整和立體。
圖7 Sobel邊緣檢測后圖像
4)感興趣區(qū)域建立:
感興趣區(qū)域的建立是為了對(duì)采集到圖像進(jìn)行分割提取,將圖像中背景和其他干擾因素去除,重點(diǎn)突出算法檢測區(qū)域的圖像。建立感興趣區(qū)域(ROI),有助于突出檢測區(qū)域,加快圖像處理的速度和準(zhǔn)確度。跑偏算法的檢測重點(diǎn)是在傳送帶的兩個(gè)邊緣處,實(shí)際加工場景的圖像中不可能只有傳送帶,所以對(duì)于跑偏算法中的感興趣區(qū)域設(shè)定范圍以出傳送帶的邊界為ROI區(qū)域的中心區(qū)域,ROI區(qū)域的左右邊界取傳送帶邊緣周圍輻射的一點(diǎn)區(qū)域,具體選擇范圍根據(jù)需要檢測的精度和攝像頭的分辨率決定。傳送帶的膠帶是一個(gè)整體,如果發(fā)生跑偏的現(xiàn)象會(huì)反應(yīng)在整條帶上,所以為了進(jìn)行一步減少檢測范圍,可以只將傳送帶的一段作為檢測對(duì)象。本文中的跑偏檢測系統(tǒng)設(shè)計(jì)成固定的攝像頭的圖像采集,傳送帶裝置是固定不動(dòng)的,設(shè)定感興趣區(qū)域也只需對(duì)圖片進(jìn)行區(qū)域劃分和提取即可??紤]到相機(jī)畸變效果會(huì)使得攝像頭中的景物的邊緣扭曲而影響檢測算法的判斷,所以將攝像機(jī)頭的中心對(duì)準(zhǔn)傳送帶的一條邊,并結(jié)合相機(jī)標(biāo)定的參數(shù),糾正圖像的畸變狀況。如圖8是感興趣區(qū)域的提取示意圖,xm,xn代表的是ROI區(qū)域的行像素邊界,ym,yn則是ROI區(qū)域的縱像素邊界,圖中的較小陰影區(qū)域就是具體的感興趣區(qū)域,顯然只要以區(qū)域四角的坐標(biāo)提取出相應(yīng)的圖像區(qū)域,就可以完成圖像的感興趣區(qū)域設(shè)定。
圖8 感興趣區(qū)域劃分
5)以太網(wǎng)傳輸:
以本文中采用的以太網(wǎng)協(xié)議是UDP協(xié)議,UDP協(xié)議是一種不可靠的傳輸方式,只是負(fù)責(zé)數(shù)據(jù)的傳輸,而不需要確定數(shù)據(jù)的接受方的接受情況[19]。但對(duì)于本次實(shí)驗(yàn)的情況,檢測系統(tǒng)可以允許一定的數(shù)據(jù)丟包和誤碼,使用UDP傳輸協(xié)議是較為適合本次實(shí)驗(yàn)的以太網(wǎng)傳輸操作的。
UDP協(xié)議是一種局域網(wǎng)絡(luò)傳輸協(xié)議,將流量打包進(jìn)行數(shù)據(jù)傳輸。打包的數(shù)據(jù)前8個(gè)byte用來存放UDP的報(bào)頭,其余byte位用來傳輸數(shù)據(jù)。協(xié)議中設(shè)置校驗(yàn)值對(duì)數(shù)據(jù)進(jìn)行對(duì)比校驗(yàn)確定傳輸正確。校驗(yàn)值在數(shù)據(jù)發(fā)送方進(jìn)行計(jì)算得出,同樣數(shù)據(jù)接收方也需要進(jìn)行再次計(jì)算獲得。比較特殊的一點(diǎn)是,UDP協(xié)議雖然也存在錯(cuò)誤檢測功能,但是檢測有誤的數(shù)據(jù)會(huì)直接被舍去而不進(jìn)行反饋和糾正。
發(fā)送模塊的發(fā)送順序是前導(dǎo)碼+幀起始界定符→以太網(wǎng)幀頭→IP首部→UDP首部→UDP數(shù)據(jù)(有效數(shù)據(jù))→CRC校驗(yàn)。輸入的有效數(shù)據(jù)為32位數(shù)據(jù),MII接口為4位數(shù)據(jù)接口,因此發(fā)送模塊實(shí)際上完成的是32位數(shù)據(jù)轉(zhuǎn)4位數(shù)據(jù)的功能。
接收模塊的解析順序是:前導(dǎo)碼+幀起始界定符→以太網(wǎng)幀頭→IP首部→UDP首部→UDP數(shù)據(jù)(有效數(shù)據(jù))→接收結(jié)束。MII接口數(shù)據(jù)為4位數(shù)據(jù),先把4位數(shù)據(jù)轉(zhuǎn)成8位數(shù)據(jù),IP數(shù)據(jù)報(bào)一般以32 bit為單位,為了和IP數(shù)據(jù)報(bào)格式保持一致,所以要把8位數(shù)據(jù)轉(zhuǎn)成32位數(shù)據(jù),因此接收模塊實(shí)際上是完成了4位數(shù)據(jù)轉(zhuǎn)32位數(shù)據(jù)的功能。
CRC32校驗(yàn)在FPGA實(shí)現(xiàn)的原理是LFSR(Linear Feedback Shift Register,線性反饋移位寄存器)[20],各個(gè)寄存器儲(chǔ)存上一次CRC32運(yùn)算的結(jié)果,寄存器的輸出即為CRC32的值。
為了分析系統(tǒng)的性能,對(duì)鹽城雄鷹精密機(jī)械有限公司生產(chǎn)的智能裁斷機(jī)中的傳送帶進(jìn)行實(shí)時(shí)檢測,圖9為采集到的傳送帶實(shí)物圖及FPGA處理后的邊緣圖像,從圖9(a)中可以看出,傳送帶為履帶式的直線傳送帶,從圖9(b)可以看出,傳送帶的邊緣信息非常清晰,可以作為偏移檢測的二值圖像進(jìn)行偏移分析。
圖9 采集到的傳送帶及FPGA處理后的邊緣圖像
橫向的檢測算法利用較為簡單的垂直投影法間接計(jì)算出傳送帶的邊緣位置,所以由于檢測實(shí)驗(yàn)背景和攝像頭精度的影響,計(jì)算出的數(shù)值會(huì)一定的數(shù)值誤差。通過對(duì)一定幀數(shù)的圖像進(jìn)行測試,估算出垂直投影的最大精度值在+8個(gè)像素。圖10為垂直投影法檢測邊緣位置分布情況,從圖中可以看出,傳送帶邊緣的位置在橫向561像素左右,最大位置波動(dòng)為第567和552像素位。
圖10 垂直投影法檢測邊緣位置分布
縱向跑偏算法的精度基本可以控制在0.5°以內(nèi),在對(duì)實(shí)際運(yùn)行正常的傳送帶邊緣直線角度檢測中,縱向跑偏檢測精度受檢測環(huán)境影響較橫向跑偏檢測要小。圖11是對(duì)傳送帶邊緣傾角采集的數(shù)據(jù)分布,紅色點(diǎn)是因?yàn)闄z測場景變化而浮動(dòng)較大的圖像幀數(shù),黑色點(diǎn)是檢測平穩(wěn)的幀數(shù),可以看出縱向傾角采集實(shí)驗(yàn)中,傾角的變化差值最大是0.245°,所以根據(jù)采集到的傾角進(jìn)行縱向跑偏檢測精度估算,其最大精度為0.245°。
圖11 傳送帶邊緣傾角采集
經(jīng)過以太網(wǎng)傳送到上位機(jī)的圖像如圖12所示,為了驗(yàn)證本次實(shí)驗(yàn)偏移檢測的實(shí)際效果,沒有將攝像頭放在兩根傳送帶的正中央,而是為了模擬傳送帶發(fā)生偏移的情況,將攝像頭的位置略微靠右,以造成傳送帶左側(cè)偏移的效果。
圖12 檢測出的傳送帶邊緣
根據(jù)攝像頭拍攝的圖像設(shè)定偏移算法的區(qū)域?yàn)閮蓚€(gè),左側(cè)傳送帶邊緣感興趣區(qū)域?yàn)閄∈(0.2x,0.45x)和Y∈(0.3y,0.7y),右側(cè)傳送帶邊緣感興趣區(qū)域?yàn)閄∈(0.76x,0.9x)和Y∈(0.3y,0.7y)。其中x和y分別代表圖像總的行列像素值,X和Y表示感興趣區(qū)域的像素坐標(biāo)值,為了進(jìn)一步避免環(huán)境的干擾,本次實(shí)驗(yàn)特別設(shè)定了檢測直線的角度范圍以及檢測出的直線長度。經(jīng)過上述檢測約束,成功地檢測出想要的傳動(dòng)帶邊緣直線,如圖8所示。FPGA處理圖像輸出30 fps,以太網(wǎng)傳輸模塊每671 ms傳輸一次處理好的圖片數(shù)據(jù)到上位機(jī)進(jìn)行跑偏檢測。圖13顯示傳送帶左側(cè)為偏移情況,將檢測的直線標(biāo)紅,右側(cè)的傳送帶在設(shè)定范圍,顯示為綠色。本實(shí)驗(yàn)將橫向偏移檢測閾值定為±20個(gè)像素值,設(shè)定的左側(cè)傳送帶非跑偏橫坐標(biāo)位置在100像素,如果橫向坐標(biāo)投影值xi減100的絕對(duì)值大于20,則左側(cè)傳送帶發(fā)生橫向偏移。同理將右側(cè)傳送帶非跑偏橫坐標(biāo)位置的坐標(biāo)值設(shè)為560,如果橫向坐標(biāo)投影值xj減560的絕對(duì)值大于20,則右側(cè)傳送帶發(fā)生橫向偏移。縱向偏移檢測的傾斜角度閾值設(shè)定為±4°,檢測的傳送帶邊緣直線傾斜角度大于±4°就可判定傳送帶發(fā)生縱向偏移。表1為設(shè)計(jì)的FPGA邏輯資源使用情況。整個(gè)設(shè)計(jì)占用了較少的FPGA資源,消耗邏輯資源3 633個(gè),存儲(chǔ)器單元215 040個(gè)。
圖13 傳送帶偏移情況
表1 FPGA邏輯資源使用情況
對(duì)傳送帶實(shí)際偏移的情況進(jìn)行分析,將偏移情況總結(jié)為橫向偏移和縱向偏移,分別設(shè)計(jì)兩種偏移檢測的算法對(duì)偏移情況進(jìn)行實(shí)時(shí)判斷。本系統(tǒng)采用FPGA作為處理單元,對(duì)圖像傳感器拍攝的實(shí)際傳送帶圖像進(jìn)行濾波、邊緣檢測、二值化等圖像的預(yù)處理,利用以太網(wǎng)傳輸方式把預(yù)處理后的圖像信息傳遞給上位機(jī),在上位機(jī)中進(jìn)行Hough直線檢測算法處理,獲得傳送帶的偏移狀態(tài)。橫向偏移檢測利用感興趣區(qū)域中的像素垂直投影來判定傳送帶的邊緣位置,并與標(biāo)定后采集的非跑偏傳送帶邊緣位置進(jìn)行比較,從而判斷是否發(fā)生橫向偏移??v向偏移檢測借助Hough變換的直線檢測算法,將計(jì)算出的直線斜率與提前設(shè)置好的閾值進(jìn)行比較,就可判斷是否發(fā)生縱向偏移。通過實(shí)驗(yàn),系統(tǒng)能夠?qū)崟r(shí)地檢測出精度最高,傾斜角大于0.245度的傾斜偏移和橫向8個(gè)像素的偏移,F(xiàn)PGA圖像輸出最大幀率為30 fps,可以實(shí)現(xiàn)傳送帶偏移的實(shí)時(shí)檢測。