『』优化 | 基于曲率的图像处理( 二 )
接下来就让我们以高斯曲率滤波为例来说明如何利用数据的离散性和微分几何的连续性 。 一般来说 , 我们可以把曲面分为可展曲面和不可展曲面两类 , 如下图所示 。
本文插图
不可展曲面与可展曲面
可展曲面可以沿某个基线剪开 , 然后没有任何拉伸或者扭曲就可以完全平摊在一个平面上(可以展开) 。 这样的曲面有良好的性质 , 而且在数学中已经被研究得很透彻 。 这样的曲面上每一点的高斯曲率为零 。 我们可以利用这一点来构造曲率滤波 , 以达到优化曲率的目的 。
在连续的微分几何理论中 , 我们知道高斯曲率处处为零的曲面是可展曲面 , 而可展曲面只有三类:柱面、锥面和切向可展面 。 如下图所示 , 我们可以证明一个定理:
本文插图
高斯曲率滤波的数学理论基础
该定理说明:对于任何一个可展曲面上的点(如上图红色球所示) , 它都位于它邻域内某一个点(如上图蓝色球所示)的切面上(如上图绿色三角形所示) 。 那么 , 我们怎么样利用这个定理来减小高斯曲率呢?
这就需要利用图像的离散性来构造切面(上图所示的绿色三角形) 。 在3X3的小窗口内 , 我们可以枚举所有可能的切面 。 如下图所示 , 三个柱面和红色球表示图像的灰度值 , 绿色三角形表示来自天蓝色三角柱的切面 。 显然 , 我们只需要增加或者减小红色球的高度就可以让它位于绿色三角形(切面)上 。
本文插图
离散图像的切面构造
利用数据的离散性 , 我们可以遍历所有可能的切面(部分切面见下图) , 然后找到到当前灰度值最小的变化来进行更新 , 这就完成了一次高斯曲率滤波 。 我们可以多次重复这一过程 , 直到收敛 。 收敛性证明在曲率滤波博士论文第六章第一节 。
本文插图
3X3邻域内可能的几种切面示意图
曲率滤波简单到什么程度呢?下图是高斯曲率滤波的算法伪代码(计算太简单了 , 而且优化效果比state of the art还要快三个数量级 , 也就是1000倍 , 推导过程见论文
本文插图
高斯曲率滤波的最小投影算法
以上过程充分利用了图像的离散特征 , 也利用了微分几何的连续理论 , 从而避免了计算曲率和复杂的几何流(数值稳定性 , 步长 , 时间离散化等等问题) 。 更重要的是 , 这种方式构造的滤波器非常简单 , 计算速度非常快 , 比传统的几何流快1000到10000倍(优化效果差不多的情况下) 。 下图是一个例子 。 左边是原图 , 中间是经典的高斯曲率几何流 , 最右边是曲率滤波的结果 。 视觉上 , 三者没有太大的差别 。 但是它们对应的高斯曲率能量分别为246.98, 115.4, 97.15 。 传统几何流和曲率滤波的计算时间分别为4246ms 和 18ms 。 曲率滤波的高效性可见一斑 。
本文插图
原图(左边) , 传统的几何流算法(中间) , 高斯曲率滤波算法(右边)
简单、高效、通用 , 是曲率滤波的三个特征 。 曲率滤波可以单独存在 , 也可以跟数据拟合项(成像模型)一起工作 。 而且它可以不要求计算成像模型的梯度 。 这使得它非常通用 , 可以求解任意成像模型(black box) 。 这是全局算法(global method)做不到的 。
推荐阅读
- ■基于ATT&CK框架的Kubernetes攻击威胁矩阵
- ##三星领头再次挑起显示器变革,1000R曲率是创新还是营销概念?
- @macOS 10.15.5 Beta 2 发布 优化电池充电模式
- ##EMUI10.1&Magic UI3.1相机分辨率没少,是优化!
- 「春石秋成」EMUI10.1&Magic UI3.1相机分辨率没少,是优化!
- [搜狐新闻]macOS 10.15.5 Beta 2 发布 优化电池充电模式
- 「手机之家」将屏幕优化到“炫技”水平!iQOO Neo3 将“豪横”进行到底
- [网络工程师成长日记]5g网络信号优化工程师怎么入行呢?
- 「微信电脑版」微信电脑版2.9.0正式版发布 新功能不多但带来诸多实用的优化改进
- [蓝点网]微信电脑版2.9.0正式版发布 新功能不多但带来诸多实用的优化改进