基于掃描線聚類的安防視頻道路自動識別算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及安防監(jiān)控視頻處理、模式識別、人工智能和圖像處理領(lǐng)域,具體是基于 掃描線聚類的安防視頻監(jiān)控道路自動識別算法。
【背景技術(shù)】
[0002] 視頻道路識別是視頻圖像處理的一個重要研究領(lǐng)域。在校園或居民住宅小區(qū)中, 由于人口居住密度大,需要對居民生活小區(qū)內(nèi)或校園內(nèi)的道路進(jìn)行監(jiān)控管理,如有亂停車, 聚眾鬧事,交通意外事件應(yīng)能夠及時報警。要實(shí)現(xiàn)居民校區(qū)或校園內(nèi)道路智能視頻監(jiān)控,必 須首先能夠識別監(jiān)控視頻中的道路區(qū)域,并在視頻中道路區(qū)域設(shè)置防區(qū),然后根據(jù)報警類 型進(jìn)行視頻內(nèi)容分析。
[0003] 對校園或居民住宅小區(qū)的安防視頻進(jìn)行道路自動檢測,有助于提高安防監(jiān)控的智 能化。目前關(guān)于道路識別的研究主要集中在以下兩點(diǎn):
[0004] (1)從車載攝像的視頻圖像中識別道路邊緣,用于無人駕駛技術(shù)的道路識別。
[0005] 道路感知是智能車輛中最基本的要求。這種應(yīng)用背景下,攝像機(jī)安裝在車輛前端。 通過對視頻圖像進(jìn)行處理,進(jìn)行道路自動識別。傳統(tǒng)的道路檢測算法包括邊緣檢測、主動輪 廓模型分割、閾值分割或顏色聚類方法等等,由于受到陰影遮擋、噪聲和不連續(xù)道路邊界或 標(biāo)志線的影響,通常基于邊緣檢測、圖像闌值等的方法無法從本質(zhì)上解決上述問題,因此無 法獲得滿意的道路檢測效果。為改進(jìn)智能車輛道路感知效果,研究人員提出了一些改進(jìn)算 法:如基于變形模板和遺傳算法的道路檢測方法;用圖像顏色信息進(jìn)行道路場景聚類,將 道路的先驗知識對分類結(jié)果進(jìn)行后續(xù)處理后,最后用參考區(qū)域法對道路進(jìn)行識別。智能車 輛道路識別問題一個最大的特點(diǎn)為:道路識別過程是在車輛行駛過程中實(shí)時進(jìn)行的,道路 的路面情況是實(shí)時變化的。
[0006] ⑵從遙感圖像中識別城市道路
[0007] 道路在遙感影像呈現(xiàn)獨(dú)特的特征,如光譜特征、形狀特征以及拓?fù)涮卣?,這些特征 使得道路在遙感影像上表現(xiàn)出獨(dú)特的色調(diào)、反差、形狀、紋理等。傳統(tǒng)的道路識別方法大多 基于像素和道路特征,如在模板匹配法、主動輪廓模型、區(qū)域生長等方法,融入道路的拓?fù)洹?紋理、形狀等特征,從遙感圖像中識別城市道路,但這些識別方法需要人工采集算法的種 子點(diǎn),也容易受非道路因素的影響,這使得算法的效果受到影響,應(yīng)用范圍也有一定的局限 性。
[0008] 這兩種道路識別算法的應(yīng)用背景和特點(diǎn),與小區(qū)或校園安防視頻中識別道路區(qū) 域,用于突發(fā)事件的預(yù)警是完全不同的。從攝像頭安裝的位置來看,所獲取的視頻圖像也是 完全不同的,因此,不能直接將上述技術(shù)直接用于本發(fā)明中。為此,本發(fā)明給出了基于掃描 線聚類的安防視頻道路自動檢測算法。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明的目的是克服現(xiàn)有的基于像素閾值、圖像分割等道路識別算法需要手工采 集種子點(diǎn)的不足,提供基于掃描線聚類的安防視頻監(jiān)控道路自動識別算法。
[0010] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
[0011] 基于掃描線聚類的安防視頻道路自動識別算法包括兩個模塊:獲取汽車行駛區(qū)域 和方向模塊和道路區(qū)域自動識別模塊;其中道路區(qū)域自動識別模塊主要是對背景圖做掃描 線聚類處理,各模塊具體說明如下:
[0012] 1.獲取汽車行駛區(qū)域和行駛方向模塊具體操作如下:
[0013] 步驟一.標(biāo)識運(yùn)動目標(biāo):由于校園或居民住宅生活小區(qū)里行人、車輛移動速度不 快,因此選用傳統(tǒng)的背景差算法來進(jìn)行視頻中移動目標(biāo)的有效檢測。
[0014] 步驟二.提取運(yùn)動目標(biāo)邊緣特征:校園或居民住宅生活小區(qū)內(nèi)的移動目標(biāo)包括行 人、車輛等,由于行人的活動區(qū)域比較大,往往超過道路區(qū)域,因此以車輛的活動區(qū)域作為 道路自動檢測的依據(jù),從視頻中提取活動目標(biāo)之后,用現(xiàn)有的小波分析方法對活動目標(biāo)進(jìn) 行邊緣檢測。
[0015] 步驟三.檢查運(yùn)動目標(biāo)邊緣特征是否與車輛邊緣特征匹配:將目標(biāo)的邊緣特征與 數(shù)據(jù)庫中的車輛邊緣特征進(jìn)行相似度計算,若相似度超過預(yù)先給定的閾值,則執(zhí)行步驟四 計算運(yùn)動目標(biāo)的移動速度V。否則,跳轉(zhuǎn)至步驟一標(biāo)識運(yùn)動目標(biāo),重新標(biāo)識新的運(yùn)動目標(biāo)。
[0016] 步驟四.計算運(yùn)動目標(biāo)的移動速度V:校園或居民住宅生活小區(qū)內(nèi)在道路區(qū)域有 可能出現(xiàn)人員搬運(yùn)大型板報或大型家具的情況,大型板報或大型家具的邊緣特征類似于車 輛輪廓。為進(jìn)一步精確提取車輛目標(biāo),需要計算移動目標(biāo)的運(yùn)動速度。
[0017] 假設(shè)目標(biāo)檢測獲得當(dāng)前幀F(xiàn)t中運(yùn)動目標(biāo)的坐標(biāo)為P i (xt,yt),經(jīng)過W時間后第Fi+W 幀中運(yùn)動物體的坐標(biāo)為,此刻的運(yùn)動目標(biāo)的移動速度V根據(jù)相應(yīng)的坐標(biāo)計算 獲得:
[0019] 式中,dist (P1 (xt, yt),)表示 P1, p2兩點(diǎn)間的歐式距離。
[0020] 步驟五.判斷運(yùn)動目標(biāo)的移動速度是否在車輛移動速度預(yù)設(shè)的范圍內(nèi):行人和車 輛的移動速度有明顯的差異,若某運(yùn)動物體的V值大于或等于預(yù)設(shè)的車輛速度值,繼續(xù)執(zhí) 行步驟六。否則,移動目標(biāo)不能確認(rèn)為車輛,跳轉(zhuǎn)至步驟一,重新標(biāo)識新的運(yùn)動目標(biāo)。
[0021] 步驟六.記錄車輛在圖像中的坐標(biāo):標(biāo)識該運(yùn)動目標(biāo)為車輛,記錄車輛在圖像中
[0022] 步驟七.計算車輛的行駛方向:僅考慮監(jiān)控區(qū)域的道路是直線型,車輛在行駛過 程中其方向不會發(fā)生突然變化。根據(jù)車輛目標(biāo)在當(dāng)前幀^中的坐標(biāo)(xt,yt),和經(jīng)過媽時間 后在第€&幀中運(yùn)動的坐標(biāo)CVmlvi),近似計算車輛行駛方向與水平方向的夾角為:
[0024] 步驟八·輸出(xQ,y。)、(X1J1)和 Θ。
[0025] 2.道路區(qū)域自動識別模塊具體操作步驟如下:
[0026] 步驟一.輸入干凈的背景圖G。
[0027] 步驟二.將背景圖G進(jìn)行鏡頭矯正、去噪處理。
[0028] 步驟三.以(X。,y。)為坐標(biāo)原點(diǎn),將背景圖G按(Xl,yi)到水平線的方向旋轉(zhuǎn)Θ度, 得到水平道路的背景圖G'。
[0029] 步驟四.計算背景圖G'的大小尺寸,記圖背景圖G'的總行數(shù)為M,G'的總列數(shù)為 N,即 size (G')= M*N。
[0030] 步驟五·獲取(x。,y。)的灰度值 g。,g。= gray ((x。,y。))。
[0031] 步驟六.設(shè)置掃描線初始值:i = 0。
[0032] 步驟七.i〈M :判斷第i條掃描線還在背景圖G'中,若是,則執(zhí)行步驟八,否則,掃 描完畢,轉(zhuǎn)而執(zhí)行步驟十。
[0033] 步驟八.調(diào)用掃描線聚類算法SCL(s,t,A1, A2):其中參數(shù)s,t為掃描線起點(diǎn) 和終點(diǎn)值,〇,A1,八2為閾值,σ為像素灰度聚類的最小距離,Δ 掃描線上前景線段聚 類的最小長度,A2為掃描線上背景線段聚類的最小長度。
[0034] 步驟九i = i+Ι :準(zhǔn)備處理下一條掃描線。重復(fù)執(zhí)行步驟七-步驟九,直到i彡3M。
[0035] 步驟十輸出道路識別結(jié)果。
[0036] 3.掃描線聚類算法SCL(Scan Line Cluster):在上述道路區(qū)域自動檢測算法模塊 的步驟八中,調(diào)用了掃描線聚類算法SCL,具體執(zhí)行步驟如下:
[0037] 步驟一 j = 0 :開始處理第i條掃描線上的第一個像素點(diǎn)。
[0038] 步驟二獲取第i條掃描線上第j個像素點(diǎn)的灰度值gj,g_j= gray (X ;,xj。
[0039] 步驟三若I (gfg。)|〈 = 〇,說明像素(Xi, Xj)的灰度值與(χ。,y。)的灰度值非常接 近,則執(zhí)行步驟四,否則轉(zhuǎn)而執(zhí)行七。
[0040] 步驟四初始化像素個數(shù)統(tǒng)計變量Ii1 = 1,記錄當(dāng)前像素點(diǎn)的位置p = j。
[0041] 步驟五統(tǒng)計灰度值I (gfg。)|〈=。的像素個數(shù)叫。
[0042] 步驟六若叫〉=Δ i,則標(biāo)記該叫個像素為前景,即置該Ii1個像素點(diǎn)的灰度為1 (流 程圖中的gray (i, pip+r^-l) = 1 ;表示將第i行,第p到p+r^-1列的像素點(diǎn)的灰度值置為 1),否則,標(biāo)記該Ii1個像素為背景,即置該n i個像素點(diǎn)為灰度為0。轉(zhuǎn)而執(zhí)行步驟十。
[0043] 步驟七初始化像素個數(shù)統(tǒng)計變量n2= 1,記錄當(dāng)前像素點(diǎn)的位置p = j。
[0044] 步驟八統(tǒng)計灰度值I (gfg。)|> 〇的像素個數(shù)n2。
[0045] 步驟九若叫〉=A2,則標(biāo)記該n2個像素為背景,即置該1! 2個像素點(diǎn)為灰度為〇,否 則,標(biāo)記該n/H象素為前景,即置該η 2個像素點(diǎn)為灰度為1。
[0046] 步驟十j = j+Ι :準(zhǔn)備處理下一個像素。
[0047] 步驟十一若j〈N,表示還有像素點(diǎn)需要處理,轉(zhuǎn)而執(zhí)行步驟二,否則,表示掃描線處 理完畢,執(zhí)行步驟十二。
[0048] 步驟十二輸出掃描線聚類結(jié)果。
[0049] 本發(fā)明與現(xiàn)有技術(shù)比較的優(yōu)點(diǎn)有:
[0050] 1.在識別汽車行駛區(qū)域的時候,充分考慮了校園道路通行情況復(fù)雜的特點(diǎn),增加 了去除行人搬移大型板報等情況,更有效的檢測出復(fù)雜地域的道路區(qū)域。
[0051] 2.通過獲取車輛行駛區(qū)域的坐標(biāo)點(diǎn),自動確定像素聚類的種子點(diǎn),提高了道路自 動識別的智能程度。
[0052] 3.利用水平掃描線檢測道路,能夠?qū)Φ缆分械乃?,裂紋,對機(jī)動車道路與人行道 路的分界線自動修補(bǔ)和識別,提高道路識別的準(zhǔn)確性。
【附圖說明】
[0053] 圖1是本發(fā)明基于掃描線聚類的安防視頻道路自動識別算法組成示意圖。
[0054] 圖2是本發(fā)明獲取汽車行駛區(qū)域和行駛方向模塊流程圖。
[0055] 圖3是本發(fā)明道路區(qū)域自動識別模塊流程圖。
[0056] 圖4是本發(fā)明掃描線聚類算法SCL(Scan Line Cluster)流程圖。
【具體實(shí)施方式】
[0057] 下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
[0058] 本發(fā)明基于掃描線聚類的安防視頻道路自動識別算法組成如圖1所示,包括兩個 模塊:獲取汽車行駛區(qū)域和方向模塊1 ;道路區(qū)域自動識別模塊2。其中道路區(qū)域自動識別 模塊2主要是對背景圖做掃描線聚類處理。各模塊具體說明如下:
[0059] 1.獲取汽車行駛區(qū)域和行駛方向模塊1,其流程圖見圖2。具體操作如下:
[0060] 步驟一:標(biāo)識運(yùn)動目標(biāo)。由于校園或居民住宅生活小區(qū)里行人、車輛移動速度不 快,因此選用傳統(tǒng)的背景差算法來進(jìn)行視頻中移動目標(biāo)的有效檢測。
[0061] 步驟二:提取運(yùn)動目標(biāo)邊緣特征。校園或居民住宅生活小區(qū)內(nèi)的移動目標(biāo)包括行 人、車輛等,由于行人的活動區(qū)域比較大,往往超過道路區(qū)域,因此以車輛的活動區(qū)域作為 道路自動檢測的主要依據(jù)。從視頻中提取活動目標(biāo)之后,用現(xiàn)有的小波分析方法對活動目 標(biāo)進(jìn)行邊緣檢測。
[0062] 步驟三:檢查運(yùn)動目標(biāo)邊緣特征是否與車輛邊緣特征匹配。將目標(biāo)的邊緣特征與 數(shù)據(jù)庫中的車輛邊緣特征進(jìn)行相似度計算,若相似度超過預(yù)先給定的閾值,則執(zhí)行步驟四 計算運(yùn)動目標(biāo)的移動速度V。否則,跳轉(zhuǎn)至步驟一標(biāo)識運(yùn)動目標(biāo),重新標(biāo)識新的運(yùn)動目標(biāo)。 [006