張小艷, 郭海濤
(西安科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 陜西 西安 710600)
目前,大多煤礦井下視頻監(jiān)控[1]還是通過(guò)人工方式查看,存在效率低、對(duì)異常情況不能及時(shí)預(yù)警等問(wèn)題。基于煤礦井下視頻監(jiān)控的目標(biāo)檢測(cè),可作為井下目標(biāo)行為分析和理解的重要手段,為保障煤礦生產(chǎn)安全提供技術(shù)支持。傳統(tǒng)的運(yùn)動(dòng)目標(biāo)檢測(cè)算法主要有幀差法[2-3]、光流法[4-6]和背景差分法[7-10]等。由于煤礦井下環(huán)境光照不足、粉塵多、噪聲大,上述算法應(yīng)用到煤礦井下時(shí)均存在不同程度缺陷,如檢測(cè)結(jié)果圖像輪廓不完整、算法處理速度和檢測(cè)效果不能兼顧、光照魯棒性弱等。
混合高斯模型是一種無(wú)監(jiān)督學(xué)習(xí)的模型,能夠處理圖像中背景物體的局部重復(fù)運(yùn)動(dòng)、緩慢運(yùn)動(dòng),實(shí)現(xiàn)復(fù)雜區(qū)域中的跟蹤,被廣泛應(yīng)用于運(yùn)動(dòng)目標(biāo)檢測(cè)中。但混合高斯模型是基于單像素點(diǎn)建模,建模速度較慢,并且在模型建立初期和后期采用同樣的學(xué)習(xí)率,導(dǎo)致模型更新速度緩慢。為了改善目標(biāo)檢測(cè)效果,學(xué)者們基于混合高斯模型進(jìn)行了進(jìn)一步研究。文獻(xiàn)[11]自適應(yīng)地調(diào)整了高斯模型的分布數(shù)量,提高了背景建模精度,但沒(méi)有優(yōu)化高斯逐點(diǎn)建模過(guò)程,算法運(yùn)行速度較慢。文獻(xiàn)[12]對(duì)井下圖像采用暗原色先驗(yàn)進(jìn)行去霧處理,在提高圖像對(duì)比度、識(shí)別細(xì)節(jié)信息、抑制噪聲等方面有較好的效果,但是獲取圖像暗通道圖的過(guò)程增加了算法復(fù)雜度。文獻(xiàn)[13]使用邊緣對(duì)比差分算法保證圖像邊緣信息連續(xù)、完整,提高了目標(biāo)檢測(cè)的準(zhǔn)確率。
針對(duì)混合高斯模型運(yùn)行速度慢、算法復(fù)雜度高、易受光照影響等問(wèn)題,提出了一種基于改進(jìn)混合高斯模型的井下目標(biāo)檢測(cè)算法,采用改進(jìn)的暗通道去霧算法對(duì)井下視頻圖像進(jìn)行預(yù)處理,通過(guò)塊建模算法和自適應(yīng)學(xué)習(xí)率提高背景模型的建立與更新速度。
對(duì)圖像中每個(gè)像素建立K個(gè)高斯分布模型,則t時(shí)刻當(dāng)前像素值Xt的背景分布概率為
(1)
式中:ωi,t為第i個(gè)高斯分布在t時(shí)刻的權(quán)重;η為高斯分布的概率密度函數(shù);μi,t為第i個(gè)高斯分布在t時(shí)刻的期望;Σi,t為第i個(gè)高斯分布在t時(shí)刻的協(xié)方差矩陣。
高斯模型概率密度方程為

(2)
式中n為每個(gè)像素值的維數(shù),一般取1或3。
確定K時(shí)需要考慮到內(nèi)存和計(jì)算性能,一般取3~5。考慮到計(jì)算復(fù)雜度,定義協(xié)方差矩陣形式為
(3)
式中:σi為第i個(gè)分布的方差;I為圖像序列。
設(shè)權(quán)值為1,方差為默認(rèn)值,期望為初始幀對(duì)應(yīng)點(diǎn)的像素值,對(duì)圖像中的像素點(diǎn)進(jìn)行初始化。混合高斯模型主要通過(guò)學(xué)習(xí)率來(lái)決定背景更新的速度。在建模初期,場(chǎng)景中一般沒(méi)有前景目標(biāo)。因此,一般在建模初期使用較高的學(xué)習(xí)率來(lái)提高建模速度,然后再使用較低的學(xué)習(xí)率來(lái)進(jìn)行前景提取和背景更新。
對(duì)圖像中每個(gè)像素點(diǎn),分別與其對(duì)應(yīng)的K個(gè)高斯分布進(jìn)行匹配,匹配公式為
|Xt-μi,t-1|≤Cσi
(4)
式中C為常數(shù),一般取2.5~3.5。
如果當(dāng)前像素值與K個(gè)分布均不匹配,則用新的分布替換最小概率分布,并調(diào)整權(quán)重:
ωi,t=(1-α)ωi,t-1+αMi,t
(5)
式中:α為學(xué)習(xí)率;當(dāng)像素和模型匹配時(shí)Mi,t為1,否則為0。
如果像素與任何一個(gè)分布匹配,則對(duì)應(yīng)參數(shù)更新公式為
μi,t=(1-ρ)μi-1,t+ρXt
(6)
(7)
式中ρ=αη(Xt,μi,t,σi)。
如果像素與任何一個(gè)分布均不匹配,則方差和期望不更新,只更新權(quán)重;當(dāng)像素和任意一個(gè)分布匹配時(shí),模型的各權(quán)值重新歸一化。
用B作為當(dāng)前背景模型,B滿(mǎn)足:
(8)
式中T為判定高斯分布是否可作為背景模型的最低閾值,一般取0.9。
高斯模型分布是按照ωi,t/σi的值排序的,當(dāng)分布的權(quán)重增大、方差減小時(shí),該比值會(huì)增加。因此,可能性最大的分布排在最前面,而可能性較小的分布排在最后面,并最終被新的分布取代。
在判斷像素點(diǎn)類(lèi)別時(shí),如果當(dāng)前像素與任意一個(gè)高斯分布匹配,則認(rèn)為該像素點(diǎn)屬于背景,否則認(rèn)為該像素點(diǎn)屬于前景。
煤礦監(jiān)控圖像存在照度低、粉塵大并且噪聲強(qiáng)度高等問(wèn)題,對(duì)圖像有效信息提取帶來(lái)極大不便,因此,采用暗通道去霧算法[14]對(duì)井下圖像進(jìn)行去霧,去霧公式為
(9)
式中:J(x)為無(wú)霧圖像;Y(x)為有霧圖像;s(x)為光線(xiàn)透射率;A為大氣光值。
求取暗通道圖會(huì)導(dǎo)致算法計(jì)算較慢,因此,首先對(duì)圖像的縮略圖求暗通道圖,然后插值恢復(fù)圖像像素。在常用的插值方法[15]中,雙三次插值法效果最佳,但算法速度較慢。為了提高速度,本文選擇雙線(xiàn)性插值法對(duì)圖像進(jìn)行插值,以縮短暗通道圖的獲取時(shí)間,提高算法速度。
雙線(xiàn)性插值是對(duì)二元插值函數(shù)的擴(kuò)展,其主要思想是分別在x,y方向進(jìn)行一次線(xiàn)性插值,如圖1所示。

圖1 雙線(xiàn)性插值Fig.1 Bilinear interpolation
假設(shè)已知函數(shù)f在點(diǎn)Q11(x1,y1),Q12(x1,y2),Q21(x2,y1)及Q22(x2,y2)處的值,要得到f在點(diǎn)Q(x,y)處的值,在x方向進(jìn)行線(xiàn)性插值,得
(10)
在y方向進(jìn)行線(xiàn)性插值,得

(11)
預(yù)處理算法流程如下:
(1) 輸入塵霧圖像,對(duì)圖像進(jìn)行直方圖均衡化。
(2) 對(duì)直方圖均衡化后的圖像求取縮略圖,再對(duì)縮略圖求取暗通道圖。
(3) 估計(jì)暗通道圖的大氣光值,并利用導(dǎo)向?yàn)V波求取圖像的透射率圖。
(4) 采用雙線(xiàn)性插值法放大去霧后的圖像,恢復(fù)圖像的像素。
(5) 輸出無(wú)霧圖像。
傳統(tǒng)混合高斯建模過(guò)程是對(duì)每一個(gè)像素點(diǎn)建立K個(gè)高斯分布,算法的復(fù)雜度高,實(shí)時(shí)性差。煤礦井下監(jiān)控?cái)z像頭一般固定不動(dòng),因而圖像背景無(wú)變化。另外,圖像中可能出現(xiàn)像素相似區(qū)塊,如井下墻壁、礦車(chē)或者地面等,這些區(qū)域的像素可與其周?chē)袼毓灿靡粋€(gè)模型,從而降低了建模復(fù)雜度。

(12)
式中I′(h1,h2,t)為t時(shí)刻的像素值。

(13)
(14)
文獻(xiàn)[16]得出分辨率為320×240的視頻最佳分塊數(shù)為2×2,但是其忽略了視頻分辨率變化的問(wèn)題,即分辨率高于320×240時(shí)可能2×2分塊不適用。本文通過(guò)對(duì)320×240、640×480和960×540三種分辨率規(guī)格視頻中的10幀使用2×2、3×3、4×4、6×6四種分塊策略進(jìn)行實(shí)驗(yàn),通過(guò)分析算法運(yùn)行時(shí)間和檢測(cè)效果得到更佳的分塊策略,實(shí)驗(yàn)結(jié)果如圖2所示。

圖2 塊建模算法對(duì)比Fig.2 Comparison of block modeling algorithms
從圖2可看出,分辨率為320×240時(shí),解析10幀視頻的時(shí)間隨著分塊的增加依次減小了19.1%,16.6%,11.2%;分辨率為640×480時(shí)依次減小了17.5%,15.2%,10.3%;分辨率為960×540時(shí)依次減小了17.2%,13.6%,8.6%。隨著分塊數(shù)增加,算法所需要的時(shí)間逐漸減小。
塊建模效果如圖3所示。當(dāng)分塊數(shù)為2×2和4×4時(shí),檢測(cè)結(jié)果中目標(biāo)形態(tài)清楚,幾乎沒(méi)有噪聲干擾;當(dāng)分塊數(shù)為6×6時(shí),檢測(cè)結(jié)果中目標(biāo)出現(xiàn)了嚴(yán)重的“拖影”。因此,為了提高算法運(yùn)行速度,同時(shí)保證檢測(cè)效果,采用如下改進(jìn)塊建模算法:視頻分辨率低于320×240時(shí)不進(jìn)行分塊,分辨率大于320×240且小于640×480時(shí)采用6×6分塊,分辨率超過(guò)640×480時(shí)采用4×4分塊。

(a) 原圖像

(b) 2×2分塊

(c) 4×4分塊

(d) 6×6分塊
在幀差法的基礎(chǔ)上對(duì)混合高斯模型進(jìn)行改進(jìn)。幀差法通過(guò)計(jì)算圖像幀之間的差值進(jìn)行目標(biāo)檢測(cè),兩幀差分法易發(fā)生“空洞”現(xiàn)象,三幀差分法則是利用3幀圖像中的相鄰2幀進(jìn)行差分計(jì)算,可以獲得較好的圖像檢測(cè)效果。選取3幀圖像Ij-1(x,y),Ij(x,y),Ij+1(x,y),分別計(jì)算相鄰2幀的差值:
(15)
使用閾值T對(duì)差值圖像進(jìn)行二值化:
(16)
對(duì)得到的2個(gè)差分圖像進(jìn)行“與”運(yùn)算,得到結(jié)果圖像D(x,y):
(17)
三幀差分法如圖4所示。

圖4 三幀差分法Fig.4 Three-frame differential method
α的取值決定背景更新的速度。在傳統(tǒng)的混合高斯模型中,由于學(xué)習(xí)率α取值固定,導(dǎo)致模型的更新速度不能變化。由于對(duì)煤礦井下視頻進(jìn)行了預(yù)處理,算法復(fù)雜度較高,同時(shí)要求一定的實(shí)時(shí)性,固定的學(xué)習(xí)率不能滿(mǎn)足井下目標(biāo)檢測(cè)需求。因此,當(dāng)背景發(fā)生改變時(shí),相應(yīng)的學(xué)習(xí)率也要進(jìn)行更新。本文結(jié)合三幀差分法對(duì)學(xué)習(xí)率設(shè)置進(jìn)行改進(jìn)。使用三幀差分法時(shí),確定前景目標(biāo)像素在整個(gè)圖像像素中的比例a,通過(guò)前景在所有像素中的占比設(shè)定建模不同階段的學(xué)習(xí)率:

(18)
在建模前期(0≤a≤10%),監(jiān)控場(chǎng)景中沒(méi)有運(yùn)動(dòng)目標(biāo),根據(jù)理論及實(shí)驗(yàn)分析,設(shè)定一個(gè)較大的模型學(xué)習(xí)率0.05;而在建模后期(a>10%),運(yùn)動(dòng)目標(biāo)進(jìn)入監(jiān)控范圍內(nèi),根據(jù)運(yùn)動(dòng)目標(biāo)在場(chǎng)景中的像素占比動(dòng)態(tài)調(diào)節(jié)模型學(xué)習(xí)率。
通過(guò)自適應(yīng)學(xué)習(xí)率設(shè)計(jì),既可以抑制光照對(duì)檢測(cè)的影響,又能在建模前期使用較大的學(xué)習(xí)率,建模后期減小學(xué)習(xí)率,從而提高建模的速度和準(zhǔn)確度。
目標(biāo)檢測(cè)算法流程如圖5所示。首先,對(duì)井下視頻進(jìn)行預(yù)處理,對(duì)高斯模型進(jìn)行初始化;然后,采用改進(jìn)塊建模算法進(jìn)行分塊處理,結(jié)合三幀差分法判斷建模階段并自適應(yīng)設(shè)置學(xué)習(xí)率;最后,通過(guò)改進(jìn)高斯模型進(jìn)行目標(biāo)檢測(cè)。
為驗(yàn)證所提出算法的有效性,選取井下視頻進(jìn)行目標(biāo)檢測(cè),在Visual Studio 2019和OpenCV 440平臺(tái)進(jìn)行實(shí)驗(yàn),取2段視頻Coalvideo1(930幀,分辨率為320×240,幀率為25幀/s),Coalvideo2(750幀,分辨率為640×480,幀率為25幀/s),進(jìn)行實(shí)驗(yàn)對(duì)比,結(jié)果如圖6、圖7所示。

圖5 目標(biāo)檢測(cè)算法流程Fig.5 The flow of target detection algorithm

(a) 原圖

(b) 傳統(tǒng)混合高斯模型

(c) 三幀差分法

(d) 本文算法

(a) 原圖

(b) 傳統(tǒng)混合高斯模型

(c) 三幀差分法

(d) 本文算法
從圖6可看出,當(dāng)光照未變化時(shí),本文算法去噪效果更好,圖像更完整,而傳統(tǒng)混合高斯模型的噪聲較大,三幀差分法檢測(cè)結(jié)果中圖像空洞較多。從圖7可看出,當(dāng)光照發(fā)生突變時(shí),傳統(tǒng)混合高斯模型受光照影響較大;三幀差分法對(duì)光照變化的抑制性較好,但是圖像空洞現(xiàn)象嚴(yán)重;本文算法仍能較好地描述檢測(cè)對(duì)象,對(duì)光照變化有明顯抑制作用。
三幀差分法、傳統(tǒng)混合高斯模型和本文算法的處理速度見(jiàn)表1。對(duì)于視頻Coalvideo1,本文算法的處理速度比傳統(tǒng)混合高斯模型和三幀差分法分別提高了65.7%和45.4%;對(duì)于視頻Coalvideo2,本文算法的處理速度比傳統(tǒng)混合高斯模型和三幀差分法分別提高了65.4%和42.6%。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文算法可有效提高視頻處理速度。

表1 實(shí)驗(yàn)結(jié)果對(duì)比Table 1 Comparison of experimental results
在圖像預(yù)處理過(guò)程中,先對(duì)圖像縮略圖求暗通道圖,再通過(guò)雙線(xiàn)性插值恢復(fù)像素,從而降低暗通道去霧算法的復(fù)雜度,在保證圖像處理效果的同時(shí)提高了算法運(yùn)行速度。在目標(biāo)檢測(cè)中,對(duì)塊建模算法進(jìn)行了改進(jìn),使其適用于不同分辨率的視頻;采用三幀差分法應(yīng)對(duì)光照突變,并在混合高斯模型建模前和建模后設(shè)定自適應(yīng)學(xué)習(xí)率,提高了模型的更新速度,取得了較好的井下目標(biāo)檢測(cè)效果。實(shí)驗(yàn)結(jié)果表明,當(dāng)光照發(fā)生突變時(shí),本文算法仍能較好地描述檢測(cè)對(duì)象,對(duì)光照變化有明顯抑制作用;與三幀差分法、傳統(tǒng)混合高斯模型相比,本文算法可顯著提高視頻處理速度。