几种常见的梯度算法总结

   在深度学习项目里常常用到一些梯度学习算法,最常见的我们使用的SGD,Adagrad,Adam,RMSProp和momentum,这里参考网上别人写的教程简要理解一下这些梯度下降算法。 SGD    说SGD,就必须先说一下批量梯度下降BGD,其训练的是整个训练集的梯度,即: θ=θ...

2018-09-07 21:54:33

阅读数 327

评论数 0

Bilateral Upsample

   bilateral的原理和方法已经了解过,借鉴Bilateral的方法进行上采样,可以使用输入的图像作为先验,引导低分辨图像恢复成原分辨的图像,这里简要介绍如下: 1.首先看一下联合双边滤波(JBF),这个东西简要理解的话,就是将经过处理后得到的低分辨小图,通过最近邻插值的方法进行放大,然...

2018-09-06 22:11:54

阅读数 255

评论数 0

阅读论文《Deep Bilateral Learning for Real-Time Image Enhancement》

   这是2017 siggraph的一篇论文,寒假boss让我看这篇论文我没怎么看懂。最近在公司实习,发现该论文的成果已经移到手机端上了,效果还非常不错。这里我重新温习了一下这篇论文,发现有许多可以借鉴的地方,是一篇非常不错的论文,这里重新叙述一下,谈谈我的理解。    首先说一下这篇文章的整...

2018-08-20 00:01:16

阅读数 608

评论数 0

常见的图像分割网络了解(下)

deeplab-v3    在看deeplab-v3之间简要了解一下deeplab-v1和deeplab-v2网络。deeplab-v1网络主要是在保持feature map不变小的情况下,尽可能的增大感受野,这里采用了空洞卷积的方法,最后加上全连接的条件随机场进行优化。    deeplab...

2018-08-18 18:30:23

阅读数 386

评论数 0

引导滤波

   引导滤波即需要引导图的滤波,其和双边滤波一样,是一种保边滤波算法。在引导滤波中使用的是局部线性模型,即函数上某一点与其附近点成线性关系。需要计算一个函数上某一点时,只要得到关于该点的线性解析式即可。    所以若输入的图像是I,输出图像是q,那么输出图像在窗口内的像素值与...

2018-08-18 14:47:43

阅读数 299

评论数 0

loss收敛过小或finetune时跑飞情况分析

   最近在跑REDNet去噪网络,基于pytorch框架,输入输出图像被归一化到了0-1之间,loss使用的是L2 loss,理论最终收敛值为33左右。结果在之前训练好模型的基础上finetune,出现了这种情况:    当使用L1或者输入为0-255时,并没有出现这种情况...

2018-08-17 23:16:43

阅读数 811

评论数 0

常见的图像分割网络了解(中)

RefineNet    这个网络主要针对使用膨胀卷积在不进行下采样扩大感受野出现的限制(限制高层特征和输出尺度只能为输入的1/8,膨胀卷积导致严重的细节损失),以及FCN8-s不能有效利用中间层信息。这里认为所有层的信息对于语义分割都是有帮助的。高层的信息识别图像的区域类别,底层有利于保留轮廓...

2018-08-11 22:32:12

阅读数 364

评论数 0

获得tensorflow模型的参数量

   tensorflow模型训练好之后,通常会保存为.ckpt文件,有时我们想了解一下模型保存了多少参数,这固然可以手动计算,但是速度太慢,这里我写了一个程序可以直接获得模型的参数量,下面是源代码: from tensorflow.python import pywrap_tensorfl...

2018-08-11 17:25:58

阅读数 458

评论数 0

一些图像基本算法的了解2(LBP,Haar)

LBP    LBP,是局部二值模式的简称,用来描述图像局部纹理特征的算子。原始的LBP特征定义在3*3的窗口里,以窗口中心像素为阈值,将相邻的八个像素与其进行比较,若大于该像素,则标记为1,否则为0。这样就可以得到8位的二进制数,转换成十进制数就是该窗口中心元素的LBP值,如下图所示: ...

2018-08-05 23:16:41

阅读数 97

评论数 0

常见的图像分割网络了解(上)

   虽然本人目前的方向是图像增强,但是个人感觉还是要多了解别的方向的东西,有些思路可以借鉴到后面的工作中。这里简要参考别人的博客来了解一下常见的图像分割网络的结构和原理。 FCN    这是最早用来做分割的网络了。FCN的原理就是,将传统的CNN用于分类的全连接层转换成卷积层,具体操作是...

2018-08-05 21:09:20

阅读数 818

评论数 0

阅读论文《Deep Photo Enhancer: Unpaired Learning for Image Enhancement from Photographs with GANs》

   这篇论文主要用来非对齐图像的增强,这里只简要介绍一下文章的idea。这篇文章主要有三个创新点,分别如下: 1、对U-net进行修改,增加提取全局特征进行学习。 2、对WGAN进行改进,可以自动调整其权重系数。 3、在生成器中添加可以学习特定风格的individual BN层。 下面进...

2018-07-30 00:34:22

阅读数 422

评论数 0

使用tensorflow实现卷积的几种操作

   这里简要总结一下tensorflow实现卷积操作的几种写法,定义方式有很多。例如使用一个9x9的卷积核将一个三通道图像转换成64通道的feature,遇到过的有以下一些: 直接定义就写    这种写法简单粗暴,一边定义卷积核、偏置和卷及操作一边写,优点是操作灵活,但是代码量太大尤其是...

2018-07-29 22:12:54

阅读数 393

评论数 0

一些图像基本算法的了解1(SIFT,HOG)

   研究生的方向是计算机视觉和图像处理,虽然现在基本都是依赖深度学习的方法,但是传统的一些图像算法里的一些概念还是要简要了解一些,深入理解可以查看链接参考大佬们写的教程。 SIFT    SIFT的全称是Scale Invariant Feature Transform,即尺度不变特征变...

2018-07-28 23:35:22

阅读数 181

评论数 0

cycleGAN

   传统GAN的原理已经了解,写博客还是为了学习新东西,cycleGAN网上已经有了很多介绍,这里也是参考别人写的东西,自己再学习了解。    cycleGAN个人感觉主要可以用于风格迁移,可以用来处理图像转换过程中数据unpair的问题。其本质是两个对称的GAN,构成一个环形网络。两个GAN...

2018-07-27 22:12:18

阅读数 423

评论数 0

亚像素

   最近接触到一些和subpixel相关的操作,对亚像素相关基本概念还不是很了解,所以这里想了解一下。    在相机成像的过程中,获得的图像数据是将图像进行了离散化的处理,由于感光元件本身的能力限制,到成像面上每个像素只代表附近的颜色。例如两个感官原件上的像素之间有4.5um的间距,宏观上它们...

2018-07-22 15:52:06

阅读数 1342

评论数 1

从图像转换到txt和从txt读取图片,并使用tensorflow实现epoch无重复迭代

   闲话少说,从图像转换成txt非常简单,直接附代码,如下所示: import os import random def generate(dir): files = os.listdir(dir) print('****************') print(...

2018-07-21 23:22:59

阅读数 260

评论数 0

Instance norm

   本来这周已经写好了轻量级网络的总结(mobilenet和shufflenet),可是没有来得及保存然后电脑就关机了,写博客也是为了学习东西,所以也不打算重新再写了。还是简要写一下最近用到的instance norm。    在目前的GAN和style transfer的任务中,目前的IN ...

2018-07-20 21:18:37

阅读数 645

评论数 1

WGAN-GP

   最近做项目用到了GP-WGAN,所以感觉有必要了解一下,这里简要参考别人的博客自己做一个总结吧。    GAN通过训练判别器和生成器来使得生成器生成的数据分布上尽可能和真实样本的分布完全一致。但是在GAN训练的过程中常常会存在训练不稳定的现象。因此蒙特利尔大学的研究者对WGAN进行改进,提...

2018-07-08 23:16:03

阅读数 1178

评论数 2

阅读论文《LOW-LIGHT IMAGE ENHANCEMENT USING CNN AND BRIGHT CHANNEL PRIOR》

  这是2017年ICIP的一篇论文,使用一个联合架构对图像进行增强。首先,是一个去噪网络;然后使用可以自动根据通道亮度优先设置转换函数的增强网络;此外,还设定了一个额外的估测周围环境亮度的过滤器。   过去的方法包括基于retinex理论的方法,这个方法假定去除光照影响可以增强低照图像,但是这...

2018-07-01 23:02:23

阅读数 534

评论数 0

tf.depth_to_space和torch.nn.pixel_shuffle

   最近做项目用到了这两个函数,本人经过仔细对比,认为它们的功能应该是完全一样的,都是将一个较多通道的特征变成较少通道的特征,具体定义如下: def depth_to_space(input, block_size, name=None):    block_size用来说明数据移动的方...

2018-07-01 22:49:51

阅读数 1431

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭