• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Hadoop的視頻摘要技術(shù)的設(shè)計(jì)

      2017-06-02 15:23馬元元
      中國(guó)新通信 2017年10期

      馬元元

      【摘要】 隨著現(xiàn)代社會(huì)的高速發(fā)展,公共安全面臨著巨大的隱患,相應(yīng)的視頻監(jiān)控也廣布在了城市的各處。傳統(tǒng)的利用人工快進(jìn)和倒退,在海量的視頻摘要中提取有用的圖像和鏡頭不僅耗費(fèi)大量的人力和物力,容錯(cuò)的效率也成為了急于要解決的問題。本文正是基于上述問題,對(duì)Hadoop的視頻摘要技術(shù)的設(shè)計(jì)進(jìn)行研究,并對(duì)如何利用Hadoop集群對(duì)視頻摘要的圖像進(jìn)行高速、準(zhǔn)確提取這一問題進(jìn)行論述。

      【關(guān)鍵詞】 視頻摘要 圖像提取 Hadoop集群技術(shù) 顯著特征檢測(cè)算法

      一、引言

      隨著社會(huì)的快速發(fā)展,我國(guó)社會(huì)的公共安全和網(wǎng)絡(luò)健康問題日益突出態(tài)勢(shì)日趨復(fù)雜和嚴(yán)峻。正因?yàn)槿绱耍曨l摘要技術(shù)對(duì)城市公共場(chǎng)所視頻監(jiān)控的管理和互聯(lián)網(wǎng)海量未知視頻的鑒別承載了十分重要的意義。Hadoop分布式文件系統(tǒng)(HDFS)具有高容錯(cuò)和可伸縮的特點(diǎn),HDFS利用MapReduce引擎使用ffmepg將視頻切割為一幀一幀的圖像,然后將圖像轉(zhuǎn)換為Opencv視覺庫中的Face Recoginizer可識(shí)別的數(shù)據(jù)流。針對(duì)上述的處理需求,采用了SWS_SCALE算法和PCA(principal Componet Analysis) 顯著特征檢測(cè)算法對(duì)視頻摘要進(jìn)行提取,在實(shí)驗(yàn)驗(yàn)證中,取得了較好的效果。

      二、視頻摘要提取技術(shù)介紹

      視頻摘要提取,一般是以自動(dòng)化或者半自動(dòng)的方法,通過對(duì)視頻結(jié)構(gòu)和內(nèi)容的分析,從原始的視頻文件中去除時(shí)空的冗余,提取有價(jià)值的視頻片段,并根據(jù)其特點(diǎn)象征重新排列組合成一段能夠表現(xiàn)視頻內(nèi)容的濃縮視頻錄像。一般而言,視頻摘要主要分為靜態(tài)視頻摘要和動(dòng)態(tài)的視頻摘要兩種。

      靜態(tài)視頻摘要也稱為視頻的概述,指從原始視頻數(shù)據(jù)集合中抽取靜態(tài)語義單元片段,諸如標(biāo)題語義、關(guān)鍵幀、矢量圖像等等視頻鏡頭語義的特征信息。目前,靜態(tài)視頻摘要的提取技術(shù)主要基于關(guān)鍵幀相似切割拼湊算法來實(shí)現(xiàn),允許對(duì)原始視頻數(shù)據(jù)快速檢索和快速瀏覽。關(guān)鍵幀提取技術(shù)主要根據(jù)顏色對(duì)比、紋理特征和運(yùn)動(dòng)元素等視覺差異特征元素切割圖像,并最終合成一組視頻的短片。這種差異特征元素算法主要是依賴于閥值的選擇區(qū)間,并且選擇區(qū)間是根據(jù)相鄰幀之間對(duì)比計(jì)算閥值f(n),這樣不僅耗費(fèi)大量的時(shí)間頻度T(n),也增加了問題的規(guī)模(n),即當(dāng)n趨近于無窮大時(shí),T(n)/f(n)的極限值為不等于0的常數(shù),稱f(n)是T(n)的同數(shù)量級(jí)數(shù),記作T(n)=O(f(n)),稱O(f(n))為計(jì)算的時(shí)間復(fù)雜度。

      動(dòng)態(tài)視頻摘要提取又稱動(dòng)態(tài)視頻濃縮,一般分為影視視頻剪輯、專題視頻剪輯、一般視頻剪輯三種。影視視頻剪輯主要用于電影電視行業(yè),是對(duì)原始數(shù)據(jù)進(jìn)行目的性、連貫性的剪輯和處理,專題視頻主要用于特定內(nèi)容的專題報(bào)道。一般視頻剪輯采用通用的濃縮方法進(jìn)行摘要提取。

      動(dòng)態(tài)視頻濃縮是在原始視頻基礎(chǔ)上,先進(jìn)行特定場(chǎng)景建模,然后對(duì)原始視頻進(jìn)行片段剪輯和目標(biāo)摘要提取,進(jìn)行靜態(tài)圖像排版、密集片段幀的插入,并配合背景模型植入。在原始視頻數(shù)據(jù)的提取中,因?yàn)閿?shù)據(jù)量相對(duì)特定,目標(biāo)對(duì)象相對(duì)連續(xù),在多軌道的剪輯中根據(jù)故事的主線不會(huì)丟失隱形的信息,來實(shí)現(xiàn)提取的視頻摘要無痕融合。

      三、基于 Hadoop的視頻摘要提取的關(guān)鍵技術(shù)

      Hadoop是一系列開源產(chǎn)品的組合,不僅可以對(duì)海量數(shù)據(jù)進(jìn)行處理,也可以對(duì)多樣化類型的數(shù)據(jù)進(jìn)行處理和分析。Hadoop實(shí)現(xiàn)了一個(gè)高容錯(cuò)的分布式文件系統(tǒng)(Hadoop Distributed File System),簡(jiǎn)稱為HDFS,并且HDFS 和MapReduce組成了Hadoop的核心。因?yàn)樵紨?shù)據(jù)本身就是一個(gè)視頻大文件,所以我們利用HDFS大數(shù)據(jù)分布式的特點(diǎn)進(jìn)行讀取和小規(guī)模的隨機(jī)讀取,HDFS原則上可以存儲(chǔ)任何類型的數(shù)據(jù),所以視頻數(shù)據(jù)可以不加任何處理的上傳到HDFS上。使用MapReduce對(duì)視頻數(shù)據(jù)進(jìn)行分析后,根據(jù)設(shè)定的Block大小分割成64M或者128M大小的數(shù)據(jù)塊,分布式的存儲(chǔ)于集群的DataNode上,NameNode通過維護(hù)文件系統(tǒng)的元數(shù)據(jù)對(duì)文件進(jìn)行管理,而面向user的是一個(gè)完整連續(xù)的文件,隱藏了分割細(xì)節(jié)。我們利用Hadoop對(duì)視頻摘要的提取并不能直接進(jìn)行,因?yàn)榉指畲鎯?chǔ)后幀不完整(即有可能缺少關(guān)鍵幀或者缺少頭數(shù)據(jù))。所以我們按照Block起止位置進(jìn)行定義,數(shù)據(jù)大小同Block大小相當(dāng),向前讀取,丟棄第一個(gè)關(guān)鍵幀之前的數(shù)據(jù),確定Split的真正起始幀位置,Split的終止幀位置設(shè)定在Block結(jié)束字節(jié)位置附近,定義在結(jié)束字節(jié)位置之后的第一個(gè)幀。在此基礎(chǔ)上也用到ffmpeg分布式解碼庫,將原始視頻轉(zhuǎn)化為數(shù)據(jù)流,然后再使用MapReduce進(jìn)行映射。

      3.1 MapReduce

      對(duì)于原始的視頻數(shù)據(jù)層疊到Hadoop分布式文件系統(tǒng)(HDFS)進(jìn)行存儲(chǔ),對(duì)較小的視頻文件進(jìn)行合并處理或者HBase存儲(chǔ)圖像,MapReduce是一種通用執(zhí)行驅(qū)動(dòng)引擎,可以對(duì)存儲(chǔ)的視頻文件進(jìn)行分析,也可以通過HBase生成的HFile進(jìn)行并行化、分布式處理。

      MapReduce是一種云計(jì)算的核心計(jì)算模式,在處理海量的原始視頻時(shí),通過ffmpeg對(duì)原始視頻進(jìn)行解碼,MapReduce模式的主要思想是把分割要執(zhí)行的圖像拆解成map(映射)和reduce(簡(jiǎn)化),流程圖如下所示:

      MapReduce指定一個(gè)Map 函數(shù),把鍵值對(duì)(key/value)映射成新的鍵值對(duì)(key/value),形成一系列中間結(jié)果形式的key/value 對(duì),然后把它們傳給Reduce(規(guī)約)函數(shù),把具有相同中間形式key 的value 合并在一起。Map 和Reduce 函數(shù)具有一定的關(guān)聯(lián)性。

      3.2 OpenCV庫中的GrabCut切割算法和Eigen Recognition圖像識(shí)別算法

      OpenCV是計(jì)算機(jī)視覺開源軟件庫。提供的視覺處理算法豐富不需要添加新的外部支持也可以完整的編譯鏈接生成執(zhí)行程序,實(shí)現(xiàn)背景估計(jì)和前景或后景分離。按照對(duì)目標(biāo)物體的輸入條件,把對(duì)原始視頻切割的圖像進(jìn)行拼接,展示目標(biāo)或者過程,生成視頻摘要,保留用戶對(duì)原始視頻需要的活動(dòng)細(xì)節(jié),做到對(duì)視頻的濃縮,并且可以保留目標(biāo)片段在原始視頻中出現(xiàn)的時(shí)空順序和位置,并對(duì)無目標(biāo)出現(xiàn)或者無運(yùn)動(dòng)的時(shí)間區(qū)域幀進(jìn)行壓縮。在對(duì)視頻摘要的提取過程中主要運(yùn)用到了OpenCV庫中的GrabCut切割算法和Eigen Recognition圖像識(shí)別算法。

      Grabcut算法基本思想是:在視頻每一個(gè)關(guān)鍵幀的圖像上畫一個(gè)方框,grabCut默認(rèn)方框內(nèi)為前景,設(shè)置掩碼為2,方框外部都是背景,設(shè)置掩碼為0。在根據(jù)算法將方框內(nèi)不檢查出來的背景位置掩碼由2改0。最后警告算法處理,方框中掩碼依然為2,即前景,其他為背景。算法函數(shù)如下:

      void grabCut(InputArray img, InputOutputArray mask, Rect rect,

      InputOutputArray bgdModel, InputOutputArray fgdModel, int iterCount,

      int mode=GC_EVAL )

      // img:待分割的源圖像,必須是8位3通道(CV_8UC3)圖像,在處理的過程中不會(huì)被修改;

      // mask:掩碼圖像,大小和原圖像一致。可以有如下幾種取值:GC_BGD(=0),背景; GC_FGD(=1),前景;GC_PR_BGD(=2),可能的 GC_PR_FGD(=3),可能的前景。

      // rect:用于限定需要進(jìn)行分割的圖像范圍,只有該矩形窗口內(nèi)的圖像部分才被處理;

      // bgdModel:背景模型,如果為null,函數(shù)內(nèi)部會(huì)自動(dòng)創(chuàng)建一個(gè) bgdModel;

      // fgdModel:前景模型,如果為null,函數(shù)內(nèi)部會(huì)自動(dòng)創(chuàng)建一個(gè)fgdModel;

      // iterCount:迭代次數(shù),必須大于0;

      // mode:用于指示grabCut函數(shù)進(jìn)行什么操作??梢杂腥缦聨追N選擇:

      GC_INIT_WITH_RECT(=0),用矩形窗初始化GrabCut;

      GC_INIT_WITH_MASK(=1),用掩碼圖像初始化GrabCut;

      GC_EVAL(=2),執(zhí)行分割。

      Eigen Recognition圖像識(shí)別算法是基于集合特征生物臉識(shí)別:標(biāo)記點(diǎn)(眼睛、耳朵、鼻子等的位置)構(gòu)造一個(gè)特征向量(點(diǎn)與點(diǎn)之間的距離、角度等)。通過計(jì)算特征向量的歐氏距離來進(jìn)行識(shí)別,這種方法對(duì)光的變化也是很穩(wěn)健的。對(duì)特征提取的方法有蓋伯小波(Gabor Waelets),離散傅立葉變換(DCT),局部二值模式(LBP)。圖像表示的高維問題,二維灰度圖像x*y大小是一個(gè)ɑ=xy維的向量空間,所以一個(gè)100×100px圖像就是10,000維的圖像空間。我們可以通過主成分分析(PCA)一個(gè)高維數(shù)據(jù)集被相關(guān)變量表示,相關(guān)的變量轉(zhuǎn)換成一個(gè)最大方差的向量,被稱為主成分。

      算法描述:

      X={x1,x2,…,xn}表示一個(gè)隨機(jī)特征,其中xi∈Rd

      1.計(jì)算均值向量μ

      3.計(jì)算特征值λi和對(duì)應(yīng)的特征向量vi

      Svi=λivi,i= 1,2,…,n

      4.對(duì)特征值進(jìn)行遞減排序,特征向量和它順序一致。K個(gè)主成分就是k個(gè)最大的特征值對(duì)應(yīng)的特征向量。

      X的K個(gè)主成分:y=W T(x-μ)

      其中:W=(v1,v2,…,vk)

      PCA的基重構(gòu):x=Wy+μ

      其中:W=(v1,v2,…,vk)

      如上所述,會(huì)出現(xiàn)一個(gè)問題,比如說我們有400個(gè)切割的矢量圖,每張100×100px,那么PCA需要解決協(xié)方差矩陣S=XXT,而X的大小10000*400,得到的大小矩陣是10000×1000,這大概需要800m的內(nèi)存。正因?yàn)槿绱宋覀儽仨毰浜鲜褂胔adoop的HDFS層疊分布式存儲(chǔ)技術(shù),才能有效解決大數(shù)據(jù)量的內(nèi)存需求。

      總結(jié):基于Hadoop對(duì)視頻摘要技術(shù)的實(shí)現(xiàn),不僅解決了海量的原始視頻存儲(chǔ)問題,也高效的、準(zhǔn)確的提高了對(duì)公共安全和網(wǎng)絡(luò)視頻鑒別的困難。通過MapReduce快速高效的處理和分析能夠?qū)崟r(shí)查看分析過程中的快照輸出,能夠支持高并發(fā)、密集型的場(chǎng)景,提高圖像處理速度和質(zhì)量。

      參 考 文 獻(xiàn)

      [1]劉剛,侯賓,翟周偉.Hadoop開源云計(jì)算平臺(tái)[M],北京:北京郵電大學(xué)出版社,2011,08

      [2]張良將基于Hadoop云平臺(tái)的海量數(shù)字圖像數(shù)據(jù)挖掘的研究.上海,上海交通大學(xué),2013

      [3]歐陽建權(quán),李錦濤,張勇東視頻摘要技術(shù)綜述[J]計(jì)算機(jī)工程,2005.5.30

      双峰县| 广安市| 鸡西市| 和平县| 无极县| 阳泉市| 确山县| 徐汇区| 玉门市| 湟源县| 普兰县| 大埔区| 宜丰县| 鄂伦春自治旗| 罗城| 汪清县| 科技| 汤原县| 宣化县| 满城县| 汝州市| 温泉县| 师宗县| 汉中市| 南召县| 讷河市| 西林县| 峡江县| 顺平县| 延寿县| 巨野县| 郧西县| 西和县| 固原市| 麻城市| 科技| 克什克腾旗| 云南省| 雷州市| 衡阳市| 临潭县|