计算机视觉基础课程知识点总结

图像滤波

相关: 核与图像同向应用,不翻转。

卷积: 核在应用前翻转,广泛用于信号处理和深度学习(现在常说的二维卷积就是相关)。

内积: 向量化的点积操作,是相关和卷积的一部分。

模板匹配:通过在图像中查找与模板匹配的区域,实现目标检测和识别。如人脸检测和工业检。

图像增强:通过滤波器处理图像,提高图像质量或突出特征。如边缘检测、去噪和锐化。

特征提取:通过滤波器提取图像中的重要信息,用于后续分析和识别。如角点检测、纹理分析和CNN中的特征提取。

滤波器:

Gabor:提取纹理和方向性边缘特征

Sobel:检测水平和垂直边缘

高斯:平滑图像,减少噪声

Laplacian of Gaussian:平滑图像并检测边缘。

边缘检测

如何使用高斯偏导数在图像处理中进行边缘检测:首先对图像进行高斯滤波,水平和垂直方向平滑处理,然后计算梯度的幅值边缘强度梯度方向边缘方向。接下来,通过非极大值抑制细化边缘,最后通过阈值处理和边缘连接来获取图像中的精细边缘。这一过程确保了边缘检测的准确性和连续性。

高斯偏导核结合了高斯平滑和微分运算的优点,在边缘检测、特征提取和图像去噪等方面有广泛应用。其核心思想是通过平滑图像减少噪声影响,然后计算图像梯度,获取图像的边缘和特征信息

在图像处理中,高斯滤波器的尺寸通常设置为 size=2×(3σ)+1,这样滤波器可以涵盖大部分高斯函数的范围,从而有效地平滑图像。差分图像c显示了两幅平滑图像之间的差异。通过比较可以发现,滤波器尺寸越大,差分越明显

Canny算子通过高斯滤波去噪、梯度计算找到潜在边缘、非极大值抑制细化边缘、双阈值检测分类边缘点、边缘连接形成连续边缘。这一系列步骤确保了边缘检测的准确性和细致性,使得Canny算子能够有效地获取“细边缘”。

拉普拉斯定理:用途清晰度检测

特征尺度

自动尺度选择的基本思想是通过构造对尺度变化敏感的函数f(多尺度都适用),计算其在多尺度上的响应,并选择响应值的局部极值点所对应的尺度作为图像特征的最佳尺度。这种方法使得在不同尺度上都能有效地检测到图像中的显著特征,从而实现多尺度特征提取。

通过计算尺度归一化拉普拉斯算子的响应,并找到其在不同尺度上的最大值,可以确定图像中特征的特征尺度。这使得特征检测在多尺度图像处理中更加准确和鲁棒。

SIFI分割

SIFT双塔结构,SIFT算法可以在不同尺度上检测图像中的关键点:高斯金字塔(这是通过对原始图像进行多次高斯模糊来构建的图像金字塔)是通过降采样得到的,所以可以大大减少后续处理中的计算量。在计算DoG金字塔时,由于每一层DoG金字塔只需要计算相邻两层高斯模糊图像的差分,而不需要重新计算高斯模糊,因此也节省了计算资源。这种金字塔结构有效地简化了SIFT算法中的尺度空间特征检测和描述子生成过程,提高了算法的效率和性能。

SIFT为确保关键点的方向不变性,SIFT通过计算图像梯度方向直方图来为每个关键点分配一个主要方向:计算图像梯度:在关键点的邻域内计算每个像素的梯度幅值和方向;创建方向直方图:在关键点邻域内(通常为16x16的邻域),对梯度方向进行统计,创建一个包含n个箱(每个箱覆盖360/n度)的方向直方图;权重投票:根据每个像素的梯度幅值对直方图进行加权投票。通常使用一个高斯权重函数,以关键点为中心,对邻域内的每个像素进行加权投票;确定主要方向:选取方向直方图中的最高峰作为关键点的主要方向。如果存在多个峰值接近主峰值的80%,也可以为该关键点分配多个方向。

SIFT描述子是基于关键点邻域的梯度信息生成的:构建描述子邻域:在关键点的邻域内划分子区域。计算梯度直方图:在每个子区域内,计算n个方向的梯度直方图。每个直方图包含n个箱。梯度方向和幅值计算:对每个子区域的每个像素点计算梯度方向和幅值,并根据方向和幅值对直方图进行加权投票。高斯加权:为每个像素点使用一个以关键点为中心的高斯权重进行加权。归一化:将向量归一化,以减小光照和对比度的影响。截断:为了增强鲁棒性,将描述子中大于某一阈值的元素截断。再次归一化:截断后再一次进行归一化,生成最终描述子。描述子可以在尺度、旋转和光照变化下具有很好的鲁棒性,有效地描述图像中的局部特征。 

视觉词典 

构造视觉词典:分块,根据提取特征分割;特征聚类,选择合适的聚类算法,聚类中心将成为视觉词典的词汇;每个图都可以看作是个视觉词汇,每个像素可以看作是文本

使用聚类来构造视觉词典的核心目的是通过将大量的局部特征描述符分组,生成有限数量的视觉单词,从而简化特征表示,减少数据维度,提升计算效率,并提高模型的鲁棒性和泛化能力。这一过程使得视觉词典能够有效地用于图像分类、物体识别和图像检索等任务。

神经网络

Naïve Bayesian是一种基于贝叶斯定理的概率分类算法,它假设特征之间相互独立。在实际应用中,我们通常使用朴素贝叶斯分类器进行分类,其决策规则是选择后验概率最大的。Linear classifier线性分类器是一类假设决策边界为线性函数的分类算法。常见的线性分类器包括感知机Perceptron、线性判别分析LDA和支持向量机SVM。线性分类器的目标是找到最佳的w和b,使得不同类别的样本尽可能被正确分开

K-Nearest Neighbors, KNN,K临近算法是一种基于实例的非参数分类算法。KNN通过计算新样本与训练集中所有样本的距离,选择距离最近的K个样本,然后根据这些样本的类别进行投票决定新样本的类。Naïve Bayesian分类器和线性分类器都基于决策规则来分类。Naïve Bayesian通过计算后验概率进行决策,而线性分类器通过线性函数的符号进行决策。KNN则是基于实例的决策规则,通过投票来决定新样本的类别。

交叉熵损失主要用于分类任务,特别是多类分类任务(Softmax激活函数的多类分类问题)常用于神经网络的训练,如CNN、RNN。

铰链损失主要用于二分类任务,SVM通常用于最大化分类间隔的分类问题。交叉熵损失优化目标是最小化预测分布与真实分布之间的差异,最大化正确类别的概率损失值越小,预测的概率分布越接近真实分布。铰链损失优化目标是最大化分类间隔,使得正类和负类之间的边界尽可能远。损失值越小,分类器越能够正确分类并且有较大的分类间隔。

链式法则传递倒数,方块为变量,圆点是运算符,计算图梯度反向传播

参数更新: 计算损失Loss,计算梯度,更新方向。标准梯度下降(整个训练集更新一次),随机梯度下降(每个样本更新一次),小批量梯度下降。

Small batch更好地利用现代硬件的并行计算能力,减少内存需求更快的参数更新和增强的噪声泛化能力避免重复计算,提高计算效率动态调整学习率更灵活的学习率调度策略更频繁的模型性能评估和更快的超参数调优更平滑的损失曲线,避免大幅度波动通过调整采样策略,改善不均衡数据的训练效果灵活处理不均匀数据

神经网络隐藏层的主要作用是通过非线性变换增强模型的表示能力,使其能够捕捉和表示复杂的非线性关系。线性学习模型只能处理线性关系,而神经网络通过引入隐藏层和非线性激活函数,能够处理复杂的模式识别和预测任务。通过多层隐藏层的设计,神经网络可以逐层提取特征,学习复杂的决策边界,从而实现对复杂数据的高效建模和预测。

Sigmoid激活函数容易引发梯度消失问题主要是由于其梯度在输入远离0时非常小。这个问题在深层神经网络中尤为严重,导致训练过程中梯度逐层衰减,使得模型难以学习和优化。通过使用替代激活函数、合适的权重初始化方法和归一化技术,可以有效缓解梯度消失问题。

卷积网络

感受野神经元的感受野在卷积计算中扮演了类似于生物视觉系统中感知局部图像的角色。通过分层次地扩大感受野,CNN能够逐步整合局部特征,形成对全局图像的理解。神经计算中,感受野的局部性允许并行处理图像的不同区域,大大提高了计算效率。权值共享在神经计算中,权值共享机制类似于生物视觉系统中神经元的重复性和一致性。在CNN中,卷积核在整个图像上共享权重,模拟了生物神经元在不同位置提取相同类型特征的过程。权值共享减少了模型的参数数量,降低了计算复杂度,同时保持了特征提取的一致性和可靠性。

小尺寸滤波的好处: 增强特征提取能力:更细致地捕捉局部特征;减少参数量:降低模型复杂度和过拟合风险;计算效率:减少计算量,加速训练和推理;更深的网络结构:构建更深的网络,提取更丰富的特征;增加非线性:引入更多非线性,提高模型学习复杂映射的能力。

1x1卷积特征通道的组合:跨通道信息融合和特征映射的重新加权维度变换:实现特征图的降维和升维计算效率的提升:在深度可分离卷积中大幅减少参数量和计算量改善网络结构和性能:提供灵活的维度变换和特征组合方式,减少参数量,提高训练效率和模型推广能力。

卷积计算Input volume: 32x32x3 :10 5x5 filters with stride 1, pad 2 Output: (32+2*2-5)/1+1 = 32 spatially, so 32x32x10 Params: 5*5*3 + 1 = 76 parameters => 76*10 = 760

数据增广在CNN中的意义增加训练数据的多样性:缓解过拟合,丰富特征空间提高模型的鲁棒性:应对输入变换,减少对噪声的敏感性提升模型的泛化能力:模拟现实世界的多样性,增强特征学习减少对大规模数据的依赖:在数据稀缺时生成更多的训练样本通过数据增广,CNN模型能够更好地学习和理解复杂的图像数据,提高在实际应用中的表现。

Dropout提升CNN:  Dropout通过在训练过程中随机“丢弃”部分神经元及其连接,防止模型过拟合,减少神经元之间的共适应性,模拟集成学习,并增加训练的随机性,从而显著提升了卷积神经网络的预测精度。

Momentum的作用: Momentum 通过在梯度下降过程中引入动量项,有助于加速收敛、减少振荡、帮助跳出局部最优解,从而显著提升了神经网络训练的效率和效果。通过使用 Momentum,优化算法能够更快、更稳定地找到损失函数的全局最优解,从而提高模型的性能和预测精度。

CNN改造

残差模块(Residual Block)设计思想跳跃连接(Skip Connection):直接将输入通过跳跃连接传递到输出,跳过中间的卷积层解决梯度消失问题:通过引入跳跃连接,使梯度可以直接从后层传递到前层,缓解梯度消失问题恒等映射(Identity Mapping):使网络更容易学习恒等映射,从而使深层网络的训练更加稳定和高效更深的网络:允许构建更深的网络层数,提高特征提取能力和模型表现残差模块通过这些设计使得深度神经网络能够更有效地进行训练,提升模型性能。

RPN全卷积网络:RPN是一个全卷积网络,直接在特征图上滑动窗口生成候选区域(proposals)锚点机制:在每个滑动窗口位置生成一组固定尺寸和比例的锚点(anchors),这些锚点作为候选区域的初始猜测两类输出:每个锚点输出两个值前景/背景分类:判定锚点是否属于前景(物体)或背景边界框回归:调整锚点以更好地拟合真实物体的边界框共享卷积层:RPN与目标检测网络(如Fast R-CNN)共享卷积层,减少重复计算,提高效率端到端训练:RPN与目标检测网络联合训练,实现端到端优化,提高候选区域生成的精度和速度。

RPN(Region Proposal Network)设计思路是通过一个卷积神经网络生成特征图,并在每个特征图位置生成一组不同尺度和宽高比的锚点。然后,使用1x1卷积层对这些锚点进行二分类(前景/背景)和回归调整(位置和尺寸),以生成候选区域。最后,通过非极大值抑制去除冗余区域,生成高质量的候选区域。这一过程与目标检测网络共享特征图,实现了高效的端到端训练和检测。

R-CNN到Fast R-CNN: R-CNN训练慢:需要分阶段训练,首先训练CNN,然后在提取的特征上训练SVM;检测慢:要划分很多个框resize像素再每个进行CNN前向传播,速度慢存储需求高:需要大量磁盘空间存储每个候选区域的特征Fast R-CNN单阶段训练:用多任务损失函数联合训练分类和回归任务只做一次卷积特征提取,ROI池化不按照像素而是按照区域,避免了重复计算,提高了速度和效率端到端训练:整个网络可以端到端训练,包括候选区域生成、特征提取、分类和回归,简化了训练流程。

全卷积网络(FCN)存在特征分辨率降低、感受野过大、边缘效应、计算量大、梯度消失、特征融合不充分和数据依赖性强等问题。为应对这些挑战,可采取反卷积、空洞卷积、跳跃连接、特征金字塔、数据增强和迁移学习等方法进行改进。

去除重叠框思路:非极大值抑制(Non-Maximum Suppression, NMS去除重叠框。步骤如下:排序:按照预测的置信度(confidence score)对所有候选框进行排序,从高到低选择最高分框:选择置信度最高的框作为基准框,保留这个框,并将其加入最终的输出列表计算重叠区域:计算基准框与其他候选框的重叠面积,通常使用交并比(IoU, Intersection over Union)作为衡量标准抑制重叠框:对于所有与基准框的IoU超过预设阈值的候选框,将其从候选框列表中移除,表示这些框被抑制,因为它们与基准框重叠过多重复:从剩余的候选框中重复步骤2-4,直到所有框都处理完毕。

AP计算的是折线图包围住的面积P1/1,R1/3->P2/2,R2/3->P2/3,R2/3->2/4,R2/3->P3/5,R3/3

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

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

相关文章

【MySQL】日志详解

本文使用的MySQL版本是8 日志概览 它们记录了数据库系统中的不同操作和事件,以便于故障排除、性能优化和数据恢复。本文将介绍MySQL中常见的几种日志,同时也会介绍一点常用的选项。 官方文档:MySQL :: MySQL 8.0 Reference Manual :: 7.4 M…

vscode cmake c++ include 设置

在这里设置编译器路径,include路径等等。 一个奇怪的现象是同一项目放在VS中可以cmake生成,并正常运行,但是放在VSCODE中cmake生成时会报错,如iostream、limits等头文件找不到。当在VS中运行执行完成调试后,在运行VSC…

Spring中的IOC

IOC(Inversion of Control,控制反转)是Spring框架核心概念之一。它是一种设计原则,用来实现对象的松耦合和依赖管理。在传统的编程中,对象负责创建或查找其依赖对象,而在IOC模式下,这些职责被移…

DDPM公式推导(一)

去噪扩散概率模型 Title:Denoising Diffusion Probabilistic Models paper是UC Berkeley发表在NIPS 2020的工作 paper地址 Abstract 我们使用扩散概率模型(一类受非平衡热力学启发的潜在变量模型)展示了高质量的图像合成结果。根据扩散概率模型与采用La…

开源可二次开发的商城小程序源码系统源码 前后端分离 附带完整的安装包以及搭建部署教程

系统概述 本开源商城小程序源码系统是基于现代Web开发技术栈打造的一套高性能、易扩展的电商解决方案。它采用了前后端分离的设计模式,前端使用Vue.js或React等主流框架构建用户界面,后端则采用Node.js/Express、Spring Boot等技术栈处理业务逻辑与数据…

【npm】console工具(含胶囊,表格,gif图片)

这是一款控制台花样输出工具 相对丰富的输出方式 文本输出属性值输出胶囊样式输出表格输出图片输出(含动图) 安装 npm install v_aot引用 import v_aot from "v_aot";字段说明 字段类型属性字符串值字符串类型default 、 primary 、 suc…

可再生能源的未来——Kompas.ai如何助力绿色发展

引言 在全球气候变化和能源危机的背景下,可再生能源逐渐成为能源发展的重要方向。本文将探讨可再生能源的发展趋势,并介绍Kompas.ai如何通过AI技术助力绿色发展的实现。 可再生能源的发展及其重要性 可再生能源是指通过自然资源产生的能源,…

【投稿优惠|权威主办】2024年能源、智能制造与材料科学国际学术会议(ICEIMMS 2024)

【投稿优惠|权威主办】2024年能源、智能制造与材料科学国际学术会议(ICEIMMS 2024) 2024 International Academic Conference on Energy, Intelligent Manufacturing, and Materials Science(ICEIMMS 2024) ▶会议简介 2024年能源…

大语言模型 (LLM) 红队测试:提前解决模型漏洞

大型语言模型 (LLM) 的兴起具有变革性,以其在自然语言处理和生成方面具有与人类相似的卓越能力,展现出巨大的潜力。然而,LLM 也被发现存在偏见、提供错误信息或幻觉、生成有害内容,甚至进行欺骗行为的情况。一些备受关注的事件包括…

《分析模式》第2章中文UML图(已修正原书错误)(2.1-2.6)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 (1)已用UML、OCL表示,并翻译为中文。 (2)已修正原书图存在的错误(多重性、角色),之前的…

企业服务器上云还是下云哪种比较好?-尚云Sunclouds

如今很多中小企业都面临一个艰难的选择,是要选择将服务器迁移至数据中心托管(下云)或者直接迁移到云端(上云)。中小企业是社会发展的中坚力量,他们的特点少而明显:资金少,增长快&…

tkinter文件选择对话框

tkinter文件选择对话框 Tkinter 文件选择对话框效果代码 Tkinter 文件选择对话框 Tkinter 提供以下文件选择对话框: tkinter.filedialog.askopenfilename():打开文件对话框,选择单个文件。tkinter.filedialog.askopenfilenames()&#xff1…

2024最值得入手的骨传导耳机有几款?年度精选五款骨传导耳机分享

作为一个爱好运动的人来说,现在天气越来越暖和了,很多人选择外出徒步、越野或者骑行。在运动过程中都会佩戴一些入耳式耳机,但是运动一段时间发现入耳式耳机带久了耳朵会很不舒服,而且出汗了的话对于一些不防水的入耳式耳机的话&a…

SpringBoot 大文件基于md5实现分片上传、断点续传、秒传

SpringBoot 大文件基于md5实现分片上传、断点续传、秒传 SpringBoot 大文件基于md5实现分片上传、断点续传、秒传前言1. 基本概念1.1 分片上传1.2 断点续传1.3 秒传1.4 分片上传的实现 2. 分片上传前端实现2.1 什么是WebUploader?功能特点接口说明事件APIHook 机制 …

MySQL查询数据库中所有表名表结构及注释以及生成数据库文档

MySQL查询数据库中所有表名表结构及注释 生成数据库文档在后面!!! select t.TABLE_COMMENT -- 数据表注释 , c.TABLE_NAME -- 表名称 , c.COLUMN_COMMENT -- 数据项 , c.COLUMN_NAME -- 英文名称 , -- 字段描述 , upper(c.DATA_TYPE) as …

视频字幕提取工具怎么使用?不妨看看这些教程

在探索学习设备使用的过程中,视频教程扮演着极其重要的角色。 但是,我们可能会遇到一些挑战,比如长视频教程的观看效率不高,信息量大难以快速定位到关键点,或者有些人更喜欢阅读文字而非观看视频来学习。 为解决这一…

【JavaEE精炼宝库】多线程(5)单例模式 | 指令重排序 | 阻塞队列

目录 一、单例模式: 1.1 饿汉模式: 1.2 懒汉模式: 1.2.1 线程安全的懒汉模式: 1.2.2 线程安全的懒汉模式的优化: 二、指令重排序 三、阻塞队列 3.1 阻塞队列的概念: 3.2 生产者消费者模型&#xf…

Docker部署常见应用之大数据基础框架Hadoop

文章目录 Hadoop简介主要特点核心组件生态系统 Docker Compose 部署集群参考文章 Hadoop简介 Hadoop是一个开源框架,由Apache软件基金会开发,用于在普通硬件构建的集群中存储和处理大量数据。它最初由Doug Cutting和Mike Cafarella创建,并受…

H5小程序视频编辑解决方案,广泛适用,灵活部署

如何在微信小程序、网页、HTML5等WEB场景中实现轻量化视频制作,满足多样化的运营需求,一直是企业面临的挑战。美摄科技凭借其在视频编辑领域的深厚积累和创新技术,为企业量身打造了一套H5/小程序视频编辑解决方案,助力企业轻松应对…

C++笔记:模板

模板 为什么要学习模板编程 在学习模板之前,一定要有算法及数据结构的基础,以及重载,封装,多态,继承的基础知识,不然会出现看不懂,或者学会了没办法使用。 为什么C会有模板,来看下面…