2018-09-27 22:25:03 weixin_41028208 阅读数 475
  • DeepLabv3+图像语义分割实战:训练自己的数据集

    DeepLabv3+是一种非常先进的基于深度学习的图像语义分割方法,可对物体进行像素级分割。 本课程将手把手地教大家使用labelme图像标注工具制作数据集,并使用DeepLabv3+训练自己的数据集,从而能开展自己的图像语义分割应用。 本课程有两个项目实践: (1) CamVid语义分割 :对CamVid数据集进行语义分割 (2) RoadScene语义分割:对汽车行驶场景中的路坑、车、车道线进行物体标注和语义分割 本课程使用TensorFlow版本的DeepLabv3+,在Ubuntu系统上做项目演示。 包括:安装deeplab、数据集标注、数据集格式转换、修改程序文件、训练自己的数据集、测试训练出的网络模型以及性能评估。 本课程提供项目的数据集和Python程序文件。 下图是使用DeepLabv3+训练自己的数据集RoadScene进行图像语义分割的测试结果:

    511 人正在学习 去看看 白勇

FCN 全卷积网络

Fully Convolutional Networks for Semantic Segmentation
今天实验室停电,无聊把原来的一个分享PPT发上来

语义分割

语义分割是计算机视觉中的基本任务,也是计算机视觉的热点,在语义分割中我们需要将视觉输入分为不同的语义可解释类别,「语义Semantic Segmentation的可解释性」即分类类别在真实世界中是有意义的。

例如,我们可能需要区分图像中属于汽车的所有像素,并把这些像素涂成蓝色。与图像分类,语义分割使我们对图像有更加细致的了解。说白了,就是将图片上所有的像素点进行分类。

image

image

CNN与FCN

CNN这几年一直在驱动着图像识别领域的进步。无论是整张图片的分类,还是物体检测,关键点检测等都在CNN的帮助下得到了非常大的发展。

cnn

但是图像语义分割不同于以上任务,前面说了,需要预测一幅图像中所有像素点的类别,这是个空间密集型的预测任务。

传统用CNN进行语义分割的方法是“将像素周围一个小区域作为CNN输入,做训练和预测。这样做

  • 存储开销大
  • 计算效率低下,过多的重复计算
  • 如何来确定区域大小,这也限制了感知区域的大小

而FCN能够对图像进行像素级的分类,与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测, 同时保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素分类,从而解决语义分割问题。

FCN

FCN的几大关键技术

卷积化

经典的CNN分类所使用的网络通常会在最后连接全连接层,它会将原来二维的矩阵压缩成一维的,从而丢失了空间信息,最后训练输出一个向量,这就是我们的分类标签。

而图像语义分割的输出则需要是个分割图,且不论尺寸大小,但是至少是二维的。所以,我们丢弃全连接层,换上卷积层,而这就是所谓的卷积化了。

convolutionalization

上采样 Upsampling

上采样也就是对应于上图中最后生成heatmap的过程。
上面采用的网络经过5次卷积+池化后,图像尺寸依次缩小了 2、4、8、16、32倍,对最后一层做32倍上采样,就可以得到与原图一样的大小,现在我们需要将卷积层输出的图片大小还原成原始图片大小,在FCN中就设计了一种方式,叫做上采样,具体实现就是反卷积。

upsampling

上采样图示

  • 卷积
    在这里插入图片描述
  • 反卷积
    在这里插入图片描述

在文章中,作者发现直接做32倍反卷积,结果不精确,所以设计了一种方式来解决这个问题。

FCN结构设计

在这里插入图片描述

现在文章有1/32尺寸的heatMap,1/16尺寸的featureMap和1/8尺寸的featureMap,1/32尺寸的heatMap进行upsampling操作之后,因为这样的操作还原的图片仅仅是conv5中的卷积核中的特征,限于精度问题不能够很好地还原图像当中的特征,因此在这里向前迭代。把conv4中的卷积核对上一次upsampling之后的图进行反卷积补充细节(相当于一个差值过程),最后把conv3中的卷积核对刚才upsampling之后的图像进行再次反卷积补充细节,最后就完成了整个图像的还原。

效果

几个指标

  • pixel accuracy
  • mean accuracy
  • mean IU: IU(region intersection over union)
  • frequency weighted IU

在这里插入图片描述

在这里插入图片描述

2019-04-27 14:15:59 weixin_38498050 阅读数 104
  • DeepLabv3+图像语义分割实战:训练自己的数据集

    DeepLabv3+是一种非常先进的基于深度学习的图像语义分割方法,可对物体进行像素级分割。 本课程将手把手地教大家使用labelme图像标注工具制作数据集,并使用DeepLabv3+训练自己的数据集,从而能开展自己的图像语义分割应用。 本课程有两个项目实践: (1) CamVid语义分割 :对CamVid数据集进行语义分割 (2) RoadScene语义分割:对汽车行驶场景中的路坑、车、车道线进行物体标注和语义分割 本课程使用TensorFlow版本的DeepLabv3+,在Ubuntu系统上做项目演示。 包括:安装deeplab、数据集标注、数据集格式转换、修改程序文件、训练自己的数据集、测试训练出的网络模型以及性能评估。 本课程提供项目的数据集和Python程序文件。 下图是使用DeepLabv3+训练自己的数据集RoadScene进行图像语义分割的测试结果:

    511 人正在学习 去看看 白勇

语义分割深度学习方法集锦

Papers

Deep Joint Task Learning for Generic Object Extraction

Highly Efficient Forward and Backward Propagation of Convolutional Neural Networks for Pixelwise Classification

Segmentation from Natural Language Expressions

Semantic Object Parsing with Graph LSTM

Fine Hand Segmentation using Convolutional Neural Networks

Feedback Neural Network for Weakly Supervised Geo-Semantic Segmentation

FusionNet: A deep fully residual convolutional neural network for image segmentation in connectomics

A deep learning model integrating FCNNs and CRFs for brain tumor segmentation

Texture segmentation with Fully Convolutional Networks

Fast LIDAR-based Road Detection Using Convolutional Neural Networks

https://arxiv.org/abs/1703.03613

Deep Value Networks Learn to Evaluate and Iteratively Refine Structured Outputs

Annotating Object Instances with a Polygon-RNN

Semantic Segmentation via Structured Patch Prediction, Context CRF and Guidance CRF

Nighttime sky/cloud image segmentation

Distantly Supervised Road Segmentation

Superpixel clustering with deep features for unsupervised road segmentation

Learning to Segment Human by Watching YouTube

W-Net: A Deep Model for Fully Unsupervised Image Segmentation

https://arxiv.org/abs/1711.08506

End-to-end detection-segmentation network with ROI convolution

U-Net

U-Net: Convolutional Networks for Biomedical Image Segmentation

DeepUNet: A Deep Fully Convolutional Network for Pixel-level Sea-Land Segmentation

https://arxiv.org/abs/1709.00201

TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation

Foreground Object Segmentation

Pixel Objectness

A Deep Convolutional Neural Network for Background Subtraction

Semantic Segmentation

Fully Convolutional Networks for Semantic Segmentation

From Image-level to Pixel-level Labeling with Convolutional Networks

Feedforward semantic segmentation with zoom-out features

DeepLab

Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

Weakly- and Semi-Supervised Learning of a DCNN for Semantic Image Segmentation

DeepLab v2

DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

DeepLabv2 (ResNet-101)

http://liangchiehchen.com/projects/DeepLabv2_resnet.html

DeepLab v3

Rethinking Atrous Convolution for Semantic Image Segmentation

CRF-RNN

Conditional Random Fields as Recurrent Neural Networks

BoxSup

BoxSup: Exploiting Bounding Boxes to Supervise Convolutional Networks for Semantic Segmentation

Efficient piecewise training of deep structured models for semantic segmentation

DeconvNet

Learning Deconvolution Network for Semantic Segmentation

SegNet

SegNet: A Deep Convolutional Encoder-Decoder Architecture for Robust Semantic Pixel-Wise Labelling

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

SegNet: Pixel-Wise Semantic Labelling Using a Deep Networks

Getting Started with SegNet

ParseNet

ParseNet: Looking Wider to See Better

DecoupledNet

Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation

Semantic Image Segmentation via Deep Parsing Network

Multi-Scale Context Aggregation by Dilated Convolutions

Instance-aware Semantic Segmentation via Multi-task Network Cascades

Object Segmentation on SpaceNet via Multi-task Network Cascades (MNC)

Learning Transferrable Knowledge for Semantic Segmentation with Deep Convolutional Neural Network

Combining the Best of Convolutional Layers and Recurrent Layers: A Hybrid Network for Semantic Segmentation

Seed, Expand and Constrain: Three Principles for Weakly-Supervised Image Segmentation

ScribbleSup

ScribbleSup: Scribble-Supervised Convolutional Networks for Semantic Segmentation

Laplacian Reconstruction and Refinement for Semantic Segmentation

Laplacian Pyramid Reconstruction and Refinement for Semantic Segmentation

Natural Scene Image Segmentation Based on Multi-Layer Feature Extraction

Convolutional Random Walk Networks for Semantic Image Segmentation

ENet

ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation

Fully Convolutional Networks for Dense Semantic Labelling of High-Resolution Aerial Imagery

Deep Learning Markov Random Field for Semantic Segmentation

Region-based semantic segmentation with end-to-end training

Built-in Foreground/Background Prior for Weakly-Supervised Semantic Segmentation

PixelNet

PixelNet: Towards a General Pixel-level Architecture

Exploiting Depth from Single Monocular Images for Object Detection and Semantic Segmentation

  • intro: IEEE T. Image Processing
  • intro: propose an RGB-D semantic segmentation method which applies a multi-task training scheme: semantic label prediction and depth value regression
  • arxiv: https://arxiv.org/abs/1610.01706

PixelNet: Representation of the pixels, by the pixels, and for the pixels

Semantic Segmentation of Earth Observation Data Using Multimodal and Multi-scale Deep Networks

Deep Structured Features for Semantic Segmentation

CNN-aware Binary Map for General Semantic Segmentation

Efficient Convolutional Neural Network with Binary Quantization Layer

Mixed context networks for semantic segmentation

High-Resolution Semantic Labeling with Convolutional Neural Networks

Gated Feedback Refinement Network for Dense Image Labeling

RefineNet

RefineNet: Multi-Path Refinement Networks with Identity Mappings for High-Resolution Semantic Segmentation

RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation

Full-Resolution Residual Networks for Semantic Segmentation in Street Scenes

Semantic Segmentation using Adversarial Networks

Improving Fully Convolution Network for Semantic Segmentation

The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation

Training Bit Fully Convolutional Network for Fast Semantic Segmentation

Classification With an Edge: Improving Semantic Image Segmentation with Boundary Detection

  • intro: “an end-to-end trainable deep convolutional neural network (DCNN) for semantic segmentation
    with built-in awareness of semantically meaningful boundaries. “
  • arxiv: https://arxiv.org/abs/1612.01337

Diverse Sampling for Self-Supervised Learning of Semantic Segmentation

Mining Pixels: Weakly Supervised Semantic Segmentation Using Image Labels

FCNs in the Wild: Pixel-level Adversarial and Constraint-based Adaptation

Understanding Convolution for Semantic Segmentation

Label Refinement Network for Coarse-to-Fine Semantic Segmentation

https://www.arxiv.org/abs/1703.00551

Predicting Deeper into the Future of Semantic Segmentation

Guided Perturbations: Self Corrective Behavior in Convolutional Neural Networks

Not All Pixels Are Equal: Difficulty-aware Semantic Segmentation via Deep Layer Cascade

Large Kernel Matters – Improve Semantic Segmentation by Global Convolutional Network

https://arxiv.org/abs/1703.02719

Loss Max-Pooling for Semantic Image Segmentation

Reformulating Level Sets as Deep Recurrent Neural Network Approach to Semantic Segmentation

https://arxiv.org/abs/1704.03593

A Review on Deep Learning Techniques Applied to Semantic Segmentation

https://arxiv.org/abs/1704.06857

Joint Semantic and Motion Segmentation for dynamic scenes using Deep Convolutional Networks

ICNet

ICNet for Real-Time Semantic Segmentation on High-Resolution Images

LinkNet

Feature Forwarding: Exploiting Encoder Representations for Efficient Semantic Segmentation

LinkNet: Exploiting Encoder Representations for Efficient Semantic Segmentation

Pixel Deconvolutional Networks

Incorporating Network Built-in Priors in Weakly-supervised Semantic Segmentation

Deep Semantic Segmentation for Automated Driving: Taxonomy, Roadmap and Challenges

Semantic Segmentation with Reverse Attention

Stacked Deconvolutional Network for Semantic Segmentation

https://arxiv.org/abs/1708.04943

Learning Dilation Factors for Semantic Segmentation of Street Scenes

A Self-aware Sampling Scheme to Efficiently Train Fully Convolutional Networks for Semantic Segmentation

https://arxiv.org/abs/1709.02764

One-Shot Learning for Semantic Segmentation

An Adaptive Sampling Scheme to Efficiently Train Fully Convolutional Networks for Semantic Segmentation

https://arxiv.org/abs/1709.02764

Semantic Segmentation from Limited Training Data

https://arxiv.org/abs/1709.07665

Unsupervised Domain Adaptation for Semantic Segmentation with GANs

https://arxiv.org/abs/1711.06969

Neuron-level Selective Context Aggregation for Scene Segmentation

https://arxiv.org/abs/1711.08278

Road Extraction by Deep Residual U-Net

https://arxiv.org/abs/1711.10684

Mix-and-Match Tuning for Self-Supervised Semantic Segmentation

Error Correction for Dense Semantic Image Labeling

https://arxiv.org/abs/1712.03812

Semantic Segmentation via Highly Fused Convolutional Network with Multiple Soft Cost Functions

https://arxiv.org/abs/1801.01317

Instance Segmentation

Simultaneous Detection and Segmentation

Convolutional Feature Masking for Joint Object and Stuff Segmentation

Proposal-free Network for Instance-level Object Segmentation

Hypercolumns for object segmentation and fine-grained localization

SDS using hypercolumns

Learning to decompose for object detection and instance segmentation

Recurrent Instance Segmentation

Instance-sensitive Fully Convolutional Networks

Amodal Instance Segmentation

Bridging Category-level and Instance-level Semantic Image Segmentation

Bottom-up Instance Segmentation using Deep Higher-Order CRFs

DeepCut: Object Segmentation from Bounding Box Annotations using Convolutional Neural Networks

End-to-End Instance Segmentation and Counting with Recurrent Attention

TA-FCN / FCIS

Translation-aware Fully Convolutional Instance Segmentation

Fully Convolutional Instance-aware Semantic Segmentation

InstanceCut: from Edges to Instances with MultiCut

Deep Watershed Transform for Instance Segmentation

Object Detection Free Instance Segmentation With Labeling Transformations

Shape-aware Instance Segmentation

Interpretable Structure-Evolving LSTM

  • intro: CMU & Sun Yat-sen University & National University of Singapore & Adobe Research
  • intro: CVPR 2017 spotlight paper
  • arxiv: https://arxiv.org/abs/1703.03055

Mask R-CNN

Semantic Instance Segmentation via Deep Metric Learning

https://arxiv.org/abs/1703.10277

Pose2Instance: Harnessing Keypoints for Person Instance Segmentation

https://arxiv.org/abs/1704.01152

Pixelwise Instance Segmentation with a Dynamically Instantiated Network

Instance-Level Salient Object Segmentation

Semantic Instance Segmentation with a Discriminative Loss Function

SceneCut: Joint Geometric and Object Segmentation for Indoor Scenes

https://arxiv.org/abs/1709.07158

S4 Net: Single Stage Salient-Instance Segmentation

Deep Extreme Cut: From Extreme Points to Object Segmentation

https://arxiv.org/abs/1711.09081

Learning to Segment Every Thing

Recurrent Neural Networks for Semantic Instance Segmentation

MaskLab

MaskLab: Instance Segmentation by Refining Object Detection with Semantic and Direction Features

https://arxiv.org/abs/1712.04837

Recurrent Pixel Embedding for Instance Grouping

Specific Segmentation

A CNN Cascade for Landmark Guided Semantic Part Segmentation

End-to-end semantic face segmentation with conditional random fields as convolutional, recurrent and adversarial networks

Face Parsing via Recurrent Propagation

Face Parsing via a Fully-Convolutional Continuous CRF Neural Network

https://arxiv.org/abs/1708.03736

Boundary-sensitive Network for Portrait Segmentation

https://arxiv.org/abs/1712.08675

Segment Proposal

Learning to Segment Object Candidates

Learning to Refine Object Segments

FastMask: Segment Object Multi-scale Candidates in One Shot

Scene Labeling / Scene Parsing

Indoor Semantic Segmentation using depth information

Recurrent Convolutional Neural Networks for Scene Parsing

Learning hierarchical features for scene labeling

Multi-modal unsupervised feature learning for rgb-d scene labeling

Scene Labeling with LSTM Recurrent Neural Networks

Attend, Infer, Repeat: Fast Scene Understanding with Generative Models

“Semantic Segmentation for Scene Understanding: Algorithms and Implementations” tutorial

Semantic Understanding of Scenes through the ADE20K Dataset

Learning Deep Representations for Scene Labeling with Guided Supervision

Learning Deep Representations for Scene Labeling with Semantic Context Guided Supervision

Spatial As Deep: Spatial CNN for Traffic Scene Understanding

MPF-RNN

Multi-Path Feedback Recurrent Neural Network for Scene Parsing

Scene Labeling using Recurrent Neural Networks with Explicit Long Range Contextual Dependency

PSPNet

Pyramid Scene Parsing Network

Open Vocabulary Scene Parsing

https://arxiv.org/abs/1703.08769

Deep Contextual Recurrent Residual Networks for Scene Labeling

https://arxiv.org/abs/1704.03594

Fast Scene Understanding for Autonomous Driving

  • intro: Published at “Deep Learning for Vehicle Perception”, workshop at the IEEE Symposium on Intelligent Vehicles 2017
  • arxiv: https://arxiv.org/abs/1708.02550

FoveaNet: Perspective-aware Urban Scene Parsing

https://arxiv.org/abs/1708.02421

BlitzNet: A Real-Time Deep Network for Scene Understanding

Semantic Foggy Scene Understanding with Synthetic Data

https://arxiv.org/abs/1708.07819

Restricted Deformable Convolution based Road Scene Semantic Segmentation Using Surround View Cameras

https://arxiv.org/abs/1801.00708

Benchmarks

MIT Scene Parsing Benchmark

Semantic Understanding of Urban Street Scenes: Benchmark Suite

https://www.cityscapes-dataset.com/benchmarks/

Challenges

Large-scale Scene Understanding Challenge

Places2 Challenge

http://places2.csail.mit.edu/challenge.html

Human Parsing

Human Parsing with Contextualized Convolutional Neural Network

Look into Person: Self-supervised Structure-sensitive Learning and A New Benchmark for Human Parsing

Cross-domain Human Parsing via Adversarial Feature and Label Adaptation

Video Object Segmentation

Fast object segmentation in unconstrained video

Recurrent Fully Convolutional Networks for Video Segmentation

Object Detection, Tracking, and Motion Segmentation for Object-level Video Segmentation

Clockwork Convnets for Video Semantic Segmentation

STFCN: Spatio-Temporal FCN for Semantic Video Segmentation

One-Shot Video Object Segmentation

Video Object Segmentation Without Temporal Information

https://arxiv.org/abs/1709.06031

Convolutional Gated Recurrent Networks for Video Segmentation

Learning Video Object Segmentation from Static Images

Semantic Video Segmentation by Gated Recurrent Flow Propagation

FusionSeg: Learning to combine motion and appearance for fully automatic segmention of generic objects in videos

Unsupervised learning from video to detect foreground objects in single images

https://arxiv.org/abs/1703.10901

Semantically-Guided Video Object Segmentation

https://arxiv.org/abs/1704.01926

Learning Video Object Segmentation with Visual Memory

https://arxiv.org/abs/1704.05737

Flow-free Video Object Segmentation

https://arxiv.org/abs/1706.09544

Online Adaptation of Convolutional Neural Networks for Video Object Segmentation

https://arxiv.org/abs/1706.09364

Video Object Segmentation using Tracked Object Proposals

Video Object Segmentation with Re-identification

Pixel-Level Matching for Video Object Segmentation using Convolutional Neural Networks

SegFlow: Joint Learning for Video Object Segmentation and Optical Flow

Video Semantic Object Segmentation by Self-Adaptation of DCNN

https://arxiv.org/abs/1711.08180

Learning to Segment Moving Objects

https://arxiv.org/abs/1712.01127

Instance Embedding Transfer to Unsupervised Video Object Segmentation

Panoptic Segmentation

Challenge

DAVIS: Densely Annotated VIdeo Segmentation

DAVIS Challenge on Video Object Segmentation 2017

http://davischallenge.org/challenge2017/publications.html

Projects

TF Image Segmentation: Image Segmentation framework

KittiSeg: A Kitti Road Segmentation model implemented in tensorflow.

Semantic Segmentation Architectures Implemented in PyTorch

PyTorch for Semantic Segmentation

https://github.com/ZijunDeng/pytorch-semantic-segmentation

3D Segmentation

PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

DA-RNN: Semantic Mapping with Data Associated Recurrent Neural Networks

https://arxiv.org/abs/1703.03098

SqueezeSeg: Convolutional Neural Nets with Recurrent CRF for Real-Time Road-Object Segmentation from 3D LiDAR Point Cloud

SEGCloud: Semantic Segmentation of 3D Point Clouds

Leaderboard

Segmentation Results: VOC2012 BETA: Competition “comp6” (train on own data)

http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?cls=mean&challengeid=11&compid=6

Blogs

Deep Learning for Natural Image Segmentation Priors

http://cs.brown.edu/courses/csci2951-t/finals/ghope/

Image Segmentation Using DIGITS 5

https://devblogs.nvidia.com/parallelforall/image-segmentation-using-digits-5/

Image Segmentation with Tensorflow using CNNs and Conditional Random Fields
http://warmspringwinds.github.io/tensorflow/tf-slim/2016/12/18/image-segmentation-with-tensorflow-using-cnns-and-conditional-random-fields/

Fully Convolutional Networks (FCNs) for Image Segmentation

Image segmentation with Neural Net

A 2017 Guide to Semantic Segmentation with Deep Learning

http://blog.qure.ai/notes/semantic-segmentation-deep-learning-review

Talks

Deep learning for image segmentation

2017-12-22 19:48:37 Asun0204 阅读数 6284
  • DeepLabv3+图像语义分割实战:训练自己的数据集

    DeepLabv3+是一种非常先进的基于深度学习的图像语义分割方法,可对物体进行像素级分割。 本课程将手把手地教大家使用labelme图像标注工具制作数据集,并使用DeepLabv3+训练自己的数据集,从而能开展自己的图像语义分割应用。 本课程有两个项目实践: (1) CamVid语义分割 :对CamVid数据集进行语义分割 (2) RoadScene语义分割:对汽车行驶场景中的路坑、车、车道线进行物体标注和语义分割 本课程使用TensorFlow版本的DeepLabv3+,在Ubuntu系统上做项目演示。 包括:安装deeplab、数据集标注、数据集格式转换、修改程序文件、训练自己的数据集、测试训练出的网络模型以及性能评估。 本课程提供项目的数据集和Python程序文件。 下图是使用DeepLabv3+训练自己的数据集RoadScene进行图像语义分割的测试结果:

    511 人正在学习 去看看 白勇

总体概述

大多数的语义分割研究都是基于自然,或者说是实际世界的图片。虽然这些结果不能直接应用到医学图像中,但是这些研究更加的成熟,也有很多的借鉴意义。

本篇博客首先解释了什么是语义分割问题,给出了方法的概述,最后总结了一些有趣的论文。

在后续的博客中,我会解释为什么医学图片和自然图片不同,并且研究这些方法如何应用在代表医学图像的数据集上。

什么是语义分割

语义分割是在像素层面上理解图片,比如我们想要把图片中的每个像素都分到一个目标类中。如下图所示:

除了识别摩托车和车上的人以外,我们也需要描述每个类别之间的边界。因此,不像分类问题,我们的模型要有基于像素预测的能力。

VOC2012MSCOCO是语义分割最重要的数据集。

这些方法有什么区别

在深度学习统治计算机视觉领域之前,人们一般用TextonForestRandom Forest based classifiers来做语义分割。在图片分类问题上,CNN卷积神经网络在分割问题上有了很多成功的例子。

patch classification是深度学习方法中一个流行的方法,主要思想是对于每一个像素点,都用包含它的图片进行分类,然后用这个结果来预测像素点的分类。使用这个方法的原因是深度学习分类网络的输入需要是固定大小的图片。

在2014年,FCN全卷积网络在预测像素的CNN中流行起来。全卷积网络没有任何全连接层,从而图片的输入可以是任何大小的,比上面的patch classification方法快。几乎所有后来的语义分割最新研究都是采用了这个方法。

除了全连接层以外,另一个使用CNN的问题是池化层。池化层增加了感受野,能够汇聚信息,但同时也舍弃了位置信息。然而语义分割需要准确的类图索引,需要保留这些位置信息。有两个不同的结构来处理这个问题。

其中一个是编码-解码(encoder-decoder)结构。编码用池化层来逐渐减少空间维度,解码来恢复目标细节和空间维度。通常编码和解码之间有直接的连接来更好的恢复目标的细节。U-Net就是这类一个流行的结构。

第二种结构使用所谓的空洞卷积dilated/atrous convolutions,代替了池化层来减少空间维度增加感受野,同时也保留了位置信息。

条件随机场Conditional Random Field (CRF) postprocessing通常用来提升分割的效果。条件随机场是基于潜在图像强度来平滑分割的图像模型。通过观察相似强度的像素,认为同一类的像素强度相似。该方法能提升大概1-2%的分数。

总结一些有趣的论文

这个章节总结了自FCN以来一些有代表性的文章。这些结构都以VOC2012 evaluation server为基准。

FCN

Fully Convolutional Networks for Semantic Segmentation

提交时间:2014年11月14日

主要贡献

  1. 在语义分割问题中推广使用端到端(end to end)卷积神经网络
  2. 使用imagenet预训练模型到语义分割中
  3. 使用反卷积层进行上采样
  4. 用跳过连接来提高上采样的粗糙度

介绍

可以看到全连接层可以看作是和输入尺寸一样的卷积核进行卷积操作。这相当于最开始的分类网络,即输入一批重叠图片进行评估,但是这种方法效率更高,因为重叠的部分只计算了一次。虽然这个发现不只是在这篇论文中提出(overfeat, this post),但是显著提高了VOC2012的水平。

在卷积化imagenet预训练网络VGG的全连接层后,特征图仍然需要上采样,因为CNN中的池化操作减小了尺寸。不使用简单的双线性插值进行上采样,因为反卷积层能够学习到插值。这一层也叫做upconvolution, full convolution, transposed convolution或者fractionally-strided convolution。

然而,上采样(即使是反卷积层)生成的分割图很粗糙,因为池化过程中损失了太多的信息。因此需要shortcut/skip connections,捷径连接,类似于U-Net结构图中中间灰色的连接线,从更高分辨率的特征地图引入快捷/跳过连接。

Benchmarks(VOC2012)

Score Comment Source
62.2 - leaderboard
67.2 More momentum. Not described in paper leaderboard

评价

  • 做出了很大的贡献,但是和现在的水平来比差距有点大

SegNet

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

提交时间:2015年11月2日

主要贡献

  1. 把最大池化转化为解码器来提高分割分辨率

介绍

FCN中卷积层和一些捷径连接连接产生粗糙的分割图。因此引入了更多的捷径连接。与复制FCN中的编码器功能不同,SegNet可以复制maxpooling中的索引。这使得SegNet比FCN更节省内存。

Benchmarks(VOC2012)

Score Comment Source
59.9 - leaderboard

评价

  • FCN和SegNet是最开始的编码解码结构
  • SegNet的Benchmarks不好

Dilated Convolutions(空洞卷积)

Multi-Scale Context Aggregation by Dilated Convolutions

提交时间:2015年11月23日

主要贡献

  1. 使用空洞卷积,一个用来dense prediction(标注出图像中每个像素点的对象类别,要求不但给出具体目标的位置,还要描绘物体的边界,如图像分割、语义分割、边缘检测等等)的卷积层
  2. 提出多尺度内容聚合(multi scale aggregation)来提高dense prediction效果

介绍

池化可以增加感受野,来帮助分类网络。但是这对分割问题来说不是最好的,因为同时也减小了分辨率。因此作者提出了空洞卷积层,如下图所示:

空洞卷积层(在DeepLab中也称为atrous convolution带孔卷积)来增加感受野但是不减少空间尺寸。

移除预训练模型(在这里是VGG)的最后两个池化层,随后的卷积层用空洞卷积来代替。尤其是在pool-3和pool-4之间的卷积层是dilation为2的空洞卷积,在pool-4之后是dilation为4的空洞卷积。通过这个模块(论文中称之为frontend module),在没有增加参数数量的基础上实现了dense prediction。

另外还有一个模块(在论文中被称为context module)把frontend module的输出作为输入,单独用来训练。这个模块是不同dilation的空洞卷积层串联在一起,因此多尺度聚合,提高frontend的预测效果。

Benchmarks(VOC2012)

Score Comment Source
71.3 frontend reported in the paper
73.5 frontend + context reported in the paper
74.7 frontend + context + CRF reported in the paper
75.3 frontend + context + CRF-RNN reported in the paper

评价

  • 注意到预测的分割图大小都是原图的八分之一。几乎所有的方法都是这样。然后通过内插的方式来得到最后的分割图。

DeepLab(v1 & v2)

v1 : Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

提交时间:2014年12月22日

v2 : DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

提交时间:2016年6月2日

主要贡献

  1. 使用空洞卷积
  2. 提出带孔空间金字塔池化atrous spatial pyramid pooling (ASPP)
  3. 使用全连接条件随机场Fully connected CRF

介绍

空洞卷积能够增加感受野,而不增加参数数量。网络的修改如上面的空洞卷积论文。

通过将原始图像的多个重新缩放版本传递到并行CNN分支(图像金字塔)和/或通过使用具有不同采样率(ASPP)的多个平行的无规卷积层来实现多尺度处理。

结构化预测由完全连接的CRF完成。CRF作为后处理步骤被分别训练/调整。

Benchmarks(VOC2012)

Score Comment Source
79.7 ResNet-101 + atrous Convolutions + ASPP + CRF leaderboard

RefineNet

RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation

提交时间:2016年11月20日

主要贡献

  1. 编码解码结构,附带很好的解码块
  2. 所有组件都用残差连接设计

介绍

使用空洞卷积的方法并非没有缺点。空洞卷积运算代价高昂,需要大量的内存,因为它们必须应用于大量高分辨率的特征映射。这阻碍了对高分辨率预测的计算。例如,DeepLab的预测是原始输入的1 / 8。

因此,本文提出使用编码解码器架构。编码器部分是resnet-101块。译码器有精细化RefineNet 的块,它连接/融合高分辨率的特征,从以前的精化块的编码器和低分辨率特征。

每个精细化块都有一个组件,它通过对低分辨率特征进行上采样和一个基于重复的5 x 5步长1的池化层来获得环境,来融合多分辨率特征。每个组件都使用了身份映射模式之后的残差连接设计。

Benchmarks(VOC2012)

Score Comment Source
84.2 Uses CRF, Multiscale inputs, COCO pretraining leaderboard

PSPNet

Pyramid Scene Parsing Network

提交时间:2016年12月4日

主要贡献

  1. 提出了金字塔池化模块来汇聚信息
  2. 使用辅助损失

介绍

全局场景类别很重要,因为它提供了细分类分布的线索。金字塔池化模块通过应用大型的内核池化层来捕获这些信息。

在空洞卷积论文中用空洞卷积来修改Resnet,并增加了一个金字塔池化模块。该模块将不同大小(和输入一样大,输入的一半,小部分)卷积核来并行地卷积经过不同大小池化后的特征图,之后通过上采样成一样的尺寸,最后和ResNet输入的特征图一起合并起来。

一种辅助损失,附加于主分支上的损失,是在ResNet的第4级后应用的(i。e输入到金字塔池模块。这个想法也被称为其他地方的中间监督。

Benchmarks(VOC2012)

Score Comment Source
85.4 MSCOCO pretraining, multi scale input, no CRF leaderboard
82.6 no MSCOCO pretraining, multi scale input, no CRF reported in the paper

Large Kernel Matters

Large Kernel Matters – Improve Semantic Segmentation by Global Convolutional Network

提交时间:2017年3月8日

主要贡献

  1. 提出了一种使用大卷积核的编码解码结构

介绍

语义分割需要分割和对分割对象的分类。因为分割结构中不能使用全连接层,所以就用很大的卷积核来代替。

另一个采用大卷积核的理由是虽然很深的网络,像ResNet有很大的感受野,但是[实验}(https://arxiv.org/abs/1412.6856)显示网络倾向于从更小的区域收集信息(有效感受野valid receptive filed)。

更大的卷积核计算开销更大,需要很多的参数。Therefore, k x k convolution is approximated with sum of 1 x k + k x 1 and k x 1 and 1 x k convolutions. 论文中这个模块叫做全局卷积网络Global Convolutional Network (GCN)。

说到结构,ResNet(没有空洞卷积)构成了结构的编码部分,解码部分是GCN和反卷积。同时也使用了一个简单残差块(BR)。

Benchmarks(VOC2012)

Score Comment Source
82.2 - reported in the paper
83.6 Improved training, not described in the paper leaderboard

DeepLab v3

Rethinking Atrous Convolution for Semantic Image Segmentation

提交时间:2017年6月17日

主要贡献

  1. 改进的带孔空间金字塔池化(ASPP)
  2. 串联空洞卷积构成的模块

介绍

在DeepLab v2和空洞卷积中,对ResNet模型做了修改,从而可以使用空洞卷积。改进的ASPP涉及图像级特征的连接,1x1卷积和3个具有不同rate的3×3空洞卷积。在每个并行卷积层之后使用Batch normalization。

串联模块是一个resnet块,除了组件卷积层用不同rate的空洞卷积。这个模块类似于在空洞卷积一文中使用的内容汇聚模块,但是这直接应用于中间特征图而不是信念图(信念图是具有等于数量类的信道的最终CNN特征图)。

独立测评这两种模型并且都没有使用其他提高性能的方法。在没有使用CRF的情况下,它们的性能差不多,ASPP的性能较好。

这两种模型的性能都要比DeepLab v2好。作者指出batch normalization和更好的方式进行编码的多尺度汇聚是提升的主要原因。

Benchmarks(VOC2012)

Score Comment Source
85.7 used ASPP (no cascaded modules) leaderboard

参考资料

http://blog.qure.ai/notes/semantic-segmentation-deep-learning-review

2017-11-16 17:24:10 aitazhixin 阅读数 4872
  • DeepLabv3+图像语义分割实战:训练自己的数据集

    DeepLabv3+是一种非常先进的基于深度学习的图像语义分割方法,可对物体进行像素级分割。 本课程将手把手地教大家使用labelme图像标注工具制作数据集,并使用DeepLabv3+训练自己的数据集,从而能开展自己的图像语义分割应用。 本课程有两个项目实践: (1) CamVid语义分割 :对CamVid数据集进行语义分割 (2) RoadScene语义分割:对汽车行驶场景中的路坑、车、车道线进行物体标注和语义分割 本课程使用TensorFlow版本的DeepLabv3+,在Ubuntu系统上做项目演示。 包括:安装deeplab、数据集标注、数据集格式转换、修改程序文件、训练自己的数据集、测试训练出的网络模型以及性能评估。 本课程提供项目的数据集和Python程序文件。 下图是使用DeepLabv3+训练自己的数据集RoadScene进行图像语义分割的测试结果:

    511 人正在学习 去看看 白勇

机器之心:By路雪 2017年7月14日 

什么是语义分割?

  语义分割指像素级地识别图像,即标注出图像中每个像素所属的对象类别。如下图:

  

  左:输入图像,右:该图像的语义分割

  除了识别车和骑车的人,我们还需要描绘出每个物体的边界。因此,与图像分类不同,语义分割需要根据模型进行密集的像素级分类。

  VOC2012和MSCOCO是语义分割领域最重要的数据集。

  有哪些不同的解决方案?

  在深度学习应用到计算机视觉领域之前,人们使用TextonForest和随机森林分类器进行语义分割。卷积神经网络(CNN)不仅对图像识别有所帮助,也对语义分割领域的发展起到巨大的促进作用。

  语义分割任务最初流行的深度学习方法是图像块分类(patchclassification),即利用像素周围的图像块对每一个像素进行独立的分类。使用图像块分类的主要原因是分类网络通常是全连接层(fullconnectedlayer),且要求固定尺寸的图像。

  2014年,加州大学伯克利分校的Long等人提出全卷积网络(FCN),这使得卷积神经网络无需全连接层即可进行密集的像素预测,CNN从而得到普及。使用这种方法可生成任意大小的图像分割图,且该方法比图像块分类法要快上许多。之后,语义分割领域几乎所有先进方法都采用了该模型。

  除了全连接层,使用卷积神经网络进行语义分割存在的另一个大问题是池化层。池化层不仅扩大感受野、聚合语境从而造成了位置信息的丢失。但是,语义分割要求类别图完全贴合,因此需要保留位置信息。本文将介绍两种不同结构来解决该问题。

  第一个是编码器-解码器结构。编码器逐渐减少池化层的空间维度,解码器逐步修复物体的细节和空间维度。编码器和解码器之间通常存在快捷连接,因此能帮助解码器更好地修复目标的细节。U-Net是这种方法中最常用的结构。

  

  U-Net:一种编码器-解码器结构

  第二种方法使用空洞/带孔卷积(dilated/atrousconvolutions)结构,来去除池化层。

  

  Dilated/atrous卷积,rate=1是典型的卷积结构

  条件随机场(CRF)预处理通常用于改善分割效果。CRF是一种基于底层图像像素强度进行「平滑」分割的图模型。它的工作原理是灰度相近的像素易被标注为同一类别。CRF可令分值提高1-2%。

  

  CRF示意图。(b)一元分类器作为CRF的分割输入。(c、d、e)是CRF的变体,其中(e)是广泛使用的一种CRF

  下面,我将总结几篇论文,介绍分割结构从FCN以来的发展变化。所有这些架构都使用VOC2012评估服务器进行基准测试。

  论文概述

  下列论文按照时间顺序进行介绍:

  1.FCN

  2.SegNet

  3.DilatedConvolutions

  4.DeepLab(v1&v2)

  5.RefineNet

  6.PSPNet

  7.LargeKernelMatters

  8.DeepLabv3

  我列出了每篇论文的主要贡献,并稍加解释。同时我还展示了这些论文在VOC2012测试数据集上的基准测试分数(IOU均值)。

  FCN

  使用全卷积网络进行语义分割(FullyConvolutionalNetworksforSemanticSegmentation)

  2014年11月14日提交

  arXiv链接(https://arxiv.org/abs/1411.4038)

  主要贡献:

  推广端到端卷积网络在语义分割领域的应用

  修改Imagenet预训练网络并应用于语义分割领域

  使用解卷积层进行上采样

  使用跳跃连接,改善上采样的粒度程度

  相关解释:

  本论文的关键点是分类网络中的全连接层可视为使用卷积核覆盖整个输入区域的卷积操作。这相当于根据重叠的输入图像块评估原始分类网络,但由于计算过程由图像块的重叠部分共同分担,这种方法比之前更加高效。尽管该结论并非独一无二,但它显著提高了VOC2012数据集上模型的最佳效果。

  

  全连接层作为卷积操作

  将全连接层在VGG等Imagenet预训练网络中进行卷积操作后,由于CNN中的池化操作,特征图仍旧需要上采样。解卷积层不使用简单的双线性插值,而是学习所进行的插值。解卷积层又被称为上卷积(upconvolution)、完全卷积、转置卷积或微步卷积(fractionally-stridedconvolution)。

  但是,由于池化过程造成信息丢失,上采样(即使带有解卷积层)生成的分割图较为粗糙。因此我们可以从高分辨率的特征图中引入跳跃连接(shortcut/skipconnection)来改善上采样的粗糙程度。

  VOC2012基准测试分数:

  

  个人评价:

  这是一项重要的贡献,但是当前的技术水平又有了很大发展。

  SegNet

  SegNet:用于图像分割的一种深度卷积编码器-解码器架构(SegNet:ADeepConvolutionalEncoder-DecoderArchitectureforImageSegmentation)

  2015年11月2日提交

  Arxiv链接(https://arxiv.org/abs/1511.00561)

  主要贡献:

  将最大池化索引(Maxpoolingindices)转移到解码器,从而改善分割分辨率。

  相关解释:

  在FCN网络中,尽管使用了解卷积层和一些跳跃连接,但输出的分割图仍然比较粗糙。因此,更多的跳跃连接被引入FCN网络。但是,SegNet没有复制FCN中的编码器特征,而是复制了最大池化索引。这使得SegNet比FCN更节省内存。

  

  Segnet结构

  

  个人评价:

  FCN和SegNet都是最早出现的编码器-解码器结构。

  SegNet的基准测试分数不够好,不宜继续使用。

  空洞卷积(DilatedConvolutions)

  使用空洞卷积进行多尺度背景聚合(Multi-ScaleContextAggregationbyDilatedConvolutions)

  2015年11月23日提交

  Arxiv链接(https://arxiv.org/abs/1511.07122)

  主要贡献:

  使用空洞卷积,一种可进行稠密预测的卷积层。

  提出「背景模块」(contextmodule),该模块可使用空洞卷积进行多尺度背景聚合。

  相关解释:

  池化使感受野增大,因此对分类网络有所帮助。但池化会造成分辨率下降,不是语义分割的最佳方法。因此,论文作者使用空洞卷积层(dilatedconvolutionlayer),其工作原理如图:

  

  空洞/带孔卷积

  空洞卷积层(DeepLab将其称为带孔卷积)可使感受野呈指数级增长,而空间维度不至于下降。

  从预训练好的分类网络(此处指VGG)中移除最后两个池化层,之后的卷积层都使用空洞卷积。尤其是,pool-3和pool-4之间的卷积是空洞卷积2,pool-4后面的卷积是空洞卷积4。使用这个模块(论文中称为前端模块 frontendmodule)之后,无需增加参数即可实现稠密预测。另一个模块(论文中称为背景模块 contextmodule)将使用前端模块的输出作为输入进行单独训练。该模块是多个不同扩张程度的空洞卷积级联而成,因此该模块可聚合多尺度背景,并改善前端模块获取的预测结果。

  

  个人评价:

  预测分割图的大小是图像大小的1/8。几乎所有的方法都存在这个现象,通常使用插值的方法获取最终分割图。

  DeepLab(v1&v2)

  v1:使用深度卷积网络和全连接CRF进行图像语义分割(SemanticImageSegmentationwithDeepConvolutionalNetsandFullyConnectedCRFs)

  2014年12月22日提交

  Arxiv链接(https://arxiv.org/abs/1412.7062)

  v2 :DeepLab:使用深度卷积网络、带孔卷积和全连接CRF进行图像语义分割(DeepLab:SemanticImageSegmentationwithDeepConvolutionalNets,AtrousConvolution,andFullyConnectedCRFs)

  2016年6月2日提交

  Arxiv链接(https://arxiv.org/abs/1606.00915)

  主要贡献:

  使用带孔/空洞卷积。

  提出金字塔型的空洞池化(ASPP)

  使用全连接CRF

  相关解释:

  带孔/空洞卷积在不增加参数的情况下增大感受野。如上文中空洞卷积论文中所述,分割网络得到改进。

  将原始图像的多个重新缩放版本传递到CNN网络的并行分支(图像金字塔)中,或者使用采样率不同的多个并行空洞卷积层(ASPP),实现多尺度处理。

  结构化预测可通过全连接CRF实现。CRF的训练/微调需作为后处理的步骤单独进行。

  

  DeepLab2 流程图

  

  RefineNet

  RefineNet:使用多路径精炼网络进行高分辨率语义分割(RefineNet:Multi-PathRefinementNetworksforHigh-ResolutionSemanticSegmentation)

  2016年11月20日提交

  Arxiv链接(https://arxiv.org/abs/1611.06612)

  主要贡献:

  具备精心设计解码器模块的编码器-解码器架构

  所有组件遵循残差连接设计

  相关解释:

  使用空洞/带孔卷积的方法也有弊端。由于空洞卷积需要大量高分辨率特征图,因此其计算成本高昂,且占用大量内存。这妨碍了高分辨率预测的计算。例如,DeepLab的预测结果大小是原始输入图像的1/8。

  因此,这篇论文提出使用编码器-解码器结构。编码器是ResNet-101模块,解码器是RefineNet模块,该模块融合了编码器中的高分辨率特征和先前RefineNet模块中的低分辨率特征。

  

  RefineNet架构

  每一个RefineNet模块都有两个组件,一个组件通过对低分辨率特征进行上采样来融合多分辨率特征,另一个组件基于步幅为1、5x5大小的重复池化层来获取背景信息。这些组件遵循单位映射的思想,采用残差连接设计。

  

  RefineNet模块

  

  PSPNet

  金字塔型场景解析网络

  2016年12月4日提交

  Arxiv链接(https://arxiv.org/abs/1612.01105)

  主要贡献:

  提出金字塔池化模块帮助实现背景聚合。

  使用辅助损失(auxiliaryloss)。

  相关解释:

  全局场景分类为分割的类别分布提供线索,因此很重要。金字塔池化模块(Pyramidpoolingmodule)通过应用较大核池化层的获取这些信息。如上文中空洞卷积论文中所述,PSPNet也使用空洞卷积改善ResNet,并添加一个金字塔池化模块。该模块将ResNet的特征图与并行池化层的上采样输出结果连接起来,其中卷积核核覆盖了图像的全部、一半和小块区域。

  在ResNet的第四阶段之后(即输入到金字塔池化模块),在主分支损失之外又增加了附加损失。这个想法在其他研究中也被称为中间监督(intermediatesupervision)。

  

  PSPNet架构

  

  LargeKernelMatters

  大型核的问题——通过全局卷积网络改善语义分割(LargeKernelMatters--ImproveSemanticSegmentationbyGlobalConvolutionalNetwork)

  2017年3月8日提交

  Arxiv链接(https://arxiv.org/abs/1703.02719)

  主要贡献:

  提出使用带有大型卷积核的编码器-解码器结构

  相关解释:

  语义分割不仅需要分割,同时还需要对分割目标进行分类。由于分割结构中无法使用全连接层,因此带有大核函数的卷积可以替代全连接层得到应用。

  使用大型核的另一个原因是,尽管ResNet等更深层的网络拥有较大的感受野,但相关研究显示这样的网络更易收集较小范围(即有效感受野)内的信息。大型核的计算成本高昂,且拥有大量参数。因此,kxk卷积可近似成1xk+kx1、kx1和1xk。这篇论文中将该模块称为全局卷积网络(GCN)。

  再来看结构,ResNet(没有空洞卷积)构成该结构的编码器部分,而GCN和反卷积构成了解码器部分。该结构还采用了一个叫做边界细化(BR)的简单残差块。

  

  GCN结构

  VOC2012测试分数:

  

  DeepLabv3

  重新思考使用空洞卷积进行图像语义分割(RethinkingAtrousConvolutionforSemanticImageSegmentation)

  2017年6月17日提交

  Arxiv链接(https://arxiv.org/abs/1706.05587)

  主要贡献:

  改进了金字塔型的空洞池化(ASPP)

  模型级联了多个空洞卷积

  相关解释:

  与DeepLabv2和空洞卷积论文一样,该研究也使用空洞/扩张卷积来改进ResNet模型。改进后的ASPP包括图像层级特征连接、一个1x1的卷积和三个3x3的不同比率空洞卷积。每一个并行卷积层之后使用批量归一化操作。

  级联模型是一个ResNet模块,但其中的卷积层是不同比率的空洞卷积。该模型与空洞卷积论文中的背景模块相似,但是它直接应用于中间特征图,而不是可信度地图(信念图是通道数与类别数相同的最终CNN特征图)。

  该论文分别评估了这两个已提出的模型。两个模型在验证集上的性能相似,带有ASPP的模型性能稍好,且未使用CRF。这两个模型优于DeepLabv2中最优的模型。论文作者还提到性能的改进来自于批量归一化操作和更好的多尺度背景编码方式。

  

  DeepLabv3ASPP

  

2019-01-04 09:22:57 Z199448Y 阅读数 326
  • DeepLabv3+图像语义分割实战:训练自己的数据集

    DeepLabv3+是一种非常先进的基于深度学习的图像语义分割方法,可对物体进行像素级分割。 本课程将手把手地教大家使用labelme图像标注工具制作数据集,并使用DeepLabv3+训练自己的数据集,从而能开展自己的图像语义分割应用。 本课程有两个项目实践: (1) CamVid语义分割 :对CamVid数据集进行语义分割 (2) RoadScene语义分割:对汽车行驶场景中的路坑、车、车道线进行物体标注和语义分割 本课程使用TensorFlow版本的DeepLabv3+,在Ubuntu系统上做项目演示。 包括:安装deeplab、数据集标注、数据集格式转换、修改程序文件、训练自己的数据集、测试训练出的网络模型以及性能评估。 本课程提供项目的数据集和Python程序文件。 下图是使用DeepLabv3+训练自己的数据集RoadScene进行图像语义分割的测试结果:

    511 人正在学习 去看看 白勇

参考:AI研习社微信公众号

  • 语义分割难点:将各个像素点分类到某一实例,再将各个实例(分类结果)与实体(人、道路等)一一对应。
  • 出现在真实的理解图像或视频的动作的挑战:关键点检测、动作识别、视频字幕、视觉问题回答等。
  • 常用数据集:

PASCAL VOC——train/val   11k张;test  10张;用平均交并比(mIoU)评估图像分割模型的性能

PASCAL-Context——train 10k;val 10k;test  10k

COCO

Cityscapes——包含50个城市的复杂的城市场景分割图,train/val  23.5k;test   1.5k

  • 一些网络效果:

FCN——使用ImageNet预训练模型,在2012年的PASCAL VOC上mIoU=62.2%

ParseNet——PASCAL-Context的mIoU=40.4%,2012年的PASCAL VOC 的mIoU=69.8%

卷积与反卷积——2012年的PASCAL VOC的mIoU=72.5%

U-Net——扩展FCN模型用于生物显微镜图像。扩展研究FPN、PSPNet、DeepLabv3

FPN——基于DeepMask和SharpMask框架的FPN在COCO的AR=48.1%

金字塔场景解析网络(PSPNet)——使用COCO的预训ResNet,在2012年的PASCAL VOC的mIoU=85.4%

Mask R-CNN——最好的Mask R-CNN使用ResNeXt提取特征和FPN结构,2016年COCO的AP=37.1%,2017年的COCO的AP=41.8%

DeepLab,DeepLabv3,DeepLabv3+

  • DeepLab——带空卷积核、空间金字塔池化、全连接的CRFs

以ResNet-101为主干的DeepLab在2012年的PASCAL VOC的mIoU=79.7%,PASCAL-Context的mIoU=45.7%,Cityscapes的mIoU=70.4%

  • DeepLabv3——带孔卷积的级联和并行模块(空洞空间金字塔池化ASPP)

使用ResNet-101在ImageNet和JFT-300M上预训练的最佳DeepLabv3在2012年的PASCAL VOC上mIoU=86.9%,Cityscapes的mIoU=81.3%

  • DeepLabv3+——结合了编码-解码器结构框架的DeepLabv3,引入空洞可分离卷积,包含深度卷积(将输入的每一个通道进行卷积)和逐点卷积(1*1的卷积和深度卷积作为输入)。

DeepLabv3+框架:一个具有基本的CNN和一个ASPP的编码器产生特征表示,具有3*3卷积的解码器接收特征表示,产生最终预测图像。

在COCO和JFT上预训练的最佳DeepLabv3+在2012年的PASCAL VOC的mIoU=89.0%,Cityscapes的mIoU=82.1%

  • 路径聚合网络(PANet)——基于Mask R-CNN和FPN框架,同时增强信息传播。特征提取使用改进的FPN架构,添加自底向上的增强路径,从而改善底层特征传播。

ResNeXt作为特征提取器,PANet在2016年COCO中获42.0%的平均精度分数。还使用7个特征提取器的集合进行2017年COCO获46.7%的平均精度。

  • 环境编码网络(EncNet)——环境编码网络捕捉一张图像中的全局信息,以提高场景分割性能。

在PASCAL-Context的mIoU=52.6%,pixAcc=81.2%;在2012年的PASCAL VOC的mIoU=85.9%

总结:

各体系结构之间的主要问题之一是考虑输入图像的全局视觉环境,以提高分割的预测能力。最先进的模型架构试图连接图像的不同部分,以便理解对象之间的关系。

 

 

 

没有更多推荐了,返回首页