什么是图像识别?

你需要知道的3件事

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

为什么图像识别很重要

图像识别可以比手动图像检查更快或更准确地加速繁琐的任务和处理图像。图像识别是许多应用中的重要技术,并且是深度学习应用程序中的主要驱动程序,如:

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

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

图像识别是这些应用程序中心的核心技术。它识别图像中的对象或场景,并使用该信息作为更大系统的一部分进行决定。图像识别正在帮助这些系统变得更加了解,通过提供对系统的洞察力来实现更好的决策。

图像识别与目标检测

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

常见的目标检测技术是Faster R-CNN和YOLOv3。

图像识别(左)和目标检测(右)。

它是如何工作的

图像识别技术

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

基于深度学习的图像识别

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

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

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

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

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

测试数据:测试模型未见过的新数据以查看模型认为是什么。如果结果不是您所期待的,请在这四个步骤上迭代,直到准确性更加接受。

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

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

基于机器学习的图像识别

图像识别的机器学习方法涉及从图像识别和提取密钥特征,并将其用作计算机学习模型的输入。

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

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

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

SVM classifier.

" data-toggle="lightbox">

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

提示:使用机器学习进行对象识别,提供了选择最佳特征和学习分类器的最佳组合的灵活性。它可以通过最小的数据来实现准确的结果。统计和机器学习工具箱™提供描述、分析和建模的函数和应用程序数据。

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

您如何知道何时使用深度学习或机器学习进行图像识别?在高级别,差异是手动选择具有机器学习的功能,或者自动学习深入学习。

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

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

  • 基于颜色的图像识别:通常颜色可以为图像识别提供一个很好的特征。诸如色相、饱和度和值(HSV)或红、绿、蓝(RGB)等特征可以提供对图像的洞察力。
  • 模板匹配该技术使用小图像或模板,在更大的图像中找到匹配区域。
  • 图像分割和blob分析:它使用简单的对象属性,如大小、颜色或形状。
提示:通常情况下,如果一个物体可以通过像图像分割这样的简单方法来识别,那么最好从使用这种方法开始。您可能有一个健壮的解决方案,它不需要成百上千的训练图像或复杂的解决方案。图像处理工具箱™可能有你需要的所有工具。

基于MATLAB的图像识别

MATLAB®简化了图像识别的难点。

  1. 图像标签应用程序:清洁,预处理的数据可确保成功与图像识别的最佳机会。与之图片标志应用程序,您可以自动化裁剪和标记图像的过程。

标签图像和视频交互式。

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

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

与基于Python的框架集成。

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

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

在文档中查看深度学习的例子。
有关如何以交互式创建准确的分类器的分步说明,请观看此视频。
这个例子展示了如何使用自定义的功能包工作流创建CBIR系统。
通过创建一袋视觉单词,了解如何使用计算机Vision Toolbox™用于图像类别分类的功能。