郭亞亞,張玉林,孫彭濤,任俊峰
(河北省地震局承德中心臺(tái),河北 承德 067000)
隨著基礎(chǔ)設(shè)施建設(shè)步伐的加快,越來(lái)越多的行業(yè)通過(guò)遠(yuǎn)程監(jiān)控系統(tǒng)對(duì)無(wú)人值守設(shè)備進(jìn)行管理。目前河北省地震前兆臺(tái)網(wǎng)無(wú)人值守臺(tái)站的管理均采用網(wǎng)絡(luò)攝像頭實(shí)時(shí)監(jiān)控,但需要人為定時(shí)查看場(chǎng)地現(xiàn)狀,如能實(shí)現(xiàn)對(duì)場(chǎng)地環(huán)境驟然變化時(shí)自動(dòng)報(bào)警,可提高臺(tái)站的維護(hù)質(zhì)量和維護(hù)水平。本文對(duì)場(chǎng)地環(huán)境變化自動(dòng)報(bào)警系統(tǒng)進(jìn)行了初步探索,及時(shí)發(fā)現(xiàn)場(chǎng)地異常狀況,以加強(qiáng)對(duì)場(chǎng)地環(huán)境安全管理。
本系統(tǒng)設(shè)計(jì)是將網(wǎng)絡(luò)攝像機(jī)的嵌入式操作系統(tǒng)用無(wú)線網(wǎng)絡(luò)適配器通過(guò)HTTP協(xié)議用獨(dú)立的IP地址把攝像頭與電腦相鏈接,系統(tǒng)經(jīng)過(guò)一定時(shí)間間隔(采用0.04 s為時(shí)間間隔)采集圖像數(shù)據(jù),使用PSNR算法,將采集的圖像與設(shè)置的標(biāo)準(zhǔn)圖片進(jìn)行對(duì)比,判斷圖像差異,如果圖像變化達(dá)到一定閾值則發(fā)出警示。
圖1 系統(tǒng)硬件框圖
本實(shí)驗(yàn)采用孔徑為4 mm的網(wǎng)絡(luò)攝像機(jī)一臺(tái),并通過(guò)局域網(wǎng)與計(jì)算機(jī)終端相連(見圖1)。網(wǎng)絡(luò)攝像機(jī)通過(guò)獨(dú)立的IP地址和嵌入式操作系統(tǒng)實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)控的智能化,可以通過(guò)LAN、DSL連接或者是無(wú)線網(wǎng)絡(luò)適配器直接連接到網(wǎng)絡(luò)上(張莉,2012)。網(wǎng)絡(luò)攝像機(jī)首先采集圖像(這些圖像可以被視為由不同波段的光組成),然后將圖像轉(zhuǎn)換成光電信號(hào),隨之從模擬狀態(tài)轉(zhuǎn)換成數(shù)字模式,經(jīng)過(guò)壓縮處理后,傳輸?shù)骄W(wǎng)絡(luò)上(李廷軍,2004)。局域網(wǎng)由網(wǎng)絡(luò)硬件(包括網(wǎng)絡(luò)服務(wù)器、網(wǎng)絡(luò)工作站、網(wǎng)絡(luò)打印機(jī)、網(wǎng)卡、網(wǎng)絡(luò)互聯(lián)設(shè)備等)和網(wǎng)絡(luò)傳輸介質(zhì),以及網(wǎng)絡(luò)軟件所組成。計(jì)算機(jī)終端主要用于接收和查看圖像數(shù)據(jù)。
圖2 系統(tǒng)架構(gòu)圖
系統(tǒng)采用MVC(即模型-視圖-控制器,model-view-controller)架構(gòu),用業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,分為控制模塊、界面模塊、數(shù)據(jù)獲取模塊、數(shù)據(jù)模型。系統(tǒng)中除繪圖模塊設(shè)計(jì)為界面模塊的子模塊外,其它模塊均在不同的線程運(yùn)行,它們之間依靠消息傳遞來(lái)實(shí)現(xiàn)通信與交換數(shù)據(jù)(熊輝,2003),基本構(gòu)成如圖2。(1)視圖部分(V部分)界面模塊和繪圖模塊屬于繪圖部分,主要用于系統(tǒng)UI界面,包括實(shí)時(shí)圖像、標(biāo)準(zhǔn)圖像界面以及更改標(biāo)準(zhǔn)圖像。(2)控制器部分(C部分),即調(diào)度模塊,負(fù)責(zé)系統(tǒng)運(yùn)行中邏輯跳轉(zhuǎn)與數(shù)據(jù)的傳送。(3)模型部分(M部分),即圖像獲取設(shè)置,標(biāo)準(zhǔn)圖像設(shè)置,實(shí)時(shí)圖像與標(biāo)準(zhǔn)圖像對(duì)比,警告,系統(tǒng)支撐等,均由模型部分來(lái)完成的。數(shù)據(jù)模型,對(duì)各數(shù)據(jù)進(jìn)行建模,實(shí)現(xiàn)對(duì)這類數(shù)據(jù)的存儲(chǔ)、解析、繪制等內(nèi)容。本系統(tǒng)圖像采集時(shí)間間隔為0.04 s,與設(shè)置的標(biāo)準(zhǔn)圖像進(jìn)行對(duì)比,如果達(dá)到一定的閾值,即顯示警告信息。
軟件開發(fā)環(huán)境如表1。
表1 軟件開發(fā)環(huán)境
選取一張由網(wǎng)絡(luò)攝像機(jī)拍攝的正常無(wú)干擾狀態(tài)下的場(chǎng)地環(huán)境照片作為標(biāo)準(zhǔn)圖像,使用PSNR算法,將網(wǎng)絡(luò)攝像機(jī)每隔0.04 s拍攝的照片與標(biāo)準(zhǔn)圖像進(jìn)行對(duì)比,判斷圖像差異,若圖像變化達(dá)到一定閾值,即視為場(chǎng)地環(huán)境發(fā)生變化,發(fā)出警示。PSNR是個(gè)使用“局部均值誤差”來(lái)判斷差異的最簡(jiǎn)單的方法,假設(shè)有這兩幅圖像I1和I2,它們的行列數(shù)分別是i,j,有c個(gè)通道(鄭遠(yuǎn),2014)。PSNR公式如下:
每個(gè)像素的每個(gè)通道的值占用一個(gè)字節(jié),值域[0,255]。每個(gè)像素會(huì)有1個(gè)有效的最大值,注意當(dāng)兩幅圖像相同時(shí),MSE值會(huì)變成0,這樣會(huì)導(dǎo)致PSNR的公式變得沒有意義。所以需要單獨(dú)處理這樣的特殊情況。此外由于像素的動(dòng)態(tài)范圍很廣,在處理時(shí)會(huì)使用對(duì)數(shù)變換來(lái)縮小范圍(朱亞輝,2012)。PSNR算法簡(jiǎn)單,檢查的速度也很快。本程序使用C++語(yǔ)言編寫,變換的C++代碼如下:
double getPSNR(const Mat& I1, const Mat& I2)
{
Mat s1;
absdiff(I1, I2, s1); // |I1 - I2|
s1.convertTo(s1, CV_32F); // 不能在8位矩陣上做平方運(yùn)算
s1 = s1.mul(s1); // |I1 - I2|^2
Scalar s = sum(s1); // 疊加每個(gè)通道的元素
double sse = s.val[0] + s.val[1] + s.val[2]; // 疊加所有通道
if( sse <= 1e-10) // 如果值太小就直接等于0
return 0;
else
{
double mse =sse /(double)(I1.channels() * I1.total());
double psnr = 10.0*log10((255*255)/mse);
return psnr;
}
}
本系統(tǒng)軟件安裝于豐寧地震臺(tái)業(yè)務(wù)值班室的一臺(tái)電腦中,攝像頭安裝于距豐寧地震臺(tái)15 km外的達(dá)二營(yíng)無(wú)人值守站點(diǎn),通過(guò)地震局內(nèi)網(wǎng)連接電腦端與攝像頭。監(jiān)控設(shè)備直接對(duì)準(zhǔn)儀器的指示界面,不僅能夠監(jiān)控到是否有人員進(jìn)出儀器房,還可以對(duì)儀器面板的實(shí)時(shí)數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)控,具有易于實(shí)現(xiàn)、方便使用、低成本等優(yōu)點(diǎn)。系統(tǒng)界面見圖3,本圖的背景環(huán)境為辦公室。實(shí)驗(yàn)中,隨意抓取一張監(jiān)控圖片作為標(biāo)準(zhǔn)圖像,實(shí)時(shí)采集圖像與標(biāo)準(zhǔn)圖像進(jìn)行對(duì)比分析,如果實(shí)時(shí)圖像與標(biāo)準(zhǔn)圖像差別不足以達(dá)到相應(yīng)閾值,即不報(bào)警,顯示為標(biāo)準(zhǔn)圖像,界面正常,見圖3(a);反之,圖像與標(biāo)準(zhǔn)圖像之間存在超出閾值的變化,則顯示警告信息圖3(b)。2016年5月20日工作人員到達(dá)二營(yíng)無(wú)人值守臺(tái)站進(jìn)行巡檢,進(jìn)入儀器房,導(dǎo)致監(jiān)控系統(tǒng)出現(xiàn)“警告?。。 ?。許多無(wú)人值守臺(tái)站都比較偏遠(yuǎn),容易有蛇鼠等動(dòng)物進(jìn)入,對(duì)線路造成破壞,遠(yuǎn)程監(jiān)控可以隨時(shí)了解機(jī)房的監(jiān)測(cè)環(huán)境。2016年7月28日,監(jiān)控系統(tǒng)再次發(fā)出“警告?。。 ?,經(jīng)查看是一只壁虎爬入監(jiān)控范圍。
圖3 監(jiān)控信息實(shí)時(shí)警示意圖
本文提出的遠(yuǎn)程監(jiān)控報(bào)警系統(tǒng)不僅能夠監(jiān)控工作人員進(jìn)出儀器房的記錄,還可以隨時(shí)了解機(jī)房的監(jiān)測(cè)環(huán)境,保證監(jiān)測(cè)環(huán)境安全,提高無(wú)人值守臺(tái)站的維護(hù)效率。如將攝像頭直接對(duì)準(zhǔn)儀器的指示界面,還可以對(duì)儀器面板的實(shí)時(shí)數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)控。由于數(shù)據(jù)傳輸?shù)男枰?,各站點(diǎn)都具有較好的寬帶網(wǎng)絡(luò)資源,方便遠(yuǎn)程監(jiān)控系統(tǒng)的運(yùn)行,具有易于實(shí)現(xiàn)、使用方便和成本低等優(yōu)點(diǎn)。但由于程序設(shè)計(jì)簡(jiǎn)單,監(jiān)控圖像容易失真,如果攝像頭安裝在室外容易受到大風(fēng)晝夜轉(zhuǎn)換。蚊蟲飛動(dòng)等因素影響,會(huì)對(duì)報(bào)警系統(tǒng)產(chǎn)生一定影響。在未來(lái)優(yōu)化發(fā)展中,無(wú)人值守臺(tái)站,當(dāng)系統(tǒng)報(bào)警時(shí),還可以通過(guò)短信鏈路來(lái)實(shí)現(xiàn)短信通知,并對(duì)報(bào)警圖像進(jìn)行存盤,以備值班工作人員查看。