(中國地質(zhì)大學(xué)(武漢)機械與電子信息學(xué)院,武漢 430074)
使用柴油發(fā)動機為動力的車輛,以其優(yōu)良的動力、經(jīng)濟耐用等優(yōu)點,在生產(chǎn)與運輸中得到廣泛的應(yīng)用。然而,柴油車帶來的環(huán)境污染問題也一直受到社會各界的詬病,特別是一些排放黑煙的柴油車,對環(huán)境的污染極為嚴重,相關(guān)部門也特別針對使用柴油發(fā)動機作為動力的車輛制定了標(biāo)準[1]。在用柴油車即注冊登記有牌照的柴油車。檢測部門通過設(shè)立檢測站進行排查的形式,以現(xiàn)場的煙度測量結(jié)果為依據(jù),采取禁止黑煙嚴重超標(biāo)卻仍然上路的在用柴油車進入城區(qū)等限制措施。
在用柴油車排放的尾氣中可視的黑煙含量使用煙度來表示。傳統(tǒng)的煙度測量方法是由接受過專業(yè)培訓(xùn)并取得認定資格的測量人員直接在現(xiàn)場進行目測,測量的結(jié)果很容易受到測量人員自身狀態(tài)的影響。雖然是專業(yè)的人工測量,但仍然具有一定的主觀性、隨意性,導(dǎo)致測量結(jié)果的不準確[2]。另外,測量人員若長期處于煙度測量的惡劣環(huán)境之下,身心健康也會受到嚴重的損害。為解決這些問題,一些使用機器代替人工測量的方法相繼被提出。例如,一種基于光的吸收與散射的物理原理的方法,設(shè)計了一種能夠檢測光的衰減率的光學(xué)煙度計,借助光學(xué)測量的方法來實現(xiàn)煙度的測量[3]。由于黑煙是由細小的黑色固體顆粒組成的,因此使用光學(xué)煙度計時難免會有部分黑煙附著到裝置上,為保證測量的準確性,需要時常進行清理,影響檢測的效率。又如,一種使用煙氣收集測量的方法,通過專門設(shè)計的裝置將排放的煙氣收集起來,令煙氣通過濾紙,再對被污染的濾紙進行分析,根據(jù)濾紙被污染的情況確定煙度大小,從而實現(xiàn)煙度的測量[4-5]。然而,被煙氣所污染的濾紙無法重復(fù)使用,每次檢測過后必須進行更換,測量繁瑣,維護成本高。英國的G.A.Rhys-Tyler等人于2011年的一項實驗中將遙感檢測技術(shù)應(yīng)用到了對倫敦的五萬輛車輛進行了包含黑煙濃度指標(biāo)的排放測試中[6],近年國內(nèi)也提出在公路上使用遙感技術(shù)測量的方法,要求在公路的上坡路段露天檢測,該方法雖然不影響車輛正常的行進,但受到天氣、場地、車速等的嚴重制約,檢測不能隨時進行,不適用于檢測站內(nèi)檢測[7]。有鑒于此,需要有一種適用于檢測站的快速、高效、準確的在用柴油車煙度測量方法。
基于機器視覺的在用柴油車煙度測量方法,借助計算機進行高速的圖像處理運算,使用OpenCV作為圖像處理算法基礎(chǔ)編寫的VC++應(yīng)用程序,再配合簡單的檢測環(huán)境以及背景的布置,并進行實驗驗證。該方法在短時間內(nèi)即可測量出在用柴油車的煙度級別,具有操作便捷、測量快速、結(jié)果準確等特點。
煙度測量的方案包括系統(tǒng)組成、原理、方法三部分內(nèi)容。
在用柴油車煙度測量整體的系統(tǒng)組成包括硬件系統(tǒng)和軟件系統(tǒng)兩大部分。如圖1所示,硬件系統(tǒng)包括圖像采集、圖像處理、背景布置等模塊,圖像采集模塊主要為相機,由相機采集的圖片傳輸?shù)阶鳛閳D像處理模塊的計算機中進行圖像處理,而背景布置模塊用于為煙度測量提供潔凈、明亮的背景。軟件系統(tǒng)為使用VC++編寫的MFC應(yīng)用程序,包括基本的圖像處理、標(biāo)定過程、測量過程等算法,圖像處理的算法以O(shè)penCV為基礎(chǔ),標(biāo)定過程與實際的測量過程的算法構(gòu)成整個軟件的核心算法。
圖1 在用柴油車煙度測量系統(tǒng)組成
在用柴油車的煙度一般以林格曼黑度等級來表示。標(biāo)準的林格曼黑度等級通過在白紙或白板上以140 mm×210 mm區(qū)域內(nèi)印制的不同粗細的黑色網(wǎng)格線所占面積百分數(shù)來確定,如圖2所示。按照黑色網(wǎng)格所占區(qū)域面積的百分數(shù),從0%(全白)到100%(全黑)每隔20%設(shè)定一個等級,依次規(guī)定為林格曼黑度0級到5級[8]。實際應(yīng)用時,根據(jù)檢測要求的不同,還可以進一步細化林格曼黑度等級的劃分,或者直接以百分數(shù)來表示等級[9]。但是,由于確定標(biāo)準林格曼黑度等級的“全白”與“全黑”為理想的情況,因此在以圖像處理為手段的實際檢測中,可以采用減除背景再使用灰度的變化值進行換算的方法來得到林格曼黑度值。
圖2 標(biāo)準林格曼黑度圖(示意圖)
首次進行煙度測量時需要執(zhí)行標(biāo)定操作。由于林格曼黑度值與其實際的黑煙區(qū)域平均灰度值成正比,因此標(biāo)定的目的在于得到林格曼黑度值B與圖像識別所檢測到林格曼標(biāo)準圖的灰度值G的線性關(guān)系:
G=a+kB
(1)
式中,a為林格曼黑度等級0級在圖片中的灰度,k為林格曼黑度等級每增加1時灰度的變化值。標(biāo)定的效果通過G與B的線性回歸相關(guān)系數(shù)r來確定,r的絕對值越接近1,說明標(biāo)定的效果越好。若r的絕對值小于0.95,則需要重新進行標(biāo)定。
實際測量過程需要利用標(biāo)定過程得到的林格曼黑度等級B與黑煙區(qū)域平均灰度G的線性關(guān)系進行林格曼黑度的反算,即:
(2)
測量煙度需要在與標(biāo)定過程相同的背景和光照條件下進行,為了消除背景環(huán)境對煙度測量準確度的影響,若背景或環(huán)境發(fā)生改變,則應(yīng)重新進行標(biāo)定。在相機視野中能清楚地看到車輛排氣管及其周圍區(qū)域的情況下,測量煙度首先需要取1張該次測量過程下車輛停在測功機上但尚未發(fā)動時無煙產(chǎn)生的圖片作為背景,然后命令車輛進行發(fā)動,待車輛發(fā)動后,以時間間隔1 s的頻率連續(xù)采集5張照片并保存。
煙度測量硬件設(shè)計包括對圖像采集、圖像處理、背景布置等模塊的選型與配置,各模塊的布置示例如圖3所示。圖像采集與處理模塊位于車輛檢測通道的一側(cè),而標(biāo)準林格曼黑度標(biāo)定模塊、背景改善裝置等位于車輛檢測通道的另一側(cè),并令圖像采集單元正對所述林格曼標(biāo)準圖標(biāo)定與背景布置模塊。圖像采集模塊需使用固定裝置進行固定,且圖像采集模塊、標(biāo)準林格曼黑度標(biāo)定模塊、背景布置模塊三者應(yīng)當(dāng)相對于周圍的靜物保持靜止。布置完成之后,需要操作人員接觸的部分可通過控制室與檢測現(xiàn)場進行物理隔離,僅通過玻璃窗觀察現(xiàn)場情況,避免直接暴露在檢測環(huán)境中。
圖3 硬件系統(tǒng)各模塊布置示例
圖像采集模塊(相機)與圖像處理模塊(計算機)既可集成在同一設(shè)備上,也可為分離式的兩臺設(shè)備。圖像采集模塊主要為相機,由于煙度測量對于圖像處理的精度要求并不高,相機要求至少有50萬以上的像素,因此常見的以USB方式連接的相機或以PCI總線方式連接的相機即可滿足檢測要求,亦可使用通過以太網(wǎng)連接的工業(yè)相機進行測量。由于圖像處理模塊使用了以O(shè)penCV作為圖像處理的算法基礎(chǔ)、在Visual C++平臺上開發(fā)的MFC應(yīng)用程序,且圖像采集模塊上傳的圖片需要在程序內(nèi)進行圖像處理過程,因此圖像處理模塊所使用的計算機要求搭載能夠運行使用MFC編寫出的可執(zhí)行程序的Windows操作系統(tǒng)。
背景布置模塊包括人工布置的白板、標(biāo)定用的印有標(biāo)準林格曼黑度圖的標(biāo)定板、用于放置或調(diào)整設(shè)備位置與方向的固定裝置、改善背景的照明裝置等。由于自然光線的明暗變化對使用機器視覺方法的測量有影響,背景布置模塊可以消除環(huán)境光線亮度變化對測量的影響,減少標(biāo)定的次數(shù)。人工布置的白板用于現(xiàn)場環(huán)境污濁等不利于檢測的環(huán)境下,提供潔凈、明亮的白色背景。標(biāo)準林格曼黑度標(biāo)定模塊包括印有6幅標(biāo)準林格曼黑度等級系列圖的標(biāo)定板。為消除反光等不良影響,以及考慮耐用等性質(zhì),6幅標(biāo)準林格曼黑度等級系列圖可使用表面較為粗糙的塑料板按林格曼黑度圖的標(biāo)準進行印制。固定裝置包括可供穩(wěn)定放置各設(shè)備的槽、架等可任意調(diào)整角度、高度、方向、位置等參數(shù)的結(jié)構(gòu),以及夾持標(biāo)準的林格曼黑度等級標(biāo)定板的結(jié)構(gòu)。照明裝置用于在環(huán)境光線昏暗時,提高所述圖像采集單元采集范圍內(nèi)的環(huán)境亮度。
煙度測量的軟件設(shè)計主要包括圖像處理過程、標(biāo)定過程、實際測量過程三部分的設(shè)計,另外還有其他與煙度測量配套的輔助功能,包括車輛信息錄入、測量報告輸出等。所有程序在Visual C++環(huán)境下編寫,軟件主要功能部分的流程如圖4所示,軟件界面如圖5所示。
圖4 軟件主要功能流程圖
圖5 軟件主界面
圖像預(yù)處理包括對采集到的圖像進行灰度化、濾波等操作。由圖像采集模塊采集到的圖像一般為RGB三通道的彩色圖像,圖像中的每一像素點包含R(紅)、G(綠)、B(藍)3種顏色分量的亮度信息,通過顏色空間轉(zhuǎn)換為一張灰度圖像后,圖像中的每一像素僅有灰度化的亮度信息,需要處理的圖像數(shù)據(jù)減少,可縮短后續(xù)的圖像處理時間。圖像濾波用于將圖像進行平滑處理,由于相機直接采集到的圖片包含噪點,因此需要通過適當(dāng)濾波的操作,消除圖像的噪點使得圖像平滑,而需要的細節(jié)特征又得到了保留。濾波采用高斯濾波的方法,并使用二維零均值高斯函數(shù)作為濾波器:
(3)
濾波的單元采用5×5大小的正方形區(qū)域[10]。無論是標(biāo)定過程還是實際測量過程,都需要進行圖像預(yù)處理,完成預(yù)處理的圖片需要進行保存以供后續(xù)過程使用。
標(biāo)定過程從單獨的設(shè)置窗口啟動,使用經(jīng)過預(yù)處理的按等級遞增順序拍攝的6張標(biāo)準林格曼黑度圖,計算每一張圖片上林格曼黑度圖所在區(qū)域的灰度平均值。由于相機擁有曝光自動補償功能,且采集標(biāo)準林格曼圖時,全白和全黑的圖像最容易觸發(fā)該功能,導(dǎo)致灰度發(fā)生變化,因此需要增加圖像中背景所占的面積,消除相機曝光自動補償功能對灰度平均值計算的影響。為保證每次標(biāo)定過程中林格曼黑度圖在整張圖片上所占的位置一致,人為地在軟件的標(biāo)定界面上將標(biāo)定圖片以九宮格的形式均分為9個區(qū)域,并標(biāo)出中心區(qū)域的邊框,每次標(biāo)定時使得林格曼標(biāo)準圖盡量占滿邊框內(nèi)的區(qū)域,并保持圖像采集設(shè)備與標(biāo)定板的相對位置保持不變。標(biāo)定操作完成后,程序?qū)?biāo)定結(jié)果顯示在列表中,并給出回歸計算的相關(guān)系數(shù)用以判斷標(biāo)定結(jié)果是否合格,合格的條件為相關(guān)系數(shù)的絕對值大于或等于0.95,標(biāo)定結(jié)果不合格時,軟件將提示用戶重新執(zhí)行標(biāo)定操作。標(biāo)定成功后回歸方程以及相關(guān)系數(shù)存儲在配置文件中。
實際測量過程使用經(jīng)過預(yù)處理的車輛尚未發(fā)動時拍攝的背景圖片以及車輛發(fā)動時相機每隔1 s拍攝的5張圖片,共6張圖片。其中背景圖片用于和后續(xù)車輛發(fā)動時的5張圖片進行對比。由于黑煙出現(xiàn)的區(qū)域僅占一整張圖片的一小部分,因此需要將6張圖片進行網(wǎng)格劃分。網(wǎng)格劃分需要盡可能地將黑煙集中在單個網(wǎng)格所在的區(qū)域中,綜合考慮實際檢測的布置距離,每一邊的分割數(shù)在5到9格為宜。逐一使用背景在第(i,j)區(qū)域的平均灰度值G0ij減去車輛發(fā)動時的5張圖片在第(i,j)區(qū)域的平均灰度值G1ij~G5ij,得到背景與5張圖片在第(i,j)區(qū)域的灰度差ΔG1ij~ΔG5ij,同時使用遍歷算法,按順序逐一搜索其中的最大值作為最大灰度差ΔGmax,并確定出現(xiàn)該最大灰度差所在的圖片對應(yīng)區(qū)域的平均灰度值Gm此時再讀取保存在配置文件中的回歸方程系數(shù),根據(jù)式(2)反算出林格曼黑度最大等級Bmax,依照表1的判定方法得到煙度檢測結(jié)果。
表1 林格曼黑度等級判定方法
為了驗證2.2中提出的相機自動曝光補償影響的問題,在光線明亮、穩(wěn)定環(huán)境下進行一次標(biāo)定操作,使用相機按等級遞增的順序依次采集6張標(biāo)準的林格曼黑度圖,并使得圖幅占滿相機拍攝的視野,此時平均灰度與中心區(qū)域灰度等效。在上述條件下得到的實驗結(jié)果如表2所示。
表2 未考慮相機自動曝光影響的標(biāo)定實驗結(jié)果
根據(jù)表1的結(jié)果可以看出,林格曼黑度等級與其對應(yīng)的圖像平均灰度線性關(guān)系十分不理想,從0~4級的平均灰度呈現(xiàn)下降的趨勢,但純黑的5級黑度所對應(yīng)的圖像平均灰度卻比全白的0級還要高,導(dǎo)致斜率為正,且相關(guān)系數(shù)r僅有0.34,不具備線性關(guān)系。
經(jīng)過觀察,造成這一現(xiàn)象的主要原因是相機的曝光補償作用使得拍攝實際為深色的圖片時,相機的自動曝光補償功能導(dǎo)致圖片整體的亮度增大,從而灰度值增大。雖然標(biāo)準的林格曼黑度圖使用了黑白相間的網(wǎng)格而不是灰度圖片,但對于林格曼黑度級別較高的圖片,相機仍然會對其進行曝光補償。
按照2.2中所提出的九宮格形式區(qū)域劃分方法進行標(biāo)定,同樣在光線明亮、穩(wěn)定的環(huán)境下進行標(biāo)定過程實驗,如圖6所示,按等級遞增的順序依次采集六張標(biāo)準的林格曼黑度圖進行標(biāo)定。在該環(huán)境下,標(biāo)定的結(jié)果如表3及圖7所示,線性回歸的相關(guān)系數(shù)r顯示在列表中用于判斷標(biāo)定是否成功,線性回歸方程的系數(shù)存儲在配置文件中供后續(xù)測量時調(diào)用。
圖6 林格曼標(biāo)準圖的采集
林格曼等級B012345平均灰度Gavg149149144146148145中心灰度G159133102825828回歸方程G=157.952B-25.7143r=-0.9985
通過配置文件查看的回歸方程表達式為:
G=157.952-25.7143B
(4)
從表3以及圖7中可以看到,中心區(qū)域的灰度值呈線性遞減的趨勢,相關(guān)系數(shù)絕對值 |r|為0.9985,線性關(guān)系良好,符合標(biāo)定要求。
圖7 標(biāo)定結(jié)果
實際測量過程在與標(biāo)定過程相同的環(huán)境條件下進行。驗證林格曼黑度計算結(jié)果的方式為分別計算圖片中背景區(qū)域的平均灰度值以及黑煙區(qū)域的平均灰度值,將灰度差計算的結(jié)果代入回歸方程表達式,與測量到的結(jié)果進行比對。以如圖8(a)所示的圖片為例,根據(jù)2.2部分所設(shè)計的軟件檢測到的林格曼黑度等級為3級。
為了驗證實際測量的準確性,使用原始的圖像處理方法,直接計算所有像素點的灰度平均值進行驗證。將圖8(a)進行二值化處理得到圖8(b),利用二值化圖確定出區(qū)域范圍并計算平均灰度,其中白色部分為背景無煙區(qū)域,計算出灰度平均值為156;黑色部分為黑煙區(qū)域,計算出灰度平均值為78,兩者相減得到的灰度差ΔG為78,代入式(4)中計算得到黑度最大等級差為3.11,再根據(jù)表1的判定方法,判定該圖中黑煙的林格曼黑度等級為3級,與軟件檢測的結(jié)果一致。由于在軟件中采用了將圖片進行網(wǎng)格分割并尋找最大灰度平均值的方法,一旦出現(xiàn)明顯黑煙,總能在網(wǎng)格中找到灰度差最大的一個區(qū)域計算出黑度最大等級差,由此說明所提出的方法可以用于煙度的測量。
圖8 實際測量示例與二值化
本文提出了基于機器視覺的在用柴油車煙度測量方法,主要包括煙度測量的系統(tǒng)組成與測量原理、硬件與軟件的系統(tǒng)設(shè)計兩部分,并通過實驗驗證了其可行性與有效性。硬件部分簡要闡述了測量系統(tǒng)的配置,軟件部分利用以O(shè)penCV為基礎(chǔ)的圖像處理算法,借助標(biāo)定過程的確定測量環(huán)境下圖像灰度值與林格曼黑度等級的關(guān)系,通過實際測量過程的區(qū)域分割、遍歷算法找出與背景灰度相差最大的區(qū)域,判定以林格曼黑度等級表示的煙度值。在背景環(huán)境不變的情況下,利用該方法進行單次測量的過程與傳統(tǒng)人工測量的方法相比更準確,與其他代替人工的方法相比用時短,操作便捷,不受天氣影響,煙度測量的效率得到了大幅提高。