你不得不了解的语义分割发展史

【Python&语义分割】语义分割的原理及常见模型的介绍 语义分割是计算机视觉中的重要任务之一,其目的是将图像中的每个像素分配给特定的类别,从而实现对图像的精细分割。与目标检测不同,语义分割并不需要对物体进行位置和边界框的检测,而是更加注重对图像中每个像素的分类。随着深度学习的兴起,语义分割得到了广泛应用,并在许多领域中取得了显著的成果。本文将详细介绍语义分割的原理、发展历史、特点、常见模型等。 阅读详情
AI摘要

本文详细介绍了语义分割在计算机视觉中的重要性,从分类、定位到分割的任务演变。深入探讨了FCN、SegNet、U-Net、PSPNet、RefineNet等经典模型的工作原理及特点,展示了它们如何解决空间信息丢失的问题,并通过实例展示了各种模型的性能。此外,还提及了DANet等最新进展,强调了上下文信息和自注意力机制在语义分割中的作用。

一些废话:
好久没写综述之类的文章,本文 的发展史是基于去年和前年读的语义分割的论文,在去年的时候写的。毕业之际将自己手头有的资料分享出来。话不多说开始学习!!!

前言:
你不得不了解的人工智能基础知识
你不得不了解的机器学习知识
你不得不了解的深度学习知识(一)
你不得不了解的深度学习知识(二)
你不得不了解的卷积神经网络发展史
你不得不了解的目标检测发展史

在进入本文之前,大家可以看看上面的文章看看是否有你需要了解的知识。

计算机视觉

计算机视觉中的三大类任务:

  • 分类 Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标
  • 定位 Location:解决“在哪里”的问题,即定位出这个目标的位置
  • 检测 Detection:解决“是什么?在哪里”的问题,即定位出这个目标的位置并且知道目标物是什么
  • 分割 Segmentation:分为实例分割和场景分割,解决“每一个像素属于哪个目标物或场景”的问题。

语义分割与实例分割

语义分割

图像语义分割,它是将整个图像分成一个个像素组,然后对其进行标记和分类。特别地,语义分割试图在语义上理解图像中每个像素的角色。

如下图所示:

在这里插入图片描述

这里,除了识别人、道路、汽车、数目等之外,还必须确定每个物体的边界。因此,与分类不同,我们需要用模型对密集的像素进行预测。

实例分割

在这里插入图片描述

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

语义分割发展史

语义分割介绍

在这里插入图片描述

图像语义分割可以说是图像理解的基石性技术,在自动驾驶系统中举足轻重。众所周知,图像是由一个个像素(Pixel)组成的,而语义分割就是将图像中表达语义含义的不同进行分组(Grouping)/分割(Segmentation)。语义图像分割就是将每个像素都标注上其对应的类别。需要注意的是,这里不但单独区分同一类别的不同个体,而是仅仅关系该像素是属于哪个类别。

分割任务对于许多任务都非常有用,比如自动驾驶汽车(为了使自动驾驶汽车能够适应现存道路,其需要具有对周围环境的感知能力);医疗图像判断(可以通过机器辅助放射治疗师的分析,从而加速放射检查)

在这里插入图片描述

语义分割的任务描述

简而言之,我们给定一幅RGB彩色图像或一幅灰度图像,会输出一个分割图谱,其中包括每个像素的类别标注。具体如下图所示:

在这里插入图片描述

与图像分类的做法相似,这里也是创建一个one-hot编码的类别标注–本质上即为每个类别创建一个输出通道。

在这里插入图片描述

之后,预测的结果可以通过对每个像素在深度上求argmax的方式被整合到一张分割图上,从而,我们就可以很轻松的观察看每个目标

在这里插入图片描述

谈到语义分割模型的开端,就要从一个FCN说起。

FCNN(全卷积神经网络)

论文地址:Fully Convolutional Networks for Semantic Segmentation (2015 CVPR)

FCN将特征提取层迁移到了分割任务中,并通过“fine-tuning”防晒霜对这部分参数进行更新。同时,设计了一种新颖的结构能够结合浅层语义和高层语义,从而获得精度更高的分割结果。

在这里插入图片描述

在这里插入图片描述

FCN的特点

  • 卷积化(Convolutional):将分类网络的特征提取层迁移到语义分割结构中

  • 上采样(Upsample):采用基于双线性插值滤波作为初始值的deconvolutions的方式对"低分辨率"的语义特征进行上采样

  • 跳跃结构(Skip Layer):将encoder不同"层面"的特征进行融合(这些不同"层面"的特征具有不同"粗糙程度"的语义信息)

FCN由来

在卷积神经网络发展史中,可以看到CNN在图像分类方面已经取得了巨大的成就,CNN的强大之处在于它能自动学习特征:

  • 较浅的卷积层感知域较小,能够学习到一些局部区域的特征;
  • 较深的卷积层具有较大的感知域,能够学习到更加抽象一些的特征;
    这些抽象特征对物体大小、位置和方向等敏感性更细,从而有助于分类性能的提高,可以很好的判断出一幅图像中包含什么类别的物体。而图像分类是图像级别的。

在这里插入图片描述

与分类不同的是,语义分割需要判断图像中每个像素点的类别,进行精确分割,图像语义分割是像素级别的!但是由于CNN在进行convolution和pooling丢失了图像细节,即feature map size逐渐减少,而这并不能很好地之处物体的具体轮廓,指出每个像素具体属于哪个物体,无法做到精确的分割。

而针对这个问题,2014年Jonathan Long等人提出了全卷积神经网络(Fully Convolutional Networks)用于图像语义分割。自从提出后,FCN已经成为语义分割的基本框架,后续算法其实都是在这个框架中改进而来。

在这里插入图片描述

FCN原理

FCN(Fully Convolutional Networks)全卷积,我们可以从名字中得到该网络并没有全连接层,全部用卷积层来替代了,全卷积的话也是其它领域深度模型的一个趋势。

卷积化(Convolutional)

FCN将传统CNN中的全连接层转化成一个个的卷积层。如下图所示,在传统的CNN结构中,前5层是卷积层,第6层和第7层分别是一个长度为4096的一维向量,第8层是长度为1000的一维向量,分别对应1000个类别的概率。FCN将这3层表示为卷积层,卷积核的大小(通道数,宽,高)分别为(4096,1,1)、(4096,1,1)、(1000,1,1)。所有的层都是卷积层,故称为全卷积网络。

卷积化即将普通的分类网络,比如VGG16,ResNet50/101等网络丢弃全连接层,换上对应的卷积层即可。

在这里插入图片描述

上采样(Upsample)

上采样(upsampling)一般包括两种方式:

  • Resize:如线性插值直接缩放,类似于图像缩放
  • Deconvolution:反卷积

可以发现,经过多次卷积(还有pooling)以后,得到的图像越来越小,分辨率越来越低(粗略的图像),那么FCN是如何得到图像中每一个像素的类别的呢?为了从这个分辨率低的粗略图像恢复到原图的分辨率,FCN使用了上采样。例如经过5次卷积(和pooling)以后,图像的分辨率依次缩小了2,4,8,16,32倍。对于最后一层的输出图像,需要进行32倍的上采样,以得到原图一样的大小。这个上采样是通过反卷积(deconvolution)实现的。

为了得到和原图等大的分割图,我们需要上采样/反卷积。反卷积和卷积类似,都是相乘相加的运算。只不过后者是多对一,前者是一对多。

在这里插入图片描述

跳跃连接(Skip Layer)

在常规的CNN分类结构中,pooling层能够增大感受野的同时降低feature map的“分辨率”。这在分类中起作用的原因主要在于分裂任务中我们只关心图片是否存在某种物体而不关心该物体的具体位置(即位置不敏感),因此pooling层被引入到每个卷积块的后面,能够帮助随后的卷积块从池化层提取更抽象的特征。

但在语义分割任务汇总,pooling或者strided convolutions会导致空间信息的丢失,大部分后续的分割结构都是在decoder上面试图“修复”因为encoder过程下采样所导致的信息损失。在FCN-8s,通过融合encoder阶段不同“层”对应不同“分辨率”的信息(conv3,conv4和fc7)来增强空间和特征信息,从而加强分割效果。

对第5层的输出(32倍放大)反卷积到原图大小,得到的结果还是不够精确,一些细节无法恢复。于是Jonathan将第4层的输出和第3层的输出也依次反卷积,分别需要16倍和8倍上采样,结果就精细一些了。

这个结构作用在于优化结果,因为如果将全卷积之后的结果直接上采样得到的结果是很粗糙的,所以作者将不同池化层的结果进行上采样之后来优化输出。具体结构如下:

在这里插入图片描述

  • 用pool5的输出作为上采样(反卷积)的输入,由于经过了5个池化层,图像被缩小到原始图像的1/32,所以使用上采样将pool5的输出放大32倍,得到一个32倍放大的分割图。
  • 用pool5的输出采用上采样2倍放大,与pool4的输出叠加后,再经过上采样16倍放大,得到一个输出16倍放大的分割图。
  • 将pool5和pool4的叠加和2倍放大后,再叠加pool3的输出,然后进行上采样8倍放大,最后得到一个8倍放大的分割图。

需要说明的是途中nx是指对应的特征图上采样n倍(即变大n倍),并不是指有n个特征图,如32x unsampled中的32x是图像只变大32倍。

FCN结果

在这里插入图片描述

上图就是三种分割方案与真实分割的对比,显然,采用第三种分割方案的分辨率更高。这是由于,仅采用pool5的输出做上采样进行32倍放大,由于pool5输出的每一个元素的感受域更大,导致原始图像中很多细节的特征丢失,所以得到的分割图就相对比较粗糙。而后面的两种方案,分别加进了前面池化层的输出,由于前面池化层的输出数据的每一个元素的感受域相对较小,所以很多原始图像的细节特征得以保留,得到的分割图的分辨率就更高

在这里插入图片描述

感受域主要取决于卷积和池化的kernel和stride的大小。如上动图,在kernel大小为3*3,stride为1时,经过一个卷积层后,每一个像素的感受域即为9。所以在经过更多层卷积和池化后,图片的维度越来越小,每个元素的感受域也就会越来越大。

SegNet

SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

SeNet的主要创新点是在于将decoder上“低分辨率”的特征上采样的方式。decoder“找到”encoder对应的“分辨率”上采样用的pool时对应的下标来进行上采样。这样就省去了上采样的学习过程。获得的上采样maps是稀疏的,然后通过后续的卷积学习来获得稠密的feature maps。

在这里插入图片描述

SegNet的网络结构,其中蓝色代表卷积+Batch Normalization+ReLU,绿色代表max-pooling,红色代表上采样,黄色是Softmax。

SegNet技术点:

  • 提出一种encoder-decoder的分割网络架构
  • 采用unpooling来对decoder上的特征层进行上采样,从而来保持分割中的空间信息。
  • encoder并没有任何全连接层,因此所需的参数量更少(轻量级网络)

SegNet由来

SegNet是基于FCNN架构提出的,上图为SegNet的网络结构图,Encoder交替采用conv+pooling,Decoder交替采用deconv+upsampling,用Softmax做像素分类。在Encoder-Decoder过程中,采用Pooling Indices(pooling时的位置信息)转移Decoder,改善了图像分割率(参考DeconvNet)。

最大池化可以实现在输入图像上进行小的空间位移时保持平移不变性。连续的下采样导致了在输出的特征图上,每一个像素都重叠着着大量的输入图像中的空间信息。对于图像分类任务,多层最大池化和下采样由于平移不变性可以获得较好的鲁棒性,但导致了特征图大小和空间信息的损失。图像分割任务中边界划分至关重要,而这么多有损边界细节的图像表示方法显然不利于分割。因此,在进行下采样之前,在编码器特征映射中获取和存储边界信息是十分重要的。如果推理过程中的内存不受约束,则所有编码器特征映射(在下采样后)都可以存储。在实际应用中,情况通常不是这样,因此我们提出了一种更有效的方法来存储这些信息。它只存储最大池化索引,即存储每个池化窗口中最大特征值的位置,用于每个编码器特征映射。

SegNet原理

编解码器

SegNet是编解码器结构,具体来说,编码器的任务是给定输入图像后,通过神经网络学习得到输入图像的特征图谱;而解码器则在编码器提供特征图谱之后,逐步实现每个每个像素的类别标注,也就是分割。

解码方式

SegNet与FCN的对应结构相比,体量要小很多。这主要得益于SegNet中为了权衡计算量而采取的操作:用记录的池化过程的位置信息替代直接的反卷积操作。具体如下图所示。

在这里插入图片描述

对比SegNet和FCN实现Decoder的过程。SegNet保留pooling时的位置信息,upsampling时直接将数据放在原先的位置,而FCN采用transposed convolutions+双线性插值,每一个像素都是运算后的结果。

在这里插入图片描述

如上图所示:在encoder阶段记录下来max-pooling层对应的下标,之后在decoder阶段进行上采样时,利用记录的下标来帮助进行上采样。虽然这能够帮助保留高频信息,但是在对"低分辨率"的feature maps进行unpooling会缺乏"邻近信息"。

SegNet结果

不同decoder实验分析

为验证不同decoder结构的表现,作者针对SegNet以及FCN网络设计了不同的decoder结构,并进行了详细的实验分析

在这里插入图片描述

其中,解码网络架构如下:

  • Bilinear-Interpolation : 双线性插值上采样。
  • SegNet-Basic: 4*(encodes[conv+bn+relu+maxpooling] + decoders[conv+bn]) ,kenel size: 7*7。
  • SegNet-Basic-SingleChannelDecoder: decoder采用单通道滤波器,可以有效减少参数数量
  • SegNet-Basic-EncoderAddition: 将decoder与encoder对应的特征图相加。
  • FCN-Basic:与SegNet-Basic具有相同的encoders,但是decoders采用FCN的反卷积方式。
  • FCN-Basic-NoAddition:去掉特征图相加的步骤,只学习上采样的卷积核。
  • FCN-Basic-NoDimReduction: 不进行降维。

通过上表分析,可以得到如下分析结果:

  • bilinear interpolation 表现最差,说明了在进行分割时,decoder学习的重要性。
  • SegNet-Basic与FCN-Basic对比,均具有较好的精度,不同点在于SegNet存储空间消耗小FCN-Basic由于feature map进行了降维,所以时间更短。
  • SegNet-Basic与FCN-Basic-NoAddition对比,两者的decoder有很大相似之处,SegNet-Basic的精度更高,一方面是由于SegNet-Basic具有较大的decoder,同时说明了encoder过程中低层次feature map的重要性。
  • FCN-Basic-NoAddition与SegNet-Basic-SingleChannelDecoder:证明了当面临存储消耗,精度和inference时间的妥协的时候,我们可以选择SegNet,当内存和inference时间不受限的时候,模型越大,表现越好。

最终的效果展示图

在这里插入图片描述

U-Net

论文地址:U-Net: Convolutional Networks for Biomedical Image Segmentation 2015 MICCAI

该结构由一条“收缩路径”(主要捕获特征信息)和一条“扩展路径”(主要帮助获取更精准的空间信息)。这种网络结构只需少量的数据进行端到端的学习就能超过之前最好的方法。

在这里插入图片描述

Decoupled deep neural network for semisupervised semantic segmentation

U-Net技术点

  • U-Net简单地将encoder的特征层与进行了上采样的“分辨率”decoder的特征层进行concat操作,从而形成“阶梯结构”。
  • 该结构通过concatenation的连接方式,从而允许不同阶段的decoder层能够弥补encoder因为pooled等操作丢失的信息。(因为这部分信息包含在与之进行concat的encoder对应层)。
  • 支持少量的数据训练模型,速度快。

U-Net由来

U-Net原理

U-Net结果

U-Net在只包含了30幅标注了的医学图像上以及一些其他医学图像数据集上取得了state-of-art的结果。虽然U-Net最初是试验在医学图像上面,但是发现在其他一些领域,例如卫星图像分割上面也取得了非常好的效果。

Fully Convolutional DenseNets

论文地址:The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation

在这篇文章中,作者将DenseNets扩展到语义分割问题上面,提出的方法相比其它网络结构所需的参数更少。

在这里插入图片描述

Fully Convolutional DenseNet采用DenseNet作为encoder的基础架构,并且采用和U-Net类似的concat方法对encoder和decoder的特征进行结合。

PSPNet(2017 CVPR)

论文地址:PSPNet: Pyramid Scene Parsing Network

在这篇文章中,作者主要利用Pyramid pooling module来整合不同区域的context从而获取全局的context,整个结构称之为pyrmid scene parsing network(PSPNet)。作者采用的结构在场景解析任务中取得了非常好的效果,且这种结构对像素级别的预测任务是非常有效的。

在这里插入图片描述

创新点:

  • PSPNet对基础结构ResNet的卷积采用dilated convolution。且在整个encoder部分,特征经过最初的pooling之后一直保持相同的“分辨率”(为原输入图像的1/4),直到进入spatial pooling module
  • 在训练时引入了auxillary loss来帮助ResNet学习(训练技巧)
  • 引入Spatial Pyrmid Pooling模块来整合不同区域的context从而获取更好的全局context。

RefineNet

论文地址: RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation

在这篇文章中,作者提出了RefineNet,将粗糙的高层语义特征和细粒度的低层特征融合。

在这里插入图片描述

RefineNet解决空间信息丢失的手段和PSPNet(采用计算代码更高的dilated convolutions)是非常不同的。作者采用RefineNet blocks不断增大池化后的特征的分辨率,最后产生高分辨率的segmentation map。

该架构的一些特点:

  • multiple resolutions:采用多种不同分辨率对的输入,对提取的特征进行融合,并将其作为下一阶段的输入。
  • Chained Residual Pooling:引入了Chained Residual Pooling,能够从图片大块区域中捕获背景信息。相当于对特征采用不同大小的窗进行池化并采用residual connections将其进行融合。
  • 所有的特征融合均采用sum操作,从而允许端到端的训练
  • 采用原始的ResNet而不是dilated convolutions。

数据集

| Dataset | Training | Testing | #Classes|
|------------------------------------ |--------------------- | | |
| CamVid| 468| 233 | 11 |
| PascalVOC2012 | 9963 | 1447 | 20 |
| NYUDv2 | 795 |645 |40 |
| Cityscapes | 2975 |500 |19 |
| Sun-RGBD | 10355 |2860 |37 |
| MS COCO ‘15 | 80000 |40000 |80 |
| ADE20K | 20210 |2000 |150 |

DANet

Dual Attention Network for Scene Segmentation (CVPR2019)

本文通过自注意力机制(self-attention)来捕获丰富的上下文依赖(rich contextual dependencies)。提出了DANet来自适应地整合局部特征与其全局依赖关系(global dependencies)。具体来说,通过引入空间(spatial)维度和通道(channel)维度的两种attention模块来建模语义依赖关系。Spatial attention module将所有位置的特征的加权和来选择性地聚合每个位置的特征。Channel attention module通过整合所有channel maps来选择性地强调某些相互依赖的channel maps。最后通过融合两个attention module的feature来提升语义分割的特征表达。

在这里插入图片描述

总结

基于FCN的分割

  • FCN:首先将FCN用到语义分割–利用deconvolution作为上采样,以及结合skip connection来“修正”空间信息。
  • SegNet:采样unpooling的方式进行上采样
  • U-Net:“阶梯结构”,且采样concat操作
  • Fully Convolutional DenseNets:将U-Net里面的基础架构改为DenseNet的Block
  • E-Net和Link Net:主要为了消减参数
  • PSPNet:引入Pyramid pooling module:整合不同区域的context从而获取全局的context
  • RefineNet:通过RefineNet结构将粗糙的高层语义特征和细粒度的低层特征进行融合
使用PyTorch进行语义分割 本篇文章使用进行pytorch进行语义分割的实验。 1.什么是语义分割? 语义分割是一项图像分析任务,我们将图像中的每个像素分类为对应的类。 这类似于我们人类在默认情况下一直在做的事情。每当我们看到某些画面时,我们都会尝试“分割”图像的哪一部分属于哪个类/标签/类别。 从本质上讲,语义分割是我们可以在计算机中实现这一点的技术。 您可以在我们关于图像分割的帖子中阅读更多关于分割的内容。 这篇文章... 阅读详情

相关推荐

语义分割常用数据集整理

语义分割的数据集分为三类:2D图片,2.5D图片(RGB-D),3D图片。每一个类别的数据集都提供了像素级的标签,可以用来评估模型性能。同时其中一部分工作用到了数据增强来增加标签样本的数量。 一、2D数据 1.PASCAL Visual Object Classes(VOC) VOC数据集是计算机视觉主流数据集之一,可以作分类,分割,目标检测,动作检测和人物定位五类任务数据集,其中包含21个类及其标签:车辆,房屋,动物、飞机、自行车、船、公交车、小汽车、摩托车、火车、瓶子、椅子、餐桌、盆栽植物、沙发、

lipengfei0427的博客 2万+

语义分割:从早期探索到深度学习的突破

2012年的AlexNet的成功带来了深度学习的热潮,紧随其后的,包括但不限于FCN(全卷积网络)和U-Net,为解决更加复杂的图像语义分割问题提供了新思路。DeepLab系列、SegNet以及更多端到端的语义分割框架,通过融合深层的语义信息和浅层的细节信息,不仅在性能上取得了突破,也极大简化了训练流程,并且提高了模型的灵活性。Mask R-CNN[9]是在Faster R-CNN的基础上进一步发展的,它不仅可以进行目标检测,还能输出高质量的分割掩码,实现了检测与分割的多任务学习。

是我的博客 2896

深入了解AI人工智能语义分割算法

本文旨在帮助读者建立语义分割技术的完整知识体系,涵盖基础概念、算法原理、数学模型、实战应用全流程,适用于希望掌握计算机视觉核心技术的开发者和研究者。语义分割:给图像每个像素分配类别标签的技术(如:把照片中的天空标蓝,草地标绿)实例分割:在语义分割基础上区分不同物体个体(如:区分画面中的多只小猫)编码器-解码器:深度学习网络的标准结构,前者提取特征,后者恢复分辨率核心概念回顾语义分割本质是像素级分类任务U-Net的编码器-解码器结构实现多尺度特征融合跳跃连接有效解决细节丢失问题思考题。

AI 领航者的博客 925

零基础入门语义分割-Task3 语义分割模型发展

零基础入门语义分割-Task3 语义分割模型发展3 语义分割模型发展3.1 学习目标3.2 FCN3.3 SegNet3.4 Unet3.5 DeepLab3.6 RefineNet3.7 PSPNet3.8 基于全卷积的GAN语义分割模型 本章主要讲解的是语义分割网络模型的发展:FCN 、SegNet、Unet、DeepLab、RefineNet、PSPNet、GAN语义分割。 3 语义分割模型发展 语义分割(全像素语义分割)作为经典的计算机视觉任务(图像分类,物体识别检测,语义分割)。其结合了图像分类、

qq_43684686的博客 652

使用PSPNet对街景图像进行语义分割

回来填坑了~~ 本文算是之前街景图像获取的后续,城市研究中使用街景图像来进行物体识别与语义分割可以说是最常见的应用,当然现在这个方面可以说是很成熟了,作为非人工智能算法研究领域的使用者完全没有必要造轮子。之前我自己处理数据也是使用的姚尧博士分享的封装好的FCN模型(在没有特殊的科研需要的情况下完全够用)。 不过最近看李小江博士的分享说是采用的PSPNet进行的语义分割,于是借此机会做了些尝试,并且配合之前的街景图像获取的流程进行了完善。对于这个方法而言,预训练的模型完全是现成的,相对的优势可能在于支持GPU

boycetoon29的博客 5380

语义分割(Semantic Segmentation)近年发展综述

目标:为图像中每个像素分配一个语义类别标签(如“道路”、“行人”、“天空”),不区分同类实例。关键挑战精确边界恢复(高空间分辨率)全局上下文理解(大感受野)计算效率与精度平衡小样本/弱监督泛化语义分割的十年演进,是一条从专用→通用、封闭→开放、慢速→实时、像素→语义2015:FCN/U-Net 奠基;2018:DeepLabv3+/PSPNet 实现高精度;2020:HRNet+OCR 登顶竞赛;2021:SegFormer 开启 Transformer 新纪元;2023+

浩瀚之水的专栏 978

视频语义分割-了解

转自:https://www.jianshu.com/p/1568e0d51912?utm_source=oschina-app 相比于图像语义分割,视频语义分割具有高帧数(15-30帧/s),前后帧之间高相关性的特点。并且在自动驾驶任务中,对RGB摄像头传入的视频帧信号处理具有很高的实时性要求,因此针对视频语义分割任务来讲,需要在图像语义分割的任务上做进一步的工作。 如何有效利用视频帧之间...

这些个事儿 6505

十八、深度学习模型30年演化史

深度学习模型层出不穷,如果不理清其源头和出处,则会陷入杂乱的地步。网上各种介绍文章都是抄来抄去,越看越无头绪。我花了几天时间,把常见的几十种模型按其前后发展脉络,历史渊源分类整理了一遍,对于深度学习来说,掌握这些模型的出处和特户口卡,之所以出现的原因,是至关重要的。

1522

了解语义分割

下图展示了图像分类、语义分割、目标检测、实例分割四种任务(图片来 自【1】):上图展示了四种任务的研究目标,具体如下:图像分类:判别图中物体是什么,比如是猫还是狗;语义分割:对图像进行像素级分类,预测每个像素属于的类别,不区分 个体;目标检测:寻找图像中的物体并进行定位;实例分割:定位图中每个物体,并进行像素级标注,区分不同个体;

lbr15660656263的博客 1053

CentOS8静默安装Oracle11.2.0.1

背景 新安装oracle,用静默安装方式就不需要安装图形界面了,省时省力。 前期准备工作与图形化安装一样,如创建用户|用户组、环境变量、内核参数、创建目录等. 可参考图形化安装,链接:https://blog.youkuaiyun.com/heroicpoem/article/details/104229369 环境 平台 版本 操作系统 centOS 8 Oracle 11gR2 1.响应文件 响应文件的内容就是图形化安装时手工设置的选项内容。 解压后,database/response/db

heroicpoem的专栏 4520

量子计算入门指南:密度算符的核心概念与应用解析

本文深入解析了量子计算中密度算符的核心概念与应用。作为描述量子系统“状态的状态”的关键数学工具,密度算符能有效处理混合态与子系统描述,是理解量子噪声、量子纠错和开放系统演化的基石。文章通过对比纯态与混合态,阐释了密度矩阵的数学定义与物理意义,并结合代码示例演示了其在实际量子计算问题中的强大威力。

day7的博客 471

一文了解语义分割网络!

本文我将讨论如何使用卷积神经网络来完成语义分割任务。语义分割是一个计算机视觉任务,在这项任务中我们根据显示的内容来标记图像的特定区域。 更具体的说,语义分割的目的是用所表示的内容的类别来为图像中每个图像打标签。因为我们是对图像中每个像素打标签,这类任务通常被称为密集预测。 **需要注意的一点是,我们并不会分离同一个类别的不同实例,我们仅仅关注每个像素的类别。**换句话说,如果在图像中有两个相同类别的对象,分割图不会将它们区分为单独的对象。不同于语义分割,实例分割可以做到区分同一类别的不同对象。 分割模型可

CV前沿 1663

小案例:利用图床自动化批量上传图片并获取图片链接

用python爬虫写了一个小脚本,用来自动上传图片到图床,然后返回链接,我们只需直接复制链接就可以。(需要安装Requests库) 因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接地址.txt”的文件,里面就是图片链接啦! 四、图片链接地址.txt(单张图片):...

采菊东篱下,Python满乾坤! 4415

语义分割评价指标

目标检测与语义分割评价指标1. 前言1.1 图像分割主要的两个方向1.2 IOU标准介绍2. 相关术语2.1 早些年2.1.1 IOU/IU2.1.2 mIoU2.1.3 AP2.1.4 AR2.1.5 Pixel Accuracy2.1.5.1 Precision2.1.5.2 Recall2.1.5.3 FP2.1.5.4 FN2.1.5.5 TP2.1.5.6 TN2.1.6 Pixel ...

YQ8023family的博客 1万+

海波龙(Oracle Hyperion)单点登陆问题记录

Oracle海波龙套件已经多年未更新,按Oracle官方文档实施单点登陆启用之后,SmartView工具通过专用链接方式无法登陆系统。 在抓包逆向分析之后 定位到HspSmartViewServlet类在执行以下代码时获得的ssotoken无效导致,在某大厂工作的时候曾通过在filter中截获请求的方式植入Attribute,保留账号密码并在单点程序中处理实现登陆。 但在完美世界的环境中...

cainiaoEzu的专栏 1973

ESP32-S3开发板实战:5分钟搞定智能门铃的音视频通话功能(附源码)

本文详细介绍了如何利用乐鑫ESP32-S3开发板快速实现智能门铃的实时音视频通话功能。通过ESP-ADF框架和RTC服务,开发者可在五分钟内完成环境搭建与核心功能调试,并附有源码和关键配置详解,为嵌入式音视频应用开发提供了高效实践路径。

web99的专栏 528

一文了解什么是语义分割及常用的语义分割方法有哪些

https://www.jiqizhixin.com/articles/2018-06-04-17 语义分割是计算机视觉中的基础任务,我们通常会使用基于 CNN 加 CRF 的方法或直接使用对抗性的训练实现端到端的分割。本文简要介绍了这两种方法及它们的特点。人类是如何描述场景的?我们可能会说「窗户下有一张桌子」,或者「沙发右边有一盏灯」。图像理解的关键在于将一个整体场景分解成几个单独的实体,这也...

ZHAO 1422

OpenClaw(Clawdbot/Moltbot)如何正确的配置浏览器,实现对浏览器的自动化操作功能(浏览器状态为running:false怎么办)

OpenClaw(Clawdbot/Moltbot)浏览器自动化功能无效?🤖 本文详细介绍如何解决这个问题🔧,让你的OpenClaw(Clawdbot/Moltbot)真正具备"睁眼看世界"的能力,支持网页搜索、点击操作和截图等功能 ✅

XiaoqiangClub的博客 8114

一文了解语义分割网络(完结篇)

上文(一文了解语义分割网络)首先介绍语义分割的问题背景,从构造一个简单的网络结构开始,讲述了直接堆叠一些卷积层不可行的原因,最后引出了全卷积网络和编码器-解码器结构。 本文接着上文继续… 添加跳跃连接 上文最后一段提到,FCN论文作者对语义分割的一段评价: 语义分割面临着语义和位置之间的内在张力:全局信息解决**“是什么”,而局部信息解决“在哪里”**。…将细致层和粗糙层结合起来,可以让模型做出符合整体结构的局部预测。 那么如何解决这种内在张力? 作者通过对编码的特征图向上采样,得到一个特征图;从较早的

CV前沿 2623

27930-2015+充电协议解析

对2015+充电与2015充电进行硬件电路对比、通信协议对比和2015+通信协议解析。

manjixingkong1234的专栏 240

YOLO26 魔术师专栏|全网独家首发!2026 原创级创新赋能 CV 全场景

基于 YOLO26 核心架构迭代,融合原创自研、2026 AAAI/CVPR/ICCV 顶会前沿成果,打造更高效、更灵活、更具创新性的计算机视觉解决方案!

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 4380

你了解如何用GAN做语义分割吗

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达前 言 本文主要推荐一篇使用GAN来做语义分割的论文。论文名称: SemanticSegmen...

小白学视觉 4414

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【语义分割】【Tensorflow2】语义分割实战1---斑马线识别

every blog every motto: You will never know unless you try 0. 前言 本文旨在讲解有关语义分割的基础内容,并进行实战。 1. 正文 1.1 前提梗概 1.1.1 引言 不要强求不可知,要从已知推未知 为了更好的了解语义分割,会先简单回顾一下作为深度学习“Hello World ”的mnist / fashion-mnist 1.1.2 mnist / fashion_mnsit mnist是一个手写数字识别的数据集,一张图像上只有一个数字,如下图所

胡侃有料的博客 9172

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

语义分割综述---一文了解语义分割

语义分割 语义分割方法在处理图像时,具体到像素级别,也就是说,该方法会将图像中每个像素分配到某个对象类别。相关模型要具有像素级的密集预测能力。目前用于语义分割研究的两个最重要数据集是VOC2012和MSCOCO。 除了全连接层结构,在分割问题中很难使用CNN网络的另一个问题是存在池化层。池化层不仅能增大上层卷积核的感受野,而且能聚合背景同时丢弃部分位置信息。然而,语义分割方法需对类别图谱进行精确调...

chenbo的博客 1574

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

CVPR 2020 论文大盘点-语义分割篇

图像分割应用广泛,在CVPR 2020 论文中所占比例很高,可说是一大热门,有110多篇相关论文,本文盘点CVPR 2020 所有语义分割(Semantic Segmentation)相...

OpenCV中文网 3535

语义分割入门

语义分割是什么? 语义分割是将标签或类别与图片的每个像素关联的一种深度学习算法。它用来识别构成可区分类别的像素集合。例如,自动驾驶汽车需要识别车辆、行人、交通信号、人行道和其他道路特征。 语义分割可用于多种应用场合,比如自动驾驶、医学成像和工业检测。 image 语义分割概述 语义分割的一个简单例子是将图像划分成两类。例如,在图 1 中,一幅图像显示一个人在海边,与之相配的版本显示分割为...

yanqianglifei的专栏 3499
上一篇: 【语义分割专题】语义分割相关工作--Attemtion U-Net
下一篇: 知识图谱实战例子
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值