cubic convolution interpolation (三次卷积插值)

2024-05-16 12:48

本文主要是介绍cubic convolution interpolation (三次卷积插值),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

算法来源:Cubic convolution interpolation for digital image processing

文章只对一维情形进行分析,二维类似。

许多插值函数能够写成形式(其中是插值点,u是基函数(文章中叫插值核),h是采样间隔,是参数)

通过插值,用来近似

cubic convolution interpolation 中插值核u定义为子区间(-2,-1),(-1,0),(0,1),(1,2)上的分块三次多项式,并且在(-2,2)外为0。插值核必须是对称的(我也不知为啥),这就意味着,u有如下形式:

插值核必须有(这是基函数定义吧,为了方便计算,如果不这么定义的话,cj计算就比较麻烦)。因此有

因此,u必须满足:u(0)=1,u(1) = u(2)=0,且连续,即满足以下方程:

更进一步假设u'连续,得:

这里有七个方程,但是有八个未知量,所以至少有一个自由变量。[1]中采用。在这篇paper里面,将选择一个,使得有更高阶的近似(假设设原函数至少存在三阶连续导数)。


先假设,则,解出u为:

假设x是任意一个点,它的值将由插值得到。设,令

由于,插值函数能够被写成:

进一步,由于u在(-2,2)外为0,且0<s<1,(5)可写为:

将(4)知:

代入(6),得到:

假设存在三阶连续导数。由泰勒公式得到(注意是大O):

类似的:

将这三个式子代入(7),得到:

由于, 将进行Taylor展开,得到:

(12) - (11)得到:

为了使得能够以更高阶地近似,则有,这就得出.这时有:

最终得到:

下面分析边界条件。可以看到前面的结果用了,但是,现实情况中采样是有限的,在边界的时候,这些值是不知道的,这就使我们必须处理好边界。

假设所有采样点位于[a,b]中且.我们要做的,就是估计。按照前面的公式(6),的插值为:

将(15)代入,得到:

对比的泰勒展开)要使得g是f的三阶近似,即,就必须有的系数为0.

由此得到:。接下来要验证确实有

代入(18),有

将f,在各位置进行Taylor展开,得到:

代入(20)得到:


由:

两式相减,得到确实有

同样的,可以得到:

我们计算出后,就可用插值函数对各点求插值了。

二维情形的插值函数为:


边界条件:


[1]  Rifman S S. Digital rectification of ERTS multispectral imagery[J]. 1973.

这篇关于cubic convolution interpolation (三次卷积插值)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994954

相关文章

YOLOv8改进 | SPPF | 具有多尺度带孔卷积层的ASPP【CVPR2018】

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40+篇内容,内含各种Head检测头、损失函数Loss、Backbone、Neck、NMS等创新点改进——点击即可跳转 Atrous Spatial Pyramid Pooling (ASPP) 是一种在深度学习框架中用于语义分割的网络结构,它旨

【图像识别系统】昆虫识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50

一、介绍 昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集(‘蜜蜂’, ‘甲虫’, ‘蝴蝶’, ‘蝉’, ‘蜻蜓’, ‘蚱蜢’, ‘蛾’, ‘蝎子’, ‘蜗牛’, ‘蜘蛛’)进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一

TCP与UDP_三次握手_四次挥手

TCP vs UDP TCP数据 具体可以通过Cisco Packet Tracer工具查看: UDP数据 三次握手、四次挥手 为什么是3/4次?这牵扯到单工、双工通信的问题 TCP建立连接:表白 TCP释放连接:分手 TCP—建立连接—三次握手 解释: 首先,启动服务器,让服务器进入监听状态(监听客户端的连接请求)。客户端向服务器发送同

RNN循环卷积神经网络

1.定义 RNN (Recurrent Neural Network,RNN)循环卷积神经网络,用于处理序列数据。 序列数据:按照一定的顺序排列的数据,可以是时间顺序、空间顺序、逻辑顺序。 eg:电影、语言 2.特点 传统神经网络模型无法处理可变长度的输入。 传统神经网络模型 传统神经网络模型无法处理可变长度的输入,但是RNN通过循环的方式对当前输入和历史输入进行处

海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow

一、介绍 海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物(‘蛤蜊’, ‘珊瑚’, ‘螃蟹’, ‘海豚’, ‘鳗鱼’, ‘水母’, ‘龙虾’, ‘海蛞蝓’, ‘章鱼’, ‘水獭’, ‘企鹅’, ‘河豚’, ‘魔鬼鱼’, ‘海胆’, ‘海马’, ‘海豹’, ‘鲨鱼’, ‘虾’, ‘鱿鱼’, ‘海星’, ‘海龟

MATLAB-SSA-CNN-SVM,基于SSA麻雀优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类)

MATLAB-SSA-CNN-SVM,基于SSA麻雀优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类) 1.数据均为Excel数据,直接替换数据就可以运行程序。 2.所有程序都经过验证,保证程序可以运行。 3.具有良好的编程习惯,程序均包含简要注释。 结果展示 获取方式 https://mbd.pub/o/bread/mbd-ZpeYkpZw

【课程总结】Day10:卷积网络的基本组件

前言 由于接下来的课程内容将围绕计算机视觉展开,其中接触最多的内容是卷积、卷积神经网络等…因此,本篇内容将从卷积入手,梳理理解:卷积的意义、卷积在图像处理中的作用以及卷积神经网络的概念,最后利用pytorch搭建一个神经网络。 卷积的理解 卷积其实是一个数学概念 在第一次接触到"卷积"的概念时,我与大多数人的想法类似,首先想的问题是,“卷积"到底是怎样的一个"卷”? 在网上搜索卷积的概念

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-27含并行连结的网络GoogLeNet

27含并行连结的网络GoogLeNet import torchfrom torch import nnfrom torch.nn import functional as Fimport liliPytorch as lpimport matplotlib.pyplot as pltclass Inception(nn.Module):# c1--c4是每条路径的输出通道数def

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-28批量规范化

28批量规范化 """可持续加速深层网络的收敛速度"""import torchfrom torch import nnimport liliPytorch as lpimport matplotlib.pyplot as pltdef batch_norm(X, gamma, beta, moving_mean, moving_var, eps, momentum):"""实现一个具有

iOS 网络相关面试题(TCP、三次握手、四次挥手、代码实现)

一、TCP的特点和报文结构 1、面向连接、可靠传输、面向字节流、全双工服务 2、TCP的报文结构 TCP报文段由首部字段和一个数据字段组成。 数据字段包含一块应用数据。最大报文长度MSS(Maximum Segment Size)限制了报文段数据字段的最大长度。MSS选项用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度。 所以当TCP发送一个大文件(比如一张高清图