李曉斌,李毓勤,周當(dāng),呂先令
廣州市云景信息科技有限公司,廣東廣州,510663
近年來,中國航運(yùn)以勢如破竹的態(tài)勢闖進(jìn)世界航運(yùn)大國之列。然而,內(nèi)河和沿海船舶的排氣污染問題也凸顯出來,在一些航運(yùn)發(fā)達(dá)的區(qū)域,船舶排氣對(duì)該區(qū)域的空氣質(zhì)量造成了一定的影響。船舶在各種運(yùn)行工況下會(huì)排出NOx、SO2和顆粒物等污染物。據(jù)統(tǒng)計(jì),2018年我國船舶排放NOx、SO2、顆粒物分別為151.1萬噸、58.8萬噸、10.9萬噸,分別占非道路移動(dòng)源排放總量的27%、25%、12%[1]。目前國家對(duì)機(jī)動(dòng)車排氣污染的管控日益加強(qiáng),機(jī)動(dòng)車排氣污染大量減排,而船舶排氣污染還未施加嚴(yán)格監(jiān)管,污染問題日益凸顯,占比也持續(xù)上升。因此,為了減少船舶排氣污染,改善區(qū)域空氣質(zhì)量,非常有必要利用科技手段對(duì)船舶排氣污染開展高效、嚴(yán)格的監(jiān)管。
針對(duì)機(jī)動(dòng)船保有量迅速增加、船舶排氣污染日益嚴(yán)重、管控壓力不斷加大的現(xiàn)狀,基于人工智能AI的船舶排氣污染自動(dòng)監(jiān)測技術(shù)和產(chǎn)品顯然能夠成為應(yīng)對(duì)船舶排氣污染和環(huán)境污染處理突發(fā)事件的有力輔助工具[2]。在這樣的背景下,為有效解決船舶排放的監(jiān)管難題,研發(fā)船舶排氣污染自動(dòng)識(shí)別系統(tǒng),對(duì)水域內(nèi)的黑煙運(yùn)輸船只進(jìn)行識(shí)別和抓拍,并及時(shí)發(fā)出預(yù)警,建立和完善船舶排氣污染監(jiān)管體系,推動(dòng)整個(gè)航運(yùn)業(yè)船舶尾氣治理工作與環(huán)境保護(hù)事業(yè)的前進(jìn)。
船舶排氣污染自動(dòng)識(shí)別系統(tǒng)主要是利用架設(shè)在河流/港口岸邊或橋梁上的高清攝像機(jī)不間斷巡視目標(biāo)水域,對(duì)采集的視頻利用人工智能算法進(jìn)行識(shí)別,及時(shí)發(fā)現(xiàn)冒黑煙的高污染船只,并進(jìn)行記錄、預(yù)警等后續(xù)處理的系統(tǒng)。
船舶排氣污染自動(dòng)識(shí)別系統(tǒng)可分為目標(biāo)區(qū)域巡航、船體自動(dòng)跟蹤、船舶黑煙識(shí)別、船體編號(hào)識(shí)別與提取等四個(gè)部分。目標(biāo)區(qū)域巡航用來控制攝像機(jī)對(duì)指定的區(qū)域進(jìn)行反復(fù)巡航掃描,以發(fā)現(xiàn)潛在的目標(biāo)船只;船體自動(dòng)跟蹤則是在發(fā)現(xiàn)目標(biāo)并識(shí)別出目標(biāo)為船只后,自動(dòng)跟蹤鎖定移動(dòng)中的船只目標(biāo);船舶冒黑煙識(shí)別則對(duì)前背景過濾和前景提取,對(duì)冒黑煙細(xì)節(jié)進(jìn)行提升,提取黑煙的運(yùn)動(dòng)、紋理和空間特征,并對(duì)輸出特征采用SVM加權(quán)融合后,最后得到推理結(jié)果。系統(tǒng)組成見圖1。
圖1 船舶排氣污染自動(dòng)識(shí)別系統(tǒng)組成
在對(duì)黑煙船檢測這個(gè)場景下,需要對(duì)船進(jìn)行全天候的跟蹤和識(shí)別,根據(jù)現(xiàn)場人員對(duì)河流船只的統(tǒng)計(jì),從早上9點(diǎn)到晚上7點(diǎn),大概有250艘船經(jīng)過,平均2.5分鐘就有一艘船經(jīng)過,如果是人工來進(jìn)行查看,會(huì)對(duì)觀察人員造成極大的負(fù)擔(dān)。對(duì)此,傳統(tǒng)的區(qū)域檢測巡航使用的是??礢DK自帶的巡航程序,通過設(shè)置視野坐標(biāo)(P:水平旋轉(zhuǎn)角度、T:垂直旋轉(zhuǎn)角度、Z:放大縮小倍數(shù)),再設(shè)置視野坐標(biāo)停留時(shí)間間隔,對(duì)每一個(gè)視野坐標(biāo)進(jìn)行遍歷。但這種方式會(huì)產(chǎn)生很多問題,比如巡航過程無法中斷。如果球機(jī)斷電,會(huì)有視野坐標(biāo)信息丟失的風(fēng)險(xiǎn),無法高度定制化。
為了解決這些問題,通過??礢DK獲取攝像頭的視野坐標(biāo),將這些視野坐標(biāo)存入數(shù)據(jù)庫,防止球機(jī)斷電,視野坐標(biāo)丟失。而且存入數(shù)據(jù)庫之后,可以根據(jù)業(yè)務(wù)來進(jìn)行多樣化巡航。比如對(duì)船的檢測巡航,人工設(shè)置視野坐標(biāo),來對(duì)船舶航行區(qū)域進(jìn)行覆蓋。設(shè)置不同巡航視野見圖2。
圖2 不同巡航視野
每一個(gè)視野坐標(biāo)停留6s,如果停留過程中檢測到船,則開始對(duì)船進(jìn)行跟蹤,如果沒有檢測到船,則跳轉(zhuǎn)到下一個(gè)視野坐標(biāo),當(dāng)視野坐標(biāo)輪詢一遍之后,繼續(xù)從頭開始巡航,達(dá)到自動(dòng)多樣化巡航的目的。
船體自動(dòng)跟蹤分為兩部分:船體識(shí)別、船體位置控制算法。
使用CNN卷積神經(jīng)網(wǎng)絡(luò),通過對(duì)大量不同的船體數(shù)據(jù)進(jìn)行訓(xùn)練與識(shí)別,找到船體。
在對(duì)黑煙船進(jìn)行檢煙時(shí),需要對(duì)煙的冒出點(diǎn)留出足夠的空間,船冒煙位置一般在船的上方,才能比較明顯地觀察到煙。傳統(tǒng)的做法是用人工操作??禂z像頭,通過??祑eb后臺(tái)來對(duì)??禂z像頭進(jìn)行位置操作,會(huì)極大地消耗人力。針對(duì)此,提出設(shè)定船體的目標(biāo)范圍,然后通過??礢DK調(diào)整攝像頭位置,使船的中心點(diǎn)始終保持在目標(biāo)范圍中,給冒煙的位置留出更多的空間,留出視頻畫面50%的高度來提高煙的檢出率。
船體黑煙識(shí)別使用了背景過濾和前景提取、超分辨率提升黑煙細(xì)節(jié)、黑煙運(yùn)動(dòng)特征提取、黑煙紋理特征提取、黑煙空間特征提取、對(duì)特征進(jìn)行加權(quán)融合、特征融合推理結(jié)果等七個(gè)部分。
為了找出視頻中移動(dòng)的區(qū)域,把移動(dòng)的區(qū)域設(shè)為白色,其他沒有移動(dòng)的區(qū)域設(shè)為黑色背景。由于混合高斯背景建模算法在計(jì)算過程中會(huì)消耗大量CPU資源,而且需要比較久的時(shí)間才能提取到前景。對(duì)此我們采用基于時(shí)空混合高斯背景建模的改進(jìn)型時(shí)空動(dòng)態(tài)高斯背景建模DSTGMM。
Stauffer[3]等人提出的混合高斯背景建模擁有K個(gè)高斯成分組成的混合高斯模型表示像素的時(shí)間域上的概率分布模型,K一般取3~5,其值越大,處理波動(dòng)的能力也就越強(qiáng)。每個(gè)高斯成分的權(quán)重為ωk。設(shè)θk=μk,ρk是第k個(gè)高斯模型的參數(shù)集。第k個(gè)高斯?fàn)顟B(tài)對(duì)像素X構(gòu)成的影響概率為P(k│X,Φ):
X的概率分布是各混合高斯模型之和:
這里,P(k)=ωk,表示取k狀態(tài)的先驗(yàn)概率。第k個(gè)高斯成分在參數(shù)集θk下的概率密度為:
這里μk是均值,∑k是第k個(gè)高斯模型的協(xié)方差矩陣[4]。
模型的參數(shù)需要更新,各參數(shù)按以下方程進(jìn)行更新:
其中,α表示學(xué)習(xí)速率,一般取0.001~0.01,,表示參數(shù)更新速率。如果第i個(gè)高斯成分與xj匹配,則為1,否則為0;如果xj與像素j的所有高斯成分都不匹配,則用新的高斯成分取代該像素混合高斯模型中排在最后的高斯成分。新的高斯成分初始值為均值xj,標(biāo)準(zhǔn)差及權(quán)重為σinit和ωinit[5]。
參數(shù)完成更新各項(xiàng)后,對(duì)各高斯成分進(jìn)行排序,建立閾值T,將滿足式(8)的前S個(gè)模型作為背景模型,其余的高斯成分則定義為前景目標(biāo):
閾值T表征背景高斯成分在像素點(diǎn)的各概率分布中所占的最小比例。
在實(shí)際船舶背景的提取中,第一幀圖像可能存在運(yùn)動(dòng)目標(biāo),如果模型沒有及時(shí)更新,這些運(yùn)動(dòng)目標(biāo)就會(huì)被當(dāng)成背景,就會(huì)產(chǎn)生“鬼影”現(xiàn)象,會(huì)對(duì)運(yùn)動(dòng)目標(biāo)的連續(xù)檢測效果產(chǎn)生不利影響。針對(duì)這種不利影響,可以設(shè)定幀數(shù)閾值T0,對(duì)前T0幀和后續(xù)幀學(xué)習(xí)速率采用不同的更新方法:
模型初步建立時(shí),設(shè)置較快的更新速度來加速消除影響,可以采用較大的學(xué)習(xí)速率;一段時(shí)間運(yùn)行之后,模型穩(wěn)定時(shí),學(xué)習(xí)速率可以維持在固定點(diǎn)較小值[6]。檢測結(jié)果見圖3。
圖3 檢測結(jié)果
當(dāng)放大倍數(shù)最大后,視頻會(huì)呈現(xiàn)不同程度的嚴(yán)重噪點(diǎn)、模糊。會(huì)對(duì)黑煙識(shí)別產(chǎn)生影響,通過超分辨率變異算法,用于解決視頻模糊、嚴(yán)重噪點(diǎn),以降低誤檢率。
為了觀察運(yùn)動(dòng)物體的運(yùn)動(dòng)軌跡,采用稠密光流來提取運(yùn)動(dòng)特征。
為了提取煙霧的紋理,采用LBP(local binary pattern)紋理分類特征算法來進(jìn)行提取[7]。
為了讓神經(jīng)網(wǎng)絡(luò)對(duì)每個(gè)時(shí)間點(diǎn)的特征進(jìn)行分類,并且能夠使用前一個(gè)特征推理下一個(gè)事件,使用LSTM神經(jīng)網(wǎng)絡(luò)來進(jìn)行長時(shí)間記憶[8]。
將提取的光流特征、紋理特征、空間特征輸入到SVM向量機(jī)中進(jìn)行識(shí)別推理[9]。整體的推理結(jié)果見圖4。
圖4 推理結(jié)果
目標(biāo)檢測發(fā)展很快,但對(duì)于小目標(biāo)的檢測還是有一定的瓶頸,特別是大分辨率圖像小目標(biāo)檢測[10]。比如7920*2160、甚至16000*16000的圖像。主要原因是:①小目標(biāo)尺寸。原始圖像中目標(biāo)的寬或高小于101像素,網(wǎng)絡(luò)很難學(xué)習(xí)到目標(biāo)的特征信息。②高分辨率。在很高分辨率的圖像中,長寬比的分辨率比7680*2160更大,如果采用直接輸入原圖的方式,很多小目標(biāo)都無法檢出。③顯卡爆炸。圖像分辨率很大,如果簡單地進(jìn)行下采用,下采用的倍數(shù)太大,容易丟失數(shù)據(jù)信息。但是倍數(shù)太小,網(wǎng)絡(luò)前向傳播需要在內(nèi)存中保存大量的特征圖,極大耗盡GPU資源,很容易存在爆顯存,無法正常訓(xùn)練及推理。
基于以上存在的問題,我們提出以下方法:①我們首先對(duì)大分辨率的圖片先進(jìn)行分割,變成一張張小圖,再進(jìn)行檢測;②同時(shí)為了避免兩張小圖之間,一些目標(biāo)正好被分割截?cái)?,所以兩個(gè)小圖之間設(shè)置overlap重疊區(qū)域;③比如分割的小圖是960*960像素大小,則overlap可以設(shè)置為960*20%=192像素;④每個(gè)小圖檢測完成后,再將所有的框放到大圖上,對(duì)大圖整體做一次nms操作,將重疊區(qū)域的很多重復(fù)框去除。
通過以上的一系列方法,同時(shí)結(jié)合其他排除環(huán)境干擾的方法(如可在水域容易出現(xiàn)的強(qiáng)光及逆光、輕霧等環(huán)境干擾),目前已經(jīng)研發(fā)出相關(guān)產(chǎn)品,并在廣州珠江口、肇慶西江等交通繁忙的水域進(jìn)行了測試,冒黑煙船的識(shí)別準(zhǔn)確率達(dá)到了90%以上,最遠(yuǎn)的識(shí)別距離達(dá)到了5公里以上。未來可開展相關(guān)的改進(jìn),增加NOX和SO2傳感器,可以測量出污染物的濃度,推演船只燃油的硫含量,同時(shí)結(jié)合風(fēng)向、攝像機(jī)視角位置、全球位置定位裝置等,追蹤污染船只的精準(zhǔn)方位。通過船舶排氣污染自動(dòng)識(shí)別系統(tǒng)的研發(fā),大大提升船舶排氣污染的監(jiān)管效率,其具有推廣應(yīng)用價(jià)值。