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

识别逻辑


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

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

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

学习能力

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

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

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

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

泛化能力

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

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

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

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

链接

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

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

相关推荐
秋深枫叶红8 小时前
嵌入式C语言阶段复习——函数
c语言·数据结构·算法
java1234_小锋8 小时前
分享一套不错的基于Python的Django宠物信息管理系统
开发语言·python·宠物
2401_841495649 小时前
【Web开发】基于Flask搭建简单的应用网站
后端·python·flask·视图函数·应用实例·路由装饰器·调试模式
We་ct9 小时前
LeetCode 49. 字母异位词分组:经典哈希解法解析+易错点规避
前端·算法·leetcode·typescript·哈希算法
梵刹古音9 小时前
【C语言】 数组函数与排序算法
c语言·算法·排序算法
小明_GLC9 小时前
大模型幻觉以及如何设计合适的prompt回答用户问题
人工智能·prompt
盼小辉丶9 小时前
Transformer实战(35)——跨语言相似性任务
深度学习·自然语言处理·transformer
恋猫de小郭9 小时前
小米 HyperOS 4 大变样?核心应用以 Rust / Flutter 重写,不兼容老系统
android·前端·人工智能·flutter·ios
小鹿软件办公9 小时前
尊重用户选择:Firefox 148 将支持一键禁用所有 AI 功能
人工智能·firefox
众智鸿图9 小时前
解锁AR“透视眼”丨众智鸿图助力广州水投实现AR智能巡检新跨越
人工智能·ar·地理信息·智慧水务·城市基础设施智能化·管网管理