Meta的細分模型(SAM)證明了其在圖像不同區域中檢測對象的能力。該模型的體系結構靈活,用戶可以通過各種提示進行指導。在培訓期間,它可以分割其數據集中的對象。
這些功能使該模型成為用於任何目的檢測和分割對象的高效工具。正如我們在自動駕駛汽車和機器人技術等基於行業的應用中所看到的那樣,該工具也可以用於特定的細分任務。該模型的另一個至關重要的細節是如何使用口罩和邊界框分割圖像,這對於它用於醫療目的而言至關重要。
但是,Meta的分段用於醫學成像的任何模型在診斷和檢測掃描圖像中異常情況方面起著巨大作用。 MEDSAM在從不同來源收集的圖像面罩對上訓練模型。該數據集還涵蓋了15多種圖像方式和30多種癌症類型。
我們將討論該模型如何使用邊界框從醫療圖像中檢測對象。
本文作為數據科學博客馬拉鬆的一部分發表。
SAM是由Meta開發的圖像分割模型,可在圖像的幾乎任何區域中識別對象。該模型的最佳屬性是其多功能性,它可以在檢測圖像時概括。
該模型經過了令人著迷的1100萬次現實圖像的培訓,但更有趣的是,它可以分割其數據集中甚至不存在的對象。
有許多具有不同結構的圖像分割和對象檢測模型。像這樣的模型可能是特定於任務的模型或基本模型,但是SAM是一個“分段”模型,既可以是一個良好的基礎背景來檢測數百萬張圖像,同時還為微調留出了空間。就像Medsam一樣,研究人員會帶來各種想法。
山姆能力的亮點是其適應能力。它也是一個基於及時的細分模型,這意味著它可以接收有關如何執行細分任務的信息。其中包括前景,背景,粗糙的框,邊界框,口罩,文本和其他可以幫助模型分段圖像的信息。
該模型體系結構的基本原理是圖像編碼器,提示編碼器和掩碼編碼器。這三個組件在執行細分任務中都起著巨大的作用。圖像和提示編碼器有助於生成圖像和提示嵌入。蒙版編碼器檢測到使用提示的要分割的圖像生成的掩碼。
將任何模型用於醫療目的是值得嘗試的。另外,該模型具有大型數據集和不同功能,那麼為什麼不醫學成像呢?但是,由於醫學圖像的性質以及模型如何處理圖像中不確定的邊界框的問題,在醫療細分中的應用存在一些局限性。在醫學圖像中圖像面具的性質中面臨的挑戰,對專業化的需求變得至關重要。因此,這帶來了Medsam的創新,這是一種基於Sam的建築的細分模型,但是針對醫學圖像量身定制的。
該模型可以在解剖結構和不同的圖像實例中處理各種任務。醫學成像通過此模型獲得有效的結果; 15個成像方式和30多種癌症類型顯示了MedSAM中涉及的大量醫學圖像分割培訓。
MEDSAM建立在預先訓練的SAM模型上。該框架涉及圖像和提示編碼器生成目標圖像上掩碼的嵌入。
段中的圖像編碼器任何模型都會處理需要大量計算能力的位置信息。為了提高過程效率,該模型的研究人員決定“凍結”圖像編碼器和提示編碼器。這意味著他們在培訓期間停止更新或更改這些零件。
提示編碼器使用來自SAM中的邊界框編碼器的數據有助於理解對象的位置,也保持不變。通過冷凍這些組件,它們降低了所需的計算能力,並使系統更有效。
研究人員改善了該模型的體系結構,以提高其效率。在提示模型之前,他們計算了訓練圖像的圖像嵌入,以避免重複計算。蒙版編碼器(唯一的一個微調)現在創建了一個掩碼編碼器,而不是三個,因為邊界框有助於清楚地定義細分區域。這種方法使培訓效率更高。
這是該模型如何工作的圖形說明:
該模型將需要一些庫才能運行,我們將深入研究如何在圖像上運行醫學成像分割任務。
我們還需要更多庫來運行此模型,因為我們還必須在提示的一部分上繪製邊界框上的線路。我們將從請求,numpy和metaplot開始。
導入請求 導入numpy作為NP 導入matplotlib.pyplot作為PLT 從PIL導入圖像 從變形金剛進口Sammodel,Samprocessor 導入火炬
“請求”庫有助於從其來源獲取圖像。 “ Numpy”庫變得有用,因為我們執行涉及邊界框坐標的數值操作。 PIL和METAPLOT分別有助於圖像處理和顯示。除SAM模型外,處理器和火炬(以下代碼中定義的處理計算)是運行此模型的重要軟件包。
設備=“ cuda”如果torch.cuda.is_available()else“ cpu”
型號= sammodel.from_pretretain(“ flaviagiammarino/medsam-vit-base”)。到(設備) processor = samprocessor.from_pretaining(“ flaviagiammarino/medsam-vit-base”)
因此,預訓練的模型通常使用最合適的計算設備,例如GPU或CPU。此操作發生在加載模型的處理器並準備圖像輸入數據之前。
img_url =“ https://huggingface.co/flaviagiammarino/medsam-vit-base/resolve/main/scripts/input.png” raw_image = image.open(requests.get(img_url,stream = true).raw).convert(“ rgb”) input_boxes = [95.,255。,190.,350。]
用URL加載圖像很容易,尤其是在環境中的庫。我們還可以打開圖像並將其轉換為兼容格式以進行處理。 “ Input_boxes”列表定義了具有坐標的邊界框[95,255,190,350]。該數字代表了感興趣區域的圖像最左側和右下角。使用邊界框,我們可以執行針對特定區域的分割任務。
接下來,我們處理圖像輸入,運行分割模型並準備輸出掩碼。模型處理器準備了原始圖像和輸入框,並將其轉換為合適的格式以進行處理。之後,運行處理後的輸入以預測掩模概率。該代碼為分段區域提供了一個精緻的,基於概率的掩碼。
inputs =處理器(raw_image,input_boxes = [[input_boxes]],return_tensors =“ pt”)。到(設備) 輸出=模型(**輸入,Multimask_output = false) probs = processor.image_processor.post_process_masks(outputs.pred_masks.sigmoid()。cpu(),inputs ['oinartion_sizes']。cpu(cpu(cpu(),inputs [“ reshaped_input_sizes sizes”]。
def show_mask(掩碼,ax,andural_color): 如果random_color: color = np.concatenate([[np.random.random(3),np.array([0.6])],軸= 0) 別的: 顏色= np.Array([[251/255,252/255,30/255,0.6]) h,w = mask.shape [-2:] mask_image = mask.Reshape(H,W,1) * color.Reshape(1,1,-1) ax.imshow(mask_image)
在這裡,我們嘗試使用'ax在圖像上顯示彩色面膜。展示。' show_mask函數在圖上顯示分段蒙版。它可以使用隨機顏色或默認的黃色。調整面罩以適合圖像,並用選定的顏色覆蓋,並使用“ ax.show”可視化。
之後,該函數使用坐標及其位置繪製矩形。此過程如下所示。
def show_box(框,ax): x0,y0 = box [0],框[1] w,h = box [2] - 盒[0],框[3] - 盒[1] ax.add_patch(plt.Rectangle(((x0,y0),w,h,edgecolor =“ blue”,faceColor =(0,0,0,0,0,0),lw = 2))
圖,ax = plt.subplot(1,2,無花果=(10,5)) ax [0] .imshow(np.array(raw_image)) show_box(input_boxes,ax [0]) ax [0] .set_title(“輸入圖像和邊界框”) ax [0] .axis(“ off”) ax [1] .imshow(np.array(raw_image)) show_mask(mask = probs [0]> 0.5,ax = ax [1],andural_color = false) show_box(input_boxes,ax [1]) ax [1] .set_title(“ Medsam分割”) ax [1] .axis(“ off”) plt.show()
該代碼創建一個具有兩個並排子圖的圖形,以顯示帶有邊界框和結果的輸入圖像。第一個子圖顯示了帶有邊界框的原始圖像,第二個子圖顯示了帶有掩蓋和邊界框的圖像。
SAM作為基礎模型是多功能工具。憑藉其高的概括功能和來自現實世界圖像的數百萬個數據集培訓,該模型可以做到很多。以下是該模型的一些常見應用:
MEDSAM在任何模型的用例中都是巨大的里程碑。醫學成像比常規圖像更複雜。該模型有助於我們理解這種情況。使用不同的診斷方法檢測醫學成像中的癌症類型和其他細胞可以使該模型更有效地用於特定於任務。
Meta的細分市場的任何模型的多功能性都顯示出很大的潛力。它的醫學成像能力是徹底改變醫療保健行業的診斷和相關任務的重要里程碑。集成邊界框使其更加有效。隨著SAM基本模型的發展,醫學成像只能改善。
A. SAM是一種由Meta開發的圖像處理技術,用於檢測對象並將它們跨在圖像中的任何區域中。它還可以分割未在模型數據集中訓練的對象。該模型經過培訓,可以用提示和口罩進行操作,並且在各個領域都具有適應性。
Q2。 MEDSAM與原始SAM模型有何不同?A. Medsam是專為醫學成像設計的SAM的微調版本。雖然SAM是通用的,但MEDSAM被優化以處理醫學成像的複雜性,這轉化為各種成像方式和癌症檢測。
Q3。 SAM可以用於實時應用嗎?答:該模型的多功能性和實時處理功能允許將其用於實時應用程序,包括自動駕駛汽車和機器人技術。它可以快速有效地檢測和理解圖像中的對象。
本文所示的媒體不由Analytics Vidhya擁有,並由作者酌情使用。
以上是探索Meta的部分醫學成像模型的詳細內容。更多資訊請關注PHP中文網其他相關文章!