新葡萄在线8883官网|首页-欢迎您

选择语言

400-060-2480

新葡萄在线8883官网:详解计算机视觉五⼤技术

发布日期:2023-06-16 作者:超级管理员

⽬前,计算机视觉是深度学习领域最热门的研究领域之⼀。计算机视觉实际上是⼀个跨领域的交叉学科,包括计算机科学 (图形、算法、理论、系统、体系结构),数学(信息检索、机器学习),⼯程学(机器⼈、语⾳、⾃然语⾔处理、图像处理),物理学(光学 ),⽣物学(神经科学)和⼼理学(认知科学)等等。

许多科学家认为,计算机视觉为⼈⼯智能的发展开拓了道路。

那么什么是计算机视觉呢? 这里给出了个比较严谨的定义:

“对图像中的客观对象构建明确⽽有意义的描述”(Ballard&Brown,1982)

“从⼀个或多个数字图像中计算三维世界的特性”(Trucco&Verri,1998)

“基于感知图像做出对客观对象和场景有⽤的决策”(Sockman&Shapiro,2001)

为什么要学习计算机视觉?

⼀个显⽽易见的答案就是,这个研究领域已经衍⽣出了⼀⼤批快速成长的、有实际作⽤的应⽤,例如:

1、⼈脸识别: Snapchat 和 Facebook 使⽤⼈脸识别算法来识别⼈脸。

2、图像检索:Google Images 使⽤基于内容的查询来搜索相关图⽚,算法分析查询图像中的内容并根据最佳匹配内容返回结果。

3、游戏和控制:使⽤⽴体视觉较为成功的游戏应⽤产品是:微软 Kinect。

4、监测:⽤于监测可疑⾏为的监视摄像头遍布于各⼤公共场所中。

5、⽣物识别技术:指纹、虹膜和⼈脸匹配仍然是⽣物识别领域的⼀些常⽤⽅法。

6、智能汽车:计算机视觉仍然是检测交通标志、行人和其他视觉特征的主要信息来源。

视觉识别是计算机视觉的关键组成部分,如图像分类、目标检测。神经⽹络的最新进展极⼤地推动了这些最先进的视觉识别系统的发展。

在本⽂中,我将分享6种主要的计算机视觉技术,并介绍⼏种基于计算机视觉技术的深度学习模型与应⽤。

01

目标检测

▲ 人物对比图


什么是⽬标检测?⽬标检测即找出图像中所有感兴趣的物体,包含物体定位和物体分类两个⼦任务,同时确定物体的类别和位置。

传统⽬标检测的⽅法⼀般分为三个阶段:⾸先在给定的图像上选择⼀些候选的区域,然后对这些区域提取特征,最后使⽤训练的分类器进⾏分类。主要为:

(1)区域选择:这⼀步是为了对⽬标的位置进⾏定位。由于⽬标可能出现在图像的任何位置,⽽且⽬标的⼤⼩、长宽⽐例也不确定,所以最初采⽤滑动窗⼝的策略对整幅图像进⾏遍历,⽽且需要设置不同的尺度,不同的长宽⽐。这种穷举的策略虽然包含了⽬标所有可能出现的位置,但是缺点也是显⽽易见的:时间复杂度太⾼,产⽣冗余窗⼝太多,这也严重影响后续特征提取和分类的速度和性能。

(2)特征提取:由于⽬标的形态多样性,光照变化多样性,背景多样性等因素使得设计⼀个鲁棒的特征并不是那么容易。然⽽提取特征的好坏直接影响到分类的准确性。其中,这个阶段常⽤的特征有SIFT[1]、HOG[2]等。

(3)分类:根据第⼆步提取到的特征对⽬标进⾏分类,分类器主要有SVM,AdaBoost等。

目标检测任务可分为两个关键的⼦任务:目标分类和目标定位。⽬标分类任务负责判断输⼊图像或所选择图像区域(Proposals)中是否有感兴趣类别的物体出现,输出⼀系列带分数的标签表明感兴趣类别的物体出现在输⼊图像或所选择图像区域(Proposals)中的可能性。目标定位任务负责确定输⼊图像或所选择图像区域(Proposals)中感兴趣类别的物体的位置和范围,输出物体的包围盒、或物体中⼼、或物体的闭合边界等,通常使⽤⽅形包围盒,即Bounding Box⽤来表⽰物体的位置信息。 

⽬前主流的目标检测算法主要是基于深度学习模型,⼤概可以分成两⼤类别:(1)One-Stage目标检测算法,这类检测算法不需要 Region Proposal阶段,可以通过⼀个Stage直接产⽣物体的类别概率和位置坐标值,⽐较典型的算法有YOLO、SSD和CornerNet;(2)Two-Stage⽬标检测算法,这类检测算法将检测问题划分为两个阶段,第⼀个阶段⾸先产⽣候选区域(Region Proposals),包含目标⼤概的位置信息,然后第⼆个阶段对候选区域进⾏分类和位置精修,这类算法的典型代表有R-CNN,Fast R-CNN,Faster R-CNN 等。目标检测模型的主要性能指标是检测准确度和速度,其中准确度主要考虑物体的定位以及分类准确度。⼀般情况下,Two-Stage算法在 准确度上有优势,⽽One-Stage算法在速度上有优势。不过,随着研究的发展,两类算法都在两个⽅⾯做改进,均能在准确度以及速度上取得较好的结果。

One-Stage标检测算法

One-Stage检测算法⽰意图


One-Stage⽬标检测算法可以在⼀个stage直接产⽣物体的类别概率和位置坐标值,相比于Two-Stage的⽬标检测算法不需要Region Proposal阶段,整体流程较为简单。如下图所⽰,在Testing的时候输⼊图⽚通过CNN⽹络产⽣输出,解码(后处理)生成对应检测框即可;在Training的时候则需要将Ground Truth编码成CNN输出对应的格式以便计算对应损失loss。

Two-Stage目标检测算法

Two-Stage检测算法⽰意图


Two-Stage目标检测算法本人认为可以看作是进行两次One-Stage检测,第⼀个Stage初步检测出物体位置,第⼆个Stage对第⼀个阶段的结果做进⼀步的精化,对每⼀个候选区域进⾏One-Stage检测。

整体流程如下图所⽰,Testing的时候输⼊图⽚经过卷积神经⽹络产⽣第 ⼀阶段输出,对输出进⾏解码处理⽣成候选区域,然后获取对应候选区域的特征表示(ROIs),然后对ROIs进⼀步精化产⽣第⼆阶段的输 出,解码(后处理)⽣成最终结果,解码⽣成对应检测框即可;在Training的时候需要将Ground Truth编码成CNN输出对应的格式以便计算对应损失loss。

目标检测至今仍然是计算机视觉领域较为活跃的⼀个研究⽅向,虽然One-Stage检测算法和Two-Stage检测算法都取得了很好的效果,但是对于真实场景下的应⽤还存在⼀定差距,⽬标检测这⼀基本任务仍然是⾮常具有挑战性的课题,存在很⼤的提升潜力和空间。

02

图像分类

给定⼀组各⾃被标记为单⼀类别的图像,我们对⼀组新的测试图像的类别进⾏预测,并测量预测结果的准确性,这就是图像分类问题。

图像分类问题需要⾯临以下⼏个挑战:视点变化,尺度变化,类内变化,图像变形,图像遮挡,照明条件和背景杂斑。

我们怎样来编写⼀个图像分类算法呢?

计算机视觉研究⼈员提出了⼀种基于数据驱动的方法。

该算法并不是直接在代码中指定每个感兴趣的图像类别,⽽是为计算机每个图像类别都提供许多⽰例,然后设计⼀个学习算法,查看这些⽰例并学习每个类别的视觉外观。也就是说,⾸先积累⼀个带有标记图像的训练集,然后将其输⼊到计算机中,由计算机来处理这些数据。

03

动作识别

与图像识别相比,视频分析需要更大量的数据。早期的数据集KTH[3],Weizmann[4]等仅由演员表演固定的几个动作,如走路,慢跑等。之后,较大规模的数据集如UCF101[5]等由网络视频组成,具体动作类别则由志愿者人工标注完成。

目前,研究者发布了更大规模的数据集,例如Kinetics[6]包含了上百类动作以及几十万视频(如下图),虽然相比实际情况仍不够全面,但也对动作识别的研究有了极大的帮助。

Kinetics数据集的示例视频帧


视频动作识别目前常用的技术可以大致分为如下几类:

1. 基于人工特征的视频动作识别

早期的动作识别主要基于兴趣点的检测和表示。梯度直方图[7],时空兴趣点检测[8],以及光流直方图[9]等都用于提取图像和时序的特征表示。与图像相比,视频蕴含了大量的运动信息,为了更好的利用运动信息,Heng等人提出了密集轨迹的特征[10],密集的提取和追踪光流中每个像素特征,编码后进行分类。

2. 基于双流的神经网络

近年来,神经网络在图像识别、物体检测等计算机视觉任务上取得了几乎超越人类的成果,研究者在视频任务中也越来越多的开始使用神经网络。然而,直接将用于图像分类的神经网络用于视频分类会忽略视频的时序特征,而时序特征对于视频分类尤为重要。介于此,研究者提出了基于双流的动作识别方法。Simonyan et al. 提出了一个融合网络[11] ,该论文首次将视频分成空间和时间两个部分,分别将RGB图像和光流图像送入两支神经网络并融合最终分类结果。如下图,利用双流神经网络,可以同时得到视频中人或物体外表和运动的信息,该方法在当时各个基准数据集上取得了领先的识别水平。

▲ 双流神经网络结构图


3. 基于三维卷积的神经网络

除了双流网络,还有一些研究者针对视频将神经网络优化为三维卷积神经网络,以此来捕捉更多的时空信息。如下图,Tran等人首次提出了在视频动作识别中使用三维神经网络(C3D)代替二维的神经网络[12]。此后,由于ResNet在图像识别任务中取得的较好效果,Hara等人提出了基于三维网络的ResNet[13],Qiu等人也提出了用二维模拟三维神经网络的伪3D网络(P3D)[14]。

▲ 三维神经网络示意图


4. 其他

此外,仍有很多研究者在探索其他更有效的视频动作识别方法,如基于长短记忆网络(LSTM)的识别框架[15],基于对抗神经网络(GAN)[16]的框架等。

04

目标跟踪

⽬标跟踪,是指在特定场景跟踪某⼀个或多个特定感兴趣对象的过程。传统的应⽤就是视频和真实世界的交互,在检测到初始对象之后进⾏观察。现在,⽬标跟踪在⽆⼈驾驶领域也很重要,例如 Uber 和特斯拉等公司的⽆⼈驾驶。

根据观察模型,⽬标跟踪算法可分成 2 类:⽣成算法和判别算法。

⽣成算法使⽤⽣成模型来描述表观特征,并将重建误差最⼩化来搜索⽬标,如主成分分析算法( PCA );判别算法⽤来区分物体和背景,其性能更稳健,并逐渐成为跟踪对象的主要⼿段(判别算法也称为 Tracking-by-Detection ,深度学习也属于这⼀范畴)。

05

语义分割

计算机视觉的核⼼是分割,它将整个图像分成⼀个个像素组,然后对其进⾏标记和分类。特别地,语义分割试图在语义上理解图像中每个像素的⾓⾊(⽐如,识别它是汽车、摩托车还是其他的类别)。如上图所⽰,除了识别⼈、道路、汽车、树⽊等之外,我们还必须确定每个物体的边界。因此,与分类不同,我们需要⽤模型对密集的像素进⾏预测。

与其他计算机视觉任务⼀样,卷积神经⽹络在分割任务上取得了巨⼤成功。最流行的原始方法之⼀是通过滑动窗口进⾏块分类,利用每个像素周围的图像块,对每个像素分别进行分类。但是其计算效率⾮常低,因为我们不能在重叠块之间重⽤共享特征。

解决⽅案就是加州⼤学伯克利分校提出的全卷积⽹络( FCN ),它提出了端到端的卷积神经⽹络体系结构,在没有任何全连接层的情况下进⾏密集预测。

这种⽅法允许针对任何尺⼨的图像⽣成分割映射,并且⽐块分类算法快得多,⼏乎后续所有的语义分割算法都采⽤了这种范式。


06

实例分割

除了语义分割之外,实例分割将不同类型的实例进行分类,⽐如⽤ 5 种不同颜色来标记 5 辆汽车。分类任务通常来说就是识别出包含单个对象的图像是什么,但在分割实例时,我们需要执⾏更复杂的任务。我们会看到多个重叠物体和不同背景的复杂景象,我们不仅需要将这些不同的对象进⾏分类,⽽且还要确定对象的边界、差异和彼此之间的关系!

到⽬前为⽌,我们已经看到了如何以多种有趣的⽅式使用卷积神经⽹络的特征,通过边界框有效定位图像中的不同对象。我们可以将这种技术进⾏扩展吗?也就是说,对每个对象的精确像素进⾏定位,⽽不仅仅是⽤边界框进⾏定位。 Facebook AI 则使⽤了 Mask R-CNN 架构对实例分割问题进⾏了探索。

目前计算机视觉技术已经取得了快速的发展,但计算机视觉技术的应用需求还存在着巨大的潜力。机器视觉功能很少作为孤立的系统,而是以整个自动化系统或者设备的有机组成部分之一出现,也往往在配合逻辑控制、运动控制、数据采集、通信网络以及企业数据库管理等其它功能时,才能真正发挥出其优势。

新葡萄在线8883官网早在2018年开始累积训练图像,通过人工识别+智能识别技术融合,已累积超亿级的有效图库。借助目前计算机视觉技术的发展,新葡萄在线8883官网在污染视觉识别与定位(粉尘、烟尘等)、物体视觉识别(苫盖、安全帽等)、物体轨迹识别与跟踪、人像视觉识别等方面的识别准确率、识别速度均取得了突破性进展!

此外,由视觉图像识别与其他如声音、光线、电磁、温度、风力等的结合产品也在逐步开发与推出中。相信借助人工智能的发展以及新葡萄在线8883官网勇于探索的科学精神,我们能够推出更具有可扩展性的算法和框架以及更多融合性实用性产品,持续不断的为客户企业提供高质量服务。


参考文献






[1] D. Lowe. Distinctive image features from scale-invariant keypoints. IJCV, 2004.

[2] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.

[3]. C. Schuldt, I. Laptev, and B. Caputo, “Recognizing human actions: a local svm approach,” in ICPR, 2004, pp. 32–36.

[4]. M. Blank, L. Gorelick, E. Shechtman, M. Irani, and R. Basri, “Actions as space-time shapes,” in International Conference on Computer Vision (ICCV), vol. 2, 2005, pp. 1395–1402.

[5]. K. Soomro, A. R. Zamir, M. Shah, "UCF101: A dataset of 101 human actions classes from videos in the wild", arXiv:1212.0402, 2012.

[6]. W. Kay, J. Carreira, K. Simonyan, B. Zhang, C. Hillier, S. Vijayanarasimhan, F. Viola, T. Green, T. Back, P. Natsev, M. Suleyman, and A. Zisserman, “The kinetics human action video dataset,” arXiv: 1705.06950, 2017.

[7]. N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,” CVPR, 2005, pp. 886–893.

[8]. I. Laptev, “On space-time interest points,” International Journal of Computer Vision, vol. 64, no. 2-3, pp. 107–123, 2005.

[9] I. Laptev, M. Marszalek, C. Schmid, and B. Rozenfeld, “Learning realistic human actions from movies,” CVPR, 2008.

[10]. Wang, Heng, and Cordelia Schmid. "Action recognition with improved trajectories." ICCV. 2013.

[11]. K. Simonyan, A. Zisserman, "Two-stream convolutional networks for action recognition in videos", NIPS, pp. 568-576, 2014.

[12]. D. Tran, L. Bourdev, R. Fergus, L. Torresani, M. Paluri, "Learning spatiotemporal features with 3D convolutional networks", ICCV, pp. 4489-4497, Dec. 2015.

[13]. Hara, K., Kataoka, H., & Satoh, Y. Can spatiotemporal 3d cnns retrace the history of 2d cnns and imagenet?. CVPR, 2018 , pp. 6546-6555.

[14]. Z. Qiu, T. Yao, T. Mei, "Learning spatio-temporal representation with pseudo-3D residual networks", ICCV, pp. 5534-5542, Oct. 2017.

[15]. Donahue, Jeffrey, et al. "Long-term recurrent convolutional networks for visual recognition and description.", CVPR. 2015.

[16]. Yu, Feiwu, et al. "Exploiting Images for Video Recognition with Hierarchical Generative Adversarial Networks.", IJCAI. 2018.



Copyright @ 2019 新葡萄在线8883首页 备案号:沪ICP备14015356号-1 技术支持:上海网站建设

在线客服
联系我们
  • 一键拨号 一键导航