MATLAB を用いた 3 次元画像処理

これだけは知っておきたい 3 つのこと

3 次元画像処理とは

3 次元画像処理とは、幾何学的変換、フィルタリング、画像セグメンテーション、そ他のモルフォロジー演算を用いた 3 次元画像データの可視化、処理、および解析を指します。

3 次元画像処理は、MRI または CT スキャンなどレントゲンソースからの DICOM または NIfTI 画像を解析するため、医療用画像処理で一般的に使用されます。3 次元画像処理の手法を顕微鏡で用いて、組織試料の検出、解析、および神経細胞のトレースを行うこともできます。 

Medviso のエンジニアは MATLAB を使用して、世界中の臨床医のために心臓血管解析ソフトウェアを開発しています。

医療用画像処理のほかに、手荷物のセキュリティスキャンや、構造理解のための材料のスキャン解析にも 3 次元画像処理の手法を使用できます。他には、家電製品用のビデオ行動認識や、軍事防衛システム用の空中偵察などの分野に応用できます。

3 次元画像処理の手法

3 次元画像データの処理手法は複数存在します。データのインポート、可視化、各種処理、および解析など、達成したいタスクによりこれらの手法は変わります。

この図では、3 次元画像処理ワークフローでの主要な要素を表示。

画像のインポートと可視化

3 次元画像データは、さまざまなデバイスから異なったファイル形式で作成されます。効率的に 3 次元画像をインポートして可視化するには、画像の基になるデータとメタデータを利用することが重要になります。

観察したい内容に応じて異なった手法を使用し、3 次元画像を可視化できます。いくつかのアプリケーションでは、ボリューム レンダリングで 3 次元画像を可視化することがあります。

3 次元らせんのボリューム レンダリングを参照。 

他のアプリケーションでは、3 次元座標内の 2 次元平面として 3 次元データを参照することがあります。

3 次元ボリューデータを 2 次元平面で参照。

画像のフィルターと強調

3 次元画像にはしばしば、関心領域の特徴を不鮮明にして目立たせなくするノイズが含まれていることがあります。画像フィルターの適用、画像コントラストの正規化、モルフォロジー演算の実施などは、3 次元画像からノイズを取り除く一般的な手法です。

画像レジストレーション

3 次元画像のデータセットを用いて作業する場合、画像が異なったデバイスから取られたり、はデバイスが動いている間に取られたりすることで、回転中のずれや傾斜、スケールの違いなどがもたらされる可能性があります。3 次元幾何学的変換と画像レジストレーションの手法を用いて、このずれを除去または減少させることができます。

マルチモーダル医療用画像のレジストレーション

画像セグメンテーション

ボリュームデータや 3 次元画像を解析するとき、関心領域のみを切り出して演算を実施したい時があるかもしれません。たとえば、箱の中の瓶の容積を計算したい場合、画像セグメンテーションを用いて瓶とその他の物の間で 3 次元画像を分割できます。

MATLAB を用いた 3 次元画像処理

MATLAB は、3 次元画像処理ワークフローを加速する対話型のアプリと関数を提供します。3 次元画像処理タスクに MATLAB を使用する方法についての詳細は、次の例を確認してください。

3 次元画像データのインポート

MATLAB では、対話型のアプリまたは組み込み関数を使用して、TIFF、DICOM、NIfTI などのさまざまなファイル形式から 3 次元画像データをインポートできます。

DICOM ブラウザーアプリで一連の DICOM ファイルを調べることができます。

ボリュームデータの可視化

MATLAB で、ラベル付けされた3次元画像データ、もしくは、ラベル付けされていない 3 次元画像データを可視化して調べることができます。

ボリューム ビューアー アプリで、3次元ボリュームデータもしくはラベル付けされた3次元ボリュームデータを。   

異なったモダリティの3 次元画像をレジストレーション

MATLAB はさまざまなモダリティの画像をサポートし、それらを統合する組み込みの画像レジストレーション ワークフローを提供します。

このでは、強度に基づくレジストレーションを用いて、2 つのボリュームデータを自動的に位置合わせする方法について説明します。 

画像のフィルターと強調の操作

MATLAB では、ガウスフィルター、ボックスフィルター、画像モルフォロジーなどさまざまな画像フィルターを用いて、ノイズを減少させたり、画像を強調したりできます。

このでは、3 次元ガウスフィルターを用いて人間の脳の MRI 画像を平滑化する方法について説明します。

3 次元データコンポーネントのセグメンテーション

MATLAB は、3 次元画像セグメンテーション ルーチンの自動化を支援する対話型のアプリと組み込み関数を提供します。

この  では、動的輪郭 (snakes) を使用して 3 次元セグメンテーションを実行する方法を説明します。 イメージの領域分割アプリ を用いてボリュームデータの 2 次元スライスを対話型でセグメンテーションし、 動的輪郭 アルゴリズムの開始点を作成します。

ディープラーニングを用いた3 次元画像処理

ディープラーニングを用いた 3 次元画像処理では、畳み込みニューラル ネットワークとセマンティック セグメンテーションを使用して、3 次元画像の関連する特徴を自動的に学習、検知、ラベル付けすることができます。

このでは、MATLAB を用いて 3 次元 U-Net ネットワークを学習させ、3 次元画像内に脳腫瘍のセマンティック セグメンテーションを実行する方法について説明します。