KAZE 特征笔记

本文基于KAZE Features论文及作者源代码,介绍了KAZE特征的非线性尺度空间构建和特征检测方法,包括Perona Malik扩散方程、AOS算法求解、特征点检测的Hessian行列式计算,以及特征点主方向和描述子的建立过程。
摘要由CSDN通过智能技术生成

KAZE 特征

本文是在研读论文KAZE Features的基础上以及看了作者源代码后的一个总结,由于能力有限,总结可能存在误差,读者可以在论文作者项目主页上下载源代码,更深入熟悉KAZE特征

一、特征简介

虽然sift,surf等特征在图像特征提取方面已经取得比较好的成绩,但是这类特征都是基于一个通过高斯核进行的线性的尺度空间进行特征检测的,相同尺度下每个点的变换是一样的,由于高斯函数是低通滤波函数,会平滑图像边缘,以至图像损失掉许多细节信息。针对这一问题,作者提出了一种基于非线性尺度空间的特征点检测方法,该非线性尺度空间保证了图像边缘在尺度变化中信息损失量非常少,从而极大地保持了图像细节信息。


二、KAZE 特征检测

1.1 非线性尺度空间构建

1.1.1 非线性尺度滤波
文中非线性尺度空间的构建主要基于非线性扩散滤波原理,非线性扩散滤波的基本公式是:

Lt=div(c(x,y,t)L)

其中 div 分别表示散度和梯度,而函数 c(x,y,t) 表示扩散的传导函数,正是该函数的引入使得扩散能够适应图像局部特征,在本文中该传导函数主要由梯度幅值控制,参数 t 是尺度参数。


1.1.2 Perona Malik 扩散方程
非线性滤波在图像方面的应用是由Perona 和 Malik 于1990年文章Scale-space and edge detection using annisotropic diffusion提出来的,为了尽量使平滑在区域内而不是区域间,减少在边缘处的扩散,Perona提出了一个使得传导函数 c 依赖图像梯度幅值的函数:

c(x,y,t)=g(|Lσ(x,y,t)|)

其中 Lσ 是原始图像高斯平滑后的梯度
Perona 提出了两个传导函数:
g1=exp(|Lσ|2k2)

g2=11+|Lσ|2k2

而后Weircket又提出了另外一个方程:
g3=11exp(3.315(|Lσ|/k)8),|Lσ|2=0,|Lσ|2>0

其中参数 k 表示控制扩散的对比因子,值越大,同一点处相对扩散越小。在文中作者主要通过图像梯度百分比完成,一般是k是梯度直方图中70%百分比的值,其求解伪代码如下:

ComputeContrast_K(img, kpercentile=0.7, nbins = 300):
    //calculate gradient
    foreach point in img:
        calculate dx dy in x and y dirctions 
        mog = dx*dx + dy*dy
    hmax = max[mog in img]

    //calculate gradient histogram
    foreach  point in gradient:
        nbin = floor(nbins*(mog/hmax));
        hist[nbin]++

    //find the perc of the histogram percentile
    kp = the bin that make sum[0-kp] > kpercentile * npoints
    k = hmax*((float)(kp)/(float)nbins);
    return k

1.1.3 AOS方法求解非线性扩散方程
对于上述的非线性扩散偏微分方程没有解析解,只能通过一些数学方法近似求解该偏微分方程,本文主要引用了文章Efficient and Reliable Schemesfor Nonlinear Diffusion Filtering中的AOS求解方案。上述方程的离散化表达式如下:

Li+1Liτ=l=1mAl(Li)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值