图像处理与视觉感知---期末复习重点(8)

news2024/11/26 3:47:22

文章目录

  • 一、图像分类流程
  • 二、梯度方向直方图
    • 2.1 概述
    • 2.2 计算梯度方向直方图
      • 2.2.1 过程
      • 2.2.2 总结
  • 三、SIFT


一、图像分类流程

 流程:输入图像、预处理、特征提取、学习算法、类标。

在这里插入图片描述

二、梯度方向直方图

2.1 概述

 1. 梯度方向直方图(Histogram of Oriented Gradient, HOG):是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。HOG特征结合SVM分类器被广泛应用于图像识别中,尤其在行人检测。

特征描述子就是将图像抽取部分有用信息,丢掉不相关的信息。特征描述子可以将一个 w e i g h t × h e i g h t × 3 weight×height×3 weight×height×3(宽×高×通道数量)的图像转换成一个长为 n n n 的向量或矩阵。例如:一幅 64 × 128 × 3 64×128×3 64×128×3 的图像,经过转换之后可以输出长度为 3780 3780 3780 的图像向量,相比 64 × 128 × 3 64×128×3 64×128×3 肯定是少了的。因为,特征描述子仅仅将所需要显示的图像保留下来了。

比如说,我们想知道一个人有没有带眼镜,在这种情况下,我们仅仅需要提取人的面部特征,并且进行边缘检测,这个时候,我们可以忽略掉图片的彩色特征,将照片转换成变成仅仅有边缘轮廓的特征图。这种特征图不仅仅数据量小,而且具有很强的目标指向性。

 2. 算法思想:(1)HOG特征的核心思想是在一幅图像中,局部目标的表观和形状(appearance and shape)能够被梯度和边缘的方向密度很好地描述。(2)通过将整幅图像分为多个小的连通区域(单元,cells),并计算每个cell的梯度或边缘方向直方图,这些直方图的组合可用于构成特征描述子,为了提高准确率,可以将局部直方图在图像更大范围内(块,block)进行对比度归一化(constrast-normalized)。

2.2 计算梯度方向直方图

2.2.1 过程

 1. 预处理:patch可以是任意的尺寸,但是有一个固定的比例,比如当patch长宽比1:2,那patch大小可以是100×200、128×256或者1000×2000,但不可以是101×205(比例关系不对)。这里有张图是720×475的,我们选100*200大小的patch来计算HOG特征,把这个patch从图片里面抠出来,然后再把大小调整成64×128。

在这里插入图片描述

 2. 计算梯度图像:首先我们计算水平和垂直方向的梯度,再来计算梯度的直方图。
 (1) x轴方向的梯度主要凸显了垂直方向的线条;y轴方向的梯度凸显了水平方向的线条。
 (2) 梯度幅值凸显了像素值有剧烈变化的地方。
 (3) 图像的梯度去掉了很多不必要的信息(比如不变的背景色),加重了轮廓。

在这里插入图片描述

 3. 在每个单元(8×8大小像素)中计算梯度直方图
 (1) 图像会被分割成每个单元( 8×8大小像素)。每个单元都会计算一个梯度直方图。
 (2) 提供一个紧凑或压缩的表示:一个8×8的图像有8×8×3=192个像素值;每个像素有两个值:幅值magnitude和方向direction,3个通道只会将最大的梯度值以及方向角记录下来,加起来就是8×8×2=128。所以说实际的梯度直方图应当含有8×8×2=128个值。

在这里插入图片描述

在这里插入图片描述

 (3) 对于64×128的这幅图像来说,每个单元(8×8大小)已经足够大来表示有趣的特征比如脸,头等等。

 (4) 直方图是有9个bin的向量,角度:0,20,40,60…160。bin的值:每个角度对应的幅值之和。
 以下图为例,此过程是根据梯度和角度来确定bin的过程。蓝色和红色分别是两个过程,先看蓝色。我们可以看到蓝色像素梯度值是2,方向为80°角,于是在第5个bin中加2;对于红色,角度为10、梯度值为4,但是bin中没有10,只有0和20,于是将梯度值分2份各分到bin里面的1和2当中。

在这里插入图片描述

 这里有个细节要注意,如果一个角度大于160度,也就是在160-180度之间,我们知道这里角度0,180度是一样的,所以在下面这个例子里,像素的角度为165度的时候,要把幅值按照比例放到0和160的bin里面去。

在这里插入图片描述

 (5) 把这8*8的单元cell里面所有的像素点都分别加到这9个bin里面去,就构建了一个9-bin的直方图,上面的单元cell对应的直方图如下:

在这里插入图片描述

 4. 16×16(像素)的块(block)归一化:进行归一化的原因是图像梯度对于光线很敏感。
 (1) 可以对向量用L2进行归一化,公式如下所示:

在这里插入图片描述

 (2) 一般不会在每一个9×1的直方图上面做归一化,而是从一个16×16的块上做归一化,也就是4个9×1的直方图组合成一个36×1的向量,然后做归一化,接着,窗口再朝后面挪8个像素。

在这里插入图片描述

 5. 计算HOG特征向量:为了计算这整个patch的特征向量,需要把36×1的向量全部合并组成一个向量。向量的大小可以这么计算:
 (1) 我们有多少个16×16的块?对于64×128的这幅patch:水平7个,垂直15个,总共有7*15=105次移动。

 (2) 每个16×16的块代表了36×1的向量。所以把他们放在一起也就是36×105=3780维向量。

 (3) 可视化HOG:通常HOG特征描述子是画出8×8网格中9×1归一化的直方图。直方图的主要方向捕捉了这个人的外形,特别是躯干和腿。

2.2.2 总结

在这里插入图片描述

三、SIFT

 1. 核心步骤:将一幅图像映射(变换)为一个局部特征向量集;特征向量具有平移、缩放、旋转不变性,同时对光照变化、仿射及投影变换也有一定不变性。

在这里插入图片描述

 2. SIFT算法主要有三大步骤:(1) 提取关键点。 (2) 对关键点附加详细的信息(局部特征)构建描述器。 (3) 通过两特征点(附带上特征向量的关键点)的两两比较找出相互匹配的若干对特征点,建立景物间的对应关系。

在这里插入图片描述

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

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

相关文章

【1688电商运营必看】掌握这些关键数据指标,轻松提升业绩!

1688电商运营,数据分析环节中需要关注多个关键指标,以便全面、深入地了解店铺或产品的运营状况。以下是一些主要的指标: 1、流量指标 访客数:反映店铺的吸引力和流量规模。 浏览量:显示页面的受欢迎程度&#xff0c…

【AI开发:语言】二、Qwen1.5-7B模型本地部署CPU和GPU版

前言 之前文章,我们采用了Koblod运行Yi-34B大模型,本文采用LM Studio来运行千问模型。 LM Studio并没有开源,但是可以免费使用,他是目前本地进行模型测试最好的工具了。 在这里,依然使用Windows 10进行部署和测试&…

GPT-3:NLP领域的革新者

在自然语言处理(NLP)领域,预训练模型一直是研究的热点。随着技术的不断进步,我们见证了从BERT到GPT等一系列模型的涌现。其中,GPT-3(Generative Pre-trained Transformer 3)以其卓越的生成能力和…

抗干扰1路|1通道触摸单按键触摸触控ICVK3601 SOT23-6适用于玩具,风扇,台灯等触摸IC

产品品牌:永嘉微电/VINKA 产品型号:VK3601 封装形式:SOT23-6 概述 VK3601具有1个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有较 高的集成度,仅需极少的外部组件便可实现触摸按键的检测。 提供了1路…

力扣周赛392复盘

3105. 最长的严格递增或递减子数组 题目 给你一个整数数组 nums 。 返回数组 nums 中 严格递增 或 严格递减 的最长非空子数组的长度。 思考: 返回什么:返回最长非空子数组的长度。return max(decs_len,incs_len); 但实际上我们只需要用一个变量ans就…

【优质书籍推荐】AI赋能100%提高项目管理效率

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

Vision GNN: An Image is Worth Graph of Nodes

感受野:在卷积神经网络中,感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的。 感受野并非越大越好,反而可能因为过大而过于发散梯度下降(Gradient Descent GD&am…

在linux系统中启动pycharm

1.找到pycharm的安装路径,一般在下载文件夹中 2.进入pycharm的安装路径,进入bin目录 3.右击,打开终端,输入./pycharm.sh

民航电子数据库:[E14024]事务内变更操作次数超过最大许可值10000,可通过系统参数max_trans_modify适当调整限制

目录 一、场景二、异常情况三、原因四、排查五、解决 一、场景 1、对接民航电子数据 2、执行delete语句时报错 二、异常情况 三、原因 通过报错信息就可以看出,是系统参数max_trans_modify配置导致 当删除的数据量 > max_trans_modify时,删除就会…

【LeetCode每日一题】924. 尽量减少恶意软件的传播(并查集)

文章目录 [924. 尽量减少恶意软件的传播](https://leetcode.cn/problems/minimize-malware-spread/)思路:并查集代码: 924. 尽量减少恶意软件的传播 思路:并查集 构建并查集:首先,代码创建了一个 UnionFind 类来维护节…

AIGC教育行业全景报告:AI助教和家教成真,学习机迎来新机遇

原文:AIGC教育行业全景报告:AI助教和家教成真,学习机迎来新机遇 - AI新智界 图片来源:由无界AI生成 经过一年的快速迭代,业内对于生成式AI将会率先落地于哪些行业已经有了答案。 教育领域,不仅被OpenAI列…

leetcode1448.统计二叉树中的好节点数目

1. 题目描述 题目链接 2. 解题思路 首先看一下题目的“核心”,什么是好节点:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。也就是说,我们只要知道了从根节点到该节点的所有的值,就可以判断该节点是…

【代理模式】静态代理-简单例子

在Java中,静态代理是一种设计模式,它涉及到为一个对象提供一个代理以控制对这个对象的访问。静态代理在编译时就已经确定,代理类和被代理类会实现相同的接口或者是代理类继承被代理类。客户端通过代理类来访问(调用)被…

iOS依赖库版本一致性检测:确保应用兼容性

一、背景 在 iOS 应用开发的世界里,每次 Xcode 更新都带来了新的特性和挑战。最近的 Xcode 15 更新不例外,这次升级引入了对 SwiftUI 的自动强依赖。SwiftUI最低是从 iOS 13 开始支持。 这一变化也带来了潜在的兼容性问题。如果您的项目在升级到 Xcode…

《大话数据结构》02 算法

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 1. 两种算法的比较 大家都已经学过一门计算机语言,不管学的是哪一种,学得好不好,好歹是可以写点小程序了。现在…

为什么你不用懒人建站工具?套用这四个wordpress主题模板,1小时轻松搭建网站

懒人建站工具,凭借简单易用、快速上手和个性化定制的特点,为不熟悉代码和程序的人提供了搭建美观实用网站的便捷途径。无需专业的前端开发知识,无需雇佣专业开发人员,用户便能轻松实现网站搭建,满足个人或企业需求。懒…

【可实战】测试体系与测试方案设计(业务按公司实际情况,技术可参考通用测试方案)

一、如果我们要测试一个系统,首先我们要了解被测系统的架构 (一)业务架构-从需求里面去了解(角色和行为): 业务模型分析(是一个电商,还是一个企业的crm,还是一个网站&a…

高等数学——一文搞定二重积分

文章目录 二重积分的基本概念二重积分的性质累次积分计算二重积分的方法和技巧描点画图法对称性利用函数的奇偶性变量的轮换对称性 积分次序的选择积分区域的确认先看变量和先积变量基本原则穿线法确定先积变量的曲线范围 常见的曲线经典题目 二重积分的基本概念 定义&#xf…

ChatGPT 可以预测未来吗?

推荐 4月13日的一篇有趣的 paper,特来分享。 👉 当前的大型语言模型(LLMs)具有强大的数据合成和推理能力,但它们在直接预测尚未发生事件的准确性上常常受到限制。传统的预测方法依赖于直接询问模型关于未来的问题。 …

测出Bug就完了?从4个方面教你Bug根因分析

01 现状及场景 🎯 1.缺失bug根因分析环节 工作10年,虽然不是一线城市,也经历过几家公司,规模大的、规模小的都有,针对于测试行业很少有Bug根因环节,主流程基本上都是测试提交bug-开发修改-测试验证-发送报…