本發(fā)明屬于圖像處理、視頻檢測和人工智能交叉技術(shù)應(yīng)用領(lǐng)域,尤其涉及一種基于三重背景更新的違章停車檢測方法。
背景技術(shù):
隨著社會(huì)經(jīng)濟(jì)的不斷發(fā)展,城市中的車輛數(shù)目快速增長。停車需求和停車場地的供給矛盾日益突出,違章停車成為城市的頑疾,對城市的整體交通環(huán)境和行人安全存在嚴(yán)重影響。
傳統(tǒng)的違章停車檢測主要是通過人工監(jiān)管,無法實(shí)現(xiàn)實(shí)時(shí)監(jiān)控,極大地浪費(fèi)了交通管制的資源。近年來隨著視頻檢測技術(shù)和計(jì)算機(jī)視覺技術(shù)的發(fā)展,基于監(jiān)控視頻的違章停車檢測受到了越來越多的關(guān)注。
基于視頻的違章停車檢測主要包括以下步驟:建立背景模型進(jìn)行車輛檢測,進(jìn)行車輛跟蹤,進(jìn)行違章停車的判斷。由于運(yùn)動(dòng)目標(biāo)處于復(fù)雜場景,背景建模過程比較復(fù)雜、跟蹤過程容易出現(xiàn)失敗,實(shí)時(shí)性監(jiān)控較困難。因此,發(fā)明一種有效的違章停車檢測方法意義重大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于彌補(bǔ)現(xiàn)有違章停車檢測的不足,提出了一種基于三重背景更新的違章停車檢測方法,通過對當(dāng)前背景、緩沖背景和違停車輛背景進(jìn)行更新,有效地檢測出違停車輛,提高違章停車檢測的準(zhǔn)確性和實(shí)時(shí)性。
本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
一種基于三重背景更新的違章停車檢測方法,包括如下步驟:
步驟1,用戶輸入視頻鏡頭s,定義s={f1,f2,...,fn},fn為第n個(gè)鏡頭幀,fn用大小為r*l的二維矩陣表示,其中,n為正整數(shù),r為矩陣行數(shù),l為矩陣列數(shù);
步驟2,創(chuàng)建當(dāng)前背景current_bg和緩沖背景buffer_bg,將第一幀圖像f1灰度化處理后得到的灰度差值圖像f1'作為當(dāng)前背景current_bg和緩沖背景buffer_bg的初始值;其中,current_bg和buffer_bg均用大小為r*l的二維矩陣表示;所述灰度化處理是將彩色圖像轉(zhuǎn)化成為灰度圖像的過程;
步驟3,對步驟2創(chuàng)建的當(dāng)前背景current_bg和緩沖背景buffer_bg進(jìn)行處理,進(jìn)而檢測出違停車輛;具體步驟如下:
定義違停車輛檢測圖像為fore,fore用大小為r*l的二維矩陣表示;對當(dāng)前背景current_bg和緩沖背景buffer_bg中的每個(gè)像素點(diǎn)j進(jìn)行如下計(jì)算:
fore(j)=current_bg(j)-buffer_bg(j)
若fore(j)>t',則判定j為前景點(diǎn);
若fore(j)≤t',則判定j為背景點(diǎn);
則fore(j)>t'的構(gòu)成檢測出的違停車輛;
其中,fore(j)為違停車輛檢測圖像第j個(gè)像素點(diǎn)的色彩值,current_bg(j)為當(dāng)前背景current_bg第j個(gè)像素點(diǎn)的色彩值,buffer(j)為緩沖背景buffer_bg第j個(gè)點(diǎn)的像素值,t'為色差閾值;
步驟4,將第k幀當(dāng)前背景current_bg各像素值與第k+1幀圖像fk+1對應(yīng)像素值進(jìn)行比較:
若當(dāng)前背景current_bg各像素值小于圖像fk+1對應(yīng)像素值,則當(dāng)前背景current_bg對應(yīng)像素值增加1個(gè)單位;
若當(dāng)前背景current_bg各像素值大于圖像fk+1對應(yīng)像素值,則當(dāng)前背景current_bg對應(yīng)像素值減少1個(gè)單位;
若當(dāng)前背景current_bg各像素值等于圖像fk+1對應(yīng)像素值,當(dāng)前背景current_bg對應(yīng)像素值保持不變;
步驟5,通過違停車輛的緩存背景判斷違停車輛何時(shí)離開:具體步驟如下:定義違停車輛背景為abandon_bg,abandon_bg用大小為r*l的二維矩陣表示,r為矩陣行數(shù),l為矩陣列數(shù);設(shè)置定時(shí)器inter,以固定時(shí)間隔作為違停車輛背景abandon_bg的更新周期,對當(dāng)前背景current_bg和緩沖背景buffer_bg中的每個(gè)像素點(diǎn)j進(jìn)行如下計(jì)算:
abandon_bg(j)=current_bg(j)-buffer_bg(j)
若abandon_bg(j)>t”,則判定j為前景點(diǎn);
若abandon_bg(j)≤t”,則判定j為背景點(diǎn);
其中,abandon_bg(j)為違停車輛背景abandon_bg第j個(gè)像素點(diǎn)的色彩值,current_bg(j)為當(dāng)前背景current_bg第j個(gè)像素點(diǎn)的色彩值,buffer(j)為緩沖背景buffer_bg第j個(gè)點(diǎn)的像素值,t”為色差閾值;
步驟5.1,若違停車輛背景abandon_bg與當(dāng)前背景current_bg對應(yīng)區(qū)域背景像素不同,則判定違停車輛未離開,反之判定違停車輛離開;
步驟5.2,若違停車輛離開,則用當(dāng)前背景current_bg的像素值更新違停車輛背景abandon_bg對應(yīng)區(qū)域,同時(shí)緩沖背景buffer_bg完全復(fù)制當(dāng)前背景current_bg;若違停車輛未離開,則用違停車輛背景abandon_bg像素值更新緩沖背景buffer_bg的對應(yīng)區(qū)域,同時(shí)重新設(shè)置定時(shí)器inter;
步驟6,通過八連通序貫算法對檢測到的違停車輛進(jìn)行區(qū)域連通性分析,進(jìn)而構(gòu)建出最小外接矩陣。
作為本發(fā)明所述的一種基于三重背景更新的違章停車檢測方法進(jìn)一步優(yōu)化方案,所述步驟6具體包含如下步驟:
步驟6.1,從左至右,從上到下對圖像進(jìn)行搜索,尋找灰度值為255且沒有標(biāo)記過的像素點(diǎn),標(biāo)記該像素點(diǎn)為a,記錄其坐標(biāo)值;
步驟6.2,在像素點(diǎn)a附近按八個(gè)方向進(jìn)行搜索,尋找灰度值為255且沒有標(biāo)記過的像素點(diǎn),將該像素送入堆棧;所述八個(gè)方向包含上、下、左、右、左斜上、左斜下、右斜上、右斜下;
步驟6.3,搜索像素點(diǎn)a的八個(gè)方向結(jié)束后,取出棧頂?shù)南袼攸c(diǎn),重復(fù)步驟6.1、步驟6.2直至無法搜索到?jīng)]有標(biāo)記的像素點(diǎn)為止;
步驟6.4,完成上述過程后,統(tǒng)計(jì)標(biāo)記的像素點(diǎn)并與設(shè)定的像素閾值相比較,如果大于該閾值,則檢測到運(yùn)動(dòng)目標(biāo);
步驟6.5,區(qū)域標(biāo)記完成后,對整個(gè)圖像從左到右,從上到下進(jìn)行一次掃描,找出每個(gè)區(qū)域中橫縱坐標(biāo)的最大值和最小值,構(gòu)建出運(yùn)動(dòng)目標(biāo)最小外接矩形。
作為本發(fā)明所述的一種基于三重背景更新的違章停車檢測方法進(jìn)一步優(yōu)化方案,步驟3中色差閾值t'取95。
作為本發(fā)明所述的一種基于三重背景更新的違章停車檢測方法進(jìn)一步優(yōu)化方案,步驟5中定時(shí)器inter時(shí)間間隔取15s。
作為本發(fā)明所述的一種基于三重背景更新的違章停車檢測方法進(jìn)一步優(yōu)化方案,步驟5中色差閾值t”取60。
本發(fā)明提出的一種基于三重背景更新的違章停車檢測方法,具體有益效果如下:
1、本發(fā)明采用像素比較法對當(dāng)前背景模型進(jìn)行背景更新,降低了計(jì)算量,提高檢測算法的實(shí)時(shí)性;
2、本發(fā)明對緩沖背景和違停車輛檢測背景進(jìn)行更新,從而避免違停車輛的停留時(shí)間過長而融入背景;
3、本發(fā)明采用嚴(yán)格的篩選方法,消除干擾目標(biāo)(靜止行人、靜止自行車)對違停車輛的影響,提高算法的準(zhǔn)確度,盡量減少漏檢和誤檢率。
附圖說明
圖1是一種基于三重背景更新的違章停車檢測方法實(shí)現(xiàn)流程圖。
具體實(shí)施方式
下面對本發(fā)明附圖的某些實(shí)施例作更加詳細(xì)的描述。
根據(jù)附圖1,本發(fā)明具體實(shí)施方式為:
1)輸入一個(gè)視頻序列s={f1,f2,...,f30},fi為第i個(gè)鏡頭幀,用大小為30*30的二維矩陣表示,創(chuàng)建當(dāng)前背景和緩沖背景并進(jìn)行初始化;具體如下:
創(chuàng)建當(dāng)前背景current_bg和緩沖背景buffer_bg,current_bg和buffer_bg均用大小為30*30的二維矩陣表示;將第一幀視頻圖像f1進(jìn)行灰度化處理后得到的灰度差值圖像f1'作為當(dāng)前背景和緩沖背景的初始值。
2)對1)創(chuàng)建的當(dāng)前背景和緩沖背景進(jìn)行處理檢測出違停車輛;具體如下:
定義違停車輛檢測圖像為fore,fore用大小為30*30的二維矩陣表示;對當(dāng)前背景current_bg和緩沖背景buffer_bg中的每個(gè)像素點(diǎn)j進(jìn)行如下計(jì)算:
fore(j)=current_bg(j)-buffer_bg(j)
若fore(j)>t',則判定j為前景點(diǎn);
若fore(j)≤t',則判定j為背景點(diǎn);
其中,fore(j)為違停車輛檢測圖像第j個(gè)像素點(diǎn)的色彩值,forecurrent_bg(j)為當(dāng)前背景current_bg第j個(gè)像素點(diǎn)的色彩值,buffer(j)為緩沖背景buffer_bg第j個(gè)點(diǎn)的像素值,t'為色差閾值;
3)以第一幀中當(dāng)前背景current_bg各像素值與第二幀圖像f2對應(yīng)像素值進(jìn)行比較為例。如果前者偏小,則當(dāng)前背景current_bg對應(yīng)像素值增加1個(gè)單位;如果前者偏大,則當(dāng)前背景current_bg對應(yīng)像素值減少1個(gè)單位;在兩者相等的情況下,當(dāng)前背景current_bg對應(yīng)像素值保持不變。即使視頻中運(yùn)動(dòng)目標(biāo)快速變化也不會(huì)影響當(dāng)前背景current_bg,但如果視頻中的運(yùn)動(dòng)目標(biāo)是靜止的,它將逐漸融入到當(dāng)前背景current_bg中;
4)違停車輛背景用于記錄違停車輛的緩存背景,由此能夠判斷出遺留物什么時(shí)候離開并且停留了多久。定義違停車輛背景為abandon_bg,abandon_bg用大小為30*30的二維矩陣表示;設(shè)置定時(shí)器inter,以固定時(shí)間隔20秒作為違停車輛背景abandon_bg的更新周期,對當(dāng)前背景current_bg和緩沖背景buffer_bg中的每個(gè)像素點(diǎn)j進(jìn)行如下計(jì)算:
abandon_bg(j)=current_bg(j)-buffer_bg(j)
若abandon_bg(j)>t”,則判定j為前景點(diǎn);
若abandon_bg(j)≤t”,則判定j為背景點(diǎn);
其中,abandon_bg(j)為違停車輛背景abandon_bg第j個(gè)像素點(diǎn)的色彩值,current_bg(j)為當(dāng)前背景current_bg第j個(gè)像素點(diǎn)的色彩值,buffer(j)為緩沖背景buffer_bg第j個(gè)點(diǎn)的像素值,t”為色差閾值;
5)如果違停車輛背景abandon_bg與當(dāng)前背景current_bg對應(yīng)區(qū)域背景像素不同,判定違停車輛未離開,否則判定離開;
6)如果違停車輛離開了,則用當(dāng)前背景current_bg的像素值更新違停車輛背景abandon_bg對應(yīng)區(qū)域,同時(shí)緩沖背景buffer_bg完全復(fù)制當(dāng)前背景current_bg。如果違停車輛未離開,則用違停車輛背景abandon_bg像素值更新緩沖背景buffer_bg的對應(yīng)區(qū)域,同時(shí)重新設(shè)置定時(shí)器inter。
7)為了提取到完整的運(yùn)動(dòng)目標(biāo),往往需要對圖像進(jìn)行區(qū)域連通性分析,當(dāng)連通區(qū)域的面積大于設(shè)定的閾值時(shí),認(rèn)為是運(yùn)動(dòng)目標(biāo),接著求取其最小外接矩陣。對檢測到的違停車輛基于八連通序貫算法進(jìn)行區(qū)域連通性分析構(gòu)建出運(yùn)動(dòng)目標(biāo)的外接矩陣,具體過程如下:
(1)從左至右,從上到下對圖像進(jìn)行搜索,尋找灰度值為255且沒有標(biāo)記過的像素點(diǎn),標(biāo)記該像素點(diǎn)為a,記錄其坐標(biāo)值;
(2)在像素點(diǎn)a附近按八個(gè)方向進(jìn)行搜索,尋找灰度值為255且沒有標(biāo)記過的像素點(diǎn),將該像素送入堆棧;所述八個(gè)方向包含上、下、左、右、左斜上、左斜下、右斜上、右斜下。
(3)搜索像素點(diǎn)a的八個(gè)方向結(jié)束后,取出棧頂?shù)南袼攸c(diǎn),重復(fù)步驟(1)、(2)直至無法搜索到?jīng)]有標(biāo)記的像素點(diǎn)為止;
(4)完成上述過程后,統(tǒng)計(jì)標(biāo)記的像素點(diǎn)并與設(shè)定的像素閾值1000相比較,如果大于該閾值,則檢測到運(yùn)動(dòng)目標(biāo);
(5)區(qū)域標(biāo)記完成后,對整個(gè)圖像從左到右,從上到下進(jìn)行一次掃描,找出每個(gè)區(qū)域中橫縱坐標(biāo)的最大值和最小值,構(gòu)建出運(yùn)動(dòng)目標(biāo)最小外接矩形。