基于集群及h264的視頻濃縮算法的海量視頻摘要生成方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于海量視頻數(shù)據(jù)濃縮技術(shù)領(lǐng)域,特別是一種基于集群及H264的視頻濃 縮算法的海量視頻摘要生成方法。
【背景技術(shù)】
[0002] 眾所周知,視頻監(jiān)控系統(tǒng)正滲入到社會(huì)的各種場(chǎng)合之中,并在許多行業(yè)如安防、交 通、工業(yè)生產(chǎn)等環(huán)境下發(fā)揮著越來越重要的作用;隨著監(jiān)控?cái)z像頭的數(shù)量快速地增長(zhǎng),每天 海量的視頻數(shù)據(jù)也隨之產(chǎn)生,目前大多是以人工方式瀏覽這些視頻,并提取其中有意義的 信息。
[0003] -方面,視頻越多,所需要的人員也越多;另一方面,人工處理效率也會(huì)因?yàn)樵絹?越多的數(shù)據(jù)變得低下,處理結(jié)果難免有所遺漏或出現(xiàn)差錯(cuò);然而,其處理成本相當(dāng)可觀;視 頻摘要技術(shù)應(yīng)運(yùn)而生,其能夠自動(dòng)地保留有意義視頻數(shù)據(jù),舍去無用信息,這樣人工只需瀏 覽有意義的數(shù)據(jù),成本得到有效降低。
[0004] 視頻摘要又稱視頻濃縮,該技術(shù)的處理過程通常是:首先通過背景建模,獲取前景 物體;隨后使用跟蹤算法,保存運(yùn)動(dòng)軌跡;最后將物體的軌跡按照某種方式組合,并復(fù)制到 背景圖像中,形成濃縮視頻;然而,現(xiàn)有的視頻濃縮技術(shù)濃縮后的視頻長(zhǎng)度一般遠(yuǎn)小于原視 頻,如果有一段時(shí)長(zhǎng)為10小時(shí)的高清視頻,通常的背景建模算法,如GMM,其運(yùn)行速度約等 于實(shí)時(shí)播放速度,倘若要瀏覽整個(gè)濃縮后的視頻,同樣要消耗10小時(shí),效率卻沒有大幅提 升。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題是,克服現(xiàn)有技術(shù)的缺點(diǎn),提供一種基于集群及H264 的視頻濃縮算法的海量視頻摘要生成方法。
[0006] 為了解決以上技術(shù)問題,本發(fā)明提供一種基于集群及H264的視頻濃縮算法的海 量視頻摘要生成方法,包括如下步驟:
[0007] ①選取原始視頻,并對(duì)其進(jìn)行切割,得到η個(gè)長(zhǎng)度近似相等的片段,編碼格式為 Η264,其中η為自然數(shù);
[0008] ②對(duì)切割后的各片段進(jìn)行視頻解碼,根據(jù)運(yùn)動(dòng)估計(jì)以及背景圖來獲取前景目標(biāo), 并通過基于稀疏光流的誤報(bào)刪除及漏檢修復(fù)算法,對(duì)各片段的檢測(cè)率進(jìn)行完善,并更新背 景圖;
[0009] ③將單個(gè)包含運(yùn)動(dòng)信息的片段視作濃縮單元,進(jìn)行壓縮,壓縮完成后進(jìn)行拼接,生 成一段完整的視頻摘要。
[0010] 本發(fā)明進(jìn)一步限定的技術(shù)方案是:
[0011] 進(jìn)一步的,前述的基于集群及Η264的視頻濃縮算法的海量視頻摘要生成方法,所 述η個(gè)長(zhǎng)度近似相等的片段為并行的進(jìn)行步驟②及步驟③中的濃縮操作,相互獨(dú)立。
[0012] 前述的基于集群及H264的視頻濃縮算法的海量視頻摘要生成方法,所述步驟① 具體包括如下處理:
[0013] 假設(shè)原始視頻第i幀為用戶設(shè)定的視頻切割點(diǎn),定義幀范圍Fe[ikXf i+kxf],k為迭代次數(shù),f為常數(shù),在此范圍內(nèi)查找圖像j,使得第j幀內(nèi)無前景目標(biāo),且Ii jI為最小;
[0014] 在范圍[ikXfi+kXf]內(nèi)找到連續(xù)m幀的運(yùn)動(dòng)估計(jì)的數(shù)值若小于閾值Tmv,則認(rèn) 為無前景目標(biāo),如果這m幀圖像皆為背景圖,這樣獲得了一幅背景圖,若F中無背景圖,k= k+1,轉(zhuǎn)到步驟①;若第j幀為背景圖(je[ikXfi+kXf]),計(jì)算|ij|并且使|ij|最 小,則j為視頻的切割點(diǎn),退出循環(huán);
[0015] 所述步驟②具體包括如下處理:
[0016] 若運(yùn)動(dòng)估計(jì)數(shù)值小于閾值Tmv,則認(rèn)為無前景目標(biāo),如果連續(xù)多幀無前景目標(biāo),這 樣獲得了一幅背景圖;對(duì)于P幀或B幀,首先判斷當(dāng)前幀中的運(yùn)動(dòng)估計(jì)是否大于閾值Tmv, 若大于Tmv,則將當(dāng)前圖像及背景圖兩者灰度化并對(duì)應(yīng)像素相減,相減后的絕對(duì)值若大于某 閾值Tdiff則賦為255,否則賦為0,這樣就得到一幅二值圖像Μ;若運(yùn)動(dòng)估計(jì)小于Tmv,則不 作任何處理,進(jìn)入到下一幀繼續(xù)計(jì)算;對(duì)于I幀,以同樣的方法計(jì)算當(dāng)前圖像與背景圖的差 異值M;
[0017] 去除噪聲及目標(biāo)提取,首先將二值圖像Μ作閉運(yùn)算,隨后提取每個(gè)物體最外層的 輪廓,用外接矩形表示其大小及位置;若矩形的長(zhǎng)、寬都大于閾值Tlen,則認(rèn)為是一個(gè)前景 目標(biāo),否則被視為噪聲;
[0018] 目標(biāo)跟蹤,計(jì)算當(dāng)前幀每個(gè)目標(biāo)與下一幀每個(gè)目標(biāo)兩兩之間的矩形重合度,若某 目標(biāo)與下一幀的最大重合度大于閾值Toverlap,則認(rèn)為這兩個(gè)矩形是同一個(gè)目標(biāo),跟蹤成 功;若跟蹤失敗,且物體已運(yùn)動(dòng)到圖像邊界附近,則物體在下一幀已移出視野(或感興趣區(qū) 域),無需跟蹤;
[0019] 去除誤報(bào)及修復(fù)漏檢,若某目標(biāo)在下一幀未跟蹤成功,則認(rèn)為發(fā)生了漏檢;對(duì)于漏 檢,首先計(jì)算矩形內(nèi)的harriS角點(diǎn),若某harriS角點(diǎn)在二值圖Μ中對(duì)應(yīng)的像素為0,則剔除 該角點(diǎn),其次利用光流法對(duì)所有角點(diǎn)進(jìn)行跟蹤,計(jì)算角點(diǎn)在水平及垂直方向的平均位移dx 和dy,將當(dāng)前目標(biāo)在水平和水質(zhì)方向分別平移dx和dy個(gè)像素,作為下一幀的位置;如果某 目標(biāo)連續(xù)多幀發(fā)生了漏檢,且連續(xù)漏檢幀數(shù)大于Tm,則認(rèn)為該目標(biāo)是一個(gè)誤報(bào),將其刪除;
[0020] 背景圖像Bg的更新,在以上處理步驟執(zhí)行之后,確定圖像中哪些區(qū)域?qū)儆谇熬埃?哪些屬于背景,背景更新只針對(duì)那些非目標(biāo)區(qū)域內(nèi)的點(diǎn),具體步驟是,若當(dāng)前幀F(xiàn)cur的某 像素pxl不在任一目標(biāo)矩形內(nèi),則該背景像素被替換為對(duì)應(yīng)坐標(biāo)的Fcur與Bg的均值;保存 檢測(cè)到的前景物體坐標(biāo)、大小、子圖像以及運(yùn)動(dòng)片段信息;
[0021] 所述步驟③的包括如下具體處理:
[0022] (1)基于H264的背景建模,保存檢測(cè)到的前景物體坐標(biāo)、大小、子圖像以及運(yùn)動(dòng)片 段的起始幀、結(jié)束幀等信息;若內(nèi)存中片段數(shù)目累計(jì)到Tsec或者已到達(dá)視頻最后一幀且片 段數(shù)大于1,則轉(zhuǎn)到步驟(2);若到達(dá)最后一幀且片段數(shù)為0,則退出程序;
[0023] (2)將第一個(gè)片段加入到集合A并將該片段第一幀內(nèi)所有目標(biāo)圖像復(fù)制到背景 圖;
[0024](3)依次判斷剩余的片段與集合A中的片段在物體平均、最大重合度兩方面是否 滿足用戶設(shè)定的值,若滿足,則把該片段加入集合A;
[0025] (4)將集合A中所有片段對(duì)應(yīng)幀號(hào)內(nèi)的目標(biāo)圖像復(fù)制到背景圖;若某個(gè)片段已復(fù) 制完最后一幀,將其從集合A中刪除;若集合A中所有片段都已復(fù)制完且無剩余片段,轉(zhuǎn)到 步驟(1),否則進(jìn)入下一幀,轉(zhuǎn)到步驟(3)。
[0026] 本發(fā)明的有益效果是:
[0027] 1.本發(fā)明所設(shè)計(jì)的基于集群及H264的視頻濃縮算法的海量視頻摘要生成方法利 用并行處理的方式,大幅提高了視頻濃縮的效率;
[0028] 2.本發(fā)明所設(shè)計(jì)的基于集群及H264的視頻濃縮算法的海量視頻摘要生成方法能 夠解決由漏檢、物體粘連引起的兩類屏幕閃爍問題。
【附圖說明】
[0029] 圖1為本發(fā)明中基于集群的視頻摘要生成方法的總流程圖;
[0030] 圖2為本發(fā)明中基于集群的視頻摘要生成方法的詳細(xì)流程圖;
[0031] 圖3為本發(fā)明中基于集群的視頻摘要生成方法的硬件裝置示意圖;
[0032] 圖4為本發(fā)明中基于集群的視頻摘要生成方法的運(yùn)動(dòng)片段濃縮示意圖;
[0033] 圖5為本發(fā)明中濃縮總時(shí)間與并行處理的進(jìn)程數(shù)目之間的變化關(guān)系圖。
【具體實(shí)施方式】
[0034] 如圖1-圖4所示,本實(shí)施例提供的一種基于集群及H264的視頻濃縮算法的海量 視頻摘要生成方法,包括如下步驟:
[0035] ①選取原始視頻,并對(duì)其進(jìn)行切割,得到η個(gè)長(zhǎng)度近似相等的片段,編碼格式為 Η264,其中η為自然數(shù);
[0036] ②對(duì)切割后的各片段進(jìn)行視頻解碼,根據(jù)運(yùn)動(dòng)估計(jì)以及背景圖來獲取前景目標(biāo), 并通過基于稀疏光流的誤報(bào)刪除及漏檢修復(fù)算法,對(duì)各片段的檢測(cè)率進(jìn)行完善,并更新背 景圖;
[0037] ③將單個(gè)包含運(yùn)動(dòng)信息的片段視作濃縮單元,進(jìn)行壓縮,壓縮完成后進(jìn)行拼接,生 成一段完整的視頻摘要;所述η個(gè)長(zhǎng)度近似相等的片段為并行的進(jìn)行步驟②及步驟③中的 濃縮操作,相互獨(dú)立。
[0038] 所述步驟①具體包括如下處理:
[0039] 假設(shè)原始視頻第i幀為用戶設(shè)定的視頻切割點(diǎn),定義幀范圍Fe[ikXf i+kXf],k為迭代次數(shù),f為常數(shù),在此范圍內(nèi)查找圖像j,使得第j幀內(nèi)無前景目標(biāo),且Ii jI為最小;
[0040] 在范圍[ikXfi+kXf]內(nèi)找到連續(xù)m幀的運(yùn)動(dòng)估計(jì)的數(shù)值若小于閾值Tmv,則認(rèn) 為無前景目標(biāo),如果這m幀圖像皆為背景圖,這樣獲得了一幅背景圖,若F中無背景圖,k= k+1,轉(zhuǎn)到步驟①;若第j幀為背景圖(je[ikXfi+kXf]),計(jì)算|ij|并且使|ij|最 小,則j為視頻的切割點(diǎn),退出循環(huán);
[0041] 所述步驟②具體包括如下處理:
[0042] 若運(yùn)動(dòng)估計(jì)數(shù)值小于閾值Tmv,則認(rèn)為無前景目標(biāo),如果連續(xù)多幀無前景目標(biāo),這 樣獲得了一幅背景圖;對(duì)于P幀或B幀,首先判斷當(dāng)前幀中的運(yùn)動(dòng)估計(jì)是否大于閾值Tmv, 若大于T