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

计算机视觉CS231n学习(1)

面向视觉识别的卷积神经网络 CS231n Introduction
  1. 计算机视觉的历史 the history of computer vision

    重要节点:

    1. 1959 Hubel & Wiesel

      利用和人比较相像的猫的视觉神经做实验:简单细胞反应灯的位置;复杂细胞反应灯的位置和移动;超常细胞反应最后的点的移动

    2. 1963 Block world

      特征点的选择

    3. 1970s Stage of Visual Representation 视觉表征阶段

      input image -> edge image(primal sketch) -> 2-D shetch -> 3-D model

    4. 1973 Pictorial Structure

    5. 1979 Generalized Cylinder

    6. 1987 maybe 重要轮廓?

    7. 1997 Normalized Cut 图像像素分割

    8. 2001 Face Detection 面部检测

    9. 1999 SIFT & Object Recognition 尺度不变特征变换

    10. 2006 Spatial Pyramid Matching 金字塔匹配

    11. 2005 Histogram of Gradients HoG 梯度直方图

    12. 2009 Deformable Part Model 可变形的部件模型

    13. 2006-2012 PASCAL Visual Object Challenge

图像分类 image classification
  1. visual recognition:视觉识别
  2. 目标检测object detection
  3. 图像摘要image captioning:根据图片内容生成描述信息
  4. 但是视觉上的智能要远远超过简单的目标检测,比如可以识别图像表达的含义,图像中的物体相互之间的联系,推断图像中正在发生什么 等等等
图像分类流程 Image Classification pipeline

在机器视觉当中,图像分类是一个核心的任务

  1. 图像分类会遇到很多问题

    比如语义鸿沟:用像素点去表示图像

    视角变化、光线变化、目标变形、目标被遮挡、背景和目标相似性大、同类目标之间的差异性对图像造成的影响。。。

  2. 解决方法 - 数据驱动

    收集大量的各种各样的目标图像,为了让模型学习到更多样的特征,更具有泛化性和鲁棒性

  3. 第一种分类器:近邻算法

    我的理解就是两张图片的相似性吧 下面是相似性的计算方法

    图像比较的距离度量标准:

    1. L1 distance

      在这里插入图片描述

      但是这种算法存在训练时时间复杂度为1,推理时时间复杂度为n的情况,我们想要的是训练耗时但推理很快的模型

    2. L2 distance

      在这里插入图片描述

    K最近邻算法:K-Nearest Neighbors:

    这种算法不是从最近邻复制标签, 而是从K个最近点中采取多数表决majority vote

    K最近邻算法可以采取上述图像比较的距离度量标准的任意一种

    两种问题:

    1. k的选择

      当需要对一个新样本进行预测的时候,模型会在训练集中寻找与该样本最相似的k个样本,然后以这k个样本中哪个种类数最多来判断这个新样本的中来,so K 决定了 “参考多少个邻居” 来做预测,是 KNN 的核心超参数。

    2. L1 / L2 distance的选择

      L1/L2 距离 用于量化样本间的相似度,决定了 “谁是最近邻”,直接影响邻居的选择结果。

    解决方法 - 训练集 验证集 测试集

    设定不同的超参数k,在分成几份的训练集上训练,用验证集验证,在测试集上观察对完全崭新样本的预测

    (训练集:模型在训练集当中进行反向传播更新参数;验证集:验证集仅用来作为判断模型预测的结果和真实结果的误差,不进行参数更新;测试集:就是模拟真实世界的情况,观察预测的结果)

    但是K最近邻算法几乎不用在图像上:推理速度慢、基于像素的距离度量缺乏信息量(就是说可能肉眼几个差异大的图片输进去可能和原图的像比较的距离度量标准相同)、会发生维度灾难(高维的运算量大)

    线性分类 Linear Classification

    参数化方法 parametric approach 用线性分类器,就是可以通过线性的曲线将所有类别都分隔开来

    但是肯定不是所有的类别都能用线性的曲线分隔开来的

    问题:

    1. 怎么确定参数是不是合适的?

    解决方法:

    1. 损失函数 (计算真实结果和预测结果的差值 我们的目标就是最小化它)
    2. 优化器(梯度下降方法 等)
    3. 卷积网络 (可以处理非线性的问题)
http://www.lryc.cn/news/606210.html

相关文章:

  • SAM模型细节分析 (附录内容)
  • Nuitka:将源码编译为 `.pyd`
  • YOLOv13 汉化优化部署版本:超图增强自适应视觉感知的目标检测系统
  • 智慧交通中目标检测 mAP↑28%:陌讯多模态融合算法实战解析
  • LLM——使用 LangGraph 构建 ReAct 智能体:多轮对话 + 工具调用 + 可视化流程图
  • 编译Openssl
  • Linux软件包管理器深度解析:从概念到实战
  • PyTorch L2范数详解与应用
  • system.conf linux用于启动和管理系统进程的初始化系统和服务管理器的配置文件
  • MySQL 8.0 OCP 1Z0-908 题目解析(38)
  • NFLSOI 7.25 题解
  • 2025电赛e题:openmv识别过程丢失矩形
  • laravel下phpunit的使用
  • Web开发-PHP应用Cookie脆弱Session固定Token唯一身份验证数据库通讯
  • 分享低功耗单火线开关语音识别方案
  • Python 程序设计讲义(49):组合数据类型——字典类型:字典的方法
  • Linux/Ubuntu 系统中打开火狐firefox、chromium浏览器失败
  • 33.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--财务服务--记账
  • Python Day20 os模块 和 文件操作 及 例题分析
  • 智能文本抽取技术:精准识别、定位并提取出关键信息
  • 学以致用——用Docker搭建ThinkPHP开发环境
  • linux线程互斥和同步
  • 在处理大数据列表渲染时,React 虚拟列表是提升性能的关键技术,但在实际实现中常遇到渲染抖动和滚动定位偏移等问题。
  • 大语言模型信息抽取系统解析
  • Tomcat,WebLogic等中间件漏洞实战解析
  • C++异常处理的成本:理解与优化
  • MySQL转PostgreSQL迁移实战:从语法错误到完美兼容
  • AI学习笔记三十三:基于Opencv的单目标跟踪
  • vue3 v-html绑定数据,点击sub实现popover效果
  • STM32 USB 设备中间件 tinyusb