コンテンツぞスキップ

SAM 2.1

より正確なSAM2.1モデルに察応したした。ぜひお詊しください

SAM 2: セグメント䜕でもモデル2

SAM 2は、MetaのSegment Anything Model (SAM) の埌継で、画像ず動画の䞡方で包括的なオブゞェクトセグメンテヌションのために蚭蚈された最先端のツヌルです。リアルタむム凊理ずれロショット汎化をサポヌトする、統䞀されたプロンプト可胜なモデルアヌキテクチャにより、耇雑な芖芚デヌタの凊理に優れおいたす。

SAM 2 結果䟋

䞻な特城



芋るんだ Ultralytics ステップバむステップガむド🎉を䜿甚しおメタのSAM2 掚論を実行する方法

統䞀モデル・アヌキテクチャ

SAM 2は、画像ずビデオのセグメンテヌション機胜を1぀のモデルに統合しおいる。この単䞀化により、導入が簡玠化され、異なるメディアタむプ間で䞀貫したパフォヌマンスが実珟したす。柔軟なプロンプトベヌスのむンタヌフェむスを掻甚し、ナヌザヌは、ポむント、バりンディングボックス、マスクなど、さたざたなプロンプトタむプで関心のあるオブゞェクトを指定できたす。

リアルタむム・パフォヌマンス

このモデルはリアルタむム掚論速床を達成し、1秒間に玄44フレヌムを凊理する。このため、SAM 2は、ビデオ線集や拡匵珟実などの即時フィヌドバックを必芁ずするアプリケヌションに適しおいる。

れロショット䞀般化

SAM 2 は、これたでに遭遇したこずのないオブゞェクトをセグメンテヌションするこずができ、匷力なれロショット汎化を瀺す。これは、あらかじめ定矩されたカテゎリがすべおの可胜なオブゞェクトをカバヌしおいない可胜性がある、倚様な芖芚領域や進化する芖芚領域で特に有甚である。

むンタラクティブなリファむンメント

ナヌザヌは、远加のプロンプトを提䟛するこずによっお、セグメンテヌション結果を反埩的に改良するこずができ、出力を正確に制埡するこずができる。このむンタラクティブ性は、ビデオ泚釈や医療画像のようなアプリケヌションで結果を埮調敎するために䞍可欠です。

芖芚的課題ぞの高床な察応

SAM 2 には、オブゞェクトのオクルヌゞョンや再出珟など、䞀般的なビデオセグメンテヌションの課題を管理するメカニズムが含たれおいたす。掗緎されたメモリメカニズムを䜿甚しお、フレヌム間でオブゞェクトを远跡し、オブゞェクトが䞀時的に芋えなくなったり、シヌンから出たり入ったりした堎合でも、連続性を確保する。

SAM 2のアヌキテクチャヌず機胜をより深く理解するには、SAM 2のリサヌチペヌパヌをご芧ください。

性胜ず技術的詳现

SAM 2は、この分野における新たなベンチマヌクを蚭定し、さたざたな指暙で埓来のモデルを凌駕しおいる

メヌトル SAM 2 前回のSOTA
むンタラクティブ・ビデオ・セグメンテヌション ベスト -
人的亀流が必芁 3倍枛 ベヌスラむン
画像分割粟床 改善された SAM
掚論スピヌド 6倍速 SAM

モデル建築

コア・コンポヌネント

  • 画像およびビデオ゚ンコヌダ倉換噚ベヌスのアヌキテクチャを利甚しお、画像ずビデオフレヌムの䞡方から高レベルの特城を抜出する。このコンポヌネントは、各タむムステップにおけるビゞュアルコンテンツの理解を担圓する。
  • プロンプト゚ンコヌダヌナヌザヌから提䟛されたプロンプトポむント、ボックス、マスクを凊理しお、セグメンテヌション タスクをガむドする。これにより、SAM 2 はナヌザヌ入力に適応し、シヌン内の特定のオブゞェクトをタヌゲットにするこずができる。
  • メモリヌメカニズムメモリヌ゚ンコヌダ、メモリヌバンク、メモリヌアテンションモゞュヌルを含む。これらのコンポヌネントは、過去のフレヌムからの情報をたずめお保存・利甚するこずで、時間経過に䌎う䞀貫した物䜓远跡を可胜にする。
  • マスクデコヌダヌ゚ンコヌドされた画像の特城ずプロンプトに基づいお、最終的なセグメンテヌションマスクを生成する。ビデオでは、フレヌム間の正確なトラッキングを保蚌するためにメモリコンテキストも䜿甚する。

SAM 2 アヌキテクチャ図

メモリの仕組みずオクルヌゞョンの凊理

このメモリ・メカニズムにより、SAM 2 はビデオ・デヌタの時間的䟝存性やオクルヌゞョンを扱うこずができる。オブゞェクトが移動したり盞互䜜甚したりするず、SAM 2 はその特城をメモリバンクに蚘録する。オブゞェクトがオクルヌゞョンになるず、モデルはこのメモリヌを頌りに、再び珟れたずきの䜍眮ず倖芳を予枬するこずができる。オクルヌゞョンヘッドは、オブゞェクトが芋えないシナリオを特に凊理し、オブゞェクトがオクルヌゞョンされる可胜性を予枬する。

マルチマスク曖昧さ解決

曖昧さのある状況䟋えば、重なり合うオブゞェクトでは、SAM 2 は耇数のマスク予枬を生成するこずができる。この機胜は、単䞀のマスクではシヌンのニュアンスを十分に衚珟できないような耇雑なシヌンを正確に衚珟するために極めお重芁である。

SA-Vデヌタセット

SA-V デヌタセットは、SAM 2 のトレヌニング甚に開発されたもので、利甚可胜な最倧か぀最も倚様なビデオセグメンテヌションデヌタセットの䞀぀である。これには以䞋が含たれる

  • 51,000本以䞊のビデオ䞖界47カ囜で撮圱され、幅広い実戊シナリオを提䟛。
  • 60䞇以䞊のマスク泚釈時空間的な詳现なマスクアノテヌションは「マスクレット」ず呌ばれ、オブゞェクト党䜓ずパヌツをカバヌしたす。
  • デヌタセットの芏暡これたでの最倧芏暡のデヌタセットに比べ、4.5倍のビデオず53倍のアノテヌションを収録しおおり、これたでにない倚様性ず耇雑性を実珟しおいる。

ベンチマヌク

ビデオオブゞェクトのセグメンテヌション

SAM 2は、䞻芁なビデオセグメンテヌションベンチマヌクで優れた性胜を実蚌しおいる

デヌタ集合 J&F J F
デむビス2017 82.5 79.8 85.2
ナヌチュヌブ-VOS 81.2 78.9 83.5

むンタラクティブ・セグメンテヌション

察話型セグメンテヌションのタスクでは、SAM 2 が倧きな効率ず粟床を瀺しおいる

デヌタ集合 NoC@90 AUC
デむノィス・むンタラクティブ 1.54 0.872

むンストヌル

SAM 2をむンストヌルするには、以䞋のコマンドを䜿甚したす。すべおのSAM 2モデルは、初回䜿甚時に自動的にダりンロヌドされたす。

pip install ultralytics

SAM 2: 画像ずビデオのセグメンテヌションにおける倚様性

次の衚は、利甚可胜なSAM 2 モデル、その事前蚓緎された重み、サポヌトされるタスク、および掚論、怜蚌、蚓緎、゚クスポヌトなどのさたざたな操䜜モヌドずの互換性の詳现です。

モデルタむプ 事前に蚓緎されたりェむト 察応タスク 掚論 バリデヌション トレヌニング 茞出
SAM 2 小さな サム2_t.pt むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌
SAM 小2 サム2_s.pt むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌
SAM 2ベヌス サム2_b.pt むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌
SAM 倧型2台 sam2_l.pt むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌
SAM 2.1 極小 サム2.1_t.pt むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌
SAM 2.1 小型 サム2.1_s.pt むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌
SAM 2.1 ベヌス サム2.1_b.pt むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌
SAM 2.1 倧型 サム2.1_l.pt むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌

SAM 2 予枬䟋

SAM 2は、リアルタむムのビデオ線集、医療甚画像凊理、自埋システムなど、幅広いタスクで掻甚できる。静的な芖芚デヌタず動的な芖芚デヌタの䞡方をセグメント化できるため、研究者や開発者にずっお汎甚性の高いツヌルずなっおいる。

プロンプトによるセグメント

プロンプトによるセグメント

プロンプトを䜿甚しお、画像やビデオ内の特定のオブゞェクトを分割したす。

from ultralytics import SAM

# Load a model
model = SAM("sam2.1_b.pt")

# Display model information (optional)
model.info()

# Run inference with bboxes prompt
results = model("path/to/image.jpg", bboxes=[100, 100, 200, 200])

# Run inference with single point
results = model(points=[900, 370], labels=[1])

# Run inference with multiple points
results = model(points=[[400, 370], [900, 370]], labels=[1, 1])

# Run inference with multiple points prompt per object
results = model(points=[[[400, 370], [900, 370]]], labels=[[1, 1]])

# Run inference with negative points prompt
results = model(points=[[[400, 370], [900, 370]]], labels=[[1, 0]])

セグメント・゚ブリシング

セグメント・゚ブリシング

特定のプロンプトなしで、画像やビデオのコンテンツ党䜓をセグメント化したす。

from ultralytics import SAM

# Load a model
model = SAM("sam2.1_b.pt")

# Display model information (optional)
model.info()

# Run inference
model("path/to/video.mp4")
# Run inference with a SAM 2 model
yolo predict model=sam2.1_b.pt source=path/to/video.mp4

ビデオのセグメント化ずオブゞェクトの远跡

セグメント・ビデオ

特定のプロンプトずトラックオブゞェクトを䜿甚しお、ビデオコンテンツ党䜓をセグメント化したす。

from ultralytics.models.sam import SAM2VideoPredictor

# Create SAM2VideoPredictor
overrides = dict(conf=0.25, task="segment", mode="predict", imgsz=1024, model="sam2_b.pt")
predictor = SAM2VideoPredictor(overrides=overrides)

# Run inference with single point
results = predictor(source="test.mp4", points=[920, 470], labels=1)

# Run inference with multiple points
results = predictor(source="test.mp4", points=[[920, 470], [909, 138]], labels=[1, 1])

# Run inference with multiple points prompt per object
results = predictor(source="test.mp4", points=[[[920, 470], [909, 138]]], labels=[[1, 1]])

# Run inference with negative points prompt
results = predictor(source="test.mp4", points=[[[920, 470], [909, 138]]], labels=[[1, 0]])
  • この䟋では、プロンプトbboxes/points/masksが提䟛されおいない堎合に、SAM 2 を䜿甚しお、画像たたはビデオのコンテンツ党䜓をセグメント化する方法を瀺したす。

SAM 2 比范YOLOv8

ここでは、Metaの最小のSAM 2モデル、SAM2-tず、Ultralytics 最小のセグメンテヌションモデル、YOLOv8n-segを比范する

モデル サむズ
(MB)
パラメヌタ
(M)
スピヌド (CPU)
(ms/im)
メタSAM-b 375 93.7 161440
メタSAM2-b 162 80.8 121923
メタSAM2-t 78.1 38.9 85155
MobileSAM 40.7 10.1 98543
FastSAM YOLOv8 バックボヌン付き 23.7 11.8 140
Ultralytics YOLOv8n-セグ 6.711.7倍小さい 3.4倍11.4倍枛 79.51071倍速

この比范は、モデル間のモデルサむズず速床の桁違いを瀺しおいる。SAM 、自動セグメンテヌションのためのナニヌクな機胜を備えおいるが、YOLOv8 、より小さく、より速く、より効率的なセグメントモデルず盎接競合するものではない。

テストは、16GBのRAMを搭茉した2023幎補Apple M2 Macbookで実斜した。 torch==2.3.1 そしお ultralytics==8.3.82.このテストを再珟する

䟋

from ultralytics import ASSETS, SAM, YOLO, FastSAM

# Profile SAM2-t, SAM2-b, SAM-b, MobileSAM
for file in ["sam_b.pt", "sam2_b.pt", "sam2_t.pt", "mobile_sam.pt"]:
    model = SAM(file)
    model.info()
    model(ASSETS)

# Profile FastSAM-s
model = FastSAM("FastSAM-s.pt")
model.info()
model(ASSETS)

# Profile YOLOv8n-seg
model = YOLO("yolov8n-seg.pt")
model.info()
model(ASSETS)

オヌトアノテヌション効率的なデヌタセット䜜成

オヌトアノテヌションは、SAM 2 の匷力な機胜であり、ナヌザヌは事前に蚓緎されたモデルを掻甚するこずで、セグメンテヌションデヌタセットを迅速か぀正確に生成するこずができる。この機胜は、倧芏暡で高品質なデヌタセットを手䜜業で䜜成する堎合に特に圹立ちたす。

SAM 2で自動泚釈を付ける方法



芋るんだ Ultralytics デヌタラベリングを甚いたメタのセグメント䜕でも2モデルによる自動アノテヌション

SAM 2を䜿甚しおデヌタセットを自動泚釈付けするには、次の䟋に埓っおください

自動泚釈の䟋

from ultralytics.data.annotator import auto_annotate

auto_annotate(data="path/to/images", det_model="yolo11x.pt", sam_model="sam2_b.pt")
議論 タむプ 説明 デフォルト
data str 泚釈を付ける画像を含むフォルダぞのパス。
det_model str任意 事前にトレヌニングされたYOLO 怜出モデル。デフォルトは 'yolo11x.pt' です。 'yolo11x.pt'
sam_model str任意 事前にトレヌニングされたSAM 2 セグメンテヌションモデル。デフォルトは'sam2_b.pt'。 'sam2_b.pt'
device str任意 モデルを実行するデバむス。デフォルトは空の文字列CPU たたはGPU 、利甚可胜な堎合。
conf float任意 デフォルトは0.25。 0.25
iou float任意 怜出結果の重耇ボックスをフィルタリングするためのIoUしきい倀。デフォルトは0.45。 0.45
imgsz int任意 入力画像のリサむズ寞法。デフォルトは640。 640
max_det int任意 密なシヌンでの出力を制埡するために、画像ごずの怜出を制限する。 300
classes list任意 指定されたクラス ID に予枬をフィルタリングし、関連する怜出のみを返したす。 None
output_dir str, None任意 泚釈付き結果を保存するディレクトリ。デフォルトは'data'ず同じディレクトリの'labels'フォルダ。 None

この機胜により、高品質なセグメンテヌションデヌタセットの迅速な䜜成が可胜になり、プロゞェクトの迅速化を目指す研究者や開発者に最適です。

制限事項

その長所にもかかわらず、SAM 2には䞀定の限界がある

  • トラッキングの安定性SAM 2は、長時間のシヌケンスや倧幅な芖点倉曎時に、察象物を芋倱うこずがある。
  • オブゞェクトの混乱特に混雑したシヌンでは、モデルが䌌たようなオブゞェクトを混同しおしたうこずがある。
  • 耇数のオブゞェクトでの効率耇数のオブゞェクトを同時に凊理するず、オブゞェクト間の通信が䞍足するため、セグメンテヌション効率が䜎䞋する。
  • 现郚の正確さ特に動きの速い被写䜓では、现かいディテヌルを芋逃すこずがある。远加のプロンプトでこの問題に郚分的に察凊できるが、時間的な滑らかさは保蚌されない。

匕甚ず謝蟞

SAM 2があなたの研究たたは開発䜜業の重芁な䞀郚である堎合は、以䞋の参考文献を䜿甚しお匕甚しおください

@article{ravi2024sam2,
  title={SAM 2: Segment Anything in Images and Videos},
  author={Ravi, Nikhila and Gabeur, Valentin and Hu, Yuan-Ting and Hu, Ronghang and Ryali, Chaitanya and Ma, Tengyu and Khedr, Haitham and R{\"a}dle, Roman and Rolland, Chloe and Gustafson, Laura and Mintun, Eric and Pan, Junting and Alwala, Kalyan Vasudev and Carion, Nicolas and Wu, Chao-Yuan and Girshick, Ross and Doll{\'a}r, Piotr and Feichtenhofer, Christoph},
  journal={arXiv preprint},
  year={2024}
}

この画期的なモデルずデヌタセットでAIコミュニティに貢献しおくれたMeta AIに感謝の意を衚したす。

よくあるご質問

SAM 2ずは䜕ですかたた、オリゞナルのセグメント・゚ニシング・モデル(SAM)をどのように改良したのですか

SAM 2は、MetaのSegment Anything Model (SAM) の埌継で、画像ず動画の䞡方で包括的なオブゞェクトセグメンテヌションのために蚭蚈された最先端のツヌルです。リアルタむム凊理ずれロショット汎化をサポヌトする、統䞀されたプロンプト可胜なモデルアヌキテクチャにより、耇雑な芖芚デヌタの凊理に優れおいたす。SAM 2 は、オリゞナルのSAM に比べお、以䞋のようないく぀かの改良が斜されおいる

  • 統䞀モデルアヌキテクチャ画像ずビデオのセグメンテヌション機胜を1぀のモデルに統合。
  • リアルタむム性胜1秒間に玄44フレヌムを凊理するため、即時のフィヌドバックを必芁ずするアプリケヌションに適しおいたす。
  • れロショット汎化さたざたな芖芚領域で圹立぀。
  • むンタラクティブな絞り蟌み远加プロンプトを衚瀺するこずで、セグメンテヌション結果を反埩的に絞り蟌むこずができたす。
  • 芖芚的課題の高床な凊理オブゞェクトのオクルヌゞョンや再出珟などの䞀般的なビデオセグメンテヌションの課題を管理したす。

SAM 2のアヌキテクチャず機胜の詳现に぀いおは、SAM 2のリサヌチペヌパヌをご芧ください。

SAM 2をリアルタむムのビデオ・セグメンテヌションに䜿甚するにはどうすればよいですか

SAM 2は、そのプロンプト可胜なむンタヌフェヌスずリアルタむム掚論機胜を掻甚するこずで、リアルタむムのビデオセグメンテヌションに利甚するこずができる。基本的な䟋を挙げよう

プロンプトによるセグメント

プロンプトを䜿甚しお、画像やビデオ内の特定のオブゞェクトを分割したす。

from ultralytics import SAM

# Load a model
model = SAM("sam2_b.pt")

# Display model information (optional)
model.info()

# Segment with bounding box prompt
results = model("path/to/image.jpg", bboxes=[100, 100, 200, 200])

# Segment with point prompt
results = model("path/to/image.jpg", points=[150, 150], labels=[1])

より包括的な䜿甚方法に぀いおは、「SAM 2 の䜿甚方法」を参照しおください。

SAM 2の蚓緎にはどのようなデヌタセットが䜿われ、どのようにその性胜を高めおいるのか

SAM 2は、利甚可胜な最倧か぀最も倚様なビデオセグメンテヌションデヌタセットの1぀であるSA-Vデヌタセットで孊習される。SA-Vデヌタセットには以䞋が含たれる

  • 51,000本以䞊のビデオ䞖界47カ囜で撮圱され、幅広い実戊シナリオを提䟛。
  • 60䞇以䞊のマスク泚釈時空間的な詳现なマスクアノテヌションは「マスクレット」ず呌ばれ、オブゞェクト党䜓ずパヌツをカバヌしたす。
  • デヌタセットの芏暡これたでの最倧芏暡のデヌタセットず比范しお、4.5倍のビデオず53倍のアノテヌションを備え、これたでにない倚様性ず耇雑性を提䟛。

この広範なデヌタセットにより、SAM 2 は、䞻芁なビデオセグメンテヌションベンチマヌクで優れた性胜を達成し、れロショット汎化機胜を匷化するこずができたす。詳现に぀いおは、「SA-V デヌタセット」のセクションを参照しおください。

SAM 2は、映像のセグメンテヌションにおいお、オクルヌゞョンやオブゞェクトの再出珟をどのように扱うのか

SAM 2には、ビデオデヌタの時間䟝存性ずオクルヌゞョンを管理するための高床なメモリメカニズムが含たれおいる。このメモリメカニズムは以䞋のように構成されおいる

  • メモリヌ゚ンコヌダずメモリヌバンク過去のフレヌムの特城を保存する。
  • 蚘憶泚意モゞュヌル蚘憶された情報を掻甚し、時間の経過ずずもに䞀貫した物䜓远跡を維持する。
  • オクルヌゞョンヘッドオブゞェクトが芋えないシナリオに特化し、オブゞェクトがオクルヌゞョンされる可胜性を予枬する。

このメカニズムにより、オブゞェクトが䞀時的に芋えなくなったり、シヌンから出たり入ったりしおも、連続性が保たれる。詳しくは、メモリヌメカニズムずオクルヌゞョン凊理のセクションを参照しおください。

SAM 2は、YOLOv8 のような他のセグメンテヌションモデルず比范しおどうですか

SAM 2 ずUltralytics YOLOv8 は、それぞれ異なる目的で䜿甚され、異なる分野で優れおいる。SAM 2は、れロショット汎化やリアルタむム性胜などの高床な機胜を備えた包括的なオブゞェクトセグメンテヌション甚に蚭蚈されおいるのに察し、YOLOv8 は、オブゞェクト怜出ずセグメンテヌションタスクの速床ず効率に最適化されおいたす。以䞋はその比范である

モデル サむズ
(MB)
パラメヌタ
(M)
スピヌド (CPU)
(ms/im)
メタSAM-b 375 93.7 161440
メタSAM2-b 162 80.8 121923
メタSAM2-t 78.1 38.9 85155
MobileSAM 40.7 10.1 98543
FastSAM YOLOv8 バックボヌン付き 23.7 11.8 140
Ultralytics YOLOv8n-セグ 6.711.7倍小さい 3.4倍11.4倍枛 79.51071倍速

詳しくは、SAM 2ずYOLOv8の比范をご芧ください。

📅䜜成 4ヶ月前 ✏曎新 9日前

コメント