程遠(yuǎn)航,余 軍
(貴州大學(xué)科技學(xué)院,貴州 貴陽(yáng) 550003)
圖像目標(biāo)檢測(cè)技術(shù)隨著深度學(xué)習(xí)技術(shù)的成熟得到快速發(fā)展。作為主要深度學(xué)習(xí)技術(shù)之一,R-CNN(Reigions with CNN features,遞歸神經(jīng)網(wǎng)絡(luò))算法是典型的目標(biāo)檢測(cè)算法[1],該算法主要在GPU內(nèi)實(shí)現(xiàn),計(jì)算效率與準(zhǔn)確性能夠得到保障。因此R-CNN算法普遍應(yīng)用在圖像目標(biāo)檢測(cè)領(lǐng)域中。近些年,R-CNN算法在目標(biāo)檢測(cè)領(lǐng)域中不斷創(chuàng)新,先后提出Fast R—CNN、Faster R—CNN、YOLO、SSD等算法[2]。Mask R—CNN算法是在Fast R—CNN算法基礎(chǔ)上添加了并行的mask分支[3],可針對(duì)不同ROI構(gòu)建一個(gè)像素級(jí)別的二進(jìn)制掩碼。利用Mask R—CNN算法不僅能夠分割圖像邊界框,同樣適用于圖像內(nèi)物體的細(xì)粒度分割,并且具有較高的檢測(cè)精度與效率。因此,將Mask R—CNN算法應(yīng)用于車位狀態(tài)智能識(shí)別過(guò)程中,提出基于Mask R-CNN的車位狀態(tài)智能識(shí)別算法。
Mask R-CNN網(wǎng)絡(luò)的本質(zhì)為Faster R-CNN網(wǎng)絡(luò)的并行擴(kuò)展,通過(guò)增添一個(gè)分支網(wǎng)絡(luò)不僅完成目標(biāo)檢測(cè),并且能夠分割目標(biāo)像素。利用該算法可實(shí)現(xiàn)目標(biāo)檢測(cè)、圖像實(shí)例分割與車輛關(guān)鍵點(diǎn)檢測(cè)等過(guò)程。圖像檢測(cè)技術(shù)后的下一過(guò)程即實(shí)例分割,通過(guò)圖像目標(biāo)檢測(cè)分類不同單體目標(biāo)并逐一標(biāo)記后,通過(guò)實(shí)例分割在各像素上明確目標(biāo)的具體類別[4]。Mask R-CNN網(wǎng)絡(luò)模型框架如圖1所示。
利用Mask R-CNN網(wǎng)絡(luò)檢測(cè)圖像目標(biāo)過(guò)程中,首先確定圖像內(nèi)的ROI(感興趣區(qū)域),利用ROI ALign修正各ROI內(nèi)像素,利用Faster R-CNN網(wǎng)絡(luò)框架預(yù)測(cè)各ROI實(shí)例類別,由此獲取圖像實(shí)例分割結(jié)果。將Faster R-CNN網(wǎng)絡(luò)內(nèi)添加的mask分支作為Mask R-CNN網(wǎng)絡(luò)內(nèi)的損失函數(shù),其表達(dá)式為:
S=Scls+Sbox+Smask
(1)
上式內(nèi),Scls、Sbox和Smask分別表示分類誤差、檢查誤差和分割誤差,其中Smask描述各ROI內(nèi)像素通過(guò)sigmod函數(shù)獲取的平均熵誤差。采用mask編輯輸入目標(biāo)空間布局的代碼。預(yù)測(cè)ROI過(guò)程中主要采用m*m的矩陣,主要是由于這樣可以最大限度上確保ROI空間信息的完整性[5]。在智能查找停車位過(guò)程中,ROI區(qū)域內(nèi)通常為“車輛”,所以式(1)內(nèi)的Smask可理解成“車輛”的分支的mask。Mask R-CNN網(wǎng)絡(luò)整體由三部分組成[6],分別是特征提取階段的主干網(wǎng)絡(luò)、識(shí)別分類邊界框的頭結(jié)構(gòu)和區(qū)分不同ROI的mask預(yù)測(cè)。
Mask R-CNN網(wǎng)絡(luò)與Faster R-CNN網(wǎng)絡(luò)的區(qū)別是該算法中針對(duì)當(dāng)前RCNN頭結(jié)構(gòu)進(jìn)行了擴(kuò)展。
在具有時(shí)變性與復(fù)雜性的交通路線內(nèi)查找并定位車位[7],可通過(guò)視頻監(jiān)控實(shí)現(xiàn),檢測(cè)停車位視頻圖像內(nèi)的車輛,同時(shí)確定不同幀圖像內(nèi)車輛是否產(chǎn)生位移,以此預(yù)測(cè)車位位置。
檢測(cè)視頻圖像內(nèi)車輛信息時(shí)在GPU內(nèi)采用Mask R-CNN網(wǎng)絡(luò),可實(shí)現(xiàn)數(shù)幀/s的高分辨率目標(biāo)檢測(cè)。用Mask R-CNN網(wǎng)絡(luò)在確定視頻圖像內(nèi)不同對(duì)象位置的同時(shí),還可以描述不同對(duì)象的大體外框結(jié)構(gòu)。
圖2 Mask R-CNN圖像檢測(cè)
在訓(xùn)練Mask R-CNN網(wǎng)絡(luò)過(guò)程中選用內(nèi)涵object masks注釋圖像的COCO數(shù)據(jù)集。同時(shí),針對(duì)我國(guó)實(shí)際交通狀態(tài)特征,在數(shù)據(jù)集中選取海量汽車圖片并追蹤選取圖片內(nèi)的全部汽車。另外,針對(duì)待檢測(cè)的視頻圖像,在獲取汽車信息的同時(shí),同樣需要綜合交通信號(hào)燈、樹木、行人等信息。
在視頻圖像中利用Mask R—CNN網(wǎng)絡(luò)模型檢測(cè)汽車目標(biāo)能夠獲取四種不同類型的信息[8]。分別是:①視頻圖像內(nèi)對(duì)象類型,通常用整數(shù)描述,對(duì)COCO數(shù)據(jù)集中數(shù)圖像Mask R—CNN網(wǎng)絡(luò)模型可檢測(cè)出75種以上、如汽車、人、建筑等不同類型的常見(jiàn)物體。②視頻圖像內(nèi)物體目標(biāo)檢測(cè)的置信度,其值同Mask R—CNN網(wǎng)絡(luò)模型準(zhǔn)確識(shí)別對(duì)象的概率之間成正比關(guān)系。③視頻圖像內(nèi)檢測(cè)目標(biāo)的邊界框,同時(shí)檢測(cè)目標(biāo)所在位置通過(guò)橫、縱坐標(biāo)位置比描述。④呈現(xiàn)邊界框內(nèi)部分像素歸屬于檢測(cè)目標(biāo)和像素不歸屬,檢測(cè)目標(biāo)的位圖“mask”,分析并處理這部分?jǐn)?shù)據(jù),由此確定檢測(cè)目標(biāo)的外框結(jié)構(gòu)。
目標(biāo)識(shí)別與分割過(guò)程如下:利用Mask R—CNN網(wǎng)絡(luò)模型檢測(cè)目標(biāo)之前,需先訓(xùn)練該模型。因采集視頻圖像數(shù)量較少,為避免Mask R—CNN網(wǎng)絡(luò)訓(xùn)練過(guò)程出現(xiàn)過(guò)擬合問(wèn)題,首先訓(xùn)練COCO數(shù)據(jù)集,該數(shù)據(jù)集內(nèi)包含近9萬(wàn)個(gè)樣本,且各樣本內(nèi)的物體類別僅具有語(yǔ)義標(biāo)注,適用于圖像目標(biāo)檢測(cè)與分割。分別采集錐形、圓柱形、球形、正方形等常見(jiàn)目標(biāo)物體,通過(guò)LableMe標(biāo)記獲取標(biāo)簽圖[9]。選取數(shù)據(jù)增廣方式隨機(jī)旋轉(zhuǎn)原圖像角度獲取新圖像,由此降低樣本多樣性缺陷的問(wèn)題。為降低光照電度與顏色波動(dòng)對(duì)于目標(biāo)識(shí)別產(chǎn)生的副作用,選取新的數(shù)據(jù)增光方式變化視頻圖像RGB通道強(qiáng)度,對(duì)RGB視頻圖像像素值實(shí)施主成分分析后,將視頻圖像內(nèi)各像素增加一個(gè)隨機(jī)倍數(shù)的主成分,公式描述為:
(2)
上式內(nèi),y表示RGB視頻圖像像素值的3*3協(xié)方差矩陣的特征向量,γ表示隨機(jī)變量,δ表示協(xié)方差矩陣的特征值。其中γ符合高斯隨機(jī)分布。
視頻圖像中通常存在一定程度的噪聲干擾,因此在進(jìn)行Mask R-CNN網(wǎng)絡(luò)訓(xùn)練時(shí)需實(shí)施中值濾波操作[10]。訓(xùn)練流程如圖3所示。
圖3 Mask R-CNN網(wǎng)絡(luò)訓(xùn)練流程圖
Mask R-CNN網(wǎng)絡(luò)訓(xùn)練總共由三部分組成,分別是:利用學(xué)習(xí)率為0.001訓(xùn)練頭部輸出網(wǎng)絡(luò)層;利用學(xué)習(xí)率為0.001訓(xùn)練四層以后的網(wǎng)絡(luò)層;利用學(xué)習(xí)率為0.0001訓(xùn)練整體Mask R-CNN網(wǎng)絡(luò)層。當(dāng)模型訓(xùn)練誤差固定時(shí)訓(xùn)練結(jié)束。
為確定訓(xùn)練后Mask R-CNN網(wǎng)絡(luò)分割結(jié)果的性能,以重疊率為指標(biāo)評(píng)價(jià)視頻圖像目標(biāo)識(shí)別與分割的準(zhǔn)確度,式(3)描述重疊率計(jì)算過(guò)程
(3)
上式內(nèi),ZE和ZH分別表示Mask R-CNN網(wǎng)絡(luò)預(yù)測(cè)分割的區(qū)域的實(shí)際視頻圖像中目標(biāo)區(qū)域。
通過(guò)上述目標(biāo)識(shí)別與分割過(guò)程能夠檢測(cè)到視頻圖像內(nèi)的汽車對(duì)象,并得到各汽車的邊界框和坐標(biāo)位置,如圖4和表1所示。
圖4 汽車邊界
表1 汽車坐標(biāo)位置
通過(guò)Mask R-CNN網(wǎng)絡(luò)獲取單幀視頻圖像內(nèi)汽車外邊框與像素坐標(biāo)位置后,連續(xù)檢測(cè)多幀視頻圖像,若汽車坐標(biāo)位置未出現(xiàn)變化,則可判斷此區(qū)域?yàn)橥\囄弧?/p>
經(jīng)過(guò)分析Mask R-CNN網(wǎng)絡(luò)檢測(cè)汽車邊界框的結(jié)果可知,汽車邊界框與停車位邊界框存在部分交叉區(qū)域,因此可通過(guò)IOU(Intersection over union)法判斷兩個(gè)邊界框交叉區(qū)域的像素?cái)?shù)量,同時(shí)確定其與兩個(gè)汽車目標(biāo)覆蓋區(qū)域像素總量的商值。
IOU法實(shí)現(xiàn)過(guò)程如圖5所示。利用Mask R-CNN網(wǎng)絡(luò)檢測(cè)視頻圖像內(nèi)目標(biāo)后,得到不同目標(biāo)的邊界框和坐標(biāo)位置,將得到的全部信息輸入IOU法內(nèi)。
圖5 IOU法實(shí)現(xiàn)過(guò)程
圖5中number和n分別為Mask R-CNN網(wǎng)絡(luò)檢測(cè)出的汽車數(shù)量和通過(guò)IOU法過(guò)濾后視頻圖像中實(shí)際車輛數(shù)。
通過(guò) IOU法可大致確定視頻圖像中停車位邊界框與汽車邊界框之間的交叉程度。設(shè)兩個(gè)邊界框整體交叉時(shí)IOU值為1,在IOU值不大于0.15時(shí),表示停車位絕大部分區(qū)域沒(méi)有被汽車占據(jù),這說(shuō)明停車位當(dāng)前處于空閑狀態(tài);在IOU值大于0.5時(shí),表示停車位大部分區(qū)域被汽車占據(jù),表明停車位當(dāng)前處于非空閑狀態(tài)。
為驗(yàn)證本文提出的基于Mask R-CNN的車位狀態(tài)智能識(shí)別算法的有效性,選取我國(guó)南方某城市中凌河區(qū)為實(shí)驗(yàn)區(qū)域,設(shè)定實(shí)驗(yàn)環(huán)境與訓(xùn)練數(shù)據(jù)集后,進(jìn)行車位狀態(tài)識(shí)別,結(jié)果如下。
實(shí)驗(yàn)環(huán)境:i7處理器,64G內(nèi)存。
訓(xùn)練數(shù)據(jù)集:COCO數(shù)據(jù)集。
圖6所示為本文算法車位狀態(tài)識(shí)別的結(jié)果,其中紅色邊框?yàn)榉强臻e車位,綠色邊框?yàn)榭臻e車位。
圖6 車位狀態(tài)識(shí)別結(jié)果
由圖6可知,在不同視頻圖像中采用本文算法均可有效檢測(cè)出不同環(huán)境中的停車位,并準(zhǔn)確識(shí)別出車位是否為空閑狀態(tài),由此可知本文算法可有效實(shí)現(xiàn)車位狀態(tài)識(shí)別目的。
表2所示為針對(duì)上述三幅視頻圖像,本文算法、基于邊緣檢測(cè)的識(shí)別算法和基于四元數(shù)劇理論的是識(shí)別算法在目標(biāo)檢測(cè)的精度與用時(shí)。
表2 目標(biāo)檢測(cè)的精度與用時(shí)對(duì)比
由表2得到,包括本文算法在內(nèi)的三種算法中本文算法的目標(biāo)檢測(cè)精度均在99%以上,而其它兩種算法精度在90%—94%之間,其中基于邊緣檢測(cè)的識(shí)別算法精度略高于基于四元數(shù)劇理論的識(shí)別算法。本文算法目標(biāo)檢測(cè)用時(shí)顯著少于兩種對(duì)比算法,而基于邊緣檢測(cè)的識(shí)別算法所需時(shí)間略高于基于四元數(shù)劇理論的識(shí)別算法。由此可知本文算法在目標(biāo)檢測(cè)方面的性能顯著由于對(duì)比算法。
表3所示為三種算法對(duì)于車位狀態(tài)識(shí)別的精度與所需時(shí)間。
表3 車位狀態(tài)識(shí)別的精度與時(shí)間對(duì)比
分析表3得到,本文算法在識(shí)別車位狀態(tài)時(shí)的精度達(dá)到100%,而所需時(shí)間也少于對(duì)比算法。綜合表2內(nèi)容得到本文算法在識(shí)別車位狀態(tài)時(shí)具有較高的精度和效率。
為測(cè)試本文算法在識(shí)別車位狀態(tài)過(guò)程中的實(shí)時(shí)能耗,分別采用本文算法、基于邊緣檢測(cè)的識(shí)別算法和基于四元數(shù)學(xué)理論的識(shí)別算法識(shí)別實(shí)驗(yàn)區(qū)域內(nèi)車位狀態(tài),對(duì)比不同算法識(shí)別過(guò)程中的實(shí)時(shí)能耗,結(jié)果如圖7所示。
圖7 不同算法車位狀態(tài)識(shí)別過(guò)程能耗對(duì)比
如圖7可知,本文算法在識(shí)別車位狀態(tài)過(guò)程中的實(shí)時(shí)能耗控制在0.60J/s之下,平均能耗大約為0.35J/s?;谶吘墮z測(cè)的識(shí)別算法和基于四元數(shù)劇理論的識(shí)別算法實(shí)時(shí)能耗上限值分別達(dá)到1.1J/s以上和1.0J/s以上,平均能耗與本文算法相比分別提升0.4J/s以上。上述實(shí)驗(yàn)結(jié)果說(shuō)明本文算法識(shí)別車位狀態(tài)過(guò)程中實(shí)時(shí)能耗顯著低于對(duì)比算法。
不同停車位狀態(tài)識(shí)別算法的核心技術(shù)對(duì)比如表4所示。通過(guò)對(duì)比不同算法核心技術(shù)的優(yōu)、劣勢(shì),驗(yàn)證本文算法的適用性。
分析表4中的內(nèi)容可得,相較于其它幾種對(duì)比算法,本文算法最適合作為車位狀態(tài)識(shí)別算法,這是由于本文算法在查找停車位過(guò)程中使用的攝像頭成本較低,安裝與維護(hù)相對(duì)簡(jiǎn)單,利用一個(gè)攝像頭可監(jiān)控?cái)?shù)個(gè)停車位,這將顯著降低硬件裝配過(guò)程的工作量。并且本文方算法的劣勢(shì)主要針對(duì)高速移動(dòng)車輛,但汽車在駛進(jìn)/駛出停車位時(shí)通常速度不會(huì)太快,因此這一劣勢(shì)可忽略。
由此可知本文算法具有較高的適用性,可普遍推廣。
表4 不同車位狀態(tài)識(shí)別算法的核心技術(shù)對(duì)比
相較于以往普遍使用的目標(biāo)檢測(cè)算法,Mask R-CNN網(wǎng)絡(luò)模型檢測(cè)精度更高,且不通過(guò)滑動(dòng)窗口即可高效檢測(cè)整副圖像內(nèi)的全部目標(biāo),所以本文提出的基于Mask R-CNN的車位狀態(tài)智能識(shí)別算法的尋找效率較高。但通過(guò)后續(xù)大量實(shí)驗(yàn)測(cè)試與應(yīng)用反饋得到,在某些條件下單幀圖像內(nèi)會(huì)存在少量汽車被漏檢的現(xiàn)象,因此要實(shí)際查找車位并判斷車位是否空閑時(shí)需檢測(cè)7、8幀的連續(xù)視頻圖像,避免因單幀視頻圖像漏檢問(wèn)題導(dǎo)致識(shí)別偏差。同時(shí)這也是后續(xù)研究中的主要研究方向。