对象识别

你需要知道三件事

什么是物体识别?

目标识别是一种用于识别图像或视频中的目标的计算机视觉技术。目标识别是深度学习和机器学习算法的关键输出。当人们看一张照片或视频时,我们可以很容易地认出人、物体、场景和视觉细节。其目标是教会计算机做人类天生就会做的事:对图像所包含的内容有一定程度的理解。

图1所示。利用物体识别来识别不同类别的物体。

对象识别是无驱动汽车后面的关键技术,使他们能够识别停车牌或区分行人。它在各种应用中也是有用的,例如生物分析,工业检验和机器人视觉中的疾病鉴定。

物体识别与物体检测

目标检测和目标识别是识别目标的类似技术,但它们的执行方式不同。对象检测是在图像中查找对象的实例的过程。在深度学习的情况下,对象检测是对象识别的子集,其中对象不仅识别,而且位于图像中。这允许识别多个对象并位于同一图像内。

图2。物体识别(左)和物体检测(右)。

对象识别如何运作

您可以使用各种方法来进行对象识别。最近,技巧机器学习深度学习已成为对象识别问题的流行方法。这两种技术都学会识别图像中的对象,但它们的执行情况不同。

图3:对象识别的机器学习和深度学习技术。

下面的部分解释了用于目标识别的机器学习和深度学习之间的区别,并展示了如何实现这两种技术。

对象识别技术

使用深度学习的对象识别

深度学习技术已经成为一种流行的对象识别方法。深入学习模式如卷积神经网络,或CNNS.用于自动学习对象的固有功能,以便识别该对象。例如,CNN可以学会通过分析数千个训练图像并学习使猫和狗不同的特征来识别猫和狗之间的差异。

使用深度学习进行对象识别有两种方法:

  • 从头开始训练一个模型:要从划痕培训深度网络,您可以收集一个非常大的标签数据集,并设计一个网络架构,该架构将学习功能并构建模型。结果可能令人印象深刻,但这种方法需要大量的训练数据,并且您需要在CNN中设置层和权重。
  • 使用预先训练的深度学习模型:大多数深度学习应用程序使用转移学习方法,这一过程包括对预先训练的模型进行微调。您从一个现有的网络(如AlexNet或GoogLeNet)开始,并提供包含以前未知类的新数据。由于模型已经在成千上万的图像上训练过,这种方法更省时,而且可以提供更快的结果。

深度学习提供高度的准确性,但需要大量数据来做出准确的预测。

图4:深入学习应用,显示了餐厅食品的对象识别。

使用机器学习的对象识别

机器学习技术也是对象识别的流行,并且提供不同的方法,而不是深度学习。机器学习技术的常见示例是:

机器学习工作流程

要使用标准的机器学习方法进行目标识别,首先要从一组图像(或视频)开始,然后在每个图像中选择相关的特征。例如,特征提取算法可能会提取可以用于区分数据中的类的边缘或角点特征。

这些功能被添加到机器学习模型中,它将将这些功能分开到它们的不同类别中,然后在分析和分类新对象时使用此信息。

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

图5:对象识别的机器学习工作流。

使用机器学习进行对象识别,提供了选择最佳特征和学习分类器组合的灵活性。它可以通过最小的数据来实现准确的结果。

物体识别中的机器学习与深度学习

确定对象识别的最佳方法取决于您的应用程序和您尝试解决的问题。在许多情况下,机器学习可以是一种有效的技术,尤其是如果您知道图像的哪些功能或特征是用于区分对象的类的最佳功能。

在机器学习和深度学习之间选择时要记住的主要考虑是您是否拥有强大的GPU和许多标记的培训图像。如果对这些问题中的任何一个的答案是否定,机器学习方法可能是最佳选择。深入学习技术倾向于使用更多的图像更好地工作,GPU有助于减少培训模型所需的时间。

图6:选择深度学习和机器学习的关键因素。

了解更多

其他物体识别方法

根据应用程序的不同,其他更基本的对象识别方法可能就足够了。

  • 模板匹配- 使用小型图像或模板,在更大的图像中查找匹配区域
  • 图像分割和BLOB分析- 使用简单的对象属性,例如尺寸,颜色或形状

通常,如果可以使用像图像分割等简单的方法识别对象,最好首先使用更简单的方法。这可以提供强大的解决方案,该解决方案不需要数百或数千次训练图像或过于复杂的解决方案。

与matlab的对象识别

深度学习和机器学习

只有几行马铃薯®代码,你可以构建对象识别的机器学习和深度学习模型,而不必是专家。

使用MATLAB进行对象识别,使您能够在更短的时间内成功,因为它让您:

  1. 使用Matlab使用您的域专业知识并学习数据科学:

    您可以使用MATLAB学习并获得机器学习和深度学习领域的专业知识。MATLAB使这些领域的学习变得实用和容易。此外,MATLAB使领域专家能够创建对象识别模型,而不是将任务交给可能不了解您的行业或应用的数据科学家。

  2. 使用应用程序标签数据和构建模型:

    Matlab让您使用最少的代码构建机器学习和深度学习模型。

    与之分类学习者应用程序,您可以快速构建机器学习模型,并在不编写代码的情况下比较不同的机器学习算法。

    使用图像贴标程序应用程序,您可以交互式地在图像中标记对象,并在视频中自动地标记基础真理,用于训练和测试深度学习模型。这种交互式和自动化的方法可以在更短的时间内获得更好的结果。

  3. 将对象识别集成在单个工作流程中:

    MATLAB可以在一个工作流中统一多个领域。有了MATLAB,你可以在一个环境中思考和编程。它为深度学习和机器学习提供了工具和功能,也为一系列的领域提供了这些算法,例如机器人、计算机视觉和数据分析。

MATLAB可以在企业系统、集群、云和嵌入式设备上自动部署模型。

获得免费试用

在你的指尖探索30天。