MATLABを用いた3次元画像処理
これだけは知っておきたい3つのこと
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,日本,NIfTIなどのさまざまなファイル形式から3次元画像データをインポートできます。
ボリュームデータの可視化
MATLABで,ラベル付けされた3次元画像データ,もしくは,ラベル付けされていない3次元画像データを可視化して調べることができます。
異なったモダリティの3次元画像をレジストレーション
MATLABはさまざまなモダリティの画像をサポートし,それらを統合する組み込みの画像レジストレーションワークフローを提供します。
画像のフィルターと強調の操作
MATLABでは,ガウスフィルター,ボックスフィルター,画像モルフォロジーなどさまざまな画像フィルターを用いて,ノイズを減少させたり,画像を強調したりできます。
3次元データコンポーネントのセグメンテーション
MATLABは3次元画像セグメンテーションルーチンの自動化を支援する対話型のアプリと組み込み関数を提供します。
この例では,動的輪郭(蛇)を使用して3次元セグメンテーションを実行する方法を説明します。イメージの領域分割アプリを用いてボリュームデータの2次元スライスを対話型でセグメンテーションし,動的輪郭アルゴリズムの開始点を作成します。
ディープラーニングを用いた3次元画像処理
ディープラーニングを用いた3次元画像処理では,畳み込みニューラルネットワークとセマンティックセグメンテーションを使用して,3次元画像の関連する特徴を自動的に学習,検知,ラベル付けすることができます。
この例では,MATLABを用いて3次元U-Netネットワークを学習させ,3次元画像内に脳腫瘍のセマンティックセグメンテーションを実行する方法について説明します。