什么是图像识别?

你需要知道的三件事

图像识别是在图像或视频中识别物体或特征的过程。它被用于许多应用,如缺陷检测、医学成像和安全监控。

为什么图像识别事项

与手动图像检查相比,图像识别可以加快繁琐的任务并更快或更准确地处理图像。图像识别是许多应用中的关键技术,也是深度学习应用的主要驱动力,如:

  • 目视检查:在生产过程中识别出有缺陷或无缺陷的部件可以在装配线上快速检查数千个部件。
  • 图像分类:根据图像内容对图像进行分类。这在电子商务中的图像检索和推荐系统等应用中尤其有用。
  • 自动驾驶:识别图像中的停车标志或行人的能力对于自动驾驶应用至关重要。
  • 机器人:机器人可以使用图像识别来识别物体,并通过识别路径上的位置或物体来增强自主导航。

图像识别在零件缺陷视觉检测中的应用。

图像识别是这些应用的核心技术。它识别图像中的对象或场景,并使用这些信息作为更大系统的一部分来做出决策。图像识别帮助这些系统变得更加敏感,本质上通过提供对系统的洞察来实现更好的决策。

图像识别与目标检测

图像识别与识别对象检测是类似的技术,经常一起使用。图像识别识别图像中的对象或场景;对象检测在图像中查找这些对象的实例和位置。

常见的物体检测技术是更快的R-CNN和YOLOV3。

图像识别(左)和对象检测(右)。

它是如何工作的

图像识别技术

图像识别有很多方法,包括机器学习和深度学习技术。您使用的技术取决于应用程序,但一般来说,问题越复杂,您就越有可能希望探索深度学习技术。

使用深度学习的图像识别

图像识别的深入学习方法可能涉及使用卷积神经网络从样本图像中自动学习相关特征,并在新图像中自动识别这些特征。

典型的图像识别深度学习流程:

准备训练数据:从一组图像开始,将它们编译成相关的类别。这也可能包括任何预处理步骤,以使图像更一致,更准确的模型。

创建一个深度学习模型:虽然您可以从头开始构建深度学习模型,但最好从佩带的模型开始,以便您可以用作应用程序的起点。(学习更多关于预训练模型.

培训模型:模型训练包括将测试数据呈现给模型。然后模型对数据进行多次迭代,并自动学习与图像相关的最重要的特征。随着训练的继续,模型将学习更复杂的特征,直到模型能够准确地在训练集中的图像类别之间进行解码。

测试数据:测试模型以前从未见过的新数据,看看模型认为图像是什么。如果结果不是您所期望的,则重复这四个步骤,直到精度更高。

深度学习技术听起来可能很复杂,但简单的例子是开始学习和更多了解该技术的好方法。

提示:深度学习技术在图像识别中很受欢迎,因为它们提供了高度准确和稳健的结果。深度学习往往在大量训练数据的情况下工作得最好,而迁移学习等技术可以简化图像识别工作流。深度学习工具箱™提供一个框架,用于设计和实现具有算法、预训练模型和应用程序的深度神经网络。

使用机器学习的图像识别

图像识别的机器学习方法涉及从图像中识别和提取关键特征,并将其作为机器学习模型的输入。

  • 列车数据:从一组图像开始,将它们编译成相关的类别。
  • 提取特征:在每张图片中选择相关的特征。特征提取算法可能会提取可以用于区分数据中的类的边缘或角点特征。
  • 创建一个机器学习模型这些特征被添加到机器学习模型中,该模型将这些特征划分为不同的类别,然后在分析和分类新对象时使用这些信息。

用于图像识别的机器学习工作流。

您可以使用各种机器学习算法和特征提取方法,该方法提供了许多组合来创建准确的对象识别模型。

SVM classifier.

" data-toggle="lightbox">

机器学习的例子与图像识别分类数字使用HOG特征和一个分类器.

提示:使用机器学习进行对象识别可以灵活地选择用于学习的特征和分类器的最佳组合。它可以用最少的数据获得准确的结果。统计和机器学习工具箱™提供描述、分析和建模的功能和应用程序数据

图像识别:深度学习与机器学习

您如何知道何时使用深度学习或机器学习进行图像识别?在高层次上,区别在于通过机器学习手动选择特征,或者通过深度学习自动学习特征。

基于传统图像处理技术的图像识别

除了深度学习和机器学习之外,许多经典图像处理方法对于某些应用的图像识别非常有效。图像处理技术往往适合于“基于像素的”识别应用,例如:

  • 基于颜色的图像识别:通常颜色可以为图像识别提供出色的特征。色调,饱和度和值(HSV)或红色,绿色,蓝色(RGB)等功能可以提供对图像的洞察力。
  • 模板匹配:这项技术使用小图像或模板,在较大的图像中查找匹配区域。
  • 图像分割和blob分析:它使用简单的对象属性,如大小、颜色或形状。
提示:通常,如果可以使用像图像分割等简单的方法识别对象,最好首先使用该方法。您可能有一个强大的解决方案,不需要数百或数千次培训图像或复杂的解决方案。图像处理工具箱™可能拥有所需的所有工具。

基于MATLAB的图像识别

MATLAB®简化图像识别的硬部分。

  1. 图像标签应用程序:干净、预处理的数据确保了图像识别的最佳成功机会。和图像贴标程序应用程序,您可以自动化裁剪和标记图像的过程。

交互式标签图像和视频。

  1. 探索深度学习和机器学习算法:刚开始时,可能不清楚是使用深度学习还是机器学习技术。MATLAB提供了尝试所有方法组合的能力。探索深度学习或机器学习分类算法的预训练模型。

使用ONNX™(Open Neural network Exchange)导入和导出功能,您可以与TensorFlow™、Keras、PyTorch和咖啡因2等框架的网络和网络架构进行互操作。

与基于Python的框架集成。

  1. 用于部署的自动代码生成:最终,您的算法可能需要位于桌面环境之外。MATLAB提供了代码生成工具,可以将图像识别算法部署到任何地方:web、嵌入式硬件或生产服务器。
创建算法后,可以使用自动工作流生成TensorRT或CUDA®编码GPU编码器™为半实物测试。生成的代码可以与现有项目集成,并可用于验证桌面gpu或嵌入式gpu(如NVIDIA)上的对象检测算法®Jetson或NVIDIA Drive平台。

了解更多关于图像识别的信息

在文档中签出深入学习的例子。
观看本视频,了解有关如何以交互方式创建准确分类器的分步说明。
此示例显示如何使用自定义袋式工作流创建CBIR系统。
学习如何使用计算机视觉工具箱™ 通过创建一袋视觉单词来实现图像类别分类的功能。