论文1三维电阻率数据插值加密及数字图像插值的研究.docx
《论文1三维电阻率数据插值加密及数字图像插值的研究.docx》由会员分享,可在线阅读,更多相关《论文1三维电阻率数据插值加密及数字图像插值的研究.docx(30页珍藏版)》请在冰豆网上搜索。
![论文1三维电阻率数据插值加密及数字图像插值的研究.docx](https://file1.bdocx.com/fileroot1/2023-1/4/2f9b1dd0-afd5-4d9b-bca8-3c90df8b9ac3/2f9b1dd0-afd5-4d9b-bca8-3c90df8b9ac31.gif)
论文1三维电阻率数据插值加密及数字图像插值的研究
摘要
本文主要分析比较了不同的插值方法对于已有的电阻率数据运用插值加密后的效果并进行了一系列的评价。
针对问题一,对于三维空间的插值加密可以运用的有线性插值法、三次样条插值法、三次多项式插值法、最邻近插值法等,对各个插值方法进行的深入分析,理解各个一维插值公式的推导过程以及一维至三维的衍生原理,得出保证极值大小及空间位置不变的两种方法,继而通过直接证明以及间接证明,通过计算机对于给定数据的运算,验证两种方法的可行性。
最后采用得出的两种方法,最邻近插值法以及线性插值法,进行三维分析并建立数学模型,得出最后给定点的电阻率数据。
针对问题二,通过第一题的给出的线性插值法以及最邻近插值法,分别计算出网格大小1m*1m*1m上任意点的电阻率数据,对所得数据进行三维建模,即可得出在网格加密后的电阻率数据三维成像结果。
对于插值方法的由一维至三维的延伸,比较在一维延伸至三维时各个方法的计算量,评估出网格加密过程中计算复杂度及计算量大小。
同时运用1m*1m*1m以及10m*10m*10m网格大小上所有点的电阻率得出各种情况下的平均值及标准差。
针对问题三,用颜色图展示网格加密后的直观效果。
将最小值置为纯蓝色(RGB为(0,0,255)),中间值置为纯绿色(RGB为(0,255,0)),最大值置为纯红色(RGB为(255,0,0)),对于中间数值,运用RGB成色三维矩阵,找出电阻率数值大小与颜色坐标的对应函数关系,用计算机作出与要求完全相同的Z=40对应的原图像。
继而绘制出对切片Z=0,50分别给出原数据,两种方法加密网格后数据的颜色对比图。
以及对切片X=82,Y=47,Z=88,两种加密方法得到数据的颜色图。
针对问题四,对于不同插值方法的加密效果,可以通过加密后切片图像的清晰度来表示其加密效果的好坏。
将RGB三维矩阵转换为灰度数值,而对灰度进行若干种定量的表示即可反映数字图像清晰度。
得某一指定切片图像的灰度值,通过4种不同方法对灰度处理得出相应定量指标以评价图像清晰度,进而反映两种插值加密法的效果。
关键字:
线性插值法最邻近插值法RGB三维矩阵图像清晰度灰度
一、问题重述
在实际问题中,由于技术与测量成本等原因,我们不能对一个物体进行密集测量,而只能等间隔的选取部分点进行测量。
而实际中我们却需要更多位置的数据,这时候就需要采用数学的方法,根据已知位置的数据取计算位置位置的数据。
data3D.txt为某空间三维体电阻率数据文件,每一行为一个数据点,第一列为x坐标,第二列为y坐标,第三列为z坐标,第四列为对应坐标点的电阻率值。
这个数据文件中给出的坐标网格大小是10m*10m*10m,要求通过插值加密后获得网格大小为1m*1m*1m的三维电阻率数据,必须保证插值后的电阻率数据极值(包含最大值和最小值)与插值前的电阻率数据极值相等,并且极值出现的坐标位置相同。
另外,必须保证插值后的电阻率数据三维成像结果与插值前的电阻率数据三维成像结果形态基本一致,只是前者像素更高。
请你解决如下问题:
(1)请给出符合条件的两种计算方法,并给出相应数学公式,证明你的方法插值后的电阻率数据极值与位置不变。
采用你给出的两种方法,分别计算出空间某点(45.8,-32.7,68.2)处的电阻率数值。
(2)利用
(1)中你给出的两种方法,分别计算出网格大小为1m*1m*1m的三维电阻率数据,要求给出你的计算流程,并对两种方法的计算量或计算复杂性进行评估。
同时给出原网格数据及你采用两种方法加密网格后数据的平均值与标准差。
图1原数据成像图2插值加密后数据成像
(3)对加密网格后的直观效果,可采用颜色图展示。
颜色图就是用不同的颜色来表示每个像素。
如Z=40对应的原图像为图1,采用某种方法加密后得到的颜色图像如图2,从中可以看出像素提高了。
对每一幅需要对比显示效果的图,请将最小值置为纯蓝色(RGB为(0,0,255)),中间值置为纯绿色(RGB为(0,255,0)),最大值置为纯红色(RGB为(255,0,0)),中间数值采用过渡的颜色,可自行设计。
采用这种方法,请对切片Z=0,50分别给出原数据,两种方法加密网格后数据的颜色对比图。
另外分别对切片X=82,Y=47,Z=88,请给出两种加密方法得到数据的颜色图。
(4)对不同的插值加密方法的效果,你能否给出定量的指标。
请对你给出的指标,分别计算出你采用的两种不同加密方法得到数据的指标值,并给出你的评价。
二、问题分析
问题一:
问题要求给出两种符合上述条件的计算方法及其数学公式并证明,同时分别计算出空间某点的电阻率数值。
首先需要了解所有三维数据的插值方法。
在对所有插值法有了一个总体的认识后,深入研究各个插值法,理解一维插值公式的推导过程以及一维到三维的延伸。
通过其基本特性及原理,给出符合条件的两种计算方法并结合直接证明法及间接证明法,证明结论的准确性。
最后按两种不同方法对原数据进行建模,给出指定点的电阻率数据。
问题二:
问题要求用所求的两种插值法计算出1m*1m*1m的三维电阻率数据并进行基本统计,同时还将对两种插值法进行关于运算量的评估。
通过问题一的分析研究,我们可以得出该三维空间内任意点的电阻率数据,对所得数据进行三维建模,即可得到更细致的三维电阻率数据。
通过统计两种方法在一维的的计算量进而延伸至三维,可对两种方法的计算复杂性有一个大体的评估。
问题三:
问题要求采用颜色图的方式展示加密网格后的直观效果。
运用BRG成色原理,将按题目要求对两种方法所得的三维电阻率数据以及原数据分别进行建模,对不同大小的电阻率数据点进行区分,并以不同颜色呈现。
将最小值置为纯蓝色(RGB为(0,0,255)),中间值置为纯绿色(RGB为(0,255,0)),最大值置为纯红色(RGB为(255,0,0)),对于中间数值,找出电阻率数值大小与颜色坐标的对应函数关系,用计算机作出与要求完全相同的Z=40对应的原图像。
对比后即可确定正确与否以及切片的精确度。
问题四:
问题要求定量分析不同插值法对数据加密的效果,并给出评价。
加密后的效果由颜色图的方式直观展示,因此可以对某一指定切片图像的清晰度进行建模分析,得出一个定量指标以评价图像清晰度,进而反映两种插值加密法的效果。
三、模型假设
1、等间隔的选取部分中有着更密集的电阻率数据。
2、等间隔的选取部分的电阻率不会出现过大幅度的突变和振荡。
3、忽略其他因素如温度等对电阻率造成的影响。
四、符号约定
mid=电阻率中间值
max=电阻率最大值
min=电阻率最小值
m=电阻率数值
d=距离比
w=空间某点的电阻率
avg=电阻率平均值
sd=电阻率标准差
res=图像RGB数据
gray=图像灰度数据
D(x,y)=点(x,y)清晰度
I(x,y)=点(x,y)灰度
五、模型的建立与求解
问题一:
5.1.1
通过查阅相关资料,可以得到对于插值有如下概念:
在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。
插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。
插值的一个普遍应用于填充图像变换时像素之间的空隙。
鉴于本题给的均为三维数据,我们可以在MATLAB中调用三维插值函数(interp3),输入给定的有限离散数据,运用不同种的插值方法对原数据进行插值运算,估算出函数在其他点出的近似值。
通过查阅MATLAB中interp3的调用函数格式,我们可以得知interp3插值中可以使用的方法如下表:
插值方法
说明
linear(线性插值法)
Theinterpolatedvalueataquerypointisbasedonlinearinterpolationofthevaluesatneighboringgridpointsineachrespectivedimension.Thisisthedefaultinterpolationmethod.插值点与各个维度的两个数据点呈线性关系。
这是默认的插值方法。
nearest(最临近插值法)
Theinterpolatedvalueataquerypointisthevalueatthenearestsamplegridpoint.插值点是在最近的样本网格点的值。
spline(三次样条插值法)
Theinterpolatedvalueataquerypointisbasedonacubicinterpolationofthevaluesatneighboringgridpointsineachrespectivedimension.Theinterpolationisbasedonacubicsplineusingnot-a-knotendconditions插值点是基于立方插值的相邻网格点的值在每个各自的维度。
插值以三次样条为基础,默认使用not-a-knot结束条件
cubic(三次多项式插值法)
Theinterpolatedvalueataquerypointisbasedonacubicinterpolationofthevaluesatneighboringgridpointsineachrespectivedimension.Theinterpolationisbasedonacubicconvolution.插值点是各个维度相邻网格点基于立方插值的值。
插值以三次卷积为基础。
1)线性插值法
线性插值法是假设两个离散点之间的函数呈线性分布进行插值。
这种方法能将离散的数据点补差为连续函数。
一维线性插值相当于是在二
维平面内,我们把所有的已知的数据点用线段连接起来,如果数据足够多的话,就可以保证其精确性。
假设我们已知坐标(x0,y0)与(x1,y1),要得到[x0,x1]区间内某一位置x在直线上的y值。
根据图中所示,假设AB上有一点(x,y),可作出两个相似三角形,我们得到
由于x值已知,所以可以从公式得到y的值
已知y求x的过程与以上过程相同,只是x与y要进行交换。
2)最临近插值法
最临近插值法一种最基本、最简单的插值运算法。
它的思想非常简单。
顾名思义,对于需要插值的未知点,其值等于与其最临近的离散数据点的值。
假设我们已知坐标(x0,y0)与(x1,y1),要得到[x0,x1]区间内某一位置x在直线上的值。
通过最临近插值法,在定义域内补差其他点处的函数值,可知当x<=(x0+x1)/2时,y=y0;当x>(x0+x1)/2时,y=y1,如左下图所示。
右下图更加直观地显示了一维最临近插值法的插值结果。
其中离散的数数点以红点表示,插值点以蓝线表示。
1)三次样条插值法
三次样条插值(简称Spline插值)是通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程。
假设有以下节点
样条曲线
是一个分段定义的公式。
给定n+1个数据点,共有n个区间,三次样条方程满足以下条件:
a.在每个分段区间
(i=0,1,…,n-1x递增),
都是一个三次多项式。
b.满足
(i=0,1,…,n)
c.
,导数
,二阶导数
在[a,b]区间都是连续的,即
曲线是光滑的。
所以n个三次多项式分段可以写作:
,i=0,1,…,n-1
其中ai,bi,ci,di代表4n个未知系数。
根据插值连续性与微分的连续性,我们可以得出以下条件
从中可以得到共计n+n+(n-1)+(n-1)=4n-2个条件,但是我们需要确定4n的未知系数,因此我们通常添加2个边界条件,即可得到每段曲线的具体表达式。
3种比较常用的边界条件如下。
边界名称
条件
自由边界(Natural)
首尾两端没有受到任何让它们弯曲的力,即
固定边界(Clamped)
首尾两端点的微分值是被指定的,这里分别定为A和B。
非节点边界(Not-A-Knot)
指定样条曲线的三次微分匹配,即
4)三次多项式插值法
三次多项式插值法类似与三次样条插值,只是所求三次多项是不要求二阶导数
在[a,b]区间都是连续的。
同样最后我们也应添加1个边界条件,来得出每段曲线的具体表达式,在这里就不在赘述。
在了解一维插值加密的原理后,我们将推导出三维差值加密的方法。
二维插值加密时,每一个离散数据点的值将由两个自变量(x,y)决定。
因此我们将对两个自变量采用逐一插值的方法进行插值运算。
首先,在插值点的位置取X切片。
通过X切片,不难运用一维插值加密法,计算出插值点对自变量y的加密结果并将结果以数据点的形式分布在Y切片。
而后将新的数据点相对自变量x进行一维差值加密,最终得到二维的插值加密结果。
三维插值加密过程中,每一个离散数据点的值将有三个自变量(x,y,z)决定。
同理,根据切片的思想,对每一个数据点进行三次一维差值加密,进而得到三维的插值加密结果。
5.1.2符合条件的插值方法的推导及证明
题目要求所选的插值方法必须保证三维插值后的电阻率数据极值(包含最大值和最小值)与插值前的电阻率数据极值相等,并且极值出现的坐标位置相同。
在大体了解各种方法的基本运算原理后,我们可以给我两种符合条件的加密方法,即:
线性插值法与最临近插值法。
由于三维插值加密的本质相当于进行三次的一维插值加密,因此要保证三维插值后的电阻率数据极值以及极值点不变,我们必须保证每次的一维插值后的结果均满足上述条件。
即题目可转化成为:
证明一维插值后的电阻率数据极值及极值点不变。
下面我们将根据两种不同插值法的基本原理,分别给出证明:
直接证明法:
1.线性插值法
根据一维线性插值法的公式,我们得出插值后的电阻率数据的一段分布函数:
对此函数分析,我们可以得知它在区间内单调。
因此在此区间内,插值后的电阻率数据将不会改变该区间内的极值情况:
极大值极小值分布出现在两端给定的数据点。
由于线性插值是对相邻数据点进行两两分段分析,可知任意分段区间的电阻率数据遵循上述性质。
那么插值后的电阻率数据的极值仍将出现在原给定的数据点中,即极值及极值点与未插值加密前相等。
2.最临近插值法
据一维最临近插值法的定义,插值点取值只会在原给定的数据点中,并不会产生新的数值。
显然,插值后的电阻率数据极值(包含最大值和最小值)与插值前的电阻率数据极值相等。
3.间接证明法:
为进一步验证结论的正确性,我们将对给定的电阻率数据用四种不同计算方法进行三维插值加密,获得网格大小为1m*1m*1m的三维电阻率数据。
通过matlab编程,对所有三维电阻率数据进行数据分析统计,得出加密后数据的最值情况并记录,结果如下表所示。
通过观察,我们可以看出三次样条插值法与三次多项式插值法改变了插值前数据的最值大小,而线性插值法与最临近插值法的最值情况保持不变。
可以肯定的是,采用三次样条插值法与三次多项式插值法获得的三维电阻率数据的极值情况发生变化。
间接证明,采用线性插值法与最临近插值法加密不会改变电阻率数据的极值情况。
5.1.3三维空间内指定点的电阻率数值计算
三线性插值在matlab中可以直接调用函数
线性插值法函数:
interp3(x,y,z,v,x0,y0,z0,linear)
最临近插值法函数:
interp3(x,y,z,v,x0,y0,z0,nearest)
我们把电阻率数据data3D.txt这个文件导入matlab,通过interp3这个函数对10m*10m*10m电阻率数据建模解析,直接一步求出(45.8,-32.7,68.2)处的电阻率数值。
结果见下表:
插值方法
(45.8,-32.7,68.2)电阻率
线性插值法
194.269538983246
最临近插值法
194.965496055207
同样我们也可以用一维插值进行分三次插值分析。
第一次分析:
我们对y=-32.7的数据进行插值计算,matlab语言为yiwei21_11.m这个文件,可以直接得出在y=-32.7这个平面内的21*11个点的电阻率,得出的数据为yiwei21_11.txt这个文件。
第二次分析:
然后再对这个y=-32.7这个平面内的21*11个数据进行线性分析插值分析,matlab语言为yiwei11.m这个文件,就可以得出在x=45.8,y=-32.7这条线上的11个点的电阻率,得出数据为yiwei11.txt这个文件。
第三次分析:
最后对这11个数据进行线性插值分析,matlab语言为yiwei1.m这个文件,最后得出在x=45.8,y=-32.7,z=68.2这个点位置处的电阻率。
结果见下表:
插值方法
(45.8,-32.7,68.2)电阻率
线性插值法
194.269538983246
最临近插值法
194.965496055207
可见,三次一维线性插值分析的结果与三维插值分析结果相同。
问题二:
5.2.1两种插值法进行三维加密的计算流程
通过问题一的分析研究,我们已经可以得出该三维空间的任一点的电阻率数据。
为了得到完整的网格大小为1m*1m*1m的三维电阻率数据,我们需要对原离散的数据点进行建模,重复三维加密过程,为所有1m*1m*1m的三维空间点进行插值,即可计算出更细致的三维电阻率数据。
由问题一可知,三次一维插值分析的结果与三维插值分析的结果相同。
那么我们可以把一点的三维插值的计算流程分解为三次一维插值的计算流程的总和。
三维转一维插值计算流程如下:
问题需要分析对比两种插值法的计算量,由于两种插值法在一点到多点,一维到三维的计算流程相同,我们只需细致分析两种插值法的一维的运算量。
5.2.2两种插值法计算量的评估
1.线性插值法
根据一维线性插值的计算公式:
可知插值数据的得出,需要8次运算。
2.最临近插值法
根据根据一维最临近插值的计算公式:
可知插值数据的得出,需要3次运算。
对比分析两种方法一维插值的计算量,线性插值的计算量近最临近插值的3倍。
因此,线性插值较之最邻近插值更为复杂,其计算量要大得多。
因为最邻近插值就仅仅只是要求我们判断和赋值就可以了,但是线性插值则需要我们进行带入方程运算,运算复杂度要比最邻近值高得多。
5.2.3两种插值法加密数据的平均值与标准差。
对原网格数据及之前得到的网格大小为1m*1m*1m的三维电阻率数据,进行统计分析得到原网格数据及两种方法加密网格后数据的平均值与标准差。
插值方法
平均值avg
标准差ad
原数据
197.2689
13.7332
线性插值法
196.6577
14.0306
最临近插值法
196.6754
14.6247
对比可知,无论采用何种插值方法,由于数据点的增加,均会降低数据的平均值;同时提高数据的标准差,说明数据的离散度提高。
问题三:
5.3.1模型建立
通过寻找一种数学方法使得能够把一个数转化成为一个乘三的矩阵,这样就可以通过matlab把这个乘三的矩阵读取成为颜色,然后再在坐标图上用颜色来表示其大小。
5.3.2
问题回顾:
对于Z=40时所对应的原图像,图1,以及某种方法加密后得到的颜色图如图2,
图1原数据成像图2插值加密后数据成像
题目中指出,对每一幅需要对比显示效果的图,最小值为纯蓝色(RGB为(0,0,255)),中间值为纯绿色(RGB为(0,255,0)),最大值为纯红色(RGB为(255,0,0)),而中间数值则要求使用过渡的颜色。
5.3.3问题分析
根据RGB颜色图的基本原理,一个颜色有三个通道,R通道,G通道,B通道,而本题要求的即是考虑用不同的颜色来表示不同的电阻率数据大小。
即,对于一个给定的电阻率数据,将其由一维上的数据换算成颜色上的三维通道数据,
这里可以使用res(x,y,1)来表示红色通道,res(x,y,2)来表示绿色通道,res(x,y,3)来表示蓝色通道,对于数据中最大值最小值以及中间值,题干中已经给出,故其颜色和位置已经固定,即最小值对应蓝色,res(x,y,1)=0,res(x,y,2)=0,
res(x,y,3)=1,而中间值对应的绿色,res(x,y,1)=0,res(x,y,2)=1,res(x,y,3)=0,对于最大值对应的红色,res(x,y,1)=1,res(x,y,2)=0,res(x,y,3)=0。
而其他的任意一个电阻率数据,判断这个数所对应的颜色矩阵,可以通过它相对于最大值最小值以及中间值的大小位置,来确定颜色矩阵。
即,首先判定这个电阻率数值大小位于最大值和中间值之间或者是在最小值和中间值之间,进而得出这个数距中间的距离比。
5.3.4数学运算
这里函数关系如下
Mid=中间值
Max=最大值
Min=最小值
M=电阻率数值
D=距离比
当Min则该点处的RGB可以表示为(0,1-D,D),颜色显示为纯绿色和纯蓝色之间;
当Mid则该点处的RGB可以表示为(D,1-D,0),颜色显示为纯绿色和纯红色之间。
通过这种方法,将任一切面上的所有数据转换成了RGB颜色三维矩阵,通过颜色的不同可以表示他们的大小的不同,即可得出所要求的图像。
运用这种方法,首先得出z=40切片上的图像,如下,并可与题干中图像进行分析比较
原数据图像三线性插值加密后图像
由上图可以看出,编码以及结果符合题目要求。
5.3.5答案展示
根据写出的matlab程序,以及原始网格大小是10m*10m*10m时的数据,和由题目二中得出的网格大小为1m*1m*1m的三维电阻率数据,找出当z=0时的原始数据以及加密后的电阻率数据。
对所得的切面数据进行上述的转换,即是用颜色矩阵表示切面上各个电阻率数值,用MATLAB进行绘图,即可得到所需切面的颜色图,展示结果如下图所示(图中纯红色为最大值位置,纯绿色为中间值位置,纯蓝色为最小值位置)
z=0时的原数据切片成像
z=0时三线性插值加密后的图像z=0时最邻近插值加密后的图像
同样的,我们可以在原始数据中找出z=50切面的电阻率数据,并根据题目二中得出的网格大小为1m*1m*1m的三维电阻率得出z=50切面数据,继而通过颜色映射关系用matlab进行相同的运算后得出z=50时三种情况切面图:
z=50时的原数据切片成像
z=50时三线性插值加密后的图像z=50时最邻近插值加密后的图像
同理,我们可以得到当x=82时的切片的加密后图像
x=82三线性插值加密后的图像x=82最邻近插值加密后的图像
同理,得到当y=47时的切片的两种加密后图像
y=47三线性插值加密后的图像y=47最邻近插值加密后的图像
同理,得到当z=88时的切片的两种加密后图像
Z=88三线性插值加密后的图像z=88最邻近插值加密后的图像
问题四:
5.4.0运用三维坐标图定性的评价不同插值加密效果
对于不同的插值加密效果,可以一定程度上从定性角度进行分析,如题目三中任一切面上的颜色图,即可定性评价插值加密效果,这里,除了题目三中介绍的方法外,可以通过做出不同插值加密方法