0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

围绕计算机视觉领域的八大任务,进行了较为详细的综述

电子工程师 来源:lp 2019-04-01 10:16 次阅读

编者按:

来自百度的深度学习工程师,围绕计算机视觉领域的八大任务,包括:图像分类、目标检测、图像语义分割、场景文字识别、图像生成、人体关键点检测、视频分类、度量学习等,进行了较为详细的综述并形成此文。

这篇综述中,介绍了这些任务的基本情况,以及目前的威廉希尔官方网站 进展、主要的模型和性能对比等。而且还逐一附上了GitHub传送门,用于更进一步的学习与安装实践指南。其中不少教程还是用中文写成,非常友好。

总之,这篇综述全程干货,推荐收藏阅读。

上篇

计算机视觉(Computer Vision)是研究如何使机器“看”的科学,更进一步的说,是使用摄像机机和电脑代替人眼对目标进行识别、跟踪和测量等的机器视觉,并通过电脑处理成为更适合人眼观察或传送给仪器检测的图像。

形象地说,就是给计算机安装上眼睛(摄像机)和大脑(算法),让计算机像人一样去看、去感知环境。计算机视觉威廉希尔官方网站 作为人工智能的重要核心威廉希尔官方网站 之一,已广泛应用于安防、金融、硬件、营销、驾驶、医疗等领域。本文上篇中,我们将介绍基于PaddlePaddle的四种计算机视觉威廉希尔官方网站 及其相关的深度学习模型。

一、图像分类

图像分类是根据图像的语义信息对不同类别图像进行区分,是计算机视觉中重要的基础问题,是物体检测、图像分割、物体跟踪、行为分析、人脸识别等其他高层视觉任务的基础。

图像分类在许多领域都有着广泛的应用。如:安防领域的人脸识别和智能视频分析等,交通领域的交通场景识别,互联网领域基于内容的图像检索和相册自动归类,医学领域的图像识别等。

得益于深度学习的推动,图像分类的准确率大幅度提升。在经典的数据集ImageNet上,训练图像分类任务常用的模型,包括AlexNet、VGG、GoogLeNet、ResNet、Inception-v4、MobileNet、MobileNetV2、DPN(Dual Path Network)、SE-ResNeXt、ShuffleNet等。

△AlexNet

△VGG

△GoogLeNet

△ResNet

△Inception-v4

△MobileNet

△SE-ResNeXt

△ShuffleNet

模型的结构和复杂程度都不一样,最终得到的准确率也有所区别。下面这个表格中,列出了在ImageNet 2012数据集上,不同模型的top-1/top-5验证准确率。

△图像分类系列模型评估结果

在我们的GitHub页面上,提供上述与训练模型的下载。以及详细介绍了如何使用PaddlePaddle Fluid进行图像分类任务。包括安装、数据准备、模型训练、评估等等全部过程。还有将Caffe模型转换为PaddlePaddle Fluid模型配置和参数文件的工具。

上述页面的传送门在此:

https://github.com/PaddlePaddle/models/blob/develop/fluid/PaddleCV/image_classification

二、目标检测

目标检测任务的目标是给定一张图像或是一个视频帧,让计算机找出其中所有目标的位置,并给出每个目标的具体类别。

对于人类来说,目标检测是一个非常简单的任务。然而,计算机能够“看到”的是图像被编码之后的数字,很难解图像或是视频帧中出现了人或是物体这样的高层语义概念,也就更加难以定位目标出现在图像中哪个区域。

与此同时,由于目标会出现在图像或是视频帧中的任何位置,目标的形态千变万化,图像或是视频帧的背景千差万别,诸多因素都使得目标检测对计算机来说是一个具有挑战性的问题。

在目标检测任务中,我们主要介绍如何基于PASCAL VOC、MS COCO数据训练通用物体检测模型,包括SSD模型、PyramidBox模型、R-CNN模型。

•SSD模型,Single Shot MultiBox Detector,是一种单阶段的目标检测器。与两阶段的检测方法不同,单阶段目标检测并不进行区域推荐,而是直接从特征图回归出目标的边界框和分类概率。SSD 运用了这种单阶段检测的思想,并且对其进行改进:在不同尺度的特征图上检测对应尺度的目标,是目标检测领域较新且效果较好的检测算法之一,具有检测速度快且检测精度高的特点。

△SSD目标检测模型结构

△SSD目标检测可视化

△目标检测SSD模型评估结果

在GitHub上,我们更详细的介绍了如何下载、训练、使用这一模型。

传送门在此:

https://github.com/PaddlePaddle/models/blob/develop/fluid/PaddleCV/object_detection

•PyramidBox模型,百度自主研发的人脸检测模型,是一种语境辅助的单次人脸检测新方法,能够解决在不受控制的环境中检测小的、模糊的及部分遮挡的人脸时的问题,模型于18年3月份在WIDER Face数据集上取得第一名。

△Pyramidbox 人脸检测模型

△Pyramidbox 预测可视化

△PyramidBox模型评估结果

如果想进一步了解这个模型,传送门在此(而且是全中文指导):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/face_detection

•R-CNN系列模型,区域卷积神经网络(R-CNN)系列模型是典型的两阶段目标检测器,相较于传统提取区域的方法,R-CNN中RPN网络通过共享卷积层参数大幅提高提取区域的效率,并提出高质量的候选区域。Faster R-CNN和Mask R-CNN是R-CNN系列的典型模型。

Faster R-CNN 区域生成网络(RPN)+Fast R-CNN的实现,将候选区域生成、特征提取、分类、位置精修统一到一个深度网络框架,大大提高运行速度。

Mask R-CNN在原有Faster R-CNN模型基础上添加分割分支,得到掩码结果,实现了掩码和类别预测关系的解藕,是经典的实例分割模型。

△Faster R-CNN 结构

△Faster R-CNN 预测可视化

△Mask R-CNN结构

△Mask R-CNN 预测可视化

△Faster R-CNN评估结果

△Mask R-CNN评估结果

同样,如果你想进一步学习R-CNN安装、准备、训练等,可以前往下面这个传送门:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/rcnn

三、图像语义分割

图像语意分割,顾名思义是将图像像素按照表达的语义含义的不同进行分组/分割。

图像语义是指对图像内容的理解,例如,能够描绘出什么物体在哪里做了什么事情等,分割是指对图片中的每个像素点进行标注,标注属于哪一类别。近年来用在无人车驾驶威廉希尔官方网站 中分割街景来避让行人和车辆、医疗影像分析中辅助诊断等。

分割任务主要分为实例分割和语义分割,实例分割是物体检测加上语义分割的综合体,上文介绍的Mask R-CNN是实例分割的经典网络结构之一。在图像语义分割任务中,我们主要介绍兼顾准确率和速度的ICNet,DeepLab中最新、执行效果最好的DeepLab v3+。

•DeepLab v3+,DeepLab语义分割系列网络的最新作,通过encoder-decoder进行多尺度信息的融合,同时保留了原来的空洞卷积和ASSP层, 其骨干网络使用了Xception模型,提高了语义分割的健壮性和运行速率,在 PASCAL VOC 2012 dataset取得新的state-of-art performance,89.0mIOU。

△DeepLab v3+ 基本结构

△DeepLab v3+ 评估结果

照例,GitHub传送门在此(中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/deeplabv3%2B

•ICNet,Image Cascade Network,主要用于图像实时语义分割,主要思想是将输入图像变换为不同的分辨率,然后用不同计算复杂度的子网络计算不同分辨率的输入,然后将结果合并。ICNet由三个子网络组成,计算复杂度高的网络处理低分辨率输入,计算复杂度低的网络处理分辨率高的网络,通过这种方式在高分辨率图像的准确性和低复杂度网络的效率之间获得平衡。

△ICNet网络结构

△ICNet可视化

△ICNet评估结果

进一步上手实践的传送门在此(也是中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/icnet

四、场景文字识别

许多场景图像中包含着丰富的文本信息,对理解图像信息有着重要作用,能够极大地帮助人们认知和理解场景图像的内容。场景文字识别是在图像背景复杂、分辨率低下、字体多样、分布随意等情况下,将图像信息转化为文字序列的过程,可认为是一种特别的翻译过程:将图像输入翻译为自然语言输出。场景图像文字识别威廉希尔官方网站 的发展也促进了一些新型应用的产生,如通过自动识别路牌中的文字帮助街景应用获取更加准确的地址信息等。

在场景文字识别任务中,我们介绍如何将基于CNN的图像特征提取和基于RNN的序列翻译威廉希尔官方网站 结合,免除人工定义特征,避免字符分割,使用自动学习到的图像特征,完成字符识别。这里主要介绍CRNN-CTC模型和基于注意力机制的序列到序列模型。

•CRNN-CTC模型,采取CNN+RNN+CTC架构,卷积层使用CNN,从输入图像中提取特征序列、循环层使用RNN,预测从卷积层获取的特征序列的标签(真实值)分布、转录层使用CTC,把从循环层获取的标签分布通过去重整合等操作转换成最终的识别结果。

•基于注意力机制的序列到序列模型,提出了基于attention机制的文本识别方法,不需要检测,直接输入图片进行识别,对于识别字符类别数很少的场景很实用,例如车牌识别、自然场景图片的主要关键词提取等。同时也不要求识别文本必须单行排列,双行排列,多行排列都可以。在训练过程中则不需要文本框的标注,训练数据的收集变得很方便。

△CRNN-CTC模型结构

△基于注意力机制的序列到序列模型结构

△OCR模型评估结果

GitHub传送门在此(中文友好):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/ocr_recognition

下篇

上篇中我们介绍了计算机视觉威廉希尔官方网站 在图像分类、目标检测、图像语义分割、场景文字识别四大基本任务场景下,如何帮助计算机从单个或者一系列的图片中提取分析和理解的关键信息。当下,视频在人们生活中越来越重要,伴随着威廉希尔官方网站 成熟度的提高,计算机视觉威廉希尔官方网站 的突破也从静态图像识别的“看到”转向了视频理解的“看懂”。

接下来,我们一起探索基于PaddlePaddle的图像生成、人体关键点检测、视频分类相关的深度学习模型。

一、图像生成

图像生成是指根据输入向量,生成目标图像。这里的输入向量可以是随机的噪声或用户指定的条件向量。具体的应用场景有:手写体生成、人脸合成、风格迁移、图像修复、超分重建等。当前的图像生成任务主要是借助生成对抗网络(GAN)来实现。

生成对抗网络(GAN)由两种子网络组成:生成器和识别器。生成器的输入是随机噪声或条件向量,输出是目标图像。识别器是一个分类器,输入是一张图像,输出是该图像是否是真实的图像。在训练过程中,生成器和识别器通过不断的相互博弈提升自己的能力。

在图像生成任务中,我们主要介绍如何使用DCGAN和ConditioanlGAN来进行手写数字的生成,另外还介绍了用于风格迁移的CycleGAN。

•ConditioanlGAN,顾名思义是带条件约束的生成对抗模型,它在生成模型和判别模型的建模中均引入了额外的条件变量,对于生成器对数据的生成具有指导作用。ConditioanlGAN是把无监督的GAN变成有监督模型的改进,为后续的工作提供了指导作用。

△ConditioanlGAN结构

△ConditioanlGAN预测效果图

传送门(中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/gan/c_gan

•DCGAN,为了填补CNN在监督学习和无监督学习之间的gap,此篇论文提出了将CNN和GAN结合的DCGAN(深度卷积生成对抗网络),并且DCGAN在无监督学习中取得不错的结果。

△DCGAN结构

△DCGAN预测效果图

传送门(中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/gan/c_gan

•CycleGAN,将一类图片转换成另一类图片。传统的 GAN 是单向生成,CycleGAN 是互相生成,本质上是两个镜像对称的GAN,构成了一个环形网络,所以命名为 Cycle。风格迁移类任务一般都需要两个域中具有相同内容的成对图片作为训练数据,CycleGAN的创新点就在于其能够在没有成对训练数据的情况下,将图片内容从源域迁移到目标域。

△CycleGAN 结构

△CycleGAN预测可视化

传送门(中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/gan/cycle_gan

二、人体关键点检测

人体关键点检测,通过人体关键节点的组合和追踪来识别人的运动和行为,对于描述人体姿态,预测人体行为至关重要,是诸多计算机视觉任务的基础,例如动作分类,异常行为检测,以及自动驾驶等等,也为游戏、视频等提供新的交互方式。

在人体关键点检测任务中,我们主要介绍网络结构简单的coco2018关键点检测项目的亚军方案。

Simple Baselines for Human Pose Estimation in Fluid,coco2018关键点检测项目的亚军方案,没有华丽的技巧,仅仅是在ResNet中插入了几层反卷积,将低分辨率的特征图扩张为原图大小,以此生成预测关键点需要的Heatmap。没有任何的特征融合,网络结构非常简单,但是达到了state of the art效果。

△视频Demo: Bruno Mars - That’s What I Like [官方视频]

△Simple Baselines for Human Pose Estimation in Fluid 评估结果

GitHub传送门:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/human_pose_estimation

三、视频分类

视频分类是视频理解任务的基础,与图像分类不同的是,分类的对象不再是静止的图像,而是一个由多帧图像构成的、包含语音数据、包含运动信息等的视频对象,因此理解视频需要获得更多的上下文信息,不仅要理解每帧图像是什么、包含什么,还需要结合不同帧,知道上下文的关联信息。

视频分类方法主要包含基于卷积神经网络、基于循环神经网络、或将这两者结合的方法。

在视频分类任务中,我们主要介绍视频分类方向的多个主流领先模型,其中Attention LSTM,Attention Cluster和NeXtVLAD是比较流行的特征序列模型,TSN和StNet是两个End-to-End的视频分类模型。

Attention LSTM模型速度快精度高,NeXtVLAD是2nd-Youtube-8M比赛中最好的单模型, TSN是基于2D-CNN的经典解决方案。Attention Cluster和StNet是百度自研模型,分别发表于CVPR2018和AAAI2019,是Kinetics600比赛第一名中使用到的模型。

•Attention Cluster模型为ActivityNet Kinetics Challenge 2017中最佳序列模型,通过带Shifting Opeation的Attention Clusters处理已抽取好的RGB、Flow、Audio数据。

△Attention Cluster模型结构

Attention LSTM 模型,采用了双向长短记忆网络(LSTM),将视频的所有帧特征依次编码。与传统方法直接采用LSTM最后一个时刻的输出不同,该模型增加了一个Attention层,每个时刻的隐状态输出都有一个自适应权重,然后线性加权得到最终特征向量。

△Attention LSTM 模型结构

•NeXtVLAD模型,第二届Youtube-8M视频理解竞赛中效果最好的单模型,提供了一种将桢级别的视频特征转化并压缩成特征向量,以适用于大尺寸视频文件的分类的方法。其基本出发点是在NetVLAD模型的基础上,将高维度的特征先进行分组,通过引入attention机制聚合提取时间维度的信息,这样既可以获得较高的准确率,又可以使用更少的参数量。

△NeXtVLAD模型结构

•StNet模型,框架为ActivityNet Kinetics Challenge 2018中夺冠的基础网络框架,提出“super-image”的概念,在super-image上进行2D卷积,建模视频中局部时空相关性。另外通过temporal modeling block建模视频的全局时空依赖,最后用一个temporal Xception block对抽取的特征序列进行长时序建模。

△StNet模型结构

•Temporal Segment Network (TSN),视频分类领域经典的基于2D-CNN的解决方案,主要解决视频的长时间行为判断问题,通过稀疏采样视频帧的方式代替稠密采样,既能捕获视频全局信息,也能去除冗余,降低计算量。最终将每帧特征平均融合后得到视频的整体特征,并用于分类。

△TSN模型结构

△基于Youtube-8M数据集的视频分类模型 评估结果

△基于Kinetics数据集的视频分类模型 评估结果

这部分的详情,可以移步GitHub,全程中文。传送门:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/video

四、度量学习

度量学习也称作距离度量学习、相似度学习,通过学习对象之间的距离,度量学习能够用于分析对象时间的关联、比较关系,在实际问题中应用较为广泛,可应用于辅助分类、聚类问题,也广泛用于图像检索、人脸识别等领域。

以往,针对不同的任务,需要选择合适的特征并手动构建距离函数,而度量学习可根据不同的任务来自主学习出针对特定任务的度量距离函数。度量学习和深度学习的结合,在人脸识别/验证、行人再识别(human Re-ID)、图像检索等领域均取得较好的性能,在这个任务中我们主要介绍基于Fluid的深度度量学习模型,包含了三元组、四元组等损失函数。

△度量学习模型 评估结果

GitHub的页面上有安装、准备、训练等方面的指导,传送门:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/metric_learning

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器视觉
    +关注

    关注

    162

    文章

    4369

    浏览量

    120297
  • 图像分类
    +关注

    关注

    0

    文章

    90

    浏览量

    11916
  • 计算机视觉
    +关注

    关注

    8

    文章

    1698

    浏览量

    45986

原文标题:计算机视觉八大任务全概述:PaddlePaddle工程师详解热门视觉模型

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    最适合 AI 应用的计算机视觉类型是什么?

    着眼于使计算机能够像人类一样通过“看”来感知世界,从这一视角对人工智能 (AI) 进行了探讨。我将简要比较每一类计算机视觉,尤其关注在本地而不是依赖基于云的资源收集和处理数据,并根据数
    的头像 发表于 12-18 13:09 7221次阅读
    最适合 AI 应用的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>类型是什么?

    机器视觉计算机视觉的关系简述

    初涉机器视觉领域,总是容易将其与计算机视觉这一概念混淆。实际上两者确实存在一定的相同之处,但也不能因此而将这两者视为同一概念,因为这两者还存在着显著的差别。而与此同时,两者也还有着密不
    发表于 05-13 14:57

    自动驾驶系统要完成哪些计算机视觉任务

    Geiger 的研究主要集中在用于自动驾驶系统的三维视觉理解、分割、重建、材质与动作估计等方面。他主导了自动驾驶领域著名数据集 KITTI 及多项自动驾驶计算机视觉
    发表于 07-30 06:49

    对电力系统计算机应用存在问题及解决方法进行了探讨

    摘要:电力工业作为国民经济的支柱型产业,计算机威廉希尔官方网站 不仅种类繁多、范围广泛,而且非常复杂,一旦出现问题,容易给整个电力系统带来巨大的损失。本文对电力系统计算机应用存在问题及解决方法进行了探讨。关键词
    发表于 09-10 06:31

    深度学习与传统计算机视觉简介

    文章目录1 简介1.1 深度学习与传统计算机视觉1.2 性能考量1.3 社区支持2 结论3 参考在计算机视觉领域中,不同的场景不同的应用程序
    发表于 12-23 06:17

    DNA计算机的研究现状

    为了帮助研究者进一步认识DNA计算机的研究现状,通过查找文献法和归纳法对DNA计算机的研究现状进行了梳理。首先介绍了DNA计算机的原理基础和研制过程,然后
    发表于 04-12 16:08 0次下载

    计算机视觉与机器视觉区别

     “计算机视觉”,是指用计算机实现人的视觉功能,对客观世界的三维场景的感知、识别和理解。计算机视觉
    的头像 发表于 12-08 09:27 1.3w次阅读

    深度学习后的计算机视觉应用领域解析

    计算机视觉是使用计算机及相关设备对生物视觉的一种模拟,是人工智能领域的一个重要部分,它主要任务
    发表于 07-22 16:49 1861次阅读

    简单阐述一下计算机视觉的几大任务

    计算机视觉的几大任务 3025748808_702 在 周一, 04/01/2019 - 09:36 提交 计算机视觉的几
    的头像 发表于 03-24 15:16 6768次阅读

    视觉问答与对话任务研究综述

    视觉问答与对话是人工智能领堿的重要硏究任务,是计算机视觉与自然语言处理交叉领域的代表性问题之一。视觉
    发表于 04-08 10:33 10次下载
    <b class='flag-5'>视觉</b>问答与对话<b class='flag-5'>任务</b>研究<b class='flag-5'>综述</b>

    计算机视觉的概念和主要任务

    作为人工智能的关键领域之一的计算机视觉近期再次成为了热点,那么你真的了解什么是计算机视觉吗?
    的头像 发表于 07-17 11:20 1367次阅读

    最适合AI应用的计算机视觉类型是什么?

    计算机视觉是指为计算机赋予人类视觉这一威廉希尔官方网站 目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机缺乏像人类一样凭直觉产生
    的头像 发表于 11-15 16:38 453次阅读
    最适合AI应用的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>类型是什么?

    计算机视觉的十大算法

    视觉威廉希尔官方网站 的发展起到了重要的推动作用。一、图像分割算法图像分割算法是计算机视觉领域的基础算法之一,它的主要任务是将图像分割成不同的区域或对象。
    的头像 发表于 02-19 13:26 1237次阅读
    <b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的十大算法

    计算机视觉的主要研究方向

    计算机视觉(Computer Vision, CV)作为人工智能领域的一个重要分支,致力于使计算机能够像人眼一样理解和解释图像和视频中的信息。随着深度学习、大数据等威廉希尔官方网站 的快速发展,
    的头像 发表于 06-06 17:17 965次阅读

    深度学习在计算机视觉领域的应用

    深度学习威廉希尔官方网站 的引入,极大地推动了计算机视觉领域的发展,使其能够处理更加复杂和多样化的视觉任务。本文将详细
    的头像 发表于 07-01 11:38 793次阅读