【机器学习】tensorflow:图像空间域逆滤波初步

相比上两篇文章的逆滤波解法,tensorflow的最优化解法更加高效、简明,往往构建出滤波最优化公式就可以让tensorflow自动最优化,逆向得到目标逆滤波图像。tensorflow逆滤波的实现原理可以参考【图像处理】时域最小二乘逆滤波的最优化快速解法

with tf.device('/gpu:0'):
    initial = tf.random_normal([1,252,252,1]) * 0.256
    X = tf.Variable(initial)#图像作为变量
    A=tf.placeholder("float", shape=[dia,dia,1,1])#卷积核是输入常量
    B=tf.placeholder("float", shape=[1,252,252,1])#滤波图像作为输入常量
    mu = 0.001
    loss = tf.nn.conv2d(X,A,strides=[1,1,1,1],padding='SAME')
    loss = loss - B
    loss = tf.reshape(loss,[252*252,-1])
    X_ravel = tf.reshape(X,[252*252,-1])
    loss = tf.nn.l2_loss(loss)+mu*tf.reduce_mean(tf.abs(X_ravel))#L1#tf.nn.l2_loss(X_ravel)#L2
    train_op = tf.train.GradientDescentOptimizer(0.5).minimize(loss)

其中图像大小为252x252。tensorflow中,输入图像的坐标意义为[颜色通道,x,y,批处理大小],卷积核坐标意义为[x,y,输入数据个数,输出feature map个数]。我们构建好这个L1/L2最小化模型,启动tensorflow求解即可,几秒钟就可以得到结果。结果如下图所示,振铃现象有点重,修改L1/L2正则化阈值可以削减振铃,但是清晰度会有影响,所以最优化就是一个协调的过程。这里写图片描述

源码:https://github.com/artzers/MachineLearning/blob/master/Tensorflow/Least%20Square%20Deconv.ipynb

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值