对象识别
你需要知道的3件事
对象识别与对象检测
对象检测和对象识别是用于识别对象的类似技术,但它们在执行中变化。对象检测是在图像中寻找物体实例的过程。在深度学习的情况下,目标检测是目标识别的子集,目标不仅被识别出来,而且被定位在图像中。这允许在同一图像中识别和定位多个对象。
目标识别技术
利用深度学习进行目标识别
深度学习技术已成为对象识别的流行方法。深度学习模型比如卷积神经网络,或者美国有线电视新闻网那用来自动学习物体的固有特征,以便识别该物体。例如,CNN可以通过分析数以千计的训练图像和学习使猫和狗不同的特征来识别猫和狗之间的区别。
使用深度学习进行物体识别有两种方法:
- 从头开始训练模型要从头开始训练一个深度网络,您需要收集一个非常大的标记数据集,并设计一个网络架构,该架构将学习特征并构建模型。结果可能令人印象深刻,但这种方法需要大量的训练数据,您需要在CNN中设置层次和权重。
- 使用佩带的深层学习模型:大多数深度学习应用程序使用转移学习方法,一个涉及微调掠夺模型的过程。您从现有网络开始,例如AlexNet或Googlenet,并以包含先前未知的类的新数据源。这种方法耗时较少,并且可以提供更快的结果,因为该模型已经培训了数千或数百万的图像。
深度学习提供了很高的准确性,但需要大量的数据才能做出准确的预测。
使用机器学习的对象识别
机器学习技术在物体识别方面也很受欢迎,它提供的方法与深度学习不同。机器学习技术的常见例子有:
- 基于SVM的HOG特征提取机器学习模型
- Bag-of-words模型具有诸如冲浪和MSER等功能
- 这Viola-Jones算法,它可以用来识别各种物体,包括人脸和上半身
机器学习工作流程
要使用标准计算机学习方法执行对象识别,您可以从一系列图像(或视频)开始,并选择每个图像中的相关功能。例如,特征提取算法可能提取可用于区分数据中类的边缘或角色特征。
这些特征被添加到机器学习模型中,该模型将这些特征划分为不同的类别,然后在分析和分类新对象时使用这些信息。
你可以使用各种机器学习算法和特征提取方法,它们提供了许多组合来创建精确的目标识别模型。
使用机器学习进行目标识别提供了选择特征和分类器的最佳组合进行学习的灵活性。它可以用最少的数据得到精确的结果。
机器学习与深度学习对象识别
确定目标识别的最佳方法取决于您的应用程序和您试图解决的问题。在许多情况下,机器学习可能是一种有效的技术,特别是当你知道图像的哪些特征或特征是用来区分物体类别的最佳特征时。
在选择机器学习和深度学习时,要记住的主要考虑因素是你是否有强大的GPU和大量标记好的训练图像。如果有一个问题的答案是否定的,那么机器学习方法可能是最好的选择。深度学习技术在处理更多图像时效果更好,GPU有助于减少训练模型所需的时间。
了解更多
其他对象识别方法
根据应用,对象识别的其他基本方法可能是足够的。
- 模板匹配-使用小图像或模板在大图像中寻找匹配区域
- 图像分割和斑点分析-使用简单的对象属性,如大小、颜色或形状
通常,如果一个对象可以通过像图像分割这样的简单方法来识别,那么最好先使用更简单的方法。这可以提供一个健壮的解决方案,不需要数百或数千个训练图像,也不需要过于复杂的解决方案。
深度学习和机器学习
只有几行MATLAB®代码,您可以为对象识别构建机器学习和深度学习模型,而无需成为专家。
使用MATLAB进行对象识别,使您可以在更少的时间内成功,因为它可以让您:
- 使用您的领域专业知识和学习数据科学与MATLAB:
您可以使用Matlab学习和获得机器学习和深度学习领域的专业知识。Matlab使这些领域的实用和可访问的域。此外,MATLAB使域专家能够创建对象识别模型 - 而不是将任务交给可能不了解您的行业或应用程序的数据科学家。
- 使用应用程序来标记数据和构建模型:
MATLAB让你用最少的代码构建机器学习和深度学习模型。
与分类学习者应用,您可以快速构建机器学习模型和比较不同的机器学习算法,而无需编写代码。
使用图片标志应用程序,您可以在图像中交互式标签对象,并在视频中自动化地面真理标签,以进行培训和测试深度学习模型。这种互动和自动化的方法可以在更短的时间内导致更好的结果。
- 将对象识别集成到单个工作流中:
MATLAB可以在单个工作流中统一多个域。使用MATLAB,您可以在一个环境中进行思考和编程。它为深度学习和机器学习提供了工具和功能,并且还提供了一系列馈送到这些算法的域,例如机器人,计算机愿景和数据分析。
Matlab自动部署在企业系统,集群,云和嵌入式设备上部署模型。