李家林,余見明
(1.電子科技大學(xué) 物理學(xué)院,四川 成都 610054;2.四川省樂山市農(nóng)業(yè)科學(xué)研究院,四川 樂山 614001)
智能監(jiān)控作為保障人們財產(chǎn)與人身安全的一種重要手段,對維護社會穩(wěn)定有重要的作用.目前,針對醫(yī)院、車站與學(xué)校等人群密集場所的監(jiān)控基本限于宏觀層面,即大范圍監(jiān)控,其設(shè)備往往安裝在建筑物外,且大多采用傳統(tǒng)通信模式,功耗大、成本高.Zigbee是一種基于IEEE 802.15.4標(biāo)準(zhǔn)的低功耗局域網(wǎng)協(xié)議,是一種短距離、反應(yīng)時間短、穩(wěn)定性較高、可近距離大容量雙向傳輸數(shù)據(jù)的安全可靠的網(wǎng)絡(luò)傳輸技術(shù)[1-3],是搭建無線傳輸信息網(wǎng)絡(luò)的重要方式,并作為無線傳感器網(wǎng)絡(luò)的核心技術(shù)之一而被廣泛應(yīng)用于各行各業(yè)[4-14].但基于Zigbee技術(shù)來實現(xiàn)人群密集環(huán)境中的人頭識別與計數(shù)等方面的應(yīng)用尚未見公開報道.對此,本研究探討在人群密集場所的攝像頭上裝上基于Zigbee的智能監(jiān)控系統(tǒng),并通過無線網(wǎng)絡(luò)實現(xiàn)監(jiān)控遠程化,從而實現(xiàn)對相關(guān)情況的判別和計數(shù).
本研究設(shè)計的系統(tǒng)由一個Zigbee協(xié)調(diào)器節(jié)點與多個Zigbee終端節(jié)點組成,構(gòu)成基于點對多點的星型網(wǎng)絡(luò)拓撲結(jié)構(gòu),并以點對多點形式完成信息的收發(fā)控制和數(shù)據(jù)收集.基于Zigbee技術(shù)的無線數(shù)據(jù)采集系統(tǒng)的整體結(jié)構(gòu)如圖1所示.
本系統(tǒng)是一個在局部范圍內(nèi)采用Zigbee的無線數(shù)據(jù)傳輸技術(shù),把現(xiàn)場采集到的數(shù)據(jù)收集到Zigbee協(xié)調(diào)器中,并由上位機實現(xiàn)對數(shù)據(jù)的顯示和處理.系統(tǒng)包括Zigbee終端節(jié)點、Zigbee協(xié)調(diào)器節(jié)點和上位機3部分.Zigbee終端節(jié)點,即圖像采集節(jié)點,主要完成數(shù)據(jù)采集并通過無線通信方式發(fā)送采集到的數(shù)據(jù),或者接收Zigbee協(xié)調(diào)器節(jié)點發(fā)送的控制命令.Zigbee協(xié)調(diào)器節(jié)點,即圖像匯聚節(jié)點,該節(jié)點是整個網(wǎng)絡(luò)的發(fā)起者,管理整個網(wǎng)絡(luò)的規(guī)模,存儲Zigbee網(wǎng)絡(luò)中各個節(jié)點的信息,擔(dān)當(dāng)Zigbee網(wǎng)絡(luò)中的協(xié)調(diào)器角色,主要任務(wù)是組建和維護一個網(wǎng)絡(luò),收集Zigbee網(wǎng)絡(luò)中各個節(jié)點發(fā)出的信息,通過RS232接口把數(shù)據(jù)傳到上位機.上位機,即圖像處理,主要用于接收Zigbee協(xié)調(diào)器節(jié)點傳來的信息,實現(xiàn)數(shù)據(jù)的存儲和接收,以及數(shù)據(jù)的進一步處理和顯示.

圖1基于Zigbee技術(shù)的無線數(shù)據(jù)采集系統(tǒng)
在實際應(yīng)用中,CC2530是用于2.4 GHz IEEE 802.15.4、ZigBee和RF4CE應(yīng)用的一個片上系統(tǒng)解決方案,它能以非常低的總成本建立強大的網(wǎng)絡(luò)節(jié)點[15].CC2530結(jié)合了領(lǐng)先的RF收發(fā)器的優(yōu)良性能、業(yè)界標(biāo)準(zhǔn)的增強型8051 CPU、系統(tǒng)內(nèi)可編程閃存,8 KB RAM和許多其他強大的功能.CC2530具有不同的運行模式,且運行模式之間轉(zhuǎn)換的時間短,尤其適應(yīng)超低功耗要求的系統(tǒng).
2.2.1數(shù)據(jù)處理模塊.
1)圖像采集模塊.在原理性樣機演示中,圖像采集由終端Zigbee模塊和電腦通過串口相連構(gòu)成.電腦通過攝像頭拍照,并將圖片轉(zhuǎn)化為灰度值,以txt文件格式通過串口傳給Zigbee終端.
2)圖像匯聚模塊.由協(xié)調(diào)器Zigbee模塊和電腦通過串口相連構(gòu)成.協(xié)調(diào)器接收到終端傳來的數(shù)據(jù),通過串口傳給電腦,電腦處理數(shù)據(jù),進行人頭計數(shù)、復(fù)原、保存等操作.
2.2.2Zigbee模塊.
1)CC2530模塊.由于CC2530將8051內(nèi)核與無線收發(fā)模塊集成到一個芯片中,因而簡化了電路設(shè)計過程,省去對單片機與無線收發(fā)芯片之間接口電路的設(shè)計.其電路設(shè)計主要包括接口電路、3.3 V和1.8 V電源濾波電路、芯片晶振電路、天線、入網(wǎng)指示電路及復(fù)位電路6部分,而其余電路可參照CC2530的參考設(shè)計來完成.
2)供電電路.供電電路采用低功耗電源芯片AMS1117-3.3,三端可調(diào)或固定電壓3.3 V,輸出電流為1 A,線路調(diào)整率為0.2%(最大),負載調(diào)整率為0.4%(最大),輸入電壓為15 V.本設(shè)計采用電腦USB供電.
3)RS232串口轉(zhuǎn)換電路設(shè)計.串口轉(zhuǎn)換電路采用PL2303芯片.該器件作為USB/RS232雙向轉(zhuǎn)換器,一方面從主機接收USB數(shù)據(jù)并將其轉(zhuǎn)換為RS232信息流格式發(fā)送給外設(shè);另一方面從RS232外設(shè)接收數(shù)據(jù),將其轉(zhuǎn)換為USB數(shù)據(jù)格式傳送回主機.雙向的轉(zhuǎn)換均自動實現(xiàn).
4)節(jié)點硬件實物.模塊的集成采用雙層PCB.頂層主要用于信號布線,底層主要用于電源和地布線、在無布線區(qū)通過少量互連過孔連接.圖2為實現(xiàn)的硬件實物照片.
IAR Embedded Workbench(EW)具有界面友好且調(diào)試功能強大的特點,因而選為本系統(tǒng)上位機和下位機的軟件開發(fā)平臺. 本系統(tǒng)的所有源程序代碼均在IAR下調(diào)試通過.

圖2節(jié)點硬件實物照片
3.1.1圖像采集.
如前所述,這里的圖像采集通過電腦攝像頭完成.Matlab提取圖片的灰度值矩陣,保存為txt文件.
3.1.2Zigbee組網(wǎng)與發(fā)送數(shù)據(jù).
首先,加入網(wǎng)絡(luò)的步驟為:
1)Z-Stack由main()函數(shù)開始執(zhí)行,該函數(shù)完成系統(tǒng)初始化及執(zhí)行輪轉(zhuǎn)查詢式操作系統(tǒng);
2)進入osal-init-system()函數(shù),執(zhí)行操作系統(tǒng)初始化;
3)進入osalInitTasks()函數(shù),執(zhí)行操作系統(tǒng)任務(wù)初始化;
4)進入ZDApp-init()函數(shù),執(zhí)行ZDApp層初始化;
5)執(zhí)行ZDOInitDevice()函數(shù),執(zhí)行設(shè)備初始化;
6)執(zhí)行ZDApp-NetWorkInit()函數(shù);
7)轉(zhuǎn)到ZDApp-event-loop()函數(shù);
8)執(zhí)行ZDO-StartDevice()函數(shù),啟動設(shè)備;
9)終端設(shè)備.這時,當(dāng)發(fā)現(xiàn)有網(wǎng)絡(luò)存在時,網(wǎng)絡(luò)層將給予ZDO層發(fā)現(xiàn)網(wǎng)絡(luò)反饋信息,由網(wǎng)絡(luò)層發(fā)起加入網(wǎng)絡(luò)請求,如加入網(wǎng)絡(luò)成功,則網(wǎng)絡(luò)層將給予ZDO層加入網(wǎng)絡(luò)反饋,執(zhí)行NLME-JoinRequest()函數(shù),然后執(zhí)行ZDO-JoinConfirmCB()函數(shù);
10)執(zhí)行ZDO-UpdateNwkStatus()函數(shù),完成網(wǎng)絡(luò)狀態(tài)更新;
11)執(zhí)行ZdoSendStateChangeMsg()函數(shù);
12)初始化完系統(tǒng)任務(wù)事件后,正式開始執(zhí)行操作系統(tǒng),此時操作系統(tǒng)不斷檢測有沒有任務(wù)事件發(fā)生,一旦檢測到有事件發(fā)生,就轉(zhuǎn)到相應(yīng)的處理函數(shù)進行處理;
13)設(shè)備間的綁定.當(dāng)按下SW2,即JoyStick控桿的右鍵時,節(jié)點就發(fā)出終端設(shè)備綁定請求.
其次,串口通信發(fā)送數(shù)據(jù)步驟為:
1)串口數(shù)據(jù)初始化;
2)DMA接收;
3)主循環(huán)中通過SerialApp-CallBack查詢;
4)從DMA獲取并發(fā)送到空中;
5)借助串口助手發(fā)送灰度值txt文件.
3.2.1Zigbee組網(wǎng)與接收數(shù)據(jù).
協(xié)調(diào)器的組網(wǎng)、終端設(shè)備和路由設(shè)備發(fā)現(xiàn)與“3.1.2”項加入網(wǎng)絡(luò)的步驟相同,具體為:
步驟1)~8)同于下位機;
9)協(xié)調(diào)器;
步驟10)~12)同于下位機;
13)設(shè)備綁定.
協(xié)調(diào)器收到終端設(shè)備綁定請求End-Device-Bind-req,這個信息傳送到ZDO層.在ZDO層的事件處理函數(shù)中,調(diào)用ZDApp-ProcessOSALMsg((osal-event-hdr-t*)msg-ptr).
3.2.2圖像復(fù)原與處理.
圖像復(fù)原通過Matlab灰度圖處理來實現(xiàn).人頭數(shù)檢測則通過兩步完成,首先判別頭部灰度值,然后計數(shù).
作為演示論證,本系統(tǒng)的軟件開發(fā)與調(diào)試在Windows下通過IAR EW平臺完成,數(shù)據(jù)采集與處理、圖像恢復(fù)與識別等均基于Windows操作系統(tǒng).圖3所示為拍攝的人頭照片和轉(zhuǎn)換為灰度圖的效果以及相應(yīng)的灰度值矩陣.

(a)原始照片及灰度圖

(b)灰度值矩陣
圖3采集的人頭照片及其結(jié)果
圖4為上位機接收的txt文件和復(fù)原結(jié)果,以及基于灰度圖計算的人頭數(shù).對比圖3的灰度圖可知,復(fù)原圖像清晰、保真度高,而人頭計數(shù)也通過灰度圖獲得正確結(jié)果.

圖4上位機接收的txt文件及復(fù)原出的灰度圖
相應(yīng)地,灰度值的三維分布圖及人頭復(fù)原結(jié)果如圖5所示.

圖5接收的三維灰度圖和復(fù)原結(jié)果
進一步地,圖6所示為一組5人頭數(shù)據(jù)恢復(fù)后的檢測計數(shù)結(jié)果.標(biāo)記c表示符合條件的灰度值在矩陣中的位置.由于本系統(tǒng)采用弱匹配判別,故不符合條件的灰度值在矩陣中都置為0.

圖65人頭數(shù)據(jù)恢復(fù)后的計數(shù)結(jié)果及灰度值在矩陣中的位置
測試結(jié)果表明,本研究所構(gòu)建的系統(tǒng)可對接收到的數(shù)據(jù)進行有效復(fù)原和識別且結(jié)果正確.
本研究以Zigbee無線通信技術(shù)的低成本、快捷的系統(tǒng)構(gòu)建特性為基礎(chǔ),構(gòu)建了Zigbee的終端節(jié)點與協(xié)調(diào)器節(jié)點,進一步實現(xiàn)了Zigbee協(xié)議,并通過面向小型密集場合的人頭識別的應(yīng)用場景,實現(xiàn)了圖像采集串口通信與人頭檢測圖像處理.原理性樣機對人群密集場合的人頭識別和計數(shù)實驗表明,本系統(tǒng)人頭識別準(zhǔn)確且復(fù)原效果好,響應(yīng)迅捷,工作穩(wěn)定可靠.