U-Netを使ってセグメンテーションの解説
バナー画像の引用先はこちらです:https://arxiv.org/pdf/1703.06870.pdf 「Mask R-CNN」Kaiming He Georgia Gkioxari Piotr Dollar Ross Girshick
Facebook AI Research (FAIR)
セグメンテーションについて、しっかりまとめたいなとずっと思っていましたが、なかなかまとまった時間が取れず...
今日は最近勉強した内容をじっくり(U-Netを使ったセマンティックセグメンテーションの)解説をしていきたいと思います。
関連資料を調べたり、まとめたりする時間代だと思ってご購入いただければ嬉しいです。
投銭だと思ってサポート、ご購入いただければ、「もっとこう言うnoteを読みたい」と言うメッセージが伝わってくるので、私の書き続けるモチベーションにもありますのでよろしくお願いします!(6500文字以上:300円)
もちろん、これは一つのスタートにすぎません。これからもセグメンテーション周りの話をその都度まとめて、またnoteにしていきたいと思います。
セグメンテーションの学習済モデルたち
U-Net
U-Netの説明なので、主にセマンティックセグメンテーション、ピクセル単位の分類タスクとそのための特定のアルゴリズムに焦点を当てて、私が気づいたポイントなどをまとめていきたいと思います。
セグメンテーションとは
まず、セグメンテーションは何ですか?
ビジネスやマーケティングのドメインでは、よく「市場細分化」の意味合いで使われることが多いようですが、このnoteではもちろん、マーケティングの内容ではないので、画像認識や、深層学習(ディープラーニング )などの手法で画像認識する際に、使われる用語として使います。
この文脈においてのセグメンテーションは、デジタル画像を複数のセグメント(ピクセルのセット、画像オブジェクトとも呼ばれます)に分割するプロセスです。
周知の通り視覚は人間が持っている最も重要な感覚の一つです。
人間の目が(動物もそうですが)反射された光線を捉え、そこから意味を得る能力は、非常に複雑な作業であるにもかかわらず、私たちはそれを簡単に何も意識してないうちに出来てしまいます。
それは私たちは何百万年もの進化のおかげで手に入れた能力です。
では、どのようにして、非常に短い期間で同じ能力を機械(コンピュータ)に与えることができるのでしょうか?
コンピュータにとって、これらの画像は数値の行列にすぎず、行列の背後にある「意味」を理解することは、多くの数学者にとって長年の関心事でした。
しかし、人工知能、特に畳み込みニューラルネットワーク(CNN)アーキテクチャの出現後、その分野の研究はかつてないほど進歩しました。以前は手がつけられないと考えられていた多くの課題が、今では驚くべき結果を出しています。
その課題の中の一つが画像のセグメンテーションです。画像のセグメンテーションでは、コンピュータが画像を異なるセグメントに分割し、それぞれが異なる実体を表します。
上の図のようにセグメンテーションの目標は、一つの画像に、「どこ」に「何」が写っているのかの情報をより分かりやすく記述したり、分析に使いやすい情報を提供したりする処理です。そうすることで、画像の表現を単純化することができ、(コンピュータにとって)より意味のある、分析しやすいものになります。
もうちょっと直感的な言い方をすると、画像のセグメンテーション処理をした後、画像のどこに何が写っているかをそのエリアを見つけ、ラベルをつけることです。
例えば、次の画像は、Androidでの画像セグメンテーションモデルの出力を示しています。モデルは、ターゲットとなる画像の上に高精度でマスクを作成します。着物の女性二人が画像の上に、切り出してpersonと言うラベルをつける様子が確認できます。
(ソースコードはこちら:https://github.com/tensorflow/examples/tree/master/lite/examples/image_segmentation/android)
引用先:https://www.tensorflow.org/lite/models/segmentation/overview
セマンティックセグメンテーションとインスタンスセグメンテーション
セマンティックセグメンテーションとは、画像を首尾一貫した部分に分割することです。例えば、データセットの中の人、車、その他のオブジェクト(もの)に属する各ピクセルを分類することです。
引用先:https://arxiv.org/pdf/1703.06870.pdf
画像のセグメンテーションは、自動運転車から人工衛星まで、多くの分野で役立っています。
その中でもおそらく最も重要なのは、医療用画像です。医療画像の微細な部分の解析は非常に複雑で、トレーニングを受けた医師ですら識別困難な場合があります。
そのような画像の細部のニュアンスを理解し、必要な(画像上の)領域を特定できる機械やメカニズムは、医療サービスの効率化、自動化に大きな影響を与えることができるとというのは言うまでもありません。
セマンティックセグメンテーションは、インスタンスセグメンテーションに比べて比較的簡単です。
インスタンス・セグメンテーションでは、すべての人、車、をピクセル単位で予測するだけでなく、それぞれのオブジェクトを人1、人2、車1、車2、車3などと個別に識別することを目標としています。
インスタンスセグメンテーションのための現在の最新アルゴリズムは、Mask-RCNN(https://arxiv.org/pdf/1703.06870.pdf):複数のサブネットワークが協調して動作する2段階のアプローチです。これについて、また機会があれば、別のnoteにまとめたいと思います。
----この先有料----
ここから先は
¥ 300
Amazonギフトカード5,000円分が当たる
株式会社虹賢舎 CEO 著書:https://amzn.to/39KwlE4 技術ブログ:https://kokensha.xyz 機械学習 深層学習 Python /JS IoT Raspberry Pi ロボット TOEIC950 https://gosen.world