引导滤波器联合上采样代码
引导滤波器联合上采样代码
- 引导滤波器联合上采样代码
引导滤波器联合上采样代码
代码片
.
// 盒型滤波器代码
import torch
from torch import nndef diff_x(input, r):assert input.dim() == 4left = input[:, :, r:2 * r + 1]middle = input[:, :, 2 * r + 1: ] - input[:, :, :-2 * r - 1]right = input[:, :, -1: ] - input[:, :, -2 * r - 1: -r - 1]output = torch.cat([left, middle, right], dim=2)return outputdef diff_y(input, r):assert input.dim() == 4left = input[:, :, :, r:2 * r + 1]middle = input[:, :, :, 2 * r + 1: ] - input[:, :, :, :-2 * r - 1]right = input[:, :, :, -1: ] - input[:, :, :, -2 * r - 1: -r - 1]output = torch.cat([left, middle, right], dim=3)return outputclass BoxFilter(nn.Module):def __init__(self, r):super(BoxFilter, self).__init__()self.r = rdef forward(self, x):assert x.dim() == 4return diff_y(diff_x(x.cumsum(dim=2), self.r).cumsum(dim=3), self.r)// 引导滤波器代码
from torch import nn
from torch.nn import functional as F
from torch.autograd import Variablefrom .box_filter import BoxFilterclass FastGuidedFilter(nn.Module):def __init__(self, r, eps=1e-8):super(FastGuidedFilter, self).__init__()self.r = rself.eps = epsself.boxfilter = BoxFilter(r)def forward(self, lr_x, lr_y, hr_x): #x_lr, w_lr, x_hrn_lrx, c_lrx, h_lrx, w_lrx = lr_x.size()n_lry, c_lry, h_lry, w_lry = lr_y.size()n_hrx, c_hrx, h_hrx, w_hrx = hr_x.size()assert n_lrx == n_lry and n_lry == n_hrxassert c_lrx == c_hrx and (c_lrx == 1 or c_lrx == c_lry)assert h_lrx == h_lry and w_lrx == w_lryassert h_lrx > 2*self.r+1 and w_lrx > 2*self.r+1## NN = self.boxfilter(Variable(lr_x.data.new().resize_((1, 1, h_lrx, w_lrx)).fill_(1.0)))## mean_xmean_x = self.boxfilter(lr_x) / N## mean_ymean_y = self.boxfilter(lr_y) / N## cov_xycov_xy = self.boxfilter(lr_x * lr_y) / N - mean_x * mean_y## var_xvar_x = self.boxfilter(lr_x * lr_x) / N - mean_x * mean_x## AA = cov_xy / (var_x + self.eps)## bb = mean_y - A * mean_x## mean_A; mean_bmean_A = F.upsample(A, (h_hrx, w_hrx), mode='bilinear')mean_b = F.upsample(b, (h_hrx, w_hrx), mode='bilinear')return mean_A*hr_x+mean_b
引导滤波器联合上采样代码相关推荐
- 基于Opencv--图像上采样
基于Opencv-图像上采样 文章目录 基于Opencv-图像上采样 代码实现 代码实现 // 图像上采样.cpp 主要应用于图像像素扩增技术#include <opencv2/opencv.h ...
- 三种上采样的方式总结
三种上采样方式总结 在GAN,图像分割等等的网络中上采样是必不可少的.这里记录一下自己学到的三种上采样方式:反卷积(转置卷积),双线性插值+卷积,反池化. 反卷积(转置卷积) 卷积只会减小或不变输入的 ...
- opencv——上采样与降采样
目录 图像金字塔 为什么要使用图像金字塔 上采样与降采样 高斯金字塔 高斯不同 拉普拉斯金字塔 相关API 上采样 降采样 上采样与降采样代码实现 代码 效果 先降采样再上采样代码实现 高斯不同代码实 ...
- 利用联合双边滤波或引导滤波进行升采样(Upsampling)技术提高一些耗时算法的速度。...
这十年来,在图像处理领域提出了很多新的图像分析和处理方法,包括是自动的以及一些需要有人工参与的,典型的比如stereo depth computations.image colorization.to ...
- JBU联合双边上采样
很多图像处理算法,如立体视觉中的深度估计,图像上色,高动态范围HDR中的tone mapping,图像分割,都有一个共性的问题:寻找一个全局的解,这个解是指一个分段的piecewise平滑含糊,描述了 ...
- 【三维深度学习】点云上采样网络PU-Net 代码分析
PU-Net的代码是基于Tensorflow code,并从PointNet++和PointSetGeneration中进行了诸多借鉴.PU-Net是一个点云上采样模型,可以将非规则的点云输入通过点云 ...
- 上采样 介绍 + Bilinear pytorch代码解析
上采样 上采样,任何可以让你的图像变成更高分辨率的技术. 最简单的方式是重采样和插值:将输入图片input image进行rescale到一个想要的尺寸,而且计算每个点的像素点,使用如双线性插值bil ...
- PU-Net:一种基于数据的3D点云上采样网络
点击上方"视学算法",选择"星标" 干货第一时间送达 论文下载: https://openaccess.thecvf.com/content_cvpr_2018 ...
- 点云的无序性_PU-Net:解决3D点云数据的上采样问题
作者:Danny明泽 论文下载: https://openaccess.thecvf.com/content_cvpr_2018/papers/Yu_PU-Net_Point_Cloud_CVPR_2 ...
- FCN全卷积网络—upsampling(上采样)——OpenCV图像金字塔
一.上采样理论 1.1 bilinear 1.2 Deconvolution(反卷积) 1.3 unpooling 二.OpenCV金字塔:高斯金字塔.拉普拉斯金字塔与图片缩放 一.上采样理论 FCN ...
最新文章
- Https 公钥、私钥、证书
- stm32f102 SPI口重复初始化引起的问题及解决办法
- 服务器里面发邮件,通过SMTP中继服务器发送邮件的问题
- 盘一盘常见的6种索引失效情况
- DOM增删操作(创建删除表格)
- OpenCv平滑与模糊
- JSon数据操作示列
- linux防火墙配置怎么修改密码,Linux系统修改防火墙配置
- 【论文复现】ARBITRAR : User-Guided API Misuse Detectionl
- SpringBoot源码分析(二)之自动装配demo
- 计算机usb端口没反应,解决电脑USB接口没反应的小方法
- Ubuntu16.04安装有道词典
- c++中的typename与class
- 【springboot进阶】RestTemplate 集成 okhttp3 请求带p12证书
- 涨姿势|小众建模软件MakeHuman,人物角色建模基础入门教程(1)
- 去掉QTableView、QTreeView内item被选中时的虚线框
- VUE教程(持续更新中)
- 映泰Hi-Fi B150S5 主板来电后电脑自动开机问题
- c语言 extend 函数,jQuery中$.extend()数组合并用法
- 用 Go STL 查询 DB 引发的内存泄露
热门文章
- 设计链表python(leetcode707)
- Github每日精选(第35期):移动设备数据库Realm
- FAST-LIO2代码解析(四)
- 在Android上使用TensorFlow Lite结果和AI危害检测
- 换个角度感受华为云的GPU云服务器
- 我给浏览器加了个语音搜索功能
- [web开发] Vue+Spring Boot 上海大学预约系统开发记录
- 如何搭建自己的CI/CD平台:Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台(持续集成部署Hexo博客Demo)
- matlab 小波变换程序,matlab 小波变换
- centos防火墙的关闭,硬盘挂载,yum配置,创建实验快照