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

识别逻辑


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

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

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

学习能力

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

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

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

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

泛化能力

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

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

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

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

链接

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

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

相关推荐
threelab6 小时前
挑战AI辅助从零构建3D模型编辑器:01基于Vue3 + Three.js的现代化架构设计
javascript·人工智能·3d·前端框架·着色器
2401_898717666 小时前
CSS实现自定义滚动条的定位悬浮_利用fixed定位与伪类
jvm·数据库·python
才兄说6 小时前
机器人二次开发机器狗巡检?自动返充避障
python
TDengine (老段)6 小时前
TDengine TSDB 整体构架
大数据·数据库·人工智能·物联网·时序数据库·tdengine·涛思数据
piglet121386 小时前
# 自己写了一个 Claude.ai Agent 前端之后,对 Agent 的一些想法
人工智能
m0_748554816 小时前
如何在 Discord.py 中限制按钮仅由特定角色用户点击
jvm·数据库·python
尘埃落定wf6 小时前
Python 数据库迁移:Alembic 太重?自己动手搭一套轻量版
数据库·python·mysql
Jetev6 小时前
Golang怎么用embed嵌入配置文件_Golang如何将默认配置文件打包进二进制程序【技巧】
jvm·数据库·python
2301_787312436 小时前
golang如何实现Apple Pay集成_golang Apple Pay集成实现教程
jvm·数据库·python
葡萄城技术团队6 小时前
AI没有缓解IT与业务的矛盾,有时反而激化了它
人工智能·microsoft