自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

翻译 几种常见的梯度算法总结

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

2018-09-07 21:54:33 12035

原创 Bilateral Upsample

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

2018-09-06 22:11:54 7835 4

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

   这是2017 siggraph的一篇论文,寒假boss让我看这篇论文我没怎么看懂。最近在公司实习,发现该论文的成果已经移到手机端上了,效果还非常不错。这里我重新温习了一下这篇论文,发现有许多可以借鉴的地方,是一篇非常不错的论文,这里重新叙述一下,谈谈我的理解。    首先说一下这篇文章的整体思路,这篇文章对于图像增强的方法是,将图像首先做下采样,继续卷积下采样几次然后分别学习其全局特征和局...

2018-08-20 00:01:16 11758 2

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

deeplab-v3   在看deeplab-v3之间简要了解一下deeplab-v1和deeplab-v2网络。deeplab-v1网络主要是在保持feature map不变小的情况下,尽可能的增大感受野,这里采用了空洞卷积的方法,最后加上全连接的条件随机场进行优化。    deeplab-v2主要是参考了多尺度在深度学习里的优点,设计了不同的空洞卷积核,从而获得不同的感受野,如下图所示:...

2018-08-18 18:30:23 2604

原创 引导滤波

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

2018-08-18 14:47:43 2420

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

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

2018-08-17 23:16:43 8175 1

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

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

2018-08-11 22:32:12 1785

原创 获得tensorflow模型的参数量

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

2018-08-11 17:25:58 9781 8

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

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

2018-08-05 23:16:41 869

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

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

2018-08-05 21:09:20 6857

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

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

2018-07-30 00:34:22 2443

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

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

2018-07-29 22:12:54 2870 1

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

   研究生的方向是计算机视觉和图像处理,虽然现在基本都是依赖深度学习的方法,但是传统的一些图像算法里的一些概念还是要简要了解一些,深入理解可以查看链接参考大佬们写的教程。SIFT   SIFT的全称是Scale Invariant Feature Transform,即尺度不变特征变换。SIFT可以提取位置、尺度、旋转不变量,具有极好的稳定性,具体关于SIFT的了解可以参考这些:1....

2018-07-28 23:35:22 872

原创 cycleGAN

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

2018-07-27 22:12:18 5574 2

原创 亚像素

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

2018-07-22 15:52:06 13498 3

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

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

2018-07-21 23:22:59 1127

原创 Instance norm

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

2018-07-20 21:18:37 6310 1

原创 WGAN-GP

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

2018-07-08 23:16:03 3370 2

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

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

2018-07-01 23:02:23 3670 3

原创 tf.depth_to_space和torch.nn.pixel_shuffle

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

2018-07-01 22:49:51 11801 3

原创 常见图像格式了解

   通常相机获取的raw图像就是原始的图像,对raw图像进行处理后可以得到很多种类型的图像,如png,jpg等等,因为做Low-level问题的图像处理经常接触这些格式,感觉有必要了解一下。jpg格式   jpg格式是一种有损压缩的图像,且压缩后恶化的图像无法还原,一般来说占用内存小,且对色彩信息保留较好。jpeg格式   与jpg比较类似,文件相对jpg格式大一些,主要...

2018-06-30 22:42:31 701

原创 几种GAN

   最近听几场讲座都听到了一些有关GAN的应用,今年GAN更是刷了很多会议论文,了解一些常用的GAN网络,对于后面做科研还是做工程项目都很有帮助。一般的GAN网络存在着以下一些问题:训练不稳定,需要平衡生成器和判别器之间的训练;缺乏相应指示GAN训练好坏的指标等。下面依次简要介绍目前常用的几种GAN:WGAN,LSGAN,DCGAN。WGAN   WGAN是Wasserstein G...

2018-06-30 19:41:38 2192

原创 阅读论文《LLCNN: A convolutional neural network for low-light image enhancement》

  这是2017年VCIP的一篇论文,使用神经网络对暗光下的图像作增强。使用的网络基本结构如下图所示:   网络由一个卷积层输入,一个卷积层输出,中间由若干卷积模块组成,特征数均为64。卷积模块参考残差网络和inception的结构,先分成两路送入,然后将两路输出直接相加,相加后结果再通过一个残差相加。如下所示:   网络使用SSIM-Loss,正常的MSE...

2018-06-27 23:04:30 3225 4

原创 图像采样方法

最邻近插值(Nearest Neighbour Resampling)   这种插值方法根据源图像和目标图像之间的相对位置来将目标图像上像素确定为相对源图像上相对位置的像素值,对于任意一幅源图像来说,假设放大后目标图像的宽为Dw高为Dh,任意目标像素点(Dx, Dy)在源图像上的位置为: Sx=Dx∗(Sh/Dh)//rowSx=Dx∗(Sh/Dh)//rowSx= Dx * (Sh/Dh...

2018-06-27 21:39:56 9186

转载 反卷积

   反卷积又被称为转置卷积(transpose convolution),一般被认为是卷积的逆过程,这样我们首先来看一下卷积的过程: 令:input-size:i,kener-size:k,stride:s,padding-size:p,那么output-size为: o=[i+2p−ks]+1o=[i+2p−ks]+1o=[\frac{i+2p-k}{s}]+1 same padding...

2018-06-24 22:20:04 897

原创 tensorflow的mnist改写成pytorch

   最近公司使用算法要用pytorch,所以本人暂时放弃使用tensorflow,为了练手pytorch,本人首先使用pytorch将tensorflow版本的mnist转换成pytorch版本,tensorflow原版本如下所示:from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.r...

2018-06-17 23:01:44 2032

原创 Dncnn,U-net了解

最近做公司的项目接触到了这些,因此了解一下U_net   U-net,顾名思义,是一个U型的网络,最初用来做图像分割。是一种编码器-解码器结构。编码器逐渐减少池化层的空间维度,解码器逐步修复物体的细节和空间维度。编码器和解码器之间通常存在快捷连接,因此能帮助解码器更好地修复目标的细节。U-Net 是这种方法中最常用的结构,结构如下图所示:   左侧为一个下采样过程...

2018-06-17 22:35:48 3863

原创 图像raw数据

bayer格式数据   bayer格式数据,其一般格式是,奇数行为RGRG,偶数行一般为GBGB。在获取图像时,如果采集rgb数据,需要三块滤镜且完全对齐,这无疑是非常麻烦的一件事。在实际中发现人眼对绿色更敏感,bayer格式图片在一个滤镜上设置不同颜色,绿色格式数目是r和g像素之和。如下图所示:   每一个像素仅仅包括光谱的一部分,所以可以通过插值的方法去恢复像素的RGB...

2018-06-17 22:33:19 6931

原创 阅读论文《Learning to See in the Dark》

   这是2018CVPR的一篇论文,旨在说明使用深度学习的方法使得暗光条件下的图像更明显。一般来说低光照条件下的图像噪点更多,使用一些方法增强图像或是引入更多的噪点,或是由于曝光时间过长导致抖动产生图像上的模糊。而目前增强暗光图像的方法还不试用于非常暗光和非常短曝光时间的图像,所以文章认为可以充分利用raw类型的数据进行图像增强。如下图所示,一般增强后的图像中噪点非常多: ...

2018-06-17 22:32:25 2208 2

原创 阅读论文《Loss Functions for Image Restoration With Neural Networks》

   这是去年计算成像学领域的一篇论文(链接:https://ieeexplore.ieee.org/document/7797130/ ),重在讨论如何损失函数对图像恢复的影响。在目前的图像恢复任务中主要使用的还是L2损失函数,L2损失的好处有很多,例如可以直接提高PSNR等指标。但是L2指标与人类感知的图像质量相关性较差,例如其假设噪声与图像的局部区域无关。在有些情况下,L1损失函数获得的图像...

2018-06-08 20:42:59 5961

原创 准确率,精确度,召回率的概念

   时间较紧,所以本周复习以下前两周面试问过的这些概念,简要说一说:   下面的符号含义:TP-将正预测为真,FN-将正预测为假,FP-将反预测为真,TN-将反预测为假。准确率   准确率是对给定数据集,分类正确样本个数和总样本数的比值。即: Precision=TP+TNTP+FN+FP+TNPrecision=TP+TNTP+FN+FP+TNPrecision=\frac{T...

2018-06-07 23:43:15 15081 3

原创 opencv操作(2):一些杂知识

   本周事情较多,所以在这个上面画的时间少了一点,主要是更改了一个C++源码,链接:https://blog.csdn.net/qq_35724402/article/details/60466536。更改后如下所示:import cv2import argparseimport numpy as npdef main(args): img = cv2.imread(a...

2018-06-05 22:29:09 182

原创 使用tensorflow实现logistic回归

   逻辑回归原理很简单,这里不再赘述,我使用tensorflow的思路和前面一样,还是利用Supervisor模块(这个确实好用啊),argparser和logging日志模块。实现代码如下:import sysreload(sys)sys.setdefaultencoding('utf-8')import tensorflow as tfimport loggingimport...

2018-06-05 17:24:24 699

原创 阅读论文《The Perception-Distortion Tradeoff》

   这是2018CVPR的一篇论文(原论文地址:https://arxiv.org/abs/1711.06077),论文主要说明感知质量和图像失真程度并不是完全对应的。基于深度网络的特征失真可能更好的表示图像感知质量的好坏,而使用GAN网络可以获得具有较好感知质量效果的图像。失真-感知之间存在一个可以实现的区域,在这个可以实现的区域里失真程度和感知质量并不是完全的相关,也就是失真较大时感知质量也...

2018-06-03 14:26:29 2699

原创 使用tensorflow实现线性回归

   线性回归的原理很简单,这里不赘述。使用tensorflow实现线性回归这个功能,麻雀虽小,五脏俱全。主要包括以下几个部分: 1、产生数据。 2、声明输入变量和待学习的变量。 3、定义运算节点,也就是如何得到预测值。 4、定义损失函数loss。 5、对损失函数进行优化。    和网上一般的教程不一样,这一次我使用tensorflow的supervisor功能进行迭代训练,在迭代过程...

2018-06-01 20:36:16 397

原创 opencv操作(1):一些杂知识

代码转换   原文地址为https://blog.csdn.net/dcrmg/article/details/53677739 。本人使用opencv的python版本这里面的操作进行了一下转换。代码如下所示:import cv2import numpy as npimport math# Histogram Equalizationimg1 = cv2.imread('i...

2018-05-31 21:07:11 257

原创 softmax和logistic回归的区别和联系

   首先先说结论,两者的主要不同体现在(1)softmax用来解决多分类问题,lr解决二分类问题(2)softmax输出每一类的概率值,并确定概率最大的类是正确的,lr只区别是还是不是。事实上softmax是lr的一般情况。下面具体来看。1.Logistic回归   一般线性分类器的是通过输入一系列的样本数据,学习一组权重系数w0w0w_0,w1w1w_1…wnwnw_n来进行分类,...

2018-05-30 19:17:47 4946

原创 双边滤波

   最近学习的过程中接触到了双边滤波这个操作,之前在看hdrnet的时候就已经看到过这样的概念,一直没有认真领会双边滤波这个操作,现在好好看一看。    双边滤波中的双边是指同时考虑两条边,即空间域和值域。对空间域的处理和高斯滤波一样,根据距离远近的不同给予不同的权值。值域则是考虑邻域范围内像素的差值计算出滤波系数,类似于αα\alpha截尾均值滤波器。其公式如下: g(i,j)=Σk,lw...

2018-05-27 16:37:58 721

原创 BN层学习

   BN层,顾名思义嘛,就是归一化的作用,在深度学习里很常用,这里来简要梳理一下BN层的相关知识.1 BN层引出的目的   神经网络在进行训练时,主要是用来学习数据的分布规律,如果数据的训练部分和测试部分分布不一样,那么网络的泛化能力会变得非常差.而且对于训练的数据,每批分布也是不一样的,那么网络在迭代的过程中也要学习和适应不同的分布.这会大大降低网络的训练速度.此外,数据的分布对于...

2018-05-22 20:32:56 1760

原创 阅读论文《 Real-Time Neural Style Transfer for Videos》

这是2017腾讯AI Lab的一篇论文,当前阶段主要关注空间上图像质量的风格转换,对于时间方面的后续在做视频时再补充。空间风格转换   和DPED一样,论文的idea是将网络分成了生成网络和损失网络两个部分,生成网络用来生成图片,损失网络用来产生损失函数方便训练。下面对这两个部分分别介绍一下:生成网络部分   在生成网络部分,这里应该是用了之前一些论文的思想,使用三个卷积层先将图像分辨率降为原来的四

2018-03-29 15:46:35 1283

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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