999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop 的分布式視頻車輛檢索方法

2015-09-19 03:42:12仇洪冰李燕龍
電視技術 2015年22期

李 顏,仇洪冰,李燕龍

(桂林電子科技大學 信息與通信學院,廣西 桂林541004)

近年來,隨著我國公路交通事業的迅猛發展,機動車輛的規模和流量不斷增大,由此引發的車輛違章和肇事現象給交通監管部門的工作帶來了巨大挑戰。傳統的車輛檢索[1]方法一般有兩種:一種是通過人工觀看交通監控視頻來搜索和追蹤違章肇事車輛,該方法不僅效率低下,而且長期觀看監控視頻會引起工作人員的視覺疲勞,造成誤判或遺漏重要信息等問題;另一種是利用車牌識別系統來搜索監控視頻中出現的違章肇事車輛以獲取車牌號碼,受到單機硬件條件的限制,傳統的車牌識別系統無法高效、快速地處理大型監控視頻數據。隨著監控視頻數據量的不斷增長,如何高效、快速地分析和處理交通監控數據成為一個亟需解決的問題[2]。

云計算是一種新興的高效分布式計算模型,能有效解決大型數據的存儲和處理問題[3]。Hadoop 作為開源的云計算平臺,憑借其強大的系統伸縮性、廉價性以及在大型數據處理與分析能力上的顯著優勢被廣泛應用于各個領域。例如,文獻[4]提出了一種基于Hadoop 的快速視頻處理方法,其在集群下執行運動檢測比單機節省25%的時間;文獻[5]提出一種基于Hadoop 架構的視頻監控系統,解決了大型監控數據的存儲問題;文獻[6]利用MapReduce 實現了分布式視頻轉碼,大大提高了視頻的轉碼效率;文獻[7]提出了一種基于MapReduce 的分布式圖像檢索方法,用實驗證明了分布式檢索的效率遠高于集中式檢索。

以上研究工作均表明基于Hadoop 的分布式處理技術能有效提高系統的處理效率。鑒于該技術在視頻檢索領域尚未得到廣泛應用,本文提出一種結合Hadoop 平臺、車牌識別技術和FFMPEG 的分布式視頻車輛檢索方法,用于解決大型交通監控視頻[5]的高效處理與檢索問題。

1 技術原理介紹

1.1 Hadoop 云計算平臺

Apache Hadoop[8]是一個開源的分布式計算框架,它提供了一個簡單的編程模型,讓用戶能通過跨集群的計算機完成大型數據集的分布式處理任務。用戶可利用該框架在大量廉價計算機上構建一個具有高可靠性和良好擴展性的分布式處理系統。HDFS 存儲系統和MapReduce 計算模型是Hadoop平臺的兩大核心技術,用于完成大規模數據集的分布式存儲和并行計算。

HDFS[9]作為Hadoop 平臺的分布式文件系統,具有高吞吐量數據訪問能力、高容錯性、高可靠性和高擴展性等特點,可用于存儲海量級別的數據(Tbyte 甚至Pbyte 級)。

MapReduce[10]是一種用于處理大規模數據集的計算模型,它可以將一個應用程序分解為多個并行計算指令,跨大量的計算節完成數據集的分布式計算。用戶通過編寫Map 和Reduce 兩個函數來完成對應的邏輯功能,用以實現數據的分布式處理,其編程模型如圖1 所示。

圖1 MapReduce 編程模型

1.2 車牌識別

車牌識別技術結合了數字圖像處理、模式識別、計算機視覺等高科技技術,主要通過車牌定位、字符分割、字符識別3個階段來完成車輛牌照的提取和識別。本文設計的車牌識別方法為:首先采用Sobel 邊緣檢測[11]與水平/垂直投影分析相結合的方法將車牌從原始圖像中定位出來,然后利用Radon變換對車牌進行傾斜校正[12],再通過垂直投影法完成車牌字符的分割,最后使用模板匹配法[13]將車牌字符一一識別出來,具體識別流程如圖2 所示。

圖2 車牌識別流程圖

1.3 FFMPEG

FFMPEG[14]是一個集音頻/視頻采集、編解碼、格式轉換等功能于一體的開源多媒體框架,它支持多種傳輸協議、媒體格式和各種音/視頻編解碼標準,并提供一個統一的數據結構用于存儲從多媒體中提取出的信息[15]。FFMPEG 可在Linux和Window 系統下運行,支持MPEG、AVI、FLV 等40 多種編碼標準,以及Matroska、GXF、MOV 等90 多種解碼標準,能夠對音頻或視頻進行快速的格式轉換、無損切割、合并以及抓圖等操作,其基本使用語法如下:

ffmpeg[options]{[input_options]-i input_file}…{[output_options]output_file}

此外,FFMPEG 還提供了大量命令參數,能夠滿足用戶對視頻的各種處理需求,用戶可根據需要設置不同參數以獲得相應的處理結果。本文中采用FFMPEG 對監控視頻進行自動分割[16]和視頻幀提取[17]。

2 分布式視頻車輛檢索設計

2.1 視頻分割

視頻在HDFS 上是以Block(塊)為單位進行存儲的,Block 的大小可根據需求靈活配置,默認為64 Mbyte。當視頻超出 Block 的大小(如64 Mbyte)時,Hadoop 將會以字節(byte)為單位將視頻切分成多個小于64 Mbyte 的Block 存儲于各節點中,由此會出現如圖3 所示的情況。

圖3 視頻數據切分問題

當出現如上情況時,對視頻分塊進行幀提取會引發如下問題:1)缺少視頻頭數據,FFMPEG 解碼器無法初始化;2)缺少關鍵幀I 幀,導致相鄰的P 幀和B 幀無法提取;3)幀數據不完整或已損壞,導致提取失敗。

為解決該問題,本文在幀提取之前先用FFMPEG 將監控視頻自動分割成多個小于Block 的視頻分塊,再對視頻分塊進行幀提取。采用此方法的好處在于,既能保證每一個視頻分塊都包含完整的頭數據,又能避免GOP 或幀數據被切斷的問題,并且視頻被切分成多個分塊后,能更充分地利用MapReduce 的分布式處理優勢,大大提高了視頻幀提取的效率。此外,FFMPEG 帶有按時間切分和自動編號功能,可為后續實現視頻時間定位提供便利。

在此通過JAVA 提供的Runtime 類來調用本地FFMPEG 命令實現視頻的自動分割。調用的視頻分割命令格式如下:

ffmpeg-ss StartTime-i VideoPath-vcodec copy-acodec copy-t DurTime OutputPath_Num

其中,StartTime 為視頻分割的起始時間,VideoPath 為目標視頻,DurTime 為分割間隔,OutputPath_Num 為視頻分段編號。

監控視頻根據時長間隔DurTime 進行連續分割,并按順序編號,DurTime 與視頻編號OutputPath_Num 將作為后續時間定位的輸入參數。視頻分割完成后,程序自動調用Hadoop shell 將其上傳至HDFS。

2.2 分布式視頻幀提取

監控視頻經過分割處理后,由一段長視頻變成若干個時長相等的短視頻塊存儲于HDFS。在此采用MapReduce 框架對視頻塊進行分布式幀提取[6],即將多個視頻塊分散到不同節點上進行處理后再將結果匯總到HDFS。

在整個處理過程中,MapReduce 框架負責將視頻塊緩存到本地,然后通過JAVA Runtime 類中的exec(String cmd[])方法調用本地FFMPEG 命令對緩存視頻進行幀提取,最后將提取出的圖像幀上傳至HDFS。執行過程如圖4 所示。

圖4 視頻幀提取過程

其中,Map 的輸入Key_in 和Value_in 分別對應于視頻分塊的文件名和視頻數據本身。當Map 接收到Key_in 和Value_in后,將Value_in 緩存到目標節點,并調用FFMPEG 執行視頻幀提取操作,之后將提取出的圖像幀數據及其文件名分別寫入Value_out 和Key_out。調用的FFMPEG 命令格式為:

ffmpeg-i VideoPath-r FrameRate FileName_%3d.jpg

其中,VideoPath 為目標視頻,FrameRate 為提幀頻率(幀/秒,f/s),FileName_%3d 為圖像幀命名規則。提取的每一幀圖像以視頻編號加上圖像編號作為輸出文件名。例如,視頻切割間隔DurTime 為60 s,提幀頻率FrameRate 為5 f/s,則每一段視頻經過幀提取后將輸出300 幀圖像,其中第5 段視頻提取出的第53 幀圖像命名為output05_053。

2.3 車輛檢索與時間定位

視頻經過分割和幀提取操作后已經轉換成帶特定編號的圖像幀。本文結合MapReduce 框架和車牌識別技術對圖像幀進行分布式圖像識別,具體的Map 函數數據流設計如圖5 所示。

圖5 Map 數據流設計

其中,Map 函數用于實現車牌號識別和視頻時間定位兩個功能。

當Map 從圖像幀中識別出車牌號碼時,立即獲取其幀編號并進行計算,采用的計算公式為

式中:VideoTime 為最終定位結果;DurTime 為視頻切分間隔(s);VideoNum 為視頻分段編號;PictureNum 為圖像幀編號;FrameRate 為提幀頻率(f/s)。例如,分割間隔為60 s,提幀頻率為5 f/s,且從編號為output05_053 的圖像幀中識別出車牌號碼,則根據計算公式,該車輛出現在視頻4 分10 秒處。具體執行流程如圖6 所示。

圖6 Map 執行流程

Reduce 函數獲取<Key,Value >之后,合并相同的車牌號,將車輛出現時間排序后輸出到HDFS。Reduce 函數數據流設計如圖7 所示。

圖7 Reduce 數據流設計

3 仿真測試

3.1 實驗環境

在Linux 環境下,搭建由4 臺PC 組成Hadoop 集群,其中1 臺作為管理節點(Master),其余3 臺作為計算節點(Slave),并為每個節點安裝FFMPEG。Hadoop 集群節點配置情況如表1 所示。

表1 Hadoop 集群節點配置情況

3.2 車輛檢索結果

上傳一段交通監控視頻后,采用基于Hadoop 的分布式視頻檢索方法對車輛進行檢索,其檢索結果如圖8 所示。由圖8 可知,檢索結果較為準確。

圖8 視頻車輛檢索結果(截圖)

3.3 性能測試

采用大小分別為100 Mbyte,500 Mbyte,1 000 Mbyte 的視頻進行分布式幀提取測試,DurTime 設置為60 s,FrameRate 設置為5 f/s。分別測試幀提取在單機、1 個節點、2 個節點、3 個節點條件下的系統耗時,結果如圖9 所示。

圖9 視頻幀提取系統耗時

由圖9 可知,當視頻大小在100 Mbyte 左右時,單機提取和分布式提取耗時接近,當視頻超過500 Mbyte 時,分布式視頻幀提取速度要比單機提取快1 倍以上,并且隨著節點數增多和數據量增大,分布式提取的速度優勢越來越明顯。在實際測試過程中,當視頻大小達到2 Gbyte 時,單機提取出現了明顯的卡頓和死機現象,而分布式提取則運行穩定且性能良好。

分別對100,500,1 000,2 000 幀包含車輛信息的隨機視頻幀進行車輛檢索和時間計算,測試系統在單機、1 個節點、2個節點、3 個節點條件下的耗時,結果如圖10 所示。

圖10 車輛檢索系統耗時

由圖10 可知,在單機和一個節點情況下,車輛檢索的耗時接近,且單機檢索速度稍快,這是由于單機環境下省去了主機與節點間通信和數據交換的時間開銷。隨著節點數的增加,分布式檢索的速度顯著提升,并且視頻幀的數量越大,分布式檢索的優勢越明顯。

仿真結果顯示,基于Hadoop 的分布式視頻車輛檢索方法能有效地從交通監控視頻中檢索出車輛并定位其出現時間,而在大型視頻的檢索性能上也優于傳統單機檢索方式。

4 結束語

本文設計了一種基于Hadoop 的分布式視頻車輛檢索方法,可高效、快速地從大型交通監控視頻中檢索出過往車輛,并定位其在視頻中出現的時間。首先采用FFMPEG 將大型視頻分割成若干個視頻分塊,然后結合MapReduce 對視頻分塊進行分布式幀提取,再使用車牌識別算法將視頻幀中包含的車牌號碼識別出來,最后計算該車輛在視頻中出現的時間。實驗結果顯示,相比于單機檢索方法,基于Hadoop 的分布式檢索方法大大提高了系統對大型視頻的處理能力,并且隨著節點數的增加,其檢索效率也大幅提升。

[1]朱麗英,梁辰,張鴻洲.基于運動目標的監控視頻檢索方法[J].計算機應用與軟件,2011,28(12):96-98.

[2]徐鵬飛. 交通視頻監控平臺軟件發展趨勢淺析[J]. 中國交通信息化,2012(5):82-83.

[3]陳康,鄭緯民. 云計算:系統實例與研究現狀幸[J]. Journal of Software,2009,20(5):1337-1348.

[4]TAN H,CHEN L. An approach for fast and parallel video processing on Apache Hadoop clusters[C]//Proc.2014 IEEE International Conference on Multimedia and Expo(ICME). [S.l.]:IEEE Press,2014:1-6.

[5]ZHOU L,LI Z,CHEN Y,et al.The video monitoring system based on big data processing[C]//Proc. 2014 7th International Conference on Intelligent Computation Technology and Automation(ICICTA).[S.l.]:IEEE Press,2014:865-868.

[6]SONG C,SHEN W,SUN L,et al. Distributed video transcoding based on MapReduce[C]//Proc. 2014 IEEE/ACIS 13th International Conference on Computer and Information Science(ICIS).[S.l.]:IEEE Press,2014:309-314.

[7]ZHANG J,LIU X,LUO J,et al. Dirs:distributed image retrieval system based on mapreduce[C]//Proe.2010 5th International Conference on Pervasive Computing and Applications(ICPCA).[S.l.]:IEEE Press,2010:93-98.

[8]Apache Hadoop[EB/OL].[2015-01-01]. http://hadoop.apache.org.

[9]AZZEDIN F. Towards a scalable HDFS architecture[C]//Proc.2013 International Conference on Collaboration Technologies and Systems(CTS).[S.l.]:IEEE Press,2013:155-161.

[10]DEAN J,GHEMAWAT S. MapReduce:simplified data processing on large clusters[J].Communications of the ACM,2008,51(1):107-113.

[11]袁春蘭,熊宗龍,周雪花,等.基于Sobel 算子的圖像邊緣檢測研究[J].激光與紅外,2009,39(1):85-87.

[12]吳麗麗,余春艷.基于Sobel 算子和Radon 變換的車牌傾斜校正方法[J].計算機應用,2013,33(A01):220-222.

[13]顧晨勤,葛萬成.基于模板匹配算法的字符識別研究[J]. 通信技術,2009(3):220-222.

[14]FFMPEG[EB/OL].[20150-01-01].http://ffmpeg.org/.

[15]LEI X,JIANG X,WANG C.Design and implementation of a realtime video stream analysis system based on FFMPEG[C]//2013 Fourth World Congress on Software Engineering(WCSE).[S.l.]:IEEE Press,2013:212-216.

[16]紀麗婷,趙柳,苑全兵,等. 視頻分割算法的研究[J]. 電子測試,2010(2):9-13.

[17]瞿中,高騰飛,張慶慶. 一種改進的視頻關鍵幀提取算法研究[J].計算機科學,2012,39(8):300-303.

主站蜘蛛池模板: 久久久黄色片| 制服丝袜在线视频香蕉| 欧美精品v欧洲精品| 99草精品视频| 88av在线看| 真人高潮娇喘嗯啊在线观看| 亚洲国产成人麻豆精品| 毛片视频网| 久久久久夜色精品波多野结衣| 国产亚洲男人的天堂在线观看 | 99国产在线视频| 亚洲综合一区国产精品| 日韩第一页在线| 国产精品成人免费综合| 亚洲欧洲日韩综合| 国产一级片网址| 国产成人综合欧美精品久久| 久久综合色视频| 久久夜色精品国产嚕嚕亚洲av| 久久99精品久久久久久不卡| 天天操天天噜| 亚洲视频免费在线看| 91精品专区国产盗摄| 国产不卡国语在线| 五月天香蕉视频国产亚| 国产精品手机视频| 中文字幕第4页| 九九热视频精品在线| 色悠久久综合| 青青热久麻豆精品视频在线观看| 91无码国产视频| 亚洲成A人V欧美综合| 91网站国产| 日韩精品一区二区深田咏美 | 无码AV日韩一二三区| 国产综合网站| 国产欧美日韩另类| 2021国产精品自产拍在线观看 | 天堂av高清一区二区三区| 在线亚洲天堂| 成人久久精品一区二区三区| 精品综合久久久久久97超人| 国产成人精彩在线视频50| 男人天堂伊人网| 亚洲日韩精品欧美中文字幕| 精品综合久久久久久97超人| 国产福利观看| 伊人色天堂| 丁香六月激情综合| 就去吻亚洲精品国产欧美| 日韩欧美中文| 亚洲不卡av中文在线| 97久久精品人人| 国产在线观看第二页| 午夜性刺激在线观看免费| 91高清在线视频| 午夜性刺激在线观看免费| 97青青青国产在线播放| 亚洲欧美成人网| 国产精品午夜福利麻豆| a级毛片一区二区免费视频| 噜噜噜久久| 伊伊人成亚洲综合人网7777| 日韩免费毛片视频| 日韩天堂网| 亚洲天堂视频在线观看| 亚洲日韩精品伊甸| 99国产精品免费观看视频| jizz国产在线| 在线欧美一区| 国产成人AV大片大片在线播放 | 一级毛片不卡片免费观看| 亚洲永久色| 亚洲欧美不卡| 亚洲第一成年人网站| 中国一级毛片免费观看| 亚洲人成网站在线观看播放不卡| 夜夜操天天摸| 欧美国产日产一区二区| 国产午夜一级淫片| 日韩精品免费一线在线观看 | 亚洲综合色婷婷|