当前位置: 首页 > 科技观察

一篇看计算机视觉,干货满满

时间:2023-03-14 00:41:34 科技观察

1。前言计算机视觉(ComputerVision),通常简称CV,是一个通过技术帮助计算机“看到”和“理解”图像的研究领域,比如让计算机理解照片或视频的内容。这篇文章将全面介绍计算机视觉。本文分为六个部分,分别是:为什么计算机视觉很重要?计算机视觉的基本原理是什么?计算机视觉的典型任务?计算机视觉在日常生活中的应用场景?计算机视觉面临的挑战2.为什么计算机视觉很重要?从生理学上讲,视觉的产生始于视觉器官感觉细胞的兴奋,视觉神经系统对收集到的信息进行处理后形成。我们人类通过视觉直观地了解眼前事物的形状和状态,我们中的大多数人都依靠视觉来完成烹饪、导航障碍物、阅读路牌、观看视频以及无数其他任务。事实上,如果不是盲人等特殊群体,绝大多数人都是通过视觉获取外界信息,而且这一比例高达80%——这一比例并非空穴来风,著名实验心理学家特雷歇尔通过大量实验表明,人类获得的信息83%来自视觉,11%来自听觉,其余6%来自嗅觉、触觉和味觉。因此,对于人类来说,视觉无疑是最重要的感官。不仅人类是“视觉动物”,对于大多数动物来说,视觉也起着非常重要的作用。人和动物通过视觉感知外界物体的大小、明暗、颜色、运动等,获取对机体生存至关重要的各种信息。通过这些信息,我们可以知道周围的世界是什么样的,以及如何与这个世界互动。在计算机视觉出现之前,图像是计算机的黑匣子。图像对于计算机来说只是一个文件和一串数据。计算机不知道图片的内容是什么,只知道图片的大小,占用多少内存,是什么格式等等。计算机和人工智能要想在现实世界中发挥重要作用,就必须看懂图片!因此,半个世纪以来,计算机科学家们一直在想方设法让计算机具有视觉,从而产生了“计算机视觉”这个领域。网络的快速发展也让计算机视觉变得更加重要。下图是2020年以来互联网新增数据量的趋势图,灰色图为结构化数据,蓝色图为非结构化数据(多为图片和视频)。可以清楚地发现图片和视频的数量呈指数级增长。互联网由文本和图像组成。搜索文本相对简单,但为了搜索图像,算法需要知道图像包含什么。长期以来,人类没有足够的技术来理解图像和视频的内容,只能依靠人工标注来获取对图像或视频的描述。如何让计算机更好地理解这些图像信息,是当今计算机技术面临的一大挑战。为了充分利用图像或视频数据,计算机需要能够“看到”图像或视频并理解其内容。3.什么是计算机视觉?计算机视觉是人工智能领域的一个重要分支。简单来说,它要解决的问题就是:让计算机理解图像或视频中的内容。例如:图中的宠物是猫还是狗?图中的人是老张还是老王?视频中的人在做什么?再者,计算机视觉是指利用相机和计算机代替人眼对目标进行识别、跟踪和测量,并进一步进行图形处理,得到更适合人类观察或送往仪器检测的图像。作为一门科学学科,计算机视觉研究相关理论和技术,试图构建能够从图像或多维数据中获取高级信息的人工智能系统。从工程的角度来看,它寻求使用自动化系统来模仿人类视觉系统来完成任务。计算机视觉的最终目标是使计算机像人一样通过视觉观察和认识世界,并具有自主适应环境的能力。但是要实现计算机可以通过摄像头感知世界是非常困难的,因为虽然摄像头拍摄的图像和我们平时看到的是一样的,但是对于计算机来说,任何图像都只是像素值的排列组合.一堆死板的数字。如何让计算机从这些死板的数字中读出有意义的视觉线索,是计算机视觉应该解决的问题。4.计算机视觉的基本原理用过相机或手机的人都知道,计算机擅长拍出逼真度和细节惊人的照片。从某种程度上说,计算机的人工“视觉”要比自然的视觉能力强很多。但正如我们常说的“听不等于懂”,“看”不等于“懂”。计算机要真正“看懂”图像,并不是一件简单的事情。图像是一个大的像素网格,每个像素都有一种颜色,它是三种原色的组合:红色、绿色和蓝色。通过组合三种颜色的强度(称为RGB值),我们可以获得任何颜色。最简单最适合入门的计算机视觉算法是:跟踪一个有颜色的物体,比如一个粉色的球,我们先记录球的颜色,保存最中心像素的RGB值,然后将图像馈送到程序,让程序找到最接近这种颜色的像素。算法可以从左上角开始,检查每个像素,计算与目标颜色的差异。检查完每个像素后,距离最近的部分像素很可能就是球所在的像素。该算法不限于在单张图片上运行,我们可以在视频的每一帧上运行该算法,跟踪球的位置。当然,由于光影等因素的影响,小球的颜色会发生变化,不会和我们保存的RGB值完全一样,但会很接近。但是,在一些极端的情况下,比如晚上的足球比赛,跟踪效果可能会很差;而如果其中一支球队的球衣与球颜色相同,算法就彻底“晕”了。因此,除非能够严格控制环境,否则这种颜色跟踪算法很少投入实际使用。现在使用较多的计算机视觉算法,普遍涉及到“深度学习”的方法和技术。其中,卷积神经网络(CNN)因其优越的性能而被最广泛地使用。由于“深度学习”所涉及的知识面太广,本文不再赘述。如果你想了解更多关于“深度学习”的知识,不妨看看AI入门课程——《英特尔? OpenVINO?工具套件初级课程》。它从人工智能的基本概念出发,介绍人工智能和视觉应用的相关知识,帮助用户快速了解英特尔?OpenVINO?工具包的基本概念和应用场景。整个课程包括视频处理、深度学习相关知识、人工智能应用的推理加速,以及英特尔?OpenVINO?工具包的demo演示。它将引导你一步步掌握深度学习。5.计算机视觉的典型任务图像分类图像分类是根据图像的语义信息来区分不同类型的图像。它是计算机视觉的核心,是物体检测、图像分割、物体跟踪、行为分析、人脸识别等视觉任务的高级基础。比如下图,通过图像分类,计算机识别出图像中的人(person)、树(tree)、草(grass)、天空(sky)。图像分类在很多领域有着广泛的应用,例如:安防领域的人脸识别和智能视频分析,交通领域的交通场景识别,互联网领域的基于内容的图像检索和相册自动分类,图像识别在医疗领域等等。目标检测目标检测任务的目标是给定一张图像或者视频帧,让计算机找出其中所有目标的位置,并给出每个目标的具体类别。如下图所示,以人的识别和检测为例,图像中所有人的位置都用边框标出了。在多类别目标检测中,一般会使用不同颜色的边框来标记不同检测对象的位置,如下图所示。语义分割语义分割是计算机视觉中的一项基本任务,我们需要将视觉输入分类为不同的语义可解释类别。它将整个图像分成像素组,然后对这些像素进行标记和分类。例如,我们可能需要区分图像中属于汽车的所有像素,并将这些像素着色为蓝色。如下图,图像分为人(红)、树(深绿)、草(浅绿)、天(蓝)标签。实例分割实例分割是目标检测和语义分割的结合。在图像中检测目标(目标检测),然后标记每个像素(语义分割)。对比上图和下图可以看出,如果以人为目标,语义分割不区分属于同一类别的不同实例(均用红色标记),实例分割区分同一类型的不同实例(使用不同的颜色来区分不同的人)。目标跟踪目标跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获取运动目标的运动参数,进行处理和分析,实现对运动目标行为的理解,以完成更高的目标。检测任务的水平。6、计算机视觉在日常生活中的应用场景计算机视觉的应用场景非常广泛。下面介绍几个日常生活中常见的应用场景。门禁控制、支付宝人脸识别停车场、收费站车牌识别上传视频到网站或APP时的风险识别。计算机视觉面临的挑战目前,计算机视觉技术发展迅速,并具有初步的产业规模。未来计算机视觉技术的发展主要面临以下挑战:第一,如何与不同应用领域的其他技术更好地结合。计算机视觉在解决某些问题时可以大量利用大数据,逐渐成熟,可以超越人类。但是,在某些问题上无法达到高精度;二是如何减少计算机视觉算法的开发时间和人力成本。目前,计算机视觉算法需要大量的数据和人工标注,需要较长的研发周期才能满足应用领域的要求。所需的精度和耗时;三是如何加快新算法的设计和开发。随着新型成像硬件和人工智能芯片的出现,针对不同芯片和数据采集设备的计算机视觉算法的设计和开发也是挑战之一。8.结语作为人工智能领域发展最快、应用最广泛的技术之一,计算机视觉就像人工智能的“眼睛”,为各行各业捕捉和分析更多的信息。随着算法的更迭、硬件算力的升级、数据的爆炸式增长,以及未来5G技术发展带来的高速网络,计算机视觉在应用方面也将拥有更广阔的发展空间,让我们拭目以待!