什么是物体识别?

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

利用物体识别来识别不同类别的物体。

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

物体识别是无人驾驶汽车背后的一项关键技术,它使无人驾驶汽车能够识别停车标志或区分行人和路灯。它在各种应用中也很有用,如生物成像中的疾病识别、工业检查和机器人视觉。

物体识别与物体检测

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

物体识别和物体检测

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

物体识别是如何工作的

可以使用多种方法进行对象识别。最近,技术机器学习而且深度学习已经成为解决物体识别问题的流行方法。这两种技术都学习识别图像中的物体,但它们的执行方式不同。

图3:用于物体识别的机器学习和深度学习技术。

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

目标识别技术

利用深度学习进行目标识别

深度学习技术已经成为一种进行物体识别的流行方法。深度学习模型比如卷积神经网络,或者美国有线电视新闻网用于自动学习对象的固有特征,以便识别该对象。例如,CNN可以通过分析成千上万张训练图像,学习猫和狗的不同之处,从而学会识别猫和狗之间的区别。

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

  • 从零开始训练一个模型:要从零开始训练一个深度网络,你需要收集一个非常大的标记数据集,并设计一个网络体系结构,该体系结构将学习特征并构建模型。结果可能令人印象深刻,但是这种方法需要大量的训练数据,并且您需要在CNN中设置层和权重。
  • 使用预训练的深度学习模型:大多数深度学习应用程序使用转移学习方法,包括微调预先训练的模型的过程。您从一个现有的网络开始,例如AlexNet或GoogLeNet,并输入包含以前未知类的新数据。这种方法耗时较少,而且可以提供更快的结果,因为模型已经在数千或数百万张图像上进行了训练。

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

图4:深度学习应用程序显示餐厅食物的对象识别。

使用机器学习的物体识别

机器学习技术在物体识别方面也很受欢迎,并提供了与深度学习不同的方法。机器学习技术的常见例子有:

机器学习工作流程

要使用标准的机器学习方法执行目标识别,您需要从一组图像(或视频)开始,并在每张图像中选择相关特征。例如,特征提取算法可以提取边缘或角特征,用于区分数据中的类。

这些特征被添加到机器学习模型中,该模型将这些特征划分为不同的类别,然后在分析和分类新对象时使用这些信息。

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

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

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

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

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

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

在选择机器学习和深度学习时,要记住的主要考虑因素是你是否拥有强大的GPU和大量标记的训练图像。如果这两个问题的答案都是否定的,那么机器学习方法可能是最好的选择。深度学习技术往往能更好地处理更多的图像,而GPU有助于减少训练模型所需的时间。

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

了解更多

其他物体识别方法

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

  • 模板匹配-它使用小图像或模板,在大图像中找到匹配的区域
  • 图像分割和斑点分析-它使用简单的对象属性,如大小、颜色或形状

通常情况下,如果可以使用像图像分割这样的简单方法来识别一个对象,那么最好从使用更简单的方法开始。这可以提供一个健壮的解决方案,不需要数百或数千个训练图像或过于复杂的解决方案。

基于MATLAB的物体识别

深度学习和机器学习

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

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

  1. 使用您的专业知识和MATLAB学习数据科学:

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

  2. 使用应用程序标记数据并建立模型:

    MATLAB允许您用最少的代码构建机器学习和深度学习模型。

    分类学习者应用,您可以快速构建机器学习模型,并比较不同的机器学习算法,而无需编写代码。

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

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

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

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

30天的免费试用

开始
Baidu
map