夏燁,陳李沐,王君杰,孫利民
(同濟(jì)大學(xué) 土木工程學(xué)院,上海 200092)
船撞橋事故在橋梁事故中占比極高,對橋梁公路安全運(yùn)輸、人民的生命財(cái)產(chǎn)乃至社會經(jīng)濟(jì)的發(fā)展均造成重大影響.隨著經(jīng)濟(jì)持續(xù)增長和對交通設(shè)施的需求日益加大,我國橋梁的建設(shè)數(shù)目不斷增加,大型橋梁的建設(shè)可以緩解交通壓力、促進(jìn)陸路交通.但是對于水上船舶而言,橋梁卻是人工障礙物,船舶在橋下航行通行時,存在著碰撞橋墩或橋跨結(jié)構(gòu)的危險,從而對橋梁、船舶的安全性構(gòu)成威脅,同時對航道和陸路交通的正常運(yùn)行也構(gòu)成威脅.
傳統(tǒng)的橋梁主動防撞一般通過船舶交通管理系統(tǒng)(VTS)、船舶自動識別系統(tǒng)(AIS)建立橋梁船撞預(yù)警來引導(dǎo)船舶的航行,通過視頻監(jiān)控系統(tǒng)(CCTV)監(jiān)控橋區(qū)現(xiàn)場情況.VTS、AIS 需要安裝大量昂貴的設(shè)備,造價較高,而傳統(tǒng)CCTV 又無法實(shí)現(xiàn)主動預(yù)警的功能.近年來,基于視頻目標(biāo)檢測的橋梁防船撞主動預(yù)警技術(shù)受到部分學(xué)者的關(guān)注和研究,該技術(shù)通過將視頻目標(biāo)檢測結(jié)合CCTV,實(shí)現(xiàn)對橋區(qū)水域主動預(yù)警的功能.然而,現(xiàn)有的橋梁防撞視頻監(jiān)測系統(tǒng)大多采用基于運(yùn)動的目標(biāo)檢測技術(shù)[1,2],既依賴背景環(huán)境的穩(wěn)定性,又無法對偽目標(biāo)進(jìn)行智能甄別,面對復(fù)雜多變的航道環(huán)境,其適應(yīng)性差、智能化程度低的缺點(diǎn)凸顯.
本文提出基于視頻傳感的橋梁主動防船撞監(jiān)測預(yù)警系統(tǒng)框架,闡述航區(qū)目標(biāo)檢測的具體流程和技術(shù)方法.相較于傳統(tǒng)基于運(yùn)動目標(biāo)檢測方法的監(jiān)測系統(tǒng),深度學(xué)習(xí)目標(biāo)檢測方法有潛力改善現(xiàn)有技術(shù),克服現(xiàn)有方法在復(fù)雜環(huán)境下的適應(yīng)性問題和目標(biāo)的智能識別問題,使得該系統(tǒng)能實(shí)現(xiàn)復(fù)雜且多變環(huán)境下穩(wěn)定的船舶目標(biāo)智能檢測,具備可靠的實(shí)用性,推動主動防船撞系統(tǒng)的技術(shù)發(fā)展.
本文提出基于視頻傳感橋梁主動防撞監(jiān)測預(yù)警系統(tǒng),由視頻獲取、目標(biāo)檢測、航跡跟蹤、航跡預(yù)測、風(fēng)險評估、預(yù)警決策六個模塊組成,技術(shù)框架圖如圖1 所示.
視頻獲取模塊通過橋載監(jiān)控?cái)z像頭獲取視頻圖像信息,并進(jìn)行圖像增強(qiáng)等預(yù)處理,傳入目標(biāo)檢測模塊;目標(biāo)檢測模塊使用預(yù)先訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型檢測畫面中的船舶目標(biāo),根據(jù)空間投影關(guān)系將目標(biāo)的像素坐標(biāo)轉(zhuǎn)換為世界坐標(biāo),傳入航跡跟蹤模塊;航跡跟蹤模塊在時間維度上進(jìn)行目標(biāo)關(guān)聯(lián)形成航行軌跡,并自動檢查和去除偽航跡;航跡預(yù)測模塊將目標(biāo)當(dāng)前航跡輸入神經(jīng)網(wǎng)絡(luò),輸出對目標(biāo)將來航跡、抵橋時間和通過位置概率分布的預(yù)測,并通過在線學(xué)習(xí)的機(jī)制基于累積的航跡數(shù)據(jù)不斷更新神經(jīng)網(wǎng)絡(luò)模型;風(fēng)險評估模塊參考航跡跟蹤和預(yù)測的結(jié)果,對船橋撞擊風(fēng)險進(jìn)行綜合評估;預(yù)警決策模塊根據(jù)風(fēng)險評估結(jié)果做出相應(yīng)的決策,如在檢測到危險的情況下對船舶進(jìn)行警示和引導(dǎo),在無可避免的撞擊發(fā)生前通過中止上橋方向交通等方式避免進(jìn)一步的人員和財(cái)產(chǎn)損失,在撞擊發(fā)生后對橋梁狀態(tài)進(jìn)行撞后評估,從而對是否通行或維修作出決策,并且對撞擊過程進(jìn)行錄像取證.
圖1 基于視頻傳感的橋梁主動防撞監(jiān)測預(yù)警系統(tǒng)框架Fig.1 System framework for anti-collision monitoring
目標(biāo)檢測是整個防撞監(jiān)測系統(tǒng)的核心和基礎(chǔ),識別準(zhǔn)確性及穩(wěn)定性影響整個系統(tǒng)的成敗.本文將針對航區(qū)目標(biāo)檢測的特點(diǎn)和需求,通過模型選取、數(shù)據(jù)集建立、模型訓(xùn)練和針對性優(yōu)化,研究該模塊的技術(shù)方法,為后續(xù)跟蹤預(yù)警模塊提供穩(wěn)定有效的信息支持.
2.1.1 方法比較
目標(biāo)檢測的核心任務(wù)在于找到圖像中感興趣的目標(biāo),并確定目標(biāo)在圖像中的位置和大小,航區(qū)目標(biāo)的檢測具有以下特點(diǎn):其一是航區(qū)的背景環(huán)境通常較為復(fù)雜,波浪、光照變化、水汽、陰影倒影等均可能對目標(biāo)檢測形成干擾;其二是船舶的種類繁多,外觀、大小不一而足;其三是出于預(yù)警的需求,監(jiān)測范圍較大,畫面中的遠(yuǎn)處目標(biāo)較??;其四是目標(biāo)交會、重疊的情況時有發(fā)生,對圖像識別造成困擾.上述特點(diǎn)使得航區(qū)目標(biāo)的檢測面臨其它環(huán)境下未有的挑戰(zhàn).現(xiàn)有橋梁主動防撞視頻監(jiān)測系統(tǒng)大多采用基于運(yùn)動的目標(biāo)檢測方法,基本原理是提取視頻圖像序列中目標(biāo)的運(yùn)動特性,將運(yùn)動目標(biāo)與靜止背景進(jìn)行分割,從而實(shí)現(xiàn)目標(biāo)檢測.根據(jù)分割原理不同,常用的基于運(yùn)動的目標(biāo)檢測方法可分為三類:光流法[3]、幀間差分法和背景減除法[4].然而,基于運(yùn)動的目標(biāo)檢測算法的缺點(diǎn)顯而易見:依賴于“靜止”的背景,無法適應(yīng)快速變化的背景,而航道受光照、風(fēng)等的影響,其水面往往伴隨劇烈的變化;檢測出的目標(biāo)僅僅是“運(yùn)動”的物體,而無法甄別該物體是否為航區(qū)船舶,并且無法識別靜止的船舶;運(yùn)算速度較慢,無法充分利用高分辨率監(jiān)控圖像的像素信息. 上述的缺點(diǎn)致使現(xiàn)有橋梁防撞視頻監(jiān)測系統(tǒng)缺乏應(yīng)對復(fù)雜環(huán)境的穩(wěn)定性,智能化程度低,無法真正適應(yīng)長期監(jiān)測的需求.
基于特征的目標(biāo)檢測方法是另一種主流目標(biāo)檢測方法,近年來隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,逐漸開始滲透到各個應(yīng)用領(lǐng)域,其在橋梁防撞監(jiān)測領(lǐng)域亦有開發(fā)前景.基于特征的目標(biāo)檢測算法是對目標(biāo)的顏色、輪廓等特征進(jìn)行提取與判斷,從而實(shí)現(xiàn)對檢測目標(biāo)的識別與定位.基于特征的目標(biāo)監(jiān)測算法經(jīng)歷了依靠人工設(shè)計(jì)特征的早期模式到使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取的發(fā)展階段.傳統(tǒng)的機(jī)器學(xué)習(xí)算法基于人工設(shè)計(jì)的特征,如Haar 特征、LBP 特征和HOG 特征[5],這種依賴先驗(yàn)知識的方法面對目標(biāo)多樣性物體外形往往泛化能力不足,無法滿足外觀多樣的船舶目標(biāo)的檢測需求;而基于深度學(xué)習(xí)的目標(biāo)檢測方法[6-8]通過訓(xùn)練從龐大的數(shù)據(jù)集提取和學(xué)習(xí)特征,對物體外觀多樣性、角度、形變以及環(huán)境和光照的變化均有強(qiáng)大的適應(yīng)能力,并且在檢測的同時能夠?qū)崿F(xiàn)目標(biāo)類型的智能識別,能夠較好地適應(yīng)航區(qū)目標(biāo)檢測的特殊性.
SSD 是目前較為成熟的一種深度學(xué)習(xí)目標(biāo)檢測算法,除上述優(yōu)勢外,其將特征提取、邊框回歸和分類在一個無分支的卷積網(wǎng)絡(luò)中完成,在保證精度的同時達(dá)到極高的檢測速度,能夠有效滿足航區(qū)監(jiān)測范圍大、目標(biāo)數(shù)量多、檢測精度和信息處理效率要求高的需求,因此,選擇SSD 作為航區(qū)目標(biāo)檢測模塊的模型基礎(chǔ).
2.1.2 SSD 模型
SSD 模型即Single Shot MultiBox Detector,由W ei Liu 等人于2016 年首次提出[9]. 相比同類型網(wǎng)絡(luò)[10,11],其最大特點(diǎn)在于使用多尺度特征圖檢測,適應(yīng)不同大小物體的檢測,能夠滿足航區(qū)目標(biāo)尺度多樣性的需求.
SSD 模型的架構(gòu)如圖2 所示[9],網(wǎng)絡(luò)的主體由基礎(chǔ)網(wǎng)絡(luò)和附加特征網(wǎng)絡(luò)組成. 圖像縮放成300×300標(biāo)準(zhǔn)尺寸后前向傳播通過基礎(chǔ)網(wǎng)絡(luò);基礎(chǔ)網(wǎng)絡(luò)由高質(zhì)量圖像分類網(wǎng)絡(luò)的標(biāo)準(zhǔn)架構(gòu)(如VGG、GoogleNet、AlexNet 等)在分類層之前截?cái)嘈纬桑渥饔檬沁M(jìn)行特征提取形成特征圖,本文以VGG-16 網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò),如該圖所示;在經(jīng)過基礎(chǔ)網(wǎng)絡(luò)的特征提取后,進(jìn)入輔助網(wǎng)絡(luò)結(jié)構(gòu),輔助特征網(wǎng)絡(luò)是一種卷積金字塔結(jié)構(gòu),各層的特征圖尺寸逐漸減小,包括基礎(chǔ)網(wǎng)絡(luò)的末層在內(nèi),特征圖大小從38×38 到1×1 不等,上述諸層通過卷積濾波器,生成目標(biāo)物體框和類別的預(yù)測;最后通過非極大值抑制過濾過度重合的結(jié)果,得到最終的輸出.
圖2 SSD 網(wǎng)絡(luò)架構(gòu)Fig.2 SSD framework
卷積濾波器的工作原理如圖3 所示[9],特征圖的每個像素都有不同大小和寬高比的默認(rèn)框,使用卷積濾波器對特征圖每個像素默認(rèn)框的位置(location)和各類別的置信度(confidence)進(jìn)行預(yù)測.位置輸出有4 個:(lcx,lcy,lw,lh),分別為物體框中心和寬高相對于默認(rèn)框的偏移;置信度輸出有N 個:(c0,c1,…,cN-1),分別為物體屬于各類別的分?jǐn)?shù),其中c0為背景(負(fù)樣本)分?jǐn)?shù).因此在每個特征層的輸出維度為L×L×B×(N+4),其中L 為特征圖尺寸,B 為每個像素默認(rèn)框數(shù)量,在conv4_3 層為3,其余層為6.
圖3 多尺度特征圖檢測Fig.3 Multi-scale feature maps for detection
金字塔式的特征層結(jié)構(gòu)使網(wǎng)絡(luò)能夠適應(yīng)不同大小物體的檢測,如在訓(xùn)練過程中,圖中小艇和大船所在的物體框分別與11×11 和3×3 特征圖中較小和較大的默認(rèn)框相匹配,則這兩個框標(biāo)記為正樣本,其余默認(rèn)框?yàn)樨?fù)樣本.因此,小的物體在較大的特征圖中檢測,而大的物體在較小的特征圖中檢測.多尺度特征圖檢測是SSD 模型的特點(diǎn)與先進(jìn)之處.如此,可以提高檢測結(jié)果的精度,同時還得到了不同長寬比例的檢測結(jié)果.
SSD 模型訓(xùn)練過程中的損失定義如下[8]:
式中:N 為匹配目標(biāo)的默認(rèn)框數(shù)量,特殊地當(dāng)無目標(biāo)即N=0 時,取損失L=0,以利于數(shù)據(jù)統(tǒng)計(jì);α 為權(quán)重系數(shù),默認(rèn)為1;Lconf為置信度損失,定義如下:
式中:xpij為當(dāng)?shù)趇 個默認(rèn)框與類別p 的第j 個真實(shí)框匹配時取1,否則取0;cpi為第i 個默認(rèn)框?qū)儆陬悇ep的預(yù)測置信度分?jǐn)?shù);c^pi為第i 個默認(rèn)框?qū)儆陬悇ep 的預(yù)測置信度概率,滿足∑pc^pi=1.
Lloc為位置損失,定義如下[8]:式中:lmi為第i 個預(yù)測框m 參數(shù)的相對偏移量;g^mj為第j個真實(shí)框m 參數(shù)相對于默認(rèn)框的偏移量;gmj,dmi分別對應(yīng)真實(shí)框和默認(rèn)框的m 參數(shù);smoothL1為絕對損失函數(shù),常用于回歸.
SSD 模型的訓(xùn)練過程,就是將真實(shí)的標(biāo)簽框與事先定義好的一系列固定大小的默認(rèn)框配對,計(jì)算并通過迭代最小化損失的過程.
建立合適的數(shù)據(jù)集對SSD 模型進(jìn)行訓(xùn)練,才能在橋梁主動防船撞系統(tǒng)中以達(dá)到預(yù)期的目標(biāo)檢測效果.充分考慮到檢測模型在不同船型、視角、環(huán)境下的適應(yīng)性以及特定工作場景下的針對性,訓(xùn)練所用到的原始圖像數(shù)據(jù)既來自網(wǎng)絡(luò)爬取,也有現(xiàn)場采集.目標(biāo)檢測任務(wù)訓(xùn)練所用的目標(biāo)檢測模型通??煞譃閮深悾阂活愂菑V譜數(shù)據(jù)集,即涵蓋物體類別較多、數(shù)據(jù)量較大、適應(yīng)多種任務(wù)的數(shù)據(jù)集,常用的包括PASCAL VOC、MS-COCO 等;另一類是針對特定目標(biāo)檢測任務(wù),包含一個或多個物體類別的專用數(shù)據(jù)集.上述廣譜數(shù)據(jù)集盡管數(shù)據(jù)量大、涵蓋類別多,但在特定目標(biāo)檢測且對精度要求較高的任務(wù)上,由于物體本身外觀的多樣性,往往難以達(dá)到理想的效果.因此,本文建立了用于船舶目標(biāo)檢測的專用數(shù)據(jù),即船撞專用數(shù)據(jù)集(VC 數(shù)據(jù)集,Vessel Collision Dataset)進(jìn)行訓(xùn)練.
目標(biāo)檢測模型應(yīng)具有普適性,這意味著模型必須適用于多船型、多角度、復(fù)雜環(huán)境下的檢測任務(wù).因此,VC 數(shù)據(jù)集的建立充分考慮了樣本涵蓋面的豐富性.為此,從網(wǎng)絡(luò)上搜集了近4 萬張船舶圖片作為樣本,樣本涵蓋了包括集裝箱船、散貨船、滾裝船、帆船、小艇等在內(nèi)的多種常見船型,包含海洋、港口、內(nèi)河在內(nèi)的多種地理環(huán)境,多種拍攝角度和不同的氣候光照條件. 樣本的氣候光照條件包含晴朗的白天、霧天、陰天、傍晚和黑夜,并通過算法篩選提高了其中暗環(huán)境條件樣本的比例.這是由于在自然條件下暗環(huán)境樣本的分布比例相對較少,人為提高比例可以提高該環(huán)境下的檢測性能.經(jīng)過篩選,最終共標(biāo)注了3 萬余張圖片,作為數(shù)據(jù)集的基礎(chǔ).
為了驗(yàn)證VC 數(shù)據(jù)集訓(xùn)練的模型效果,圖4 比較了其與廣譜數(shù)據(jù)集VOC 0712 訓(xùn)練SSD 模型的性能對比圖,共包含四幅圖.第1 幅圖為白天能見度較好情況下的檢測結(jié)果,可見上圖準(zhǔn)確地檢測出船體的邊界,而下圖的檢測存在誤差;第2 幅圖是在傍晚逆光條件下的檢測結(jié)果,上圖準(zhǔn)確地區(qū)分了船體與陰影,而下圖的結(jié)果包含了陰影;第3 幅圖是在夜間有外部光照下的檢測結(jié)果,可見上圖準(zhǔn)確檢測出兩個目標(biāo),而下圖僅檢測出其中一個;第4 張圖是在黑夜無外部光源下的結(jié)果,可見下圖未能檢測出目標(biāo),而上圖在此條件下依然保持較好的檢測效果. 可以看出,基于VC 數(shù)據(jù)集的SSD 模型對船舶目標(biāo)的檢測無論在準(zhǔn)確性還是各環(huán)境條件下的魯棒性上均遠(yuǎn)遠(yuǎn)優(yōu)于基于廣譜數(shù)據(jù)集的模型檢測結(jié)果,能夠充分保證模型的普適性.
圖4 VC 數(shù)據(jù)集與VOC 0712 數(shù)據(jù)集檢測效果對比Fig.4 Performance comparison between VC and VOC 0712
目標(biāo)檢測模型應(yīng)具有針對性.利用海量樣本數(shù)據(jù)建立的數(shù)據(jù)集具備適應(yīng)不同條件檢測任務(wù)的普適性,但其在實(shí)際應(yīng)用場景下并不一定能達(dá)到最佳.通過有針對性地加入數(shù)據(jù)量遠(yuǎn)小于已有樣本的現(xiàn)場圖像數(shù)據(jù)到數(shù)據(jù)集,就能以較小代價使模型在實(shí)際場景下的工作性能得到顯著的提升,使模型兼具普適性和針對性.為此,采集試驗(yàn)橋梁通航區(qū)的監(jiān)測視頻,拍攝時間從白天持續(xù)到夜晚,從視頻中按一定時間間隔截取幀圖像,并對打亂順序后的圖像樣本進(jìn)行標(biāo)注,對已有數(shù)據(jù)集進(jìn)行擴(kuò)充.為進(jìn)一步提升檢測性能,將實(shí)拍樣本劃分為簡單樣本和困難樣本,如圖5 所示,簡單樣本通常為單艘船舶,邊界鮮明,困難樣本包括船舶間遮擋、橋墩遮擋以及相似背景干擾等情況.在正常分布下,簡單樣本占比較高,并且大多相似,而困難樣本較少,根據(jù)損失函數(shù)的定義,此類樣本在損失計(jì)算中所占權(quán)重相對較低,這將導(dǎo)致其特征不能得到充分學(xué)習(xí),如此易導(dǎo)致模型在上述困難情況下表現(xiàn)不佳.因此,通過對困難樣本減小采樣間隔、裁剪等數(shù)據(jù)增加手段,使實(shí)拍樣本集中的簡單樣本和困難樣本的比例接近0.5:0.5,從而提升模型對困難樣本的識別能力.試驗(yàn)結(jié)果顯示,在基礎(chǔ)數(shù)據(jù)集中增加僅1/20~1/10 的針對性場景擴(kuò)充數(shù)據(jù),便能使模型的目標(biāo)檢測能力得到顯著提升,避免了在船舶間遮擋、橋墩遮擋以及相似背景干擾等情況下的誤檢和漏檢.
圖5 樣本劃分Fig.5 Sample division
數(shù)據(jù)集中樣本的涵蓋面和比例之外,標(biāo)注的質(zhì)量同樣影響模型檢測的準(zhǔn)確性.目標(biāo)檢測任務(wù)的數(shù)據(jù)標(biāo)注包括了目標(biāo)的邊框和類別.對于船舶目標(biāo),影響標(biāo)注質(zhì)量的因素主要有2 個,如圖6 所示.
圖6 標(biāo)注質(zhì)量影響因素Fig.6 Impacts of annotation quality
其一是部分船舶上部有細(xì)長高聳的桅桿或天線,甚至高度遠(yuǎn)超船體部分,若將其標(biāo)注在內(nèi),框上部絕大部分區(qū)域?yàn)楸尘?,而?shí)際目標(biāo)的特征極少,如此將導(dǎo)致模型訓(xùn)練過程中引入了過多背景特征形成干擾,在實(shí)際工作中表現(xiàn)為誤警,因此在標(biāo)注過程中應(yīng)當(dāng)舍棄過細(xì)過長的部分.其二是目標(biāo)受到部分遮擋時,若遮擋面積較大,同樣會引入過多干擾因素,使得實(shí)際工作中將障礙物誤識別為目標(biāo),因此當(dāng)遮擋面積超過40%時不標(biāo)注.
在SSD 模型的訓(xùn)練過程中. 對訓(xùn)練數(shù)據(jù)的圖片按照0.1 至1 的尺寸比例隨機(jī)裁剪,并以50%的概率隨機(jī)翻轉(zhuǎn),使模型適應(yīng)不同尺寸和外形的目標(biāo).
數(shù)據(jù)集建立后,可采用數(shù)據(jù)增強(qiáng)策略來提升模型對目標(biāo)尺寸的適應(yīng)性. 將VC 數(shù)據(jù)集按照8 ∶1 ∶1的比例分為訓(xùn)練集、驗(yàn)證集和測試集,訓(xùn)練中每進(jìn)行10 000 次迭代使用測試集評估損失.圖7 為模型經(jīng)過80 000 次迭代的損失變化曲線,可見模型在50 000 次迭代后訓(xùn)練集損失逐漸收斂,測試集損失在10 000 次迭代后便已平穩(wěn),經(jīng)過80 000 次訓(xùn)練的模型在測試集上的損失收斂到0.757.
圖7 損失-迭代次數(shù)曲線Fig.7 Loss-iteration curve
航區(qū)橋梁主動防撞目標(biāo)檢測的一大特點(diǎn)和難點(diǎn)就是監(jiān)測范圍大,遠(yuǎn)近目標(biāo)在監(jiān)控畫面中大小懸殊,導(dǎo)致小目標(biāo)難以識別與定位.為解決這一問題,提出航區(qū)廣域劃分方法.定義目標(biāo)大小的衡量指標(biāo)如下:
實(shí)測結(jié)果表明SSD 模型能夠檢測λ 在0.1~1 間的目標(biāo),且隨著λ 的降低準(zhǔn)確率有所下降.SSD 的架構(gòu)決定了該模型對小目標(biāo)的檢測有局限性,原因有三:其一,小物體通常在大的特征圖中檢測(如圖3所示),但由圖2 可見,較之于小的特征層,大的特征層在網(wǎng)絡(luò)中所處層次較淺,而小物體的檢測通常需要更深層的特征,這一矛盾制約了小物體的檢測能力;其二是檢測前對圖片的縮放使得小物體原本少的特征信息被進(jìn)一步壓縮,盡管SSD512 相較SSD300 增加了輸入圖像的尺寸,但小物體的檢測能力提升不大;其三是訓(xùn)練過程中正負(fù)樣本的劃分,如圖3 所示,小物體檢測所在的特征圖中負(fù)樣本數(shù)遠(yuǎn)大于正樣本,使得正樣本的特征未能被充分地學(xué)習(xí).上述原因制約了SSD 模型在小目標(biāo)檢測上的表現(xiàn),這是檢測速度與精度妥協(xié)的結(jié)果,盡管RetinaNet[11]等提出通過改進(jìn)損失函數(shù)減小正負(fù)樣本比例失衡的影響,但λ 遠(yuǎn)小于0.1 時目標(biāo)特征信息不足依舊是最大的制約,充分利用監(jiān)控視頻的高清圖像信息方是解決此問題的關(guān)鍵.
因此,針對橋梁主動防撞的大范圍監(jiān)測,本文提出分區(qū)域檢測方法,利用算法自動將監(jiān)測區(qū)域劃分為(m×n+1)個區(qū)域,其中靠近攝像頭且無河岸部分設(shè)為1 個矩形區(qū)域,畫面中兩岸圍成的梯形區(qū)域分為m×n 個區(qū)域,其中m 為橫向分割數(shù),n 為縱向分割數(shù),橫向?qū)挾劝聪碌變砂秾挾染?,縱向高度滿足:
式中:hi為由下向上第i 組矩形區(qū)域高度;HT為梯形高度.
劃分后的區(qū)域在畫面中為(m×n+1)個矩形,將矩形放大1.1~1.2 倍使之相互交錯,如圖8 將畫面劃分為(3×2+1)個區(qū)域,然后將各區(qū)域圖像分別輸入模型進(jìn)行檢測,將檢測結(jié)果重組,對交錯區(qū)域的重合結(jié)果進(jìn)行非極大值抑制,得到監(jiān)測區(qū)域的總檢測結(jié)果.各區(qū)域的相互交錯可避免區(qū)域交界處目標(biāo)割裂導(dǎo)致的漏檢.通過上述方法,能夠使各區(qū)域船舶目標(biāo)的λ保持在檢測準(zhǔn)確率較高的區(qū)間,充分利用高分辨率圖像信息的同時將天空、河岸的無關(guān)區(qū)域舍棄,從而得到覆蓋廣大監(jiān)測范圍的、穩(wěn)定的檢測結(jié)果.如圖9所示,近處較大的目標(biāo)和遠(yuǎn)處極小的目標(biāo)能夠在同一相機(jī)視野中檢測.
航區(qū)廣域劃分方法避免了單幀輸入導(dǎo)致的像素丟失,使高清相機(jī)的圖像信息得到充分利用,解決了大范圍監(jiān)測下小目標(biāo)的識別定位問題.
圖8 區(qū)域劃分方法示意Fig.8 Region division
圖9 檢測效果展示Fig.9 Detection effect
本文提出的船舶目標(biāo)檢測算法在準(zhǔn)確性、穩(wěn)定性、效率和智能化方面均遠(yuǎn)優(yōu)于傳統(tǒng)防撞系統(tǒng)所采用的船舶目標(biāo)檢測算法.現(xiàn)有橋梁主動防撞視頻監(jiān)測系統(tǒng)大多采用基于運(yùn)動的目標(biāo)檢測方法,包括幀間差分法和背景減除法,其中后者是發(fā)展最為成熟、在防撞領(lǐng)域使用最廣泛的方法.背景減除法的基本原理是通過統(tǒng)計(jì)學(xué)理論建立檢測場景的背景圖像,再將每一幀待檢測目標(biāo)圖像與背景圖像進(jìn)行差分,實(shí)現(xiàn)運(yùn)動前景的檢測,并通過背景圖像的動態(tài)更新來適應(yīng)動態(tài)場景的情況.以下將本文所采用的船舶目標(biāo)檢測方法與該方法做了比較.
根據(jù)背景模型的不同,基于背景減除原理的目標(biāo)檢測方法很多,如單高斯背景建模法、混合高斯背景建模法等[12],本文選取了ViBe 算法(Visual Background Extractor,視覺背景提取)為比較對象,該方法由Barnich 等人于2009 年提出[13],基于鄰域隨機(jī)取樣的背景建模方法,是目前最為先進(jìn)的運(yùn)動目標(biāo)檢測方法之一.如圖10 所示,使用SSD 和ViBe 對同一段航道視頻進(jìn)行處理,將船舶目標(biāo)檢測效果進(jìn)行比較.
由第1 s 的檢測結(jié)果可以看出,ViBe 能夠在第2幀就開始檢測,這是其較之于同類算法的優(yōu)勢(背景建模通常需要前若干幀),但由于水面波浪、光照等動態(tài)因素的存在,ViBe 所得到的前景中存在大面積的噪聲,這直接導(dǎo)致了大面積的誤檢.此外,由于初始背景模型將全圖視為背景,還會導(dǎo)致目標(biāo)移動后在其初始位置殘留鬼影[14].本文所提方法不存在初始化和幀間關(guān)聯(lián)的問題,從第1 幀開始便可穩(wěn)定檢測.
圖10 SSD 與傳統(tǒng)背景減除法性能比較Fig.10 Comparison between SSD and conventional method
由第30 s 和第63 s 的檢測結(jié)果可見,盡管通過背景的更新,噪聲面積減小,但其影響依舊存在.另外,從30 s 的結(jié)果可以發(fā)現(xiàn),鬼影的影響仍然存在.噪聲和鬼影將導(dǎo)致背景減除法的檢測結(jié)果中存在大量誤警.值得一提的是,畫面的抖動也將導(dǎo)致大量噪聲的出現(xiàn).此外,可以發(fā)現(xiàn),ViBe 并不能將靜止的目標(biāo)檢測出來,而對于相鄰或重疊的目標(biāo),該方法無法將其有效區(qū)分.從檢測框的精度層面,ViBe 的檢測框中不僅包含目標(biāo)本身,還有目標(biāo)的陰影、倒影以及噪聲,這直接影響到目標(biāo)定位的精度.另外,此類方法需要通過高斯平滑來減小噪聲的影響,這也導(dǎo)致了有效圖像信息的丟失,對小物體的檢測能力有限.
綜上所述,傳統(tǒng)的背景減除算法的檢測需要經(jīng)過初始化,才能進(jìn)入穩(wěn)定檢測階段,并且在抗噪聲、應(yīng)對物體重疊、檢測精度上均有不少局限性.此外,傳統(tǒng)方法僅僅是機(jī)械式地區(qū)分運(yùn)動物體和靜止背景,對靜止目標(biāo)的檢測和運(yùn)動非目標(biāo)的區(qū)分無能為力. 而本文所采用的基于神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測方法,從第1 幀開始便能夠穩(wěn)定檢測,且應(yīng)對上述問題均有良好的表現(xiàn),更為精確、穩(wěn)定、智能,尤其在應(yīng)對光照和水面波浪變化劇烈、橋梁振動等復(fù)雜航道監(jiān)測環(huán)境上,其優(yōu)勢顯而易見.
本文還將兩種方法的運(yùn)行速度進(jìn)行了比較,如圖11 所示,該對比試驗(yàn)采用AMD Ryzen 7 2700X+NVIDIA GTX 1080Ti 的硬件環(huán)境.神經(jīng)網(wǎng)絡(luò)運(yùn)算支持GPU 并行,因此SSD 使用GPU+CPU 運(yùn)算,而ViBe僅使用CPU. 由于SSD300 模型的輸入大小為300×300,因此將測試視頻的圖像尺寸統(tǒng)一縮放到300×300 進(jìn)行處理. 在該分辨率下,ViBe 平均每秒所處理的幀數(shù)僅為1.76 幀,而SSD300 的速度達(dá)到了30.27 fps. 由于本文采用了分區(qū)域檢測的方法來提高圖像信息的利用率,事實(shí)上將單幀圖像劃分為多個圖像進(jìn)行處理,在按圖8 劃分為7 個區(qū)域進(jìn)行檢測的情況下,其每秒處理的幀數(shù)也達(dá)到了8.72 幀. 將ViBe的輸入尺寸提高到512×512 來提高像素利用率,其運(yùn)行速度降低到僅0.66 fps,而檢測效果并無明顯提升.因此,在相同輸入尺度下,本方法的運(yùn)行速度比傳統(tǒng)方法快395%以上,且準(zhǔn)確度更高.
圖11 SSD 與ViBe 算法檢測速度比較Fig.11 Speed comparison between SSD and ViBe
表1 對本文提出的目標(biāo)檢測方法與傳統(tǒng)的船舶目標(biāo)檢測方法進(jìn)行了綜合評價.顯然,基于深度學(xué)習(xí)的船舶目標(biāo)檢測方法在各方面均優(yōu)于傳統(tǒng)方法,更加穩(wěn)定、準(zhǔn)確、高效和智能.
表1 本文方法與傳統(tǒng)方法綜合評價Tab.1 Comprehensive evaluation
以上海松浦大橋?yàn)楸尘斑M(jìn)行了實(shí)橋航區(qū)試驗(yàn),試驗(yàn)?zāi)康脑谟冢浩湟?,獲取實(shí)際航道的船舶圖像數(shù)據(jù),用于模型訓(xùn)練;其二,優(yōu)化視頻獲取模塊的集成與布設(shè)方案;其三,量化本文提出的船舶目標(biāo)檢測方法的定位精度和有效范圍;其四,為進(jìn)一步的航跡預(yù)測模型的建立提供數(shù)據(jù)基礎(chǔ).上海市松浦大橋?yàn)轭A(yù)應(yīng)力連續(xù)鋼桁架結(jié)構(gòu),正橋長419.6 m,四孔,中間二孔跨徑各112 m,兩邊二孔跨徑各96 m.上層公路橋面寬12 m,其中車行道寬9 m,兩端引橋共長1 440 m,南北兩岸各22 孔,跨徑32.7 m.下層鐵路橋兩端引橋共長2 628 m,橋面寬12 m,南岸38 孔,北岸42 孔,跨徑為32.7 m,橋位處河道寬度約400 m.
試驗(yàn)步驟包括標(biāo)定點(diǎn)的布設(shè)與測定、相機(jī)架設(shè)與調(diào)節(jié)、相機(jī)內(nèi)參標(biāo)定、視頻采集燈,其中標(biāo)定點(diǎn)的布設(shè)測定用于后期攝像機(jī)像素坐標(biāo)-世界坐標(biāo)的換算.如圖12 所示,在3 個橋墩頂部橋面處各架設(shè)1 臺攝像機(jī),拍攝航道視頻.其中#1 和#3 攝像機(jī)為普通網(wǎng)絡(luò)攝像機(jī),分別用于拍攝近距離和中距離監(jiān)控區(qū)域的視頻圖像;#2 為云臺攝像機(jī),使用長焦鏡頭,用于拍攝遠(yuǎn)距離監(jiān)控區(qū)域的視頻圖像.試驗(yàn)所拍攝的視頻圖像用于船舶圖像數(shù)據(jù)集的擴(kuò)充和模型訓(xùn)練,以提升神經(jīng)網(wǎng)絡(luò)模型在實(shí)橋場景下的工作性能.
圖12 攝像采集點(diǎn)布設(shè)與模型檢測效果Fig.12 Camera arrangement and detection effect
利用采集到的實(shí)橋監(jiān)控視頻驗(yàn)證目標(biāo)檢測模型在不同視角、不同光線環(huán)境下的工作性能,如圖12所示.首先,由結(jié)果可見該模型在不同視角下均表現(xiàn)出了良好的檢測性能,能夠很好地應(yīng)對船舶目標(biāo)姿態(tài)多樣性的挑戰(zhàn).其次,該視頻拍攝于秋季下午16:00~18:00 間,監(jiān)測區(qū)域?yàn)闃蛄何髌戏较?,該時段的場景變化十分劇烈,船舶目標(biāo)檢測面臨逆光、水波和日落等因素的挑戰(zhàn).從不同時段光線條件下的檢測結(jié)果可以看出,該模型能夠?qū)崿F(xiàn)正常光照環(huán)境下的船舶目標(biāo)穩(wěn)定檢測,在應(yīng)對強(qiáng)烈逆光、夜間環(huán)境光均有良好的表現(xiàn).
如圖12 所示,攝像頭#1 上下兩圖距橋500 m以內(nèi)各有5 艘和6 艘船舶,均被成功檢測,且各有2艘發(fā)生不同程度交叉的船舶,亦得到精準(zhǔn)的區(qū)分;攝像頭#2 上下兩圖中各有10 艘和11 艘船舶,均被成功檢測,尤其下圖中存在強(qiáng)烈的反射光和鏡頭抖動干擾;攝像頭#3 上下兩圖中分別有13 艘和10 艘船舶,同樣得到精確檢測,且上圖中最近和最遠(yuǎn)的船舶目標(biāo)距離超過2 000 m,大小相差超過10 倍,均能被該機(jī)位覆蓋.
試驗(yàn)還對本系統(tǒng)的有效監(jiān)測范圍和定位精度進(jìn)行了驗(yàn)證. 圖13 是航跡跟蹤模塊基于本模型目標(biāo)檢測結(jié)果所得到的船舶目標(biāo)航跡(橋墩處圓角框?yàn)樘幱谝曇懊^(qū)的目標(biāo)). 有賴于使用區(qū)域劃分進(jìn)行大范圍監(jiān)測優(yōu)化,使用中等焦距鏡頭的#3 相機(jī)的有效監(jiān)測范圍達(dá)到了2.5 km,使得檢測方法對小物體的檢測能力不再是有效監(jiān)測范圍的制約因素,取而代之的是河道走向、視野障礙等外在因素.此外,檢測精度的提升也為目標(biāo)的精準(zhǔn)定位提供了良好的數(shù)據(jù)基礎(chǔ).
圖13 #3 攝像頭檢測目標(biāo)航跡和有效監(jiān)測范圍Fig.13 Tracking results and monitoring range under camera#3
綜上,實(shí)橋試驗(yàn)驗(yàn)證了本文提出的主動防船撞系統(tǒng)框架中的基于深度學(xué)習(xí)的目標(biāo)檢測方法,其能夠充分滿足針對橋梁主動防撞航區(qū)目標(biāo)檢測各方面的需求,應(yīng)對包括監(jiān)測時間長、環(huán)境復(fù)雜性高、監(jiān)測范圍大、目標(biāo)外觀多變、檢測精度要求高等問題,從而為系統(tǒng)進(jìn)一步的航跡跟蹤預(yù)測、防撞預(yù)警決策和航道監(jiān)控管理提供信息支持.
本文針對橋梁主動防撞視頻監(jiān)測系統(tǒng)研究了基于深度學(xué)習(xí)的航區(qū)目標(biāo)檢測方法,主要進(jìn)行了以下工作:選擇SSD 作為航區(qū)目標(biāo)檢測的模型基礎(chǔ),建立神經(jīng)網(wǎng)絡(luò)模型;建立船撞專用數(shù)據(jù)集,包含35 155 張船舶圖像,通過樣本選取和數(shù)據(jù)增強(qiáng)兼顧了模型普適性和實(shí)際工作場景下的針對性;通過航區(qū)廣域劃分方法解決小物體檢測問題,中等焦距下單目標(biāo)監(jiān)測范圍達(dá)到100~2 500 m.
綜合評價結(jié)果表明,本文提出的航區(qū)目標(biāo)檢測方法在各方面均較傳統(tǒng)方法有較大提升,包括:有效應(yīng)對噪聲和動態(tài)背景,且無需初始化過程,全程穩(wěn)定工作;不受陰影、倒影和目標(biāo)重疊影響,定位精準(zhǔn),且對λ 小于0.02 的物體亦保持較高檢測率;速度快395%以上,同時像素利用率更高;區(qū)分目標(biāo)類型,減少誤檢和漏檢,智能化程度更高.
實(shí)橋試驗(yàn)驗(yàn)證了本文提出的基于深度學(xué)習(xí)的航區(qū)目標(biāo)檢測方法能滿足航區(qū)全天候、多視角、大范圍、多目標(biāo)的目標(biāo)識別定位需求,為進(jìn)一步的航跡跟蹤預(yù)測、防撞預(yù)警和航道監(jiān)控提供信息支持.