作者:德州仪器 计算机视觉是指为计算机赋予人类视觉这一技术目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机缺乏像人类一样凭直觉产生视觉和画面的能力。我们必须给予计算机一些算法,以便处理领域特异性任务。 本文着眼于使计算机能够像人类一样通过“看”来感知世界,从这一视角对人工智能 (AI) 进行了探讨。我将简要比较每一类计算机视觉,尤其关注在本地而不是依赖基于云的资源收集和处理数据,并根据数据采取行动的嵌入式系统。 什么是计算机视觉? 20 世纪 60 年代,计算机视觉已经能够执行从页面上读取文本(光学字符识别)和识别圆形或矩形等形状这类任务。从那时起,计算机视觉便成为 AI 的核心领域之一,它包括了任何从数据中感知、综合或推断含义的计算机系统。 计算机视觉有三种方法: 传统计算机视觉是指用来处理诸如运动估计、全景图像拼接或直线检测等任务的编程算法。传统计算机视觉使用标准信号处理和逻辑来处理任务。工程师需要手动选择用于从图像中提取含义的函数,然后在处理任务的算法中使用所生成的特征。Canny 边缘检测算法可以找出运动的轮廓,光流算法可以找出运动的矢量,这有助于在图像或运动跟踪后续图像中分离出物体。对于需要根据此任务或环境进行校准的参数,需要手动或通过辅助算法做出调整。 经典机器学习计算机视觉需要由专家来“打造”特征集,供机器学习模型进行训练。其中许多特征是与传统计算机视觉应用所共有的。并非所有特征都有用,因此需要进行分析以去除无信息特征;机器学习算法将使用这些特征进行训练,以便找出可能难以手动分离的模式。若要有效地实现这些算法,需要具备图像处理和机器学习方面的专业知识。 深度学习计算机视觉属于机器学习,但使用的是非常庞大的神经网络模型,对大量未经处理的“原始”数据进行运算。深度学习对计算机视觉产生了重大影响,它将特征提取操作拉入模型之中,使得算法可以学习信息最丰富的特征,而无需专业知识来手动打造特征集。深度学习甚至能够更好地分离出微妙的模式,但对计算和内存的要求更高。 那么,哪一类计算机视觉最好呢? 这最终取决于表 1 中概述的几个因素。此表只是笼统地进行概括,其中的准确性和任务复杂性等指标依赖于具体用例。 表 1:计算机视觉技术比较 方面传统计算机视觉经典机器学习深度学习精度中等中等高需要专业技术高高低复杂任务处理效果低中等高计算强度低 中等高针对特定任务或环境进行调优的通用性或简单性低;需要专家调优中等;使用更多数据进行调优高;使用更多数据进行调优可解释性高中等偏低低甚至无样本或训练数据需求低甚至无中等高增长和研发兴趣低低高且加速上升