学习笔记计算机视觉与深度学习(3.卷积与图像去噪/边缘提取/纹理表示)

Posted xhyu61

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记计算机视觉与深度学习(3.卷积与图像去噪/边缘提取/纹理表示)相关的知识,希望对你有一定的参考价值。

学习视频:
鲁鹏-计算机视觉与深度学习

同系列往期笔记:
【学习笔记】计算机视觉与深度学习(1.线性分类器)
【学习笔记】计算机视觉与深度学习(2.全连接神经网络)

1 卷积


噪声点:该点的像素和周围像素点的差异很大,如图中左图的253。
通过以该点为中心的9个点的像素值取均值来替代该点原本的像素值。

加权的权值 1 9 \\frac19 91,我们通常存储在一个上面这样的模板当中,我们称这个模板为卷积核,也称滤波核

下面的蓝色是输入的图像,上面的绿色是卷积后得到的输出图像。每一个像素点都有一个卷积核,通过卷积核得到输出的像素值。

F F F为图像, H H H为卷积核, F F F H H H的卷积即为 R = F ∗ H R=F*H R=FH
R i j = ∑ u , v H i − u , j − v F u , v R_ij=\\displaystyle\\sum\\limits_u,v H_i-u,j-vF_u,v Rij=u,vHiu,jvFu,v

进行卷积操作前,我们要先对卷积核进行180°翻转。不过通常我们使用卷积时,卷积核都是对称的,所以后续不会强调翻转操作。

公式略抽象,举例说明。令:
F = [ a 0 , 0 a 0 , 1 a 0 , 2 a 1 , 0 a 1 , 1 a 1 , 2 a 2 , 0 a 2 , 1 a 2 , 2 ]     H = [ b − 1 , − 1 b − 1 , 0 b − 1 , 1 b 0 , − 1 b 0 , 0 b 0 , 1 b 1 , − 1 b 1 , 0 b 1 , 1 ] F= \\beginbmatrix a_0,0 & a_0,1 & a_0,2 \\\\ a_1,0 & a_1,1 & a_1,2 \\\\ a_2,0 & a_2,1 & a_2,2 \\endbmatrix \\ \\ \\ H= \\beginbmatrix b_-1,-1 & b_-1,0 & b_-1,1 \\\\ b_0,-1 & b_0,0 & b_0,1 \\\\ b_1,-1 & b_1,0 & b_1,1 \\endbmatrix F= a0,0a1,0a2,0a0,1a1,1a2,1a0,2a1,2a2,2    H= b1,1b0,1b1,1b1,0b0,0b1,0b1,1b0,1b1,1
卷积后可以得到:

R i j = a 0 , 0 b 1 , 1 + a 0 , 1 b 1 , 0 + a 0 , 2 b 1 , − 1 + a 1 , 0 b 0 , 1 + a 1 , 1 b 0 , 0 + a 1 , 2 b 0 , − 1 + a 2 , 0 b − 1 , 1 + a 2 , 1 b − 1 , 0 + a 2 , 2 b − 1 , − 1 \\beginaligned R_ij&=a_0,0b_1,1+a_0,1b_1,0+a_0,2b_1,-1 \\\\ &+a_1,0b_0,1+a_1,1b_0,0+a_1,2b_0,-1 \\\\ &+a_2,0b_-1,1+a_2,1b_-1,0+a_2,2b_-1,-1 \\endaligned Rij=a0,0b1,1+a0,1b1,0+a0,2b1,1+a1,0b0,1+a1,1b0,0+a1,2b0,1+a2,0b1,1+a2,1b1,0+a2,2b1,1

综上,通过这个公式,我们就可以使用 H H H F F F卷积到 R R R域上去。

卷积示例




锐化原理见下图

更好地理解卷积所起到的滤波器的效果,可以参考这个网站:
Image-Kernels

卷积的性质

f i f_i fi为卷积前的图像, f i l t e r ( f i ) filter(f_i) filter(fi)为卷积后的图像, s h i f t ( f i ) shift(f_i) shift(f

计算机视觉与深度学习 笔记EP1

主要资料来源:(P1-P3)计算机视觉与深度学习 北京邮电大学 鲁鹏 清晰版合集(完整版)_哔哩哔哩_bilibili

数据驱动的图像分类方法  

        数据集收集

  • 数据集划分与预处理

        训练集:确定超参数时对分类器参数进行学习

        验证集:用于选择超参数

        测试集:评估泛化能力

        k折交叉验证:

           数据预处理1(去均值和归一化):        

去均值:度量与平均值之间的差距

归一化:将数据映射在一个区间内,是数值范围几乎相等

参考和其他数据预处理方法:数据预处理的几个名词:中心化,归一化,去相关,白化_m0_37708267的博客-CSDN博客_去相关处理


 

 

 

        分类器的设计与学习

 


图像表示

  • 像素表示:RGB三通道表示、灰度图像单通道表示、二值化图像
  • 全局特征表示(GIST):在全图中抽取特征,如颜色特征、纹理特征、形状特征。如强度直方图。
  • 局部特征表示:分割区块然后分析各区块的特征(优点是不会因遮挡受影响)

        参考:(4条消息) 图像处理局部和全局特征 - CSDN


分类模型

  • 线性分类器

        

        x是输入的图像向量,i取不同的值代表第i个类别

        w即是这类线性分类器的权值向量,b为这类线性分类器的偏置

        w与b通过训练更新和优化

        决策时,取f权值最大的类,就决策该图像向量属于这个类

         矩阵表示后,f、W、b变为一个矩阵,行数维度取决于其类别个数

        

        示例:一个训练完成的权值向量矩阵,包含了10个类 

  • 神经网络分类器     

(待整理)


损失函数

        损失函数时一个函数,度量分裂器预测值与真实值的差异程度,通常规定输出为一个非负实数

        L为数据集损失,是数据集中所有样本损失的平均值

        接下来,确定恰当合适的L函数是训练出一个好的分类器的关键

  •         多类支撑向量机损失(损失函数的一种)

预测分数的定义如下:

第i个样本的多类支撑向量损失函数的定义如下:

函数解读:即正确类别的得分比这个样本的其他的不正确类别高出1分,记为损失为0,否则产生损失并计算出值L

  •         正则项损失

        

        使用原因:对于矩阵W,可能会出现两个列向量w使损失函数为0,此时无法作出决策,因此添加一个正则项损失λR(W)来解决这个问题。该值只与权值向量有关

        λ作为一个超参数(指机器学习过程之前就设置的参数,不是通过训练得到的参数数据,与W区分开来),控制正则损失在总损失中的占比

        L2正则项:

        k,l表示第k行第l列

        函数解读:发现这个正则损失函数描述的是权值向量的分散程度,越分散,这个损失越小(越分散,我们可以理解成考虑了更多维度的特征,集中的话可能只是用了某个维度的特征,从而使决策有偶然性)以此来解决数据损失相等的情况       


优化算法

        参数优化:利用损失函数的输出值作为反馈信号来调整分类器的参数,提高分类器预测性能

        L是一个关于参数W的函数,我们要找到使损失函数L达到最优的那组参数W使  

  • 梯度下降

 

        沿着负梯度方向行进(步长),会是损失函数最快达到极值(极小值),从而使这个分类器达到最好的状态,这种思路即是梯度下降优化算法

       损失函数的梯度:

        

注意:计算出来的是一个矩阵向量

        设定一个超参数学习率μ,以此定义步长然后更新权值

        即:新权值=旧权值-学习率*权值的梯度

  • 随机梯度下降

        每次随机选择一个样本然后更新梯度(比如200个样本,并不是用200个样本更新一次梯度/参数,而是每次用1个样本更新200次梯度/参数)

  • 小批量随机梯度下降

        设定一个超参数m(代表每次选取m个样本)再进行训练更新参数

        m通常取32、64、128等2的倍数

        参考:(4条消息) 数值优化:一阶和二阶优化算法(Pytorch实现)_「已注销」的博客-CSDN博客


        分类器决策

以上是关于学习笔记计算机视觉与深度学习(3.卷积与图像去噪/边缘提取/纹理表示)的主要内容,如果未能解决你的问题,请参考以下文章

斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时26&&27

深度学习-计算机视觉-基础学习笔记-02

深度学习-计算机视觉-基础学习笔记-02

深度学习-计算机视觉-基础学习笔记-02

CV学习资料《卷积神经网络与视觉计算》+《深度学习实践计算机视觉》+《视觉SLAM十四讲从理论到实践》电子资料代码分析

Python深度学习:计算机视觉处理库OpenCVNumpy编辑图片高斯模糊处理(读书笔记)