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

图像滤波

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

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

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

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

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

特征提取:通过滤波器提取图像中的重要信息,用于后续分析和识别。如角点检测、纹理分析和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.rhkb.cn/news/349213.html

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

相关文章

docker一些常用命令以及镜像构建完后部署到K8s上

docker一些常用命令以及镜像构建完后部署到K8s上 1.创建文件夹2.删除文件3.复制现有文件内容到新建文件4.打开某个文件5.查看文件列表6.解压文件(tar格式)7.解压镜像8.查看镜像9.删除镜像10.查看容器11.删除容器12.停止运行容器13.构建镜像14.启动容器15…

【GreenHills】如何使用GHS对于不同的文件进行文档内容对比

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 利用GHS对于不同的文件进行对比。 2、 问题场景 在项目开发过程中,会对于工程进行版本管理,对于没有项目管理工具的客户,想要对于当前版本的源文件和上一版或其他版本的源文件进行…

超燃混剪热门视频素材去哪里找?超燃混剪热门素材网站分享

各位小伙伴,今天我们来聊聊怎么找到那些超燃的混剪视频素材。毕竟,谁不想制作出有趣的视频发布到朋友圈、抖音呢?那么问题来了,去哪儿找那些劲爆的素材呢?别急,今天我就给大家推荐几个超级好用的视频素材平…

Python内存管理与垃圾回收机制

目录 一、引言 二、Python内存管理概述 三、引用计数机制 四、垃圾回收机制 标记-清除(Mark-and-Sweep) 分代收集(Generational Collection) 五、内存泄漏与优化 六、总结 一、引言 Python作为一门高级编程语言&#xff…

Coze+Discord:打造你的免费AI助手(教您如何免费使用GPT-4o/Gemini等最新最强的大模型/Discord如何正确连接Coze)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 准备Discord📝 准备Coze🔌 连接💡 测试效果⚓️ 相关链接 ⚓️📖 介绍 📖 你是否想免费使用GPT-4o/Gemini等最新最强的大模型,但又不想花费高昂的费用?本文将教你如何通过Coze搭建Bot,并将其转发…

VMware清理拖拽缓存

磁盘空间越用越小,如何快速解决磁盘空间的问题,甩掉烦恼 安装VM tools之后可以通过拖拽的方式把文件拉入虚拟机之中。但每一次拖拽,其实都是现在cache文件夹里面生成一个同样的文件,并使用cp拷贝的方式将其拷贝到拖拽放置的目录中…

http协议,tomcat的作用

HTTP 概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 特点: 1.基于TCP协议:面向连接,安全 2. 基于请求-响应模型的:一次请求对应一次响应 3HTTP协议是无状态的协议:对于事务处理没有记忆能…

ai 人工智能免费网站免费生成图片生成ppt

豆包 Kimi.ai - 帮你看更大的世界 生成ppt 讯飞智文 - AI在线生成PPT、Word 大家如有其它免费的欢迎推荐!!!

【研发日记】Matlab/Simulink软件优化(三)——利用NaNFlag为数据处理算法降阶

文章目录 前言 背景介绍 初始算法 优化算法 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink软件优化(一)——动态内存负荷压缩》 见《【研发日记】Matlab/Simulink软件优化(二)——通信负载柔性均衡算法》 背景介绍 在一个嵌入式软件开发项目中,需要开…

CCRC-DSA 数据安全评估师

在信息技术日新月异的今天,数据的爆炸性增长已将其塑造为现代社会的宝贵财富。 然而,数据的巨大价值背后潜藏着不容忽视的风险,诸如数据泄露、恶意侵害和违规操作等问题不断引发公众和媒体的高度关注。 在这样的背景下,进行严谨…

重生之 SpringBoot3 入门保姆级学习(18、事件驱动开发解耦合)

重生之 SpringBoot3 入门保姆级学习(18、事件驱动开发解耦合) 5、SpringBoot3 核心5.1 原始开发5.2 事件驱动开发 5、SpringBoot3 核心 5.1 原始开发 LoginController package com.zhong.bootcenter.controller;import com.zhong.bootcenter.service.A…

蓝桥杯软件测试第十五届蓝桥杯模拟赛1期题目解析

PS 需要第十五界蓝桥杯模拟赛1期功能测试模板、单元测试被测代码、自动化测试被测代码请加🐧:1940787338 备注:15界蓝桥杯省赛软件测试模拟赛1期 题目1 功能测试用例1(测试用例)(15分) 【前期准备】 按步…

阿里云运维第一步(监控):开箱即用的监控

作者:仲阳 这是云的时代,现在云计算已经在各行各业广泛的应用。但是上云对于大多数客户来说,依然有很大的学习成本,如下图仅是阿里云都有几百款产品,怎么选择?怎么用?对于客户来说都是问题。“…

五、LVS原理

目录 5.1 LVS 相关原理 5.1.1 LVS集群的体系结构以及特点 5.1.1.1 LVS简介 5.1.1.2 LVS体系结构 5.1.1.3 LVS相关术语 5.1.1.4 LVS工作模式 5.1.1.5 LVS调度算法 5.1.2 LVS-DR集群介绍 5.1.2.1 LVS-DR模式工作原理 5.1.2.2 LVS-DR模式应用特点 5.1.2.3 LVS-DR模式ARP抑制 5.1…

【论文阅读】-- Omnisketch:高效的多维任意谓词高速流分析

Omnisketch:高效的多维任意谓词高速流分析 摘要1 引言2 预备知识及相关工作3 OMNISKETCH:使用任意谓词估计频率3.1 Sketch S0:Count-Min with rid-sets 用于估计带有谓词的查询3.2 Sketch S1 (OmniSketch):…

WPF学习(1)--类与类的继承

在面向对象编程中,继承是一种机制,允许一个类(称为子类或派生类)从另一个类(称为父类或基类)继承属性和方法。继承使我们能够创建一个通用类,然后根据需要扩展或修改它以创建更具体的类。以下是…

Vue3-滑动到最右验证功能

1、思路 1、在登录页面需要启动向右滑块验证 2、效果图 3、文章地址:滑动验证码的实现-vue-simple-verify 2、成分分析 1、由三块构成,分别是底部条、拖动条、拖动移动部分 2、底部条:整体容器,包括背景、边框和文字&#xf…

2024中国翻译行业发展报告

来源:中国翻译协会 近期历史回顾: 2024国内工商业储能市场研究报告.pdf 2023幸福企业白皮书.pdf 2024年欧亚地区移动经济报告.pdf 内容供应链变革 2023人工智能与首席营销官(CMO) AI科技对PC产业的影响.pdf 金融业数据应用发展报…

多应用对接企业微信授权和扫码登录

多应用对接企业微信授权和扫码登录是一种常见的企业级解决方案,它可以帮助企业实现统一的身份验证和管理,提升用户体验和安全性。本文将介绍如何实现多应用对接企业微信授权和扫码登录的方法和步骤。 # 第一步:注册企业微信开放平台应用 首…

批量文件重命名技巧:轻松替换删除文件夹名中的字母,实现高效文件管理新境界

在数字化时代,我们每天都会面对大量的文件和文件夹。无论是工作文档、学习资料还是个人收藏,文件命名的规范性都显得尤为重要。然而,手动一个一个去修改文件名,不仅耗时耗力,还容易出错。那么,有没有一种方…