当前位置: 首页 > ai >正文

【卷积神经网络详解与实例】1——计算机中的图像原理

1.1 数字图像的基本概念

计算机中的图像本质上是离散化的像素矩阵,每个像素携带颜色或亮度信息。理解这一基础是掌握CNN的关键:

  1. 像素(Pixel)

    • 图像的最小单位,如同马赛克中的单个小方块

    • 每个像素包含一个或多个数值表示颜色/亮度

    • 分辨率描述像素总数(如1920×1080表示有200多万像素)

  2. 颜色模型

    • 灰度图像:每个像素用1个值(0-255)表示亮度

       # 示例:5×5灰度图像矩阵[[0, 255, 128, 64, 192],[32, 160, 96, 224, 48],[144, 80, 208, 16, 176],[112, 240, 24, 152, 88],[200, 56, 184, 72, 216]]
    • 彩色图像:常用RGB模型,每个像素用3个值(红、绿、蓝)组合

       # 示例:2×2彩色图像张量(高度×宽度×通道)[[[255, 0, 0], [0, 255, 0]],   # 红色像素,绿色像素[[0, 0, 255], [255, 255, 0]]]  # 蓝色像素,黄色像素

1.2 图像的数字化表示

  1. 矩阵/张量结构

    • 灰度图:二维矩阵(高度×宽度)

    • 彩色图:三维张量(高度×宽度×通道数)

    • 视频数据:四维张量(帧数×高度×宽度×通道数)

  2. 数值范围

    • 8位图像:0(黑色)- 255(白色)

    • 16位图像:0-65535(用于医学/专业图像)

    • 浮点型图像:0.0-1.0(深度学习常用归一化形式)

灰度图彩色图视频数据

1.3 使用CNN处理图像

图像的关键属性

  1. 空间关系

    • 相邻像素在物理空间中彼此接近

    • 形成纹理、边缘、形状等视觉模式

    • CNN的局部连接正是利用这一特性

  2. 通道独立性

    • RGB三个通道分别记录不同颜色信息

    • 早期CNN分别处理各通道,后期融合特征

    • 现代CNN可跨通道交互(如1×1卷积)

图像处理基础操作

  1. 卷积(滤波)

    • 用小矩阵(卷积核)在图像上滑动计算

    • 示例:边缘检测的Sobel算子

       水平边缘检测核:[[-1, 0, 1],[-2, 0, 2],[-1, 0, 1]]
  2. 下采样(降分辨率)

    • 减少像素数量(如2×2区域取最大值)

    • 对应CNN中的池化操作

  3. 归一化

    • 将像素值缩放到[0,1]或[-1,1]

    • 提升训练稳定性

图像与CNN的对应关系

图像概念CNN中的对应作用
像素矩阵输入层原始数据表示
局部像素区域感受野提取局部特征
边缘/纹理检测浅层卷积核学习基础特征
物体部件组合深层特征图形成复杂表示
图像分类标签全连接层输出最终预测结果

为什么图像处理需要CNN

传统神经网络处理图像时的根本缺陷:

  1. 参数爆炸问题

    • 224×224彩色图像展平:150,528个输入

    • 连接1000个神经元:150,528,000个参数

    • 训练需求:约600GB内存(单精度浮点)

  2. 空间信息丢失

    • 展平操作破坏像素间的空间关系

    • 无法利用局部相关性

  3. 平移敏感性

    • 物体位置微小变化导致完全不同的输出

    • 缺乏平移不变性

CNN通过以下设计解决这些问题:

  • 局部连接:每个神经元只处理局部区域

  • 权值共享:同一特征检测器在整个图像上复用

  • 池化操作:增强平移不变性

  • 层次结构:逐步组合特征形成复杂表示

实际图像示例解析

以猫的图像识别为例:

  1. 原始输入

    • 224×224×3 RGB张量

    • 数值范围:0-255

  2. CNN处理流程

  3. 特征演化过程

    • 浅层:边缘、颜色块

    • 中层:纹理、简单形状

    • 深层:眼睛、耳朵等部件

    • 输出层:完整物体概念

http://www.xdnf.cn/news/18492.html

相关文章:

  • 卓伊凡的开源战略与PHP-SG16加密技术深度解析-sg加密技术详解-卓伊凡
  • pixijs基础学习
  • pyecharts可视化图表-map:从入门到精通
  • 【手撕JAVA多线程:2.线程安全】 2.1.JVM层面的线程安全保证
  • C++算法·进制转换
  • DeepSeek V3.1深度解析:一个模型两种思维,迈向Agent时代的第一步!
  • 并查集详解
  • 基于Python的农作物病虫害防治网站 Python+Django+Vue.js
  • 说说你对Integer缓存的理解?
  • 文献阅读笔记【物理信息机器学习】:Physics-informed machine learning
  • 【秋招笔试】2025.08.23美团研发岗秋招笔试题
  • SpringBoot applicationContext.getBeansOfType获取某一接口所有实现类,应用于策略模式
  • 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第五章整理
  • 墨刀原型设计工具操作使用指南及实践操作
  • 玩转Vue3高级特性:Teleport、Suspense与自定义渲染
  • 【假设微调1B模型,一个模型参数是16bit,计算需要多少显存?】
  • 【ABAP4】创建Package
  • 【力扣 Hot100】每日一题
  • Agent原理、构建模式(附视频链接)
  • 深度解析Bitmap、RoaringBitmap 的原理和区别
  • 讲点芯片验证中的统计覆盖率
  • 【攻防世界】easyupload
  • 量子计算驱动的Python医疗诊断编程前沿展望(上)
  • WSL Ubuntu数据迁移
  • 【数据分析】宏基因组荟萃分析(Meta-analysis)的应用与实操指南
  • 容器安全实践(三):信任、约定与“安全基线”镜像库
  • 应用篇#1:YOLOv8模型在Windows电脑摄像头上的部署
  • 26.内置构造函数
  • c# .net支持 NativeAOT 或 Trimming 的库是什么原理
  • 数据库优化提速(三)JSON数据类型在酒店管理系统搜索—仙盟创梦IDE