王立玲,劉超杰,馬東,王洪瑞
(1.河北大學電子信息工程學院,河北保定 071002;2.河北省數(shù)字醫(yī)療工程重點實驗室,河北保定 071002)
近幾年來隨著智能駕駛、機器人避障導航和智能監(jiān)控技術的不斷發(fā)展,攝像機作為重要的視覺傳感器被廣泛應用于機器視覺等領域。通過攝像機捕獲周圍環(huán)境中的相關信息,作為下一步判斷與決策的關鍵依據(jù),因此,視覺傳感器中的運動目標檢測[1]和目標跟蹤[2]技術成為研究熱點。目標檢測是該技術的核心[3],也是進一步研究目標識別與跟蹤的重要基礎。
常用的目標檢測方法主要有4種:光流法[4]、背景減除法[5]、幀間差分法[6]和ViBe算法。光流法雖然提高了目標的檢測準確度,但對復雜的場景適應性較差,因計算量較大的缺點使其在工程應用中不具備實時檢測的優(yōu)勢。背景減除法是將當前圖像幀與背景圖像進行差分運算并通過固定閾值分割出運動目標,該方法的前提是要建立場景的靜態(tài)背景模型[7]。背景建模方法主要有:高斯混合背景建模(GMM)[8]、碼本建模(CodeBook)[9]和基于ViBe的背景建模法[10]。背景減除法的難點在于背景模型的實時更新。幀間差分法計算量小,速度快,但檢測的目標不完整,存在空洞現(xiàn)象,很難檢測到完整的運動目標區(qū)域。ViBe算法重點對背景模型中的相似度匹配算法進行優(yōu)化,有效提高了運算速度,但存在鬼影現(xiàn)象。
針對上述目標檢測方法存在的問題,文獻[11]優(yōu)化了傳統(tǒng)的高斯背景建模方法,提高了運動目標檢測的準確率,但算法計算量較大;文獻[12]采用膨脹、腐蝕等形態(tài)學處理的方法對目標內(nèi)部的細小空洞進行了填充,但由于膨脹和腐蝕造成像素點的擴張和消除,使目標的連通區(qū)域發(fā)生變化,因此檢測結(jié)果很難接近真實目標;文獻[13]改進了Canny邊緣檢測算法并融合自適應幀差法對運動目標進行檢測,使目標檢測結(jié)果的邊緣信息更加準確和完整,連通性更好,有效解決了傳統(tǒng)幀間差分法在對運動目標檢測過程中存在的缺點;文獻[14]將改進的三幀差法與傳統(tǒng)混合高斯模型算法相融合獲得運動目標,使檢測結(jié)果包含了更加完整的邊緣信息,獲得了清晰的前景輪廓,但沒有更好地消除背景中的干擾信息,對復雜場景的適應能力較弱。本文作者主要針對運動目標檢測過程中存在的背景噪聲干擾、目標空洞現(xiàn)象、邊緣缺失和光照變化影響等問題,提出一種改進自適應混合高斯和幀間差分的運動目標檢測算法,并分別在公開視頻測試集和機器人中對所改進的目標檢測方法進行了實驗驗證。
傳統(tǒng)混合高斯模型[15]的更新常用固定的學習速率,忽略了模型更新速率在背景建模的不同階段存在差異的事實,導致算法在復雜環(huán)境中的適應能力減弱。當學習率取值較小時,模型更新不及時,受背景噪聲影響較大,并且對于運動速度較快的目標檢測易發(fā)生重影問題;當學習率取值較大時,緩慢運動的物體則容易被檢測為背景。
為解決上述問題,本文作者采用一種自適應學習率修正背景模型的方法,更好地消除環(huán)境噪聲以及目標運動狀態(tài)對檢測結(jié)果的影響。通過設定幀數(shù)閾值T,將背景建模劃分為兩個階段,在模型建立之初,采用較高的學習率加快背景模型更新,快速消除環(huán)境中的干擾信息;去除干擾信息之后,在后續(xù)幀中根據(jù)目標的運動狀態(tài)調(diào)整參數(shù)δ的值進而自適應調(diào)整模型的學習率,保證模型的可靠性。學習率的設置如下所示:
(1)
(2)
式(1)中:α為學習率;λ1為常數(shù);f為幀數(shù);T為幀數(shù)閾值。式(2)中:ΔD為幀差測量值,表示運動目標在一段時間內(nèi)其質(zhì)心的平均移動速度;f′為需要統(tǒng)計的幀數(shù);di為運動目標相鄰兩幀的相對質(zhì)心差;τ1和τ2為設定的閾值,根據(jù)當前的視頻場景給出;當ΔD≥τ2時,表示目標運動速度較快,從而增大學習率來提高背景的更新速度;當ΔD<τ1時,表示目標運動緩慢,賦予模型一個較小的學習率減緩背景的更新速度。
根據(jù)傳統(tǒng)混合高斯模型工作原理可知,更新率ρ由學習率α和高斯概率密度η決定,反映的是模型的收斂速度。本文作者對更新率的改進如下所示:
(3)
(4)
在改進的公式中引入光照變化因子wt,取值范圍為0≤wt≤1,用來消除場景中光照變化對前景目標檢測的干擾;Ht表示當前幀圖像的信息熵,計算前一幀和當前幀信息熵的比值來判斷場景中是否發(fā)生光照變化。若場景中發(fā)生光照突變,取wt=1,此時模型采用一個較大的更新率使背景狀態(tài)快速趨于穩(wěn)定,當背景狀態(tài)恢復穩(wěn)定后取wt=0。通過自適應調(diào)整模型的更新率,不僅克服了光照變化的影響,也提高了模型的收斂速度,能夠使算法更加穩(wěn)定地工作。
在混合高斯模型中,算法的性能受高斯分布個數(shù)K的直接影響。每個高斯成分都與場景中的一個狀態(tài)相對應,但是在實際中,場景存在多變性,盡管在同一區(qū)域狀態(tài)個數(shù)也會隨時發(fā)生改變,因此,若為每個像素點都建立多個固定不變的高斯成分,就不能更好地描述背景,同時在處理時會消耗大量的系統(tǒng)資源。
通過以下方式自適應選擇高斯分布個數(shù):
每隔f幀對所有高斯分布的權(quán)重進行一次檢查,假如其中存在高斯分布滿足式(5):
ωj,t<ωinit&&((ωj,t/σj,t)<(ωinit<σinit))
(5)
則將該高斯分布剔除。
通過刪除冗余的高斯分布適應背景的多樣性,降低了算法的復雜度,提高系統(tǒng)資源的利用率。
傳統(tǒng)三幀差分法雖然針對兩幀差分法有所改進,但還是很難檢測到目標之間的重疊部分,仍存在空洞現(xiàn)象,對光照變化的場景適應性差,且檢測到的目標輪廓不準確。為了解決上述問題,取視頻序列中連續(xù)的四幀圖像,計算相鄰幀圖像相似度并進行差分運算,利用最大類間方差法(OTSU)獲得最佳分割閾值,并結(jié)合動態(tài)閾值進行校正,抑制光照變化的影響。同時,引入Canny邊緣檢測算子并與四幀差分結(jié)果相融合,使目標的邊緣更加連續(xù)。改進的四幀差分法的原理如下:
選取視頻序列中的連續(xù)的四幀圖像Ik(x,y)、Ik+1(x,y)、Ik+2(x,y)、Ik+3(x,y),通過巴氏系數(shù)算法計算相鄰幀圖像之間的相似度,計算公式如下所示:
(6)
其中:p(i)為幀圖像中提取出的顏色直方圖數(shù)據(jù)。當圖像相似度S的值趨近于1時,表明相鄰幀圖像的相似度越高。當S值大于設定的檢測閾值T1時,分別按照下式進行圖像之間的差分運算
d1k=|Ik(x,y)-Ik+1(x,y)|
(7)
(8)
d3k=|Ik+2(x,y)-Ik+3(x,y)|
(9)
其中:d1k、d2k和d3k為差分圖像。然后按照式(10)、式(11)和式(12)對差分圖像進行閾值二值化處理,分別得到二值圖像b1k、b2k和b3k。
(10)
(11)
(12)
(13)
(14)
(15)
其中:λ為抑制系數(shù),一般取λ=2;M×N為圖像的大小,表示圖像包含的總像素數(shù);T為通過最大類間方差法得到的分割運動目標與背景的最佳閾值;ΔT1、ΔT2和ΔT3為動態(tài)閾值,反映了場景中光線的變化情況。當光照變化越劇烈時,ΔT值越大,當光照變化較小時,ΔT值很小,因此,在最佳分割閾值上加入動態(tài)閾值有效抑制了光照變化的干擾。
然后,通過對二值圖像先進行“與”運算再進行“或”運算得到運動目標前景區(qū)域。
d1k=b1k∩b2k
(16)
d2k=b2k∩b3k
(17)
dk=d1k∪d2k
(1)羊場應建在背風向陽,地勢較高的地方,最好利用地形條件選擇斜坡建場,既可減少建場投資,又利于糞便的清除。同時防止了羊的寄生蟲病和腐蹄病發(fā)生。
(18)
(19)
其中:Dk=0為背景區(qū)域,Dk=1為前景區(qū)域。
(20)
(21)
(22)
(23)
再將目標輪廓C與圖像Dk進行“或”運算,得到完整目標檢測結(jié)果F。
F=C∪Dk
(24)
在運動目標檢測過程中,文中的改進算法主要分為兩個部分,圖1為改進算法的流程。第一部分:通過改進混合高斯模型的學習率與更新率,達到自適應修正背景模型的目的,在準確檢測到目標的同時很好地抑制了背景噪聲,提高了模型的適應性;第二部分:通過改進的幀間差分法獲取目標輪廓信息細化目標邊緣。具體方法為:首先對視頻序列進行預處理,提取連續(xù)四幀視頻圖像,然后利用基于自適應混合高斯背景建模法檢測運動目標,同時采用Canny邊緣檢測改進的四幀差分法填補目標邊緣,最后通過中值濾波和形態(tài)學處理去除殘余噪聲,獲得最終運動目標。
圖1 文中改進算法流程
為驗證文中改進算法的有效性,分別在3種不同場景的視頻測試集和仿人機器人NAO上進行實驗,通過對運動目標檢測的準確率和誤檢率來評價目標檢測算法的性能。
圖2是分別用傳統(tǒng)混合高斯算法,傳統(tǒng)三幀差分法、經(jīng)典ViBe算法、文獻[14]算法以及文中改進算法對3種不同場景的測試視頻中運動目標檢測的結(jié)果。圖(a)為原始圖像,分別存在的干擾為:樹枝擺動,光照變化以及目標運動狀態(tài)緩慢。圖(b)—(f)是對不同場景下的運動目標分別采用5種算法得到的檢測結(jié)果。
從圖2可以看出:在場景1中,受樹枝擺動影響,傳統(tǒng)混合高斯算法、三幀差分法,以及ViBe算法將擺動的樹枝檢測為前景,存在目標空洞及邊緣缺失等問題;在場景2中,目標檢測受到光照變化影響,傳統(tǒng)混合高斯算法的背景模型來不及更新,容易將背景誤檢為前景,并且檢測不完整,三幀差分算法和ViBe算法在一定程度上克服了光照干擾,但檢測結(jié)果仍存在少量噪聲及嚴重漏檢問題。在場景3中,室內(nèi)光線較暗,并且目標運動緩慢,三幀差分算法只檢測到目標邊緣,混合高斯算法和ViBe算法誤檢現(xiàn)象嚴重。
圖2 5種算法的檢測結(jié)果
文獻[14]算法在目標檢測完整度上有一定的改善,但仍存在目標像素缺失和誤檢現(xiàn)象,容易受到背景中噪聲干擾。與上述4種算法相比,文中改進算法抑制噪聲的效果明顯,并且對光照變化以及目標運動緩慢的場景具有很好的適應性,同時保留了更加完整的目標信息,提高了檢測目標的準確度。
上述5種算法在3種場景下的單幀檢測時間如表1所示。
表1 5種檢測算法的單幀檢測耗時對比 單位:ms
由表1可以看出:文中改進算法單幀檢測所用時間相比于傳統(tǒng)三幀差分算法較高,是因為存在高斯混合模型的建立與背景更新,但遠低于傳統(tǒng)混合高斯算法單幀檢測所用時間,并且相對于經(jīng)典ViBe算法和文獻[14]算法的處理速度更快,保證了算法的實時性。
為了定量分析文中改進算法對目標檢測的準確性,采用常用的評判標準:準確率αDR和誤檢率αFAR兩個指標,來客觀評價不同算法的檢測性能。準確率αDR和誤檢率αFAR公式表示如下:
(25)
(26)
式中:TP表示檢測到的與運動目標相符的像素數(shù);FP表示檢測到的不屬于運動目標的像素數(shù);FN表示未被檢測到的屬于運動目標的像素數(shù)。
由準確率αDR反映目標檢測的完整度,αDR值越大,表示目標檢測完整度越高,反之完整度越低。5種不同算法對場景1中的運動目標檢測準確率曲線如圖3所示。文中改進算法在3種不同實驗場景下對目標檢測的準確率曲線如圖4所示。
圖3 各算法的αDR曲線
圖4 文中改進算法在3種場景下的αDR曲線
結(jié)果表明:文中改進的檢測算法相較于其他4種算法整體性能最好,能夠更加完整地檢測出運動目標,并且在不同場景下目標檢測準確率都能維持在一個較高的水平,具有較強的適應能力。
此外,針對上述5種算法在3種不同場景的干擾,計算出所有幀的平均準確率和平均誤檢率如表2、表3所示??芍涸谀繕藱z測準確率方面,傳統(tǒng)三幀差分法的準確率最低,文獻[14]算法的準確率相對有所提升,而文中改進算法的準確率最高達到了95.2%,極大提高了目標檢測完整度;在目標檢測誤檢率方面,傳統(tǒng)混合高斯算法的誤檢率最高,文獻[14]算法相對其有所降低,而文中改進算法的誤檢率最低,擁有明顯的檢測優(yōu)勢。
表2 5種檢測算法的準確率對比
表3 5種檢測算法的誤檢率對比
為驗證改進算法對目標檢測的可行性,進行機器人目標檢測實驗。以仿人機器人NAO作為硬件平臺,如圖5所示。NAO機器人擁有額頭處和下頜處兩個攝像機鏡頭,分別用于遠景和近景的采集,兩個攝像頭不可以同時啟動。采用機器人額頭處的單目攝像頭作為視覺傳感器獲取運動目標及場景相關信息,并確保運動目標出現(xiàn)在機器人視野內(nèi)。調(diào)用NAOqi系統(tǒng)的ALVideoDevice視頻管理模塊,將實時視頻數(shù)據(jù)發(fā)送到遠程PC端進行處理。
圖5 NAO機器人平臺
主要設計3種實驗場景:背景擾動、光照變化和室內(nèi)環(huán)境下目標運動緩慢實驗。為了說明改進算法的有效性,將傳統(tǒng)混合高斯模型算法和傳統(tǒng)幀差法與改進算法進行對比。
實驗一,室外場景下存在背景噪聲干擾時對運動目標進行檢測。分別取視頻的第90幀、第130幀和第160幀原始圖像,檢測結(jié)果對比如圖6所示。受背景噪聲干擾,傳統(tǒng)幀差法及傳統(tǒng)混合高斯模型算法容易將背景像素點誤判為前景,并且存在較大空洞及邊緣缺失問題。文中改進算法能夠有效抑制背景擾動,檢測到的目標完整度高,邊緣連續(xù)性強。
圖6 實驗1目標檢測結(jié)果對比
實驗二,當場景中存在光照變化時進行運動目標檢測。分別取視頻的第60幀、第86幀和第119幀原始圖像,檢測結(jié)果對比如圖7所示。目標從光照較暗區(qū)域走向光照較亮區(qū)域,出現(xiàn)明顯的光照變化??梢钥闯?,傳統(tǒng)幀差法對光照變化不敏感,但空洞現(xiàn)象明顯,目標檢測完整度低。傳統(tǒng)混合高斯模型算法在出現(xiàn)光照變化后,因為背景模型更新不及時,檢測結(jié)果存在較為明顯的誤檢現(xiàn)象。改進算法能夠有效克服光照變化影響,減小了因光照變化導致的檢測誤差。
圖7 實驗2目標檢測結(jié)果對比
實驗三,在室內(nèi)光線較暗環(huán)境下對運動狀態(tài)較為緩慢的目標進行檢測。分別取視頻的第65幀、第77幀和第90幀原始圖像,檢測結(jié)果對比如圖8所示。對運動緩慢的目標進行檢測時,傳統(tǒng)幀差法對低速運動目標不敏感,不能完整提取目標區(qū)域。傳統(tǒng)混合高斯模型算法雖然在檢測目標完整度上有了很大的提高,但是檢測結(jié)果存在明顯噪聲。改進算法能很好地適應目標運動狀態(tài),對低速運動目標的檢測效果得到了很大改進。
圖8 實驗3目標檢測結(jié)果對比
提出一種改進自適應混合高斯模型與幀間差分相融合的運動目標檢測算法,并且將所提方法在公開的視頻測試集和機器人中分別進行了測試和實驗。對比實驗結(jié)果表明:文中改進算法能夠快速準確地檢測出運動目標,有效克服了環(huán)境噪聲及光照變化干擾,并且對運動緩慢的目標具有較好的檢測能力,在保證實時性的同時對復雜環(huán)境具有較強的適應性,為后續(xù)目標跟蹤與識別提供了有力保障。