SAM概述
分割任何模型 (Segment Anything Model - SAM) 是一種突破性的圖像分割模型,可實現具有實時性能的快速分割。它構成了 Segment Anything 項目的基礎,該項目引入了用于圖像分割的新任務、模型和數據集。SAM 被設計為可提示的,允許它將零樣本轉移到新的圖像分布和任務。該模型在 SA-1B 數據集上進行訓練,該數據集在許可和尊重隱私的一千一百萬張圖像上包含超過 11 億個蒙版。SAM展示了令人印象深刻的零樣本分割性能,常規場合超過之前監督學習的結果。
主要特點
01
提示分段任務:
SAM 專為可提示的分割任務而設計,使其能夠在給定任何分割提示(例如標識對象的空間或文本信息)的情況下返回有效的分割掩碼。
02
高級架構:
SAM 利用強大的圖像編碼器、提示編碼器和輕量級掩碼解碼器。這種架構在分割中實現了靈活的提示、實時掩碼計算和模糊感知。
03
SA-1B 數據集:
Segment Anything項目引入了SA-1B數據集,該數據集包含1000多萬張圖像上的11億多個掩碼。該數據集是迄今為止最大的分割數據集,為 SAM 提供了用于訓練的多樣化和大規模數據源。
04
零樣本性能:
SAM 在一系列分割任務中表現出卓越的零樣本性能,開箱即用,可針對各種應用進行快速工程設計。 SAM 可用于各種視覺場景下游任務,涉及訓練數據之外的對象和圖像分布。包括邊緣檢測、對象推薦生成、實例分割和初級文本到掩碼預測。通過采用提示工程,SAM可以零樣本的方式適應新任務和數據分布,使其成為圖像分割任務的多功能和強大工具。
YOLOv8中使用SAM模型
當前YOLOv8支持兩種SAM模型,分別是base與large版本SAM模型。以base模型為例,基于YOLOv8框架,SAM實現推理圖像分割一切得代碼只需要如下幾行:
fromultralyticsimportSAM importcv2ascv model=SAM('sam_b.pt') model.info()#displaymodelinformation result=model.predict("D:/bird_test/master.jpg")
運行結果顯示如下:
基于YOLOv8對象檢測模型,實現自動語義分割模型的標注:
fromultralytics.yolo.data.annotatorimportauto_annotate auto_annotate(data="path/to/images",det_model="yolov8x.pt",sam_model='sam_b.pt')
兩行代碼即可實現自動實例分割標注,從此愛上標注數據這個活!
審核編輯:劉清
-
編碼器
+關注
關注
45文章
3638瀏覽量
134426 -
SAM
+關注
關注
0文章
112瀏覽量
33519
原文標題:YOLOv8最新版本支持SAM分割一切
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論