跳至內容
測試伺服器
開發伺服器

Instance Segmentation vTool#

Instance Segmentation vTool 會根據您所選的模型,在像素層級對影像中的物件進行分類,也就是說,它能偵測物件並將每個像素與物件類別產生關聯。

Instance Segmentation vTool 可以對透過 Image 輸入接腳接收到的影像中的物件進行分類。它會透過 InferenceImage、Regions、Classes、BBoxes_px 以及 Scores 輸出接腳輸出結果。

系統會在偵測到的每個物件周圍繪製邊界框。與 Semantic Segmentation vTool 不同,instance segmentation 允許您分割同一類別中的個別實例。

如果您在分割前使用 ROI Creator vTool 來指定感興趣區域,Instance Segmentation vTool 就會透過其 Roi 輸入接腳接收 ROI 資料。在這種情況下,系統只會對感興趣區域執行分割。這同時也能達到更快的處理速度。

若要購買 Instance Segmentation vTool 的授權,請造訪 Basler 網站。

Instance Segmentation vTool

運作原理#

假設您想要對影像執行 instance segmentation,以個別識別並分割每個人,不僅將他們與背景區分開來,也彼此區分開來。

這是您的輸入影像,顯示了六個小孩以及背景的山景:

顯示六個小孩與背景山景的輸入影像

您可以透過載入經過訓練的模型來設定 vTool,該模型透過識別與分離影像中的個別物件實例(在此情況下為人員)來執行 instance segmentation。

已選取 Instance Segmentation 的 Bundle

接下來,您可以選擇要偵測與分割的類別。有些模型可能完全量身打造符合您的使用情境。在這種情況下,所有想要的類別都已經選好了。

「Select Classes」對話方塊

設定完 vTool 後,您即可執行啟動推論程序的配方。vTool 會利用模型來分析影像並分割其中的物件。分析完成後,即會傳回分割結果。它包含影像中偵測到的每個不同實例的分割區域、邊界框以及標籤。

以下是在針腳資料檢視畫面中顯示的結果圖像:

已突顯結果的 Instance Segmentation

已有六人被識別並分割為人員。分割區域採用顏色編碼,以便區分不同的實例。

詳細輸出

  • Regions:已偵測到六個區域。影像中的每個物件實例都會以獨立區域突顯。這些區域彼此以及與背景相互隔離,能清楚辨識每個物件。
  • Class:person
    類別標籤 person 表示模型將邊界框中的物件識別為人員。
  • Bounding Box:邊界框是繪製在偵測到的物件周圍的矩形。針對每個邊界框,都會輸出中心像素、寬度、高度以及旋轉角度。
  • 分數:分數值(例如 0.915855)表示模型對其檢測結果的信心程度,例如 91.58%。分數越高且越接近 1.0,表示檢測到的物件確實為人員的信心水準越高。

設定 vTool#

若要設定 Instance Segmentation vTool:

Instance Segmentation vTool 設定

  1. 在 vTool Settings 區域的 Recipe Management 窗格中,按一下 Open Settings 或按兩下該 vTool。
    隨即會開啟 Instance Segmentation 對話方塊。
  2. 在 伺服器選取 區域中,選取您想要連線的伺服器。
    伺服器必須執行中才能與其建立連線。
    • 選項 1:手動輸入您的 Triton Inference Server 的 IP 位址與連接埠。
    • 選項 2:在下拉式清單中選取您的伺服器的 IP 位址 / 主機名稱與連接埠。
  3. 按一下 Connect 以建立連線。
    然後,vTool 會載入可用的模型。
  4. 在 模型選取 區域中,在下拉式清單中選取包含所需模型的套件 (bundle)。
    選取套件後,下拉式清單下方的資訊將會填入套件詳細資料,讓您可以檢查是否已選取正確的套件。
    模型選取區域
  5. 如果未列出所需的套件,請按一下 部署新模型 位於下拉式清單中。
    部署新模型
    這會開啟 pylon AI Agent ,可讓您部署更多模型。
    部署新模型後,您必須按一下 Refresh 按鈕。
  6. 在 Detection Settings 區域中,按一下 Select Classes 以選擇您要分類的類別。
    隨即會開啟包含可用類別的對話方塊。預設會選取所有類別。您可以根據需要選取任意數量類別。

    資訊

    在此區域中可用的參數取決於所選的模型。某些參數只有在選取特定模型後才會顯示(例如 NMS IOU Threshold)。預設值由模型提供。

  7. 指定偵測設定中的其他選項:

    1. Number of objects: 您可以指定要偵測的物件數量上限,或選取 Unlimited。
      此限制適用於每個個別類別。如果影像中出現的物件數量多於此處指定的數量,將會偵測出分數最高符合條件的物件。
    2. Maximum/Minimum height:如果您想依高度過濾邊界框,請指定適當的值。由於邊界框的高度對應於物件的高度,這可讓您僅偵測所需大小的物件。
    3. Maximum/Minimum width:如果您想依寬度過濾邊界框,請指定適當的值。由於邊界框的高度對應於物件的寬度,這可讓您僅偵測所需大小的物件。
    4. Confidence threshold:Confidence 是神經網路的一個係數,表示影像中的物件對於所選類別的代表性。較高的值代表更高的信心水準以及更少的誤判。
    5. NMS IOU Threshold: 某些邊界框可能會重疊。透過此參數,您可以控制是否要合併邊界框。較低的值代表容忍度較低,多數邊界框將會被合併。
  8. 按一下 OK。

您可以在 pin data view 中檢視分割結果。在此,您可以選擇要顯示哪些輸出。

Inputs#

Image#

直接接收來自 Camera vTool 或輸出影像之 vTool(例如 Image Format Converter vTool)的影像。

  • 資料類型:Image
  • 影像格式:8 位元至 16 位元彩色影像

ROI#

接受來自 ROI Creator vTool 或任何其他輸出矩形的 vTool 的 Region of Interest。如果輸入多個矩形,則會使用第一個矩形作為單一 Region of Interest。

  • 資料類型:RectangleF、RectangleF Array

Outputs#

若要將 vTool 與 Starter vTools 搭配使用,可以將輸出 pin 的資料類型從多值資料切換為單值資料。若要這麼做,請使用 Features - All 窗格中的 Data Type Selector 參數。

InferenceImage#

傳回針對每個輸入影像在偵測到的物件周圍繪製邊界框的影像,以視覺化呈現結果。

  • 資料類型:Image

Regions#

傳回每個類別標籤的區域。

  • 資料類型:Region Array

類別#

傳回偵測到物件的類別標籤。

  • 資料類型:String Array

BBoxes_px#

傳回針對每個偵測到物件的邊界框。每個邊界框都由其中心像素的座標、寬度與高度 (x_center、y_center、width、height) 來定義。邊界框輸出可用作其他 vTool 的 Roi 輸入 pin 的輸入。

  • 資料類型:RectangleF 陣列

Scores#

傳回每個預測類別的信心分數。

  • 資料類型:浮點數陣列

Payload#

傳回有關 Inference Server 效能的額外資訊以供評估。只有在 Debug Settings 參數群組的 Features - All 窗格中啟用它時,此輸出 pin 才會可用。

  • 資料類型:String

典型前置項目#

典型後續元件#