计算机视觉的十年:深度学习带来变革,经典元素仍主导特定挑战
近些年来,计算机视觉(CV)的发展势如破竹,渗透到了我们生活的方方面面。对于大众而言,这可能像是一项新鲜且令人兴奋的科技创新,然而,实际上并非如此。
事实上,计算机视觉已经有几十年的发展历程,早在20 世纪 70 年代,已经为今日所使用的众多算法打下了坚实基础。然后,在大约十年前,一种当时还在理论发展阶段的新技术浮现眼前:深度学习,一种利用神经网络解决高度复杂问题的 AI 形式,只要你有足够的数据和计算能力就能驱动它。
随着深度学习的持续进步,我们开始认识到它在解决某些计算机视觉问题上的表现十分出色。对于目标检测和分类等挑战性问题,深度学习的应用效果特别理想。从这时开始,"经典"的计算机视觉与基于深度学习的计算机视觉开始出现明显的区别。
什么锁住了经典CV?
然而,深度学习的崛起并未将经典计算机视觉贬低为过时技术;两者仍在并行发展,帮助我们明确哪些问题更适合借助大数据来解决,哪些问题应当继续使用数学和几何算法来处理。
尽管深度学习能够革新计算机视觉,但这种神奇的改变只有在有适宜的训练数据可供使用,或者在网络能独立地、在明确的逻辑或几何约束下进行学习时才能显现。
在过去,经典计算机视觉被用于物体检测,识别特征(如边缘、角点和纹理)甚至对每一个图片像素进行标记(语义分割)。然而,这些过程都非常复杂且耗时。
要检测物体,需要熟练掌握滑动窗口、模式匹配和穷举搜索等技术。提取和分类特征则需要工程师开发定制的方法。在像素级别上区分不同类别的对象需要大量的工作来划分不同的区域,即使是最有经验的计算机视觉工程师也并不总能正确地区分图像中的每个像素。
深度学习变革目标检测
相较而言,深度学习,尤其是卷积神经网络(CNN)和基于区域的卷积神经网络(R-CNN),已经使得物体检测变得相对简单,特别是与Google 和 Amazon 等大公司出品的大·图像数据库结合使用时。只需通过训练良好的网络,无需明确的手动规则,算法就能在各种情况下检测目标,且不会受到视角的限制。
在特征提取方面,深度学习只需要一个有效的算法和丰富多样的训练数据,既能防止模型过拟合,也能确保在投入生产后面对新数据时获得高度的准确性评分。在这项任务上,CNN 表现得尤为出色。此外,当深度学习被应用于语义分割时,U-net 架构表现得非常好,消除了复杂的手动处理的需求。
回看“经典算法”
虽然深度学习无疑已经彻底改变了计算机视觉的领域,但在同时定位和映射(SLAM,Simultaneous Localization and Mapping )以及运动结构(SFM)等特定挑战上,经典计算机视觉的解决方案仍然优于较新的方法。这些问题都涉及到使用图像来理解和描绘物理空间的尺寸。
SLAM 主要针对构建和更新某个区域的地图,同时跟踪代理物体(通常是某种类型的机器人)在地图中的位置。这种技术使得自动驾驶和机器人吸尘器等成为了可能。
SFM 也同样依赖于先进的数学和几何知识,但其目标是使用从无序图像集中获取的多个视角来创建物体的三维重建。它适用于不需要实时、即时响应的情况。
最初,人们认为正确执行 SLAM 需要大量的计算能力。然而,通过使用近似方法,计算机视觉的先驱者们能够使计算需求更加易于管理。
相比之下,SFM 更为简单:与通常涉及传感器融合的 SLAM 不同,该方法只利用相机的固有属性和图像的特征。与许多由于范围和分辨率限制而无法进行的激光扫描相比,这是一种经济高效的方法。其结果是对物体的可靠且准确的表示。
前方的路
深度学习仍然无法像经典计算机视觉一样解决某些问题。工程师们应继续使用传统技术来解决这些问题。当问题涉及复杂的数学和直接观察,且难以获取适当的训练数据集时,深度学习的强大和笨重可能无法生成优雅的解决方案。可以用“瓷器店里的公牛”这个类比来形容这种情况:就像 ChatGPT 在基本算术方面肯定不是最高效(或最准确)的工具一样,经典计算机视觉将继续主导特定的挑战。
经典计算机视觉向基于深度学习的计算机视觉的部分过渡给我们带来了两个主要的启示。
首先,我们必须认识到,全面替换旧技术,尽管更简单,但却是错误的。当一个领域被新技术打破时,我们必须谨慎关注细节,并逐个案例确定哪些问题将从新技术中受益,哪些问题仍然更适合使用旧方法。
第二个启示是,虽然过渡带来了可扩展性,但它也带来了一种苦乐参半的情感。传统方法确实更多的是手动操作,但这也意味着它们既是艺术,又是科学的结合。从图像中提取特征、物体、边缘和关键元素所需的创造力和创新力,并不是来自深度学习,而是来自深思熟虑。
随着我们逐渐远离经典计算机视觉技术,而工程师有时候更像是计算机视觉工具的整合者。虽然这对行业来说是“好事”,但却遗憾地放弃了那些更具艺术性和创造性的元素。未来的一个挑战将是尝试以其他方式将这种艺术性融入进来。
理解取代者
在未来的十年中,预测“理解”将最终取代“学习”,成为网络开发的主要关注点。重点将不再是网络能学到多少知识,而是它能深入理解信息的程度以及我们如何在不给予过多数据的情况下促进这种理解。我们的目标应该是让网络能在最少的干预下得出更深入的结论。
在计算机视觉领域,接下来的十年肯定会带来一些惊喜。也许经典计算机视觉最终会变得过时。也许深度学习也会被一种尚未被我们听说过的技术所取代。然而,至少目前来说,这些工具是处理特定任务的最佳选择,构成了未来十年计算机视觉发展的基础。无论如何,这都将是一段非常有意义的旅程。
图片使用申明:原创文章图片源自‘Canva可画’平台免费版权图片素材;引用文章源自引用平台文章中所使用的原图。