深度学习基础介绍
最近遇到很多友人想要了解深度学习,或深度学习能做什么,或各种眼花缭乱的深度学习算法怎么应用?遂鉴于鄙人粗略的理解,写一篇简单的,基础的深度学习介绍供大家参考,有问题请及时指出。

                                  深度学习基础介绍

一、前言
    当下而言,深度学习已经深入扎根在工业视觉领域,并在各行各业中发挥着重要的价值,其优势在于以下几点:
    1. 质量控制:在工业生产中,深度学习可以用于图像识别,进行产品缺陷检测,提高产品质量。通过训练模型识别产品表面的微小瑕疵,可以自动筛选出不合格产品,减少人工检查的成本和提高效率。
    2. 预测性维护:深度学习模型可以分析设备的传感器数据,预测设备可能出现的故障,从而提前进行维护,减少意外停机时间,提高生产效率。
    3. 生产优化:通过分析生产过程中收集的数据,深度学习可以帮助优化生产流程,比如通过调整参数提高产量或降低能耗。
    4. 自动化机器人:深度学习可以用于提高机器人的自主性,使它们能够更好地理解环境,进行更复杂的操作,如自动化装配线,一般会搭配智能相机。
而在工业视觉领域,深度学习的应用主要包括:
    1. 图像分类:通过训练深度学习模型,可以识别和分类图像中的对象,这在许多行业中都有应用,比如安全监控、医疗影像分析等。
    2. 目标检测:深度学习可以识别图像中的具体物体,并确定它们的位置,这对于自动驾驶汽车、视频监控等领域至关重要。
    3. 语义分割:这是将图像中的每个像素分配到特定类别的任务,对于需要理解图像细节的应用非常有用,比如电池片、手机外壳、食品包装等表面或内部的缺陷检测。
    4. 实例分割:可以区分出相同类别的不同个体,特别适用于物料重叠的抓取场景。
    5. 字符识别:区别于传统字符识别方法,可以在复杂基底中识别出字符信息,具有非常强悍的抗干扰能力。
    6. 无监督模式:使用OK样本进行训练,就能鉴别除OK外的各类异常目标,适用于各行业中标签类字符和标准元器件表面的缺陷检测。
    深度学习之所以在这些领域发挥优势,是因为它能够从大量数据中自动学习复杂的模式和特征,而不需要人工设计特征提取器。此外,深度学习模型可以通过并行计算和GPU加速,提高训练和推理的速度。
    

二、深度学习的基本概念
    要了解深度学习,首先要了解什么是机器学习,在人工智能领域中,深度学习就是机器学习的一个分支,但讲理论的话比较枯燥无味,可以通过下方例子来理解:
    机器学习:我们拉着机器人,对着公园里的几个猫、狗、兔子,告诉他这几个动物对应的名字,机器人就能立马在新的动物照片上猜出它是谁。【核心在于学习规律和模式,适用于浅层的分类和识别】
    深度学习:我们拉着机器人到大数据中心,给他看猫、狗、兔子的照片而不告诉他名字,久而久之,机器人会根据这些特征来识别和区分不同的动物。【核心在于学习主题和特征,整个过程更像在模仿人的学习模式,泛化能力预期很强】

1)深度学习的简单流程
    
    在每一层中不断的学习特征,并通过一定计算方法对之前所标注的真值进行损失计算,持续的迭代优化“特征提取器”的精度,最终达到预期效果。

2)传统算法和深度学习的对比
    传统算法的优缺点:【优点】对低级别的缺陷边缘信息做描述和表征,且对成像质量与稳定度有较高要求;【缺点】对高级别的缺陷形态(如背景纹理复杂,缺陷异变,相似特征边缘交叉等情况),仅用传统算法难以做到准确的检出和分类,随着数据量的增加,人工维护成本逐渐提升。
    深度学习的优缺点:【优点】能同时兼容不同场景下的各类缺陷形态,有很强的泛化能力和抗干扰能力。【缺点】小样本下的性能及过拟合问题。
    

3)深度学习的常用框架
    

4)深度学习产品

    目前我在用的海康的产品,在训练和推理都有独立的软件
     
            离线训练软件VisionTrain                              

    

                                通用视觉软件VM
三、算法模块介绍
目前海康机器人共有以下几种深度学习算法模块,可全面适用于各行业的深度学习检测需求:
   

下面开始介绍不同算法模块的功能特性和使用场景,对于不同算法的训练指导方法可以参考本FAQ内的文档资料:
1)图像分割
    图像分割又称之为语义分割,通过提取图像上各类语义信息,抓取目标的特征,输出目标的轮廓点和类别信息,以达到识别和定位相似缺陷的功能,评估图像分割的检出精度时,建议控制在3*3个像素以上。从描述中可知,图像分割可实现目标的分类,若标注时未创建2个以上的标签进行标注,则输出的是二分类模型(也可称之为单类别模型,只检测有无),反之则为多分类模型,两者输出的结果有区别,如下图:
    

    【图像分割适用场景】
    

2)目标检测
    目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,位置信息通常采用目标最小矩形框来表示,目标检测由于不需要对各像素点预测,一般推理速度会快速图像分割。
    【目标检测适用场景】:
    

3)实例分割
    实例分割算法可以近似看成“目标检测+图像分割”,旨在将图像中的每个物体实例标记出来,并为每个实例生成一个像素级的分割掩码。实例分割不仅仅能识别图像中的物体轮廓,还能将每个物体实例精确的标记出来。但由于分割前还需要先目标检测,同样受到目标检测算法图像占比要求的限制。实例分割最大的特点在于,能将相同类别的个体进行有效区分,如下图中,同类的物体各自的轮廓被分割的非常完整。
    

    【实例分割适用场景】:
    在2D成像上出现物体重叠的情况,且需要配合机械臂进行叠物判断的各类应用场景,如食品、3C、芯片等。
4)无监督分割
    无监督分割算法将输入的图片通过神经网络生成一张重建图,将输入图与重建图做差值得到残差图,训练只需要加入OK图片即可,会根据正常样本去推理出图像中存在的异常对象(缺陷),属于图像分割的无监督模式。
         

    【无监督分割适用场景】:
    要求背景简单、产品一致性高、缺陷较为明显的场景,建议图像分辨率小于2500*2500,如分辨率过大会导致性能不佳,建议裁剪图像后分多个模型预测。面对产品一致性高但背景复杂场景,无监督可作为前期项目的NG筛选器,待NG样本够多后转用图像分割。
5)字符识别
    字符识别会提取学习字符的特征,再通过字符分类器输出识别结果,字符识别在VM4.3版本后已支持中文识别,且目前在大部分场景下,可直接使用通用模型完成识别任务。
    【字符识别适用场景】:
    

6)图像分类
    图像分类基于全图进行特征提取,并直接通过分类器判定类别,建议目标类别差异足够明显,如差异不明显,比如汽车轮毂分类的场景,建议用图像检索类的算法。
    【图像分类适用场景】:
    

四、展望
    深度学习的能力固然强大,但也存在一些挑战,比如对大量标注数据的依赖、模型的可解释性差以及计算成本高等问题 ,在实际应用中,深度学习模型也需要针对特定的工业场景进行训练和调整,以确保其性能和泛化能力。现在的深度学习往往需要长周期的样本收集以及数据清晰,才能达到预期的精度标准,随着工业视觉领域的需求节奏加速,AI大模型、生成式AI、无监督AI等技术将会逐步实现技术落地。

版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

深度学习无监督分割算法应用方法

下一篇

[算子SDK]C#调用C++Dll的方法

评论请先登录 登录
全部评论 0
Lv.0
1
关注
41
粉丝
14
创作
56
获赞
相关阅读
  • 深度学习基础介绍
    2024-11-01 浏览 0
  • 大小车场景化实施方案资料目录
    2024-11-09 浏览 0
  • 【开发有道系列】C++与C#相互调用的方法
    2024-11-19 浏览 0
  • 一文带你入门RCS4.x【任务编排】(二)
    2024-12-02 浏览 0
  • 深度学习基础介绍
    2024-11-01 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器