黃 亮,彭冬亮,郭寶峰
(杭州電子科技大學(xué)通信信息傳輸與融合技術(shù)國防重點(diǎn)學(xué)科實(shí)驗(yàn)室,浙江杭州310018)
車輛識別就是通過分析處理車輛特征信號,將車輛歸為事先規(guī)定的某一類型。車輛識別信息是交通規(guī)劃和管理部門重要的信息來源。目前,國外和國內(nèi)使用到的車輛識別方法有基于圖像、感應(yīng)線圈、微波、壓電特性、聲音等原理。其中基于圖像的車輛識別率可達(dá)到90%,但是基于圖像的車輛識別最大的局限性在于系統(tǒng)特性受到環(huán)境和光線的影響較大[1]。信息融合是20世紀(jì)70年代發(fā)展起來的信息科學(xué)領(lǐng)域,它主要是應(yīng)用于軍事領(lǐng)域,但近年在民用領(lǐng)域得到廣泛的應(yīng)用,多傳感器采集的信息經(jīng)過融合大大地提高了目標(biāo)識別的準(zhǔn)確率,所以信息融合技術(shù)在車輛識別領(lǐng)域有著非常實(shí)用的價(jià)值[2]。本文提出的方法是利用無線傳感網(wǎng)絡(luò)布置傳感器節(jié)點(diǎn)采集聲音信號和圖像信號進(jìn)行信息融合來分辨車輛目標(biāo)。
圖1 聲信號融合系統(tǒng)的工作示意圖
在十字交通路口布置基于zigbee協(xié)議的無線傳感網(wǎng)絡(luò),采集終端節(jié)點(diǎn)利用聲傳感陣列采集聲信號然后傳送到路由器上,最后轉(zhuǎn)發(fā)到網(wǎng)關(guān)節(jié)點(diǎn)即協(xié)調(diào)器上[3]。如圖1所示,協(xié)調(diào)器是整個(gè)ZigBee網(wǎng)絡(luò)的核心,系統(tǒng)中協(xié)調(diào)器不僅負(fù)責(zé)聲信號的以太網(wǎng)傳送而且還要完成視頻圖像的采集以及遠(yuǎn)端的傳送。協(xié)調(diào)器上有視頻采集器進(jìn)行視頻圖像的采集,采集的視頻圖像和聲信號數(shù)據(jù)傳送到監(jiān)控中心進(jìn)行數(shù)據(jù)融合,通過融合的得到的最終結(jié)果可以很準(zhǔn)確的判斷車輛目標(biāo),從而達(dá)到車輛識別的目的。
無線傳感網(wǎng)絡(luò)中的各個(gè)采集終端主要是實(shí)現(xiàn)聲信號采集的功能。采集終端是一個(gè)以ADSP-218x為核心的嵌入式系統(tǒng)。ADSP-218x是具有50MIPS處理能力的16位定點(diǎn)DSP芯片,它不僅數(shù)據(jù)處理能力強(qiáng),而且功耗較?。?]。在采集終端上,ADSP-218x主要是負(fù)責(zé)聲信號的初步處理,聲傳感陣列采集的聲信號中有很多雜波信號,采集的數(shù)據(jù)在ADSP-218x上進(jìn)行FFT變換可以帥選出有用數(shù)據(jù)。采集終端的電路原理圖如圖2所示,最前端為聲傳感陣列平面圖,聲傳感陣列由6個(gè)微音監(jiān)聽器在二維平面圓內(nèi)按照60°角等均勻分布,圓的半徑為1m。利用聲傳感陣列采集6路聲信號通過信號調(diào)理電路后經(jīng)過AD轉(zhuǎn)換器TLC2543轉(zhuǎn)換傳送到ADSP-218x上進(jìn)行數(shù)據(jù)處理,處理后的數(shù)據(jù)再通過串口傳輸?shù)綗o形傳感芯片CC2530上進(jìn)行無線通訊。
圖2 終端設(shè)備電路原理圖
聲信號是雙極性的信號,所以在對聲信號進(jìn)行A/D轉(zhuǎn)換前要進(jìn)行一定的信號處理。如圖3所示,聲傳感陣列采集的聲信號Vi通過放大器U1A進(jìn)行比例運(yùn)算,V1=Vi,R2用來調(diào)節(jié)比例系數(shù),使得輸入信號轉(zhuǎn)換為-2~+2V[5]。輸出的V1信號再經(jīng)過電容C1把雙極性信號耦合疊加到由R4和R5組成的分壓電路上,這樣雙極性信號就轉(zhuǎn)換為單極性的信號,Vout=V1+2.5V。前端的輸入信號Vi通過放大器把信號進(jìn)行比例縮小后再進(jìn)行疊加后輸出的電壓控制在5V以下。
無線傳感網(wǎng)絡(luò)中的協(xié)調(diào)器是整個(gè)網(wǎng)絡(luò)的中心,協(xié)調(diào)器主要是實(shí)現(xiàn)網(wǎng)絡(luò)的啟動(dòng)和配置,一旦這些都完成后,協(xié)調(diào)器的工作就像一個(gè)路由器。路由器的功能主要是:允許其他設(shè)備加入網(wǎng)絡(luò),多跳路由和協(xié)助它自己的由電池供電的子終端設(shè)備的通訊。在本系統(tǒng)的無線傳感網(wǎng)絡(luò)中,路由器和協(xié)調(diào)器的電路結(jié)構(gòu)基本一致,只不過協(xié)調(diào)器上要進(jìn)行視頻的采集以及以太網(wǎng)的通訊,而在路由器上只進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)。
在本系統(tǒng)的設(shè)計(jì)中,路由器和協(xié)調(diào)器都是以 ARM11處理器 S3C6410為核心的嵌入式系統(tǒng)。S3C6410處理器是ARM公司近年推出的新一代RISC處理器,它不僅低功耗而且處理性能強(qiáng)大,而且可以實(shí)現(xiàn)視頻的H.264、MPEG4硬編碼和解碼。本系統(tǒng)就是利用它的硬件H264編碼器MFC對采集視頻進(jìn)行編碼從而進(jìn)行網(wǎng)絡(luò)傳輸。協(xié)調(diào)器的電路結(jié)構(gòu)圖如圖4所示。
無線傳感網(wǎng)絡(luò)中的網(wǎng)絡(luò)協(xié)調(diào)器和路由器都是通過移植嵌入式linux操作系統(tǒng)來進(jìn)行軟件的開發(fā)。但是,由于在無線傳感網(wǎng)絡(luò)中扮演的角色不同,所以協(xié)調(diào)器和路由器實(shí)現(xiàn)的功能也不盡相同。路由器在整個(gè)網(wǎng)絡(luò)中主要是實(shí)現(xiàn)數(shù)據(jù)的傳遞,可以看做是單任務(wù)系統(tǒng),而協(xié)調(diào)器是整個(gè)網(wǎng)絡(luò)的核心,不僅是采集數(shù)據(jù)的接收,而且還有進(jìn)行視頻采集以及以太網(wǎng)傳送,所以是多任務(wù)系統(tǒng)。在協(xié)調(diào)器上的軟件設(shè)計(jì)主要是圍繞兩個(gè)核心任務(wù)進(jìn)行設(shè)計(jì):一是聲信號數(shù)據(jù)包的接收和傳輸,二是視頻圖像信號的采集以及傳輸。
圖3 聲信號調(diào)理電路
圖4 協(xié)調(diào)器電路結(jié)構(gòu)圖
無線傳感網(wǎng)絡(luò)中各個(gè)終端節(jié)點(diǎn)包含6個(gè)聲信號采集通道,所有的6路數(shù)據(jù)都要通過無線傳感網(wǎng)絡(luò)傳遞到路由器上,假設(shè)各通道的數(shù)據(jù)是分散的傳輸,這樣的話不僅效率低下而且容易出現(xiàn)數(shù)據(jù)混亂,所以在本系統(tǒng)中,6通道的數(shù)據(jù)統(tǒng)一封裝成一個(gè)數(shù)據(jù)包然后進(jìn)行傳遞。終端節(jié)點(diǎn)上各個(gè)通道循環(huán)采集的100次數(shù)據(jù),數(shù)據(jù)保存在浮點(diǎn)型的數(shù)組里,然后對6個(gè)數(shù)組進(jìn)行封裝。用struct PID0_PACKET表示終端節(jié)點(diǎn)1采集的數(shù)據(jù)包。
在網(wǎng)絡(luò)協(xié)調(diào)器上,S3C6410通過串口讀入聲信號數(shù)據(jù)包然后經(jīng)過以太網(wǎng)傳輸?shù)奖O(jiān)控中心,但是串口的數(shù)據(jù)讀入與以太網(wǎng)的數(shù)據(jù)發(fā)送是異步的,所以在設(shè)計(jì)中要設(shè)立一個(gè)緩沖區(qū)使得串口讀入的數(shù)據(jù)與以太網(wǎng)發(fā)送的數(shù)據(jù)實(shí)現(xiàn)同步。在本系統(tǒng)中設(shè)計(jì)一個(gè)環(huán)形隊(duì)列作為數(shù)據(jù)同步的緩沖區(qū)實(shí)現(xiàn)數(shù)據(jù)同步。如圖5所示,建立兩個(gè)互斥線程:寫線程和讀線程。寫線程的工作過程是處理器經(jīng)過串口從CC2530讀入數(shù)據(jù)包后再寫入到環(huán)形隊(duì)列中,而讀線程主要是把環(huán)形緩沖區(qū)的數(shù)據(jù)包讀出并通過以太網(wǎng)傳送。這兩個(gè)線程是互斥線程,數(shù)據(jù)讀寫都要進(jìn)行保護(hù)。
圖5 數(shù)據(jù)同步示意圖
Video4linux2是linux內(nèi)核中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng),它為linux中視頻設(shè)備的訪問提供了通用接口,也是下開發(fā)視頻設(shè)備程序的接口標(biāo)準(zhǔn)。S3C6410處理器內(nèi)部自帶了高性能的視頻編碼器MFC[6],MFC支持視頻H.263、MPEG-4以及H.264的編解碼,在對采集的視頻進(jìn)行編碼時(shí),只需要調(diào)用MFC函數(shù)庫的函數(shù)即可完成。本系統(tǒng)就是利用V4L2接口函數(shù)采集視頻然后進(jìn)行MFC的H.264編碼,最后進(jìn)行UDP傳送。在S3C6410上的視頻編碼主要是調(diào)用編碼函數(shù)庫的函數(shù),實(shí)現(xiàn)的主要步驟如下:
(1)采集的視頻格式必須設(shè)置為 YUV420,codec_fmt.fmt.pix.pixelformat=V4L2_PIX_FMT_YU V420。打開視頻設(shè)備open("/dev/video0",O_RDWR);開始采集視頻ioctl(fd,VIDIOC_STREAMON,&buf_type);取出FIFO緩存中已經(jīng)采樣的幀緩存,ioctl(fd,VIDIOC_DQBUF,&buf)。幀緩存就是視頻待處理的數(shù)據(jù);
(2)視頻編碼初始化,SsbSipH264EncodeInit(width,height,frame_rate,bitrate,gop_num);其中,width、heigh表示視頻的寬度和高度,frame_rate表示幀編碼率,rame_size=(width* height* 3)>>1;
(3)在完成視頻編碼的初始化后,利用SsbSipH264EncodeGetInBuf(handle,0)函數(shù)可以得到視頻編碼去的函數(shù)地址,通過memcpy函數(shù)把視頻幀填充到編碼緩沖區(qū)然后執(zhí)行編碼,SsbSip H264 Enco deExe(handle)。編碼完成后取出視頻幀,SsbSipH264EncodeGetOutBuf(handle,size)。最后得到的幀就是編碼得到的圖像信息;
(4)完成所有的編碼后,退出編碼并調(diào)用SsbSipH264EncodeDeInit(handle)函數(shù),停止視頻的采集,ioc(fd,VIDIOC_STREAMOFF,&buf_type),并且關(guān)閉視頻設(shè)備,close(fd)。
本文利用無線傳感網(wǎng)絡(luò)布置聲信號采集節(jié)點(diǎn)采集聲信號,然后利用嵌入式硬件平臺采集聲信號并進(jìn)行數(shù)據(jù)融合進(jìn)而辨別車輛信息。無線網(wǎng)絡(luò)技術(shù)不僅很好的實(shí)現(xiàn)采集節(jié)點(diǎn)間的數(shù)據(jù)的傳遞,而且它擴(kuò)大了車輛識別的區(qū)域范圍。它的低功耗、價(jià)格低廉、布設(shè)簡單等特點(diǎn)也決定了它在車輛識別領(lǐng)域可以發(fā)揮重要作用。數(shù)據(jù)融合技術(shù)應(yīng)用到車輛識別中提高了識別的正確率。當(dāng)前,實(shí)際的硬件系統(tǒng)設(shè)計(jì)已通過測試,后續(xù)研究的重點(diǎn)就是融合算法。
[1] 崔遜學(xué),趙湛,王成.無線傳感網(wǎng)網(wǎng)絡(luò)的領(lǐng)域應(yīng)用與設(shè)計(jì)技術(shù)[M].北京:國防工業(yè)出版社,2009:103-126.
[2] 李文仲,段朝玉.ZigBee無線網(wǎng)絡(luò)技術(shù)入門與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007:23-45.
[3] 彭冬亮,文成林,薛安克.多傳感信息多源信息融合理論及應(yīng)用[M].北京:科學(xué)出版社,2010:20-41.
[4] 王維強(qiáng),陳勇,閆琳.ADSP-218x在某嵌入式系統(tǒng)上的應(yīng)用[J].現(xiàn)代電子技術(shù),2007,29(6):73-77.
[5] 魏偉,胡瑋,王永清.嵌入式硬件系統(tǒng)接口電路設(shè)計(jì)[M].北京:北京化學(xué)工業(yè)出版社,2010:165.
[6] 李岸,許雪梅,郭巧云,等.基于ARM11的視頻實(shí)時(shí)傳輸系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(11):15-18.