点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自:opencv学堂

图像卷积最常见的一个功能就是输出模糊(smooth)图像,通过卷积实现了像素的扩散效应,常见的卷积操作是由卷积核+输入图像组成,卷积核(filter)是一个窗口区域,在输入图像上从左到右,从上到下进行窗口范围内系数与像素值的点乘求和操作,输出作为中心像素点的卷积结果。对图像进行卷积模糊的效果如下:

图像反卷积的含义是对模糊图像进行反向模糊去除,让图像重新变得清晰化,本质上是一种图像去模糊算法,而且它可以看出是图像卷积模糊的反向操作,OpenCV在其3.4版本中新增了移动图像去模糊算法,通过反卷积操作实现。其原理主要是基于PSF进行重新估算模糊半边,然后进行反向卷积算计得到。简单的模糊图像与反卷积/去模型效果如下:关于深度学习中的卷积层作用与声明,可以参考公众号文章:
卷积神经网络是如何实现不变性特征提取的
深度学习中的反向卷积
深度学习中的反向卷积跟图像的反卷积去模糊有本质区别,深度学习中的反向卷积本质上是转置卷积操作,常见在图像语义分割网络FCN、对抗生成网络中DCGAN中。专置卷积的作用对卷积层的解码,实现从低维特征向量向高维特征空间的映射,生成与输入大小完全一致的feature maps。对于一个正常的卷积操作:输入是4x4大小,卷积核3x3大小,步长是1,输出是2x2大小,如果对它们近一步分析就是知道,输入是4x4=16维度的数据,输出是2x2=4维的数据,展开的卷积核权重系数如下:它是一个16x4的矩阵,现在我们需要输入是4维度,输出是16维度,相当于对这个矩阵进行了转置操作,转置卷积就是这样出来的。常见的转置卷积操作有如下两种:单位步长
填充周围为零,通过填充输入来计算转置卷积,通过这种方式把反向/转置卷积,当成一个正常的卷积操作。输入2x2,输出4x4,步长1,卷积核3x3,操作演示如下:分步步长
通过对每一行每一列分步进行填充,得到输入填充好的输入,然后再进行正常的卷积操作,这种方法更加的合理。输入=3x3,填充=2,步长等于1的分步卷积方式的转置操作输出5x5的feature显示如下:在这里需要特别注意的是上述对转置卷积的步长跟正向卷积的步长不是一样的,单位步长的转置卷积步长=S,输入图像H=W=N,则输出图像大小为 H=W=SXN,这个必须保持一致。
Tensorflow中转置卷积代码演示如下:
import tensorflow as tfimport numpy as npdef test_conv2d_transpose():    # input (batch_size, height, width, channels) - 2x2x1 image in batch of 1    x = tf.constant(np.array([[        [[1], [2]],        [[3], [4]]    ]]), tf.float32)# 3x3x1 filter    f = tf.constant(np.array([        [[[1]], [[1]], [[1]]],        [[[1]], [[1]], [[1]]],        [[[1]], [[1]], [[1]]]    ]), tf.float32)# transposed-convolution operator    conv = tf.nn.conv2d_transpose(x, f, output_shape=(1, 4, 4, 1), strides=[1, 2, 2, 1], padding='SAME')# run it    with tf.Session() as session:        result = session.run(conv)        print(result)assert (np.array([[        [[1.0], [1.0],  [3.0], [2.0]],        [[1.0], [1.0],  [3.0], [2.0]],        [[4.0], [4.0], [10.0], [6.0]],        [[3.0], [3.0],  [7.0], [4.0]]]]) == result).all()
test_conv2d_transpose()
下载1:OpenCV-Contrib扩展模块中文版教程在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。下载2:Python视觉实战项目52讲在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。下载3:OpenCV实战项目20讲在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。交流群欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

深度学习中的反向卷积相关推荐

  1. 一文读懂深度学习中的各种卷积

    来源|机器之心 我们都知道卷积的重要性,但你知道深度学习领域的卷积究竟是什么,又有多少种类吗?研究学者 Kunlun Bai 发布了一篇介绍深度学习的卷积文章,用浅显易懂的方式介绍了深度学习领域的各种 ...

  2. 卷积有多少种?一文读懂深度学习中的各种卷积

    点击上方"视学算法",选择"星标"公众号 精选作品,第一时间送达 本文选自towardsdatascience 作者:Kunlun Bai 公众号机器之心整理 ...

  3. 干货|卷积有多少种?一文读懂深度学习中的各种卷积

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 我们都知道卷积的重要性,但你知道深度学习领域的卷积究竟是什么,又有 ...

  4. 万字长文带你看尽深度学习中的各种卷积网络

    来源:AI科技评论 摘要:深度学习中的各种卷积网络大家知多少? 深度学习中的各种卷积网络大家知多少?对于那些听说过却又对它们没有特别清晰的认识的小伙伴们,这篇文章非常值得一读.Kunlun Bai 是 ...

  5. 收藏 | 一文读懂深度学习中的各种卷积

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手 ...

  6. 形象理解深度学习中八大类型卷积

    https://www.toutiao.com/a6657010098780504589/ 2019-02-12 15:26:40 本文总结了深度学习中常用的八大类型的卷积,以非常形象的方式帮助你建立 ...

  7. 深入理解深度学习中的【卷积】和 feature map

    深入理解深度学习中的卷积和feature map        虽然深度学习和CNN的概念已经传遍大街小巷,本文还是说一说CNN中的卷积.        本文主要介绍卷积层的结构.下图显示了CNN中最 ...

  8. 机器学习(深度学习)中的反向传播算法与梯度下降

    这是自己在CSDN的第一篇博客,目的是为了给自己学习过的知识做一个总结,方便后续温习,避免每次都重复搜索相关文章. 一.反向传播算法 定义:反向传播(Backpropagation,缩写为BP)是&q ...

  9. tensorflow一维卷积输入_深度学习中的反卷积(Transposed Convolution)

    反卷积(Transposed Convolution)是一种图像上采样(UpSample)的方法,在DCGAN中用它来将随机采样的值转换为一张完整的图像. DCGAN生成手写数字.图片来源[5] Tr ...

最新文章

  1. TorchVision中通过AlexNet网络进行图像分类
  2. Spring 教程(三) 环境设置
  3. eclipse svn提交忽略文件及文件夹,ignore设置无效..
  4. PHP使用session_set_save_handler陷阱
  5. 利用blink+MQ实现流计算中的超时统计问题
  6. java获取多线程执行结果几种方式小结
  7. 百度推出挖掘机自动驾驶技术:操作不输蓝翔
  8. arm-linux-gcc 命令未找到问题
  9. 软件技术论坛_NASAC 2019技术论坛: 系统软件构造与验证技术
  10. 美图秀秀计算机教程,如何用美图秀秀换背景?美图秀秀换背景图文教程-电脑教程...
  11. 怎么完整卸载mysql_如何完整卸载Mysql数据库
  12. Java 编码规范8(编程规约-注释规约与其它)
  13. 三星手机败走中国,血战印度
  14. app store connect
  15. STM32 HAL库函数学习 UART篇
  16. gba模拟器ios_不越狱iOS设备安装GBA模拟器 GBA4iOS 方法
  17. 最近抖音火爆特效蚂蚁呀嘿制作教程。
  18. hibernate中lazy的使用
  19. 阿拉伯数字中文oracle,【oracle】中文数字转阿拉伯数字
  20. 一篇文章让你搞懂,Python文件操作

热门文章

  1. AI一分钟 | 北京开放自动驾驶车辆路测道路105公里;阿里将人工智能引入时尚界...
  2. 京东金融将发布重量级技术与数据产品 招募合作伙伴共拓蓝海市场
  3. AI一分钟 | 阿里与南洋理工成立AI联合研究院;传蔚来汽车拟赴美IPO,融资20亿美元
  4. 首次使用批处理框架 Spring Batch ,被震撼到了,太强大...
  5. 公司终于决定放弃微服务传统设计模式,全面拥抱 DDD!
  6. Linux纯干货知识总结 | 面试专用
  7. 华人团队用Transformer做风格迁移,速度快、可试玩,网友却不买账
  8. 高考623分却说自己是“反面教材”?外卖小哥最新发声!
  9. Scikit-learn 更新至 0.24 版,这 10 个新特性你需要了解
  10. 清华博士找工作7个月没着落,本科学历影响几时休?