计算机视觉并非严格意义上深度学习的一个子领域,但深度学习已成为解决许多计算机视觉问题的主流方法。计算机视觉涵盖了用于使机器能够解释视觉数据的各种技术,包括用于边缘检测、特征匹配和图像分割等任务的传统算法。然而,自从深度学习(尤其是卷积神经网络 (CNN))兴起以来,该领域越来越依赖神经网络来在图像分类、目标检测和语义分割等任务中实现最先进的结果。虽然深度学习现在是许多应用的核心,但计算机视觉仍然是一个独立的学科,拥有自己超越神经网络的原理和方法。
计算机视觉中向深度学习的转变始于 2012 年左右,AlexNet 在 ImageNet 竞赛中取得成功,这证明了 CNN 能够胜过传统方法。例如,曾经依赖于手工特征(例如,Haar 级联或 HOG 描述符)和经典机器学习模型(例如,SVM)的目标检测等任务,现在通常使用 YOLO、Faster R-CNN 或 RetinaNet 等架构来解决。类似地,图像分割已从基于图的算法(例如,GrabCut)转变为像 U-Net 或 Mask R-CNN 这样的深度学习模型。这些神经网络可以自动进行特征提取,从而减少了手动工程的需求,并提高了复杂数据集的准确性。然而,传统技术仍然在数据稀缺、计算资源有限或可解释性至关重要的场景中发挥作用,例如将边缘检测与 CNN 相结合的医学成像流程。
虽然深度学习如今在研究和工业应用中占据主导地位,但计算机视觉并未被它所取代。例如,3D 重建通常使用运动结构或 SLAM 算法,这些算法依赖于几何原理而不是神经网络。类似地,实时增强现实系统可能会将经典相机校准技术与深度学习相结合以进行目标跟踪。开发人员也经常混合使用方法:OpenCV,一个主要的计算机视觉库,仍然广泛用于在将数据馈送到神经网络之前进行预处理(例如,降噪、透视校正)。该领域的多样性确保了尽管深度学习是一种核心工具,但计算机视觉仍然是一个多学科领域,它将光学、信号处理和传统算法与现代神经网络相结合。