三维网格去噪算法(L0范数最小化,包含二维图像去噪)
参考文章(技术来源):Mesh denoising via L0 minimization
上面参考文章提出了一种基于L0范数最小化的三角网格去噪算法。该思想由二维图像平滑引申而来,所以先从基于L0范数最小化的二维图像平滑的原理入手,来一步步讲解。
一. 基于L0范数最小化的二维图像平滑
1. 目的
(1) 去噪后得到的输出(out)图像尽可能接近原图(不要损失边缘,纹理等细节信息);
(2) 图像平滑(去噪)。
2. 针对1的分析
(1) 衡量out图与原图的误差函数:
目标:最小化误差函数 —— minc|c−c∗|2minc|c−c∗|2min_c|c-c^*|^2
(2) 图像平滑
引入L0范数 —— 可理解为“集合的非零个数”
|▽c|0|▽c|0|\bigtriangledown c|_{0}:越大,图像细节纹理越清晰;越小,细节纹理越模糊。
目标:minc|▽c|0minc|▽c|0min_c|\bigtriangledown c|_{0} —— 使|▽c|0|▽c|0|\bigtriangledown c|_{0}尽量小,可实现图像平滑
注意:(1)与(2)是对立关系。
3. 本问题的目标函数
结合2中的(1)和(2),形成了本问题的目标函数:
minc|c−c∗|2+|▽c|0minc|c−c∗|2+|▽c|0min_c|c-c^*|^2+|\bigtriangledown c|_{0}
即最小化|c−c∗|2+|▽c|0|c−c∗|2+|▽c|0|c-c^*|^2+|\bigtriangledown c|_{0}
4. 引入正则化参数λλ\lambda
目标函数中,(1)(2)两部分是对立的,|c−c∗|2|c−c∗|2|c-c^*|^2小(out图接近原图),则|▽c|0|▽c|0|\bigtriangledown c|_{0}大。那么,如何找到最优解实现minc|c−c∗|2+|▽c|0minc|c−c∗|2+|▽c|0min_c|c-c^*|^2+|\bigtriangledown c|_{0} ?
我们来引入正则化参数(常量)λλ\lambda 来平衡(1)(2)两部分的比重,目标函数:
minc|c−c∗|2+λ|▽c|0minc|c−c∗|2+λ|▽c|0min_c|c-c^*|^2+\lambda|\bigtriangledown c|_{0}
- λλ\lambda 大,则(2)最小化比重大,应尽量使|▽c|0|▽c|0|\bigtriangledown c|_{0}最小化;
- λλ\lambda 小,则(1)最小化比重大,应尽量使|c−c∗|2|c−c∗|2|c-c^*|^2最小化;
- 所以λλ\lambda 能控制out图像的平滑程度。
5. 引入辅助变量δδ\delta
4中的目标函数存在无法凸优化问题,引入辅助变量δδ\delta ,目标函数:
minc,δ|c−c∗|2+β|▽c−δ|2+λ|δ|0minc,δ|c−c∗|2+β|▽c−δ|2+λ|δ|0min_{c,\delta }|c-c^*|^2+\beta \left | \triangledown c-\delta \right |^{2}+\lambda|\delta|_{0}
我想,引入(2)的目的是因为:我们要找目标函数的最优解,而L0范数(λ|▽c|0λ|▽c|0\lambda|\bigtriangledown c|_{0})不可导,使得全局最优问题成为一个NP(非确定性,数学难题)难问题。所以这里使用变量分裂法,分裂出(2)这个二次函数(因为二次函数都可以求导,得到其最小值)。
6. 开始优化
- 第1步:固定c优化δδ\delta ,即:minδβ|▽c−δ|2+λ|δ|0minδβ|▽c−δ|2+λ|δ|0min_\delta\beta \left | \triangledown c-\delta \right |^{2}+\lambda|\delta|_{0}
第2步:固定δδ\delta 优化c,即:minc|c−c∗|2+β|▽c−δ|2minc|c−c∗|2+β|▽c−δ|2min_c|c-c^*|^2+\beta \left | \triangledown c-\delta \right |^{2}
循环迭代以上两步,每次迭代中ββ\beta 乘以2(使(2)占得比重大,使得最终▽c≈δ▽c≈δ\triangledown c\approx\delta )。
二. 将以上思想应用于三角网格去噪
1. 目标函数
minp,δ|p−p∗|2+β| D(p)−δ|2+λ|δ|0minp,δ|p−p∗|2+β|D(p)−δ|2+λ|δ|0min_{p,\delta }|p-p^*|^2+\beta \left | \ D(p)-\delta \right |^{2}+\lambda|\delta|_{0}
分析:
关于D(e):
但是当有角度接近0时,微分算子的权重会变成inf,因此文章又提出了一种优化后的微分算子表达式:
微分算子D(e)中的符号说明:
2. 引入正则化项R(p)
对于非均匀噪声网络,应用1中的目标函数模型得到结果:
所以在优化过程又加入了一个正则化项:R(p)=(p1−p2+p3−p4)2R(p)=(p1−p2+p3−p4)2R(p)=(p_{1}-p_{2}+p_{3}-p_{4})^{2}
于是目标函数变为:minp,δ|p−p∗|2+α|R(p)|2+β| D(p)−δ|2+λ|δ|0minp,δ|p−p∗|2+α|R(p)|2+β|D(p)−δ|2+λ|δ|0min_{p,\delta }|p-p^*|^2+\alpha\left | R(p) \right |^{2}+\beta \left | \ D(p)-\delta \right |^{2}+\lambda|\delta|_{0}
3. 优化过程仍分为两步
第1步:固定p优化δδ\delta ,即:minδβ|D(p)−δ|2+λ|δ|0minδβ|D(p)−δ|2+λ|δ|0min_{\delta }\beta \left | D(p)-\delta \right |^{2}+\lambda \left | \delta \right |_{0}
有一个限定条件:$\sqrt{\frac{\lambda }{\beta }}>D_{i},\delta
- 第2步:固定δδ\delta 优化p,即:minp|p−p∗|2+α|R(p)|2+β|D(p)−δ|2minp|p−p∗|2+α|R(p)|2+β|D(p)−δ|2min_{p}\left | p-p^{*} \right |^{2}+\alpha \left | R(p) \right |^{2}+\beta \left | D(p)-\delta \right |^{2}
相当于求解稀疏矩阵方程组 然后循环迭代上述2个步骤直到达到预定条件。
开始β=10−3β=10−3\beta=10^{-3},每次β→μββ→μβ\beta \rightarrow \mu \beta ,μμ\mu越大棱角越分明,直到β≥103β≥103\beta \geq 10^{3}
α→12αα→12α\alpha \rightarrow \frac{1}{2}\alpha
三维网格去噪算法(L0范数最小化,包含二维图像去噪)相关推荐
- 图像处理-基于图像梯度L0范数最小化(L0smooth)的保护边缘平滑滤波
算法程序备注: (1)下面是对一幅自然图像进行处理的结果: 可以看到图像有非常明显的变化,图像分成了一块一块,这是图像平滑后的结果,因为保护了边界,因此明显的边界仍然存在,但是不可避免的细节部分被磨平 ...
- l20范数最小化求解系数方程_贪婪组稀疏方法(Greedy group sparsity)
l20范数最小化求解系数方程_贪婪组稀疏方法(Greedy group sparsity) 本文章部分参考Fast group sparse classification l20范数最小化求解系数方程 ...
- 稀疏优化L1范数最小化问题求解之基追踪准则(Basis Pursuit)——原理及其Python实现
文章目录 一.前言 二.问题重述 三.构造 ℓ1\ell_1ℓ1 范数 四.ℓ1\ell_1ℓ1 范数最小化问题转换为线性规划问题 五.基于linprog的基追踪Python代码 六.运行测试 七 ...
- 压缩感知的尽头: 原子范数最小化
文章目录 前言 问题建模 Toeplitz 矩阵的范德蒙德分解 DOA估计的一般框架 ℓ0\ell_0ℓ0-原子范数 ℓ0\ell_0ℓ0-原子范数 与 范德蒙德分解 原子范数 多维原子范数 证明 ...
- ITK系列24_ 区域增长(孤立连接)算法对脑部PNG图像进行二维分割
孤立连接 接 下 来 的 例 子 阐 述 了 itk::IsolatedConnectedImageFilter 的 用 法 . 这 个 滤 波 器 是itk::ConnectedThresholdI ...
- 【python 图片识别】python识别图片是不是包含二维码
近几天在研究二维码的识别,主要是通过python代码来识别特定图片内是否包含二维码.方法有分类,还有下面我介绍的直接法. 需要安装库 pip install pyzbar pip install op ...
- l1范数最小化快速算法【文献阅读】
1:解决的问题模型如下: 或者约束条件可以适当的松弛,即为如下模型: 当然约束条件取范数,数据获取的比较准确,结果逼近的效果更好,防止过拟合.如果取 范数,则是获取的数据,受到污染比较严重. ...
- 近端算法:近端最小化(Proximal minimization)、近端梯度(PG)、加速近端梯度(APG)、ADMM
近端算法 基本介绍及定义 定义 工作原理 性质 近端算子解释 Moreau-Yosida正则化 次微分算子的预解 修正梯度步长 信任区域问题 近端算法(Proximal Algorithms) 近端最 ...
- 【二维码识别】基于matlab GUI灰度+二值化+校正二维码生成与识别【含Matlab源码 635期】
⛄一.二维码生成与识别简介 如今,移动互联网技术日新月异,随着5G时代的来临,广泛应用于数据处理过程中的二维码信息安全日益成为人们越来越关注的问题.以QR码为代表的二维码,以其在信息存储.传输和识别技 ...
最新文章
- mysql 表的继承,MySQL是否支持表继承?
- [Java实现] 图片择优(选择最清楚的图片)
- File.documentsDirectory抛出异常Error #2014问题解决方案
- vb如何测试连接mysql_怎么在vb程序中查找数据库信息并显示
- python怎么读文件内容-Python 文件内容读取
- java 类 大全_JAVA集合类汇总
- cv2.waitKey(x)解析
- 毕业设计(论文)-c++小型ftp服务器系统【毕业论文】.doc,毕业设计(论文)-C++小型FTP服务器系统.doc...
- 【Envi风暴】Envi 5.1平台下植被覆盖度(VFC)的遥感估算
- 【Ubuntu】VMware下Ubuntu和主机的共享文件夹
- x264源代码简单分析:x264命令行工具(x264.exe)
- 电感式升压转换器-AIC1896 电感式升压转换器
- Ie和firefox的Javascript区别
- 易筋SpringBoot 2.1 | 第三十篇:SpringBoot Reactor响应式编程介绍
- 【Axure图标库】单线形图标元件库 细线矢量图标1000+
- 达梦数据库(DM7试用版)安装
- L2-011 玩转二叉树 (25分)
- 掌控安全Web安全微专业笔记
- 调起百度地图客户端之导航功能
- 北京邮电大学计算机学院合并,北京邮电大学院系重组
热门文章
- 论文解读-Feature Selective Anchor-Free Module for Single-Shot Object Detection
- 毕设 - 网络商城之环境搭建(SSM)
- java字符串长度计算,论程序员成长的正确姿势
- 国际性 NFT 艺术咨询和经纪公司 NFT.ART 加入 Unifty 画廊
- hover、focus、active、link、visited状态 CSS
- C语言之动态创建链表的两种方式
- 每日一练-第一天-3.18
- 关于逆向思维在程序设计中的应用
- 第 1 课 鸦片战争(1840-1842) (道光帝在位)
- 敏捷实践之Stand-UP Meetting早会