图像处理的数学模型与高性能算法——介绍
一、图像复原
正问题(Forward Problem):从清晰图片到模糊图片
模糊算子(矩阵)X 清晰图片 + 噪声 = 模糊图片
- 矩阵A是模糊算子,表示模糊化这个物理过程,是已知的;
- x是清晰(复原)图像,是未知的;
- e是观测过程中的噪声,是未知的;
- b是观测到的模糊图像,是已知的。
反问题(Inverse Problem):从模糊图片到清晰图片
任务:观测到的图像是模糊,带有噪声的,如何尽可能复原出清晰的图像?
数学模型:不适定反问题
矩阵A是模糊算子,x是未知清晰复原图像,b是观测到的模糊图像
不适定反问题(III-Posed Inverse Problem)
任务:观测到的图像是模糊,带有噪声的,如何尽可能复原出清晰的图像?
数学模型:不适定反问题
直接求解:高斯消去法,矩阵分解法,迭代法等。
不适定性:(Hardmard)
- 解不一定存在最小二乘问题(数据拟合)
- 解不一定唯一最小范数(能量)解
- 解对于观测数据敏感正则化技巧
最小二乘问题:算子A奇异,条件数巨大,系统不相容等困难
模糊类型(矩阵A的类型):
- Motion blur: 运动模糊
- Out-of-focus: 无法聚焦模糊
噪声类型(向量e的类型):
- Gaussian noise: 正态(高斯)噪声,最为常用
- Poisson noise: 泊松噪声
- Salt and pepper noise: 盐胡椒噪声
图像复原反问题:求解如下模型的清晰图片x
其中模糊矩阵A和模糊图片b已知,噪声e未知,但噪声的值很小。既然噪声e很小(),能否通过求解
,
得到的数值解x,作为清晰图片的近似?即计算
直除得到的结果模糊,不行
解决方法一:去掉模糊矩阵A中的小奇异值
- 解决方法一的难点:究竟应该选择保留多少个大奇异值?即k的值如何选取。
- 如果k太小,复原的图像不够清晰,细节没有体现出来。即出现欠拟合情形(under-fitting)。
- 如果k太大,复原的图像被噪声污染,变得不清晰。即出现过拟合情形(over-fitting)。
- 通过选择不同k,观察复原的图像清晰度,来粗略判断合适的k的选取。
解决方法二:Tikhonov正则化
Tikhonov正则化被广泛的应用于统计学,机器学习和深度学习,信号处理等领域。
对复原的解x有先验(prior)的物理假设,光滑性,稀疏性等等。不直接求解Ax=b,而是求解
其中:
- 称为拟合项,衡量数据和模型的逼近程度;
- 称为Tikhonov正则化项,避免过度拟合;
- >0是正则化参数,平衡拟合项和正则化项。
解决方法二的难点:如何选择合适的正则化参数u?
- 如果u太小,复原的图像被噪声污染,变得不清晰。即出现过拟合情形(over-fitting)。极端情形u=0,则问题变回求解Ax=b。
- 如果u太大,复原图像不够清晰,细节没有体现出来。即出现钱拟合情形(under-fitting)。极端情形u=∞,则问题和Ax=b无关。
- 通过选择不同u,观察复原的图像清晰程度,来粗略判断合适的u的选取。
解决方法三:迭代法
数值迭代方法在很多科学计算领域有着广泛的应用,如机器学习,深度学习,数值代数,最优化等等。
迭代方法可以用来求解线性方程组
也可以用于求解最小二乘问题,或其他一般目标函数最优化问题
迭代法一般形式,产生迭代序列,最后收敛到解
常见的定常迭代方法:
- Jacobi迭代,Gauss-Seidel迭代,SOR迭代等;
常见非定常迭代法
- 梯度下降法(gradient descent)
- 随机梯度下降法(stochastic gradient descent)
- 共轭梯度法(conjugate gradient)
- Kaczmarz方法,Cimmino方法
图像复原模型与算法总结
图像去模糊(复原)在数学上是一个不适定反问题,难度在于模糊矩阵接近奇异,且观测信号被噪声污染。
- 直接求解线性方程组,如左除,无法得到清晰的图像。
- 必须采用正则化方法,如截取奇异值分解法。
- Tikhonov正则化方法。
- 迭代方法。
- 不同方法有各自的优缺点。
图像去背景(Background Removal)
- 一段视频(一系列图像)中,如何分别提取出背景(固定)部分和非背景(移动)部分?
- 如何去除一张照片中无关的行人部分?
图像处理的数学模型与高性能算法——介绍相关推荐
- 图像处理之简单脸谱检测算法
from: http://blog.csdn.net/jia20003/article/details/7596443 图像处理之简单脸谱检测算法(Simple Face Detection Algo ...
- 根据大小分割大文本_场景文本检测—CTPN算法介绍
SIGAI特约作者:沪东三哥 原创声明:本文为SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的. 其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算 ...
- Kylin高级主题-Cube构建算法介绍(逐层算法和快速算法)
Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据.它能在亚秒内查询巨大的Hive表.本文将详细介绍Apache Ky ...
- 第十一课 区块链常用共识算法介绍
上一节课我们学习了共识算法理论基础,今天我们继续深入学习区块链共识算法,通过这节课我们将了解工作量证明.权威证明.权威授权证明.实用拜占庭容错等相关内容. 在学习课程的时候,你也可以领取BaaS平台为 ...
- 深度学习算法和机器学习算法_63种机器学习算法介绍
深度学习算法和机器学习算法 Data Science and analytics are transforming businesses. It has penetrated into all dep ...
- SLIC算法介绍与Python实现
SLIC(simple linear iterative clustering)算法介绍与Python实现 本文转载自:https://blog.csdn.net/shinian1987/articl ...
- BMS电池管理系统中的各种算法介绍
BMS电池管理系统 是一种用于电池组中的单个电池管理的系统,以确保其安全性.寿命和性能.BMS系统通过采集电池信息并对其进行分析,以确保电池组的正常运行.在BMS电池管理系统中,涉及到了许多算法,包括 ...
- 机器学习(九) K-Means(K-均值)聚类算法介绍
K-Means(K-均值)聚类算法介绍 监督学习和无监督学习 无监督学习和监督学习是机器学习最基本的两种类型.在理解聚类算法前必须了解这两类两种类型直接的差别 监督学习(supervised lear ...
- Lsystem算法介绍
system算法介绍 一.基础基础原理 1.算法介绍 Lindenmayer system简称 L-system是由荷兰乌特勒支大学的生物学和植物学家,匈牙利裔的 Aristid Lindenmaye ...
最新文章
- Helm包管理工具(简介、安装、方法)
- 解决Linux系统没有/etc/sysconfig/iptables文件
- Android 拖动条(SeekBar)实例 附完整demo项目代码
- 0也显示曲线 mpchart_BenQ 明基专业摄影显示器SW270C开箱评测体验
- Android源代码下载方法具体解释
- CRM中间件里parent not ok的错误消息如何处理
- 21、python基础学习-new_three_menu
- Leetcode--1004. 最大连续1的个数Ⅲ
- 01json转字符串
- oracle sys连接不上,oracle – 为什么我不能在SYS拥有的对象上创建触发器?
- 清理apache日志
- 谷链——国内首个可落地的农产品溯源
- 微信公众号开发-自定义菜单
- RN android无线调试
- 十人即开团,分销商城全民拼购模式解析
- APP测试概念/Appium实战
- git的简介与基本使用远程仓库gitee的创建
- 求出 2 到 n 之间 (含 n)的所有素数。
- 白苹果了怎么办_ios13更新遭遇白苹果了怎么办?
- 2022年2月最受欢迎编程语言排行榜|Python遥遥领先
热门文章
- python编写coc部落冲突游戏辅助(1)
- C语言入门(1)——Hello World
- Computer Vision_2_Active Shape Models:Active Shape Models-Their Training and Application——1995
- Gif表情包如何用视频制作?教你一键快速制作gif表情包
- 7-42 大炮打蚊子 (15 分)
- 黑客攻防技术宝典(七)
- 双方都在线,qq总是离线发文件
- Element_Table的单元格合并
- 父类类型的引用指向子类的对象
- 纪念我的纪念--转正申请