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

Object Detection vTool#

Object Detection vTool 會根據您所選的模型來偵測並分類影像中的物件。

Object Detection vTool 可以對透過 Image 輸入接腳接收到的影像中的物件進行分類。它會透過 InferenceImage、BBoxes_px、Classes 以及 Scores 輸出接腳輸出結果。系統會在每個偵測到的物件周圍繪製邊界框。

如果您在偵測前使用 ROI Creator vTool 來指定感興趣區域,Object Detection vTool 便會透過其 Roi 輸入接腳接收 ROI 資料。在這種情況下,偵測只會在感興趣區域內進行。附帶的好處是,這能加快處理速度。

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

Object Detection vTool

運作原理#

假設您想要偵測並識別影像中的特定物件,例如畫面中的人物或其他元素。

這是您的輸入影像,顯示了六位帶著滑雪裝備的兒童:

顯示六位滑雪兒童的輸入影像

您可以透過載入經過訓練以偵測各種物件(包括人物和滑雪裝備)的模型來設定 vTool。

已選取 Object Detection 的 Bundle

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

「Select Classes」對話方塊

設定好 vTool 後,您可以執行會啟動推論過程的 recipe。vTool 會利用模型來分析影像,並識別與定位現有的物件。分析完成後,便會傳回分割結果。它包含了影像中偵測到的每個相異物件實例的邊界框、類別標籤以及信賴分數。

這是顯示結果的 pin 資料檢視:

已突顯結果的 Object Detection

有六個人被偵測為人物,並位於標示為 person 的紫色邊界框內。同樣地,有 5 個滑雪板被偵測並位於標示為 skis 的邊界框內。

詳細輸出

  • Bounding Box:邊界框是繪製在偵測到的物件周圍的矩形。針對每個邊界框,都會輸出中心像素、寬度、高度以及旋轉角度。
  • Class:person、skis
    類別標籤顯示模型將邊界框中的物件識別為人物或滑雪板。
  • Score:分數值(例如 0.890817)表示模型對其偵測結果的信心程度(例如 89.08 %)。分數越高(越接近 1.0),代表信心水準越高。

設定 vTool#

若要設定 Object Detection vTool:

Object Detection vTool 設定

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

    資訊

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

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

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

您可以在 pin data view 中檢視 Object Detection 的結果。在這裡,您可以選擇要顯示哪些輸出。

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

BBoxes_px#

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

  • 資料類型:RectangleF 陣列

類別#

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

  • 資料類型:String Array

Scores#

傳回每個偵測到物件的信心分數。

  • 資料類型:浮點數陣列

Payload#

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

  • 資料類型:String

典型前置項目#

典型後續元件#