【要約】生成AIに「SAM(Segment Anything)」を聞いてみた(クリックで任意の対象を切り抜く) [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
従来の背景除去技術では、画像内の「主役」を自動で1つ特定することに特化していた。そのため、ユーザーが特定の対象を指定して切り出したい場合に、柔軟な操作が困難であった。具体的には以下の課題が存在する。
- ・U2Net等の既存手法は、主役を自動で1つ抽出する固定的なタスクに限定される。
- ・集合写真から特定の人物だけを抜くといった、対話的な対象選択ができない。
- ・学習データに含まれない未知の物体に対し、正確な境界を捉えることが難しい。
// Approach
Meta AIは、プロンプト(点、ボックス、マスク)を入力として受け取る基盤モデルSAMを開発した。これにより、ユーザーの意図に基づいたセグメンテーションを実現している。アプローチの詳細は以下の通りである。
- ・プロンプトエンコーダがクリック等の入力を埋め込みベクトルに変換する。
- ・マスクデコーダが画像埋め込みとアテンションを用いて、対象の境界を予測する。
- ・重い画像エンコーダ(ViT)の計算結果をキャッシュし、軽量なデコーダのみを繰り返すことで高速な応答を実現する。
- ・11億のマスクを含むSA-1Bデータセットを用い、領域の境界を学習させることでゼロショット性能を獲得する。
// Result
SAMの導入により、ユーザーが指示した任意の対象を、未知の物体であっても高精度に切り出せるようになった。得られた成果と展望は以下の通りである。
- ・クリックによる直感的な対象指定と、ミリ秒級の応答速度を両立した。
- ・「1プロンプト=1物体」という制約はあるが、複数点の追加により対象範囲を制御できる。
- ・MobileSAMやFastSAM等の軽量版、SAM 2などの動画対応モデルへの発展により、利用シーンが拡大している。
Senior Engineer Insight
> SAMは「自動抽出」から「対話的抽出」へのパラダイムシフトをもたらした。実戦投入においては、計算リソースの管理が鍵となる。フルモデルは高負荷なため、リアルタイム性が求められる現場ではMobileSAM等の軽量版を選択すべきだ。また、複数物体を扱う際は「1物体ずつ抽出して結合する」という実装設計が必要になる。単なる背景除去の置き換えではなく、UI設計そのものを変える技術である。