張 玥,張 琦,陳夢(mèng)丹,王 軒,張宏偉
(1.西安工程大學(xué) 電子信息學(xué)院,西安 710048;2.西安慧金科技有限公司,西安 710061)
隨著生活環(huán)境和生活質(zhì)量的提高,人們的隱私安全保障意識(shí)越來(lái)越強(qiáng),因此監(jiān)控系統(tǒng)在日常生活中使用的領(lǐng)域越來(lái)越廣,例如道路交通監(jiān)控、刑事偵查、智能家居等領(lǐng)域。但是,目前市場(chǎng)上絕大多數(shù)監(jiān)控系統(tǒng)僅僅只是簡(jiǎn)單地將攝像頭所拍攝到的內(nèi)容錄制并存儲(chǔ)下來(lái)。它的優(yōu)點(diǎn)是能夠?qū)⑺械囊曨l全部保存,并且可以隨時(shí)查閱,然而其弊端也非常明顯,例如:保存的視頻過(guò)多會(huì)占據(jù)大量的存儲(chǔ)空間;智能化程度不高,對(duì)于有失竊、外來(lái)人員闖入等危險(xiǎn)行為不能進(jìn)行及時(shí)報(bào)警。因此,自帶報(bào)警功能的智能監(jiān)控系統(tǒng)受到越來(lái)越多人的青睞。
最初的第一代監(jiān)控系統(tǒng)是基于閉路電視實(shí)現(xiàn)的模擬圖像監(jiān)控設(shè)備[1],此方案是借助電纜把圖像采集設(shè)備和監(jiān)控顯示端相連,從而實(shí)現(xiàn)模擬視頻數(shù)據(jù)的發(fā)送。20世紀(jì)90年代,數(shù)字視頻壓縮編碼技術(shù)正式被應(yīng)用于監(jiān)控領(lǐng)域,出現(xiàn)了第二代數(shù)字視頻監(jiān)控系統(tǒng)。它可以將模擬數(shù)據(jù)轉(zhuǎn)化為數(shù)字?jǐn)?shù)據(jù),在突破傳送電纜線長(zhǎng)度限制的情況下,視頻采集清晰度和系統(tǒng)的抗干擾性能得到有效提高。但由于第二代監(jiān)控設(shè)備采用計(jì)算機(jī)作為圖像數(shù)據(jù)運(yùn)算和視頻顯示端,傳輸距離仍然受限,整套監(jiān)控系統(tǒng)體積大、成本高,維護(hù)困難[2]。隨著圖像采集設(shè)備、視頻編碼器、中央處理器等設(shè)備的不斷改進(jìn)與發(fā)展,視頻監(jiān)控領(lǐng)域也進(jìn)入到第三代智能視頻監(jiān)控時(shí)代。智能監(jiān)控系統(tǒng)以圖像處理、模式識(shí)別和計(jì)算機(jī)視覺(jué)技術(shù)為基礎(chǔ),在監(jiān)控系統(tǒng)中增加智能視頻分析模塊,借助計(jì)算機(jī)強(qiáng)大的數(shù)據(jù)處理能力過(guò)濾掉視頻畫(huà)面無(wú)用或干擾信息、自動(dòng)識(shí)別不同物體,分析抽取視頻源中關(guān)鍵有效信息,快速準(zhǔn)確的定位事故現(xiàn)場(chǎng),判斷監(jiān)控畫(huà)面中的異常情況,并以最快和最佳的方式發(fā)出警報(bào)或觸發(fā)其它動(dòng)作,從而有效進(jìn)行事前預(yù)警,事中處理,事后及時(shí)取證的全自動(dòng)、全天候、實(shí)時(shí)監(jiān)控的智能系統(tǒng)。
智能監(jiān)控系統(tǒng)市場(chǎng)前景廣闊,國(guó)外對(duì)其研究的相對(duì)較早??▋?nèi)基梅隆大學(xué)VSAM團(tuán)隊(duì)在1997年研發(fā)了一種端到端的多攝像頭監(jiān)控系統(tǒng),該系統(tǒng)能夠自動(dòng)收集和傳播實(shí)時(shí)信息[3]。2005年,美國(guó)Tyco公司為道達(dá)爾煉油廠開(kāi)發(fā)的“區(qū)域監(jiān)控器”軟件模塊,可以實(shí)時(shí)顯示煉油廠內(nèi)各站點(diǎn)數(shù)據(jù),且能詳細(xì)統(tǒng)計(jì)現(xiàn)場(chǎng)工作人員出勤情況[4]。2020年,AXIS針對(duì)斯洛伐克Mochovce核電站研發(fā)的智能監(jiān)控系統(tǒng),將攝像頭和報(bào)警系統(tǒng)互連。該系統(tǒng)一方面能夠在發(fā)現(xiàn)河中有漂浮物的時(shí)候自動(dòng)報(bào)警;另一方面能夠監(jiān)控現(xiàn)場(chǎng)生產(chǎn)設(shè)備的狀態(tài),當(dāng)發(fā)生故障或缺陷時(shí),及時(shí)報(bào)警。目前,除CMU、麻省理工外,奧地利Graz理工大學(xué)的嵌入式智能攝像機(jī)研究小組、IBMS3(smart surveillance system)、Intel IRISNET項(xiàng)目等,都是各行業(yè)中的佼佼者。
相對(duì)于國(guó)外,我國(guó)的監(jiān)控系統(tǒng)研究起步較晚,早期的一些產(chǎn)品大多用于交通監(jiān)控、商場(chǎng)監(jiān)控、保密室監(jiān)控等。截止到2021年,我國(guó)超過(guò)1.76億個(gè)監(jiān)控?cái)z像頭用于城市監(jiān)控與報(bào)警系統(tǒng)0。近年來(lái),隨著海康威視、大華股份、漢邦高科等公司的陸續(xù)上市,國(guó)產(chǎn)的智能監(jiān)控產(chǎn)品越來(lái)越多。例如??低?,針對(duì)發(fā)電、電網(wǎng)、石油化工產(chǎn)業(yè)、煤礦產(chǎn)業(yè)等研發(fā)了安全生產(chǎn)管理平臺(tái),這些監(jiān)控平臺(tái)以視頻采集為基礎(chǔ),結(jié)合人工智能、物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)智能監(jiān)控功能,在提高工廠效率的同時(shí)有效預(yù)防生產(chǎn)事故[6]。這些大企業(yè)研發(fā)的智能監(jiān)控系統(tǒng)大多用于大型工廠,幾乎沒(méi)有針對(duì)家庭安防、保密室等小型場(chǎng)所、體積小、價(jià)格低廉、實(shí)時(shí)性高、穩(wěn)定性強(qiáng)、帶自動(dòng)報(bào)警功能的智能監(jiān)控系統(tǒng)。針對(duì)此,本文研究設(shè)計(jì)一款小型智能監(jiān)控系統(tǒng),該系統(tǒng)選用樹(shù)莓派4 B搭建硬件平臺(tái),搭載Linux操作系統(tǒng),基于Python開(kāi)發(fā)環(huán)境,結(jié)合圖像采集模塊,采用關(guān)聯(lián)幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法作為核心算法,實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)檢測(cè)。當(dāng)系統(tǒng)檢測(cè)到有目標(biāo)闖入視野范圍內(nèi)時(shí),開(kāi)始錄制目標(biāo)闖入后的視頻,并將目標(biāo)闖入后400幀視頻發(fā)送到指定郵箱,實(shí)現(xiàn)報(bào)警功能。
智能監(jiān)控系統(tǒng)主要由主控模塊、顯示模塊、圖像采集模塊、電源模塊、郵箱系統(tǒng)共五部分組成,系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 智能監(jiān)控系統(tǒng)結(jié)構(gòu)設(shè)計(jì)框圖
主控模塊是整個(gè)控制系統(tǒng)的核心部分,負(fù)責(zé)系統(tǒng)控制、數(shù)據(jù)接收、數(shù)據(jù)分析和計(jì)算、數(shù)據(jù)傳輸?shù)裙ぷ?。圖像采集模塊作為系統(tǒng)的數(shù)據(jù)輸入,通過(guò)攝像頭的拍攝,把圖像的數(shù)據(jù)傳輸?shù)街骺啬K,完成圖像采集功能。顯示模塊用來(lái)顯示圖像采集模塊拍攝到的實(shí)時(shí)畫(huà)面。電源模塊為系統(tǒng)提供電能,使系統(tǒng)能夠正常工作。郵箱系統(tǒng)用來(lái)接收有目標(biāo)闖入后系統(tǒng)錄制的400幀視頻,實(shí)現(xiàn)系統(tǒng)報(bào)警功能。
1)主控模塊。系統(tǒng)主控模塊可采用AT89C51單片機(jī)、FPGA或STM32系列嵌入式微控制器,其優(yōu)勢(shì)在于體積小、運(yùn)算速度快、價(jià)格低廉,但系統(tǒng)集成度不高,需要設(shè)計(jì)多個(gè)外部電路和連接多種外部設(shè)備,系統(tǒng)復(fù)雜度高,在日常使用中容易出現(xiàn)故障。而基于Linux的樹(shù)莓派4 B控制系統(tǒng)具有4 GB的RAM和高性能64位四核處理器,能夠通過(guò)運(yùn)行相應(yīng)的操作系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程遙控和云端管理,通過(guò)一對(duì)micro-HDMI端口支持分辨率高達(dá)4 K的雙顯示屏,支持 HEVC 視頻 4 Kp60 硬解碼,高達(dá)雙頻2.4/5.0 GHz無(wú)線局域網(wǎng),具有藍(lán)牙5.0、千兆以太網(wǎng)、USB 3.0和PoE功能,并能夠與Camera V2攝像頭模塊完全相互兼容[7-8]。同時(shí),其價(jià)格便宜,集成度高,運(yùn)算速度快,擴(kuò)展性豐富,使用方便。因此,將其作為智能監(jiān)控系統(tǒng)的主控模塊,能夠在降低系統(tǒng)復(fù)雜程度的基礎(chǔ)上,降低系統(tǒng)成本。
2)圖像采集模塊。樹(shù)莓派具有良好的擴(kuò)展功能,能夠與Camera V2攝像頭模塊完全相互兼容,因此圖像采集模塊可采用體積較小的CameraV2照相機(jī)模塊。其核心元件是1個(gè)500 W像素的CMOS傳感器,最大分辨率為2 592*1 944,支持每秒高達(dá)30幀的1 080 p視頻拍攝,可以用一條15芯的排線與樹(shù)莓派4B控制系統(tǒng)專(zhuān)用的CSI接口直連,能夠有效提高系統(tǒng)集成度。
3)顯示模塊。系統(tǒng)顯示可以使用VNC遠(yuǎn)程連接的方式把樹(shù)莓派的系統(tǒng)界面遠(yuǎn)程連接在PC端,也可以使用IPS高清顯示屏,通過(guò)HDMI連接線與核心控制模塊進(jìn)行連接。本研究選用MP13508顯示屏作為智能監(jiān)控系統(tǒng)顯示模塊。該顯示模塊采用3.5英寸電阻觸摸TFT屏,分辨率為480*320,并且包含SPI+HDMI接口,可與樹(shù)莓派4 B控制系統(tǒng)直連,具有結(jié)構(gòu)簡(jiǎn)單、體積小、重量輕、便于隱蔽和安裝等優(yōu)勢(shì),能夠滿足系統(tǒng)設(shè)計(jì)需求。
4)電源模塊。電源模塊選用具有Type C接口且能夠把100~240 V、50/60 Hz、0.6 A的交流電轉(zhuǎn)換為5 V、3 A的電源適配器。Type C接口可與樹(shù)莓派4 B控制系統(tǒng)直連,結(jié)構(gòu)簡(jiǎn)單,使用方便。
圖像預(yù)處理的主要目的是消除圖像中無(wú)關(guān)的信息,恢復(fù)有用的真實(shí)信息,增強(qiáng)有關(guān)信息的可檢測(cè)性和最大限度地簡(jiǎn)化數(shù)據(jù),從而提高特征提取、圖像分割、匹配和識(shí)別的可靠性[9]。系統(tǒng)對(duì)圖像預(yù)處理包括圖像灰度化處理和濾波處理。
灰度化處理是將彩色圖像轉(zhuǎn)換為灰度圖像的過(guò)程,是圖像處理的根基。相對(duì)于彩色圖像,灰度圖像占內(nèi)存更小,運(yùn)算速度更快,且圖像經(jīng)過(guò)灰度化處理后可以在視覺(jué)上增加對(duì)比,突出目標(biāo)區(qū)域。因此,系統(tǒng)將圖像灰度化處理作為圖像預(yù)處理初始步驟。常見(jiàn)的圖像灰度化處理方法有分量法、平均值法和加權(quán)平均法。分量法是根據(jù)應(yīng)用需要直接選擇彩色圖像R、G、B三分量中某一個(gè)分量,將其作為灰度值進(jìn)行處理,通常選擇3個(gè)分量中數(shù)值最大的分量。平均值法是計(jì)算彩色圖像R、G、B三分量全部數(shù)值的平均值,將其作為灰度值,進(jìn)而獲得灰度圖像。加權(quán)平均法是根據(jù)人眼對(duì)綠色敏感最高,對(duì)藍(lán)色敏感最低,將彩色圖像的R、G、B三分量以不同的權(quán)重進(jìn)行加權(quán)平均,如公式(1)所示:
f(x,y)=0.299*R(x,y)+0.578*
G(x,y)+0.114*B(x,y)
(1)
式中,R(x,y)、G(x,y)、B(x,y)分別表示像素點(diǎn)(x,y)的R、G、B值,f(x,y)表示圖像像素點(diǎn)(x,y)處理后的灰度值。
通常分量法轉(zhuǎn)換的灰度圖像亮度較高,平均值法產(chǎn)生的灰度圖像比較柔和,加權(quán)平均法得到的灰度圖像效果最好。因此,選擇加權(quán)平均法作為圖像灰度化處理方法。
經(jīng)過(guò)灰度化處理的圖像,一般存在噪聲、陰影等問(wèn)題,為了提升圖像質(zhì)量,更好地把目標(biāo)與背景進(jìn)行分割,減少圖像噪聲、陰影對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)效果的影響,需要對(duì)圖像進(jìn)行濾波處理。常用的濾波方法有均值濾波、高斯濾波和中值濾波。
均值濾波是圖像處理中常用的手段,從頻率域觀點(diǎn)來(lái)看均值濾波是一種低通濾波器,高頻信號(hào)將會(huì)去掉。理想的均值濾波是用每個(gè)像素和它周?chē)袼赜?jì)算出來(lái)的平均值替換圖像中每個(gè)像素,從而幫助消除圖像尖銳噪聲,實(shí)現(xiàn)圖像平滑,模糊等功能。中值濾波是將像素點(diǎn)灰度值設(shè)置為相鄰窗口范圍內(nèi)各點(diǎn)中值,屬于非線性平滑濾波的一種,一定程度上中值更能反映規(guī)定范圍內(nèi)的真實(shí)值,使得鄰域范圍內(nèi)像素值近似于真實(shí)值從而消除孤立的噪聲點(diǎn)。高斯濾波是對(duì)圖像進(jìn)行加權(quán)平均的過(guò)程,圖像中每一個(gè)像素點(diǎn)的值由其自身和鄰域內(nèi)其它像素值經(jīng)過(guò)加權(quán)平均后得到,類(lèi)似于卷積。高斯濾波屬于線性平滑濾波的一種,濾波后的圖像平滑程度取決于標(biāo)準(zhǔn)差,它輸出的是領(lǐng)域像素的加權(quán)平均值,同時(shí)離中心越近的像素權(quán)重越高。綜合考慮,高斯濾波保留細(xì)節(jié)的能力相對(duì)其余兩種方法會(huì)更好一點(diǎn),并且高斯濾波可以通過(guò)加權(quán)值的改變,調(diào)節(jié)其性能。因此,系統(tǒng)選擇高斯濾波算法對(duì)圖像進(jìn)行濾波處理。
智能監(jiān)控系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)是運(yùn)動(dòng)目標(biāo)檢測(cè),而運(yùn)動(dòng)目標(biāo)檢測(cè)的核心在于通過(guò)分析視頻圖像序列,把運(yùn)動(dòng)目標(biāo)從實(shí)時(shí)變化的背景圖像中快速準(zhǔn)確地分離出來(lái)[10-11]。在不考慮光照變化、噪聲干擾的情況下,能引起序列圖像中相鄰兩幀對(duì)應(yīng)像素的像素值發(fā)生變化的因素只有目標(biāo)的運(yùn)動(dòng)。因此,根據(jù)序列圖像中相鄰兩幀或者幾幀中對(duì)應(yīng)像素點(diǎn)像素值的變化可以得到運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)信息。經(jīng)典的運(yùn)動(dòng)目標(biāo)檢測(cè)算法有:光流法、背景差分法和幀間差分法[12]。
基于光流法的運(yùn)動(dòng)目標(biāo)檢測(cè)利用運(yùn)動(dòng)目標(biāo)相對(duì)于背景圖像運(yùn)動(dòng)時(shí)存在運(yùn)動(dòng)位置矢量場(chǎng)來(lái)檢測(cè)出運(yùn)動(dòng)目標(biāo)的位置[13]。光流法抗噪性差,容易受噪聲、遮擋、光照強(qiáng)度、物體陰影等因素影響,且算法復(fù)雜,運(yùn)算時(shí)間長(zhǎng),實(shí)時(shí)效果差[14],難以滿足系統(tǒng)實(shí)時(shí)性要求。
背景差分法是將當(dāng)前每一幀圖像的像素值與之前存好的背景圖像的像素值進(jìn)行差分,差分圖像與預(yù)先設(shè)定的閾值進(jìn)行比較,如果差分圖像像素值大于閾值則為運(yùn)動(dòng)目標(biāo),如果小于閾值,則為背景區(qū)域[15]。背景差分法能夠較快地檢測(cè)到運(yùn)動(dòng)目標(biāo),實(shí)時(shí)性高,但容易受到環(huán)境干擾,背景幀的構(gòu)造和更新將花費(fèi)大量的時(shí)間[16],不適用于背景快發(fā)變化的場(chǎng)景。
幀間差分法又被稱(chēng)時(shí)間差分法,是一種利用序列圖像相鄰幀的相關(guān)性,將相鄰的兩幀或者幾幀圖像進(jìn)行差分計(jì)算并閾值化以獲取運(yùn)動(dòng)目標(biāo)檢測(cè)的方法[17]。幀間圖像信號(hào)的變化往往包含了豐富的目標(biāo)運(yùn)動(dòng)信息,這是視頻圖像中對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行分割的基礎(chǔ)[18-20]。由于運(yùn)動(dòng)目標(biāo)與背景在像素值上的差異,且運(yùn)動(dòng)目標(biāo)在不同的圖像幀中的位置不同,當(dāng)視頻中存在移動(dòng)物體時(shí),相鄰幀之間對(duì)應(yīng)像素灰度值會(huì)有差異,求取相鄰幀灰度差的絕對(duì)值,如果沒(méi)有運(yùn)動(dòng)目標(biāo)存在,則差值圖像表現(xiàn)出來(lái)均為0,如果有運(yùn)動(dòng)目標(biāo)存在,則差值圖像變現(xiàn)為非0,這樣就可判斷是否有運(yùn)動(dòng)目標(biāo)存在,同時(shí)大致計(jì)算得到運(yùn)動(dòng)目標(biāo)的位置、輪廓和移動(dòng)路徑等。 幀間差分法的優(yōu)點(diǎn)是算法簡(jiǎn)單,程序?qū)崿F(xiàn)復(fù)雜度低,穩(wěn)定性高,對(duì)光線等場(chǎng)景變化不敏感,適應(yīng)性強(qiáng),適用場(chǎng)景多。缺點(diǎn)是不能提取運(yùn)動(dòng)目標(biāo)完整圖像,只能提取目標(biāo)邊界且邊界輪廓粗,比實(shí)際目標(biāo)大,目標(biāo)內(nèi)部有“空洞”;對(duì)于運(yùn)動(dòng)速度較快的目標(biāo),容易出現(xiàn)“鬼影”現(xiàn)象或被檢測(cè)為兩個(gè)不同的運(yùn)動(dòng)目標(biāo)。對(duì)于運(yùn)動(dòng)速度緩慢的目標(biāo)不敏感[21],當(dāng)目標(biāo)在視頻流中前后兩幀幾乎完全重疊時(shí),會(huì)出現(xiàn)漏檢現(xiàn)象,系統(tǒng)檢測(cè)準(zhǔn)確性不高,需要對(duì)其進(jìn)行改進(jìn),才能滿足智能監(jiān)控系統(tǒng)設(shè)計(jì)要求。
2.2.1 基于關(guān)聯(lián)幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法
三幀差分法(TFMD,three-frame difference method)是幀間差分法的一種,是通過(guò)對(duì)圖像序列連續(xù)幾幀圖像做差分運(yùn)算從而獲取運(yùn)動(dòng)目標(biāo)輪廓的方法。該方法在一定程度上優(yōu)化了運(yùn)動(dòng)物體雙邊,粗輪廓的現(xiàn)象,相比之下,TFMD比相鄰幀間差法更適應(yīng)于物體移動(dòng)速度較快的情況,且檢測(cè)精度更高。TFMD就是取連續(xù)的3幀圖像進(jìn)行2次差分運(yùn)算,再將2次差分得到的結(jié)果進(jìn)行與運(yùn)算即可得到運(yùn)動(dòng)目標(biāo)[22]。相對(duì)于其它幾種常用的運(yùn)動(dòng)目標(biāo)檢測(cè)算法而言,三幀差分法具有計(jì)算量小、抗干擾能力強(qiáng)等優(yōu)點(diǎn),能夠得到比兩幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)更精確的結(jié)果,但檢測(cè)結(jié)果仍然會(huì)出現(xiàn)空洞現(xiàn)象。為了能夠提高智能監(jiān)控系統(tǒng)的準(zhǔn)確性,論文研究的智能監(jiān)控系統(tǒng)采用基于關(guān)聯(lián)幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法,該算法的基礎(chǔ)是TFMD,具體實(shí)現(xiàn)原理如圖2所示。
圖2 基于關(guān)聯(lián)幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法原理圖
記fk(x,y)為序列圖像第k幀圖像中坐標(biāo)為(x,y)像素點(diǎn)的像素值;fk-1(x,y)為序列圖像第k-1幀圖像中坐標(biāo)為(x,y)像素點(diǎn)的像素值;fk+1(x,y)為序列圖像第k+1幀圖像中坐標(biāo)為(x,y)像素點(diǎn)的像素值。
1)通過(guò)相鄰兩幀圖像顏色特征的巴氏距離,根據(jù)式(2)算相鄰兩幀圖像之間的相似度:
(2)
其中:Fk(i)和Fk-1(i)為提取出來(lái)的第k幀和第k-1幀圖像的顏色特征向量;S的值越接近1,表明兩幀圖像越相似。
2)當(dāng)?shù)趉幀和第k-1幀圖像的相似度大于設(shè)定閾值T1時(shí),再用式(3)、式(4)算相鄰2幀圖像之間的差分值:
Dk(x,y)=|fk+1(x,y)-fk(x,y)|
(3)
Dk-1(x,y)=|fk(x,y)-fk-1(x,y)|
(4)
3)考慮到光照、噪聲等外部因素造成的圖像像素值的微弱變化,可利用最大類(lèi)間方差(OTSU)得到自適應(yīng)閾值T2,將差分圖像和該閾值T2作比較,當(dāng)差值大于該閾值時(shí)認(rèn)為該像素點(diǎn)屬于運(yùn)動(dòng)目標(biāo),否則屬于背景。對(duì)差分結(jié)果進(jìn)行二值化處理,如式(5)、式(6)所示:
(5)
(6)
4)對(duì)dk(x,y)和dk-1(x,y)取與運(yùn)算,得到含有運(yùn)動(dòng)對(duì)象和兩幀差分圖像重疊部分的二值圖像Mk(x,y),如式(7)所示:
Mk(x,y)=dk(x,y)∩dk-1(x,y)
(7)
5)統(tǒng)計(jì)二值圖像Mk(x,y)中灰度值為1的像素點(diǎn)的個(gè)數(shù)m。若m小于設(shè)定閾值T3,則判定當(dāng)前幀無(wú)運(yùn)動(dòng)目標(biāo),跳過(guò)該幀執(zhí)行下一幀檢測(cè);若m大于設(shè)定閾值T3,則判定當(dāng)前幀有運(yùn)動(dòng)目標(biāo),開(kāi)始錄像,并開(kāi)始檢測(cè)下一幀圖像。
智能監(jiān)控系統(tǒng)總體程序設(shè)計(jì)主要由初始化程序、運(yùn)動(dòng)目標(biāo)檢測(cè)程序、視頻錄制程序和郵件發(fā)送程序四部分組成。
初始化程序主要將需要用到的所有模塊進(jìn)行引用,為后續(xù)程序的運(yùn)行提供初始化和必要的庫(kù)函數(shù)。運(yùn)動(dòng)目標(biāo)檢測(cè)程序用到的基于關(guān)聯(lián)幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法,首先對(duì)圖像進(jìn)行灰度化和高斯濾波預(yù)處理,然后計(jì)算相鄰幀的相似度,若相似度滿足設(shè)定的閾值,則將序列圖像相鄰3幀的圖像進(jìn)行差值處理,將得到差值的絕對(duì)值進(jìn)行與運(yùn)算后輸出到一張新的圖片中,將新的圖像進(jìn)行腐蝕與膨脹,通過(guò)閾值函數(shù)處理如果超過(guò)閾值則輸出有運(yùn)動(dòng)目標(biāo)的信號(hào)。當(dāng)檢測(cè)到有運(yùn)動(dòng)目標(biāo)時(shí),視頻錄制程序開(kāi)始運(yùn)行,錄制運(yùn)動(dòng)目標(biāo)闖入監(jiān)控視野后的400幀視頻,并將所錄制的視頻保存到指定文件夾中。郵件發(fā)送程序需要用到子程序中的SMTP協(xié)議配置,采用單獨(dú)的線程來(lái)運(yùn)行。當(dāng)視頻錄制完成后,郵件發(fā)送程序?qū)⑵浒l(fā)送到預(yù)先設(shè)定好的郵箱內(nèi)。
智能監(jiān)控系統(tǒng)軟件配置包括樹(shù)莓派操作系統(tǒng)和編程環(huán)境兩部分。操作系統(tǒng)選擇樹(shù)莓派官方支持的Raspberry Pi OS作為操作系統(tǒng),只需將系統(tǒng)鏡像文件燒錄至TF卡即可。
樹(shù)莓派選用Python編程語(yǔ)言。Python是一種面向?qū)ο蟮拈_(kāi)源跨平臺(tái)程序設(shè)計(jì)語(yǔ)言,包含各種區(qū)域的代碼,如單元測(cè)試、線程、圖像處理、操作系統(tǒng)接口和協(xié)議、Web服務(wù)工具等。這種類(lèi)型的代碼可以消除智能監(jiān)控系統(tǒng)編寫(xiě)冗長(zhǎng)代碼的需要,同時(shí)能夠把其它語(yǔ)言編寫(xiě)的各種模塊,尤其是C/C++語(yǔ)言編寫(xiě)的模塊,很輕松地聯(lián)結(jié)在一起,語(yǔ)法清晰簡(jiǎn)單,調(diào)用方便[23]。
監(jiān)控程序主要調(diào)用OpenCV庫(kù)函數(shù)來(lái)實(shí)現(xiàn)。OpenCV是Intel的一個(gè)開(kāi)源免費(fèi)視覺(jué)庫(kù),其內(nèi)部函數(shù)庫(kù)是由C/C++編寫(xiě)的,具有量清、高效的特點(diǎn)[24]。OpenCV庫(kù)函數(shù)內(nèi)部提供的大量API接口可實(shí)現(xiàn)圖像去噪、邊緣檢測(cè)、角點(diǎn)檢測(cè)、色彩變換、形態(tài)學(xué)處理等功能,同時(shí)支持圖像文件數(shù)據(jù)以及攝像頭數(shù)據(jù)的輸入,圖像以及視頻文件的輸出功能。模塊功能強(qiáng)大,調(diào)用方便,能夠滿足各類(lèi)圖像處理需求。
SMTP是一種可靠且有效的電子郵件傳輸協(xié)議,主要用于系統(tǒng)之間的郵件信息傳遞,并能夠提供有關(guān)來(lái)信的通知,操作簡(jiǎn)單、方便。因此,系統(tǒng)選用SMTP協(xié)議實(shí)現(xiàn)報(bào)警郵件發(fā)送功能。在設(shè)計(jì)系統(tǒng)程序之前,需要設(shè)置用戶(hù)的郵箱將SMTP協(xié)議開(kāi)啟,之后可獲得郵箱授權(quán)碼和郵箱服務(wù)器地址,這對(duì)于之后設(shè)計(jì)發(fā)送郵件報(bào)警程序至關(guān)重要。
智能監(jiān)控系統(tǒng)軟件實(shí)現(xiàn)流程如圖3所示。初始化程序模塊首先需要打開(kāi)攝像頭,然后設(shè)置幀數(shù)和讀取當(dāng)前背景,其次檢測(cè)是否捕獲視頻流,如果未捕獲視頻流則說(shuō)明未開(kāi)啟攝像頭,則重新開(kāi)啟攝像頭,直至開(kāi)啟成功。
圖3 智能監(jiān)控系統(tǒng)軟件流程圖
初始化程序配置完成后,運(yùn)動(dòng)目標(biāo)檢測(cè)程序首先對(duì)捕獲的圖像進(jìn)行灰度化和高斯濾波處理。然后,計(jì)算相鄰兩幀圖像的相似度,如果前一幀(第k-1幀)圖像與當(dāng)前幀(第k幀)的相似度、當(dāng)前幀(第k幀)與后一幀(第k+1 幀)圖像的相似度均大于閾值T1,則對(duì)相鄰兩幀圖像進(jìn)行差分運(yùn)算得到差分圖像Dk(x,y)與Dk-1(x,y),否則重新計(jì)算下一幀圖像與相鄰幀的相似度。其次考慮到光照、噪聲等外部因素造成的圖像像素值的微弱變化,將差分圖像與利用最大類(lèi)間方差(OTSU)得到自適應(yīng)閾值T2進(jìn)行比較得到二值圖像dk(x,y)和dk-1(x,y)。 最后,對(duì)dk(x,y)和dk-1(x,y)取與運(yùn)算,得到含有運(yùn)動(dòng)對(duì)象和兩幀差分圖像重疊部分的二值圖像Mk(x,y),并統(tǒng)計(jì)二值圖像Mk(x,y)中灰度值為1的像素點(diǎn)的個(gè)數(shù)m。若m小于設(shè)定閾值T3,則判定當(dāng)前幀無(wú)運(yùn)動(dòng)目標(biāo),跳過(guò)該幀執(zhí)行下一幀檢測(cè);若m大于設(shè)定閾值T3,則判定當(dāng)前幀有運(yùn)動(dòng)目標(biāo),則開(kāi)始錄像,并開(kāi)始檢測(cè)下一幀圖像。
當(dāng)檢測(cè)到有物體闖入后,視頻錄制程序開(kāi)始運(yùn)行,并在指定的文件夾保存400幀的視頻。如果第一次運(yùn)行沒(méi)有找到保存的視頻的文件夾,則會(huì)自動(dòng)創(chuàng)建一個(gè)新的文件夾,后續(xù)錄制的視頻都會(huì)保存在這個(gè)文件夾,為郵件發(fā)送程序提供檢索文件。視頻錄制并保存完整后,顯示屏上會(huì)顯示錄像結(jié)束。
郵件發(fā)送程序需要用到郵箱的SMTP協(xié)議。在執(zhí)行將錄制的視頻發(fā)送到指定郵箱之前,需提前開(kāi)啟指定郵箱的SMTP協(xié)議并獲得郵箱服務(wù)器地址和密碼。郵件發(fā)送程序?yàn)閱为?dú)的線程,在程序運(yùn)行中,不受其它模塊的影響。
本研究設(shè)計(jì)的智能監(jiān)控系統(tǒng)以Raspberry Pi 4B開(kāi)發(fā)板為硬件平臺(tái)并以Python3語(yǔ)言為基礎(chǔ)結(jié)合OpenCV實(shí)現(xiàn)。樹(shù)莓派出廠時(shí)是不具備操作系統(tǒng)的,因此在系統(tǒng)進(jìn)行實(shí)驗(yàn)測(cè)試之前,需要給樹(shù)莓派中燒錄系統(tǒng)。在樹(shù)莓派官網(wǎng)下載燒錄系統(tǒng)的工具包,這款工具包可以輕松的為樹(shù)莓派鏡像燒錄系統(tǒng),只需要一步就可以自動(dòng)的安裝好,不需要更多操作。系統(tǒng)燒錄完成后,需要對(duì)樹(shù)莓派開(kāi)發(fā)板進(jìn)行運(yùn)行環(huán)境的搭建,包括OpenCV和SMTP協(xié)議的安裝等。系統(tǒng)需要在之后每次啟動(dòng)時(shí)都要打開(kāi)攝像頭,因此需要在軟件搭建環(huán)境中將攝像頭設(shè)置成開(kāi)機(jī)自啟動(dòng)模式。
攝像頭功能完好與否是智能監(jiān)控系統(tǒng)成功運(yùn)行的基礎(chǔ)。因此,在軟件環(huán)境搭建完成并成功登陸系統(tǒng)后,需要對(duì)攝像頭拍照范圍和清晰度進(jìn)行測(cè)試。運(yùn)行攝像頭拍照程序,若攝像頭能夠正常工作,則屏幕上會(huì)顯示拍照結(jié)果,如圖4所示,否則攝像頭有問(wèn)題,需進(jìn)行維修或更換。
圖4 攝像頭測(cè)試圖
智能監(jiān)控系統(tǒng)識(shí)別率受環(huán)境的光線強(qiáng)弱、拍攝角度、拍攝背景等因素的影響,因此為了更好地測(cè)試系統(tǒng)的功能是否全面,需要進(jìn)行正常亮度情況下、昏暗環(huán)境下以及不同目標(biāo)進(jìn)入監(jiān)控范圍時(shí)系統(tǒng)是否都能夠正常工作。
4.2.1 正常光線下測(cè)試
正常光線下智能監(jiān)控系統(tǒng)測(cè)試結(jié)果如圖5所示,其中圖(a),(c),(e)為3個(gè)目標(biāo)闖入監(jiān)控范圍的測(cè)試結(jié)果;圖(b),(d),(f)為發(fā)送到指定郵箱的結(jié)果顯示。
圖5 正常光線下智能監(jiān)控系統(tǒng)測(cè)試結(jié)果
實(shí)驗(yàn)結(jié)果表明:本研究設(shè)計(jì)的智能監(jiān)控監(jiān)控系統(tǒng)能夠在正常光線下完成目標(biāo)檢測(cè)、保存目標(biāo)闖入視頻并將視頻發(fā)送到指定郵箱報(bào)警功能。
4.2.2 昏暗光線下測(cè)試
昏暗光線下智能監(jiān)控系統(tǒng)測(cè)試結(jié)果如圖6所示,其中圖(a),(c),(e)為3個(gè)目標(biāo)闖入監(jiān)控范圍的測(cè)試結(jié)果;圖(b),(d),(f)為發(fā)送到指定郵箱的結(jié)果顯示。
圖6 昏暗光線下智能監(jiān)控系統(tǒng)測(cè)試結(jié)果
實(shí)驗(yàn)結(jié)果表明:本研究設(shè)計(jì)的智能監(jiān)控監(jiān)控系統(tǒng)能夠在昏暗光線下完成目標(biāo)檢測(cè)、保存目標(biāo)闖入視頻并將視頻發(fā)送到指定郵箱報(bào)警功能。
正常光線和昏暗光線下測(cè)試結(jié)果表明:本研究設(shè)計(jì)的智能監(jiān)控系統(tǒng)不僅能夠順利執(zhí)行監(jiān)控、報(bào)警等任務(wù),還可以在不同光線強(qiáng)度、不同目標(biāo)闖入下正常工作,穩(wěn)定性高、實(shí)時(shí)性強(qiáng),滿足智能監(jiān)控系統(tǒng)設(shè)計(jì)需求。
以智能監(jiān)控系統(tǒng)為實(shí)踐項(xiàng)目,設(shè)計(jì)并開(kāi)發(fā)了一套具備自動(dòng)報(bào)警功能的智能監(jiān)控系統(tǒng)。該系統(tǒng)選用樹(shù)莓派4B搭建硬件平臺(tái),搭載Linux系統(tǒng),基于Python開(kāi)發(fā)環(huán)境,采用灰度加權(quán)平均法及高斯濾波算法對(duì)圖像進(jìn)行預(yù)處理,基于關(guān)聯(lián)幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法,結(jié)合圖像采集模塊,實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)檢測(cè);當(dāng)系統(tǒng)檢測(cè)到有目標(biāo)闖入時(shí),開(kāi)始錄制目標(biāo)闖入后的400幀視頻;視頻錄制完成后發(fā)送到指定郵箱,實(shí)現(xiàn)自動(dòng)報(bào)警功能。在正常光線和昏暗光線下對(duì)系統(tǒng)功能進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果表明在不同光線強(qiáng)度、不同目標(biāo)闖入情況下,系統(tǒng)能夠準(zhǔn)確識(shí)別目標(biāo)闖入,實(shí)現(xiàn)監(jiān)控、報(bào)警功能,實(shí)時(shí)性強(qiáng)、穩(wěn)定性高,具有廣闊的市場(chǎng)應(yīng)用前景。