インスタンス・セグメンテーションとは
IBM Maximo Visual Inspectionの詳細はこちら
格子状に並んだ輸送用コンテナ

インスタンス・セグメンテーションとは、画像内の個々のオブジェクト・インスタンスの正確なピクセル単位の境界を予測する、ディープラーニングを用いたコンピューター・ビジョン・タスクの1つです。

インスタンス・セグメンテーションは、画像セグメンテーションというより大きな分野のサブセットであり、従来の物体検出アルゴリズムよりも詳細で洗練された出力を提供します。その他の画像セグメンテーション・タスクとして、セマンティック・セグメンテーションがあります。これは、画像の各ピクセルを意味クラス、つまりそれが表す「Thing」と「Stuff」というカテゴリーで分類するものです。また、パノプティック・セグメンテーションは、インスタンス・セグメンテーションとセマンティック・セグメンテーションを組み合わせた方法です。

インスタンス・セグメンテーションには、医療画像の解析から衛星画像内の対象オブジェクトの検出、自動運転車のナビゲーションの有効化に至るまで、さまざまな業界における画像処理に幅広く用いられています。

インスタンス・セグメンテーションと物体検出の比較

インスタンス・セグメンテーション・タスクと従来の物体検出との主な違いは、インスタンス・セグメンテーションは各オブジェクトのピクセル・レベルの境界を予測するのに対し、物体検出はオブジェクトのおおよその位置のみを予測することです。

従来の物体検出方法は、画像分類と物体位置特定を発展的に組み合わせたものです。さまざまな 機械学習アルゴリズムで訓練され、関連するカテゴリーのオブジェクトの視覚パターンを認識します(例えば、自動運転モデルは「車」や「歩行者」などを認識するようにトレーニングされます)。物体検出モデルは、入力画像の視覚データを分析して、関連するオブジェクト・インスタンスに注釈を付け、「バウンディング・ボックス」と呼ばれる矩形の領域を生成します。そこに各インスタンスが配置されます。

インスタンス・セグメンテーション・システムも同様に、画像内のオブジェクトを検出しますが、より詳細に検出します。インスタンス・セグメンテーション・アルゴリズムは、オブジェクト・インスタンスの位置に近づけるバウンディング・ボックスではなく、各インスタンスの正確な形状と面積であるピクセル単位の「セグメンテーション・マスク」を生成します。

Mask R-CNN などの主要なインスタンス・セグメンテーション・モデル・アーキテクチャーの多くは、セグメンテーション・マスクを生成するプロセスの前段階として従来の物体検出を実行します。このような「2段階」モデルは通常、速度は劣るものの、最先端の精度を提供します。

関連コンテンツ

IBMニュースレターの購読

インスタンス・セグメンテーションとセマンティック・セグメンテーションの比較

セマンティック・セグメンテーション・タスクは、インスタンス・セグメンテーションほど複雑ではありません。インスタンス・セグメンテーションとは異なり、セマンティック・セグメンテーションは、異なるインスタンスを数えたり区別したりしません。セマンティック・セグメンテーションの唯一の目的は、画像内の各ピクセルにセマンティック・クラス・ラベルでアノテーションを付けることです。

セマンティック・セグメンテーション・モデルは、Thing(「car」や「person」のような明確な形状を持つ数えられるエンティティーのクラス)と、Stuff(「sky」や「road」のような可変の形状を持つ数えられないエンティティーのクラス)を区別しません。

同じクラスの「Thing」の複数のオブジェクト・インスタンスが互いに近接しているか、互いに重なり合っている場合、セマンティック・セグメンテーション・モデルでは、それらを単一の画像セグメント内にグループ化するだけです。例えば、セマンティック・セグメンテーション・モデルでは、この画像内の道路の両側に密集して駐車している車がどのように処理されるかを考えてみてください。

逆に、インスタンス・セグメンテーション・モデルは、個々の「Thing」のセグメンテーション・マスクの検出と生成にのみ焦点を当てます。インスタンス・セグメンテーション・モデルでは、同じクラスのオブジェクトのオクルードされたインスタンスであっても、それぞれの異なるオブジェクト・インスタンスを描写できる必要があります。

インスタンス・セグメンテーションとパノプティック・セグメンテーションの比較

パノプティック・セグメンテーションには、画像内のすべてのピクセルの意味的分類と、それぞれの異なるオブジェクト・インスタンスの描写の両方が含まれます。

パノプティック・セグメンテーション・モデルは、理論的にはインスタンス・セグメンテーションを実行できますが、(その出力には、インスタンス・セグメンテーション・タスクに必ずしも関連するとは限らない追加情報が含まれるため)はるかに大きな計算コストがかかります。

パノプティック・セグメンテーションの初期の試みでは、単純にインスタンス・セグメンテーションとセマンティック・セグメンテーションの両方を別々に行い、後処理の段階でそれらの出力を組み合わせていました。この方法は計算効率が低く、セマンティック・モデルからのデータ出力とインスタンス・モデルからのデータ出力の不一致を解決するのに苦労することになります。

最近のアプローチでは、セマンティック・セグメンテーションの「ヘッド」とインスタンス・セグメンテーションの「ヘッド」を、特徴抽出のための共有「バックボーン」(多くの場合、Feature Pyramid Networks(FPN))に接続し、関連する視覚データを分離します。これにより、効率が向上し、不一致が解消されます。

インスタンス・セグメンテーションのユースケース

インスタンス・セグメンテーションは、さまざまなコンピューター・ビジョン・タスクに不可欠です。

  • 医用画像処理:インスタンス・セグメンテーションは、腫瘍のような組織や病理の特定の境界を検出するために使用されます。
  • 自動運転:インスタンス・セグメンテーションにより、自動運転車は車、物体、人、道路の特徴(信号機など)を正確に検出し、分類することができます。
  • 衛星画像:インスタンス・セグメンテーションは、GPSの目的で道路沿いの複数の建物を区別するなど、対象オブジェクトの識別と分離に役立ちます。
  • ロボティクス:インスタンス・セグメンテーションにより、物品の分類や欠陥の検出が可能になります。また、自動運転車と同様に、ロボットが環境内のオブジェクトを識別し、それを避けて移動できるようにします。

 

 

インスタンス・セグメンテーションはどのように機能するのか

ディープラーニングはインスタンス・セグメンテーションに欠かせないものとなっています。最新の画像セグメンテーション手法のほとんどすべてがニューラル・ネットワークを利用しています。近年、Transformerモデルが実行可能な代替手段として登場していますが、ほとんどの画像セグメンテーション手法(インスタンス・セグメンテーションに使用されるものを含む)は、何らかの形式の畳み込みニューラル・ネットワーク(CNN)を利用しています。

CNNベースのインスタンス・セグメンテーション・モデルは、次の2つのカテゴリーに分類されます。

  • Mask R-CNNのような2段階モデルでは、最初に物体検出を実行し、次にオブジェクト・セグメンテーション・マスクを生成します。
  • YOLACT のようなワンショット(またはシングル・ステージ)モデルは、両方のタスクを並行して実行します。

CNNベースのインスタンス・セグメンテーション・モデルも、Transformerベースのインスタンス・セグメンテーション・モデルも、エンコーダー-デコーダー構造を採用しています。これは、エンコーダー・ネットワークが入力画像から関連データを抽出し、デコーダー・ネットワークがその抽出された特徴データを使用して、セグメンテーション・マップで画像を再構成するというものです。

インスタンス・セグメンテーション・モデルを理解するには、それを構成する部分を理解することが役立ちます。

畳み込みニューラル・ネットワーク(CNN)

単純なCNNは、画像分類と(単一のオブジェクトを含む画像の場合は)物体分類を実行することができます。

数学的アルゴリズムと画像が互換性を持つためには、画像を数値形式で表現する必要があります。CNNは、RGB入力画像をピクセルの3次元(3D)配列として処理します。ピクセルの3次元は、それぞれR(ed)、G(reen)、および (B)lueという値を表します。

従来のCNNには、次の3種類の層があります。

  • 畳み込み層は、カーネルと呼ばれる2次元フィルターを使用し、畳み込みを実行することで画像から関連する特徴を抽出します。畳み込みを実行するたびに、カーネルは隣接する領域に移動(ストライド)し、画像全体を走査するまでこのプロセスを繰り返します。この特徴抽出の出力は、特徴マップです。

  • プーリング層は、特徴マップ・データを圧縮します。このプロセスは、ダウンサンプリングまたは次元削減とも呼ばれており、計算効率を高め、モデルのトレーニングにおけるオーバーフィッティングのリスクを軽減します。

  • 全結合層は、ニューラル・ネットワーク内のすべてのノードから視覚データを受信して照合(つまり「全結合」)し、画像とそれが認識するようにトレーニングされたカテゴリーが一致するかどうかを予測します。

畳み込み層を追加すると精度は向上しますが、層を増やしすぎると勾配が消えてしまい、モデルの最適化ができなくなります。ResNetアーキテクチャーはこの問題を解決し、数百(または数千)の層を持つCNNへの道を開きました。

動画を見る:「What are Convolutional Neural Networks (CNNs)?」(YouTube)
領域ベースのCNN(R-CNN)

R-CNNは、標準的なCNNでは達成できないマルチクラスの物体検出タスクを解決するために開発されました。後に進化したFaster R-CNNは、多くのインスタンス・セグメンテーション・モデルに不可欠なコンポーネントです。

(画像レベルではなく)オブジェクト・レベルで予測を行うために、R-CNNは領域提案を導入しました。R-CNNは選択的検索(ibm.com外部へのリンク)を使用して、オブジェクトを含む可能性のある重なり合った約2,000個のボックスを提案し、次にそれぞれの「物体提案」をCNNに送り込んで特徴抽出を行います。次に、サポート・ベクター・マシン(SVM)アルゴリズムがオブジェクトを分類し、境界ボックスを生成します。

Fast R-CNNは、まず画像全体をCNNに送り込んで特徴抽出を行い、次に得られた特徴マップを使って関心領域(ROI)を特定することで、R-CNNの速度を劇的に向上させました。その後まもなく、Faster R-CNNは、トレーニング可能なResion Proposal Network(RPN)を導入し、低速でトレーニング不可能な選択的検索アルゴリズムに取って代わることで、速度と精度をさらに向上させました。

論文を読む:「Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks」
完全畳み込みネットワーク

FCNは、単純なCNNの固定された全結合層を、追加の畳み込み層とプーリング層で置き換えます。つまり、「完全畳み込み」になります。FCNの登場により、現代の画像セグメンテーションの時代が到来しました。

従来のCNNと同様に、FCNは特徴抽出とダウンサンプリングにResNetやVGGなどのエンコーダー・ネットワークを使用します。しかし、FCNは画像全体を分類するために、エンコードされたデータを全結合層に渡すのではなく、「デコーダー」ネットワークの層を通してエンコードされたデータを渡します。デコーダー・ネットワークでは、圧縮された特徴データが分類およびアップサンプリングされ、ピクセル単位のセグメンテーション・マスクで元の画像が再構成されます。

当然、ダウンサンプリングの過程で失われるデータもあります。U-Netのような、その後に登場したFCNのバリエーションでは、より詳細な情報を保持するために、いくつかの畳み込み層を選択的にバイパスするスキップ接続が導入されました。

論文を読む:「Fully Convolutional Networks for Semantic Segmentation」
Mask R-CNN

Mask R-CNNアーキテクチャーは、Faster R-CNNの物体検出とFCNのセグメンテーション機能を組み合わせて、インスタンス・セグメンテーションにおける画期的な進歩を実現しました。

RPNが提案されたオブジェクトのバウンディング・ボックスを生成し、残りのFaster R-CNNネットワークが、どの領域提案にオブジェクトが含まれるのかを確認した後(そして、回帰を実行して、オブジェクトのバウンディング・ボックスの精度を向上させた後)、FCNはそれぞれのバウンディング・ボックスに含まれるオブジェクトのセグメンテーション・マスクを作成します。

Faster R-CNNネットワークは、各オブジェクト・インスタンスが個別にセグメンテーションされるようにそれぞれ区別できるため、このプロセスは、オブジェクトがオクルードされている場合でも効果的です。

論文を読む:「Mask R-CNN」
ワンショット(シングル・ステージ)モデル

製造組立ラインでの欠陥品の検出など、特定の用途のインスタンス・セグメンテーションでは、リアルタイムの結果が必要です。シングル・ステージ・モデルは、速度が最優先されるユースケース向けに開発されました。

Mask R-CNNのような2段階モデルでは、精度は高くなりますが、本質的に逐次的なアプローチを高速化することは困難です。YOLACT(You Only Look At Coefficients)のようなワンショット・インスタンス・セグメンテーション・モデルは、代わりにYOLO(You Only Look Once)のようなシングル・ステージの物体検出モデルをベースにして構築されています。

YOLACTでは、FPNが高解像度の特徴マップを作成し、それを2つの並列ブランチに供給します。FCNブランチは、潜在的なオブジェクト・インスタンスのk個の「プロトタイプ・マスク」を提案します。同時に、全結合層の分岐により、領域提案に似た多くの「アンカー・ボックス」が生成され、k個の「マスク係数」(プロトタイプ・マスクごとに1つ)も予測されます。これは、提案されたオブジェクトが、提案されたセグメンテーション・マスクと一致する可能性を表します。最も高いマスク係数を持つ提案されたインスタンスをフィルタリングするために、非極大値抑制(NMS)が使用されます。

論文を読む:「YOLACT++: Better Real Time Instance Segmentation」
Transformerモデル

インスタンス・セグメンテーションやパノプティック・セグメンテーションにおける最近のイノベーションでは、自然言語処理などの分野での成功に触発されて、Transformerモデルが研究されています。Vision Transformer(ViT)のようなモデルは、畳み込みの代わりにSelf-Attentionを使用し、画像の視覚的コンテキストの全体的な分析を可能にしています。

克服すべき主な課題は、計算量でした。Self-Attentionの計算の複雑さは画像サイズに応じて二次関数的に増加します。Swin Transformerは、(従来のスライディング・ストライドの代わりに) Shifted Windowを使用して、重なり合わないSelf-Attentionを作成します。これで、計算の複雑さは画像サイズに比例して二次関数的ではなく、線形関数的に増加することになります。Swinベースのモデルは、今や主要なCNNベースのフレームワークの精度に匹敵しています。

論文を読む:「Swin Transformer: Hierarchical Vision Transformer using Shifted Windows」
トレーニング・インスタンス・セグメンテーション・モデル

インスタンス・セグメンテーションに使用される、ディープラーニング・アルゴリズムなどの機械学習アルゴリズムには、トレーニングが必要です。CNNベースのモデルもTransformerベースのモデルもバックプロパゲーションでトレーニングされます。モデルは、アノテーション付きのトレーニング画像をリバースエンジニアリングして、当面のタスクに適切な重みとバイアスを学習します。

トレーニング・データのアノテーションは、適切な機械学習を最大限に利用し、トレーニングされたモデルを評価および最適化するために、非常に正確である必要があります。人間の能力は最も正確なコンピューター・ビジョン・モデルをはるかに超えているため、このアノテーションは手作業で行われる、コストと労力のかかるプロセスです。

カスタム・データセットの時間とコストを回避するために、ほとんどのモデルは大規模なオープンソース・トレーニング・データセットを利用するか、事前トレーニングされたエンコーダー・ネットワークをより具体的な視覚タスクに合わせて微調整します。一般的なオープンソース画像データセットには次のものがあります。

  • COCO(Common Objects in Context):80個のthignカテゴリーと91個のStuffカテゴリーにわたるアノテーション付きセグメントを含む、約33万枚の画像の大規模なデータセット

  • ADE20K:MITが作成したシーン・セグメンテーション・データセット。150以上の意味クラスを持つ、20,000を超える画像が含まれています

  • Cityscapes : 都市の街路に焦点を当てた大規模なデータセット.さまざまな時間帯、季節、気象条件にわたる50都市の画像が含まれています。

インスタンス・セグメンテーション・モデルの評価

インスタンス・セグメンテーションと物体検出の性能の最も一般的な評価基準は、 Intersection over UnionIoU)とAverage PrecisionAP)です。これらの指標は通常、「COCOデータセットではAP 54.4」など、ベンチマーク・データセットに対する性能の観点から表されます。

Intersection over Union(IoU)
IoUは、Ground Truthマスクとモデルの予測値とのピクセル単位の重なりを測定し、パーセンテージまたは0~1の整数で表します。複数のインスタンスを持つ画像では、平均IoU(mIoU)が使用されます。

IoUは直感的に操作できますが、次の重要な制限があります。

  • 大雑把な予測が返されます。セグメンテーション・マスクが大きすぎる場合でも、その中にGround Truthマスクが含まれていれば、IoUのスコアは満点の1になります。
  • 損失関数としては使用できません。重なりのない悪い予測の場合(わずかにずれている場合でも、かけ離れている場合でも)、IOU=0です。つまり、IoUは微分できないため、アルゴリズムはモデルの最適化には役立ちません。Generalized Intersection over UnionGIoUibm.com外部へのリンク)は、IoUを微分できるように修正したものです。

Average Precision(AP)
AP は、適合率-再現率の曲線の下の面積として計算されます。これは、真陽性(TP)、真陰性(TN)、偽陽性(FP)、偽陰性(FN)のような離散的な結果値を使用して計算される、適合率と再現率という2つの測定基準の間のトレードオフのバランスをとります。

  • 適合率は、肯定的な予測(この場合は、セグメント化されたインスタンスのピクセル)が正しい頻度を測定します:TP/(TP+FP) 。偽陰性を返すという欠点があります。
  • 再現率は、肯定的な予測が取得される頻度を測定します:TP/(TP+FN) 。偽陽性を返すという欠点があります。

関連性を最大化するために、APは特定のIoUしきい値内で計算されることがよくあります。例えば、「AP50」は、IoUが50パーセントを超える予測に対してのみAPを計算します。Mean average precision(mAP)は、計算されたすべてのしきい値にわたる平均AP値として、状況に応じて使用されます。

 

 

関連ソリューション
IBM Maximo Visual Inspection

人工知能ビジョン・モデルのラベル付け、トレーニング、導入のための直感的なツールセットを使用して、自動視覚検査のためのノーコード・コンピューター・ビジョンを最大限に活用できます。

IBM Maximo Visual Inspectionの詳細はこちら

インスタンス・セグメンテーションのリソース IBM Research:コンピューター・ビジョン

現代のコンピューター・ビジョン・システムは、画像認識と分析に関しては超人的な精度を誇りますが、見ているものを実際に理解しているわけではありません。IBM Researchでは、私たちと同じように世界を見る能力を持つAIシステムを設計しています。

コンピューター・ビジョンと画像処理入門

この初心者向けコースは、コンピューター・ビジョンとそのさまざまな業界における用途を理解するのに役立ちます。コースの一環として、基本的な画像処理にPython、Pillow、OpenCVを活用し、画像分類と物体検出を行います。

IBM® Maximo Visual Inspectionを使ってみる

IBM Maximo Visual Inspectionの使用を始めて、資産や製品を検査し、生産や品質の問題の原因となる欠陥を特定するためのAIベースのモデルを作成し、トレーニングします。

詳細情報はこちら

人工知能ビジョン・モデルのラベル付け、トレーニング、導入のための直感的なツールセットであるIBM Maximo Visual Inspectionを使用して、自動視覚検査のためのノーコード・コンピューター・ビジョンを最大限に活用しましょう。

IBM Maximo Visual Inspectionの詳細はこちら MVIのデモはこちら