--------------------------Lecture 1: Introduction------------------------

什么是计算机视觉(CV)

简单来说,计算机视觉(Computer Vision,简称 CV)是人工智能(AI)的一个重要分支,它的目的是教计算机“看懂”这个世界。
计算机看到的只是一堆 数字矩阵(像素值)
因此,计算机视觉的本质是一个 “信息翻译”“特征提取” 的过程:
它通过数学算法,将底层无意义的像素(0-255的数字),一层层地转化为高层有意义的 语义概念 (比如:“前面是火车”、“飞机在天上飞”、“这个人在玩”)。

image

研究任务:

1.识别万物(通过大量数据训练)

  • 图像分类 (图像里是什么?)
  • 目标检测 (图像里有哪些东西且分别在什么方位?)
  • 图像分割 (每一个像素属于什么部分)
    image

2.克服机器学习的瓶颈-过拟合问题(即对未知数据的判断/通过对算法的优化)

  • 其他高级应用(理解并生成图像,如风格迁移/姿态估计)
    image

1. 核心痛点:语义鸿沟与视觉挑战

这是第一节课最重要的技术概念,解释了“为什么计算机视觉这么难”。

  • 语义鸿沟 (The Semantic Gap):
    • 人类看到的: 是一只毛茸茸的、有耳朵和尾巴的“猫”。
    • 计算机看到的: 是一个巨大的数字矩阵(通常是 3 维张量:宽度 × 高度 × 3 个颜色通道 RGB)。计算机只认识 0 到 255 之间的数字,完全不知道这些数字组合在一起代表“猫”。人类的高级语义认知和计算机的底层像素数据之间的巨大差距,就是语义鸿沟。
  • 图像识别的六大挑战 (Challenges in Visual Recognition):
    为了弥合语义鸿沟,算法必须克服以下困难:
    1. 视角变化 (Viewpoint variation): 同一只猫,从正面看和从上面看,它的像素矩阵完全不同。
    2. 光照条件 (Illumination): 白天的猫和黑夜里的猫,像素值会发生剧烈变化。
    3. 形变 (Deformation): 猫可以摆出各种千奇百怪的姿势(比如“猫是液体的”),形状极不固定。
    4. 遮挡 (Occlusion): 猫可能躲在沙发后面,只露出一条尾巴或一只耳朵。
    5. 背景杂乱 (Background clutter): 猫的颜色和纹理可能与它趴着的毛毯融为一体,难以分辨(伪装)。
    6. 类内差异 (Intraclass variation): 世界上有各种品种、颜色、大小的猫,它们看起来完全不一样,但都属于“猫”这个类别。

2. 视觉进化史:从生物学到早期计算机视觉

  • 生物视觉的启发 (寒武纪大爆发): 约 5 亿年前的寒武纪,动物进化出了眼睛(视觉),这引发了物种大爆发。说明视觉是智能生物感知世界的最重要手段。
  • Hubel 和 Wiesel 的猫脑实验 (1959):
    • 这两位诺贝尔奖得主在猫的后脑勺插入电极,发现猫的大脑视觉皮层细胞对特定的边缘和方向敏感。
    • 核心启示: 生物视觉是分层处理的。大脑首先识别简单的边缘和线条,然后组合成复杂的形状,最后识别出整个物体。这也是后来卷积神经网络(CNN)的核心设计思想(逐层提取特征)。
  • 早期计算机视觉方法 (2000年代及以前):
    • 早期的学者试图用纯几何或数学规则来定义世界(比如把所有东西看作积木组合)。
    • 后来发展出了“特征工程” (Feature Engineering),比如 SIFT、HOG 算法。人类专家手工设计数学公式来提取图像的边缘和角点,然后交给传统的机器学习算法分类。这种方法对简单任务有效,但无法应对现实世界的极度复杂性。
      image image

3. 转折点:ImageNet 与深度学习的崛起

image

  • ImageNet 数据集:

    • 李飞飞教授意识到,算法发展遇到了瓶颈,是因为缺乏足够的数据
    • 她和团队耗时数年,收集并标注了包含上千万张图片、上万个类别的 ImageNet 数据集。
    • 核心理念: 数据驱动(Data-driven)。让算法自己从海量数据中学习规律,而不是由人类去手工制定规则。
  • ILSVRC 挑战赛与 AlexNet (2012):

    • ImageNet 举办了视觉识别挑战赛。2012年,一个名为 AlexNet 的深度卷积神经网络横空出世,将错误率降低了 10% 以上,碾压了所有传统的视觉算法。
    • 这标志着深度学习时代的正式开启。算力(GPU)的提升和海量数据(ImageNet)共同促成了这一突破。
      image image

    注:后续很多典型 \(CNN\) 结构和 \(1998\) 年贝尔实验室提出的相似。且随着计算机算力的提升,像 GPU 这种图像处理单元超高的并行计算能力引入,人们开发出了更大的 \(CNN\) 模型和架构。


4. 解决问题的范式转移:数据驱动方法 (Data-Driven Approach)

  • 硬编码规则的失败: 如果你想写一个 Python 函数 def recognize_cat(image): 来识别猫,你是不可能用 if-else 语句写出来的(比如“如果某些像素是橘色,且呈三角形,就是猫耳”),因为猫的变化太多了。
  • 数据驱动方法: 我们不再尝试写代码去直接识别猫,而是写代码去 “学习”
    1. 收集 (Collect): 收集大量猫咪和其他物体的图片,并打上标签(Label)。
    2. 训练 (Train): 编写一个机器学习模型,把图片输入进去,让模型自己去寻找“什么是猫”的统计学规律,这被称为“训练模型”。
    3. 预测/评估 (Predict/Evaluate): 拿一些模型从未见过的新图片让它识别,测试它的准确率。
      image

总结

计算机视觉极其困难(语义鸿沟与各种变化),传统的专家手工设计规则(特征工程)已经走到了尽头。要想让计算机真正“看懂”世界,我们必须采用“数据驱动方法”,利用海量数据和神经网络(特别是卷积神经网络)让计算机自己去学习特征。

参考资料:

posted @ 2026-07-12 23:11  Bulyly  阅读(41)  评论(0)    收藏  举报