礼节的英文译语怎么说-生活大爆炸第一季15
2023年4月1日发(作者:show off)
什么是卷积卷积有什么用
1.卷积的定义:
在泛函分析中,卷积、旋积或摺积(英语:Convolution)是通过两个函数f和g生成第
三个函数的一种数学算子,表征函数f与g经过翻转和平移的重叠部分函数值乘积对重叠
长度的积分。
简单定义:卷积是分析数学中一种重要的运算。
设:f(x),g(x)是R1上的两个可积函数,作积分:
可以证明,关于几乎所有的实数x,上述积分是存在的。这样,随着x的不同取值,这
个积分就定义了一个新函数h(x),称为函数f与g的卷积,记为h(x)=(f*g)(x)。
容易验证,(f*g)(x)=(g*f)(x),并且(f*g)(x)仍为可积函数。这就是说,把
卷积代替乘法,L1(R1)空间是一个代数,甚至是巴拿赫代数。
卷积与傅里叶变换有着密切的关系。利用一点性质,即两函数的傅里叶变换的乘积等于
它们卷积后的傅里叶变换,能使傅里叶分析中许多问题的处理得到简化。
由卷积得到的函数f*g一般要比f和g都光滑。特别当g为具有紧致集的光滑函数,f
为局部可积时,它们的卷积f*g也是光滑函数。利用这一性质,对于任意的可积函数f,
都可以简单地构造出一列逼近于f的光滑函数列fs,这种方法称为函数的光滑化或正则化。
卷积的概念还可以推广到数列、测度以及广义函数上去。
卷积是两个变量在某范围内相乘后求和的结果。如果卷积的变量是序列x(n)和h(n),
则卷积的结果
其中星号*表示卷积。当时序n=0时,序列h(-i)是h(i)的时序i取反的结果;时序取
反使得h(i)以纵轴为中心翻转180度,所以这种相乘后求和的计算法称为卷积和,简称卷
积。另外,n是使h(-i)位移的量,不同的n对应不同的卷积结果。
如果卷积的变量是函数x(t)和h(t),则卷积的计算变为
,
其中p是积分变量,积分也是求和,t是使函数h(-p)位移的量,星号*表示卷积。
2.卷积在工程和数学上都有很多应用:
统计学中,加权的滑动平均是一种卷积。概率论中,两个统计独立变量X与Y的和的概
率密度函数是X与Y的概率密度函数的卷积。声学中,回声可以用源声与一个反映各种反射
效应的函数的卷积表示。电子工程与信号处理中,任一个线性系统的输出都可以通过将输入
信号与系统函数(系统的冲激响应)做卷积获得。物理学中,任何一个线性系统(符合叠加
原理)都存在卷积。
介绍一个实际的概率学应用例子。假设需求到位时间的到达率为poisson()分布,需
求的大小的分布函数为D(.),则单位时间的需求量的分布函数为F(x):
其中D(k)(x)为k阶卷积。
卷积是一种线性运算,图像处理中常见的mask运算都是卷积,广泛应用于图像滤波。
castlman的书对卷积讲得很详细。
高斯变换就是用高斯函数对图像进行卷积。高斯算子可以直接从离散高斯函数得到:
for(i=0;i
{
for(j=0;j
{
g[i*N+j]=exp(-((i-(N-1)/2)^2+(j-(N-1)/2)^2))/(2*delta^2));
sum+=g[i*N+j];
}
}
再除以sum得到归一化算子
N是滤波器的大小,delta自选
首先,在提到卷积之前,必须提到卷积出现的背景。卷积是在信号与线性系统的基础上
或背景中出现的,脱离这个背景单独谈卷积是没有任何意义的,除了那个所谓褶反公式上的
数学意义和积分(或求和,离散情况下)。
信号与线性系统,讨论的就是信号经过一个线性系统以后发生的变化(就是输入输出
和所经过的所谓系统,这三者之间的数学关系)。所谓线性系统的含义,就是,这个所谓的
系统,带来的输出信号与输入信号的数学关系式之间是线性的运算关系。
因此,实际上,都是要根据我们需要待处理的信号形式,来设计所谓的系统传递函数,
那么这个系统的传递函数和输入信号,在数学上的形式就是所谓的卷积关系。
卷积关系最重要的一种情况,就是在信号与线性系统或数字信号处理中的卷积定理。利
用该定理,可以将时间域或空疾组词语 间域中的卷积运算等价为频率域的相乘运算,从而利用FFT
等快速算法,实现有效的计算,节省运算代价。
C++语言代码:
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
voidconvolution(float*input1,float*input2,float*output,
intmm,intnn)
{
float*xx=newfloat[mm+nn-1];
//doconvolution
for(inti=0;i
{
xx[i]=0.0;
for(intj=0;j
{
if(i-j>0&&i-j
xx[i]+=input1[j]*input2[i-j];
}
}
//setvaluetotheoutputarray
for(inti=0;i
output[i]=xx[i+(nn-1)/2];
d匣组词 elete[]xx;
}
3.卷积在图像处理上的应用
在图像处理中,卷积操作指的是使用一个卷积核对图像中的每个像素进行一系列
操作。
卷积核(算子)是用来做图像处理时的矩阵,图像处理时也称为掩膜,是与原
图像做运算的参数。卷积只愿君心似我心 定不负相思意 核通常是一个四方形的网格结构(例如3*3的矩阵或像素区域),
该区域上每个方格都有一个权重值。
使用卷积进行计算时,需要将卷积核的中心放置在要计算的像素上,一次计算
核中每个元素和其覆盖的图像像素值的乘积并求和,得到的结构就是该位置的新像素值。
以下两个算子中演示了具体的卷积计算过程。
定义:
即,其中h称为相关核(Kernel).
步骤:
•1)滑动核,使其中心位于输入图像g的(i,j)像素关于月亮的诗歌大全 上
•2)利用上式求和,得到输出图像的(i,j)像素值
•3)充分上面操纵,直到求出输出图像的所有像素值
【例】
原始像素矩阵为:
卷积模板h为:
计算输出图像的(2,4)元素=1*8+8*1+15*6+7*3+14*5+16*7+13*4+20*9+22*2=585
如图所示:
定义:
即
步骤:
-1)将核围绕中心旋转180度
-2)滑动核,使其中心位于输入图像g的(i,j)像素上
-3)利用上式求和,得到输出图像的(i,j)像素值
-4)充分上面操纵,直到求出输出图像的所有像素值
例:计算输出图像的(2,4)元素=1*2+8*9+15*4+7*7+14*5+16*3+13*6+20*1+22*8=575
如图所示:
四、边缘效应
当对图像边缘的进行滤波时,核的一部分会位于图小楼昨夜又东风江源东 像边缘外面。
常用的策略包括:
-1)使用常数填充:imfilter默认用0填充,这会造成处理后的图像边缘是黑色的。
-2)复制边缘像素:I3=imfilter(I,h,’replicate’);
1)低通滤波器(常用于计算模糊后的效果)
•
2)高斯滤波器(常用于计算高斯模糊后的效果)
高斯模糊的卷积核也是一个正方形的滤波核,其中每个元素通过以下公式计算得
出:
该公式中是标准方差(一般取值为1),x和y分别对应了当前位置到卷积核中心的
整数距离。通过这个公式,就可以计算出高斯核中每个位置对应的值。为了保证滤波后的图
像不会变暗,需要对高斯核中的权重进行归一化。
3)边缘检测(常用于计算图像边缘或者说梯度值)
我们将对下面这张图进行模糊处理:
以下为computeshader中关于卷积处理的代码:
[numthreads(32,32,1)]
voidDim_Main(uint3id:SV_DispatchThreadID)
{floatsumR=0;
floatsumG=0;
floatsumB=0;
floatsumA=0;
for(inti=-1;i<=1;i++)
{
for(intj=-1;j<=1;j++)
{
sumR+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].r*con
volutionTempBuffer[(i+1)*3+(j+1)];
sumG+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].g*con
volutionTempBuffer[(i+1)*3+(j+1)];
sumB+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].b*con
volutionTempBuffer[(i+1)*3+(j+1)];
sumA+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].a*con
volutionTempBuffer[(i+1)*3+(j+1)];
}
}
texBuffer[id.x*texWidth[0]+id.y].r=sumR;
texBuffer[id.x*texWidth[0]+id.y].g=sumG;
texBuffer[id.x*texWidth[0]+id.y].b=sumB;
texBuffer[id.x*texWidth[0]+id.y].a=sumA;
Result[]=float4(sumR,sumG,sumB,sumA);
}
效果如图所示:
图中可以明显的看到左右两边有明显的黑色线条,原图中是没有这样的黑色的,产生这
种效果的原因是本文中之前提到过的边缘效应。下面我将修改一部分代码去除边缘效应带来
的影响,这里使用的是相邻像素的值方法。
代码如下:
[numthreads(32,32,1)]
voidDim_Main(uint3id:SV_DispatchThreadID)
{
floatsumR=0;
floatsumG=0;
floatsumB=0;
floatsumA=0;
for(inti=-1;i<=1;i++)
{
for(intj=-1;j<=1;j++)
{
if((id.x+i)*texWidth[0]+(id.y+j)>texWidth[0]*texWidth[0]
-1)
{
sumR+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)-texW
idth[0]].假装的近义词 r*convolutionTempBuffer[(i+1)*3+(j+1)];
sumG+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)-texW
idth[0]].g*convolutionTempBuffer[(i+1)*3+(j+1)];
sumB+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)-texW
idth[0]].b*convolutionTempBuffer[(i+1)*3+(j+1)];
sumA+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)-texW
idth[0]].a*convolutionTempBuffer[(i+1)*3+(j+1)];
}
sumR+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].r*con
volutionTempBuffer[(i+1)*3+(j+1)];
sumG+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].g*con
volutionTempBuffer[(i+1)*3+(j+1)];
sumB+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].b*con
volutionTempBuffer[(i+1)*3+(j+1)];
sumA+=texBuffer[(id.x+i)*texWidth[0]+(id.y+j)].a*con
volutionTempBuffer[(i+1)*3+(j+1)];
}
}
texBuffer[id.x*texWidth[0]+id.y].r=sumR;
texBuffer[id.x*texWidth[0]+id.y].g=sumG;
texBuffer[id.x*texWidth[0]+id.y].b=sumB;
texBuffer[id.x*texWidth[0]+id.y].a=sumA;
Result[]=float4(sumR,sumG,sumB,sumA);
}
效果如图所示:
可以看到,图中左边的黑色线条已经被滤除,右边也可以采用类似的方法来剔除。实际
使用中,也可以根据情况使用纯色来做剔除,这样可以节省部分效率,如下图中我使用的是
纯白色来剔除边缘效应。
因此,相对于电子信息工程专业的学生,学好卷积的应用对于将来工作就业有非常重要
的意义。由此可知,数字信号处理课程属于专业基础课,有着非常重要的地位,其所涵盖的
内容主要有:离散时间信号与系统的基本概念及描述方法,离散傅立叶变换及快速傅立叶变
换,数字滤波器结构及设计等。
数字信号处理课程的特点是课程本身理论性强、公式推导较多、概念比较抽象,学生
常有枯燥难学之感。近年来,国外及国内有些学校对一般电类专业该课程的教学主要强调应
用性学习,主要介绍数字信号处理的用途和用法,而对其深奥的理论推导仅做一般介绍,并
给鞭辟入里是什么意思 学生提供进行实验的机会,以激发学生对该课程的兴趣和学习主动性。
对该课程的改革思想主要是课程内容要适应数字信号处理技术的发展现状,淡化枯燥的
数学推导,辅助以现代化教学手段,并开设相应的实验课。结合专业现状,将课堂教学一部
分变为多媒体教学,尽量将一些理论分析用图形手段展示出来,以增强学生的感性认识。实
验课主要是以MATLAB为平台,充分利用MATLAB的数字信号处顾恺之女史箴图 理工具箱提供的各种功能让学
生亲自动手将课堂所学进行仿真实现。实验课还可以通过用DSP试验箱实现数字信号处理的
功能向学生进行演示。
数字信号处理技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其
他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活
方式,因此受到人们普遍的关注。信息科学是研究信息的获取、传输、处理和利用的一门科
学,信息要用一定形式的信号来表示,才能被传输、处理、存储、显示和利用,可以说,信
号是信息的表现形式,而信息则是信号所含有的具体内容。
而随着技术的不断进步,芯片集成度和运算速度的提升,其体积更加的微型化,所以,
数字信号处理技术将会在家庭智能化中广泛应用。数字信号处理技术的发展最终会落实在D
SP芯片的发展上,一方面,通过多线程、多通道、超标量结构等技术提高芯片的性能;另一
方面将着眼于个性化和多元化定制中,可以制作出不同型号的数字信号处理芯片,供不同各
户的个性需求。
未来数字信号处理技术的发展将立足于环保和微型化两个方面,个性化需求必然会追求
更高的运算速度和底功耗以及小尺寸。低功耗是任何一个产品发展到一定程度的更高需求,
只有生产出低功耗的产品才能扩展产品的应用领域,产品应用领域的扩展必然会促进产品的
大规模生产,通过大规模的量产将会使得芯片的DSP器件的购买成本降低。
更多推荐
sumr是什么意思r在线翻译读音例句
发布评论