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

识别逻辑


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

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

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

学习能力

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

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

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

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

泛化能力

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

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

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

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

链接

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

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

相关推荐
羑悻的小杀马特39 分钟前
OpenCV 引擎:驱动实时应用开发的科技狂飙
人工智能·科技·opencv·计算机视觉
蹦蹦跳跳真可爱5892 小时前
Python----计算机视觉处理(Opencv:道路检测之提取车道线)
python·opencv·计算机视觉
Tanecious.4 小时前
机器视觉--python基础语法
开发语言·python
想跑步的小弱鸡4 小时前
Leetcode hot 100(day 3)
算法·leetcode·职场和发展
guanshiyishi4 小时前
ABeam 德硕 | 中国汽车市场(2)——新能源车的崛起与中国汽车市场机遇与挑战
人工智能
ALe要立志成为web糕手4 小时前
SESSION_UPLOAD_PROGRESS 的利用
python·web安全·网络安全·ctf
极客天成ScaleFlash4 小时前
极客天成NVFile:无缓存直击存储性能天花板,重新定义AI时代并行存储新范式
人工智能·缓存
Uzuki4 小时前
AI可解释性 II | Saliency Maps-based 归因方法(Attribution)论文导读(持续更新)
深度学习·机器学习·可解释性
澳鹏Appen5 小时前
AI安全:构建负责任且可靠的系统
人工智能·安全
Tttian6225 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel