分类图像

此工具可用于对图像进行分类。

此工具需要经训练的分类器。分类器是一种深度学习模型,经过训练可以区分图像并将其分类。要训练分类器,您可以使用的 MVTecDeep Learning Tool。工作流程如下:先定义类,然后相应地为图像添加标签,最后训练深度学习模型。训练将生成一个分类器文件,可在此 MERLIC 工具中使用该文件对新图像进行分类。图像随后将被分类到先前定义的类中。

有关如何创建分类器的更多信息,请参阅 MVTec Deep Learning Tool 文档或观看使用 MVTec Deep Learning Tool 进行深度学习分类的视频教程。如果分类器文件可用,您可以立即使用该文件在 MERLIC 中通过“分类图像”工具对图像进行分类。

Artificial Intelligence Acceleration 接口 (AI²) 的支持

MERLIC 附带用于 NVIDIA® TensorRT™ SDK 和 Intel® Distribution of OpenVINO™ toolkitArtificial Intelligence Acceleration 接口 (AI²)。因此,您可以将 AI 加速器硬件用作与 NVIDIA® TensorRT™OpenVINO™ toolkit 兼容的处理单元,以便在相应的硬件(如 NVIDIA® GPU)或支持 OpenVINO™ toolkit 的硬件(如 CPU、Intel® GPU 和 Movidius™ VPU)上执行优化的推理。通过这种方式,您可以显著加快深度学习推理时间。相应的硬件可在工具参数“处理单元”中选择。

前提条件

支持 OpenVINO™ toolkitNVIDIA® GPU 和 CPU 在安装 MERLIC 后可立即使用。无需额外的安装或设置。

要将支持 OpenVINO™ toolkitIntel® GPU 和 VPU 用作处理单元,需要满足以下前提条件:

  • 首先必须安装 Intel® Distribution of OpenVINO™ toolkit
  • 必须在 OpenVINO™ toolkit 环境中启动 MERLIC

有关安装和前提条件的更多详细信息,请参阅 用于具有深度学习功能的工具的 AI² 接口 主题。

参数

基本参数

图像

此参数表示应分类的图像。

分类器文件

此参数定义所谓的分类器,即对图像进行分类应使用的 HALCON 深度学习模型(.hdl 文件格式)。

虽然也可以使用 MVTec HALCON 来训练分类器文件,但建议使用 MVTec Deep Learning Tool

从技术上讲,也可以使用 MVTec HALCON 创建分类器。但是,此工具仅支持使用以下预处理参数的默认值训练的分类器:

  • NormalizationType = "none"
  • DomainHandling = "full_domain"
显示热图

此参数定义是否显示热图。热图表示对分类器的决策起重要作用的图像部分。默认设置为 1。这意味着默认情况下显示热图。如果该参数设置为 0,则不显示热图。此参数值还决定了热图是否属于“显示的图像”结果中所返回图像的一部分。

如果 AI 加速器硬件用作处理单元,即使参数“显示热图”设置为 1,热图也不可用。在参数“处理单元”处选择与 OpenVINO™ toolkit 兼容的 CPU、GPU 或 VPU 后,热图将被禁用。选择 NVIDIA® GPU 时也同样如此。

其他参数

处理单元

此参数定义用于处理图像的方法。默认情况下,此参数设置为“自动”。在此模式下,MERLIC 尝试选择合适的 GPU 作为处理单元,因为它通常比 CPU 性能更好。然而,这需要相应 GPU 拥有至少 4 GB 的可用内存。如果没有找到合适的 GPU,CPU 将用作后备。

您也可以手动选择处理单元。单击此参数,从所有可用处理单元列表中选择设备。如果选择 GPU 作为处理单元,我们建议您检查是否有足够的内存可用于所使用的深度学习模型。否则,可能会出现推理速度较慢等不良影响。

MERLIC 还支持使用与 NVIDIA® TensorRT™ SDK 或 OpenVINO™ toolkit 兼容的 AI 加速器硬件:

  • NVIDIA® GPU
  • 支持 OpenVINO™ toolkit 的 CPU、Intel® GPU、Intel® VPU(MYRIADHDDL

相应设备用前缀“TensorRT(TM)”或“OpenVINO(TM)”标记。如果您选择支持 NVIDIA® TensorRT™OpenVINO™ toolkit 的设备,内存将通过 AI² 接口的相应插件在设备上初始化。

选择 AI 加速器硬件作为处理单元后,即开始深度学习模型的优化。优化后,表示模型参数的所有参数将在内部设置为只读。因此,只要选定的 AI 加速器用作处理单元,就无法再更改它们的值。要更改参数,首先必须将处理单元更改为没有任何 AI 加速的其他处理单元。设置参数后,可以将处理单元设置回相应的 AI 加速器硬件。

支持 OpenVINO™ toolkit 的 CPU 无需任何额外的安装步骤即可使用。它们将自动出现在可用处理单元列表中。如果有多个具有相同名称的处理单元可用,则会为其名称指定一个索引号。这同样适用于支持 NVIDIA® TensorRT™ 的 GPU。

要将支持 OpenVINO™ toolkit 的 GPU 和 VPU 用作处理单元,计算机上必须安装 Intel® Distribution of OpenVINO™ toolkit,并且必须在 OpenVINO™ toolkit 环境中启动 MERLIC。请参阅 用于具有深度学习功能的工具的 AI² 接口以了解有关前提条件的更多详细信息。

除了通过 AI 加速器硬件进行优化外,MERLIC 还支持通过 NVIDIA® CUDA® Deep Neural Network (cuDNN) 进行进一步的动态优化。此优化可通过 MERLIC Creator 中的 MERLIC 设定来启用。有关更多信息,请参阅MERLIC 设定主题。

精度

此参数定义内部用于优化推理深度学习模型的数据类型,它定义了模型转换的精度。默认情况下设置为“”。

下表显示此工具支持的模型精度。

描述

深度学习模型转换为“float32”的精度。

中等

深度学习模型转换为“float16”的精度。

大部分处理单元支持两种精度类型。然而,可能有一些处理单元只支持其中一种精度。在这种情况下,在参数“处理单元”中选择相应的设备后,参数中只有受支持的精度可用。如果自动选择处理单元,即如果“处理单元”设置为“自动”,则只有精度“”可用。

检测到的类数量

此参数定义“检测到的类”结果将返回的最大类数量。默认情况下,此参数设置为 1。这意味着“检测到的类”中将只返回一个类,即具有最高置信度的类。您可以选择最多查询 5 个类。“检测到的类”中的类结果将按其置信度值排序。

此参数还定义“置信度”和“检测到的类 ID”结果中返回的最大值数量,因为它们的值引用“检测到的类”中的类。有关这些结果的更多信息,请参阅以下相应部分。

所选参数值不会影响性能或运行时间,因为它仅控制结果的输出。

结果

基本结果

检测到的类

此结果返回要区分的类的名称。返回的类数量取决于参数“检测到的类数量”。类名称以字符串形式返回。如果返回多个类,它们会在一个元组中返回,并按各自的置信度值排序,具有最高置信度的类在前。“置信度”和“检测到的类 ID”结果中返回类的相应置信度和 ID。

置信度

此结果指示图像属于每个可区分类的可能性。置信度最大值为 1。最高置信度获胜,即可以确定类。例如,如果您有三个可能的类 [苹果、香蕉、橙子],生成的置信度值为 [0.7、0.2、0.1],则当前处理的图像被归类为“苹果”。

工具状态

工具状态”返回有关工具状态的信息,因此可用于处理错误。请参阅主题工具状态结果,了解关于不同工具状态结果的更多信息。

其他结果

处理时间:

此结果返回最近一次执行工具的持续时间(以毫秒为单位)。该结果作为附加结果提供。因此,默认情况下它是隐藏的,但是可以通过工具结果旁边的 按钮显示。有关更多信息,处理时间请参工具参考中所阅部分。

检测到的类 ID

此结果返回要区分的所有类的 ID。整数元组中的元素数量取决于“检测到的类数量”参数。

所有类

此结果返回在所选分类器中定义的所有可用类的名称。

所有类 ID

此结果返回在所选分类器中定义的所有可用类的 ID。

训练图像宽度

此结果返回训练分类器所使用的图像宽度。

训练图像高度

此结果返回训练分类器所使用的图像高度。

使用的处理单元

此结果返回上次迭代中使用的处理单元。如果参数“处理单元”设置为“自动”,可以使用此结果检查实际使用的处理单元,或者检查使用的处理单元是否正确。

精度数据类型

此结果返回内部用于优化推理深度学习模型的数据类型。您可以使用此结果检查是否使用了正确的精度,以防出现任何问题。

如果参数“精度”设置为“”,深度学习模型应转换为“float32”的精度。因此,预期此结果返回数据类型“float32”。如果参数“精度”设置为“中等”,深度学习模型应转换为“float16”的精度。在这种情况下,此结果的预期值为数据类型“float16”。如果在 MVApp 迭代过程中出现任何问题,可以检查此结果是否返回与预期不同的数据类型,还可以查看日志文件以了解更多信息。请参阅日志记录主题以了解关于日志文件的更多信息。

热图

此结果表示图像形式的热图,指示对分类至关重要的区别特征。

显示的图像

此结果表示处理图像和异常热图的叠加。当处理图像通过热图显示时,您可以更清楚地看到图像中的异常和发生位置。但是,只有在“显示热图”参数设置为“1”时才会显示热图。如果“显示热图”设置为 0,生成的图像仅返回不含热图的处理图像。

应用程序示例

此工具用于以下 MERLIC Vision App 示例:

  • classify_pills.mvapp
  • classify_and_inspect_wood.mvapp