【图像检测】深度学习与传统算法的区别(识别逻辑、学习能力、泛化能力)

识别逻辑


深度学习 使用了端到端的学习策略,直接学习从图像到检测结果的映射关系,自动提取特征,并且根据特征与特征之间的关系,计算出检测结果。

传统算法 则是人工提取特征,比如边缘特征,直线特征,形状特征,然后根据特征的关系,手工编写判断条件,识别类别结果

随着类别数量的增加,特征提取变得愈加复杂。每个特征的定义都需要处理大量的参数,而这些参数必须由视觉工程师进行细致的调整。

学习能力

深度学习 的学习能力强,使用了梯度下降方法,训练百万参数甚至上亿参数的模型。输入到模型的数据,如果没有自我矛盾,通常都会被完整学习,也就说训练集能够做到近似于 100% 检出。

传统算法 则需要手动设计算法,通过各种算子,例如二值化、形态学变换、边缘提取等算法,结合人工对缺陷的理解,编写算法。若是缺陷种类很多,数据量大,毕竟人工编写算子的效率有限,很难在训练集上做到 100% 检出。

例如,极片缺陷检测里有一个类叫做气泡。

如果是 传统算法 ,使用上面各种方法提取特征,然后判断这个物体是不是气泡,经过测试只有 85% 的准确率。而是用 深度学习 去识别,轻松可以做到 99.5% 以上的准确率。

泛化能力

深度学习 因为学习的数据量大,种类多样,因此有极强的泛化能力。我们使用的深度卷积神经网络,也就是 CNN,具备三大特性:

  • 平移不变性
  • 旋转不变性
  • 缩放不变性

也就是说,无论图像中的目标经历平移、旋转、缩放,还是在不同的光照条件和视角下,均能被成功识别。

传统算法 在打光条件发生变化的情况下,通常需要调节一些阈值参数,才能适应新的成像条件。

链接

AI工具:https://dlcv.com.cn

原文链接: https://bbs.dlcv.com.cn

相关推荐
liulilittle13 小时前
C++ 并发双阶段队列设计原理与实现
linux·开发语言·c++·windows·算法·线程·并发
孟祥_成都13 小时前
Prompt 还能哄女朋友!你真的知道如何问 ai 问题吗?
前端·人工智能
小马爱打代码13 小时前
Spring AI:提示词工程 - Prompt 角色分类(系统角色与用户角色)
人工智能·spring·prompt
Ttang2313 小时前
【AI学习1】了解开源大模型
人工智能·学习·开源
小马爱打代码13 小时前
Spring AI:多模态 AI 大模型
java·人工智能·spring
生信大表哥13 小时前
Claude Code / Gemini CLI / Codex CLI 安装大全(Linux 服务器版)
linux·python·ai·r语言·数信院生信服务器
johnny23313 小时前
蚂蚁百灵研发助手CodeFuse介绍
人工智能
databook13 小时前
用样本猜总体的秘密武器,4大抽样分布总结
后端·python·数据分析
paopao_wu13 小时前
阿里通义实验室开源Z-Image:6B参数的AI图像生成
人工智能·ai·开源
白狐_79813 小时前
【项目实战】我用一个 HTML 文件写了一个“CET-6 单词斩”
前端·算法·html