CN101261733A - 利用任意内核滤波器对数据进行滤波的方法 - Google Patents
利用任意内核滤波器对数据进行滤波的方法 Download PDFInfo
- Publication number
- CN101261733A CN101261733A CNA2008100829207A CN200810082920A CN101261733A CN 101261733 A CN101261733 A CN 101261733A CN A2008100829207 A CNA2008100829207 A CN A2008100829207A CN 200810082920 A CN200810082920 A CN 200810082920A CN 101261733 A CN101261733 A CN 101261733A
- Authority
- CN
- China
- Prior art keywords
- kernel filters
- kernel
- filter
- filters
- input data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000001914 filtration Methods 0.000 title claims description 67
- 230000004044 response Effects 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000010354 integration Effects 0.000 claims description 9
- 238000013459 approach Methods 0.000 claims description 3
- 230000000877 morphologic effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000009977 dual effect Effects 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- ZZUFCTLCJUWOSV-UHFFFAOYSA-N furosemide Chemical compound C1=C(Cl)C(S(=O)(=O)N)=CC(C(O)=O)=C1NCC1=CC=CO1 ZZUFCTLCJUWOSV-UHFFFAOYSA-N 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 241001553178 Arachis glabrata Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000000631 nonopiate Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了利用内核滤波器对输入数据进行滤波的计算机实现方法。定义内核滤波器,并针对所述内核滤波器确定唯一滤波器系数的集合。针对每个唯一滤波器系数构建关联集合,以使得所述关联集合包括到所述内核滤波器中具有相同滤波器系数的位置的相关链接,其中每个相关链接是所述唯一滤波器系数的位置的反。通过以下方式对每个输入数据点进行处理,即,各个所述唯一滤波器系数与以所述内核滤波器为中心的值进行乘积运算,并将该乘积运算的结果与由所述相关链接所引用的对应的输出数据点进行求和。
Description
技术领域
本发明总体上涉及滤波数据,更具体地说,涉及利用任意内核滤波器(kernel filter)滤波数据。
背景技术
在信号和数据处理中,更具体地说,在图像处理中,内核滤波器经常被应用于输入数据以产生增强的输出数据。内核滤波器通过将函数应用于数据集合中的每个点来工作。典型地,内核滤波器包括内核和在该内核上定义的函数。内核(通常为2D图像中的矩形像素区域)针对函数指定支持区域。该函数通常为滤波器系数的矩阵的形式。矩阵的系数为确定内核中的每个点对生成滤波器响应的贡献的乘法因数。在所有底层(underlying)输入数据与滤波器系数相乘之后,通过对乘积求和来确定当前点处的响应。通过选择不同的内核函数,可以执行不同类型的滤波。
滤波在计算方面要求很高。因此,常规方法试图将原始内核拆解(break down)成例如使用尺度空间表示的更小内核的卷积,见P.Burt,“Fast filter transforms for image processing”,Computer Vision,Graphics andImage Processing,vol 16,20-51,1981。对于给定的图像,线性尺度空间表示是由信号与高斯内核的卷积定义的派生信号(derived signal)族,通过同时对信号进行平滑和欠采样来进行所述卷积。以这种方式,可以获得计算上高效的方法。
然而,进行所有与大内核集合的卷积需要大量的乘法运算。因此,还可以设计2D滤波器内核,并随后将滤波器分解成多个可分离的一维滤波器或级联表示的和,见J.Crowley,R.Stern,“Fast computation of thedifference of low-pass transform”,IEEE Trans.Pattern Anal.Machine Intell,vol.6,212-222,1984,P.Heckbert,“Filtering by repeated integration”,ACMSIGGRAPH Computer Graphics vol.20:4,315-321,1986,以及W.Wells,“Efficient synthesis of Gaussian filters by cascaded uniformfilters”,IEEE Trans.Pattern Anal.Machine Intell.,vol.8:2,234-239,1986。这可以通过使用2D内核的特征值展开或者奇异值(singular value)分解(SVD)来实现,见W.S.Lu,H.P.Wang,A.Antoniou,“Design of 2D FIR digital filtersby using the singular value decomposition”,(IEEE Trans.CircuitsSystem,vol.37,35-36,1990),这里通过引用并入这些文献。
通过利用2D高斯函数的可分离性,可以将各向异性或定向的独立高斯内核分解成一维高斯滤波器,所述一维高斯滤波器在非正交方向上后面紧跟着另一个滤波器,J.M.Geusebroek,A.Smeulders,J.Weijer,“Fastanisotropic Gauss filtering”,IEEE Transaction on ImageProcessing,vol.12:8,2003。所述方法允许使用卷积和递归策略来进行边缘和脊(ridge)地图的快速计算。
求和盒滤波器(sum-box filter)技术通过对求和盒滤波器的转换的输出求和来将较大内核线性滤波器近似为一因子,J.Shen,W.Shen,S.Castan,T.Zhang,“Sum-box technique for fast linearfiltering”,Signal Process.,vol.82:8,1109-1126,2002。该方法不需要乘法运算。该方法使用关于尺度样条函数的分析。该方法仅通过加法运算就可以实现与较大滤波器内核的卷积。盒技术可以通过乘法运算来实现高斯滤波器,但是不能与高斯滤波器之外的线性滤波器一起使用。
另一种方法基于模糊域增强方法,和递归与可分离低通滤波器,H.Tang,T.Zhuang,E.X.Wu,“Realizations of fast 2-D/3-D image filtering andenhancement,IEEE Trans Medical Imaging”,vol.20:2,32-40,2001。它们独立地处理每个像素并对动态范围和局部变化进行修改。该方法也仅可适用于高斯函数。
一种方法基于自适应确定的指定非局部应用点的矢量场来求解非线性偏微分方程,B.Fischl,E.L.Schwartz,“Adaptive non-local filtering:A fastalternative to anisotropic diffusion for image enhancement”,IEEETrans.Pattern Anal.Machine Intell.,vol.21:1,42-48,1999。该方法加快了图像增强的速度,但是并不适用于线性滤波器。
许多滤波方法使用取向估计(orientation estimation)来适应局部空间纹理(local spatial texture)。这通常意指通过各向异性滤波来进行取向的采样。对于线性取向尺度空间,各向异性高斯函数是最合适的因果滤波器(causal filter)。通常通过一组可操纵的各向异性滤波器来进行取向分析。
Freeman等描述了这样的条件,在所述条件下,可以通过基础滤波器(basis filter)的线性组合将滤波器调谐为具体取向,W.T.Freeman,E.H.Adelson,“The design and use of steerable filters”,IEEETrans.Pattern Anal.Machine Intell.,vol.13,891-906,1991。根据它们的框架,不存在用于旋转各向异性高斯的准确基础。
P.Perona描述了用于生成与各向异性高斯函数近似的有限基础的方法,“Steerable-scalable kernels for edge detection and junction analysis”,Image Vis.Comut.,vol.10,663-672,1992。然而,基础滤波器的数量大,并且基础滤波器是不可分离的,这要求较高的计算性能。
存在使用可重新配置的硬件和适应处理器的软件来加速滤波处理的其他方法。特别是针对利用金字塔表示进行的面积求和的计算,图像滤波方法的图形处理单元(GPU)实现也是可用的,J.Kruger,R.Westermann,“Linear algebra operators for GPU implementationof numerical algorithms”,ACM Transactions on Graphics,vol.22:3,908-916,2003。
C.Sigg,M.Hadwiger描述了通过三次B样条进行的另一种基于GPU的图像滤波,该滤波采用了双线性纹理插值,“Fast third-order texturefiltering”,Matt Pharr,editor,GPU Gems 2:Programming Techniques forHigh-Performance Graphics,313-329,2005。尽管该技术允许对纹理图像的随机访问,但是对于每个像素都要求相当数目的纹理查找。
Strengert等指出GPU可以基于双线性纹理插值来实现金字塔方法,并且描述了三个例子:通过双二次B样条滤波来进行缩放、任意模糊宽度的有效图像模糊以及分散的像素数据的平滑插值,M.Strengert,M.Kraus,T.Ertl,“Pyramid Methods in GPU-Based ImageProcessing”,In Proc.11th International Fall Workshop Vision,Modeling,andVisualization,2006。
总之,大多数快速滤波方法或者严格依赖于滤波函数的形状,或者只提供很小的计算改善。
发明内容
本发明的实施方式提供了用于利用内核滤波器滤波输入数据的方法,所述内核滤波器具有多个相同的滤波系数。这些滤波器(例如Gabor滤波器、移动平均滤波器、灰度级形态运算符滤波器、体积(volume)平滑函数滤波器、四象限对称(quad-symmetric)滤波器等)被广泛用于许多计算机成像与视觉任务中。作为一个优点,根据本发明的方法并不限于特定的滤波器形状。
本发明利用滤波器系数的空间排列和相邻数据点的内核之间的重叠来防止生成经滤波的输出数据时的冗余乘法运算。
本发明的一种实施方式确定唯一滤波器系数的集合,并构建对应于所述滤波器系数的相关链接。然后,通过累加每个点处的响应来处理所述输入数据,同时使用它们的相关链接来应用所述滤波器系数,以产生输出数据。
本发明提供了双重解决方案,单输入访问和单输出访问,与常规滤波器处理相比,它实现了40%的性能改善。除计算优势外,本方法使用最小量的存储器,这使得本方法理想地用于硬件实现。
附图说明
图1是本发明的实施方式使用的内核滤波器的图;
图2是现有技术的滤波方法的伪码的框图;
图3A是根据本发明的实施方式的滤波方法的脱机阶段(off-linephase)的框图;
图3B是根据本发明的实施方式的滤波方法的联机阶段(on-linephase)的框图;
图3C是根据本发明的实施方式的滤波方法的伪码的框图;
图4是根据本发明的实施方式的双重滤波方法的框图;
图5是图4的双重方法的伪码的框图;
图6是对计算减少比率(R)进行比较的曲线,该计算减少比率是多维数据的滤波器系数的冗余的函数;
图7是对计算负荷进行比较的曲线,该计算负荷是针对常规滤波的和根据本发明的实施方式的滤波的滤波器大小的函数;以及
图8A和8B分别是常规滤波和根据本发明的实施方式的滤波的图像。
具体实施方式
如图1所示,本发明的实施方式提供了一种方法,该方法利用内核滤波器对输入数据进行滤波以产生作为滤波器响应的输出数据。内核滤波器经常被应用于输入图像以产生增强的输出图像。在这种应用中,该内核中心处的像素值(强度或颜色)由该内核支持的相邻像素值所确定的值来替换。尽管使用示例性应用(其中数据为二维数据)描述本发明,但是应该理解本发明对于具有其他维数的数据同样适用。
图1示出了本发明可以使用的一些示例性内核滤波器。典型地,内核滤波器包括顶行示出的滤波器函数101和底行示出的对应内核102。滤波器函数f(k)101通常为滤波器系数的矩阵形式,并且内核102的形状S可以为圆盘状、正方形或者任意形状。示出的示例性内核滤波器包括高斯滤波器111、四象限对称滤波器112(也是高斯滤波器的超集)、Gabor滤波器113、正弦或低通滤波器114以及任意滤波器115。通常在圆盘状内核中定义对称的滤波器函数。然而,为了实现简单,实践中通常使用正方形或矩形内核。任意形状的内核的一个例子是模板增强的灰度级形态滤波器。现在将对这些滤波器中的一些进行更详细地描述。
Gabor滤波器
Gabor滤波器是具有脉冲响应的线性滤波器,该脉冲响应是通过用高斯函数乘以调和函数(harmonic function)来进行定义的。因为乘法-卷积特性,Gabor滤波器的脉冲响应的傅立叶变换为调和函数的傅立叶变换和高斯函数的傅立叶变换的卷积。
因此,Gabor滤波器在空间域和频域都具有优化的局部化特性。因此,Gabor滤波器适合于许多应用,例如纹理分割、目标检测、虹膜(iris)识别、图像编码以及图像呈现。
Gabor滤波器可以表示为:
f(x1,x2)=s(x1,x2)g(x1,x2),其中s(x1,x2)是已知为载波的调和函数,而g是已知为包络的2D高斯函数。载波一般被确定为实函数:
其中
x′=x1cosθ+x2sinθ,
并且包络为
在上面的方程中,λ表示波长,θ表示空间中心频率,ψ为相位偏移,σx1、σx2为椭圆高斯包络的标准偏差。一般来说,包括具有各种缩放(scale)和旋转的Gabor滤波器的滤波器组被用来覆盖所有频率空间。
四象限对称滤波器
四象限对称滤波器是用于诸如图像降噪、照明纠正、运动估计以及视频处理的应用的线性内核滤波器。四象限对称滤波器通过对相邻像素进行加权平均来替代内核中心处的像素。四象限对称滤波器可以表示为
其中g是任意形状的函数,(xc,yc)为内核的中心。只要可以确定两个像素值之间的距离,四象限对称滤波器就容易适应给定的环境。四象限对称滤波器还是非迭代的,从而仅通过单个处理(single pass)即可获得满意的结果。尽管该滤波器非常有用,但其相对较慢。对合理大小图像的平滑计算大约为几十分钟的量级。但是,已知多种用于加速四象限对称滤波器求值的方案,例如,执行准确计算但是被限制在具体情况的专用滤波器,和不产生准确结果或者依靠向下采样的近似滤波器以及更高维空间中的低通滤波。
最低限度滤波
本内核滤波器被定义在d维实值笛卡尔空间中。滤波器将内核滤波器S(其以空间中的数据点P=[x1,...,xd]为中心)内的输入数据I映射到m维响应向量或输出数据:
I(p;S)→y(p)=[y1,…,ym]
不失一般性,我们考虑映射到标量的线性滤波器(即m=1,因此y(p)=y1)。该滤波器将实值系数f(p)分配给内核S中的各个数据点p。要滤波的数据被界定在范围N1,...,Nd内,即0≤xi<Ni。应该注意的是,按d=2来定义单通道图像滤波器,由于时间分量构成了第三维度,所以按d=3来定义颜色滤波器和视频滤波器。
利用这种标记方法,内核滤波器的响应可以表达为
上式与相关相同。因为可以通过单个过程中的滤波器系数的有界集合来确定响应,所以内核滤波器也是有限脉冲响应(FIR)滤波器。对于通过界定在[-K1/2,K1/2],[-K2/2,K2/2]内的正方形内核进行的常规2D图像滤波,响应为
可以通过改变符号来针对卷积来修改响应。
图2示出了用于常规内核滤波方法的伪码。
即使尝试不经改变地应用上面的表达,也要强调这样的事实:当内核包含相同系数时,像素值与相同系数的乘法会多次进行,而不管它们在内核中的位置如何。这浪费了时间与资源。
因此,根据本发明的一种实施方式的最低限度滤波方法首先确定如图3A-3C中所示的一组唯一滤波器系数wi(i=1,...,U)310。然后,该方法基于点320,针对每个唯一滤波器系数wi构建关联集合(linkage set)Li330,以使得该关联集合包括到滤波器中具有相同滤波器系数的位置的相关链接Li={li0,…,liLi}。
每个相关链接lij是滤波器系数的位置的反(inverse),即如果滤波器位置为(x1,x2),则对于标引该内核滤波器的相关链接为(-x2,-x2)。对于脱机或预处理阶段中的内核滤波器,预先确定一次所述唯一滤波器系数和相关链接。
在确定唯一滤波器系数310和相关链接330后,一次一个输入点地处理数据。各个所述唯一滤波器系数与以所述内核滤波器为中心的值进行乘积运算,并将该乘积运算的结果与由所述相关链接所引用的多个输出数据点的响应进行相加:
如图3A中所示出的,最低限度滤波方法首先针对处于脱机阶段的一些任意成形的内核301中的每个位置确定一次唯一滤波器系数wi(i=1,...,U)310。然后,该方法确定具有相同系数的点320和对应的相关链接330。即,该方法确定:
pij=(x1(i,j),x2(i,j)),和
Iij=(-x1(i,j),-x2(i,j))。
图3B示出了该方法的联机阶段,其中内核301例如以线状或“光栅”扫描顺序“扫描”图像341(340)。针对数据点(像素)I(x1,x2)350,使用对应相关链接370对这些点进行加权(360)。
替代直接利用底层数据与滤波矩阵进行乘积运算,最低限度滤波方法选择唯一滤波系数,然后对于每个唯一滤波系数仅乘以输入像素值一次,同时使用对应的相关链接对乘积结果与对应的输出像素进行求和。
该方法适合于高速缓冲存储器受限的流处理器。因此,需要访问的数据量被最小化。在单个输入访问中,以累进的方式确定滤波器响应,并且如图3C的伪码所示,当内核中的所有点被处理时产生输出。
如图4中所示出,还描述了利用滤波内核402滤波图像401以产生滤波出的图像403的双重方法。每次迭代都对输入的内核大小的块410进行处理。如上面那样,求解唯一的系数wi和相关链接集合。该双重方法取得当前内核中的输入,并针对每个相关链接求解这些点的和420。然后,该方法将这些和与对应的唯一系数相乘,以确定输出点的值以及总计430,所述和为:
图5示出了该双重方法的伪码,所述伪码通过单个输出访问确定对单个输出点的响应。
以这种方式,针对单个输出点确定滤波器响应。因为图像对于每个唯一系数进行一次乘积运算,所以该方法可以利用GPU来进一步加速滤波。
应该理解,可以在数字处理器或应用专用集成电路(ASIC)中实现上面描述的方法。
计算改善
在表A中,根据处理器运算的相关成本示出了详细的计算复杂度分析,处理器运算的相关成本通常与整数相加运算的成本对比来进行衡量。
表A
运算符 | A | B | C | D | 本发明 |
整数相加 | 1 | 1 | 1 | 1 | 1 |
整数相乘 | 4 | 4 | 24 | 4 | 1 |
浮点数相加 | 20 | 3 | 4.2 | 4 | 15 |
浮点数相乘 | 20 | 5 | 113 | 4 | 15 |
逻辑运算 | 1 | - | - | 2 | 1 |
阵列索引 | 6d-4 | 7d-3 | 2d-1 |
在表A中,示出了常规方法的基本运算的相关成本以及本发明的结果。因为对于较高维度数据来说阵列索引的成本相当,所以也考虑了阵列索引的成本。对于d维阵列的数据点,访问数据需要d次整数加法运算、d-1次整数乘法运算。观察发现,由于在处理器上的乘法累加单元(MAC)的硬件集成使用,使得对于相同的数据类型,加法运算和乘法运算的成本保持相同。
在表A中,运算符栏示出了各种运算。栏A是S.Oualline在“PracticalC++programming”(O’Reilly & Associates,ISBN:1-56592-139-9,1995)中描述的基本处理器运算符的成本。栏B是在使用流SIMD和Prescott算术运算的P4处理器上执行的运算符的成本,R.Bryant,D.O’Hallaron,“Computer systems:a programmer’s perspective”,PrenticeHall,ISBN 0-13-034074-1,2003。栏C是关于运行C++编译器的P4的相关成本,J.Mathew,P.Coddington,K.Hawick,“Analysis and development of javagrande benchmarks”,Proceedings of ACM,1999。栏D为针对运行MSVC++编译器的英特尔P4处理器的情况,F.Porikli,“Integral histogram:a fast wayto extract histograms in Cartesian spaces”,Proc.Computer Vision and PatternRecognition Conference,vol.1,829-836,2005。最后一栏是针对本发明的成本。
假设输入数据具有浮点数值,并且内核中的点的总数为A,即对于矩形内核 常规内核滤波方法要求以下任务来计算滤波器响应:
求出当前点的索引:A次d维阵列索引和2A次加法运算,
检查当前点是否在内核中:d维阵列索引和比较,
与滤波器系数相乘:A次乘法运算,
确定乘法运算的和:A-1次加法运算和d维阵列索引。
对于单个数据点,常规滤波要求2A+(2d-1)A次运算来计算内核中有贡献的点在数据空间中的索引并分别访问它们的值。在使用非矩形内核的情况下,存在两种可能的控制条件来确定点是否属于内核,即或者使用较大的拟合矩形阵列和表示内核成员的二进制掩码,或者基于准则来计算到索引值的距离。从本发明的结果中可以观察到使用掩码减小了计算负荷。检查阶段需要(2d-1)A+A=2dA次运算。
将内核中每个数据点的浮点值与对应的滤波器系数相乘,产生15A次运算。计算乘法运算的浮点的和需要15(A-1)次运算,同时确定此和为滤波器响应仅需要2d-1次运算。注意,对于数据中的N1x...xNd个点中的每一个重复之前的计算。然后,对于所有候选点需要的运算的总数为
另一方面,最低限度滤波不重复与相同系数的乘法运算,并且不需要检查任意形状内核的条件。在内核滤波器应用之前,滤波器被预处理以确定唯一系数并针对每个唯一系数构建相关链接的集合。注意,在脱机阶段仅对于滤波器执行一次这种操作。即,在实际的联机滤波处理期间不重复此操作。在脱机阶段后,最小限度滤波要求这些步骤:
1)取得当前点的值:d维阵列索引,
2)与唯一系数相乘:U次乘法运算,
3)求出点的索引:∑lid-D次阵列索引和2∑Li次加法运算,
4)累加点值:∑li次加法运算。
在每个数据点处,最低限度滤波采用2d-1次运算来取得当前数据点的值。然后,浮点值与各个唯一系数相乘,这需要15U次运算。因为相关链接的总数等于内核中点的总数( ),所以求解内核中的点的索引需要2A次整数加法运算来将相关链接转换为数据点索引和A次阵列索引,这产生(2d+1)A次运算。结果,该阶段的计算负荷为(2d+1)A次运算。
对对应的乘法结果与输出阵列数据点的滤波器响应进行求和。这包括用于浮点加法运算的15A次运算和用于访问输出阵列的(2d-1)A次运算。然后,运算总数为:
将对应于最低限度滤波完成的计算节省百分比的减小率定义为:
该数量表示使用最低限度滤波所防止的计算的百分比。还提供冗余分数为:
δ=(1-U/A)×100 (7)
来表示唯一系数对整体的比率
量子化、对称和可分离性的效果
最低限度滤波的成功源于更小数量的唯一系数。在该数量很大(即数量等于内核中的点的总数)的情况下,U=A。
因此,最低限度滤波减少常规滤波。然而,几乎所有内核滤波器都具有非常小的唯一系数数目。量子化是获取更小数目的唯一系数的有竞争力的方式。对于关于内核原点对称的2D内核滤波器,最小冗余分数为75%。换言之,即使没有任何量子化,本发明的最低限度滤波方法仍然显著地将所需的计算减少到原始负荷的四分之一。
为了提供整个分析,本发明测试了广泛使用的滤波器:高斯滤波器、四象限对称滤波器、Gabor滤波器、正弦滤波器以及边缘滤波器。表B示出各种2D滤波器在21×21内核上在50dB处的平均计算节约。
表B
高斯 | 四象限对称 | Gabor | 正弦 | 边缘 |
40.3% | 40.1% | 38.2% | 37.7% | 41.5% |
本发明还分析了不同维数的数据中的性能的改变。如图6所示,部分作为阵列访问成本的结果,节约随着维数减小而增加。注意,对于较低维的数据,节约要高得多。换言之,当使用较低维的可分离内核时,最低限度滤波提供更高的增益。此外,对于较高维数,节约与滤波器大小不相关。图6还示出对于可分离滤波器,改善甚至更高。如图所示,计算节约随冗余系数的数量增加而增加。点601-603示出平均增益43%、40.5%以及37%,而输出没有任何明显变化。
图7将作为负荷和滤波器大小的函数的常规滤波701与根据本发明的最低限度2D内核滤波702进行了比较。随着内核大小的增加,最低限度方法变得更有优势。例如,对于滤波器大小30的负荷大约减少了40%。
图8A-8B显示使用13×13四象限对称内核在50dB处常规和最低限度滤波之间没有可察觉的差异。图8A示出了没有冗余的常规四象限对称滤波,图8B示出具有98%冗余的最低限度滤波。
本发明的效果
本发明提供了一种新的最低限度滤波方法,所述方法加速了具有多个相同系数的内核滤波器的应用。本方法利用内核之间的重叠来减小冗余的乘法运算。
本最低限度滤波将任意内核滤波器的计算负荷平均减小40%。与常规方法相反,本方法并不限于具体的滤波器函数。本方法可以与任意形状的内核一起使用,而不会增加计算成本,这对于模板检测任务(例如在计算机视觉应用中的形状匹配)是必不可少的性质。
本方法可以用于任意维数的数据,例如3D体积平滑和多光谱滤波。要求的存储器数量非常小,这使得本方法成为硬件实现的候选方法。此外,还可以并行实现,或者在专门硬件(例如GPU)上实现本方法。应该注意,本方法可以结合金字塔表示一起使用。并且,较低维数的可分离基可以从本最低限度滤波中受益。
尽管已经通过优选实施方式的实施例的方式描述了本发明,但是应该理解在本发明的精神和范围内可以进行的各种其他改变和修改。因此,所附权利要求书的目的在于覆盖所有落入本发明的实质精神和范围内的所有这种变化和修改。
Claims (20)
1.一种利用内核滤波器对输入数据进行滤波的计算机实现方法,该方法包括以下步骤:
在d维实值笛卡尔空间中定义内核滤波器S,其中所述内核滤波器将该内核滤波器内以所述空间中的输入数据点p=[x1,...,xd]为中心的输入数据I映射到对应的m维输出数据点
I(p;S)→y(p)=[y1,…,ym],并且其中滤波器向所述内核滤波器中的各个所述输入数据点p分配实值系数f(p);
针对所述内核滤波器确定唯一滤波器系数的集合wi(i=1,...,U);
针对每个唯一滤波器系数wi构建关联集合Li,以使得所述关联集合包括到所述内核滤波器中具有相同滤波器系数Li={li0,...,liLi}的位置的相关链接,其中每个相关链接lij是所述唯一滤波器系数的所述位置的反;以及
通过以下方式对每个输入数据点进行处理,即,各个所述唯一滤波器系数与以所述内核滤波器为中心的值进行乘积运算,并将该乘积运算的结果与由所述相关链接所引用的对应的输出数据点进行求和:
2.如权利要求1所述的方法,其中所述输入数据被限定在N1,...,Nd范围内,其中0≤xi<Ni。
3.如权利要求2所述的方法,其中以二维方式定义单通道图像内核滤波器,而以三维方式定义颜色内核滤波器和视频内核滤波器。
4.如权利要求1所述的方法,其中所述内核滤波器的响应为
5.如权利要求1所述的方法,其中m=1,并且所述内核滤波器映射到标量,并且y(p)=y1。
6.如权利要求1所述的方法,其中所述内核滤波器中的所述位置为(x1,x2),并且对于索引所述内核滤波器的所述相关链接为(-x2,-x2)。
7.如权利要求1所述的方法,其中在预处理阶段,对于所述内核滤波器预先确定一次所述唯一滤波器系数和所述相关链接。
8.如权利要求1所述的方法,还包括以下步骤:
针对每个输入数据点确定pij=(x1(i,j),x2(i,j))和lij=(-x1(i,j),-x2(i,j))。
9.如权利要求1所述的方法,其中所述输入数据为图像中的像素,并且所述内核滤波器以选择的顺序扫过所述图像,并且还包括以下步骤:
使用所述对应的相关链接对每个输入数据点I(x1,x2)进行加权。
10.如权利要求1所述的方法,其中每个输入数据点与每个唯一滤波器系数仅进行一次乘积运算,同时使用所述对应的相关链接将该乘积运算的结果与所述对应的输出数据点进行相加。
11.如权利要求1所述的方法,该方法还包括以下步骤:
确定总和
12.如权利要求1所述的方法,其中从包括四象限对称滤波器、Gabor滤波器、移动平均滤波器、灰度级形态运算符滤波器、体积平滑函数滤波器、高斯滤波器、正弦滤波器以及低通滤波器的组中选择所述内核滤波器。
13.如权利要求1所述的方法,其中所述内核滤波器具有任意形状和大小。
14.如权利要求1所述的方法,其中所述内核滤波器为线性滤波器。
15.如权利要求1所述的方法,其中通过将所述结果累加到所述对应的输出数据点来并行地同时处理所述输入数据点。
16.一种利用内核滤波器对输入数据进行滤波的计算机实现方法,该方法包括以下步骤:
定义内核滤波器;
针对该内核滤波器确定唯一滤波器系数的集合;
针对每个唯一滤波器系数构建关联集合,以使得所述关联集合包括到所述内核滤波器中具有相同滤波器系数的位置的相关链接,其中每个相关链接是所述唯一滤波器系数的所述位置的反;以及
通过以下方式对每个输入数据点进行处理,即,各个所述唯一滤波器系数与以所述内核滤波器为中心的值进行乘积运算,并将该乘积运算的结果与由所述相关链接所引用的对应的输出数据点进行求和。
17.如权利要求16所述的方法,其中所述输入数据被限定在预定的范围内。
18.如权利要求17所述的方法,其中以二维方式定义单通道图像内核滤波器,而以三维方式定义颜色内核滤波器和视频内核滤波器。
19.如权利要求16所述的方法,其中所述内核滤波器具有任意形状和大小。
20.一种通过内核滤波器对输入数据进行滤波的装置,该装置包括:
定义内核滤波器的装置;
用于针对所述内核滤波器确定唯一滤波器系数的集合的装置;
用于针对每个唯一滤波器系数构建关联集合的装置,以使得所述关联集合包括到所述内核滤波器中具有相同滤波器系数的位置的相关链接,其中每个相关链接是所述唯一滤波器系数的所述位置的反;以及
用于通过以下方式对每个输入数据点进行处理的装置,该方式为:各个所述唯一滤波器系数与以所述内核滤波器为中心的值进行乘积运算,并将该乘积运算的结果与由所述相关链接所引用的对应的输出数据点进行相加。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/683,482 | 2007-03-08 | ||
US11/683,482 US7826676B2 (en) | 2007-03-08 | 2007-03-08 | Method for filtering data with arbitrary kernel filters |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101261733A true CN101261733A (zh) | 2008-09-10 |
Family
ID=39638567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100829207A Pending CN101261733A (zh) | 2007-03-08 | 2008-03-07 | 利用任意内核滤波器对数据进行滤波的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7826676B2 (zh) |
EP (1) | EP1968009A3 (zh) |
JP (1) | JP2008226233A (zh) |
CN (1) | CN101261733A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102449662A (zh) * | 2009-06-24 | 2012-05-09 | 诺基亚公司 | 用于处理数字图像的自适应方法和图像处理设备 |
CN102509266A (zh) * | 2011-11-03 | 2012-06-20 | 上海交通大学 | 一种图像快速保边滤波方法 |
CN104103037A (zh) * | 2013-04-02 | 2014-10-15 | 杭州海康威视数字技术股份有限公司 | 一种图像增强处理方法和装置 |
CN115426229A (zh) * | 2022-07-21 | 2022-12-02 | 华力智芯(成都)集成电路有限公司 | 一种基于gmsk调制系统的快速高斯滤波的方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417759B2 (en) * | 2007-04-09 | 2013-04-09 | DigitalOptics Corporation Europe Limited | Efficient implementations of kernel computations |
US8306348B2 (en) | 2007-04-24 | 2012-11-06 | DigitalOptics Corporation Europe Limited | Techniques for adjusting the effect of applying kernels to signals to achieve desired effect on signal |
US20090077359A1 (en) * | 2007-09-18 | 2009-03-19 | Hari Chakravarthula | Architecture re-utilizing computational blocks for processing of heterogeneous data streams |
AU2007219336B8 (en) * | 2007-09-28 | 2011-07-21 | Canon Kabushiki Kaisha | Method and apparatus for abitrary ratio image reduction |
US8086011B2 (en) * | 2007-10-31 | 2011-12-27 | Siemens Medical Solutions Usa, Inc. | Reconstructing a tomographic image |
WO2010081932A1 (en) | 2009-01-19 | 2010-07-22 | Nokia Corporation | Method and apparatus for reducing size of image data |
US8379943B2 (en) * | 2009-05-28 | 2013-02-19 | Li-Kuo Chiu | High-performance fingerprint image-processing method |
US9514103B2 (en) * | 2010-02-05 | 2016-12-06 | Palo Alto Research Center Incorporated | Effective system and method for visual document comparison using localized two-dimensional visual fingerprints |
TWI469086B (zh) * | 2011-04-26 | 2015-01-11 | Univ Nat Cheng Kung | 利用紋理特徵之影像分割法 |
CN102722102B (zh) * | 2012-06-19 | 2014-07-02 | 浙江工业大学 | 基于误差分析的h∞反馈与迭代学习协调控制方法 |
JP6390173B2 (ja) * | 2014-06-02 | 2018-09-19 | 日本電気株式会社 | 情報処理装置、情報処理システム、画像処理方法、及び、プログラム |
US10223333B2 (en) * | 2014-08-29 | 2019-03-05 | Nvidia Corporation | Performing multi-convolution operations in a parallel processing system |
US9582726B2 (en) | 2015-06-24 | 2017-02-28 | Qualcomm Incorporated | Systems and methods for image processing in a deep convolution network |
GB2570528B (en) * | 2018-06-25 | 2020-06-10 | Imagination Tech Ltd | Bilateral filter with data model |
CN109064425B (zh) * | 2018-07-24 | 2020-08-04 | 浙江工业大学 | 一种自适应非局部总变分的图像去噪方法 |
CN113189634B (zh) * | 2021-03-02 | 2022-10-25 | 四川新先达测控技术有限公司 | 一种类高斯成形方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0080014B1 (de) * | 1981-09-26 | 1986-12-30 | Robert Bosch Gmbh | Digitaler Demodulator frequenzmodulierter Signale |
US4528639A (en) * | 1982-10-29 | 1985-07-09 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method of and apparatus for generating an inerstitial point in a data stream having an even number of data points |
JPH0225987A (ja) * | 1988-07-15 | 1990-01-29 | Fuji Xerox Co Ltd | 画像処理集積回路装置 |
US5630037A (en) * | 1994-05-18 | 1997-05-13 | Schindler Imaging, Inc. | Method and apparatus for extracting and treating digital images for seamless compositing |
JPH09102875A (ja) * | 1995-10-05 | 1997-04-15 | Fuji Xerox Co Ltd | 画像処理装置 |
US6847737B1 (en) * | 1998-03-13 | 2005-01-25 | University Of Houston System | Methods for performing DAF data filtering and padding |
JP4190886B2 (ja) * | 2001-02-06 | 2008-12-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | イメージセンサにおける緑色の不均一性の防止 |
US6973218B2 (en) * | 2001-04-25 | 2005-12-06 | Lockheed Martin Corporation | Dynamic range compression |
US6816622B2 (en) * | 2001-10-18 | 2004-11-09 | Microsoft Corporation | Generating resized images using ripple free image filtering |
US7375856B2 (en) * | 2002-07-01 | 2008-05-20 | Xerox Corporation | Halftone screen frequency and magnitude estimation for digital descreening of documents |
US6975329B2 (en) * | 2002-12-09 | 2005-12-13 | Nvidia Corporation | Depth-of-field effects using texture lookup |
US7570829B2 (en) * | 2005-02-17 | 2009-08-04 | Eastman Kodak Company | Selection of alternative image processing operations to maintain high image quality |
-
2007
- 2007-03-08 US US11/683,482 patent/US7826676B2/en not_active Expired - Fee Related
-
2008
- 2008-01-28 JP JP2008016525A patent/JP2008226233A/ja active Pending
- 2008-03-04 EP EP08003980A patent/EP1968009A3/en not_active Withdrawn
- 2008-03-07 CN CNA2008100829207A patent/CN101261733A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102449662A (zh) * | 2009-06-24 | 2012-05-09 | 诺基亚公司 | 用于处理数字图像的自适应方法和图像处理设备 |
US8687911B2 (en) | 2009-06-24 | 2014-04-01 | Nokia Corporation | Adaptive method for processing digital images, and an image processing device |
CN102449662B (zh) * | 2009-06-24 | 2016-02-10 | 诺基亚技术有限公司 | 用于处理数字图像的自适应方法和图像处理设备 |
CN102509266A (zh) * | 2011-11-03 | 2012-06-20 | 上海交通大学 | 一种图像快速保边滤波方法 |
CN104103037A (zh) * | 2013-04-02 | 2014-10-15 | 杭州海康威视数字技术股份有限公司 | 一种图像增强处理方法和装置 |
CN104103037B (zh) * | 2013-04-02 | 2017-02-15 | 杭州海康威视数字技术股份有限公司 | 一种图像增强处理方法和装置 |
CN115426229A (zh) * | 2022-07-21 | 2022-12-02 | 华力智芯(成都)集成电路有限公司 | 一种基于gmsk调制系统的快速高斯滤波的方法 |
CN115426229B (zh) * | 2022-07-21 | 2024-05-28 | 华力智芯(成都)集成电路有限公司 | 一种基于gmsk调制系统的快速高斯滤波的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080219580A1 (en) | 2008-09-11 |
EP1968009A3 (en) | 2009-06-17 |
EP1968009A8 (en) | 2008-10-29 |
EP1968009A2 (en) | 2008-09-10 |
US7826676B2 (en) | 2010-11-02 |
JP2008226233A (ja) | 2008-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101261733A (zh) | 利用任意内核滤波器对数据进行滤波的方法 | |
Lefkimmiatis et al. | Structure tensor total variation | |
Mishra et al. | WRPN: Wide reduced-precision networks | |
Sanz et al. | Radon and projection transform-based computer vision: algorithms, a pipeline architecture, and industrial applications | |
CN102378978B (zh) | 变换的快速和存储有效实现的方法 | |
Hoang et al. | Invariant pattern recognition using the RFM descriptor | |
Chang et al. | An efficient implementation of 2D convolution in CNN | |
CN111507910A (zh) | 一种单图像去反光的方法、装置及存储介质 | |
CN106981056A (zh) | 一种基于分数阶偏微分方程的图像对比度增强滤波器 | |
Shiri et al. | An FPGA implementation of singular value decomposition | |
Kaur et al. | Riesz fractional order derivative in Fractional Fourier Transform domain: An insight | |
Nair et al. | A fast approximation of the bilateral filter using the discrete Fourier transform | |
Cho et al. | Exploring Gabor filter implementations for visual cortex modeling on FPGA | |
Ouerhani et al. | Real-time visual attention on a massively parallel SIMD architecture | |
Preethi et al. | Gaussian filtering implementation and performance analysis on GPU | |
Li et al. | Fast translation invariant multiscale image denoising | |
Atitallah et al. | Reconfigurable architecture of VDF filter for multidimensional data | |
CN113672612A (zh) | 索引源数组中的元素 | |
Porikli | Reshuffling: a fast algorithm for filtering with arbitrary kernels | |
Wu et al. | Generic 3d convolutional fusion for image restoration | |
Fujisaki et al. | Deep Gaussian denoising network based on morphological operators with low-precision arithmetic | |
Morigi et al. | An iterative Lavrentiev regularization method | |
Zhang et al. | Design of an efficient multiplier-less architecture for multi-dimensional convolution | |
Rabiei et al. | On the sample-mean method for computing hyper-volumes | |
Bipin et al. | Image convolution optimization using sparse matrix vector multiplication technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20080910 |