日期
10/07
2023
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

传统计算机视觉与高精度深度学习机器视觉的发展与融合
收藏
2023-10-07 13:53:02来源: 中国机器视觉网

深度学习崛起后,传统计算机视觉方法被淘汰了吗?近年来,深度学习在计算机视觉各个领域中的应用成效显著,新的深度学习方法和深度神经网络模型不断涌现,算法性能被不断刷新。深度学习 VS 传统计算机视觉的优缺点,并探讨传统计算机视觉与深度学习的融合发展。

深度学习VS传统计算机视觉

深度学习的快速发展和设备能力的改善(如算力、内存容量、能耗、图像传感器分辨率和光学器件)提升了视觉应用的性能和成本效益,并进一步加快了此类应用的扩展。

与传统计算机视觉 (Computer Vision)技术相比,深度学习可以帮助计算机视觉工程师在图像分类、语义分割、目标检测和同步定位与地图构建(SLAM)等任务上获得更高的准确率。

由于深度学习所用的神经网络是训练得到而非编程得到,因此使用该方法的应用所需的专家分析和微调较少,且能够处理目前系统中的海量可用视频数据。深度学习还具备绝佳的灵活性,因为对于任意用例,CNN 模型和框架均可使用自定义数据集重新训练,这与 计算机视觉算法不同,后者具备更强的领域特定性。

以移动机器人的目标检测问题为例,对比这两类计算机视觉算法:在深度学习出现以前,如果你有一项诸如图像分类的工作,你会进行一步叫做「特征提取」的处理。所谓「特征」就是图像中「有趣的」、描述性的、或是提供信息的小部分。你会应用我在本文中称之为的「传统计算机视觉技术」的组合来寻找这些特征,包括边缘检测、角点检测、对象检测等等。

在使用这些与特征提取和图像分类相关的技术时,会从一类对象(例如:椅子、马等等)的图像中提取出尽可能多的特征,并将其视为这类对象的「定义」(称作「词袋」)。接下来你要在其它图像中搜索这些「定义」。如果在另一个图像中存在着词袋中相当一部分的特征,那么这个图像就被归为包含那个特定对象(如椅子、马等等)的分类。

这种图像分类的特征提取方法的难点在于你必须在每张图像中选择寻找哪些特征。随着你试图区分的类别数目开始增长,比如说超过 10 或 20,这就会变得非常麻烦甚至难以实现。你要寻找角点?边缘?还是纹理信息?不同类别的对象最好要用不同种类型的特征来描述。如果你选择使用很多的特征,你就不得不处理海量的参数,而且还需要自己来微调。

深度学习引入了「端到端学习」这一概念,(简而言之)让机器在每个特定类别的对象中学习寻找特征,即最具描述性、最突出的特征。换句话说,让神经网络去发现各种类型图像中的潜在模式。

因此,借助端到端学习,你不再需要手动决定采用哪种传统机器视觉技术来描述特征,机器为你做好了这一切。《连线》杂志如此写道:举例来说,如果你想教会一个 [深度] 神经网络识别一只猫,你不必告诉它去寻找胡须、耳朵、毛或是眼睛。你只需展示给它成千上万的猫的图像,它自然会解决这一问题。如果它总是会将狐狸误认为是猫,你也不用重写代码。你只需对它继续进行训练。

下图描述了特征提取(使用传统计算机视觉)和端到端学习之间的这种区别:

微信图片_20231007135424.jpg

传统计算机视觉工作 vs 深度学习工作

深度学习崛起,传统机器视觉方法失宠了吗

深度学习扩展了数字图像处理的边界。然而,这并不代表在深度学习崛起之前不断发展进步的传统机器视觉技术被淘汰。

· 深度学习需要大量数据训练

要想可靠地识别物体,首先需要大量的训练图像,这些图像会描述和标记所有物体和属性,以便让系统能在尽可能多的不同变量和环境中完成识别。用于训练的不同图像数据量越多,深度学习网络就越容易学会如何识别物体。但是数据集过小就会造成模型对未知数据的泛化能力较差,因为机器并没有去学习解决目标问题,而是仅仅对训练数据进行了调优。并且想要深入了解训练好的模型并进行一些手动调整是非常困难的,因为深度学习模型有数百万的参数,这些参数通过训练进行调优。也就是说,深度学习模型是一个黑盒。对于一个训练好的模型,想要手动调整其中的一些内容是十分困难的,因为深度学习模型里面有数百万个参数。这些参数通过训练过程被调整,从某种意义上说,深度学习模型是一个黑箱。传统的机器视觉是一个完全透明的系统,可以更好地衡量和判断模型在训练数据之外的有效性。你可以更深入地研究一个问题并将其迁移到算法中,并且针对模型中存在的问题,更容易找出需要调整的地方。

· 深度学习有时会产生过犹不及的效果

训练深度神经网络需要很长时间,并且对硬件要求也很高。一般来说使用专用设备 (例如高性能 GPU) 训练一个最先进的图像分类模型需要一整天的时间,而使用笔记本电脑进行训练则会花费不止一周的时间。此外,如果训练的模型表现不好怎么办?这时候就要调整参数并从头开始训练,这个过程有时可能会重复数百次。但有时这些都是不必要的,因为在某些问题上传统计算机视觉 技术比深度学习更有效,并且代码行数也更少。所以,掌握传统的计算机视觉技术可以为你节省很多时间和避免不必要的麻烦。

传统计算机视觉技术与深度学习的结合

传统计算机视觉+深度学习=更好的性能。传统机器技术和深度学习方法之间存在明确的权衡。简而言之,传统的机器视觉系统使用一致且制造精良的零件可靠地执行,随着异常和缺陷库的增长,应用程序变得难以编程。对于需要人类视觉以及计算机速度和可靠性的复杂情况,深度学习将被证明是一个真正改变游戏规则的选择。

传统机器视觉算法成熟、透明,且为性能和能效进行过优化;深度学习提供更好的准确率和通用性,但消耗的计算资源也更大。混合方法结合传统机器视觉技术和深度学习,兼具这两种方法的优点。它们尤其适用于需要快速实现的高性能系统。在采用下一代工厂自动化工具时,基于规则的机器视觉和基于深度学习的图像分析是互补的,而不是非此即彼的选择。

在一些应用程序中,比如测量,基于规则的机器视觉仍然是首选的和经济有效的选择。对于涉及广泛偏差和不可预测缺陷的复杂检查,在传统机器视觉系统中,数量太多且复杂到无法编程和维护,基于深度学习的工具则提供了一个很好的替代方案。深度学习技术近年来在计算机视觉中的目标检测、图像分割、超分辨率和模型压缩等任务上都取得了卓越的成绩,充分证明了它的价值和潜力。

然而深度学习领域仍然有不少难题无法解决,如对数据的依赖性强、模型难以在不同领域之间直接迁移、深度学习模型的可解释性不强等,如何攻克这些难题将是下一阶段的发展方向。同时深度学习技术带来的安全隐患也引起了重视,如何在保护用户隐私的前提下优化分布式训练是另一个具有潜力的研究方向。

(文章来源于矩视智能,如有侵权,请联系删文)