本發(fā)明主要涉及視頻圖像質(zhì)量診斷領(lǐng)域,特別涉及一種視頻圖像中的條紋異常檢測方法,適用于水平干擾條紋的檢測。
背景技術(shù):
隨著視頻監(jiān)控的日益普及,視頻監(jiān)控中出現(xiàn)的異常情況也呈現(xiàn)井噴式增長。視頻橫紋干擾正是諸多異常中的一種,當(dāng)視頻圖像存在大量橫紋干擾時,會嚴(yán)重影響視頻的使用效果。那么及時發(fā)現(xiàn)故障就顯得尤為重要。原本靠人力去逐一查看視頻是否存在異常的方式,對于少量視頻尚且可行;但有大量攝像頭時,顯然已不能滿足這種需求;并且人力的成本越來越高,不便于系統(tǒng)化管理。
當(dāng)前采用非人工的方式針對圖像條紋檢測的方法有:熊培杰等在專利《圖像條紋檢測方法及裝置》(專利號:201310247599.4)中提出的通過在接收到圖像條紋檢測任務(wù)時,解析圖像條紋檢測任務(wù)的任務(wù)消息以確定圖像的檢測區(qū)域;獲取待檢測的視頻數(shù)據(jù);循環(huán)執(zhí)行“讀取獲取的所述視頻數(shù)據(jù)中的一幀圖像,檢測所述一幀圖像在所述檢測區(qū)域中的條紋,并記錄所述一幀圖像對應(yīng)的檢測結(jié)果”,直至檢測了預(yù)設(shè)幀數(shù)量的幀圖像;統(tǒng)計分析記錄的各幀圖像對應(yīng)的檢測結(jié)果,以確定所述檢測區(qū)域的圖像條紋檢測結(jié)果的檢測方法;以及周康在專利《圖像中條紋干擾的檢測方法和裝置》(專利號:201310432482.3)中提出的獲取需要進行檢測的多個連續(xù)圖像中的每個像素的屬性值;對于每個像素,根據(jù)多個連續(xù)圖像中該像素的屬性值確定該像素的變化值,其中,該像素的變化值用于表示在多個連續(xù)圖像中該像素的屬性變化情況;對由各個像素的變化值組成的圖像進行條紋干擾檢測的檢測方法。
本發(fā)明提出了首先做差幀處理消除固定背景影響,并進行腐蝕去噪處理消除細(xì)小噪聲影響,再通過Sobel水平算子銳化處理,最后對處理圖像進行行投影并對投影數(shù)據(jù)計算方差做比得到比值,從而判斷是否存在橫條紋的檢測方法。該方法能檢測出由于條紋異常導(dǎo)致背景圖像扭曲的圖像條紋。對橫條紋沒有周期性要求,有較好的適應(yīng)性。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在解決監(jiān)控視頻中存在的水平干擾條紋的條紋檢測問題。提供一種視頻圖像中的條紋異常檢測方法。本發(fā)明根據(jù)橫紋存在時,利用視頻前后幀的差幀去除背景噪聲,再通過腐蝕去除非條紋噪聲影響并突顯條紋特征;最后進行行投影并計算對比方差值,計算投影數(shù)據(jù)方差判斷是否存在橫紋。
本發(fā)明的技術(shù)方案步驟如下:
步驟1:獲得目標(biāo)視頻,提取視頻的圖像寬與高;
步驟2:提取視頻序列中的圖像,并將圖像的存儲格式由多通道轉(zhuǎn)化為單通道的灰度圖像存儲格式;
步驟3:將步驟2的灰度格式圖像序列依次做前后幀的差幀處理,得到差值圖像序列;
步驟4:將步驟3差值圖像序列進行形態(tài)學(xué)中腐蝕去噪處理,以突顯圖像橫條紋特征;
步驟5:將步驟4的去噪圖像序列以及步驟3的差值圖像序列進行Sobel算子銳化處理,得到處理后的兩組圖像序列;
步驟6:將步驟5處理的兩組圖像序列分別進行行投影,得到兩組投影數(shù)據(jù);
步驟7:對兩組投影數(shù)據(jù)進行方差計算,通過去噪處理得到投影數(shù)據(jù)和未去噪處理得到投影數(shù)據(jù)的方差比,判斷是否存在橫紋;其中方差比的閾值通過統(tǒng)計的方法得出。
在步驟4中,腐蝕處理的原理如下:
腐蝕定義為:
表示B對A的腐蝕是一個用z平移的B包含在A中所有的點Z的集合;其中A、B為兩個集合;結(jié)構(gòu)元B采用半徑為3像素、高為3像素的橢圓進行腐蝕處理。
在步驟5中,Sobel算子采用水平算子可檢測橫條紋、采用Sobel垂直算子可檢測縱向條紋;公式分別為:
其中zi,i=1,…,9為目標(biāo)點x上一行與下一行最鄰近3像素點的灰度值;gx和gy表示sobel算子處理后得到x像素灰度值。
在步驟6中,投影公式為:
或
其中data(j)、data(i)分別為行、列投影對應(yīng)元素值;I(i,j)為對應(yīng)圖像的像素灰度值。
步驟6中,方差比的計算公式為:
其中T為方差比,V1為未經(jīng)過腐蝕去噪處理的投影數(shù)據(jù)的方差,V0為經(jīng)過腐蝕去噪處理的投影數(shù)據(jù)方差。
步驟7采用的判別方式是方差的比值;將比值T與預(yù)先統(tǒng)計好得出的閾值T0比較大??;當(dāng)T<T0時,則判定該幀存在橫條紋,否則不存在;當(dāng)存在連續(xù)幾幀存在橫條紋時,則判定為視頻存在橫紋。
本發(fā)明得到有益結(jié)果:
本發(fā)明針對監(jiān)控視頻橫條紋異常情況問題,提出了首先通過差幀去除固定背景影響,從而達到突顯橫紋與局部噪聲目的;并通過腐蝕處理去除局部小噪聲的方式,進一步顯化突出橫紋特征。再次通過樣本統(tǒng)計的方式得出橫紋檢測判斷值。最終達到檢測橫紋的方法。本發(fā)明基于真實場景樣本數(shù)據(jù)進行統(tǒng)計確定判斷閾值,條紋檢測更加可靠,實時性好。同時本方法也適用于豎向條紋的檢測。
附圖說明
圖1總體實現(xiàn)框架流程圖;
圖2判斷閾值統(tǒng)計流程圖;
圖3腐蝕去噪處理對比圖;
圖4 Sobel水平算子處理對比圖;
圖5行投影數(shù)據(jù)圖;
圖6不存在橫條紋圖像行投影對比圖.
具體實施方式
下面結(jié)合附圖對本發(fā)明的具體實施方案做進一步更詳細(xì)的敘述。
對附圖1做如下具體說明:
步驟1:提取檢測視頻或視頻流的屬性,判斷視頻是否為單通道灰度圖像幀序列,若不是單通道灰度幀序列,將視頻幀轉(zhuǎn)化為單通道灰度圖像格式,并提取視頻幀的寬度與高度分別記為M、N。
步驟2:將灰度化的幀序列做前后幀做差處理,得到差幀圖像記為frame_diff
步驟3:對差幀圖像frame_diff進行去噪處理,以突顯橫條紋特征便于進一步處理。得到去噪圖像記為frame_diff_erode,其中去噪采用圖像形態(tài)學(xué)中的腐蝕原理。處理結(jié)果見附圖3。
腐蝕原理具體如下
腐蝕定義為:
表示B對A的腐蝕是一個用z平移的B包含在A中所有的點Z的集合。其中A、B為兩個集合。本案例中結(jié)構(gòu)元B采用半徑為3像素、高為3像素的橢圓進行腐蝕處理。
步驟4:對腐蝕去噪圖像frame_diff以及frame_diff_erode進行sobel銳化處理分別得到處理后圖像記為frame_diff_sobel與frame_diff_erode_sobel。處理結(jié)果見附圖4。
其中sobel水平銳化處理具體原理如下:
其中zi,i=1,…,9為目標(biāo)點x上一行與下一行最鄰近3像素點的灰度值。gx表示sobel算子處理后得到x像素灰度值。
步驟5:對圖像frame_diff_sobel與圖frame_diff_erode_sobel像素灰度進行行投影,即將大小為M*N像素值矩陣的每一行累加起來得到大小為1*N數(shù)據(jù)矩陣。投影得到數(shù)據(jù)矩陣分別記為data0、data1。投影數(shù)據(jù)結(jié)果見附圖5。
公式為:
其中data[j]為數(shù)據(jù)矩陣的第j個元素,I(i,j)為投影矩陣相應(yīng)坐標(biāo)為(i,j)的像素值
步驟6:對步驟5得出的數(shù)據(jù)矩data0與data1計算其方差,分別記為Var0、Var1。
步驟7:步驟6得出的未去噪處理的方差數(shù)據(jù)與進行去噪處理的的方差數(shù)據(jù)做比,得到比值,記為T=Var0/Var1。
步驟8:將步驟7得出的比值T與預(yù)先統(tǒng)計好得出的閾值T0比較大小。由于存在橫條紋圖像處理后的方差比會比較小,而不存在橫條紋圖像處理后方差比會比較大;統(tǒng)計發(fā)現(xiàn)二者處在不同的量級上,從而統(tǒng)計出判斷閾值T0?;谶@樣的結(jié)論,那么當(dāng)T<T0時,則判定該幀存在橫條紋,否則不存在。當(dāng)存在連續(xù)幾幀存在橫條紋時,則判定為視頻存在橫紋。其中不存在橫紋樣本進行前五步驟處理,處理結(jié)果見圖6。
對附圖2進行具體說明:
步驟1:將事先收集多組固定場景下存在橫條紋的樣本視頻與不存在橫條紋的視頻樣本用于統(tǒng)計計算。樣本分組多次重復(fù)附圖1的具體說明的前七個步驟,得出兩組統(tǒng)計數(shù)據(jù)。一組為存在橫條紋的方差比值數(shù)據(jù)組data_T0,另一組為不存在橫條紋的方差比值數(shù)據(jù)組data_T1.求出兩組數(shù)據(jù)的均值分別為average_T0、average_T1。在二者中間取一可靠值T0作為統(tǒng)計閾值,帶入進行檢驗。