deeplab

Deeplab

拥有回忆 提交于 2020-02-16 21:56:27
Deeplab系列是谷歌团队的分割网络. DeepLab V1 CNN处理图像分割的两个问题 下采样导致信息丢失 maxpool造成feature map尺寸减小,细节信息丢失. 空间不变性 所谓空间不变性,就是说比如一张狗的图,狗位于图片正中还是某一个角,都不影响模型识别出这是一个狗. 即模型对于输入图像的空间位置不敏感,不管这个图片旋转,平移等,都能够识别. 对分类来说,这是ok的.但是对于分割来说,这就不OK了,图片旋转以后,每一个像素所属的分类当然就改变了. 究其原因,分类处理的是更"高级"的特征,而分割是对每一个像素做分类,需要更多的细节. deeplab v1采用2个方法解决这两个问题 空洞卷积 条件随机场CRF 空洞卷积 为什么要有maxpool? 一方面是为了减小feature map尺寸.一方面也是为了增大feature map中的每一个元素的感受野. FCN是怎么做的? 得到特征图后,用deconv的方式上采样将feature map恢复到原始图像尺寸.但是这种 先max pool下采样再deconv上采样的过程势必会损失掉一部分信息. deeplab如何解决这个问题? deeplab提出了一种dilated conv(空洞卷积)的卷积方式,去替代max pool,但同时感受野不丢失. dilated的好处是不做pooling损失信息的情况下,加大了感受野

DeepLab V3

走远了吗. 提交于 2020-01-14 12:23:05
摘要 本文首先回顾了空洞卷积在语义分割中的应用,这是一种显式调整滤波器感受野和控制网络特征响应分辨率的有效工具。为了解决多尺度分割对象的问题,我们设计了采用级联或并行多个不同膨胀系数的空洞卷积模块,以更好的捕获上下文语义信息。此外,我们扩充了在DeepLab V2中提出的ASPP模块,进一步提升了它的性能。并且我们还分享了一些训练系统方面的经验和一些实施方面的细节。 介绍 作者提到DeepLab系列面临 三大挑战 : 挑战一 :为分类任务设计的DCNN中的多次Max-Pooling和全连接层会导致空间信息的丢失。在DeepLabV1中引入了空洞卷积来增加输出的分辨率,以保留更多的空间信息。 挑战二 :图像存在多尺度问题,有大有小。一种常见的处理方法是图像金字塔,即将原图resize到不同尺度,输入到相同的网络,获得不同的feature map,然后做融合,这种方法的确可以提升准确率,然而带来的另外一个问题就是速度太慢。DeepLab v2为了解决这一问题,引入了ASPP(atrous spatial pyramid pooling)模块,即是将feature map通过并联的采用不同膨胀速率的空洞卷积层,并将输出结果融合来得到图像的分割结果。 挑战三 :分割结果不够精细的问题。这个和DeepLabV1的处理方式一样,在后处理过程使用全连接CRF精细化分割结果。 在本文中

I want to know how to perform quantization-aware training for deeplab-v3+

删除回忆录丶 提交于 2019-12-11 07:33:31
问题 I have been trying to perform quantization aware training for deeplab using the guide given in this link https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/quantize However, I am not sure where exactly to put the below 2 lines that are required to activate the quantization g = tf.get_default_graph() tf.contrib.quantize.create_training_graph(input_graph=g,quant_delay=2000000) Where exactly in the deeplab train.py file do I put the above two lines? I already tried on line

从FCN到DeepLab

↘锁芯ラ 提交于 2019-12-06 21:07:43
前言   最近看了语义分割的文章DeepLab,写写自己的感受,欢迎指正。 介绍   图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类。   图像语义分割,从FCN把深度学习引入这个任务到现在,一个通用的框架已经大概确定了。即前端使用FCN全卷积网络输出粗糙的label map,后端使用CRF条件随机场/MRF马尔科夫随机场等优化前端的输出,最后得到一个精细的分割图。 前端 为什么需要FCN?   分类网络通常会在最后连接几层全连接层,它会将原来二维的矩阵(图片)压扁成一维的,从而丢失了空间信息,最后训练输出一个标量,这就是我们的分类标签。   而图像语义分割的输出需要是个分割图,且不论尺寸大小,但是至少是二维的。所以,流行的做法是丢弃全连接层,换上全卷积层,而这就是全卷积网络了。具体定义请参看论文:《Fully Convolutional Networks for Semantic Segmentation》 FCN结构   在FCN论文中,作者的FCN主要使用了三种技术: 卷积化(Convolutional) 上采样(Upsample) 跳层连接(Skip Layer)    卷积化 即是将普通的分类网络,比如VGG16,ResNet50/101等网络丢弃全连接层,换上对应的卷积层即可。    上采样 即是反卷积(Deconvolution)

Extract Image Segmentation Map from Tensorflow DeepLab v3 Demo

匿名 (未验证) 提交于 2019-12-03 01:18:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have set up the Google's DeepLab V3 Demo on my local system and it runs successfully after making some minor changes. It's as: # -*- coding: utf-8 -*- # DeepLab Demo This demo will demostrate the steps to run deeplab semantic segmentation model on sample input images. """ import os from io import BytesIO import tarfile import tempfile from six.moves import urllib from matplotlib import gridspec from matplotlib import pyplot as plt import numpy as np from PIL import Image import tensorflow as tf class DeepLabModel(object): """Class to load

TensorFlow实战:Chapter-9上(DeepLabv3+代码实现)

匿名 (未验证) 提交于 2019-12-03 00:22:01
使用代码地址:github-DeepLabv3+ 官方教程 调试指令参考local_test.sh 这里主要分成两步: 1.先配置基本的开发环境 2.下载数据集并配置 Numpy Pillow 1.0 tf Slim (which is included in the “tensorflow/models/research/” checkout) Jupyter notebook Matplotlib Tensorflow 关于TensorFlow的安装,典型的指令如下,具体参考官方: # For CPU pip install tensorflow # For GPU pip install tensorflow-gpu 其他的工具包: sudo apt-get install python-pil python-numpy sudo pip install jupyter sudo pip install matplotlib 在 tensorflow/models/research/ 目录下: # From tensorflow/models/research/ export PYTHONPATH = $PYTHONPATH :`pwd` :`pwd`/slim 注意,运行后要将所以终端关闭,重启~ 快速测试,调用model_test.py: # From

记录更新

匿名 (未验证) 提交于 2019-12-03 00:21:02
学习网址记录一下: Python安装和环境配置 Python数据结构 C++教程 Python安装和环境配置 Git基础概念 https://www.youtube.com/watch?v=qWl9idsCuLQ ICNet for Real-Time Semantic Segmentation on High-Resolution Images https://www.youtube.com/watch?v=rB1BmBOkKTw&feature=youtu.be Pyramid Scene Parsing Network (CVPR 2017) https://www.youtube.com/watch?v=BNE1hAP6Qho CASENet: Deep Category-Aware Semantic Edge Detection RefineNet Results on the CityScapes Dataset https://www.youtube.com/watch?v=L0V6zmGP_oQ DeepLab v2 https://bitbucket.org/aquariusjay/deeplab-public-ver2 Introduction DeepLab is a state-of-art deep learning system for semantic

123

大城市里の小女人 提交于 2019-11-28 22:15:25
主要语义分割网络调研 介绍 图像的语义分割是将输入图像中的每个像素分配一个语义类别,以得到像素化的密集分类。虽然自 2007 年以来,语义分割/场景解析一直是计算机视觉社区的一部分,但与计算机视觉中的其他领域很相似,自 2014 年 Long等人 首次使用全卷积神经网络对自然图像进行端到端分割,语义分割才产生了大的突破。 网络架构 一般的语义分割架构可以被认为是一个 编码器-解码器 网络。 编码器 通常是一个预训练的分类网络,像 VGG、ResNet,然后是一个 解码器 网络。这些架构不同的地方主要在于 解码器 网络。 解码器 的任务是将 编码器 学习到的可判别特征(较低分辨率)从语义上投影到像素空间(较高分辨率),以获得密集分类。 不同于分类任务中网络的最终结果(对图像分类的概率)是唯一重要的事,语义分割不仅需要在像素级有判别能力,还需要有能将编码器在不同阶段学到的可判别特征投影到像素空间的机制。不同的架构采用不同的机制(跳跃连接、金字塔池化等)作为解码机制的一部分。 Fully Convolution Networks (FCNs) 全卷积网络 Fully Convolutional Networks for Semantic Segmentation(2015) 作者将当前分类网络(AlexNet, VGG net 和 GoogLeNet)修改为全卷积网络

DEEPLAB V3+代码解读前置

谁都会走 提交于 2019-11-28 13:21:29
官方的一些教程,包括最基本的指南下的内容 主要包括导入数据 低阶api两个部分: https://www.tensorflow.org/deploy/distributed 以及MonitoredTrainingSession https://www.tensorflow.org/api_docs/python/tf/train/MonitoredTrainingSession 用来训练 由于使用了slim,所以需要寻找slim教程: 代码使用的是research的slim https://github.com/tensorflow/models/tree/master/research/slim 下面是slim绝对成功的安装策略: https://blog.csdn.net/u013249853/article/details/92697960 基本就是将文件路径写到代码里面。 来源: https://blog.csdn.net/u013249853/article/details/100065953