稀疏表示分类(Sparse Representation for Classification,SRC)

稀疏表示分类(Sparse Representation for Classification,简称SRC)是一项在模式识别和信号处理中应用广泛的技术。它基于这样一个概念:一个信号(比如图像、语音等)可以用一个较大的字典中的一些基向量稀疏地表示。

想象一下,有一个巨大的图书馆(字典),其中每一本书(字典中的基向量)代表了一个特定的模式或特征。如果我们想描述或表达某种特定的信息(信号),在理想的情况下,我们只需要从这个图书馆中借几本相关的书就能够准确地表达出所需的信息。这表示我们使用了一种稀疏的方法,因为我们并没有需要整个图书馆的所有书,而只选择了一小部分。

在SRC中,这个“图书馆”包含了各种各样的features,这些features是从属于不同类别的训练样本中提取出来的。当我们遇到一个新的信号(比如一个待分类的图像)时,我们尝试使用图书馆中的所有书(整个字典)来表达这个新的信号。在最理想的状态下,新信号只会用它真正属于的类别中的一小部分书(即该类别下的训练样本)来表达自己,而其他的书(其他类别的特征)并不会被用到或者只会用到很少一部分。这种表达方式是稀疏的,因为它只涵盖了字典的一小部分。

流程

SRC的工作流程大致如下:

  1. 创建字典:首先需要一个字典,它由不同类别的训练样本组成。每个类别的样本都会贡献一些“书”,也就是这个大字典的一部分。

  2. 信号的稀疏表示:当我们有了一个新的信号,比如一个未知分类的图像时,我们尝试找出最少的字典元素,使得它们结合在一起可以近似这个新信号。

  3. 分类:根据这个新信号被表示的方式,我们检查使用的是哪一部分训练样本。我们假定如果大部分使用的训练样本来自某个特定的类别,那么未知信号最有可能属于这个类别。

SRC有许多实际应用,尤其是在面部识别领域效果显著。利用人脸图像构建字典,新的测试人脸图像通常可以很好地用同一个人的稀疏组合来表示,从而实现准确分类。

范例

SRC的基本示意图如下图所示,其中使用人脸图像库构建过度完备的库Θ。在这个例子中,Yale B数据库中的每个20个不同人员中使用了30张图像,导致Θ中有600列。为了使用压缩感知,即1最小化,我们需要Θ欠定,因此我们将每个图像从192×168下采样到12×10,使得压缩后的图像变成了120维向量。下采样图像的算法对分类准确性产生影响。然后,与类别c对应的新测试图像y经过适当降采样以匹配Θ的列,然后使用压缩感知算法将其稀疏表示为Θ的列的和。得到的系数向量s应该是稀疏的,并且理想情况下主要在库中与类别c中正确人员对应的区域具有大系数。算法中的最终分类阶段是通过计算s向量中与每个类别分别对应的系数来实现的2重建误差。选择使2重建误差最小的类别作为测试图像的分类结果。

在这里插入图片描述

代码

Code 3.4: Load Yale faces data and build training and test sets.
在这里插入图片描述
Code 3.5: Downsample training images to build Θ library.
在这里插入图片描述
Code 3.6: Build test images and downsample to obtain y.
在这里插入图片描述
Code 3.7: Search for sparse representation of test image. The same code is used for each of the test images y1 through y4.
在这里插入图片描述

测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考文献

在这里插入图片描述

相关博文

理解并实现OpenCV中的图像平滑技术

OpenCV中的边缘检测技术及实现

OpenCV识别人脸案例实战

入门OpenCV:图像阈值处理

我的图书

下面两本书欢迎大家参考学习。

OpenCV轻松入门

李立宗,OpenCV轻松入门,电子工业出版社,2023
本书基于面向 Python 的 OpenCV(OpenCV for Python),介绍了图像处理的方方面面。本书以 OpenCV 官方文档的知识脉络为主线,并对细节进行补充和说明。书中不仅介绍了 OpenCV 函数的使用方法,还介绍了函数实现的算法原理。

在介绍 OpenCV 函数的使用方法时,提供了大量的程序示例,并以循序渐进的方式展开。首先,直观地展示函数在易于观察的小数组上的使用方法、处理过程、运行结果,方便读者更深入地理解函数的原理、使用方法、运行机制、处理结果。在此基础上,进一步介绍如何更好地使用函数处理图像。在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的实例来说明问题,避免使用过多复杂抽象的公式。

本书适合计算机视觉领域的初学者阅读,包括在校学生、教师、专业技术人员、图像处理爱好者。
本书第1版出版后,深受广大读者朋友的喜爱,被很多高校选为教材,目前已经累计重印9次。为了更好地方便大家学习,对本书进行了修订。
在这里插入图片描述

计算机视觉40例

李立宗,计算机视觉40例,电子工业出版社,2022
近年来,我深耕计算机视觉领域的课程研发工作,在该领域尤其是OpenCV-Python方面积累了一点儿经验。因此,我经常会收到该领域相关知识点的咨询,内容涵盖图像处理的基础知识、OpenCV工具的使用、深度学习的具体应用等多个方面。为了更好地把所积累的知识以图文的形式分享给大家,我将该领域内的知识点进行了系统的整理,编写了本书。希望本书的内容能够对大家在计算机视觉方向的学习有所帮助。
本书以OpenCV-Python(the Python API for OpenCV)为工具,以案例为载体,系统介绍了计算机视觉从入门到深度学习的相关知识点。
本书从计算机视觉基础、经典案例、机器学习、深度学习、人脸识别应用等五个方面对计算机视觉的相关知识点做了全面、系统、深入的介绍。书中共介绍了40余个经典的计算机视觉案例,其中既有字符识别、信息加密、指纹识别、车牌识别、次品检测等计算机视觉的经典案例,也包含图像分类、目标检测、语义分割、实例分割、风格迁移、姿势识别等基于深度学习的计算机视觉案例,还包括表情识别、驾驶员疲劳监测、易容术、识别年龄和性别等针对人脸的应用案例。
在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的示例来说明问题,避免使用复杂抽象的公式来介绍。
本书适合计算机视觉领域的初学者阅读,适于在校学生、教师、专业技术人员、图像处理爱好者使用。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/704893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCache缓存专题

SpringCache缓存专题 学习目标 1、理解缓存存在的意义 2、掌握redis与SpringCache的集成方式 3、掌握SpringCache注解的使用 4、掌握项目集成SpringCache流程 第一章 基于SpringCache缓存方案 1.为什么需要缓存 ​ 前台请求,后台先从缓存中取数据&#xff0…

浅析ARMv8体系结构:原子操作

文章目录 概述LL/SC机制独占内存访问指令多字节独占内存访问指令 独占监视器经典自旋锁实现 LSE机制原子内存操作指令CAS指令交换指令 相关参考 概述 在编程中,当多个处理器或线程访问共享数据,并且至少有一个正在写入时,操作必须是原子的&a…

uniapp的微信小程序授权头像昵称(最新版)

前面我出过两期博客关于小程序授权登录,利用php实现一个简单的小程序授权登录并存储授权用户信息到数据库的完整流程。无奈,小程序官方又整幺蛾子了。wx.getUserInfo接口收回,wx.getUserProfile接口也不让用。导致我的个人小程序:梦缘 的授权…

Linux设备模型(五) - uevent kernel实现

1. Uevent的功能 Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。 该机制通常是用来支持热拔插设备的,例如U盘插入后&…

APIFox-自动获取登录状态操作

APIFox-自动获取登录状态操作 概述 作为纯后端开发码农,每次接口开发完的调试很重要,因此每次重复的手动获取登陆状态Token或者直接放行就太麻烦了。 APIFox提供了前置操作,可以很方便的自动获取登录状态,节省大量重复劳动时间。…

《TCP/IP详解 卷一》第7章 防火墙和NAT

7.1 引言 NAT通常改变源IP和源端口,不改变目的IP和目的端口。 7.2 防火墙 常用防火墙: 包过滤防火墙(packet-filter firewall) 代理防火墙(proxy firewall) 代理防火墙作用: 1. 通过代理服务…

React_使用es5和es6语法渲染和添加class

React入门 //react的核心库 <script src"https://cdn.jsdelivr.net/npm/react17/umd/react.development.js"></script> //react操作dom的核心库&#xff0c;类似于jquery <script src"https://cdn.jsdelivr.net/npm/react-dom17/umd/react-dom.…

kuka协作机器人LBR系列 issy15R930导入到ros2_rviz(带外观文件)

kuka协作机器人LBR系列 issy15R930导入到ros2_rviz(带外观文件&#xff09;外观文件未调整好&#xff0c;外观仍需进一步研究&#xff0c;外观文件dae与轮廓&#xff08;碰撞&#xff09;文件STL并未完全对应起来。在blender里面看了一下UR机器人的文件&#xff0c;是对应的&am…

【博士每天一篇文献-综述】A Modified Echo State Network Model Using Non-Random Topology

阅读时间&#xff1a;2023-11-23 1 介绍 年份&#xff1a;2023 作者&#xff1a; Arroyo, Diana Carolina Roca&#xff0c;数学与计算机科学研究所&#xff08;ICMC&#xff09;圣保罗大学 (USP) 期刊&#xff1a; 博士论文 引用量&#xff1a;0 这篇论文是一篇博士论文&am…

主从复制实现Redis集群

主从复制实现Redis集群实验 (一主二从): 实验环境: 使用Docker 搭建 Redis 版本 5.0.5 打开一个终端窗口&#xff0c;在其中运行如下命令创建一个名为redis-master的Redis容器。注意&#xff0c;它的端口是6379 (本地的端口:映射到容器的端口) docker run -itd--name redis-m…

能碳双控| AIRIOT智慧能碳管理解决方案

在当前全球气候变化和可持续发展的背景下&#xff0c;建设能碳管理平台成为组织迎接挑战、提升可持续性的重要一环&#xff0c;有助于组织实现可持续发展目标&#xff0c;提高社会责任形象&#xff0c;同时适应未来碳排放管理的挑战。能碳管理是一个涉及跟踪、报告和减少组织碳…

【51单片机】红外遥控红外遥控电机调速(江科大)

1.红外遥控简介 红外遥控是利用红外光进行通信的设备,由红外LED将调制后的信号发出,由专用的红外接收头进行解调输出 通信方式:单工,异步 红外LED波长:940nm 通信协议标准:NEC标准 2.硬件电路 红外发送部分 IN高电平时&#xff0c;LED不亮&#xff0c;IN低电平时&…

Linux Nginx SSL 证书配置正确,扔展示不安全

Nginx SSL 配置 首先我能够确定自己的Nginx SSL是配置正确的&#xff1a; 问题展示 通过浏览器访问自己域名&#xff0c;点击不安全后查看证书&#xff0c;展示的证书并不是自己所配置的证书&#xff0c;如下&#xff1a; 通过curl -vvv https://域名访问返回的证书是过期…

笔记本hp6930p启用UEFI安装Win10

老本hp6930p使用n多年&#xff0c;一直以为古董级的东西&#xff0c;近日折腾时&#xff0c;居然发现支持UEFI&#xff0c;于是尝试使用UEFI安装Win10&#xff0c;过程很简单&#xff0c;现做以记录。 1、BIOS中开启UEFI 2、GUID格式进行硬盘分区 3、WinPE安装Win10 一、BIOS中…

yolov8学习笔记(三)添加注意力机制+源码简单了解

目录 一、前言 二、注意力机制添加 三、源码简单了解 1、YOLO类中的——私有Model类 2、在哪来初始化的网络模型 3、注释版下载 4、笔记下载 一、前言 因为我没有学过pytorch&#xff0c;所以看源码也是一头雾水&#xff0c;不过大概看懂的是yolo是对pytorch的再次封装&a…

光谱数据处理:1.特征波长优选的不同方法与Python实现

首先&#xff0c;我们要理解为什么要对“光谱数据进行特征波长优选”以及这是在干嘛&#xff0c;光谱数据可以想象成一长串的彩色条纹&#xff0c;每种颜色对应一个波长&#xff0c;就像彩虹一样。这些颜色的条纹代表了从某种物质&#xff08;比如植物、矿石或是食品&#xff0…

31-k8s集群svc的代理模式-iptables修改为ipvs

一、概述 学到这里&#xff0c;我们都知道&#xff0c;k8s集群的外部网络分发&#xff0c;借助kube-proxy组件来完成&#xff1b; 问题&#xff1a;我们为什么要将代理模式修改为ipvs而不继续使用iptables呐&#xff1f; 因为&#xff1a; 1&#xff0c;iptables底层使用四表五…

读人工不智能:计算机如何误解世界笔记04_数据新闻学

1. 计算化和数据化的变革 1.1. 每一个领域都在进行计算化和数据化的变革 1.1.1. 出现了计算社会科学、计算生物学、计算化学或其他数字人文学科 1.1.2. 生活已走向计算化&#xff0c;人们却一点也没有变 1.2. 在如今的计算化和数据化世界中&#xff0c;调查性新闻的实践必须…

jdk21本地执行flink出现不兼容问题

环境说明&#xff1a;换电脑尝尝鲜&#xff0c;jdk&#xff0c;flink都是最新的&#xff0c;千辛万苦把之前的项目编译通过&#xff0c;跑一下之前的flink项目发现启动失败&#xff0c;啥都不说了上异常 Exception in thread "main" java.lang.IllegalAccessError: …

Scrapy实战

代码&#xff1a; Spider import scrapy from urllib.parse import urljoin from scrapy import Requestclass JiaSpider(scrapy.Spider):name "jia"allowed_domains ["desk.zol.com.cn"]start_urls ["https://desk.zol.com.cn/dongman/"]d…