Skip to main content
QUICK REVIEW

[論文レビュー] Big Data Spark Solution for Functional Magnetic Resonance Imaging

Saman Sarraf, Mehdi Ostadhashem|arXiv (Cornell University)|Mar 23, 2016
Functional Brain Connectivity Studies参考文献 13被引用数 4
ひとこと要約

本論文は、関数的磁気共鳴画像法(fMRI)データ処理の高速化を目的として、メモリ内分散コンピューティングを活用し、合計二乗差分(SSD)テンプレートマッチングを用いて脳ネットワーク(特にデフォルトモードネットワーク(DMN))を抽出するPySparkベースのパイプラインを提案する。単一ノード上での純粋なPython実装に比べて3.7倍の高速化を達成しており、クラスタ上では10~20倍の向上が見込まれる。精度は維持され、複数形式での柔軟な結果保存が可能である。

ABSTRACT

Recently, Big Data applications have rapidly expanded into different industries. Healthcare is also one the industries willing to use big data platforms so that some big data analytics tools have been adopted in this field to some extent. Medical imaging which is a pillar in diagnostic healthcare deals with high volume of data collection and processing. A huge amount of 3D and 4D images are acquired in different forms and resolutions using a variety of medical imaging modalities. Preprocessing and analyzing imaging data is currently a long process and cost and time consuming. However, not many big data platforms have been provided or redesigned for medical imaging purposes because of some restrictions such as data format. In this paper, we designed, developed and successfully tested a new pipeline for medical imaging data (especially functional magnetic resonance imaging - fMRI) using Big Data Spark / PySpark platform on a single node which allows us to read and load imaging data, convert them to Resilient Distributed Datasets in order manipulate and perform in-memory data processing in parallel and convert final results to imaging format while the pipeline provides an option to store the results in other formats such as data frame. Using this new solution and pipeline, we repeated our previous works in which we extracted brain networks from fMRI data using template matching and sum of squared differences (SSD) method. The final results revealed our Spark (PySpark) based solution improved the performance (in terms of processing time) around 4 times on a single compared to the previous work developed in Python.

研究の動機と目的

  • fMRIデータ前処理および分析における性能ボトルネックを解消し、処理時間が長く計算コストが高いための課題に対処すること。
  • Apache Sparkのようなビッグデータ技術を医療画像ワークフローと統合し、大規模神経画像データセットのスケーラブルかつ並列処理を可能にすること。
  • メモリ内計算とマルチフォーマット出力(例:データフレーム、NIfTI)をサポートするポータブルで拡張可能なパイプラインを構築すること。
  • テンプレートベースの脳ネットワーク抽出におけるPySparkの実装と従来のPython実装との性能向上を評価すること。
  • データフォーマットや構造的制約があるにもかかわらず、ビッグデータプラットフォームを神経画像処理ワークロードに適応可能であることを示すこと。

提案手法

  • 84個のfMRIコンponentsをNIfTI形式で読み込み、nibabelライブラリを用いてメモリにロードする。
  • 画像データと事前に定義されたDMNテンプレートを、Apache Sparkのコアデータ抽象であるリジリエント分散データセット(RDD)に変換する。
  • PySparkのflatMapおよびzip操作を用いてRDD上でSSDベースのテンプレートマッチングを実装し、空間座標ごとの類似度を計算する。
  • SSD式を並列処理で適用:$SSD = \sum_{x,y} [f(x,y) - t(x-u,y-v)]^2$ により、パーティションごとに分散計算が可能となる。
  • 結果を標準画像フォーマット(例:NIfTI)に変換するか、他のビッグデータツールとの相互運用性を考慮してデータフレームとして保存する。
  • パフォーマンスは、単一ノードのSpark環境でベンチマークされ、PySparkの実行時間とネイティブPython実装を比較した。

実験結果

リサーチクエスチョン

  • RQ1従来のPythonワークフローと比較して、PySparkベースのパイプラインはfMRIデータ分析の処理時間を顕著に短縮できるか?
  • RQ2RDDを介したメモリ内分散処理は、fMRIデータにおけるテンプレートベースの脳ネットワーク抽出のパフォーマンスにどのように影響するか?
  • RQ3単一ノードのSpark実装は、神経画像処理におけるSSDベースのテンプレートマッチングをどの程度高速化できるか?
  • RQ4標準神経画像フォーマットを超えた柔軟な出力形式をサポートしながら、精度を維持できるか?
  • RQ5マルチノードクラスタにパイプラインをスケーリングし、並列実行を最適化した場合、さらなるパフォーマンス向上の可能性はどの程度か?

主な発見

  • PySparkベースのパイプラインは、純粋なPython実装の23.87秒から6.44秒に処理時間を短縮し、単一ノード上での3.7倍の高速化を達成した。
  • 性能向上は、単一ノード環境でもSparkのRDD抽象によるメモリ内計算と並列処理のおかげである。
  • パイプラインは元のPython実装と同一の精度を維持しており、性能向上が結果の正確性を損なわないことを確認した。
  • 出力の柔軟性を実現し、結果をデータフレームや標準画像フォーマット(例:NIfTI)に保存可能である。
  • 著者らは、ハイパフォーマンスクラスタにスケーリングし、完全な並列化を最適化した場合、10~20倍のパフォーマンス向上が見込まれると予測している。
  • 本研究は、データフォーマットや分野固有の制約があるにもかかわらず、Sparkのようなビッグデータプラットフォームが神経画像処理ワークロードに効果的に適応可能であることを示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。