• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Spark的并行處理技術在巖石薄片圖像的研究與應用

    2019-05-16 01:40:00
    智能計算機與應用 2019年2期
    關鍵詞:薄片圖像處理集群

    王 康

    (西安石油大學 計算機學院,西安710065)

    0 引 言

    隨著巖石圖像規(guī)模的不斷增長,在巖石圖像處理中很容易會遇到數百張序列圖像、甚至是上千張高分辨率的巖石圖像的情況,尤其是特征點的提取、構建描述符算法比較復雜,導致計算量非常大[1]。在有效利用當下提出的巖片圖像處理手段的前提下,結合云計算和大數據處理技術的發(fā)展,快速有效的巖片圖像處理和應用即已成為亟待解決的問題之一。

    大數據時代的到來使得數據平臺處理技術能夠應用于更多領域,包括各種日志分析、行為分析和流量分析。在大數據應用中,Hadoop和Spark[2]是最活躍的。在Hadoop架構下的圖像處理方法是基于MapReduce的批處理方式實現圖像并行處理的。其具有高吞吐量和高延遲,但是缺乏任務和資源分配的公平性,也未能考慮到對多任務與少量任務的區(qū)分,影響分割后圖像效果[3]。同時處理效率太低,并且要進行各種巖石薄片圖像處理算法間的轉換,在代碼編寫上任務較為繁重。與Hadoop體系下的MapReduce相比,Spark提供了更好的數據共享抽象,解決了 MapReduce的高延遲缺陷,并給出了Scala、Java、Python三種編程接口。這3個API可與其它程序有效集成,從而合理分配任務和資源,最終提高圖像處理效率。

    本文利用分布式文件系統(tǒng)HDFS和圖像處理界面,通過傳遞函數與Spark平臺集成,可以編寫各種圖像處理算法,實現圖像的并行處理[4]。實驗證明,該方法可以實現圖像的并行處理,適應大規(guī)模的圖像處理。

    1 Spark平臺

    Spark是伯克利大學的AUMPAB實驗室推出的一個熱門實驗項目,代碼很少,且是一個輕量級框架。Spark是一個類似于Hadoop[5]的開源集群計算環(huán)境,但兩者之間存在一些差異。這些設計上的差異使Spark在某些工作負載上表現更好,換句話說,Spark已啟用了更為出色的架構機制。除了提供交互式查詢外,Spark還優(yōu)化了迭代工作負載。Spark以Scala語言為研發(fā)基礎,使用Scala作為其應用程序框架。與Hadoop不同,Spark和Scala緊密集成,Scala可以像本地集合對象一樣輕松地運行分布式數據集。

    Spark提出了一種新的彈性分布式數據集(Resilient Distributed Datasets,RDD)。 RDD 是一個并行、容錯的數據結構,方便用戶將數據集顯式地存儲于內存中。RDD與Hadoop不一樣的地方在于這些數據集是緩存在內存中,因而尤其利于數據的迭代計算。RDD操作類型可以分為轉換操作(Transformation)和控制操作(Actions)。 其中,轉換操作是惰性求值,即通過在RDD之間構造相互依賴的非循環(huán)圖(DAG),最后傳遞動作。該操作會觸發(fā)任務以返回結果。Spark中的任務運行過程如圖1所示。

    圖1 Spark任務運行流程Fig.1 Spark task running process

    2 基于Spark的處理架構與流程

    基于Spark的巖石薄片圖像分割處理可分為3個部分:HDFS、Spark集群和圖像處理接口。整體架構如圖2所示。對每一部分的設計功能可闡釋如下。

    圖2 整體架構Fig.2 Overall architecture

    (1)分布式文件系統(tǒng)HDFS。負責預處理圖像和各種輸出結果的存儲,并支持根據圖像大小增加存儲節(jié)點,以確保讀取速度和存儲規(guī)模。

    (2)Spark集群。圖像數據讀取、并行化處理和集群上的作業(yè)調度和資源分配。

    (3)圖像處理接口。用于與Spark主驅動器集成的圖像預處理、轉換操作和圖像處理算法。

    2.1 圖像的預處理與轉換

    在現有的大規(guī)模巖石薄片圖像中,由于不同的巖石圖像存儲在不同的服務器文件系統(tǒng)中,因此存在大量不同類型的圖像數據。同時,Spark不支持直接讀取JPEG、JPG等格式的圖像數據源。為了使每個worker節(jié)點能夠訪問不同格式的圖像數據并通過Spark成功讀取,本文運用程序代碼將每個圖像轉換為二進制文本文件,并將其寫入HDFS。

    對于遠程圖像數據源,Spark Streaming[6]可用于通過讀取網絡流來處理和轉換遠程圖像。Spark Streaming預處理依賴于Spark集群,未經預處理的圖像數據可通過流傳輸直接傳輸到Spark集群。不同區(qū)域的巖石圖像數據不能得到有效的處理和集成,對網絡帶寬的要求也越來越高,不可避免地增加了圖像處理的難度。

    通過將圖像轉換為二進制文本文件、再進行存儲,而且每個worker節(jié)點都可以方便地訪問圖像,解決了圖像源數據同構的問題。在確定編碼模式的情況下,通過讀取二進制流可以將二進制值文本文件恢復為圖像,并將圖像存儲在許多圖像數據庫中。

    2.2 巖石圖像并行處理的實現

    Spark具有用于文本文件的統(tǒng)一數據源文本接口,并將整個文本文件讀取為一組行,這些行定義了基本RDD,然后執(zhí)行一系列RDD操作。

    將預處理后的巖石薄片圖像讀取到Spark平臺中。讀入后,每個二進制文件對應于基本RDD,即每個圖像對應于一個RDD,并且圖像處理操作可以被視為簡單的RDD轉換操作。

    Spark中RDD的轉換操作可以視為已建立方法下的集合或類型轉換操作。本文提出轉移所需的圖像處理算法函數來構造RDD轉換操作,實現各個區(qū)域的巖石圖像操作。巖石薄片圖像與Spark平臺并行算法的結合過程如圖3所示。

    圖3 函數傳遞過程Fig.3 Function transfer flow

    通過功能轉換和集成,圖像處理界面將圖像處理算法傳輸到Spark Big Data平臺。在RDD轉換完成之后,觸發(fā)操作執(zhí)行實例,Spark通過預處理輸入圖像。此數字決定了任務的數量,并且取決于集群的大小,任務負載均衡并分發(fā)到每個工作節(jié)點。處理完工作節(jié)點后,結果將寫入分布式文件系統(tǒng)(HDFS)或分布式數據庫(HBase[7])。 這樣,確保了圖像與任務之間的一一對應關系,同時,當執(zhí)行圖像并行處理時,需要對圖像進行序列化,并且能夠快速有效地讀取每個圖像。

    3 基于Spark的并行處理技術在巖石薄片圖像的應用

    將本文提出的基于Spark的并行圖像處理技術應用在巖石圖像分析領域,通過粒度分析和礦物識別實現巖石薄片圖像分割。本文將基于密度的算法添加到圖像處理界面,即 DBSCN圖像分割[8]。圖像處理方法的主要思想是使用粒子中心來表示以簡化模型,然后使用DBSCAN算法聚類目標中心以標記不同的粒子目標。最后,結合改進的數學形態(tài)學方法,近似了粒子邊界。實驗結果表明,該方法對粒子分割和邊界提取具有良好的效果,為粒子邊界表征提供了有效途徑。

    3.1 實驗環(huán)境及數據來源

    基于Spark的巖石薄片圖像并行處理方法在搭建的Spark集群中實現。實驗集群由1個主節(jié)點和5個從屬節(jié)點構成。其中,主節(jié)點在Spark中擔任Master,從節(jié)點擔任 Worker。操作系統(tǒng)均為Centos7.5,硬件配置均為 Intel(R) Core(TM)i7-8700 CPU @ 3.20 GHz 3.19 GHz內存。 所有節(jié)點均已成功配置Spark2.3.0并行處理框架、Java以及各類Java下的圖像處理包,如 JMagick,Sanselan等。實驗中使用Spark的Java接口,通過Java語言撰寫Spark主驅動程序及巖石薄片圖像實現方法,任務部署模式采用Spark on Yarn。

    本文中所有的圖像數據來自鄂爾多斯盆地砂巖薄片。薄片圖像均用高分辨率顯微鏡拍攝,每個圖像都是以JPEG格式存儲,并且圖像大小是10 M內。在本文中,從每個區(qū)域選擇相似大小的1 000張圖像用于處理。

    3.2 實驗設計與分析

    實驗擬通過利用DBSCAN分割方法的Java研發(fā)算法來設計展開,并根據實驗的目的選取若干巖石薄片圖像作為樣本進行實驗。實驗運行結果及分析詳見如下。

    3.2.1 與傳統(tǒng)方法的性能對比

    比較傳統(tǒng)的物理機的方法,本文提出的并行處理方法速度較快。在5個節(jié)點的情況下,基于不同的巖石圖像數,實驗運行后繪制得到的時間結果曲線如圖4所示。

    圖4 傳統(tǒng)處理方法與并行處理方法測試結果Fig.4 Test results between traditional processing and parallel processing

    圖4 顯示伴隨圖像的增加,基于Spark的并行處理方法的優(yōu)點變得越來越明顯,并且可以實現圖片的快速處理。

    3.2.2 多節(jié)點下的分割效率

    本文在拍攝的各地區(qū)巖石薄片圖像中選取1 000張、2 000張、5 000張圖像的情況作為數據源進行實驗,通過改變集群工作節(jié)點數目,將1 000張、2 000張和5 000張圖像選擇作為每個區(qū)域的巖石圖像中的數據源,研究得到的基于Spark的并行處理方法實驗結果如圖5所示。

    圖5 不同節(jié)點數目的處理時間Fig.5 Multi-node processing time

    由圖5可以看到,在單個工作節(jié)點對于5 000張的圖像共需要16 h的處理時間,而在5個節(jié)點情況下卻只需2 h的處理時間,這就極大地減少了處理相同圖像的時間。而當節(jié)點的數目增加時,圖像的處理速度也在逐漸提升。

    4 結束語

    基于Spark的巖石薄片圖像處理架構有效地解決了巖石薄片圖像處理算法在不同區(qū)域對不同種類巖石圖像的快速并行處理,集群節(jié)點數量越多,就越能提升并行處理圖像的速度。本文提出了一種基于Spark的并行圖像處理體系結構,通過預處理后的分布式圖像進行存儲和轉換,可以將巖石薄片圖像讀取到Spark平臺中,并應用傳遞函數方法避免MapReduce轉換。實驗表明,在該平臺下可以增加任何圖像處理算法,實現并行處理,適應于大規(guī)模的圖像處理。

    猜你喜歡
    薄片圖像處理集群
    來自森林的植物薄片
    海上小型無人機集群的反制裝備需求與應對之策研究
    機器學習在圖像處理中的應用
    電子制作(2018年18期)2018-11-14 01:48:20
    一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設計
    電子制作(2018年11期)2018-08-04 03:25:40
    你真好
    學生天地(2017年30期)2018-01-05 01:52:12
    你真好
    模糊圖像處理,刑事偵查利器
    圖像處理技術的實戰(zhàn)應用
    Python與Spark集群在收費數據分析中的應用
    勤快又呆萌的集群機器人
    旅游| 永登县| 南丰县| 辽宁省| 静宁县| 房产| 顺平县| 铜川市| 麻阳| 兴化市| 扬州市| 武安市| 益阳市| 剑阁县| 洛隆县| 九龙城区| 芦山县| 遂平县| 峨眉山市| 略阳县| 浦县| 太保市| 新巴尔虎左旗| 长春市| 桓台县| 衡山县| 简阳市| 铁岭县| 正镶白旗| 来凤县| 高邮市| 米脂县| 五大连池市| 大兴区| 雅安市| 湘西| 绥中县| 长春市| 招远市| 建阳市| 遂溪县|