3 次元画像処理とは、幾何学的変換、フィルタリング、画像セグメンテーション、そ他のモルフォロジー演算を用いた 3 次元画像データの可視化、処理、および解析を指します。
3 次元画像処理は、MRI または CT スキャンなどレントゲンソースからの DICOM または NIfTI 画像を解析するため、医療用画像処理で一般的に使用されます。3 次元画像処理の手法を顕微鏡で用いて、組織試料の検出、解析、および神経細胞のトレースを行うこともできます。
医療用画像処理のほかに、手荷物のセキュリティスキャンや、構造理解のための材料のスキャン解析にも 3 次元画像処理の手法を使用できます。他には、家電製品用のビデオ行動認識や、軍事防衛システム用の空中偵察などの分野に応用できます。
画像のインポートと可視化
3 次元画像データは、さまざまなデバイスから異なったファイル形式で作成されます。効率的に 3 次元画像をインポートして可視化するには、画像の基になるデータとメタデータを利用することが重要になります。
観察したい内容に応じて異なった手法を使用し、3 次元画像を可視化できます。いくつかのアプリケーションでは、ボリューム レンダリングで 3 次元画像を可視化することがあります。
他のアプリケーションでは、3 次元座標内の 2 次元平面として 3 次元データを参照することがあります。
画像のフィルターと強調
3 次元画像にはしばしば、関心領域の特徴を不鮮明にして目立たせなくするノイズが含まれていることがあります。画像フィルターの適用、画像コントラストの正規化、モルフォロジー演算の実施などは、3 次元画像からノイズを取り除く一般的な手法です。
画像レジストレーション
3 次元画像のデータセットを用いて作業する場合、画像が異なったデバイスから取られたり、はデバイスが動いている間に取られたりすることで、回転中のずれや傾斜、スケールの違いなどがもたらされる可能性があります。3 次元幾何学的変換と画像レジストレーションの手法を用いて、このずれを除去または減少させることができます。
画像セグメンテーション
ボリュームデータや 3 次元画像を解析するとき、関心領域のみを切り出して演算を実施したい時があるかもしれません。たとえば、箱の中の瓶の容積を計算したい場合、画像セグメンテーションを用いて瓶とその他の物の間で 3 次元画像を分割できます。
3 次元画像データのインポート
MATLAB では、対話型のアプリまたは組み込み関数を使用して、TIFF、DICOM、NIfTI などのさまざまなファイル形式から 3 次元画像データをインポートできます。
ボリュームデータの可視化
MATLAB で、ラベル付けされた3次元画像データ、もしくは、ラベル付けされていない 3 次元画像データを可視化して調べることができます。
異なったモダリティの3 次元画像をレジストレーション
MATLAB はさまざまなモダリティの画像をサポートし、それらを統合する組み込みの画像レジストレーション ワークフローを提供します。
画像のフィルターと強調の操作
MATLAB では、ガウスフィルター、ボックスフィルター、画像モルフォロジーなどさまざまな画像フィルターを用いて、ノイズを減少させたり、画像を強調したりできます。
3 次元データコンポーネントのセグメンテーション
MATLAB は、3 次元画像セグメンテーション ルーチンの自動化を支援する対話型のアプリと組み込み関数を提供します。
この 例 では、動的輪郭 (snakes) を使用して 3 次元セグメンテーションを実行する方法を説明します。 イメージの領域分割アプリ を用いてボリュームデータの 2 次元スライスを対話型でセグメンテーションし、 動的輪郭 アルゴリズムの開始点を作成します。
ディープラーニングを用いた3 次元画像処理
ディープラーニングを用いた 3 次元画像処理では、畳み込みニューラル ネットワークとセマンティック セグメンテーションを使用して、3 次元画像の関連する特徴を自動的に学習、検知、ラベル付けすることができます。
この例では、MATLAB を用いて 3 次元 U-Net ネットワークを学習させ、3 次元画像内に脳腫瘍のセマンティック セグメンテーションを実行する方法について説明します。