[PyTorch][chapter31][卷积]

前言:

      卷积神经网络 是 计算机视觉里面应用非常广泛的一个模型。

      卷积神经网络 成功案例 人脸识别,指纹识别等应用.

      卷积的本质是图像的特征提取, 在冈萨雷士版本《数字图像处理》处理有专门的章节讲解

各种卷积核,在通讯原理里面,卷积主要用于数字信号调制成模拟信号,信号采样。

   卷积神经网络的特征提取思想跟 传统的数字图像 处理里面的SURF,SIFT 算法很像。

目录:

      1: 图片表示

      2:  80年代DNN 问题   what's wrong with Linear

      3:  感受野 Receptive Field

      4:  卷积核


一  图片表示

     我们常处理的图片分为RGB 图片和 黑白图片。

1.1  黑白图片

      MINIST手写数字识别 

    28*28 的Martix,矩阵里面的元素 取值范围 0-255, 代表对应位置的像素点的灰度值。

可以通过图像二值化算法把该值变换为0-1范围内 

1.2 彩色图片

  如常用的RGB 图像

  如果忽略alpha 通道,剩余3个通道 R, G,B

Python 有Image 库可以操作该图像,具体如下示例

# -*- coding: utf-8 -*-
"""
Created on Fri May  5 16:37:52 2023

@author: chengxf2
"""

from PIL import Image

img = Image.open("D:\\AI\\img\\1.jpg")

#​返回两个元素,宽和高。im.size ⇒ (width, height)
width, height = img.size[0],img.size[1]
im2 = Image.new("RGB",img.size, "white")

for h in range(height):
    for w in range(width):
        #​返回给定位置的像素
         pix = img.getpixel((w,h))
         #​修改给定位置的像素
         r,g,b = pix[0],pix[1],pix[2]
         if r>125 and r-20>g and r-20>b:
             im2.putpixel((w,h),(r,0,0))

im2.show()

二 80年代DNN 问题   what's wrong with Linear

   问题: 参数量太大

  这里重点介绍一下CNN 诞生的原因

 以MNITST 手写数字识别,输入数据为28*28=784的一张图像

常用如下的DNN结构,进行识别处理(下图少画了一个隐藏层)

        DNN 处理的问题:

        计需要参数量太大,按照DNN结构y=w*x

      则需要的权重系数个数

     W^1=784*256=200704

    W^2=256*256=65536

   W^3=256*256=65536 

  W^4=256*256=65536

  W^5=256*10=2560

  则需要的参数量为

  W=(W^1+W^2+W^3+W^4+W^5)/1024=390K

   如果每个参数用4字节的浮点数存储,则

 需要内存  =390k*4/1024=1.6MB

 在80年代,处理器只有几十KB,这个网络参数无法装入内存中.

后来为了解决该问题,提出了感受野的概念(卷积),降低了网络

运行的参数量


三 感受野 Receptive Field

 

如上图 有很多物品,小男孩一眼关注到的是局部蛋糕,

然后才会慢慢看到其它的物品。

基于上述思想,为了解决参数量过大问题(早期) 后来提出了一种基于权值共享的感受野概念,比如LeNet-5

比如原来DNN 网络: 输入层到隐藏层 

W^1=784*256=200704

 这里面隐藏层256,使用共同的3*3卷积核(权值系数),

则只需要 W^1=9,极大的降低了参数量

如下图,对于隐藏层每个节点

全连接层 权限系数个数为784

卷积层    权值系数个数为9个

 


四  卷积操作(Convolution Operation)

  卷积定义:

     设 f(x), g(x) 是R1上的两个可积分函数,作积分

       y(t)=\int f(\tau)g(t-\tau)d \tau

   《数字图像处理》有详细介绍各种卷积卷积核,主要是用于图像的特征提取(灰度平均值,边缘,纹理等特征)传统数字图像的卷积核里面的权重系数是固定不变的,但是在深度学习里面

卷积核里面的权重系数是通过训练学习得到的.

如下图

  

   

卷积运算

  c=1*0.5+1*0.5+1*0.5+1*0.5+1*0.5+1*0.5+1*0.5+1*0.5-4*0=4

 例2 

 

f(\tau) 函数看作卷积核

  g(t-\tau) 看作图像向左移位,则卷积后矩阵里面

的元素,就是每次移位t 步后,卷积核和图像重叠的面积.

参考:

课时61 什么是卷积-1_哔哩哔哩_bilibili

https://zhuanlan.zhihu.com/p/553987644

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值