热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

稀疏表示matlab

本文主要介绍关于系数表达的知识点,对【稀疏表示】和【稀疏表示matlab】有兴趣的朋友可以看下由【my_chen_smile】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【基础理论】相关技术问

本文主要介绍关于系数表达的知识点,对【稀疏表示】和【稀疏表示matlab】有兴趣的朋友可以看下由【my_chen_smile】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【基础理论】相关技术问题。

稀疏表示matlab

?

1. 引言

稀疏表示具有完善的理论基础和使用价值并且广泛应用于图像处理,模式识别和机器视觉等领域。本文主要介绍稀疏表示算法理论基础和其在图像处理中的应用。理论基础全面介绍了稀疏表示的理论框架和不同lp

-范数正则化项下优化算法。应用上结合无监督字典学习方法和有监督字典学习方法介绍了稀疏表示在图像处理和目标识别领域的应用。着重介绍在图像去噪,图像超分辨率,人脸识别以及目标识别等领域的应用算法,并分析算法的特点,和后续的发展趋势。最后总结稀疏表示在图像中的应用并对稀疏表示的发展方形进行展望。本文主要介绍系数表达的基本概念和l0范数的求解,后续的lp范数以及求解和应用见后续更新。

?

2. 稀疏表示框架

稀疏表示的目的就是从已有的字典中选择具有代表性的原子来表示输入图像。字典通常会是一个过完备的字典,因此在进行编码时得到的向量通常只有少数几个元素是为零的,其他的都为零,因此把这样的编码向量称之为稀疏编码。定义输入信号为y,已经学习到的字典为D,稀疏编码为

\alpha

? ,则稀疏编码的目标函数如下::

??? ?

\hat \alpha = \arg \mathop {\min }\limits_\alpha \left\| {y - D\alpha } \right\|_2^2\\ s.t.{\left\| \alpha \right\|_0} \le K

? ? ? ? ? ? ? ? ? ??

其中,K是稀疏约束,

?为

-范数,为向量中非零元素的个数。

通常我们更容易处理不含有约束的优化问题,因此将式引入拉格朗日乘子,则可以改写为

?? ????????????????????? ???

\hat \alpha = \arg \mathop {\min }\limits_\alpha \left\| {y - D\alpha } \right\|_2^2 + \lambda {\left\| \alpha \right\|_0}

下面对式从贝叶斯角度进行推导,假定

$x = D\alpha $

,根据贝叶斯公式可得

?????? ???????????????

\hat x = \arg \max P\left( {x|y} \right) \propto \arg \max P\left( {y|x} \right)P\left( x \right)

其中,

为条件概率,

为先验概率。假设稀疏编码稀疏服从指数分布,那么

? ????????????????????

\hat \alpha = \arg \mathop {\max }\limits_\alpha P\left( {\alpha |y} \right)\\ = \arg \mathop {\max }\limits_\alpha \left( { - \log P\left( {y|\alpha } \right) - \log P\left( \alpha \right)} \right)\\ = \arg \mathop {\min }\limits_\alpha \left\| {HD\alpha - y} \right\|_2^2 + \lambda {\left\| \alpha \right\|_p}

其中,p=0,为

- 范数稀疏编码。

上式即为一般稀疏表示的目标函数。但是这里含有零范数,是一个非凸的NP难问题,因此在进行稀疏表示时出现了两大方向:一是对式采用贪婪的算法求取近似解;二是将

-范数进行松弛为l1 - 范数或者l2 - 范数。 1 展示了不同范数的解空间。零范数和l1 - 范数l2 - 范数的解可以进行近似。在目标函数的约束下,l1 - 范数和零范数的解更为相近,l1 - 范数解空间为凸集但是却不是光滑可微的,l2-范数近似程度较差,但是为凸集而且可微便于优化。因此在不同的应用背景下具有不同的要求。

?图1 单位-范数示意图:(a)p=0;(b)p=1;(c)p=2;(c)0

?

3.?? l0 -范数稀疏表示

l0 -范数稀疏表示目标函数即为式所示。如图2所示,解空间是非凸的,无法找到最优解,因此通常采用贪婪算法进行求解。经典的贪婪算法为MP[3],OPM[4]算法。

3.1 MP算法 初始化:

????????????????? ?????????

{R_0} = y\\ D = \left[ {?{d_1},{d_2},...,{d_N}} \right] \in {R^{d \times N}}

??????????

其中,R表示残差字典D必须是归一化的,即 ?

1) 找到最接近残差的字典元素

??????????????????? ?????????????????????

\left| {\left\langle {?{R_0},{d_{?{l_0}}}} \right\rangle } \right| = \sup \left| {\left\langle {?{R_0},{d_i}} \right\rangle } \right|

?

找到内积最大的字典元素,说明该元素和残差最接近

2) 更新残差

???????????????????????? ?????????????????

y = \left\langle {y,{d_{?{l_0}}}} \right\rangle {d_{?{l_0}}} + {R_1}

??????

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

${R_1} = y - \left\langle {y,{d_{?{l_0}}}} \right\rangle {d_{?{l_0}}}$

?? ? ? ? ? ?

由图2可知,得到的残差和字典元素正交,因此根据勾股定理有

??????????????????? ??????????????????????

{\left\| y \right\|^2} = {\left| {\left\langle {y,{d_{?{l_0}}}} \right\rangle } \right|^2} + {\left\| {?{R_1}} \right\|^2}

?

3) 继续迭代

????????????????????? ?????????????????????

{R_t} = \left\langle {?{R_t},{d_{?{l_t}}}} \right\rangle {d_{?{l_t}}} + {R_{t + 1}}

?

??????????????????? ???????????????????

\left| {\left\langle {?{R_t},{d_{?{l_t}}}} \right\rangle } \right| = \sup \left| {\left\langle {?{R_t},{d_i}} \right\rangle } \right|

?

???????????????? ????????????????

{\left\| {?{R_k}} \right\|^2} = {\left| {\left\langle {?{R_t},{d_{?{l_t}}}} \right\rangle } \right|^2} + {\left\| {?{R_{t + 1}}} \right\|^2}

?

4) 终止条件

?????????????????????????????????????????

{\left\| {?{R_n}} \right\|^2} \le \tau

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

5) 最终表示形式

???????????????????? ????????????????????

y = \sum\limits_{j = 1}^{n - 1} {\left\langle {?{R_t},{d_{?{l_t}}}} \right\rangle } {d_{?{l_t}}} + {R_n}

?

其中

$\left\langle {?{R_j},{d_{?{l_j}}}} \right\rangle $

, ?就最终关于字典D的稀疏表示[3]。

6) 算法的收敛性

从下面的向量图我们可以清楚地看出,k+1的残差Rk+1是k步残差Rk 的分量。根据直角三角形斜边大于直角边,|Rk+1|<=|Rk|,则算法收敛

图2 MP示意图

3.2 OMP算法

Orthogonal Pursuit Algorithm算法简称 OPM算法。其是一种在MP算法上的改进算法[4]。

如果我们的字典只有两个向量d1,d-2,那么MP算法会在这两个向量间交叉迭代投影,也就是f=a1d1+a2d2+a3d1+a4d2+…..;也就是之前投影过的原子方向,之后还有可能投影。换句话说,MP的方向选择不是最优的,是次优的。

图 3 MP示意图

?

MP算法的次最优性来源其残差只与当前投影方向垂直,这样在接下来的投影中,很有可能会再次投影到原来的方向。

于是,在投影时,如果我们使得残差Rk+1与x1-xk+1的所有向量垂直,则可以克服这个问题,如下:

???????????????? ???

\left\langle {?{R_{k + 1}},{x_n}} \right\rangle = 0,n = 1,...,k + 1

?????????????

对于已经进行匹配过的字典中的元素不再进行匹配。OMP算法如下:

?

本文《稀疏表示》版权归my_chen_smile所有,引用稀疏表示需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
  • Nginx不仅是一款轻量级的高性能Web服务器,还具备出色的负载均衡和反向代理功能。它支持复杂的正则匹配规则、动静内容分离以及灵活的URL重写功能,使得配置和管理更加便捷高效。此外,Nginx提供了多种负载均衡算法,如轮询、加权轮询、最少连接数等,以满足不同应用场景的需求。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 本文详细探讨了OpenCV中人脸检测算法的实现原理与代码结构。通过分析核心函数和关键步骤,揭示了OpenCV如何高效地进行人脸检测。文章不仅提供了代码示例,还深入解释了算法背后的数学模型和优化技巧,为开发者提供了全面的理解和实用的参考。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 超分辨率技术的全球研究进展与应用现状综述
    本文综述了图像超分辨率(Super-Resolution, SR)技术在全球范围内的最新研究进展及其应用现状。超分辨率技术旨在从单幅或多幅低分辨率(Low-Resolution, LR)图像中恢复出高质量的高分辨率(High-Resolution, HR)图像。该技术在遥感、医疗成像、视频处理等多个领域展现出广泛的应用前景。文章详细分析了当前主流的超分辨率算法,包括基于传统方法和深度学习的方法,并探讨了其在实际应用中的优缺点及未来发展方向。 ... [详细]
  • 本文探讨了通过JavaScript实现密码强度检测功能的优化方法。密码强度分为三个等级:使用单一类型字符(如纯数字或纯字母)且长度在1-6位的密码为“弱”;包含两种类型字符(例如字母与数字组合)的密码为“中等”;而长度超过12位并结合三种或四种类型字符(如大小写字母、数字及特殊符号)的密码则被认定为“强”。此外,文章还介绍了如何利用正则表达式和条件判断语句来高效地评估密码强度,确保用户账户的安全性。 ... [详细]
  • 魅族Flyme 7正式发布:全面解析与亮点介绍
    在22日晚的发布会上,魅族不仅推出了m15、15和15 Plus三款新机型,还正式发布了全新的Flyme 7系统。Flyme 7在保持流畅体验的基础上,进一步增强了功能性和实用性,为用户带来更加丰富的使用体验。首批适配包已准备就绪,将逐步推送给现有设备。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 首篇待优化改进的文章
    本文介绍了多种常用的矩阵类型及其生成方法,包括单位矩阵、全零矩阵、全1矩阵以及均匀分布的随机矩阵。此外,还探讨了生成随机Markov矩阵的技术,并详细解释了线性等分向量和对数等分向量的构建方式,以及矩阵对数运算的应用。这些内容为数值计算和数据处理提供了坚实的基础。 ... [详细]
  • 面部识别技术面临关键转折点:伦理与应用的平衡挑战
    面部识别技术正面临一个关键的转折点,其伦理与应用之间的平衡问题日益凸显。近日,该技术再次遭遇重大事件。本周二,由90个倡议组织组成的联盟发布了一份联合声明,呼吁全球范围内暂停使用面部识别技术,直到制定出明确的监管框架。这一举措反映了社会各界对隐私保护和技术滥用的担忧,同时也引发了关于如何在保障公共安全和维护个人隐私之间找到合理平衡的广泛讨论。 ... [详细]
  • 洛谷 P4035 [JSOI2008] 球形空间生成器(高斯消元法 / 模拟退火算法)
    本文介绍了洛谷 P4035 [JSOI2008] 球形空间生成器问题的解决方案,主要使用了高斯消元法和模拟退火算法。通过这两种方法,可以高效地求解多维空间中的球心位置。文章提供了详细的算法模板和实现代码,适用于 ACM 竞赛和其他相关应用场景。数据范围限制在 10 以内,确保了算法的高效性和准确性。 ... [详细]
  • 如何在 Angular 4 中实现跨域调用百度人脸识别 API? ... [详细]
  • 【Python爬虫实操】 不创作小说,专精网站内容迁移,超高效!(含源代码)
    本文详细介绍了如何利用Python爬虫技术实现高效网站内容迁移,涵盖前端、后端及Android相关知识点。通过具体实例和源代码,展示了如何精准抓取并迁移网站内容,适合对Python爬虫实战感兴趣的开发者参考。 ... [详细]
  • 本文介绍了一种使用HashSet迭代器的方法来验证字符串集合中的元素。具体而言,通过迭代器遍历名为“名称”的字符串哈希集,并删除其中包含任何非大写字母的项。该方法能够高效地过滤出不符合条件的字符串,确保集合中仅保留纯大写字母的条目。 ... [详细]
author-avatar
手机用户2502887641
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有