计算机视觉并非严格意义上的机器学习 (ML) 的子集,但它在很大程度上依赖于 ML 技术来解决其许多核心问题。计算机视觉侧重于使机器能够解释和理解视觉数据,例如图像或视频,而机器学习提供工具来构建模型,从数据中学习模式。 虽然 ML 是现代计算机视觉中的关键工具,但该领域也包含非 ML 方法,例如传统的图像处理算法。 例如,边缘检测或降噪通常使用预定义的数学运算,而不是学习到的模型。 这种方法的融合意味着计算机视觉是一个多学科领域,它与 ML 相交,但又不局限于它。
机器学习在解决复杂的计算机视觉任务中起着核心作用,这些任务需要识别模式或从视觉数据中做出决策。 卷积神经网络 (CNN) 是一种 ML 模型,广泛用于对象检测或图像分类等任务。 例如,在标记图像上训练的 CNN 可以通过学习分层特征(如边缘、纹理和形状)来识别照片中的猫。 同样,支持向量机 (SVM) 或决策树可以根据提取的特征(如颜色直方图)对图像进行分类。 这些基于 ML 的方法可以自动执行难以用严格规则编程的任务,尤其是在处理光照、角度或对象外观变化时。 ML 的适应性使其成为现代计算机视觉系统(如面部识别或自动驾驶汽车)不可或缺的一部分。
但是,计算机视觉还包括不涉及 ML 的技术。 传统的算法,例如用于检测几何形状的霍夫变换或用于跟踪视频中运动的光流,依赖于信号处理和数学变换。 OpenCV 是一个流行的计算机视觉库,它为图像过滤或特征匹配等任务提供了许多非 ML 工具。 即使在 ML 驱动的应用程序中,预处理步骤(例如,调整图像大小或标准化像素值)通常也使用确定性方法。 这种 ML 和经典方法的结合突出了计算机视觉是一个更广泛的领域。 虽然 ML 扩展了其功能,但该学科仍然植根于数学、物理和工程学原理,使其成为一个利用 ML 而不是被 ML 包含的独特领域。