theano 实现图像局部对比度归一化
很多时候我们需要对图像进行局部对比度归一化,比如分块CNN的预处理阶段。theano对此提供了一些比较方便的操作。
局部归一化的一种简单形式为:
其中μ和σ分别为局部(例如3x3的小块)的均值和标准差。
利用代码说明一下如何实现:
import theano
import numpy
from theano.sandbox import neighbours
from theano import tensor as T
from theano import function
from skimage import io
import time patch = io.imread('test.jpg', True)
patch_batch = []
batch_size = 384 # 这里模拟批量处理多个图像块
for i in xrange(batch_size):
patch_batch.append(patch) _input = T.tensor3('_input') norm_input = T.reshape(_input, T.concatenate([(batch_size,1),_input.shape[1:]]), ndim=4) # neighbours.images2neibs(ten4, neib_shape, neib_step=None, mode='valid'),其中neib_shap为邻域大小,这里设置为3x3,
# neib_step指定步长,我们需要对每一个点进行归一化,因此设定为(1x1)
# 该函数返回一个shape为(batch_size x patch_width x patch_height, 9)的数组,每一行代表每个点的9个邻居
neibs = neighbours.images2neibs(norm_input, (3, 3), (1, 1), 'wrap_centered') _means = T.mean(neibs, axis=1)
_stds = T.std(neibs, axis=1) _flatten_input = _input.flatten()
normed_result = (_flatten_input - _means) / (_stds + 1 / 255) # 将结果重新reshape为图像大小
reshpaed_normed_result = T.reshape(normed_result, _input.shape) shared_patch = theano.shared(numpy.asarray(patch_batch, dtype=theano.config.floatX), borrow=True)
calc_norm = function([], reshpaed_normed_result, givens={_input:shared_patch}) start_time = time.clock()
dd = calc_norm()
end_time = time.clock() print end_time - start_time
theano 实现图像局部对比度归一化的更多相关文章
- 深度学习原理与框架-Tensorflow卷积神经网络-cifar10图片分类(代码) 1.tf.nn.lrn(局部响应归一化操作) 2.random.sample(在列表中随机选值) 3.tf.one_hot(对标签进行one_hot编码)
1.tf.nn.lrn(pool_h1, 4, bias=1.0, alpha=0.001/9.0, beta=0.75) # 局部响应归一化,使用相同位置的前后的filter进行响应归一化操作 参数 ...
- 局部响应归一化(Local Response Normalization,LRN)
版权声明:本文为博主原创文章,欢迎转载,注明地址. https://blog.csdn.net/program_developer/article/details/79430119 一.LRN技术介 ...
- OpenCV --- 修改图像的对比度、亮度 、RGB转Gray图像、修改图像的尺寸
#include <opencv2/core.hpp> #include <opencv2/imgcodecs.hpp> #include <opencv2/highgu ...
- 【C#/WPF】调节图像的对比度(Contrast)
关于对比度: 调节对比度直观感受是,高对比度的图像明暗关系更明显,色彩更鲜艳:低对比度的图像表面像是蒙上一层灰,色彩不鲜艳. 需求: 制作一个面板,一个滑动条,拖动滑动条可以修改目标图片的对比度. 资 ...
- OpenCV学习:改变图像的对比度和亮度
本实例演示简单地改变图像的对比度和亮度,使用了如下线性变换来实现像素值的遍历操作: The parameters α > 0 and β often called the gain and bi ...
- Python: PS 图像调整--对比度调整
本文用 Python 实现 PS 里的图像调整–对比度调整.具体的算法原理如下: (1).nRGB = RGB + (RGB - Threshold) * Contrast / 255 公式中,nRG ...
- 在AlexNet中LRN 局部响应归一化的理
在AlexNet中LRN 局部响应归一化的理 一.LRN技术介绍: Local Response Normalization(LRN)技术主要是深度学习训练时的一种提高准确度的技术方法.其中caffe ...
- 图像局部显著性—点特征(FREAK)
参考文章:Freak特征提取算法 圆形区域分割 一.Brisk特征的计算过程(参考对比): 1.建立尺度空间:产生8层Octive层. 2.特征点检测:对这8张图进行FAST9-16角点检测,得到具 ...
- 图像局部显著性—点特征(SURF)
1999年的SIFT(ICCV 1999,并改进发表于IJCV 2004,本文描述):参考描述:图像特征点描述. 参考原文:SURF特征提取分析 本文有大量删除,如有疑义,请参考原文. SURF对SI ...
随机推荐
- 解读浮动闭合最佳方案:clearfix
.clear{clear:both;height:0;overflow:hidden;} 上诉办法是在需要清除浮动的地方加个div.clear或者br.clear,我们知道这样能解决基本清浮动问题. ...
- 关于 XMLHttpRequest对象的onreadyStateChange方法
最近做了一个Ajax的demo,前台用HTML+javascript,后台用一个servlet来响应,流程如下: 页面点击链接事件,由js捕获,生成一个请求到后台,servlet处理后给出响应信息,并 ...
- table中的td内容超出隐藏
<table style="table-layout: fixed;width: XXX px"> <tr> <td style="whit ...
- bat中rar压缩命令
数据库备份,导出的dmp 文件比较大,需要压缩,压缩后大小能变为原来十分之一左右吧. 写的是批处理的语句,每天调用,自动导出dmp 文件,压缩删除原文件. 首先写下路径,先将压缩软件的路径写入系统的环 ...
- Sublime Text 2 配置(转载)
转载 自 Sublime Text 2 的详细配置(C++) 想起暑假在公司偷偷写题,用不惯vs ,配sublime 又一直编译不了...每次用codeblocks 眼泪掉下来www 下载sublim ...
- DEV控件中GridView中的复选框与CheckBox实现联动的全选功能
最初的界面图如图1-1(全选框ID: cb_checkall DEV控件名称:gcCon ): 要实现的功能如下图(1-2 1-3 1-4)及代码所示: 图1-2 图1-3 图1-4 O(∩_∩ ...
- IIS7 WebAPI 404.0 Error
<system.webServer><modules runAllManagedModulesForAllRequests="true"/></sys ...
- linux之PATH环境变量
在linux中,我们发现一些命令在任何目录都能执行,并不会出现找不到这个命令文件的提示,这其中就是PATH变量帮我们定位的!首先我们来查看一下PATH变量 [root@localhost /]# ec ...
- hdoj 5124lines
题意:给你n条线段,求被最多的线段覆盖的点被覆盖的次数 解法:我们可以将一条线段[xi,yi]分为两个端点xi和(yi)+1,在xi时该点会新加入一条线段,同样的,在(yi)+1时该点会减少一条线段, ...
- .NET截取指定长度汉字超出部分以"..."代替
/// <summary> /// 将指定字符串按指定长度进行剪切, /// </summary> /// <param name= "oldStr " ...