统计曲线怎么找波峰

统计曲线怎样找波峰?


上图中的统计直方图,该怎样找出其中两个主要波峰及中间波谷的位置(箭头标注位置)
------解决方案--------------------
一般做法是,先平滑去除毛刺,然后对数据求一阶及二阶导数来寻找波峰与波谷


图像分析:投影曲线的波峰查找在图像分析里,投影曲线是我们经常要用到的一个图像特征,通过投影曲线我们可以看到在某一个方向上,图像灰度变化的规律,这在图像分割,文字提取方面应用比较广。一个投影曲线,它的关键信息就在于波峰与波谷,所以我们面临的第一个问题就是找到波峰与波谷。
第一次涉及到求波峰与波谷时,很多人都不以为意,觉得波谷波峰还不容易,无非是一些曲线变化为零的点,从离散的角度来说,也就是:波峰:$F(x)>F(x-1)且F(x)>F(x+1)$
波谷:$F(x)$和$F(x+1)$ 或者 $F(x)> F(x-1) \&\& F(x) \ge F(x+1)$
波谷:$F(x)\le F(x-1) \&\& F(x)0 \\
0&\\ if\\x=0 \\
-1&\\ if\\x的向量,输出为一个vector的位置向量。
void findPeak(const vector&v,vector& peakPositions){ vectordiff_v(v.size()-1,0); // 计算V的一阶差分和符号函数trend for(vector:: size_typei= 0;i!= diff_v.size(); i++){if(v [i+1]-v >0) diff_v=1; else if(v [i+1]-v = 0; i--){if (diff_v == 0&&i== diff_v.size()-1){diff_v=1;}else if (diff_v == 0){if (diff_v[i+1] >= 0) diff_v=1; else diff_v=-1;}} for(vector:: size_typei= 0;i!= diff_v.size()-1; i++){if (diff_v[i+1]-diff_v == -2) peakPositions .push_back(i+1);}}

序列图像缩放系数的一种实时估计算法
【摘要】 照相机在靠近或远离目标景物的运动过程中,如保持聚焦中心点不变,则前后两帧图像间存在一致的缩放关系。此时,可根据尺度变化下图像灰度累积投影曲线的特点,分别计算参考帧和当前帧的投影曲线上一对极大—极小值点的坐标差值,以它们的比值作为缩放系数,实现实时求取。最后以实例验证了本算法。
【关键词】 径向运动; 缩放系数; 灰度投影; 图像序列
Real-time estimation of scale change in sequence images
—a spatial domain approachSHANG Huimin,CAI Lidong
(Department of Computer Science,Jinan University,Guangzhou 510632,China)
Abstract: Whenacamera moves towards the objects, the target images acquired look like to be enlarged. To estimate the scale change of image sequence in real-time,anovel spatial-domain method is proposed. According to the characteristics of the gray projection curves,apair of maximum and minimum points are found near the central position of each gray projection curve. The differences in position are calculated respectively and the scale change parameter is obtained as the ratio of both differences. Experimental results showed that this method is feasible and efficient.Key words: radial motion; scale change; image gray projection; image sequences在日常生活中,我们都有这样的体验:当我们驾驶汽车目光正视,向正前方快速行进时,前方的目标将迅速变大扑面而来。此种相向或相离运动被称为径向运动。
在照相机和目标间存在径向运动的情况下,如保持聚焦中心不变,则相机所拍摄的连续两帧图像间存在一致的尺度缩放,即图像在各个方向上的尺度变换因子相同。对图像序列缩放系数的估计是运动估计中的一项重要内容,在图像配准、视频稳像和实时跟踪等领域都需要用到此类运动参数。
目前,用于确定各种运动参数的方法有傅里叶梅林变换法[1,2]、基于空间域的互相关方法[3]、光流场法[4]和灰度投影法[5]等等。
基于傅里叶梅林变换的图像配准算法是一种经典的基于非特征的图像配准方法,可对两幅近似满足相似变换(平移、缩放、旋转)的图像进行配准。通过对图像傅立叶变换后的幅值谱作对数极坐标变换,将两幅图像在笛卡尔坐标空间的旋转和缩放关系转化为其幅值谱在对数极坐标空间的平移关系。然后通过互功率谱的逆傅立叶变换(即相位相关法[6])检测出图像的旋转角和缩放因子。再将图像按所得参数进行矫正,最后通过相位相关技术得到校正图像的平移参数。由于采用了二维对数极坐标变换和两步相位相关法,该算法复杂度高,计算量大,效率低,很难满足实时计算的要求。
基于空间域的互相关法是一种最基本的基于灰度统计的方法,它通常被用来进行模板匹配和模式识别。它是一种匹配度量,给出了模板图像与基准图像之间的相似度值。
光流法采用在两帧运动图像间估计光流场,然后基于光流场进行目标检测。光流法的优点在于光流不仅携带了运动目标的运动信息,而且还携带了有关景物三维结构的丰富信息,它能够在不知道场景的任何信息的情况下检测出运动对象,但是大多数光流法的计算方法相当复杂,计算耗时,实时性和适用性都较差。
灰度投影算法原理简单,计算效率高,实时性好,它利用图像的行列灰度投影曲线做一次相关运算,就可以准确地获取图像的运动矢量。但是大多数灰度投影算法只能用于实现平移参数的估计,无法实现尺度变化下的图像序列的运动参数估计。
本文通过分析尺度变化下图像灰度投影矢量的特点,提出了一种新的空域实时估计算法,实现了缩放参数的求取,并通过大量实验对算法进行了验证。
1 灰度投影法的基本思想
灰度投影把一帧输入的M×N图像的灰度值映射成两个独立的一维波形: G(x)=?N y=1f(x,y),(1)
G(y)=?M x=1f(x,y). (2)其中f(x,y)表示图像上(x,y)点的灰度值,G(x)表示第x行像素的投影值,即图像第x行像素灰度值的累加和;G(y)表示第y列像素的投影值,即图像第y列像素灰度值的累加和。
为了消除光照不同造成的误差,需对公式(1)、(2)中的投影矢量做中心化处理: (x)=G(x)-(x),(3)
(y)=G(y)-(y).(4)其中(x)=1 M?M x=1G(x)、(y)=1 N?N y=1G(y)分别是行、列投影曲线均值。(x)是中心化后的行投影值,(y)是中心化后的列投影值。
图1分别给出参考帧图像及其行、列投影曲线a0、a1、a2,当前帧图像及其行、列投影曲线b0、b1、b2。
图像的灰度投影中保留了尽可能多的图像灰度信息,反映出图像的整体特征,具有抑制噪声的性能,且运算量小,速度快,易于实现。
2 从投影曲线到缩放系数
假定参考帧上某点(x,y)处灰度值为f(x,y,t),径向运动后为(x′,y′),对应的灰度值为f(x′,y′,t′)。根据缩放的瞬时运动的特点,可假设图像的几何形状做线性连续缩放而原始像素的灰度值不变,即f(x′,y′,t′)=f(x,y,t),而对于图像的聚焦中心点(x0,y0),还有x′0=x0,y′0=y0。同样,可以对图像的行或列灰度投影矢量作类似的假设。
设G1(x)表示参考帧第x行的投影值,径向运动后,其在当前帧G2(x)中的对应行为x′,投影值为G2(x′),则G1(x)=G2(x′),对于聚焦中心点x0,还有x′0=x0。如果是放大变换,G2(x)将损失部分信息,如果是缩小变换,那么G2(x)中将引入新的图像信息。
2.1 缩放系数的估计
设M×N图像聚焦中心点所在列为y0=N/2,第y列的投影矢量值为G(y),经过缩放后变为G(y′),则列y和y′为“对应列”www.xxbar.net。如σ为放大因子,则:y′-y0=σ(y-y0).(5) 因此,确定σ的关键就在于找到“对应列”y和y′。注意到图1中的行投影曲线对(a1、b1),a1的最大值是13478.715,对应的横坐标为97,b1的最大值是14482.273,对应的横坐标为90,这两点都是曲线上波峰的最大值点,都位于中心点的左侧,所以,这两个峰值点的横坐标正是我们要找的“对应列”。
然而,在实际处理中,由于相机的抖动或者噪声等原因,往往造成聚焦中心点发生小的偏移,导致y0处未必正好是图像中心列,这就可能使得基于聚焦中心点的公式(5)计算出来的缩放因子有较大的误差。但是,无论该中心点偏向哪一侧,它始终落在两个极值点之间,而两个极值点的相对位置不大会发生改变,因此,我们可在投影曲线的中心点两侧各找出一对“对应列”来消除这一误差,于是得到改进的σ估计公式:σ′≈y′max-y′min ymax-ymin (ymax≠ymin).(6) 根据前文的分析,缩放后,图像内容的改变使投影曲线的两端有较大差异,因此,我们不在曲线端点附近搜索“对应列”。
而图1中行投影曲线相对简单的波形和列投影曲线的复杂波形也暗示我们可以根据曲线变化的剧烈程度来选择行投影还是列投影。
图1 目标景物图像及其行、列投影曲线
2.2 投影曲线的平滑预处理
为了去除曲线中小的“毛刺”和可能的噪声干扰,我们对投影曲线做样条平滑[9]。曲线上波峰和波谷保留的个数跟样条平滑的次数有关,平滑后的曲线波形仍然保持着原始曲线的大致形状和我们所需要的主要波峰、波谷等信息,便于我们通过比较平滑曲线上波峰、波谷的个数来判断选择行投影曲线还是列投影曲线。如图2,平滑后的行投影曲线中保留的波峰、波谷个数少于列投影曲线。因此,选择行投影曲线作参数估计,计算结果见表1。表1 图3仿真图像实验结果及误差
2.3 算法步骤
具体步骤如下:
(1) 对图像做行、列灰度投影;
(2) 平滑投影曲线;
(3) 寻找平滑后行投影与列投影曲线的波峰、波谷较少者进一步处理。
(4) 分别找到两幅图像投影曲线(平滑后)波峰波谷中的最大值、最小值,根据其坐标判断是否为“对应列”,如是,将最大值与最小值坐标之差的比值作为结果输出,若不是,则寻找次大值或次小值,直至找到符合条件的为止,并输出结果。
(5) 若(4)中并未搜索到合适的“对应列”,则选择另一种投影曲线作处理。
图2 平滑后的投影曲线
? 3实验分析
实验选取了人工仿真的图像序列图3(A、B)和图4(C、D)以及真实拍摄的图像序列图5(E、F)进行估计,实验环境为Intel Core双核处理器,主频 1.66 GHz,内存1GDDR2。图3~5中,图像大小为256×256。本文与基于傅立叶梅林变换的文献[1]和基于分层搜索法的文献[7]进行了比较,比较结果、误差和计算时间见表1、表2、表3。实验结果表明,本算法在满足精度要求的同时,在计算时间上具有较大优势。 表2 图4仿真图像实验结果及误差表3 图5实拍图像实验结果及误差
4 结论
本文提出了一种图像序列缩放参数实时估计的空域算法,实验结果表明,与传统的时域、频域方法相比,本算法实现简单,计算结果有较高的精度,能够很好的满足实时计算的要求,具有较高的应用价值。但是,如果由于图像本身成像质量较差,灰度投影曲线波形的峰、谷值不太明显,则可能会出现搜索不到合适的“对应列”的情况,从而导致本文算法估计失败。此时,可以考虑先将图片进行预处理,再作进一步的研究。
【参考文献】
[1]SReddy S,Chatterji BN. An FFT-based technique for translation,rotation,and scale-invariant image registration [J]. IEEE Trans. Image Processing,1996,5(8):1266-1270.[2] Chen QS,Defrise M,Deconinck F. Symmetric phase-only matched filtering of Fourier-Mellin transforms for image registration and recognition [J]. IEEE Trans Pattern Analysis Machine Intel,1994,16(12): 1156-1168.[3] Wolberg G,Zokai S. Robust image registration using Log-polar transform [A]. Proc IEEE Int Con Image Processing[C]. 2000. 493-496. [4]DFedorov D,FonsecaLM G,Kenney C,et al. Automatic registration and mosaicking system for remotely sensed imagery [A]. SPIE 9th Int Symp Remote Sensing[C]. Greece: Crete, 2002. 22-27.[5] CrawfordAJ,Denman H,Kelly F. Gradient based dominant motion estimation with integral projections for real time video stabilization[J]. IEEE ICIP 2004,5:3371-3374.[6] KuglinCD,HinesDC. The phase correlation image alignment method [A]. Proc Cyberntics Society[C]. San Francisco,USA: [unknown publisher], 1975:163-165.[7] BergenJR,Anandan P,HannaKJ,et al. Hierarchical model-based motion estimation[A]. Proc Eur Conf Computer Vision[C]. Santa Margherita Ligure Italy: [unknown publisher].1992. 237-252.[8] Zitova B,Flusser J. Image registration methods:Asurvey[J]. Image Vision Comput, 2003, 21:977-1000.[9] CaiLD. Spline Smoothing:aspecial case of diffusion smoothing[A]. Proc 5th Alvey Vision Conf [C]. UK: Reading, 1989. 273-276.


转自:http://www.xxbar.net/thread-700095-1.html





你可能感兴趣的:(图像)