Skip to content

PEKAT(表面檢測)

效果預覽

提示

使用此示例,您需要先準備一個PEKAT VISION的License授權


開啟完整的PEKAT工程,並設定好相應的通訊引數,即可通過Vision-Studio進行呼叫。 ![本地圖片](./picture/callPekat.gif)

(一)準備Pekat

提前訓練一個PEKAT表面檢測的工程(詳細過程請參考本文最後一節,PekatVision使用介紹)

[0] 開啟PEKAT工程

本地圖片

[1] 通訊設定

  • [a] 勾選資料處理:Vision-Studio需要獲取PEKAT處理之後的資料

  • [b] 選擇提供者設定為API:Vision-Studio將通過呼叫API的方式與PEKAT通訊

  • [c] Host設定為執行Vision-Studio工程的PC機的網路地址,如果PEKAT和Vision-Studio在同一台PC上,可以设置为127.0.0.1,如果在不同的PC上,需要确保网络通讯正常

本地圖片

(二)Vision-Studio工程

本地圖片

[0] 載入圖片:載入需要檢測的圖片至指定IM上

本地圖片

[1] Pekat表面檢測

  • 輸入引數:

    • 輸入影像:選擇需要進行操作的影像,影像序號與IM序號一致。

      本地圖片

  • 計算引數

    • 主機:設定PekatVision所在的PC機的IP地址

    • 埠號:設定Pekat對應工程的埠號

    • 顯示標籤:輸出影像上顯示Pekat檢測的結果標籤

    • 輸出視窗:推送視窗到暫存器,用於Vision-Studio工程上的後續處理,举例:进一步测量该窗口中的几何尺寸

      本地圖片

[2] 指令碼處理(可選)

指令碼繫結PekatVision輸出的Json作為變數。PekatVision表面检测算子输出变量包括PekatVision输出的Json字符串

本地圖片

  • 通過指令碼獲取全域性變數並顯示檢測框以及檢測結果

    確認需要檢測的模型modelId,獲取對應檢測資料x, y, height, width,根據獲取的結果將檢測框顯示到對應IM視窗

lua
data = ConvertJsonToTable(json)

-- 获取检测框数量
number = #data.detectedRectangles


local x = {}
local y = {}
local width = {}
local height = {}

-- 根据模型id获取检测结果,这里的modelId要和pekat中的保持一致
for i = 1, number, 1 do
  if(string.format("%d",data.detectedRectangles[i].source.modelId) == "1708506619") then
     table.insert(x, data.detectedRectangles[i].x)
     table.insert(y, data.detectedRectangles[i].y)
     table.insert(width, data.detectedRectangles[i].width)
     table.insert(height, data.detectedRectangles[i].height)
  end

end

--输出检测框及结果
for i = 1, #x, 1 do
  DrawWindow2D(0,"red",x[i],y[i],x[i]+width[i],y[i]+height[i])
  DrawText2D(0, "red", x[i], y[i] - 25, 20, "脏污")
end

指令碼修改輸出視窗的顏色後,如下圖: 本地圖片

PekatVision使用介紹

標註訓練

[0] 建立並開啟工程

[1] 匯入圖片

選擇匯入圖片或資料夾來匯入資料集

本地圖片

[2] 選擇模組

選擇檢測對應模組

  • 表面檢測:適用於檢測已知表面缺陷

  • 檢測器:適用於已知缺陷的檢測與分類

  • 異常檢測器:適用於表面背景有重複的缺陷檢測(只需要OK合格圖訓練)

    本地圖片

[3] 缺陷標註及訓練

進入訓練介面,對缺陷進行標註並分類,點選開始訓練訓練模型。

本地圖片

結果檢視

  • 檢查

    在檢查介面檢視對應模型檢測結果

    本地圖片

  • 檢視

    在檢視介面檢視每張圖檢測完畢後的檢測結果json字串

    本地圖片

    json字串包含內容

    • 缺陷位置:x, y, height, width

    • 缺陷檢測模型id:modelId

    • 缺陷標籤:label

Vision Studio