胡新+黃佳彬+章波
【摘要】 隨著互聯網、移動通訊技術的不斷發展,特別是電商、社交、即時通訊平臺的活躍,以及企業信息化、智慧城市、智能電網的快速建設,近幾年來,視頻、圖像數據呈現爆炸式增長,與此同時,圖像處理技術也得到快速發展,特別是大數據技術的應用為大規模圖像處理提供了技術可行性。本文就圖像技術的現狀、大數據體系、大數據圖像處理技術進行分析論述,并結合智能電網應用場景進行了思考與分析。
【關鍵詞】 圖像技術 大數據 Hadoop 智能電網
引言
當前,大數據分析已經成為各行業的一個重要決策支撐手段,大數據技術能夠簡化處理海量數據,其大規模集群數據處理開源軟件框架Apache Hadoop,可以可靠地依靠成千上萬規模節點處理PB級數據。利用大數據技術實現圖像處理,能夠突破傳統圖像處理技術瓶頸,快速實現大規模圖像數據的處理計算,給企業帶來巨大價值。
一、圖像技術現狀分析
1.1存儲技術現狀
目前國內外圖像存儲解決方案有兩種,分別是圖像存儲至數據庫和圖像存儲至硬盤。在海量圖像規模下,傳統數據庫承載太多圖像會導致數據庫容量和效率成為極大的瓶頸,常見做法是圖像存儲在硬盤,圖像路徑存儲至數據庫。存儲容量方面常采用增加專業的磁盤陣列,磁盤柜或者高級的光纖盤陣、局域網盤陣等方式解決,而提升訪問效率方面常采用squid緩存和鏡像方法。
1.2應用技術現狀
圖像應用技術隨著互聯網浪潮不斷發展,按應用領域不同可歸納為物理設備應用、基礎軟件應用、智能分析應用、智慧分析應用四個應用層次,其技術實現難度逐層增加。物理設備應用、基礎軟件應用是當前主流應用技術,智能分析應用、智慧分析應用是未來圖像應用的演進方向。
物理設備應用。物理設備應用是基于視頻采集設備的基礎應用,表現為基于各類型攝像頭的監控應用。當前視頻監控數據保存周期有限,監控識別過程多為人工。目前市面上部分廠家將帶有特定算法的智能芯片集成到物理設備中,實現特定的分析功能,如:智能家居安防攝像頭,能夠監測視頻畫面中的物體移動實現遠程預警;智能車庫解決方案,通過車牌識別算法實現車牌的快速識別。
基礎軟件應用層。以社交網站、視頻網站為典型代表。主要實現圖像信息、視頻信息的海量存儲、快速讀取、分享交互。根據業務的不同需求,可靈活采用傳統圖像處理架構或分布式圖像處理架構,圖像信息的檢索主要以文字搜索為主。
智能分析應用。智能分析應用包括圖像智能分析,圖像檢索,視頻切片分析等高級應用。目前淘寶、京東等電商企業圖像智能分析技術領先。如淘寶“拍立淘”功能便是圖像智能分析(以圖搜圖)的典型應用,通過類目預測,主體檢測,圖像特征提取,檢索索引和排序5層算法框架、利用大數據、云計算、機器學習等先進的信息技術實現用戶購物方式的顛覆。
智慧分析應用。智慧分析應用是指對圖像信息處理的實時計算、深度學習和智慧決策。典型應用為Google公司無人駕駛技術的應用研究,實時對攝像傳感器采集的視頻信息進行計算分析,實時決策。
二、Hadoop體系結構
HDFS和MapReduce是Hadoop的兩大核心。而整個Hadoop的體系結構主要是通過HDFS來實現對分布式存儲的底層支持的,通過MapReduce來實現對分布式并行任務處理的程序支持,HBase是Hadoop體系下基于Bigtable的分布式數據庫,其為大數據的存儲和應用提供很好的底層支持。
HDFS
HDFS采用了主從(Master/Slave)結構模型,一個HDFS集群是由一個NameNode和若干個DataNode組成的。其中NameNode作為主服務器,管理文件系統的命名空間和客戶端對文件的訪問操作;DataNode管理存儲的數據。HDFS允許用戶以文件的形式存儲數據。從內部來看,文件被分成若干個數據塊,而且這若干個數據塊存放在一組DataNode上。NameNode執行文件系統的命名空間操作,比如打開、關閉、重命名文件或目錄等,負責數據塊到具體DataNode的映射。DataNode負責處理文件系統客戶端的文件讀寫請求,并在NameNode的統一調度下進行數據塊的創建、刪除和復制工作。HDFS體系結構如下:
MAPREDUCE
MapReduce是一種并行編程模式,這種模式使得軟件開發者可以輕松地編寫出分布式并行程序。在Hadoop的體系結構中,MapReduce是一個簡單易用的軟件框架,基于它可以將任務分發到由上千臺商用機器組成的集群上,并以一種高容錯的方式并行處理大量的數據集,實現Hadoop的并行任務處理功能。MapReduce框架是由一個單獨運行在主節點上的JobTracker和運行在每個集群從節點上的TaskTracker共同組成的。主節點負責調度構成一個作業的所有任務,這些任務分布在不同的從節點上。主節點監控它們的執行情況,并且重新執行之前失敗的任務;從節點僅負責由主節點指派的任務。當一個Job被提交時,JobTracker接收到提交作業和配置信息之后,就會將配置信息等分發給從節點,同時調度任務并監控TaskTracker的執行。
HBASE
HBase是Apache Hadoop的數據庫,一個開源的,分布式的,多版本的、面向列的存儲模型。能夠對大數據提供隨機、實時的讀寫訪問功能。HBase可以直接使用本地文件系統,但在Hadoop HDFS的文件存儲系統中更能提高數據的可靠性和系統的健壯性,最大限度發揮HBase大數據處理能力。
HBase存儲松散型數據,數據介于映射(Key/value)和關系型數據之間。HBase向下提供存儲,向上提供計算,在HBase之上還可以使用Hadoop的MapReduce計算模型來并行處理大規模數據,將數據存儲和并行計算完美結合[1]。
三、大數據圖像技術
3.1 HADOOP圖像存取技術分析
Hadoop分布式存儲為海量圖像、視頻存儲提供了原始模型,其開源性,高容錯性符合圖像存儲業務發展的特性。
圖像信息存取架構
1.圖像存儲:采用Hadoop中的HDFS存儲圖像,通過HDFS的冗余備份和心跳檢測保證存儲數據的安全性,設定負載均衡策略,保證各個存儲節點的運行穩定。
2.圖像索引:設計圖像URL,將圖像存儲信息設定在圖像URL中,通過解析URL快速定位存儲圖像Block的DataNode和Fileld。圖像元數據作為鍵值對
3.采用MapReduce進行圖像業務處理的編程實現,針對大數據的批量處理和存儲優化制定相應策略。
4.讀取服務:采用Nginx的Web服務器對圖像進行讀取,Nginx的Redis模塊對緩存中的微型圖像進行讀取。
5.負載均衡:采用HAProxy的RoundRobin負載均衡算法構建負載均衡,分載前端用戶請求的壓力。
6.應用服務器:Java應用服務器完成圖像寫入的操作。
圖像信息寫流程
圖像寫請求由用戶發起后,通過負載均衡模塊過濾,到達應用服務器排隊,等待進入HDFS存儲系統,通過NameNode分配DataNode進行存儲,圖像寫入過程中先確定寫入Block,再確定Sequence File,圖像元數據保存至HBase和Redis構建的緩存系統[2]。
3.2 HADOOP圖像處理技術分析
在MapReduce計算框架中,Hadoop將輸入圖像數據劃分成等長的作業分片,每個Map任務處理一個作業分片,Map任務并行執行,定義Reduce任務,調用reduce函數實現結果數據的最終輸出。
圖像文件處理流程
MapReduce的工作過程分為兩個階段:Map階段和Reduce階段。(圖2)
圖像文件對應路徑將作為MapReduce程序的輸入,ImageInputFormat對輸入進行劃分,ImageRecordReader對輸入進行記錄讀取,取得key值為ImageSplit對象的路徑,value值為ImageWritable。MapReduce框架把讀取的
Hadoop通過Writable對消息進行序列化。Writable接口定義了輸入流的基本方法,MapReduce程序用Writable來序列化鍵/值對。Writable接口定義DataOutput、DataInput方法。自定義的ImageWritable對方法進行重寫,分別寫入和讀出圖像的高度和寬度,源圖像的y軸高度,圖像的路徑和圖像的像素信息。
1)ImageInputFormat。ImageInputFormat繼承FileInputFormat類,負責產生輸入分片并將它們分割成記錄。記錄大小小于或等于分片ImageSplit。Key(鍵)存儲該圖像在文件系統的路徑。Value(值)存儲ImageWritable類型的一個圖像分片記錄。
2)ImageRecordReader。Map任務使用ImageRecordReader來讀取記錄并且生成鍵/值對
圖像算法
圖像處理常用圖像縮放、圖像增強、圖像邊緣檢測方法。圖像縮放插值方法有最近鄰插值、雙線性插值、使用像素關系重采樣和立方插值。圖像邊緣檢測是進行圖像分割、目標區域識別、區域形狀提取等圖像分析的技術基礎。對于連續圖像f(x,y),邊緣檢測是求梯度的局部最大值和方向。利用Canny邊緣檢測算子,在map函數中實現對圖像的邊緣檢測,從而實現對圖像文件的并行化邊緣檢測。[3]
四、智能電網圖像技術應用分析
4.1基于圖像的覆冰狀態監測
目前輸電線路覆冰狀態監測常用方法有覆冰觀測站觀測法、覆冰力學模型估算法二種。覆冰觀測站可以比較準確了解覆冰信息,但投資巨大且需要人工操作,只適合于一些典型地區;覆冰力學模型估算法是建立覆冰厚度與桿塔載荷的關系,通過測量桿塔受力等參數間接測量覆冰厚度,該方法受限于風載荷對弧垂、應力等參數的影響,精準性方面存在一定不足。
大數據、云計算的發展為基于圖像的覆冰狀態監測提供另一有效途徑。通過無人機、固定采集攝像頭采集線路覆冰圖像信息,通過大數據計算框架快速實現對覆冰厚度的計算。
基于圖像大數據的覆冰狀態監測分析包括覆冰狀態的圖像信息的采集,圖像的傳輸,圖像的計算與反饋等步驟,通過對圖像進行二值化、去噪、邊緣檢測等處理,完成覆冰厚度的計算。具體計算流程如圖3。
4.2電力圖像大數據平臺
隨著國家電網公司SG186、SGERP信息化的不斷發展,業務數據呈現爆發式增長。針對于結構化數據,國家電網公司于2015年開始試點實施企業級大數據平臺,已開展如“新型客戶服務業務型態應用”、“配網故障搶修精益化管理”等結構化大數據應用研究。而針對圖像、視頻非結構化數據,還未進行有效的挖掘利用,數據存在孤島,共享不便。
基于HADOOP架構構建電力企業圖像大數據平臺,實現企業圖形圖像數據整合,挖掘數據價值,全面服務于電力生產。平臺架構分為數據源層、平臺層、應用層三個層面。
數據源層包含各類圖形圖像、視頻源數據,如工程施工圖、竣工圖、單線圖、間隔圖、檔案圖等,智能變電站各類監控視頻等;平臺層基于Hadoop分布式存儲架構實現海量存儲和計算;應用層通過數據整合,挖掘,實現圖像信息的快速檢索、多終端展示、熱點圖像排序,圖像數據服務等高級應用。
參 考 文 獻
[1]陸嘉恒. Hadoop實戰(第二版).機械工業出版社.2012.
[2]李林,周曉慧.基于Hadoop的海量圖片存儲模型的分析和設計.
[3]田進華,張韌志.基于MapReduce數字圖像處理研究.電子設計工程.2014年8月.第15期.