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

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

3天内不再提示

如何通过深度学习来完成计算机视觉中的所有工作?

电子设计 ? 来源:电子设计 ? 作者:电子设计 ? 2021-01-20 22:39 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者 | George Seif
译者 | 天道酬勤,责编 | Carol
出品 | AI科技大本营(ID:rgznai100)

你想做计算机视觉吗?

如今,深度学习是必经之路。大规模数据集以及深层卷积神经网络(CNN)的表征能力可提供超准确和强大的模型。但目前仍然只有一个挑战:如何设计模型?

像计算机视觉这样广泛而复杂的领域,解决方案并不总是清晰明了的。计算机视觉中的许多标准任务都需要特别考虑:分类、检测、分割、姿态估计、增强和恢复以及动作识别。尽管最先进的网络呈现出共同的模式,但它们都需要自己独特的设计。

那么,我们如何为所有这些不同的任务建立模型呢?

作者在这里向你展示如何通过深度学习完成计算机视觉中的所有工作!

1、分类

计算机视觉中最出名的就是分类。图像分类网络从一个固定大小的输入开始。输入图像可以有任意数量的通道,但对于RGB图像通常为3。在设计网络时,分辨率在技术上可以是任意大小,只要足够大到能够支持在整个网络中将要进行的向下采样量即可。例如,如果你对网络内的4个像素进行向下采样,则你的输入大小至少应为4?= 16 x 16像素。

随着深入网络,当我们尝试压缩所有信息并降至一维矢量表示形式时,空间分辨率将降低。为了确保网络始终有能力将其提取的所有信息进行处理,我们根据深度的比例增加特征图的数量,来适应空间分辨率的降低。也就是说,我们在向下采样过程中损失了空间信息,为了适应这种损失,我们扩展了特征图来增加我们的语义信息。

在选择了一定数量的向下采样后,特征图被矢量化并输入到一系列完全连接的图层中。最后一层的输出与数据集中的类一样多。

pIYBAGAIPlqAYhy4AADE72sreUU824.png

2、目标检测

目标检测器分为两种:一级和二级。他们两个都以锚框开始。这些是默认的边界框。我们的检测器将预测这些框与地面真相之间的差异,而不是直接预测这些框。
在二级检测器中,我们自然有两个网络:框提议网络和分类网络。框提议网络在认为很有可能存在物体的情况下为边界框提供坐标。再次,这些是相对于锚框。然后,分类网络获取每个边界框中的潜在对象进行分类。

在一级检测器中,提议和分类器网络融合为一个单一阶段。网络直接预测边界框坐标和该框内的类。由于两个阶段融合在一起,所以一级检测器往往比二级检测器更快。但是由于两个任务的分离,二级检测器具有更高的精度。

pIYBAGAIPpqAc-jlAAIgOgGiPUI400.png

快速RCNN二级目标检测架构

pIYBAGAIPtiAeKB7AAAlc41pCuY006.png

SSD一级目标检测架构

3、分割

分割是计算机视觉中较独特的任务之一,因为网络既需要学习低级信息,也需要学习高级信息。低级信息可按像素精确分割图像中的每个区域和对象,而高级信息可直接对这些像素进行分类。这导致网络被设计为将来自较早层和高分辨率(低层空间信息)的信息与较深层和低分辨率(高层语义信息)相结合。

如下所示,我们首先通过标准分类网络运行图像。然后,我们从网络的每个阶段提取特征,从而使用从低到高的范围内的信息。每个信息级别在依次组合之前都是独立处理的。当这些信息组合在一起时,我们对特征图进行向上采样,最终得到完整的图像分辨率。

要了解更多关于如何分割与深度学习工作的细节,请查看这篇文章:
https://towardsdatascience.com/semantic-segmentation-with-deep-learning-...

o4YBAGAIPxiARK_ZAAIETEcDNyo272.png

GCN细分架构

4、姿态估计

姿态估计模型需要完成两个任务:
(1)检测图像中每个身体部位的关键点;
(2)找出如何正确连接这些关键点。

这分以下三个阶段完成:

① 使用标准分类网络从图像中提取特征。

② 给定这些特征,就可以训练一个子网络来预测一组2D热图。每个热图都与一个特定的关键点相关联,并包含每个图像像素关于是否可能存在关键点的置信值。

③ 再次给出分类网络的特征,我们训练一个子网络来预测一组2D向量场,其中每个向量场都与关键点之间的关联度进行编码。然后,具有较高关联性的关键点被称为已连接。

用这种方法训练子网络的模型,可以联合优化关键点的检测并将它们连接在一起。

o4YBAGAIP1eAeFJQAAC_v2DDHOc228.png

OpenPose姿态估计架构

5、增强和恢复

增强和恢复网络是它们自己独特的野兽。我们不会对此进行任何向下采样,因为我们真正关心的是高像素/空间精度。向下采样会真正抹杀这些信息,因为它将减少我们为空间精度而拥有的像素数。相反,所有处理都是在全图像分辨率下完成的。

我们开始以全分辨率将想要增强/恢复的图像传递到我们的网络,而无需进行任何修改。网络仅由许多卷积和激活函数组成。这些块通常是受启发的,并且有时直接复制那些最初为图像分类而开发的块,例如残差块、密集块、挤压激励块等。最后一层没有激活函数,即使是sigmoid或softmax也没有,因为我们想直接预测图像像素,不需要任何概率或分数。

这就是所有这些类型的网络。在图像的全分辨率上进行了大量的处理,来达到较高的空间精度,使用了与其他任务相同的卷积。

o4YBAGAIP5WACSmFAABx3MfYS3Y734.png

EDSR超分辨率架构

6、动作识别

动作识别是少数几个需要视频数据才能正常运行的应用程序之一。要对一个动作进行分类,我们需要了解随着时间推移,场景中发生的变化, 这自然导致我们需要视频。我们的网络必须经过训练来学习时空信息,即时空变化。最完美的网络是3D-CNN。

顾名思义,3D-CNN是使用3D卷积的卷积网络。它们与常规CNN的不同之处在于,卷积是在3维上应用的:宽度、高度和时间。因此,每个输出像素都是根据其周围像素以及相同位置的前一帧和后一帧中的像素进行计算来预测的。

o4YBAGAIQDKAfS05AAAu8FYu9L8276.png

直接大量传递图像

视频帧可以通过几种方式传递:

直接在大批量中,例如第一个图。由于我们正在传递一系列帧,因此空间和时间信息都是可用的。

o4YBAGAIQJCAC7ZxAACA2TWy-TM901.png

单帧+光流(左) 视频+光流(右)

我们还可以在一个流中传递单个图像帧(数据的空间信息),并从视频中传递其相应的光流表示形式(数据的时间信息)。我们将使用常规2D CNN从这两者中提取特征,然后再将其组合起来传递给我们的3D CNN,后者将两种类型的信息进行合并。

将帧序列传递给一个3D CNN,并将视频的光流表示传递给另一个3D CNN。这两个数据流都具有可用的空间和时间信息。鉴于我们正在对视频的两种不同表示(均包含我们的所有信息)进行特定处理,因此这是最慢的选择,但也可能是最准确的选择。

所有这些网络都输出视频的动作分类。

文章来源于AI科技大本营,作者George Seif

审核编辑 黄昊宇

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

    关注

    42

    文章

    4814

    浏览量

    104099
  • 计算机视觉
    +关注

    关注

    9

    文章

    1710

    浏览量

    46892
  • 深度学习
    +关注

    关注

    73

    文章

    5564

    浏览量

    122961
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机控制工业环境的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 ?208次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    英飞凌边缘AI平台通过Ultralytics YOLO模型增加对计算机视觉的支持

    计算机视觉的支持,扩大了当前对音频、雷达和其他时间序列信号数据的支持范围。在增加这项支持后,该平台将能够用于开发低功耗、低内存的边缘AI视觉模型。这将给诸多应用领域的机器学习开发人员
    的头像 发表于 03-11 15:11 ?426次阅读
    英飞凌边缘AI平台<b class='flag-5'>通过</b>Ultralytics YOLO模型增加对<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的支持

    Arm KleidiCV与OpenCV集成助力移动端计算机视觉性能优化

    生成式及多模态人工智能 (AI) 工作负载的广泛增长,推动了对计算机视觉 (CV) 技术日益高涨的需求。此类技术能够解释并分析源自现实世界的视觉信息,并可应用于人脸识别、照片分类、滤镜
    的头像 发表于 02-24 10:15 ?612次阅读

    AR和VR计算机视觉

    ):计算机视觉引领混合现实体验增强现实(AR)和虚拟现实(VR)正在彻底改变我们与外部世界的互动方式。即便是在引人入胜的沉浸式
    的头像 发表于 02-08 14:29 ?1631次阅读
    AR和VR<b class='flag-5'>中</b>的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>

    工业中使用哪种计算机

    使其成为工厂、仓库和其他要求苛刻的工业环境的理想选择。通过提供高性能和可靠性,工业计算机可确保高效、连续的运行。工业计算机的类型在工业环境,人们使用各种专用
    的头像 发表于 11-29 14:07 ?755次阅读
    工业中使用哪种<b class='flag-5'>计算机</b>?

    量子计算机与普通计算机工作原理的区别

    超越世界上最强大的超级计算机完成以前不可想象的任务!这意味着量子计算机可能会彻底改变我们的生活。 在本文中,我们将先了解普通计算机工作
    的头像 发表于 11-24 11:00 ?1606次阅读
    量子<b class='flag-5'>计算机</b>与普通<b class='flag-5'>计算机工作</b>原理的区别

    pcie在深度学习的应用

    深度学习模型通常需要大量的数据和强大的计算能力训练。传统的CPU计算资源有限,难以满足深度
    的头像 发表于 11-13 10:39 ?1416次阅读

    【小白入门必看】一文读懂深度学习计算机视觉技术及学习路线

    ,帮我们做决定。整个过程就是为了让机器能看懂图像,然后根据这些图像做出聪明的选择。二、计算机视觉实现起来难吗?人类依赖视觉,找辆汽车轻而易举,毕竟汽车那么大,一眼
    的头像 发表于 10-31 17:00 ?1301次阅读
    【小白入门必看】一文读懂<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>技术及<b class='flag-5'>学习</b>路线

    信号继电器在计算机系统的应用

    信号继电器在计算机系统的应用是一个重要且复杂的领域,它作为电气控制的关键元件,在计算机系统中发挥着信号转换、隔离、放大以及控制等多种作用。以下将从信号继电器的基本概念、工作原理、特性
    的头像 发表于 09-27 16:29 ?983次阅读

    计算机存储系统的工作原理和功能

    计算机存储系统作为计算机系统至关重要的组成部分,其原理和功能对于理解计算机的运行机制具有关键意义。以下将详细阐述计算机存储系统的原理和功能
    的头像 发表于 09-26 16:42 ?3047次阅读

    简述计算机总线的分类

    计算机总线作为计算机系统连接各个功能部件的公共通信干线,其结构和分类对于理解计算机硬件系统的工作原理至关重要。以下是对
    的头像 发表于 08-26 16:23 ?5302次阅读

    如何利用ARMxy ARM嵌入式计算机的NPU进行深度学习模型的训练和优化?

    在正文开始前,我们先大致了解钡铼的ARMxy ARM嵌入式计算机,再来说说我们如何利用ARMxy ARM嵌入式计算机的NPU实现深度学习
    的头像 发表于 08-20 13:43 ?809次阅读
    如何利用ARMxy ARM嵌入式<b class='flag-5'>计算机</b>的NPU进行<b class='flag-5'>深度</b><b class='flag-5'>学习</b>模型的训练和优化?

    ARMxy ARM嵌入式计算机搭载 1 TOPS NPU支持深度学习

    ARMxy ARM嵌入式计算机BL410系列内置了1TOPS算力 NPU,它每秒可以执行高达一万亿次的浮点运算,这为复杂的图像处理和深度学习任务提供了充足的计算资源。在产品缺陷检测领域
    的头像 发表于 08-20 11:53 ?914次阅读
    ARMxy ARM嵌入式<b class='flag-5'>计算机</b>搭载 1 TOPS NPU支持<b class='flag-5'>深度</b><b class='flag-5'>学习</b>

    计算机视觉有哪些优缺点

    计算机视觉作为人工智能领域的一个重要分支,旨在使计算机能够像人类一样理解和解释图像和视频的信息。这一技术的发展不仅推动了多个行业的变革,也带来了诸多优势,但同时也伴随着一些挑战和局限
    的头像 发表于 08-14 09:49 ?2123次阅读

    边沿触发器在计算机中的应用

    边沿触发器在计算机中的应用极为广泛,它们作为数字电路的基本单元,对于实现计算机内部的时序控制、数据存储与传输、以及复杂逻辑功能等方面起着至关重要的作用。以下将从边沿触发器的定义、特点、工作
    的头像 发表于 08-12 14:20 ?1337次阅读