本文为 AI 研习社编译的技术博客,原标题 :
How to do everything in Computer Vision
作者 | George Seif
翻译 | chesc、Disillusion、Ophria
校对 | 邓普斯•杰弗 审核 | Lam-W 整理 | 菠萝妹
原文链接:https://towardsdatascience.com/how-to-do-everything-in-computer-vision-2b442c469928


Mask-RCNN进行目标检测和实例分割

想做计算机视觉?深度学习是最近的发展方向。大规模数据集加上深度卷积神经网络(CNNs)的表征能力使得超精确和稳健的模型成为可能。现在只剩下一个挑战:如何设计你的模型。

由于计算机视觉领域广泛而复杂,因此解决方案并不总是很清晰。计算机视觉中的许多标准任务都需要特别考虑:分类,检测,分割,姿态估计,增强和恢复,动作识别。尽管用于每个任务的最先进的网络表现出共同的模式,但他们都需要自己独特的设计风格。

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

让我来告诉你如何用深度学习在计算机视觉中做所有事情!

分类

所有任务中最为人所知的!图像分类网络以固定尺寸的输入开始。输入图像可以具有任意数量的通道,但对于RGB图像通常为3。在设计网络时,分辨率在技术上可以是任何尺寸,只要它足够大以支持你将在整个网络中执行的下采样数量。例如,如果您在网络中进行4次下采样,那么您的输入尺寸需要至少为 4² = 16 x 16 像素。

当你进入网络更深层时,空间分辨率将会降低,就像我们尽力挤压所有信息并降低到一维向量表示。为了确保网络始终具有继承其提取的所有信息的能力,我们根据深度按比例增加特征图的数量以适应空间分辨率的降低。也就是说,我们在下采样过程中丢失了空间信息,为了适应损失,我们扩展了我们的特征图以增加我们的语义信息。

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

目标检测

目标检测器有两种形式:单阶段和两阶段。它们两者都以“锚框”开始;这些是默认的边界框。我们的检测器将预测这些方框与边界框真值之间的差异,而不是直接预测方框。

在两阶段检测器中,我们自然有两个网络:一个框提议网络和一个分类网络。框提议网络得到了边界框的坐标,它认为目标在这里的可能性很大;再次提醒,这些坐标都是相对于锚框的。然后,分类网络获取每个边界框并对其中的潜在物体进行分类。

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

Faster-RCNN 两阶段目标检测架构
SSD 一阶段目标检测架构

分割

分割是计算机视觉中更独特的任务之一,因为网络需要学习低级和高级信息。低级信息通过像素精确地分割图像中的每个区域和物体,而高级信息用于直接对这些像素进行分类。这就需要将网络设计成结合低级信息和高级信息的结构,其中低级空间信息来自于前面层且是高分辨率的,高级语义信息来自于较深层且是低分辨率的。

正如我们在下面看到的,我们首先在标准分类网络上运行我们的图像。然后,我们从网络的每个阶段提取特征,从而使用从低到高的级别内的信息。每个级别的信息都是独立处理的,然后依次将它们组合在一起。在组合信息时,我们对特征图进行上采样以最终获得完整的图像分辨率。

要了解更多有关如何用深度学习进行分割的详细信息,请查看此文章。

GCN分割架构

姿态估计

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

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

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

3、再次给出分类网络的特征,我们训练一个子网络来预测一组2D向量场,其中每个向量场编码关键点之间的关联度。具有高度关联性的关键点就称其为连接的。

以这种方式训练模型与子网络将共同优化检测关键点并将它们连接在一起。

开放式姿态估计体系结构

增强和恢复

增强和恢复网络是它们自己的独特之处。因为我们真正关心的是高像素/空间精度,所以我们不会对这些进行任何降采样。降采样真的会杀死这些信息,因为它会减少我们空间精度的许多像素。相反,所有的处理都是在完整的图像分辨率下完成的。

我们首先将要增强/恢复的图像以全解析度传递到我们的网络,而不进行任何修正。网络仅仅由一堆卷积和激活函数组成。这些块通常是最初为图像分类而开发的那些块的灵感,有时是直接副本,例如残余块、密集块、挤压激励块等。由于我们希望直接预测图像像素,不需要任何的概率或分数,所以在最后一层上没有激活功能,甚至没有sigmoid或softmax。。

这就是所有这些类型的网络!在图像的全解析度下进行大量的处理,以获得高空间精度,这些使用已经证明与其他任务相同的卷积。

EDSR超分辨率架构

行为识别

动作识别是少数几个需要视频数据才能正常工作的应用之一。要对一个动作进行分类,我们需要知道随着时间的推移场景发生的变化;这导致我们需要视频。所以我们的网络必须训练以学习空间和时间信息。也就是空间和时间的变化。最适合的网络是3D-CNN。

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

直接进行图像的批量传递

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

(1)直接以大批量,如图1所示。由于我们正在传递一组序列帧,因此空间和时间信息都是可用的

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

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

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

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

想要继续查看该篇文章相关链接和参考文献?

长按链接点击打开:

https://ai.yanxishe.com/page/TextTranslation/1358

AI研习社每日更新精彩内容,观看更多精彩内容:

命名实体识别(NER)综述

杰出数据科学家的关键技能是什么?

初学者怎样使用Keras进行迁移学习

如果你想学数据科学,这 7 类资源千万不能错过

等你来译:

深度学习目标检测算法综述

一文教你如何用PyTorch构建 Faster RCNN

高级DQNs:利用深度强化学习玩吃豆人游戏

用于深度强化学习的结构化控制网络 (ICML 论文讲解)

【AI求职百题斩 - 每日一题】

赶紧来看看今天的题目吧!

扫描二维码即可开始答题

图像在计算机中通过什么方式表示_万物皆可“计算机视觉”相关推荐

  1. 图像在计算机中通过什么方式表示_图像处理入门

    要学习机器视觉或计算机视觉,首先要明白什么是数字图像.在这里对数字图像做一个简单的说明,以方便大家了解具体做图像处理是在做什么. 所谓数字图像,顾名思义,就是用数字表示的图像.怎么用数字来表示图像呢? ...

  2. 图像在计算机中通过什么方式表示_机器视觉新突破,神经网络让图像处理速度提升2万倍...

    智东西(公众号:zhidxcom)编 | 云鹏 智东西3月5日消息,据外媒报道,维也纳大学的研究人员研发了一种兼顾神经网络功能的图像传感器,该传感器可以使图像分析速度相较传统方式提升近2万倍. 研究人 ...

  3. 图像在计算机中通过什么方式表示_线性代数在数据科学中的十大强大应用(二)...

    本篇为机器学习与数据科学背后的线性代数知识系列的第二篇,本篇主要介绍自然语言处理(NLP)中的线性代数与计算机视觉(CV)中的线性代数.涵盖主成分分析(PCA)与奇异值分解(SVD)背后的线性代数知识 ...

  4. 负数在计算机中的储存方式

    最近在学习位运算符时,发现负数在做带符号位的右移运算符时,结果与想象中的大不一样,经过查阅资料之后发现,原来这一切源自负数在计算机中的储存方式 负数在计算机中是以补码的形式储存的 注意: 本文为了简化 ...

  5. 计算机ppt中四个图形组合,图形图像在计算机中及表示.ppt

    图形图像在计算机中及表示 位图图像.矢量图形 位图和矢量图放大缩小的效果 实验1:画个圆圈比一比 同学们在"画图"软件以及"word"中分别绘制一个大小相仿的圆 ...

  6. 【计算机图形学】RGB图像在计算机中存储方式的理解——图形学基础

    最近在学习计算机图形学方面的课程,主要是使用opencv来处理图像,这里涉及到了图像存储的方式,方便后续对图像通道分离处理还有滤波的理解. RGB色彩模式也就是红(Red).绿(Green).蓝(Bl ...

  7. 负数在计算机中的存储方式

    一.符号位 符号位为最高位.最高位为 1 时表示负数,为 0 时表示正数. 正数在内存中是以原码的形式储存,负数在内存是以补码的形式存储. 二.负数的计算 计算方式:原码 --> 反码 --&g ...

  8. 数据在计算机中的存储方式

     数据有数值型和非数值型两类,这些数据在计算机中都必须以二进制形式表示.一串二进制数既可表示数量值,也可表示一个字符.汉字或其他.一串二进制数代表的数据不同,含义也不同.这些数据在计算机的存储设备 ...

  9. 正负数在计算机中的存储方式

    1. 原码,反码,补码的基础概念和计算方法 原码,反码,补码只是计算机存储数字的一种方式. 1. 原码 原码就是用第一位表示符号位,其余位表示值,比如8位的二进制数: [+1]原 = 0000 000 ...

最新文章

  1. 回归算法 - 线性回归求解 θ(最大似然估计求解)
  2. Flask 备注一(单元测试,Debugger, Logger)
  3. origin+matlab基础绘图
  4. 日常生活 -- CSDN博客专家
  5. raptor五个数排序流程图_经典算法系列之:选择排序
  6. 三层聚合实验的注意事项
  7. 7-47 打印选课学生名单 (25 分)(两种做法)(思路加详解+map+vector做法+最后一个点超时解决)+兄弟们冲丫丫
  8. 睡眠音频分割及识别问题(十)--Java读取wav文件
  9. Tomcat可以实现Session共享方案
  10. 数据:DeFi总锁定价值突破170亿美元
  11. 机器学习-吴恩达-笔记-15-总结
  12. 安卓拍照上传php服务器,Android拍照上传至PHP服务器并写入MySql数据库(下)
  13. [C#]结构体和字节数组的相互转化
  14. 奔图打印机显示未连接_国货之“彩” |奔图CP2200DW彩色激光打印机首测
  15. 智能优化算法:混合蛙跳算法-附代码
  16. 一个元素调用css3动画 fixed元素会微抖动
  17. android 刷机 3e,华为nova 3e官方出厂固件rom刷机包下载_nova3e完整版升级包
  18. 主机电源供电端口-24PIN
  19. FPGA实验---数码管秒表显示实验
  20. 聚类分析在SPSS、Matlab与R中的实现(转载: Liu Xuhua 机会的数学 )

热门文章

  1. Sg.js框架核心概念
  2. 简单C++线程池包装类源码示例
  3. ATS插件中配置文件自动更新思路
  4. 学习在Unity中创建一个动作RPG游戏
  5. SpringBoot设置Session失效时间
  6. JZOJ #4722 跳楼机 (最短路模型的完美转化)
  7. Javascript之旅——第一站:从变量说起
  8. lua创建文件和文件夹
  9. 快速部署RDA Remote Diagnostic Agent
  10. MySQL的正则表达式