浙江大学谭平计算机视觉SLAM课程上课笔记:05滤波器(对应B站P7)

本文主要是介绍浙江大学谭平计算机视觉SLAM课程上课笔记:05滤波器(对应B站P7),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

5.滤波器

  • 声明:本笔记仅为当堂记录的笔记,有些东西不对或者是没有逻辑,仅仅是按照PPT的顺序罗列为方便复习。

声明:本笔记仅为当堂记录的笔记,有些东西不对或者是没有逻辑,仅仅是按照PPT的顺序罗列为方便复习。

在这里插入图片描述
逐渐进入图像处理的部分。
在这里插入图片描述
用一个领域的平均像素来替换中心像素
一个是高斯filter,一个是Box filter
在这里插入图片描述
空域不变,Box Filter是最简单的。高斯的Filter是中心最高四周较低。为了保证图像亮度不变,一般有一个归一化。
这里的边缘怎么办?kernel超过了图像的边界,我们会选择作zero padding。也可以对像素值做一个拓展,就是直接copy边界。
在这里插入图片描述
一面砖墙,效果上稍微有些不同,使用高斯的砖缝稍微清楚一些,高频分量保留完整一些。
在这里插入图片描述
kernel非常好玩。第一个是中心为1,就是自己。右边是1,可以进行平移。
在这里插入图片描述
edge detection是非常经典的,边缘提取。
如果给一个连续函数,找一个不连续点,我们会使用导数来找。
离散的图像是一个差分,向前一个像素,向后去一个像素,两者做差之后代替中心点的像素。
在这里插入图片描述
计算机视觉上面复杂在noise。这里我们以一个一维的信号为例子。每一个点的导数都很大。所以需要先做一个denoise。
先做一把denoise 高斯filter。把小的起伏给smooth掉。
在这里插入图片描述
在这里插入图片描述
高斯(DoG)滤波器的导数。先做卷积在求导=先求导再做卷积。
我们使用DoG一般是先进行滤波,再进行求导。
在这里插入图片描述
经典原图:一个是高斯,一个是求导的高斯。本图做的是x方向的梯度,因为线条都是竖向的。
在这里插入图片描述
sobel Filter(索伯)这个东西是一个3*3的filter。中间是0起始就是一个blur+一个求导。一般是用于进行边缘提取。
在这里插入图片描述
这是一些例子。
在这里插入图片描述
这是之前的sobel Filter的例子。
在这里插入图片描述
计算图像梯度:
1.首先先用图片×索伯边缘提取器。
2.得到x方向和y方向的导数。
3.为什么看振幅,我们不关心edge的方向:都需要找出来。
在这里插入图片描述
这就是计算图像梯度的方法,这里的话我们就是关心x方向和y方向。这里有一张input image,做出来的效果就是这样。一般我们还会进行非极大值抑制,不希望边缘太宽。
不能两张图直接取绝对值相加,不过其实效果差不多。
在这里插入图片描述
双边滤波器:下面讲的是更新的滤波器,在不同的地方会用不同的核。高斯滤波讲起,这里是一张image,我们用一个step function,这里还有噪声,然后和高斯核进行卷积,这样的话一个突然的变化就变成一个斜坡了。
在这里插入图片描述
这里举得例子是一黑一白,我们不希望就是黑色核白色做了平均,所以传统的核是有缺陷的。
高斯的权重是:离得近,权重大。距离远,权重小。这里又加了一个权重。value差的小,权重越大。两者相加是最后的效果。上面是归一化的公式。
在这里插入图片描述
双边滤波器是空间变化的:空域的space权重不变,但是换一个pixel的话value的权重会变。就是spatially-Varient。
在这里插入图片描述
从另外一个角度来解读这个事情:其实是一个3D的距离,另一个D是pixel value。
在这里插入图片描述
这里拿一维的来举例子。如果加pixel value的话就是不仅加一维距离还要加pixel value。
在这里插入图片描述
在这里插入图片描述
这里就是在和高斯核做对比。
在这里插入图片描述
这里也是一些对比的例子。
在这里插入图片描述
还可以进行detail enhancement 就是两张图相减。
在这里插入图片描述
这是一个02年的老文章。一个HDR map 到LDR(0-255)
在这里插入图片描述
如果输入是HDR的image。用这个平方根的,把亮的地方压缩,暗的地方拉大。value大的地方压瘪的。
在这里插入图片描述
把intensity和color分离,因为intensity的变化很大,而color的变化其实不大。所以弄到YUV空间里面。让UV不变而对Y(brightness)使用gamma映射。
但是这里还有一个小问题就是detail没有了。因为压缩intensity不仅把大的起伏压下来了(由黑到白),而且把这个小的细节起伏也给压下来了。高斯filter一下,相减一下得到是detail。
拿到一张图一分为三,UV构成color,而Y上面分成large scale和Detail。detail和color都保持不变,只动large scale。
在这里插入图片描述
这是整个过程的pipeline。
在这里插入图片描述
2004年上面的文章,两个group的人同时想到的。
我拍照的时候,一个用闪光灯,一个不用,然后做一些操作。零几年的相机去噪不好,所以噪点很多(开闪光灯)。
在这里插入图片描述
这个是毛发。
在这里插入图片描述
不开闪光灯的话光很柔和,但是图像上面的噪声很多,如果开闪光灯的话,就是很sharp但是这时候光不大好。
在这里插入图片描述
A是那张没有闪光灯的图,B是有的。A做一个双边的滤波,range的高斯换成flash的image,这样会保留detail。
在这里插入图片描述
这个是pipeline,但是最主要的核心是Joint双边滤波。
在这里插入图片描述
Flash去光斑。
在这里插入图片描述
mask去hightlight spot。
在这里插入图片描述
在这里插入图片描述
人眼上也可以运用,去红眼。
在这里插入图片描述

在这里插入图片描述
input image P和output image Q
在这里插入图片描述
先看一下效果,和双边滤波很相似,并且也是spatially-varient但是时间很快。
在这里插入图片描述
我们看一下这里到底是怎么求的
各自的intensity减去均值,如果两个pixel处在两边,就是0。如果在一边,就是1,这里ppt写错了。
miu是均值,sigma是标准差,如果i和j一个在
如果两个pixel很极端的话就是0,
如果不极端的话就是接近等于1。

这篇关于浙江大学谭平计算机视觉SLAM课程上课笔记:05滤波器(对应B站P7)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/760696

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi