近年来,深度学习在计算机视觉各个领域中的应用成效显著,新的深度学习方法和深度神经网络模型不断涌现,算法性能被不断刷新。深度学习和传统的计算机视觉各有其优缺点,二者在未来将有如何的融合发展呢?深度学习的快速发展和计算能力、内存容量、能耗、图像传感器分辨率和光学等设备能力的增进都提高了视觉应用的性能和成本效益,并进一步加速了此类应用的扩展。
与传统的计算机视觉技术相比,深度学习可以帮助计算机视觉工程师在图像分类、语义分割、目标检测、同步定位和映射(SLAM)等任务中实现更高的精度。
由于深度学习中使用的神经网络是经过训练的,而不是编程的,因此使用这种方法的应用程序需要较少的专家分析和微调,并且能够处理当今系统中可用的大量视频数据。深度学习还提供了极大的灵活性,因为 CNN 模型和框架可以使用任何用例的自定义数据集进行重新训练,这与计算机视觉算法不同,后者更特定于领域。
以移动机器人的目标检测问题为例,对比这两类计算机视觉算法:在深度学习出现之前,如果你有图像分类这样的工作,你会执行一个叫做“特征提取”的步骤。“特征”是图像中“有趣”、描述性或信息性的一小部分。在本文中,你将应用我所说的“传统计算机视觉技术”的组合来查找这些功能,包括边缘检测、角点检测、对象检测等。当使用这些与特征提取和图像分类相关的技术时,从一类对象(例如,椅子、马等)的图像中提取尽可能多的特征,并被视为此类对象的“定义”(称为“词袋”)。接下来,您需要在其他图像中搜索这些“定义”。如果单词袋的很大一部分出现在另一个图像中,则该图像被归类为包含该特定对象(例如,椅子、马等)。这种用于图像分类的特征提取方法的困难在于,您必须选择要在每个图像中查找的特征。随着您尝试区分的类别数量开始增加,假设超过 10 或 20 个,这可能会变得非常麻烦甚至难以实现。你在寻找角落吗?边缘?还是纹理信息?不同类别的对象最好用不同类型的特征来描述。如果您选择使用大量功能,则必须处理大量参数并自己微调它们。深度学习引入了“端到端学习”的概念,简而言之,它允许机器学习在每个特定类别的对象中查找特征,即最具描述性和突出的特征。换句话说,让神经网络发现各种类型图像中的潜在模式。
因此,借助端到端学习,你不再需要手动决定采用哪种传统机器视觉技术来描述特征。机器为你做好了这一切。《连线》杂志如此写道:举例来说,如果你想教会一个 [深度] 神经网络识别一只猫,你不必告诉它去寻找胡须、耳朵、毛或是眼睛。你只需展示给它成千上万的猫的图像,它自然会解决这一问题。如果它总是会将狐狸误认为是猫,你也不用重写代码。你只需对它继续进行训练。下图描述了特征提取(使用传统计算机视觉)和端到端学习之间的这种区别:深度学习扩展了数字图像处理的边界。然而,这并不代表在深度学习崛起之前不断发展进步的传统机器视觉技术被淘汰。为了可靠地识别对象,您首先需要大量描述和标记所有对象和属性的训练图像,以便系统能够识别尽可能多的不同变量和环境。用于训练的不同图像数据量越大,深度学习网络就越容易学习如何识别物体。但是,如果数据集太小,模型对未知数据的泛化能力会很差,因为机器不会学习解决目标问题,而只是对训练数据进行调优。而且很难找到训练模型的底部并进行一些手动调整,因为深度学习模型有数百万个通过训练进行调整的参数。也就是说,深度学习模型是一个黑匣子。对于经过训练的模型,手动调整其中的一些内容非常困难,因为深度学习模型中有数百万个参数。这些参数是通过训练过程调整的,从某种意义上说,深度学习模型是一个黑匣子。
传统的机器视觉是一个完全透明的系统,可以在训练数据之外更好地测量和判断模型的有效性。您可以更深入地研究问题并将其迁移到算法中,这样可以更轻松地确定需要针对模型中的问题进行调整的位置。训练深度神经网络需要很长时间,并且对硬件的要求也很高。一般来说,使用高性能 GPU 等专用设备训练最先进的图像分类模型需要一整天的时间,而使用笔记本电脑进行训练需要一周多的时间。另外,如果训练好的模型表现不佳怎么办?这是调整参数并从头开始训练的地方,这个过程有时可以重复数百次。
但有时这些是不必要的,因为存在一些问题,传统的计算机视觉技术比深度学习更有效,并且代码行更少。
因此,掌握传统的计算机视觉技术可以为您节省大量时间,避免不必要的麻烦。
传统机器技术和深度学习方法之间存在明显的权衡。简而言之,传统的机器视觉系统能够可靠地使用一致且制造精良的零件,并且随着异常和缺陷库的增加,应用程序变得难以编程。对于需要人类视觉以及计算机速度和可靠性的复杂情况,深度学习将被证明是一个真正改变游戏规则的选择。
传统的机器视觉算法成熟、透明,并针对性能和能效进行了优化;深度学习提供了更好的准确性和多功能性,但它也消耗了更多的计算资源。混合方法将传统的机器视觉技术与深度学习相结合,结合了两全其美的优势。它们特别适用于需要快速实施的高性能系统。
在采用下一代工厂自动化工具时,基于规则的机器视觉和基于深度学习的图像分析是互补的,而不是非此即彼的选择。
在某些应用中,例如测量,基于规则的机器视觉仍然是首选且具有成本效益的选择。
涉及大量偏差和不可预测的缺陷的复杂检测数量太多,在传统的机器视觉系统中无法编程和维护。基于深度学习的工具提供了一个很好的替代方案。
结语
近年来,深度学习技术在计算机视觉中的目标检测、图像分割、超分辨率、模型压缩等任务中取得了突出的成绩,充分证明了其价值和潜力。然而,深度学习领域仍存在许多无法解决的问题,如对数据依赖性强、模型在不同领域之间直接转移困难、深度学习模型可解释性较弱等。同时,深度学习技术带来的安全风险也备受关注,如何在保护用户隐私的前提下优化分布式训练是另一个潜在的研究方向。