廖宇鴻,黃國如,2,3*
(1.華南理工大學土木與交通學院,廣東 廣州 510640;2.華南理工大學亞熱帶建筑科學國家重點實驗室,廣東 廣州 510640;3.廣東省水利工程安全與綠色水利工程技術(shù)研究中心,廣東 廣州 510640)
近年來,由于全球氣候變暖,極端降水事件發(fā)生的頻率和強度在城市地區(qū)明顯增加。同時,隨著城市化進程不斷加快,城市區(qū)域不透水面積增大,城區(qū)“熱島效應”和“雨島效應”凸顯,使得城市洪澇災害發(fā)生的風險也隨之增加[1-3]。為了高效地開展城市內(nèi)澇災害應急工作,盡可能減少暴雨內(nèi)澇災害風險,亟需對城市道路積水進行實時監(jiān)測,以對城市內(nèi)澇進行快速應對,減少損失[4]。
傳統(tǒng)的城市道路積水監(jiān)測主要包括人工監(jiān)測和傳感器監(jiān)測2種方式[5]。人工監(jiān)測通過在易澇點派專人進行人工測量,直觀方便、靈活性強,但其大量耗費人力物力,無法保證內(nèi)澇監(jiān)測的及時性,不能滿足城市內(nèi)澇快速預警的需要,且對監(jiān)測人員的人身安全造成隱患;傳感器監(jiān)測通過布設(shè)水位傳感器實現(xiàn)積水數(shù)據(jù)的實時采集和傳輸,測量精度高、傳輸速度快,但設(shè)備分布較少且位置固定,維護成本高,難以滿足全面開展城市內(nèi)澇監(jiān)測的需求[6]。
監(jiān)控攝像頭在城市隨處可見,可以完整記錄城市洪澇的過程,因此將視頻監(jiān)控用于積水監(jiān)測開始成為研究熱點,而深度學習技術(shù)的不斷發(fā)展為其提供了有效的技術(shù)途徑。Meng等[7]利用人體作為標識物,使用Mask RCNN模型進行人體識別和關(guān)鍵點檢測以估算人體被淹比例,通過Face++API識別人種并估計不同人種的高度,從而檢測積水深度,但識別效果不夠理想。Chaudhary等[8]以人體、汽車、公交車、自行車、房屋等物體作為標識物,利用Mask RCNN將對象按積水深度劃為11個等級,識別得到某一水位等級,但沒有得到精確的水位數(shù)值。Huang等[9]提出了一種基于Mask RCNN的城市積水深度監(jiān)測方法,使用汽車輪胎作為標識物,利用高差法和勾股定理方法計算交通監(jiān)控中的積水深度。從現(xiàn)狀來看,利用深度學習進行積水深度監(jiān)測的技術(shù)尚不成熟,但其具有成本低、覆蓋面廣的優(yōu)勢,可以快速、全面地實現(xiàn)城市道路積水深度的遠程實時監(jiān)測,為監(jiān)測站點布設(shè)少或無站點區(qū)域的城市洪澇預警提供數(shù)據(jù)支撐。故本文立足于汽車輪胎作為標識物,嘗試基于深度學習與橢圓檢測技術(shù),提出一種新的城市道路積水深度監(jiān)測方法,旨在為城市內(nèi)澇監(jiān)測提供新的技術(shù)思路,為災害應急管理提供技術(shù)支撐。
Mask RCNN是Facebook何凱明[10]團隊2017年提出的一個深度學習目標檢測網(wǎng)絡(luò),可用于目標檢測、實例分割、關(guān)鍵點識別等多種圖像識別任務。Mask RCNN的實現(xiàn)主要分為2個階段:第一階段,通過特征提取網(wǎng)絡(luò)對輸入圖像進行特征圖的提取,然后使用區(qū)域候選網(wǎng)絡(luò)(RPN)生成目標候選框,經(jīng)過篩選得到候選的興趣區(qū)域;第二階段,對每個候選區(qū)域進行多類別分類、候選框定位和掩膜預測。Mask RCNN網(wǎng)絡(luò)基本結(jié)構(gòu)見圖1。
圖1 Mask RCNN基本結(jié)構(gòu)
a)特征提取網(wǎng)絡(luò)。主要作用是對輸入圖像利用卷積神經(jīng)網(wǎng)絡(luò)進行卷積處理和特征提取,從而生成深層次、高語義的特征圖。特征提取網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)為殘差網(wǎng)絡(luò)(ResNet)和特征金字塔網(wǎng)絡(luò)(FPN),ResNet網(wǎng)絡(luò)是Mask RCNN的主干網(wǎng)絡(luò),通常采用ResNet-50或ResNet-101等結(jié)構(gòu)作為特征提取器,得到多層的特征圖;FPN網(wǎng)絡(luò)則對各個層級的特征進行融合,從而同時保留低層特征圖的空間信息和高層特征圖的語義信息。
b)RPN網(wǎng)絡(luò)。RPN網(wǎng)絡(luò)的核心是anchor機制,網(wǎng)絡(luò)輸入為經(jīng)特征提取得到的特征圖。首先對特征圖的每個像素進行遍歷,并為每個像素設(shè)定固定個數(shù)的anchor,從而得到多個候選區(qū)域;然后通過2個卷積分支對候選anchor進行分類和回歸,其中一個分支為定位層,輸出anchor邊界框坐標位置,另一個分支為分類層,進行物體分類,輸出anchor的前后景概率。最后通過對anchor與真實邊界框的交并比判斷,過濾掉多余的anchor,從而獲得精煉的候選區(qū)域。
c)ROI Align。ROI Align是Mask RCNN模型提出的新方法,使用雙線性內(nèi)插的方法計算坐標為浮點數(shù)的候選區(qū)域單元采樣點的坐標數(shù)值,并將相應區(qū)域最大池化為固定尺寸的特征圖,以便進行后續(xù)的物體分類和候選框回歸。
d)模型輸出部分。模型輸出部分由2個分支組成:一個分支為全連接層,可以輸出目標物體的類別標簽以及候選框的坐標位置;另一個分支為mask分支,該分支為全卷積神經(jīng)網(wǎng)絡(luò)層(FCN),通過對候選區(qū)域執(zhí)行全卷積操作,從而實現(xiàn)目標物體的掩膜預測,完成實例分割的任務。
深度學習在圖像識別中主要應用于目標物體的定位、分類與分割,而不能對積水深度直接進行檢測,因此需要選取物體作為積水深度標識物。標識物的選取一般具有如下特點:①日常常見,尤其是發(fā)生積水時城市道路上出現(xiàn)頻率高;②易于識別,必須是通過深度學習模型可以較準確識別的物體;③形狀規(guī)則,具有比較明顯的幾何形狀特征,能夠根據(jù)形狀特征參數(shù)計算淹沒比例;④尺寸固定,一般宜有較為明確的大小,通過獲取標識物的實際尺寸,可以根據(jù)淹沒比例實現(xiàn)積水深度的估算。基于上述準則,本文以車輪作為標識物,車輪具有足夠高的常見度,形狀為規(guī)則的圓形,且一般具有明確的輪胎規(guī)格,適宜作為構(gòu)建積水深度計算模型的對象。
模型訓練需要獲取圖像作為數(shù)據(jù)集,研究圖像選自CompCars車輛分類識別數(shù)據(jù)集,這是香港中文大學多媒體實驗室發(fā)布的一個大規(guī)模車輛精細識別數(shù)據(jù)集,數(shù)據(jù)集包含了大量的車輛圖像數(shù)據(jù)[11]。對CompCars數(shù)據(jù)集中不同車型圖像進行提取,共計1 000張車輛圖片,采用Labelme軟件進行車輪數(shù)據(jù)標簽的制作。由于樣本數(shù)量有限,為了避免數(shù)據(jù)量過少導致過擬合現(xiàn)象的發(fā)生,采用數(shù)據(jù)增強方法對數(shù)據(jù)集進行擴充。本文使用Opencv計算機視覺庫進行圖像處理,分別采用降低圖像對比度、添加噪聲與隨機點、45°旋轉(zhuǎn)圖像3種方式實現(xiàn)數(shù)據(jù)增強(圖2),生成3倍于原圖的圖像數(shù)量。為了提高模型對中小型目標的識別效果,對總計4 000張圖片又進行尺寸縮放,最終形成了具有8 000張圖像的車輪識別數(shù)據(jù)集,按照7∶3的比例進行劃分,得到5 600張訓練集和2 400張測試集圖像。
圖2 圖像數(shù)據(jù)增強
本文使用Detectron 2框架進行Mask RCNN模型的構(gòu)建,Detectron 2是一個用于進行圖像識別的深度學習框架,集成Faster RCNN、Mask RCNN、Panoptic-FPN等多種目標檢測算法,可通過修改配置文件來設(shè)置各種參數(shù)和網(wǎng)絡(luò)結(jié)構(gòu),從而實現(xiàn)最優(yōu)的目標檢測效果,具有代碼直觀、上手簡易、可拓展性強、即插即用等優(yōu)點。
在Detectron2中選擇使用Mask RCNN模型,采用Resnet-50和FPN網(wǎng)絡(luò)作為主干網(wǎng)絡(luò),對輸入圖像進行車輪的分割與提取。經(jīng)過參數(shù)調(diào)整,設(shè)置初始學習率為0.005,批尺寸大小為4,訓練周期取為100個周期,每個周期內(nèi)需訓練1 400步,并在訓練周期分別達到40、70次時對學習率進行衰減,衰減系數(shù)取為0.1。對車輪圖像進行識別和分割,并生成相應模型權(quán)重,模型的定位精確率和分割精確率變化曲線見圖3。經(jīng)過性能評估,模型的定位精確率為94.96%,掩膜分割精確率為94.55%,訓練的模型性能評估結(jié)果較好,能夠滿足后續(xù)的車輪識別和模型驗證與應用的要求。
圖3 平均精確率變化曲線
橢圓檢測算法研究是計算機視覺領(lǐng)域的一個重要方向,國內(nèi)外的學者們至今已提出多種橢圓擬合方法,本文使用Meng等[12]提出的AAMED橢圓檢測算法,通過構(gòu)建弧段鄰接矩陣,獲得所有弧段的組合方法,基于采樣點的思想對每個組合進行快速擬合與驗證得到擬合橢圓,主要步驟如下。
a)弧段提取。主要目的是從物體輪廓中提取邊緣弧段,使用自適應Canny算法計算邊緣,根據(jù)自適應閾值去除過短弧段。最后用多邊形逼近算法逼近邊緣,基于曲率和凸性進行分割以得到一組弧段。
b)構(gòu)建弧段鄰接矩陣AAM。從所有弧段中提取任意2個弧段,通過判斷2個弧段對應的首尾點是否滿足曲率和凸性等要求,從而判斷弧段是否相連,確定AAM矩陣元素和2個弧段間的鄰接屬性。通過遍歷所有弧段,獲得鄰接矩陣AAM。
c)基于AAM生成候選組合。根據(jù)生成的AAM元素,在節(jié)點搜索候選弧段組合,然后通過公式判斷某一弧段組合是否具有橢圓性質(zhì),遍歷所有弧段得到所有的候選組合。
d)橢圓擬合。橢圓的一般公式為α1x2+2α2xy+α3y2+2α4x+2α5y+α6=0,該問題可轉(zhuǎn)換為解決公式Sα=λCα,其中S是一個6×6實對稱矩陣,C是一個6×6約束矩陣,通過2次特征分解對α進行求解,得到擬合的候選橢圓。
e)橢圓驗證。擬合出橢圓后需要驗證其是否為真橢圓,算法對擬合橢圓的每個采樣點使用形狀指標、位置指標、梯度指標和加權(quán)指標等4個指標計算驗證得分,如果驗證得分大于設(shè)定閾值,則認定為真橢圓,否則為虛假橢圓。通過橢圓聚類剔除重復橢圓,從而得到最終橢圓。
標識物淹沒在水體中,通過識別物體露出水面的部分,根據(jù)其露出水面部分和完整狀態(tài)時的形狀特征參數(shù),可以計算出被淹沒部分的高度,即為道路積水深度。因此,利用Mask RCNN對車輪識別后,需要通過圖像處理技術(shù)對2種狀態(tài)下的車輪特征參數(shù)進行提取(圖4),以完成積水深度計算模型的構(gòu)建。本文提出一種基于橢圓檢測的車輪特征參數(shù)提取方法,通過車輪橢圓檢測獲取擬合圓心等參數(shù),以進行積水深度的計算。
圖4 Mask RCNN檢測效果
Mask RCNN模型檢測的車輪圖像見圖4,由于圖像視角并不一定正對輪胎正面,Mask RCNN推測的邊界框不能準確表示車輪暴露部分的尺寸。本文選擇以Mask RCNN推測的車輪掩膜為對象,用Opencv檢測掩膜的最小外接矩形,結(jié)果見圖5。該最小外接矩形可認為是為車輪露出水面的部分,最小外接矩形的長和寬分別為露出水面部分車輪的寬度和高度。
圖5 車輪最小外接矩形檢測效果
對車輪完整狀態(tài)的形態(tài)和尺寸,則使用橢圓檢測算法進行擬合與參數(shù)提取。車輪圖像存在角度偏移,擬合橢圓的長短軸不能對應為車輪的像素半徑。為了保證參數(shù)提取的準確性,本文使用AAMED算法提取車輪的圓心位置,通過計算擬合圓心到車輪掩膜最小外接矩形頂邊的距離,作為車輪的半徑長度。分別對車輪圖像原圖、經(jīng)模糊處理和輪廓平滑的車輪掩膜圖像、經(jīng)Opencv閾值提取的二值圖像采用AAMED算法進行對比,選取最優(yōu)進行特征參數(shù)提取,橢圓檢測結(jié)果分別見圖6a、6b、6c,其中經(jīng)Opencv提取的二值圖像由于輪胎邊界特征不明顯,故以車轂掩膜作為替代,車轂與輪胎的圓心位置相同,因而在對圓心的提取上具有同等的效果。由圖6可見,經(jīng)Opencv提取的二值圖像在橢圓檢測時表現(xiàn)更佳,故采用經(jīng)Opencv提取的二值圖像進行車輪橢圓擬合,以獲取車輪圖像的圓心位置特征參數(shù)。
圖6 車輪圖像橢圓檢測結(jié)果
通過對車輪的最小外接矩形檢測和基于橢圓檢測的擬合參數(shù)提取,本文研究假定積水表面為等高平面,車輪掩膜最小外接矩形的底邊為水位線所在位置,最小外接矩形的高為車輪露出水面部分的像素高度hp,作車輪擬合橢圓的圓心到外接矩形頂部的垂直距離h0,則h0可看作車輪的像素半徑長度,設(shè)車輪的實際直徑為Hb,像素大小為hb,則hb=2h0。進而提出道路積水深度計算公式:
(1)
式中Hw——車輪的實際淹沒深度,亦即道路實際積水深度;Hb——車輪的實際輪胎大小;hp——車輪露出水面部分的像素高度,以Mask RCNN模型識別的車輪掩膜最小外接矩形的高定義;h0——車輪的像素半徑,以車輪圖像經(jīng)橢圓檢測后的擬合圓心到車輪掩膜最小外接矩形頂邊的垂直距離表示。
由式(1)可知,在通過圖像處理獲得車輪露出水面部分高度hp和像素半徑h0的情況下,只有車輪的輪胎尺寸Hb仍需確定。只要確定車輛輪胎的實際尺寸,就可以實現(xiàn)以車輪作為標識物的道路積水深度計算。
圖7 車輪特征參數(shù)示意
由于圖像中出現(xiàn)車輛較多,不同車輛的品牌不同,所使用的輪胎也有差異,如果使用單一的輪胎尺寸作為實際尺寸,可能造成較大誤差,為了保證積水深度監(jiān)測的準確性,考慮對不同車輛進行劃分,使用不同的輪胎規(guī)格作為實際車輪尺寸。同時,為了確保模型運行效率,不宜對車輛分類過多,因此僅將車輛按照車型進行分類,每種車型選出一種最具代表性的輪胎規(guī)格,作為該類型車輛的實際車輪尺寸,代入式(1)。
本研究將車輛類型劃分為轎車、SUV、MPV、面包車、皮卡、小型卡車、公共汽車等7種類型,根據(jù)2022年上半年期間全國銷量排行統(tǒng)計等資料,最終選定7種車型的代表車輪規(guī)格分別為205/55 R16、225/60 R18、225/55 R18、175/70 R14、245/70 R17、7.50R16LT 8PR和275/70 R22.5,對應的車輪尺寸為63.19、72.72、70.47、60.06、77.48、80.50、95.65 cm,見表1?;谏鲜?種車輛分類,構(gòu)建車輛類型識別數(shù)據(jù)集,進行目標檢測模型的訓練,以實現(xiàn)對車輛的定位和車型的識別。通過對不同車輛類型車輪尺寸的確定,從而完成基于深度學習和橢圓檢測的積水深度監(jiān)測計算模型的構(gòu)建。
表1 不同車輛類型代表車輪尺寸
本文選取山東省東營市2022年7月6日發(fā)生降雨期間的東營區(qū)影視街、東營區(qū)千佛山路與東三路-汾河路3個站點作為典型站點,從監(jiān)控視頻中截取節(jié)點進行城市道路積水深度的監(jiān)測。由于持續(xù)降雨的影響,站點環(huán)境較為復雜,存在雨霧、鏡頭遮擋、光照不足等問題,監(jiān)控攝像頭布設(shè)位置與道路車輛距離較遠,在分辨率不高的情況下,極端降雨更易對圖像亮度和清晰度造成較大影響。故車輪識別前,對提取的車輛圖像進行去惡劣天氣和超分辨率處理,去惡劣天氣使用Chen等[13]提出的多合一天氣還原模型,并利用超分辨率網(wǎng)絡(luò)模型Real-ESRGAN[14],通過預訓練的模型對提取的車輛圖像進行分辨率修復。
由于同一監(jiān)控站點的路面存在斜率和高度差,路段不同位置之間、同一輛車前后輪之間的積水深度變化較大,因此對圖像畫面中的道路積水深度進行人工測量以作為觀測水位,對同一輛車的前后車輪經(jīng)過識別和計算得到的深度取平均值,作為該車輛的識別深度。將觀測水位與識別深度進行對比,從而驗證模型深度識別的準確性。
3個站點的監(jiān)控畫面見圖8,東營區(qū)影視街的監(jiān)控正對道路口,行駛車輛造成的水花干擾較少,監(jiān)控安裝位置稍低,因而行駛車輛在監(jiān)控畫面的分辨率較高,車輪的圓形或橢圓幾何特征也更明顯,觀測數(shù)據(jù)主要為近點處正側(cè)面車輛目標;東營區(qū)千佛山路的監(jiān)控角度斜側(cè)于道路延伸方向,由于監(jiān)控安裝位置高、道路寬闊,道路車輛距離監(jiān)控較遠,在畫面上分辨率較低,經(jīng)試驗,右側(cè)車輛雖然沒有正對監(jiān)控,但斜側(cè)角度較小,仍然可近似為正側(cè)面的情況,觀測數(shù)據(jù)主要為遠點處正側(cè)面車輛目標;東三路-汾河路的監(jiān)控位置稍低且斜向面對道路,積水期間較多車輛經(jīng)過該路口,車輛分辨率稍大,可視為近點車輛,車輛在監(jiān)控畫面中主要呈斜側(cè)向,且斜側(cè)角度較大,觀測數(shù)據(jù)主要為遠點處正側(cè)面車輛目標。
a)東營區(qū)影視街
在東營區(qū)影視街、東營區(qū)千佛山路、東三路-汾河路3個站點分別截取75、126、80個車輛數(shù)據(jù)節(jié)點進行驗證(圖9),將觀測水位與模型識別深度進行對比,結(jié)果見表2、圖10—12。模型在東營區(qū)影視街站點識別結(jié)果的平均誤差為1.48 cm,均方根誤差為1.24 cm,樣本誤差小于2、3、5 cm的比例分別為76.00%、88.00%、98.67%;在東營區(qū)千佛山路站點的平均誤差為2.39 cm,均方根誤差為1.75 cm,樣本誤差小于2、3、5 cm的比例分別為55.56%、71.43%、89.68%;在東三路-汾河路站點的平均誤差為2.47 cm,均方根誤差為1.78 cm,樣本誤差小于2、3、5 cm的比例分別為43.75%、70.00%、88.75%;3個站點中所有樣本的誤差均小于10 cm。以上結(jié)果表明:模型在東營市3個典型站點驗證結(jié)果的誤差均較小,具有較好的積水深度識別效果,可應用于實際城市道路積水的深度監(jiān)測;模型對于斜側(cè)向車輛同樣有一定的識別準確度,由于斜側(cè)角度下車輪更多呈現(xiàn)出橢圓的形態(tài)特征,通過橢圓檢測能夠更準確地完成斜側(cè)向車輛的積水深度計算。
將不同站點的監(jiān)測結(jié)果進行對比,可以發(fā)現(xiàn),模型對近點處正側(cè)面車輛深度識別的準確度最高,誤差整體變化范圍最小;模型對遠點處正側(cè)面車輛目標的識別準確度相較于近點處更差,分辨率較高時的識別效果優(yōu)于低分辨率圖像,分辨率對識別結(jié)果的影響非常明顯,圖像分辨率過低時,由于車輪像素尺寸過小,Mask RCNN模型對小目標的識別精度差,甚至導致無法進行橢圓檢測,因而難以準確進行深度計算;斜側(cè)面車輛相比正側(cè)面車輛積水深度識別結(jié)果誤差較大,這說明模型對正側(cè)面車輛識別效果比斜側(cè)面更好,由于車輪在圖像中產(chǎn)生變形,從其他角度觀察時輪胎邊緣并不完全符合圓形或橢圓特性,因而識別結(jié)果誤差變化也會更大。
a)東營區(qū)影視街監(jiān)控畫面
表2 典型站點觀測水位與模型識別深度對比結(jié)果
圖10 東營區(qū)影視街觀測水位與識別深度對比
圖11 東營區(qū)千佛山路觀測水位與識別深度對比
圖12 東三路-汾河路觀測水位與識別深度對比
a)通過Mask RCNN深度學習模型對不同車型的車輪進行目標檢測,模型定位精確率為94.96%,掩膜分割精確率為94.55%,模型性能評估結(jié)果良好。通過橢圓檢測算法對淹沒車輪特征參數(shù)進行提取并構(gòu)建積水深度計算模型,經(jīng)驗證,模型在東營市典型站點驗證結(jié)果平均誤差和均方根誤差均較低,在實際道路積水深度監(jiān)測中具有較好的識別效果。
b)模型識別準確度受車輛距離遠近和畫面角度的影響。近點處車輛的識別效果優(yōu)于遠點處車輛,車輛距離不同導致的分辨率大小差異對識別結(jié)果的影響非常明顯;正側(cè)面車輛的識別結(jié)果優(yōu)于斜側(cè)面車輛,車輛斜側(cè)角度過大時車輪不完全符合圓形或橢圓特性,識別結(jié)果誤差變化更大。
c)研究仍然存在很多不足可以深入探究,復雜環(huán)境易導致識別結(jié)果不穩(wěn)定,甚至影響車輪檢測的正常進行,對復雜環(huán)境的積水深度識別有待后續(xù)研究的進一步完善。同時,驗證發(fā)現(xiàn)車輪的輪廓不夠明顯,下一步研究考慮將標識物改為輪轂,輪轂與車胎的邊界更明顯,有利于提高積水深度識別的準確性。