文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190578
中文引用格式: 張雷,王越. 嵌入式平臺下的車輛跟蹤系統(tǒng)設計[J].電子技術(shù)應用,2019,45(11):13-16.
英文引用格式: Zhang Lei,Wang Yue. Design of vehicle tracking system based on embedded platform[J]. Application of Electronic Technique,2019,45(11):13-16.
0 引言
基于NVIDIA Jetson TX2的車輛跟蹤系統(tǒng)設計與以往的車輛跟蹤系統(tǒng)設計有很大的不同,在本設計中實現(xiàn)超高清4K視頻實時編碼和傳輸,在視頻編碼中使用了高效率視頻編碼(High Efficiency Video Coding,HEVC),HEVC在相同的主觀條件下與H.264/AVC相比,編碼碼率可以節(jié)省50% 以上[1]。硬件編碼器編碼速率也要比PC端x265編碼器大超過3個數(shù)量級[2]。因此,本設計的跟蹤系統(tǒng)更加能適用于以后的智能交通發(fā)展。
本設計充分利用了HEVC編碼的優(yōu)勢來為后續(xù)的檢測跟蹤帶來優(yōu)質(zhì)的視頻資料,再利用Yolo V2、Meanshift、Kalman算法實現(xiàn)對車輛的準確跟蹤。同時,在檢測跟蹤的質(zhì)量和實時性方面也能夠滿足目前市場的應用需求。
1 開發(fā)平臺介紹
1.1 硬件平臺
2017年3月8日,NVIDIA發(fā)布了Jetson TX2,Jetson TX2作為Jetson TX1的升級版與TX1相比最大的性能優(yōu)勢就是采用了NVIDIA最新研發(fā)的Tegra Parker處理器[3]。在前代的基礎上增加了2個自主研發(fā)的NVIDIA Denver 2 CPU核心,能夠支持實時超高清視頻編解碼。它具備Jetson TX1模塊的所有功能[4]。因其強大的性能、低功耗、外形小巧,非常適合基于嵌入式的多媒體領域。
1.2 軟件平臺
Jetson TX2的軟件平臺包含了很多種標準硬件接口,可以在包含高性能計算與低功耗的應用場合下更方便靈活地進行平臺擴展和設計。該軟件平臺由內(nèi)核、根文件、應用軟件等構(gòu)成。
2 系統(tǒng)實現(xiàn)
2.1 環(huán)境搭建
先搭建 Jetson TX2的開發(fā)環(huán)境。本文所使用的開發(fā)環(huán)境為:PC使用64位Ubuntu 16.04操作系統(tǒng),Jetson SDK 的版本為Jet Pack 3.2。首先在Ubuntu主機端運行Jetson SDK,進行下載工作,再進行燒寫,最后檢驗Jetson TX2上的系統(tǒng)開發(fā)環(huán)境是否已經(jīng)搭建完畢[5]。
2.2 系統(tǒng)設計
設計并實現(xiàn)了NVIDIA嵌入式平臺上的車輛跟蹤檢測系統(tǒng),系統(tǒng)總體框圖如圖1所示。
利用Jetson TX2的板載相機獲取YUV420格式幀率為60 f/s的視頻數(shù)據(jù),送給Tegra Parker的硬件HEVC編碼器將其壓縮為H265碼流;對輸出碼流進行實時傳輸協(xié)議(Real-time Transport Protocol,RTP)打包,打包完成后通過用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)廣播發(fā)送,然后進行接收和解碼。根據(jù)設計功能的需求,本設計的車輛圖像處理算法主要分為兩部分,第一部分是對視頻中的車輛進行檢測操作,使用的是Yolo V2檢測算法;第二部分是在檢測到的車輛基礎上進行跟蹤操作,跟蹤的算法使用的是Kalman位置預測與Meanshift跟蹤相配合的方法[6]。
2.3 功能模塊實現(xiàn)
2.3.1 獲取視頻數(shù)據(jù)
本文選擇利用Argus來獲取原始視頻數(shù)據(jù),Argus可以輸出EGL-Stream圖像數(shù)據(jù)或者DMA Buffer文件描述符,可以把DMA Buffer看做一塊共享內(nèi)存。Argus還可以調(diào)用ISP進行圖像的去噪、邊緣增強等圖像預處理工作。本文利用Argus捕獲視頻數(shù)據(jù)的流程圖如圖2所示。
2.3.2 HEVC編碼器配置
Tegra Parker處理器內(nèi)有一個視頻編碼器,相對于H.264在同等清晰度的前提下少一半的碼率,從而節(jié)省存儲空間和帶寬,可以減少投入的成本,而速度是其200倍以上,且能夠支持幀率為60 f/s的HEVC實時編碼[7]。存儲設計視頻編碼器的輸入輸出的緩存隊列長度都設置為10。HEVC視頻編碼器只支持YUV420M的格式,輸入緩存隊列使用存儲于DMAbuffer的視頻數(shù)據(jù),輸出的緩存隊列輸出CPUbuffer。流程圖如圖3所示。
2.3.3 RTP封裝
H.265碼流RTP協(xié)議是一種實時傳輸標準,其設計的目的是為了支持網(wǎng)絡實時傳輸服務[8]。H.265碼流由NALU序列組成,RTP協(xié)議封裝和傳輸H.265碼流實際上就是NALU的封裝和傳輸。鏈路層的載荷數(shù)據(jù)有最大傳輸單元限制,當傳輸?shù)臄?shù)據(jù)超過這個最大輸出單元時,將無法進行正常的傳輸,按照以太網(wǎng)對RTP包大小的限制,正常情況下不能超過1 472 B,超過1 472 B后將無法正常進行傳輸[9]。
2.3.4 上位機取流解碼
本設計利用Gstreamer來開發(fā)接收、解碼、播放程序[10]。Gstreamer程序從網(wǎng)口接收RTP數(shù)據(jù)包,接收到數(shù)據(jù)包之后傳送到HEVC上進行軟件解碼后播放顯示。UDP接收RTP數(shù)據(jù)包,進行解包,經(jīng)過解包后的數(shù)據(jù)為H.265原始碼流[11],利用H265parse對碼流分析,再將H.265原始碼流送給avdec_H265解碼。最后,將解碼后的視頻數(shù)據(jù)送到xvimagesink實現(xiàn)視頻播放。
2.3.5 車輛的檢測與跟蹤
針對之前一系列處理得到的視頻影像,需要進行算法程序的操作,對視頻中的汽車先進行檢測,此時使用Yolo V2檢測算法,將檢測到的汽車輪廓信息作為后續(xù)跟蹤算法的輸入。經(jīng)過Yolo V2檢測完成后,得到了一個序列,將這個序列作為基礎序列,針對跟蹤檢測算法,首先監(jiān)測出一個汽車輪廓,針對已有的汽車輪廓使用Meanshift方法得到當前車輛的真實位置[12],如圖4所示。
進入到視頻中的汽車,系統(tǒng)首先對汽車的外框信息保存到跟蹤器中,再提取一個汽車的外框與之前保存的外框信息進行相似度比對,如果信息重疊則立即更新Kalman預測模型,預測此車輛的大體活動位置,再利用Meanshift得到正確的位置,在視頻中用框標注出跟蹤汽車,直到汽車消失在視頻中,系統(tǒng)會自動刪除其外框信息。如果在相似度對比時跟蹤器中沒有與此汽車信息相同的外框信息,則把此信息自動添加到跟蹤器中,進行后續(xù)操作[13]。
其中,z(x,y)為候選目標的坐標。S(z)是巴氏系數(shù),具有如下公式:
根據(jù)式(1)~式(3)計算出S(z),S(z)的值在0~1之間,S(z)值越大,兩個模型越相似。
2.4 測試結(jié)果
Tegra Parker上的HEVC硬件編碼器編碼速率比PC端x265編碼器大,PSNR比PC端x265編碼器高。根據(jù)本文設計的系統(tǒng),對HEVC 編碼器在不同分辨率情況下的編碼速度、壓縮率和網(wǎng)絡發(fā)送速率進行了測試,針對HEVC硬件編碼器編碼速率與PC端x265編碼選擇分辨率分別為640×480、1 280×720、1 920×1 080、2 104×1 560做了簡要對比,在Tegra Parker上編碼器參數(shù)如表1所示。PC端x265編碼器參數(shù)如表2所示。
下面對表1中的數(shù)據(jù)加以說明,其中表1中壓縮比體現(xiàn)的是壓縮后文件與原始文件的比值,相對于x265在同等清晰度的前提下壓縮比提高很多。編碼速率是指視頻在編碼的過程中單位時間內(nèi)能完成壓縮視頻編碼的幀數(shù),相對于商用編碼核心x264的編碼速率快近100倍。在測試過程中還對UDP傳輸時間進行了粗略的統(tǒng)計,通過平均的輸出時間從而得到系統(tǒng)的輸出速率,PSNR計算公式為:
本系統(tǒng)能對采集的高清交通視頻影像進行車輛的檢測跟蹤,對視頻中的檢測到的車輛用框標記出來,再對標記的車輛進行跟蹤,標記框會伴隨著車輛的移動而移動[15]。圖5所示是車輛檢測及跟蹤的畫面。
3 結(jié)論
本文在NVIDIA Jetson TX2平臺上設計實現(xiàn)車輛的檢測及跟蹤,利用板載攝像頭完成視頻采集,再進行HEVC編碼,對HEVC的輸出碼進行RTP封裝后通過UDP廣播發(fā)送,然后在PC端接收解碼,最后進行識別及跟蹤。測試結(jié)果表明,相對于x265,在同等清晰度的前提下壓縮比提高很多;相對于商用編碼核心x264的編碼速率快了近100倍。本文設計的系統(tǒng)在保證視頻畫面質(zhì)量良好的情況下能夠達到4K分辨率的實時編碼傳輸,這使后續(xù)對顯示的視頻進行車輛的識別跟蹤更加清晰準確。
參考文獻
[1] 沈燕飛,李錦濤,朱珍民,等.高效視頻編碼[J].計算機學報,2013,36(11):23-40.
[2] RAM C,PANWAR S.Performance comparision of high efficiency video coding(HEVC) with H.264 AVC[C].2017 13th International Conference Signal-Image Technology & Internet-Based Systems(SITIS),2017.
[3] NVIDIA Corporation.NVIDIA Jetson.The AI platform for autonomous machines[EB/OL].(2018- 05-10)[2019-05-13].https://developer.nvidia.com/embedded/develop/hardware.Html.
[4] Yan Han,ORUKLU E.Traffic sign recognition based on the nvidia jetson tx1 embedded system using convolutional neural networks[C].2017 IEEE60th International Midwest Symposium on Circuitsand Systems(MWSCAS),2017:184-187.
[5] 林峰,張雷,梁明亮.基于NVIDIA Jetson TX1的HEVC編碼和傳輸系統(tǒng)設計[J].沈陽航空航天大學,2018,35(5):51-56.
[6] 孫鵬.基于視頻的嵌入式車輛跟蹤系統(tǒng)[D].北京:北方工業(yè)大學,2013.
[7] 李維,楊付正,任鵬.考慮視頻內(nèi)容的H.265/HEVC幀層碼率分配算法[J].通信學報,2015,36(9):76-81.
[8] 丁涼.基于RTP的MPEG-4傳輸方法研究與實踐[D].合肥:合肥工業(yè)大學,2004.
[9] 許寧.基于RTP協(xié)議的移動視頻監(jiān)控系統(tǒng)的設計[J].通信技術(shù),2014,47(4):455-458.
[10] 孟凡飛,劉金海,吳宗澤.基于Gstreamer的嵌入式流媒體播放器的設計[J].嵌入式系統(tǒng)應用,2010,26(20):5-9.
[11] 林文.基于嵌入式開發(fā)的視頻監(jiān)控系統(tǒng)設計與實現(xiàn)[D].成都:西南交通大學,2012.
[12] 康劍斌.無人機雙目視覺深度感知技術(shù)研究與實現(xiàn)[D].成都:電子科技大學,2018.
[13] 林付春,劉宇紅,張達峰,等.基于深度學習的智能路牌識別系統(tǒng)設計[J].電子技術(shù)應用,2018,44(6):68-71.
[14] 趙春暉,張洪才,王永忠.基于特征顏色空間變換的目標跟蹤融合算法[J].計算機工程與應用,2008(3):8-9,19.
[15] 張寧.基于無人機平臺的動態(tài)目標檢測系統(tǒng)開發(fā)[D].杭州:浙江大學,2018.
作者信息:
張 雷,王 越
(沈陽航空航天大學 電子信息工程學院,遼寧 沈陽110136)