返回博客列表

项目复盘

计算机视觉课程总复盘:从分类、分割到检测与视频理解

把四个计算机视觉实验和一个 YOLO 结课报告实验抽象成一条能力路径:数据处理、模型结构、评估指标、GPU 训练、失败样本诊断和作品集叙事。

背景

这次更新的原始材料来自 C:/coding/计算机视觉:四个课程实验和一个结课报告实验。它们原本是按课程提交组织的材料,包括分类、分割、姿态估计、动作识别和目标检测。

如果直接把每份实验报告搬到网站上,信息会很完整,但作品集价值不高。课程报告回答的是“这次实验做了什么”,作品集更需要回答“这些实验共同证明了什么能力”。因此这篇复盘把五个实验压成一条计算机视觉训练路径。

第一层:从数据读取到可训练分类器

实验 1 的核心是 CIFAR-10 分类。它看起来是最基础的任务,但它实际上打通了后面所有深度视觉实验都会重复出现的工程骨架:

这一层的价值不是“训练了一个 ResNet”,而是建立了一个可复用的 PyTorch 训练闭环:数据、模型、优化器、损失函数、日志、权重和推理结果都能对应起来。

第二层:从图像级分类到像素级分割

实验 2 把任务从“整张图属于哪一类”推进到“每个像素属于哪一类”。医学图像分割比分类更强调边界、噪声和局部细节,所以实验先用 Otsu 阈值法做传统基线,再实现 U-Net。

Otsu 的结果说明了一个很现实的问题:当医学图像前景和背景没有清晰双峰分布时,纯统计阈值很难稳定剥离目标区域。U-Net 的 skip connection 则提供了另一条路径:编码器提取语义,解码器恢复分辨率,同尺度特征拼接保留边界细节。

这部分让我把“模型结构”与“评估指标”连起来理解。Dice loss 不是一个孤立公式,它直接服务于分割任务中预测区域与真实区域的重叠质量。

第三层:从区域预测到关键点结构

实验 3 的人体姿态估计展示了两类思路:DeepPose 的坐标回归和 HRNet 的 heatmap 估计。

DeepPose 把姿态估计看成关键点坐标回归,输入图像后直接输出 [batch, keypoints, 2]。这种方式结构直观,但会把空间定位压力集中到最后的回归层。HRNet 则保留高分辨率分支,为每个关键点预测 heatmap,再从 heatmap 中解码坐标。它更符合关键点任务对空间细节的要求。

后处理也很关键。实验里通过 get_max_predsget_avg_preds 把 heatmap 转成坐标,再把关键点绘制成骨架。到这一步,模型输出不再只是一个分数或 mask,而是能被人直接检查的结构化视觉结果。

第四层:从单帧图像到视频时空特征

实验 4 把输入从图像扩展到视频。C3D 的输入张量是 [batch, channel, frame, height, width],三维卷积同时在空间和时间维度提取特征。

这次没有把重点放在完整 UCF101 长训练上,而是更务实地完成了三步验证:

这个实验的价值在于确认“视频任务的工程链路能跑通”。对于课程归档来说,这比给出一个未经充分训练的高分结果更可靠。

第五层:在约束下做轻量目标检测

结课报告实验是这组材料里最接近项目复盘的一部分。它不是单纯训练一个检测器,而是在“模型大小小于 10 MB”的约束下选择模型、解释口径、训练、测试、分析瓶颈并继续改进。

模型选择阶段对比了 YOLO26n、YOLO12n、YOLO11n 和 YOLOv10n。YOLO26n 的权重约 5.29 MB,参数量约 2.57M,在文件大小和参数量两个口径下都比较稳,因此成为主模型。

第一轮训练已经让验证集 mAP50 达到很高水平,但测试集 mAP50 只有 0.968。进一步分析后,问题集中在 class 2 的长条小目标:测试集中该类实例很少,漏掉一个目标就会显著拉低 AP。第二轮提高分辨率和合并训练集没有根本解决问题,第三轮做 class 2 crop 增强后,验证集 class 2 recall 提升到 1.0,但测试集仍被一个极端样本限制。

这部分最有价值的不是最后有没有冲过 0.98,而是形成了清楚的失败样本诊断:小测试集、长条小目标、整图缩放、置信度排序和数据分布都会影响最终指标。它让结课报告不只是“训练结果展示”,而是一次受约束目标检测实验的工程分析。

抽象后的能力路径

把五个实验合在一起看,计算机视觉课程训练覆盖了五种任务形态:

图像分类 -> 像素分割 -> 人体关键点 -> 视频动作识别 -> 目标检测

对应的能力也从单点实现逐步扩展:

为什么放在课程和博客,而不是项目

这次没有把五个实验拆成新项目。原因是它们的主要价值是课程训练覆盖面,而不是独立产品、研究原型或完整应用系统。

放在课程归档里,可以清楚说明“做过哪些实验、覆盖哪些主题、源材料在哪里”。放在博客里,则可以把原始实验报告抽象成一条学习路径和工程复盘。这样既保留课程材料的完整性,又不会让项目板块被课程作业稀释。

后续如果要继续扩展,最适合单独项目化的是 YOLO 小目标检测或 HRNet 姿态估计。前者已经有模型选择、训练诊断和失败样本分析;后者可以继续接入真实数据和预训练权重,形成更完整的推理展示。

复盘

这次更新让我更明确地区分了三种材料形态:

实验报告:证明课程任务完成。
课程归档:证明训练覆盖完整。
博客复盘:证明能把任务抽象成能力路径。

作品集不需要把所有过程细节都摊开,但需要让读者看出这些过程背后的能力结构。计算机视觉这组实验的价值正在于此:它横跨了分类、分割、关键点、视频和检测,也展示了从跑通模型到分析瓶颈的进阶过程。

课程归档见:计算机视觉课程实验归档