隨著社會(huì)的發(fā)展和科技的進(jìn)步,人們的安防意識(shí)越來(lái)越強(qiáng),而計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),通信技術(shù),和數(shù)字視頻編碼技術(shù)的日益成熟,使基于計(jì)算機(jī)的多媒體視頻監(jiān)控系統(tǒng)成為可能。但是傳統(tǒng)的視頻監(jiān)控系統(tǒng)因十分復(fù)雜,功耗和成本較高且需要值守,而無(wú)法應(yīng)用于諸如家居或私人辦公室等場(chǎng)所,為此,本文設(shè)計(jì)了一種以ARM11為核心處理器,嵌入式Linux為操作系統(tǒng),在傳統(tǒng)的視頻監(jiān)控的基礎(chǔ)上加入了目標(biāo)檢測(cè)的算法,并與GSM模塊相結(jié)合,已達(dá)到無(wú)人值守的目的。
1 系統(tǒng)總體設(shè)計(jì)
運(yùn)動(dòng)目標(biāo)檢測(cè)系統(tǒng)采用S/B(服務(wù)器/瀏覽器)工作模式,總體上分為服務(wù)器監(jiān)控模塊,短信通知模塊(GSM)和客戶查看模塊。服務(wù)器監(jiān)控模塊采用三星公司的ARM11(S3C6410)微處理器,開(kāi)源的Linux操作系統(tǒng),GSM模塊采用Q2403A芯片,當(dāng)監(jiān)控的畫(huà)面發(fā)生變化,即檢測(cè)到運(yùn)動(dòng)目標(biāo)時(shí),服務(wù)器會(huì)將發(fā)生變化的圖像以圖片的格式存儲(chǔ)起來(lái)發(fā)送給客戶端,與此同時(shí)2403A會(huì)以短信的方式通知客戶,客戶可以通過(guò)IE瀏覽器來(lái)查看圖像的變化結(jié)果。系統(tǒng)的總體設(shè)計(jì)如圖1所示。
2 硬件結(jié)構(gòu)
本文采用廣州友善之臂公司的Tiny6410開(kāi)發(fā)板,Tiny6410是一款以ARM11(三星S3C6410)作為主處理器的嵌入式板,該CPU基于ARM11-76JZF-S核設(shè)計(jì),內(nèi)部集成了強(qiáng)大的多媒體處單元。硬件架構(gòu)如圖2所示。短信通知模塊的Q2403A為WAVECOM公司推出的一款GSM GPRS模塊,其體積較小,重量較輕,主要由射頻天線,內(nèi)部FLASH,SRAM和GSM基帶處理器,匹配電源和一個(gè)40腳的ZIF插座組成。GSM基帶處理器是核心部件,其作用相當(dāng)于一個(gè)協(xié)處理器,用來(lái)處理外部系統(tǒng)通過(guò)串口發(fā)送過(guò)來(lái)的AT指令。
3 軟件平臺(tái)
系統(tǒng)軟件平臺(tái)以Linux操作系統(tǒng)為基礎(chǔ),首先在宿主機(jī)上建立交叉編譯環(huán)境,并安裝交叉編譯器arm-Linux-gcc。其次完成U-Boot以及Linux 2.6.33內(nèi)核的移植和編譯,構(gòu)建基于busy-box1.13.3的根文件系統(tǒng),由于嵌入式服務(wù)器資源的局限性,包括內(nèi)存大小,CPU的
處理能力等。因此,在設(shè)計(jì)過(guò)程中需要對(duì)內(nèi)核進(jìn)行裁剪,在提高系統(tǒng)性能的同時(shí)減少了系統(tǒng)資源的占用,在剪裁過(guò)的Linux操作系統(tǒng)上編寫(xiě)運(yùn)動(dòng)檢測(cè)的應(yīng)用程序和短信報(bào)警程序。
3.1 嵌入式Linux下的運(yùn)動(dòng)目標(biāo)檢測(cè)算法
目前,對(duì)運(yùn)動(dòng)物體的檢測(cè)和運(yùn)動(dòng)參數(shù)測(cè)量的研究方向主要有2種,即:運(yùn)用人工神經(jīng)網(wǎng)絡(luò)和運(yùn)用圖像處理的方法,大多數(shù)專家學(xué)者都把研究重點(diǎn)放在運(yùn)用圖像處理的方法進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)和跟蹤,現(xiàn)在的比較有效的圖像運(yùn)動(dòng)目標(biāo)檢測(cè)的方法主要是光流法和差分圖像法。一般來(lái)說(shuō)光流發(fā)的時(shí)間開(kāi)銷很大,其實(shí)時(shí)性和實(shí)用性。相反,圖像差分法比較簡(jiǎn)單,易于實(shí)現(xiàn),圖像差分法可分為2類:背景圖像差分法和幀間差分法。背景圖像差分法是傳統(tǒng)運(yùn)動(dòng)目標(biāo)檢測(cè)方法中最直接最簡(jiǎn)序列圖像當(dāng)前幀與背景圖像做減法運(yùn)算。由于運(yùn)動(dòng)物體和背景在灰度或色彩上存在差別,相減后所得的結(jié)果中每一像素的值和一個(gè)預(yù)先設(shè)定的閾值相比較,如果這個(gè)像素的值大于設(shè)定的閾值,則判定被監(jiān)控的場(chǎng)景中存在運(yùn)動(dòng)物體,總而得到運(yùn)動(dòng)的目標(biāo)。背景圖像差分法原理設(shè)計(jì)簡(jiǎn)單,但同時(shí)也存在受光線,天氣等外界條件變化的影響較大。幀間差分法是一種通過(guò)對(duì)視頻圖像序列中相鄰兩幀做差分運(yùn)算來(lái)獲得運(yùn)動(dòng)目標(biāo)輪廓的方法,它可以很好地適用于存在多個(gè)運(yùn)動(dòng)目標(biāo)和攝像機(jī)移動(dòng)的情況,當(dāng)監(jiān)控場(chǎng)景中出現(xiàn)異常物體運(yùn)動(dòng)時(shí),幀與幀之間會(huì)出現(xiàn)較為明顯的差別,兩幀相減,得到兩幀圖像亮度的絕對(duì)值,判斷它是否大于閾值來(lái)分析視頻或圖像序列的運(yùn)動(dòng)特性,確定圖像序列中有無(wú)物體運(yùn)動(dòng),圖像序列逐幀的差分,相當(dāng)于對(duì)圖像序列進(jìn)行時(shí)域上的高通濾波。幀間差分法對(duì)光線等場(chǎng)景變化不太敏感,能適應(yīng)各種動(dòng)態(tài)環(huán)境,穩(wěn)定性較好,其缺點(diǎn)是:不能提取出對(duì)象的完整區(qū)域,只能提取出邊界,當(dāng)物體在前后兩幀中幾乎完全重疊時(shí),則檢測(cè)不到運(yùn)動(dòng)的物體。鑒于背景差分法和幀間差分法的優(yōu)缺點(diǎn),將兩種方法結(jié)合起來(lái),使它們優(yōu)勢(shì)互補(bǔ)。在視頻圖像序列中,利用已有的背景差分法和幀間差分法作為啟示,將動(dòng)態(tài)圖像中連續(xù)兩幀差圖像和背景差圖像直接進(jìn)行與操作,再將結(jié)果進(jìn)行二值化處理得到運(yùn)動(dòng)結(jié)果。
3.2 算法描述
算法描述如下所示:
(1)對(duì)序列圖像進(jìn)行3x3中值濾波預(yù)處理,去掉圖像隨即噪聲。減少以后運(yùn)算的復(fù)雜度,克服噪聲對(duì)圖像處理結(jié)果的干擾;
(2)從視頻圖像序列中選取背景圖像Bk(x,y),使其只包含固定的背景圖像;
(3)在視頻圖像序列中選取連續(xù)的兩幀圖像,其中前一幀圖像Pk-1(x,y);
(4)計(jì)算當(dāng)前幀與背景幀差得FD(x,y),從圖像中提取出完整的目標(biāo);
(5)計(jì)算當(dāng)前幀與前一幀的差得FD(x,y),得到目標(biāo)的變化量;
(6)求幀差FD(x,y)與FG(x,y)的交集得到運(yùn)動(dòng)目標(biāo)粗糙的運(yùn)動(dòng)區(qū)域圖像;
(7)數(shù)學(xué)形態(tài)學(xué)運(yùn)算使得運(yùn)動(dòng)區(qū)域封閉,連續(xù)完整,并去掉背景中的噪聲。
其中:
式中T為閾值。對(duì)于給定視頻序列的圖像,假設(shè)像素點(diǎn)k處沒(méi)有運(yùn)動(dòng),其幀差也服從均值為0,方差為σ2的Gauss分布N(O,σ2):
式中:H0表示無(wú)運(yùn)動(dòng)假設(shè);σ2是幀差得統(tǒng)計(jì)方差,通常認(rèn)為他等于攝像頭噪聲方差的2倍。根據(jù)概率統(tǒng)計(jì)學(xué)假設(shè)檢驗(yàn)“3σ”法則,并根據(jù)“正確的閾值T應(yīng)該能消除大部分噪聲”的原則。由實(shí)驗(yàn)測(cè)試的閾值T在本系統(tǒng)的應(yīng)用背景下可以選在5~15之間。基于以上算法,系統(tǒng)的具體實(shí)現(xiàn)如圖3所示。
3.3 GSM模塊的短信通知
對(duì)于GSM模塊來(lái)說(shuō)所有的操作都是通過(guò)AT命令(AT命令就是與MODEM相連的終端或計(jì)算機(jī)發(fā)出的以“AT”開(kāi)始(除兩個(gè)立即執(zhí)行命令外),以回車結(jié)束執(zhí)行的一套命令)來(lái)實(shí)現(xiàn)的。編程時(shí)先把AT命令作為數(shù)據(jù)通過(guò)數(shù)據(jù)串口發(fā)送給GSM模塊,GSM模塊把接收到的數(shù)據(jù)作為AL命令來(lái)解釋,隨后根據(jù)命令執(zhí)行響應(yīng)的操作。具體操作為:包含串口操作需要的頭文件,打開(kāi)串口,在linux下串口相關(guān)文件是位于/dev下,打開(kāi)串口是通過(guò)使用標(biāo)準(zhǔn)的文件打開(kāi)函數(shù)操作:fd=open(“/dev/ttySO”,O_RDWR);設(shè)置串口最基本的設(shè)置串口包括波特率,校驗(yàn)位和停止位設(shè)置。串口的設(shè)置主要是設(shè)置struct termios結(jié)構(gòu)體的各成員值;設(shè)置短信發(fā)送格式(O_PDU,1_文本);發(fā)送短消息。例如短消息的內(nèi)容為hel lo,則AT指令應(yīng)為AT+CMGS=“139# # # # #2312”》hello^z(^z表示ctrl+z);關(guān)閉串口close(fd)。
3.4 圖像的傳輸
實(shí)現(xiàn)流媒體網(wǎng)絡(luò)傳輸?shù)姆椒ㄓ泻芏?,超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議,屬于客戶端瀏覽器與Web服務(wù)器之間的應(yīng)用通信層協(xié)議,它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。HTTP協(xié)議采用了請(qǐng)求/響應(yīng)模式,具體實(shí)現(xiàn)過(guò)程為:在嵌入式開(kāi)發(fā)板S3C6410中植入嵌過(guò)人式Web服務(wù)器,在完成配置之后,用戶先在地址欄里輸入U(xiǎn)RL地址,此時(shí)客戶端瀏覽器打開(kāi)一個(gè)Socket文件,標(biāo)志著成功的建立了連接,通過(guò)Socket客戶端瀏覽器IE向Web服務(wù)器提交請(qǐng)求,Web服務(wù)器接收到請(qǐng)求后處理請(qǐng)求,并將結(jié)果通過(guò)HTTP送回給客戶端瀏覽器IE。當(dāng)瀏覽器IE與服務(wù)器建立了連接后,通過(guò)system(“tar”)和system(“cp”)將存儲(chǔ)在開(kāi)發(fā)板上的圖片打包并拷貝到Web服務(wù)器的主目錄下,并編寫(xiě)主目錄下的超文本標(biāo)記語(yǔ)言(Hypertext MarkedLanguage,HTML),是一種用來(lái)制作超文本文檔的簡(jiǎn)單標(biāo)記語(yǔ)言,超文本傳輸協(xié)議規(guī)定了測(cè)覽器在運(yùn)行HTML文檔時(shí)所遵循的規(guī)則和進(jìn)行的操作。HTML文件中最端的瀏覽器可以訪問(wèn)服務(wù)器主目錄下保存的圖像。具體的格式為:超鏈接名稱,標(biāo)簽表示一個(gè)鏈接的開(kāi)始,表示鏈接的結(jié)束。
4 實(shí)驗(yàn)結(jié)果
整套系統(tǒng)在模擬的環(huán)境下進(jìn)行了測(cè)試,啟動(dòng)系統(tǒng),等系統(tǒng)穩(wěn)定后,移動(dòng)攝像頭視野中的某樣物體,使監(jiān)控的畫(huà)面發(fā)生變化,此時(shí)系統(tǒng)會(huì)發(fā)短信給用戶,當(dāng)用戶收到短信時(shí),打開(kāi)瀏覽器,在地址欄輸入U(xiǎn)RL,下載存儲(chǔ)在Web服務(wù)器主目錄下的圖片,便可以查看實(shí)驗(yàn)結(jié)果。顯示的圖片結(jié)果如圖4所示,系統(tǒng)會(huì)將攝像頭視野范圍內(nèi)的運(yùn)動(dòng)物體框起來(lái),并記錄下發(fā)現(xiàn)運(yùn)動(dòng)物體的時(shí)間。
5 結(jié)語(yǔ)
本文設(shè)計(jì)了一種以ARM11為核心芯片,嵌入式Linux為操作系統(tǒng),采用背景差分法和幀間差分法相結(jié)合作為核心算法的運(yùn)動(dòng)檢測(cè)系統(tǒng)。并與GSM模塊相結(jié)合,已達(dá)到監(jiān)控?zé)o人值守的目的,實(shí)驗(yàn)結(jié)果達(dá)到了預(yù)期的目的,該系統(tǒng)體積小,功耗低,成本低,使用方便靈活,功能可擴(kuò)展等特點(diǎn),可用于家居環(huán)境或是私人辦公室等場(chǎng)所。具有較好的市場(chǎng)前景。
評(píng)論
查看更多