AI技術の進歩により、画像内の物体を精度よく予測できるようになってきました。私たちの身の回りでも、防犯カメラや類似画像の検索など、多くの場面でAIが活用されています。
AIで画像認識する方法は、主に以下の3つに大別されます。
上記の中でも重要なのが「セグメンテーション」です。セグメンテーションは、機械学習で画像を複数オブジェクトに分割する技術です。
画像認識方法 | 概要 |
画像分類 | 画像自体のカテゴリーやクラスを分類 |
物体検出 | 画像ないの物体の位置・個数・種類を特定 |
セグメンテーション | 画像をオブジェクトに分割 |
セグメンテーションを含むAIによる画像認識は急速に発展を遂げています。すでに自動運転や顔認識といったシーンで実用化され、私たちの生活に入り込んでいます。
本記事では、セグメンテーションの中で最もメジャーな「セマンティック・セグメンテーション」の概要や用いられている手法、活用事例を紹介しておりますので、事業に活用するイメージまで掴んでいただけます。
また、画像認識とは?種類・仕組み・AI開発の流れ・事例・問題点を解説!では、画像認識の種類や活用事例、モデルの構築方法などについて詳しく解説しています。あわせてお読みいただくことで本記事の理解をさらに深められるでしょう。
【目次】 |
セマンティック・セグメンテーションとは、ピクセル単位でクラスラベルを割り当てる画像認識方法です。画像中の各物体が何なのか、つまりどのクラスに属するか、境界がどこかを詳細に把握することが可能となります。
例えば、上記画像のように、画像内の自動車、樹木、道路標示、地形、影などをピクセルレベルで認識し分割することが可能です。
セマンティック・セグメンテーションの主な用途としては、自動運転、医療、セキュリティ、ロボットビジョンがあります。これらの分野では、精緻な物体認識が重要であり、物体の「種類」、「位置」だけでなく、「形状」や「範囲」まで詳細に理解することが求められます。
一方で、セマンティック・セグメンテーションでは個別の物体の区別はしません。特に、同じクラスの物体が画像内に複数存在し、それらが重なり合っている場合、各物体を個別に識別できません。
例えば、複数の人間が集まっている群集の画像において、各人間を個別に識別することはセマンティック・セグメンテーションでは困難です。このような問題を解決するためには、インスタンス・セグメンテーションが用いられます。
高精度なセグメンテーションを行うためには、正確なアノテーションが欠かせません。セグメンテーションを行うためには、各ピクセルが何を表しているのか(例えば「犬」、「猫」、「背景」など)を事前にアノテーション作業で教える必要があります。
画像ごとにピクセルレベルでのアノテーションを行うのは大変な作業で、時間とコストがかかります。さらに、難解な形状の物体や微妙な色彩の違いなど、細かい部分で正確さが求められる場合も多いです。
そのため、アノテーションは難易度の高い技術であり、専門の知識や経験が必要です。アノテーションはセグメンテーションにおいて重要な工程であり、その精度が結果に直結します。プロジェクトによっては、専門のアノテーション会社に依頼することもあります。
セグメンテーションには、セマンティック・セグメンテーション以外にも2つの手法があります。
① インスタンス・セグメンテーション ② パノプティック・セグメンテーション |
これらの手法はそれぞれ異なる目的や要求に応じて適用され、その適切な選択と使用が、高品質な画像認識システムを構築する鍵となります。ここでは、それぞれの手法の特徴を解説します。
インスタンス・セグメンテーションは、物体を個別に認識できるセグメンテーション方法です。セマンティック・セグメンテーションが同一クラスの物体を一つとして扱うのに対し、インスタンス・セグメンテーションでは同一クラスでもそれぞれの物体を別々に識別します。
例えば、運転支援システムでは、道路上の車を個々に認識するためにインスタンス・セグメンテーションが使用されます。画像内にあるすべての車を「車」クラスで認識するだけでなく、インスタンス・セグメンテーションによってそれぞれの車が異なる要素として識別されます。これにより、それぞれの車の位置、方向、速度などを追跡することが可能になります。
インスタンス・セグメンテーションは特に物体が重なっている場合や、特定の物体の数を数えたい場合に有用です。
パノプティック・セグメンテーションは、全てのピクセルに対してラベル付けを行いつつ、同一物体の個体も識別するセグメンテーション方法です。セマンティック・セグメンテーションとインスタンス・セグメンテーションを合わせたような特徴を持っています。
例えば、自動運転車の視覚システムでは、インスタンス・セグメンテーション的な手法で路上の物体(車、歩行者、自転車など)を個々に認識しなければなりません。同時に、セマンティック・セグメンテーション的な手法で道路、歩道、樹木などの背景要素をクラスごとにラベル付けする必要があります。これら両方のタスクを一度に達成できるのがパノプティック・セグメンテーションです。
セマンティック・セグメンテーションやインスタンス・セグメンテーションに比べて高度な画像認識が行えるため、自動運転や医療など、高い技術が求められる際に有効です。
セマンティック・セグメンテーションには、数多くの手法が用いられています。以下が、主な手法です。
① FCN(全層畳み込みネットワーク) ② SegNet ③ FPN(特徴ピラミッドネットワーク) ④ R-CNN(領域ベースの畳み込みニューラルネットワーク) ⑤ CNN(畳み込みニューラルネットワーク) |
特にセマンティック・セグメンテーションに関連するものはFCNとSegNetです。一方、R-CNN系の手法やFPNは、インスタンス・セグメンテーションや物体検出タスクに一般的に使用されます。ここでは、これらの手法とその仕組みを簡単に解説します。
FCNは、画像の特徴を抽出する「畳み込み層」のみでセグメンテーションを行う画像認識手法です。FCNには「全結合層」が不要で、すべてを「畳み込み層」のみで構成されている特徴があります。
画像全体に対して一度の処理でセマンティック・セグメンテーションを行える点が重要な特徴であり、ピクセル単位でのラベリングを可能にしました。
全結合層では、画像の2次元データを1次元に並べ替えて結果を出力します。しかし、FCNは全結合層を用いないため、位置情報を損なうことなく結果の出力が可能です。これらの特徴からFCNは、セマンティック・セグメンテーションに適合したCNNと言えるでしょう。
SegNetはFCNをさらに発展させたモデルで、エンコーダーとデコーダーの構造を持った画像認識方法です。エンコーダー部分では「畳み込み層」によって画像の特徴を抽出し、デコーダー部分では抽出した特徴の位置情報を保持したまま、データを元のサイズへ戻します。
エンコーダー・デコーダー型には、デコーダー部分により高解像度な画像を再現できるメリットがあります。しかし、ピクセル単位の情報は失われるため、精度は多少落ちてしまうのがデメリットです。
FPNは、異なる倍率で物体を予測するピラミッド構造を特徴とする画像認識方法です。従来から、画像内の物体の大小に対応するためにスケール(倍率)を変更して予測する手法が使用されていました。しかし、重い計算コストが大きな欠点でした。
しかし、FPNでは、ピラミッドのトップダウンの過程でスキップ接続を採用しています。このようにして、FPNは計算量の少ないピラミッド構造を実現しています。
R-CNNは、対象物体がある位置をあらかじめ予測してから畳み込みを行うことで、計算をできるだけ少なくした画像認識方法です。特徴がありそうな部分をバウンディングボックスで囲み、その範囲内の解析を行います。
R-CNNには多くの派生形があり、代表的なものにはFaster R-CNNやMask R-CNNなどがあります。
物体の識別に特化したCNNは、画像処理全般にわたって頻繁に用いられる手法です。ただし、セグメンテーションで用いられることは基本的にありません。
CNNでは、まず「畳み込み層」で画像の特徴を抽出します。次に、その画像データを「プーリング層」で小さくして特徴マップを作り出します。最後に、データ統合を行う「全結合層」で再帰的に処理(繰り返し処理)することにより、最終的な出力結果を得られます。
セマンティックセグメンテーションは、ITや医療など、多くの業界で活用されています。特に、精緻な物体認識が重要となり、物体の「種類」「位置」だけでなく「形状」や「範囲」まで詳細に理解しなければならない分野で活用されています。
ここでは、以下の3つの活用事例をご紹介します。
① コンクリート表面のひび割れや剥離などの検出 ② 自動運転システムでの対象物予測 ③ 医療分野における臓器領域の自動抽出 |
セマンティック・セグメンテーションにより、コンクリート表面のひび割れや型枠の跡を区別して検出できるシステムが開発されています。従来は点検作業員がひび割れを目視で確認しスケッチする方法が用いられていました。しかし、コンクリート構造物の数は膨大で、手作業による点検ではとても対応できません。
加えて、近い将来、高度経済成長期に建てられたトンネルやコンクリート建造物の老朽化が進み、一斉に更新しなければならない時期に入ると予測されています。しかし、少子高齢化による生産力低下や、熟練技術者の退職により、メンテナンス分野で専門技術者の不足が懸念されています。
そこで、機械学習によりコンクリートの画像解析を行い、素早く異常を検知するシステム開発が行われてきました。特に、セマンティック・セグメンテーションにより、ひび割れと混同されやすいPコン跡(締め付け金具によるへこみ)や型枠跡を正確に判別する技術が進んでいます。
同様にセマンティック・セグメンテーションを用いて鉄筋の露出やコンクリートの剥離の検出にも適用する研究が進められています。
自動運転の性能を効率よく向上させるため、昼に撮影した画像データを夜に撮影したデータに変換する技術が開発されています。その過程でセマンティック・セグメンテーションを利用することにより、従来よりも高精度で夜間画像を生成できるようになりました。
これまでは、CycleGANという画像変換技術を用いて夜間画像が作成されていましたが、テールランプが点灯していなかったり、空中に信号機のライトが現れたりと、精度が良いとは言えませんでした。
そこで、ピクセル単位で予測を行うセマンティック・セグメンテーションを活用することにより、画像内の物体をより正確にラベル付けできるようになりました。これにより、画像内の物体が光るものなのか、夜間でも状態が変わらないものなのかを正確に判断できるようになり、夜間画像を精度よく生成できるようになったとのことです。
<参考文献> ・栁澤 理紗,中沢 実,長沼 要,2019年7月,「CG画像の転移学習を用いたモデルベース自律走行システムの提案と開発」,マルチメディア,分散,協調とモバイル(DICOMO2019)シンポジウム |
医療分野の画像解析では、セグメンテーションが活用されています。CT画像から臓器領域を自動抽出したり、他の手法と組み合わせることで血管へのラベル付けができるようになったりしています。
ここで用いられているCNNは、畳み込み層の後に「逆畳み込み層」を実装することで、出力結果を画像として表すことが可能です。そのため、画像上にラベル付けすることができます。
このようにセマンティック・セグメンテーションは、ピクセル単位でラベル付けするので、正確性が求められる医療分野でも活用され始めています。
<参考文献> ・森 健策,2017年,「医用画像解析における機械学習の活用」,名古屋大学大学院情報学研究科・情報基盤センター ・小田 昌宏,2019年12月,「深層学習時代の医用画像処理におけるデータと計算環境」,名古屋大学大学院情報学研究科 |
A.物体検出とセグメンテーションは共に画像分析の重要な部分ですが、それぞれ異なる目的と手法を持っています。
物体検出は特定の物体のみを検出し、その位置とカテゴリーを特定します。具体的には、物体の存在を示す矩形のバウンディングボックスと、その物体のクラス(例えば犬、猫、自動車など)を出力します。
一方、セグメンテーションは画像上のすべてのピクセルを特定のクラスに分類します。つまり、セマンティック・セグメンテーションは画像全体にわたる物体の精確な形状と位置を理解するのに役立ちます。
インスタンス・セグメンテーションは、これら二つの手法の一部を組み合わせ、各個別の物体インスタンスを特定し、その形状と位置を理解します。
なお、物体検出の仕組みは?必要データ数・活用事例・構築手順を徹底解説!では、物体検出の仕組みや活用事例などについて詳しく解説しています。あわせてお読みいただくことで本記事の理解をさらに深められるでしょう。
A.セマンティック・セグメンテーションは画像解析における強力な手法である一方で、物体が重なっている場合にそれぞれの物体を個別に識別できない欠点があります。例えば、人々が群集を形成している画像では個々の人々を区別できず、一つの「人間」の領域としてのみ認識します。
また、セマンティック・セグメンテーションは、各ピクセルに対する正確なラベル付けが必要となるため、アノテーションに大量の時間と労力が必要となります。精度高く予測できるメリットはありますが、初期投資は大きくなる傾向にあります。
本記事では、セマンティック・セグメンテーションの概要や活用事例について解説してきました。セマンティック・セグメンテーションには様々な手法があり、活用方法も変わってきます。
深く理解するには難易度の高い技術ですが、導入して成果を得られれば、他社より一歩進んだシステムを一早く手に入れられます。
それぞれの手法には独自の特性を持つため、使用する場面や目的によって最適な手法が異なります。活用目的に応じた最適な手法を設定できなければ、AIシステムの精度を左右するアノテーションの工数や費用も大きく変わってきます。
画像解析分野で広く用いられる重要な手法であるからこそ、セマンティック・セグメンテーションの利点と欠点を理解することで、より効率的に利用することが可能です。
なお、画像認識とは?種類・仕組み・AI開発の流れ・事例・問題点を解説!では、画像認識の種類や活用事例、モデルの構築方法などについて詳しく解説しています。あわせてお読みいただくことで本記事の理解をさらに深められるでしょう。