跳到主要内容

预处理

预处理模块在模型推理前对图像进行裁剪、缩放、方向矫正和形态修正,确保输入数据的质量和格式满足模型要求。

卡坐标裁图

img.png

功能

基于固定坐标区域进行图像裁剪。目的是为了减少模型处理面积,提升速度和精度。

参数设置与功能说明

img_1.png

图像加载

参数图像区域加载的图像仅供卡坐标裁图参考用,其图像不输出到下一个流程节点。

裁图参数

  • X、Y:裁剪区域左上角坐标
  • W、H:裁剪区域宽高

案例

img_2.png

卡坐标裁图示意图:

img_3.png

输入输出说明

img_4.png

输入

  • 图像:上一个流程节点传入的图像,通常上一个节点接【输入 ➡️ 输入图像】

输出

  • 图像:卡坐标裁剪后图像,通常下一个节点接【AI模型】

滑窗裁图

img_5.png

功能

把大图切成多个小图分批处理。

参数设置与功能说明

img_6.png

参数介绍

参数默认值说明
窗口尺寸-X(宽度)640裁剪窗口的宽度
窗口尺寸-Y(高度)640裁剪窗口的高度
重叠尺寸-X方向0水平方向相邻窗口的重叠像素
重叠尺寸-Y方向0垂直方向相邻窗口的重叠像素

案例

  • 参数设置:

img_7.png

  • 滑窗裁图示意图:

img_8.png

输入输出说明

img_9.png

输入

  • 图像:上一个流程节点传入的图像,通常上一个节点接【输入图像】

输出

  • 图像:裁剪后的图像列表,通常下一个节点接【AI模型】

AI裁图

img_10.png

功能

通过模型输出bbox结果,对图像进行裁剪。

参数设置与功能说明

img_11.png

裁图外扩

  • 像素外扩

    按固定像素值向外扩展裁剪区域。默认0px,按照模型输出bbox结果直接裁剪。

    img_12.png

  • 案例 (像素外扩)

    • 像素外扩:30px

    img_13.png

    像素外扩示意图:

    img_14.png

  • 按百分比外扩

    按检测框宽高百分比向外扩展。默认10%,支持设置最大外扩值默认32px。

    img_15.png

  • 案例 (百分比外扩)

    • 百分比外扩:30%

    • 外扩最大值:64px

    img_16.png

    按百分比外扩示意图:

    img_17.png

  • 固定尺寸裁图

    以检测结果中心为中心点,外扩或内缩到设定尺寸,若原图尺寸小于设定尺寸,则按原图实际尺寸输出。默认是640 x 640。

    img_18.png

  • 案例 (固定尺寸裁图)

    • 固定尺寸宽:1024

    • 固定尺寸高:1024

    img_19.png

    固定尺寸裁剪意图:

    img_20.png

掩码模式

上一个节点为 实例分割\语义分割 模型时,勾选掩码模式只保留mask形态,对背景补黑。

  • 勾选掩码模式

保留Mask部分,对背景补黑。

img_21.png

  • 不勾选掩码模式

按模型输出的BBOX进行裁剪,保留Mask和背景部分。

img_22.png

案例

当目标在图像中占比较小且位置不固定时,可通过目标检测定位目标区域并裁剪,将检测的范围从全局缩小到需要检测的区域。这样可以有效降低计算量,减少背景干扰,提升微小缺陷的检出率。如下图产品所示:

img_23.png

检测流程如下所示:

  • 输入图像+目标检测+AI裁图+实例分割+输出结果。

    • 输入图像:加载原始图像。

    • 目标检测:在原图上快速定位检测区域。

    • AI裁图:根据目标检测的Bbox框,进行裁剪。

    • 实例分割:在小图上进行缺陷检测。

    • 输出结果:获取小图的分割结果,映射回原图坐标。

      img_24.png

输入输出说明

img_25.png

输入

  • 图像:上一个流程节点传入的图像,通常上一个节点接 【AI模型 ➡️ 目标检测\实例分割\语义分割】 或 【后处理 ➡️ 掩码转最小外接矩 】 。

  • 结果:模型检测结果 或 掩码转最小外接矩 计算结果。

输出

  • 图像:裁剪后的图像,通常下一个节点接【AI模型】。

  • 结果:裁剪区域的坐标信息,用于结果还原。

按比例缩放

img_26.png

功能

将传入的图像按比例缩小。当待测目标本身就很大, 不需要很高的分辨率也能识别,可以适当降低图像分辨率,从而提升处理速度、减少内存占用。

参数设置与功能说明

img_27.png

参数介绍

缩放比例(SCALE):默认1,按除法运算,范围:0.01-10。

  • 缩放比例=5,图像按比例缩小5倍。

    原图尺寸 2448 x 2048 ,缩小5倍 ,缩图尺寸 490 x 410。

    img_30.png

  • 缩放比例=0.2,图像按比例放大5倍。

    原图尺寸 2448 x 2048 ,放大5倍 ,缩图尺寸 12240 x10240

    img_29.png

案例

  • 流程图:输入图像+ 按比例缩放 +语义分割+输出结果

    img_28.png

    按比例缩放参数设置5,如下图所示:

    img_31.png

    语义分割检测耗时,如下图所示:

    img_32.png

输入输出说明

img_34.png

输入

  • 图像:上一个流程节点传入的图像,通常上一个节点接【输入图像】。

输出

  • 图像:缩放处理后图像,通常下一个节点接【AI模型】。

方向矫正

img_33.png

功能

将AI裁图模块生成的小图,以长边为正方向(即水平方向)进行方向矫正。

案例

  • 使用方向矫正模块

    • 流程图:输入+目标检测+AI裁图+ 方向矫正 +输出结果

    img_35.png

    进行方向矫正后,以图片长边为水平方向。矫正图像如下所示:

    img_36.png

  • 不使用方向矫正模块

    • 流程图:输入+目标检测+AI裁图+输出结果

    img_37.png

    未经过方向矫正的图像长边方向不统一,有的图像长边水平,有的垂直。未进行方向矫正的图像如下所示:

    img_38.png

输入输出说明

img_39.png

输入

  • 图像:AI裁图后的小图,通常上一个节点接【预处理 \ AI裁图】。

输出

  • 图像:以长边为正方向矫正的小图。

AI方向矫正

img_40.png

功能

基于分类模型的识别结果,对图像进行自动旋转矫正,将90°、180°及270°朝向的图像统一矫正至0°。

参数设置与功能说明

img_41.png

参数介绍

参数当前值说明
逆时针旋转 90 度90当模型识别为 90° 时,执行逆时针转 90° 回正
逆时针旋转 180 度180当模型识别为 180° 时,执行逆时针转 180° 回正
逆时针旋转 270 度270当模型识别为 270° 时,执行逆时针转 270° 回正
曲线拉直图像✅ 勾选获取曲线拉直后的图像做方向判定

案例

有一个产品需要检测上面的生产日期,但是产品的方向不固定,导致文本可能会360°转动,但OCR模型只能识别正方向的文本。这时候就需要通过AI方向矫正将文本转正,再做文本识别。产品图片如下图所示:

img_42.png

流程图如下所示:

  • 输入图像+实例分割+掩码转最小外接矩+AI裁图+图像分类+ AI方向矫正 +文本识别(OCR)+输结果。

    • 输入图像:接收原始输入图像。

    • 实例分割:检测图像中的文本区域,生成精确的mask。

    • 掩码转最小外接矩:将实例分割得到的不规则掩码轮廓转换为最小外接矩形。

    • AI裁图:根据最小外接矩的坐标,从原图中裁剪出文本区域。

    • 图像分类:判断裁剪图属于那个方向,如0、90、180、 270。

    • AI方向矫正:将90°、180°及270°朝向的图像统一归正至0°。

    • 文本识别 (OCR):对矫正后的图像进行文字识别,提取文本内容。

    • 输出结果:汇总所有节点的处理结果,输出结果

    img_43.png

    AI方向矫正示意图:

    img_44.png

    未进行AI方向矫正,文本有0°、90°、180°及270°四种旋转方向,OCR识别时可能因方向错乱导致误检。如下图所示:

    img_45.png

    使用AI方向矫正后,对文本转正处理,将0°、90°、180°、270°四种方向的文本统一校正为正向,从而提升OCR识别准确率。 如下图所示:

    img_46.png

输入输出说明

img_47.png

输入

  • 图像:上一个节点传输的图像,图像角度为0°、90°、180°、270°。通常上一个节点接【AI模型➡️图像分类】

  • 结果:图像分类的结果

输出

  • 图像:矫正后的图像,通常下一个节点接【AI模型】。

曲线拉直

img_48.png

功能

将弯曲的文本行展开为平直图像。目的是为了把"弯曲难认"的文字,变成"平直好认"的文字,从而提高OCR模型检测的准确率。

参数设置与功能说明

img_49.png

参数设置

参数默认值说明
启用✅ 勾选是否启用该节点处理
输出高度80拉直后图像的统一高度,控制输出图像的垂直分辨率
采样步长10沿曲线采样的间隔步长。值越小采样越密集,精度越高但计算量越大
平滑参数10000曲线平滑程度控制,数值越大曲线越平滑(用于拟合弯曲路径)
向内收缩2对检测区域向内收缩的像素数,用于去除边缘噪声或边框
方法auto拉直算法选择:auto(自动选择)、affine(仿射变换)、perspective(透视变换)
最大展开宽度0限制拉直后图像的最大宽度,0 表示不限制(按实际比例展开)
混合列数2多列文本混合处理时的列数,用于处理多栏排版的弯曲文本
边界模式reflect101图像边缘填充方式

案例

现在有一个产品需要检测上面的文本,但是这个产品的文本比较特殊,是弯曲状的。产品图片如下图所示:

img_50.png

搭建以下流程实现弯曲文本检测:

  • 输入图像+语义分割/实例分割+ 曲线拉直 +文字识别(OCR)+输出结果

    • 输入图像:输入待测图像。

    • 语义分割/实例分割:提取弯曲文本的mask。

    • 曲线拉直:将弯曲的文本区域映射成矩形。

    • 文字识别(OCR):对拉直后的水平文本进行识别。

    • 输出结果:将OCR结果输出到原图。

    img_51.png

    曲线拉直示意图:

    img_52.png

输入输出说明

img_53.png

输入

  • 图像:输入待处理的弯曲图像/文本图像,通常上一个节点接【AI模型 ➡️ 实例分割\语义分割】。

  • 结果:模型检测到的区域信息.

输出

  • 图像:拉直后的图像,通常下一个节点接【AI模型 ➡️ 图像分类\OCR】。

  • 结果:拉直变换后的坐标/区域信息

镜像翻转

img_54.png

功能

将传入的图像镜像翻转。相机方向安装原因或产品上料姿态特殊导致图像方向颠倒,需要先矫正图像再进行检测。

参数设置与功能说明

选项效果
水平左右镜像(像照镜子)
竖直上下颠倒(像倒影)

案例

  • 水平翻转

img_55.png

  • 垂直翻转

img_56.png

输入输出说明

img_57.png

输入

  • 图像:上一个流程节点传入的图像,通常上一个节点接【输入图像】。

输出

  • 图像:翻转后的图像,通常下一个节点接【AI模型】