999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

車載后視場景分布式視頻監控系統※

2015-07-03 03:33:42曾禮馬忠梅劉佳偉趙旭強
單片機與嵌入式系統應用 2015年2期
關鍵詞:優化系統

曾禮,馬忠梅,劉佳偉,趙旭強

(北京理工大學 計算機學院,北京100081)

引 言

據報道,我國由于后視鏡盲區造成的交通事故約占30%。目前,市場上已經出現了一些數字化的汽車監控系統,常見的有分屏顯示監控系統、有縫拼接監控系統和第8代“衛星”全景行車安全系統。分屏顯示監控系統只是對圖像進行簡單的分屏顯示,不能實時地將車輛周圍的景象顯示在屏幕上;有縫拼接監控系統不是將圖像簡單地疊加,而是對圖像拼接處理,形成中間是汽車,周圍是圖像的全景圖,缺點在于4個圖像拼接之處存在明顯的拼接縫;第8代“衛星”全景行車安全系統采用超廣角攝像頭,能夠很好地消除圖像拼接之處的拼接縫,形成汽車全景俯視圖。

Android系統具有平臺開放性,而且谷歌的“開放汽車聯盟(OAA)”[1]致力于實現汽車與Android設備的無縫連接以及直接在汽車上內置Android車載系統;DM3730[2]集成了1 GHz的 ARM Cortex-A8內核和800 MHz的TMS320C64x+DSP內核。因此,基于Android和DM3730設計的車載分布式視頻監控系統有著廣闊的應用前景。

1 系統整體設計

車載分布式視頻監控系統由視頻采集模塊、視頻傳輸模塊、視頻拼接模塊和視頻顯示模塊4個模塊組成。系統的整體設計示意圖如圖1所示。系統各模塊之間的硬件接口框圖如圖2所示。

圖1 車載分布式視頻監控系統整體設計示意圖

①視頻采集模塊:AM3715開發板通過USB-HOST接口外接USB攝像頭,用Android操作系統的Java本地調用接口[3](JNI)和 V4L2(Video 4 Linux 2)視頻驅動框架實時采集視頻并顯示。

圖2 系統各模塊之間硬件接口框圖

②視頻傳輸模塊:兩個(或多個)AM3715和DM3730開發板之間通過以太網相連,利用RTP組播協議和自定義同步機制將USB攝像頭采集的圖像實時傳輸至DM3730開發板的ARM端。

③視頻拼接模塊:DM3730開發板的ARM端運行嵌入式Linux(或Android)操作系統,通過TI公司提供的Codec Engine模塊同時在ARM端和DSP端映射共享內存,使同步接收的兩幅(或多幅)圖像能夠被ARM和DSP同時訪問[4]。針對車載應用擴充嵌入式計算視覺庫[5](EMCV),并移植和優化SURF開源項目 OpenSURF[6],DSP端能夠實時拼接兩幅(或多幅)圖像,最后將拼接結果由共享內存返回ARM端。

④視頻顯示模塊:視頻顯示是通過跨平臺多媒體庫SDL(Simple Direct Media Layer)來 完 成 的。其 中,AM3715開發板顯示分離的USB攝像頭圖像,DM3730開發板LCD屏顯示拼接完成的圖像。

2 視頻采集、傳輸和顯示

2.1 Android V4L2視頻采集模塊

V4L2從Linux 2.5.x版本的內核開始出現,利用V4L2進行USB攝像頭視頻采集的流程[7]包括:①打開視頻設備文件;②檢查設備屬性;③設置視頻格式;④幀緩沖區管理;⑤循環采集視頻;⑥關閉視頻設備。

V4L2介于應用程序和硬件設備之間,應用程序可以通過3種方式訪問內核層的數據:直接讀/寫方式、內存映射方式和用戶指針方式。直接讀/寫方式需要在用戶空間和內核空間不斷拷貝數據,效率低下;內存映射方式將內核地址映射到用戶地址空間,進程可以直接讀寫內存,避免了數據的拷貝,具有較高的效率;用戶指針方式的內存片段是由應用程序自己分配的。車載分布式視頻監控系統采用效率較高的內存映射方式。

2.2 RTP視頻傳輸模塊

鑒于以太網具有高速的傳輸能力和良好的可擴展性能,車載分布式視頻監控系統通過RTP組播的方式在Android系統與嵌入式Linux系統之間傳輸USB攝像頭采集的圖像。參考文獻[7]描述了利用RTP庫JRTPLIB實現視頻實時傳輸的過程。為了確保兩個AM3715開發板與DM3730開發板之間圖像傳輸的同步性,車載分布式視頻監控系統設計了同步傳輸協議,協議描述如下:

(1)發送端

①每個發送端等待來自接收端的視頻幀請求命令“R”,否則不執行發送操作。

②收到幀請求命令后,發送端首先向組播地址發送視頻幀傳輸開始標識0x FE,以標識一幀視頻傳輸的開始。

③將YUY2格式的圖像依次向組播地址傳輸,每次傳輸m行,傳輸n次,并在每個RTP數據包的首字節位置添加RTP包傳輸序號(序號從0開始,依次增1)。假設YUY2圖像寬度為width,高度為height,由于平均一個像素占2字節,所以每次傳輸的RTP包數據大小為(2m×width+1)B,傳輸次數n=height/m。

④傳輸結束時,向組播地址發送視頻幀傳輸結束標識0x FF,以標志一幀視頻傳輸的結束。

(2)接收端

①接收端向組播地址發送幀請求命令“R”,然后啟動軟件電子狗,并處于阻塞等待狀態。

②若軟件電子狗計時結束時仍未被喂狗,說明網絡通信出現故障,則重新向組播地址發送幀請求命令“R”,并重啟軟件電子狗。

③依次接收來自每個發送端的RTP數據包,并根據IP地址和RTP包傳輸序號還原每幀視頻,直至收到視頻幀傳輸結束標識0x FF。

2.3 SDL視頻顯示模塊

YUV格式在存儲方式上分為打包格式(Packed Format)和平面格式(Planner Format),打包格式的 Y、U、V三個分量連續交叉存儲,而平面格式的Y、U、V三個分量分開存儲。實驗中USB攝像頭采集的圖像格式是YUY2格式,而經過拼接完成的圖像是YV12格式。YUY2格式是一種打包格式,以4∶2∶2方式打包,每個像素保留Y分量,而UV分量在水平方向上的采樣率僅為Y分量的1/2,即存儲順序為[Y0U0Y1V0][Y2U2Y3V2]……[Y2nU2nY2n+1V2n]。YV12是一種平面格式,UV 分量在水平方向和垂直方向上的采樣率均為Y分量的1/2。特殊地,YV12格式在UV提取時,需先將圖像劃分為若干個2×2的方陣,然后在每個方陣上提取一個U分量和一個V分量。例如,對于6×4的圖像,YV12的采樣方式如圖3所示,其存儲順序為[Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y10Y11Y12Y13Y14Y15Y16Y17Y18Y19Y20Y21Y22Y23][U0U1U2U3U4U5][V0V1V2V3V4V5]。

SDL支持Frame-Buffer,利用SDL可以在Android和Linux上直接顯示YUY2和YV12格式的圖像,不需要經過YUV到RGB格式的轉換。不同的是,標準Linux的Frame-Buffer設備文件為/dev/fb0,而 Android Linux的Frame-Buffer設 備 文 件 是/dev/graphics/fb0。 利 用 SDL 顯 示YUV格式圖像的流程包括:①初始化視頻設備;②設置視頻顯示模式;③創建YUV覆蓋層;④輪詢事件處理;⑤繪制YUV覆蓋層;⑥顯示YUV覆蓋層;⑦釋放YUV覆蓋層;⑧退出SDL。

圖3 YV12采樣方式示意圖

3 ARM+DSP雙核視頻拼接模塊

3.1 Codec Engine雙核通信設計

Codec Engine是ARM和DSP通信的橋梁,采用遠程過程調用(RPC)的思想。ARM端作為客戶端,DSP端作為服務器端,ARM和DSP之間的通信鏈路是共享內存,通信協議是DSP Link。Codec Engine有專門的內存管理驅動CMEM來管理ARM和DSP之間的共享內存,CMEM以內存池或內存堆的方式管理一個或者多個連續的物理塊內存,并提供地址轉換(虛擬地址和物理地址之間的轉換)功能。

Codec Engine有核心引擎接口和VISA接口。核心引擎接口包括引擎的初始化接口、引擎運行狀態的控制接口和內存的系統抽象層接口;VISA接口包括視頻編/解碼接口、音頻編/解碼接口、圖像編/解碼接口和語音編/解碼接口。VISA接口的使用分為VISA創建、VISA控制、VISA處理和VISA刪除4部分,通過VISA控制/處理的流程略——編者注。

Codec Engine的使用分為創建應用程序、實現Codec算法和集成Codec Server三部分。應用程序運行在ARM端,通過調用核心引擎接口和VISA接口與DSP進行通信;對于符合 XDM(eXpressDSP Digital Media)規范的Codec算法,Codec Engine的VISA接口不需要附加條件就能支持遠端運行,對于符合XDAIS(eXpressDSP Algorithm Interface Standard)規范的非XDM算法,必須提供Codec Engine的存根和骨架中間件才能支持遠端運行;Codec Server運行在DSP端,負責管理調度不同的Codec算法。

車載分布式視頻監控系統接收端使用視頻編碼接口(VIDENC_)實現ARM端調用DSP端基于SURF(Speeded-up Robust Features)的圖像拼接算法。應用程序的執行流程略——編者注。

3.2 基于SURF的視頻拼接

系統采用SURF[7]算法檢測和描述特征點。針對本系統,可以對算法進一步優化,提高系統的實時性。由于系統中攝像頭的位置相對固定,因而可以預先計算圖像之間的重疊位置,無需檢測完全沒有圖像重疊的區域;同時,由于攝像頭相對位置不變,圖像之間的透視變化矩陣也不會變化,因此可以只計算一次透視變化矩陣,后續拼接使用第一次的透視變化矩陣,可進一步提高實時性。

(1)SURF特征點檢測

SURF特征點檢測是在尺度空間中進行的,使用Hessian矩陣行列式值檢測特征點,尺度為σ的點X(x,y)的 Hessian矩陣 H(X,σ)定義為:

其中,Lxx(X,σ),Lxy(X,σ),Lyy(X,σ)為在尺度σ下的高斯函數的二階偏導數在圖像點X處的卷積。

SURF使用基于積分圖的盒型濾波器(box filter)近似此高斯卷積過程,圖4所示為9×9盒型濾波器分別對x,y,xy方向二維高斯濾波的近似。通過近似,將在點X(x,y)的二維高斯卷積轉化為對其周圍的加權計算過程,在此加權計算過程中,使用積分圖計算圖4中灰色矩形區域和白色矩形區域灰度值之和,將高斯濾波中大量的乘法運算轉換為簡單的加減運算。

圖4 9×9的x方向,y方向,xy方向盒型濾波器

設對x,y,xy方向的二維高斯卷積的近似分別用Dxx,Dyy,Dxy表示,則可以通過 Det(H(X,σ))≈Dxx×Dyy-(W×Dxy)2近似 Hessian矩陣 H(X,σ)行列式值,其中 W 通常取0.9。當Det(H(X,σ))>0時,Dxx>0,點 X(x,y)為局部極小值點;Dxx<0,X(x,y)為局部極大值點。找到極值點后,在3×3×3空間中判斷點X(x,y)是否比它周圍的26個點都大或者小。如果是,則該點被視作候選特征點,然后對候選特征點在尺度空間中進行亞像素級插值,得到特征點的坐標。

(2)SURF特征點描述

特征點描述主要分兩步:第一步是獲取特征點的主方向,第二步是生成64維的特征點描述符。

為了獲取特征點的主方向,計算以特征點為中心,半徑為6σ(σ為特征點所在的尺度)內的所有點在x,y方向的Harr小波響應。選取一個大小為60°的扇形窗口旋轉整個圓形區域,將窗口內所有x,y方向的響應值相加得到一個新矢量,以最長的矢量所在的方向作為特征點的主方向。

特征點描述需要將坐標軸旋轉到主方向上,并將以特征點為中心的邊長為20σ的區域劃分為4×4個子窗口,每個子窗口分為5×5個采樣點,計算每個采樣點的沿主方向和垂直主方向的Harr小波響應,記為dx和dy,最終生成一個4維矢量v=(∑dx,∑dy,∑|dx|,∑|dy|),并將其歸一化。總共4×4個子窗口,生成64維的描述符。

3.3 SURF在DM3730上的移植和優化

(1)SURF的移植

SURF算法實現基于OpenCV1.0,OpenCV庫針對x86架構作了許多優化,但在DSP上的執行效率難以得到保證。EMCV是一個可運行在DSP上的OpenCV庫,但只實現了部分OpenCV的數據結構和庫函數。因此,車載分布式視頻監控系統需要擴充EMCV庫,以支持SURF在DM3730上的運行。擴充的庫函數包括:cv Add、cv Add Weighted、cvConvertScale、cvCvtColor、cvGEMM、cvInvert、cv Merge、cvResetImageROI、cvResize、cvSVD、cvSetImageROI、cvSplit、cvWarpPerspective。為了便于 EMCV 庫的擴充和優化,EMCV庫通過CCS(Code Composer Studio)軟件以lib靜態庫的形式提供給Codec算法使用,程序略——編者注。

此外,為了消除SURF對C++標準模板庫的依賴,車載分布式視頻監控系統設計了專門的容器結構和相應的操作,主要代碼略——編者注。

(2)SURF在DM3730上的優化

SURF在DM3730上的優化分為項目級優化、指令級優化和緩存優化3個方面。項目級優化是通過合理地選擇和配置相關的編譯器優化選項,主要包括:調試模式選項(Debugging Model)、優化等級選項(opt_level)、代碼大小選項(opt_for_sapce)、代碼速度選項(opt_for_speed)、程序級優化(-op)等。為了最大限度地提高代碼的執行效率,車載分布式視頻監控系統選擇的編譯器優化選項為-o3、-ms0、-mf5、-op2、-mt、-mh、-mw。指令級優化包括選擇合適的數據類型,消除指令和數據之間的相關性,使用內聯(intrinsic)函數以及改善軟件流水等。緩存優化是將CPU近期訪問過的數據或者程序放置在Cache中,以提高CPU的執行速度。

4 測試結果及分析

圖5展示了車載分布式視頻監控系統的拼接效果,可以看出,圖中的兩幅待拼接的圖像存在明顯的旋轉特性,拼接完成的圖像有一定的縮放效果。

圖5 視頻監控系統的拼接效果圖

結 語

從測試結果看,車載分布式視頻監控系統基本能實現實時采集、實時傳輸、實時顯示,經過優化后,圖像拼接的效率基本能滿足實時性要求,但系統整體性能還有待提高。

編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。

[1]Google launches the Android-based Open Automotive Alliance with Audi,Honda,GM,and more[EB/OL].[2014-08].http://www.theverge. com/2014/1/6/5279116/googleopen-automotive-alliance-android-car-announcement.

[2]TI Instruments.DM3730,DM3725 Digital Media Processors[EB/OL].[2014-08].http://www.timll.com/chinese/uploadFile/TIOP/DM3730_Datasheet.pdf.

[3]Lee Y H,Chandrian P,Li B.Efficient Java NativeInterface for Android Based Mobile Devices[C]//Trust,Security and Privacy in Computing and Communications (TrustCom),2011 IEEE 10th International Conference on.IEEE,2011:1202-1209.

[4]龔澤摯,藍曉柯,鄭雅羽.基于Android和DM3730的視頻編碼軟件開發[J].電視技術,2013,37(17):76-79.

[5]胡楠.EMCV庫擴充及車輛檢測系統的嵌入式實現[D].大連:大連海事大學,2011.

[6]于海.OpenSURF在 TI DM642上的移植[J].電子科技,2012,25(5):133-136.

[7]王飛,孔聰.基于V4L2的Linux攝像頭驅動的實現[J].電子科技,2012,25(2):86-87.

[8]趙學良.基于Android的流媒體引擎設計與實現[D].成都:電子科技大學,2012.

[9]Bay H,Tuytelaars T,Van Gool L.Surf:Speeded up robust features[M]//Computer Vision – ECCV 2006.Springer Berlin Heidelberg,2006:404-417.

[10]楊小輝,王敏.基于ASIFT的無縫圖像拼接方法[J].計算機工程,2013,39(2):241-244.

[11]劉旭.多圖像全景拼接技術研究[D].武漢:武漢理工大學,2012.

猜你喜歡
優化系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
WJ-700無人機系統
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
主站蜘蛛池模板: 不卡午夜视频| 久久久久国色AV免费观看性色| 亚洲欧美国产高清va在线播放| 婷婷色狠狠干| 中国一级特黄视频| 免费高清自慰一区二区三区| 欧洲免费精品视频在线| 人妻91无码色偷偷色噜噜噜| 中文字幕首页系列人妻| 欧美亚洲国产精品第一页| 免费中文字幕一级毛片| 亚洲AV电影不卡在线观看| 国产成人成人一区二区| 最新无码专区超级碰碰碰| 一级成人欧美一区在线观看| 日韩国产黄色网站| 亚洲日韩精品无码专区| 国内自拍久第一页| 国产成人资源| 91在线丝袜| 亚洲一区毛片| 国产超碰一区二区三区| 欧美激情视频一区二区三区免费| 大陆精大陆国产国语精品1024| 久久免费视频播放| 色天堂无毒不卡| 秋霞国产在线| 成年人国产网站| 在线中文字幕网| 免费一级毛片完整版在线看| 国产99精品久久| 激情无码视频在线看| 成人蜜桃网| 亚洲美女一区| 国产大片黄在线观看| 91偷拍一区| 无码人中文字幕| 午夜一级做a爰片久久毛片| 一级毛片在线免费视频| 国产激爽爽爽大片在线观看| 亚洲最大情网站在线观看| 国产日本一区二区三区| 视频一本大道香蕉久在线播放| 超级碰免费视频91| 男人天堂亚洲天堂| 国产69精品久久久久妇女| 特级毛片8级毛片免费观看| 欧美日韩中文字幕二区三区| 国产成人精品一区二区三区| 日韩无码视频专区| 97青青青国产在线播放| 国产精品va| 国产精品网址你懂的| 成人综合在线观看| 最新日本中文字幕| 毛片视频网| 久久国产V一级毛多内射| 国产女人在线视频| 国产99免费视频| 色综合色国产热无码一| 国产毛片高清一级国语 | 亚洲精品国产精品乱码不卞| 亚洲一区二区三区麻豆| 中文字幕无线码一区| 亚洲日韩精品伊甸| 国产精品19p| 99re66精品视频在线观看| 亚洲欧美精品日韩欧美| 国产一级毛片yw| 国产尤物视频网址导航| 久久伊人久久亚洲综合| 在线亚洲小视频| 国产精品高清国产三级囯产AV| 99青青青精品视频在线| 2021国产乱人伦在线播放| 亚洲码一区二区三区| 亚洲熟妇AV日韩熟妇在线| 久久综合久久鬼| 91最新精品视频发布页| 成年免费在线观看| 亚洲国产精品无码久久一线| 欧美成人免费一区在线播放|