随着机器视觉与人工智能的融合,它发生了巨大的变化。传统的计算机视觉系统依赖于预定义的库函数和自定义的算法来完成各种图像处理任务。在过去的十年中,研究人员意识到人类的视觉本身与人类的思维和学习是密不可分的。正是这种认识导致了深度学习网络的使用计算机视觉例如卷积神经网络(CNN)或其他深度学习方法。人工智能视觉是计算机视觉或机器视觉的新术语。
人工智能视觉在计算上既昂贵又复杂。随着人工智能的进步和半导体芯片的日益强大,在移动处理器和32位微控制器这样简单的嵌入式系统上实现深度学习网络成为可能。这将计算机视觉模型从云转移到边缘设备,计算机视觉可以用于嵌入式应用程序和各种各样的狭窄的人工智能任务。预计到2022年,AI视觉市场规模将达到486亿美元,到2028年将达到1440亿美元。计算机视觉被认为将塑造新的世界用户体验技术,智能手机、小配件、可穿戴设备和“东西”中的口袋大小的计算机将拥有类似人类的视觉和更高的智能。
本文将讨论最先进的计算机视觉系统如何工作,以及为什么计算机视觉越来越重要。
什么是计算机视觉?
计算机视觉是人工智能的一个领域,它处理训练计算机感知和理解来自图像、视频和其他视觉输入的视觉信息。人工智能视觉似乎和人类视觉一样自然。虽然,两者之间有很大的不同。据估计,人眼的分辨率为5.76亿像素,所有的视觉信息都由高度复杂的大脑神经元网络处理和分析。与大脑神经元相比,即使是超级计算机的计算速度也远远落后,最先进的相机也无法达到人眼的分辨率。
当涉及到计算机视觉时,用相机和传感器捕捉图像、视频或直播流中的视觉信息是相当简单的。真正的挑战是通过计算从捕获的视觉数据中得出有意义的见解和推论。这就是机器学习和深度学习的用武之地。现实世界是无限复杂和多变的,计算机视觉系统只有能够从视觉信息中学习才能成功。
如果说人类视觉是进化的杰作,那么计算机视觉也有它的优点。摄像头捕捉视觉数据的效率比人眼更高。它们还可以捕捉人眼无法访问的视觉信息,如热图像、医学扫描和其他成像技术。计算机视觉系统可以被设计得比人类视觉更具体、更精确、更准确。例如,深度人脸识别模型的检测准确率为99.63%,而人类的检测准确率为97.53%。
计算机视觉任务
在了解计算机视觉系统如何工作之前,熟悉常见的计算机视觉任务是很重要的。这些简单的视觉感知任务有助于将大型应用程序分离为更直接的问题陈述。每项任务的执行都需要一些认知功能。
- 图像分类:图像分类是计算机视觉应用中的一项基础性工作。它包括训练一个神经网络来根据预定义的类别对图像进行分类。这通常涉及到按特定对象分类。例如,这是一张猫的图片,一张狗的图片。如果只能在两个对象之间进行分类,则称为二元分类问题。如果需要在多个对象之间进行分类,则称为多分类问题。在图像分类问题中,将整个图像作为一个整体进行处理,并为给定的图像分配一个专属的类/标签。
图像分类是一个有监督学习的问题。使用一组已经标记/分类的样本图像训练模型对图像进行分类。一旦训练完成,一组图像必须按照预定义的标签/类别进行分类。如果没有足够的训练数据,图像分类模型很容易出现拟合不足。这就是为什么迁移学习或知识迁移经常被用于图像分类模型。迁移学习方法利用训练好的机器学习模型对相似对象进行分类。这使得可以在较小的计算空间内构建可伸缩的解决方案。在人工智能术语中,图像分类通常被称为目标分类。
- 目标检测是提取图像特征的第一步。虽然图像分类仅限于将图像分类为专属类,但对象检测涉及到分析图像的部分,使用包围框定位其中的对象。这是通过在图像中查找特定于类的细节,在图像/视频中本地化对象/类,并通过类名标记它们来实现的。一个图像可以包含多个对象,对象检测模型可以在一个图像中查找多个类。
目标检测用于诸如目标识别、目标验证和目标识别等计算机视觉问题。与SIFT、HOG特征和Haar特征等机器学习方法相比,RCNN、YOLO、SSD和MobileNet等深度学习模型在对象检测任务中更准确和性能更好。
- 图像分割:这涉及到图像中代表一个对象的像素的精确遮蔽。这需要从背景和图像中的其他物体中识别物体。图像分割采用了多种机器学习和深度学习方法。常用的用于图像分割的机器学习方法有聚类、分水岭、边缘检测、区域增长、区域分割合并和阈值。用于图像分割的典型深度学习模型包括FPN、SegNet、PSPNet和U-Net。
- 目标地标检测:这类似于图像分割。在这个任务中识别的不是对象本身,而是它的上下文或地标。这涉及到识别图像中对象的背景,并将一个类分配给背景而不是对象。
- 边缘检测:在这个任务中,一个对象的边界检测图像内。通常这是图像分割中的预处理步骤,在内部由卷积网络中的专门的边缘检测滤波器执行。在许多计算机视觉系统中,这是图像预处理的一部分,其中边缘检测是通过应用机器学习算法来进行的。
- 特征提取与匹配:特征是一个对象的内部指标。特征提取涉及对物体各部分的识别。这是相当有用的目标检测,姿态估计,和相机标定问题。首先,利用边缘检测或其他特征提取方法在图像中检测感兴趣的特征。接下来是在本地描述符的帮助下对这些特性进行本地化。最后,在一组图像之间对特征及其局部描述子进行匹配,进行特征匹配。
- 人脸识别:这种类型的目标检测任务,被检测或识别的对象是一个独特的人脸。在人脸识别任务中,图像的特征被提取、定位、分类和匹配,以获得图像本身的专属分类。例如,像眼睛、鼻子、嘴巴、耳朵这样的面部特征被识别,定位在图像中,用绝对数学模型比较位置,并匹配特征来完成对一个人的识别。
- 光学字符识别:在这种计算机视觉任务中,语言的字符要在图像中被识别出来。这些可能是车牌的图像或手写的笔记。OCR涉及对一种语言的字母进行图像分割,通常还伴随着对给定应用程序的文本进行有意义的编码。
- 图像恢复:这项任务包括恢复旧图像以恢复其质量和/或为旧黑白照片添加颜色。这是通过减少图像中的附加噪声和执行图像修补来恢复损坏的像素或图像的部分。这可能是继彩色图像在黑白图片。
- 姿态估计:在这个计算机视觉任务中,一个物体/人的姿态被识别。这涉及到识别特征、它们在图像中的定位,以及在图像中相互比较特征的定位位置。常用的深度学习模型用于姿态检测,包括PoseNet、MeTRAbs、OpenPose和DensePose。
- 视频运动分析:这一计算机视觉任务包括跟踪视频或摄像机流中物体的轨迹,并确定其速度、路径和运动。这项非常复杂的任务涉及到目标检测、分割、定位、姿态估计和实时跟踪。
- 场景重建:这是计算机视觉中最复杂的任务。它涉及到从二维图像或视频中对物体进行三维重建。
计算机视觉是如何工作的
一个计算机视觉系统有以下三个层次的操作。
- 获取图像:首先,计算机视觉系统从摄像机或传感器获取图像或视频或其他形式的视觉输入(如扫描)。捕捉到的影像/视像/视频流会传送至储存的电脑系统,以作进一步处理。
- 处理图像:需要准备原始图像来表示适当的数据。这是通过预处理图像来完成的,比如减少噪声、调整对比度、重新缩放和裁剪图像。这些工作大部分是由计算机视觉系统自动完成的。其中一些步骤已经在硬件级别执行。相比之下,其他的则是在卷积网络中使用合适的滤波器或对捕获的原始数据应用合适的图像处理函数。
- 理解图像:这是计算机视觉系统最重要的部分。它是使用传统的图像处理方式或深度学习模型来实现实际的计算机视觉任务。
人工智能已经使计算机视觉中传统的图像处理方式过时。深度学习网络是解决任何计算机视觉问题的可靠方法。
理解图像的第一步是特征工程。捕获的图像被转换成像素阵列。图像需要大量的数据来进行计算表示,而彩色图像需要良好的内存来在模型中存储和解释。在正确的计算图像呈现后,图像的部分被识别为使用斑点、边缘和角落的对象。这是一个cpu密集型和耗时的过程。这就是为什么目标检测可以使用迁移学习实现自动化。致力于计算机视觉和人工智能的大公司已经将他们的数据集和深度学习模型作为开源资产共享,以简化和自动化图像中的目标检测过程。
接下来是训练卷积网络,用于特定领域的任务。每个计算机视觉应用/任务都需要一个特定的数据集。例如,一个交通监控应用程序将需要一个数据集来识别和分类车辆。癌症检测应用程序将需要医疗扫描和报告的数据集。如何利用数据集来训练神经网络模型取决于特定应用程序中涉及的计算机视觉任务。相应地,应用适当的深度学习模型,并监控相关的性能指标。
计算机视觉的挑战
在计算机视觉应用中有几个挑战。这些挑战通常与图像的获取、特征工程或视觉数据的解释有关。例如,光线的差异会自然地损害依赖于识别物体颜色或图像的计算机视觉应用程序。图像中存在噪声或不需要的特征是计算机视觉应用中的另一个常见问题。由于现实环境的原因,这些不受欢迎的特征或噪声经常被添加到图像/视频中。例如,监控摄像头捕捉到的图像会因为下雨或沙尘暴而变得模糊。同样,图像中重叠的物体也很难识别。
另一组挑战出现在特征工程的选择上。物理世界的变化和用途非常多,因此在给定的应用程序中选择适当的特征进行提取和匹配可能成为一项令人生畏的任务。例如,同一个物体从不同的角度看是不同的。同一类对象可以有不同的颜色和内部特征。例如,从不同的角度看,猫可能看起来不同;同一品种的猫有不同的皮肤颜色和斑块,不同品种的猫有相似但不同的身体特征。因此,深度学习模型必须提供不同角度和不同变化的物体图像,以避免欠拟合。甚至有可能两个物体有相似的特征和相似之处,从而造成虚假的相似。这就是为什么需要数千或数百万张图像来训练一个深度学习网络来识别一个物体。这通常涉及到为同一个类/标签检测和匹配数百个特性。
最后,计算机视觉系统可能会由于不适当或不充分的视觉数据解释而失败。这通常是由于计算机视觉网络缺乏环境或一般智能造成的。毕竟,计算机视觉系统依赖于图像中的模式识别。他们只能在提供给他们的上下文中,或者在特征工程中使用的特征集的范围内解释图像。深度学习网络可以通过卷积获得对象/类的有意义的表示,但不能生成上下文和引用。
结论
卷积神经网络给计算机视觉领域带来了一场革命。随着计算技术的进步,机器视觉也从云计算转向了边缘计算。借助人工智能和先进的芯片技术,计算机视觉现已应用于许多领域。计算机视觉和人工智能的发展将继续携手并进。计算机视觉已经发展出其有限的能力。它的未来在于人工通用智能领域的进一步发展。
你也可能喜欢:
了下:特色,188app彩票
与这篇文章相关的问题?
问并讨论Electro-Tech-Online.com而且EDAboard.com论坛。
告诉我们你的想法!!
你必须登录发表评论。