榮俊勇 王中華
【摘 要】為了提高居家環(huán)境的安全以及視頻監(jiān)控系統(tǒng)的檢測和存儲效率,論文設計了一種基于PBAS算法的嵌入式視頻監(jiān)控系統(tǒng)。首先,構(gòu)建了以S3C2440芯片為核心的嵌入式Linux平臺,使用Qt 5.6實現(xiàn)了系統(tǒng)的人機交互界面。然后,對PBAS算法提出了改進方案,即改進決策閥值的更新策略和引入閃爍點機制。最后使用OpenCV實現(xiàn)該算法并應用在嵌入式Linux平臺上。實驗結(jié)果表明,該視頻監(jiān)控系統(tǒng)能較準確地檢測出視頻中含有移動目標的幀并將其保存下來,能有效節(jié)省存儲視頻所需的內(nèi)存空間。
【Abstract】In order to improve the security of home environment and the detection and storage efficiency of video monitoring system, this paper designs an embedded video monitoring system based on PBAS algorithm. Firstly, this paper constructs an embedded Linux platform with S3C2440 chip as the core, and uses Qt 5.6 to realize the human-computer interaction interface of the system. Then, the paper proposes an improved scheme for PBAS algorithm, that is, to improve the updating strategy of decision threshold and introduce the scintillation point mechanism. Finally, the algorithm is implemented by OpenCV and applied to the embedded Linux platform. Experimental results show that the video monitoring system can detect the frame of moving target in video accurately and save it, which can effectively save the memory space needed to store video.
【關(guān)鍵詞】視頻監(jiān)控;PBAS算法;S3C2440;嵌入式Linux;OpenCV
【Keywords】 video monitoring; PBAS algorithm; S3C2440; embedded Linux; OpenCV
【中圖分類號】TP277 【文獻標志碼】A 【文章編號】1673-1069(2019)02-0174-02
1 系統(tǒng)軟件設計
嵌入式視頻監(jiān)控系統(tǒng)的軟件設計包括嵌入式Linux平臺底層軟件、視頻監(jiān)控系統(tǒng)的視頻處理算法和人機交互軟件的設計,以下對嵌入式視頻監(jiān)控系統(tǒng)軟件進行介紹。
本文使用的開發(fā)工具有Linux虛擬機運行軟件VMware Workstations10、虛擬機Ubuntu16.04 LTS、交叉編譯器arm-linux-gcc4.4.3。構(gòu)建嵌入式Linux平臺,首先要在虛擬機上使用交叉編譯器對Boot Loader、Linux內(nèi)核、yaffs2文件系統(tǒng)以及使用到的軟件(Qt creater 5.6、OpenCV 3.0)進行交叉編譯,再將交叉編譯后的文件移植到嵌入式硬件平臺上。
程序開始執(zhí)行后,首先使用V4L2對攝像頭進行一系列初始化,接著用捕獲的視頻對PBAS算法的背景模型進行初始化,完成初始化后再對捕獲的視頻的每一幀進行移動目標的檢測,如果有移動目標出現(xiàn),則用矩形標記出移動目標以及在圖像上標記出移動目標出現(xiàn)的時間,再將該幀圖像保存到視頻文件中;如果沒有出現(xiàn)移動目標則進行下一幀的檢測。視頻監(jiān)控界面設計如圖1所示。
圖1 視頻監(jiān)控界面結(jié)構(gòu)
主界面包含三個按鈕:實時監(jiān)控按鈕、歷史視頻按鈕、退出按鈕。點擊實時監(jiān)控按鈕進入實時監(jiān)控操作界面,實時監(jiān)控界面有開始/暫停按鈕、返回按鈕,開始/暫停按鈕控制實時視頻監(jiān)控的進行;點擊返回按鈕則回到主界面,但只要沒有暫停實時視頻監(jiān)控就會在后臺持續(xù)監(jiān)控。點擊歷史視頻按鈕則會進入歷史視頻操控界面,歷史視頻控制界面有播放/暫停按鈕和退出按鈕,播放/暫停用于查看視頻監(jiān)控保存下來的含有移動目標的歷史視頻;點擊返回按鈕則停止播放歷史視頻,返回到視頻監(jiān)控主界面。
2 PBAS算法
在PBAS中,和SACON算法相似,背景模型是由視頻序列中的N個歷史樣本組成的[1]。而前景檢測和背景模型更新與VIBE算法類似,但背景模型更新是動態(tài)的。任何一個像素xi都有一個決策閥值R(xi),通過背景模型B(xi)和當前幀I(xi)比較把當前幀的像素分為背景和前景。背景模型的隨機更新取決于學習速率T(xi)。
2.1 前景分割決策
在PBAS中,類似于其他前景分割算法,前景和背景分類是基于背景模型與當前像素進行比較的。PBAS的背景模型是由鄰近當前視頻幀觀察到的N個歷史像素值組成的:
B(xi)={B1(xi),…,Bk(xi),…,BN(xi)} (1)
如果在背景模型B(xi)的N個值中有至少#min個與像素點xi的像素值I(xi)距離小于R(xi),則該像素點為背景點,否則為前景點。因此前景分割掩模計算式為:
F(xi)=1 {dist(I(xi),Bk(xi))
表達式(2)中,F(xiàn)=1表示前景,F(xiàn)=0表示背景,dist為距離計算:
dist(I(xi),Bk(xi))=|I(xi)-B(xi)|(3)
決策所涉及的兩個參數(shù):①每個像素單獨定義且可動態(tài)改變的距離閾值R(xi);②固定的全局參數(shù),最小數(shù)目#min。
2.2 背景模型更新
為了適應背景的變化,需要對背景模型B(xi)進行更新。由于前景區(qū)域不能用于更新背景模型,背景模型只對當前的背景像素進行更新。PBAS算法的更新策略為:等概率選擇k ∈1…N,用當前像素值I(xi)取代相應背景模型值Bk(xi),但更新概率為p=1/T(xi)。因此,學習速率T(xi)決定更新速率。T(xi)越大,像素被更新的概率越小。
PBAS算法也以概率p=1/T(xi)隨機選擇更新一個相鄰像素yi∈N(xi)。因此,在這個相鄰像素的背景模型中Bk(yi)被其當前像素值V(yi)所取代。該屬性的優(yōu)點是判斷錯誤的前景對象會很快消失。
2.3 決策閾值R(xi)的更新
在PBAS算法中決策閾值R(xi)的更新機制如下:首先,在構(gòu)建背景模型B(xi)的同時也創(chuàng)建一個決定最小距離的數(shù)組:
D(xi)={D1(xi),…,Dk(xk),…,DN(xi)} (4)
不管背景模型B(xi)是否進行了更新,當前的最小距離都將被保存到Dk(xi)中,當前的最小距離為:
dmin(xi)=minkdist(dist(I(xi),Bk(xi))) (5)
D(xi)的平均值 min(xi)可以用來橫量當前背景的復雜度。決策閾值R(xi)的更新模型如下:
R(xi)=R(xi)·(1-Rinc/dec) R(xi)> min(xi)·RscaleR(xi)·(1+Rinc/dec) 其他(6)
其中,Rinc/dec為更新率,Rscale為比例因子,兩者均為固定參數(shù)。
3 系統(tǒng)測試
原始PBAS算法經(jīng)測試得出的最佳參數(shù)值如下:背景模型歷史像素值數(shù)N=35,最小數(shù)目:#min=2,更新率:Rinc/dec=0.05,比例因子:Rscale=5,決策閥值R(xi)下限:Rlower=18,T(xi)下降速率:Tdec=0.05,T(xi)上升速率Tinc=0.05,T(xi)下限:Tlower=2,T(xi)上限:Tupper=200。
每個像素背景模型中的歷史像素數(shù)N為35時性能達到最佳,但對于一些簡單的場景只需要取10既能達到檢測要求。由于本系統(tǒng)使用的處理芯片為S3C2440,其計算速度相對較慢,為了減小計算復雜度,提高視頻監(jiān)控系統(tǒng)的實時性,在本系統(tǒng)中將N設置為20。其他參數(shù)則保持不變。
4 結(jié)語
本文針對傳統(tǒng)視頻監(jiān)控系統(tǒng)的不足,設計了一種基于PBAS算法的嵌入式視頻監(jiān)控系統(tǒng)。該視頻監(jiān)控系統(tǒng)以嵌入式Linux為硬件平臺,大大節(jié)省了視頻監(jiān)控的投入;以Qt 5.6和OpenCV 3.0為軟件編程工具,實現(xiàn)了良好的人機交互界面,并使用PBAS算法對移動目標進行檢測,較好地實現(xiàn)了對視頻監(jiān)控中移動目標的檢測以及對含有移動目標的視頻序列的存儲[2]。與傳統(tǒng)視頻監(jiān)控相比,使用戶盡量減少在視頻監(jiān)控上所花費的人力和物力。
【參考文獻】
【1】李棚,吳曉紅,何小海,等.一種改進的PBAS運動目標檢測算法[J].科學技術(shù)與工程,2015,15(27):48-53.
【2】張澤斌,袁嘵兵.一種改進反饋機制的PBAS運動目標檢測算法[J].電子設計工程,2017,25(3):35-40.