画像セグメンテーションとは - MATLAB & Simulink

画像セグメンテーション

画像セグメンテーションは、デジタル画像の処理や解析に一般的に使用される手法で、多くの場合、画像内のピクセルの特性に基づいて、画像を複数のパーツまたは領域に分割します。画像セグメンテーションには、前景と背景を分離したり、色や形状の類似性に基づいてピクセルの領域をクラスタリングしたりすることが含まれます。たとえば、医用画像における画像セグメンテーションの一般的な用途は、3D ボリュームの画像やボクセル内のピクセルを検出およびラベル付けして、患者の脳や他の臓器の腫瘍を表現します。

画像セグメンテーションが重要な理由

ドメイン固有の知識を活用して、セグメンテーションの問題を効果的に解決するために、さまざまな画像セグメンテーションのアルゴリズムや手法が開発されています。これらの応用分野には、医用画像処理、自動運転、ビデオ監視、マシンビジョンなどがあります。

医用画像処理

セグメンテーションと解析には、臨床診断、治療計画、医学研究における重要な用途があります。セグメンテーションを使用して、臓器、腫瘍、細胞、インプラントなどの関心領域をラベル付けし、解析します。たとえば、ラジオミクスを使用して、腫瘍が悪性か良性かを分類し、後の経過観察のスキャンで腫瘍の成長を測定することができます。また、セグメント化された顕微鏡画像で細胞の位置と形態を追跡したり、医薬品試験で骨密度を解析したりできます。セグメンテーション マスクは、3D プリントや有限要素解析などの用途向けに 3D 解剖学モデルを生成する際にも使用され、患者固有の手術計画に役立ちます。

セグメントを識別するために色付きの強調表示を適用して表示した Medical Imaging Toolbox の画像セグメンテーション。

Medical Imaging Toolbox™ を使用したセグメンテーションの例。(左上から時計回りに) 肺の CT スキャン、脳の MRI スキャン、細胞の顕微鏡画像、心臓 MRI による左心室。

自動運転

自動運転車など自律型車両の知覚を設計する場合、システムが道路上の車両などの物体を識別して位置を検出できるようにするために、セマンティック セグメンテーションがよく用いられます。

高速道路上の車両の写真を同じ画像の横に表示した画像セグメンテーションの例。2 番目の画像では、セグメントを識別するために色付きの強調表示が適用されています。

Computer Vision Toolbox™ のセマンティック セグメンテーションを使用して、画像の各ピクセルをクラスラベル (車両、道路、空、歩行者、自転車など) と関連付けます。(ドキュメンテーションを参照してください。)

画像セグメンテーションの仕組み

画像セグメンテーションの最初のステップでは、画像をマスクまたはラベル付き画像で表わされるピクセル領域の集合に変換します。画像をセグメントに分割すると、画像全体を処理するのではなく、画像の重要なセグメントだけを選択して処理できます。

一般的な手法としては、ピクセル値における急激な不連続性を探す方法があります。これは通常、領域を定義するエッジを示しています。

2 つの横並びの画像には、複数の段落のテキストを含む同じページが表示されています。左側の画像では暗く、判読できない部分があり、右側の処理済み画像では視認性が向上しています。

画像の適応しきい値処理に Image Processing Toolbox の adaptthresh 関数を使用します。バイナリ画像に変換すると、画像内のテキストの視認性が向上します。(MATLAB コードを参照してください。)

もう 1 つの一般的な方法として、画像の領域における類似性を検出する方法があります。この方法に基づく手法には、領域拡張法、クラスタリング、しきい値処理などがあります。

元の画像とセグメント化された画像を横に並べて比較した、領域を識別する画像セグメンテーションの 3 つの例。

Image Processing Toolbox を使用して、色の値、形状、またはテクスチャに基づいた領域をセグメント化します。(ドキュメンテーションを参照してください。)

このトピックについてさらに詳しく

MATLAB を使用した画像セグメンテーション

MATLAB® を使用することで、以下を行うことができます。

  • アプリを使用して、さまざまなセグメンテーション手法を対話形式で確認する
  • 組み込みの画像セグメンテーション アルゴリズムを使用して、画像解析ワークフローを簡略化する
  • 画像セグメンテーションのディープラーニングを実行する

アプリを使用して対話形式で画像をしきい値処理する

イメージの領域分割アプリ

対話形式のイメージの領域分割アプリを使用すると、画像をセグメント化する複数の手法を繰り返し試行して、期待どおりの結果を得ることができます。たとえば、アプリを使用し、車両の画像をセグメント化して、さらに調整することができます。

駐車場の写真で車体を識別するために使用されている MATLAB のイメージの領域分割アプリを表示したスクリーンショット。

イメージの領域分割アプリを使用して、さまざまなセグメンテーション手法を対話形式で適用します。

色のしきい値アプリ

色のしきい値アプリを使用すると、さまざまな色空間に基づいて画像の色を対話形式で操作することで、しきい値処理をカラー画像に適用できます。たとえば、色のしきい値アプリは、カラー画像の点群制御を用いたバイナリマスクの作成に使用できます。

色のしきい値アプリを使用して、前景の鳥を背景から分離するために色のセグメンテーションを適用します。

さまざまな画像セグメンテーション手法の活用

MATLAB と Image Processing Toolbox™ の関数を使用すると、さまざまな画像セグメンテーションの手法を試して、専門知識を深めることができます。その手法には、しきい値処理、クラスタリング、グラフベースのセグメンテーション、領域拡張法に加えて、Segment Anything モデル を用いたディープラーニング手法なども含まれます。

しきい値処理

バイナリ画像を作成するには、imbinarize 関数を使用して、2D または 3D のグレースケール画像にしきい値処理を実行します。RGB カラー画像からバイナリ画像を作成するには、rgb2gray 関数を使用して、まずグレースケール画像に変換します。

元のカラー画像と変換されたバイナリ画像を横に並べて比較したスクリーンショット。

Image Processing Toolbox の imbinarize 関数を使用して、カラー画像をバイナリ画像に変換します。(MATLAB コードを参照してください。)

クラスタリング

この手法を使用すると、特定のクラスタリング アルゴリズムを用いてセグメント化されたラベル付き画像を作成できます。k-means クラスタリングに基づくセグメンテーションを使用すると、imsegkmeans は色空間内の 1 つの画像を複数のクラスターにセグメント化します。

白黒のタイルの床にいる薄茶色の犬の元の画像と、強調表示されたセグメントを示す処理済みの画像を横に並べて比較したスクリーンショット。

imsegkmeans k-means クラスタリング手法を使用して、床のパターン化された背景を分離します。(MATLAB コードを参照してください。)

グラフベースのセグメンテーション

Lazy Snapping などのグラフベースのセグメンテーション手法を使用すると、1 つの画像を複数の前景と背景領域にセグメント化できます。MATLAB を使用すると、イメージの領域分割アプリでプログラム (lazysnapping) からまたは対話形式で、画像に対してこのセグメンテーションを実行できます。

紫色の布の上に置かれた野菜の元の画像と、布 (背景) を削除した処理済み画像を横に並べて比較したスクリーンショット。

Image Processing Toolbox の lazysnapping 関数を使用して、前景と背景の領域を分離します。(MATLAB コードを参照してください。)

前景からオブジェクトを削除するために使用されているイメージの領域分割アプリを示すスクリーンショット。

Image Processing Toolbox のイメージの領域分割アプリを使用して、グラフベースのセグメンテーションを対話形式で適用します。

領域拡張法

領域拡張法は、領域ベース (またはピクセルベース) の単純な画像セグメンテーション手法です。広く利用されているアルゴリズムの 1 つに activecontour があります。このアルゴリズムは初期シードポイントの隣接ピクセルを調べて、ピクセルの隣接領域に追加するべきかどうかを繰り返し判定します。イメージの領域分割アプリを使用して、画像にこのセグメンテーションを実行することもできます。

イメージの領域分割アプリを使用して、領域拡張法を実行します。

画像セグメンテーションのディープラーニング

畳み込みニューラル ネットワーク (CNN) を使用すると、セマンティック セグメンテーションと呼ばれるディープラーニング手法を通じて、画像の各ピクセルとクラスラベルを関連付けることができます。セマンティック セグメンテーションの応用分野には、自動運転、工業検査、ロボティクス、医用画像処理、衛星画像の解析などがあります。詳細については、ディープラーニングを使用したセマンティック セグメンテーションを参照してください。

画像セグメンテーションを実行するために左から右にネットワークを横断する画像の視覚的表現。

セマンティック セグメンテーション手法の概略図。

一連の画像とこれに対応するラベル付けされた画像を使用して、セマンティック セグメンテーション ネットワークを設計し学習させ、学習済みのネットワークを使用して新しい画像をラベル付けできます。学習用の画像をラベル付けするには、イメージ ラベラー アプリ、ビデオラベラーアプリ、またはグラウンド トゥルース ラベラー アプリを使用できます。

セグメント化された画像の各強調表示セグメントにラベル付けした、Image Processing Toolbox のイメージ ラベラー アプリのスクリーンショット。

イメージ ラベラー アプリを使用して、セマンティック セグメンテーションを実行します。