確保您的 AI 視覺感測器配置了 顏色簽名 和 顏色代碼 ,以便它們可以與您的模組一起使用。 要了解有關如何配置它們的更多信息,您可以閱讀以下文章:
AI視覺感測器還可以偵測AI分類和AprilTags。 若要了解如何啟用這些檢測模式,請前往此處:
要了解有關這些單獨區塊以及如何在 VEXcode 中使用它們的更多詳細信息,請訪問 API 網站。
拍攝快照
拍攝快照 塊拍攝 AI 視覺感測器目前看到的內容的圖片,並從該快照中提取數據,然後可以在專案中使用。 拍攝快照時,您需要指定AI視覺感測器應收集哪種類型的物體資料:
- 顏色簽名
- 顏色代碼
- 人工智慧分類
- 四月標籤
拍攝快照將建立您指定的所有偵測到的物件的陣列。 例如,如果您想偵測「紅色」Color Signature,並且 AI 視覺感測器偵測到 3 個不同的紅色物體,則所有三個物體的資料都將放入陣列中。
有關如何在不同物件之間指定的更多信息,請轉至本文中的「設定物件項目」部分。
在此範例中,它將僅檢測與其配置的“藍色” 顏色簽名 匹配的對象,而不會檢測其他對象。
從快照中取得的數據
請記住,AI 視覺感測器將使用其最後拍攝的快照來處理後續的任何區塊。 為確保您始終從 AI 視覺感測器獲取最新信息,請在每次想要從中提取數據時重新拍攝快照。
解決
了解人工智慧視覺感測器的解析度對於準確解釋數據至關重要。 此感測器的解析度為 320x240 像素,精確中心位於座標 (160, 120)。
X 座標小於 160 對應於感測器視野的左半部分,而大於 160 的 X 座標對應於感測器視野的右半部分。 同樣,Y 座標小於 120 表示視圖的上半部分,大於 120 的 Y 座標表示視圖的下半部分。
請參閱 以了解 VEXcode V5 中 AI 視覺實用程式中的數據,以了解有關如何使用 AI 視覺感測器測量物體的更多資訊。
寬度和高度
這是偵測到的物件的寬度或高度(以像素為單位)。
寬度和高度測量有助於識別不同的物體。 例如,巴基球的高度比環的高度高。
寬度和高度也表示物體與 AI 視覺感測器的距離。 較小的測量值通常意味著物體距離較遠,而較大的測量值則表示物體較近。
在此範例中,物件的寬度用於導航。 機器人會接近物體,直到寬度達到特定尺寸才停止。
X 中心和 Y 中心
這是檢測到的物件的中心座標(以像素為單位)。
CenterX 和 CenterY 座標有助於導航和定位。 AI視覺感光元件的解析度為320 x 240像素。
您可以看到,距離 AI 視覺感測器較近的物體將比距離較遠的物體具有較低的 CenterY 座標。
在此範例中,由於 AI 視覺感測器的視圖中心為 (160, 120),因此機器人將右轉,直到偵測到的物體的 centerX 座標大於 150 像素但小於 170 像素。
角度
Angle 屬性僅適用於顏色代碼 和AprilTags。 這表示偵測到的顏色代碼或 AprilTag 的方向是否不同。
您可以查看機器人相對於顏色代碼 或AprilTag 的方向是否不同,並據此做出導航決策。
例如,如果沒有以正確的角度偵測到顏色代碼 ,則機器人可能無法正確拾取它所代表的物體。
OriginX 和 OriginY
OriginX 和 OriginY 是偵測到的物件左上角的座標(以像素為單位)。
OriginX 和 OriginY 座標有助於導航和定位。 透過將此座標與物件的寬度和高度結合,您可以確定物件邊界框的大小。 這可以幫助追蹤移動物件或在物件之間導航。
在此範例中,將使用其原點、寬度和高度的精確座標在大腦上繪製一個矩形。
標籤ID
tagID 僅適用於AprilTags。 這是指定的AprilTag的 ID 號碼。
辨識特定的 AprilTags 可以進行選擇性導航。 您可以對機器人進行編程,使其向某些標籤移動,而忽略其他標籤,從而有效地將它們用作自動導航的路標。
分數
當使用 AI 視覺感測器檢測AI 分類 時,將使用分數屬性。
置信度分數表示 AI 視覺感測器對其檢測的確定程度。 在此影像中,它識別這四個物件的 AI 分類的置信度為 99%。 您可以使用此分數來確保您的機器人僅專注於高度可信賴的檢測。
設定對象項目
當人工智慧視覺感測器偵測到一個物體時,它就會被放入一個陣列中。 預設情況下,AI 視覺感測器將從數組中的第一個物件或索引為 1 的物件中提取資料。 如果您的 AI 視覺感測器僅偵測到一個物體,則預設選擇該物體。
但是,當您的 AI 視覺感測器同時偵測到多個物件時,您需要使用Set Object Item 模組來指定要從中擷取資料的物件。
當AI視覺感測器偵測到多個物體時,它們會按照從大到小的順序排列在陣列中。 這表示偵測到的最大物件將始終設定為物件索引 1,最小物件將始終設為最高編號。
在此範例中,已偵測到兩個具有顏色簽名 “藍色”的物件。 當使用Take Snapshot 塊時,它們都會被放入陣列中。
在這裡,前面的物件將成為物件索引 1,因為它是最大的對象,而最小的物件將成為物件索引 2。
對象存在
在從快照中提取任何資料之前,請務必進行始終 檢查,以確保 AI 視覺感測器首先從該快照中偵測到任何物件。 這就是Object Exists 塊發揮作用的地方。
該區塊將傳回True 或False 值,判斷最後拍攝的快照中是否偵測到任何物件。
該區塊應該始終 用於確保您不會嘗試從可能為空的快照中提取任何資料。
例如,這裡的機器人將不斷地使用人工智慧視覺感測器拍攝快照。 如果它辨識出 任何 具有「藍色」 顏色簽名的物體,它將向前行駛。
如果任何快照沒有「藍色」 顏色簽名,機器人將停止移動。
對象計數
使用 物件計數 區塊將允許您查看 AI 視覺感測器在其最後快照中可以看到多少個特定 顏色簽署 的物件。
在這裡,我們看到 AI 視覺感測器配置了 顏色簽名 “藍色”,並且正在偵測兩個物體。
在此代碼中,AI 視覺感應器將拍攝快照並在 VEXcode 控制台上列印“2”,因為它只偵測到兩個“藍色” 顏色簽名。
目的
Object 塊可讓您報告指定物件的屬性。 這使您可以使用從最近拍攝的快照中提取的任何可用資料。
可以從拍攝的快照中提取的物件屬性包括:
- 寬度
- 高度
- 中心X
- 中心Y
- 角度
- 原點X
- 原點Y
- 標籤ID
- 分數
有關這些屬性的更多信息,請閱讀本文的“從快照獲取的數據”部分。
偵測到 AprilTag 是
Detected AprilTag is block 只有在AprilTag 偵測模式 開啟時才可用。
該區塊將根據指定物件是否為某個 AprilTag 報告 True 或 False。
當在單一快照中偵測到多個 AprilTags 時,它們會根據其識別的 ID(而不是大小)排列在陣列中。
在此影像中,偵測到 ID 為 0、3 和 9 的三個 AprilTag。 它們將按照數組中 ID 的升序進行組織。 索引 1 處的物件對應於 ID 為 0 的 AprilTag,索引 2 處的物件對應於 ID 為 3 的 AprilTag,索引 3 處的物件對應於 ID 為 9 的 AprilTag。
有關 AprilTags 是什麼以及如何使用 AI 視覺感測器進行檢測的更多信息,請閱讀本文。
AI分類是
AI 分類為 塊僅在AI 分類檢測模式 開啟時可用。
該區塊將根據指定物件是否屬於某個 AI 分類來報告 True 或 False。
AI 視覺感測器可以偵測到的 AI 分類會因您使用的型號而異。 有關可用的 AI 分類以及如何使用 AI 視覺感測器進行檢測的更多信息,請閱讀本文。