计算机视觉/视频分析

计算机视觉指南:为何重要以及它如何帮助解决问题

这篇文章是为了帮助初学者开发社区,尤其是那些对计算机视觉和计算机科学不熟悉的人。NVIDIA 认识到,通过计算机视觉和人工智能解决并受益于世界的视觉计算挑战需要我们所有人。NVIDIA 很高兴与 人工智能中的黑人女性 合作,并将此帖子献给 人工智能中的黑人女性

计算机视觉在现实世界中的应用越来越广泛,其应用也越来越具有挑战性,并且正在改变其意义。计算机视觉已经以某种形式存在了几十年,它正在成为一个越来越常见的短语,遍布世界各地和各个行业:计算机视觉系统、计算机视觉软件、计算机视觉硬件、计算机视觉开发、计算机视觉管道、计算机视觉技术。

什么是计算机视觉?

无论从字面上还是比喻上看,计算机视觉的术语和领域都超出了人们的想象。在特定的非人工智能实例中,计算机视觉也被称为 vision AI 和传统图像处理,在制造业和工业用例中也被称为 machine vision

简言之,计算机视觉使包括笔记本电脑、智能手机、自动驾驶汽车、机器人、无人机、卫星和 x 光机在内的设备能够感知、处理、分析和解释数字图像和视频中的数据。

换句话说,计算机视觉从根本上将图像数据或图像数据集作为输入,包括视频的静止图像和运动帧,无论是录制的还是来自实时摄像机的。计算机视觉使设备能够像人类视觉系统一样拥有和使用类似人类的视觉功能。在人类视觉中,你的眼睛实时地将你周围的物理世界感知为不同的光反射。

类似地,计算机视觉设备感知图像和视频的像素,检测模式并解释可用于进一步分析或决策的图像输入。从这个意义上说,计算机视觉“看到”就像人类视觉一样,并使用智能和计算能力来处理输入的视觉数据,以输出有意义的见解,就像机器人探测并避开其路径上的障碍物一样。

不同的计算机视觉任务模拟人类视觉系统,执行、自动化和增强与人类视觉系统类似的功能。

计算机视觉与其他形式的人工智能有何关联?

计算机视觉有助于教授和掌握视觉,就像对话人工智能在识别、翻译和描述文本(我们用来定义和描述周围物理世界的词语)的应用中,有助于通过语音教授和掌握声音的感觉。

同样,计算机视觉通过数字图像和视频帮助教授和掌握视觉。更广泛地说,术语 computer vision 还可用于描述设备传感器(通常为摄像头)在检测、跟踪和识别图像中的对象或图案的应用中如何感知和作为视觉系统工作。

多模态对话人工智能将对话人工智能的功能与多媒体会议应用中的计算机视觉相结合,例如 NVIDIA Maxine

计算机视觉还可以广泛用于描述其他类型的传感器,如光探测和测距( LiDAR )和无线电探测和测距(雷达)如何感知物理世界。在自动驾驶汽车中,计算机视觉用于描述激光雷达和雷达传感器如何工作,通常与摄像头一起工作,以识别和分类人、物体和碎片。

有哪些常见任务?

虽然计算机视觉任务涵盖了广泛的感知能力,而且列表还在不断增长,但最新的技术支持并帮助解决涉及检测、分类、分割和图像合成的用例。

检测任务定位并有时跟踪图像中存在的对象。例如,在数字病理医疗领域,检测可能涉及通过医学成像识别癌细胞。在机器人技术领域,软件开发人员正在使用目标检测来避开工厂地板上的障碍物。

分类技术确定视觉数据中存在的对象。例如,在制造业中,物体识别系统将不同类型的瓶子分类包装。在农业领域,农民们正在使用分类来识别作物中的杂草。

分割任务对属于某一类别的像素进行分类,可以按像素单独分类(语义图像分割),也可以将同一类别的多个对象类型指定为单个实例(实例图像分割)。例如,自动驾驶汽车将道路场景的一部分分割为可驾驶空间和非可驾驶空间。

图像合成技术通过变形现有数字图像以包含所需内容来创建合成数据。生成性对抗网络( GAN ),比如 EditGAN ,能够从文本描述和现有的风景和人物图像中生成合成视觉信息。使用合成数据来补充和模拟真实数据是物流领域一个新兴的计算机视觉用例,它将视觉 AI 用于智能库存控制等应用。

什么是不同类型的计算机视觉?

为了理解计算机视觉中的不同领域,理解计算机视觉任务所基于的技术是很重要的。大多数计算机视觉技术都是从一个模型或数学算法开始的,它执行特定的基本操作、任务或组合。虽然我们将传统的图像处理和基于人工智能的计算机视觉算法分别进行分类,但大多数计算机视觉系统依赖于一种组合,这取决于用例、复杂性和所需的性能。

传统的计算机视觉

传统的、基于非深度学习的计算机视觉可以指计算机视觉和图像处理技术。

在传统的计算机视觉中,一组特定的指令执行特定的任务,比如检测图像中的角点或边缘,以识别建筑物图像中的窗口。

另一方面,图像处理对图像执行特定操作,然后可以使用视觉算法对图像进行进一步处理。例如,您可能希望平滑或压缩图像的像素以供显示,或减小其整体大小。这可以比作弯曲进入眼睛的光线来调整焦点或视野。图像处理的其他示例包括调整、转换、重新缩放和扭曲输入图像。

基于人工智能的计算机视觉

基于人工智能的计算机视觉或视觉人工智能依赖于经过视觉数据训练的算法来完成特定任务,而不是像图像处理那样的编程、硬编码指令。

前面提到的检测、分类、分割和合成任务通常都是基于人工智能的计算机视觉算法,因为它们可以实现准确性和鲁棒性。在许多情况下,基于人工智能的计算机视觉算法可以在这两个性能指标方面优于传统算法。

基于人工智能的计算机视觉算法通过学习和适应视觉数据输入,更紧密地模拟人类视觉系统,使其在大多数情况下成为计算机视觉模型的首选。这就是说,基于人工智能的计算机视觉算法需要大量数据,数据的质量直接驱动模型输出的质量。但是,性能超过了成本。

基于人工智能的神经网络自学,这取决于算法的训练数据。基于人工智能的计算机视觉就像是从经验中学习,并根据上下文做出预测,而不是明确的方向。学习过程类似于当你的眼睛看到一个不熟悉的物体,大脑试图学习它是什么,并将其存储起来以备将来预测。

基于人工智能的计算机视觉中机器学习与深度学习的比较

机器学习计算机视觉是一种基于人工智能的计算机视觉。基于人工智能的基于机器学习的计算机视觉具有人工神经网络或层,类似于人脑中的神经网络或层,用于连接和传输有关摄取的视觉数据的信号。在机器学习中,计算机视觉神经网络具有独立且不同的层,明确定义层之间的连接,以及视觉数据传输的预定义方向。

基于深度学习的计算机视觉模型是基于机器学习的计算机视觉的一个子集。深度学习中的“深度”源于神经网络的深度或层数。通常,三层或三层以上的神经网络被认为是深层次的。

基于人工智能的基于深度学习的计算机视觉是基于大量数据进行训练的。数十万、数以百万计的数字图像被用来训练和开发深层神经网络模型,这种情况并不少见。有关更多信息,请参阅 人工智能、机器学习和深度学习之间有什么区别?

开始开发计算机视觉

既然我们已经介绍了计算机视觉的基础知识,我们鼓励您开始开发计算机视觉。我们建议初学者开始使用 视觉编程接口( VPI )计算机视觉和图像处理库 进行非人工智能算法或 TAO 工具包完全可操作、随时可用、经过预训练的人工智能模型 .

了解更多

要了解 NVIDIA 如何启用端到端计算机视觉工作流程,请参阅 计算机视觉解决方案 页面。NVIDIA 提供模型、计算机视觉和图像处理工具。我们还提供基于人工智能的软件应用框架,用于培训视觉数据、测试和评估图像数据集、部署和执行以及扩展。

为了帮助世界各地的新兴计算机视觉开发人员,NVIDIA 正在策划一系列精通的途径,以规划和培养下一代领导者。请继续关注即将发布的《掌握计算机视觉之路》,它可以让你在学习过程中自我调整,并在社交媒体上展示你的# NVCV 进步。

Tags