国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度卷積神經(jīng)網(wǎng)絡和聚類的左右軌道線檢測

2021-09-09 08:09曾祥銀鄭伯川
計算機應用 2021年8期
關鍵詞:車道卷積神經(jīng)網(wǎng)絡

曾祥銀,鄭伯川,劉 丹

(西華師范大學計算機學院,四川南充 637002)

0 引言

由于中國社會經(jīng)濟發(fā)展的需要,國家大力發(fā)展鐵路運輸,因此中國鐵路事業(yè)取得了舉世矚目的成就,為中國經(jīng)濟的發(fā)展提供了強勁動力[1]。隨著鐵路網(wǎng)絡覆蓋范圍的不斷增加以及列車運行速度的不斷提高,使得鐵路運輸已成為國民出行和物流運輸?shù)幕窘煌üぞ咧唬踩砸苍絹碓绞艿饺藗兊闹匾暎?]。

異物侵入鐵路安全限界(異物侵限)嚴重影響列車安全運行,如山體滑坡堆積的沙土和石塊,非法入侵的行人、動物和車輛等對列車的安全構成巨大威脅。異物侵限不僅會中斷鐵路交通正常運行,破壞鐵路軌道和列車,還可能會危害到人民生命和財產(chǎn)安全,給國家和人民帶來嚴重損失,因此對異物侵限事件檢測是保障列車安全運行的重要內(nèi)容。

隨著計算機視覺和神經(jīng)網(wǎng)絡技術的發(fā)展,智能視頻監(jiān)測在鐵路安全監(jiān)測中的應用越來越廣泛,基于視頻圖像的鐵路軌道異物侵限檢測,首先需要從圖像中劃定鐵路限界,鐵路限界是指為保證運輸安全而制定的建筑物、設備與機車車輛相互間在線路上不能逾越的輪廓尺寸線,因此快速準確地檢測出鐵路軌道線是異物侵限檢測的第一個關鍵步驟。只有正確檢測出了軌道線才能正確劃定鐵路限界,才能進行異物侵限檢測。

目前,對鐵路軌道線檢測的研究相對較少,現(xiàn)有研究文獻主要采用傳統(tǒng)的基于圖像特征的檢測方法和基于模型匹配的檢測方法?;趫D像特征的檢測方法主要利用軌道區(qū)域和背景區(qū)域在輪廓、方向、灰度、紋理等方面的特征差異來分割軌道線[3-4],其中文獻[4]中的軌道線檢測準確率為77%,檢測速度為0.30 frame/s。文獻[5]中應用圖像處理與識別技術提出基于主方向迭代校正的鐵軌檢測算法,該算法首先基于梯度圖像的霍夫(Hough)變換,估計出軌道的主方向,然后結合判定準則進行軌道檢測與定位,它的軌道線檢測準確率為90%,檢測速度為1.36 frame/s。針對道砟、軌枕等噪聲對傳統(tǒng)的邊緣檢測算法影響較大,文獻[6]中提出一種基于灰度形態(tài)學的軌道邊緣檢測算法,實現(xiàn)軌道邊緣的自適應檢測,并利用多約束霍夫變換對檢測結果進行優(yōu)化提高了檢測精度。基于模型匹配的檢測方法建立局部線性模型或建立直線、拋物線和曲線等全局線性模型來檢測軌道線[7]。文獻[8]中結合軌道在圖像中的特征和拉東(Radon)變換思想,基于布雷森漢姆直線算法(Bresenham’s line algorithm)提出了鐵路軌道直線檢測方法。直線模型只能擬合出鐵軌直線的部分,不能刻畫出軌道彎軌部分,文獻[9]中提出了一種基于直線和雙曲線相結合的分段曲線模型來檢測軌道線,進一步提高了對軌道線描述的準確性,它的軌道線檢測準確率為89%,檢測速度為17.76 frame/s。復雜的線性模型雖能更好地擬合出軌道線邊界,但當軌道周圍出現(xiàn)較多噪聲時,擬合的軌道線可能會出現(xiàn)較大的波動。由于鐵路軌道線周圍區(qū)域包含大量復雜的背景信息,有軌道扣件、軌枕、地面應答器和道砟等設施設備,還有道岔、信號燈、光照和陰影等變化影響,因此軌道線檢測具有較大的難度,在精確度和魯棒性方面還有很大的提升空間。

與鐵路軌道線檢測相似的研究是車道線檢測研究,鐵路軌道線檢測可以借鑒車道線檢測的思想進行研究?,F(xiàn)有的車道線檢測主要分為兩大類。一類是通過傳統(tǒng)的數(shù)字圖像處理方法進行檢測,主要包括模型匹配的檢測方法[10]和特征提取的檢測方法[11]。基于模型匹配的方法,使用數(shù)學中的線性模型來擬合道路圖像中的車道線。如文獻[12]中在近景中使用線性拋物線模型,在遠景中使用二次函數(shù)曲線來擬合車道線。文獻[13]中使用帶有附加非線性的雙曲線模型來匹配曲率連續(xù)變化的道路。文獻[14]中基于隨機采樣一致算法和改進的River Flow算法,提出了一種曲線車道線檢測方法,該方法使用近視野中檢測到的直線或最后一幀的曲線結果來指導遠視野中的特征點搜索,在虛線車道和車輛遮擋情況下提高了車道線檢測的魯棒性能。基于特征的方法,主要是利用車道線的顏色、紋理、亮度等與背景差異較大的車道線特征信息識別檢測圖像中的車道線[15]。文獻[16-17]中主要利用在灰度圖像中車道線像素的灰度通常要大于非車道線像素的灰度的特點來設置合適的閾值尋找車道線。文獻[18]中使用貝葉斯分類來確定縮小圖像中每個像素屬于路面的概率,接著和理想道路面的似然度圖像進行匹配,找到最佳的道路面候選區(qū)域,最后利用霍夫變換檢測車道線。文獻[19]中提出了一種基于形態(tài)學的車道線檢測算法,該算法通過對原始圖像進行濾波,然后利用具有車道模型特征的結構元素對處理后的圖像進行特定目標提取,最后進行霍夫變換標記車道線。另一類是通過神經(jīng)網(wǎng)絡的方式進行檢測,文獻[20]中提出SCNN(Spatial CNN)模型,通過將常規(guī)的逐層卷積(layer-by-layer convolutions)換成了逐條卷積(slice-by-slice convolutions),使得信息可以跨行和跨列傳遞,更好地檢測到車道線。文獻[21]中將車道檢測問題看作一個實例分割問題,設計了兩個網(wǎng)絡分支,車道分割分支負責區(qū)分車道和背景,而車道嵌入分支則把分段的車道像素分解成不同的車道線實例。文獻[22]中將生成對抗網(wǎng)絡(Generative Adversarial Network,GAN)引入車道線檢測,增加分割網(wǎng)絡中像素之間的關聯(lián),提高了檢測精度。文獻[23]中提出了Line-CNN網(wǎng)絡模型,使用目標檢測方法檢測車道線。由于車道線的區(qū)域遠小于目標檢測中的物體區(qū)域,該模型使用候選線(line proposal)來替換傳統(tǒng)目標檢測的候選區(qū)域(region proposal)。文獻[24]中在候選線的基礎上引入注意力機制,提出了一個速度與性能兼?zhèn)涞能嚨谰€檢測模型。更多的使用神經(jīng)網(wǎng)絡方式用于車道線檢測請參閱文獻[25-28]。由于神經(jīng)網(wǎng)絡可以自動從訓練數(shù)據(jù)中學習潛在特征,并把學習結果向同類型未知數(shù)據(jù)泛化,因此基于神經(jīng)網(wǎng)絡方式的車道線檢測準確率遠高于傳統(tǒng)檢測方式。

基于神經(jīng)網(wǎng)絡的車道線檢測方法具有檢測準的優(yōu)點,但多數(shù)神經(jīng)網(wǎng)絡模型層級深、結構復雜導致計算量特別大,對軟硬件條件要求高,實用性不強。本文在借鑒已有的車道線和鐵路軌道線檢測方法的基礎上,結合鐵路軌道線的特征,提出了一種簡單高效的基于深度卷積神經(jīng)網(wǎng)絡的鐵路軌道線線檢測方法,該方法能快速、準確地檢測出軌道線。本文的主要工作包括:

1)使用網(wǎng)格分割法縮小標注圖像的尺寸,用一個像素點代替網(wǎng)格局部區(qū)域的軌道線信息。基于縮小的軌道線標注圖,提出一種新的用于軌道線分割檢測的深度卷積神經(jīng)網(wǎng)絡。與一般分割網(wǎng)絡輸出整張分割圖像不同,該網(wǎng)絡輸出的分割圖像與縮小后的軌道線標注圖大小相同,因此該網(wǎng)絡具有結構簡單、參數(shù)量少、推理速度快等優(yōu)點。

2)針對檢測出的軌道線,提出了一種基于幾何信息的左右軌道線點聚類方法,該方法能夠正確區(qū)分出左右軌道線點。

1 數(shù)據(jù)集

1.1 數(shù)據(jù)采集

本文數(shù)據(jù)集來源于真實鐵路軌道上的錄制視頻,通過視頻處理軟件對視頻進行每秒截取一幀的方式,總共獲取到2 996張原始圖像,部分圖像如圖1所示。

圖1 鐵路軌道圖像Fig.1 Railway track images

1.2 數(shù)據(jù)預處理

由于采集視頻的設備不具備防抖功能,導致截取的部分圖像存在模糊的現(xiàn)象,需要對模糊圖像進行數(shù)據(jù)清理,最終刪除1 976張無法標注軌道線的模糊圖像,剩下1 020張較為清晰的圖像。截取的圖像大小為1 920像素×1 080像素。由于鐵路軌道區(qū)域集中在圖像的中下區(qū)域,為了保留軌道區(qū)域的情況下提高模型性能,對原始圖像進行裁剪。對每張原始圖像裁剪左上角坐標點(460,80)和圖像右下角坐標點(1 460,1 080)所形成的矩形區(qū)域作為最終的圖像,裁剪所得的圖像大小為1000像素×1000像素。

1.3 數(shù)據(jù)標注

鐵路軌道線檢測相關的研究相對較少,因此參考車道線檢測相關研究對鐵路軌道線進行標注。具體方式是使用專業(yè)車道線數(shù)據(jù)集標注軟件labelme,手工對每張圖像上的軌道線進行標注,盡可能標注更多點來體現(xiàn)鐵路軌道線本身的直線和弧線形狀,然后將這些標注點坐標保存到標簽文件中。原圖標注效果如圖2所示。

圖2 標注圖像Fig.2 Labeled images

1.4 標注圖像網(wǎng)格分割

本文數(shù)據(jù)集的原始標注圖像是二值圖像,將原始標注圖像沿水平方向和垂直方向分別進行50等分,劃分成50×50個網(wǎng)格。每一個網(wǎng)格代表20像素×20像素信息,轉換后的標注圖像Thw(1≤h≤50,1≤w≤50),每個像素的取值如下:

其中,標注圖像網(wǎng)格分割如圖3所示:圖3(a)是原標注圖像中有軌道線點超過10個的情況,縮小為一個軌道線點,并將此網(wǎng)格的像素值設置為1,表示存在軌道線;圖3(b)是原標注圖中軌道線點少于10個情況,縮小為一個非軌道線點,并將此網(wǎng)格的像素值設置為0,表示不存在軌道線;圖3(c)是對原始標注圖像經(jīng)過網(wǎng)格化后處理的標簽結果。

圖3 網(wǎng)格分割定位示意圖Fig.3 Schematic diagram of grid division and location

本文基于對比實驗結果,將網(wǎng)格分割閾值設置為10個軌道線點。如圖4所示:圖4(a)是原始標注圖,大小為1 000像素×1 000像素;圖4(b)~(d)是分割定位圖,大小為50像素×50像素。圖4(b)是設置閾值為10的情況,能夠很好保留原始標注圖的信息。圖4(c)和(d)分別是閾值為15和20的情況,可以看出,閾值太大就不能很好地保留原始標注圖的信息。因此,本文選擇一個能夠相對較好保留原始標注信息的閾值。

圖4 不同閾值的網(wǎng)格分割效果對比Fig.4 Comparison of grid division effect with different thresholds

1.5 數(shù)據(jù)擴充

經(jīng)過數(shù)據(jù)處理后,剩下1 020張圖像及其對應的標簽文件,考慮到數(shù)據(jù)量過小不能達到訓練神經(jīng)網(wǎng)絡的要求,結合現(xiàn)實中數(shù)據(jù)的情況采用水平和垂直翻轉對數(shù)據(jù)集進行擴充。數(shù)據(jù)擴充后的數(shù)據(jù)集包含4 080張圖像,并且在模型訓練時,實時對數(shù)據(jù)進行亮度、對比度、飽和度以及顏色方式的增強。

2 左右鐵路軌道線檢測方法

本文提出一種可區(qū)分左右軌道線的鐵路軌道線檢測方法,該方法主要分為3個部分:第1部分采用深度卷積神經(jīng)網(wǎng)絡模型將圖像中的列車行駛前方的兩條軌道線檢測出來;第2部分則采用幾何信息聚類方法區(qū)分并聚類左右兩條鐵路軌道線;第3部分將檢測到的軌道線還原到原始圖像中。

2.1 基于深度卷積神經(jīng)網(wǎng)絡的軌道線分割

通?;谏疃染矸e神經(jīng)網(wǎng)絡的圖像分割是對每一個像素進行判斷,因此存在分割速度不夠快的問題。為了改進圖像逐像素分割方法速度不夠快的問題,本文提出一種基于深度卷積神經(jīng)網(wǎng)絡的軌道線分割方法。提出的深度卷積神經(jīng)網(wǎng)絡模型主體呈線性結構,由卷積層、池化層、歸一化層以及激活層所組成,具體結構如圖5所示。

圖5 所提方法的網(wǎng)絡結構Fig.5 Network structureof the proposed method

其中ConvBlock是一個由3×3卷積、BatchNorm2D歸一化和LekyRelu激活所構成的模塊,每次進行ConvBlock操作可以選擇輸出結果的通道數(shù),多次ConvBlock操作使得輸入數(shù)據(jù)的通道數(shù)由3增長到256再減少到1,輸入圖像大小為800像素×800像素,通道數(shù)為3,卷積過程采用填充方式不改變圖像大小。每次經(jīng)過最大池化操作后,圖像大小變?yōu)樵瓉淼囊话?,總共?jīng)過4次池化操作,最終輸出層圖像大小變?yōu)?0像素×50像素,通道數(shù)為1。每個像素點也是概率點,代表原始圖像每個20像素×20像素大小網(wǎng)格區(qū)域是否存在軌道線。模型整體參數(shù)量為100萬級別,模型參數(shù)體積為4.3 MB。

采用二分類交叉熵損失函數(shù)(Binary CrossEntropy)計算模型損失。設P為模型推理得到的檢測圖中所有像素點構成的集合,G為真實的標注掩模圖中所有像素點構成的集合,損失函數(shù)定義為:

其中:pi為模型檢測圖中像素點i的值,gi為標注圖像中像素點i的值,N是圖像的像素點總個數(shù)。

2.2 鐵路左右軌道線區(qū)分

神經(jīng)網(wǎng)絡檢測出鐵路軌道線位置信息后,還需要通過位置信息聚類出左右軌道線。本文采用幾何信息聚類方法將檢測出的軌道線點進行軌道線歸類,具體算法步驟如下:

1)對每張檢測概率圖,從下往上、從左往右沿著密度上升的方向移動,依次處理每個檢測為軌道線的像素概率點。

2)對每個軌道線點,判斷是否確定了軌道線的起點,若沒有則執(zhí)行步驟3),若有則執(zhí)行步驟4)。

3)將當前軌道線點作為一條軌道線的起點。

4)計算與已歸類軌道線點集合的距離、角度相關性。計算歸類判斷方法如圖6所示,設已歸類軌道線點集合Ω構成的線為L2,欲歸類檢測點為P1,已歸類軌道線點集合中距離P1最近的點為P2,P1和P2構成的線為L1,P1和P2之間的距離為S,L1和L2之間的夾角為α,具體判斷如下:如果S≥width/3并且|α|≥π/4,其中width為檢測概率圖的寬度,那么P1作為一條新的軌道線起點;否則計算P1點和每個已歸類好的軌道線點集合的相關性:R=1/α+1/S,排序相關性,將P1歸入到相關性最大的軌道線集合。

圖6 相關屬性計算Fig.6 Calculation of related attributes

5)重復步驟1)~4),直到所有像素概率點處理完成。

得到了區(qū)分左右軌道線的位置信息,可視化效果如圖7所示。

圖7 左右軌道線聚類部分結果Fig.7 Some resultsof clusteringof left and right railway tracks

2.3 檢測出的軌道線還原到原圖像

檢測圖大小為50像素×50像素,其中一個像素點代表原圖中的一個20像素×20像素區(qū)域,為了將檢測圖中的軌道線點還原到原圖軌道線上,只需要將檢測圖中軌道線點的坐標做相應的放大就可以了。具體做法為:

其中,xi、yi是檢測圖中軌道線點i的坐標,xi'、yi'是原圖中對應的軌道線點i的坐標。檢測圖與原圖中對應軌道線點如圖8所示。

圖8 檢測結果還原到原始圖Fig.8 Detection results returning to original images

分別對左右軌道線點集合,采用直接連線軌道線點方式獲得完整的軌道線。如圖9是繪制了完整軌道線的部分原圖??梢钥闯?,檢測得到的軌道線與真實軌道貼合很緊密,并且左右軌道也能夠正確區(qū)分。

圖9 部分軌道線檢測結果Fig.9 Some resultsof railway track detection

3 實驗與結果分析

實驗使用硬件環(huán)境:CPU為Inter Xeon 4114,2個CPU 2.20 GHz,RAM大小為32 GB,GPU為NVIDIA GP100,GPU內(nèi)存16 GB。軟件環(huán)境:Ubuntu18.04、Pytorch1.4、Python3.6.9。

3.1 模型訓練

數(shù)據(jù)集被分為訓練集(80%)、驗證集(10%)和測試集(10%)進行模型優(yōu)化和性能評價。由于模型輸入數(shù)據(jù)大小為800像素×800像素,而預處理后的圖片大小為1 000像素×1 000像素,在進行模型訓練、測試和檢測的過程中,本文使用了雙立方插值實時對讀取數(shù)據(jù)進行Resize操作。

訓練過程得到的訓練和驗證損失曲線如圖10所示,訓練初始模型的訓練集和驗證集損失都比較高,第2到第5個批次(epochs)損失迅速下降,接著損失緩慢下降;當訓練批次達到15次左右,模型達到最佳效果。在后續(xù)的訓練中,訓練損失和驗證損失都無明顯變化,說明對于當前數(shù)據(jù)集,模型已經(jīng)得到了充分的訓練。

圖10 損失函數(shù)的變化情況Fig.10 Changeof loss functions

3.2 評價指標

為了判斷一條軌道線是否被檢測出來,本文借鑒車道線檢測中的相關方法將鐵路軌道視為寬度等于10像素的線[20-22],并計算標注圖像中的線和模型檢測圖中線之間的交并比(Intersection over Union,IoU)。當IoU大于等于某個閾值(0.30/0.35/0.40/0.45/0.50)則認為是正確檢測到軌道線(True Positive,TP),若IoU小于設定的閾值則認為是假正例(False Positive,F(xiàn)P),除此之外,標注圖中存在的軌道線而模型沒有檢測到則是假負例(False Negative,F(xiàn)N)。另外,使用F1作為最后的評價指標:

其中:Precision為精確率、Recall為召回率。它們的計算方式如下:

準確率(Accuracy)的計算參考并結合文獻[9]和文獻[20]的計算方式:

其中n為測試數(shù)據(jù)集中標注軌道線的總數(shù)量,Oi是第i軌道線的檢測結果,每個結果的取值如下:

Thr為設定的閾值。

3.3 實驗結果

利用上述評價指標,對測試數(shù)據(jù)集使用本文提出的方法檢測軌道線的性能如表1所示。當閾值取值為0.30,0.30為車道線檢測中容差率的最低標準(最高標準為0.50),F(xiàn)1最高達到了98.82%。隨著閾值取值的增大,召回率、精確率和F1性能指標都開始下降。當閾值由0.35增大到0.50時,F(xiàn)1指標快速下降了29.61%。結合可視化結果發(fā)現(xiàn)在視覺遠端的軌道線檢測的準確率比較低,近端的準確率高。而作為高速行駛的列車,它的危險區(qū)域要大于傳統(tǒng)的車道區(qū)域,因此本文使用0.35作為軌道線檢測最終的閾值。

表1 所提方法的軌道線檢測性能 單位:%Tab.1 Railway track detection performanceof the proposed method unit:%

其中測試數(shù)據(jù)集中總共有204條標注軌道線,模型正確檢測出196條軌道線,準確率達到96%,多次實驗計算得到平均檢測速度為155 frame/s,能夠實時地對視頻監(jiān)控圖像進行軌道線檢測,部分軌道線檢測結果如圖9所示。

4 結語

通過研究已有的車道線和鐵路軌道線檢測方法,提出一種新的可區(qū)分左右軌道的鐵路軌道線檢測方法。該方法首先構建一個深度卷積神經(jīng)網(wǎng)絡模型用于檢測鐵路軌道線,然后使用幾何信息聚類方法區(qū)分左右軌道線,最終對鐵路軌道線的檢測達到了96%的檢測準確率和155 frame/s的檢測速度。所提出的深度卷積神經(jīng)網(wǎng)絡模型的體積和計算量都比較小,適合部署到邊緣移動設備進行實時軌道線檢測。本文雖然能快速從視頻圖像中提取軌道線,但是對遠端軌道線的檢測準確率不高。下一步的研究工作主要考慮對遠端和近端使用不同大小的網(wǎng)格分割以提高檢測準確率。

猜你喜歡
車道卷積神經(jīng)網(wǎng)絡
智慧收費機器人在高速公路車道上的應用
基于全卷積神經(jīng)網(wǎng)絡的豬背膘厚快速準確測定
基于神經(jīng)網(wǎng)絡的船舶電力系統(tǒng)故障診斷方法
基于OpenCV的直道車道線識別技術研究
MIV-PSO-BP神經(jīng)網(wǎng)絡用戶熱負荷預測
北斗+手機實現(xiàn)車道級導航應用
基于改進Hopfield神經(jīng)網(wǎng)絡的對地攻擊型無人機自主能力評價
一種基于卷積神經(jīng)網(wǎng)絡的地磁基準圖構建方法
基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
一種并行不對稱空洞卷積模塊①
大城县| 康定县| 高尔夫| 沽源县| 措勤县| 宁南县| 赫章县| 绥芬河市| 聂拉木县| 鄂尔多斯市| 宜兰县| 东宁县| 韶山市| 甘泉县| 高邑县| 庄河市| 衡水市| 大城县| 元氏县| 马公市| 札达县| 灌阳县| 博爱县| 鹤岗市| 高雄县| 长寿区| 饶河县| 咸阳市| 大余县| 邯郸县| 鹤壁市| 澜沧| 无为县| 开江县| 青浦区| 隆德县| 海安县| 沈丘县| 蓬莱市| 林州市| 巩义市|