基于codebook背景建模的行人檢測方法
【專利摘要】本發明公開了一種能夠有效快速的檢測出視頻中的行人、對光照突變具有很好的魯棒性的基于codebook背景建模的行人檢測方法。該基于codebook背景建模的行人檢測方法是在codebook背景建模算法的基礎上,引入行人分類器,使其具有檢測視頻圖像中行人的能力,加速了傳統行人分類器通過遍歷全圖檢測行人的過程,針對codebook背景建模算法不能處理光照突然改變的情況,結合行人檢測的特征,構建臨時塊模型,將行人分類器融入到背景更新環節中,能夠有效快速的檢測出視頻中的行人,對光照突變具有很好的魯棒性,在實際場景中能取得較好的檢測的效果,同時該方法不需要額外的傳感器,對于人少且背景較穩定的監控場景加速明顯,實時性較好。適合在輸電線路巡檢技術領域推廣應用。
【專利說明】
基于codebook背景建模的行人檢測方法
技術領域
[0001 ]本發明涉及輸電線路巡檢技術領域,尤其是一種基于codebook背景建模的行人檢 測方法。
【背景技術】
[0002] 行人檢測在視頻監控領域有著廣闊的應用前景,通過對監控視頻中檢測出的行人 進行分析,能滿足許多應用場合的需求,如家庭安防、智能輔助駕駛、智能機器人等。可將當 前行人檢測的方法大概可分為兩類:基于背景建模的方法和基于統計學習的方法。
[0003] 目前基于統計學習進行行人檢測的方法基本上是基于Navneet Dalai,Bill Triggs等提出的H0G + SVM的方法,通過計算圖像的H0G(Histograms of Oriented Gradient)特征,并送入線性SVM訓練分類器,依靠滑動窗口的方式檢測圖像中的行人,在原 始的MIT行人數據庫取得了很好的效果,但由于需要在大量的滑動窗口中計算局部特征,因 此基于滑動窗進行分類檢測的算法實時性大都不好,很難達到實用的要求;Subhransu Maji,Alexander C.Berg等人針對線性SVM分類準確率不高的問題,在保證不提高算法的計 算復雜度的前提下,提出使用交叉核等非線性核來訓練分類器,大大提高了檢測性能; Ming-Ming Cheng等通過訓練傳統的顯著性檢測方法為待檢測目標提供候選區域,減小滑 動窗口的數量,大大加速了傳統上依靠滑動窗進行檢測的算法,達到300fps。
[0004] 背景建模方法能通過提取場景中運動目標,減少分類器搜索的范圍,提高基于滑 動窗進行檢測的統計學習方法的速度。常見的背景建模方法有混和高斯模型,核密度估計 和碼本模型等。
[0005] Kyungnam Kim等在〈〈Real-time foreground-background segmentation using codebook model》中提出使用碼本模型,通過將背景信息壓縮成碼本來對背景建模,提取運 動前景目標,但該算法不能很好的應對光照突變的影響,比如,在開門關門的時候由于光線 的變化,背景建模方法很容易將光線變化的區域檢測為行人,很容易造成誤檢。2005年 Navneet Dalai,Bill Triggs 等在《Hi stograms of Oriented Gradients for Human Detection》中提出使用方向梯度直方圖(HOG)特征,送入支撐向量機(SVM)訓練行人分類 器,并構建檢測器檢測圖像中的行人,但實時性差,不能滿足應用的需求,該算法主要的計 算瓶頸之一在于全圖遍歷尋找存在行人的候選區域。
【發明內容】
[0006] 本發明所要解決的技術問題是提供一種能夠有效快速的檢測出視頻中的行人,對 光照突變具有很好的魯棒性的基于codebook背景建模的行人檢測方法。
[0007] 本發明解決其技術問題所采用的技術方案為:該基于codebook背景建模的行人檢 測方法,包括以下步驟:
[0008] A、利用視頻圖像中的第1至n幀的先驗知識構建碼本背景模型,同時從視頻圖像中 獲取能反映監控場景的行人正負樣本,并將獲取的能反映監控場景的行人正負樣本送入 SVM分類器訓練行人分類器,構建出行人檢測器;
[0009] B、利用碼本背景模型對視頻圖像中的第n+1幀進行處理,分割出背景區域al和前 景區域bl,將分割出的前景區域bl利用行人檢測器是否存在行人,若檢測結果為存在行人, 輸出檢測結果;若檢測結果為不存在行人,則前景區域bl為非行人前景區域cl,將所有的非 行人前景區域cl構建成臨時塊模型;
[0010] C、利用碼本背景模型對視頻圖像中的第n+2幀進行處理,分割出背景區域a2和前 景區域b2,將分割出的前景區域b2利用行人檢測器是否存在行人,若檢測結果為存在行人, 輸出檢測結果,若檢測結果為不存在行人,則前景區域b2為非行人前景區域c2,接著分別確 定每一個非行人前景區域 c2與臨時塊模型中的非行人前景區域cl的位置關系;若非行人前 景區域c2與臨時塊模型中的其中一個非行人前景區域cl存在包含關系,舍棄該非行人前景 區域c2,同時將臨時塊模型中與該非行人前景區域c2存在包含關系的非行人前景區域cl定 義為重復訪問;若該非行人前景區域c2與臨時塊模型中的任何一個非行人前景區域cl都存 在相離或相交的關系,則將該非行人前景區域c2更新到臨時塊模型中成為一個新的非行人 前景區域cl;
[0011] D、利用碼本背景模型依次對視頻圖像中的第n+i至n+m幀進行處理,所述 分割出背景區域ai和前景區域bi,將分割出的前景區域bi利用行人檢測器是否存在行人, 若檢測結果為存在行人,輸出檢測結果,若檢測結果為不存在行人,則前景區域bi為非行人 前景區域ci,接著分別確定每一個非行人前景區域ci與上一次更新的臨時塊模型中的非行 人前景區域cl的位置關系;若該非行人前景區域ci與上一次更新的臨時塊模型中的其中一 個非行人前景區域cl存在包含關系,舍棄該非行人前景區域ci,同時將臨時塊模型中與該 非行人前景區域ci存在包含關系的非行人前景區域cl定義為重復訪問;若該非行人前景區 域ci與上一次更新的臨時塊模型中的任何一個非行人前景區域cl都存在相離或相交的關 系,則將該非行人前景區域ci更新到臨時塊模型中成為一個新的非行人前景區域cl;
[0012] E、當利用碼本背景模型對視頻圖像中的第m幀處理后,對臨時塊模型進行歸零處 理,即將臨時塊模型中被定義為重復訪問的非行人前景區域cl更新到碼本背景模型中,同 時將其它非行人前景區域cl舍棄;
[0013] F、重復步驟B至步驟E,利用更新后的碼本背景模型對視頻圖像中的第n+m+1幀至 第n+km幀進行處理,所述k為大于2的任意整數。
[0014]進一步的是,所述步驟C中,采用如下方法判斷非行人前景區域c2與非行人前景區 域cl的位置關系:首先,所述臨時塊模型中的每一個非行人前景區域cl用一個矩形框rl = (xl,yl,wl,hl)表示,矩形框rl的重心〇1 = (xl+wl/2,yl+hl/2),非行人前景區域c2用一個 矩形框"=&2,72,¥2,112)表示,矩形框"的重心〇2=(12+¥2/2,72+112/2),〇1和〇2間的水 平距離dx和垂直距離dy:dx= | x2_xl+(w2_wl)/2 |,dy= | y2-yl+(h2_hl)/2 |,通過如下關系 式判斷非行人前景區域c2與非行人前景區域cl的位置關系,所述關系式為,
[0016]本發明的有益效果:該基于codebook背景建模的行人檢測方法是在codebook背景 建模算法的基礎上,引入行人分類器,使其具有檢測視頻圖像中行人的能力,加速了傳統行 人分類器通過遍歷全圖檢測行人的過程,針對codebook背景建模算法不能處理光照突然改 變的情況,結合行人檢測的特征,構建臨時塊模型,將行人分類器融入到背景更新環節中, 能夠有效快速的檢測出視頻中的行人,對光照突變具有很好的魯棒性,在實際場景中能取 得較好的檢測的效果,同時該方法不需要額外的傳感器,對于人少且背景較穩定的監控場 景加速明顯,實時性較好。
【附圖說明】
[0017]圖1表示非行人前景區域c2與非行人前景區域cl相交;
[0018] 圖2表示非行人前景區域c2與非行人前景區域cl相離;
[0019] 圖3表示非行人前景區域c2與非行人前景區域cl包含
[0020] 圖4表示測試視頻圖像序列中的其中四幀圖像;
[0021 ]圖5為通過codebook背景建模算法分割的前景區域;
[0022] 圖6為利用行人檢測器對分割出的前景區域檢測的結果;
[0023] 圖7為對未檢測到行人的前景區域的自我更新過程。
【具體實施方式】
[0024]本發明所述的基于codebook背景建模的行人檢測方法,包括以下步驟:
[0025]該基于codebook背景建模的行人檢測方法,包括以下步驟:
[0026] A、利用視頻圖像中的第1至n幀的先驗知識構建碼本背景模型,同時從視頻圖像中 獲取能反映監控場景的行人正負樣本,并將獲取的能反映監控場景的行人正負樣本送入 SVM分類器訓練行人分類器,構建出行人檢測器;
[0027] B、利用碼本背景模型對視頻圖像中的第n+1幀進行處理,分割出背景區域al和前 景區域bl,將分割出的前景區域bl利用行人檢測器是否存在行人,若檢測結果為存在行人, 輸出檢測結果;若檢測結果為不存在行人,則前景區域bl為非行人前景區域cl,將所有的非 行人前景區域cl構建成臨時塊模型;
[0028] C、利用碼本背景模型對視頻圖像中的第n+2幀進行處理,分割出背景區域a2和前 景區域b2,將分割出的前景區域b2利用行人檢測器是否存在行人,若檢測結果為存在行人, 輸出檢測結果,若檢測結果為不存在行人,則前景區域b2為非行人前景區域c2,接著分別確 定每一個非行人前景區域 c2與臨時塊模型中的非行人前景區域cl的位置關系;若非行人前 景區域c2與臨時塊模型中的其中一個非行人前景區域cl存在包含關系,舍棄該非行人前景 區域c2,同時將臨時塊模型中與該非行人前景區域c2存在包含關系的非行人前景區域cl定 義為重復訪問;若該非行人前景區域c2與臨時塊模型中的任何一個非行人前景區域cl都存 在相離或相交的關系,則將該非行人前景區域c2更新到臨時塊模型中成為一個新的非行人 前景區域cl;
[0029] D、利用碼本背景模型依次對視頻圖像中的第n+i至n+m幀進行處理,所述3彡i彡m, 分割出背景區域ai和前景區域bi,將分割出的前景區域bi利用行人檢測器是否存在行人, 若檢測結果為存在行人,輸出檢測結果,若檢測結果為不存在行人,則前景區域bi為非行人 前景區域Ci,接著分別確定每一個非行人前景區域Ci與上一次更新的臨時塊模型中的非行 人前景區域Cl的位置關系;若該非行人前景區域Ci與上一次更新的臨時塊模型中的其中一 個非行人前景區域cl存在包含關系,舍棄該非行人前景區域ci,同時將臨時塊模型中與該 非行人前景區域Ci存在包含關系的非行人前景區域Cl定義為重復訪問;若該非行人前景區 域ci與上一次更新的臨時塊模型中的任何一個非行人前景區域cl都存在相離或相交的關 系,則將該非行人前景區域Ci更新到臨時塊模型中成為一個新的非行人前景區域Cl;
[0030] E、當利用碼本背景模型對視頻圖像中的第m幀處理后,對臨時塊模型進行歸零處 理,即將臨時塊模型中被定義為重復訪問的非行人前景區域Cl更新到碼本背景模型中,同 時將其它非行人前景區域Cl舍棄;
[0031] F、重復步驟B至步驟E,利用更新后的碼本背景模型對視頻圖像中的第n+m+1幀至 第n+km幀進行處理,所述k為大于2的任意整數。
[0032]該基于codebook背景建模的行人檢測方法是在codebook背景建模算法的基礎上, 引入行人分類器,使其具有檢測視頻圖像中行人的能力,加速了傳統行人分類器通過遍歷 全圖檢測行人的過程,針對codebook背景建模算法不能處理光照突然改變的情況,結合行 人檢測的特征,構建臨時塊模型,將行人分類器融入到背景更新環節中,能夠有效快速的檢 測出視頻中的行人,對光照突變具有很好的魯棒性,在實際場景中能取得較好的檢測的效 果,同時該方法不需要額外的傳感器,對于人少且背景較穩定的監控場景加速明顯,實時性 較好。
[0033] 進一步的是,所述步驟C中,采用如下方法判斷非行人前景區域c2與非行人前景區 域cl的位置關系:首先,所述臨時塊模型中的每一個非行人前景區域cl用一個矩形框rl = (xl,yl,wl,hl)表示,矩形框rl的重心〇1 = (xl+wl/2,yl+hl/2),非行人前景區域c2用一個 矩形框"=&2,72,¥2,112)表示,矩形框"的重心〇2=(12+¥2/2,72+112/2),〇1和〇2間的水 平距離dx和垂直距離dy:dx= | x2_xl+(w2_wl)/2 |,dy= | y2-yl+(h2_hl)/2 |,通過如下關系 式判斷非行人前景區域c2與非行人前景區域cl的位置關系,
[0034] 所述關系式為
[0035] 非行人前景區域c2與非行人前景區域cl的位置關系如圖1至圖3所示,圖1表示非 行人前景區域c2與非行人前景區域cl相交;圖2表示非行人前景區域c2與非行人前景區域 cl相離;圖3表示非行人前景區域c2與非行人前景區域cl包含。
[0036] 在步驟A中,利用視頻圖像中的第1至n幀的先驗知識構建碼本背景模型的方法如 下所述:首先,每一個像素建立碼本巾...,cl},每個碼本由L個碼字組成,在RGB空 間,每一個碼字(^,1 = 1...1,由一個1^8向量^:.=(見5:,5)和一組六元參數 構成。/,,i,表示每個碼字中最小和最大亮度值;^表示這個 碼字被訪問的頻率;最大負運行時間&表示在訓練階段碼字未被重新訪問的最大時間間 隔;Pi,qi分別表示碼字首次和末次被訪問的時間;接著,設置原始碼本巾為空集,包含碼字L 為0,對于時間從t=l到N,Xt=(R,G,B),在每一個像素建立的碼本巾={ci | Ki<L}中尋找 是否有cm與Xt滿足條件
[0037] Colordist(Xt,Vm)^;ei
[0038] Brightness(l"< / ", /H, >) = true
[0039] 如果巾為空或者未找到匹配,碼字個數加一,并按下面的規則初始化一個新的碼 字CL
[0040] Vl=(R,G,B)
[0041] auXL= <1,1,1, t~l, t, t>
[0042] 否則,更新當前匹配的碼字~
[0044] c,uXm =<: mi n ,7, / }, max + 1 - maxAitl, t - </!i:!, pv:, t >
[0045] 對每一個碼字Ci,i = l ? ?丄,循環設置人i=max{M,(N-qi+pi-1)}
[0046] 在訓練階段構建碼本模型結束后,通過設置時間閾值Tu為訓練時間的一半N/2,根 據公式U={cmG (}> AAm<Tu}得到濾除冗余碼本后的碼本背景模型U。
[0047]圖4表示測試視頻圖像序列中的其中四幀圖像,圖5為通過codebook背景建模算法 分割的前景區域,從圖5中可看出光照突然的改變對codebook背景建模算法檢測性能帶來 的影響,;圖6為利用行人檢測器對分割出的前景區域檢測的結果;圖7為對未檢測到行人的 前景區域的自我更新過程,由圖可以看出,當行人打開門后,帶來局部光照的突然改變,該 算法能應對光照突然的改變。
【主權項】
1. 基于codebook背景建模的行人檢測方法,其特征在于包括W下步驟: A、 利用視頻圖像中的第1至n帖的先驗知識構建碼本背景模型,同時從視頻圖像中獲取 能反映監控場景的行人正負樣本,并將獲取的能反映監控場景的行人正負樣本送入SVM分 類器訓練行人分類器,構建出行人檢測器; B、 利用碼本背景模型對視頻圖像中的第n+1帖進行處理,分割出背景區域al和前景區 域bl,將分割出的前景區域bl利用行人檢測器是否存在行人,若檢測結果為存在行人,輸出 檢測結果;若檢測結果為不存在行人,則前景區域bl為非行人前景區域Cl,將所有的非行人 前景區域Cl構建成臨時塊模型; C、 利用碼本背景模型對視頻圖像中的第n+2帖進行處理,分割出背景區域a2和前景區 域b2,將分割出的前景區域b2利用行人檢測器是否存在行人,若檢測結果為存在行人,輸出 檢測結果,若檢測結果為不存在行人,則前景區域b2為非行人前景區域c2,接著分別確定每 一個非行人前景區域c2與臨時塊模型中的非行人前景區域Cl的位置關系;若非行人前景區 域c2與臨時塊模型中的其中一個非行人前景區域Cl存在包含關系,舍棄該非行人前景區域 c2,同時將臨時塊模型中與該非行人前景區域c2存在包含關系的非行人前景區域Cl定義為 重復訪問;若該非行人前景區域c2與臨時塊模型中的任何一個非行人前景區域Cl都存在相 離或相交的關系,則將該非行人前景區域c2更新到臨時塊模型中成為一個新的非行人前景 區域cl; D、 利用碼本背景模型依次對視頻圖像中的第n+i至n+m帖進行處理,所述分割 出背景區域ai和前景區域bi,將分割出的前景區域M利用行人檢測器是否存在行人,若檢 測結果為存在行人,輸出檢測結果,若檢測結果為不存在行人,則前景區域bi為非行人前景 區域Ci,接著分別確定每一個非行人前景區域Ci與上一次更新的臨時塊模型中的非行人前 景區域Cl的位置關系;若該非行人前景區域Ci與上一次更新的臨時塊模型中的其中一個非 行人前景區域Cl存在包含關系,舍棄該非行人前景區域Ci,同時將臨時塊模型中與該非行 人前景區域Ci存在包含關系的非行人前景區域Cl定義為重復訪問;若該非行人前景區域Ci 與上一次更新的臨時塊模型中的任何一個非行人前景區域Cl都存在相離或相交的關系,貝U 將該非行人前景區域Ci更新到臨時塊模型中成為一個新的非行人前景區域Cl; E、 當利用碼本背景模型對視頻圖像中的第m帖處理后,對臨時塊模型進行歸零處理,即 將臨時塊模型中被定義為重復訪問的非行人前景區域Cl更新到碼本背景模型中,同時將其 它非行人前景區域Cl舍棄; F、 重復步驟B至步驟E,利用更新后的碼本背景模型對視頻圖像中的第n+m+1帖至第n+ km帖進行處理,所述k為大于2的任意整數。2. 如權利要求1所述的基于codebook背景建模的行人檢測方法,其特征在于:所述步驟 C中,采用如下方法判斷非行人前景區域c2與非行人前景區域Cl的位置關系:首先,所述臨 時塊模型中的每一個非行人前景區域Cl用一個矩形框^ = ^1,71,*1,111)表示,矩形框^ 的重屯、〇1 = ^1+巧1/2,71+]11/2),非行人前景區域。2用一個矩形框'2=^2,72,巧2,112)表 示,矩形框r2的重屯、〇2=^2+*2/2,72+112/2),〇1和〇2間的水平距離扯和垂直距離(17:(1又= x2-xl + (w2-wl)/2 I,dy= I y2-yl+化2-hl)/2 I,通過如下關系式判斷非行人前景區域c2與非 行人前景區域Cl的位置關系,所述關系式為
【文檔編號】G06K9/00GK105913020SQ201610222003
【公開日】2016年8月31日
【申請日】2016年4月12日
【發明人】張瑜, 李詩揚
【申請人】成都翼比特自動化設備有限公司