摘要:隨著道路車輛的日漸增多,超速而引起的交通事故數量不斷上升,對超速檢測系統的要求越來越高,針對目前超速抓拍系統存在的一些問題,提出了一種基于達芬奇6446和3G無線通信技術的新型超速抓拍系統,以達芬奇的ARM核心作為,并搭配嵌入式Linux操作系統,采用達芬奇的DSP處理器進行高速的圖像處理,開發了應用程序,并在實際應用中驗證了該方案的可行性。
關鍵詞:超速抓拍;達芬奇;嵌入式Linux;3G無線通信;S3雷達
中圖分類號:TP391.4 文獻表示碼:A文章編號:1009-3044(2010)11-2740-02
Design and Impliment of DaVinci-based Detection Over Speed Snapping System
GAO Xu, JIA Man-lei
(Nanyang Institude of Technology, Nanyang 473004, China)
Abstract: With more and more vehicles on road, the number of traffic accidents caused by speeding is rising, that makes increasing demands of speed detection systems. Take account to the problems of current systems, bring up the DaVinci6446 and 3G based over speed snapping system, which depends on DaVinci's ARM core drived by an embedded Linux operating system, as the central control module, which uses DaVinci's DSP to achieve high-speed image processing. Develop the application, and the verify of the application is feasible in practice.
Key words: over-speed snapping; DaVinci; embedded Linux operating; third generation wireless comunication; Stalker Speed Sensor Radar
隨著社會的快速發展,車輛的數目在急劇增加,道路交通已經成為最重要的地面運輸方式,交通事故不斷上升,超速而引發的交通事故尤為嚴重。要維護道路交通安全,僅靠有限的警力很難做到,必須向科技要“警力”,而建設“超速抓拍”系統是道路交通管理的必然趨勢。
然而目前的超速抓拍系統,大多采用工控機作為控制模塊,用有線網或局域無線網絡通信,用硬盤存儲超速車輛數據,設備暴漏在惡劣的外部環境中,容易導致工控機死機,不能保證24小時連續工作,并且在沒有有線網的道路上通信難以實現[1]。
鑒于目前系統存在的問題,同時考慮嵌入式系統的數字信號處理能力有限,本文提出了一種基于達芬奇DM6446以及3G無線通訊技術的新型超速抓拍系統。
1 系統組成
本系統主要由視頻背景重建模塊、前端抓拍控制模塊、無線傳輸模塊和中央控制模塊四部分組成:1)背景重建模塊:通過達芬奇DM6446的高速視頻端口從相機讀取視頻幀,并通過達芬奇的DSP高速處理器進行基于像素的背景幀統計,重建背景;2)前端抓拍模塊:前端抓拍模塊通過美國S3警用雷達檢測來往車輛速度,超速時,將前景和背景比對來檢測車輛到達相機視野的合適位置,處理并保存當前圖片;3)無線傳輸模塊:無線傳輸模塊負責及時準確的將違章數據從前端抓拍模塊傳輸到遠程交通指揮中心;4)中央控制模塊:中央控制模塊負責協調各模塊的數據傳輸,并負責各模塊協調、并行運行,如圖1所示。
2 視頻背景重建模塊
現有視頻運動檢測所使用的背景減法,它需要建立一個稱為背景的參考幀。建立背景時,每個像素都被單獨對待,通過在每個像素上建立該像素的背景模型,從而建立并維持了一幅背景參考幀,本文采用能更全面更準確地描述背景的高斯混合背景模型法重建背景[2-3]。
整個視頻背景中的每個像素點背景重建算法如下算法所示:
輸入:一個背景點(x,y)處以往歷史序列X及該點待檢測的灰度值Xt,其中Xi,i=1,2,…,m;
輸出:該點是否要加入背景點(x,y)的統計序列中;
步驟1:若概率查找表LookupTab不存在就建立并初始化為空,如果概率閾值threshold不存在,則賦以事先配置的值,例如0.8。
步驟2:計算當前像素灰度值|Xt-Xi|,記為V。
步驟3:在查找表中查找有無入口為V所對應的概率值,如果有則取出該點的統計概率并記為Pxt轉步驟6;
步驟4:根據式子計算,其中,m為所有|Xi-Xi-1| 的中值。
步驟5:將Pxt根據V作為入口插入到查找表中(查找表以V的值作為哈希入口)。
步驟6:計算Flag = Pxt>threshold。
步驟7:如果Flag為真值,則認為本像素點屬于背景像素,需要添加到背景序列X中,m增加一,同時更新背景模型,包括方差和均值,否則屬于前景像素,不添加到背景序列X中。
當當前幀的每個像素點都經過本算法處理,就重建了剔除前景運動物體后的真實背景。
3 前端抓拍模塊
前端抓拍模塊由兩個視頻中的虛擬線圈檢測器和速度檢測器構成。當速度檢測器從雷達獲得了實時車輛速度數據,并判斷滿足限速條件時,則將當前視頻幀和即時背景進行差運算,得到前景幀,判斷前景幀中的車輛位置是否在虛擬線圈范圍之內的合適位置,若是則此違章車輛已經落入了當前相機的視野之內,則進行當前幀圖片的處理和保存,并傳遞給無線傳輸模塊進行傳輸。
4 無線傳輸模塊
無線傳輸模塊主要考慮如下幾點:傳輸速度,傳輸距離,抗干擾能力,功耗,性價比等。在本系統中,雖然要求傳輸的是圖片和少量的通信信息,但由于前端抓拍模塊可以將拍攝到的違章照片事先存儲起來,并不要求實時性,因此對傳輸速度要求不高,對于傳輸距離,在實際應用部署中,前端機與交通控制中心距離較遠。綜合以上幾點考慮,本系統在設計中采用了華為EC1260 3G EVDO無線3G通訊模塊,使用中國電信evdo網絡,CDMA 2000 1xEV-DO(3g)制式,下行3.1Mbps,上行1.8Mbps,頻率800MHz,只要有中國電信基站的地方都可以使用,無需考慮距離問題,滿足了系統要求。另外該模塊采用usb2.0 host接口,在Linux操作系統內核2.6.18以上可以使用,內核定制時候支持本模塊即可,簡化了系統設計。
5 中央控制模塊
5.1 硬件結構設計
今年來,超速抓拍系統多采用工控機,軟件系統多采用Windows或Linux操作系統,存在實時性差,易死機,采用的CPU發熱量大,難抗高溫,體積不易縮小,即使是嵌入式系統,在對大量圖像的實時處理方面也是難以滿足要求的,針對目前系統存在的不足,我們選擇TI公司生產的達芬奇DM6446作為微處理器[4],內部集成豐富的外部設備資源,使用于需求外設資源豐富、高性能、功耗低、存儲容量比較大、工作環境惡劣等工業控制方面,可以很好的滿足本系統的要求,系統硬件框架圖如圖2所示。
達芬奇DM6446采用ARM+DSP雙核心結構,其中ARM子系統采用主頻為297MHz的ARM926EJ-S核,DSP子系統則采用主頻為594MHz的C64X+ DSP核。外圍存儲支持128M DDR2 RAM和最大40G硬盤。高速DSP的圖像處理能力配合ARM子系統和嵌入式Linux操作系統,可以非常好的進行超速抓拍系統的設計。
并且ARM可以訪問DSP芯片內存儲器(L2RAM 和 L1P/D),DSP可以訪問ARM 片內存儲器,ARM 和 DSP 共享 DDR2。這使 ARM 與 DSP之間可以快速簡單地進行數據交換,即ARM只需傳遞需要處理的數據地址指針給DSP,而無需大塊的數據移動,從而DSP負責道路圖像的獲取,并計算背景和前景,ARM控制并讀取雷達探測的車輛速度,如果滿足限速條件,在ARM的控制之下,進行數據的處理、保存和無線傳輸。
5.2 軟件設計
本系統在設計中采用MontaVista Linux嵌入式操作系統,內核為2.6.18+,作為一種源碼開放的嵌入式操作系統,它具有高可用性、系統穩定,內核可定制裁切,支持多種外部設備,優良的網絡支持等特點。并且提供一整套集成化嵌入式開發環境和交叉編譯工具,結合TI公司的CCStudio3.3開發環境進行DSP程序的設計,能夠加快系統的開發速度。
本系統應用軟件主要完成如下三個功能:讀取雷達探測的車輛速度數據,背景重建和前景車輛的分離,將數據通過3G無線網絡發送到交通管理中心。
由于系統采用的雷達速度探測器提供RS232通訊接口,因此從中讀取數據只需完成串口通訊功能,首先打開所用串口,在Linux下串口文件位于/dev下。串口一為/dev/ttyS0,串口二為/dev/ttyS1,依次類推。打開串口是通過使用標準的文件操作: radar_fd = open(“/dev/ttyS0”, O_RDWR);然后對串口進行配置,包括波特率等,串口設置主要是設置struct termios結構體的各成員值,在配置完串口的相關屬性后,就可以對串口進行讀寫操作了。使用普通文件讀寫函數即可,使用文件操作read函數讀取雷達數據,write函數設置雷達參數。可以通過fcntl或select實現異步讀取。與雷達的數據交互有握手方式和所推薦使用的加強數據通信方式,本系統使用后者,需要注意每次通信的21字節的數據包的最后后兩個字節為校驗位,每次的讀寫都需要設置或者判斷,避免串口通信出現的數據差錯,第9和第10字節組合起來為車輛速度數據。每次程序退出時先關閉雷達再將串口關閉。
網絡編程有面向連接的TCP和無連接的UDP兩種方式,為了保證數據傳輸的可靠性,采用基于流套接字TCP實現網絡通信[5]。為了實現本系統和遠程交通指揮中心進行數據交換,同時考慮到本系統傳輸的圖片等數據的繁雜性,定義了特定的數據交換格式,如下結構體類型所示:
struct package {
int t_size;
TYPE type;
COMMAND command;
BYTE data[1];
};
其中t_size表示結構體變量所需存儲空間,即網絡將傳輸的數據大小,type表示結構體變量所屬類型,有相機類型、雷達類型、圖像類型和系統類型,command根據類型不同實現不同的控制命令,data為根據命令不同而有所不同,即為命令的參數部分,在有的命令需要數據時候存在并有意義,當沒有時候就沒有意義,數據大小可以根據t_size進行計算。TYPE為枚舉類型,為不同類型時,下面的命令和存儲的數據各有不同,在系統中根據類型對攜帶的數據進行分析、解析和處理。
6 結論
本文基于達芬奇6446和3G無線通信技術設計了一種新型超速抓拍系統,通過引入了MontaVista Linux專業版嵌入式操作系統,提供了系統的穩定性和安全性,通過達芬奇6446的DSP高速數字信號處理能力,提供了對視頻圖片的實時性處理,同時節省了成本,并在此基礎上設計了網絡通信數據交換格式,以便和遠程交通指揮中心進行交互,同時有利于交通指揮中心對各個抓拍終端進行實時有效地控制,經各項測試,系統穩定可靠。
參考文獻:
[1] 張曉民.復雜路況電子警察抓拍系統的設計與實現[J].電腦知識與技術,2008,21(11):45-47.
[2] 葉秉威.視頻監控系統中的圖像分割算法綜述[J].計算機應用研究,2009,26(12):4411-4414.
[3] 高超.一種新型電子警察的設計[J].東南大學學報:自然科學版,2008,38(2):177-180.
[4] 魯達.基于達芬奇平臺的智能視頻監控算法設計[J].微計算機信息,2009,25(22):5-7.
[5] 鄧志剛.Linux環境下的網絡編程[J].武漢科技學院學報,2008,21(7):34-36.