Skip to content

PEKAT(表面检测)

效果预览

提示

使用此示例,您需要先准备一个PEKAT VISION的License授权


打开完整的PEKAT工程,并设置好相应的通信参数,即可通过AI-Vision进行调用。 ![本地图片](./picture/callPekat.gif)

(一)准备Pekat

提前训练一个PEKAT表面检测的工程(详细过程请参考本文最后一节,PekatVision使用介绍)

[0] 打开PEKAT工程

本地图片

[1] 通信设置

  • [a] 勾选数据处理:AI-Vision需要获取PEKAT处理之后的数据

  • [b] 选择提供者设置为API:AI-Vision将通过调用API的方式与PEKAT通信

  • [c] Host设置为运行AI-Vision工程的PC机的网络地址,如果PEKAT和AI-Vision在同一台PC上,可以设置为127.0.0.1,如果在不同的PC上,需要确保网络通讯正常

本地图片

(二)AI-Vision工程

本地图片

[0] 加载图片:加载需要检测的图片至指定IM上

本地图片

[1] Pekat表面检测

  • 输入参数:

    • 输入图像:选择需要进行操作的图像,图像序号与IM序号一致。

      本地图片

  • 计算参数

    • 主机:设置PekatVision所在的PC机的IP地址

    • 端口号:设置Pekat对应工程的端口号

    • 显示标签:输出图像上显示Pekat检测的结果标签

    • 输出窗口:推送窗口到寄存器,用于AI-Vision工程上的后续处理,举例:进一步测量该窗口中的几何尺寸

      本地图片

[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

AI-Vision,让3D测量更简单