OpenCV和AI工具

宜美智自训练系统中可用的半自动和自动标注工具概述.

AIOpenCV工具的帮助下,以半自动和自动模式对数据进行标注.

参阅:

交互器

交互器是AIOpenCV工具的一部分.

使用交互器标记图像中的对象 半自动创建多边形.

创建多边形时,可以使用正点 或者是负点(对于某些模型):

  • 正点定义对象所在的区域。
  • 负点定义对象不在的区域。

AI工具: 使用交互器标注

要使用交互器进行标注,请执行以下操作:

  1. 点击魔术棒 魔术棒, 然后转到交互器标签页.
  2. 标签下拉菜单中,选择多边形的标签.
  3. 交互器下拉菜单中,选择一个模型 (详阅 交互器模型).
    点击问号以查看每个模型的信息:
  4. (可选)如果模型返回掩膜,你需要 转换掩膜到多边形,使用转换掩膜到多边形切换.
  5. 点击 交互.
  6. 左键点击可添加正点,右键点击可添加负点.
    可以添加的点数取决于模型.
  7. 在顶部菜单, 点击 完成 (或者 Shift+N, N).

AI工具: 增加额外的点

**注意:**更多的点可以提高轮廓的准确性,但会使形状编辑更加困难. 较少的点使形状编辑更容易,但降低了轮廓精度.

每个模型都有一个用于注释的最小所需点数。 一旦达到了所需的点数,就开始请求自动发送到服务器。 服务器处理请求并向帧中添加一个多边形。

为了得到一个更准确的轮廓, 首先推迟服务器的请求来增加点数:

  1. 按住Ctrl键.
    在顶部面板上,推迟按钮将变成蓝色.
  2. 向图像中添加点.
  3. 当准备好时,松开Ctrl键.

如果你在对象完成时使用了将掩膜转为多边形, 你可以像编辑多边形一样编辑它.

你可以用滑块改变多边形的点数:

AI工具: 删除点


要删除一个点,请执行以下操作:

  1. 将光标悬停在要删除的点上.
  2. 如果这个点可以被删除,它会放大,光标会变成一个十字.
  3. 左键点击这个点.

OpenCV: 智能剪刀

要使用智能剪刀, 请执行以下操作:

  1. 在菜单栏上,单击 OpenCVOpenCV 然后等待库加载.


  2. 转到Drawing选项卡,选择标签,并单击智能剪刀按钮.

  3. 在已分配对象的边界上添加第一个点.
    你会看到一条线重复物体的轮廓.

  4. 添加第二个点,使前一个点在限制阈值内.
    之后,在这些点之间会自动创建一条重复对象边界的线.

  5. 要完成放置点,在顶部菜单上单击完成(或键盘上的N).

这样就创建了一个多边形.

你可以用滑块改变多边形的点数:

要增加或降低操作阈值,按住Ctrl并滚动鼠标滚轮.

在绘制过程中,可以用鼠标左键点击最后一个点来删除它.

设置

交互器模型

模型工具描述例子
Segment Anything Model (SAM)AI工具分割任意模型(SAM)产生高
质量的对象掩膜,它可用于生成图像中所有对象的
掩膜。它在包含1100万张图像的数据集

11亿个掩膜的数据集上进行了训练,并在各种分割任务上具有强大的零样本性能。

更多信息,请参见:
  • GitHub: Segment Anything
  • Site: Segment Anything
  • Paper: Segment Anything
  • Deep extreme
    cut (DEXTR)
    AI工具这是原始模型的优化版本,
    ,于2017年底推出。它使用对象
    的极值点的
    信息来获得它的掩膜。然后掩膜
    被转换为多边形。
    目前这是CPU上最快的交互器。

    更多信息,请参见:
  • GitHub: DEXTR-PyTorch
  • Site: DEXTR-PyTorch
  • Paper: DEXTR-PyTorch
  • Feature backpropagating
    refinement
    scheme (f-BRS)
    AI工具该模型允许使用正点(应该在前景上左键点击)
    和负点(如果需要,应该在背景上右键点击)
    掩膜
    。如果可能的话,建议在GPU上运行模型。

    有关更多信息,请参见:
  • GitHub: f-BRS
  • Paper: f-BRS
  • High Resolution
    Net (HRNet)
    AI工具该模型允许使用正点(应该在前景上左键点击)
    和负点(如果需要,应该在背景上右键点击)
    掩膜
    。如果可能的话,建议在GPU上运行模型。

    有关更多信息,请参见:
  • GitHub: HRNet
  • Paper: HRNet
  • Inside-Outside-Guidance
    (IOG)
    AI工具T他的模型使用边界框和内部/外部点来创建一个掩膜。
    首先,你需要创建一个边界框来包裹对象。
    然后你需要使用正负点来
    告诉模型哪里是前景,哪里是背景。
    负点是可选的。

    有关更多信息,请参阅::
  • GitHub: IOG
  • Paper: IOG
  • 智能剪刀OpenCV智能剪刀是一种CV方法,
    通过放置点并在点与点之间
    自动绘制直线来创建多边形。
    相邻点之间的距离受到动作阈值的限制,
    显示为与光标绑定的红色正方形。

    有关更多信息,请参见:
  • Site: Intelligent Scissors Specification
  • int scissors

    目标检测

    目标检测是AI工具的一部分.

    使用目标检测自动识别和定位图像中的物体.

    标签匹配

    每个模型都是在数据集上训练的,并且只支持数据集的标签.

    例如:

    • DL模型的标签为 缺口.
    • 你的任务(或项目)的标签是针孔.

    为了进行标注,您需要匹配这两个标签以给DL模型一个提示, 在本例中为缺口 = 针孔

    如果你有一个不在DL标签列表中的标签,你将无法匹配它们.

    因此,支持的深度学习模型只适用于某些标签.
    要查看每个型号的标签列表,请参见 目标检测模型.

    使用目标检测标注

    要使用目标检测进行标注,请执行以下操作:

    1. 点击魔术棒 Magic wand, 然后转到目标检测选项卡.

    2. 模型下拉菜单中选择模型 (参见 目标检测模型).

    3. 从左下拉框中选择DL模型标签,从右下拉框中选择与您的任务匹配的标签.

    4. (可选)如果您需要改变预标注的阈值,可填入阈值(区间为(0,1)) 默认0.5..

    5. 点击 标注.

    这个动作会自动标注一帧. 参见自动标注.

    目标检测模型

    模型描述
    内层用于AOI内层检测使用的AI模型
    酸性外层用于AOI酸性外层检测使用的AI模型
    碱性外层用于AOI碱性外层检测使用的AI模型
    树脂塞孔用于AOI树脂塞孔检测使用的AI模型
    金OSP用于AVI金OSP 检测使用的AI模型