週刊エーアイElith: Issue #12
週刊エーアイElithでは、株式会社Elith(エリス)によって運用される日々の機械学習のニュース・OSS・研究・技術・学会・国内外AI企業の情報を毎週月曜日に配信するニュースレターです。 ニュースレターのコンセプトや概要、対象者、読み方については下の記事をご覧ください👍
AIニュース
AIニュースでは1週間でトレンドとなったニュースを紹介します。
2023年4月3日から2023年4月10日までのAIトレンドのニュースです。
AI資金関連ニュース
AI資金関連ニュースでは1週間でトレンドとなったニュースを紹介します。
2023年4月3日から2023年4月10日までのAIトレンドのニュースです。
論文
今週はMeta社によるSegment Anything Model(SAM)について解説します🧠
Segment Anything Model(SAM)とは?
Segment Anything Model (SAM)は、Meta AI ResearchとFAIRチームによって開発された、セグメンテーションのための基盤モデルです。SAMには、promptable segmentation task、segmentation model、data engineが含まれており、1B以上のマスクと1100万枚以上の画像を含むデータセットが提供されています。SAMはTransformer vision modelsをベースにしており、高速なマスクデコーダーを備えています。
SAMはApache 2.0ライセンスで公開されており、GitHubリポジトリで入手可能です。
github : https://github.com/facebookresearch/segment-anything
概要
以下にSAMの概要を示します。
SAMでは、画像に加えてプロンプトを入力します。プロンプトは、画像のmask、points、box、textを入力することで特定のタスクに特化したインスタンスセグメンテーションを可能にします(a)。
また、(c)のdata engineではモデルの学習とアノテーションを繰り返すことで10億を超えるデータセットの構築を可能にしています。
モデル
以下の画像がモデルの概要です。入力画像はimage encoderによりimage embeddingに変換されます。次に、入力したmask、points、box、textなどの情報がprompt encoderによりプロンプトのembeddingに変換されます。これらのimage embeddingとプロンプトのembeddingを組み合わせ、decoderに入力し出力を得ます。
出力は大きさに応じて3種類のsegmentationがあり、これらはタスクに応じて使い分けを行います。この3種類の出力があればある程度のタスクには対応できます。
以下はpointsを指定した箇所のセグメンテーションです。大きさの異なる出力が3種類あることがわかります。
Task
プロンプトエンジニアリングにより、Edge Deteection、Instant Segmentatino、Text to Maskなどのタスクを行うことができます。
次の画像は、Edge Detectionの例です。SAMで、16x16の格子状に並べたpointsに対してマスクを予測します。その出力を利用して、後処理としてNMSによるフィルタリングやソーベルフィルタによるエッジ強調などを行うことで、エッジ画像を作成できます。
また、以下はテキストによるマスク生成の例です。入力画像と、マスクを行いたい箇所をテキストで入力することにより、モデルがテキストと画像の空間距離に近いマスクを選択することができ、該当するマスクを取得することができます。
このようなzero-shotなセグメンテーションを行うことができ、その性能が 教師あり学習と同等かそれ以上の精度を出すことができる点がSAMの強みです。