韓文波,戴軍建
(長春理工大學(xué) 光電工程學(xué)院,長春 130022)
在為智能視頻監(jiān)控系統(tǒng)設(shè)計周界入侵識別功能時,往往會遇到幾個對系統(tǒng)性能和成本影響巨大的問題,包括如何真正做到無盲區(qū)監(jiān)控,如何分配監(jiān)控節(jié)點(diǎn)和監(jiān)控服務(wù)器之間的計算負(fù)載,如何高效利用低成本監(jiān)控服務(wù)器的計算核心等。要做到無盲區(qū)監(jiān)控,有幾種可選的方案可以拿來做對比:(1)直接使用多個有普通光學(xué)系統(tǒng)的監(jiān)控節(jié)點(diǎn)采用環(huán)繞式部署的方式;(2)使用一個或極少個載有魚眼光學(xué)系統(tǒng)的監(jiān)控節(jié)點(diǎn)采用懸掛式部署的方式,從高處直接覆蓋整個監(jiān)控區(qū)域;(3)使用少量的有魚眼光學(xué)系統(tǒng)的監(jiān)控節(jié)點(diǎn)采用環(huán)繞式部署的方式。本文將給出具體的分析對比。確定監(jiān)控節(jié)點(diǎn)和監(jiān)控服務(wù)器之間的計算負(fù)載分配是決定節(jié)點(diǎn)所需處理器和服務(wù)器所需配置的關(guān)鍵問題,在兩者成本都受限以及同時考慮計算效率的情況下,合理分配兩者的計算負(fù)載意義重大。本文將嘗試給出合理分配方案。根據(jù)系統(tǒng)結(jié)構(gòu),合理規(guī)劃監(jiān)控服務(wù)器的計算邏輯,是高效利用計算核心的有效途徑,特別在選用低成本的監(jiān)控服務(wù)器時尤為突出。本文將比較幾種計算邏輯的效率。
無盲區(qū)監(jiān)控設(shè)計的三種監(jiān)控節(jié)點(diǎn)的部署方案簡易視圖如圖1所示,設(shè)定的監(jiān)控場景較為簡單,但足夠典型。
第一種方案直接采用帶有普通光學(xué)鏡頭的節(jié)點(diǎn)完成周界部署,由于視場角有限,為完成對周界的覆蓋,同時考慮到在進(jìn)行全景拼接時保證各節(jié)點(diǎn)畫面之間保留有重疊區(qū)域,如圖1(a)所示,因此需要較多的節(jié)點(diǎn)來完成部署,特別是在不規(guī)則周界環(huán)境下,圖像拼接的計算量和節(jié)點(diǎn)的總成本將大大增加。
第二種方案可充分發(fā)揮魚眼鏡頭的大視場特點(diǎn),同時也為減小系統(tǒng)計算量找到了最佳的解決方案,節(jié)點(diǎn)成本也將減到最低。但是這種方案的適用場合被嚴(yán)重受限,一方面,如圖1(b)所示,隨著監(jiān)控節(jié)點(diǎn)的部署高度的增大,對節(jié)點(diǎn)圖像傳感器的分辨率的要求將大大增加,導(dǎo)致節(jié)點(diǎn)成本反而增加;另一方面,采用懸掛式部署的方式將丟失大量的有效信息,比如運(yùn)動物體的運(yùn)動細(xì)節(jié)等,這將降低系統(tǒng)與其他智能視頻監(jiān)控功能的兼容性。
第三種方案是在上述兩種部署方案基礎(chǔ)上做出的折中選擇,在充分利用魚眼鏡頭的優(yōu)勢的前提下,使系統(tǒng)對監(jiān)控環(huán)境的適應(yīng)能力增強(qiáng),也使平衡計算量、節(jié)約系統(tǒng)成本成為可能。本測試平臺將采用該部署方案。
首先需要明確的是,在上述確定的部署方案中,系統(tǒng)需要大量計算,算法復(fù)雜度較大的環(huán)節(jié)有:(1)監(jiān)控節(jié)點(diǎn)的視頻圖像簡單預(yù)處理,該環(huán)節(jié)主要是去除視頻圖像的噪聲,由于需要保證該環(huán)節(jié)的實(shí)時性,一般都使用專用視頻圖像處理單元來實(shí)現(xiàn),比如FPGA,因此計算都是直接使用硬件實(shí)現(xiàn);(2)魚眼鏡頭成像的視頻圖像的校正,魚眼鏡頭攝像機(jī)拍攝的圖像具有非常嚴(yán)重的變形,如果要利用這些具有嚴(yán)重變形圖像的投影信息,需要將這些變形的圖像校正為符合人們視覺習(xí)慣的透視投影圖像,這個過程無論對后期的處理算法還是人機(jī)操作都是必要的,具體的步驟主要包括圖像的輪廓提取及其畸變校正兩方面,一般的輪廓提取算法會涉及較多的累加運(yùn)算,因此我們嘗試將該部分負(fù)載交由節(jié)點(diǎn)處理器來完成,而畸變校正算法將涉及到一系列的坐標(biāo)系轉(zhuǎn)換,也就是一些復(fù)雜度較大的矩陣運(yùn)算,而且如果有較高的精度要求,浮點(diǎn)運(yùn)算也是不可避免的,所以可將這部分計算負(fù)載安排給監(jiān)控服務(wù)器;(3)圖像的全景拼接,這部分計算是為了滿足實(shí)現(xiàn)一個良好的用戶設(shè)置接口,算法輸入為經(jīng)過校正過的各節(jié)點(diǎn)圖像,輸出為供用戶設(shè)置具體周界的全景圖片,以及入侵識別算法運(yùn)行的載體;(4)入侵識別算法的運(yùn)行,為了保證算法本身運(yùn)行的準(zhǔn)確性以及系統(tǒng)對其他智能算法的兼容性和可擴(kuò)展性,可將本計算安排給監(jiān)控服務(wù)器。表1列出了相關(guān)計算的屬性和期望的負(fù)載分布。
根據(jù)部署方式和計算負(fù)載的安排,選擇合適的節(jié)點(diǎn)和服務(wù)器配置:為了在各種監(jiān)控環(huán)境都有很好的適應(yīng)性,選擇視場角為195°的魚眼光學(xué)系統(tǒng);為了滿足圖像預(yù)處理和快速傳輸視頻圖像的需求,采用搭配視頻圖像協(xié)處理器HDVICP和MJCP的ARM926EJ-S內(nèi)核處理器,主頻300MHz;為方便測試不同的計算邏輯(單核或多核)對計算效率的影響,以及試圖獲取最低服務(wù)器配置等數(shù)據(jù),使用多核CPU作為處理器;由于全景拼接計算發(fā)生在監(jiān)控服務(wù)器,需要一些軟硬件的處理來保證一幀全景圖像是來自各節(jié)點(diǎn)同一時刻的采集結(jié)果?;镜南到y(tǒng)結(jié)構(gòu)如圖2所示。
表1 計算的屬性和期望的負(fù)載分布
圖2 基本的系統(tǒng)結(jié)構(gòu)和測試模型
魚眼圖像的校正主要包括圖像輪廓提取及其畸變校正兩方面,其中輪廓的提取是為了獲取魚眼圖像的圓心和有效半徑信息,為后期的畸變校正提供圖像標(biāo)定信息。為了充分利用監(jiān)控節(jié)點(diǎn)的計算資源,系統(tǒng)采用了適合節(jié)點(diǎn)處理器的面積統(tǒng)計法來計算輪廓信息。魚眼圖像的有效區(qū)域即圓形區(qū)域內(nèi)的黑色像素點(diǎn)很少,也就是圓形區(qū)域內(nèi)的灰度值較大,而在圓形區(qū)域外,則幾乎全是黑色像素點(diǎn),根據(jù)魚眼圖像的這個特點(diǎn),設(shè)計具體算法如下:
設(shè)閾值為Q,圖像像素個數(shù)為Sum1,統(tǒng)計灰度值小于Q的像素點(diǎn)個數(shù)Sum2,則有效像素點(diǎn)個數(shù)Sum為:
Sum=Sum1-Sum2(1)
設(shè)魚眼圖像的像素坐標(biāo)為(x,y),則所有像素的一次距為∑x1,∑y1,灰度值小于Q的像素點(diǎn)的一次距為∑x2,∑y2,獲取方法如圖3所示。
圖3 面積統(tǒng)計法示意圖
用掃描的方式逐行掃描圖像,先從圖像的最左端開始,從上至下依次掃描圖像,判斷圖像中像素點(diǎn)的各顏色值之和是否小于Q,若小于,則Sum2加1,累計∑x2,∑y2,繼續(xù)掃描,直到掃描到圖像最下方。反之,從圖像最右端開始搜索,若掃描到的圖像像素點(diǎn)的顏色值之和大于Q,則轉(zhuǎn)到下一行繼續(xù)掃描。
利用下列公式可求出半徑和圓心坐標(biāo)。
根據(jù)該算法獲得效果如圖4所示。
圖4 輪廓提取效果
在實(shí)際系統(tǒng)中只需配合原始圖像傳遞上述輪廓信息(r,x0,y0)至監(jiān)控服務(wù)器便可,以減輕圖片裁剪給節(jié)點(diǎn)處理器帶來不必要的計算負(fù)載。
此時監(jiān)控節(jié)點(diǎn)負(fù)載情況如表2所示。
表2 負(fù)載測試
在系統(tǒng)中,監(jiān)控服務(wù)器端會有多個復(fù)雜的算法需要運(yùn)行,如何設(shè)計計算邏輯,將影響系統(tǒng)對服務(wù)器端的配置需求。這里考慮兩種情況,即單核系統(tǒng)和多核系統(tǒng)。表3為監(jiān)控服務(wù)器端各算法在合理設(shè)計難度下的計算可分割性。
表3 計算可分割性
多核處理器在系統(tǒng)中的優(yōu)勢主要體現(xiàn)在圖像畸變校正運(yùn)算上,由于該過程中存在著大量的重復(fù)性、可并發(fā)進(jìn)行的數(shù)值計算,這種優(yōu)勢隨著監(jiān)控節(jié)點(diǎn)的增多而顯現(xiàn)出來。
在來自監(jiān)控節(jié)點(diǎn)的魚眼校正信息的基礎(chǔ)上,采用經(jīng)緯映射法校正畸變。經(jīng)緯映射法的算法模型如圖5所示。
圖5 經(jīng)緯映射法校正畸變
若系統(tǒng)不要求浮點(diǎn)精度,可以將上述參數(shù)強(qiáng)制轉(zhuǎn)換為整形,但是這樣的做法在該環(huán)節(jié)中會引起較明顯的圖像質(zhì)量下降。
圖像全景拼接過程中計算可分割的部分使用MSERs算法,該算法主要依賴圖像的灰度變化和局部特征,具有很強(qiáng)的獨(dú)立性,效果和計算量都已能滿足視頻監(jiān)控的要求。后期拼接過程使用順序拼接方法,可以保證拼接效果和避免頻繁的大量像素數(shù)據(jù)的加載和釋放。
在全景圖像上做周界入侵規(guī)則設(shè)置和識別,可很巧妙地將原本復(fù)雜的全畫面掃描轉(zhuǎn)變?yōu)閱畏较虻钠ヅ鋻呙?,如圖6所示。執(zhí)行過程和效果,如圖7所示。
圖6 周界入侵檢測規(guī)則
圖7 執(zhí)行過程和效果
測試單核和多核環(huán)境下系統(tǒng)運(yùn)行效率的區(qū)別。在這里單核環(huán)境通過強(qiáng)制單線程的方式實(shí)現(xiàn),多核環(huán)境下使用上述表中的算法分割方式重寫各算法為多線程形式。測試結(jié)果如圖8所示。
圖8 單核和多核環(huán)境下測試結(jié)果
在少于4個監(jiān)控節(jié)點(diǎn)的情況下,單核系統(tǒng)與多核系統(tǒng)的運(yùn)行效果相差不大,在多數(shù)監(jiān)控環(huán)境下是可以滿足要求的,而且在使用魚眼鏡頭的監(jiān)控系統(tǒng)中,一般4個節(jié)點(diǎn)就足以實(shí)現(xiàn)無盲點(diǎn)的周界警戒部署。
本文先確定合理使用魚眼鏡頭監(jiān)控節(jié)點(diǎn)的部署方式,在此基礎(chǔ)上分析和設(shè)計了適合系統(tǒng)結(jié)構(gòu)的計算負(fù)載分布,在保證系統(tǒng)運(yùn)行效果的情況下進(jìn)行魚眼圖像校正過程中的算法分割。選擇適合監(jiān)控節(jié)點(diǎn)處理器的校正算法,充分利用各監(jiān)控節(jié)點(diǎn)的計算資源,同時測試不同數(shù)量計算核心環(huán)境下實(shí)現(xiàn)系統(tǒng)功能的效果。驗(yàn)證了使用魚眼鏡頭,在最小配置下(單核環(huán)境)完成無盲區(qū)周界入侵識別的可能性。
[1]Matas J,Chunm O,Urban M,et al.Robust wide baseline stereo from maximally stable extremal regions[C].In Proc.13thBritsh Machine Vision Conference,Cardiff,UK,2002,14(2):384-393.
[2]Compton K,Hauk S.Reconfigurable Computing:A Survey of Systems and Software[J].ACM Computing Surveys,2002,34(2):171-210.
[3]王社國,劉蕩,劉新濤.基于人臉識別技術(shù)的智能化視頻監(jiān)控系統(tǒng)[J].科技信息,2007,(2):5-6.
[4]梁春燕,謝劍英.智能大廈監(jiān)控系統(tǒng)設(shè)計[J].測控技術(shù),1999,18(10):28-30.