Hessian Matrix,它有着广泛的应用,如在牛顿方法、求极值以及边缘检测、消除边缘响应等方面的应用。一个Hessian Matrix涉及到很多数学相关的知识点,比如泰勒公式、极值判断、矩阵特征值及特征向量、二次型等。本篇文章,主要说明多元情况下的极值判定、hessian矩阵与二次型的联系以及有关hessian matrix在图像上的应用。

1. 二元函数泰勒公式

对于一元函数的泰勒公式,大家都有所了解,其意义是使用多次多项式来近似表达原函数f(x),一元函数的f(x)的泰勒公式如下:

在实际应用中,我们一般取前面几阶多项式的和来近似表达原函数f(x)。

然而,在图像处理中,我们应用的都是二元函数f(x,y),下面着重讲解下二元函数的泰勒公式:

如果在点的某一邻域内连续且有到n+1阶的连续偏导数,为此邻域的任意一点,则有

其中记号表示

表示

通用记号表示

人生苦短,关于这些公式这里就不证明了,大家可以参考相关数学资料进行证明。

2. 极值判断

如果对于函数中某一点其一阶导数为0,二阶导数不为0,那么该点必定为极值点。再进一步分析,如果二阶导数大于0,那么该点为极小值点,如果二阶导数小于0,那么该点为极大值点。关于这些性质的描述,最直观方法就是自己画图进行理解。另外可以通过表达式给予一些直观理解(省略后面的多阶余项),虽然表达式并非严格,比如,对于一元函数进行泰勒公式展开并认定完全相等:

针对凸函数,如果在x0处的一阶为0,二阶为正,那么我们就可以断定f(x)肯定比在x0处的函数值大,我们可以认为x0为极小值点。对于图像中的二元函数呢?我们是可以类推的。根据上述二元泰勒公式可得二阶近似表达式:

,对于二元函数极值情形,我们可以根据二阶表达式的正负进行判定。

对于这种情形,这里面会涉及到Hessian矩阵正定以及负定的判断,这里令,如果对于任意向量,都有为正,那么有最小值,且H为正定的。如果对于任意向量,都有非负,那么有最大值,且H为负定的。

3. 二次型的性质

可以发现上面矩阵H即为Hessian矩阵,具有对称性。而二次型的矩阵也是对称的,接下来主要介绍下二次型最优化,以一个具体例子进行说明。

最小化二次型函数,其中A是实对称二阶矩阵,即是hessian矩阵,,对于该问题的优化很简单,最终该问题的结果与矩阵A的特征值相关。我们可以绘制二次型函数以及对应的等高线如下:

并且我们求得矩阵A的特征向量[-0.7071,0.7071],[0.7071,0.7071],对应的特征值分别为0.5,1.5

我们可以知道等高线越密集的地方,说明函数值变化较快,而这个函数变化最快的方向即是特征向量[0.7071,0.7071]所对应的方向;等高线越稀疏的地方,说明函数值变化较慢,而变化最慢的方向即是特征向量[-0.7071,0.7071]所对应的方向,并且可以观察矩阵特征值的大小与函数值变化程度有关,较大特征值所对应的特征向量方向上的函数值变化最快,较小特征值所对应的特征向量方向上的函数值变化最慢。

这里描述二次型的目的就是讲解Hessian矩阵的特征值以及特征向量与二次型函数值变化之间的关系。其中二次型函数的二阶偏导就构成了Hessian矩阵,也即是A矩阵。

4. 边缘检测以及边缘响应消除

既然检测到的对应点确认为边缘点,那么我们就有理由消除这个边缘点,所以边缘检测与边缘响应消除的应用是一回事。边缘到底有什么特征呢?如下图所示,一个二维平面上的一条直线,图像的特征具体可以描述为:沿着直线方向,亮度变化极小,垂直于直线方向,亮度由暗变亮,再由亮变暗,沿着这个方向,亮度变化很大。我们可以将边缘图像分布特征与二次型函数图形进行类比,是不是发现很相似,我们可以找到两个方向,一个方向图像梯度变化最慢,另一个方向图像梯度变化最快。那么图像中的边缘特征就与二次型函数的图像对应起来了,其实二次型函数中的hessian矩阵,也是通过对二次型函数进行二阶偏导得到的(可以自己求偏导测试下),这就是我们为什么可以使用hessian矩阵来对边缘进行检测以及进行边缘响应消除,我想大家应该明白其中的缘由了。还是那句话,数学模型其实就是一种反映图像特征的模型。

所以Hessian matrix实际上就是多变量情形下的二阶导数,他描述了各方向上灰度梯度变化,这句话应该很好理解了吧。我们在使用对应点的hessian矩阵求取的特征向量以及对应的特征值,较大特征值所对应的特征向量是垂直于直线的,较小特征值对应的特征向量是沿着直线方向的。对于SIFT算法中的边缘响应的消除可以根据hessian矩阵进行判定。

关于hessian的应用基本讲完了,有问题可以留言讨论。

参考文献:

1.https://www.zhihu.com/question/40181086

2.https://zh.wikipedia.org/wiki/%E6%B5%B7%E6%A3%AE%E7%9F%A9%E9%98%B5

3.http://www.zhihujingxuan.com/18143.html

4.http://blog.sina.cn/dpool/blog/s/blog_5d2990b70101c1pc.html

5.http://blog.sina.com.cn/s/blog_790bb71901015087.html

6.http://painterlin.com/2015/09/12/Intuition-of-Eigen-Value.html

Hessian矩阵以及在图像中的应用相关推荐

  1. Hessian矩阵在血管增强中的应用

    Hessian矩阵在图像处理中有着广泛的应用:其中在图像分割领域,包括边缘检测.纹理分析等. 原理: 假设图像像素值关于坐标(x, y)的函数是f(x, y),那么将f(x+dx,y+dy)在f(x0 ...

  2. 关于Hessian矩阵的图像增强

    文章目录 1. 数字图像处理之尺度空间理论 2. 基于尺度理论的Hessian简化算法 3. 基于Hessian矩阵的图像增强 本文是关于图像增强方面的知识. 关于Retinex图像增强, [请点击] ...

  3. 眼底图像血管增强与分割--(5)基于Hessian矩阵的Frangi滤波算法

    在最优化里面提到过的hessian矩阵(http://blog.csdn.net/piaoxuezhong/article/details/60135153),本篇讲的方法主要是基于Hessian矩阵 ...

  4. Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

    Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵) 算法背景介绍 Hessian 矩阵与泰勒多项式 关于求t 导数与中心点.亚像素点 高斯函数作用 文献 算法背景介绍 ...

  5. hessian矩阵特征值

    研究hessian矩阵去噪的过程中想了解下hessian矩阵特征值的意义及用法 Hessian矩阵的特征值:就是形容其在该点附近特征向量方向的凹凸性,特征值越大,凸性越强. 对于二维图像的某点的hes ...

  6. Hessian矩阵在XGBoost算法的应用小结

    来源:机器学习算法那些事本文约1100字,建议阅读5分钟 本文深入浅出的总结了Hessian矩阵在XGboost算法中的两种应用,即权重分位点算法和样本权重和算法 . 前言 Hessian矩阵最常见的 ...

  7. 如何计算一个神经网络在使用momentum时的hessian矩阵(论文调研)

    根据[4]中的说法,"Though results on the Hessian of individual layers were not included in this study&q ...

  8. 牛顿法为什么要保证Hessian矩阵正定

    牛顿法为什么要保证Hessian矩阵正定: 实际中,需要求出Hessian的逆矩阵,只有正定矩阵,才可以求出逆矩阵. 正定矩阵:特征值全大于0:各阶主子式全大于0.

  9. matlab 海塞矩阵 多元函数求极值,基于Hessian矩阵的多元函数极值问题.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp电子工程/通信技术&nbsp>&nbsp无线电电子学/电信技术 基于Hessian矩阵的多元 ...

最新文章

  1. ps怎么制作流体_ps相框制作教程:ps怎么制作相框效果
  2. Cisco OSPF常见问题
  3. iOS 获取appstore 版本号
  4. 母婴品牌与AI的碰撞:第四范式为美素佳儿提供智能推送服务
  5. 【Step1】【floyd】poj1125-Stockbroker Grapevine
  6. shell脚本_Shell脚本
  7. msfconsole 无法启动,解决办法
  8. Android开发学习之录音同步播放的实现
  9. 两台计算机无法共享链接,[转载]局域网内两台计算机无法互相共享文件
  10. 谜一样的科学家——阿兰图灵
  11. php输出熊猫图案,熊猫特殊符号
  12. Dell 服务器开启虚拟化功能Intel VT-x
  13. python无法打开h5权限_求助:python post请求访问不到数据
  14. Marvelous Necklace Gym - 102020M
  15. Gitee码云remote: error: File: , exceeds 100.00 MB 踩坑指南
  16. Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
  17. Trimble Tekla Structures 2022 SP7
  18. IDEA面板中文释义
  19. Ubuntu 10.04下安装TL-WN721N(RT5370)无线网卡驱动
  20. 【板栗糖GIS】arcmap—如何对数据库进行管理与升级(综合篇)

热门文章

  1. [Qt] 迷宫随机生成和自动寻路算法、布局管理器、动态效果、界面切换、播放音频【迷宫、魔塔、超级玛丽】 -C++课程设计:Qt实现的迷宫与地牢游戏
  2. DailyFi - 9.20|NFT 平台 Vera 将于明日在 Polkastarter 上 IDO
  3. 字节流与字符流应用详解
  4. Python嵌套字典的遍历
  5. USB Type-C引脚解析 CC、DFP、UFP、DRP用途解析
  6. DeepSORT C++版的一个bug
  7. VIVADO软件学习
  8. ShortcutBadger
  9. 浅谈心电信号处理(3)-- 心电滤波简述
  10. x86与x86-64数据格式与常用的汇编指令笔记