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

基于DM6446的視頻車輛檢測跟蹤系統設計和實現

2012-06-25 07:02:52吳忻生何銀強戚其豐徐凱春
電視技術 2012年7期
關鍵詞:優化檢測

吳忻生,何銀強,戚其豐,徐凱春

(華南理工大學,a.自動化科學與工程學院;b.精密電子制造裝備教育部工程研究中心,廣東 廣州 510640)

隨著社會經濟發展,汽車數量急劇增加,為了提高道路通行能力和行車安全性,減少堵塞和污染,以加強車輛、道路、使用者之間聯系,使交通運輸服務和管理智能化,交通流運行于最佳狀態的智能交通(ITS)成為發展的重點,而由視頻圖像中獲取車輛和道路信息的車輛檢測系統是智能交通的重要組成部分和基礎[1]。通過架設分布式智能監控設備,將視頻信號在前端自動分析處理,將有價值的信息(如車速、車流量、車種類、道路密度、交通事故)通過網絡傳輸到交管中心用于調度和決策。因此,基于視頻圖像的車輛檢測跟蹤嵌入式系統具有重要的研究意義和實際價值。

本文在TI推出的雙核TMS320DM6446(簡稱DM6446)達芬奇嵌入式平臺上,設計了道路車輛檢測跟蹤系統,首先最優雙閾值對圖像進行閾值分割,同時與邊緣檢測結果融合。針對車窗進行快速填充并提取圖像Blob信息,進行跟蹤。對算法進行移植、優化,最終實現道路交通信息的分布式采集。

1 系統總體結構

1.1 硬件結構

DM6446[2]是一款利用DaVinci技術面向視頻和圖像處理的高性能芯片,采用雙核心架構,提供了高性能的TMS320C64x+DSP內核和精簡指令集(RISC)技術的32位ARM926EJ-S核心。除此之外,還擁有視頻/矩陣協處理器,視頻處理子系統,以及其他豐富的設備和接口等[1]。

DM6446提供了VPSS視頻處理子系統,包括視頻處理前段(VPFE)和視頻處理后端(VPBE),前者由CCD控制器、預覽器、縮放、自動曝光白平衡、柱狀圖等模塊組成,后者由OSD模塊和視頻編碼器組成,分別用于外部圖像輸入設備和視頻輸出設備。

1.2 軟件結構

TI的達芬奇參考軟件框架[2]分為應用層、信號處理層和I/O層。應用層屬于ARM一側,提供了定制的Montavista Linux,應用工程師在該層可以利用所有Linux資源針對客戶所需構建和開發各種應用軟件。信號處理層通常都運行在DSP一側負責信號處理,包括音視頻編解碼等codec算法庫、Engine Server、實時操作系統DSP/BIOS以及和ARM通信的模塊,算法工程師在該層創建各種符合xDM標準的Codec算法、構建Engine Server、對內存和DSP/BIOS進行管理配置。I/O層是針對DaVinci外設模塊的驅動程序集合,驅動開發者在該層可根據用戶需求重新構建內核或者更新驅動程序。應用層通過Codec Engine的VISA接口來調用DSP側的算法,通過EPSI接口來訪問和操作DaVinci的外設。

2 車輛檢測、跟蹤算法

DSP端負責圖像處理算法實現,考慮到硬件性能有限,在最大限度提高準確率前提下設計了一套簡單有效的車輛檢測跟蹤算法。由DSP端從共享內存中讀取圖像幀,首先進行格式轉換,提取Y分量,即獲取視頻灰度圖。對圖像前50幀用疊加法獲得幾乎沒有車的初始背景,利用背景幀和新進前景幀進行邊緣檢測和最優雙閾值,然后進行圖像融合和二值化得到車輛初步的Blob圖像,再經過形態學處理,用改進的快速Floodfill算法,得到各個Blob的信息,如位置、大小、顏色等,根據Blob信息對于粘連和半遮擋的情況進行識別,然后進行跟蹤,最后參考跟蹤結果進行背景更新。算法流程圖見圖1。

圖1 車輛檢測跟蹤算法流程圖

2.1 最優雙閾值分割和邊緣檢測融合的運動區域檢測

針對前景圖像與背景圖像相減可能出現正負的情況,本文根據文獻[3],采用雙閾值分割,精簡了文獻[3]的中最優評價函數,由于該步驟只需得到大概的運動區域即可,文獻[3]的細分割也是沒有必要的。設定雙閾值閾值-=γ為定值。當γ為定值時,上下移動如果能夠盡可能消除背景像素,也就是分割出的前景像素最少,則和為最優閾值,得到的分割圖像二值化,由下式確定

式中:Mt(ω),It(ω),Bt(ω)分別表示閾值分割后圖像、新進圖像、背景圖像的ω像素點。

同時,由于閾值總是在一定范圍變化,只需針對閾值中心兩邊迭代計算評價函數,求得評價函數最小時的閾值即為最優閾值,極大地減少了運算量。

考慮到圖像中邊緣信息,尤其是車輛的邊緣信息不容易受閾值分割等其他因素的影響,對新進圖像同時用Sobel/Canny算子進行邊緣檢測,膨脹之后與上面的閾值分割圖像進行融合,能得到更多的車輛信息。最后對融合后的圖像進行腐蝕和膨脹,消除干擾點,填充較小的孔洞。

2.2 快速區域填充算法

當車體某些部分與地面顏色接近時,閾值分割方法難以將兩者分割,表現在Blob圖中為孔洞,尤其車窗部分,孔洞較大,難以用膨脹腐蝕有效解決,本文采用改進的Floodfill即漫水填充算法來對孔洞進行填充。

Floodfill用來從上面得到的運動區域圖像中獲取Blob的四頂點坐標,從而獲得Blob的大小,位置等信息。Floodfill是區域填充[4]的一種。其實質是掃描線種子填充,在指定顏色(灰度值)的連通區域放置種子,通過線掃描的方式,首先填充當前掃描線上的位于給定區域內的一區段,然后確定與這一區段相鄰的上下兩條掃描線上位于該區段內是否存在需要填充的新區段,如果存在,則依次把它們保存起來。反復這個過程,直到所保存的各區段都填上指定的顏色(灰度值)。

掃描線種子填充算法的基本思想是建立一個存放每條掃描線各填充區段右端點的堆棧,最初把種子像素壓入堆棧,然后重復以下4步操作直到棧空為止。

1)從堆棧頂部彈出種子像素。

2)如果種子像素尚未填充,則:

(1)掃描并填充種子所在區段,找出左右邊界端點xleft和xright;

(2)檢查相鄰的上掃描線區間[xleft,xright]內,是否存在需要填充的新區段,如果存在,則把每個新區段在[xleft,xright]內的最右邊的像素作為新的種子像素依次壓入堆棧;

(3)檢查相鄰的下掃描線區間[xleft,xright]內,是否存在需要填充的新區段,如果存在的話,則把每個新區段在[xleft,xright]內的最右邊的像素作為新的種子像素依次壓入堆棧。

本文對經典的Floodfill進行了如下改進:

1)傳統的Floodfill對每行掃描存在重復,有時甚至為3次。通過建立新的結構體,記錄當前種子(記為子種子)的坐標,當前種子所在掃描線的左右端點坐標,搜索進行的方向(如向上搜索或向下搜索),先于當前的掃描線左右端點坐標,以及種子坐標(記為父種子)。通過判斷當前子掃描線與父掃描線間的位置關系以及區間端點的坐標大小關系,減少了不必要的重復掃描。

2)在搜索的同時進行填充并返回左右端點坐標,減少對像素點的顏色(灰度值)的重復判斷。

3)通過鏈表來代替堆棧數組。

總之,能最大程度地減少掃描回溯次數,減少對像素點顏色(灰度值)的重復判斷,減少對棧的訪問和遞歸時間。

2.3 車輛跟蹤

跟蹤問題實質是特征匹配和尋優的過程[5],車輛跟蹤較其他多目標跟蹤又有了一定的約束,如檢測單向多車道時,只考慮車輛沿一個方向運動,出現車輛軌跡交叉的幾率較小,但又增加了遮擋和粘連的情況,需要重點考慮。

1)特征點的確立

首先通過Blob的大小以及在圖像中所處的位置(與攝像頭的遠近),將一部分不符合該約束的Blob剔除。再將Blob的中心點、面積、長寬作為該Blob的特征點。同時,將Blob與新進的彩色圖像進行模板運算,獲取Blob中關鍵幾點的顏色值,作為該Blob的特征點。用某一幀圖像檢測結果作為初始值,將Blob特征點、幀號存入數組,具體記錄表格見表1。

表1 記錄車輛Blob特征的表格

2)匹配和尋優

首先,通過Blob的的長寬比,Blob面積/外接矩形面積,判斷車輛的粘連/遮擋情況,并對粘連/遮擋Blob進行跟蹤,在視線范圍內若一直存在粘連/遮擋則視為兩輛車或多輛;若分離,則將Blob特征庫中該Blob信息拆分成2個Blob,并進行跟蹤。車輛跟蹤的特征匹配流程圖如圖2所示。

圖2 車輛跟蹤的特征匹配流程圖

對于新進的車輛Blob,通過特征點匹配,若匹配值低于一定閾值則視為新車。在視野內針對每幀圖像內的車輛Blob與Blob特征庫進行特征搜索匹配,概率最大者為跟蹤到的車輛,否則概率低于一定閾值視為新車,當車輛中心點坐標超過一定范圍視為車輛開出監控視野。

同時,將Blob特征庫中每個Blob特征賦予一定的權重,針對車輛Blob是由遠及近,對于跟蹤到的車輛,不斷加強該特征的權證。

2.4 背景更新

背景更新有很多種方法,如相鄰幀差法、平均幀法、背景建模等方法。本文的背景更新是建立在初始背景和車輛跟蹤結果的基礎之上,采用可變更新因子的加權平均幀法。首先,對于跟蹤到的車輛,其所在Blob區域不作更新,即α=0。除此之外,其他區域采用可變更新因子的平均幀法,更新因子由t時刻進來的圖像與t-1時刻的背景的相似度確定,相似度越高,更新因子越大,更新速度越快。考慮到系統的計算能力,相似度簡化定義為t時刻進來的圖像與t-1時刻的背景的灰度值之差

3 DM6446移植及代碼優化策略

受DSP性能的影響,將基于X86平臺的VC++程序移植到DM6446嵌入式系統,需要重新建立算法驗證的程序框架和測試環境,以此來適應新平臺。

首先是建立DM6446的開發運行環境,安裝DVSDK工具鏈;建立視頻處理框架,如視頻圖像采集、圖像處理算法后顯示。然后,提取原算法相關的代碼,配置好圖像處理庫的調用,修改數據類型、內存分配方式等。最后,通過共享內存的方式,ARM和DSP端之間的數據通信,將DSP端處理結構傳遞至ARM端[6]。

由于DM6446平臺在性能和架構方面稍異于X86平臺,尤其是DSP端,為了發揮DSP的性能,需要有針對性地對代碼進行優化,下面主要從編譯器選項、C語言代碼以及庫函數等使用方面進行介紹。

1)C代碼級優化

主要是從C語言的編寫風格上進行優化,主要有減少乘法/除法的出現、函數參數傳遞優化、經常使用的小函數用內聯/宏方式、查表優化(空間與時間權衡)、條件判斷的優化、循環體展開優化等。

2)圖像處理庫函數

TI C64x+IMGLIB圖像庫[7]提供了優化過的圖像處理函數,主要四大類,分別是圖像分析、圖像濾波、圖像壓縮/解壓、底層操作函數(如圖像的加減與或非等)。利用里面的腐蝕膨脹、中值濾波、閾值分割、邊緣檢測等函數能極大地加快系統速度。

3)內聯函數的使用

C64x編譯器提供了許多專門的內聯函數[8],直接映射為相應的嵌入式的匯編指令,其調用和一般的函數相同,名稱前用下劃線作標識。內聯函數主要包括運算指令與數據打包指令,前者主要通過一條指令即可完成多路數據的并行計算,如_add4(),_avgu4(),_cmpeq4()等;后者主要快速地完成對內存的讀寫,一條指令可以完成讀寫32 位的數據,如_mem8(),_packl4()等。

4)運算庫的使用

The C62x/64x FastRTS Library:由于DM6446是定點DSP,通常情況下浮點運算調用此浮點運算庫中的函數來實現,該庫針對C語言編程者優化,應用于對速度要求很高的實時運算,提供了單精度和雙精度的數學運算函數,如_mpyf()和_mpy()分別表示單、雙精度的乘法運算。

5)編譯器優化選項

C64x編譯器提供了不同等級和種類的優化選項,可以根據實際情況,合理搭配優化選項,可以改善代碼循環性能,實現軟件流水操作,提高代碼的并行性。

6)其他優化方法

主要有CACHE優化、EDMA的使用、匯編(線性匯編)優化等,在此不一一介紹。

4 實驗結果與分析

本文算法已成功移植到DM6446,實際運行效果滿足車輛檢測跟蹤的實時性和穩健性,同時具有很高的準確性。實驗分兩部分,包括在PC機上和DM6446平臺上運行,兩者都是以平均25 f/s的速度,處理大小為320×240像素的視頻圖像。圖3為PC機上運行效果圖。其中圖3a為實時背景更新圖;圖3b為運動區域檢測結果,通過本文的分割方法和快速Floodfill填充算法,能準確完整地檢測出運動車輛;圖3c為檢測結果,對檢測出的車輛用色框圈出;圖3d為跟蹤結果,每個Blob塊上的數字表示其跟蹤號,同為車輛計數值;圖3e和圖3f為粘連車輛的檢測和跟蹤,系統自動識別粘連車輛并進行跟蹤,并計為兩輛。圖4為DM6446嵌入式平臺與性能效果圖,通過移植和優化,全速運行,滿足實時性要求。

5 小結

本文適應智能交通對車輛檢測的需求,提出了一套簡單有效的視頻檢測跟蹤方法,同時將算法移植到DM6446雙核的嵌入式平臺,對移植方法和優化方法進行了描述。實際運行表明,本系統的實時性、準確性、穩健性均能滿足實際需要,方便部署,有效地實現道路車輛的監控和調度。同時,本系統所采用的方法和思路也可為其他的基于視頻的安防、公共安全、人流檢測等分布式智能監控系統借鑒。由于篇幅和時間所限,本文暫未對雨雪、夜間等環境下車輛檢測問題進行探討,暫未論述將檢測結果和圖像進行遠程傳輸的問題,這些也是下一步工作的重點。

[1]DICKMANNS E.The development of machine vision for road vehicles in the last decade[C]//Proc.IEEE Intelligent Vehicle Symposium,2002.[S.l.]:IEEE Press,2002:268-281.

[2]Texas Instruments.TMS320DM6446 digital media system on-chip[EB/OL].[2011-06-20].http://www.ti.com/cn/litv/pdf/sprs283h.

[3]吳忻生,鄧軍,戚其豐.基于最優閾值和隨機標號法的多車輛分割[J].公路交通科技,2011,28(3):125-132.

[4]孫家廣,楊長貴.計算機圖形學[M].3版.北京:清華大學出版社,1999.

[5]王文龍,李清泉.基于蒙特卡羅算法的車輛跟蹤方法[J].測繪學報,2011,40(2):200-203.

[6]魯達.基于DM6446平臺的智能視頻監控關鍵算法研究與實現[D].上海:上海交通大學,2009.

[7]Texas Instruments.TMS320C64x+DSP image/video processing library(v2.0.1)programmer's guide[EB/OL].[2011-06-20].http://www.ti.com/cn/litv/pdf/spruf30a.

[8]Texas Instruments.TMS320C6000 CPU and instruction set[EB/OL].[2011-06-20].http://www.ti.com/cn/litv/pdf/spru189.

猜你喜歡
優化檢測
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
“幾何圖形”檢測題
“角”檢測題
主站蜘蛛池模板: 啦啦啦网站在线观看a毛片| 亚洲无码在线午夜电影| 全午夜免费一级毛片| 在线看国产精品| 亚洲第一区欧美国产综合| 欧美一级在线看| 亚洲精品第一在线观看视频| 久久人午夜亚洲精品无码区| 91成人精品视频| 国产综合色在线视频播放线视| 婷婷亚洲视频| 婷婷99视频精品全部在线观看| 国产手机在线小视频免费观看 | 在线观看无码a∨| 另类重口100页在线播放| 久久国产精品波多野结衣| 日韩欧美中文字幕在线韩免费| 亚洲国产中文欧美在线人成大黄瓜 | 91视频首页| 在线观看欧美国产| 亚洲精品第1页| 国产高清自拍视频| 婷五月综合| 久久久久无码精品| 亚洲精品男人天堂| 91亚瑟视频| 午夜精品久久久久久久无码软件 | 国产美女人喷水在线观看| 老司机午夜精品视频你懂的| aaa国产一级毛片| 亚洲国产亚洲综合在线尤物| 热99精品视频| 亚洲人成色77777在线观看| 国产精品太粉嫩高中在线观看| 亚洲一区二区三区香蕉| 女人av社区男人的天堂| 一本大道视频精品人妻 | 熟妇人妻无乱码中文字幕真矢织江| 国产剧情一区二区| 丁香婷婷激情网| 日韩欧美高清视频| 精品一区二区三区波多野结衣| 国产精品人人做人人爽人人添| 欧美成人一级| 亚洲精品第1页| 日本亚洲成高清一区二区三区| 久久国产高清视频| 狠狠做深爱婷婷久久一区| 自拍偷拍欧美| 成年A级毛片| 伊人久久精品亚洲午夜| 欧美成人精品在线| 久久午夜夜伦鲁鲁片无码免费| 亚洲av无码久久无遮挡| 亚洲熟妇AV日韩熟妇在线| 本亚洲精品网站| 国产91色在线| 国产欧美综合在线观看第七页| 爽爽影院十八禁在线观看| 欧美激情视频一区| 国产va视频| 欧美精品成人一区二区视频一| 免费在线a视频| 国产精品三级专区| 欧美日本不卡| 欧美日韩第二页| 亚洲成人在线免费| 国产精品久久久精品三级| 91麻豆精品国产高清在线| 为你提供最新久久精品久久综合| 在线免费a视频| 999福利激情视频| 欧美精品在线免费| 久久9966精品国产免费| 国产真实乱子伦视频播放| 精品久久久久久中文字幕女 | 999在线免费视频| 91九色国产porny| 国产精品专区第1页| 国产午夜人做人免费视频中文| 国产视频只有无码精品| 亚洲精品欧美日本中文字幕|