趙海茹,李玉秀,李國瑞,崔建紅,李銀兵
(玉溪師范學(xué)院 物理與電子工程學(xué)院,云南 玉溪 653100)
隨著智能電網(wǎng)的提出及快速發(fā)展,無人值守或少人值守變電站在一定程度上決定了電網(wǎng)的智能化發(fā)展,而變電站環(huán)境中的運動目標跟蹤系統(tǒng)研究是實現(xiàn)變電站無人值守或少人值守的必要條件.
運動目標跟蹤一直是國內(nèi)外研究的熱點問題,近年來的研究也取得了較好的效果.完成運動目標跟蹤的算法很多,經(jīng)典跟蹤算法如均值偏移、粒子濾波和卡爾曼濾波等,基于統(tǒng)計學(xué)、基于檢測和基于深度學(xué)習(xí)的目標跟蹤算法等,每種算法都有其適用范圍和優(yōu)缺點.為了解決變電站場景內(nèi)的移動目標容易出現(xiàn)人員跟丟、身份變換、目標被遮擋無法識別等問題,筆者在對運動目標跟蹤算法進行分析和比較的基礎(chǔ)上,選擇Camshift 算法來實現(xiàn)運動目標跟蹤.
本文的實驗表明,Camshift 算法能夠快速準確地檢測出變電站內(nèi)的運動目標并對其實現(xiàn)有效跟蹤,解決了變電站內(nèi)存在的安全隱患,提高了變電站的自動識別水平并實現(xiàn)實時預(yù)警,降低了監(jiān)控人員的工作量,為電力系統(tǒng)安全提供了充分的保障.
Camshift 算法是在Meanshift 算法的基礎(chǔ)上,針對其存在的不足進行改進而提出的,其算法的基本思想是對視頻圖像的多幀進行Meanshift 運算,將上一幀結(jié)果作為下一幀的初始值,不斷迭代.該算法采用不變矩對目標的尺寸進行估算,實現(xiàn)了連續(xù)自適應(yīng)地調(diào)整跟蹤窗口的大小和位置,并將其應(yīng)用在對連續(xù)彩色圖像序列中的運動目標的快速跟蹤.以下對其原理進行說明.
反向投影就是首先計算某一特征的直方圖模型,然后使用模型去尋找測試圖像中存在的該特征.反向投影過程按照以下三個步驟進行:
(1)RGB 顏色空間對光照亮度變化較為敏感,為了減少此變化對跟蹤效果的影響,首先將圖像從RGB 空間轉(zhuǎn)換到HSV 空間;
(2)對其中的H分量(色調(diào))作直方圖,在直方圖中代表了不同H分量值出現(xiàn)的概率或者像素個數(shù),就是可以查找出H分量大小為h的概率或者像素個數(shù),即得到了顏色概率查找表;
(3)將圖像中每個像素的值用其顏色出現(xiàn)的概率對應(yīng)替換,就得到了顏色概率分布圖,這個過程就叫反向投影,顏色概率分布圖是一個灰度圖像.
Meanshift 算法也叫做均值偏移,本質(zhì)上是質(zhì)心逐漸向樣本點越來越密的地方進行偏移,最后算法收斂,質(zhì)心就處在樣本點最密的地方.這其實是一種密度函數(shù)梯度估計的非參數(shù)方法,通過迭代尋優(yōu)找到概率分布的極值來定位目標.Meanshift 算法可以按照以下四個步驟進行:
(1)在顏色概率分布圖中選取搜索窗W;
(2)按照公式(1)-(5)分別計算零階距、一階距和搜索窗的質(zhì)心;
(3)調(diào)整搜索窗大小,其中,寬度的調(diào)整按照公式(6)計算,長度調(diào)整為1.2 s;
(4)移動搜索窗的中心到質(zhì)心,如果移動距離大于預(yù)設(shè)的固定閾值,則重復(fù)步驟(2)-(4),直到搜索窗的中心與質(zhì)心間的移動距離小于預(yù)設(shè)的固定閾值,或者循環(huán)運算的次數(shù)達到某一最大值,停止計算.
將Meanshift 算法擴展到連續(xù)圖像序列,就是Camshift 算法.它將視頻的所有幀做Meanshift 運算,并將上一幀的結(jié)果,即搜索窗的大小和中心,作為下一幀Meanshift 算法搜索窗的初始值,如此迭代下去,就可以實現(xiàn)對目標的跟蹤.
Camshift 算法的步驟如為:
(1)初始化搜索窗;
(2)計算搜索窗的顏色概率分布(反向投影);
(3)運行Meanshift 算法,獲得搜索窗新的大小和位置;
(4)在下一幀視頻圖像中用(3)中的值重新初始化搜索窗的大小和位置,再跳轉(zhuǎn)到(2)繼續(xù)進行計算.
本文使用Camshift 算法對變電站環(huán)境中的運動目標(人、動物或者車輛等)進行跟蹤研究,算法的流程圖如圖1.
圖1 基于Camshift 算法的運動目標跟蹤流程圖
上述算法的流程說明如下.
Step1:確定初始目標及其區(qū)域,計算出目標的色度分量的直方圖.將輸入圖像轉(zhuǎn)化為HSV 顏色空間的圖像,對其中的H 分量(色調(diào))作直方圖,在直方圖中代表了不同H 分量值出現(xiàn)的概率或者像素個數(shù),目標區(qū)域為初始的搜索窗口范圍,分離出色調(diào)H 分量做該區(qū)域的色調(diào)直方圖計算.因為RGB 顏色空間對光線亮度變化較為敏感,要減小該因素對跟蹤效果的影響,首先將圖像從RGB 空間轉(zhuǎn)換到HSV 空間,當(dāng)然也可以用其它顏色空間計算.這樣即得到目標模板的顏色直方圖.
Step2:利用直方圖計算輸入圖像的反向投影圖.根據(jù)獲得的顏色直方圖將原始輸入圖像轉(zhuǎn)化成顏色概率分布圖像,該過程稱為“反向投影”.反向投影利用了其原始圖像(或目標區(qū)域)的直方圖,將該直方圖作為一張查找表來找對應(yīng)像素點的像素值,即將目標圖像像素點的值設(shè)置為原始圖像(或目標區(qū)域)直方圖上對應(yīng)的bin 值.該bin 值代表了(目標區(qū)域)上該像素值出現(xiàn)的概率.從而得到一幅圖像的概率值.從而我們可以通過這幅概率圖可以得知在這幅圖像中,目標出現(xiàn)可能出現(xiàn)的位置.
Step3:Meanshift 迭代過程.目的在于找到目標中心在當(dāng)前幀中的位置.首先在顏色概率分布圖中選擇搜索窗口的大小和初始位置,然后計算搜索窗口的質(zhì)心位置.設(shè)像素點(x,y)位于搜索窗口內(nèi),I(x,y)是顏色直方圖的反向投影圖中該像素點對應(yīng)的值,定義搜索窗口的零階矩和一階矩,接著調(diào)整搜索窗口中心到質(zhì)心.零階矩反映了搜索窗口尺寸,依據(jù)它調(diào)整窗口大小,并將搜索窗口的中心移到質(zhì)心,如果移動距離大于設(shè)定的閾值,則重新計算調(diào)整后的窗口質(zhì)心,進行新一輪的窗口位置和尺寸調(diào)整.直到窗口中心與質(zhì)心之間的移動距離小于閾值,或者迭代次數(shù)達到某一最大值,認為收斂條件滿足,將搜索窗口位置和大小作為下一幀的目標位置輸入,開始對下一幀圖像進行新的目標搜索.
為了驗證Camshift 算法的可行性和有效性,本文從網(wǎng)絡(luò)中獲取了變電站環(huán)境中的視頻資料,并對其中的運動目標進行跟蹤實驗.從圖2 和圖3 可以看出,當(dāng)運動目標部分被遮擋的情況下,Camshift 算法也能夠?qū)崿F(xiàn)對運動目標的檢測和跟蹤;從圖4 和圖5 可以看出,即使在背景比較模糊、運動目標邊緣不是很清晰的情況下,Camshift 算法依然能夠?qū)崿F(xiàn)對運動目標的準確跟蹤.
圖2 目標部分被遮擋時的跟蹤(近)
圖3 目標部分被遮擋時的跟蹤(遠)
圖4 復(fù)雜環(huán)境下目標的捕捉(近)
圖5 復(fù)雜環(huán)境下目標的捕捉(遠)
從上述實驗分析情況看,本文使用的Camshift 算法具有操作簡單、算法效率高的優(yōu)點,并且對于變電站場景中運動目標被遮擋、背景模糊、不易識別邊緣等問題,也能夠取得較好的跟蹤效果,具有較高的可行性和實用性.
可以預(yù)見,如果將Camshift 算法應(yīng)用在變電站的環(huán)境中,能在一定程度上促進智能電網(wǎng)的發(fā)展,降低變電站內(nèi)的安全隱患,減少監(jiān)控人員的工作量,保障電力系統(tǒng)的安全.