如果你已经能跑通一个卷积网络、在 MNIST 或 CIFAR 上刷到过不错的准确率,但被问到「图像搜索到底和图像分类差在哪」「为什么检索任务不能直接套分类的损失函数」时答不上来,那这门预习课针对的就是这个缺口。它不教你从零搭环境,也不打算把你送进某个项目组,它要做的是把「分类」和「搜索」这两件事的底层联系先接上。

先搞清楚:这门课补的是哪一段

CV 高级班的正课会大量涉及深度学习在图像检索中的应用,而检索这条路,往上追是特征表示,再往上追是分类任务里训练出来的骨干网络。很多人卡住不是因为不会调库,而是中间断了一环:知道 ResNet 能分类,但不知道为什么它的中间层特征可以拿来做相似度比对;知道有 triplet loss、有召回率,但说不清它和 softmax 交叉熵在优化目标上的根本区别。

这门预习课就是补这一环。它假设你已经会写基本的训练循环,所以不会在「什么是卷积」「什么是池化」上停留太久,而是把重点放在特征是怎么被网络学出来的、以及这些特征在检索场景下怎么用。

看完应该能回答的问题

  • 同样是输出一个向量,分类头的输出和检索用的嵌入向量,差别在哪?为什么前者不能直接拿来做距离度量?
  • 一个在 ImageNet 上训好的分类网络,去掉最后的全连接层之后,剩下的特征为什么对「找相似图片」这件事有效?
  • 图像搜索里常说的「召回」,和分类里的「准确率」,评价的到底是不是同一件事?
  • 如果要让网络学会「把相似的图拉近、不相似的推远」,损失函数该怎么设计,和分类的交叉熵是什么关系?
  • 为什么图像搜索系统的效果,往往瓶颈不在模型本身,而在特征归一化、距离度量方式这些细节上?

这些问题不是靠背概念能答好的。如果你现在对其中两三个还只有模糊印象,那这门课值得花时间;如果全都能讲清楚,可以直接跳过去看正课。

配套练习的方向

预习课的价值一半在讲,一半在动手。这门课涉及的练习不会让你从头训一个大模型,而是围绕几个能快速看到差异的小任务展开:用现成的骨干网络提取特征,比较不同层、不同池化方式对检索结果的影响;在同一批图片上分别用分类损失和度量学习损失做微调,观察特征分布的变化。这类练习的好处是反馈快,改一个参数就能在检索结果里看出差别,不需要等几十个 epoch。

做练习时建议带着一个具体问题去,比如「把特征做 L2 归一化之后,最近邻的结果为什么变了」,而不是机械地跑完 notebook。前者能留下印象,后者跑完就忘。

一点提醒

这是预习课,不是完整体系。它不会覆盖检测、分割,也不会深入讲工程部署和向量索引的细节——那些是正课和后续内容的事。把它当成一次「接线」:把你已经会的分类知识,和还没系统接触过的检索任务连起来。连线接好了,后面正课里再出现 embedding、triplet、recall@k 这些词,你就不会觉得是凭空冒出来的新东西。

如果目前连基本的卷积网络训练流程都还没跑通过,建议先把基础补上再来,否则这门课里关于特征层选择的讨论会比较难跟上。

图像分类与图像搜索特训 [CV高级班 预习课之一]

课程详情

课程详情

课程名称:图像分类与图像搜索特训 [CV高级班 预习课之一]

课程简介:本课程是CV高级班的预习课程之一,旨在为学员打下坚实的理论基础,为后续深入学习深度学习在图像搜索中的应用做好准备。

适合人群

  • 对计算机视觉领域感兴趣的专业人士
  • 希望深入了解图像分类和图像搜索技术的开发者
  • 有志于从事深度学习研究的学者和学生

学习收获

  • 掌握神经网络基础理论及其在图像分类中的应用
  • 了解深度学习在图像搜索中的实际应用案例
  • 提升对计算机视觉领域前沿技术的认知

课程亮点

  • 理论与实践相结合,深入浅出讲解复杂概念
  • 案例丰富,涵盖多个实际应用场景
  • 互动性强,提供丰富的实践机会

课程目录

第一阶段 神经网络基础与图像分类
  第一课 神经网络基础
  第二课 详解卷积操作
  第三课 详解卷积层
  第四课 迁移学习在CNN上的应用
  第五课 卷积神经网络实践
第二阶段 深度学习在大规模图像搜索中的实际应用
  第六课 智慧交通问题简介
  第七课 BOW与SIFT
  第八课 BoVW流程详解
  第九课 CBIF与车辆重识别
  第十课 CNN解决车辆识别问题