详解计算机视觉五大技术:图像分类、对象检测、目标跟踪、语义分割和实例分割

阅读: 评论:0

详解计算机视觉五⼤技术:图像分类、对象检测、⽬标跟踪、语义分割和实例分拉配
⽬前,计算机视觉是深度学习领域最热门的研究领域之⼀。计算机视觉实际上是⼀个跨领域的交叉学科,包括计算机科学(图形、算法、理论、系统、体系结构),数学(信息检索、机器学习),⼯程学(机器⼈、语⾳、⾃然语⾔处理、图像处理),物理学(光学 ),⽣物学(神经科学)和⼼理学(认知科学)等等。许多科学家认为,计算机视觉为⼈⼯智能的发展开拓了道路。
那么什么是计算机视觉呢? 这⾥给出了⼏个⽐较严谨的定义:
“对图像中的客观对象构建明确⽽有意义的描述”(Ballard&Brown,1982)
“从⼀个或多个数字图像中计算三维世界的特性”(Trucco&Verri,1998)
“基于感知图像做出对客观对象和场景有⽤的决策”(Sockman&Shapiro,2001)
▌为什么要学习计算机视觉?
⼀个显⽽易见的答案就是,这个研究领域已经衍⽣出了⼀⼤批快速成长的、有实际作⽤的应⽤,例如:
⼈脸识别: Snapchat 和 Facebook 使⽤⼈脸检测算法来识别⼈脸。
图像检索:Google Images 使⽤基于内容的查询来搜索相关图⽚,算法分析查询图像中的内容并根据最佳匹配内容返回结果。
游戏和控制:使⽤⽴体视觉较为成功的游戏应⽤产品是:微软 Kinect。
监测:⽤于监测可疑⾏为的监视摄像头遍布于各⼤公共场所中。
⽣物识别技术:指纹、虹膜和⼈脸匹配仍然是⽣物识别领域的⼀些常⽤⽅法。
智能汽车:计算机视觉仍然是检测交通标志、灯光和其他视觉特征的主要信息来源。
视觉识别是计算机视觉的关键组成部分,如图像分类、定位和检测。神经⽹络和深度学习的最新进展极⼤地推动了这些最先进的视觉识别系统的发展。在本⽂中,我将分享 5 种主要的计算机视觉技术,并介绍⼏种基于计算机视觉技术的深度学习模型与应⽤。
▌1 、图像分类
给定⼀组各⾃被标记为单⼀类别的图像,我们对⼀组新的测试图像的类别进⾏预测,并测量预测的准确性结果,这就是图像分类问题。图像分类问题需要⾯临以下⼏个挑战:
氢气压缩机 高压
视点变化,尺度变化,类内变化,图像变形,图像遮挡,照明条件和背景杂斑
我们怎样来编写⼀个图像分类算法呢?
计算机视觉研究⼈员提出了⼀种基于数据驱动的⽅法。
该算法并不是直接在代码中指定每个感兴趣的图像类别,⽽是为计算机每个图像类别都提供许多⽰例,然后设计⼀个学习算法,查看这些⽰例并学习每个类别的视觉外观。也就是说,⾸先积累⼀个带有标记图像的训练集,然后将其输⼊到计算机中,由计算机来处理这些数据。
因此,可以按照下⾯的步骤来分解:
输⼊是由 N 个图像组成的训练集,共有 K 个类别,每个图像都被标记为其中⼀个类别。
然后,使⽤该训练集训练⼀个分类器,来学习每个类别的外部特征。
最后,预测⼀组新图像的类标签,评估分类器的性能,我们⽤分类器预测的类别标签与其真实的类别标签进⾏⽐较。
⽬前较为流⾏的图像分类架构是卷积神经⽹络(CNN)——将图像送⼊⽹络,然后⽹络对图像数据进
⾏分类。卷积神经⽹络从输⼊“扫描仪”开始,该输⼊“扫描仪”也不会⼀次性解析所有的训练数据。⽐如输⼊⼀个⼤⼩为 100*100 的图像,你也不需要⼀个有 10,000 个节点的⽹络层。相反,你只需要创建⼀个⼤⼩为 10 *10 的扫描输⼊层,扫描图像的前 10*10 个像素。然后,扫描仪向右移动⼀个像素,再扫描下⼀个 10 *10 的像素,这就是滑动窗⼝。
输⼊数据被送⼊卷积层,⽽不是普通层。每个节点只需要处理离⾃⼰最近的邻近节点,卷积层也随着扫描的深⼊⽽趋于收缩。除了卷积层之外,通常还会有池化层。池化是过滤细节的⼀种⽅法,常见的池化技术是最⼤池化,它⽤⼤⼩为 2*2 的矩阵传递拥有最多特定属性的像素。
现在,⼤部分图像分类技术都是在 ImageNet 数据集上训练的, ImageNet 数据集中包含了约 120 万张⾼分辨率训练图像。测试图像没有初始注释(即没有分割或标签),并且算法必须产⽣标签来指定图像中存在哪些对象。
现存的很多计算机视觉算法,都是被来⾃⽜津、 INRIA 和 XRCE 等顶级的计算机视觉团队在 ImageNet 数据集上实现的。通常来说,计算机视觉系统使⽤复杂的多级管道,并且,早期阶段的算法都是通过优化⼏个参数来⼿动微调的。
第⼀届 ImageNet 竞赛的获奖者是 Alex Krizhevsky(NIPS 2012) ,他在 Yann LeCun 开创的神经⽹络类型基础上,设计了⼀个深度卷积神经⽹络。该⽹络架构除了⼀些最⼤池化层外,还包含 7 个隐藏
层,前⼏层是卷积层,最后两层是全连接层。在每个隐藏层内,激活函数为线性的,要⽐逻辑单元的训练速度更快、性能更好。除此之外,当附近的单元有更强的活动时,它还使⽤竞争性标准化来压制隐藏活动,这有助于强度的变化。
就硬件要求⽽⾔, Alex 在 2 个 Nvidia GTX 580 GPU (速度超过 1000 个快速的⼩内核)上实现了⾮
室内养殖泥鳅设备
常⾼效的卷积⽹络。 GPU ⾮常适合矩阵间的乘法且有⾮常⾼的内存带宽。这使他能在⼀周内完成训练,并在测试时快速的从 10 个块中组合出结果。如果我们能够以⾜够快的速度传输状态,就可以将⽹络分布在多个内核上。
随着内核越来越便宜,数据集越来越⼤,⼤型神经⽹络的速度要⽐⽼式计算机视觉系统更快。在这之后,已经有很多种使⽤卷积神经⽹络作为核⼼,并取得优秀成果的模型,如 ZFNet(2013),GoogLeNet(2014), VGGNet(2014),
RESNET(2015),DenseNet(2016)等。
▌2 、对象检测
金属槽筒
识别图像中的对象这⼀任务,通常会涉及到为各个对象输出边界框和标签。这不同于分类/定位任务——对很多对象进⾏分类和定位,⽽不仅仅是对个主体对象进⾏分类和定位。在对象检测中,你只有
2 个对象分类类别,即对象边界框和⾮对象边界框。例如,在汽车检测中,你必须使⽤边界框检测所给定图像中的所有汽车。
如果使⽤图像分类和定位图像这样的滑动窗⼝技术,我们则需要将卷积神经⽹络应⽤于图像上的很多不同物体上。由于卷积神经⽹络会将图像中的每个物体识别为对象或背景,因此我们需要在⼤量的位置和规模上使⽤卷积神经⽹络,但是这需要很⼤的计算量!
账户管理为了解决这⼀问题,神经⽹络研究⼈员建议使⽤区域(region)这⼀概念,这样我们就会到可能包含对象的“斑点”图像区域,这样运⾏速度就会⼤⼤提⾼。第⼀种模型是基于区域的卷积神经⽹络( R-CNN ),其算法原理如下:
bbzs在 R-CNN 中,⾸先使⽤选择性搜索算法扫描输⼊图像,寻其中的可能对象,从⽽⽣成⼤约 2,000 个区域建议;
然后,在这些区域建议上运⾏⼀个 卷积神⽹络;
最后,将每个卷积神经⽹络的输出传给⽀持向量机( SVM ),使⽤⼀个线性回归收紧对象的边界框。
实质上,我们将对象检测转换为⼀个图像分类问题。但是也存在这些问题:训练速度慢,需要⼤量的
磁盘空间,推理速度也很慢。R-CNN 的第⼀个升级版本是 Fast R-CNN,通过使⽤了 2 次增强,⼤⼤提了检测速度:
在建议区域之前进⾏特征提取,因此在整幅图像上只能运⾏⼀次卷积神经⽹络;
⽤⼀个 softmax 层代替⽀持向量机,对⽤于预测的神经⽹络进⾏扩展,⽽不是创建⼀个新的模型。

本文发布于:2023-06-03 23:25:34,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/124743.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   视觉   对象   计算机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图