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

相关文章

图解TCP三次握手|深度解析|为什么是三次

写在前面 这篇文章我们来讲解析 TCP三次握手。 TCP 报文段 传输控制块TCB:存储了每一个连接中的一些重要信息。比如TCP连接表,指向发送和接收缓冲的指针,指向重传队列的指针,当前的发送和接收序列等等。 我们再来看一下TCP报文段的组成结构 TCP 三次握手 过程 假设有一台客户端,B有一台服务器。最初两端的TCP进程都是处于CLOSED关闭状态,客户端A打开链接,服务器端

基于深度学习 卷积神经网络resnext50的中医舌苔分类系统

项目概述 本项目旨在通过深度学习技术,特别是利用卷积神经网络(Convolutional Neural Networks, CNNs)中的ResNeXt50架构,实现对中医舌象图像的自动分类。该系统不仅能够识别不同的舌苔类型,还能够在PyQt5框架下提供一个直观的图形用户界面(GUI),使得医生或患者能够方便地上传舌象照片并获取分析结果。 技术栈 深度学习框架:采用PyTorch或其他

如何将卷积神经网络(CNN)应用于医学图像分析:从分类到分割和检测的实用指南

引言 在现代医疗领域,医学图像已经成为疾病诊断和治疗规划的重要工具。医学图像的类型繁多,包括但不限于X射线、CT(计算机断层扫描)、MRI(磁共振成像)和超声图像。这些图像提供了对身体内部结构的详细视图,有助于医生在进行准确诊断和制定个性化治疗方案时获取关键的信息。 1. 医学图像分析的挑战 医学图像分析面临诸多挑战,其中包括: 图像数据的复杂性:医学图像通常具有高维度和复杂的结构

深度学习基础--卷积的变种

随着卷积同经网络在各种问题中的广泛应用,卷积层也逐渐衍生出了许多变种,比较有代表性的有: 分组卷积( Group Convolution )、转置卷积 (Transposed Convolution) 、空洞卷积( Dilated/Atrous Convolution )、可变形卷积( Deformable Convolution ),下面分别介绍下。 1. 分组卷积 在普通的卷积操作中,一个

TCP三次握手详解!

TCP(Transmission Control Protocol) 传输控制协议 三次握手 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) UR

动画插值器Interpolation

插值器定义: 用于修改一个动画过程中的速率,可以定义各种各样的线性或非线性变化函数,比如匀速.加速.减速等。 说白了(也就是通俗的说):其实就是一个 时间的函数,用来 定义了动画的变化律 系统的插值器: 在Android中所有的插值器都是Interpolator 的子类,下面是几种插值器: AccelerateDecelerateInterolator  先加速后减速,

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention 文章目录 一、基本原理1. 变分模态分解(VMD)2. 双向时域卷积(BiTCN)3. 双向门控单元(BiGRU)4. 注意力机制(Attention)总结流程 二、实验结果三、核心代码四、代码获取五、总结 时序预测|变分模态分解-双向时域卷积

卷积神经网络(二)CIFAR100类别分类

一.数据介绍 总共一百个类,每个类有600个图像。每类500个训练图像,100个测试图像。没填图像都带有一个"精细"标签(它所属的类)核一个粗糙标签(它所属的超类)  二.API使用 用于构建CNN模型的API Conv2D:实现卷积,kernel_size,strides,padding,datafromat,'NHWC'核'NCHW' MaxPool2D:池化操作 impo

【python 走进NLP】从零开始搭建textCNN卷积神经网络模型

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能教程 1、众所周知,tensorflow 是一个开源的机器学习框架,它的出现大大降低了机器学习的门槛,即使你没有太多的数学知识,它也可以允许你用“搭积木”的方式快速实现一个神经网络,即使没有调节太多的参数,模型的表现一般还

【tensorflow 使用错误】tensorflow2.0 过程中出现 Error : Failed to get convolution algorithm

如果在使用 tensorflow 过程中出现 Error : Failed to get convolution algorithm ,这是因为显卡内存被耗尽了。 解决办法: 在代码的开头加入如下两句,动态分配显存 physical_device = tf.config.experimental.list_physical_devices("GPU")tf.config.experiment