はじめに

戦略技術センターでActive Learningの研究に取り組んでいる梁です。本記事では、画像セグメンテーション (以下セグメンテーション) のアノテーションを効率化する方法の1つであるActive Learningについて紹介します。具体的には、セグメンテーションにおけるActive Learningの研究動向について紹介します。

セグメンテーションとは

セグメンテーションは、画像中の各ピクセルに、事前に定義したカテゴリの1つを割り当てるタスクです。図1に、実際の画像に対してセグメンテーションをした結果を示します。この図では、左に示す元画像の各ピクセルに対して、芝(GRASS)、猫(CAT)、木(TREE)、空(SKY)のいずれかのカテゴリを割り当てていることがわかります。セグメンテーションは、同一のカテゴリからなる領域(画素の集まり)を認識するために使うことができます。

図1. セマンティックセグメンテーションの例。画像は[1]より引用。
セグメンテーションは、さまざまなアプリケーションの基礎となる重要な技術です。アプリケーションとしては、自動運転や部品の欠陥検知、ポリープの検出などが挙げられます。たとえば、自動運転車は車両や歩行者、交通標識、歩道、その他の道路の特徴を認識する必要があります(下図)。欠陥検知は、品質安定性の改善に利用されます。またポリープ検出は、医療分野で診断の補助や自動化に活用できます。

図2. 自動運転におけるセグメンテーションの例。画像は[2]より引用。

セグメンテーションの課題

一般的なセグメンテーションでは教師あり学習が使われており、高い性能を実現するためには、データへのアノテーションが大きな負担となります。セグメンテーションのアノテーションでは、一般的に、次の図のように多数の頂点を指定し、ポリゴンを作成することで行うので、時間がかかります。また、医療画像のような分野では、アノテーションするために専門的な知識を持つ医師が必要なことがあり、多忙な医師にとって負担となりえます。

図3. セグメンテーションにおけるアノテーション。画像は[3]より引用。
対象となる画像や、アノテーションの方針に依存しますが、アノテーションには数分から数時間かかります。Linら[4]は1つのセグメントに対して、1分20秒以上の時間を要したと報告しています。Cordtsら[5]は、速度重視のアノテーションでは1画像につき7分、品質重視のアノテーションでは1画像につき90分の時間を要したと報告しています。教師あり学習では、高い性能を実現するために数千枚〜数万枚の画像を使うことが多いため、アノテーションにかかるコストは膨大なものとなります。

解決策:Active Learning

Active Learningはアノテーションの負担を減らすために使われる手法の一種であり、学習アルゴリズムがアノテーターに対話的に問い合わせることで、学習に有用なデータを優先して選択し、アノテーションをします。一般的には、少量の教師ありデータを用いてモデルを一旦学習し、そのモデルで教師なしデータに対して予測を行い、一定の基準で選ばれたデータに対して人手でアノテーションし、最初の教師ありデータと合わせて再度モデルを学習することを繰り返します。以下の図にそのサイクルを示します。

図4. Active Learningのサイクル

Active Learningは、ラベルの収集が困難であったり、時間がかかったり、コストがかかるプロジェクトで特に魅力的です。なぜなら、単にランダムにデータを選択してアノテーションする場合と比べて、より少ないラベル付きデータで高い性能を達成できるからです。以下の図では、ランダムにデータを選択した場合とActive Learningを使って選択した場合に対するモデルの性能を示しています。横軸がデータ数、縦軸がモデルの予測性能を表していますが、同じデータ数でもActive Learningを使って選択したデータのほうが高性能なことがわかります。

図5. モデルの学習曲線。同じ80%の正解率でも、Active Learningを使った場合は40%のデータ数で済むのに対し、使わなかった場合は70%のデータ数が必要になる。

以降の節で、セグメンテーションにおけるActive Learningの研究動向について説明していきます。

研究動向

本節では、Active Learningにおいて重要な以下の2つに関する課題とアプローチを説明します。

  • データを選ぶ基準
  • アノテーションコスト

データを選ぶ基準に関する課題

データを選ぶ基準とは、データの有益さを測る指標のことです。Active Learningのサイクルにおけるクエリのステップでは、何らかの指標でデータを評価し、学習に有益なデータを優先して選択します。指標には、次のような種類があります。

  • 不確定性指標:データを予測する時の不確かさを計算する指標です。各データに不確かさでスコア付けをし、スコアが高い順に取得します。
  • 多様性指標:データ間の違いを計算する指標です。データ間の違いが大きなデータ集合を選択します。
  • ハイブリッド指標:不確定性指標と多様性指標を同時に考慮する指標です。選んだデータは不確かさが高く、データの間は違いが大きなものになります。

不確定性指標のデメリットとして、冗長なデータ(類似度が高い)が選ばれる点を挙げられます[6]。このデメリットは画像分類だけではなく、セグメンテーションにも存在します。不確定性指標では、各データの不確かさだけを見ており、ミニバッチ内のデータ間の関係を考慮していません。つまり、ミニバッチ内のデータには、不確定性スコアが高くても、冗長なデータが存在します。冗長なデータは違いが少ないため、有益さも小さくなります。そのため、モデルを学習しても、汎化性能の向上に効果的ではないと考えられます。

図6. 猫の画像。(a)と(b)の猫は同じ種類(ブリティッシュショートヘア)のため、(c)のトラネコと比べて類似度が高いと考えられる。

冗長なデータが選ばれないようにするため、多様性指標を使うことが提案されています。多様性指標はデータ間の違いを測ります。よくある手法はデータ間の違いを類似度で計算します。類似度が低いほど、多様性が高くなります。たとえば、図6に対して、多様性指標を使うと、種類の違う(a)と(c)を選ぶことが期待できます。画像分類において、Core-setは初めての多様性指標として提案され、データ量を30%削減できることが報告されています[7]。しかし、その指標をセグメンテーションに使うと、効果的ではないという報告もあります[8]。

セグメンテーションにおけるActive Learningに対して、不確定性指標と多様性指標の両方を考慮する研究があります[8]。この研究では、1枚の画像を複数の領域に分割し、他の画像の領域との類似度を計算します(図7)。類似度の高い領域が存在する場合、ペナルティを与えます。こうすることで、似た領域が含まれる画像を選びにくくなります。実験では、5〜15%のデータを使うだけで、全データを使って学習した場合の90%〜95%の性能を達成できると報告されています(図8)。

図7. 緑の部分はアノテーション対象の領域。(a) 教師あり学習の場合、画像のすべての部分をアノテーションする必要がある。(b) モデルの学習に有益なのは画像全体ではなく、画像の一部領域だけ。Region-based active learningでは一部の領域だけを選ぶ。(a)と比べ、壁と床板のアノテーションが要らなくなる。(c)ミニバッチ内で類似度が高い領域が存在するため、多様性を考慮する仕組みを導入し、冗長なアノテーション作業を減らす。画像は[8]より引用。

図8. 異なるデータの選択基準を使い、2つのデータセット(S3DIS, SemanticKITTI)と2つのモデル(SPVCNN, MinkowskiNet)で実験した結果。横軸がラベリングされたデータポイントの割合。縦軸はモデルのmIoUスコア。Oursは提案手法の実験結果。S3DISでは、15%以下のデータを学習するだけで、全データを使って学習した時の90%のmIoUスコアに達成している。SemanticKITTIでは、5%以下のデータを学習するだけで、全データを使って学習した時の95%のmIoUスコアを達成。図は[8]より引用。
とはいえ、セグメンテーションを対象とした指標の研究はまだ多いとは言えません。ここで紹介した以外にも、領域ごとの多様性をどう定義するのか、多様性以外の指標も導入する必要があるか、予測したクラスの領域が被った時にどのように対処するか、などの問題が残っています。

アノテーションコストに関する課題

アノテーションコストとは、Active Learningのアノテーション段階で、データにラベルをつける作業量のことです。簡単なタスクであれば、コストはデータ数から直接予測できます。たとえば、画像分類の場合、図9のように1枚の画像に1つのラベルをつけます。作業が簡単なため、1枚の画像をアノテーションするのはすぐに終わります。その作業量は1枚あたりにかかる時間とラベルを付けたデータ数から求められます。

図9. 画像をアノテーションする例。左が画像、右がラベル。

セグメンテーションにおけるActive Learningの効果を正しく評価するため、データの削減量ではなく、クリック数をベースにしたアノテーションコストが提案されています。クリックベースのアノテーションコストは、次に挙げるようなアノテーションの手法によって変わります。

  • ポリゴンアノテーション:図3のように、物体の輪郭をクリックして囲むことでアノテーションします。
  • スーパピクセルアノテーション:図10のように、画像をスーパピクセル(距離的・色的に近い画素のまとまり)に分割し、スーパピクセルをクリックすることでアノテーションします。
  • インタラクティブアノテーション:アノテーターから与えられたヒントを活用して、モデルが自動的にアノテーションします。図11では、クリックでヒントを与えることでアノテーションしています。ここで緑はオブジェクトであること、赤はオブジェクトではないことを表し、青の領域はモデルによって自動選択されています。
図10. スーパピクセルアノテーションの例。馬に属するスーパピクセルをクリック(黄色い点)し、アノテーションする。画像は[3]より引用。

図11. インタラクティブアノテーションの例。緑はオブジェクトであること、赤はオブジェクトではないことを表す。画像は[3]より引用。
ポリゴンアノテーションでは、アノテーションコストをより正確に測るため、データ量の代わりに、クリック数をベースにしたアノテーションコストがActive Learningに初めて導入されました[9]。Mackowiakらはクリックベースのアノテーションコストを予測するモデルを提案しました。データを選択する時、画像の有益さとアノテーションコストを同時に考慮することで、モデルの予測性能を維持しつつ、アノテーションコストを削減できます。実験の結果、Cityscapesデータセットにおいて、アノテーションコストを83%削減しつつ、全データを使って学習した場合の95%のmIoUを達成しています。

クリック数をベースにした手法の欠点として、データを学習するモデルとは別にアノテーションコストを予測するモデルを用意しなければならない点が挙げられます。この問題を解決するため、Collingらはモデルの予測値からクリック数を直接推測する仕組みを提案しています[10]。これにより、使うモデルが1つで済むため、複数のモデルを同期して学習せずに済みます。データの重要性を計算する時は、不確定性スコアとクリック数の両方を考慮します。実験の結果、Cityscapesデータセットにおいて、アノテーションコストを90%削減しつつ、全データを使って学習した場合の95%のmIoUを達成しています。

アノテーションコストを減らすため、スーパーピクセルアノテーションをActive Learningのインタフェースに使う研究があります[11]。この研究では、図13に示すように、画像に対してスーパピクセルを生成し、アノテーターはスーパピクセルをクリックします。実験の結果、Cityscapesデータセットにおいて、アノテーションコストを92%削減しつつ、全データを使って学習した場合の95%のmIoUを達成しています。

図12. rectangle+polygonのアノテーション方式(下左)とスーパピクセルアノテーションの方式(下右)。前者のクリック数=ポリゴンクリック数(赤い点)+交叉クリック数(青い点)+クラスクリック数(ピンクの点)。後者のクリック数=クラスクリック数(ピンクの点)。画像は[11]より引用。
インタラクティブアノテーションについては、記事の執筆時点では、Active Learningに適用し、クリック数をへらす研究はまだありません。インタラクティブアノテーションは、その仕組み上、スーパピクセルアノテーションよりクリック数が少なくなります。これをActive Learningに適用した場合に、アノテーションコストをどう定義し、どのくらいの性能が出るかは興味深い点です。

おわりに

本記事ではセグメンテーションにおけるActive Learningを紹介しました。研究動向では、主にデータを選ぶ基準とアノテーションコストに関する課題と現状での解決策を紹介しました。この記事が読者のお役に立てれば幸いです。

参考資料

  1. CS231n: Deep Learning for Computer Vision | Lecture 9
  2. Motion-based Segmentation and Recognition Dataset
  3. 画像セグメンテーションにおけるアノテーションの効率化
  4. Microsoft COCO: Common Objects in Context
  5. The Cityscapes Dataset for Semantic Urban Scene Understanding
  6. Uncertainty-Based Active Learning via Sparse Modeling for Image Classification
  7. Active learning for convolutional neural networks: A core-set approach
  8. ReDAL: Region-based and diversity-aware active learning for point cloud semantic segmentation
  9. CEREALS – Cost-Effective REgion-based Active Learning for Semantic Segmentation
  10. MetaBox+: A new Region Based Active Learning Method for Semantic Segmentation using Priority Maps
  11. Revisiting Superpixels for Active Learning in Semantic Segmentation with Realistic Annotation Costs