一点一滴完全突破KAZE特征检测算法,从各向异性扩散滤波开始(1)
ECCV2012中出现了一种比SIFT更稳定的特征检测算法KAZE。尽管,这个算法是几个法国人提出的,但是算法却有一个日文的名字。KAZE是日语‘风’的谐音,最近宣布退休的宫崎骏所拍摄的影片“起风了”,那个主题曲里就不停的反复出现KAZE这个发音。传统的SIFT和SURF核心算法都被申请了专利,在实际应用中存在一定障碍。KAZE现在还不知道有否被申请专利保护,不过就算法而言,这个算法的表现也更加稳定,效果良好,笔者准备发一系列连载的文章把相关的知识一点一滴的详细的说来,争取让各位读者能够做到“彻底理解”。
本文是该系列文章的第一节。我们要从一个物理模型开始说起。因为KAZE特征检测是在图像域中进行非线性扩散处理的过程。所以要想理解KAZE,必须得先理解,什么是非线性扩散处理。要说到什么是非线性扩散处理,也称为各向异性扩散,也就需要搞懂各向异性扩散中最基础的算法,也就是Perona-Malik方程。Perona-Malik方程在KAZE中也有用到,所以,理解Perona-Malik方程是必须的(如果读者已经对此比较理解,可以跳过此部分内容)。要想完全理解Perona-Malik方程,就必须从物理上的扩散方程(也叫热传导方程)开始。本节就先向各位介绍热传导方程的推导。对于学物理的人来说,这部分内容非常基础,对于学计算机的人来说,可能了解不多。如果有学过“应用偏微分方程”方面的课程,这部分内容也是非常EASY的。
(抱歉,因为公式太多,我只能贴图了)
一维热传导方程
如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。偏微分方程(PDE)是用来描述同一因变量对于不同自变量的偏导数之间制约关系的等式,这种制约关系常常是指未知变量关于时间和空间变量的导数之间的关系,因此偏微分方程在物理学中十分常见。目前,在数字图像处理领域,偏微分方程方法也得到了广泛的应用。为了引人后续我们将要介绍各向异性扩散方程,我们这里先从物理学的角度去理解一下一维热传导方程,也称一维扩散方程。
热能是由分子的不规则运动产生的。在热能流动中有两种基本过程:传导和对流。传导由相邻分子的碰撞产生,一个分子的振动动能被传送到其最近的分子。这种传导导致了热能的传播,即便分子本身的位置没有什么移动,热能也传播了。此外,如果振动的分子从一个区域运动到另一个区域,它会带走其热能。这种类型的热能运动称为对流。为了从相对简单的问题开始讨论,这里仅研究热传导现象。
为了避免文章太长,今天先贴这么多。
未完,待续 ...
一点一滴完全突破KAZE特征检测算法,从各向异性扩散滤波开始(1)的更多相关文章
- KAZE特征和各向异性扩散滤波
kaze feature: http://www.doc88.com/p-6911376909693.html 各向异性扩散滤波 Scale-space and edge detection usi ...
- matlab各向异性扩散滤波
主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留图像边缘的(和双边滤波很像). 通常我们有将图像看作矩阵的,看作图的,看作随机过程的,记得过去还有看作力场的. 这次新鲜,将图 ...
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...
- 【转】Matlab练习程序(各向异性扩散)
http://www.cnblogs.com/tiandsp/archive/2013/04/18/3029468.html 主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留 ...
- 四旋翼基础算法学习2-IMU输入滤波算法
前言: 处理器读取陀螺仪加速度计数据后首先需要对数据进行滤波处理,此文分析比较几种常用的滤波算法. 参考学习:四轴加速度计滤波 IMU: IMU使用MPU9250(即MPU6500),设置加速度量程± ...
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part6
本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part6,辑录该书第281至第374页之代码,供有须要读者下载研究使用.代码运行结果请參见原书配图,建议下载代码前阅读下 ...
- MR 图像分割 相关论文摘要整理
<多分辨率水平集算法的乳腺MR图像分割> 针对乳腺 MR 图像信息量大.灰度不均匀.边界模糊.难分割的特点, 提出一种多分辨率水平集乳腺 MR图像分割算法. 算法的核心是首先利用小波多尺度 ...
- Halcon斑点分析涉及算子及其高阶运用
涉及算子 获取图像 使用ROI 对齐ROI或图像 校正图像 基础内容这里不再重述 预处理图像(过滤) 基础: mean_image(平均平滑过滤),gauss_filter(高斯滤波),binomia ...
- OPENCV图像特征点检测与FAST检测算法
前面描述角点检测的时候说到,角点其实也是一种图像特征点,对于一张图像来说,特征点分为三种形式包括边缘,焦点和斑点,在OPENCV中,加上角点检测,总共提供了以下的图像特征点检测方法 FAST SURF ...
随机推荐
- Swift--基本数据类型(一)
不像更多语言中,X不要求你写一个分号(;)在你的代码中的每一个语句后,尽管能够这样做.然而,假设你想在一行中写入多个单独的语句分号是必需的: . 1 let cat = "" ...
- iOS创建本地通知和删除对应的通知,工作日通知
本文的代码主要是:创建本地通知,删除对应的本地通知,创建工作日闹钟 直接上代码: // // ViewController.m // LocalNSNotification // // Created ...
- 转化为用欧几里得算法判断互质的问题D - Wolf and Rabbit
Description There is a hill with n holes around. The holes are signed from 0 to n-1. A rabbit must h ...
- 百度SiteApp构建网站APP
现在很多个人网站和企业网站都是传统的Web方式,有没有想过个人/企业网站也能做成APP应用对外宣传呢?专门找人去开发Android和IOS上的APP又太贵,为了赶上移动互联网时髦,我以个人网站试做了一 ...
- Android广播——短信拦截
MainActivity.java package com.example.broadcasttest; import android.content.Intent; import android.c ...
- postgresql 忘记 postgres 密码
参考博文: 如何重置postgresql用户密码 解决方法: 1.关闭数据库服务 2.进入数据库的工作空间目录 (如果是建库是没有另外指定,应该就是postgresql安装目录下的 data 目录) ...
- Python获取并修改hosts
#!/usr/bin/env python #-*- coding: utf-8 -*- #谷歌host修改脚本 #author 坤子<root#pythonpy.com> #date 0 ...
- javaCore分析示例(转)
当两个或多个线程彼此形成循环依赖关系时,就出现了死锁.例如,如果线程 A 处于等待线程 B 的等待状态,而同时线程 B 处于等待线程 A 的等待状态,则出现了死锁.一旦形成此情况,线程 A 和线程 B ...
- 在Eclipse/MyEclipse中安装spket插件
Spket ide是强大的工具包为了JavaScript和XML的开发,这个强大的编辑器对JavaScript, XUL/XBLand Yahoo! Widget的开发都有全面的支持 ,比如代码完毕, ...
- 开源 免费 java CMS - FreeCMS1.9 职位管理
项目地址:http://code.google.com/p/freecms/ 职位管理 管理职位,实现招聘功能. 1. 职位管理 从左側管理菜单点击职位管理进入. 2. 加入职位 在职位列表下方点击& ...