- 博客(68)
- 资源 (3)
- 收藏
- 关注
原创 图像的梯度
在经典的图像信号处理中经常遇到图像梯度的概念,然而对于数字图像而言,其采样空间是离散的,采样步长为单位长度,因此,如果建模需要用到图像梯度,在求解模型的过程中涉及到的数值计算过程就需要计算图像的数值梯度。在经典的数值分析中,梯度的计算常常采用数值差分来替代,这里我们首先来回顾一下微积分中微分及梯度的概念,以及数值分析中如何去计算微分与梯度。
2024-04-08 16:50:11
799
1
原创 简述信息论与采样定理
香农信息论发表于1948/1949年,它由三部分组成:信号采样、信源编码、信道编码;信号采样:采样理论研究在何种条件下对连续信号进行采样,从而得到的离散型号可以可逆地恢复出采样前的连续信号。采样得到的离散实数值代表着原来的信号,信号通常有限精度量化成一个有限的符号集中。信源编码:信源编码研究如何将采样得到的离散数字信号编码成二进制序列,它利用了信号的统计分布来将采集到的数字信号编码成最紧凑的二进制码。
2023-09-25 11:22:05
585
原创 Tone Mapping中luma滤波(降噪)对噪声放大的定性分析
反应在图像的tone mapping中,对luma降噪相对于直接tone mapping,会放大噪声,同时也增强边缘,增加对比度,也就是图1中的现象。于是,对于一般情况而言,luma上降噪也会放大噪声,增强边缘,增加对比度,而且降噪强度越大,会导致luma平面越平滑,时,对luma平面降噪会放大图像中的噪声,增强边缘,增加对比度,而通常的tone mapping曲线。要判定其单调性,只需判定其符号,而分母显然为正数,从而只需要分析分子,令。,mapping过程中,对于给定的点,假定其亮度为。
2023-03-22 14:37:49
711
原创 图像信号处理器及其架构演进
对于一个成像系统,其图像信号采集部分包括光学器件的镜头组和光电器件的CMOS/CCD成像传感器,由于其在设计和制造阶段的缺陷,在按下快门采集得到的图像信号上有各种各样的缺陷不能满足人们对于图片的需求,这就需要图像信号处理器(Image Signal Processor, ISP)对CMOS/CCD传感器采集的图像信号进行处理,得到令人满意的图像
2022-10-19 15:15:37
3067
原创 如何将VS中tab设置为4个空格,并将已编辑文件全部替换,图文演示
由于不同编辑器中Tab键的宽度不一样,有时候代码需要兼容linux以及windows,为了让在不同编辑器中中看到相同的缩进效果,在一些代码规范中通常要求将Tab键换成4个空格一、如何在VS中设置输入Tab键后直接是键入4个空格?以visual studio 2022 community版本为例工具–>选项–>文本编辑器–>所有语言–>制表符按照下图所示设置:接下来二、如何将已经之前编辑好的内容中所有Tab替换为4个空格?进行查找替换。Tab转义字符为“\t”,替换为4个空格。注意:选择最下面一行的“
2022-07-14 17:25:51
5661
1
原创 round-off and truncation error(舍入和截断误差)
# round-off and truncation error# 舍入和截断误差1. Round-off errors are due to approximate representation of floating-point numberfrom math import piprint(pi)3.141592653589793π\piπ=3.141592653589793238462643…2. subtractive cancellationx=1x=1x=1y=1+10
2022-05-13 20:30:00
1448
原创 交替方向乘子法(admm)
admm统计学、机器学习和科学计算中出现了很多结构复杂且可能非凸、非光滑的优化问题。交替方向乘子法很自然地提供了一种适用范围广泛、容易理解和实现、可靠性不错地解决方案。该方法在20世纪70年代发展起来地,与许多其他算法等价或密切相关,如对偶分解、乘子方法、Douglas-Rachford Splitting方法、Dykstra交替投影方法、Bregman对于带l1l_1l1范数问题地迭代算法、近似点算法等、本届首先介绍交替方向乘子法地基本算法;在介绍了Douglas-Rachford Splitting
2022-03-03 14:33:50
4691
8
原创 Nesterov加速算法
Nesterov加速算法上一届分析了近似点梯度法的收敛速度:如果光华部分的梯度是利普西茨连续的,则目标函数的收敛速度可以达到O1kO{\frac{1}{k}}Ok1,一个自然的问题是如果仅用梯度信息,我们能不能取得更快的收敛速度。Nesterov分别再1983年、1988年和2005年提出了三种改进的一阶算法,收敛速度能到达O(1k2)O({1}{k^2})O(1k2)。实际上,这三种算法都可以应用到近似点梯度算法上。再Nesterov加速算法再但是并没有引起太多的关注。但几年来,随着数据量的增大,牛顿
2022-03-02 10:03:15
3160
3
原创 近似点梯度算法
近似点梯度算法本届主要考虑复合优化问题:minx∈Rnψ(x)=deff(x)+h(x)(1)\min_{x\in\mathcal{R^n}}\quad\psi(x)\overset{def}{=}f(x)+h(x)\tag{1}x∈Rnminψ(x)=deff(x)+h(x)(1)其中f(x)f(x)f(x)为可微函数(可能非凸),h(x)h(x)h(x)可能为不可微函数。问题(1)出现在很多应用领域中,如压缩感知、图像处理、机器学习等,如何高效求解该问题是近年来的人们课题。本届江介绍基于近
2022-03-02 09:59:39
3435
6
原创 增广拉格朗日函数法
增广拉格朗日函数法在二次罚函数法中,为了保证可行性,罚因子必须趋于正无穷。此时,子问题因条件数爆炸而难以求解。那么,是否可以通过对二次罚函数进行某种修正,使得对有限的罚因子,得到的毕竟最优解也是可行的?增广拉格朗日函数法就是这样的一个方法。一、等式约束优化问题的增广拉格朗日函数法增广拉格朗日函数法的构造增广拉格朗日函数法的每一步构造一个增广拉格朗日函数,而该函数的构造依赖于拉格朗日函数和约束的二次罚函数。具体地,对于等式约束优化问题,minxf(x)s.t.ci(x)=0,i∈E(1)\be
2022-03-01 14:52:08
8515
2
原创 共轭梯度法
共轭梯度法最速下降法以及牛顿法都具有其自身的局限性。本文将要介绍的共轭梯度法是介于最速下降法与牛顿法之间的一种无约束优化算法,它具有超线性的收敛速度,而且算法结构简单,容易编程实现。此外,根最速下降法相类似,共轭梯度法只用到了目标函数及其梯度值,避免了二阶导数的计算,从而降低了计算量和存储量,因此它是求解无约束优化问题的一种比较有效而使用的算法。一、共轭方向发共轭方向法的基本思想是在求解nnn维正定二次目标函数极小点时产生一组共轭方向作为搜索方向,在线搜索条件下算法之多迭代nnn步即能求得极小点。京故
2022-02-14 17:32:35
5928
原创 约束优化求解之罚函数法
罚函数法本部分考虑约束优化问题:minf(x)s.t.x∈χ(1)\begin{aligned}\min f(x) \\s.t. x\in\chi\end{aligned} \tag{1}minf(x)s.t.x∈χ(1)这里χ⊂Rn\chi\subset\mathbb{R}^nχ⊂Rn为问题的可行域。与无约束问题不同,约束优化问题中自变量xxx不能任意取值,这导致无约束优化算法不能使用。例如梯度法中沿着梯度负方向下降所得的点未必是可行点,要寻找最优解处目标函数的梯度也不是零向量。这使
2022-02-10 14:44:22
8701
原创 无约束优化算法之拟牛顿法
function [fmin, xmin] = BFGS(func, gfunc, x0, epsilon)HOld = eye(length(x0));maxIter = 500;xOld = x0;iIter = 1;while iIter < maxIter gOld = feval(gfunc, xOld); dk = -HOld * gOld; [~, ~, alpha] = armijo_rule(func, gfunc, xOld, 0.2, d
2022-02-10 14:41:53
1752
原创 次梯度与次梯度算法
mainclose allm = 512;n = 1024;A = randn(m, n);r = 0.1;u = sprandn(n, 1, r);b = A * u;mu = 1;epsilon = 1e-5;u0 = u + 0.1 * randn(n, 1);func = @(x)(subgradient_func(x, mu, A, b));gfunc = @(x)(subgradient_gfunc(x, mu, A, b));step_size0 = 0.0005
2021-12-21 23:22:47
3763
原创 梯度下降应用举例
梯度下降应用举例Lasso 问题求解tikhonov正则化举例main函数u = load('tower.mat');u = u.B1;x = double(u);[height, width] = size(u);x0 = x;y = x + 20 * randn(height, width);% y = mat2gray(y);% x = mat2gray(x);lambda0 = 0.5;lambda1 = 2;epsilon = 1e-4;func0
2021-12-20 23:07:44
2879
4
原创 梯度下降算法
一、梯度下降算法本文介绍梯度下降算法,其本质是仅仅使用函数的一阶导数信息选取下降方向dkd_kdk。梯度下降法的方向选取非常直观,实际应用范围非常广,因此它在优化算法中的地位可相当于高斯消元法在线性方程组中的地位。此外我们也会介绍BB方法,该方法作为一种梯度法的变形,虽然理论性质目前仍不完整,但由于优秀的数值表现,也是在实际应用中使用较多的一种算法。对于光滑函数f(x)f(x)f(x),在迭代点xkx_kxk处,我们需要选择一个较为合理的dkd_kdk作为下降方向。注意到ϕ(α)=f(xk+αdk
2021-12-02 17:11:47
5567
4
原创 无约束优化之单纯形法(Nelder-Mead Algorithm)
单纯形法只需要计算目标函数值,是无需要一维搜索,也无需进行求导的一种直接法。其优点计算比较简单,几何概念清晰,适用于目标函数求导比较困难或不知道目标函数的具体表达式而仅知道其具体计算方法的情况。一、基本思想所谓n维欧氏空间中的单纯形,是指在n维空间中由n+1个顶点构成的简单图形或多面体。例如,在二维平面中的单纯形应具有三个顶点,即三角形。在三维空间中的单纯形应具有四个顶点,即四面体。当各顶点之间的距离相等时,这种几何图形就称为正规单纯形。单纯形法的基本思想是:选n+1个顶点构成初始单纯形,计算并比较各
2021-11-30 15:59:01
9146
5
原创 无约束优化方法之powell方法
无约束优化方法是优化技术中心极为重要也是最基本的内容之一。无约束优化问题的数学模型为:minx∈Rnf(x)\min_{x \in R^n}f(x)x∈Rnminf(x)无约束优化方法不仅可解决设计中无约束优化问题,更重要的是通过对无约束优化方法的研究,给求解约束优化方法提供良好的概念和理论基础,而且约束优化问题通过数学处理可化为无约束优化问题,利用无约束优化方法来求解。所以无约束优化方法在优化设计中有十分重要的作用;根据确定搜索方向所使用的信息和方法,无约束优化方法可以分为两大类:(1)直
2021-11-30 15:55:22
3279
1
原创 线搜索技术
线搜索技术求解一维函数的极值点的数值迭代法称为一维搜索方法,又称为线搜索技术。实际工程优化问题的目标函数是一元函数的并不多,但是,在求解多元函数最优解的过程中,常常伴随着一系列的线搜索技术。线搜索方法对整个算法的收敛速度、精度都有较大的影响。可以说线搜索技术是优化方法的重要支柱。在前面的优化技术理论基础中介绍了下降迭代算法的基本迭代公式xk+1=xk+αkdk,(k=0,1,2,⋯ )x_{k+1}=x_k+\alpha_k d_k, (k=0,1,2,\cdots)xk+1=xk+αkdk
2021-11-26 14:46:31
3038
原创 数值优化理论的数学基础
优化设计数学模型的求解,实际上就是数学中的极值问题。对于无约束优化问题,是求多元函数的无条件极值,约束优化问题是求多元函数的条件极值。尽管高等数学中的极值理论仍然是求解这种问题的理论基础,但是优于机械,电气信息工程设计中建立的数学模型一般都比较复杂,变量个数和各种约束条件都较多,难以用解析的方法直接求得最优解。因此有必要对多变量的约束优化问题的求解所涉及的数学概念、数值迭代的有关理论进行补充和扩展。偏导数导数作为描述函数变化率的数学量在最优化理论中具有重要的意义。对于医院函数f(x)f(x)f(x)在
2021-11-23 11:29:28
888
原创 模拟退火算法
模拟退火算法模拟退火方法的思想来自于统计力学。物理知识告诉我们,热系统可通过退火过程达到内部能量最小的状态。这也就是说,先将系统的温度提高,然后再缓慢地冷却。热系统的这种退火过程可以是采用蒙特卡罗方法模拟,那么很自然地可以想到,类似的模拟方法可以解决一般的优化问题,即用来求目标函数的全局最小值。正如Ising模型模拟那样,模拟退火的核心技术也是Metropolis算法。区域Ω\OmegaΩ被看作为系统的状态空间,目标函数被看作为系统的能量,如果是最大化问题就要转换成最小化问题。模拟退火的Metropo
2021-11-15 09:52:51
1258
原创 MCMC抽样---Metropolis算法
MCMC抽样—Metropolis算法马尔科夫链蒙特卡洛抽样方法可追溯到1953年N.Metropolis等人在研究原子和分子的随机性运动问题时所引入的随机模拟方法。该方法被命名为Metropolis模拟算法,这个算法已被列为影响科学和工程技术发展的最伟大的十大算法之首。Metropolis算法是MCMC的核心。MCMC的基本思想是构造一个遍历的马尔科夫链,使得其不变分布成为人们所需要的抽样分布。做到这点似乎相当复杂,但实际上由于人们可以非常灵活地选择简单的转移概率,所以构造该算法并不困难。Metro
2021-11-11 11:02:03
5672
原创 基于接受拒绝法的随机抽样
基于接受拒绝法的随机抽样在通常面对的一些实际问题中的概率分布可能不是常见的哪几种概率分布,如何能够生成服从特殊分布的随机数呢?生成服从指定分布的随机数序列的过程我们称之为抽样过程,本文将介绍基于接受拒绝发的随机抽样过程。接受拒绝法的思想可以形象地理解为制作沙雕,经历由粗到细的雕琢过程。该方法首先要像沙雕堆砌出一个简单雏形那样,设置一个形状简单的概率密度曲线,使得抬高它到一定的高度就能够完全罩住所要的抽样的概率密度曲线。前者的概率密度函数称为建议概率密度函数,而后者称为目标概率密度函数,当然两者的定义域要
2021-11-09 18:40:57
2331
原创 matlab内置随机数生成器及随机模拟举例
一、matlab内置的密度函数于随机数生成器离散均匀分布离散均匀分布用于描述等概率发生事件的状况,仅限于有限的事件数matlab提供{1,2,…,N}上的均匀分布的概率密度函数黑累计分布函数,其相应的命令为:unidpdf(X, N): 给出X各个点上的概率值;unidcdf(X, N): 给出在X个点的累计概率值;其中矩阵X用于存放各个指定的点。unidrnd(N): 给出均匀分布于{1, 2, …, N}上的一个随机数;unidrnd(N, M1, M2)或者unidrnd(N, [M
2021-11-09 10:48:13
7212
原创 图像传感器噪声建模与分析
图像传感器在做信号采集的时候往往会引入噪声,在采集到的raw图像中能够拿到没有经过任何处理的传感器信号,因此对于传感器噪声进行分析与建模有助于我们认识传感器噪声,从而帮助我们设计raw图像的降噪算法。本文从传感器模型层面分析单像素点的噪声模型,不考虑通道之间的串扰问题。相机中图像采集和处理的基本流程如下图所示:从上图可知,光信号经过镜头之后通过传感器转换成电信号记录下来,记录下来的电信号即为原始的raw图像,将raw图像送给图像信号处理器(image signal processor, ISP)进行一
2021-10-21 09:23:00
3486
2
原创 从相机raw图像到日常看到的jpeg图像
https://cs.brown.edu/courses/csci1290/labs/lab_raw/index.html%% image listimgName = ‘sample.DNG’;%% parameter reading and settingmeta_info = imfinfo(imgName);isp_bayer_pattern = ‘rggb’;isp_black = 0;isp_white = meta_info.SubIFDs{1}.WhiteLevel;isp_l
2021-10-18 11:30:39
2608
1
原创 相机技术开篇
随着手机端相机的普及,越来越多的相机技术进入大众的眼帘。相机本质上是一种光学信号的采集设备,传统的数码构成如下图所示:从图中可以清晰看到,相机由光学镜头组,感光元件,图像处理器构成,其中光学镜头组和感光元件主要负责光学信号采集,其质量的好坏直接决定了采集到的原始图像的好坏,然而相机直接采集到的raw图像时没法直接给人类观看的,需要对原始图像信号做基本的图像处理才得到我们日常可以观看和交流的照片,这就是图像信号处理器的用途。随着携带相机模块的智能手机的普及,移动端相机的画质不断提升,大众对于传统相机的需
2021-10-13 10:15:42
291
原创 color constancy dataset(白平衡仿真数据集)
白平衡数据集地址:https://www.colorconstancy.com/index.html
2021-06-09 09:58:41
574
原创 随机模拟1---matlab常用要点备忘
MATLAB常用要点备忘一、常用命令操作1.clf:擦除matlab的当前窗口中的图形2.eps:matlab中科表示的最小正数3.inf或Inf:无穷大∞\infty∞4.Nan:Not a number5.lookfor:以主题词搜索相关函数或命令,使用help的前提是知道函数名,如果用户只知道该函数或者命令是做什么的,此时可以使用lookfor二、线性代数[V, D] = eig(A):给出由矩阵A的特征向量组成的矩阵V(以列向量排列)和由对应的特征值组成的对角矩阵D(特征值为对角线
2020-06-28 11:20:34
244
原创 通俗语言说BM3D
随着友商某以摄像著称的旗舰机型的发布,其SOC中ISP5.0采用的所谓单反级降噪算法BM3D一下火热起来,本文试图用尽量通俗易懂的语言从算法原理的角度揭开BM3D算法的神秘面纱。本文结构如下:1.前言2.硬阈值滤波原理介绍3.维纳滤波原理介绍4.BM3D原理详述1.前言图像去噪是计算机视觉前处理中很重要的一个环节,对于手机camera来讲,去噪的好坏直接影响最终图像的质量,图像...
2020-04-30 20:33:29
6310
6
原创 guided filter(导向滤波)导读
style: plain#guided filter导读本文为笔者阅读Kaiming He于2013年发表的guided image filtering时的笔记和实验合集,作者在文中省略的一些步骤给予了补充,在此记录下来,希望对后来者有益。本文分为如下两部分:1.论文阅读及算法原理介绍2.基于matlab的简单实现论文阅读及算法原理介绍先给出线性移-变滤波器的基本概念:给出输入...
2020-04-07 23:55:51
2131
原创 Mat类的介绍与图像的读写
Mat类的介绍与图像的读写1. Mat类的介绍opencv2.x采用全行的图像数据结构Mat。Mat结构不需要我们为其手动开辟空间,也不需要立即释放存储空间,Mat类能够自动管理内存。Mat类由矩阵头和指向存储所有像素值的矩阵真的指针构成。Mat类表示一个n维的密集数值单通道或多通道数组,它可用于存储实数或负数值的向量和矩阵/灰度或彩色图像/体素/向量场/点云/张量/直方图等。Mat类代码...
2018-10-10 20:39:33
1043
原创 opencv3.x 代码结构
opencv3.x 代码结构OpenCV 3.x 与之前版本的不同1)以C++ 风格API为主,C 风格的API 最终可能会取消。2)C++ API 更加简洁,引入很多C++面向对象的特性3) 算法都将继承自 cv::Algorithm 接口。4) 模块分类细化,意义和功能明显。源代码结构1)3rdparty/,OpenCV 依赖的第三方库,比如:ffmpeg,jpg、png、ti...
2018-10-05 14:24:22
561
原创 VST变换
VST通常的图像去噪算法常常假设图像的噪声模型为一个加性噪声模型,并且噪声假设为高斯白噪声,即 s(x)=s0(x)+n(x)s(x)=s0(x)+n(x)s(x) = s_0(x)+n(x) 这里xxx为信号的索引坐标,在图像中常常用二维的坐标来索引s0s0s_0为原始信号,sss为观测信号,nnn为噪声,并且n∼N(0,σ2)n∼N(0,σ2)n\sim {N(0,\sigma^2...
2018-08-09 14:24:35
8923
10
原创 MIPI RAW图像数据与RAW图像数据格式介绍与读写代码
在ISP图像处理中经常需要面对MIPI RAW数据和RAW数据,这里简单说明一下二者的差别。传感器采集的RAW数据通常为10bit,存储RAW数据需要两个Byte,而其中有6个bit位是空着的,这样就有存储空间浪费。MIPI RAW数据充分利用了这个特性,采用5个Byte,共40bit存储4个RAW数据。这里以大端存储方式,给出这样存储的示意图。如下图所示:从MIPI RAW数据恢复RAW数...
2018-05-08 20:02:02
29137
9
工程中的数学方法
2018-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人