なんでもセグメンテーション出来る”Segment Anything"
2024-04-04
azblob://2024/04/04/eyecatch/2024-04-04-segment-anything-introduction-000_0.jpg

自己紹介

初めまして、24年度に新卒入社した野村 大輝です。よろしくお願いします。

まず以下に基本情報を示します。

出身地:石川県金沢市

出身校:名古屋工業大学大学院 工学専攻情報工学系プログラム

趣味はゲームで広く浅くいろんなものを遊んでいます。

PC:フロムゲー、FPS、モンハン、原神、崩壊スターレイル、マイクラ

スマホ:ミリシタ、ウマ娘、アークナイツ

最近の楽しみは6月に来るエルデンリングのDLCです。

大学では相対概念を反映させたマルチモーダルモデルの研究を行っていました。

今回はFIXERのteck blogで検索してもヒットしなかったので僕が研究で使った便利なモデルの紹介をしようと思います。

Segment Anythingとは?

 まず、”Segment Anything"とは何ということで、先日研修で使い方を教わったGaiXer君に聞いてみました。

GaiXer君の言っている通り”Segment Anything"は画像のセグメンテーションを行うためのツールです。しかし、ただのセグメンテーションツールではなくゼロショット(追加学習を必要としない)のセグメンテーションモデルとなっています。

そもそもセグメンテーションとは?

 ここで言っているセグメンテーションとは画像処理におけるセグメンテーションタスクのことを指しています。簡単に言えば様々なオブジェクトが含まれる画像に対して各オブジェクトの領域を分割するというタスクになります。例として下の画像では元の画像から犬や人、椅子などのオブジェクトがひとつの色で塗られていることからわかるように、個々のオブジェクトを認識できていることがわかります。

(画像の引用元は以下のURLになります。

GitHub - facebookresearch/segment-anything: The repository provides code for running inference with the SegmentAnything Model (SAM), links for downloading the trained model checkpoints, and example notebooks that show how to use the model.) 

 また、追加情報としてこれらのタスクは学習データを作成する際に、アノテーター(学習データを作る人)が画像内のオブジェクトを一つ一つ塗りつぶす等の作業が必要なため、学習データの制作コストが重いと言われています。

Segment Anythingのすごいところ

 セグメンテーションというタスクが何かがわかったところでこの"Segment Anything"の何がすごいのかを紹介したいと思います。このモデルは2023年の4月にMeTa社から発表されたばかりのモデルであり、1100万枚のライセンス画像と110万枚の高品質セグメンテーションマスクデータ、10億以上のマスクアノーテーションで訓練されているため、追加学習なしで様々な画像のセグメンテーションができるところです。以下にセグメンテーション例を示します。人物の部位から個々の野菜に至るまで多種多様なオブジェクトのセグメンテーションが出来ていることがわかると思います。

 モデル構造の詳しい解説などは気になった方が調べていただければと思いますが、GaiXerにも関係しているニューラルネットワークであるTransformerを画像処理に応用したVision Transformerがモデルに使われており、学習データの作成を自動化することによって高い精度を実現しています。

 また余談ですが今後はテキストを入力することで、そのテキストに沿ったオブジェクトのみをセグメンテーションする手法が論文内で紹介されており、今後もアップデートが期待されているモデルです。GaiXerでも将来的に画像を取り扱うようになると使える時が来るのかなぁと思い紹介させていただきました。

まとめ

まだまだ業務に関する知識がなく不安もありますが、いち早く一人前のFIXER社員となれるように頑張ろうと思います。

まだまだ未熟な身ではございますがこれからよろしくお願いします。