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

?

基于運動軌跡特征學(xué)習(xí)的行駛區(qū)域自擴充算法

2021-01-18 03:37黃林泉蔣良衛(wèi)
現(xiàn)代計算機 2020年32期
關(guān)鍵詞:端點車道軌跡

黃林泉,蔣良衛(wèi)

(南華大學(xué)計算機學(xué)院,衡陽 421000)

0 引言

近年來隨著我國經(jīng)濟迅速發(fā)展,各地城市化進程加快,機動車數(shù)量不斷增加,據(jù)公安部統(tǒng)計,截至2019年上半年全國機動車保有量達3.4億輛,新登記汽車1242萬輛,新領(lǐng)證駕駛?cè)?408萬人。全國66個城市汽車保有量超過100萬輛,其中北京、成都等11個城市超過300萬輛。如此巨大數(shù)目的機動車涌入街道使得城市交通不堪重負,交通事故、交通擁堵、環(huán)境污染以及能源浪費等問題日益嚴重,與此同時,機動車違章行為也變得屢見不鮮。如何實施高效的交通管控治理儼然成為一大難題。而在如今大數(shù)據(jù)時代,隨著深度學(xué)習(xí)技術(shù)的不斷革新與突破,如目標檢測、圖像分類、圖像分隔等技術(shù)被廣泛應(yīng)用于醫(yī)學(xué)領(lǐng)域、軍事領(lǐng)域以及工業(yè)領(lǐng)域,因此在交通領(lǐng)域中融入深度學(xué)習(xí)技術(shù)進行智能交通管控將會是解決上述問題的一把利刃。

本文研究的是智能交通應(yīng)用中的一項核心基礎(chǔ)任務(wù)-車道行駛區(qū)域分隔,對車道行駛區(qū)域進行有效的分隔可以很好地幫助統(tǒng)計各車道的車流量信息以及逆向行駛、違規(guī)越線等違章行為的判斷。本文提出了一種行駛區(qū)域自動擴充的算法,首先使用目標跟蹤技術(shù)獲取機動車運動軌跡,然后對其進行過濾擬合,結(jié)合軌跡端點與區(qū)域頂點之間的位置關(guān)系對各車道行駛區(qū)域進行擴充,并且可以通過學(xué)習(xí)各車道運動軌跡的特征,以確定其合法行駛方向。

1 相關(guān)技術(shù)

1.1 目標跟蹤

為了獲取機動車目標的運動軌跡信息,需要對機動車目標跟蹤定位。本文使用了Nicolai Wojke等人提出的基于檢測的多目標跟蹤算法Deepsort[2]負責機動車目標的跟蹤任務(wù)。Deepsort算法在Sort算法的基礎(chǔ)上進行改進,解決了Sort算法在相機運動情況下運動信息關(guān)聯(lián)失效的問題。其引入了重識別網(wǎng)絡(luò)提取目標的外形特征向量,同時考慮目標的運動信息和外形特征進行關(guān)聯(lián)匹配。兩大核心算法是卡爾曼濾波和匈牙利算法。通過標準卡爾曼(Kalman)濾波器對目標運動狀態(tài)進行預(yù)測。使用匈牙利算法進行關(guān)聯(lián)匹配,運動關(guān)聯(lián)程度用目標檢測框與跟蹤器預(yù)測框之間的馬氏距離來描述:

其中dj表示第j個檢測框的位置,yi表示跟蹤器對目標i的預(yù)測位置。Si表示目標i的檢測位置與預(yù)測位置之間的協(xié)方差矩陣,即以檢測位置與預(yù)測位置之間標準差的形式來考慮狀態(tài)測量的不確定性。接著使用重識別網(wǎng)絡(luò)提取目標128維的特征向量作為外觀信息,緩存每一幀成功匹配的結(jié)果作為特征向量集,對于每一個檢測框,將其特征向量與所有跟蹤器的特征向量集計算最小余弦距離:

其中rj表示第j個目標檢測框的特征向量,Ri表示第i個跟蹤器的特征向量集。最后使用兩種關(guān)聯(lián)方式的線性加權(quán)值作為最終匹配度量,λ為權(quán)重系數(shù),如公式(3)。

1.2 目標檢測

前面提到了本文所使用的目標跟蹤算法是基于檢測的,因此目標檢測結(jié)果的好壞將直接影響到跟蹤算法的性能。目前的目標檢測算法主要分為兩大方向,分別是以高精度著稱的兩階段方法和以高效率著稱的單階段方法。代表算法分別是Faster R-CNN[3-4]系列算法以及SSD[5]、YOLO[6-8]系列算法。本文為了在保證高準確率的同時盡量提高算法效率,使用Alexey Boch?kovskiy等人提出的單階段算法YOLOv4[9],YOLOv4算法在YOLOv3的基礎(chǔ)上從特征提取、特征融合、損失函數(shù)以及激活函數(shù)等方面進行了全方面的優(yōu)化。使用了ResNeXt網(wǎng)絡(luò)結(jié)合CSPNet中的梯度分流階段機制提高卷積網(wǎng)絡(luò)的學(xué)習(xí)能力,引入了SPP Net和PA Net進行特征融合豐富特征圖的表達能力,損失函數(shù)方面,使用了CIoU替代原來的均方差損失函數(shù),提高目標定位的精度。在開源數(shù)據(jù)集COCO和VOC上進行驗證,在準確率和效率之間達到最優(yōu)的權(quán)衡,算法結(jié)構(gòu)如圖1所示。

2 算法實現(xiàn)

通過目標檢測與跟蹤算法獲取機動車的運動軌跡之后,需要進一步通過離心點判斷和拐角距離判斷過濾路邊不規(guī)則行駛車輛的干擾軌跡,然后對于直行車輛軌跡進行優(yōu)化擬合得到軌跡線段,根據(jù)軌跡方向判斷其所處車道后結(jié)合軌跡端點和區(qū)域頂點的位置關(guān)系進行區(qū)域擴充,具體流程如圖2所示。

圖1 YOLOv4算法結(jié)構(gòu)

圖2 算法流程圖

2.1 軌跡預(yù)處理

通過目標跟蹤算法記錄機動車的預(yù)測框中心點位置得到運動軌跡之后,由于交通場景復(fù)雜,通常會檢測到一些非目標區(qū)域內(nèi)的機動車以及一些曲線行駛的機動車,如圖3所示,綠色點為目標軌跡點。

圖3 干擾軌跡示例

這些目標的軌跡信息不但對行駛區(qū)域的擴充沒有任何作用,還會使得區(qū)域頂點漂移產(chǎn)生較大誤差,所以首先需要對該類目標產(chǎn)生的非近似直線軌跡進行過濾。本文使用了離心點個數(shù)、平均離心距離和平均拐點后偏移角度三種方法對軌跡是否為曲線進行判斷。首先使用軌跡起點和終點擬合一條線段,離心點個數(shù)即為軌跡點距擬合線段距離大于閾值(默認為40像素)點的個數(shù),大于軌跡點個數(shù)30%的即判斷為曲線;平均離心距離即為各軌跡點到擬合線段距離的平均值,大于平均閾值(默認為60像素)則判斷為曲線;平均拐點后距離需要首先找到軌跡最大拐點,然后計算起點到拐點的線段與拐點到其后軌跡點線段夾角的平均值,大于45°即判定為曲線,計算過程如公式4所示。

其中i表示軌跡中拐點的下標,N表示軌跡點總數(shù),表示點p0和pi組成的向量,則表示pj和pi之間y方向的增量,則為x方向的增量。abs(t)表示對t取絕對值,min(a,b)表示取a和b的最小值。判斷示例如圖4所示。

圖4 軌跡分類示例

為了盡量降低干擾軌跡給算法帶來誤差的可能性,在任一方法判斷軌跡為曲線時均對其進行丟棄,這樣做提高了直行軌跡的門檻可能對部分直行軌跡產(chǎn)生誤判,但是在最大程度上避免了干擾軌跡.在相同的10個場景下進行實驗對比,以完成所有10個場景區(qū)域擴充所需平均軌跡數(shù)、平均擴充時間和最終的平均IoU作為指標進行評測,結(jié)果如表1所示,發(fā)現(xiàn)對部分直行軌跡的丟失對最終結(jié)果并無明顯影響。

2.2 擴充條件判斷

在實際交通中,道路主要按行駛方向最多分為兩個車道,因此本文中首先生成兩個假設(shè)區(qū)域A和B,初始狀態(tài)全部為空,以運動方向作為軌跡歸屬判斷的標準,然后對于第一條符合要求的直行軌跡,將其劃分到區(qū)域A中,即確定區(qū)域A所歸屬的車道,并且取其運動方向作為區(qū)域初步行駛方向。對于后續(xù)軌跡,分別在假設(shè)區(qū)域A和B中使用隨機采樣的方法選擇最多10條軌跡計算平均角度,若平均角度小于90°說明與當前區(qū)域軌跡集為相同運動方向,屬于當前假設(shè)區(qū)域,若平均角度大于等于90°,說明為相反運動方向,應(yīng)歸屬于另一假設(shè)區(qū)域。當任一假設(shè)區(qū)域軌跡數(shù)為2時,則由兩條線段可確定一個區(qū)域,需要嘗試進行區(qū)域初始化。但是為了避免兩條軌跡相似度過高,即起點與終點距離較近導(dǎo)致初始化形成的區(qū)域近似為三角形或線段,因此需要兩軌跡起點距離和終點距離均大于初始化距離閾值(默認為30像素),若滿足條件,則利用兩軌跡端點對假設(shè)區(qū)域進行初始化,生成梯形區(qū)域。否則視當前軌跡為無用軌跡,進行拋棄,等待下一條軌跡信息嘗試初始化,如圖5所示。

圖5 假設(shè)區(qū)域初始化

生成假設(shè)區(qū)域之后,對于后續(xù)軌跡信息,首先判斷其所屬區(qū)域,然后根據(jù)軌跡端點與假設(shè)區(qū)域頂點之間的位置關(guān)系判斷其是否能夠擴充區(qū)域,具體分為以下幾步:

(1)判斷軌跡端點與假設(shè)區(qū)域的包含關(guān)系

首先需要通過面積和判別法判斷軌跡端點是否處于假設(shè)區(qū)域內(nèi)部,面積和判別法通過依次連接端點P與多邊形任意兩頂點組成一個三角形,然后計算所有這樣的三角形面積和記為端點面積S。然后在多邊形頂點中選定一點V,同樣依次連接其與其他兩頂點組成一個三角形,計算面積和記為多邊形面積T,若S等于T則端點位于多邊形內(nèi)部,若S大于T則端點位于多邊形外部,其過程可用圖6表示。

圖6 面積和判別法示例

對于落在假設(shè)區(qū)域內(nèi)部的端點,無論從何種角度其都無法對假設(shè)區(qū)域進行擴充,應(yīng)當直接拋棄。而對于假設(shè)區(qū)域外部的端點,則可以至少從一個維度(車道方向或車道范圍)對假設(shè)區(qū)域進行擴充,具體擴充方案則需要進一步判斷。

(2)判斷軌跡端點與假設(shè)區(qū)域最近方向邊的位置關(guān)系

對于落在假設(shè)區(qū)域外部的端點P,需要判斷其與所屬假設(shè)區(qū)域最近方向邊的位置關(guān)系,最近方向邊意為假設(shè)區(qū)域距離端點最近并且沿機動車行駛方向的邊,它們代表了各車道的長,如圖6中第三幅圖,P1的最近方向邊即為V24。本文首先通過公式5將端點p映射到最近方向邊Vij上得到點p',然后通過公式6判斷端點p'是否在線段Vij上。

其中ρ(vi,vj)表示兩頂點vi和vj之間的歐式距離。如果端點落在最近方向邊之外,說明其可以沿行駛方向?qū)ψ罱较蜻呥M行擴充,否則該端點在行駛方向維度上對假設(shè)區(qū)域擴充無貢獻,如圖7所示。

圖7 方向邊擴充條件示例

可以看到在圖7第二幅圖中,端點p的映射點p'沒有落在線段Vij上,因此可以沿Vij向量方向?qū)㈨旤cvi移動至點p',對假設(shè)區(qū)域進行擴充。

(3)判斷軌跡端點與假設(shè)區(qū)域最近范圍邊的位置關(guān)系

在上述(2)中判斷的是端點是否能在行駛方向維度上對假設(shè)區(qū)域進行擴充,除此之外,還需要判斷端點是否能在車道范圍維度上對假設(shè)區(qū)域擴充,最近范圍邊指的是假設(shè)區(qū)域距離端點最近并且由同為軌跡起點或軌跡終點的頂點組成的邊,它們代表了各車道的寬度,如圖6中的端點P1的最近范圍邊為V34。同樣使用(2)中所提到的方法判斷端點p是否落在最近范圍邊上,如果落在最近范圍邊外,說明其可以在車道范圍維度上對假設(shè)區(qū)域進行擴充,否則對區(qū)域擴充無貢獻。

結(jié)合上述判斷,我們可以對端點是否能擴充假設(shè)區(qū)域的情況作出總結(jié)。當端點落在假設(shè)區(qū)域內(nèi)部時,無法擴充區(qū)域;當端點落在其最近方向邊以及最近范圍邊以外時,可同時在方向維度和范圍維度上對假設(shè)區(qū)域進行擴充;當端點僅落在其最近方向邊(最近范圍邊)以外時,可沿方向邊(范圍邊)對假設(shè)區(qū)域進行擴充;如圖8所示。

圖8 區(qū)域擴充示例

2.3 區(qū)域確定

當某個假設(shè)區(qū)域內(nèi)連續(xù)10條有效軌跡均無法對其進行擴充時,認為該假設(shè)區(qū)域已經(jīng)基本覆蓋所有的行車軌跡,與實際車道區(qū)域基本一致,擴充已完成。在所有假設(shè)區(qū)域均擴充完成后則進入?yún)^(qū)域確定階段。

在區(qū)域確定階段,需要完成車位擴充以及合法行駛方向的確定。由于通過目標跟蹤算法獲取的是機動車目標中心點組成的軌跡信息,所有的區(qū)域初始化以及擴充都是在中心點的基礎(chǔ)上得來的,這將使得最終生成的行駛區(qū)域方向邊均內(nèi)縮了近半個車位寬度。因此本文在記錄軌跡點中心坐標的同時還記錄了各軌跡點的車身半寬,接著取前2個軌跡點車身半寬均值作為起點范圍擴充距離ds,末位2個軌跡點的車身半寬均值作為終點范圍擴充距離de在雙車道情況下,為了避免左右車道鄰近邊擴充后出現(xiàn)相交的情況,需要保證鄰近邊擴充后距離小于0.1倍車道寬。然后根據(jù)鄰近邊得到兩車道虛擬中線ls作為車道劃分線。從各假設(shè)區(qū)域中隨機采樣20條軌跡信息,通過公式4與公式7分別計算其與ls的夾角和位置。

其中(x1,y1,x2,y2)分別表示劃分線段ls的兩個頂點坐標表示第i條軌跡向量的中點坐標。Di小于0表示第i條軌跡向量位于劃分線段左側(cè),大于0表示位于右側(cè)。然后結(jié)合投票機制得出假設(shè)區(qū)域位于劃分線段哪一側(cè),如圖9所示。

圖9 區(qū)域確定示例圖

3 實驗分析

3.1 評測指標

針對本文算法,其性能主要體現(xiàn)在擴充行駛區(qū)域與實際車道區(qū)域之間的重疊程度以及完成區(qū)域擴充所需時間兩個方面。因此,本文使用IoU與擴充時間分別作為評測算法精度和效率的指標。而IoU一般用來評測兩規(guī)則矩形區(qū)域的重疊程度,本文假設(shè)區(qū)域主要呈現(xiàn)梯形等不規(guī)則四邊形,因此使用了Python中的Polygon模塊計算兩不規(guī)則四邊形的相交面積,然后通過公式8計算IoU值。

其中intersection(area1,area2)用來計算area1和area2的相交面積。

3.2 實驗結(jié)果

本實驗在Ubuntu18.04、Python3.7環(huán)境下進行測試,使用GPU加速工具CUDA 10.1。CPU為Intel Core i7 7700k@4.2GHz,GPU 為 NVDIA GTX 1080Ti@11 GB,內(nèi)存為16 GB。測試數(shù)據(jù)集包含30個不同場景不同角度不同車道數(shù)的視頻,結(jié)果如表1所示。

表1 分類方法實驗結(jié)果

圖10 擴充效果示例圖

通過表1可以看到,僅使用單類方法對非直行軌跡進行過濾時,區(qū)域擴充完成是最快的,但是可能學(xué)習(xí)了部分干擾軌跡的特征,導(dǎo)致假設(shè)區(qū)域頂點漂移,最終生成的區(qū)域IoU值極低。在使用了二類方法進行過濾后,區(qū)域IoU值明顯升高,而擴充時間僅小幅度提升。三類方法同時使用時,IoU值達到最高,同時完成擴充所需時間也最長,但是依舊處于可接受范圍之內(nèi)。部分最終測試擴充效果如圖10所示。

其中紅色線段表示虛擬劃分線,圖10第一幅圖為一般情況;第二幅圖為額外車道干擾情況,左側(cè)和右側(cè)均有多車道,并且左上方存在轉(zhuǎn)彎車道;第三幅圖為單車道情況;第四幅圖為傾斜分布單車道情況;可以看到算法在各場景下均具有較好的區(qū)域擴充結(jié)果且劃分線段位置準確。

4 結(jié)語

本文提出了一種在直行道路場景下各車道行駛區(qū)域劃分及行駛方向確定的算法,結(jié)合目標檢測與跟蹤技術(shù)實現(xiàn)過程自動化,并且結(jié)合多種軌跡過濾方法來提高區(qū)域劃分的準確度。算法具備較高的魯棒性,在單車道、多車道等多種場景下進行劃分擴充準確。車道行駛區(qū)域的劃分可有效的促進智能交通的發(fā)展,但目前該算法擴充時間取決于道路車流量,不確定性較高,后續(xù)希望可以從該角度進行改進以提高算法效率。

猜你喜歡
端點車道軌跡
智慧收費機器人在高速公路車道上的應(yīng)用
解析幾何中的軌跡方程的常用求法
基于OpenCV的直道車道線識別技術(shù)研究
北斗+手機實現(xiàn)車道級導(dǎo)航應(yīng)用
例談求解“端點取等”不等式恒成立問題的方法
軌跡
軌跡
不等式求解過程中端點的確定
電筒的燈光是線段