物体识别
三件事情你需要知道的
目标识别与目标检测
物体检测和物体识别是用于识别对象类似的技术,但他们在他们的执行而变化。目标检测是在图像中查找对象实例的过程。在深度学习的情况下,目标检测是目标识别的一个子集,目标不仅被识别,而且被定位在图像中。这允许在同一图像中识别和定位多个对象。
目标识别技术
基于深度学习的目标识别
深学习技术已经成为做目标识别的常用方法。深度学习模型如卷积神经网络,或CNN公司,用于自动学习对象的固有特征以识别该对象。例如,CNN可以通过分析数千张训练图片,学习使猫和狗不同的特征,来识别猫和狗之间的差异。
使用深度学习执行对象识别有两种方法:
- 培训从无到有模型:要从头开始训练一个深度网络,您需要收集一个非常大的标记数据集,并设计一个网络体系结构来学习这些特性并构建模型。结果可能令人印象深刻,但这种方法需要大量的训练数据,您需要在CNN中设置层和权重。
- 使用预训练的深度学习模式:最深刻的学习应用使用迁移学习方法,涉及微调预训练模型的过程。在开始与现有的网络,诸如AlexNet或GoogLeNet,并在含有先前未知的类新的数据馈送。这种方法耗时少,可提供更快的结果,因为该模型已经在成千上万个图像的培训。
深度学习提供了高水平的准确性,但需要大量数据才能做出准确的预测。
物体识别使用机器学习
机器学习技术对于目标识别也很流行,并且提供了不同于深度学习的方法。机器学习技术的常见例子有:
- 基于支持向量机的猪特征提取机器学习模型
- 文字袋模型的功能,如SURF和MSER
- 该Viola-Jones算法,可用于识别各种对象,包括面和上半身
机器学习工作流
要使用标准的机器学习方法进行目标识别,你的图像(或视频)的集合开始,并选择每个图像中的相关特征。例如,特征提取算法可能会提取可用于在数据类进行区分边或角的特征。
这些特征被添加到机器学习模型中,机器学习模型将这些特征分成不同的类别,然后在分析和分类新对象时使用这些信息。
可以使用多种机器学习算法和特征提取方法,这些方法提供了许多组合来创建精确的对象识别模型。
利用机器学习进行目标识别,可以灵活地选择特征和分类器的最佳组合进行学习。它可以用最少的数据获得准确的结果。
机器学习与深学习的物体识别
确定对象识别的最佳方法取决于您的应用程序和您试图解决的问题。在许多情况下,机器学习是一种有效的技术,特别是如果你知道图像的哪些特征是区分对象类别的最佳特征。
在选择机器学习和深度学习时,要记住的主要问题是你是否有一个强大的GPU和大量标记的训练图像。如果这两个问题的答案都是否定的,那么机器学习方法可能是最好的选择。深度学习技术倾向于更好地处理更多的图像,GPU有助于减少训练模型所需的时间。
学到更多
其他物体识别方法
对物体识别等更基本的方法可以根据不同的应用是足够的。
- 模板匹配–使用小图像或模板在大图像中查找匹配区域
- 图像分割与blob分析–使用简单的对象属性,如大小、颜色或形状
一般来说,如果一个物体可以用一种简单的方法识别,比如图像分割,最好从简单的方法开始。这可以提供一个健壮的解决方案,不需要成百上千的训练图像或过于复杂的解决方案。
深度学习和机器学习
只需几行MATLAB软件®代码,你可以建立机器学习和深入学习模型物体识别,而不必成为专家。
使用MATLAB进行目标识别使您能够成功地在更短的时间,因为它可以让你:
- 使用您的领域专业知识并使用MATLAB学习数据科学:
您可以使用MATLAB学习和机器学习和深入学习领域获得的专业知识。MATLAB使学习有关这些领域的务实和访问。此外,MATLAB允许领域专家创建的对象识别模型 - 到数据科学家谁可能不知道你的行业或应用程序而不是移交任务。
- 使用应用来标签数据和建立模型:
MATLAB允许您用最少的代码构建机器学习和深度学习模型。
与分类学习应用,您可以快速构建机器学习模型并比较不同的机器学习算法,而无需编写代码。
使用图像标签应用程序,您可以交互视频中的标签图像,并自动地实况标签中的对象进行训练和测试深刻的学习模式。这种互动性和自动化的方法能带来更好的结果在更短的时间。
- 在单个工作流中集成对象识别:
MATLAB可以在一个统一的工作流程多个域。有了MATLAB,你可以做你的思维和编程在一个环境中。它提供了深度学习和机器学习,并且还工具和功能的范围内结构域的饲料到这些算法,如机器人,计算机视觉,以及数据分析。
MATLAB自动化企业系统,集群,云和嵌入式设备部署您的模型。