计算机视觉研究方向教材

36章 · 108888 汉字(正文统计,不含代码) · 核验 2026-09-23

R01 视觉研究全景与问题分类

研究问题:先问输出是什么

同一张街景可以对应十个不同课题。分类回答“有没有车”,检测给出每辆车的位置,分割决定每个像素属于什么,深度估计恢复远近,生成模型画出另一种天气,压缩模型把图像变成可传输的比特。它们可以共享一个编码器,却不能共享同一套成功标准。计算机视觉研究的第一步,是把直观愿望写成可检验的输入、输出和约束。Szeliski 的教材以图像形成、特征、几何、识别等问题组织内容,适合用作全景入口;这里采用教材替代单篇综述,因为没有一篇综述能以相同深度覆盖本书全部方向。[szeliski]

试着把“让相机更聪明”改写成“输入连续两帧,输出每个像素的二维位移,在规定分辨率下测平均端点误差与耗时”。改写之后,数据需要什么标注、程序应该返回什么张量、一次改进怎么验证,才有清楚的答案。算法新颖与问题重要也要分开:新模块可能只在不重要的设置上有效,而一个简单方法可能解决长期被忽略的数据问题。

必要基础与五个分类轴

先读 L02 张量与图像、L07 卷积 和 L09 图像评价。本章不要求你已经训练大模型,但要知道图像不是“一个文件名”,而是带坐标、通道、数值范围与采样方式的数组。同一张图从整数零到二百五十五变成浮点零到一,评价公式也必须同步调整。

用五个轴给课题定位。第一个轴是输出:类别、集合、密集场、图像、三维场景或动作。第二个轴是监督:人工标签、配对图像、时间连续性、文本、物理测量或图像自身。第三个轴是表示:像素网格、特征向量、点集、体素、隐式函数、显式高斯。第四个轴是目标:预测正确、像素接近、分布合理、比特少、速度快。第五个轴是约束:数据规模、设备、交互延迟、跨域可靠性。按这些轴描述课题,比记住几十个模型缩写更有用。

注意“Transformer”属于模型结构,“自监督”属于监督方式,“检测”属于任务,“实时”属于系统约束。它们不是互斥方向。一个系统完全可以同时是自监督预训练的 Transformer 实时检测器。组会上听到新缩写,先把它放到正确轴上,不必立即理解全部结构。

从直觉到一个可计算的小例子

假设有一张十乘十的图,只有十个像素属于行人。把所有像素预测成背景,像素准确率仍为百分之九十,但行人一个也没找到。如果任务是背景建模,这种结果可能有部分价值;如果任务是寻找行人,就明显失败。任务定义决定应该看类别平均指标、交并比,还是漏检率,不能让容易变好的数字代替原来的问题。

把一般学习过程写成 θ* = argminθ E[L(fθ(x), y)]。x 是输入,y 是监督目标,fθ 是带参数的模型,L 衡量目标偏差,期望表示对数据分布取平均。训练时用有限样本平均近似期望;测试时则关心另一批样本。研究常在五处发生:改变数据、表示、函数结构、损失、计算流程。报告必须说明到底改了哪一处。

再看压缩:输出同时包含码流与重建图,因此损失可以写成 R+λD。识别系统可能保留能区分类别的纹理,压缩系统可能舍弃不影响视觉质量的细节。二者都会谈“特征”,但其保留信息的理由不同。理解这一点,后面阅读面向机器的压缩时就不会把分类精度与图像质量当作同一种指标。

经典演进:从特征到可迁移表示

早期管线通常由特征提取、几何推理或统计分类器组成,优点是每一步有明确含义,限制是模块间难以共同适应数据。深度网络把多层表示一起学习,ResNet 改善深层网络的优化;ViT 用图块序列组织图像,扩大了结构选择,但训练数据和配方依旧重要。GAN 把生成图像的问题放到分布匹配中,NeRF 把场景表达为可查询的连续函数。这些工作改变的并非同一环节,不能排列成统一强弱榜。[resnet][vit][gan][nerf]

CLIP 把文本引入视觉监督,使任务可以通过描述表达;SAM 把提示引入分割接口,展示可交互的通用分割思路。它们扩展了使用方式,却没有消除专业数据、精确评价和失败分析。所谓基础模型应理解为可迁移的起点,其适用性仍须针对具体任务验证。[clip][sam]

精读一:ResNet 怎样提出一个好问题

先看原论文图一和图四中的训练曲线,再看图二残差模块。作者观察到普通深层网络不仅测试误差高,训练误差也可能更高,这使“只是过拟合”不足以解释现象。方法把希望学习的 H(x) 改写成 F(x)+x;如果理想变换接近恒等映射,残差分支可以学习较小修正。这个解释是优化动机,不是任意深度都容易训练的数学保证。[resnet]

关键公式 y = F(x, W)+x 要求相加的形状一致。若通道数或空间大小变化,可用投影匹配。读表一时记录每层输出尺寸,读表二和图四时区分普通网络与残差网络、训练与验证。证据来自 ImageNet 和 CIFAR 的对应实验,也有向检测任务迁移的研究;它不等价于“在你的五十张图上加深一定有效”。

读这篇的收获应是研究论证结构:先发现不能被常见解释覆盖的现象,再提出可实现机制,最后用直接对照检验。把“加了模块后变好”改成“排除哪些替代解释”,是从调代码走向研究的关键一步。

精读二:CLIP 怎样改变任务接口

读图一的训练与推理两部分、第二节方法、第三节评价和第六节局限。图像编码器与文本编码器把两个模态映射到可比较的空间。一个批次包含若干真实图文对,相似度矩阵的对角线对应配对关系;训练希望配对得分高于不配对。推理时,把类别名写成文本描述,与图片比较即可形成分类器。[clip]

核心不只是多了文字,而是训练目标从固定类别预测变成图文对应。作者分别做零样本分类和线性探测等评价,它们使用标签的方式不同。论文也特别提醒,和更早系统比较时,数据、计算量、模型结构都发生了变化,因此不能把全部收益归给一种损失。阅读实验表时应保留这种克制。

局限包括对提示措辞、任务种类和分布的依赖,以及细粒度任务上的困难。语言可以方便地指定概念,但相似度不是现实真实性的证明。此处的精读目的,是认识研究问题边界如何由接口改变;检索损失的细节放到 R31。

进阶:把问题写成数据契约

为每个系统写五行说明:输入张量和单位、输出张量和含义、训练时可见信息、测试时可见信息、评价聚合方式。比如单目深度不能在测试时偷偷使用真实深度对每张图校准尺度,却又称绝对深度直接预测;如果协议允许尺度对齐,就必须在结果旁说明。

task = {
    'input': 'float RGB, [N,3,H,W], range [0,1]',
    'output': 'class logits, [N,K]',
    'train_information': 'images and class labels',
    'test_information': 'images only',
    'metric': 'top-1 accuracy on fixed held-out images'
}

这段代码不训练任何模型,而是把容易隐藏的假设变成检查表。真实项目中还要记录图像来源、许可、模型权重与预处理。相同输入输出契约允许公平替换模型;不同契约应分别报告。

练习:建立你自己的问题地图

理解题一:为什么“用 Transformer 做视觉”不是完整研究问题?理解题二:分割全预测背景得到高准确率,意味着评价公式算错了吗?理解题三:零样本分类和线性探测有什么信息使用差异?

论文对比:把 ResNet 与 CLIP 分别填入五个分类轴,找出二者改变的主要环节。小实验设计:运行 X01,解释“测试里有训练对象”怎样让识别能力与记忆混在一起;然后为两种划分各写一句适用结论。

提示与参考答案

先区分问题、工具和证据。第一题缺少输入输出、监督与评价约束;结构名称只填了其中一格。第二题公式可能完全正确,但指标被多数类支配,没有反映寻找行人的目的。第三题零样本用类别描述组织预测,线性探测会使用下游标注训练一个分类头,不能直接并列而不注明协议。

ResNet 主要改变表示学习网络的参数化与优化途径;CLIP 主要改变监督来源和跨任务接口。二者可以组合,不能互相替代。X01 的对象重叠结果支持“识别已见对象的另一个样本”,独立对象划分更接近“推广到没见过的对象”;具体采用哪种,应由部署对象决定。

选方向与阅读路线

本章最值得做的成果是一页地图,而不是下载十个仓库。选三个方向,各写一个你能理解的输入输出例子、一个指标、一个可能失败的情境。感兴趣的方向应能让你愿意反复检查它的失败样本,而不只是喜欢最终演示。这个判断是学习建议,不是对实验室就业或发展前景的排名。

先读 Szeliski 的目录、引言和图像形成概述,约四十分钟;随后精读 ResNet 的动机与对照,暂时跳过完整结构配置。CLIP 先看训练推理图,损失等学过概率再回看。完成标准:不用模型名称,也能说清检测、恢复、重建、压缩各自交付什么。组会中的 HPCM 属于 R25 的熵模型,DCVC 属于 R26 的时序编码,LiDAR 与场景压缩可以从 R19、R27 回溯。

一次组会怎样只抓住四件事

第一次听报告,先在笔记纸上留四格:问题、改动、证据、疑问。问题格写输入输出,例如“由已解码帧预测当前帧”;改动格写改变的部件,例如“增加一个条件特征”;证据格写与谁对比、在哪些图片上、使用什么指标;疑问格保留你尚不能连接的一步。报告中的背景、实现和未来设想可能交织出现,先分格可以防止把计划中的结果记成已经验证的结论。

如果只听懂一条公式,也可以问它的单位与边界。一个码率数字是每像素比特还是每秒比特?一个速度是单图前向还是完整编解码?一个“无监督”是否仍使用预训练教师?这些问题不要求你比报告者懂更多,却能帮助你把研究语言落到明确对象上。

组会后不要立刻补完所有名词。挑与本周课程相接的一项,查清一个数据流,把它写成五行文字,再带着具体疑问回看原论文。你现在最有价值的进步,是从“听见很多缩写”变成“能复述一个问题和一条证据”。完成这个目标之后,再判断自己是否喜欢该方向的日常工作。

选方向也可以做一个两周小比较:第一周读恢复章节并检查一组失败重建,第二周读检测章节并标注漏检原因。两周使用相同时间预算,最后比较自己愿意主动追问哪类错误。不要用第一次安装环境的顺利程度代替兴趣判断,环境摩擦与研究问题吸引力是两件事。

R02 监督与自监督表征学习

研究问题:没有人工类别标签,怎样学到有用特征

表征是对输入的一种可计算描述。把图像变成一个向量,向量中保留哪些信息、丢掉哪些变化,决定后续任务是否容易。监督学习用人工类别直接规定哪些图像应相近;自监督学习则从数据构造预测任务,例如让同一图像的不同视图相互对应,或根据剩余区域预测被遮住的内容。自监督不是没有监督信号,而是监督目标主要来自数据自身。[ssl_survey]

输入是一批图片,输出可能是每张图的全局向量,也可能是保留空间位置的特征图。训练出的编码器随后用于分类、检索、检测或分割。现有方法的困难在于:预训练任务做得好,不必然代表下游任务好;模型可能学会利用简单纹理或拍摄背景,而没有保留真正需要的因素。研究必须把预训练损失与迁移评价分开。

必要基础:相似性是人为选择

先复习 L05 神经网络、L08 过拟合、L14 熵与概率模型。向量点积衡量方向一致程度与长度,余弦相似度先除以各自长度,使整体放大不直接提高得分。给定非零向量 u、v,cos(u,v)=uᵀv/(‖u‖‖v‖)。这只是几何定义,并不天然知道“猫”是什么。

设一张猫图有向量 (1,0),另一裁剪图是 (0.8,0.6),狗图是 (0,1)。猫与裁剪图的余弦为零点八,猫与狗为零。这个例子只演示距离计算,现实模型的坐标不是人手指定的“猫轴”。训练目标通过许多样本逐渐塑造几何关系,而关系是否有用要靠下游检验。

数据增强也在表达假设。水平翻转通常不改变猫的类别,但可能改变文字或交通标志的含义;去色可以鼓励形状识别,也可能抹掉医学染色和遥感光谱信息。选择增强不是随意增加难度,而是在声明哪些变化应该保持语义不变。

方法直觉与细分路线

对比学习把同一对象的两个视图作为正对,其他样本作为负对,学习拉近与推远。重建方法遮住部分信息,让模型预测缺失内容;预测必须利用可见上下文,才能避免直接复制。教师学生方法让一个网络追随另一个网络的输出,依靠中心化、温度、停止梯度或其他结构避免所有图片得到同一向量。不同路线解决的共同难题,是既学到稳定性又避免丢光信息。[simclr][moco][mae][dinov2]

必须区分不变性与等变性。不变性指输入变化后表示不变;等变性指表示以可预知的方式变化。分类可能希望物体平移后类别表示不变,分割则需要预测位置跟着平移。若预训练把所有位置信息都消掉,后续密集预测就很难恢复。因此不存在对全部任务都最佳的一种“压缩到语义”的程度。

经典演进:从比较样本到预测缺失信息

SimCLR 将增强、编码器、投影头和对比损失拆开做系统研究,适合学习如何做消融。MoCo 用动量编码器与队列维护负样本,缓解字典大小与当前批量的耦合。MAE 借助遮挡与非对称编码解码,使编码器只处理可见图块。DINOv2 展示数据整理和规模化自监督训练对通用视觉特征的价值;它不是“去掉标签就自然学会一切”的证明。[simclr][moco][mae][dinov2]

这些路线的名字容易让人误以为后一种彻底淘汰前一种。实际比较需要说明输出是全局还是密集特征、是否允许微调、训练图像和步数是否相当。一个适合线性分类的表示,未必在小目标定位上占优;一个重建模型的画面更漂亮,也未必让分类头更容易训练。

精读一:SimCLR 的消融怎样回答机制问题

读第二节和图二,把两条增强分支画出来。编码器 f 产生 h,投影头 g 产生 z,对比损失作用在 z 上;迁移时通常使用 h。两张增强图共享编码器参数,并不是两个独立分类器。损失用温度调整相似度的竞争强度;温度越小,得分差异越被放大,但不能据此推出训练越好。[simclr]

单个正对的损失可写为 −log[exp(sim(zᵢ,zⱼ)/τ)/Σₖ≠ᵢ exp(sim(zᵢ,zₖ)/τ)]。分母排除自己,包含配对视图和其他视图。先用两张原图生成四个视图,在纸上列出一个锚点的正负关系,再看实现,能避免把自己的相似度放进分母造成作弊。

实验重点读图五的增强组合与图八的投影头对照。它们在 ImageNet 线性评价协议下隔离特定组件,支持“增强组合和投影头影响迁移表示”的判断。表三还考察变换信息在 h 与 z 中的保留差别。限制是同批中的其他图像可能实际上语义相同,构成假负样本;强增强也可能破坏目标。不要把论文在大批量训练中的收益直接移植成6GB 显存的配置建议。

精读二:MAE 为何要遮住很多图块

读第三节、图一和表一。图像分成图块后随机移除较大部分,编码器仅看可见图块;轻量解码器接收编码特征及带位置的遮挡标记,预测被遮区域的像素。遮挡标记主要进入解码器,是其计算节约的关键。位置编码仍须保留原位置,否则模型不知道可见块来自哪里。[mae]

设图像分成一百九十六块,保留四十九块,编码器处理的序列明显缩短。仅从注意力矩阵大小看,四十九的平方是一百九十六平方的十六分之一;这不是整网加速十六倍,因为投影、前馈、解码和读数据都耗时。把局部复杂度推导和实测端到端速度分开,是读效率论文的基本功。

表一比较解码器、遮挡方式和重建目标,同时报告微调与线性探测。两种协议对某些设计的响应不同,说明“表示好”依赖评价接口。重建可见位置不是其学习重点,训练目标主要在遮挡位置计算。限制是重建像素可能偏重低层统计,长训练和较大编码器仍有成本;重建图合理也不证明未观察区域被准确恢复。

进阶:塌缩与线性探测

如果所有输入都输出同一个单位向量,正对相似度达到最大,但负对也同样相似。对比损失中的竞争会惩罚这种解;没有负样本的方案则必须有其他防塌缩机制。不能简单删除分母,再期待训练目标不变。

线性探测冻结编码器,仅优化 W、b,使 p(y|x)=softmax(Wf(x)+b)。它测量标签能否容易从固定表示中读取。全面微调允许 f 改变,测的是适应后的系统能力。比较两者时,输入预处理、特征层、归一化、优化器与训练时长都需要固定。

# 伪代码:编码器冻结,分类头训练
features = encoder(images).detach()
logits = linear_head(features)
loss = cross_entropy(logits, labels)
loss.backward()

冻结不只是不更新参数,还要考虑批量归一化统计量和训练模式。若编码器偷偷根据测试批更新统计,它就不是原先声明的固定特征评价。

练习与答案

理解题一:为什么强裁剪不总是好增强?理解题二:MAE 的低重建误差能直接证明分类能力强吗?理解题三:线性探测与全面微调能否把准确率放在同一列比较?论文对比练习:各写出 SimCLR 与 MAE 的监督信号、训练时被隐藏的信息、迁移时保留的组件。

小实验设计:固定一批训练图片,比较“只翻转”与“翻转加去色”两种增强的冻结特征分类结果。训练验证划分先确定,预训练步数和分类头配方一致,记录每类结果;如果没有预训练条件,先检查增强前后人工标签是否仍然成立,不虚构模型结论。

提示与参考答案

第一题的关键是语义是否还在:一张鸟图只裁到树枝,正对假设就可能失败。第二题不成立,像素预测与类别可分性是不同目标,需要独立下游评价。第三题可以展示,但必须分列标明协议,不能把差异全部解释为表征质量。

SimCLR 隐藏的是原图与另一随机视图之间的具体变化,用配对关系学习,保留编码器;MAE 隐藏图块,用缺失像素作为目标,通常保留编码器做迁移。对比实验若去色损害红绿类别区分,应解释为增强假设与任务冲突,而不是笼统宣称自监督无效。

选方向与阅读路线

适合本科生的入口是冻结特征分析、增强审查和小数据迁移,而不是从零训练大型基础模型。你会经常做数据清理、特征可视化、分类头调参、不同协议的对照。6GB 显存可以尝试小模型或提取特征,完整大规模预训练需要另行预算。这是基于工作流程的分析,不是论文保证。

先读综述的任务分类部分,再按 SimCLR 图二、增强消融、投影头消融的顺序阅读;MAE 先画图块数量,再读重建损失。若不懂 softmax,返回 L05;若分不清概率与对数损失,返回 L14。完成标准:能自己构造一次正负样本关系,能解释为什么解码器更强不必然意味着表征更好。组会若讨论共享特征、预训练或下游任务压缩,可以用本章追问保留的信息是否与目标一致。

阅读工作坊:画出哪些信息被保留

取一张包含物体、背景和文字的图片,分别设想分类、分割、检索三个下游任务。分类可能需要物体形状,分割还需要边界位置,检索可能需要文字与关系。现在逐项检查裁剪、旋转、去色与模糊:哪种变化仍保留任务标签,哪种可能让标签失效?这张检查表就是增强设计的起点,不需要先写一行训练代码。

接着为同一编码器选三层特征:较浅的空间特征、最后的全局特征、投影后的向量。分别记录形状、感受范围和是否经过池化。池化把许多空间位置合并后,后续分类很方便,但位置细节可能不再容易读取。投影头训练时有效,不表示它输出的每一维都适合所有下游任务,这正是 SimCLR 消融值得逐步阅读的原因。

最后把“表示迁移好”拆成四种检查:少量标签是否能读取类别,密集头是否能读取位置,数据扰动后特征是否稳定,新域中错误是否集中在某些类别。结果不一致时,不急着选一个指标代表全部能力,而是回到监督目标分析保留和舍弃的信息。你会发现,自监督研究的核心并不是把人工标签从代码里删掉,而是设计一个可促进迁移的信息约束。

代码调试时先跑四张图的小批次,逐个打印增强图、正对索引和分数矩阵。若训练损失异常快地接近零,检查两个视图是否实际相同、文件名是否泄漏标签,以及正负样本是否错误混排。先查这些信息路径,再增加模型规模,能节省大量无效训练。

R03 数据、评价与可信实验

研究问题:一个提高的数字能说明什么

可信实验的输入不只是图片,还包括数据划分、随机种子、训练配方、评价程序和算力预算;输出不只是一个分数,而是一条有适用范围的证据。你要回答的是“在这些固定条件下,改变这个因素带来了什么”,而不是“我能不能找到一次好看的运行”。本章使用作者课程的训练和评价讲义作为导览,以校准和分布变化两篇论文研究具体问题。[cs231n][calibration][wilds]

设你把同一个人的十张连续照片随机分进训练和测试。模型可能通过衣服、背景或脸部记住这个人,在测试中获得高分。如果部署时面对全新的人,这种划分就高估了能力。没有哪种划分对全部问题通用:预测同一对象未来状态与识别新对象,本来就是不同任务。先写部署情境,再决定按图片、对象、时间、机构或地理区域分组。

必要基础:训练、验证、测试各做什么

回到 L06 验证与保存、L18 独立测试 和 L23 公平比较。训练集用来拟合参数;验证集用于选择超参数、停止轮次、阈值和校准;测试集留给最后的评价。如果反复看测试分数选择配置,测试信息已经进入决策链,即使没有对测试图片反向传播,也发生了信息泄漏。

把泄漏想成一条信息路径更容易发现问题。全数据计算归一化均值、按全数据选择特征、先切出重叠小块再随机分组,都可能跨越训练测试边界。预训练权重也应注明来源。对于网页教程的小例子,可以承认简化;对于正式报告,应明确哪些信息可见,不能依靠“大家都这么做”省略协议。

一个数值例子:平均值掩盖了什么

两个场景各有一百张图。方法甲在场景一正确九十张、场景二正确五十张,整体准确率百分之七十;方法乙分别正确八十和七十张,整体百分之七十五。如果以后场景一占九成,甲的预期准确率变成百分之八十六,乙变成百分之七十九。排名变化不是计算出错,而是目标分布变了。

因此应同时报告样本数、分组结果、聚合方式。宏平均先算每组再平均,微平均把样本合并后计算,两者回答不同问题。压缩实验也有同样问题:逐图 PSNR 平均与先合并平方误差再计算 PSNR 不完全一样;逐图 bpp 平均与总比特除以总像素在不同尺寸图上也不同。报告中写出聚合公式,读者才能复核。

细分路线与方法演进

实验设计关注划分与控制变量;统计评价关注波动、置信区间和样本依赖;校准研究预测概率与真实频率是否匹配;分布变化研究训练和部署不一致时的表现;鲁棒性还区分自然损坏与刻意构造的扰动。它们相互关联,却不能用一个“稳定性分数”替代。[calibration][imagenet_c][ensembles][wilds]

模型准确率不断提高,并没有自动解决概率过度自信。温度缩放提供简单的事后校准途径;ImageNet-C 将常见图像损坏组织成标准测试;深度集成用多个模型的预测表达不确定性;WILDS 进一步把真实机构、时间或群体变化纳入基准。新的特征模型如 DINOv2 仍然需要沿这些协议评价,规模不能免除证据要求。[calibration][imagenet_c][ensembles][wilds][dinov2]

精读一:准确不等于校准

读 Guo 等人的第二节、可靠性图和第四节温度缩放。若模型对一百个样本都报零点九的置信度,其中只有七十个正确,就表现为过度自信。准确率只计对错,校准则比较相同置信水平下的实际频率。把预测分桶后,ECE 以各桶样本占比加权置信度与准确率的差距。分桶方式会影响数值,不能只报一个 ECE 而不说明设置。[calibration]

温度缩放把 logits z 变成 z/T,T 是在独立验证集上拟合的正标量。正温度不会改变最大 logit 的类别,因此同样的输入通常保持 top-1 预测,却改变概率的尖锐程度。读表一时注意它比较的是校准误差,不是声称分类准确率随温度自动提高。

论文通过多个视觉和语言模型说明该方法在其评价条件下有效。它的边界同样明确:验证分布不代表未来分布时,校准可能失效;全局温度也无法修复所有类别或群体的误差结构。这篇论文适合你的第一个小研究,因为可以冻结模型,只检查概率与评价协议,不必先发明新网络。

精读二:WILDS 如何把部署差异写进数据集

先读图一、数据集构建原则,再选择一个与你兴趣相关的实例。每条数据除了输入 x 和目标 y,还带域 d,例如医院、拍摄地点或地区。域泛化设置在测试时使用训练没见过的域;子群比例变化可能保留同类域,却改变相对比例。这两个问题需要不同的划分与聚合方式。[wilds]

论文汇集多种真实分布变化,定义训练、验证、测试划分和适合任务的指标,并对经验风险最小化及若干稳健训练方法进行比较。主要证据不是“有一个万能算法”,而是标准训练表现与分布外表现之间存在值得系统研究的差距,而且某些专门方法并不在所有任务上稳定胜出。

精读时把选中数据集的元数据、划分依据、主指标写成三行。只说“用了 WILDS”远远不够,因为不同子集的任务不同。局限是任何基准只覆盖有限变化;真实世界的新设备、新人群和极端事件可能仍然超出它。数据集名应成为可复核协议的入口,而不是可靠性的标签。

进阶:不确定性、重复运行与配对比较

随机种子控制初始化、数据打乱和增强采样的一部分来源,但不能自动消除设备算子差异。重复运行时应记录每个种子,而不是只保留最好一次。两种方法在同一批测试对象上比较,可以计算每个对象的指标差,再观察差值分布;这通常比把两个无关平均值相减更直接。

若同一病人的多张切片或同一视频的多帧高度相关,不能把它们当作同等数量的独立对象来估计置信区间。重采样单位应与独立采集单位一致,例如按病人抽样,再带上其全部切片。样本数很少时应保留原始逐项结果,让读者看到波动,不强行给出过于精确的小数。

# 伪代码:先比较同一对象,再汇总
difference = score_method_b - score_method_a
mean_change = difference.mean()
negative_cases = object_ids[difference < 0]

还要检验结果是否超出测量噪声。计时先预热,明确批量、分辨率、同步点、是否含磁盘读取;重复记录中位数和分位数。只改善平均时间却增加最坏延迟,可能不适合实时应用。

从零写一份可信实验协议

第一步写预先假设,例如“去掉去色增强能改善依赖颜色的类别”。第二步选唯一变化项,固定编码器、数据、步数与分类头。第三步在验证集选择配置,冻结后运行测试。第四步保存命令、依赖、图片标识、原始预测与计算指标的程序。第五步展示失败样本和可能的替代解释。这样即使结果没有提高,你也能交付一条有价值的否定证据。

比较需要合理预算:相同训练轮数不一定相同计算量,相同参数量也不一定相同延迟。按什么公平取决于问题,是固定时间寻找最佳精度,还是固定模型测试模块价值。最稳妥的方法是明确主比较条件,再报告其他成本,而不是声称所有方面完全公平。

练习、提示与解释

理解题一:使用测试集选择早停轮次算不算泄漏?理解题二:温度缩放后准确率不变,为什么仍有价值?理解题三:两组样本量不同,宏平均和微平均分别强调什么?论文对比:校准论文与 WILDS 的假设边界有何区别?

小实验设计:运行 X01 的对象划分实验,为随机样本划分和对象独立划分分别记录正确率、重叠对象数与适用情境。选做 X12,在不改变预测类别的前提下调整概率,观察概率指标变化。

参考答案

第一题算,测试表现参与了模型选择。第二题中概率用于决策阈值、人工复核和风险排序,可靠的置信度可以改善这些环节,但不保证部署安全。第三题宏平均让每组权重相同,微平均让样本多的组权重大;应根据目标人口或应用分布选择,最好同时展示分组值。

校准论文主要检验给定评价分布上的概率质量;WILDS 将训练测试分布差异作为核心变量。不能因为模型在原验证集上完成温度校准,就断言它在新医院也校准。X01 的高分若伴随对象重叠,只能支持较窄的记忆或已见对象推广结论。

选方向与阅读路线

评价研究适合算力有限却愿意细致检查数据的本科生。日常工作包括元数据整理、错误分析、协议实现、重复运行和可视化;难点往往在统计假设与数据质量,而非训练规模。不要把“只做评价”理解成简单,能发现一个普遍错误的比较协议,本身就可能形成扎实问题。

先用三十分钟读作者课程的训练验证划分,随后读校准论文图一和温度公式,再挑 WILDS 的一个子集详细记录协议。过关标准是别人只根据你的记录就能复算指标,并知道结论不能推广到哪里。组会里听到消融、BD-rate、实时或泛化时,先记下固定条件和测量边界,比立即判断谁的分数最好更重要。

从失败结果写出可讨论的报告

假设你改了一个模块,平均指标只提高很少,而且三个随机种子的结果有升有降。报告仍然可以很完整:先列每次原始结果,再说明差异小于或接近运行波动;随后检查哪些样本改善、哪些退化;最后提出一个更窄的解释,例如纹理丰富图片受益,但平滑图片没有变化。这样的结论比从十次运行中只挑最好一次更能指导下一步。

另一个常见情况是速度提高了,质量下降了。不要只挑有利的一列:画出质量与时间的共同变化,说明用户约束是固定延迟还是固定质量。如果新方法在目标区间内更合适,即使不是所有指标都最好,也可能有价值。反过来,一个只在不实际使用的区间获益的方法,需要如实说明适用边界。

所有报告都应区分观察、解释和下一步。观察是实际输出的数字与样本;解释是你对机制的假设;下一步是区分解释与替代解释的实验。比如“边缘误差减少”是观察,“模型学会几何”是更强解释,需要额外证据。这个写作习惯会让你的组会汇报更清楚,也能避免把自己尚未证实的猜想反复当事实引用。

运行记录不是越长越好。保留一条可以重跑的命令、数据与权重标识、唯一变量、原始结果文件和环境即可;把大段终端日志作为附件。下一位同学应能找到证据的入口,而不必从几千行输出猜测最终使用了哪次配置。

R04 图像分类

图像分类:从局部结构到可迁移表征

1.研究问题与任务边界

图像分类把一幅图像映射到类别。设输入 x 的形状为 C×H×W,输出是 K 个类别的分数,再归一化为概率。单标签任务假设图像只有一个目标类别;多标签任务允许“人、车、道路”同时存在,通常分别预测每类的存在概率。分类不提供精确位置,也不能仅凭概率最高的类判断图中是否出现训练集以外的对象。研究前先写清标签意味着“主体是什么”还是“出现过什么”,否则模型错误可能其实来自任务定义不一致。[szeliski]

分类也是视觉研究的基础实验平台:新的网络可以先在分类任务中研究特征提取,再迁移到检测、分割和恢复。今天值得学习的不是背诵排行榜,而是理解网络的空间结构、训练目标和数据规模怎样共同影响表征。分类准确率高,并不自动意味着模型懂几何、能定位异常或具有可靠置信度。[resnet][vit]

2.必要基础与方法直觉

先复习 L05 的网络、L07 的卷积和 L08 的训练/验证区别。卷积让同一个小滤波器在不同位置寻找相同图案,形成局部性与权重共享:第一层能响应边缘,深层逐步组合更复杂的特征。“归纳偏置”就是结构预先鼓励哪种规律,不是额外的标签。卷积适合局部结构重复出现的图像,但有限感受野也限制了远距离交互。[szeliski]

Transformer 将图像块变为向量,通过内容相关的权重混合信息。一个位置不再只接收固定邻域,而可从其他位置取信息。不过注意力并不天然知道左右上下:位置编码把空间坐标补给网络。两类网络都不是按人类规则逐步识别物体,它们通过训练调整数值变换;看到注意力图也不能直接把亮区解释为可靠的因果证据。[vit]

3.一个可以手算的例子

三类分数为 [2,1,0],softmax 概率约为 [0.665,0.245,0.090]。真实类别是第一类时,交叉熵 −ln(0.665)≈0.408;真实类别是第三类时约为 2.408。模型即使给错答案,也能从连续损失得到改正方向。训练时把原始分数交给交叉熵接口,不先做一次 softmax 再重复归一化。

对 32×32 RGB 图像使用 8×8 图像块,会得到 16 个块,每块展开为 192 维。如果投影到 64 维,再加一个分类向量,序列形状为 17×64。单头注意力权重是 17×17,而不是 64×64。若把图像长宽都扩大一倍,图像块数量变为四倍,完整注意力矩阵元素约变为十六倍;这解释了高分辨率训练为什么很快消耗显存。[vit]

4.细分路线与经典演进

一条路线研究结构:怎样在参数、计算量与空间建模能力之间取舍;另一条研究训练:增强、优化、标签设计和正则化;还有一条研究迁移:学习到的特征是否能服务其他数据和任务。先判断论文改的是哪一条,再看结果,不要把训练配方更新全算成新模块的贡献。[convnext]

演进可以这样记:ResNet 用残差连接改善深层网络优化;ViT 用图像块序列研究通用注意力结构;ConvNeXt 重新整理卷积设计与现代训练配方,提醒我们结构比较必须控制训练条件;DINOv2 则把关注点推向无需任务标签的大规模表征学习。它们不是同一赛道的四次替代,而是对“结构、训练、数据、目标”不同组合的探索。[resnet][vit][convnext][dinov2]

5.论文精读 A:ResNet

先看图 2 的残差单元。若希望学习 H(x),可以让分支学习 F(x)=H(x)−x,再计算 x+F(x)。当理想变换接近恒等映射,学习较小修正可能比重新构造整个映射容易。输入输出形状不同,捷径也必须投影或补维;不能把任意两个张量直接相加。原文的残差相加之后还有激活,阅读时别把后来变体混进原始结构。[resnet]

关键证据在第 4.1 节和图 4:作者比较普通网络与残差网络的训练、验证曲线。更深普通网络的训练误差也变差,因此问题不能简单归因于过拟合。残差连接改善这一优化现象,再使深度收益成为可能。表 2 的同架构对照比最后的竞赛集成成绩更能支持机制;集成、多尺度测试和单模型结果应分别阅读。[resnet]

论文没有证明残差网络永不梯度消失,也没有证明越深越好。计算量、数据、正则化都会影响最终收益。对本科生最有价值的复现实验,是在相同训练预算下记录普通小网络与残差小网络的训练误差,而非在小数据上追赶大模型准确率。这里得到的是某个优化设置的证据,不能直接推广为所有网络的定理。

6.论文精读 B:ViT

图 1 的数据流是图像块、线性投影、位置编码、Transformer、分类头。第 3 节将空间图像变为序列,第 4.3 节则回答结构是否需要更大数据。阅读时尤其关注图 3、图 4:模型大小和预训练数据规模共同变化,卷积与注意力的相对表现也变化。结论是所研究条件下的大规模预训练有利于 ViT,而不是任何小数据任务都应弃用卷积。[vit]

实验使用 ImageNet、ImageNet-21k、JFT 等预训练设置,再在多个识别任务上评估。全量微调与少样本线性评估回答的问题不同,不能混成一个准确率。原文还明确提示训练日程、优化器等会影响效率比较。其局限包括大规模数据与计算依赖、分辨率变化带来的序列成本,以及预训练数据对迁移结果的影响。[vit]

可做一个分辨率诊断:保持图块边长十六,把输入从二百二十四改成四百四十八,图块数从一百九十六变成七百八十四,约为四倍;注意力关系数约为十六倍。实测显存不一定也恰好十六倍,因为参数、激活与其他层占用不同。位置编码也要适配新网格,否则形状通过并不代表空间语义正确。

7.进阶:梯度、计算与代码入口

对 y=x+F(x),链式法则给出 dL/dx=(dL/dy)(I+∂F/∂x)。恒等项提供一条梯度路径,但整个乘积仍受其他层和激活影响。注意力可写为 softmax(QKᵀ/√d)V:先比较,再归一化,最后加权汇总。缩放项控制高维点积的数值尺度,不能理解为“提升相似度”。[resnet][vit]

image -> patches[N, P*P*C] -> projection[N,D]
prepend class token; add position embedding
repeat: tokens += attention(norm(tokens))
        tokens += mlp(norm(tokens))
logits = head(tokens[0])

已核对的 ViT 作者仓库 使用 JAX/Flax;先读模型结构和权重说明,不必为本章额外切换训练框架。自己的 PyTorch 小实验先验证形状、参数更新和保存加载。作者仓库中的预训练配置与基础课练习是两个实验条件,不应写成论文复现。

8.练习、提示与答案

理解题:①多标签任务为什么通常不对所有类做一个 softmax?②训练误差随深度增大而上升一定是过拟合吗?③固定图像块大小,把分辨率翻倍,注意力代价如何变化?提示:分别考虑类别互斥、训练集表现、序列长度。

参考答案

①多个类别可同时为真,逐类 sigmoid 更符合这种标签定义。②不是;应先排查优化、实现和训练预算,过拟合通常表现为训练改善但验证恶化。③长宽翻倍使块数约四倍,完整注意力两两关系约十六倍;投影等计算不全按此比例变化。

对比练习:给 ResNet 与 ViT 各写一句“论文主张—证据—不能推出的结论”。实验设计:固定数据划分、增强、训练步数和三个种子,比较一个普通卷积网及相同宽度的残差版本。提示:同时报告训练曲线与验证曲线,不只报告最好的一次。

参考答案

ResNet 的核心证据是深层普通/残差结构的受控训练对照,不能推出无限加深有益;ViT 的核心证据包含数据规模变化,不能推出小数据从零训练必胜。小实验保存每次训练的最终及最佳验证模型,报告均值、范围、参数与耗时。若改变参数量,应明确这是结构与容量一起变化的比较。

9.选方向:你会做什么

一次实验失败怎样定位

假设训练准确率接近百分之百,验证只有一半。第一步不要立刻换更大的网络,而应抽取训练和验证各十幅图,显示原图、增强后图、真实标签和预测。若验证类别编号和训练相反,问题属于数据接口;若训练集背景与类别强相关,验证背景变化导致失败,问题属于捷径;若训练数据不足而曲线差距持续扩大,才更支持容量或正则化解释。三个情况都可能产生相似数字,却需要完全不同的改动。

再考虑迁移实验:冻结预训练编码器,只训练一个线性分类器,可以较直接检查特征是否已包含任务信息;全量微调允许编码器适应新数据,但结果同时受优化过程影响。若两者差很多,不能仅说“表征差”,还要看微调是否过拟合、学习率是否过大以及分类头是否正确初始化。把线性评估和微调并列记录,会比只留一个最终准确率更有研究价值。对未知类别的识别则需要另设协议,最大 softmax 分数并不是通用的可靠拒识规则。

数学重点是矩阵变换、梯度、概率损失和基本统计。日常科研包括数据清洗、增强策略分析、训练曲线诊断、特征可视化及迁移评估;多数时间不只是画新网络图。小模型和冻结特征实验通常能在现有显卡上进行,大型预训练需要完全不同的资源安排。以下是学习建议:本科切入点可以是固定模型在模糊、缩放、压缩扰动下的错误类型,以及增强是否改善特定失效情况。

10.阅读路线与组会联系

先用 25 分钟复习卷积形状,再用 40 分钟读 ResNet 图 2、图 4 和第 3、4.1 节;能解释训练退化后,再用 50 分钟读 ViT 图 1、图 3 与第 3、4.3 节。最后读 ConvNeXt 的设计对照,列出训练与结构改变项。组会里的编码器也需要表征,但压缩编码器优化的是码率和重建,分类特征则偏向类别不变性;二者可共享积木,却不能直接共享全部评价标准。[convnext]

R05 目标检测

目标检测:在不定数量的对象中做定位与判断

1.研究问题与任务边界

检测输入一幅图像,输出若干类别、矩形框和置信分数。输出数量随图像改变,物体还可能重叠、遮挡或小到只有几像素。分类器只需回答图里有什么,检测器要同时回答在哪里、有几个。一个框通常表示可见区域还是完整物体区域,必须服从数据集标注规范。漏标、密集人群的忽略区域和极小目标规则都会影响评价。[det_survey]

检测研究不仅是换骨干网络。可以改变目标表示、正负样本分配、损失、尺度特征、重复预测处理或计算路径。若部署只允许固定延迟,还要把图像缩放、候选筛选和后处理计入时间。论文里的“实时”只有在输入大小、设备、批大小和计时范围一致时才有比较意义。

2.必要基础与方法直觉

先掌握 L07 的卷积形状与 L29 的注意力。边界框可以表示为角点 (x₁,y₁,x₂,y₂),也可以用中心与宽高。归一化坐标应明确相对于缩放前还是缩放后的图像。最常见的初学错误是裁剪、翻转了图像,却没有同步变换框;训练过程仍会运行,但监督已不正确。

多位置预测会产生很多相似框。传统流程让候选先竞争,再用非极大值抑制 NMS 保留高分框;集合预测则在训练中给每个真实对象分配唯一预测,鼓励各预测槽位分工。二者都要解决“一个对象预测几次”,只是约束发生的位置不同。置信分数也不是框坐标误差的直接度量,类别正确与位置准确需要共同评价。[faster][detr]

3.一个可以手算的例子

两个框 A=[0,0,4,4]、B=[2,0,6,4],各面积 16,交集面积 8,并集面积 24,所以 IoU=1/3。它测量重合比例。若 A 的分数为 0.9、B 为 0.8,NMS 阈值 0.3 会抑制 B,阈值 0.5 会保留 B。两个真正相邻的人也可能高度重合,因此阈值不能凭“越小越干净”选择。

再看一对一匹配:两个真实框和两个预测的代价矩阵为 [[1,2],[2,100]]。逐行贪心先选择代价 1,会留下 100,总和 101;全局匹配选择交叉配对,总和 4。DETR 使用全局二分匹配来分配监督,目的不是让每个预测独立寻找最近目标,而是使整组预测形成一致分工。[detr]

4.细分路线与经典演进

R-CNN 先获得候选区域,再做特征与分类;Faster R-CNN 将候选生成也放入共享特征网络。YOLO 代表直接从图像进行密集位置预测的路线,研究重点包含速度和整体检测流程。DETR 将输出写成集合,通过匹配训练减少手工后处理。DINO 等后续研究进一步改进匹配、查询和训练效率。这里的演进不是所有两阶段方法都被淘汰。[rcnn][faster][yolo][detr][dino_det]

还可以按对象条件细分:小目标需要保留空间细节;旋转目标需要不同框表示;开放词汇检测引入文本类别;弱监督检测减少框标注需求。比较论文前,要先确认其目标是否仍是同一个任务。一个使用额外文本或预训练数据的方法,可以有更强能力,但不能把全部增益归给检测头本身。[det_survey]

5.论文精读 A:Faster R-CNN

图 2 把系统分成共享卷积特征、区域建议网络 RPN 和区域分类回归。第 3.1 节的 anchor 是一组参考框,网络预测它们是否包含对象及如何调整。框回归将中心位移除以参考宽高,对宽高比例取对数,使不同尺度的目标能用较一致的数值范围训练。只对正样本计算目标框回归损失,背景没有对应的真实框。[faster]

关键贡献是让候选生成复用检测所需特征,减少外部候选算法带来的成本。实验不仅报告检测结果,还比较候选数量、共享与不共享特征、anchor 设置。阅读 VOC 表格时注意训练数据一列:只用 VOC 2007 与追加 VOC 2012、COCO 的行不能当成单一结构消融。训练集合和候选规则都是协议的一部分。[faster]

局限从系统结构就能看到:候选筛选和多阶段训练增加实现细节;尺度与长宽比设计影响覆盖;密集对象下后处理会产生取舍。该论文中的 RPN 与后来注意力模块同样涉及“关注区域”,却不是同一种数学运算。不要只因为文章使用 attention 的比喻就把 RPN 解释成 Transformer。

6.论文精读 B:DETR

先读图 1、图 2,再读第 3.1 节。CNN 提取特征,Transformer 编码图像;若干可学习查询并行输出类别与框。没有匹配到真实对象的槽位学习“无对象”。匈牙利算法先求低代价的一对一分配,然后对选定配对计算分类、L1 和广义 IoU 损失。用于匹配的代价与最终反向传播的损失并非每一项都完全相同。[detr]

实验在 COCO 上比较增强后的 Faster R-CNN 基线,并按小、中、大对象分析。原始 DETR 对大对象的表现较强,但小对象较弱,训练日程也较长。这些限制推动了后续多尺度和加速收敛工作。图 4 的逐解码层分析说明重复预测会随着层间交互变化,不能把“无需 NMS”误解为任何未训练的查询都会自然分工。[detr]

理解其贡献需要保持两点:集合损失约束输出分工,注意力提供查询之间及查询与图像之间的信息交互。只加 Transformer 而保留任意监督规则,不自动得到相同性质;固定查询数也限制了单图能输出的候选上限。对大规模训练的依赖需要在本科实验计划中明确写出。

错误诊断可以先冻结分类,只研究框位置。设一个真实框被两个高置信预测覆盖,其中一个匹配成功,另一个通常成为重复误检;不能把两个都计作召回增加。再固定坐标改变分数顺序,观察精确率召回率曲线变化,便能理解为什么相同的一组框也可能有不同平均精度。最后把漏检分成没有候选、分类错误和定位不足三类,避免所有失败都归因于骨干不够强。小目标还要记录缩放后到底剩几个像素:若预处理已把目标压成一点,检测头很难恢复边界。

7.进阶:匹配与代码入口

设真实集合为 {(cᵢ,bᵢ)},预测为 {(pⱼ,b̂ⱼ)}。先最小化配对总代价,得到排列 σ,再训练匹配的类别与坐标。匹配算法本身不需要在离散配对之间求导,梯度通过当前被选中的预测损失传播。广义 IoU 加入包围区域信息,有助于普通 IoU 在不相交框之间无法区分距离的问题。[detr]

features = backbone(image)
predictions = decoder(queries, features)
pairs = minimum_cost_matching(predictions, targets)
loss = class_loss(all_slots) + box_loss(matched_slots)
loss.backward()

DETR 官方仓库 已核对,先沿模型、匹配器、损失函数和后处理四条路径阅读。现在只要求用两个框重现匹配和 IoU,小显存上跑一次低分辨率推理也必须注明所用权重与输入大小。完整 COCO 训练不是这一章的过关条件。

8.练习、提示与答案

理解题:①同一真实对象被三个高分框命中,通常能算三个真阳性吗?②归一化框宽为 0.2,图像宽为 500,对应多少像素?③为什么只报告 AP50 可能掩盖定位缺陷?提示:考虑一对一评价、坐标比例和重合阈值。

参考答案

①不能,标准检测评价会匹配目标,重复命中通常计为额外误检。②宽为 100 像素,还需检查该 500 是否属于对应预处理阶段。③较宽松的重合阈值容许粗框,更严格阈值才能检验精细定位;也不能把 AP50 和跨阈值平均 AP 混写。

对比练习:解释 Faster R-CNN 与 DETR 怎样决定哪个预测学习哪个真实框。实验设计:实现手算例子的 NMS,再在合成的两个重叠对象上扫阈值。分级提示:先计算成对 IoU,再按分数排序,最后分别统计漏检与重复预测。

参考答案

Faster R-CNN 的候选/anchor 分配主要依据预定匹配规则,多个候选可为同一目标提供监督;DETR 强调预测集合的一对一全局匹配。阈值实验固定框与分数,仅改变 NMS 阈值。报告保留索引和对象覆盖,而不是凭输出框少就宣布结果更好;这只检验后处理机制,不能替代真实检测器评测。

9.选方向:你会做什么

把错误拆开看

设模型没有报告路边一辆远处自行车。先在预处理后的图像上查看它还剩多少像素:缩小输入可能已经抹掉结构;若候选中存在好框但被分数阈值删掉,问题在分类或阈值;若好框被另一个对象的框抑制,问题在后处理;若所有候选都偏离位置,才重点研究特征与回归。保存后处理之前的框有助于区分这些来源,只保存最后一张带框图片通常不足以做诊断。

置信排序也会改变平均精度。假设两幅图中各有一个目标,模型同时产生两个正确框和一个错误框。如果错误框排第一,精确率曲线会比错误框排最后更差,尽管最终框集合相同。因此“检测到两个目标”并没有完整描述模型。报告应写清分数阈值、最多保留框数、类别匹配和 IoU 协议。小目标结果还受到图像缩放策略影响,不同输入分辨率的对照需要同时报告速度和显存,而不能将更大的输入当作免费提升。

数学需求集中在几何坐标、损失、匹配和评价统计。日常工作常是追查漏检、检查标注、设计尺度采样和分析延迟。已有模型推理及小数据微调较适合入门;从零训练强检测器与大规模开放词汇模型资源要求高。教学建议是从一种明确失效开始,例如压缩后小目标漏检,而不是同时改骨干、损失与增强,使实验失去可解释性。

10.阅读路线与组会联系

用 30 分钟读检测综述的任务分类与两阶段/单阶段脉络;用 45 分钟读 Faster R-CNN 第 3 节及共享特征对照;再用 60 分钟读 DETR 第 3、4.2 节。完成 X02 的 IoU/NMS 实验后,应能解释标签分配与评价匹配的区别。组会里“面向机器的压缩”可以用检测作为下游任务:画质提升未必意味着 AP 提升,要固定检测器和评价设置再考察码率。[det_survey]

R06 语义、实例与全景分割

语义、实例与全景分割:给像素赋予结构

1.研究问题与任务边界

分割要求比边界框更精细的空间答案。语义分割给每个像素一个类别,同类对象不区分身份;实例分割为每个可数对象给出独立掩码;全景分割同时描述人、车等可数对象和道路、天空等区域,并组织成不重叠的整体解释。两个人都被正确标为“人”,并不意味着实例分割正确,因为他们可能被合成一个实例。[seg_survey]

任务边界还取决于输出是否需要提示。用户给一点或一个框后得到掩码,与模型自行发现所有类别、所有对象是不同设置。SAM 等提示分割模型扩大了可交互使用范围,但输出掩码本身不等于给出了任意语义名称,也不等于无需针对目标数据评估。医学细胞边界、自然场景语义和视频目标跟随各有不同标注与评价条件。[sam][sam2]

2.必要基础与方法直觉

复习 L07 的下采样、L10 的编码器解码器和 L29 的注意力。深层特征有较大感受野,但空间分辨率降低;浅层特征保留边缘,却不一定知道边缘属于哪个对象。编码器解码器试图让语义和定位重新结合,跳跃连接将浅层信息送到上采样分支。连接前要核对形状,拼接增加通道数,相加则要求通道对齐。[unet]

另一种直觉是先建立若干“区域代表向量”,每个向量负责一个掩码及类别。高分辨率像素特征与区域向量交互,产生整块区域的归属。与逐像素独立分类相比,这种表示更容易表达实例,但仍要解决区域重复、漏检及类别匹配。分割的挑战不是仅把分类网络输出放大,而是同时保持语义一致和边界准确。[mask2former]

3.一个可以手算的例子

真实前景为 8 个像素,预测前景为 10 个,其中 6 个相交。IoU=6/(8+10−6)=0.5;Dice=2×6/(8+10)=2/3。这两个数测量相同对象的不同重合函数,不能混报。若背景有 982 个像素,一个全部预测背景的模型仍可能获得很高像素准确率,却完全没有发现前景。

再假设两个大小相同且相邻的细胞,被模型连接成一个连通区域。语义前景几乎全对,实例计数却从二变一。这说明类别损失和边界分离的重要性不同。标注中极窄的一条背景分隔线,像素数虽少,却可能决定拓扑关系;局部像素误差不能完整表达这种结构后果。[unet]

4.细分路线与经典演进

FCN 将分类网络改成密集预测,使不同空间位置共享计算。U-Net 通过对称上采样与跳跃连接强化精细定位;Mask R-CNN 结合检测框与区域掩码;Mask2Former 使用掩码分类形式连接语义、实例和全景任务。SAM、SAM2 的提示和视频记忆又提出新的交互条件。理解它们应从输出格式和监督方式出发,不应只按网络大小排序。[fcn][unet][maskrcnn][mask2former][sam][sam2]

研究子问题包括小对象、边界、弱标注、跨域、视频一致性和交互效率。不同问题对应不同评价:语义分割常看类别平均 IoU;实例分割需要考虑置信排序和掩码匹配;全景指标同时受到分割质量与识别质量影响。最先要做的是把标签转换和忽略值处理检查正确,否则再精巧的模型也会被错误监督拖偏。[seg_survey]

5.论文精读 A:U-Net

图 1 的 U 形结构由收缩路径和扩张路径组成。原始实现使用不补零卷积,特征会缩小,因此跳跃连接需要裁剪对齐;今天常见的同尺寸变体不能原样当作论文结构。作者还采用重叠切块处理大图,使显存限制不必强迫整幅图降分辨率。对小目标而言,这种系统安排可能与网络结构同样重要。[unet]

第 3 节的弹性形变增强反映了组织形态的先验,第 3 节加权损失则强调相邻细胞之间的窄边界。实验包括电子显微镜神经结构与显微细胞分割,使用挑战赛定义的评价。它支持“小量标注结合合适结构与增强可以有效学习”,不能推出任何领域只需少量样本,更不能把原文的挑战赛误差直接当作现代自然场景 mIoU。[unet]

理解这篇论文要把结构、增强、权重图、切块推理看成完整系统。若研究跳跃连接,应固定其他条件再移除连接;若同时换图像分辨率和增强,无法知道哪项导致边界变化。其局限包括像素标注成本、领域特定增强的有效范围,以及复杂实例关系还需额外建模。

6.论文精读 B:Mask2Former

第 3.1 节先把任务写成 N 个掩码及其类别;图 2 再展示骨干、像素解码器与查询解码器。关键的 masked attention 使用上一层预测掩码限制查询关注的区域,避免每次都在全图寻找对应区域。注意这里的掩码是模型当前预测,不是测试时偷偷使用真实标签。[mask2former]

第 3.2 节使用多尺度特征轮换,帮助兼顾分辨率与计算。第 3.3 节用采样点计算掩码损失来降低训练显存。第 4 节分别在 COCO、ADE20K 等数据设置中研究不同任务,并通过消融分析设计。作者报告小对象仍有改进空间,这提醒我们统一任务形式并不自动消除分辨率瓶颈。[mask2former]

论文中的“通用”主要指同一架构可用于多种分割任务,不应误读为一个任意权重无需调整就理解所有数据集。其使用高分辨率像素特征和查询的计算成本,仍与输入大小、骨干和训练设置有关;论文给出的单图显存数字也不能直接保证你的整套训练在 6GB 显卡上运行。

边界诊断可用一张只有方形前景的合成标签:平移预测一个像素,分别计算大方形与小方形的交并比。小区域受同样位移影响更大,所以整体指标下降不一定说明类别识别变差,也可能只是上采样或裁剪偏移。把标签用最近邻插值,图像用合适的连续插值,再核查忽略区域;不能让标签插值制造不存在的类别编号。

7.进阶:损失、掩码与代码入口

像素交叉熵鼓励正确类别概率,Dice 损失强调区域重合。软 Dice 的常见形式是 1−(2Σpᵢyᵢ+ε)/(Σpᵢ+Σyᵢ+ε),其中 ε 防止空集合分母为零;具体实现可能使用平方项,复现必须照所选版本。类别平均 IoU 应先按类累计混淆量,再按协议平均,不能随意将每个批次的均值再平均。

Mask2Former 的注意力可以写成 softmax(QKᵀ+M)V,允许位置的 M 为 0,禁止位置为负无穷。实现时要处理某个查询全部被遮住的情况,否则 softmax 可能出现无效值。下列是机制示意,不是作者完整实现。[mask2former]

mask = predict(query, pixel_features)
allowed = resize(mask).sigmoid() > threshold
query = masked_cross_attention(query, features, allowed)
query = self_attention(query)

原论文提供 U-Net 作者项目页 和 Mask2Former 作者项目页。本章核查的是论文方法;进入项目页后先核对仓库版本及许可,未在这里声称已运行这些完整实现。

8.练习、提示与答案

理解题:①为什么像素准确率可能误导?②语义分割正确是否保证实例分割正确?③把真实掩码用于测试时的注意力限制是否公平?提示:考虑背景比例、身份和可用信息。

参考答案

①大背景会掩盖少数前景失败,应结合逐类 IoU 和前景结果。②不保证,同类实例可以被错误合并。③通常不公平,除非任务明确把该掩码作为输入;标准自动分割推理只能依赖图像与模型自己的中间预测。

对比练习:比较 U-Net 的跳跃连接与 Mask2Former 的掩码注意力各自传递什么信息。实验设计:生成两个逐渐靠近的圆形实例,固定前景面积,考察“合并一像素桥”对像素 IoU 和实例数量的不同影响。

参考答案

跳跃连接提供对应分辨率的空间细节;掩码注意力根据预测区域限制查询的信息读取。圆形实验保存语义掩码与实例编号两套标签,分别计算重合和连通对象数,改变间距而不改绘制半径。连通域计数只是教学代理,并非完整实例 AP,但能直观展示拓扑错误。

9.选方向:你会做什么

从预测图发现接口错误

掩码通常保存为整数类别编号,不是普通照片。把标签用双线性插值缩放,会在边界制造不存在的中间类别;离散标签一般使用最近邻,连续概率图才适合相应的平滑插值。裁剪、翻转必须对图像与掩码使用同一几何变换。颜色映射只是显示工具,同一个编号可以被显示成不同颜色,不能把彩色可视化文件直接当训练编号。训练前检查唯一标签值和图像对齐,比先看损失有没有下降更可靠。

切块推理也值得做独立实验。若每块没有足够邻域,卷积边界附近的预测会不稳定,拼回大图就出现网格接缝。可以给输入块加重叠区域,只保留中央有效输出,或在重叠位置按固定权重融合概率,再做类别决策。比较两种策略应保持模型、块大小和整图尺度不变,记录边界区域与内部区域误差。融合可能改善接缝,却不会凭空找回已被下采样删除的细胞;这正好区分系统拼接问题与信息分辨率问题。

数学重点是概率损失、图像采样和匹配,几何基础帮助理解边界。日常研究通常包含标注审查、数据增强、跨域验证、错误区域可视化及显存管理。小型 U-Net 的训练容易形成完整实验闭环,医学数据则还需要正确的病例级划分与使用许可。作为本科探索建议,可先研究裁剪尺寸、边界损失或压缩伪影对细小结构的影响,每次只改变一项。

10.阅读路线与组会联系

先读综述的任务定义,再用 50 分钟读 U-Net 图 1、第 3、4 节,手画每层形状。随后用 60 分钟读 Mask2Former 第 3 节及三类任务的评价设置。组会中的医学图像和面向机器编码都可能关心细小结构:码率相同的两张图,平均 PSNR 接近,细胞分界却可能不同。此时必须直接评价对应分割任务,并说明训练集、压缩器与分割器是否联合调整。[seg_survey]

R07 光流与目标跟踪

光流与目标跟踪:从像素位移到身份连续性

1.两个问题,共用时间却不共用答案

光流输入相邻两帧 I₁、I₂,输出每个像素的二维位移 f=(u,v)。它回答某个可见图像位置下一刻移到哪里,通常不输出类别。多目标跟踪输入视频,输出每帧的框及跨帧一致的身份编号;它回答同一个人或车辆如何持续出现。编号没有语义,第七号并不表示第七类。一个行人内部可以有很多不同光流向量,却只需要一个跟踪身份。[raft][bytetrack]

这里的“运动”也不等于三维物理速度。镜头转动会让静止背景产生光流;远处快速移动的车可能只有很小像素位移。只有结合标定、深度和时间间隔,才能进一步解释真实速度。遮挡区域甚至没有下一帧可见对应点,不能要求模型凭两幅图恢复不存在的证据。先复习张量与坐标、卷积和时序建模,把帧号、秒、像素三种单位分开。

2.先手算一次位移和关联

第一帧的位置是 (10,20),第二帧对应点为 (13,18),则光流是 (3,−2)。若预测为 (2,−2),端点误差 EPE=√((3−2)²+(−2+2)²)=1 像素。这不是两个位置之间的距离,而是预测位移与真实位移之差。把图像长宽都缩小一半,位移分量也要除以二;只缩放图像不缩放标签会直接破坏监督。

跟踪再多一步决策。已有轨迹预测位置附近出现一个分数为 0.35 的框,高分阈值是 0.6。如果每帧直接删除低分框,遮挡中的同一个人会突然消失;若它与已有轨迹重叠合理,则可用于延续身份。但是一个远处孤立的低分框仍可能是误检,不应仅因分数低就自动生成轨迹。ByteTrack 的重要思想正是区分“延续已有身份”和“确认一个新对象”。[bytetrack]

亮度恒常只是出发点

理想情况下 I₁(x,y)≈I₂(x+u,y+v),即同一个点的亮度大致不变。小位移下线性展开得到 Iₓu+Iᵧv+Iₜ≈0,但这里只有一个方程、两个未知量;沿着直边滑动通常无法确定完整位移,这叫孔径问题。邻域约束和学习到的特征能提供额外信息,却不能取消反光、透明、遮挡带来的歧义。数值优化课里的正则化,在这里具体表现为我们愿意相信哪些运动场更合理。

3.路线与演进:匹配、更新、关联

光流路线可按监督来源分为带真值训练、自监督重建和跨域适应,也可按计算路径分为直接回归、粗到细估计与迭代更新。FlowNet 展示了学习式光流的可行性;RAFT 把重点放在全对相关和共享更新器。粗到细可以降低大位移搜索难度,但早期丢失的小物体未必能在后面找回来。RAFT 保持一个固定分辨率的流估计,用多尺度相关查询提供搜索范围。[flownet][raft]

跟踪有检测后关联、联合检测跟踪、查询传播等路线。SORT 说明运动预测与框匹配可以构成有效基线;ByteTrack 研究低分检测的利用,未要求每个对象都用复杂外观特征。视频分割中的 SAM 2 还可以传播对象掩码,但掩码传播、自动多目标发现和长期身份维护并不是同一任务。选路线时必须先决定是否已给首帧对象、是否允许未来帧、是否需要新对象自动出现。[sort][bytetrack][sam2]

4.精读 RAFT:先建匹配证据,再反复修正

精读原文第 3.1—3.4 节、图 1—2、式 1 与式 7,缓存 PDF 第 5—9 页。编码器把两帧变为较低分辨率特征,每个第一帧位置与所有第二帧位置做内积,得到四维相关体 Cᵢⱼₖₗ=〈g₁(i,j),g₂(k,l)〉。四维来自两组二维坐标,并不意味着视频有四个空间维度。相关金字塔只池化目标侧坐标,保留源位置索引,因此每个源点始终有自己的匹配证据。[raft]

更新器从当前匹配位置附近查询多尺度相关,再结合第一帧上下文和隐藏状态,预测一个增量。共享的卷积 GRU 重复使用,而不是每步另造网络。网络内部流场仍在较低空间分辨率上,最后学习上采样;“保持高分辨率估计”是相对粗到细级联而言,不能误读成每一步都直接计算原图所有像素。监督对多次预测加权:L=Σᵢγᴺ⁻ⁱ‖fᵢ−f真‖₁,较后迭代权重较大。

实验阅读第 4 节,PDF 第 9—12 页。论文分别讨论合成数据训练后的跨数据集表现和目标数据集微调后的测试结果,Sintel 的 clean、final 渲染也要分开。KITTI 的异常像素比例与 Sintel 的 EPE 不是同一指标。支持更新器设计的证据包括相关计算、更新次数和组件的消融,而不仅是最终榜单。局限是全对相关存储随特征位置数平方增长,遮挡与重复纹理仍困难;论文提供按需相关的计算思路,但不同实现的速度和显存取舍必须实测。

5.精读 ByteTrack:低置信不等于无用

读第 3 节算法 1,PDF 第 3—4 页;算法分高低分检测,先匹配高分框,再用剩余轨迹匹配低分框。第二轮主要恢复被遮挡对象,不能把所有低分检测无条件接受。卡尔曼滤波预测的框只是运动假设,检测框才提供当前观测。实现中的丢失轨迹缓冲、重新出现及新轨迹确认,应与主算法一起读。[bytetrack]

证据在第 4 节、表 1—4 和附录,PDF 第 5—10 页。作者在 MOT17 训练视频前后半段构造训练/验证划分进行消融,主测试还使用额外训练数据及 private detector 协议。对照关联方法时关注是否共享检测结果;MOTA 更受漏检误检影响,IDF1 更强调身份连续,HOTA 同时考察检测与关联,不能拿一个指标代替全部质量。

一个很有价值的限制藏在跨域实验:BDD100K 中相机运动使简单运动预测变得不可靠,外观信息作用增加。另一个边界在附录的轨迹插值:利用前后两个端点补全中间缺失框,需要未来信息。报告带插值的离线结果时,不能直接宣称它代表在线系统当时就能输出同样完整轨迹。原文还说明 MOT17 全身框与其他数据集裁剪框的标注差异;这是复现中比“再加一个模块”更应先检查的地方。

6.进阶:从迭代到可运行的最小检查

RAFT 的形式 fₖ₊₁=fₖ+Δfₖ 类似优化迭代,但更新方向由网络学出,并不是某个已知能量函数的精确负梯度。增加迭代次数不自动保证单调改善。跟踪的关联代价也不是“相似就连接”:还要执行一对一匹配,防止两个旧身份争抢同一个检测。研究这两类方法,需要区分连续估计误差和离散决策错误。

features1, features2 = encode(frame1), encode(frame2)
correlations = all_pairs(features1, features2)
flow, hidden = zeros(), initialize_context(frame1)
repeat K times:
    evidence = lookup(correlations, flow)
    hidden, delta = update(hidden, evidence, flow)
    flow = flow + delta
for each video frame:
    high, low = split(detector(frame))
    matched, remaining = associate(predict(tracks), high)
    recovered = associate(remaining, low)
    update_tracks(matched, recovered)

已核对的RAFT 作者仓库和ByteTrack 作者仓库适合分别追踪相关查询与两轮关联。先用小图、两三帧检查坐标,再运行完整视频;先记录检测数量、匹配数量、丢失数量,避免最后只看到一个身份指标却不知道哪里开始出错。

关联诊断应保留每次匹配的代价矩阵,而不只画最终轨迹。假设两个行人在交叉前后框位置接近,单靠重叠度会产生两个近似同样好的配对。此时提高检测置信阈值并不能解决身份歧义,反而可能删去遮挡中的真实框。可以固定检测结果,比较有无第二轮低分关联,单独统计补回的正确轨迹和新引入的错误关联;再按遮挡长度分组,判断收益出现在哪些条件。若使用离线插值,另报在线版本,才能区分当时可用证据与事后补全的贡献。

7.练习与提示答案

理解题:①把视频每隔两帧取一帧,位移一定翻倍吗?②没有类别的光流能直接产生稳定行人身份吗?③为什么 ByteTrack 第二轮不让所有低分框建立新轨迹?提示:考虑变速和遮挡、对象定义、误检传播。

参考答案

①匀速且对应点可见时近似翻倍,真实视频不保证这些条件。②不能,密集对应不自带对象分组与长期身份,需要额外检测、分割和关联。③低分框中误检更多,与已有轨迹的一致性提供筛选依据;直接新增会积累大量假身份。

比较练习:分别列出 RAFT 的状态和 ByteTrack 的状态,说明哪个变化是像素位移、哪个变化是轨迹生命周期。实验设计:固定一组检测输出,仅改变低分框是否参与第二轮关联,并把片段分为无遮挡、部分遮挡和大相机运动。每组记录漏检、身份切换及身份指标,另列运行时间。

实验提示

RAFT 状态含流场与隐藏特征;跟踪状态含框、身份、运动估计和存活记录。对照实验不能同时更换检测器,否则无法归因低分关联。对遮挡段逐帧画出误连接,比只看平均分更能判断机制是否奏效。禁止把同一长视频相邻片段随机散到训练测试中后宣称跨场景泛化。

8.方向选择、阅读安排与组会联系

这个方向适合愿意研究坐标、运动和连续失败案例的人。基础重点是线性代数、插值、概率状态估计与优化;日常工作包括逐帧检查标签、可视化流场、排查匹配断点和维护视频解码流程。普通显卡可做预训练推理与固定检测的关联实验,高清稠密匹配的显存要求更高,完整光流训练还需要合成数据和较长训练预算。本科入口可选压缩失真如何影响弱纹理光流,或检测置信度变化怎样造成轨迹断裂。

阅读顺序是先画位移箭头,再读 RAFT 图 2 和式 1,再追踪 ByteTrack 算法中的一条丢失轨迹,最后读实验协议和插值附录。与组会视频压缩联系时,注意运动补偿通常优化重建与码率,光流基准优化对应误差,跟踪优化身份。更准确的光流未必产生更低码率:需要同时计算运动表示成本、残差和重建效果,才能说明它对压缩系统真正有用。

R08 动作识别

动作识别:时间信息到底帮助了什么

1.问题、输入输出与先修

动作识别通常输入一段已裁剪视频,输出动作类别或每类分数。输入形状可写成 B×C×T×H×W,其中 T 是采样帧数,不一定等于原视频帧数。它与时序定位不同:分类只要判断片段发生什么,不必指出动作起止秒数;它也不同于预测未来,因为识别可以使用整个给定片段。遇到一段同时有人做饭、有人说话的视频,还要明确标签是单标签还是多标签。[video_survey]

先复习卷积、训练与验证和注意力。进入视频时,最值得新增的概念是采样协议:多少帧、帧间隔多大、覆盖多少秒、测试几个片段。两个网络都输入十六帧,可能一个看半秒、另一个看整段十秒;这会改变它们能观察到的证据,因此“相同帧数”还不足以称为公平比较。

动作也不是物体标签的简单扩展。只看一张带泳池背景的图,模型可能猜中“游泳”,却分不清向前爬和倒退爬。研究时间建模之前,应先检查静态图像能完成多少任务。背景捷径越强,整体准确率越难单独证明网络学会了运动规律。

2.直觉、手算与两个时间尺度

假设原视频每秒三十帧,连续取十六帧,首尾相隔十五个帧间隔,覆盖约半秒;每隔四帧取一次,首尾相隔六十帧,约两秒。采样更稀能够看到更长过程,却可能漏掉短暂接触或快速转向。长时间覆盖与细粒度运动不能仅靠“增加间隔”同时获得,这正是多时间尺度方法的动机。

二维卷积核有 C入×C出×k高×k宽 个权重。若加入长度为三的时间核,朴素三维卷积权重约为原来的三倍,激活还随视频长度增长。把三张相同图像作为视频,一个二维滤波器响应为六,若把它复制到三个时间位置而不缩放,响应会变成十八;每份权重除以三,内部位置的响应才仍是六。I3D 的膨胀初始化正利用了这个简单的线性事实。[i3d]

另一种做法把视频切成时空块。例如八帧、每帧四乘四个空间块,若两帧合成一个时空块,则一共六十四个 token。遮蔽百分之九十后,编码器只看很少的可见块,再通过轻量解码器重建缺失内容。这个练习说明减少编码器 token 能大幅节省计算,但没有说明重建最漂亮的模型一定最会识别动作。[videomae]

3.路线和经典演进

双流方法分别看 RGB 外观与预先计算的光流,然后融合判断;它把“场景长什么样”和“图像怎样动”分开建模。I3D 把二维网络扩展为三维,让卷积直接沿时间提取结构,同时保留双流思想。SlowFast 用慢路径提取较丰富的空间语义、快路径捕捉密集时间变化,回答如何分配计算预算。这里的快慢是采样和网络配置,不是给动作预先贴“快动作”或“慢动作”标签。[two_stream][i3d][slowfast]

VideoMAE 将重点转向没有动作标签的预训练,利用遮蔽重建学习视频表征;VideoMAE V2 进一步研究扩展规模和计算效率。还可以按数据形式研究第一视角、多标签活动、细粒度手部交互或跨域识别。选择这些分支之前,应写出实际错误:是单帧已经足够却过拟合背景,还是关键时间顺序缺失,还是不同拍摄设备导致外观变化。不同错误需要不同实验,不必都归结为模型容量不足。[videomae][videomae2]

4.精读 I3D:把图像经验带入视频

读第 2.4 节及图 3,缓存 PDF 第 4—5 页。核心是把二维滤波器和池化操作扩展时间轴,利用预训练图像网络初始化三维网络。对静态重复视频,复制并归一化时间权重可保持响应,这是初始化的设计原则;训练后不同时间位置的权重可以变得不同,模型才可能辨别时间模式。把初始化讲成“对多帧做平均后分类”,就遗漏了后续可学习的时间结构。[i3d]

实验读第 4—5 节与表 1—5,PDF 第 5—8 页。表 1 先交代每种架构的训练和测试帧数,随后比较 ImageNet 初始化、Kinetics 预训练和向 UCF101、HMDB51 迁移的结果。仅看最终迁移成绩,会同时混入更大训练数据、更长时间窗口和不同分辨率等因素。论文自己讨论了这些可能原因,因此不应把所有提升归功于“使用三维卷积”四个字。

更好的读法是依次问:同一个 I3D 加入图像预训练发生什么?RGB 与光流分别有多大贡献?冻结特征和全量微调是否都改善?作者在不同数据集观察到两条流的相对作用不同,说明动作标签与拍摄分布影响运动信息的价值。局限则是光流预计算有额外成本,短片分类无法直接解决长视频定位,较密集输入也增加解码、存储和训练开销。

5.精读 VideoMAE:为什么要遮得这么多

阅读第 3.2—3.3 节和图 1—2,PDF 第 4—5 页。视频相邻帧高度相关,若每帧独立随机遮蔽,一个被遮住的静态区域可能在邻帧原样可见,重建就过于容易。管状遮蔽让同一空间位置沿时间共享遮蔽图,降低这种简单复制机会。论文结合很高的遮蔽比例,让编码器从少量可见内容推断时空结构;这不是宣称任意视频都具有固定的冗余比例。[videomae]

重建损失只在遮蔽位置计算,可概括为 L=|M|⁻¹Σᵢ∈M‖预测块ᵢ−目标块ᵢ‖²。学习目标是产生有用编码器,解码器是预训练助手,动作微调时可以丢弃它。若训练时仍把被遮蔽块的真实像素输入编码器,即使损失下降很快,也已经改变了问题。

实验重点是第 4 节、表 1—4 和图 3—4,PDF 第 6—8 页。表 1 在指定十六帧 ViT-B、预训练日程及测试多片段多裁剪协议下比较遮蔽方式;同一设置下,SSV2 的管状百分之九十遮蔽优于表中的逐帧和普通随机方案。这才是支持设计的直接证据。表 2 的各数据集内预训练与表 4 的 Kinetics 跨数据集迁移回答不同问题,不能把两张表拼成一个“无需额外数据”的结论。

局限也很具体:高遮蔽降低的是预训练编码器成本,微调与测试仍可能需要完整 token;像素重建可能关注外观而非动作因果;预训练数据的领域匹配与数据数量同样重要。原文在 SSV2 的数据规模实验分别控制训练轮数和迭代预算,说明计算预算必须显式记录。数据高效不等于普通电脑可以轻松重现完整预训练。

6.进阶推导与实践入口

固定空间网格有 N 个位置,时间块数为 T,全局时空注意力涉及 (TN)² 对关系。可见比例为 r 时,编码器注意力矩阵约为 r²(TN)²,但解码器和其他计算并不全部按 r² 缩减。不要拿理论注意力减少量当作整套训练加速比;视频读取、增强和主机到显卡传输也可能成为瓶颈。

frames = sample(video, count=T, stride=s)
tubes = patchify(frames)
mask = one_spatial_mask_shared_across_time()
visible = tubes[not mask]
encoded = encoder(visible)
predicted = decoder(encoded, mask_positions)
loss = mse(predicted[mask], tubes[mask])
after_pretraining: replace_decoder_with_action_head()

已核对的I3D 作者仓库与VideoMAE 作者仓库提供模型和推理/训练说明。第一次实践宜从预训练推理开始,保存实际采样帧的拼图,确认动作发生在可见窗口里。否则模型没看见关键动作时,调学习率不会弥补输入证据缺失。

最小时间诊断是保持同一组帧,分别采用原顺序、倒序和随机顺序推理。若开门与关门这样的方向性动作输出完全相同,应进一步检查采样是否覆盖完整过程,模型是否依赖门的外观而非时间变化。这个实验不能单独证明模型没有时序能力,但能暴露当前标签和输入条件下的捷径。

7.练习、对照与实验设计

理解题:①两段视频都取十六帧,为什么时间信息仍不同?②I3D 的初始化为什么除以时间核长度?③管状遮蔽比每帧独立遮蔽阻止了哪种容易的解法?提示:考虑采样跨度、静态重复输入、相邻帧相同区域。

参考答案

①帧率、采样间隔与窗口位置都影响覆盖过程。②避免重复时间滤波器把静态响应放大,保留图像网络初始化的尺度。③相同空间位置不会在相邻帧直接暴露,降低通过复制对应区域恢复被遮蔽像素的机会;大幅运动仍可能提供其他对应线索。

比较练习:I3D 和 VideoMAE 分别把哪种先验写进方法?设计实验比较原顺序、逆序和打乱顺序的输入,同时固定帧集合、模型权重和空间裁剪。选一组方向敏感动作及一组背景明显的动作,分别记录结果,不只合并求平均。

实验提示

I3D 利用局部时空结构与图像初始化,VideoMAE 利用视频冗余和遮蔽难度。逆序并不保持所有动作标签,例如打开变为关闭,因此先人工核对标签语义。若打乱顺序影响很小,只能说明该评估对顺序依赖弱,不能据此证明模型完全没有时间能力。可补一个单帧基线区分背景贡献。

8.方向选择与阅读路线

日常研究经常处理视频解码、采样、类别混淆、预训练迁移与计算预算。适合愿意把一个视频反复慢放、检查动作到底在哪些帧发生的学生。数学重点是张量运算、卷积感受野、注意力复杂度和实验统计。单卡可做小模型微调或冻结特征,完整自监督预训练需要更多时间、显存与存储带宽。本科入口可以研究固定特征下采样策略、顺序扰动或压缩对细微动作的影响。

建议先用半小时画 I3D 的膨胀核,再读 VideoMAE 图 2 解释“偷看邻帧”,最后逐项抄写表 1 的实验条件。组会讨论视频压缩时,动作识别提供任务效用指标:同样像素失真,手部接触瞬间的错误可能比静止背景更影响动作判断。但应在固定识别器、固定采样和固定码率下测试,不能把识别准确率变化直接当作编码器感知质量的完整评价。

R09 时序定位与长视频理解

时序定位与长视频理解:把答案放回时间轴

1.问题不是给整段视频起一个名字

时序动作定位输入未裁剪视频,输出若干起始时间、结束时间、类别和分数。文本时刻定位还输入一句查询,例如“找到人把杯子放进柜子的片段”,输出与句子对应的时间区间。长视频问答则可能输出文本答案,需要跨片段记忆事件。三者共享视频表征,却具有不同监督和评价,不能因为都使用 Transformer 就混为一种任务。[video_survey][actionformer][internvideo2]

复习评价与实验、注意力、时序建模。最关键的新增知识是时间坐标的映射:原视频秒数、解码帧号、采样片段号、特征索引并不相同。若每个特征覆盖一小段视频,网络输出某个索引后必须乘以步长并加上窗口偏移,才能回到真实时间。遗漏偏移会让局部预测看似正确,整段定位却系统性错位。

2.直觉与可手算例子

真实动作发生在第十秒到第二十秒,预测第十二秒到第二十二秒。时间交并比 tIoU=8/12≈0.667,在阈值 0.5 下可匹配,在阈值 0.75 下失败。类别完全正确仍可能因为边界粗糙被判为错误;把“拿起杯子”的准备阶段算不算动作,也取决于数据集标注规则。先看标注示例,再解释边界误差。

若特征时间点 t=15,预测到起点距离为五、到终点距离为八,那么区间是 [10,23]。距离必须是非负的,并且单位一致。这样的中心点与左右距离表示避免枚举所有起止组合。长度为一千的序列,所有起止组合约有五十万种;逐点预测再筛选把问题变成更可管理的局部决策,但同一个动作可能由多个点重复提出,仍需后处理。

长视频还有“覆盖”和“分辨率”的冲突。用十六帧概括一小时视频,平均间隔很长,短暂事件可能完全没被采到。增加语言模型参数不能恢复从未进入输入的画面。可以先做粗检索再局部密集读取,但要分别测粗检索召回率和精定位质量,否则第二阶段的强模型会掩盖第一阶段漏掉的证据。

3.细分路线与方法演进

检测式路线先提候选再分类,或直接在每个时间位置预测类别和边界;弱监督路线只有整段类别,缺少精确起止标注;查询式路线用自然语言指定要找什么。长视频还可以研究事件摘要、跨段问答、流式记忆和在线动作检测。离线方法能看未来,在线方法必须只依赖当前及历史,两者不应直接比较识别延迟。[actionformer]

从双流与 SlowFast 到 ActionFormer,可以看到“提取短片特征”和“在长序列定位”逐渐拆成两个模块。InternVideo2、VideoMAE V2 则关注更强预训练视频表征,为不同下游头提供输入。一个定位结果改善,可能来自特征、定位头或额外训练数据;把它们分开对照,才能知道研究贡献在哪里。对初学者,冻结特征训练一个小时序头往往比同时训练全系统更容易诊断。[two_stream][slowfast][videomae2][internvideo2]

4.精读 ActionFormer:局部注意力如何覆盖长动作

精读第 3 节、图 2、式 2—7,缓存 PDF 第 4—9 页。方法先接收短片特征序列,用卷积投影,再构建多尺度时间金字塔。每层使用局部自注意力,共享分类头和回归头输出类别概率与左右边界距离。较粗层的一个位置覆盖原视频更长范围,因此同样大小的局部窗口也能表示较长动作。局部注意力并不意味着模型永远只看到最短窗口。[actionformer]

训练中分类使用 focal loss 应对大量背景,边界回归只对正位置计算,还限制正样本靠近动作中心。若把所有背景也强迫回归到某个边界,监督就不再符合原任务。推理时多个位置产生候选,Soft-NMS 降低高度重合候选分数。原文默认不额外加入位置编码,不能因此说网络没有顺序信息:一维卷积、局部邻域、下采样和边界距离都带着时间结构。

实验读第 4 节、表 1—2 及消融,PDF 第 9—13 页。THUMOS14 报告多个阈值及 0.3 到 0.7 的平均 mAP,ActivityNet 使用 0.5 到 0.95 的阈值组,两个平均数字不可直接解释为哪个数据集“提高更多”。论文明确承认比较方法可能使用不同视频特征;在 ActivityNet 还结合外部分类结果。因此支持定位头的证据应优先来自相同特征下对照,以及窗口、金字塔、中心采样的消融。

局限是特征提取阶段已经丢掉的信息难以被下游恢复,特征步长限制短动作边界精度;局部结构对极长依赖需要更粗层或其他记忆补充。它也是类别给定的动作定位系统,并不能单凭原分类头回答任意开放式问题。研究者应把“边界准确”和“语义开放性”当作两个不同目标。

5.精读 InternVideo2:一个名字背后有三种阶段

读第 3 节、图 2—3,PDF 第 3—6 页。第一阶段用图像与视频专家特征提供监督,学习视频编码器;第二阶段对齐视频、音频、语音和文本;第三阶段连接语言模型进行指令学习和文本生成。这些阶段得到的模型适合不同评估,论文中的 s1、s2、s3 标记不是可忽略的后缀。原文第一阶段的 token 重建主要对齐教师表征,也不能直接等同于 VideoMAE 的像素重建。[internvideo2]

第二阶段可从对比学习理解:匹配视频和文本的相似度应该高于不匹配组合。简化损失为 −log(exp(s正/τ)/Σⱼexp(sⱼ/τ))。温度 τ 调节分布尖锐程度;同一视频可能有多种正确描述,批内其他文本也可能语义相近,因此所谓负样本并不总是绝对错误。第三阶段生成答案则优化下一个 token,流畅回答本身不能保证每句话都有视频证据。

实验重点读第 5.1.2、5.2.2 与第 5.4 节,PDF 第 8—13 页。时序动作定位使用 ActionFormer 作为头,文本时刻定位使用另一专门定位头;这些结果展示编码器在固定任务框架下的能力,不是语言聊天界面的直接定位准确率。表 7 中还区分是否融合光流,表 11 则使用查询定位指标。读定性问答图时,必须回到系统性评测,不能把几个成功示例当作总体可靠性证明。

局限至少有三层:大规模多阶段训练需要显著算力;网页视频与自动字幕可能引入噪声和偏差;稀疏采帧限制计数、先后关系和短事件的可见性。论文的某些细粒度任务并不随模型规模稳定增长,这提醒我们容量不是数据分辨率与标注质量的替代品。用预训练权重做本科实验与复现完整训练,应在报告中明确区分。

6.进阶:把长视频拆成可检查的数据流

设第 k 个特征的中心时刻为 a+kΔ,模型预测特征单位的左右距离 d左、d右,则实际起止为 a+(k−d左)Δ 与 a+(k+d右)Δ。边界映射的偏移 a 必须包含滑窗起点与特征中心定义。设计一个只含单个已知动作的合成时间轴,可以先验证单位换算,不必立刻加载真实视频。

for window in overlapping_video_windows:
    clips = sample_with_timestamps(window)
    features = frozen_video_encoder(clips)
    pyramid = temporal_encoder(features)
    candidates = predict_classes_and_distances(pyramid)
    candidates = convert_to_global_seconds(candidates)
merge_candidates_from_all_windows()
evaluate_by_class_and_temporal_iou()

已核对的ActionFormer 作者仓库与InternVideo2 作者目录可帮助对照特征和任务头。建议先阅读配置中的特征步长、最大长度和测试处理,再看模型层数。实际工程里,长视频开销也包含解码与特征缓存,不应只计一维检测头的前向时间。

可把一次十秒动作故意放在滑窗交界处,检查两个窗口各自预测后如何合并。若直接拼接,可能把同一事件输出两次;若过强去重,又可能吞掉紧邻的两次动作。记录窗口内坐标、视频绝对坐标及去重前候选,有助于判断错误来自时间换算、边界回归还是后处理。

7.理解题、比较和实验

理解题:①分类对而 tIoU 不足,为什么仍是错?②不加位置编码是否等于没有时间顺序?③InternVideo2 的定位表为什么不能直接证明聊天答案可靠?提示:分别区分任务要求、结构来源和评估系统。

参考答案

①定位要求类别与时间同时满足。②不等于,卷积、局部窗口与采样结构都保留顺序。③定位结果来自特定阶段特征与专用头;聊天经过语言模型生成,需要另行检查答案是否有帧证据及是否出现幻觉。

比较练习:用“输入、可学习部分、输出、评价”四句话区分 ActionFormer 与 InternVideo2 的时序定位实验。实验设计:固定编码器,对同一验证集分别使用细、粗两种特征步长,按动作长度分组比较 mAP,并检查窗口边缘事件。

实验提示

前者主要研究时间定位模型,后者相关实验主要检验视频特征在该定位头上的作用。较粗步长可能节省存储却损害短动作,不能只报告整体平均分。保持训练划分、标签、后处理与时间换算一致;如果重新采样改变了片段内容,要记录这也是实验变量。窗口边缘单独分组可发现上下文缺失和重复合并错误。

8.方向选择、日常研究与组会联系

这个方向适合愿意做长序列数据管理、标注规则分析和系统拆解的人。基础包括序列建模、检索、概率损失与检测评价;日常工作常是检查时间戳、缓存特征、看边界错误和审核问答证据。冻结特征后的定位头实验通常适合单卡,长视频大模型训练则需要更高资源。本科可从特征步长、时间压缩、窗口边界或错误摘要入手,先提出可测的问题,再考虑新结构。

阅读顺序是先算一个 tIoU,再读 ActionFormer 图 2,接着完整追踪一种数据集的特征提取到评价流程,最后读 InternVideo2 三阶段图和对应下游表。组会的学习式视频压缩可借此研究“哪些片段必须保留更多信息”:码率平均分配未必保住短暂关键事件。但任务自适应编码应同时报告码率、重建与定位效用,并保留通用质量检查,避免只让一个识别器得分好却损坏其他使用场景。

第三次组会衔接:先检查候选召回,再优化选择器

一个两秒的事件可能被十秒间隔的初始采样完全跳过。此时选择器的排序准确率再高也无从补救。把系统拆成候选生成、预算分配、编码、回答四段,分别记录时间和错误。测试时固定查询集合并禁止使用答案选帧;离线检索与流式记忆应分开评价。预算不仅是帧数,还包括分辨率、token 数和记忆构建成本。 [m03_flash]

这段为教学分析;对应原论文机制与阅读边界见第三次组会专题。用自己的话写出输入、输出和一项可控制的变量,再进入专题练习。

R10 去噪与去模糊

去噪与去模糊:恢复问题中的数据与先验

1.从退化观测推回图像

去噪输入含噪图像 y,输出估计的干净图像 x;去模糊输入曝光过程中混合了空间信息的图像,输出清晰估计。最简单的模型分别是 y=x+n 和 y=k∗x+n,其中 n 是噪声,k 是模糊核,∗ 表示卷积。现实相机还包含裁剪、去马赛克、压缩和非线性响应,因此一个公式是受控实验的假设,不能直接覆盖所有手机照片。[ir_survey]

“盲恢复”表示某些退化参数未知,例如不知道噪声强度或模糊核;不表示完全没有假设。去噪模型通常仍依赖训练时见过的噪声类型,去模糊模型也可能只适用于某类运动。先复习L09 图像评价、L11 卷积自编码器训练和L18 独立测试,尤其要理解输出尺寸一样并不代表信息没有丢失。许多不同的清晰图可以生成相似的模糊观测。

本章精读 DnCNN 和 Deep Image Prior,分别代表从数据学习恢复映射与利用单幅观测优化网络。它们并不覆盖全部去模糊技术,而是提供理解恢复问题的两种基础视角。学会区分信息来自训练集、当前观测、网络结构还是人工规则,是读现代恢复论文的共同入口。

2.可以手算的噪声与模糊

真实像素为 0.6,噪声为 −0.1,观测就是 0.5。若网络预测噪声 −0.08,恢复值为 0.5−(−0.08)=0.58。这里残差可能为负,最后一层若强制 ReLU,就无法表达所有噪声。对于归一化图像,八位像素尺度的噪声标准差二十五应换成 25/255;直接加上二十五会毁掉整个输入范围。

再看两个相邻像素的平均:清晰信号 [0,1] 和 [0.4,0.6] 的均值都是 0.5。若只保留平均,无法唯一知道原来是哪一对。去模糊不能单靠“做反卷积”自动找回消失细节,需要额外先验,例如边缘稀疏、重复纹理或学习到的自然图像统计。先验强可以产生清楚图像,也可能产生错误细节,所以视觉锐利与内容忠实必须分开判断。

PSNR=10log₁₀(MAX²/MSE)。当 MAX=1,MSE 从 0.01 降到 0.005,PSNR 约从二十分贝变为二十三分贝。这个提升来自平方误差减半,不意味着所有纹理都更自然。评价还要约定颜色空间、有效区域、是否裁边和数值范围,尤其不能拿八位尺度的误差直接代入 MAX=1。

3.细分路线与经典演进

传统方法通过局部平滑、非局部相似或显式正则化恢复图像;监督网络用大量退化/干净配对训练快速前向映射。DnCNN 说明预测噪声残差可以有效组织这种学习。DIP 则表明即使没有外部训练集,卷积生成器的结构与优化轨迹也能构成先验。两者解决的不是“是否用神经网络”,而是先验如何进入求解过程。[dncnn][dip]

更近的结构路线包括 Restormer 对高分辨率恢复中的注意力效率设计,以及 NAFNet 对恢复基线结构的简化。还有自监督去噪、非盲去卷积、空间变化运动模糊、联合去噪去模糊等分支。Retinexformer 把照明与腐蚀恢复联系起来,说明真实退化常常同时出现。方法名称相近不代表数据协议相同:合成高斯噪声、真实传感器噪声和运动模糊应该分别列出测试。[restormer][nafnet][retinexformer]

4.精读 DnCNN:把目标改成噪声残差

阅读第 III 节、图 1—2,缓存 PDF 第 3—6 页。网络输入 y,预测 Rθ(y)≈y−x,再输出 y−Rθ(y)。目标可写为 L=Σ‖Rθ(yᵢ)−(yᵢ−xᵢ)‖²/(2N)。第一层卷积加激活,中间层卷积、批归一化、激活,最后线性卷积输出残差。这里不是每个卷积块都有 ResNet 式捷径,原文明确区分了这两种“残差学习”。[dncnn]

图 2 用残差学习和批归一化的不同组合做训练对照,比仅看最终去噪示例更能解释作者的设计依据。论文给出了当时对归一化作用的分析,但不能把其中的解释直接上升为所有任务都适用的定理。现代恢复模型有时不用批归一化;是否需要它取决于数据、结构和训练,不能照着经典论文机械添加。

实验读第 IV 节、表 II—V,PDF 第 6—11 页。DnCNN-S 是特定噪声水平模型,DnCNN-B 在一定高斯噪声范围内训练;多退化 DnCNN-3 又是另一设置。BSD68 的高斯去噪、超分辨率和 JPEG 去块各有数据集和协议,不能把它们合成一个总体“恢复准确率”。表 II 中的收益支持所测试高斯模型下的去噪效果,不能直接证明对真实相机噪声同样有效。

局限可从正文讨论中读出:重复规律纹理上非局部方法仍有优势,残差网络可能把微弱细节当成噪声;训练分布以外的条纹、色斑或信号相关噪声需要另测。对本科生最有价值的复现是固定同一批噪声样本,分别观察平坦区、边缘和纹理区,而不只是平均 PSNR。

5.精读 Deep Image Prior:不预训练,也要优化

本地缓存是扩展全文版,阅读第 2 节、图 2—4,PDF 第 3—5 页;去噪与技术细节见第 3.1 和第 4 节,PDF 第 5—7、14 页。固定一个随机输入 z,从随机网络参数开始,优化 θ 使 fθ(z) 经过退化后接近观测。去噪时目标可直接写为 ‖fθ(z)−y‖²。网络参数每张图重新优化,所以“无外部训练数据”不等于“不训练”或“只前向一次”。[dip]

核心图 4 比较拟合自然图、带噪自然图、打乱图和随机噪声的优化曲线,显示结构与优化对不同信号存在偏好。图 3 进一步区分两种情况:超分辨率有许多都符合观测的解;去噪若彻底拟合观测,则噪声也被复制。早期轨迹可能经过较好的图像,继续迭代却变差,这使停止时机成为方法的一部分。

实验看第 3.1 节与图 6—7,PDF 第 6—7 页。正文还区分单次输出、迭代平均和多次运行平均;这些估计器不是同一个配置。比较时必须记录优化步数、网络结构、输入扰动和输出平均策略。原文的 JPEG 示例清楚展示后期过拟合,因此不能用对观测的训练损失最低来选最佳恢复结果。

主要局限是逐图优化慢、停止规则困难、结构偏好不总匹配细纹理。若学习演示使用干净真值选最好迭代,可以把它称为“有真值辅助观察的上限”,但正式未知图像恢复不能偷偷使用干净真值停表。DIP 也不能保证自动推断任意未知模糊核:若把它用于已知模糊恢复,数据项应明确包含前向模糊算子。

6.进阶:统一成数据一致性与先验

设前向算子 A 已知,常见目标是 minₓ‖Ax−y‖²+λR(x)。第一项问恢复图能否解释观测,第二项规定我们偏好什么图。DIP 改成 minθ‖Afθ(z)−y‖²,把先验部分放进参数化与优化过程。监督网络则学习从许多 y 到 x 的映射。两者都要面对模型不匹配:若真实模糊不是假设的 A,训练损失很好也可能恢复错误。

# supervised residual denoising
clean = sample_training_image()
noisy = clean + sampled_noise()
loss = mse(denoiser(noisy), noisy - clean)
# single-image deep prior
z = fixed_random_tensor()
for step in planned_budget:
    estimate = generator(z)
    loss = mse(forward_operator(estimate), observed)
    update_generator(loss)
    save_estimate_at_fixed_intervals()

已核对的DnCNN 作者仓库和DIP 作者仓库可用于检查残差符号、停止与平均策略。初次运行不要只保存最后一张,保留中间输出与残差图,才能看见网络何时开始吞掉纹理或复制噪声。

还可检查残差是否包含真实结构。把预测噪声拉伸到可见范围,如果能清楚看出文字笔画或细网格,说明模型可能把这些信号一起减掉。但残差中存在边缘并不是绝对失败证据,真实噪声也可能依赖亮度;需要和干净真值及噪声生成过程共同判断。一个可控算例是在平坦图上叠加细正弦纹理,再加入相同强度高斯噪声,逐步降低纹理幅度,观察恢复从保留到抹平的转折。这样能够把先验偏好与单张自然图的主观印象分开,也能检验平均指标是否掩盖了微弱结构损失。

7.练习、比较与实验设计

理解题:①为什么预测噪声的最后一层通常不强制非负?②DIP 的观测损失持续下降为何不是恢复持续改善?③已知模糊核为什么仍不能保证唯一恢复?提示:考虑负噪声、过拟合和信息丢失。

参考答案

①正负噪声都存在,限制非负会使模型无法表达完整残差。②噪声属于观测,后期也会被网络拟合。③前向算子可能消除部分频率或把多个不同信号映射到相同观测,需要先验约束且仍可能存在歧义。

比较练习:分别说明 DnCNN 与 DIP 的知识来自哪里,训练成本何时支付。实验设计:选平坦、规则纹理和自然纹理图各数张,固定三个噪声种子,观察 DIP 不同步数的真值误差与观测误差,同时用固定 DnCNN 权重比较。额外测试一种非高斯噪声,检查分布外行为。

实验提示

DnCNN 把大量成本放在离线监督训练,DIP 每张图支付优化成本。报告的计时应包含各自实际推理/优化流程。真值只用于评估轨迹,不用于声称可部署的停止规则。非高斯实验先固定噪声总能量,再讨论误差类型,防止把更强污染误当成噪声分布的影响。

8.方向选择与阅读安排

恢复方向适合喜欢信号处理、优化和像素级误差分析的人。日常工作包括合成退化、校验图像对齐、检查边界和颜色、分析噪声统计及制作局部放大图。小裁块监督训练和单图 DIP 可从一张显卡开始,高清去模糊和复杂真实数据训练更耗资源。本科入口可选噪声模型不匹配、停止规则诊断或边缘与纹理的差异,不必先造一个庞大网络。

先读 DnCNN 图 1 并手算残差符号,再读 DIP 图 3 的两种优化轨迹,最后比较协议。与组会压缩联系时,压缩伪影也是一种结构化退化,但解码后去噪不必然提高编码性能:去掉细纹理可能提高某些指标,也可能损坏任务信息。把恢复模块放进压缩系统后,应固定比特流并报告重建、感知与计算成本,再讨论是否值得联合训练。

R11 超分辨率

超分辨率:从像素误差到真实退化

1.研究问题与先修

超分辨率从低分辨率观测估计高分辨率图像。把照片放大只是增加像素位置;恢复则要求推断原来没有被完整记录的结构。单幅图像往往对应许多可能的高分辨率原图,所以这不是唯一答案的插值题。模型依靠训练图像、退化假设或生成先验选择一种解释。研究问题应写成“在什么退化和用途下恢复什么信息”,而不是笼统地追求更清晰。[ir_survey]

先复习L09 图像评价、L10 编码器与解码器及L11 卷积自编码器训练。需要理解卷积、采样、均方误差与梯度;进阶阅读再补频率、混叠和条件分布。若输入是已经压缩过的网络图片,还要考虑噪声、锐化和多次缩放。真实超分通常不知道精确退化流程,“盲”表示没有给出这些参数,不表示方法没有先验。

本章精读 SRCNN 与 Real-ESRGAN。前者展示怎样用端到端网络学习超分映射,后者强调训练退化与真实输入之间的差距。两篇论文的训练目标、数据和评价不同,不宜直接把结果排列成一个统一榜单。读完应能解释:更锐利为什么可能更不忠实,以及怎样设计实验识别这种差别。

2.手算信息丢失与失真

设观测算子把相邻像素求平均,清晰信号 [0,1] 和 [0.4,0.6] 都变成 [0.5]。仅凭观测无法确定哪一组是真值。若两种清晰答案等概率出现,按平方误差优化的最佳预测是条件均值 [0.2,0.8];它不等于任何一组原图。这解释了为什么平方误差模型可能得到平滑结果:网络在不确定性之间取平均,而不是单纯缺少层数。

常用退化写成 y=(k∗x)↓s+n,k 是模糊核,↓s 是采样,n 是噪声。高分辨率 256×256 图像按长宽各缩小四倍后为 64×64,像素总数变为十六分之一。超分网络输出恢复到原尺寸,并不证明丢失的信息都已找回。若生成一根不存在的细线,视觉上可能更丰富,像素误差和内容真实性却可能更差。

归一化图像的 PSNR=10log₁₀(1/MSE)。均方误差为 0.001 时是三十分贝;误差减半约增加三分贝。这里衡量的是与给定真值的距离,不能测出“纹理像不像自然照片”的全部含义。报告还必须标注 RGB 或亮度通道、裁边宽度、缩放核与数值范围,否则看似精确的小数也无法比较。

3.细分路线与演进

插值提供无需训练的基线,稀疏表示等方法通过图像块先验恢复细节。SRCNN 把表示、非线性映射和重建放进一个可联合优化的卷积系统。EDSR 等残差网络继续研究容量与结构;SwinIR 用窗口注意力组织恢复特征。它们常在受控退化上研究失真指标,但具体任务与训练协议仍要逐篇核对。[srcnn][edsr][swinir]

ESRGAN 引入更注重感知的生成训练,Real-ESRGAN 将重点推进到复杂退化合成。SR3 代表扩散生成路线,通过条件采样生成细节。还可按单图/多帧、固定倍率/任意倍率、已知/未知退化来分支。生成式方法可以提高纹理自然度,也增加内容偏离的可能;普通恢复网络同样会犯错,不能只凭方法类别决定可靠性。[esrgan][realesrgan][sr3]

4.精读 SRCNN:三个可学习步骤

本地缓存是期刊扩展版。先读第 3.1—3.3 节、图 2—3、式 1—4,PDF 第 3—6 页。输入先经双三次插值达到目标大小,再由三层卷积完成特征提取、非线性映射与重建。最后一层是线性输出;网络并不是把低分辨率张量直接送进反卷积层。前两层可写为 F₁=max(0,W₁∗Y+b₁)、F₂=max(0,W₂∗F₁+b₂),再计算 F=W₃∗F₂+b₃。[srcnn]

图 3 将稀疏编码流程与网络联系起来,价值在于说明先前分开的步骤可以联合训练,而不是声称一个 ReLU 等价于完整稀疏求解器。原文特意提醒,相关类比涉及前两层及其映射。基本的九、一、五卷积核配置有效感受野为十三;不补零时,三十三宽的输入输出二十一宽,标签应取对应中央区域,不能简单拉伸输出凑形状。

实验阅读第 4.1、4.3、4.4 节及表 2—4,PDF 第 6—10 页。第 4.1 节比较训练集规模,结构实验改变通道、核大小和深度;表格在 Set5、Set14、BSD200 上分倍率报告。正文前几组实验仅在亮度通道做超分并评价,后面的彩色实验另行讨论。把亮度 PSNR 与自己的 RGB PSNR 并列,会把颜色处理差异当成模型差异。

证据支持端到端学习在这些受控条件下有效,不能证明三层结构能处理任意真实退化。模型依赖所用模糊与采样流程,平方误差也偏向条件均值;原文的深度实验还提醒更深并不自然训练得更好。本科复现可先做到正确的插值、有效区域对齐及固定倍率,再研究结构,避免同时改变所有条件。

5.精读 Real-ESRGAN:先改训练世界

阅读第 3.1—3.4 节、图 2、图 4、图 6,PDF 第 3—6 页。图 2 的核心是重复退化:模糊、随机缩放、噪声和 JPEG 组成一轮,再进行下一轮,并用 sinc 滤波模拟振铃与过冲。式 5 写成多个退化算子复合。这里的“高阶”指退化流程重复,并不是求高阶导数,也不意味着重复次数越多越好。[realesrgan]

生成器沿用 ESRGAN 的残差密集结构;判别器改成带谱归一化的 U 形网络,提供局部反馈并稳定训练。先以 L1 得到 Real-ESRNet,再结合像素、感知与对抗损失训练 Real-ESRGAN。理解这两阶段很重要:Real-ESRNet 与 Real-ESRGAN 的区别不是名称后缀,而是优化目标及纹理倾向不同。作者还单独区分对真值锐化训练的加号版本。

实验读第 4.1—4.4 节、图 7—11,PDF 第 6—8 页。训练对来自高质量图片的合成退化;真实照片测试不意味着训练用了真实低质/高质配对。图 8 在较易控制的 Real-ESRNet 上比较是否使用二阶退化和 sinc,图 9 再研究判别器,两个消融的比较对象不同。阅读时先标清模型目标,不能把所有效果都归给对抗训练。

原文主要展示真实样本视觉比较,并把定量结果放在附录供参考。定性图支持某些伪影处理能力,不是对所有场景的统计保证。第 4.4 节明确列出线条扭曲、对抗伪影以及分布外复杂退化;后者有时还会被放大。观察文字、砖缝和规则栅栏尤其有用,因为这些结构能揭示“看起来丰富”与几何忠实之间的冲突。

6.进阶:目标与协议怎样分离

可把训练目标写成 L=λₚLpixel+λ𝒻Lfeature+λₐLadv。像素项约束位置对应,特征项比较预训练表示,对抗项鼓励输出进入自然图像分布;它们没有任何一项能独立保证找回真实细节。改变权重会改变选择偏好,因此需要固定输入对照,并同时保存误差图与局部放大图。这里的公式是教学概括,复现时以作者具体损失定义为准。

high = sample_clean_crop()
low = degrade_once(high, sampled_parameters())
low = degrade_once(low, sampled_parameters())
prediction = generator(low)
loss = pixel_loss(prediction, high)
if perceptual_stage:
    loss += feature_loss(prediction, high) + adversarial_loss(prediction)
update_generator(loss)

先从 SRCNN 作者项目页与Real-ESRGAN 作者仓库核对模型、退化配置和权重。计时需包含分块、拼接和设备同步;只测一小块再乘块数可能忽略重叠计算与数据传输。分块边缘接缝应独立检查,不能把它误认为模型对整幅图像的固有错误。

尺度错位诊断可以用黑白相间的规则线条:先按指定核下采样,再由不同方法恢复,逐行检查峰值位置。如果线条数量改变或周期漂移,即使视觉上锐利也没有忠实恢复。另用同一清晰图生成两种缩放核,固定模型比较,可以直接观察训练退化不匹配。真实照片缺少真值时,这种合成诊断不能证明具体细节真假,却能揭示系统对相近退化变化是否稳定,为后续选择实拍测试条件提供依据。

7.练习与实验设计

理解题:①四倍超分为什么不是增加四倍像素?②SRCNN 输入已经达到目标尺寸,为什么仍称超分?③Real-ESRGAN 的真实图测试能否证明它用了真实配对训练?先分别画长宽、区分采样密度与有效信息,再回到训练数据来源。

参考答案

①长宽各四倍,总像素十六倍。②插值改变网格大小,未恢复丢失细节,网络仍在估计高分辨率内容。③不能,原文核心就是以纯合成退化训练对处理真实图像;测试数据与训练监督必须分别记录。

比较练习:用“输入假设、学习目标、证据形式、可能失败”四列比较两篇论文。实验设计:固定同一批清晰图,生成纯缩小、缩小加噪声、重复 JPEG 三组输入;使用固定倍率与固定权重,比较插值、失真导向模型和感知导向模型。再抽取真实照片作独立案例,不能将其没有真值的感受评分混进合成 PSNR。

实验提示

首先核对图像对齐与颜色,再计算逐图指标并保留分布。预先选定文字、规则线条和自然纹理区域,避免只展示最好看的样本。真实图只陈述可观察到的伪影变化,无法验证的细节真实性应保持未知。若比较退化训练策略,固定网络、训练预算及损失,才能减少混杂。

8.选方向与阅读路线

这个方向适合喜欢图像质量、信号处理和细致实验的人。日常工作包括编写退化生成器、检查颜色与边界、整理失败样本、测推理成本和设计主观比较。小型 SRCNN 可用普通单卡训练;大型生成模型完整训练成本明显更高,本科生可先用已有权重研究退化不匹配或切块策略,设备不足时也能在小图上完成可解释的实验。

第一轮先画 SRCNN 图 2 的每层形状,第二轮读 Real-ESRGAN 图 2 的退化顺序,第三轮对照图 8 与图 11,把成功和失败写进同一张记录表。最后再读感知损失与扩散方法,避免一开始就把复杂生成器当作唯一入口。联系压缩时,超分可以作为解码后处理,但新生成的纹理没有被比特流直接传输;需要共同报告码率、重建、感知与任务表现,才能评价它是否满足应用目的。

第三次组会衔接:文字恢复需要结构与识别证据

字符的一根横线只占很少像素,删除后全图误差可能很小,语义却已改变。评价图像质量时增加字符错误率、按语言分组的结果和人工失败分析。冻结辅助识别器只是不更新其参数,若它要监督恢复网络,仍须保留对输入的梯度。合成字符实验能证明指标盲点,却不能替代真实退化文字数据的评价。 [m03_gestalt]

这段为教学分析;对应原论文机制与阅读边界见第三次组会专题。用自己的话写出输入、输出和一项可控制的变量,再进入专题练习。

R12 低照度、HDR 与真实退化恢复

低光增强:提亮、噪声与照明建模

1.研究问题与先修

低光增强要让暗处内容可见,同时保持颜色、结构和噪声处于合理水平。提高所有像素的数值只能完成其中一部分:夜景中的灯牌可能已经接近饱和,阴影里则混有读出噪声和光子噪声。统一放大可能让灯牌变白、暗部变花,仍然不能找回没有记录到的信息。研究问题必须说明输入来自什么相机、是否允许改变夜景氛围,以及输出用于观看还是后续识别。[inverse_review]

先复习L09 图像评价、L11 卷积自编码器训练和L13 概率与信息量。需要能区分输入、监督目标和评价参考,理解逐像素运算与卷积。进阶部分再学习成像噪声、颜色空间和注意力。显示图像中的像素通常经过相机处理,不能随意当作线性光强;本章的简化算例用于理解机制,不替代完整相机模型。

本章精读 Zero-DCE 与 Retinexformer:前者用不需要参考图像的约束学习增强曲线,后者把提亮和退化修复放进受监督的照明引导框架。两者最值得比较的是监督来源与表达能力,而非仅看谁更新。学完应能解释,零参考为什么仍要训练,以及提亮为什么可能让噪声问题更加严重。

2.手算:增益并不创造信号

设某暗部真实亮度为零点零五,观测噪声标准差为零点零一。若线性增益为四,平均亮度变成零点二,噪声标准差也变成零点零四;信号与噪声的比例没有改善。视觉上更容易看见物体,也更容易看见噪声。若亮部原来是零点四,乘四再截断得到一,超过显示范围的信息被压在同一个值上,之后再除四也无法逆转截断。

Zero-DCE 的基础曲线写作 f(x)=x+αx(1−x),其中 x 属于零到一,α 属于负一到一。取 x=0.2、α=0.5,输出是 0.28;再次用相同参数得到 0.3808。增量随输入改变,端点零和一保持不动。导数 f′(x)=1+α(1−2x) 非负,所以固定参数下曲线单调且不越界。这些性质让它适合可微分的亮度调整。[zero_dce]

但单调性有适用条件:网络预测的是各像素的参数图。两个不同位置若使用不同参数,不能仅凭单条曲线单调就断言其亮度顺序必然保持。例如较暗像素使用强提亮,较亮像素使用弱提亮,就可能交换顺序。空间一致性与参数平滑约束因此仍然必要。再看 x=0,无论迭代多少次仍是零;完全丢失的暗部无法靠这一曲线凭空恢复。

3.路线与历史:从映射到联合恢复

直方图调整和伽马映射是容易解释的起点:前者重分配强度,后者改变亮暗区的响应,但它们未必区分纹理与噪声。Retinex 思想用反射与照明的乘积解释图像,提示我们分别思考物体属性和光照。真实场景存在彩色光源、非均匀照明以及成像处理,分解不唯一,因此分解图看起来像照明不等于已测得真实照度。

监督学习依赖低光与正常曝光的配对,难点包括相机移动、动态物体和曝光变化造成的错位;不配对学习改用分布约束,又引入输出偏好的问题。Zero-DCE 不使用正常曝光参考来计算训练损失,而依靠空间、曝光、颜色和光滑度约束。Retinexformer 则明确建模提亮时的退化,再用照明特征引导修复。去噪网络和单图先验也能提供部件,但直接串联提亮与去噪可能积累误差。[zero_dce][retinexformer][dncnn][dip]

4.精读 Zero-DCE:把曲线作为可学习输出

先读第 3.1—3.3 节、图 2、式 1—8,PDF 第 3—5 页。网络的输出不是最终增强图,而是多轮曲线参数图;原文使用八轮迭代,三个颜色通道各有参数。DCE-Net 以七层卷积和连接组织特征,末端用双曲正切限制参数范围。逐点曲线本身不会从邻居复制纹理,但参数网络利用邻域信息决定怎样调整当前像素。[zero_dce]

四类损失承担不同职责。空间一致性比较输入与输出相邻局部区域之间的强度差异;曝光控制把局部平均亮度拉向目标值,原文设为零点六;颜色恒常性约束通道均值之间的差异;照明平滑度约束曲线参数图的变化。不要把它们都叫作重建损失,因为这里没有正常曝光真值供逐像素比较。曝光目标与灰世界式颜色假设属于人为先验,暖色灯光或刻意低调的摄影可能不符合它们。

实验重点读第 4.1、4.2 节,图 4—5、表 1—3与暗光人脸检测部分,PDF 第 5—8 页。消融分别移除损失、调整网络与训练数据,以检查输出变化。训练使用多曝光图像集合,但不以正常曝光图作为目标;“零参考”不等于“不需要训练图像”,也不等于每次推理从头优化。评价同时包含主观评分、无参考指标、具有参考的测试以及下游检测,必须分别解释各自证明什么。

论文结论还把噪声及困难案例列为后续研究方向。曲线可以提高可见度,却没有独立恢复所有噪声与细节的保证。本科复现首先画出参数图和局部亮度,而不只保存增强结果。若暗部颗粒变强,应检查这是原噪声被显现,还是空间参数突变造成新伪影。固定曲线与学习曲线的对照能帮助区分两种原因。

5.精读 Retinexformer:提亮之后仍要解释退化

阅读第 3.1、3.2 节与图 2,PDF 第 3—5 页。作者从 I=R⊙L 出发,为反射和照明加入扰动,把提亮图写成 Iₗᵤ=R+C,其中 C 合并原有噪声、伪影及提亮造成的颜色和曝光误差。照明估计器产生提亮图与照明特征,修复器再利用二者预测增强结果。“一阶段”描述整体框架,不代表网络只有一个运算模块。[retinexformer]

这里预测的是提亮乘法图,而不是先估计很小的照明值再相除。教学算例中,输入零点零二除以照明估计零点零一得到二;估计改成零点零二却得到一。微小分母变化会显著改变输出,数值稳定性与误差传播值得关注。作者以三通道提亮图增强颜色表达能力,并将沿通道平均的输入作为照明先验。这个先验是网络输入特征,不是照度仪给出的测量。

照明引导 Transformer 采用多尺度 U 形结构,照明特征进入注意力计算以辅助退化修复。精读时沿图 2 标出输入图、提亮图、特征与最终输出四种对象,再看式子里的乘法发生在哪个维度,不能把所有带照明名称的张量当成同一张灰度图。理解张量角色比先记住模块缩写更能帮助复现。

实验读第 4.1—4.4 节、表 1—4,PDF 第 5—8 页。表 1 覆盖多种低光数据,表 2 对应 FiveK,表 3 包含主观评价与低光目标检测,表 4 在 SDSD 室外集消融。表 4 分别检验框架、提亮方式与注意力;全局注意力对照为避免显存不足对特征进行了下采样。因此比较包含实际实现约束,不能推论成所有全局注意力必然更差。

原文在该消融集上报告加入两部分各自提高一点四五和二点三九分贝,共同加入提高三点三七分贝。两项收益不能简单相加,因为模块会相互作用,且分贝本来就是对数指标。跨数据集结果增强了证据范围,但仍不等于任意传感器、曝光和颜色处理下都成立。配对数据质量、极暗信息损失以及下游模型对输入风格的偏好,是我们据方法与协议推导的适用边界,应与作者直接报告的结果分开。

6.实验诊断:把增强效果拆开观察

建议把同一图像划成暗部平坦区、暗部纹理区、亮部灯源和肤色区域,使用相同坐标比较输入与各方法。平坦区看噪声与颜色漂移,纹理区看真实结构是否保留,灯源看饱和面积,肤色看通道比例。全图均值变亮不足以说明成功:一幅图可能暗处仍看不清,而灯牌已经过曝。区域统计使这种失败能够被定位。

若有配对真值,先检查对齐,再报告逐图 PSNR、结构指标及失败样本;若没有真值,就不能把输出与输入的距离当成恢复误差。无参考分数也会受到亮度和纹理分布影响,宜与盲评和任务指标共同使用。对于检测任务,应固定检测器权重、阈值与标注,分别比较原图、简单伽马和增强模型,防止把重新训练检测器带来的收益归给增强。

训练和评价应按场景拆分。连续拍摄同一室内角落的不同曝光若分到训练与测试,模型可能见过近乎相同的结构。噪声实验也要区分把正常图整体变暗与真实短曝光:前者不会自动生成传感器噪声。可以把合成条件作为可控诊断,但结论只能覆盖所用退化,再用真实照片检查迁移。

已核对Zero-DCE 作者仓库与Retinexformer 作者仓库。前者可从模型和损失实现检查曲线符号,后者需对应数据集配置选择权重;不要把后续竞赛版本结果混入原始论文。

7.练习、论文比较与实验设计

理解题:①零参考是否意味着无需数据和离线训练?②固定参数曲线单调,是否保证不同像素亮度顺序?③提亮后噪声更显眼,是否说明模型新生成了噪声?先分别检查监督来源、参数是否共享及输入残差。

参考答案

①不是,Zero-DCE 仍用图像训练参数网络,只是不需要参考目标。②不保证,各像素的参数可以不同。③不能直接断言,增益也会放大输入已有的波动;需要对照平坦区统计与固定增益结果。

比较题:用监督来源、预测对象、噪声处理、实验证据四列比较两篇论文。实验设计:固定二十张包含室内、道路和灯牌的测试图,对照伽马、Zero-DCE 和 Retinexformer 的已有权重,记录整体与分区表现。再为一幅干净图生成三个噪声等级、两种亮度,作为机制诊断,保持其他条件一致。

比较与实验提示

Zero-DCE 预测曲线参数,以无参考约束训练;Retinexformer 预测照明相关特征并修复提亮退化,使用配对监督。两篇训练条件不同,现成权重比较评价的是系统表现,不能单独证明某个模块更优。记录权重训练集、输入颜色与尺寸处理,并把真实图和合成图分开。没有真值的真实图不报告伪造的参考误差;若测试检测,另列固定检测器上的指标。

8.方向选择与具体阅读安排

这个方向适合喜欢摄影成像、信号处理和局部误差分析的人。日常工作包括整理曝光与相机条件、校验配对、画参数图、检查颜色、设计盲评与复核下游任务。轻量曲线网络可在单卡和小图上入门,完整多数据集训练需要更多预算;设备有限时,已有权重的分区诊断同样能形成严谨问题。一个合适的本科题目是研究曝光目标改变时,暗部可见度、肤色与灯源饱和之间的取舍。

第一轮手算曲线并阅读 Zero-DCE 图 2与损失;第二轮对照图 4 的消融,解释每个约束的作用;第三轮画 Retinexformer 图 2 的数据流,再读表 4 的控制变量。最后查看两篇下游检测协议,讨论视觉偏好是否对应任务收益。与压缩研究结合时,要固定码率与编码器:先增强会改变噪声和纹理分布,后增强则改变观看效果;二者位置不同,不能只比较最终一张图就宣称改善了压缩效率。

R13 自编码器、VAE 与 GAN

研究问题:学会复述一张图,还是学会产生一类图

自编码器输入图像,输出自身的重建;生成模型在训练时看一组图像,使用时可以只输入随机变量,输出训练分布中的新样本。这两个任务的差别决定了本章的研究问题:怎样把有限样本变成一个可以采样、可以解释、又能覆盖多种外观的概率模型?训练集重建得好,并不保证随机采样合理。一个网络完全可以记住每张训练图对应的编码,却从未学习编码之间的空白区域。[vae]

先回到自编码与重建基础、概率与潜变量、表征学习。这里最需要的不是复杂编程,而是区分三个对象:观测图像 x、无法直接观测的潜变量 z、决定映射的网络参数 θ。随机变量会随一次采样而改变,参数是在训练中更新。把二者混为一谈,就很难理解为什么固定网络还能画出不同图像。

从压缩直觉走向概率建模

普通自编码器使用 z=E(x)、x̂=D(z),最小化重建误差。如果输入只有两个像素,样本沿一条弯曲曲线分布,一维编码可能已经足够表达变化;但在编码区间外任取一个数,解码器的行为没有约束。变分自编码器不再给每张图一个孤立坐标,而是给一个分布 qφ(z|x),再要求这些分布与共同先验 p(z) 保持联系。这样,训练时使用的潜空间与生成时抽样的潜空间才有机会衔接。

典型高斯编码器输出均值 μ 和对数方差 log σ²。用 z=μ+σ⊙ε、ε∼N(0,I) 把随机性放在独立噪声里,梯度就可以穿过 μ 与 σ。举一个计算例子:μ=2、σ=0.5、ε=−1 时,z=1.5;如果 μ 增加零点一,使用相同 ε 得到的 z 也增加零点一。随机采样没有消失,只是被写成方便求导的形式。这个例子是教学计算,不是论文实验。

训练最大化 ELBO=E_q[log pθ(x|z)]−KL(qφ(z|x)∥p(z))。第一项奖励能解释输入的编码,第二项限制编码分布偏离先验。两项的单位和求和方式必须一致:逐像素相加的重建项与逐维潜变量相加的 KL 项,若一个改成平均、另一个没改,会改变实际权衡。不能把“重建更清晰”和“概率模型更好”简单画等号。

另一条路线是让生成器 G(z) 直接输出样本,再让判别器 D(x) 区分真实与生成。GAN 的反馈不需要逐像素配对:同一个随机向量没有规定必须生成哪张训练图。判别器关注整体分布差异,因而可能推动清晰纹理,也可能让生成器只覆盖最容易骗过判别器的少数模式。若数据包含红、蓝两类物体,只生成很逼真的红物体仍然不是完整分布。

路线与经典演进

确定性自编码器适合学习压缩表示与重建,VAE 增加可优化的概率下界和潜空间采样机制,GAN 改用可学习的分布比较器。这不是先后淘汰关系:任务需要近似后验时,VAE 的编码器很有价值;需要快速生成和感知细节时,对抗目标提供另一种工具。综述可以帮助整理似然、采样速度与训练稳定性三个维度,但不要把不同训练数据上的榜单拼成统一排名。[diff_survey]

VQ-VAE 把连续潜变量映射到离散码本,减少“潜变量不被解码器使用”的部分问题,也为后续离散先验提供接口;它引入码本使用率、量化误差和先验训练等新问题。[vqvae] StyleGAN2 分析生成器中的伪影与特征统计,说明网络结构和正则化会影响图像细节,但生成域、数据量和评价协议仍限定结论范围。[stylegan2] 潜扩散与 DiT 后续改变生成过程或骨干网络,本章只把它们当作通向下一章的路标。[ldm] [dit]

精读一:VAE 怎样让概率推断变成训练流程

阅读《Auto-Encoding Variational Bayes》缓存 PDF 第三至七页,重点是第二节、第三节和第五节。公式一把 log pθ(x) 分为下界与非负的后验 KL,公式三再把下界分解成重建和先验约束。核心图可选图二:横轴是处理过的训练样本量,纵轴是每个样本的平均下界,多幅小图改变潜变量维度。组会时必须先解释坐标,再说曲线谁更高。[vae]

论文比较 AEVB 与 wake-sleep,使用相同识别模型,在 MNIST 与 Frey Face 上考察优化与下界。证据支持的是这套设置中更有效的优化,而不是“所有 VAE 总比所有生成器好”。小批量训练中,每个样本用一次潜变量抽样也能形成可用的梯度估计;这依赖重参数化降低估计方差,不能推成任何蒙特卡洛问题都只需一次抽样。

限制要从模型假设读出来:对角高斯近似后验不能表示任意复杂多峰后验,简单输出分布也可能把多种合理重建平均成平滑结果。原文低维边缘似然估计在更高维时变得不可靠,提醒我们“可写出概率模型”并不意味着边缘似然能直接精确计算。精读时把理论下界、下界的随机估计与最终视觉质量写成三行,检查自己的论证是否偷偷跨越了它们。

精读二:GAN 的均衡证明为什么不是训练保证

《Generative Adversarial Nets》第三至七页给出算法一、公式一、定理一和实验。图一在一维分布上展示判别器与生成器交替更新,最有教学价值的地方是横轴上的密度形状,而不是网络长什么样。固定生成器时,最优判别器为 D*(x)=p_data(x)/(p_data(x)+p_g(x));代回目标得到 −log4+2JS(p_data∥p_g)。分布相等时判别器只能给出二分之一。[gan]

证明假设足够表达能力以及足够理想的优化,真实神经网络却在有限参数、有限批次和相互变化的目标上学习。原文专门提出非饱和生成器目标:当判别器很容易识别假图时,改为最大化 log D(G(z)),可以获得更强训练信号。理解这一点,比背诵“一个造假一个鉴别”更接近算法。

实验报告 MNIST、人脸与 CIFAR 样本,图二展示随机生成图及最近训练图,表一使用 Parzen 窗估计似然。作者同时指出该估计在高维下表现有限,因此不能拿这些数值与现代精确似然结果直接比较。最近邻对照是检查记忆的证据之一,却不能证明模型绝无记忆;训练集覆盖、距离度量与样本量都会影响检验。GAN 也不自带从图像到潜变量的反演器,编辑任务需要额外方法。

进阶:从 KL 公式到可运行的训练骨架

对角高斯与标准正态的 KL 为 0.5∑(μ²+σ²−logσ²−1)。当 μ=0、σ=1 时每维为零;当方差趋近零时,对数项会阻止所有编码无限收缩。实现中通常让网络输出 logvar,再计算 std=exp(0.5×logvar),避免直接预测负方差。下面只表达数据流,省略了模型与优化器定义。

mu, logvar = encoder(x)
z = mu + (0.5 * logvar).exp() * randn_like(mu)
x_hat = decoder(z)
reconstruction = reconstruction_nll(x_hat, x).sum_per_sample()
kl = 0.5 * (mu.square() + logvar.exp() - logvar - 1).sum(-1)
loss = (reconstruction + kl).mean()

先检查同一批输入的重建形状,再检查 KL 是否非负;训练后分别看重建、先验采样和潜空间插值。三种图回答三个问题,不能相互替代。GAN 的作者代码依赖早期框架,适合查目标和实验配置;本章没有核实到可直接使用的原始 VAE 官方仓库,因此不把社区教程标作作者实现。

实验判断:重建与生成不能共用一句“效果好”

给同一张测试图做重建,输入和答案成对存在,可以测像素误差,再检查潜变量改变时输出是否平滑。无条件生成则从先验采样,通常没有唯一对应真值;逐样本计算“离某张测试图的 PSNR”没有明确意义。反过来,重建分数较好的模型也可能只输出模糊的平均结果,无法呈现数据中真实存在的多种纹理。两类实验应分别说明采样次数、随机种子、图像尺寸与评价协议。

教学小实验可以固定一个二维双峰分布。用单高斯拟合会把概率堆在两个峰中间,用带离散模式变量的模型可表达双峰,却还要检查每个模式是否都被生成。把所有样本只画最漂亮的十个会隐藏模式遗漏。VAE 与 GAN 都需要通过覆盖度和样本质量的共同证据来判断,不应从一张拼图得出“学会分布”的结论。

练习、比较与小实验

理解题一:为什么普通自编码器重建误差很小,随机采样却可能很差?理解题二:重参数化后,随机性被去掉了吗?理解题三:判别器准确率接近一半能否证明 GAN 已经学好?每题都先写一个反例,再给结论,这比只复述定义更容易检验理解。

论文比较任务:用同一组问题重读两篇论文:是否显式近似后验,优化对象是否是似然下界,生成时需要哪些网络,理论结论依赖哪些假设,原始评价有什么局限。不要只写“VAE 模糊、GAN 清晰”,这种表述把具体模型与整个方法家族混为一谈。

实验设计:在二维的几个高斯簇上画训练分布,用现有小模型或预先生成的数据比较重建与采样。预算只有普通电脑也可以完成统计和画图。固定样本总数、随机种子和坐标范围,报告每个簇被生成样本覆盖的比例、到最近簇中心的距离及失败样本。只挑选好看的十张图不能回答覆盖率问题。

提示答案与实验判断

第一题的反例是编码只落在两个小区域,而先验在整个平面取样。第二题中 ε 仍随机,但分布不依赖编码器参数。第三题还可能来自判别器容量不足或训练失败。比较题应指出 VAE 的下界与 GAN 的理想分布均衡是不同类型结论。实验若把所有簇挤成一个簇,即使簇内图像很好,也暴露模式覆盖问题;距离与覆盖需要同时解释。

方向选择与组会路线

喜欢概率、表征和不确定性,可以继续读变分推断;喜欢图像编辑和生成器结构,可以研究潜空间反演与可控性。日常工作通常包括整理数据分布、检查训练曲线、定位模式缺失、复核评价脚本,而不只是写一个更深的网络。基础需要矩阵运算、梯度、条件概率及训练验证划分。大规模图像生成训练昂贵,本科入口可以是二维分布诊断、冻结生成器的潜变量实验或评价指标复现。

阅读顺序是先理解本章数值例,再读 VAE 公式三和重参数化,再读 GAN 图一与算法一,最后看二者原始实验及综述。组会准备一张自己画的潜空间图、一条亲手推导的公式、一项带协议的证据和一个失败案例。结束时提出一个可被小实验回答的问题,例如“增加潜维度提升的是重建还是采样覆盖”,下一次汇报就围绕这个问题进行。

第三次组会衔接:离散潜变量:码字数与特征维数

K个D维码字构成K×D矩阵,每个潜位置输出一个索引,再查表还原D维向量。K=4、D=2时,一个索引指定四个二维点之一,不能把K当成输出通道数。固定长度索引可用2 bit,但完整压缩还需码本约定、熵模型和文件格式。增加码字可能降低量化误差,却可能造成低使用率;重建和采样必须分别评价。 [vqvae]

这段为教学分析;对应原论文机制与阅读边界见第三次组会专题。用自己的话写出输入、输出和一项可控制的变量,再进入专题练习。

R14 扩散模型

研究问题:为什么学会去噪能够学会生成

扩散模型训练时输入一张加过噪声的图像及其噪声级别,预测噪声、干净图像或等价的变化方向;生成时从随机噪声出发,反复调用网络,得到一张新图。它要回答的不是“这张照片原来是什么”,而是“给定当前不确定状态,哪些更清晰的状态符合训练分布”。同一文本允许多种合理图像,所以生成过程需要保留分布层面的多样性。[ddpm]

先修是张量与梯度、损失与优化、概率与潜变量。初学者先掌握均值、方差以及独立高斯之和,再看完整变分推导。本章将时间 t 理解为噪声等级,不是视频的物理时间;一个静态图像模型也有许多扩散时间步。混淆这两种时间,会让后续视频生成的张量维度难以理解。

一个可以手算的前向过程

定义 α_t=1−β_t,ᾱ_t 是前 t 个 α 的乘积。前向采样可直接写成 x_t=√ᾱ_t x_0+√(1−ᾱ_t)ε,其中 ε 是标准正态噪声。若 ᾱ_t=0.64,某像素 x_0=0.5,抽到 ε=−1,则 x_t=0.8×0.5−0.6=−0.2。这不表示原像素变成某种确定颜色,而是一次随机加噪的结果。换一次 ε,得到另一张同一等级的噪声图。

训练不必先计算前面所有状态。随机选一个 t,直接构造 x_t,让网络预测构造时使用的 ε,即可形成均方误差。网络却不能从单个像素精确知道噪声:很多原图与噪声组合都可能产生同一个 x_t。它依靠整幅图像的统计规律做条件预测。因此,学习目标中的“已知噪声标签”不意味着推理时可以把真实噪声直接减掉。

反向生成近似从 pθ(x_{t−1}|x_t) 抽样,均值由网络决定。大的噪声等级主要决定粗结构,小的等级更接近细节修正,但不能把这个直觉当作严格的语义分工定理。若直接把预测噪声一次性减完,会改变原来的采样过程。采样器的步长、方差和模型的训练参数化必须相容。

细分路线与演进中的取舍

DDPM 把固定加噪过程、可学习反向过程和去噪训练联系起来。[ddpm] DDIM 在相关训练目标下构造另一类采样轨迹,使减少采样步骤成为可研究的选择,但少步采样的质量取决于模型与调度。[ddim] Score-SDE 把不同噪声尺度下的分数估计放进连续随机过程框架,便于统一讨论反向随机微分方程与概率流。[score_sde]

潜扩散在自编码器的空间中扩散,降低空间分辨率带来的成本;它同时引入压缩表示丢失信息的风险。[ldm] DiT 研究用 Transformer 作为扩散网络骨干以及规模与效果的关系,改变骨干不等于取消了扩散目标。[dit] 阅读综述时应按四个问题分类:在哪个空间生成,网络预测什么,条件如何输入,采样怎样执行。按产品名称分类会掩盖这些可迁移的结构。[diff_survey]

条件生成还涉及引导。无分类器引导可把条件与无条件预测组合成 ε_guided=ε_uncond+s(ε_cond−ε_uncond)。增大 s 会强化条件方向,但不保证所有细节更正确,也可能降低多样性或导致过饱和。比较两个引导系数时,应使用相同初始噪声与采样设置,否则看到的变化无法明确归因。

精读一:DDPM 的简化目标改变了什么

阅读缓存 PDF 第三至六页,围绕第三节、第四节、算法一与算法二。第三页公式五把训练下界拆成多个高斯分布间的 KL 项;第四页公式十一用噪声预测参数化反向均值。第五页公式十四进一步去掉特定时间权重,得到通常讲授的简化均方误差。它不是在任何意义上都与原下界完全相同,而是重新分配不同噪声级别的优化重点。[ddpm]

最值得重画的核心图是论文的逐步去噪示意:每个节点都应标出变量与方向,明确前向不训练、反向用网络。随后把算法一的每一行映射到训练脚本:取数据、抽时间、抽噪声、组成输入、预测、求损失。这样可以发现常见错误,例如时间嵌入没传入模型,或预测目标与采样公式不一致。

表一、表二分别给出 CIFAR-10 结果以及目标和参数化消融。论文观察到原变分目标有更好的编码长度,而简化目标有更好的样本质量。这支持“似然与感知质量不是同一个评价维度”,不能只保留较好的一列然后宣称全面占优。实验还包括较高分辨率人脸和室内场景,但数据分布与训练预算不同,不能跨表直接判断扩散步数的作用。

局限首先是串行采样成本:网络每次调用都依赖前一个状态。其次,训练分布限制了模型能生成什么;噪声机制没有自动提供事实正确性或组合推理保证。论文里的训练目标和网络配置是具体选择,不能把固定方差、某一噪声调度当成扩散模型的唯一规定。组会报告要区分作者的推导、消融观察与自己的推广猜想。

精读二:LDM 把计算搬到哪里,代价是什么

《High-Resolution Image Synthesis with Latent Diffusion Models》第四至八页是本章重点。图三把像素空间、潜空间与条件分支连接起来:先用 E 把图像压缩成 z,扩散网络在带空间结构的 z 上训练,生成结束后 D 才解码图像。文本可以通过交叉注意力影响特征,某些图像条件可以拼接输入。不要把所有条件机制都叫作文本编码。[ldm]

第四页公式二把 DDPM 的噪声预测目标搬到 z_t;公式三加入条件编码 τθ(y)。原文比较 KL 与 VQ 两种第一阶段正则化,并不要求潜空间必须是离散整数码。第一阶段关注感知重建与合理压缩,第二阶段学习潜变量分布。先验生成能力不能修复编码器系统性丢掉的信息,这一点可通过单独查看原图与重建图直接检查。

第五页第四点一节控制参数量、训练步数和设备,比较不同下采样倍率,这样才有理由讨论压缩与计算的折中。压缩太弱,扩散仍昂贵;压缩太强,细节损失成为瓶颈。第八页超分辨实验同时报告分布指标、像素指标和用户比较,呈现不同指标偏好的分歧。结果对指定数据和退化成立,不应被改写成任意真实低清图像都能恢复真细节。

从这篇论文可以学习一种研究习惯:主模块表现差时,先测前置模块的上限。若自编码器重建已经把小字抹掉,换采样器未必能解决小字问题。潜扩散还继承迭代采样开销,条件对齐和高压缩造成的细节误差都需要独立评价。官方实现入口是潜扩散仓库,阅读模型配置时同时记录第一阶段与扩散阶段的名称。

进阶:噪声误差如何放大成干净图像误差

由前向式得到 x̂_0=(x_t−√(1−ᾱ_t)εθ)/√ᾱ_t。若预测噪声的误差为 δ,则干净图估计误差为 −√((1−ᾱ_t)/ᾱ_t)δ。噪声很大时 ᾱ_t 很小,相同 δ 会被显著放大。这解释了为什么不能只比较不带时间分组的平均噪声误差,也提示不同参数化和时间权重有实际意义。

t = sample_time(batch_size)
noise = randn_like(clean)
noisy = sqrt(alpha_bar[t]) * clean + sqrt(1-alpha_bar[t]) * noise
prediction = denoiser(noisy, t, condition)
loss = mean((prediction - noise) ** 2)

代码中的时间系数需要扩展维度才能与图像广播。先用小数组检查均值方差和形状,再读DDPM 作者实现中的损失与采样;原作者实现使用的框架和本书 PyTorch 练习可能不同,迁移时对照公式,不能只替换函数名。

实验判断:采样步数与生成质量如何一起报告

扩散论文常把采样质量写成单个指标,但采样步数、噪声日程、分辨率、自动编码器与评价图像数量都会改变结论。比较两个方法时,应在相同数据处理和计算预算下报告至少几个步数点,并保存随机种子;只挑某一方法最有利的步数不足以证明其全面改进。条件生成还要记录条件输入来自何处,以及条件与生成样本是否配对。

课程里的 X05 只演示已知高斯过程的条件均值,能手算“噪声越大不确定性越高”,但没有学习真实图像分数。真正阅读 DDPM 或 LDM 代码时,先检查训练噪声如何采样、预测目标是噪声还是原图、推理日程是否与训练定义相容,再考虑采样器名称。若图像经潜空间编码,先单独测自动编码器重建误差,避免把不可恢复细节全部算在扩散过程头上。

理解题、论文比较与实验设计

理解题一:训练抽到第八百个时间步,是否一定要先执行前面七百九十九次加噪?理解题二:为什么减小噪声预测损失不必然提高全部生成指标?理解题三:潜空间边长缩小八倍,元素个数是否一定缩小六十四倍?最后一题必须把通道数变化也考虑进去。

论文比较任务:对照 DDPM 与 LDM,画出训练和生成的四条数据流,标出哪些模块固定、哪些模块训练、评价是否包含解码开销。说明 LDM 的贡献主要改变了哪一层计算,以及为什么比较时不能忽略自编码器预训练成本。

实验设计:使用本单元小实验观察不同 ᾱ 下的加噪和重建,或使用已有小型模型固定十组随机种子,比较少、中、多三档采样调用数。报告每档总耗时、调用次数、失败类型和条件保持程度。计时先进行预热,记录设备与图像尺寸;少量样本只适合说明现象,不足以给出稳定分布距离结论。

提示答案

第一题可以直接闭式采样。第二题可能改变的是特定时间等级或训练样本上的误差,生成还依赖采样轨迹及评价偏好。第三题空间位置少六十四倍,但总元素还乘潜通道与原通道之比。比较题应把编码、扩散、解码分开计账。实验若少步图像更锐却语义失真,应同时报告二者,不能仅选锐度作为成功标准。

怎样进入这个方向

概率建模、数值分析和高效系统是三条不同入口。日常研究包含噪声调度、采样器误差、数据过滤、条件评价及显存分析。本科生可先研究已训练模型的推理行为,或在二维玩具分布上验证目标和采样,不需要从零训练大型文生图系统。高分辨率训练的资源需求远高于阅读和小实验,本书不把大训练设为学习门槛。

阅读路线是前向闭式公式、DDPM 两个算法、目标消融、LDM 图三与压缩实验,最后再读综述中的连续时间观点。组会用五分钟解释一个噪声等级的手算例子,用五分钟讲清一个受控消融,余下时间讨论你的失败样本。若听众能准确说出网络输入、预测量和采样更新之间的关系,这次汇报就建立了可靠的共同基础。

第三次组会衔接:训练中知道噪声,采样时并不知道原图

训练从数据x0出发,自行抽取epsilon和时间t,构造xt,再预测已知epsilon。采样从未知目标对应的随机噪声出发,使用学到的逆向更新。二者共享网络但数据流不同。检查平方根系数、像素范围和时间编码;把加噪过程重复运行并不等于生成。报告采样步数、随机种子和模型训练范围,不能把单次漂亮输出当作分布质量证据。 [ddpm]

这段为教学分析;对应原论文机制与阅读边界见第三次组会专题。用自己的话写出输入、输出和一项可控制的变量,再进入专题练习。

R15 可控图像与视频生成编辑

研究问题:让生成结果服从可检验的意图

一句“画一个人”允许许多答案,而姿态骨架、草图或深度图规定了更具体的空间关系。可控生成输入文本与一种或多种条件,输出符合条件的新图;编辑还输入原图,要求修改指定内容并保留其余部分。视频生成进一步输出一串相关帧,需要角色身份、运动和场景随时间保持合理。研究问题从“是否像真图”变成“是否满足要求、是否保留不该改的内容、是否在时间上自洽”。

先修优化与训练目标、潜变量建模、注意力与跨模态信息,并先读上一章。图像条件通常含空间坐标,文本条件通常不与像素一一对齐,这决定了拼接、特征注入与交叉注意力的不同作用。初学者应该先能画出条件进入模型的位置,再讨论微调技术的名称。

条件强度、可编辑性与保持性的三角关系

想象输入一张手绘轮廓,要求生成红色杯子。轮廓决定杯子边界,文字决定类别与颜色,但两者可能冲突:轮廓像一把椅子,文字却说杯子。模型必须在冲突信息之间选择,评价也必须预先规定以谁为准。“看起来很漂亮”不能回答服从轮廓的问题。编辑中同样如此:把天空换成黄昏时,建筑轮廓、招牌文字与人物身份是否改变,需要分别检查。

一个教学目标可写成 L=L生成+λ_c L条件+λ_p L保持。它不是所有论文共同采用的真实训练公式,而是帮助明确评价维度的抽象。若条件偏差从十降到二,同时未编辑区域误差从一升到八,不能只看第一项宣布改进。实际工作应保留多个指标及样本,不宜把不同量纲随意加权成一个分数。

视频增加时间轴。图像潜变量可能是 B×C×H×W,视频可写成 B×T×C×H×W,其中 T 是帧数。若只是逐帧独立生成,即使每帧都好看,也可能发生衣服变色、物体消失和背景闪烁。时间注意力或卷积让不同帧交换信息,但“具有时间模块”仍不保证长程物理一致。时间变化很小的视频也能显得稳定,因此必须同时检查运动是否符合任务。

研究路线如何分开

空间条件控制侧重边缘、分割、姿态和深度,编辑侧重文本指令与原图的关系,个性化侧重身份或风格保持,视频侧重时空联合分布。InstructPix2Pix 用指令编辑数据训练图像变换,讨论的是“如何按语言改变输入”;ControlNet 研究给预训练扩散模型增加空间控制;两者不能仅凭结果图相似就当成同一实验。[instructpix] [controlnet]

潜扩散为这些路线提供降低计算开销的基础。[ldm] 视频工作还必须处理数据切镜、字幕、水印、动作幅度和描述质量。Stable Video Diffusion 的代表性在于系统研究预训练与数据筛选,而不是声称某个单独时间层解决所有视频问题。[svd] 遇到近年的演示,应先确认输入究竟是文本、一张图、多张图还是完整相机轨迹,再判断它解决了哪种控制任务。

精读一:ControlNet 为什么从零连接开始

阅读缓存 PDF 第四、第六至八页的第三、第四节。图二和图三是核心:一份预训练模块被冻结,复制出的分支学习条件,通过零初始化卷积把增量注入原模块。公式二写成 y_c=F(x;Θ)+Z(F(x+Z(c;Θ_z1);Θ_c);Θ_z2)。首次前向时两处 Z 输出为零,所以原模型的输出不会立刻被随机条件分支打乱。[controlnet]

“零初始化”不表示永远没有梯度。最后一层零卷积的参数梯度可以由上游误差和非零输入形成;权重开始更新后,梯度再进入更早的分支。它与把整个网络所有层都设零不是同一做法。阅读时可用一个标量模型 y=a+w f(x) 手算:w=0 时输出仍为 a,但 ∂y/∂w=f(x) 可以非零。这个简单推导比记忆术语更能帮助排查训练不动的问题。

实验使用边缘、深度、法线、分割、姿态等条件,图七展示无文本条件下的生成,说明控制分支也能利用条件中的语义线索。第四点二节比较替换零卷积、改变分支等设计;用户研究把图像质量与条件忠实度分开评分,分割条件还通过重新分割生成图计算交并比。多种证据比只贴好看的网格图更有说服力,但自动分割器本身也会引入评价误差。

边界同样具体。模糊草图可能被解释成不同对象;不同基模型之间的比较混合了基模型画质与控制方法的贡献。多个控制条件可以叠加,但条件互相矛盾时不能假定同时满足。论文展示小数据训练现象,不等于任何新域都无需足够数据。复现实验要固定基础模型、提示词、随机种子与条件预处理器,才能判断改善来自哪里。

精读二:SVD 怎样把图像先验扩展到视频

阅读《Stable Video Diffusion》第三至八页,重点看第三节的三个训练阶段和第四点三至四点五节。论文从图像预训练出发,加入时间卷积和注意力,经过视频预训练与高质量视频微调,分析各阶段和数据选择的作用。不要把这些阶段误读成同一个模型只训练一个小分支;原文说明其设置微调整个模型。[svd]

核心图可以选择数据筛选图与训练阶段比较图,汇报时串成因果链:从原视频切成片段,生成描述,估计运动、文字和美学等信号,筛掉不适合的数据,再比较筛选策略对生成结果的影响。静态片段过多会稀释运动学习,但单纯追求大光流也可能混入镜头抖动。数据过滤阈值本身就是研究假设,应该用消融验证。

图生视频设置用条件图的视觉嵌入替代文本嵌入,同时把加噪的条件图沿时间复制并拼接到输入。论文还讨论帧率条件以及沿帧轴调整引导强度。其物理含义是给模型提示时间变化的尺度,而不是让模型自动理解任何帧率下的真实动力学。摄像机运动 LoRA 展示对不同镜头类型的适配,不能推论为精确轨迹控制。

实验既有人类偏好比较,也有多视图微调下的图像指标;图九比较不同初始化在同一任务上的收敛行为,支持视频先验可以迁移到多视图生成。限制是短片段上的视觉偏好不等于长视频叙事或物理正确性;图生视频与文生视频的输入条件不同,也不能直接混成榜单。用户评估需要看受试者看到的输入、比较对象版本与采样协议,不能只抄“更受偏爱”的结论。

进阶:如何设计一次可归因的控制消融

设基础噪声预测为 ε_base,控制增量为 Δε_c,可用 ε=ε_base+λΔε_c 理解注入强度。这里是简化诊断模型,真实控制发生在多层特征中。固定初始噪声后只改变 λ,可以观察控制强度与视觉质量的关系;若同时换提示词和采样器,就无法解释变化来源。

for seed in seeds:
    noise = fixed_noise(seed)
    for strength in strengths:
        frames = generate(noise, condition, strength=strength)
        save_all_frames(frames, seed, strength)
        measure_condition_error(frames, condition)
        measure_preserved_region(frames, original)

作者入口分别是ControlNet与Stability AI 生成模型库。前者先读条件预处理与推理流程,后者先核对所用检查点对应文本还是图像条件。仓库中存在视频模型,不等于任意配置都支持全部论文任务。

实验判断:控制成功不能只看提示词

若声称“姿态控制更准”,就需要先定义姿态来源、估计误差和哪些偏差可以接受;若声称“编辑保留原图”,则应划出允许改变与应当保持的区域。控制条件可能与文本冲突,强控制提高结构一致性却牺牲多样性。实验可固定源图和随机种子,依次只改变控制强度,展示结构符合度、图像多样性和推理时间,而不是挑选几张效果最好的图。

视频生成还需要时序证据。逐帧看起来精美并不能说明跨帧物体身份和背景稳定;相邻帧像素差也不能单独代表一致性,因为真实运动会产生差异。应报告固定时长、帧率、分辨率下的推理成本,并把静态场景与快速运动分组。6GB 显存可以先分析公开短片或阅读采样代码,大规模视频模型从零训练不适合作为第一项本科实验。

练习与可负担的小实验

理解题一:冻结基础模型为什么仍然可以学会新控制?理解题二:视频每帧与第一帧都很像,是否说明生成优秀?理解题三:零卷积输出为零时,为什么它的参数仍可能更新?回答时分别使用特征增量、静态退化解和求导解释。

论文比较任务:ControlNet 与 SVD 各复用了什么先验,各增加了哪类信息,训练数据需要什么配对,最关键的消融控制了什么变量?要求同时给出一个两篇论文不能直接比较的指标,并说明原因。

实验设计:选取少量许可明确的线稿或自己画的几何轮廓,固定提示词与种子,观察控制强度变化。若有预生成短片段,可逐帧标注颜色变化、物体消失及运动停止,不需要重新训练视频模型。将成功与失败全部保留,记录条件图分辨率、预处理参数和模型版本。小样本实验的目标是建立诊断流程,不是发布模型排名。

提示答案

冻结模型仍可接收可训练分支改变后的中间特征。静止视频虽然不闪烁,却可能违背运动任务。零卷积对权重的导数由输入特征决定,不等于当前输出。比较题中,空间条件忠实度与视频视觉偏好回答不同问题。若强控制使轮廓更准却引入不自然纹理,应报告这个取舍;若改用更清晰的条件图改善结果,则首先说明了条件质量的重要性。

方向选择、阅读路线与组会

对交互工具感兴趣,可从编辑保持性与冲突条件入手;喜欢时序建模,可研究短片段一致性、运动评价与数据筛选。日常工作有大量条件标注、失败归类、评价器检查和推理脚本管理。需要的基础是图像坐标、注意力、概率采样和实验对照。视频训练常需要较大资源,本科入口可以是固定模型的条件敏感性分析,或对公开生成结果设计更清晰的评价协议。

阅读顺序是上一章的潜扩散数据流、ControlNet 图二和零连接公式、条件忠实度评价,再读 SVD 的数据与训练阶段。组会不要从一段炫目视频开始就跳到结论;先播放输入条件,再展示完整输出,最后逐帧指出一处成功和一处失效。一个合格研究问题可以很小,例如“评价器能否区分真正运动一致与静止复制”,只要能给出明确协议与反例,就具备进一步研究价值。

第三次组会衔接:迭代编辑必须评价非目标区域

每步编辑都可能改变不希望改变的对象,下一步又把这些变化作为条件。保存中间图,分别检查指令目标、空间关系和背景保持。二维掩码限定位置,不能单独表达深度顺序;几何先验也可能错误。实验需固定输入、随机种子与采样预算,比较有无几何条件,并单列错误先验下的失败。 [m03_phyedit]

这段为教学分析;对应原论文机制与阅读边界见第三次组会专题。用自己的话写出输入、输出和一项可控制的变量,再进入专题练习。

R16 深度估计与多视图几何

研究问题:从平面图像中恢复距离

深度估计输入单张或多张图像,输出每个像素对应的场景距离;多视图立体还通常输入相机内外参数,利用不同视角的对应关系恢复结构。首先要问输出的“深度”是什么:沿相机光轴的距离、沿射线的距离、逆深度还是仅保持远近关系的相对值?这些量不能直接互换。一张看起来合理的彩色深度图,不足以证明它能支持尺寸测量或机器人避障。

回顾图像与坐标、卷积特征、成像与重建。针孔模型把三维点投影为 u=f_x X/Z+c_x、v=f_y Y/Z+c_y。相机内参描述焦距和主点,外参描述坐标系之间的旋转平移。常见错误是把世界到相机的变换当成相机到世界使用,导致所有点看似合理却出现在错误位置。先用一个位于光轴上的点检查投影,是最便宜的调试方法。[szeliski]

视差给了我们什么,又失去了什么

在经过校正的平行双目中,Z=fB/d,B 是基线,d 是左右图像视差。教学例子取焦距八百像素、基线零点一米、视差四十像素,深度就是两米。视差变成二十像素时,深度变为四米。若视差只有几个像素,一点匹配误差就会造成很大的距离误差,这解释了远处物体为什么更难估计。

单张图没有这种直接三角关系。同样大小的投影既可能来自近处小物体,也可能来自远处大物体。单目模型利用类别尺寸、透视、遮挡和训练数据的统计先验作预测;有些模型输出尺度不确定的深度。若没有额外标定或度量监督,就不能把预测数值直接解释成米。评价中允许按真值对齐尺度时,必须明确说明,否则会高估实际部署的测量能力。

多视图方法寻找能让不同图像一致的深度假设。对于参考像素,试一个深度,把三维点投影到其他视图,比较特征是否相似。每个深度得到一个代价,堆成代价体,再使用局部与全局上下文消除歧义。弱纹理墙面、重复窗户、反光和遮挡都破坏简单匹配;神经网络可以学习先验,却不能凭空产生未被观测的证据。

路线与经典演进

传统多视图几何明确建模投影与对应,学习式立体把特征和代价聚合交给网络。MVSNet 以相机视锥内的深度假设组织代价体,使无规则多视图输入能参与可微训练。[mvsnet] 自监督单目路线不用逐像素深度真值,而以相邻帧重投影误差监督深度和位姿;Monodepth2 聚焦损失中的遮挡与运动问题。[monodepth2]

SLAM 中深度与相机运动互相依赖,ORB-SLAM 提醒我们,估计深度不是孤立的图像回归,而可能是持续的数据关联问题。[orbslam] Depth Anything 则代表利用大规模数据与表征先验提升单目泛化的路线。[depthanything] 前者强调几何观测,后者强调跨图像分布的先验,两类证据都重要。新模型在陌生场景表现好,不意味着度量尺度、透明物体和极端相机内参已经全部解决。

精读一:MVSNet 的代价体为何放在视锥中

阅读缓存 PDF 第五至八页及第十、十一页。第三点二节的可微单应变换把不同视角特征搬到参考相机的候选深度平面,随后使用方差聚合多视图信息。若各视图在正确位置看到了同一表面,特征通常更一致;若深度假设错误,采到的位置不一致,方差可能更大。这是几何与学习结合的关键,而不是简单把多张图拼成更多通道。[mvsnet]

核心图是网络流程图与图三的深度融合过程:图像特征形成代价体,经三维正则化得到深度概率,再估计深度并做参考图引导的残差细化。概率加权期望能提供连续深度,但若两个远离的深度都有较高概率,均值可能落在不存在的表面中间。观察概率曲线的形状,比只看最终深度图更能理解这种失败。

原文在 DTU 的独立评估扫描上计算准确性、完整性及其综合量,并展示过滤前后深度与融合点云。第十一页表一显示一种方法可以准确性更高却完整性较低,说明“只保留最有把握的点”会改变指标取舍。论文也考察向 Tanks and Temples 的迁移。比较前必须记录输入视图数、深度采样范围、图像分辨率和融合过滤阈值,因为这些设置直接影响结果。

局限包括代价体随像素数、深度假设数和通道数增加而占用大量显存;真实深度若不在候选范围内,概率再尖锐也可能是错误答案。相机参数误差、遮挡与反射还会破坏特征对齐。论文的边界细化旨在改善过平滑,但不能把所有细节恢复都归给这一模块。作者实现见MVSNet 仓库,其中还包含后续版本,复现时要区分原始与扩展配置。

精读二:Monodepth2 怎样避免错误监督

阅读缓存第三至七页,重点看图三和第三点二节。模型根据当前帧预测深度,根据相邻帧预测位姿,再把源图像重投影到当前帧。像素重建误差提供训练信号,但只有几何和光度假设成立时,这个信号才可靠。图三展示最小重投影、自动掩码和全分辨率多尺度监督,三项改变都针对这种可靠性问题。[monodepth2]

最小重投影在多个源视图的误差中逐像素取最小值:一个点在前帧被遮挡、后帧可见时,不让被遮挡视图强迫网络产生错误深度。自动掩码把重投影误差与不做几何变换的图像误差比较,用于排除不符合相机运动假设或没有有效视差信号的像素。它不是自动恢复运动物体的真实几何,而是减少误导性的训练监督。

全分辨率多尺度策略把各尺度深度上采样后在输入分辨率计算重投影,缓解低分辨率外观损失带来的纹理复制。实验区分单目、双目与混合训练,表一中这些监督条件不能忽略。KITTI 评价还需核对划分、裁剪、深度截断和尺度处理;没有协议的一串误差值缺少可比较性。

局限由训练信号直接带来:动态物体、非朗伯反射和光照变化仍可能破坏假设,掩码会使部分区域缺少监督,单目尺度歧义仍存在。论文证明合理设计损失能显著改善表现,并不证明监督越少越优。作者入口是Monodepth2,建议先读单图推理与深度评价,再阅读训练循环中投影和掩码的具体实现。

进阶:推导视差误差与重投影数据流

对 Z=fB/d 求导得到 dZ/dd=−fB/d²。小误差近似为 |δZ|≈fB|δd|/d²,因此同样一个像素的视差误差,在远距离会被放大。这个推导假设内参和基线已知且双目已校正;若标定也有误差,需要增加相应误差项。

point_target = depth * inverse(K_target) @ pixel_homogeneous
point_source = R @ point_target + translation
uv_source = project(K_source @ point_source)
reconstruction = bilinear_sample(source_image, uv_source)
loss = photometric(reconstruction, target_image)

代码省略了批次与像素维度,实际实现必须处理出界坐标、负深度和遮挡。双线性采样可求导,不代表所有像素都可见。首先用已知平面的合成两视图检验重投影,再处理真实照片,比直接观察训练损失更容易发现坐标错误。

实验判断:单目深度的尺度与多视图的标定

单张图像无法仅凭投影区分一间微缩房屋与相似视角的大房屋,因此单目深度常存在尺度歧义。评测如果为每张图寻找最佳比例再算误差,展示的是形状估计能力,并非无需标定的绝对测距。多视图可利用视差约束深度,但基线长度、焦距、畸变与同步误差都会传入结果。比较论文前要先确认它们是否使用相机内参、是否在测试时做尺度对齐。

可以用 X06 手算:固定焦距与基线时,深度与视差成反比;远处视差小,同样一个像素的测量误差会带来更大的深度误差。随后改变基线而保持物体位置,观察误差如何变化。这个简化模型不含遮挡和反光,只能解释几何敏感性。真正的小实验还要单列无有效深度或不可见区域,避免只在容易测到的位置评价。

理解、论文比较与小实验

理解题一:焦距相同、视差减半时深度怎样变化?理解题二:单目模型输出一百,为什么不能直接解释成一百米?理解题三:把所有低置信度点删除,点云评价是否一定变好?每题都应明确所采用的深度定义和评价指标。

比较任务:对照 MVSNet 与 Monodepth2 的训练和推理输入,分别标出相机参数来自哪里、监督来自哪里、遮挡如何处理。再解释为什么一个输出参考视图深度的多视图网络,不能不改结构就当作单张图像模型使用。

实验设计:用本单元投影小实验固定焦距和基线,扫一组深度,加入相同幅度的视差扰动,画出深度误差随距离变化。进一步选一个已训练单目模型的预测,分别在尺度对齐前后评价,观察两者回答的问题。整个实验可以使用小数组和预生成结果,不需要训练深度网络。

提示答案

在校正双目条件下深度加倍。单目输出可能是相对深度或逆深度,必须查看模型定义及标定。删除点可能提高准确性却损害完整性。比较题的关键是已知多视图几何与学习得到的单目先验不同。尺度对齐后评价主要考察形状关系,未对齐评价还考察尺度;两种分数都应说明用途。

方向选择与阅读路线

喜欢几何推理可研究标定、可见性和多视图融合;喜欢表征学习可研究跨域单目深度;喜欢系统可把深度接入重建和导航。日常工作包括检查相机参数、点云坐标、有效像素和评价裁剪,往往比换骨干更耗时。基础需要线性代数、坐标变换与误差传播;本科入口是标定敏感性、深度置信度或错误区域分析,而非从零训练基础模型。

先读投影与视差例子,再读 MVSNet 的代价体和融合图,随后读 Monodepth2 的图三与监督消融。组会带来一张原图、一张深度、一幅重投影误差和一处失败区域,逐项解释它们的坐标及单位。最终提出一个可测的问题,例如“低纹理区域的高置信度是否真的可靠”,并给出单独评估该区域的协议。

R17 SfM 与视觉 SLAM

研究问题:相机在哪里,世界是什么样

运动恢复结构即 SfM,输入一组有重叠的照片,输出相机位姿和三维结构;视觉 SLAM 输入持续到来的图像或图像加惯性测量,在线估计自身位置并维护地图。两者共享特征匹配、三角化和优化,但工作约束不同:离线重建可以回看全部照片,在线系统必须在新帧到来前给出可用估计,还要处理跟踪丢失和重新进入旧场景。

先复习坐标与图像、可靠评价、系统与部署。本章需要知道旋转、平移、相机投影以及最小二乘;可以先把矩阵当成把点从一个坐标系搬到另一个坐标系的函数。读教材中的多视图几何与束调整,再进入具体系统,会比直接记住所有模块名称更容易。[szeliski]

从两条视线到整张地图

两个相机看见同一个角点,每个像素定义一条空间射线。理想情况下射线交于真实三维点;存在噪声时,我们寻找最能解释两次观测的位置。相机位置若也未知,就必须同时估计相机与点。这是一个相互约束的网络,而不是“先完全解决相机,再完全解决场景”的简单串联。

束调整最小化重投影误差 E=∑ρ(‖u_ij−π(K_i,R_i,t_i,X_j)‖²)。u_ij 是第 i 张图看到第 j 个点的位置,π 是投影,ρ 是降低离群点影响的鲁棒损失。假设预测像素是十和二十,观测是十一和十八,则残差为一和负二,平方误差为五。这个小例子说明优化比较的是图像平面上的误差,不是直接比较三维点之间的距离。

单目几何有尺度自由度:把所有空间点和相机平移同时放大一倍,投影不变。全局旋转和平移也可以改变而不改变相对观测。因此必须固定参考坐标,评价时还要说明是否允许尺度对齐。没有这些约定,同一条轨迹可以看上去完全不同,也可以在过度对齐后掩盖实际误差。

系统分工与经典演进

SfM 通常经历特征提取、图像匹配、几何验证、初始化、增量注册、三角化与束调整。失败不总出在优化器:若重复纹理造成假匹配,后端可能在错误数据关联上得到很低残差。COLMAP 的工作重新审视增量重建中的稳健性、完整性和效率,强调下一视图选择及多种重建操作之间的配合。[colmap]

视觉里程计关注连续运动,SLAM 还利用回环和旧地图纠正长期漂移。ORB-SLAM 用同一类特征支持跟踪、建图与地点识别,形成可分析的系统结构。[orbslam] ORB-SLAM3 扩展到视觉惯性、多地图与更一般的相机模型,处理失跟后的新地图建立与旧地图融合。[orbslam3] 学习式深度可补充几何先验,但先验自身的尺度和分布偏差仍需检查,不能把接入深度模型等同于完成可靠 SLAM。[depthanything]

另一条分类轴是特征法与直接法:前者用关键点和描述子关联,后者更直接利用像素亮度。二者都依赖有效观测,只是残差与假设不同。选择研究题目时,还应区分相机跟踪、闭环检测、地图表示、传感器融合和实时系统,不宜把所有改动都概括成“做 SLAM”。

精读一:COLMAP 为什么不只按匹配数量选下一张图

《Structure-from-Motion Revisited》缓存第三至七页重点讨论挑战、下一视图选择和高效束调整。图三展示相同或相近点数在图像中分布不同时的得分:很多点挤在小区域,通常不如覆盖广泛的点约束稳健。下一张图一旦位姿错误,会影响后续三角化与注册,误差可能沿增量过程扩散。[colmap]

论文用多分辨率覆盖思想同时考虑观测数量与空间分布,而不只选“看到最多三维点”的相机。阅读这一段时,自己画两组二维点,一组集中在角落,一组分布全图,思考它们对焦距、旋转和平移的约束差别。这个思考把启发式评分与可观测性联系起来,比背一个评分公式更有用。

束调整部分还讨论直接与迭代求解、利用问题稀疏结构以及对高度重叠图像进行分组以减少计算。第七页实验分别关注完整性、稳健性、准确性和效率,并对多种数据集合比较。论文的贡献来自多个环节组合;只复现最后的重投影误差,不能证明所有图像都被成功注册,也不能说明运行时间具有相同优势。

限制来自观测条件和初始化。纯旋转或极小基线导致三角化不稳定,重复结构与弱纹理影响关联,大规模无序照片还增加匹配成本。稀疏 SfM 点云也不是完整表面,不能与后续稠密多视图重建混淆。官方入口是COLMAP,当前软件已经继续演进;论文复现需记录版本和配置,不能把当前默认行为全部归于早期论文。

精读二:ORB-SLAM3 怎样把失跟变成可恢复事件

阅读缓存第五至十二页,重点是系统框架、相机模型、视觉惯性估计和地图融合。其 Atlas 维护活动地图与其他地图:暂时失去跟踪时可以创建新地图,日后找到可靠的跨地图关联再融合。核心系统图应当被读成多个线程的数据流,而非一个从左到右只运行一次的神经网络。[orbslam3]

视觉惯性联合优化把图像重投影与惯性约束放在同一估计问题中,并处理速度、重力、偏置和尺度等变量。惯性信息不能神奇地消除所有错误:传感器时间同步、外参和偏置都影响融合,运动激励不足时部分量也难以估计。阅读初始化时要问“当前有哪些量未知,哪些观测能约束它们”。

第十页地图融合先在连接区域构造局部窗口,消除重复地图点并做局部束调整,再通过图优化传播校正。它说明闭环不是简单把轨迹终点拉回起点,而是更新相机、点与关联关系。第六页还将投影、反投影及雅可比从系统中抽象出来,支持针孔与鱼眼模型;这类接口设计是系统研究的重要贡献。

实验在 EuRoC 与 TUM-VI 等序列上比较轨迹,区分单目、双目与惯性组合。表格包含失败或未报告项目,平均误差需要连同成功序列一起解释。某方法只完成容易序列时,较低平均值并不能证明整体稳健。跟踪误差、失跟次数、恢复时间和计算延迟分别回答不同问题。论文展示多地图带来的恢复能力,结论仍受动态物体、模糊、遮挡与标定质量限制。

进阶:为何联合优化看似很大却能利用结构

把相机参数增量记为 δc,点参数增量记为 δp,线性化正规方程可分为四块。因为一条观测只涉及一台相机和一个点,点与点之间没有直接观测耦合。可先消去 δp,求较小的相机系统,再回代更新点,这就是束调整中 Schur 补思想的直觉。它并没有消除非线性,只是高效求解一次局部近似。

for frame in stream:
    matches = associate(frame, active_map)
    pose, inliers = estimate_pose(matches)
    if tracking_is_reliable(inliers):
        update_local_map(frame, pose)
    else:
        relocalize_or_start_map(frame)
    verify_loop_candidates_before_optimization()

上面是流程伪代码,不表示真实系统所有操作都串行。阅读ORB-SLAM3 作者仓库时,先对照传感器配置、标定与示例序列,再查看线程与地图对象。配置错误造成的漂移不应误诊为算法本身无效。

实验判断:轨迹能对齐不等于地图可信

SLAM 论文中的绝对轨迹误差通常在估计轨迹与真值对齐后计算。对齐方式可能消除全局旋转、平移,单目设置还可能消除一个整体尺度;这适合比较轨迹形状,但不说明系统在真实坐标系中直接输出了准确位置。局部重投影误差也可能很低,却因重复纹理或错误匹配形成结构不对的地图。报告时应同时检查回环前后的轨迹、地图覆盖和失败重启事件。

本科可以选择一段包含快速转弯和重复走廊的短视频,固定特征检测与相机标定,只改变匹配阈值,记录跟踪丢失次数、恢复时间及最终地图中明显的重复结构。公开数据若没有准确时间戳,不能把帧编号当真实秒数计算速度。设备与算法的失败边界比只报平均轨迹误差更接近日常系统工作。

理解题、比较任务与实验设计

理解题一:只绕相机中心旋转,为什么难以恢复可靠深度?理解题二:重投影误差很低,为什么还可能有错误地图?理解题三:评价单目轨迹时允许尺度对齐,会隐藏哪一种能力差异?每道题尝试画一个几何反例,避免只写抽象名词。

比较任务:对照 COLMAP 与 ORB-SLAM3 的输入顺序、实时要求、失效恢复和评价指标,指出哪些模块思想可以共享,哪些假设不同。再解释为什么不能把离线处理全部图片后的结果与在线每帧结果只按最终精度排名。

实验设计:使用小型合成相机轨迹与三维点,逐渐增加像素噪声、减少基线或加入少量错误匹配,比较残差、估计偏差和有效点数。也可以在已有轨迹文件上分别执行刚体对齐与相似变换对齐,观察评价变化。普通电脑足以完成这些实验,无需购买机器人或训练大型网络。

提示答案

纯旋转主要改变射线方向而不提供足够的三角化基线。低残差可能对应错误关联、退化配置或只解释少部分数据。尺度对齐会移除全局尺度误差,因此适合比较轨迹形状,却不能证明输出具有度量尺度。论文比较应讨论离线全局信息与在线时限。实验报告应保留失败运行,不能只平均收敛成功的随机种子。

方向选择与组会准备

喜欢数学可研究几何估计、鲁棒优化和可观测性;喜欢工程可研究同步、性能和故障恢复;喜欢学习方法可研究特征匹配与几何先验结合。日常工作包括校验坐标系、时间戳、相机模型和日志,很多有效改进来自这些细节。基础需要线性代数、概率、优化和基本系统编程。本科项目可以围绕一个退化场景或一种评价差异,建立清晰的诊断实验。

阅读先从针孔模型与三角化开始,再读束调整目标、COLMAP 下一视图选择,最后读 ORB-SLAM3 多地图流程。组会展示轨迹时同时画坐标轴、真值、估计和失败区间,说明对齐方式与单位。好的讨论题不是“能否做更准的 SLAM”,而是“在低基线片段中,系统何时应该拒绝建点,并以什么证据恢复”,因为后者可以设计观测与验证。

R18 NeRF 与 3D Gaussian Splatting

研究问题:从有限照片生成新的观察位置

新视角合成输入一个静态场景的多张照片、相机内参与位姿,输出从新相机位置看到的图像。它不要求首先得到可制造的封闭网格,也不等于生成一个从未见过的物体。关键问题是:如何存储三维场景,才能既解释已见图像,又在未见视角保持遮挡和外观一致?本章沿隐式辐射场与显式高斯两条路线回答。[nerf][gs]

先复习L03 自动微分、L09 图像评价、L29 注意力基础。基础包括相机射线、函数拟合和链式法则;读不懂积分时可先用三个透明色块叠加理解渲染。多视图几何教材帮助判断位姿是否可靠;本章假定相机已给定,不能把相机误差一概归因于场景表示。[szeliski]

用透明色块理解体渲染

一条射线穿过多个位置,每处有颜色与不透明度。前方越不透明,后方对像素贡献越小。离散公式为 C=∑ᵢTᵢαᵢcᵢ,Tᵢ=∏ⱼ<ᵢ(1−αⱼ)。假设前方红色块不透明度为零点五,后方蓝色块为零点八,则红色贡献零点五,蓝色贡献零点四,剩余零点一来自背景。先后顺序不能交换,因为遮挡改变了透射率。

NeRF 让网络输入位置 x 与方向 d,输出密度 σ 和颜色 c。密度只依赖位置,颜色允许依赖观察方向,这让同一位置在不同角度出现高光。密度不是直接的不透明度,二者由 α=1−exp(−σδ) 联系,δ 是采样间距。若缩短间距却保持每个点原来的 α,整条射线会被错误地变得更不透明。

训练时渲染已知相机的像素,与照片作差,再把梯度传回场景。因为监督来自投影,同一组照片可能对应多个近似解。训练图像清晰只是必要证据,测试视角、遮挡边界和连续运动轨迹才更能揭示模型是否学到一致场景。三维展示看起来合理,也不能直接证明恢复了真实表面。

路线演进:函数、网格与显式基元

早期图像重投影依赖可靠几何,离散体素则容易受到内存限制。NeRF 用小型网络存储连续场景,位置编码缓解高频细节难拟合的问题,分层采样把更多计算放到有贡献的位置。Mip-NeRF 进一步处理像素覆盖范围与尺度变化,提醒我们像素不是无限细的射线。[nerf][mipnerf]

另一类工作把特征放进可查询空间结构,减少每个采样点的网络成本。Instant-NGP 的多分辨率哈希编码体现了用存储换计算的思路。三维高斯泼溅进一步显式保存位置、形状、透明度和方向外观,用投影与光栅化获得很快的显示速度。它仍优化一个场景,而非自动掌握所有场景的通用模型。[instantngp][gs]

研究细分可以沿质量、速度、存储、稀疏输入、抗混叠、几何提取和编辑组织。不同方向的成功指标并不相同:实时浏览需要尾部延迟稳定,表面重建需要几何距离,移动设备需要限制内存。只写“提高 PSNR”会遗漏方法真正服务的使用场景。

精读一:NeRF 如何把照片误差传回空间

精读原文第三至六节,缓存第四至十三页。图二把射线采样、网络查询、颜色合成与训练损失连成闭环。先沿图找出“哪些量来自相机、哪些量由网络预测”,再读公式一和三。它们把连续体渲染积分转换为可微的加权求和,权重同时由当前位置密度和前方遮挡决定。[nerf]

第五节的两个设计必须分别理解。位置编码将坐标变成多频率正弦和余弦特征,让网络更容易表示细节;它并未创造新的观测。粗网络先给出沿射线的权重分布,细网络在高贡献区域增加采样。粗网络也受到颜色损失监督,否则用于采样的分布可能没有意义。图四与消融表二分别检验方向依赖、位置编码和分层采样,而不是只展示最终系统。

实验协议区分合成物体和真实前向场景。真实场景包含八个场景,每个有二十至六十二张图,每八张留一张测试;合成复杂物体使用一百个输入视角和二百个测试视角。每个场景分别优化,不能把这个结果当成跨场景零样本泛化。表一同时报告 PSNR、SSIM 与 LPIPS;真实前向数据上 LLFF 的 LPIPS 更低,说明“所有指标都优于基线”不是准确概括。

原实验单场景优化约需一至两天 V100 时间,这只是论文协议,不是今天每种实现的承诺。限制包括静态假设、准确相机、训练和渲染成本以及未观测区域的不确定性。方向相关颜色能够拟合反射外观,但不等于完成材料和光照的物理分解。作者代码见NeRF 仓库,复现时固定数据处理和坐标约定。

精读二:三维高斯为什么既能优化又能快速显示

阅读第三至七节,缓存第四至十页。图二从 SfM 稀疏点开始,交替执行可微渲染、参数优化和密度控制。一个高斯包含均值、协方差、不透明度与球谐颜色。公式六用旋转与正尺度构造协方差 Σ=RSSᵀRᵀ,避免直接更新矩阵后破坏其半正定性质。投影公式五通过局部雅可比把三维椭球映成二维椭圆。[gs]

图四说明增加基元不是随机加点:小高斯覆盖不足时复制,大高斯难以表达细节时分裂;透明或过大的基元被删除。要区分这里的“高斯密度”与 NeRF 的体密度,前者涉及空间中基元数量,后者进入光学累积。第六节按图像块组织基元、依据深度排序后做透明度混合;排序并非每像素重新进行,所以这是兼顾效率的近似。

表一覆盖 Mip-NeRF360、Tanks and Temples、Deep Blending,按每八张留一张的协议报告图像指标、训练时间、帧率和参数存储。原文明确部分 Mip-NeRF360 指标来自原论文,其他比较来自作者运行;硬件也有例外,不能把整张表解读成完全相同设备上的直接计时。七千与三万次迭代展示时间质量折中,表三再检查初始化、分裂、复制、各向异性和球谐外观。

局限包括弱覆盖区的漂浮物、初始化依赖、复杂视角外观和显式存储成本。渲染速度很快并不意味着表示一定很小。论文在合成场景尝试随机初始化有效,也不能据此断言真实无界场景不需要 SfM。作者代码见Gaussian Splatting,应分别记录图像分辨率、最终高斯数和显存峰值。

进阶:梯度、透射率与最小实现

若前方 α 增大,当前颜色贡献提高,同时所有后方贡献降低。因此对 α 的梯度既取决于当前颜色,也取决于它遮挡的背景颜色。只有把前后关系一起求导,模型才可能将错误的半透明层移走。数值实现使用累乘时应检查接近零的透射率,并用足够精度避免长射线累积误差。

rgb, trans = 0.0, 1.0
for sigma, color, delta in ray_samples:
    alpha = 1.0 - exp(-sigma * delta)
    rgb = rgb + trans * alpha * color
    trans = trans * (1.0 - alpha)
rgb = rgb + trans * background

此伪代码只解释合成,不包含采样器、网络和高效内核。可以用有限差分验证一个密度参数的梯度,再接自动求导;直接运行大型仓库而不检查这一步,往往很难定位黑图、白图与透明度饱和。

实验判断:新视角质量必须离开训练相机

新视角合成必须在未用于优化的相机位姿上测试。若测试图片来自同一条几乎重合的轨迹,模型可以靠插值取得好看结果,远距离外推或遮挡变化仍可能失败。应记录训练视角数量、相机姿态质量、输入分辨率、裁剪方式和每张图的渲染时间;只给单一平均 PSNR 会掩盖某些视角的大面积空洞。NeRF 与高斯表示的模型存储体积也应与图像码流分开记账。

X06 的相机投影实验适合先验证坐标、焦距与视差;之后可以拿三个带已知位姿的小场景画出相机中心,把留出的测试相机标成另一种颜色。若位姿估计本身有误,应先量化它,再讨论渲染误差。把不准确相机标定造成的重影归因于表示能力不足,会让实验方向完全偏掉。对于 6GB 显存设备,优先分析小分辨率预训练场景与渲染日志,完整大场景训练属于后续工作。

理解题、论文比较与实验设计

理解题一:交换两个半透明层,最终颜色为何改变?理解题二:密度不依赖视角而颜色依赖视角,各保护了什么性质?理解题三:测试 PSNR 上升却出现连续视角闪烁,应该如何解释?先用本章数字例子手算,再说明哪些现象无法由单帧指标捕获。

比较任务:把 NeRF 与高斯方法放在同一输入视角、测试划分和分辨率下,比较表示、渲染、优化、存储与退化行为。禁止用原论文两张不同数据集的表直接得出速度倍率。特别说明一个网络查询次数和一个高斯数量如何分别影响成本。

实验设计:先在普通电脑实现三层透明度合成,改变顺序和采样步长;有单卡时再选择一个小场景,只改变训练视角数量或高斯增密阈值,报告未见视角误差、运行时间和存储。保留相同测试图,展示边缘裁剪与失败视角,至少重复不同随机种子。

提示答案

先后顺序改变到达后层的光比例。视角无关密度鼓励共享空间结构,方向颜色表达高光等外观。单帧误差未约束跨视角变化速度,闪烁需要连续轨迹或一致性评价。比较必须控制输入信息与输出分辨率;步长减半时应由密度重新计算 α,而不是复制原 α。

选择方向与阅读路线

喜欢图形学可从渲染和抗混叠进入,喜欢学习可研究先验与稀疏重建,喜欢系统可研究排序、压缩与移动端显示。日常工作包含校准照片、可视化相机、检查背景和坐标尺度,常常比更换网络更影响结果。本科生适合做一个有对照的小场景诊断;不必从完整城市重建起步。

算力可分层安排:透明度与投影实验用 CPU,低分辨率单场景用可用 GPU,完整论文比较再考虑较大显存与长时训练。预算必须包括场景存储和渲染输出。阅读顺序是相机射线、NeRF 图二和公式三、其消融,再读高斯投影、增密和性能表,最后选择一个具体失败条件写成可验证问题。

R19 点云理解

研究问题:没有固定排列的三维点如何进入网络

扫描仪得到的是一组空间坐标,可能附带颜色、强度和法向量。数组中的第一行并不天然代表物体左上角;换一次采样,同一个椅子的点数和顺序都可能改变。点云理解因此需要同时处理集合、几何和语义:分类回答整个物体是什么,部件分割回答每个点属于哪个部件,场景分割则标注墙面、地板和家具。本章从 PointNet 的对称聚合走到 Point Transformer 的局部关系建模。[pointnet][pointtransformer]

先复习L02 张量与形状、L07 卷积网络和L29 注意力基础。数学入口是向量、距离、逐元素最大值和加权平均。三维坐标只是数值,不会自动让网络理解距离;必须看计算图中哪里把空间关系加入特征。读综述时用“点、体素、图、投影”整理表示方式,比按年份背模型名称更有效。[point_survey]

从三个点理解不变性与等变性

假设三个点经过共享函数后得到二维特征,分别为二和一、一和四、三和零。逐通道取最大值,得到三和四;无论三行怎样打乱,这个全局向量都不变。若将点特征直接按行拼接,换序后输入向量变化,普通全连接网络没有理由输出相同结果。因此分类应满足 f(PX)=f(X),其中 P 是置换矩阵。

分割的要求不同:调换点顺序时,预测标签也应跟着调换,即 F(PX)=PF(X)。这叫置换等变,不能要求每一行输出保持原样。实现测试时先保存置换的逆映射,将打乱后的预测还原,再比较误差。把两种要求混为一谈,会得到看起来“通过测试”但标签对应错误的代码。

再看旋转:将椅子绕竖直轴旋转,语义一般不变,但空间坐标会改变。置换不变性不推出旋转不变性。训练中的旋转增强、输入对齐网络和严格旋转等变结构是三种不同保障。对于地面识别,高度和重力方向又有意义,随意增强所有三维旋转可能破坏任务定义。

路线演进与研究细分

体素方法把点映到规则格子,方便共享卷积,但细分辨率需要更多空间;多视图方法利用成熟二维特征,却需要解决投影遮挡和跨视图对应。PointNet 直接处理点集合,用共享映射与全局池化避开输入栅格化。PointNet++ 在局部邻域重复集合学习,使网络能够逐层积累几何尺度。[pointnet][pointnet2]

Point Transformer 用相对坐标和局部向量注意力决定邻域中各点的贡献。它的优势来自具体的空间设计,不能简化成“把二维 Transformer 换成三维输入”。研究问题进一步分为不均匀密度、稀疏扫描、跨传感器迁移、大场景效率、开放类别理解和几何压缩。OctAttention 研究八叉树上下文的编码概率,与本章识别任务共享空间数据,却优化不同目标。[pointtransformer][octattention]

精读一:PointNet 的对称函数如何变成识别网络

阅读原文第四、五节,缓存第三至七页。图二包含分类和分割两条支路:每个点使用同一组多层感知机参数,得到逐点特征;最大池化形成全局摘要;分类头从摘要输出类别。分割支路将全局摘要广播并拼接回逐点特征,让一个点的判断同时依赖自身位置和整个形状。公式一可写成 f(X)=γ(maxᵢh(xᵢ)),最大值在每个特征通道独立计算。[pointnet]

输入变换网络预测坐标对齐矩阵,特征变换网络则对齐更高维特征。公式二的正则项为 ‖I−AAᵀ‖²,用来鼓励特征变换接近正交。它减轻变换丢失信息和优化不稳定的问题,但没有证明训练后的模型对任意旋转完全不变。读方法时要区分网络结构已经保证的性质和训练期希望学到的性质。

第四节的理论分析说明,在连续集合函数与足够宽特征等条件下,这类结构有逼近能力;关键点集合的大小受到池化通道数限制。直觉上,每个通道选出一个最强响应点。但不能把结论改写成“删除任何点都不影响分类”:删除关键点会改变最大值;新增异常点也可能产生更大的响应。条件是论证的一部分,不能随结论一起省略。

实验在 ModelNet40 中按物体划分训练和测试,使用九千八百四十三个训练模型、二千四百六十八个测试模型;每个模型按表面积采样一千零二十四点并归一化。表一整体准确率为百分之八十九点二,类别平均准确率为百分之八十六点二。表二研究 ShapeNet 部件分割,计算每个形状的部件交并比再聚合;不要把整体正确点比例当成同一个指标。

图五的聚合与对齐对照帮助判断对称操作是否必要;鲁棒性实验进一步考察缺点、噪声和异常点。原文指出与多视图方法仍有差距,并讨论精细几何信息。有限维全局池化容易弱化邻域关系,这也是后续局部建模的重要动机。原始作者代码使用 TensorFlow,课程中的 PyTorch 重写应标明为教学实现,不能冒充原实验环境。

精读二:Point Transformer 为什么把相对位置放两次

阅读第三、四节,缓存第三至八页。图二画出点注意力层,图三和图四分别说明分层编码器、分割解码器以及上下采样。核心公式三为 yᵢ=Σⱼρ(γ(φ(xᵢ)−ψ(xⱼ)+δᵢⱼ))⊙(α(xⱼ)+δᵢⱼ),邻居 j 来自局部近邻集合。公式四定义 δᵢⱼ=θ(pᵢ−pⱼ),把几何位置差映射成可学习特征。[pointtransformer]

相对位置参与注意力分支,回答“应重视哪个邻居”;它也参与被聚合的内容分支,回答“传过来的信息带有什么几何关系”。向量注意力允许不同通道使用不同权重,标量注意力则通常给整条特征同一个权重。这里不能忽略归一化维度:对每个中心点和通道,权重应在邻居维度上归一化。

实验同时考察 S3DIS 室内分割、ModelNet40 分类和 ShapeNetPart 部件分割。S3DIS 的 Area 5 留出与六折交叉验证是两套协议,表一的百分之七十点四与表二的百分之七十三点五不能当作同一测试集上的不同模型结果。分类中还使用法向量,比较只用坐标的 PointNet 时必须注明输入信息不同。

表五改变邻居数量,十六邻居在该实验中比四、八、三十二和六十四表现更好,说明邻域越大并非越好。表六去掉位置编码后平均交并比下降,相对位置同时进入两支优于仅进入一支;表七比较聚合算子。这些证据支持局部设计的作用,但不证明每个传感器和点密度都以同一个邻居数量最优。近邻搜索、采样和中间特征也会占用时间与内存,参数少不能直接推出实际运行快。

进阶:邻域尺度与可复现实现

固定近邻数保证每个局部集合大小相同,但在远处稀疏点云中可能覆盖很大的实际空间,跨过两个不同物体。固定半径保持空间尺度,却可能得到空邻域或大量邻居。应记录点云单位、归一化规则、邻域构造和空邻域处理,否则一次“结构改进”可能只是改变了物理感受范围。

# 教学伪代码:B 个样本,每个样本 N 个点
idx = knn(position, k=16)
delta = pos_mlp(position[:, :, None] - gather(position, idx))
score = weight_mlp(query(feature)[:, :, None] - gather(key(feature), idx) + delta)
weight = softmax(score, dim=2)  # 邻居维度
output = (weight * (gather(value(feature), idx) + delta)).sum(dim=2)

先用只有四个点的小例子检查形状、权重和置换测试,再训练。若使用填充点,必须在搜索、注意力和池化时统一掩蔽;否则补零点可能被误当成真实原点。重复坐标出现距离并列时,还需注意近邻排序的确定性,它会使有限精度测试出现差异。

理解题、对比练习与实验设计

理解题一:为什么共享感知机本身还不能保证分类对换序不变?理解题二:最大池化中没有成为最大值的点是否完全没有作用?理解题三:相对坐标是否自动带来任意三维旋转不变性?先分别从输出形状、梯度与坐标变换回答。

对比练习:将全局 PointNet、局部平均池化、局部向量注意力放在同一分类流程中,写出每种方法的邻域信息来源与计算成本。实验设计:固定物体级划分、输入点数、坐标通道和训练轮数,比较随机丢点与局部遮挡两种退化;至少报告整体准确率、类别均值、每类下降幅度和峰值显存,保留三次随机种子的结果。

提示与参考答案

共享映射产生的仍是逐点序列,需要对称聚合才得到全局不变量。未胜出的点当前可能没有最大池化梯度,但参数共享、其他通道与后续训练状态仍可能使它有贡献。相对坐标消除了共同平移,旋转后向量方向仍改变。对照中固定相同输入尤为重要:若给注意力额外法向量,就无法把收益单独归因于聚合。局部遮挡容易集中删除有语义的部件,随机丢点则可能保留各部件轮廓,因此两种退化即使剩余点数相同,也不应期待相同难度。实验结论应写成特定数据和预算下的观察。

选择方向、算力与本科生入口

喜欢空间推理和数据结构的读者可研究邻域与稀疏计算;喜欢实验分析的读者可从采样密度和传感器偏差进入。基础路线是先掌握矩阵与分类指标,再学习局部图和注意力。普通显卡可从少量点、少类别的小任务开始;完整场景分割需要考虑点数、中间邻域特征及数据加载,不能只根据模型参数估计显存。

本科生的合理入口是复现置换检验,比较两种采样策略,并解释一个错误类别的空间原因。成果应包括输入可视化、固定划分、训练曲线、失败点云和可重复配置;不用把完整榜单成绩作为第一阶段目标。先读综述的表示分类,再读 PointNet 图二及公式一,接着读 Point Transformer 的位置编码和消融表,最后进入大场景效率或点云压缩分支。实验可衔接本单元的X07,但本章理解练习本身不依赖下载大型扫描数据。

R20 三维生成与动态场景

研究问题:三维生成与动态重建共享什么,又区别在哪里

输入一句“穿毛衣的青蛙”,输出可以绕行观看的三维物体,这是三维生成;输入同一个场景在不同时刻的照片,恢复可以改变视角和时间的表示,这是动态重建。两者都需要可渲染的三维表示,却有不同证据来源:前者依赖学到的分布先验,后者还受真实观测约束。本章以 DreamFusion 和四维高斯泼溅说明“先验从哪里来、几何靠什么约束、时间如何进入表示”。[dreamfusion][four_d_gs]

先复习自动微分、概率模型与研究实验。基础版只需掌握链式法则、相机渲染和噪声预测。还未学习体渲染的读者可先看R18。动态场景综述用来整理规范空间、形变场和直接时空表示,不应把所有含时间变量的方法视为同一种四维模型。[dynamic_survey]

一个数值例子:图像梯度如何改变三维参数

设一个极简渲染器只由参数 θ 控制亮度,输出 x=2θ。某次加噪后,扩散模型预测噪声为零点八,真实注入噪声为零点三,权重取零点一。教学化的分数蒸馏更新方向为零点一乘零点五再乘二,得到零点一。以零点二学习率下降一次,参数减少零点零二。这个例子不是完整图像生成,却把“噪声残差经过渲染器导数改变场景”具体化。

冻结扩散模型表示不更新其参数,不表示必须切断所有图像到场景的梯度。DreamFusion 的特定梯度构造省略噪声预测网络的雅可比,仍保留渲染器对场景参数的导数。若把渲染图也全部分离,场景将无从更新;若直接反传普通噪声平方误差,又不是原文的分数蒸馏梯度。[dreamfusion]

动态例子中,一个高斯中心从位置零点二移动到零点五,时间条件形变输出位移零点三。若同时旋转和拉伸,高斯的协方差也要改变,仅平移中心无法表达全部运动。连续输入时间允许查询中间时刻,但“能输入任意时间”不等于“未见时间一定符合真实运动”,这需要独立实验支持。

路线演进:从渲染约束到生成先验与时间形变

NeRF 通过已知照片拟合场景,目标是解释给定观测。DreamFusion 使用冻结二维扩散模型为渲染结果提供优化方向,在没有该物体多视图数据的情况下构造三维内容。Zero-1-to-3 从输入图像与相对视角建立生成条件,体现把相机控制纳入先验的路线。三者的数据条件不同,不能把单图条件重建与纯文本生成放进同一“恢复真值”叙述。[nerf][dreamfusion][zero123]

动态场景既可以直接学习位置、方向与时间到颜色密度的函数,也可以在一个规范空间保存内容,用形变映射描述运动。三维高斯提供显式可投影基元,四维高斯泼溅在其上预测时变位置、旋转和尺度,以保留快速渲染。研究分支由此包括视角一致性、生成多样性、运动分离、时间插值、大运动处理与表示压缩。[gs][four_d_gs]

精读一:DreamFusion 将二维扩散先验转成三维优化

阅读第二至五节,缓存第三至九页。图三把随机相机、光照、NeRF 渲染、加噪和冻结 Imagen 连成循环。每条文本重新优化一个三维场景;它不是一个接收文本后一次前向就输出网格的通用生成器。公式三写作 ∇θL=E[w(t)(ε̂φ(zₜ;y,t)−ε)∂x/∂θ],其中 x=gθ(c) 是相机 c 下的渲染。第二节说明这个方向与概率密度蒸馏目标的联系。[dreamfusion]

第三节的几何设计同样关键。网络预测密度与反照率,通过密度梯度估计法向,再施加可控光照;部分迭代渲染无纹理的白色表面。这样一来,模型不能仅靠在薄平面上画出漂亮纹理满足文本。视角相关提示区分正面、背面和俯视,但它们只是帮助优化的一种条件设计,没有给出真正的三维监督。

实验使用一百五十三条以物体为中心的 COCO 提示,以 CLIP 检索正确描述的比例评估语义对应,分别测彩色渲染和无纹理几何渲染。表一中不同 CLIP 编码器对应不同列,不可混用。由于文本没有唯一三维真值,PSNR 或与某个任选网格的距离不能直接成为生成质量的完整定义。R-Precision 也不是“几何正确率”,其依赖渲染方式、干扰文本和图文编码器。

图六逐步加入视角范围、视角提示、光照及无纹理渲染,显示只看反照率图可能掩盖多面脸与粗糙几何。第五节明确讨论过饱和、过平滑、多样性不足、低分辨率细节及局部极小值。反向 KL 的趋模态倾向是作者对多样性的解释,不能改写成所有蒸馏方法的必然结论。论文以四片 TPUv4、约一万五千次迭代完成单场景优化;普通显卡上的替代复现没有理由直接继承该时间。

原模型依赖 Imagen,不能把某个 Stable Diffusion 复现仓库说成原方法完整开源实现。作者项目页提供结果和论文入口;选择替代先验做实验时,应明确更改了教师模型、渲染器或优化器。能展示相似效果,是方法思想的复现证据,不是所有实验数字的复现证据。

精读二:四维高斯泼溅怎样共享时间信息

阅读第三至第五节,缓存第三至八页。图三给出完整流程:规范三维高斯与时间进入时空编码器,多个形变头输出位置、旋转和尺度变化,更新后的高斯通过可微泼溅渲染。公式七将四维查询分解为 xy、xz、yz、xt、yt、zt 六组二维平面特征,减少直接保存稠密四维网格的开销。公式八说明形变施加到哪些变量,原方法并非为每一帧完全独立保存一套高斯。[four_d_gs]

图四和第四点三节解释先做三千次静态预热,再联合学习形变。预热并不是宣称整个视频静止,而是先建立较合理的空间基元,减少形变网络从糟糕初始化开始的负担。公式九以图像绝对误差和网格总变分正则训练。平滑先验有助于稳定,却可能压低快速或不连续的真实运动,因此需要看误差在时间与空间上的分布。

实验包括 D-NeRF 合成数据、HyperNeRF 与 Neu3D 真实场景,使用单张 RTX 3090。表一合成场景在八百乘八百分辨率下报告质量、训练时间、显示速度和存储;表二与表三使用不同分辨率和采集设置。表三中本方法不是所有质量指标最高,部分比较方法的测试场景或分辨率还有脚注差异。因此应逐列比较并保留脚注,不能将“速度快且质量有竞争力”写成“全面超过所有方法”。

表四移除时空平面、初始化和各形变头,验证模块贡献,其中移除位置形变的影响尤其明显。第五点五节给出明确边界:大幅运动、背景点不足和相机误差会使优化困难;单目情况下静态与动态运动的分离仍有歧义;大量高斯查询使城市场景扩展受限。沿着一个高斯画出轨迹,只说明表示基元随时间移动,不自动证明它跟踪了真实材料上的同一个物理点。作者代码适合核对配置和渲染路径。

进阶:两个优化问题应当使用不同验证集

# 教学伪代码:文本到三维的梯度构造
image = render(scene, random_camera(), random_light())
t, noise = sample_time_and_noise(image)
noisy = alpha[t] * image + sigma[t] * noise
with no_grad():
    residual = frozen_teacher(noisy, text, t) - noise
surrogate = (weight[t] * residual.detach() * image).sum()
surrogate.backward()  # 梯度到 scene,不更新 teacher

这段代码只解释梯度注入,不包含正式渲染正则和完整采样协议。若更换为潜空间扩散,必须把图像编码器的映射纳入梯度路径,而不能直接将潜空间噪声和像素相乘。评估生成时保存所有预先约定种子的转台视频,统计多面结构和提示失败,不只挑一张最佳正面图。

动态重建则应区分未见相机与未见时间。保留同一时刻的新相机检验空间一致性;保留连续时间段检验时间泛化;同时留出两者更难。随机逐帧划分可能让相邻帧泄漏近似信息。报告全部帧的平均指标之外,还应列快速运动、遮挡出现与消失处的误差,防止静态背景占据大多数像素后掩盖动态失败。

理解题、对比练习与实验设计

理解题一:为何冻住教师模型后仍能优化场景?理解题二:彩色图文相似度很高,是否足以证明三维几何正确?理解题三:四维表示的时间插值是否等于预测未来运动?对比练习:从监督来源、每个样本是否单独优化、输出表示和可用真值四个维度比较 DreamFusion 与四维高斯。

实验设计:先用一个简单运动球和已知相机生成小视频,以同一高斯预算比较逐帧独立拟合、共享静态模型和时间形变模型。分别留出视角和时间,测图像误差、模型大小、单帧延迟与运动轨迹误差。再加入相机位姿扰动,检查模型是否把相机误差吸收到物体形变中。

提示与参考答案

冻结参数只禁止更新教师,场景仍沿渲染器获得梯度;但分数蒸馏使用特定残差构造,不能与普通教师损失混同。彩色图可以靠纹理掩盖扁平或多面几何,应补无纹理渲染和连续视角检查。插值利用已观测时间范围内的约束,外推未来还需要运动规律。实验里独立模型通常缺少时间共享,静态模型难表示移动,形变模型则可能承担额外优化难度;结果不应预先写成必然排序。已知合成轨迹可帮助把表示误差与相机误差分开。

方向选择、本科生入口与阅读顺序

喜欢生成模型的读者可研究二维先验如何约束多视图;喜欢图形学与系统的读者可研究形变、存储和渲染效率。需要补齐的基础分别是扩散梯度与相机几何,两者都离不开公平实验设计。有限算力时优先做小分辨率的已知运动场景,或只对公开结果做多视角失败分析;不必从头训练二维扩散教师。

本科生可以用“位姿误差怎样伪装成物体运动”作为入口:控制误差大小,画出轨迹偏差,并解释哪种正则减轻问题、又牺牲了什么。普通显卡的预算由高斯数量、图像大小和时间编码共同决定,应先测单步显存再扩规模。阅读顺序为动态综述的表示分类、NeRF 渲染基础、DreamFusion 公式三与图六、四维高斯图三与表四,再进入稀疏视角生成或大运动方向。本单元X07的几何思维可帮助建立小型验证,但论文级系统应另列数据和设备预算。

R21 具身视觉与视觉导航

研究问题:从看懂图像到采取行动

图像分类通常在给定图片上输出标签,机器人则需要在每次观察后采取行动,行动会改变下一次看到的世界。寻找目标、走到目标附近、抓住物体和放进容器,涉及不同时间尺度的感知与控制。具身视觉的核心不是给视觉模型增加一条机械臂,而是研究观察、状态估计、决策、执行和反馈组成的闭环。Habitat 展示可重复的导航实验平台,OpenVLA 展示把视觉语言预训练迁移到操作动作的方法。[habitat][openvla]

先复习L05 训练流程、L18 独立测试与控制变量及L29 注意力基础。基础包括条件概率、序列、坐标系和实验随机性。强化学习不是本章的唯一入口:模仿学习可以直接从示范动作开始;导航平台也可以运行手工规则和经典几何方法。综述阅读时先区分任务、机器人本体、感知输入和训练信号,再比较模型规模。[vla_survey]

闭环与一个可手算的导航指标

把环境真实状态记作 sₜ,相机观测记作 oₜ,策略依据观察历史与指令输出动作 aₜ,环境再转移到 sₜ₊₁。机器人通常看不到完整状态,因此一张图像可能无法分辨“杯子刚被撞动”还是“杯子原本就在这里”。策略可以用历史或记忆缓解部分可观测性,但加入历史会改变延迟和数据要求。

假设到目标的最短可行路径为四米,机器人实际走了六米并成功停止,单回合 SPL 为四除六,即约零点六七;若走了三米就失败,SPL 仍为零。公式为 S·l/max(p,l),S 表示成功,l 为最短路径长,p 为实际路径长。它把完成任务与路径效率结合,却没有覆盖碰撞严重度、舒适性或真实执行耗时。[habitat]

动作预测也有类似边界。离线动作误差很小,连续执行后仍可能偏离示范,因为每次小误差都会改变未来输入。如果抓取任务成功率是百分之八十,不能据此宣称十步复合任务也有同样成功率;步骤之间还可能相关。评估要让策略真正参与环境反馈,而不只是回放固定图像。

路线演进:模块化系统、模仿学习与视觉语言动作模型

传统系统将定位、建图、规划和控制拆成模块,便于检查中间结果;学习策略可把传感器直接映射到动作,但其经验需求和泛化边界需要实测。Habitat 用共同环境与任务协议比较多种代理,提供研究基础设施而非单个万能策略。RT-1 和 RT-2 展示机器人数据、Transformer 与视觉语言知识的结合路线。[habitat][rt1][rt2]

OpenVLA 沿视觉语言模型微调到动作预测,并讨论新机器人上的适配、低秩微调和量化推理。这个方向的细分包括目标导航、语言指代、精细操作、长时任务、跨本体迁移和数据质量。机器人本体改变后,动作单位、夹爪开合约定和控制频率都可能改变,不能只替换设备名称就认为模型具有可迁移的输出接口。[openvla]

精读一:Habitat 的贡献为什么首先是实验平台

阅读第三至五节,缓存第三至八页。图一将三维资产、模拟器、任务定义和代理放在不同层;图二展示多种传感器观察。Habitat-Sim 负责仿真与渲染,Habitat-API 在原论文命名中组织任务和代理接口。如今仓库结构会演进,理解论文时应保留其历史命名,实际运行则固定版本。平台允许在同一场景和传感器配置下比较方法。[habitat]

第四节的 PointGoal 任务给定目标位置,代理需要在允许步数内抵达并主动停止。实验提供理想的 GPS 与罗盘信息,不应把它解释成只靠 RGB 完成定位。Blind 代理仍可读取这类目标相关信息,所以“没有视觉输入”不等于“没有任何环境信息”。这条协议细节直接影响如何解读 RGB 相对 Blind 的增益。

指标使用成功率和 SPL。图三显示随着经验增加,方法排序发生变化;论文训练到七千五百万步,采用五个随机种子,而不是只看训练初期。表二在独立测试集上报告 Gibson 与 Matterport3D 的结果,例如深度输入策略在 Gibson 的 SPL 为零点七九、成功率为零点八九。图三是验证曲线,表二是测试结果,两者不能混作同一评估集合。

深度输入策略在此任务中优于使用 RGB 与深度的策略,是关于这套任务、训练预算和代理实现的实证结果。原文明确提醒学习与 SLAM 都是广泛的方法家族,比较代表实例不意味着证明某一类方法本质优越。跨数据集泛化分析进一步说明,训练环境与测试环境的结构差异会影响排名;模拟器中的结果也不自动等价于现实部署。

表一与附录报告模拟速度,要注意它衡量的是环境生成观察的能力,不是完整代理的决策频率。完整闭环还包括感知、策略推理、通信和执行。可从Habitat-Lab 仓库查看当前任务实现,但复现实验须注明所用版本、场景许可与传感器参数。若改变成功半径、最大步数或碰撞处理,必须把新协议与原文区别说明。

精读二:OpenVLA 如何把动作写成模型能预测的符号

阅读第三、五、六节,缓存第四至十一页。图二显示 DINOv2 与 SigLIP 视觉特征拼接,经投影器进入 Llama 2 七十亿参数语言骨干,与任务指令共同预测七维控制动作。这里的七维包含末端执行器平移、旋转及夹爪控制,并不是任意机器人的七个电机关节角。第三点三节为统一输入输出,筛选使用第三人称相机和单臂末端控制的数据。[openvla]

第三点二节将每个动作维度离散为二百五十六个区间,范围由训练动作的一百分位到九十九百分位确定,以减轻极端值对分辨率的影响。教学表达为 L=−Σⱼlog pθ(zⱼ|o,指令,z<ⱼ),其中 z 是动作符号。原文只在动作符号上计算交叉熵。离散动作再映射回连续控制值时,必须使用相应数据集的归一化统计和坐标约定。

例如平移范围为负零点一米到正零点一米,均匀分成二百五十六格,每格约零点七八毫米。这只说明编码分辨率,不说明机器人真实定位精度;相机误差、动力学、夹爪接触与延迟仍会产生偏差。分位数范围外动作还需要按实现处理,不能假定离散化保留所有极端运动。

第五点一节在 BridgeData V2 和 Google 机器人平台进行任务及初始状态匹配的 A/B 评价,分别包含一百七十和六十次试验。要区分视觉、运动、物理与语义泛化:论文中 RT-2-X 在语义泛化类别仍有优势,而 OpenVLA 的训练轨迹数和数据清理也不同,因此不能把全部提升归于模型结构。图五显示狭窄单指令精细任务中 Diffusion Policy 有竞争力,复杂多指令任务则更受益于预训练策略。

第五点三节的表一比较微调策略,低秩适配训练少量参数但仍需保存骨干与中间激活。第五点四节表二说明低位宽推理不仅影响数值,还影响闭环频率;八位量化在所测硬件上变慢并降低任务表现,四位结果反而更接近半精度。脚注明确这一组效率研究采用较小的数据混合及仅 SigLIP 的简化视觉骨干,不能将其中显存数字无条件当作主模型的通用承诺。

第六节列出单图输入、缺少历史与本体感觉、高频控制受限和可靠性不足等边界。互联网预训练也没有让机器人自动获得任意动作语义。作者代码提供训练和适配入口,阅读时应先跟踪图像处理、动作归一化与解码,再看大模型配置。一次闭环试验的错误单位,往往比更换一个注意力模块影响更大。

进阶:闭环评估的伪代码与数据划分

# 教学伪代码:先在仿真中检查完整反馈链
for episode in fixed_test_episodes:
    observation = env.reset(episode)
    history = []
    for step in range(max_steps):
        action = policy(observation, instruction, history)
        observation, done, info = env.step(decode_action(action))
        history.append(info)
        if done:
            break
    record(success=info.success, path=info.path_length, collisions=info.collisions)

同一段示范视频的相邻帧必须放在同一个数据划分中,否则测试图像几乎复刻训练场景。若研究跨房间泛化,应按房间划分;若研究新物体,应确保目标物体实例不出现在训练中。每种泛化轴单独报告,然后再测试它们的组合,才能知道失败来自视觉外观还是动作变化。

比较控制策略时固定初始状态和试验任务,交替运行候选方法以减轻环境变化影响。成功标准应在看到结果前写清楚,例如物体稳定放入容器并保持指定时长;不能因某方法差一点成功临时放宽。失败日志至少区分找错目标、接近失败、抓取滑落、放置偏移与超时,使“成功率低”变成可研究的问题。

理解题、对比练习与实验设计

理解题一:为何 Blind 导航代理可能获得非零成功率?理解题二:预测动作符号更准确为什么不保证闭环成功?理解题三:低秩微调只更新少数参数,显存为什么仍可能很大?对比练习:用相同任务定义比较模块化导航与学习策略,列出每种方法在观察、监督、训练成本和失败定位上的差异。

实验设计:在小型仿真地图中比较目标跟随规则与一个简单模仿策略,固定训练地图,留出新布局。先不加噪声,再加入深度噪声或控制延迟,每次只改变一个因素。报告成功率、SPL、碰撞次数与决策延迟,画出代表性轨迹,并检查短路径地图是否掩盖长路径失败。

提示与参考答案

Blind 在原任务中仍有目标相关的定位信息,可采取朝目标或沿墙行走规则。离线准确率不衡量状态分布随动作改变后的误差累积,延迟也可能改变系统动力学。微调参数少并不免除基础权重、激活和临时缓存;显存要按实际批大小和精度测量。实验中新增延迟后若成功率下降而离线动作误差不变,说明系统时序本身是原因之一,不能只用视觉编码器解释结果。规则策略无需训练,但也可能依赖更强的定位输入,比较时需把这项信息公开。

选择方向、预算与本科生入口

偏爱算法的读者可从模仿学习和部分可观测决策入手,偏爱系统的读者可研究延迟与动作接口,偏爱视觉的读者可研究目标指代和跨场景感知。没有实体机器人的本科生仍能完成有价值的仿真研究:先复现指标与轨迹,再分析一种可控噪声,不必从训练大型动作模型开始。

完整 OpenVLA 预训练远超普通课程预算;公开权重推理、少量任务适配与从头训练必须分开规划。有限算力可以先做动作分布统计和小策略对照,了解哪些示范不足以覆盖测试状态。阅读路线是具身综述的任务分类、Habitat 图一与图三、OpenVLA 图二与动作编码,再读匹配初始状态的实验和效率脚注。本单元X07可作为几何基础补充,而闭环导航实验需要另外记录环境版本和控制条件。

第三次组会衔接:动作块与反馈周期

一次预测H步动作可摊薄模型调用成本,但执行全部H步可能减少对环境变化的响应。区分预测长度与实际执行前缀长度;二者不一定相同。输入的关节状态要注明单位、归一化和机器人构型。用任务成功率与耗时一起评价,不能仅用示范数据上的动作MSE推断闭环效果。 [m03_pi0]

这段为教学分析;对应原论文机制与阅读边界见第三次组会专题。用自己的话写出输入、输出和一项可控制的变量,再进入专题练习。

R22 成像模型与逆问题

逆问题:从测量约束走向生成先验

输入、输出与先修

输入是测量 y、前向算子 A 以及噪声模型,输出是原始信号的估计 x̂,或者与测量相容的一组可能样本。去模糊中 A 是卷积,缺失像素中 A 是采样掩码,断层成像中 A 是投影。逆问题的困难不只是网络不够深,而是多个不同的 x 可以产生近似相同的 y。读前复习自动微分、去噪与恢复、潜变量与生成,特别确认张量梯度与统计假设分别负责什么。

本章关注“已知物理过程后如何借助图像先验”。它与直接学习 y→x 的监督恢复互补。若训练与部署算子相同,监督网络可能很高效;若测量方式经常改变,显式写出 A 可以减少为每一种设备重新训练的需求,但不能保证新算子的可辨识性。综述[inverse_review]可帮助区分监督逆映射、展开网络、隐式先验和生成模型条件化。

从一个缺失方程理解正则化

假设观测只有 y=x₁+x₂=1,那么 (1,0)、(0.5,0.5)、(−2,3) 都满足测量。最小二乘不会自动选出“正确图像”。添加 x₁²+x₂² 的惩罚会选出 (0.5,0.5),添加稀疏性偏好则可能选择集中在一个分量的解;先验实际上决定了测量未说明的部分。这个例子也说明低测量残差不是正确重建的充分条件。

高斯噪声下常写 E(x)=‖Ax−y‖²/(2σ²)+λρ(x)。第一项表达测量可信度,第二项表达信号偏好。当 σ 被低估,算法会过度拟合噪声;当先验过强,算法可能抹去真实但罕见的结构。比较方法必须同时观察残差、参考图像误差与结构变化,不能只挑一张视觉上漂亮的输出。

三条路线与经典演进

显式正则化路线使用稀疏、总变差或低秩约束,优势是目标清晰,限制是先验表达能力。插入去噪器的路线把成熟去噪模块用于其他算子,核心问题变成模块之间是否一致、迭代能否稳定。生成先验路线用学到的自然图像分布补全未知部分,核心问题则是条件化是否准确以及输出的不确定性如何解释。

Deep Image Prior[dip]说明未训练卷积结构也具有偏好,但每个样本都需优化并注意早停。RED[red]把去噪残差联系到正则化,试图让复用去噪器有可分析的目标。DPS[dps]进一步利用扩散先验处理带噪的线性与非线性测量,但它的后验梯度采用近似,不能把名字中的“采样”理解成已证明精确采自真实后验。弱光增强[zero_dce]也依赖先验,不过其亮度变换假设不能直接代替本章的一般测量模型。

精读一:RED 的目标函数到底成立在哪里

阅读[red]缓存 PDF 第8–9页第3节、第13–20页第4节及第24–35页第6节。式(25)构造 ρ(x)=½xᵀ(x−f(x)),其中 f 是去噪器。图2至图4把梯度下降、ADMM、固定点迭代写成可执行步骤。读图时先找测量算子,再找去噪器被调用的位置:同一个 f 可以被用于去模糊与超分辨率,因为观测约束留在外部求解器。

最需要亲手核查的是式(27)到式(28)。一般求导得到 ∇ρ=x−½f(x)−½J_f(x)ᵀx;只有适当的局部齐次性及雅可比对称条件下,才能简化为 x−f(x)。不能看到论文给出简洁更新,就断言任意现代神经去噪器都满足同样的势函数解释。有限差分检查局部齐次性与雅可比向量积,是比盲目套用“收敛保证”更好的入门工作。

实验第6.1节使用合成的已知模糊核,包括均匀核与高斯核,并加入高斯噪声;彩色图像转到亮度通道评估 PSNR。表1比较不同求解器与去噪器,第6.3节分析参数敏感性。这里支持的是所列退化与图像上的经验结论。作者也说明参数针对测试子集调节,所以不能将表中差异视作未经调参的跨设备泛化证据。局限包括算子已知、先验假设、调参成本与迭代开销。

精读二:DPS 怎样近似后验梯度

阅读[dps]第4–6页第3节、算法1与图3,第6–9页实验,以及附录第15–22页。贝叶斯分解要求“无条件分数+测量似然分数”。难点是当前扩散状态 x_t 很嘈杂,似然 p(y|x_t) 需要对未知干净图像积分。论文先借 Tweedie 关系预测干净图像 x̂₀,再以 p(y|x̂₀) 近似这个积分,沿测量误差梯度调整采样过程。

算法1的关键不是对当前噪声图直接做硬投影,而是对干净图估计的测量残差求梯度。图3解释为什么噪声测量下硬约束可能把状态推离合理图像区域。实验覆盖带高斯或泊松噪声的线性任务,以及相位恢复等非线性任务;表格使用 FID、LPIPS 等指标,不能据此声称像素误差处处更低。附录比较步数、步长和运行时间,表明质量与计算成本存在明显关系。

限制来自两层近似:预训练先验未必覆盖目标分布,点估计似然也未必保留真实多峰后验。强测量噪声、极少观测和域外目标尤其需要报告多个随机种子。若不同采样得到不同文字或细小病灶,那是需要进一步验证的不确定性,不能挑最讨喜的一张当作事实恢复。

进阶:固定点更新与扩散引导的共同结构

在二次数据项下,RED 固定点方程为 (AᵀA/σ²+λI)x_{k+1}=Aᵀy/σ²+λf(x_k)。实现时应使用线性求解器,避免显式求逆;只有特定卷积边界条件才可直接在傅里叶域对角化。扩散引导则计算 g_t=∇_{x_t}‖y−A(x̂₀(x_t))‖²,链式法则必须穿过干净图预测和算子。若误把 x̂₀ detach,条件梯度就断开了。

给定测量、算子及噪声设置
初始化重建或扩散状态
每次迭代:计算当前先验建议
计算测量一致性修正,记录残差与状态改变量
保存固定预算内结果,不用测试真值选择迭代步

这是教学结构示意,不是 RED 或 DPS 的完整复现。要讨论稳定性,还需要明确步长、边界、去噪器性质和停止准则。

把测量误差与图像先验分开诊断

先固定一张合成图、一种已知模糊核和高斯噪声,只改变噪声标准差。每档噪声至少重复几个种子,保存真实测量 y、算法输入的 A、重建图和测量残差。随后让重建程序使用一个略微错误的核,其他配置保持不变。若错误核下残差仍小而真值误差变大,可以直接看到“对错误模型的数据一致性”不等于恢复正确。这个对照比展示单张最好看的图更能揭示逆问题的病态性。

再单独替换先验强度,不要同时改变噪声和步数。先验太弱会保留噪声,太强可能抹掉罕见边缘;每次保存指标与失败图,说明评价是否用了真实参考图。实际成像若没有真值,仍可用重复拍摄、一致性检查和已知物理标定做部分诊断,但不要把它们称为真值 PSNR。尤其医学图像中,一个看似自然的补全可能改变真正需要识别的小结构,因此临床可用性远超教学实验能证明的范围。

读 RED 与 DPS 时还可以列出同一张四列表:先验从何处获得、A 是否必须可微、每幅图迭代多少次、结果是单一估计还是一组样本。不要把“预训练模型不需为当前算子重训”误读成“无需标定算子”。DPS 的扩散采样允许多个输出,但样本变化不自动等于经过校准的后验不确定性;应检查测量残差是否在噪声预期范围内,并观察独立种子下结构是否稳定。

再检查边界处理:同一个卷积核采用零填充、反射填充或循环边界时,A 的输出不同,其伴随算子也必须按相同约定实现。若前向与反向不匹配,优化轨迹可能看似下降却收敛到错误目标。对随机向量 u、v 验证内积〈Au,v〉与〈u,Aᵀv〉接近,是一个低成本而有效的程序自检。

练习、实验与提示答案

理解题一:为何残差为零仍可能错?提示:构造 A 的非零零空间向量 v,x 与 x+v 无法由测量区分。理解题二:把 σ 加倍对数据项有什么影响?提示:其权重变为原来的四分之一。理解题三:去噪器输出合理是否足以证明迭代收敛?提示:视觉质量与映射的连续性、非扩张性或势函数条件不是同一个命题。

论文对比题:让 RED 与 DPS 处理同一缺失像素问题,分别列出训练依赖、推理随机性、测量梯度与成本。提示答案:RED 的 f 也可能是训练得到的,但求解器通常围绕一个固定点运行;DPS 需要分数模型并在多步随机轨迹中条件化。比较应固定掩码、噪声、分辨率及运行预算,再讨论不同输出目标。

实验设计题:使用 X08 的合成逆问题,改变噪声、正则强度和算子失配,画误差对残差的散点图。先用真实 A 生成 y,再故意用偏差 Ã 重建。提示答案:某方法能压低 Ã 下残差却增加真值误差,正是模型失配的证据。X08 只验证逆问题与正则化机制,不包含论文训练数据、全部网络或论文基准,不能称为 DPS 复现。

如何选择方向与形成组会问题

适合此方向的人通常愿意同时接触线性代数、概率、优化与成像物理。入门可用 CPU 做小矩阵求解与有限差分;现成去噪模型和小图扩散推理通常需要额外显存,训练大先验则是另一种资源级别。日常工作往往是核对噪声标定、排查算子伴随、调整采样日程和分析失败图,而不只是更换网络模块。

本科入口可以是“同一先验在三种算子误差下的失效边界”,把算子误差幅度作为唯一主变量。报告里保存全部种子、完整失败样本、耗时分解与归一化方式。一个可信的负结果,例如某种梯度引导在噪声增大时反而恶化,比没有控制条件的漂亮拼图更有价值。

阅读路线先读综述建立测量模型词汇,再读 RED 的目标与求解,再读 DPS 的似然近似和附录。组会可提出:如果先验偏好与测量冲突,我们用什么证据判断错误在设备模型还是在图像模型?联系 R23 的事件阈值与 R24 的相机标定,这个问题会从抽象公式变成具体实验。

R23 事件相机

事件视觉:从异步亮度变化恢复运动与图像

输入、输出与先修

普通相机按固定时刻记录整幅强度图,事件相机输出事件流 eᵢ=(xᵢ,yᵢ,tᵢ,pᵢ),分别表示位置、时间和亮度变化极性。输入可能是固定时长或固定事件数的片段,输出可以是强度重建、光流、位姿或三维表示。本章用重建与光流两条路线理解它为何不是“帧率特别高的普通相机”。先修为张量与坐标、卷积网络、视频与时序。

事件记录变化而非绝对亮度。理想模型是 L(u,tᵢ)−L(u,tᵢ⁻)=pᵢC,其中 L 是对数辐照度,C 是对比度阈值。若亮度从100变为121,对数变化约为0.19,阈值设为0.2时可能尚未触发;若从100变为125,变化约0.22,则可能出现正事件。这个例子中的数字是教学设定,真实设备阈值随像素、温度与极性变化。

可观测性比表示形式更早出现

一面不动的均匀墙可能长期没有事件,但这不代表墙是黑色,也不代表传感器坏了。只知道对数亮度增量,初始绝对亮度仍未知;噪声事件与遗漏事件还会让积分漂移。因此事件到强度重建依赖先验,不能把每个输出纹理都当作传感器直接测得的内容。

固定时间窗口保证近似稳定的输出节奏,却会在快运动时装入大量事件;固定事件数窗口控制输入规模,却导致延迟随场景变化。假设每片需要一万事件,事件率每秒百万时收集约需十毫秒,事件率降为每秒十万时需约百毫秒。网络推理耗时相同,系统总延迟也可能相差一个数量级,所以只报前向时间会漏掉采样等待。

路线划分与演进

直接事件几何方法在局部时空事件面拟合运动,解释清楚但容易受孔径问题和稀疏性影响。张量化方法把事件转换为计数图、时间表面或体素网格,再借用卷积网络,工程入口友好,但会丢失部分时间细节。循环网络维护历史状态,适合连续重建,却必须处理状态重置和长序列漂移。直接异步或脉冲处理更接近传感器机制,但算子支持和评测成本更高。

综述[event_survey]可作为分类地图。EV-FlowNet[evtflow]用同步灰度图提供训练信号,绕开密集光流标签。E2VID[e2vid]展示了以合成事件训练、在真实事件上重建视频的路径。RAFT[raft]代表成熟帧光流模型,可作为下游比较对象,但不能直接证明事件输入更优。EventNeRF[eventnerf]把事件约束引入场景表示,是进一步阅读方向;从二维重建跳到三维时还需额外的相机运动与几何条件。

精读一:E2VID 如何保存时间信息

阅读[e2vid]缓存 PDF 第3–5页第3节、图3和图4,第5–7页第4节以及第11页附近的分析。这里采用所缓存的扩展论文《High Speed and High Dynamic Range Video with an Event Camera》,不要把其时序损失和实验设置自动归给更早的短版本。

图3把事件分窗、体素化、循环状态和图像输出串起来。式(1)将事件极性按时间距离分配给相邻时间格,而不是简单把全部事件相加;文中使用五个时间格。图4是带循环编码层的类 U-Net,历史信息通过 ConvLSTM 保存。重建损失使用感知距离,式(2)又用光流对齐前后重建并减轻遮挡区域的影响。光流在训练损失中出现,并不意味着推理必须输入光流。

训练用 ESIM 生成事件与对应强度,随机化阈值来避免网络只记住理想积分。第4节在真实 DAVIS 序列上评估,依据时间戳匹配重建与灰度参考,计算 MSE、SSIM、LPIPS 及时间一致性。必须注意协议:评估前做局部直方图均衡,排除参考图严重运动模糊的高速片段,也跳过初始时段以利于积分基线收敛。因此这些定量指标主要说明筛选后的可比片段;极高速和高动态范围展示还需要结合视频与定性证据。

限制并非“没有真实训练数据”这一句话就够了。合成运动主要来自平面图像的全局变换,真实场景包含遮挡、独立运动和设备噪声;无事件区域的强度由历史和先验补充;输出对比度还经后处理调整。做定量亮度测量时,必须重新验证这些处理是否保留需要的物理尺度。

精读二:EV-FlowNet 的自监督来自哪里

阅读[evtflow]第3–4页第III节、图3和式(3)–(6),第4–6页数据与评估。输入有四个通道:正负事件计数,以及最近一次正负事件的归一化时间。计数说明哪里发生变化,时间表面说明变化的先后;只存最新时间会覆盖更早事件,密集大运动可能使邻近像素时间接近,作者因此讨论缩短窗口。

网络输出窗口内像素位移。训练把第二张灰度图按预测光流采样,与第一张比较,再加平滑项。所谓自监督不是完全不用帧:同步灰度图参与损失,只是没有人工光流标签。若帧图像已经过曝或严重模糊,监督信号也会受损,事件传感器的优势不会自动解决训练标签的问题。

论文用 MVSEC 的位姿与深度构造参考光流,训练和测试采用不同室外序列,并在室内飞行序列考察迁移。第6页报告平均端点误差与异常像素比例,但指标只在存在事件且参考深度有效的位置计算,实际覆盖大约部分图像区域。把该结果与全像素密集光流的数字并列是不公平的。参考流还依赖静态场景和运动估计近似,独立运动物体需要单独检查。

进阶:从亮度变化推到运动约束

设亮度沿运动轨迹近似恒定,则 ∂L/∂t+∇L·v=0。事件给出时间变化的离散信息,却只约束 v 在图像梯度方向上的分量。沿一条直边平行移动可能不改变观测,这就是孔径问题。平滑项、上下文或多时刻信息补充了缺失约束,但也会在运动边界引入偏差。

按时间戳排序并校验事件极性
按预设规则分窗,保存窗口起止时间
生成计数、时间表面或体素张量
维护循环状态,输出重建或窗口位移
用同一时间区间与有效掩码评估

像素位移除以窗口时长才得到像素每秒的速度。改变窗口却直接比较位移均值,会把时间尺度变化误认为模型误差。缩放输入图像时,也要按空间比例缩放光流。

数据协议:事件流比普通帧更容易被时间单位误导

事件时间戳可能以微秒或纳秒保存,实验前必须写出单位并检查单调性;把微秒直接当秒会让窗口长度差一百万倍。先用几十个事件手算一个时间表面:同一像素若先后出现正负事件,分通道保留最近时间与把极性直接相加会得到不同表示。改变窗口长度时,连同事件数、有效像素比例一起记录,不要只保留最终光流误差。

分割训练和测试序列时,同一连续片段的相邻窗口高度相关,随机抽窗口分到两边会高估泛化。更可信的划分以完整场景、轨迹或采集时段为单位。评价还需要说明事件有效掩码:只在有事件位置计算误差能突出传感器提供信息的区域,却无法证明无事件区域的密集输出准确。把有效像素占比、运动速度和亮度范围同误差一起报告,才能判断方法真正擅长的场景。

五项练习与可执行实验设计

理解题一:没有事件是否意味着没有物体?提示答案:只意味着未观察到超过阈值的变化,静止或均匀区域都可能沉默。理解题二:同样事件数的两个窗口能否直接比较运动速度?提示答案:必须保留各自时长,位移与速度有不同单位。理解题三:E2VID 的时间一致性误差为何在参考视频上也非零?提示答案:估计光流、遮挡与采样都可能产生误差。

论文对比题:把 E2VID 与 EV-FlowNet 的训练监督、输出和状态逐项写出。提示答案:前者利用模拟图像目标训练强度序列,并维护循环状态;后者以同步帧构造光度损失输出窗口光流。不能用 SSIM 和端点误差给两者排统一名次,应问它们分别保留了哪种信息。

实验设计题:合成一条移动亮暗边界,改变速度、阈值与事件丢失比例。分别绘制计数图和最新时间图,再尝试一个局部位移估计器。提示答案:计数与运动速度并非稳定的一一关系,纹理、窗口与阈值都会影响事件数。这个实验只检查表示和可观测性;X08 的合成逆问题可用于理解缺失信息,但它不含真实事件设备,也不应被写成 E2VID 或 EV-FlowNet 复现。

方向选择、日常工作与阅读路线

事件视觉适合对传感器、时间序列和运动几何都有兴趣的人。CPU 足以分析小事件片段和制作时空图;预训练网络推理可从小分辨率单卡开始;完整训练的显存取决于序列展开长度与状态保存,不能只看一张图的大小。有真实传感器时还需要同步、标定、曝光与日志管理能力。

本科入口可选“窗口策略如何改变端到端延迟与误差”,先固定网络,测事件等待、预处理、传输、推理四段时间。日常研究大量时间会花在时间戳单位、极性约定、坐标翻转、失效像素和序列切分上。按随机帧划分同一段视频容易泄漏场景,按场景或完整轨迹划分更能回答泛化问题。

阅读时先用综述建立传感器模型,再读 EV-FlowNet 的四通道表示与监督来源,随后读 E2VID 的循环状态和评估筛选。组会可以讨论:如果下游只需要避障,先重建自然图像是否浪费信息和延迟?这个问题连接 R22 的先验补全、R29 的任务导向编码,也提醒我们评价对象应由真实任务决定。

R24 非视域、光场与编码成像

计算成像:把测量方式也纳入算法设计

问题、输入输出与先修

普通视觉通常从一幅已经形成的照片开始,计算成像则向前追问:传感器应该记录什么,才能在厚度、光照、时间或可见性受限时获得所需信息?输入可能是掩模后的混合光强,也可能是墙面每个扫描位置的光子到达时间直方图;输出分别可能是二维亮度图与隐藏表面的三维反射强度。传感器读数不等于最终图像,两者之间必须有可检验的前向模型。

先修L09、L11、L13,以及上一章的噪声概念和R22的逆问题。最低数学要求是能解释矩阵乘法、卷积、正则化与条件数。逆问题综述[inverse_review]提供求解器背景;本章把重点放在硬件设计如何使问题更可解,而不是再比较网络层数。

从两盏灯的数值例子出发

设两盏灯亮度为三和一。两个传感器分别记录亮度和与亮度差,于是读数为四和二,可通过加减恢复原亮度。这里差值是教学中的数学编码,实际光强不能直接为负,可以通过两次非负测量相减实现。若两个读数都接近亮度和,例如第二行权重为一与一点零一,恢复就需用两个近似数相减;很小的读数误差也可能变成很大的亮度误差。

因此“采到很多光”与“采到可区分的信息”不是一回事。全透明掩模增加光子,却未必让不同方向的光具有不同编码。设计时同时看信噪比与测量矩阵的奇异值,而不能只看曝光后的亮度。这个例子还给出一项基本调试办法:先用几个已知点光源验证每列响应,随后再恢复复杂目标,否则模型错位容易被先验掩盖。

路线演进:重新组织光的空间与时间

光场路线[lightfield]记录或组织空间和方向信息,为重聚焦与深度估计提供不同视角。编码孔径路线[flatcam]在薄型器件中混合不同位置的光,通过标定与计算恢复场景。非视域路线[nlos]分析多次反射光的到达时间,在直接视线受遮挡时恢复部分隐藏结构。这些方法解决的约束不同,不能把“无需传统镜头”与“能够看见拐角后方”视作同一个能力。

近年的事件与神经场结合[eventnerf]提示另一种设计方向:让新型传感器与可微场景表示共同参与估计。但神经表示不会自动增加已经丢失的物理信息。选择路线时应先列出可控制量:能否主动照明、能否扫描、场景是否静止、是否允许离线标定,再考虑学习先验。若设备只输出普通帧,就不能在软件里凭空获得皮秒级时间分辨率。

精读一:共焦非视域成像的证据边界

[nlos]对应的Nature论文正文在本次访问中受限;本章实际核读的是同作者公开的两页SIGGRAPH 2018 Talks正文,不是Nature完整正文。精读位置为第1页图1及第2页第2—4节。图1把照明与探测放在墙面同一位置,时间测量经变量变换成为三维卷积,式(3)用维纳滤波反演。第3节的户外示例使用回归反射目标,累计曝光约一点七分钟,而重建约半秒;这不能称为普通目标实时采集。

读核心图时,先把激光到墙、墙到目标、目标回墙、墙到探测器四段路径画出。去掉设备到墙的已知时间后,共焦几何使未知往返路程与墙面点到目标距离相关。这一约束的价值在于简化算子结构;如果收发位置分离,等时面的几何会改变,不能原封不动复用同一个核。

教学推导可从单点开始:扣除固定路程后,若到达时间为六纳秒,用光速约每纳秒零点三米计算,未知往返路程是一点八米,单程距离约零点九米。这只限定到某个墙面点的距离,不能唯一确定三维位置;需要多个扫描点提供交会约束。时间分箱、脉冲宽度和探测抖动都会把理想薄球面扩展为厚壳。

精读二:FlatCam为什么强调可分离标定

阅读[flatcam]的公开全文第III—VI节:图1介绍掩模与裸传感器,式(2)写出可分离测量 Y=Φ_L X Φ_Rᵀ+E,图5展示标定,式(6)—(8)比较正则化重建,第V节展示可见光与短波红外原型。本文的工程选择是以可分离结构降低标定和存储成本,并明确存在模型失配与分辨率限制。

对这个核心图,建议用三张纸分别标出场景网格、掩模图案和传感器网格,再画出某个场景点影响哪些读数。这样便能理解:传感器上的斑纹不是模糊照片的普通版本,不能直接套用手机锐化。标定矩阵告诉算法每个场景方向的响应,而正则项只负责在不稳定方向上控制解。

可分离模型也是很好的计算复杂度练习。假设场景与读数都是一百乘一百,向量化后的完整矩阵有一亿个元素;两个一百乘一百矩阵总共只有两万个元素。这个教学数量级对比说明结构假设能显著降低内存,却不代表任意真实光学系统都能无误差分解。提高模型自由度可能改善拟合,同时也增加标定样本需求。

核心公式与可执行检查

把两篇文章放到统一形式 y=A_θ(x)+ε 中,θ表示设备几何、掩模位置或时间偏移。重建目标可以写成最小化数据项加先验项,但必须记住:若θ不准,再强的优化器也只是求解错误的问题。先验偏差、传感器噪声与标定偏差应分开研究,不能全部塞进一个噪声参数。

对线性算子,最实用的单元检查是伴随一致性:随机生成x与v,比较内积〈Ax,v〉与〈x,Aᵀv〉。这不是论文结论,而是实现诊断。若两者明显不符,后续梯度下降可能沿错误方向更新。其次用点目标检查峰的位置;第三用无噪声合成数据检验正向再反演;最后才加入真实噪声与模型误差。

进阶:为什么直接除以频谱会放大噪声

若某频率测量为Y=HX+N,直接反演得到X+N/H。当H很小时,噪声被大幅放大;当H为零时,该频率根本没有可用测量信息。正则化反演以H的共轭除以模平方加稳定项,牺牲部分分辨率换取有限的噪声增益。稳定项越大并不总越好,它也会压低真实高频结构。

进一步考虑标定算子为A而真实算子为A+ΔA,此时误差项包含ΔA x,通常与场景内容相关,不符合独立同分布白噪声假设。建议让同一标定偏移作用于不同亮度和频率的目标,检查误差是否随目标变化。这个实验可以区分“增加曝光即可解决”与“必须重新标定”的问题。

实验协议:先验证模型再讨论学习

本章对应X08的计算成像思路。普通CPU上可用小型合成网格完成矩阵测量与岭回归,不需要光学器件。把训练或调参用目标与测试目标分离,用固定的一组线条、点阵、平滑块作为标定检查,再用未参与调参的形状评价恢复。随机种子、矩阵生成方式、噪声方差、正则参数选择规则都应写入记录。

建议设置三个因素:测量矩阵条件数、读出噪声、标定偏移。一次只改变一个因素,同时报告重建误差、测量残差与运行时间。若低残差伴随错误位置,说明数据项本身不足以保证正确;若加大正则后视觉更干净但细小目标消失,说明稳定性与分辨率发生交换。不要用测试真值为每张图寻找最优参数后再汇总成绩。

非视域模拟还应单列采集成本与求解成本,记录扫描点数和时间分箱数。改变扫描密度时固定总光子预算,才能区分“采样位置更多”与“总曝光更多”。简化模型缺少真实墙面反射、遮挡和探测器响应,因此它只验证几何与数值过程,不能证明设备在真实道路或室内环境中的性能。

证据、局限与失败模式

本章有意把物理演示与通用部署分开。原型图像支持设备在列出的光学配置下可用;某个隐藏回归反射目标可恢复,不能外推为所有材质都可恢复。使用深度网络后,还需检查网络是否靠训练集形状猜出了目标:让测试目标形状变陌生、位置变动、亮度改变,往往比再增加一张成功图更有解释力。

另一个常见失败是把错误单位当成模型能力差。长度单位、时间单位、坐标原点、轴顺序及傅里叶归一化必须一致。保存原始测量和标定信息比只保存最终图片更重要,因为未来更换求解器时需要重新解释测量。若原始信息已经丢弃,就无法区分硬件问题与算法问题。

理解题、论文对比与实验设计

理解题一:为什么两个几乎相同的测量通道可能不如两个不同编码的通道?理解题二:非视域重建半秒是否意味着整套系统每秒输出两帧?理解题三:为什么可分离结构既是一种加速手段也是一种模型假设?请先用自己的图和数值例子回答,避免只背诵“病态”“共焦”等术语。

论文对比题:比较FlatCam与共焦非视域成像,分别指出主动照明、测量维度、标定对象、前向算子结构及主要噪声来源。实验设计题:在相同总采集时间下,比较更密扫描与更长单点曝光,说明控制变量、失败判断和可接受结论范围。

提示与答案方向

第一题看矩阵列或行是否提供独立约束,并讨论小奇异值。第二题把扫描、曝光、传输与计算分别计时。第三题说明真实响应偏离分解形式时误差不会因乘法更快而消失。对比题不能用某一篇的指标直接替代另一篇的目标:二维图像恢复与隐藏三维几何并非同一任务。实验题至少需要多个反射强度及多个噪声实现,并预先固定重建参数选择方式。

方向选择与后续阅读

若你喜欢线性代数和系统标定,先完成小型掩模仿真,再读FlatCam的标定与重建部分;若你喜欢几何和信号处理,从单点等时面推导进入共焦非视域成像。没有光学实验平台时,选公开数据或模拟算子更可行,明确写出无法验证的硬件环节。接着回到R22比较显式正则化与生成先验,再阅读[lightfield]与[eventnerf],观察新的测量方式如何改变可恢复信息,而不是仅仅改变网络输入形状。

R25 学习式图像压缩与熵模型

学习式图像压缩:从超先验到分层上下文

问题、输入输出与先修

编码器接收图像 x,输出能够保存和传输的字节串;解码器只凭字节串、约定的模型和文件协议恢复 x̂。模型若只输出重建图和概率,没有可解码码流,就还没有完成压缩系统。先修为L13 概率与信息量、L15 率失真训练、L25 因子化先验、L26 超先验。已有课程中的 CompressAI 实操可作为真实编解码入口[compressai]。

压缩同时优化码率与失真:L=R+λD。R 不是 latent 元素个数,D 也不必是像素误差。目标是给定可接受失真时减少传输成本,或者在固定带宽下保留更多有用内容。这里首先讨论用于人观看的自然图像,机器任务与感知生成分别在 R29、R28 展开。

用概率解释每一位钱花在哪里

若某离散符号概率为1/2,理想长度为1比特;概率为1/16则为4比特。若真实纹理区域更容易出现大幅 latent,而模型仍使用平坦区域的窄分布,大幅符号会被赋予过小概率,码长增加。改善熵模型的作用是预测“这个位置什么值较可能”,不是在无损编码阶段改变符号。

假设一张256×256图像主码流有6000字节,辅助码流有1000字节,则 payload bpp=8×7000/65536≈0.854。若文件头再占200字节,file bpp≈0.879。根据 −Σlog₂p 得到的 estimated bpp 是模型估计,未必包含有限精度概率表、终止符和头部。这三个数字必须分别命名,否则小图上几十字节的差异也会被错误归因于网络。

方法地图与经典问题链

变换编码用分析变换把像素映射到潜变量,量化制造有损误差,熵编码无损保存量化符号,合成变换重建图像。早期端到端模型[balle]让变换与概率模型共同学习,解决手工变换难以适配图像统计的问题。超先验[hyper]增加辅助信息 z,缓解独立先验不能描述局部尺度的问题;代价是必须编码 z。

自回归与超先验联合模型[minnen]利用已解码邻域,但逐符号依赖限制并行。混合分布与注意力[cheng]提高建模能力,却使复杂度也进入讨论。ELIC[elic]通过空间和通道分组权衡上下文与速度。HPCM[hpcm]进一步安排多尺度、渐进的上下文传播。演进的主线不是网络越来越大,而是“解码器此刻已知什么、使用这些信息需要多少计算”。综述[image_compression_survey]还将人眼与机器消费端放在一起讨论。

精读一:超先验的侧信息为何值得发送

阅读[hyper]缓存 PDF 第3–7页第2–4节,重点看图2、图3、图4及式(7)、式(10)、式(11)。图2显示 latent 大幅响应在边缘和纹理聚集,用预测标准差归一化后结构减弱。这是引入空间变化尺度的直觉证据,不是统计独立性的严格证明。

图3的操作顺序必须从解码端倒推:先解码 ẑ,再由超合成网络预测 σ̂,随后解码 ŷ,最后合成 x̂。每个量化符号的概率是高斯密度在量化格内的积分,不能把某个点的连续密度直接当离散概率。式(10)包含主潜变量和超潜变量两项码率,漏掉后一项就会人为奖励无限增加侧信息。

训练以加性均匀噪声近似量化,测试恢复真正取整;这缓解梯度问题,不保证训练代理与实际编码完全一致。论文比较相同分析、合成结构下有无超先验,并分别训练 MSE 与 MS-SSIM 目标,在 Kodak 上形成率失真曲线。第7页明确指出指标与训练目标的配合影响排名。因此“超先验优于所有传统编码器”不是无条件结论,必须指出码率区域、指标、色彩与比较对象。

其局限包括尺度高斯条件独立假设、侧信息成本和为不同率失真点训练不同模型的开销。这里最适合本科生复查的不是绝对榜单,而是同一权重下主流与侧流各占多少比特,以及 estimated bpp 与 payload bpp 的偏差如何随图像尺寸变化。

精读二:HPCM 的上下文顺序如何兼顾效率

阅读[hpcm]第3–5页第3节、图2至图4,第5–7页第4节及补充材料的计时说明。图2把 latent 拆为三种空间尺度并结合通道组,不同尺度使用不同编码步数。小尺度先建立较大范围的上下文,随后把已知值放回对应位置,为更细尺度预测提供条件。这里的“渐进”首先指内部编码日程,不能自动理解成任意截断文件都能产生可观看预览。

式(1)只允许使用 ŷ 的已编码部分和超先验。图3、图4的渐进融合保存前一步的上下文状态,再与当前熵参数状态结合。这个设计同时处理远距离与局部依赖,但串行步数仍是复杂度的一部分。论文还调整网络结构和熵编码器的数据交换,因此总提升不应全部归因于注意力模块。

实验在 Kodak、CLIC Professional Validation、Tecnick 上报告 bpp、PSNR、MS-SSIM 与以 VTM-22.0 为锚的 BD-Rate。表1同时给编码时间、解码时间、运算量和参数量;脚注说明时间包括网络推理与算术编码。表2改变各尺度步骤,表3移除渐进融合,分别检验日程与状态传播。更多步骤可能省码,但也增加计算,所以不能只引用最省码的一行忽略时延。

限制是硬件与实现相关的时间收益不必跨平台保持,训练数据和图像域也限制泛化。论文中的时延是在指定 CPU、GPU 与实现上测得,不能当作本课程电脑的承诺。对比新方法时应优先重跑同一机器,而不是把不同论文中的毫秒数相减。

进阶:侧信息收益与可解码性检查

若真实条件分布可得,H(Y|Z)≤H(Y);但系统发送 Z 后总代价是 H(Z)+H(Y|Z),并不会凭空少于联合信息。超先验有用在于原模型受限,辅助信息帮助有限容量模型更好逼近实际分布,同时可与变换联合优化。应比较“加入 Z 后主流节省”与“新增 Z 的成本”,而非只观察前者。

编码:计算 y 和 z,先压缩 z,再用解码后的 z 预测主流分布
编码:按约定分组顺序压缩 y,写入尺寸与版本信息
解码:读取头部、恢复 z、按相同顺序恢复 y
验证:新进程只读取文件和模型,重建图像并核对长度

训练中若上下文偷偷读到当前待编码符号,会得到漂亮估计码率,却无法独立解码。可解码性是一种因果约束,应像检测标签泄漏一样检查。

从估计概率走到真实文件的验收表

对一张图先记录原始 H、W 与图像数值范围,再运行训练态前向,得到主潜变量和辅助潜变量的估计概率。其次调用正式 compress 与 decompress 接口,保存两个码流分支的字节数、必要尺寸信息和完整容器字节数。最后从文件或缓冲区重建,确认尺寸恢复到原始 H×W,并按同一像素范围计算失真。若估计 bpp 较好而文件变大,优先检查概率表离散化、元信息和小图开销,而不是立即断言网络训练失败。

超先验对一张纹理复杂图可能减少主流比特,对另一张平坦小图却可能付出更多侧流比特。应按图片列出主流、侧流、头部三栏,再汇总成全数据集的总字节除以总像素;直接平均单图 bpp 会给小图和大图相同权重。若测试图片尺寸不同,还要固定 padding 规则并说明评测用原始像素数还是填充后的像素数作分母。这个算术细节常常比新加一层网络对结论影响更大。

要提出“上下文更快”时,量化不仅要看网络 FLOPs,也要看符号解码顺序。可以把每一组待解码位置写成拓扑序列,只允许依赖序列中更早恢复的符号;如果实现用一次并行卷积读取了未解码位置,训练损失即使下降,码流也不可独立解码。把可解码性、实际字节与时间并列作为验收,才符合一个压缩系统的边界。

理解题、论文对比与实验设计

理解题一:为什么保存一个浮点 latent 张量不能代表学习式压缩码流?提示答案:元素存储类型、概率编码、元信息与解码约定都还未处理。理解题二:把自然对数求和直接当比特会错在哪里?提示答案:需除以 ln2。理解题三:为什么更低 MSE 的模型未必有更好 MS-SSIM?提示答案:目标强调的误差结构不同,必须绘制各自曲线。

论文对比题:在超先验与 HPCM 中各选择一个待解码符号,画出其可用信息集合。提示答案:前者主要依赖已解码超潜变量预测的尺度;后者还利用按日程已恢复的空间、通道上下文。随后注明这些条件造成的串行步骤,才能把建模优势与解码代价放在同一解释里。

实验设计题:使用真实 CompressAI 编解码记录两类码流的长度,再与估计概率比较;控制图像大小、padding 和质量等级。X09 用真实 JPEG 编码器处理合成图,可以先检验文件长度与图像复杂度的关系,但它不测神经熵模型,也不替代论文复现。提示答案:统一除以原始像素数,计入所有主流和侧流,单独记录容器开销,并从独立解码结果计算失真。

方向选择与研究起步

这个方向适合喜欢概率模型、信号处理和工程细节的人。日常工作既有网络训练,也有码流协议、熵编码边界、数值一致性和指标核查。CPU 可以完成 JPEG 与小规模概率实验;预训练学习式编解码可在有限资源下开展;从零训练多个高质量模型需要明显更多时间与显存,入门不必追求完整复现排行榜。

本科课题可从“侧信息在小图和域外纹理上的成本”开始:固定预训练模型,按图像尺寸、边缘密度分组,记录主流、侧流、头部、失真与时延。若想改上下文,先证明新条件在解码时可获得,再决定是否训练。读取综述、超先验、联合自回归、HPCM 的顺序,有助于让每篇论文回答一个明确问题。

组会最后可讨论:如果省下百分之几码率需要增加数倍解码时间,谁会愿意采用?答案取决于带宽、设备、并发与图像生命周期。这连接 R26 的实时视频、R27 的场景资产以及 R30 的部署效率,使率失真曲线从二维图扩展成真实系统选择。

R26 视频压缩与码率控制

学习式视频压缩:时间上下文与实时系统

输入输出与先修

输入是有时间顺序的图像序列,输出是可独立解码的码流与重建序列。与逐帧图像压缩相比,视频编码利用历史帧中的重复内容,但也引入状态依赖、误差传播和随机访问成本。先修真实编解码、实验计时、时序建模,并掌握 R25 中 estimated、payload、file 三种码率口径。

本章聚焦低延迟编码:当前帧只使用已经到达且双方可获得的参考信息。若方法需要未来帧,它可能适合离线处理,却不能按相同延迟条件和实时通信比较。“实时”也必须说明分辨率、帧率、硬件、批量与端到端范围,不能只把一个网络的前向时间取倒数。

时间冗余的直觉与小例子

想象静止背景上有一辆向右移动的车。逐帧编码会重复发送背景;预测编码先描述运动,再传无法预测的部分。若上一帧原图像素为100、解码后为98,下一帧为101,编码端必须相对双方一致的98构造需要传的变化。若编码端偷偷使用100而解码端只有98,误差会逐帧积累,即使每帧网络都单独运行正确。

简单残差模型写作 x̂_t=D(Q(E(x_t−p_t)))+p_t;条件模型则写作 x̂_t=D(Q(E(x_t,c_t)),c_t),其中 c_t 是可由已解码信息构建的上下文。残差规定“先减去一张预测图”,条件编码让变换自己决定如何使用历史,不必把历史压缩为三通道像素预测。

经典演进解决了什么

DVC[dvc]将运动估计、运动压缩、补偿与残差编码组合成可学习流程,便于对应传统混合编码器。它保留清楚的预测结构,但运动质量、运动比特和残差比特互相牵制。DCVC[dcvc]把条件扩展到特征域,并将上下文用于编码、解码和熵模型,增强了时序信息表达。

仅提高率失真性能还不能保证部署。更深模块、更大中间特征和更多串行熵解码都可能拖慢系统。DCVC-RT[dcvcrt]转而分析访存、模块调用与算术运算之间的关系,使用低分辨率特征、隐式时间建模和码率控制。综述[video_compression_survey]有助于把低延迟、双向预测、可变码率和长序列稳定性放到不同坐标轴,而非混成统一排名。

精读一:DCVC 的条件不只是一张参考图

阅读[dcvc]缓存 PDF 第3–6页第3节、图2及式(1)–(3),第6–8页实验。图2从上一张解码帧提取特征,用已编码运动对齐,再做上下文细化。这个上下文同时进入当前帧变换、重建和概率估计。读图时用两种颜色标记“原始当前帧仅编码端可见”与“解码端能够同步得到”,可以直接检查是否存在不可实现的信息通路。

其核心区别是特征条件比像素预测具有更高表达容量,编码器不必仅处理一个固定残差。但模型依然需要运动支路和运动码流,不能因为标题强调上下文就漏计运动成本。损失应覆盖当前帧潜变量、辅助信息与运动相关比特。训练也分阶段稳定不同模块,随意去掉阶段或改变参考帧来源会改变实验问题。

论文使用公开视频序列比较率失真表现并分析上下文、时间先验等组件。阅读曲线时核查帧内模型、帧内间隔、评估帧数和色彩格式,这些设置可以显著改变平均码率。论文给出的相对收益是其协议下的结论,不能转写为对全部内容、任意 GOP 或任意硬件的保证。

局限主要在显式运动估计与补偿的计算代价、递归重建误差以及分布变化。快速遮挡、场景切换时历史可预测性减弱;长序列中只训练短片段可能低估状态漂移。应逐帧画出码率和质量曲线,而不是只报一个序列平均值掩盖突然劣化。

精读二:DCVC-RT 为什么不只减少乘加次数

阅读[dcvcrt]第3–6页第3、4节,图3至图5、式(1)–(3),以及第7–8页实验。图3分别控制计算量、中间 latent 大小和模块数量,显示实际延迟不按乘加次数简单缩放。图4把主要运算放在单一较低分辨率上,并用特征上下文代替复杂的显式运动处理。表1按运动大小与场景切换分组,提示加速设计存在内容相关的率失真代价。

第4.4节用模块库与缩放参数适配不同码率。这里不能默认超先验比特总是可忽略:移除运动码流后,辅助信息在总预算中的占比会改变。第4.5节的模型整数化针对跨设备计算一致性,避免熵概率在不同平台产生不同结果。它与把 latent 取整成为编码符号是两件事;前者约束网络算术,后者实现有损离散表示。

实验在 HEVC、UVG、MCL-JCV 等序列上采用低延迟、规定帧内间隔与色彩格式,并使用包含必要头部的实际二进制码流。第7页特别指出估计熵与实际 bpp 的差别。速度默认在 A100 和指定 CPU 上、全高清分辨率测量,不能直接移植到笔记本。表中浮点半精度路径和整数一致性实验也应分开理解,不能把最快浮点速度自动归给所有整数部署路径。

论文的证据支持“系统复杂度值得独立设计”,并不说明显式运动从此无用。大运动、硬件算子支持、缓冲管理和长视频运行都可能改变收益。跟进实验应先定位耗时瓶颈,再提出替换模块;删掉网络而未减少同步和内存搬运,可能没有预期加速。

进阶:状态闭环与预算分解

令 s_t=F(s_{t−1},b_t) 表示解码状态,b_t 为当前帧码流。编码端的本地解码必须实现相同 F;否则即使当前图像差异很小,也可能让下一帧熵模型参数不同,导致后续解码彻底失败。数值一致性问题在熵编码中往往表现为离散符号错误,不能只用 PSNR 容忍度处理。

初始化双方状态与帧内参考
逐帧计算上下文并生成所有码流
编码端立即用码流本地解码,更新参考状态
独立解码进程按同一顺序恢复并核对状态
分别统计等待、变换、熵编码、传输和重建时间

总时延可分为采集等待、编码、排队传输与解码;吞吐率还取决于这些环节能否重叠。单帧十毫秒的编码器不代表整条系统十毫秒延迟。帧率、码率和抖动需共同记录。

码率控制与场景切换:为什么逐帧平均会误导

假设四帧总预算为四千比特,平均分配每帧一千比特。但第一帧需要建立参考,第三帧发生场景切换,二者的编码难度明显高于其余帧。把所有帧强制同档质量,可能让容易的帧花掉不必要的码流,困难帧却出现显著失真。实际码率控制应在固定总预算或缓冲约束下比较,保留逐帧 bpp、失真与编码时间,同时指出是否预知未来帧信息。在线编码器与离线最优分配不能直接按同一延迟协议排榜。

实验记录还应画出从首次帧到最后一帧的曲线。若前十帧画质稳定、此后持续变差,平均 PSNR 可能掩盖参考状态漂移;场景切换后短暂大幅增加比特也可能是合理的恢复策略。视频码流还包含帧内图、运动或条件支路、辅助信息和文件头,比较前需要确认单位是整段总比特除以帧数与像素数,还是只统计某个网络潜变量。分母如使用不同分辨率或帧率,比较必须先统一口径。

教学上可从 X09 的独立 JPEG 帧开始,再人工制造平移、遮挡和场景切换,观察每帧码率与误差如何变化。这个基线不能利用时间冗余,恰好说明视频模型需要解决什么;它也不能验证 DCVC-RT 的递归状态或整数一致性。真正部署前还要从空状态启动独立解码进程,检查每帧尺寸、参考序列与最终输出哈希,避免编码端使用了只有自己知道的当前原图信息。

练习与实验设计

理解题一:为何不能用原始历史帧作为训练中唯一参考?提示答案:部署解码器只有重建历史,会产生条件分布偏差与漂移。理解题二:为什么较小 FLOPs 未必较快?提示答案:访存、启动、同步、串行依赖与算子支持均影响时间。理解题三:文件头在视频平均码率中可以省略吗?提示答案:评测口径应完整记录,尤其短片与小分辨率场景开销比例更高。

论文对比题:从图2和图4分别追踪 DCVC 与 DCVC-RT 的历史信息通路,指出是否存在显式运动比特,以及哪些模块在低分辨率运行。提示答案:比较不仅要列参数,还要识别时间依赖、状态大小与调用次数;对大运动片段的结果应单独报告。

实验设计题:先将一组合成平移图逐帧进行真实 JPEG 编码,记录每帧 file bpp 和解码误差,再加入场景切换。X09 可提供真实 JPEG 编码器的测量基础,但它没有运动熵编码和递归状态,只是逐帧基线。进一步使用现成视频编码器或论文代码时,应保留全部帧内码流、运动码流、辅助码流和头部。提示答案:固定帧数、帧率、色彩采样与帧内间隔,区分这个系统实验与论文完整复现。

方向选择、日常工作与阅读联系

此方向适合既愿意研究概率与时序,又愿意处理系统性能的人。CPU 可以完成视频切分、传统编码器和码率统计;预训练推理需要根据分辨率准备显存;训练递归视频模型还要保存多帧状态,资源需求明显高于单图。日常任务包括色彩转换校验、缓冲队列、码率控制、异常帧诊断和多平台解码一致性。

本科入口可选“长序列下质量与码率的漂移”,保持权重不变,对短片拼接、循环与场景切换进行分组测试。另一个入口是把耗时拆成网络、熵编码和数据搬运,再用性能分析工具寻找单一瓶颈。两类工作都不需要声称创造新编码器,却能形成可靠的系统认识。

阅读路线先复习图像超先验,再读 DVC 的混合结构、DCVC 的条件变换,最后读 DCVC-RT 的复杂度分析和附录计时。组会可以问:带宽节省、解码功耗、首帧等待和随机访问中,产品真正优先哪一项?这个问题连接 R25 的概率建模与 R30 的整数部署,也避免把“实时”变成脱离条件的宣传词。

R27 点云与三维场景压缩

点云与三维表示压缩:几何、属性和渲染各有目标

任务定义与先修

三维压缩的输入可能是激光雷达点集合,也可能是用于新视角渲染的高斯场景。输出不是一张缩小的图片,而是可解码的数据流以及相应的几何或场景参数。点云要回答表面位置是否准确,高斯场景还要回答从未见视角渲染是否自然。两种任务都处理空间稀疏性,但其失真不能混用。

先修L14、L20、L34,并复习R19的点集合表示、R18的高斯渲染和R25的熵模型。综述[pc_compression_survey]可帮助区分几何压缩与属性压缩。阅读时始终把“原始浮点坐标”“量化后的整数坐标”和“最终渲染图像”当作三个不同层面的对象。

数值例子:无损到底对谁无损

假设一维坐标是零点一二米和零点一八米,按零点一米步长四舍五入后成为零点一米与零点二米。随后即使把这两个整数编码得完全可逆,也不能恢复原始小数。这里熵编码对离散符号无损,几何预处理却已经有损。报告“无损点云压缩”时必须说明输入是否已在固定精度网格上。

再考虑一个八叉树节点的八个子块,仅第一个和第五个非空,可用一个八位占用模式表示。若某模式的预测概率为二分之一,理想码长是一比特;若预测概率只有二百五十六分之一,则需要八比特。学习熵模型的任务不是改变这两个非空子块的位置,而是利用已知邻域预测这个符号,从而减少表示成本。

路线演进与问题拆分

PointNet[pointnet]说明可以直接从无序点集合抽取特征,但任务网络的特征并不天然是可压缩比特流。八叉树压缩通过递归划分空间,把不规则集合变成离散占用序列;OctAttention[octattention]进一步学习祖先与兄弟上下文。它改进的是条件概率估计,几何精度仍由量化规则决定。

另一条路线是压缩供渲染使用的场景。Instant-NGP[instantngp]中的空间哈希结构为紧凑神经表示提供启发,3D Gaussian Splatting[gs]则以显式高斯快速渲染。HAC[hac]借助空间哈希特征建立锚点属性上下文。这里压缩后的参数可以发生变化,只要目标视角上的渲染质量满足要求,因此它与精确保留点坐标的目的不同。

精读一:OctAttention的核心图与因果上下文

阅读[octattention]缓存PDF第3—4页Methodology、图2与图3,再读第5—7页实验与表1—4。图2把每个节点的占用模式、层级和八分区位置分别嵌入,聚合兄弟节点及其祖先,再输出占用符号的概率。注意这里的兄弟上下文按文中范围描述包含同层已编码节点,不应机械地只理解成同一父节点的另外七个孩子。

图3的掩码不是普通分类任务里的随机正则化,它首先承担“解码时可获得”的约束。当前符号不能依赖尚未恢复的未来符号,否则编码端可能得到漂亮交叉熵,接收端却无法重建同样的概率。增大上下文往往有利于建模,也可能增加串行依赖;掩码与分组策略在概率准确度和计算并行性之间折中。

式(1)—(3)明确坐标平移、量化及误差界。实验覆盖SemanticKITTI以及MVUB、MPEG 8i,表1报告对象点云的每点比特,表2检查上下文大小,表3检查骨干和兄弟信息,表4比较编码时间。不能把某数据集的码率收益转述成任意密度点云上的固定收益,更不能把几何压缩成绩当作颜色属性压缩成绩。

精读二:HAC为什么把哈希网格当上下文

阅读[hac]缓存PDF第5—9页第3节及图2、图3,第10—14页实验、表1、图4和图6。HAC基于Scaffold-GS的锚点结构,以位置查询二值哈希网格,再预测锚点属性的概率分布和量化相关参数。图2中应分别找出位置、哈希上下文、属性量化及算术编码的箭头,确认哪些信息必须先恢复。

关键区别在于哈希特征用于解释属性的统计分布,并不简单替换所有锚点特征。图3展示属性分布,方法还采用自适应量化和偏移掩码。若只说“把高斯放入哈希表就压缩了”,会漏掉概率建模、网格自身成本以及冗余高斯的选择。读者应把整个场景文件分解成位置、哈希网格、网络、属性及辅助信息分别计账。

表1跨多个新视角合成数据集比较存储与图像指标,图4给出率失真曲线,图6逐项移除上下文、自适应量化或掩码以观察贡献。图1中的单场景倍率是示例,不是统一保证。更公平的比较需要固定训练图像、相机、场景划分、图像分辨率及基线训练配置;改变场景表示再比较压缩,也可能同时包含表示本身的收益。

核心公式与空间冗余

八叉树的码长近似为R=Σ_i −log₂ p(s_i|c_i),其中s_i是占用符号,c_i必须由已解码信息构成。高斯场景则常采用R+λD目标,其中D来自渲染图像。前者在固定量化后可以保持符号完全一致,后者允许调整参数以交换率失真。相同的“条件熵”概念由此服务于两种不同的保真约束。

不要只比较文件大小而忽略分母。每点比特应说明点数使用输入点还是去重后的点;场景兆字节应说明是否包含网格和解码网络;每像素比特不适合直接概括可从无限视角渲染的场景。教学报告最好同时保存绝对字节数、点数或场景标识及失真定义,让读者能够重新计算。

进阶:量化误差与概率质量

连续高斯密度不是离散符号概率。对于量化步长Δ,某符号对应区间的概率应由累积分布在区间两端的差得到。只把密度值代入负对数,可能得到负码长,也无法直接交给算术编码器。若Δ是自适应的,解码端也必须知道或可重现它,因此参数预测顺序成为码流设计的一部分。

空间哈希可能发生碰撞,它通过共享表项换取紧凑性;不能假定每个位置都有唯一特征。分析某场景质量下降时,可以分别改变表容量与量化强度:前者影响表示和上下文能力,后者影响离散化误差。只改变总文件大小无法确定是哪一个原因。

实验协议与资源边界

本章衔接X09。CPU入门实验可以生成平面、球面及稀疏扫描线点云,固定包围盒和量化步长,比较固定八位编码、全局频率编码及因果上下文编码。训练上下文时留出整个形状,而不是随机拆分相邻节点,否则训练和测试共享局部几何,容易高估泛化。

首先验证解码坐标集合与量化输入完全一致,再计算字节数。随后改变八叉树深度,观察坐标误差与码率如何共同变化。对于点到点或点到平面的距离,记录是否对称、法向如何估计及归一化尺度;不同工具默认设置会导致数字不能直接比较。所有方法应使用同一排序、去重和边界处理。

HAC的完整场景训练通常需要GPU与多视图数据。资源有限时可只复现一个小场景并研究属性分组存储;必须注明这不是论文规模复现。记录训练时间、峰值显存、编码时间、解码时间和渲染速度。某文件很小却需长时间初始化,未必适合用户频繁切换场景的应用。

证据与失败模式

几何指标低不代表任务始终可靠。例如稀疏远处目标只占少量点,平均误差可能掩盖它被合并后的消失。渲染平均PSNR也可能掩盖镜面区域和细线结构的破坏。最好分区域、按视角或按距离展示误差,并保存失败场景,避免只截取容易的表面。

还应警惕训练视角泄漏。如果压缩后只在用于训练的相机上渲染,网络可能记住图像而没有保存稳定空间表示。留出视角的范围与运动路径要明确,过远的新视角也不能无条件要求正确,因为原始输入可能从未观察到对应表面。实验结论应同时尊重压缩限制与采集覆盖限制。

理解题、比较题与实验设计

理解题一:八叉树符号无损为何仍可能存在几何误差?理解题二:熵模型使用未来节点会导致什么问题?理解题三:哈希网格用于概率预测与用于直接生成颜色有何不同?请分别从编码器和解码器角度画出依赖图。

比较题:按被压缩对象、上下文来源、失真定义、解码输出及主要耗时环节对比OctAttention与HAC。实验设计题:一个改进使HAC场景文件减少,但测试视角PSNR不变,你如何判断改进是否真正有用?至少加入传输后解码、未见视角细节和总存储组成的检查。

提示与答案方向

第一题分开量化与熵编码。第二题要求按顺序还原概率,指出无法获取的条件变量。第三题说明上下文只改变符号的编码概率,不必直接决定其值。实验题应把网格、网络、码流及元数据全部计入,并报告计时条件;如果额外网络被预先装在机器上,需说明其共享假设及摊销样本数。

方向选择与阅读路线

偏信息论与数据结构的读者可从八叉树序列、因果掩码及算术编码进入;偏图形学的读者可从高斯参数、可微渲染与率失真优化进入。最适合初学者的贡献是明确一种失败原因并设计控制实验,例如稀疏点云的上下文失效或特定材质的量化敏感性。先读[pc_compression_survey]建立任务分类,再依次精读两篇论文方法与消融,最后回到[gs]理解渲染误差如何传播。不要把更高压缩倍率本身当作完整研究问题。

R28 感知与生成式压缩

感知与生成式压缩:逼真和忠实如何同时衡量

问题、先修与学习目标

极低码率时,压缩器不可能精确保留所有纹理。它可以输出平滑但像素误差较小的重建,也可以生成看起来更自然却未必与原图逐点一致的细节。输入仍是原始图像,输出包括真实码流和解码图像;研究问题是在有限信息下如何选择可接受的失真,而不是怎样把输出修饰得更漂亮。

先修L09、L14、L15,并掌握R25的率失真目标。阅读[image_compression_survey]时区分像素指标、特征距离、分布距离和主观评价。它们回答不同问题:一张图是否忠实、整体图像是否像自然图像、以及人在特定观看任务下是否偏好该方法,不能彼此替代。

一个可计算的模糊例子

设某个不可见细节只有黑或白两种可能,条件概率各为二分之一。输出灰色零点五的期望平方误差为零点二五;随机输出黑或白的期望平方误差为零点五。灰色在均方误差上更优,却可能从未出现在真实细节分布里;采样能恢复黑白分布,但不能保证这一次选中的颜色就是原图颜色。

把这个例子放大到草地或头发,平均预测会抹平多种可能纹理,而生成方法可能画出合理纹理。对于无法由码流确定的文字、数字和身份标记,这种替代可能不可接受。因此讨论“质量更好”前必须写出使用目的:欣赏照片、识别车牌、测量病灶或编辑图像,对细节替代的容忍度并不相同。

路线演进:从失真最小化到多目标设计

传统率失真优化给定一个失真函数,在成本约束下逼近原图。GAN[gan]引入分布匹配视角,让生成图像难以与真实样本区分;感知失真研究[perception]解释这类目标与逐点误差之间的矛盾。HiFiC[hific]将熵模型、特征损失和对抗训练放进实际图像压缩系统。

潜空间扩散[ldm]及Transformer生成模型[dit]进一步提供强生成先验,但生成模型的流行不意味着任意组合都构成合格编解码器。必须明确哪些信息经码流传递、哪些信息由接收端共有模型提供、采样随机性是否可重现,以及计算成本如何计入。若传输的是文字提示而恢复的是另一张相似图片,应如实定义任务,不能沿用逐像素忠实压缩的评价口径。

精读一:感知失真权衡的理论边界

阅读[perception]缓存PDF第3—6页第3—4节、图2—6及定理2,再读第7—9页图7—11。图2规定原图、退化观测与估计结果的关系;图3与图4展示均方误差估计的分布变化。这里“感知”被形式化为重建分布与真实图像分布的差异,并不等于某个固定的人类喜好评分。

关键对象可以写成P(D)=min d(p_X,p_X̂),约束为期望失真不超过D。定理讨论其随允许失真的变化及相应条件下的凸性。读公式时先确认优化变量是条件重建分布,而不是某个固定网络的权重;理论可达边界不代表现有模型已达到边界。更不能将两种模型的性能差异全都归因于不可避免的理论权衡,因为训练不足也会让方法远离边界。

图7用对抗训练展示权衡,图9与图10考察超分辨率方法在感知失真平面中的位置。它支持“单个失真指标无法全面评价恢复”的论点,但文章不是一个完整压缩码流实验,码率没有因此被自动控制。将其用于压缩需要再加上有限比特的约束,并重新定义比较点。

精读二:HiFiC如何落实到编解码器

阅读[hific]缓存PDF第3—4页第3节和图2、第5—8页第4节及图3—6,同时看附录的主观测试与训练设置。图2包含编码器、潜变量量化、概率模型、生成解码器和判别器。判别器影响训练目标,接收端解码不需要把整套训练流程重新运行一遍。

目标联合考虑码率、像素失真、感知特征与对抗项。条件判别器与潜变量关联,鼓励生成结果保留输入相关内容。图4同时画率失真和率感知曲线,图5展示调整目标时的交换关系;若仅挑选其中最有利的一条曲线,会误导读者以为一种方法在所有意义上都更好。

图3将用户研究与感知指标并列,表1检查不同训练运行之间的变化,图6及后续图进行结构与损失消融。论文在CLIC2020等数据上评价,并提供其他数据集结果。阅读主观测试时应关注图像采样、比较方式与评分汇总,不能将参与者偏好推断成每个像素的真实性。跨训练波动也提醒我们:一次漂亮训练不能代表稳定改进。

核心图的重画方法与公式

重画系统时用实线表示部署时实际传输的信息,用虚线表示仅用于训练的真值与判别反馈。若发现解码器在实验中读取了原图特征,却未计入码流,那就出现了信息泄漏。这个检查比把所有模块画成相同颜色的方框更有价值,因为它直接检验压缩系统的边界。

教学目标可写为L=R+λD+αP+βG,其中R是全部码流成本,D是配对失真,P是选定的感知特征距离,G是对抗训练项。这只是便于讨论的归纳,不能假定所有论文权重和定义一致。改变某项系数后应重新测量真实码率,因为生成器和编码器联合训练时,比特分配也可能发生变化。

进阶:为什么均方误差偏向条件均值

给定观测y,把平方误差对估计a求导,可得最优a为条件期望E[X|Y=y]。当条件分布有两个相距较远的模式,均值可能落在两个模式之间。这个推导依赖平方误差;换成绝对误差会得到条件中位数类解,而分布匹配可以允许随机采样。三者都不是“猜回唯一真值”的魔法。

进一步思考,感知分布一致只约束边缘分布。把测试图片的输出随机交换,可能保持输出整体分布,却摧毁与输入的一一对应。因此条件忠实度必须另行检验。真实压缩评估应把配对指标与分布指标一起报告,并对语义敏感区域做人工核查。

实验协议:让比较具有相同成本

本章对应X10的感知压缩问题。入门时可以用相同低分辨率信息构造均值与采样重建,先验证上面的数值例子;这只说明目标差异,不能声称复现HiFiC。完整模型需要图像训练集、GPU和可靠熵编码实现。资源有限时使用固定预训练模型评价,明确不将不同训练数据带来的差异归因于单个损失函数。

固定测试图像及码率范围,至少取多个率点,实际压缩并统计包括侧信息在内的字节数。配对记录PSNR或选定失真、LPIPS等特征距离,再按足够样本估计分布指标。对不足以稳定估计FID的小数据集,不应把很小的数值波动解释成改进;可以补充逐图配对分析及置信区间。

主观测试应预先规定显示大小、观看距离或缩放规则、随机顺序与盲法。将整体自然度和局部真实性分成两个问题,避免参与者只因为更锐而偏好某结果。对于生成随机性,报告多个种子或固定确定性解码规则;挑选最好看的种子会把额外人工选择成本隐藏起来。

证据、局限与应用判断

生成式压缩可能为自然纹理节省比特,也可能制造原图没有的规律。最有诊断价值的测试包含细小文字、重复窗格、网格线、不同肤色与非常见物体。除了平均指标,应保存“视觉更好但事实更错”的案例,并解释码流究竟不足以确定什么。

部署还包括解码时间、显存和模型分发。共有大模型的大小可以在多张图片间摊销,但单次传输和离线接收的成本不同。若模型升级会改变同一码流的输出,版本号和解码兼容性就是系统设计要求。不能仅报压缩文件而忽略接收端必须具备的模型。

理解题与研究练习

理解题一:为什么条件均值可能看起来不真实?理解题二:输出分布与真实分布一致能否保证对应原图内容正确?理解题三:同样LPIPS能否证明两种压缩器具有相同视觉质量?要求每题给出一个反例或明确条件。

论文对比题:比较感知失真理论与HiFiC在研究对象、优化变量、核心证据和实际码率上的区别。实验设计题:一个新对抗损失降低FID却使文字识别变差,如何设计足够公平的多目标评价,并决定是否适合照片分享场景?

提示与答案方向

第一题使用黑白两模式的数值计算。第二题考虑输出随机交换。第三题指出特征网络、数据分布与指标聚合的局限。比较题要把一般理论与具体可训练系统分开。实验题同时匹配码率、检查感知偏好与文字准确性,并在结论中写明用途;可以推荐用于自然照片纹理,却不能据此推荐用于文字存档。

方向选择与阅读顺序

偏理论的读者从条件估计、分布距离与可达边界进入;偏系统的读者从真实码流、解码成本和主观实验进入。最稳妥的小研究是发现一个指标不能覆盖的失效,并提出可重复的评估协议。先读[image_compression_survey]的任务分类,再读[perception]的定义与定理,随后读[hific]的图2和实验,最后研究[ldm]等先验能否在固定传输预算下提供价值。不要以更大的生成器代替对问题边界的说明。

R29 面向机器与任务的压缩

面向机器的压缩:传什么才能完成任务

问题定义与先修

当接收端是分类器、检测器或检索模型时,保存每个像素未必是最经济的目标。输入是图像或视频,发送端可以压缩原始信号、提取中间特征或只发送任务结果;输出可能是类别、框、检索排序,也可能同时保留供人查看的重建图像。研究问题必须先指定接收端任务,否则“语义信息”没有可测量的含义。

先修L14、L15、L18,复习R25的码率与R03的分布变化。综述[split_survey]适合建立端侧与云侧拆分的系统视角。除了准确率和比特数,还要考虑发送端算力、网络带宽、接收端模型版本和未来任务变化;只优化中间特征维度无法覆盖这些成本。

数值例子:少维度不一定少比特

一张二百二十四乘二百二十四的三通道八位图像约占十五万个字节。一个五十六乘五十六乘六十四的中间特征若用三十二位浮点保存,约占八十万个字节,比输入还大。虽然空间尺寸缩小四倍,通道扩张与浮点精度却使传输量增加。因此把网络切在“看起来较小”的层,并不等于通信更省。

另一个例子是只传十类分类结果:四个比特足以表示类别编号,却无法让接收端以后重新检测物体位置。传输极少并不总是成功,它可能通过删除任务外信息实现。若未来任务未知,就需要评价可迁移特征或保留基础视觉层;若任务确定且端侧已经能可靠完成,直接传结果可能更合理。选择取决于系统约束而非算法名字。

路线演进与共同语言

信息瓶颈希望保留与标签有关的信息,同时减少输入的其他细节。VIB[vib]把这一思想变成可训练的随机表示目标。VCM[vcm]则从系统层面讨论视觉信号与特征协同编码,兼顾人和机器的需求。两者有联系,但前者的互信息正则并不是一个完整的网络传输协议。

视觉语言表示[clip]与[siglip]提供跨任务特征的可能,使发送端不必为每个固定类别表重训整个表示。然而通用表示仍受训练语义、分辨率与模型版本影响。把特征压缩得适合检索,不能直接保证小目标检测也好;“语义压缩”应被展开为具体输入、任务集合、比特流及评价指标。

精读一:VIB如何构造可优化的信息瓶颈

阅读[vib]缓存PDF第2—4页理论推导与随机编码器、第5—8页第4.1节、图1和图2,再看后续鲁棒性实验。目标可以理解为最大化I(Z;Y)并惩罚I(Z;X),Z是随机瓶颈表示。由于互信息难以直接计算,论文用分类负对数似然与相对于先验的KL项建立变分目标。

方法采用编码分布p(z|x),而不是只把确定向量做得更短。常见高斯参数化输出均值与尺度,通过重参数化训练。图1比较不同β下的训练、测试表现及信息量估计;图2的二维分布图让我们看到正则过强时类别分布重叠乃至表示坍缩。读图时应注意二维示意与高维分类设置不是同一个性能实验。

表1在置换不变MNIST设置下对比正则化方法,文本明确这并不是宣称最佳分类器的研究。后续对抗实验有其攻击与模型设置,不能当作面对任意攻击的保证。更重要的是,KL正则对应信息约束的上界分析;若没有量化、熵编码、共享先验及必要随机性协议,它不能直接被当作实际传输字节数。

精读二:VCM框架与初步实验

阅读[vcm]缓存PDF第5—7页第IV节及图1、第8—10页第VI节及图2、图3,第10—12页第VII节表I—IV。图1展示人机任务、不同层次视觉表示及反馈关系;图2把像素、特征与任务连起来;图3给出可能的协同方案。它是一篇框架和探索性研究,不能把示意图理解成已经冻结的统一编解码标准。

精读时追踪三种信息流:供机器使用的特征、供人观看的图像,以及帮助优化编码的反馈。反馈有用却也可能需要反向通信和接收端任务信息。在离线存储中,编码时可能并不知道将来的分析模型,因此设计需解释哪些信息能共享、哪些信息必须写入文件。

第VII节包含特征压缩、任务性能及重建的初步实验,图4与图5关注检测示例及交并比,图6展示率失真,图7与图8展示重建。它说明有必要联合评价多种输出,不能据一项任务收益就推断所有机器任务都受益。实验使用的具体特征、网络与数据划分,应作为结论的前提一起阅读。

核心公式:理论信息和实际码长

教学形式为L=E[−log q(y|z)]+β KL(p(z|x)‖r(z))。第一项鼓励保留标签预测所需信息,第二项抑制编码分布过度依赖单个输入。若β很大,所有输入都被映射到接近先验的分布,通信看似省了,任务也可能失败;如果β为零,表示可能包含大量细节,未必具有较小传输成本。

真正的离散码流成本更接近Σ−log₂p(ẑ_i|context),还要加元数据和包头。对连续随机变量的KL与这个表达式之间存在联系,但不是无条件相等。编写论文或报告时应分别标记理论正则、估计熵和实际字节数,避免把三个数字放进同一张码率表却不注明来源。

进阶:为什么任务最优表示依赖标签

若标签只表示“图中是否有猫”,毛色、背景文字和精确位置可能对当前任务帮助不大。新的标签若变成猫的品种或所在区域,这些信息就可能不可缺少。信息瓶颈并不提供与所有未来任务都无关的“冗余”定义,而是相对于所选预测目标进行取舍。

在多个任务上可以使用加权损失,但权重选择决定偏好。对某个任务增加样本数也会改变联合训练的影响力。因此研究通用压缩表示时,需要冻结部分任务作为训练目标,再保留真正未参与优化的任务作迁移评价;用所有任务调参后再称为未知任务泛化并不成立。

实验协议:完整计算端到端成本

本章对应X10的任务压缩思路。先在小型分类网络选择两个切分点,测量原始浮点特征字节数;随后使用固定量化与熵编码,得到真实可解码码流。分别比较发送像素、发送特征和发送最终预测三条路线。若最后一条不能支持云侧修改任务,应在表中注明,而不是让其凭最低比特数取得不合理胜利。

固定训练集、验证集和测试集,量化范围与熵模型只用训练或校准数据建立。按多个码率点评价准确率或mAP,并计入端侧提取、编码、上传、解码和云侧推理时间。网络时间可用文件大小与预设带宽计算,但应标为模拟值,不能冒充真实链路延迟;小包往返和抖动可能影响实际结果。

设计一个域外测试,例如照度变化或新背景,同时固定接收端模型。随后单独更换接收端模型版本,检查特征兼容性。若模型改变导致特征完全不可用,这是重要系统限制。实验还需说明共有模型大小是否摊销,以及设备内存是否允许保留特征缓存和编码缓冲区。

证据、局限与隐私误区

特征不可直接观看不等于隐私已经得到保护。中间特征可能包含身份、背景或可重建的图像信息;更少维度也不是严格隐私保证。本章不把压缩正则解释成隐私机制,若研究隐私,应单独定义攻击者能力和评估任务,避免借用信息瓶颈术语替代实际证据。

另一类失败是任务模型过拟合压缩失真。训练时接收端知道压缩器特征,测试换成另一个检测器后成绩下降,说明优化只适配了特定任务链。这不一定是无价值,但应称为特定任务协同优化。广泛兼容性需要多个接收端和未见任务的证据,而不是一个准确率数字。

理解题、比较题与实验设计

理解题一:为什么空间尺寸缩小后的特征仍可能比图像更大?理解题二:VIB里的KL项是否就是网络实际发送比特数?理解题三:只发送分类标签为什么可能无法满足未来需求?每题至少从一个具体系统实例出发。

论文对比题:比较VIB与VCM的研究尺度、优化对象、核心图和实验结论。实验设计题:某压缩特征让当前检测器mAP不变且码率下降,但云端更新后性能明显变差,如何区分量化误差、表示不兼容和域变化?

提示与答案方向

第一题完整乘以空间、通道、位深。第二题列出缺失的离散化与编码过程。第三题指出标签丢弃了无法恢复的位置与外观。实验题构造二维对照:分别固定模型改变压缩,固定压缩改变模型,再单独改变数据分布;只看最终mAP下降无法识别原因。对比题须指出VCM同时考虑人的视觉需求,而VIB的标签预测目标并不直接要求可观看重建。

方向选择与阅读路线

喜欢理论的读者可以研究瓶颈正则与任务迁移,喜欢系统的读者可研究切分点、真实字节与延迟。小规模项目应选择清晰任务和可控设备预算,例如“固定检测器下减少上行数据”比“通用语义通信”更容易验证。先读[split_survey]建立成本清单,再读[vib]的推导和图1,随后读[vcm]的图1—3与初步实验,最后评估[clip]、[siglip]这类共有表示能否带来值得模型分发成本的兼容性。

第三次组会衔接:压缩视频表示不等于生成可传输码流

为问答减少视觉token,目标是保留任务证据;它可能只在内存中改变特征。若未生成可解码文件,就不该把token节省率称为实际码率收益。任务压缩必须固定下游模型、问题分布和视觉分辨率;少见细节可能在平均准确率不变时被系统性丢失。 [m03_remora]

这段为教学分析;对应原论文机制与阅读边界见第三次组会专题。用自己的话写出输入、输出和一项可控制的变量,再进入专题练习。

R30 模型量化、整数计算与实时部署

研究问题:模型怎样以有限精度稳定运行

输入是一套已经训练好的视觉网络、代表性校准图像和目标设备;输出是低精度权重、激活及对应的推理程序。模型文件缩小只是一个目标。若整数乘法后又把大部分层转回浮点数,内存访问、延迟和功耗可能没有同步改善;若量化使图像压缩器的概率估计改变,实际码流也可能增大。研究应同时报告任务质量、模型大小、峰值内存、真实设备耗时和数值一致性。[quant_survey]

先修 L31 量化、L32 数值精度 和 L33 复杂度。这里的“网络量化”是把参数或中间激活映射到有限整数格点;R25 中“潜变量量化”则是把需要传输的视觉表示离散化。两者都使用舍入,却处于不同位置,服务不同目标。组会中的整数化学习式图像压缩正处在交叉点:网络运算要高效,编码器与解码器还要对符号和概率保持一致。

直觉与手算:最接近的格点未必最好

假设量化步长为 0.1,两个权重是 0.14 和 0.14。各自舍入到最近格点得 0.1、0.1,误差都是 −0.04;如果输入都为 1,这两个误差在输出中相加,输出误差为 −0.08。若第一个权重舍入到 0.1、第二个舍入到 0.2,单个权重的总绝对误差变大,但输出误差变为 0.02。这个手算说明优化对象从单个权重的距离改为整层输出时,舍入决策可以改变。

把实数 r 映射到整数 q,常用仿射关系 r≈s(q−z),其中 s 是正的缩放系数,z 是整数零点;逆变换需要舍入并裁剪到目标范围。假设 s=0.1、z=128,数值 0 可表示为 q=128,数值 0.2 为 q=130。零点很重要:卷积输入中的真实零应当有可表示的整数值。不同层的 s、z 不一样,层间运算后还需要重新量化,不能只做一次输入转换便宣称全网络整数运算。[integer]

细分路线:训练、校准与硬件

量化感知训练在训练图中模拟有限精度,使参数适应舍入误差;推理图则需要真正实现整数路径。训练后量化先固定原模型,用少量校准数据求取范围和舍入决策,部署成本低,但越低比特越容易有精度损失。逐张量量化共用一个尺度,逐通道量化让不同输出通道有独立尺度;后者可能更准确,也增加尺度处理复杂度。[integer][adaround]

网络结构和量化不能分开评价。MobileNet 与 MobileNetV2 通过轻量卷积和倒残差降低计算,说明先设计省算模型再量化,与把一个大模型量化后宣称“轻量”是两条不同路线。[mobilenet][mobilenet2] SmoothQuant 等后续工作讨论如何在权重和激活之间迁移难处理的尺度,但大语言模型的结果不能直接替代视觉编解码器的概率和码流实验。[smoothquant]

“八位”也不是统一成本:输入乘权重可用 8 位整数,累加通常需要更宽整数;偏置、重定标乘子、中间缓冲及熵编码表可能使用其他位宽。算子不被设备支持时会出现浮点回退。论文里的运算量、模型压缩比与实测每秒帧数分属不同证据,测量时必须说明设备、批大小、输入尺寸、预热次数、线程数和是否包含数据搬运。

精读一:整数算术推理怎样闭合数据路径

先看 Jacob 等人的图 1.1,再读 §2.1–2.4、§3 与 §4 的设备实验。图 1.1a 描绘八位输入和权重、三十二位累加与八位输出;图 1.1b 在浮点训练图中插入模拟量化节点。两个图不能混为同一个执行环境。论文用尺度与零点定义实数和整数的对应,再把矩阵乘、零点修正、偏置和重定标接成整数路径;训练端用模拟量化减小精度损失。[integer]

§2.2 中整数矩阵乘积先以宽位累加,随后乘以尺度比并重新量化到输出范围。§2.3 解释零点带来的额外项如何高效处理,§2.4 展示融合卷积、偏置与激活的实现。沿着一个输出元素追踪每一步的类型,比记住“INT8”标签更有帮助。如果只把权重文件存成八位,运行时仍将其反量化后做浮点卷积,就没有满足这篇论文讨论的整数算术路径。

证据应看 §4 的实际设备协议:ImageNet 分类上的 ResNet、MobileNet,以及 COCO 检测和人脸任务分开给出;图 4.1、4.2 把准确率与所用移动 CPU 的延迟放在一起,表 4.4 是检测的速度与准确率。它们支持特定模型和硬件上的权衡,却不能外推到任意 GPU,也不能说明学习式图像压缩的实际 bpp 保持不变。模型训练使用量化模拟,硬件核和框架同样参与实测收益。

精读二:AdaRound 为什么要考虑整层输出

读 Nagel 等人的 §2、§3.1–3.3 和图 1、图 2,再看 §5 的表 2、3、7。作者从损失在预训练权重附近的泰勒展开出发:单个权重的最近舍入只顾自己误差,二阶项却描述不同权重扰动的相互影响。论文把每个权重向上或向下的选择写成离散优化,并用层输出重建误差建立可求解的近似目标,采用连续松弛逐步推向二值决策。[adaround]

图 1 将代理代价与 ImageNet 验证准确率联系起来,不能读成理论代价与所有任务误差完全等价。表 2 检验从完整目标转为局部目标时的近似,表 3 与图 2 支持松弛和退火设计。表 7 比较多个模型的训练后量化结果,须记录位宽、激活是否量化、校准图像数量和基线配置;只挑最高一个数字无法判断方法稳定性。

AdaRound 不重新训练整个网络,却需要代表性、未标注的校准数据,并会逐层优化舍入参数。它主要解决权重舍入。如果问题来自激活异常值、设备不支持某算子,或熵模型的浮点舍入在编解码两端不同步,单独应用它并不能解决。论文的近似从局部展开与有限扰动出发,极低位宽和强分布变化时要重新验证,而不能把推导当成严格全局最优保证。

进阶推导:从权重误差到任务误差

令量化前权重为 w,量化扰动为 Δw,在局部平稳点附近,任务损失变化约为 ½ΔwᵀHΔw;H 是损失相对权重的 Hessian。只看对角线时,每个权重的误差幅度似乎可以独立优化;非对角项把不同权重的舍入关联起来。这说明前面的两个权重手算为什么会发生误差抵消,但真实 Hessian 巨大,论文改用更可操作的层输出重建代理。[adaround]

进阶:一个可执行的舍入误差算例

下面是教学合成例子,不复现 AdaRound 优化,也不对任何真实模型下结论。它计算两个舍入方案的输出误差:

w = [0.14, 0.14]
x = [1.0, 1.0]
target = sum(a * b for a, b in zip(w, x))
nearest = [0.1, 0.1]
mixed = [0.1, 0.2]
for name, q in [('nearest', nearest), ('mixed', mixed)]:
    prediction = sum(a * b for a, b in zip(q, x))
    print(name, round(prediction - target, 3))

预期输出为 nearest -0.08 与 mixed 0.02。若把第二个输入改成零,混合方案的优势消失,说明校准数据分布会改变最佳决策。真正比较应在未参与校准的测试集上做,并加入激活量化误差。

实验协议:质量、码流与速度分别量

先做 X10 的逐张量与逐通道误差实验,保存固定随机种子和激活范围。然后选一个小网络,在同一测试集上比较浮点、权重最近舍入、权重自适应舍入、权重加激活量化;每种方案都记录模型文件字节、输入分辨率、任务指标、CPU 或 GPU 推理时间。要在真正支持整数核的设备上验证是否发生低精度计算,不能从 Python 张量类型猜测硬件执行路径。

若把量化用于图像压缩模型,还要单列估计 bpp、实际可解码码流 bpp、容器开销与模型文件大小。编码器输出的量化潜变量和解码器使用的概率表必须一致;对同一图像完成码流编码、解码与尺寸检查,再比较 PSNR 或感知指标。只报告模型 MSE 下降,不能证明压缩收益;只报告 FPS,也不能说明真实传输成本。组会中的整数化 LIC 可以从“哪个算子决定最终离散符号”这个问题入手读。

计时需要预热、重复、同步设备,并分别报告编码、解码和总时长。若模型首次加载花一秒而之后每张图二十毫秒,在线推理与偶尔打开一张图的用户体验不同。实测系统可以把加载时间列为独立项,不应藏在吞吐量平均值里。对部署有兴趣的本科生,从一层卷积的尺度追踪、误差表和真实计时开始,比立即改写完整压缩器更可控。

练习、论文比较与参考答案

理解题一:八位权重文件为什么不足以证明“整数算术推理”?理解题二:最近舍入使每个权重误差最小,为什么整层输出误差仍可能较大?理解题三:潜变量量化与网络权重量化分别影响什么结果?论文比较:列出整数算术论文与 AdaRound 的输入、主要改动、实验设备与结论边界。小实验设计:改变 X10 的通道尺度差异,预测逐通道方案何时收益更大,再用未见随机样本检查。

分级提示与参考答案

先画出数据路径:权重读取、输入、乘加、偏置、激活、输出重定标。第一题需要指出激活和乘加仍可能在浮点中进行;文件小并不代表计算路径整数化。第二题在输出 y=Σwᵢxᵢ 中比较各误差的带符号加权和,单个误差最小不能保证和最小;前面的 0.14 例子就是反例。第三题,潜变量量化改变要编码的离散符号与重建质量,网络量化改变模型运算精度、参数大小和设备执行。二者可能相互影响,所以压缩模型要测真实码流。

论文比较的关键是 Jacob 等人建立整数推理与模拟量化训练的一整条路径,在指定移动设备上量延迟和质量;AdaRound 固定预训练模型,利用少量校准数据优化权重舍入,主要在训练后量化设置比较精度。实验设计先固定种子和总样本数量,仅改变不同通道的量级;再在测试样本上计算误差,不能只展示用于确定尺度的校准样本。若数据分布变了,重新检查量化范围是否仍适用。

选方向指南与阅读路线

若喜欢数值计算,可从缩放、裁剪、溢出和误差传播切入;若喜欢工程,可测量真实设备的算子支持和延迟;若喜欢压缩研究,可检查整数化后率失真曲线、码流一致性以及编解码速度。只会 Python 也能先完成 X10 与教学算例,随后再读 L31–L33 的小程序和部署环境。高价值的小课题通常是清楚指出一个设备或码流约束,再做可复现对照,而非宣称“所有模型八位化”。

阅读次序:先用 [quant_survey] 建立术语,再读 [integer] 的图 1.1、§2 与实际硬件图表;接着手算一次缩放与零点,最后读 [adaround] 的 §2–3 及表 2、3、7。带着“每一个数字表示哪个成本”返回组会材料,就能区分量化误差、运算提速和最终码率。无法取得目标设备或重现原论文训练时,完成纸面数据流、X10 和清楚的实验设计仍是有价值的入门成果。

R31 图文对齐与检索

研究问题:图片和句子怎样放在同一把尺上

在一万张照片里输入“雨天路口的红色公交车”,系统要返回相关图片;反过来,给定一张照片,也可以找对应描述。这叫跨模态检索。输入属于不同模态,输出是候选排序或匹配分数。图文对齐的目标是学到一个共同表示空间,使描述相符的图文更接近。它与图像描述生成不同:检索从现成候选中选,生成需要逐词构造答案。[vlm_intro]

研究难点不只是把向量维度变成一样。网络图片的配文可能只提到局部内容,也可能含比喻、广告或错误信息;两张不同图片都可以对应“街上的汽车”。一个批次把所有非原配文本当作负样本,就会引入错误监督。语言还把对象、属性、数量和关系混在一起,全局相似度未必能区分“狗追人”与“人追狗”。

必要基础:余弦、softmax 与检索协议

先复习 L05 分类损失、L14 概率、L29 注意力 和 R02。图像编码器 f、文本编码器 g 输出向量,归一化后得 u、v,匹配分数 s=uᵀv。归一化让向量长度不能直接提高相似度;温度或可学习尺度再控制得分分布的尖锐程度。

给定图像向量 (1,0),三条文本向量分别是 (1,0)、(0.8,0.6)、(0,1),余弦为一、零点八、零。排序很容易算,但这些向量由谁学出来才是难点。X11 使用手工向量让你先检查行列、归一化与索引,不能据此宣称模型理解了“红色公交车”。

Recall@K 衡量正确候选是否出现在前 K 项。必须注明候选池大小、一个查询有几个正例、是否取多个描述以及去重规则。同一个模型在一百个候选中检索与十万个候选中检索,难度不同。图像到文本与文本到图像也可能不对称,因为数据中的对应关系并不总是一对一。

细分路线:共同空间与交互匹配

双编码器分别计算图像和文本表示,适合提前建索引、大规模检索。交互模型在看到一对图文后让它们交换信息,通常能做更细的关系判断,但每个候选都运行交互会增加成本。常见系统先用双编码器召回一批候选,再用交互模型重排。研究可以分别落在数据构造、相似度学习、局部区域对齐、困难负样本和检索系统效率上。

零样本分类是检索接口的一个特例:把类别写成文本描述,以这些文本作为候选。它避免为每个新类别重新训练分类头,却仍依赖预训练时学到的语义、语言和图像范围。“没有用下游标签训练”不表示从未见过类似图片,也不等于新类别保证识别正确。[clip]

经典演进与入选理由

CLIP 展示大规模自然语言监督与双编码器的迁移接口;ALIGN 强調噪声图文对的规模化训练,提醒我们数据处理与规模会影响结论;Flamingo 进入交错图文和生成式任务,说明检索表示与对话生成是不同接口;SigLIP 改变图文预训练损失的计算组织,提供一个系统约束反过来影响目标设计的例子。它们不是单纯按发表年份排列的性能阶梯。[clip][align][flamingo][siglip]

如果想转向多模态研究,本章比直接调用聊天模型更适合作为第一步。你能看到表示、损失和评价之间的明确联系,也容易在有限资源下分析失败案例。大规模训练本身仍然昂贵,入门实验应优先用冻结编码器。

精读一:CLIP 的矩阵到底在比较什么

读第二节方法和图一伪代码。设批量大小为 N,图像矩阵 U 和文本矩阵 V 各有 N 行,UVᵀ 得到 N×N 的分数矩阵。对角线表示原始配对。沿行预测匹配文本,沿列预测匹配图片,两种交叉熵取平均。注意文本与图像不是合并后做一次分类,而是由两个编码器分别处理。[clip]

推理阶段用类别描述编码得到分类权重。模板和多个提示的组合会影响表现,因而公平比较时必须保留提示列表。读第三节时区分零样本、少样本与线性探测;论文在多个任务上评价迁移,也讨论分布变化和数据重叠。直接把某个汇总分数当成所有视觉能力的总结,会丢掉最有价值的失败信息。

关键限制是全局配对监督没有强制每个词对应正确区域。常见对象关联可以帮助检索,却也可能掩盖关系、计数和否定上的错误。用一对几乎相同、只有关系变化的描述去测模型,往往比再看十张容易图片更能说明问题。

精读二:SigLIP 为什么研究 sigmoid 损失

读第三节、算法一和图一。softmax 要在一组候选中归一化,而 SigLIP 把每个图文对视为二分类:该对是否匹配。令标签 yᵢⱼ 为正一或负一,得分 zᵢⱼ 来自缩放后的相似度与偏置,损失可以写成 log(1+exp(−yᵢⱼzᵢⱼ)),再按论文约定聚合。这里正负标签的符号与偏置记号应结合原伪代码核对,不能混用两个实现的正负号。[siglip]

图一展示跨设备分块累积配对损失的流程:不必同时保留完整大矩阵。它减少的是特定损失实现的通信或存储压力,不代表双编码器计算全部消失。第四节在控制数据和模型等条件的对照中检查批量、训练时间及正负配比;还区分冻结图像编码器的 SigLiT 与同时训练两端的 SigLIP,不能把二者结果混作一个配置。

论文证据支持这种损失在其资源与训练配方下的价值,不支持“sigmoid 永远比 softmax 好”。成对二分类仍受噪声配对、重复语义和数据覆盖影响;得分经过 sigmoid 也不会自动成为部署时可靠的语义概率。其优势要结合候选组织和训练成本看。

进阶:为什么不配对不等于不相关

假设一个批次有两张不同的狗图,配文都写“奔跑的狗”。若只允许原配为正,另一个合理配对被当作负例。训练数据结构与现实语义之间出现偏差。这可以通过多正例损失、去重、软标签或局部对齐缓解,但也会引入标注与计算成本。

# 伪代码;U,V 已按行归一化
scores = U @ V.T
target = arange(batch_size)
loss = (cross_entropy(scores / temperature, target)
        + cross_entropy(scores.T / temperature, target)) / 2

先检查每行的目标位置,再考虑跨设备收集特征。分布式训练如果错位了图文索引,即使损失下降,也可能在学习错误配对。评测时同义描述应该如何计分,必须在看结果前约定。

练习与参考答案

理解题一:把图像与文本向量维度都设成五百一十二,是否已经完成对齐?理解题二:为什么检索必须说明候选池?理解题三:SigLIP 不做全局 softmax,是否就不需要负图文对?论文对比:画出 CLIP 与 SigLIP 在四对图文批次上的标签矩阵和损失依赖。

小实验设计:运行 X11,再人为将两条候选文本设为同义正例,比较严格对角线匹配与多正例 Recall@1。若能运行真实编码器,固定图片和候选描述,分别替换颜色、数量、关系词,保存全部分数而不只展示成功例。

提示与解释

第一题不成立,维度一致只保证点积能计算,不保证坐标语义一致。第二题候选越多、越相似,排序任务通常越难;正确答案数量也改变指标含义。第三题仍然需要负对,只是各对损失不通过同一 softmax 分母耦合。

两个方法都能使用对角线正、非对角线负的监督,但聚合方式与资源实现不同。多正例评价若更合理,应事先定义,而不能看模型预测后临时把错误候选改成正确。实验结论应写“在这组关系变换中观察到什么”,不能据几张例图下结论说模型普遍不会推理。

选方向与阅读路线

本科入口包括冻结特征的领域检索、提示敏感性、噪声配对分析、局部与全局检索差异。工作往往是整理查询、检查数据重复、计算向量、分析排序和设计困难样本。6GB 显存可以选择小型编码器做推理;大图文预训练需要远更多资源。这是实践预算分析,不是某篇论文的硬件保证。

先读作者 VLM 教程的对比预训练部分,再读 CLIP 图一和评价协议,最后读 SigLIP 算法与分块示意。过关标准:独立画出三乘三相似度矩阵,说明每个元素、标签和损失方向;能把“看起来相关”与“满足查询关系”区分开。组会若提到任务压缩、语义特征或大模型视觉 token,可沿 R29、R32 回溯这些表示的用途。

阅读工作坊:给检索结果做错误分类

为每个查询保存前五个候选,不要只记录排名第一是否正确。把错误分成对象不对、属性不对、数量不对、关系不对、图文数据本身有歧义五类。比如“桌上的红杯子”检索到红色桌上的白杯子,说明全局词语相似可能掩盖属性绑定;检索到两个红杯子则涉及数量条件。两种错误需要不同的研究假设。

再检查描述粒度。原图配文可能只是“午餐”,而查询要求“盘子左边的叉子”。没有局部对齐监督的全局模型仍可能找到相关场景,却未必满足精确关系。这不意味着原始任务失败,而是你给它提出了更细的要求。新的研究应明确增加了哪种监督或表示来支持这种要求。

资源有限时可以一次提取全部图像向量,之后在 CPU 上更换文本候选和计算排序,避免重复视觉前向。记录模型、预处理、归一化和向量文件哈希;同样名字的图片若被不同裁剪处理,向量就不是同一个实验输入。研究索引压缩时,还要比较近似检索误差与编码器语义错误,不能把二者混为一谈。

最后写一个对照句:“在固定候选池与提示模板下,修改某因素后,关系类查询的正确率怎样变化,代价是什么。”这个句子强迫你限定结论。若只测试十个手选查询,应把结果称作诊断案例,之后再设计更大且预先固定的评价集,避免用案例展示替代总体证据。

本科阶段可以先把这份错误表做细:每个错误链接原图、查询、候选、得分与理由。它既能帮助你发现兴趣,也方便导师判断值得改数据、改表示还是改评价。只保存成功截图会丢掉最有价值的讨论材料。

R32 视觉语言模型

研究问题:让语言模型依据图像回答

视觉语言模型接收图片和文字问题,输出文字答案或结构化结果。和 R31 的候选排序相比,它还必须决定说什么、怎样组织,以及何时停止。一个能描述“厨房里有人”的系统,不一定能正确读取包装日期、数清杯子或解释左右关系。研究问题不能停在“接上一个大语言模型”,而应明确要补哪种视觉信息、交互能力或可靠性。[vlm_intro]

语言模型擅长根据上下文续写,视觉输入则提供额外证据。如果图像细节没有被编码保留,后面的语言模型无法凭空恢复,只能依靠先验猜测。流畅回答因此可能掩盖视觉错误。评价必须将事实性、问题相关性、关系理解和语言表达拆开,不能只凭一段好看的回答判断模型已经看懂。

必要基础与数据流

先学 L05 网络、L18 控制变量、L29 注意力,再看 R31。典型数据流是图片进入视觉编码器,得到一组特征;连接模块把特征变成语言模型可用的向量;这些视觉向量与问题 token 一起参与后续预测。token 在这里是序列中的一个表示单元,不一定对应一个完整汉字。

假设视觉编码器输出二百五十六个、每个七百六十八维的图块特征,而语言模型接收四千零九十六维向量。线性投影可以改变最后一维,使接口匹配,但没有自动减少 token 数量,也没有自动教会空间关系。若用三十二个可学习查询汇聚图像信息,序列变短,却可能丢失细小文本。连接器设计是在信息、计算与训练稳定性之间取舍。

细分路线:连接、训练与评价

结构上可以用线性投影、多层感知机、查询汇聚或跨注意力连接模态。训练上要区分图文对齐预训练、视觉指令微调与特定任务适应。数据上要区分人工问答、网页图文、合成指令与多轮交互。评价上要区分可自动判分的短答案、开放描述、定位和复杂推理。它们不是同一个维度,不能只按模型参数量分类。

冻结已有模型能减少需要更新的参数,但前向计算仍然存在;某些连接模块训练还要穿过冻结的语言层把梯度传回输入。因此“可训练参数少”不等于“显存一定小”。计算预算应包括权重、激活、优化器状态、序列长度与图像分辨率,6GB 显存上的运行可行性要逐配置检查。

经典演进:从对齐到指令接口

CLIP 学习图文匹配表示,但本身不是对话模型。Flamingo 用视觉信息与语言生成结合,研究交错图文的少样本能力。BLIP-2 在冻结的视觉与语言模型之间训练查询连接器,突出复用已有模块。LLaVA 用视觉指令数据和相对直接的投影连接,展示训练数据与接口设计的重要性。选这些论文是为了比较不同机制,而不是整理一个聊天能力排行榜。[clip][flamingo][blip2][llava]

后续系统会增加分辨率、视频、工具或更多任务,本章暂时不追逐全部版本。先理解一张图片如何影响某个回答词,比记住不断更新的型号更有长期价值。

精读一:BLIP-2 的 Q-Former 在做什么

读第三节、图二和图三。Q-Former 使用可学习查询从冻结图像编码器提取信息,再形成语言模型可接收的视觉提示。第一阶段通过图文对比、匹配与基于图像的生成等目标学习视觉语言表示;第二阶段连接冻结语言模型,使查询输出适合生成。这两个阶段的目标与注意力掩码不同,不能简单理解为一次普通分类训练。[blip2]

图二右侧不同掩码决定哪些位置能相互看到。掩码是防止目标泄漏和定义任务的重要组成:如果在预测答案时直接看到未来答案 token,损失会很好看,但推理无法照做。画出查询、文本与视觉特征三组节点,再画允许的信息边,比一开始背模块名称更有效。

实验读第四节的零样本问答、检索和生成设置。零样本 VQA 仍使用具体问题模板、解码方式与长度控制,因此评价不是只输入图片。第五节指出上下文示例不一定带来预期收益,且模型可能继承语言模型的错误知识。可训练参数减少是训练接口上的事实,不能用它替代总计算和所有任务能力的比较。

精读二:LLaVA 的贡献为何包括数据

读第三节的数据构造、第四节训练和表一。原始工作利用已有图像描述与框等文本化信息,让语言模型生成多种视觉指令样本;表一特别说明生成指令时使用的是这些文字上下文,而不是把图片直接交给生成者。由此可见,合成答案的真实性受原始描述覆盖范围限制。[llava]

结构把视觉编码器特征投影到语言模型空间。第一阶段对齐主要训练投影,第二阶段进一步做指令微调,并按论文设置更新相应模块。自回归损失主要计算助手答案 token;用户问题与系统提示不应未经区分地当作同样目标。读表二时直接标出哪些位置计损失,是很好的代码阅读准备。

实验同时包含特定问答和开放式评价,开放式评审并不等同于客观事实检查。论文失败案例中,对冰箱物品的描述会把分别出现的对象组合成不存在的产品,说明对象识别与关系组合仍有差距。小规模示例展示能帮助发现问题,但不支持所有场景的泛化保证。

进阶:条件生成与视觉消融

训练通常最大化答案序列的条件概率:log p(a|I,q)=Σₜ log p(aₜ|I,q,a<ₜ)。I 是图像,q 是问题,a<ₜ 是已生成或训练时提供的答案前缀。训练使用真实前缀,推理使用自身输出,错误可能沿序列累积。不能因为每个局部词概率较高,就认为整段事实都有依据。

一个有力的检查是保持问题不变,替换为无关图片、遮掉相关区域或降低分辨率。如果答案几乎不变,可能主要依赖语言先验。变化本身也要解释:遮挡同时改变图像分布,并不能单独证明某个神经元负责该对象。

# 伪代码:只评价答案位置
visual_tokens = connector(vision_encoder(image))
logits = language_model(visual_tokens, question_and_answer)
loss = token_cross_entropy(logits, targets, mask=answer_positions)

代码阅读先追踪输入形状、插入位置和损失掩码,再看训练器。官方仓库入口在文献索引中;本书不要求你在笔记本上从零复现其训练。

练习与答案

理解题一:连接器投影到正确维度,是否意味着视觉语义已经与语言对齐?理解题二:冻结语言模型后为什么仍可能占用很多显存?理解题三:开放式评审分数高,能否说明每个事实正确?论文对比:分别列出 BLIP-2 和原始 LLaVA 的训练阶段、冻结模块、监督来源。

小实验设计:选十张公开图片,每张写一个对象题、一个关系题、一个计数题。固定模型和解码设置,保存原图与遮挡图的全部回答;先人工制定答案,再运行,避免根据输出修改题目。没有可运行模型时先完成题目与评价协议设计,不编造结果。

提示与参考答案

维度匹配只是计算接口,语义对应来自训练。冻结主要减少参数梯度与优化器状态,权重和某些反向传播所需激活仍占空间。开放评审会受表达方式、评审模型与参考答案影响,必须补事实核对与任务化指标。

BLIP-2 用查询模块在冻结端之间进行分阶段桥接,LLaVA 的原始方案先做投影对齐再做指令微调,二者训练信号和模块更新规则不同。遮挡实验若使计数变化却不影响对象题,应记录这种差异,而不是只报告一个平均“看图能力”。

选方向与阅读路线

适合现在尝试的题目有图像细节丢失、提示敏感性、视觉依赖检查、小规模领域问答和评价数据质量。你会花很多时间设计问题、审核答案、检查预处理和分析失败,而不只是写提示词。大模型微调不是入门必经步骤;先把一个评测做严谨,再决定是否需要改连接器。

先读 VLM 作者教程的连接器与训练目标,再看 BLIP-2 图二掩码和 LLaVA 表二损失位置。若注意力关系不清楚,返回 L29。过关标准:能解释图片如何进入答案概率,能指出一个看似流畅但缺少图像依据的回答。组会的视觉 token 压缩可以从 R29 接到这里:减少 token 的收益必须同时检查细节问答是否受损。

阅读工作坊:一张图如何变成一句回答

沿代码追踪一次推理,记下原图尺寸、裁剪与缩放、视觉图块数、连接器输出数量、语言输入总长度和输出答案长度。每一步都问“哪些信息可能在这里丢失”。小字读不出可能因为输入被缩小;对象关系混乱可能因为空间编码或训练监督不足;输出重复则可能与解码有关。先定位信息链,再决定问题属于视觉还是语言部分。

然后做一个最小反事实:保持图片和问题不变,只把问题中的颜色词换掉;或保持问题不变,只遮住目标附近区域。预先写下理想回答应如何变化。若模型对所有变化都给出同一个常见答案,你得到的是一个语言先验主导的诊断线索,而不是自动得到某个模块错误的最终证明。需要继续比较不同图片和不同问题类型。

开放式输出评价尤其容易受到措辞影响。两个回答可能语义相同却字面不同,也可能字面很接近但把数量说错。可先为每道题定义必需事实和不可出现的事实,再由人工或透明规则判分;使用模型评审时保留评审提示、模型版本与原始评分,并抽样检查一致性。不要只保留最终平均分。

如果准备做连接器改进,至少记录相同视觉编码器、语言模型、训练数据、更新模块、token 预算和推理设置。一个新连接器同时使用更多图块与更大图像,即使分数提高,也不能把全部收益归给连接结构。通过相同预算对照和细节任务分组,才能判断它是否更有效地使用视觉信息。

你不必一开始就实现全部训练。把上述数据流与评价表填完整,已经能比只会调用模型更准确地读论文,也能帮助组里讨论特征压缩会在哪一步影响回答。

第三次组会衔接:视觉记忆与答案依据

保存KV缓存使已编码信息可复用,但缓存选择仍可能遗忘细节。为每个回答寻找视频时刻,分别统计答案正确但证据错误、证据正确但推理错误。首次记忆构建与多次查询的成本应单列,流式任务不能提前读取未来帧。可继续处理长输入不代表无损保存无限历史。 [m03_flexmem]

这段为教学分析;对应原论文机制与阅读边界见第三次组会专题。用自己的话写出输入、输出和一项可控制的变量,再进入专题练习。

R33 开放词汇感知与视觉定位

研究问题:让语言指定要找的物体

传统检测器通常只能输出训练时固定类别表中的标签。开放词汇感知希望你输入“安全帽”“推车”或某个新类别描述,系统仍能定位相关区域。视觉定位还包括指代表达理解:输入“左边穿蓝衣服的人”,输出特定对象的框或掩码。两者相关,但类别识别与关系指代的难度不同。[vlm_intro][owlvit][groundingdino]

输入是图像与文字查询,输出是区域及对应得分。困难来自三个层面:模型是否知道这个词,是否在图像中找到对象,是否理解限制条件。看见两个人并不意味着能选对“拿着杯子的那个”。开放词汇也不等于任意概念都可识别;训练图文范围、定位监督与语言歧义仍然限制能力。

必要基础:从全局向量到区域

先读 L07 卷积与空间形状、L18 评价、L29 注意力,以及 R05 检测和 R31 对齐。检测框常用左上右下坐标或中心宽高表示,两种格式不能混传。图像缩放、填充后,输出坐标还要映射回原图,否则视觉上相近的框也会算错指标。

举例:原图宽六百四十,缩放到三百二十,模型在横坐标五十至一百的位置预测一个框,恢复原图时应对应一百至二百。如果还有填充,应先减去填充值再除缩放比例。框的数值是某个坐标系下的结果,不是脱离预处理的绝对位置。

IoU 是交集面积除以并集面积。两个边长为二、相对错开一个单位的正方形,交集一、并集七,所以 IoU 为七分之一。得分高但位置错仍不是正确检测。开放词汇评价同时要关心类别是否训练可见、框是否准确,以及提示怎样构造。

细分路线:对齐发生在什么阶段

一种路线先学习全局图文表示,再迁移到局部区域:区域特征与文本向量比较得到类别得分。另一种路线在特征提取、查询选择和解码中让图像与语言多次交互。还有路线把检测框作为提示交给分割模型,输出更精细轮廓。系统串联虽然方便,但每一步都有误差,最终成功率不能只看最后一段模型。[owlvit][groundingdino][sam]

开放词汇检测关注类别扩展,指代表达关注上下文限定,开放词汇分割关注像素归属。新类别没有框标注与新图像没有见过不是同一种零样本设置。论文中“zero-shot”必须问清是针对数据集、类别、定位标注还是任务,以免拿不同协议比较。

经典演进与选择理由

CLIP 提供语言可查询的视觉表示,但全局向量缺少直接定位接口。Mask R-CNN 展示检测与掩码预测的结构关系,虽然本身不是开放词汇方法,仍是理解区域输出的基础。OWL-ViT 研究较直接的图文预训练迁移检测;Grounding DINO 强化检测过程中语言与图像的交互;SAM 提供提示式分割接口,常与定位器组合,但其原始掩码输出不自动赋予语义类别。[clip][maskrcnn][owlvit][groundingdino][sam]

这条演进说明一个实用原则:先确定缺的是语义、位置还是轮廓,再决定改哪个模块。把多个著名模型接在一起,并不自动形成一个清楚的研究贡献。

精读一:OWL-ViT 怎样把图块变成检测候选

读图一和第三节。图文对比预训练学习编码器;迁移到检测时移除原来聚合全局图像表示的部分,在图像 token 上接轻量分类与定位头。查询文本经文本编码器产生类别表示,区域特征与查询匹配。检测训练使用集合预测与匹配思想,输出不依赖固定全局类别头。[owlvit]

图一左边是图像级对比,右边是对象级预测,两边监督粒度不同。不要把对比预训练本身误说成已经拥有对象框。论文还利用相同嵌入空间研究图像查询,即用一个示例物体的视觉表示替代文本查询,说明查询接口可以有不同来源。

精读实验时分别看开放词汇检测、已有类别与稀有类别结果,以及训练数据和模型规模。原文强调端到端微调配方的重要性;这意味着性能不仅来自“把头换一下”。限制是全局预训练向精确局部匹配的迁移仍有挑战,罕见对象、细小对象与关系短语不一定同样有效。

精读二:Grounding DINO 的语言在哪里参与

读第三节图三,按顺序找图像编码器、文本编码器、特征增强、语言引导查询选择和跨模态解码器。语言不只是最后给类别打分,还影响候选查询和后续特征更新。输出是框与对应名词短语;对指代表达任务,协议会进一步选择得分最高的对象。[groundingdino]

关键机制是让相关文字与空间候选在多阶段交互。交叉注意力可以理解为查询根据相似度从另一组特征汇聚信息,但它不直接保证逻辑关系正确。图四比较不同文本表示粒度,说明一句话如何分组也会影响独立类别查询之间的相互干扰。

实验应区分 COCO 零样本迁移与微调、LVIS 长尾评价以及指代表达任务。原文在 LVIS 中报告常见与稀有类别表现不一致,并在局限部分讨论误检;因此不能把某个总体 AP 解释成所有开放类别都更好。框模型也不直接输出像素分割,若与 SAM 组合,应重新评价整个链路。

进阶:集合匹配与阈值不是同一件事

训练时,集合预测需要把有限预测与真实对象做一对一匹配,避免多个预测都围着同一个目标获得奖励。匹配代价通常组合类别与位置项;之后对匹配对计算损失。推理时,阈值和后处理决定哪些预测保留,这与训练的二分图匹配是不同步骤。

# 伪代码:文字决定类别分数,而非固定K类线性头
region_vectors, boxes = detector(image)
query_vectors = text_encoder(queries)
scores = normalize(region_vectors) @ normalize(query_vectors).T
selected = scores.max(axis=1) > threshold

改变候选描述可能改变分数分布,因此不要在测试集上为每类反复调阈值再报告最优结果。若要支持拒识未知对象,应建立专门验证协议,不能把低分简单等同于“图里不存在”。

练习与答案

理解题一:开放词汇检测中“未见类别”应相对于哪部分训练说明?理解题二:检测器输出正确框后,分割器是否一定得到正确语义掩码?理解题三:将所有输出框阈值降低能否必然提高 AP?论文对比:画出 OWL-ViT 与 Grounding DINO 中文本进入视觉处理的阶段。

小实验设计:复用 X02 的框和 IoU 代码,先验证缩放与逆变换不会改变几何关系,再选择十张公开图片设计同义词、颜色词、关系词三组查询。固定阈值,用人工核对的框和负查询记录误检与漏检;无真实模型时完成坐标和评价程序即可。

提示与参考答案

第一题必须区分预训练图文、检测标注和下游评价;没有检测框监督不意味着词从未出现。第二题不一定,框可能包含多个对象,提示歧义和分割误差都会传播;SAM 本身也不替你确认语义类别。第三题不一定,召回可能提高但误检也增加;AP依赖排序与匹配,不能仅凭保留框变多判断。

OWL-ViT 以区域与查询嵌入匹配为核心,Grounding DINO 还在特征增强、查询选择和解码中融合语言。比较应匹配数据、输入尺度与评价类别,不能只对照两个仓库默认演示。

选方向与阅读路线

本科可以从提示变化、领域新类别、坐标正确性、长尾错误、定位到分割的误差传播切入。你需要愿意逐个看框、检查标注和写评价脚本。6GB 显存可根据具体模型尝试小批量推理,训练大规模开放词汇模型则不应作为第一阶段要求。设备与显存判断是实践分析,需以实际配置验证。

先读 R05 的检测协议,再看 OWL-ViT 图一和 Grounding DINO 图三,最后读实验的类别分组。过关标准:能够说明一条查询在何处影响候选,能够把语义错误、框偏移和分割错误分开记录。与组会的面向机器压缩相连时,检查传输压缩是否让少见类别或小物体更容易丢失,而不要只看总平均检测指标。

阅读工作坊:把整条感知链拆开评价

假设系统先用开放词汇检测找到“红色行李箱”,再用分割模型得到轮廓。最终失败可能有四种原因:文本解释错误,候选对象漏掉,框没有覆盖完整目标,或者掩码选择了框内另一个物体。为每个失败保存中间框和分数,能判断应该改检测、提示还是分割;只看最终掩码无法区分这些情况。

可以做三个逐步对照。第一组使用人工正确框,检查分割器自身上限;第二组使用检测框,测量定位误差传播;第三组对人工框施加可控偏移,观察分割对提示质量的敏感性。三组保持图片与目标一致,明确额外人工信息。人工框结果是条件性能,不应伪装成整个自动系统的成绩。

语言方面先固定类别候选集合,再替换同义词,最后增加属性与关系。每一步只改变一个因素,记录阈值是否在独立验证集确定。若给模型加入许多相似类别后分数下降,要分析候选竞争与语义混淆,而不是直接说“模型看不见目标”。一些接口的分数与候选集合有关,必须结合实际实现理解。

真实图片中没有查询目标时也应评价。只测试目标存在的图片,会掩盖系统习惯性误报。负查询可以来自图中不存在的类别,也可以来自错误属性组合;后者更能检查是否正确绑定对象与描述。结果按查询类型分组展示,便于发现哪种开放性仍然不足。

这个方向的小实验很适合用截图和表格汇报,但截图必须有固定选取规则。先确定全部案例再展示成功与失败各例,并附完整计数。避免反复调整提示直到满意后只展示最后一次,那会让交互搜索成本从报告里消失。

R34 医学视觉

研究问题:医学图像为什么不能当普通照片直接处理

医学视觉包括病灶检测、器官分割、图像配准、重建、预后预测和报告辅助等不同问题。输入可能是二维病理图、三维 CT、多个 MRI 序列或超声视频,输出可能是像素掩码、位置、体积或风险分数。先明确采集过程与临床任务,再选择模型;“医学”是应用约束,不是一种网络结构。综述适合建立任务分类,具体机制仍回到原始论文。[med_survey]

一张自然照片中的像素通常表示经过相机处理的颜色,而 CT 与 MRI 的数值、空间采样和对比机制不同。把所有数据统一当作八位彩色图可能丢失信息。器官大小还依赖像素间距:同样占一万个像素,若空间分辨率不同,实际面积就不同。研究报告需要保留方向、间距、单位、采集协议与预处理。

必要基础与小数值例子

复习 L06 数据划分、L09 图像指标、L18 独立测试 和 R06 分割。二分类分割把每个位置预测成前景或背景;Dice=2TP/(2TP+FP+FN),衡量重叠而非诊断正确性。若真实病灶一百个像素,预测一百二十个,交集八十,Dice 是一百六十除以二百二十,约零点七三。

如果整张图有一百万像素,小病灶只有一百个,全部预测背景就可能有极高像素准确率。因此医学分割常查看前景重叠、边界误差及逐病例结果。不同任务对漏检、误检和边界偏移的代价不同,不能靠一个通用阈值回答所有应用问题。X12 用合成标签演示指标冲突,不是临床评价。

更重要的是独立单位。一个病人的相邻切片很像,若随机切片划分,训练和测试可能共享病人特征。通常需要按病人或更高层级划分,并根据研究目标考虑机构、设备或时间外部验证。这里是科研协议要求,不提供任何诊疗建议。

细分路线与真实困难

按任务分,有识别、定位、分割、配准和重建;按数据分,有二维、三维、多模态与纵向随访;按监督分,有完整轮廓、弱标签、交互提示与自监督。标注并不天然完美:专家之间可能有差异,边界有时没有唯一答案。处理这种不确定性比单纯增加模型深度更接近真实问题。

医疗数据还常存在类别稀少、机构偏差、采集质量变化与目标尺度悬殊。高性能模型可能通过扫描设备或文字标记猜测标签,而不是分析病灶。因此除了平均指标,要检查空间证据、外部数据、错误类型和标签来源。校准研究在这里也有意义,但校准良好仍不等于临床可用。[calibration]

经典演进:结构创新与训练配方

U-Net 用收缩路径提取语义、扩张路径恢复位置,并连接高分辨率特征,成为理解分割的重要起点。nnU-Net 强调根据数据属性配置预处理、网络与训练流程,提醒研究者强基线不只是一个模型名字。MedSAM 将提示式分割模型适配到医学图像,带来更通用的交互接口,却仍依赖提示和数据覆盖。[unet][nnunet][medsam]

这条路线不意味着所有医学任务都应选择通用大模型。若任务边界明确、数据量有限、部署环境受限,针对性模型可能更合适。研究应比较标注成本、交互方式、预处理和外部验证,而不是只列参数量与平均 Dice。

精读一:U-Net 怎样同时利用上下文和位置

先看图一的张量尺寸和第二节结构。下采样扩大感受范围,帮助辨认组织;上采样恢复空间分辨率,高分辨率跳跃连接补充细节。原始实现采用不填充卷积,所以输出比输入小,跳跃连接需要裁剪。现代“U-Net”实现常修改这点,读代码时应分清原论文与后续变体。[unet]

训练章节讨论数据增强和加权损失,对相邻细胞之间的窄边界给予关注。核心动机是避免粘连对象被当成一个区域。原实验涉及电子显微镜与细胞分割任务,不能把其结果直接解释为所有 CT 器官或肿瘤都适用。图二的重叠平铺策略也很值得看,它把边界处理与大图推理联系起来。

这篇的教学价值在于说明“定位”不是把分类器最后一层换成很多输出那么简单。层间分辨率、边界上下文、训练增强和推理拼接都影响结果。你可以在小尺寸合成圆形图上验证张量形状,但那只能证明实现结构可运行,不是复现原论文的医学表现。

精读二:MedSAM 的提示与评价条件

读方法中的数据整理、模型结构和训练协议,再看内部与外部评价。模型沿用图像编码器、提示编码器和掩码解码器,用医学图像与掩码训练,主要通过框提示指定目标。框是额外输入信息,比较时必须说明来自人工、真实标注扰动还是另一检测器。不能把有框提示的结果直接叫全自动分割。[medsam]

方法部分对不同模态采用相应强度处理,再调整到模型输入范围。这样做便于共用结构,也可能丢失部分特定任务信息。阅读结果时应按模态、目标和提示协议看,不把所有任务压成一个没有权重说明的均值。外部验证能够提供更强证据,但覆盖的仍是具体数据集。

讨论部分明确指出训练模态不均衡、框提示对分支状结构可能有歧义等问题。比如血管交织时,一个大框难以说明究竟选哪一支。它展示的是可提示医学分割路线的价值,而不是任何图像任何病灶都能可靠处理。是否满足临床流程需要更多专门证据,本教材不据分割指标作临床承诺。

进阶:体积、边界与重采样

若三维掩码中前景体素数为 N,体素间距分别为 sx、sy、sz,体积为 N·sx·sy·sz。两个模型的掩码若分辨率不同,先确保它们与同一物理坐标对齐,再比较。最近邻常用于离散标签重采样,连续插值用于图像时还需考虑模态与边界;不能把插值后的非整数标签直接当新类别。

Dice 对大区域的微小边界变化可能不敏感,边界距离指标则受离群点、空掩码定义和单位影响。报告必须说明空预测、空真值如何处理,边界距离使用像素还是毫米,是否按病例平均。一次看似明显的改进有时只是把空病例剔除了。

# 教学计算:尺寸并不等于物理体积
foreground_voxels = 1000
spacing_mm = (0.5, 0.5, 2.0)
volume_mm3 = foreground_voxels * 0.5 * 0.5 * 2.0
assert volume_mm3 == 500

医学数据代码阅读先看加载器与预处理,再看网络。遗漏一个轴方向或间距字段,比少加一层卷积更可能造成严重解释错误。

练习、提示与答案

理解题一:同病人不同切片分入训练测试有什么风险?理解题二:框提示分割与全自动分割能否直接对比?理解题三:相同 Dice 是否意味着相同病灶体积误差?论文对比:列出 U-Net 与 MedSAM 的输入、提示、训练监督、边界处理与评价任务。

小实验设计:运行 X12,展示全背景预测为什么准确率高而前景召回为零。进一步设计一个掩码缩小实验,比较小目标与大目标在同样像素边界偏移下的 Dice 变化。正式数据实验需固定病例清单,先记录纳入和排除条件。

参考答案

切片相关性会让模型利用已见病人的信息,高估对新病人的推广。框提示提供了位置先验,必须在对比中匹配这种信息或分开报告。相同 Dice 可以对应不同体积偏差和边界位置,因此不能作为全部几何误差的替代。

U-Net 的结构帮助结合语义与位置,MedSAM 的接口增加了提示条件和广泛预训练。对照的重点是信息条件与数据,不是只看哪个更新。小目标的边界偏移占其面积比例更大,通常更易造成明显重叠下降;实际数值仍须按具体形状计算。

选方向与阅读路线

适合本科生的切入点是公开数据的病例级评价、标注差异、预处理审查、小模型基线和提示误差分析。需要学习基础解剖和成像知识,并与熟悉任务的人确认标签含义。三维大体积训练对显存要求高,可以先做二维小任务;二维成功不能直接推到完整三维流程。

先读综述的模态和任务分类,再按 U-Net 图一、增强、平铺顺序精读;MedSAM 先读提示与数据协议,再看结果图。过关标准:能画出从原始文件到预测掩码的处理链,能说明每一步单位、坐标、提示及独立样本。与组会的医学图像压缩相连时,还需检查压缩后小病灶和定量测量是否保留,不能只凭视觉清晰度评价。

阅读工作坊:先审查数据,再审查网络

打开一个医学分割数据集,第一张表应记录病人编号、机构、模态、尺寸、间距、标签类型和缺失字段。再确认同一病人的复查影像如何处理、空病灶病例是否保留、训练测试是否包含同一来源的重复导出。即使不训练模型,这份审查也能发现很多影响结论的问题。

第二张表记录预处理:窗宽窗位或强度裁剪、重采样间距、方向变换、裁剪区域和输入大小。每一步注明参数来自哪里,是预先规定、训练集估计还是人工查看。若用真实病灶位置裁剪测试图,再称全图自动定位,就把额外信息隐藏在预处理里了。

第三张表记录评价:逐病例还是逐切片、空掩码如何计分、距离单位、是否报告不同机构与目标大小。对极小目标,几个像素偏差就可能产生大幅指标变化;对很大器官,高 Dice 也可能掩盖局部关键边界错误。因此应同时看代表性样本和分组统计,不能只追求总体小数点后的提升。

若比较提示式模型,另外固定提示来源与扰动方式。理想真实框、粗略人工框、自动检测框提供的信息质量不同。你可以研究提示鲁棒性,但必须把提示质量作为变量,不能让新方法用更准确的框而旧方法用默认框。

这些细节看似不如新网络结构直观,却决定论文结论是否与实际问题相连。本科阶段把一个公开基线的数据链与评价复核清楚,通常比直接在未知协议上替换注意力模块更有助于形成可靠问题。

R35 遥感视觉

研究问题:从地表观测到可比较的信息

遥感视觉用卫星、航空或无人机传感器观察地表,任务包括土地覆盖分类、建筑道路分割、目标检测、变化检测和时序分析。输入可能是 RGB、多光谱、雷达或多时相数据,输出则与空间位置和时间有关。遥感综述适合先建立传感器与任务分类;基础模型综述用于认识近年统一表示的研究问题,不把它当作性能榜。[remote_survey][rsfoundation_survey]

遥感图像常有大幅面、方向变化、多分辨率、云遮挡和地域偏差。相同颜色不一定表示相同材料,相邻图块也不是独立样本。一张地面分辨率十米的图与一张一米的图,即使都缩成二百二十四像素,覆盖面积仍然不同。模型是否知道实际尺度,会影响它对建筑、道路和区域用途的解释。

必要基础:光谱、时间与空间单位

先复习 L02 图像张量、L08 过拟合、L18 测试划分 与 R02。多光谱图像的通道不只是不同颜色显示,而是不同波段的测量。每个波段可能有自己的空间分辨率、数值缩放和缺失情况;把通道随意排列会改变输入物理含义。

举例:二百乘二百像素、每像素十米的图块覆盖边长两千米、面积四平方千米;如果误以为每像素一米,面积会错一百倍。对建筑数量或土地比例的分析,坐标和尺度与网络输出同样重要。所谓“更高分辨率”还要区分空间、时间、光谱和辐射分辨率,不能只指数组更大。

变化检测输入同一地区两个时间的图像,输出变化区域。两期没有精确配准时,建筑边缘的小偏移就可能成为假变化。云、季节、阴影、传感器差异也会造成外观变化;任务究竟要发现土地利用变化还是任意外观变化,必须先定义。

细分路线与监督来源

单时相理解研究当前地表是什么;多时相理解研究何时发生变化、过程怎样;多源融合联合光学与雷达等不同观测;自监督预训练利用大量无标注数据学习表示。按训练目标又可以分成分类对比、遮挡重建、时间预测和跨传感器对齐。每条路线都需要明确希望保留什么、忽略什么。

例如农作物分类可能希望保留季节轨迹,城市建筑识别可能希望对植被季节变化更稳定,灾害变化检测则不能把突发变化全部消除。把不同时间的同一地点一律强行拉近,可能有益也可能有害。这个问题连接了 R02 的不变性与等变性,而不是遥感独有的“换个数据集训练”。

经典演进与入选理由

从自然图像预训练迁移到遥感是一条方便基线,但两类数据的视角和光谱存在差别。SeCo 利用同一位置不同季节的自然变化组织对比学习;MAE 提供遮挡重建框架;SatMAE 加入时间与光谱结构,使遥感元数据进入表示学习。近年的遥感基础模型继续研究多源数据、泛化和统一接口,仍受数据可用性和评价协议限制。[seco][mae][satmae][rsfoundation_survey]

这条演进的重点不是“视觉 Transformer 替代卷积”,而是观测结构如何影响监督。遥感研究中一个有价值的改动,可能来自更合适的时间采样或地理划分,而不是更复杂的模块。

精读一:SeCo 如何利用季节变化

读第三节数据收集与 Seasonal Contrast、图二多分支表示,再看 BigEarthNet 和变化检测实验。同一地点不同时间的图像提供自然增强,作者不只让所有分支都对时间不变,而是在不同嵌入子空间中保留或忽略特定变化。共享编码器因此可以服务需要不同时间信息的下游任务。[seco]

把一个场景想成夏季与冬季两幅图。土地覆盖类别可能相同,但雪、植被、阴影不同。若只要求输出完全相同,变化相关信息可能被丢弃;若完全不拉近,又可能只学到季节外观。多个投影目标试图调节这两种需求。它是训练设计,不是严格保证每个维度只对应某一种语义。

表一在 BigEarthNet 上分别考察线性探测、微调、骨干和标注比例;图三检查标签效率。原文还比较变化检测等任务,说明应通过多种下游要求验证表示。局限包括时间配对本身可能含真实土地变化、云和采集差异;同地点并不天然意味着所有标签都应相同。

精读二:SatMAE 怎样让时间和波段进入模型

读第四节时间编码、遮挡策略与波段分组,重点看图二。普通 MAE 按空间图块编码,SatMAE 进一步考虑时间和光谱结构。时间编码选择与地表观测相关的时间分量;多光谱部分将波段分组,使用相应嵌入和分组编码,而不是假定所有通道的统计特性都一样。[satmae]

假设同一位置有三期图像。如果每期遮挡完全一样,某些位置可能全部不可见;如果各期遮挡不同,模型可能利用其他时间补充同一位置。这改变了预训练任务的难度与捷径。读遮挡消融时要问收益来自跨时间推理,还是来自简单复制相关观测,不能只看重建图漂亮。

第五节分别报告 fMoW RGB、多光谱及迁移任务,并区分冻结与微调。训练规模与不同骨干会影响比较,因此本书不把跨表数字拼成统一排名。局限是时间和波段元数据需要可靠获得,传感器变化、缺失波段、空间配准误差仍需处理;大规模预训练也超出普通笔记本的入门预算。

进阶:为什么地理划分会改变结论

相邻图块共享道路、地物、采集日期和处理流程。随机图块划分会让测试分布接近训练邻域,而跨区域划分更接近陌生地点部署。两种协议都可以有用,但不能在随机划分中取得提升后就宣称全球泛化。

一个实用协议是先按地理块分组,再分配训练验证测试,并检查缓冲区与重叠视场。归一化参数只从允许的数据计算;多时相样本的全部时间应随地点一起分组,除非任务明确研究同地点未来预测。

# 教学单位检查
width_px = height_px = 200
ground_sampling_m = 10
area_km2 = width_px * height_px * ground_sampling_m**2 / 1_000_000
assert area_km2 == 4

影像缩放后改变的是数组采样,不能自动增加真实空间信息。超分辨率恢复出的纹理也不应未经验证用于地物数量或细节测量,相关问题可回到 R11。

练习与答案

理解题一:把多光谱任意三通道当 RGB 会丢失什么?理解题二:同地点跨季节一定是正样本吗?理解题三:随机图块划分与跨地域划分分别更接近什么部署?论文对比:说明 SeCo 与 SatMAE 如何使用时间信息,以及各自可能利用的捷径。

小实验设计:选有公开坐标与时间元数据的小数据集,先不训练模型,只检查相邻图块和重复地点在划分中的分布。再设计“随机划分”和“地理分组”两个固定方案,用同一简单特征分类器比较,记录各地区结果。没有数据时,用 X01 身份分组模拟该信息路径,明确它不是遥感性能实验。

提示与参考答案

任取三通道会丢失波段信息及物理解释,显示效果并不等同于模型输入合理。跨季节可能发生真实建造、收割或灾害,要根据下游任务定义正对。随机划分近似已见区域中的新图块,跨地域划分更接近新地区;二者不能共用一个泛化宣称。

SeCo 用跨时间对比目标控制稳定与变化信息,SatMAE 用带时间光谱编码的遮挡预测。前者可能把重要变化拉近,后者可能借高度重复观测完成复制。实验应检查任务标签、配准、采样和重叠,而不是把一个损失函数当作全部原因。

选方向与阅读路线

本科入口可以是空间泄漏审查、少标注迁移、固定地区的变化检测、缺失波段分析或压缩后的任务性能。你需要愿意处理元数据、坐标系统和大图切块;这些工作并非琐事,而是结论是否可信的基础。小图块实验可在有限显存上进行,大区域时序与预训练则要规划存储和算力。

先读综述的传感器与任务章节,再看 SeCo 图二和 SatMAE 图二,最后逐项抄下评价划分。过关标准:能解释一幅图的地面覆盖面积,能辨认时间不变性与变化检测的冲突,能说清结果在哪个地理范围成立。与组会的点云或图像压缩连接时,除了视觉指标,还可检查地物识别或变化边界是否受损。

阅读工作坊:检查一对影像是否真的可比

挑同一区域的两期图像,先核对传感器、采集日期、云比例、空间分辨率、投影坐标与配准精度。观察到的颜色变化可能来自季节,也可能来自显示拉伸;边缘变化可能来自错位,也可能是真实建造。研究变化检测之前,要先把测量变化与地表现象区分开。

做一个简单诊断:人为平移其中一幅图一个像素,检查差分图主要出现在哪里。如果大量变化集中在建筑与道路边缘,就能直观看到几何误差如何伪装成语义变化。再改变整体亮度,比较它与局部新建物体的差异。这样的合成诊断不证明真实数据方法有效,却能检验评价程序是否会把已知干扰误报。

对多光谱输入,逐通道记录均值、方差、有效像素和缺失值编码。不同波段的原始分辨率可能不同,插值到共同网格不代表它们拥有相同真实细节。若使用缺失值零填充,还要检查零是否也可能是合法观测;必要时附有效性掩码,让模型区分未观测与真实低值。

研究报告最好附一幅空间划分示意,明确哪些区域用于训练验证测试,而不只给三个图片数量。若测试区紧贴训练区,应说明边界缓冲和重叠处理。评估跨地域能力时,把每个地区单独列出,可以避免大量容易区域掩盖少量困难区域。

如果你更喜欢物理与空间推理,这些工作可能比自然图像分类更有吸引力;如果你主要喜欢语言交互,则可以考虑遥感图文检索,但仍需保留上述测量与空间约束。应用方向不会因为接入大模型而失去自己的数据规律。

R36 鲁棒性、分布变化与不确定性

研究问题:模型什么时候不该自信

在清晰测试照片上识别正确,不代表遇到雨雾、压缩、陌生设备、新类别或刻意扰动时仍可靠。鲁棒性研究输入变化后的性能,分布变化研究训练与部署样本规律不一致,不确定性研究预测能够多大程度表达自己可能出错。三者相互联系,但没有一种分数能够替代全部问题。作者课程用于回顾训练与泛化,本章选择原始基准和方法论文做精读。[cs231n][imagenet_c][ensembles]

输入仍可能是一张图片,输出除了类别,还可以包含概率、拒识标记或预测区间。困难是模型往往不知道自己没见过什么。把最大 softmax 概率当作可靠程度虽然方便,却可能在分布外样本上非常自信。研究需要定义错误类型、变化范围和复核条件,而不是把“不确定”当作抽象口号。[ood]

必要基础与三个不同问题

先复习 L06 验证、L08 过拟合、L18 控制变量 与 R03。自然损坏如模糊、噪声和亮度变化,不必由攻击者选择;对抗扰动是针对模型寻找导致错误的输入变化;分布外检测则判断输入是否超出已知范围。一个方法对噪声好,不保证对对抗扰动或新类别也好。[fgsm][imagenet_c]

再区分数据本身的模糊与模型知识不足。夜间图片中的物体即使专家也看不清,存在观测不确定性;某种新设备产生的图片模型从未学过,则存在模型不确定性。两者不一定能被完美分离,但区分来源有助于选择措施:增加观测、补训练数据、请求人工复核或改变决策阈值。

一个数值例子:平均预测与模型分歧

三个模型对同一二分类样本的正类概率分别为零点九、零点五、零点一,平均是零点五,分歧很大。另三个都输出零点五,平均相同,却没有模型间分歧。只看平均概率无法区分这两种情形。集成能够提供额外线索,但如果所有模型共享相同错误先验,它们也可能一致地错。

概率熵 H(p)=−Σp log p 描述预测分布的分散程度。二分类在一半一半时熵较高,在接近零或一时较低。低熵只是模型内部判断集中,不代表事实必然正确。可靠性需要用独立数据核对概率与实际错误关系,并检查不同群体和变化条件。

细分路线与经典演进

路线包括增强与稳健训练、对抗训练、域泛化、分布外检测、校准、集成和选择性预测。FGSM 提供通过输入梯度构造扰动的经典入口;最大 softmax 基线说明简单分数可以作为异常检测起点;ImageNet-C/P 建立常见损坏和连续扰动评价;深度集成研究多个模型的预测质量;WILDS 将真实分布变化纳入标准协议。[fgsm][ood][imagenet_c][ensembles][wilds]

近年的强表示如 DINOv2 可能改善很多迁移任务,但“基础模型”不是可靠性证书。面对具体部署,仍要检查变化类型、未知类别、输入分辨率和数据重复。选择哪种稳健性方法,应从失败样本出发,而不是先决定给网络加一个不确定性头。[dinov2]

精读一:ImageNet-C/P 怎样区分损坏与扰动

读第三节基准设计、指标定义和第五节实验。ImageNet-C 对验证图像施加多种常见损坏,每种有多个强度;ImageNet-P 使用连续的小扰动序列,检查预测如何变化。前者关注在损坏后的错误,后者还关注相邻变化中的不稳定。图一的损坏分类与后面的指标公式应一起看。[imagenet_c]

论文用经过基准参考模型归一化的损坏误差等指标,帮助组织不同类型难度。不能把这个归一化分数直接读成百分比准确率。相对损坏指标还尝试区分干净精度改善与损坏敏感性改善,因此一个更准确模型未必在所有“相对鲁棒”意义上更好。

原文强调这些图像用于测试已有网络,不能在相同测试损坏上训练后仍按原协议宣称未见损坏泛化。人工合成损坏覆盖可控情境,却不包含所有真实传感器变化。复现时还要注意图像保存格式、缩放和预处理;重新生成类似噪声不必然等于官方文件协议。

精读二:深度集成怎样表达预测不确定性

读第二节方法、图一玩具回归和第三节分类回归实验。方法训练多个独立初始化模型,再平均预测分布。回归模型可以同时输出均值与方差,通过负对数似然训练;分类模型输出类别分布。训练中还讨论适当评分规则与对抗平滑等组件,应结合消融判断作用,而不是把全部收益归给模型数量。[ensembles]

对回归高斯分量,集成总方差可由平均的“方差加均值平方”减去总体均值平方得到。这样同时包含每个模型内部预测噪声和模型均值差异。只计算均值方差会漏掉前一种信息;只平均各自方差会漏掉后一种。

原实验包括合成回归、多组回归数据和分类任务,比较误差、负对数似然及其他概率指标。论文并未说集成在任何数据上所有指标都最优,也明确存在均方误差与概率质量的取舍。成本是需要多个模型的训练、存储与推理,且共同的数据偏差会使它们一致地犯错。

进阶:拒识需要一条风险曲线

假设把低置信样本交给人工,高置信样本自动处理。覆盖率是自动处理的样本比例,选择性风险是在这部分样本上的错误率。随着阈值提高,覆盖率通常下降,风险可能改善,但必须实际测量;如果错误很自信,简单阈值就无效。

评价时绘制多个阈值的风险与覆盖率,而不是只选一个最好看的点。阈值在验证集选,测试集冻结;人工预算与误判代价应写清楚。分布变化后同样阈值未必维持同样风险,因此不能把历史曲线当作未来保证。

# 伪代码:只在被接受样本上计算错误率
accepted = confidence >= fixed_threshold
coverage = accepted.mean()
risk = errors[accepted].mean() if accepted.any() else None

空集合的风险应记为未定义,不要写零并宣称没有错误。一个系统拒绝所有输入就可以避免自动误判,却也没有完成任务,所以风险与覆盖必须同时报告。

练习与答案

理解题一:高 softmax 概率为什么不等于输入在训练分布内?理解题二:提高干净准确率是否必然改善相对损坏鲁棒性?理解题三:多个模型一致时是否可以完全信任?论文对比:ImageNet-C 与深度集成分别提供评价问题还是解决方法,二者能否组合?

小实验设计:复用 X12 的二分类评价,给样本附上人为置信度,画不同阈值的覆盖率与错误率。再设计真实模型的干净、轻度模糊、重度模糊测试,固定图片并成对比较。若研究对抗扰动,还要明确范数、预算、步数和攻击是否足够强,不能用一次弱攻击失败证明稳健。

提示与参考答案

softmax 只在已有类别之间归一化,即使所有类别都不适合,仍会分配总和为一的概率。干净准确率与损坏后相对下降是不同问题。模型一致可能因为共享架构、训练数据和偏差,因此一致性只是证据之一。

ImageNet-C 主要提供可复核基准,深度集成是一种预测方法,可以在相同损坏协议上评价,但应计入额外成本。置信度阈值实验若拒掉大量样本才降低风险,应同时报告覆盖率,不能只强调剩余样本准确。

选方向与后续路线

本科切入点有固定模型的损坏曲线、校准、域变化、误差分组和小规模集成。算力需求可以通过冻结模型、缩小评价集和限制重复训练控制,但统计结论会受样本量限制。你会经常检查数据协议和异常样本,适合喜欢追问“为什么这个结果不成立”的人。

先读 R03,再看 ImageNet-C 的任务与指标,最后推导集成方差并读消融。过关标准:能分清自然损坏、对抗扰动、域变化和概率校准,能为一次结果写出适用范围。整部教材读完后,选两个方向各做一个小实验,比较自己愿意投入的日常工作,再与导师讨论具体问题;不用因为某方向热门就立即承诺长期选择。

阅读工作坊:从一个失败构造稳健性问题

先选择一个明确失败,例如轻度压缩后小物体被错分。确认原图本来能够识别,再固定同一图片施加多个压缩等级,观察错误何时出现。记录完整码率、预处理与模型输入,不把文件质量参数当作通用失真尺度。这样你得到一条受控变化曲线,而不是互不对应的几张图片。

接着检验替代解释:是否图像尺寸发生了变化,是否颜色通道顺序错了,是否只在某个类别发生,是否低置信错误被平均分掩盖。排查实现问题后,再讨论模型对细节的依赖。稳健性研究尤其需要这种顺序,否则一个输入管线错误就可能被误当成有趣的模型现象。

如果尝试集成,固定每个成员的数据与预算并记录成员差异。相同检查点复制三份再平均不会产生新的信息;不同随机种子也未必带来足够互补。可以比较单模型、概率平均和简单多数投票,观察分类指标与概率指标是否一致变化,同时报告额外耗时。

结果写作应避免“已经解决鲁棒性”这样的宽结论。更可核验的表述是“在这组固定自然损坏及强度下,某方法改善了哪些类别的错误和概率质量,哪些条件仍然失效”。若新增损坏超出原实验,应作为下一阶段测试,而不是根据当前曲线推断。

最后把可靠性联系到你最感兴趣的方向:恢复模型可能生成不存在的细节,检测模型可能漏掉新类别,压缩模型可能破坏任务关键证据,视觉语言模型可能流畅地猜测。共同方法是定义失败、设计受控变化、保存完整证据,再决定要改数据、目标还是系统流程。

第三次组会 · VIDAR

三次组会放在一起看

第一场是周一 iVC II:双目视频压缩、IDD/ACF 的消融与公平比较、MoE 图像压缩、RA-mini/ARM 的复杂度,以及 TPA 和 I-frame 编码器实验。第二场是周二 iVC I:ODGS 分层场景表示、DCVC-RT 码率控制、LiDAR 点云压缩、整数化 LIC 与码流一致性。第三场是周四 VIDAR:本专题的五条线。周四从“新组会”到“到这里这次会讲完了”的多批截图属于同一次会议。日历日期尚未确认,不推算填入。

材料边界:“组会记录”指已读取的完整对话文字整理,原截图未在本轮逐张重新核验;“公开论文”指下面链接的原始资料;“教学解释”是为入门编写的例子,不是报告人的实验结果。分组反映这三场的实际主题,不能据此把实验室划成互不相通的方向。你不需要在入组前掌握全部主题。

怎样使用这份专题

第一次用 30 分钟看五节的输入输出,只选一个想继续问的问题。以后每次安排 45~60 分钟:读解释、完成一道题、写下证据。选读占用原课程的复盘或机动时间,不额外增加必修预算。

适合当前基础的顺序:L03 自动微分 → L05 训练循环 → L11 自编码器 → R13 生成模型 → R14 扩散。生成模型一节可以拆成三次阅读。VLA、长视频和文字超分先理解问题,等需要时再深入。能跑代码、解释输入输出并修改一个变量后,再标记“已读并自检”。

一、具身智能:看懂指令之后,怎样输出动作

组会记录:报告围绕 Physical Intelligence 的 π 系列,讨论 VLM、Flow Matching 动作专家、任务分解、强化学习与世界模型。旧整理把版本串成单线演进,这不足以证明每个版本具体新增了什么。

问题与输入输出:VLM 接收图像和文字,常输出文字;VLA(视觉—语言—动作模型)还接收机器人自身状态,并输出动作。关节角、夹爪开合是自身状态,摄像机图像是外部观测。输入“把杯子放到架子上”后,输出不能只是“先抓杯子”,还要转成控制器能执行的数值。

教学数据流:相机图像+指令+关节状态 → 条件表示 → 动作块 → 控制器 → 新观测。假设每步动作 7 维,一次预测 8 步,动作块形状是 [8,7];批量 4 个样本就是 [4,8,7]。这只是形状例子,不是 π 模型的固定配置。一步执行 0.05 秒时,8 步覆盖 0.4 秒。整块开环执行可能错过杯子被移动的变化;滚动执行前几步并重观测,能缩短反馈间隔,但要承担重新推理成本。

公开论文:π0 将视觉语言条件与连续动作的 Flow Matching 结合。阅读原文 III、IV 和附录 A-B,沿状态 token、动作 token 与动作专家追踪数据流;实验部分比较多种任务与训练条件,不能把其中某一任务成功率泛化为“任何机器人都能用”。[m03_pi0]

方法直觉:用条件 c 表示观测和指令,取噪声 z 与示教动作 a。本节选择插值 x(t)=(1−t)z+ta,目标速度为 a−z。模型学习 v(x(t),t,c),采样时沿速度场从噪声走向动作。若 z=0.2、a=0.8,t=0.5 时 x=0.5,目标速度 0.6。这里的速度是生成空间中的变化率,不一定等于机械臂实际运动速度。不同论文的时间方向定义可能相反,先看端点再判断符号。

规划回答“先完成哪个子任务”;动作策略回答“当前怎样动”;价值函数评估未来回报;世界模型预测采取动作后的状态。四者可以组合,但不是同义词。模仿学习主要从示范学习动作,强化学习围绕回报调整策略;使用离线数据并不自动意味着机器人已能安全自主在线探索。

版本核验边界:π0.5 的书目页可确认其开放世界泛化主题;本专题不据摘要扩写完整训练细节。π*0.6/RECAP 保留为报告线索,训练细节待对应原文核验。π0.7 v1 已能定位到 IV–VI 的多样条件、IX 的实验,以及附录 A-C 的世界模型训练;其核心叙述包含子任务、子目标图像和策略元数据等条件,不能简化成“上一个模型加世界模型”。先画条件如何进入策略,再比较对应消融。[m03_pi05] [m03_pi07]

阅读与比较:先用 20 分钟画 π0 的输入输出,再用 25 分钟读其实验任务划分,最后返回 R21。比较两种动作模型时固定机器人、观测频率、动作单位、任务初态和试验次数;同时报告成功率、耗时和失败类型。更长的动作块不必然更好。

三道理解题:① VLA 为什么需要机器人状态?② [4,8,7] 三个维度是什么?③ 能预测未来图像就一定能规划成功吗?

一级提示:先区分信息与决策

想想单张图片能否可靠告诉你每个关节的位置;把 batch、时间、动作分量分别贴到形状上;把预测模型与选择动作的规则分开画。

二级提示与参考答案

① 图像可能遮挡或存在歧义,机器人状态提供与控制相关的自身配置。② 4 个样本,每个 8 步,每步 7 个分量。③ 不能。还需要目标或奖励、候选动作、规划方法和可执行控制;预测误差也会累积。动手:把动作块由 8 改为 16,计算覆盖时间为 0.8 秒,写出延迟降低与反馈变慢两种可能影响。选做:设计固定任务初态下不同执行前缀长度的比较,不在真实机器人上自行开展无保护探索。

过关标准:能画出闭环,解释动作张量,分清策略、规划、价值和预测。形状不清回 L02;条件模型不清回 R32;没有机器人时以数据流和离线实验设计入门即可。

二、长视频:有限预算下,哪些证据必须留下

组会记录:六条线索为 VideoChat-Flash、ReMoRa、WFS-SB、强化学习选帧、MSJoE、FlexMem,讨论从候选帧到选择器再到记忆的全过程。

输入输出:输入视频 V 和问题 q,输出答案以及支持答案的时刻。若一帧产生 256 个 token,1000 帧就是 256000 个视觉 token;保留 16 帧是 4096 个。这里只计算视觉部分,不含文本和特殊 token,也不据此推算实际显存。帧数相同但分辨率、token 合并策略不同,计算量仍可能不同。

教学例子:视频含“拿杯子、走路、放杯子、离开”四个事件。问题是杯子最后在哪。相似度最高的 4 张图可能都是拿杯子的近景;分数高并不保证覆盖“放杯子”的证据。如果关键事件只在第 43 帧,候选生成只取 0、10、20……,后面的完美选择器也无法找回第 43 帧。应先测候选召回,再谈选择准确性。

公开方法地图与阅读定位:以下每项只概括作用位置,不拼接不同协议的分数排名。

  • VideoChat-Flash:层次视觉 token 压缩。读 §3.1、图3,再读 §4 的长上下文测试;观察压缩发生在何处、保留细节如何验证。[m03_flash]
  • ReMoRa:稀疏 RGB 保留外观,压缩视频中的运动表示补充时序。读 §3 的压缩视频背景和 §4 方法,再检查实验中的数据与运动分支消融。运动向量不等于真实物体光流。[m03_remora]
  • WFS-SB:根据语义边界分段,再分配选帧预算。读 Method 中的边界检测和预算步骤,再看不同预算的评价;小波响应不是人工标注事件边界的保证。[m03_wfs]
  • 强化学习选帧:已定位到 CVPR 2026 同名论文页面,但本轮全文获取失败。仅把“以任务反馈训练选择器”作为教学问题,分层奖励的具体公式保持待核验,不转述二手细节。[m03_rlframes]
  • MSJoE:联合调整视频问答模型与采样器。读框架图、Method 和实验消融,区分采样器收益与底座更新收益。[m03_msjoe]
  • FlexMem:以视觉 KV 缓存为记忆来源,分别设计记忆写入与读取。读 §3.2、§3.3,再读 §4 的离线与流式测试;可持续处理不代表无损记住无限历史。[m03_flexmem]

教学预算分配:四段权重 [1,3,2,2],总预算 8,比例分配得到 [1,3,2,2]。预算 6 时不能独立四舍五入后就结束;先每段保留一个,再把剩余名额按约定分配,并检查总和、段长度与重复帧。学习实验 M03X01 展示候选遗漏和最大余数分配,权重是人工设定,不是论文方法。

公平比较:固定候选池、总帧数、帧分辨率、底座与提示词,分别记录选帧耗时、编码耗时、问答耗时和峰值内存。如果一种方法先调用大型模型评分,应计入该成本。评价除了回答正确率,还应报告关键事件召回;训练中用正确答案打奖励可以,测试时用答案选帧会造成泄漏。

三道理解题:① Top-K 相似帧为什么可能失败?② 候选池遗漏能靠更强选择器修复吗?③ 记忆方法和帧选择方法比较,需要固定什么?

一级提示:分别检查入口、覆盖与成本

画出原视频→候选→选择→问答;检查每个事件是否出现。记忆方法还要考虑记忆构建能否在多次查询间复用。

二级提示与参考答案

① 高分帧可能重复描述同一事件,缺少时间链。② 不能在不重新读取视频的前提下恢复未进入候选的真实证据。③ 固定任务和数据、底座、视觉预算与计时范围;报告首次构建和后续查询成本,离线与流式分别比较。动手:运行 M03X01,再把关键帧从 43 改为 40,说明为什么结论变化。选做:让短事件出现在不同采样相位,测多次遗漏率,不能只展示一个有利例子。

过关标准:能画出预算消耗位置,辨别帧数与 token 数,解释候选召回上限。继续看 R09、R29、R32。

三、生成模型:从重建输入到采样新内容

组会记录:AE→VAE→CVAE→VQ-VAE→离散先验→DALL·E 1 是一段学习汇报;随后另一段从 ELBO/层次 VAE 讲到 VDM、DDPM。箭头在这里表示阅读次序,不是所有方法严格依次替代。

问题与输入输出:AE 输入 x,经编码器得到 z,再由解码器得到重建 x̂;它只训练“把已见输入还原”。生成需要一个可采样的潜变量分布。普通 AE 不保证任取标准正态 z 都落在有效区域,但也不能断言它的潜空间在数学上必然不连续。VAE 增加概率建模,CVAE 再给生成过程加条件 c。[vae]

直觉与数值:VAE 编码器输出均值 μ 与标准差 σ,以 ε~N(0,1) 构造 z=μ+σε。μ=2、σ=0.5、ε=−1 时 z=1.5。这一步把随机性放进与参数独立的 ε,使梯度可以经过 μ、σ。程序常输出 log variance,标准差要算 exp(0.5×logvar),直接 exp(logvar) 会用错尺度。

ELBO = E_q[log p(x|z)] − KL(q(z|x)||p(z))。第一项奖励重建数据的概率,第二项约束编码分布与先验的差异。最大化 ELBO 等价于最小化其负值;不能把重建误差与 log likelihood 的符号混用。标准正态先验下,一维 KL=0.5(μ²+σ²−1−log σ²)。μ=0、σ=1 时 KL=0;这只表示分布相同,不表示重建一定好。[vae]

CVAE 的条件 c 可以是类别或描述:编码时用 q(z|x,c),解码时用 p(x|z,c),先验可以设计为 p(z|c),也可以在简化实现中固定为标准正态。比如同一个噪声 z,条件“数字3”和“数字8”应改变输出类别;要分别检查类别是否满足和样本是否多样。不能在测试时把目标图像当成已知条件,否则任务就从生成变成了重建。这个说明是条件概率的教学推广,具体网络结构应另查所选实现。

VQ-VAE 的潜变量改为码本索引。设码本为 (0,0),(1,0),(0,1),(1,1),输入 (0.8,0.2) 到四点的平方距离分别是 0.68、0.08、1.28、0.68,选索引1。输出仍是二维向量 (1,0),但索引只需从四个候选中指定一个。码本、索引和解码器是三种不同对象;这还不是完整的熵编码器。最近邻选择不可微,训练借助直通估计等机制;其梯度是近似,不是舍入函数的真实导数。[vqvae]

DALL·E 1 将离散图像表示和文本条件的自回归建模组合起来;其离散 VAE 不应简单当成“原版 VQ-VAE 原封不动加 Transformer”。本专题提供原论文定位,不要求训练大模型:先读 §2 的两阶段建模和图1,再看评价任务。[m03_dalle]

扩散的另一种构造:不断给真实数据加噪,训练网络在不同噪声等级恢复信息。令累计保留系数 ᾱ=0.64,x₀=0.5,ε=−1,则 x_t=√0.64×0.5+√0.36×(−1)=−0.2。噪声预测网络输入 x_t 和 t,输出 ε̂;教学损失为 (ε−ε̂)²。时间 t 告诉模型当前噪声水平,不能只输入图像。训练使用真实 x₀合成噪声样本,生成时从随机噪声出发逐步更新,这两条路径不同。[ddpm]

进阶:ELBO 如何得到,以及代码如何检查

从 log p(x)=log E_q[p(x,z)/q(z|x)] 出发,用 Jensen 不等式得到 E_q[log p(x,z)−log q(z|x)],再拆为重建期望与 KL。这里要求 q 的支持覆盖相应积分区域。完整扩散变分目标含多个时刻的项;常用简化噪声 MSE 不是“随便删项也完全等价”。回到 DDPM §3、算法1和算法2对照训练与采样。

import math
mu, logvar, epsilon = 2.0, math.log(0.25), -1.0
z = mu + math.exp(0.5 * logvar) * epsilon
assert abs(z - 1.5) < 1e-12
alpha_bar, x0, noise = 0.64, 0.5, -1.0
xt = math.sqrt(alpha_bar)*x0 + math.sqrt(1-alpha_bar)*noise
print(round(z, 3), round(xt, 3))  # 1.5 -0.2

阅读定位:VAE §2–3 用30分钟检查下界与重参数化;VQ-VAE §3 用30分钟画码本、直通路径和损失;DDPM §2–3及算法1–2分两次读,每次30分钟。回到 R13、R14 的实验评价再判断方法。

三道理解题:① AE 重建好为什么不保证随机采样好?② 码本有4个二维向量,索引和向量的维数各是什么?③ 扩散训练为何知道噪声答案,而生成时不知道原图?

一级提示:把训练数据来源标出来

分别写出 AE 的训练分布、码本查表的输入输出,以及扩散训练中的随机数生成步骤。

二级提示与参考答案

① 任意先验采样可能落到解码器没学好的区域。② 一个位置的索引是一个整数,查表结果是2维向量;4个码字是数量,不是特征维数。③ 训练噪声是自己抽取并加入的;生成目标就是产生未知样本。动手运行 M03X02,观察增加码字对误差与使用率的影响。选做:固定数据、训练预算和随机种子,分别评估重建、采样质量与码本使用率,不用一个重建指标替代三者。

过关标准:能手算上面两个例子,区分重建与生成、编码器后验与先验、扩散训练与采样。不懂期望和 KL 时返回 L13、L14,而不是背损失名字。

四、可控编辑:改什么、在哪里改、改完是否符合空间关系

组会记录:一条讨论使用参考图 I₀、当前图 I_t 和文本 c,让决策器输出操作分数与空间图,再迭代编辑。另有多步任务、近大远小、指定位置、旋转、深度与遮挡关系的课题讨论。未确认发表出处的决策器按组内方案线索记录,不命名为已发表算法。

输入输出与数值例子:假设 K=8 种操作,空间网格 h=w=16,则 q 是8个分数,L 是 [8,16,16],共2048个空间 logits,不是8个 mask 数值。sigmoid(L) 将每个位置转成0~1的软掩码。操作含停止时,停止分数应有明确使用规则,不必对“停止”的空间图赋予编辑含义。决策→局部编辑→重新观测→决策 与一次编辑不同,前一步错误会成为后一步输入。

教学几何:针孔投影 u=fX/Z+c_x。设 f=500像素、X=0.2米、Z=2米、c_x=320,则 u=370像素;保持 X 不变而 Z=1米,u=420像素。物体近移改变的不只是大小,还可能改变投影位置、遮挡与露出的背景。将二维贴片放大不能自动恢复这些关系。

公开论文:PhyEdit v1 的图2、§3.2 将物体掩码和三维变换生成的预览作为编辑条件,并联合二维与深度监督。阅读 §4 的评价设置与消融,分清外观质量与几何一致性;结果依赖深度、掩码和评价器,不能把“物理”一词理解为满足任意动力学定律。原文版本与后续项目更新可能不同,本专题固定 v1 讲机制。[m03_phyedit]

比较三种约束:文字条件表达灵活,但空间位置可能含糊;掩码明确哪里能改,但不直接编码前后关系;深度与关系先验补充几何,却可能预测错误。三种不是谁彻底取代谁,而是各自提供信息。关系 A 在 B 后面 还要约定深度方向;不要看到小于号就猜是远还是近。

实验设计:固定输入图、指令、随机种子、推理步数,比较文字条件、文字+掩码、文字+掩码+几何三种配置。测目标位置误差、相对深度顺序、非编辑区域变化,并保留失败图。只有评价者知道真值时,不能把测试目标图交给模型生成条件;那会泄漏答案。

阅读路线:先用20分钟画操作与位置两条支路,回 R15 理解条件注入;用 R16 补投影,借 R33 区分定位与分割;再用40分钟读 PhyEdit 图2、§3.2、§4,不要求本机训练完整编辑器。

三道理解题:① 8个分数与8张空间图各解决什么?② 为什么指定位置还不够保证遮挡正确?③ 多步编辑如何检查累计漂移?

一级提示:分清操作、空间与历史

先写两个输出的形状;再比较平面坐标和深度;最后在每一步与初始图及目标分别比较。

二级提示与参考答案

① 操作分数决定改动类型或选择,空间图决定位置范围。② 相同二维位置可能对应不同前后顺序,且生成器可能破坏背景。③ 保存每步结果,测目标达成与非目标区域误差,增加停止判断并分析失败恢复。动手:手算投影例子,再把 X 改为0,解释位于主点的物体为什么近移不改变中心位置。选做:设计一次错误深度先验的消融,检查系统能否拒绝或纠正它。

过关标准:能解释两条控制支路及张量形状,能把“好看”“按指令改了”“几何正确”作为三个不同评价问题。

五、文字超分:清晰不等于正确

组会记录:结束部分讨论自然图像中的文字恢复、TATSR 和 Text Gestalt。文字超分是把低分辨率文字区域恢复成高分辨率图像;OCR 是输出字符,两者目标有关但输出不同。裁剪文字上的成功不自动推广到完整自然场景。

教学例子:在100×100图中删除10个关键笔画像素,归一化二值图的 MSE 只有10/10000=0.001;一个字符却可能变成另一个。若全图有小幅亮度偏移,MSE可能更大而字符仍易读。所以应同时评价像素、结构和识别;OCR 也会犯错,不能把单一识别器当作绝对真值。

公开方法比较:TATSR 使用文字感知的内容损失及纵横方向的 Transformer 模块。阅读 PDF §III-B、III-C和图2、图4,再看 §IV 的 TextZoom 协议与不同识别器结果。Text Gestalt 的 Methodology、图2–3把辅助识别器产生的笔画注意力用于训练监督,Experiments 中比较字符级和笔画级监督;错误监督也可能损害结果。两者强调不同层次的结构信息,不能仅凭论文名称判断哪种在所有语言上更好。[m03_tatsr] [m03_gestalt]

教学损失:设固定识别特征提取器 F,L=L_pixel+λ||F(SR)−F(HR)||²。这里冻结 F 的参数不意味着阻断 F 对输入的梯度;训练 SR 网络仍需通过 F 把误差信号传回来。如果在 SR 分支外套 no_grad(),内容损失可能不再帮助 SR 学习。这一式是通用示意,不冒充两篇论文的完整损失。

训练时的辅助网络可只用于监督,推理时不必携带;但是否省时还取决于最终 SR 主干和预处理。实验要写清低高分辨率配对、对齐方式、退化、语言、OCR版本及是否忽略大小写和标点。自然照片、合成字符、裁剪文本应分开报告。

阅读路线:先回 R11 复习恢复问题,用20分钟手算误差,再用30分钟各看一篇的结构图和监督位置。M03X03 只验证“误差小不保证结构对”的反例,不训练 SR,不执行真实 OCR。

三道理解题:① 为什么 PSNR 上升仍可能出现错字?② 冻结识别器是否等于禁止对 SR 输入求梯度?③ 用哪个指标证明文字恢复更好?

一级提示:先问指标看见什么

像素平均会稀释局部错误;参数梯度与输入梯度是两件事;寻找至少两种互补评价。

二级提示与参考答案

① 全图指标不赋予关键笔画额外语义权重,生成也可能补出错误细节。② 不等于;固定权重但保留输入梯度才能监督上游。③ 同时报告图像指标、字符或词识别、人工核查及分语言失败率,说明评价器偏差。动手运行 M03X03,对比删除中横与整体灰度变化;选做改变阈值和画布大小,解释平均误差与结构判据为何变化。

过关标准:能举出像素指标与字符正确性冲突的例子,画出训练辅助分支与推理路径,并说明合成字符实验的边界。

复盘与下一次联系前的准备

写下一个方向的输入、输出、一个你能解释的机制、一条有出处的证据和一个仍不理解的问题。只选择一个小实验完成,不把五个方向同时排入必修。选方向时比较兴趣、实际指导、可获得的数据设备和日常任务;本专题不根据热度替你认定偏好。

此次新增的论文以核验日期和明确版本为准。未核验完整的 π*0.6/RECAP 与强化学习选帧细节保留边界;组内编辑方案与公开 PhyEdit 分开记录。首次运行实验无需下载权重,正文、答案和代码离线可读,原论文链接需要联网。

M03X01 候选帧遗漏与预算分配

任务:先预测稀疏候选是否包含关键帧,再比较补充候选后的结果;手算6个名额的比例分配。

运行:python M03X01.py

预期:missed=true,recovered=true;allocation=[1,2,2,1],总预算6。

提示:先检查43是否在候选池;再求配额整数部分,余数按从大到小补齐,平局按索引。

解释:这个近似理想选择器直接知道事件位置,只用于演示候选上限,真实方法不可访问测试真值。最大余数法不保证每段至少一帧,也不保证事件最优覆盖。

验证:2026-09-25 Windows Python 3.12 CPU 标准库,小规模执行与断言通过

边界:无实际视频、语言模型或语义边界;分配未考虑段长度上限,应用到有限片段时必须再做容量约束。

"""Synthetic candidate omission and largest-remainder allocation; no video model."""
import json
def allocate(weights, budget):
    assert budget >= 0 and weights and all(w >= 0 for w in weights) and sum(weights)>0
    raw=[budget*w/sum(weights) for w in weights]
    counts=[int(x) for x in raw]
    order=sorted(range(len(weights)),key=lambda i:(-(raw[i]-counts[i]),i))
    for i in order[:budget-sum(counts)]: counts[i]+=1
    assert sum(counts)==budget
    return counts
def main():
    candidates=list(range(0,100,10));critical=43
    selected=sorted(candidates,key=lambda x:abs(x-critical))[:4]
    assert critical not in selected
    enriched=sorted(set(candidates+[critical]))
    improved=sorted(enriched,key=lambda x:abs(x-critical))[:4]
    assert critical in improved and len(set(improved))==4
    counts=allocate([1,3,2,2],6)
    assert counts==[1,2,2,1]
    print(json.dumps(dict(experiment='M03X01',missed=critical not in selected,recovered=critical in improved,allocation=counts,budget=sum(counts))))
if __name__=='__main__':main()

M03X02 二维向量码本量化

任务:手算最近码字索引,增加一个码字后比较固定样本平均平方距离。

运行:python M03X02.py

预期:索引[1,0,2,3];平均平方距离0.05降为0.03;原码本使用4个码字。

提示:对每个码字累加两个坐标的平方差;距离不是各维均方值;平局取最小索引。

解释:新增码字不会使这组最近邻距离增大,但这不证明学习到更好的生成分布,也没有估算真实码流。这里的二维指向量维数,不是二维码图案。

验证:2026-09-25 Windows Python 3.12 CPU 标准库,小规模执行与断言通过

边界:无编码器训练、直通估计或熵编码;没有复现VQ-VAE。

"""Two-dimensional codebook lookup, not QR codes or VQ-VAE training."""
import json
def nearest(point, book):
    distances=[sum((a-b)**2 for a,b in zip(point,word)) for word in book]
    i=min(range(len(book)),key=lambda j:distances[j])
    return i,distances[i]
def main():
    book=[(0,0),(1,0),(0,1),(1,1)]
    points=[(.8,.2),(.1,.1),(.2,.9),(.9,.8)]
    result=[nearest(p,book) for p in points]
    assert result[0][0]==1 and abs(result[0][1]-.08)<1e-12
    before=sum(d for i,d in result)/len(result)
    larger=book+[(.8,.2)]
    after=sum(nearest(p,larger)[1] for p in points)/len(points)
    assert after<=before
    print(json.dumps(dict(experiment='M03X02',indices=[i for i,d in result],mean_squared_distance=before,expanded_error=after,used_codes=len(set(i for i,d in result)),dimension=2)))
if __name__=='__main__':main()

M03X03 合成字符:像素误差与结构错误

任务:比较删除中横与整体灰度变化,预测哪种像素误差低、哪种保留中横。

运行:python M03X03.py

预期:删除中横MSE约0.0857,灰度变化MSE约0.16;前者结构失败、后者通过。

提示:MSE除以35个像素;结构判据只检查中横三个位置是否大于0.5。

解释:像素平均误差与预先定义的结构判据可以给出相反排序;阈值和图形都是人为设定。修改阈值、画布或笔画位置后重新解释结果。

验证:2026-09-25 Windows Python 3.12 CPU 标准库,小规模执行与断言通过

边界:不是OCR准确率、真实汉字评测或超分模型;仅构造指标盲点的反例。

"""Synthetic 7x5 glyph: pixel error versus a predefined middle-stroke predicate."""
import json
def mse(a,b):return sum((x-y)**2 for x,y in zip(a,b))/len(a)
def middle(g):return all(g[3*5+c]>.5 for c in range(1,4))
def main():
    glyph=[float(c==0 or c==4 or r in (0,3,6)) for r in range(7) for c in range(5)]
    missing=glyph.copy()
    for c in range(1,4):missing[3*5+c]=0
    faded=[.6 if v else .4 for v in glyph]
    assert mse(glyph,missing)<mse(glyph,faded)
    assert not middle(missing) and middle(faded)
    print(json.dumps(dict(experiment='M03X03',missing_mse=mse(glyph,missing),faded_mse=mse(glyph,faded),missing_structure=middle(missing),faded_structure=middle(faded),warning='Synthetic predicate, not OCR accuracy')))
if __name__=='__main__':main()

X01 数据泄漏与对象划分

类型:合成数据;章节:R01, R02, R03

任务:比较样本重叠与对象独立的最近邻评价。

运行:python X01.py

预期:重叠身份正确率为1,独立身份明显下降。

提示:对象标签随机生成,模型只能记忆身份。

解释:独立身份没有可学习标签规律;高分来自信息共享。

边界:不代表真实数据的固定泛化差距。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x01():
    rng=np.random.default_rng(7)
    identities=rng.normal(size=(40,8)); labels=rng.integers(0,2,40)
    def predict(train,train_y,test):
        return train_y[((test[:,None]-train[None,:])**2).sum(-1).argmin(1)]
    train=identities+rng.normal(0,.01,identities.shape)
    same=identities+rng.normal(0,.01,identities.shape)
    overlap=float((predict(train,labels,same)==labels).mean())
    held=float((predict(train[:20],labels[:20],same[20:])==labels[20:]).mean())
    assert overlap==1 and held<overlap
    return dict(overlapping_identity_accuracy=overlap,held_out_identity_accuracy=held,explanation='随机标签与身份独立;前者只证明身份记忆,不证明可推广规律。')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X01")

X02 IoU 与 NMS

类型:手算与合成框;章节:R04, R05, R06

任务:改变重叠框和NMS阈值,观察保留索引。

运行:python X02.py

预期:交并比示例为1/7;NMS保留0和2。

提示:连续坐标面积不加一。

解释:NMS按分数顺序抑制同类高重叠框,拥挤场景可能误删真目标。

边界:单类别简化,不计算COCO AP。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def iou(a,b):
    area=lambda r:max(0,r[2]-r[0])*max(0,r[3]-r[1])
    intersection=area([max(a[0],b[0]),max(a[1],b[1]),min(a[2],b[2]),min(a[3],b[3])])
    union=area(a)+area(b)-intersection
    return intersection/union if union else 0.

def x02():
    boxes=np.array([[0,0,2,2],[.2,.2,2.2,2.2],[5,5,7,7.]])
    order=[0,1,2];keep=[]
    while order:
        best=order.pop(0);keep.append(best)
        order=[j for j in order if iou(boxes[best],boxes[j])<=.5]
    assert keep==[0,2] and abs(iou([0,0,2,2],[1,1,3,3])-1/7)<1e-12
    return dict(pair_iou=iou(boxes[0],boxes[1]),nms_kept=keep,coordinate_convention='连续坐标 xyxy,面积不加一;单类别、分数顺序固定')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X02")

X03 运动估计

类型:合成平移;章节:R07, R08, R09

任务:用固定窗口搜索整数位移。

运行:python X03.py

预期:恢复向右3、向下2,误差为零。

提示:固定共同内部区域,避免不同候选比较不同数量像素。

解释:纹理明确且无遮挡时平方误差找到真实平移。

边界:不含亚像素、光照变化和遮挡。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x03():
    rng=np.random.default_rng(4);a=rng.normal(size=(32,32));b=np.zeros_like(a);b[2:,3:]=a[:-2,:-3]
    scores=[]
    for dy in range(-4,5):
        for dx in range(-4,5):
            # Fixed interior support ensures comparable domains and no circular wrap.
            mse=float(((a[5:27,5:27]-b[5+dy:27+dy,5+dx:27+dx])**2).mean())
            scores.append((mse,dx,dy))
    mse,dx,dy=min(scores);assert (dx,dy)==(3,2) and mse==0
    return dict(dx=dx,dy=dy,mse=mse,range='正值代表向右、向下;只比较共同有效区域')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X03")

X04 去模糊与正则化

类型:合成一维信号;章节:R10, R11, R12

任务:比较不同正则强度的重建误差与观测残差。

运行:python X04.py

预期:输出5个正则系数的MSE与残差。

提示:残差最小不等于真值误差最小。

解释:病态求逆放大噪声;正则化引入偏差换取稳定。

边界:已知卷积且周期边界,不是真实相机退化。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def inverse_problem(kind):
    n=40;t=np.linspace(0,1,n);x=np.sin(2*np.pi*t)+.2*np.cos(6*np.pi*t)
    rng=np.random.default_rng(3)
    if kind=='blur':
        A=np.eye(n)*.5+np.roll(np.eye(n),1,axis=0)*.25+np.roll(np.eye(n),-1,axis=0)*.25
    else:
        q,_=np.linalg.qr(rng.normal(size=(n,n)));v,_=np.linalg.qr(rng.normal(size=(n,n)))
        A=q@np.diag(np.geomspace(1,.001,n))@v.T
    y=A@x+rng.normal(0,.01,n);rows=[]
    for lam in [0,1e-5,1e-3,.01,.1]:
        estimate=np.linalg.lstsq(A,y,rcond=None)[0] if lam==0 else np.linalg.solve(A.T@A+lam*np.eye(n),A.T@y)
        rows.append(dict(regularization=lam,mse=float(np.mean((estimate-x)**2)),residual=float(np.mean((A@estimate-y)**2))))
    assert all(np.isfinite(r['mse']) for r in rows)
    return dict(operator=kind,condition_number=float(np.linalg.cond(A)),results=rows,note='有真值的合成诊断;真实场景不能用测试真值选择正则系数。')

def x04():return inverse_problem('blur')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X04")

X05 简化扩散条件均值

类型:解析高斯模型;章节:R13, R14, R15

任务:改变累计信号比例,比较解析后验均值误差。

运行:python X05.py

预期:平均MSE接近1-alpha_bar。

提示:先写带噪观测的均值方差。

解释:信号比例下降时观测携带的信息减少。

边界:没有学习去噪网络,不是DDPM复现。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x05():
    # Analytic Gaussian posterior, NOT a learned DDPM.
    rng=np.random.default_rng(8);clean=rng.normal(2,1,20000);eps=rng.normal(size=len(clean));rows=[]
    for alpha in [.1,.5,.9]:
        noisy=np.sqrt(alpha)*clean+np.sqrt(1-alpha)*eps
        posterior_mean=2+np.sqrt(alpha)*(noisy-np.sqrt(alpha)*2)
        unconditional=np.full_like(clean,2.)
        mse=float(np.mean((posterior_mean-clean)**2));assert mse<np.mean((unconditional-clean)**2)
        rows.append(dict(alpha_bar=alpha,observed_mse=mse,theoretical_mse=1-alpha))
    return dict(results=rows,meaning='高斯数据的一步条件均值;不训练神经网络,不生成自然图像。')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X05")

X06 相机投影与双目深度

类型:合成几何;章节:R16, R17, R18

任务:根据两台平行相机计算投影、视差和深度。

运行:python X06.py

预期:恢复2米,视差80像素;加入误差后深度变化。

提示:单位分别是米、像素,不要混用。

解释:深度与视差成反比,同一视差误差对远处影响更大。

边界:假定已标定校正,不包含匹配和畸变。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x06():
    f=800.;baseline=.2;point=np.array([.3,.1,2.]);u=f*point[0]/point[2];v=f*point[1]/point[2]
    ur=f*(point[0]-baseline)/point[2];disparity=u-ur;depth=f*baseline/disparity
    assert np.isclose(depth,point[2])
    return dict(left_uv=[u,v],right_u=ur,disparity_pixels=disparity,depth_m=depth,depth_with_one_pixel_error=f*baseline/(disparity+1),assumption='已校正平行双目;主点为零;焦距像素、基线米')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X06")

X07 点云与体素表示

类型:合成点云;章节:R19, R20, R21

任务:打乱点顺序并改变体素大小。

运行:python X07.py

预期:重排不改变占据体素,粗体素数量减少。

提示:比较体素集合而非数组原始顺序。

解释:集合输入需要排列不变或等变处理;分辨率影响细节。

边界:占据数量不是码率或语义精度。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x07():
    rng=np.random.default_rng(9);p=rng.uniform(0,1,(1000,3));voxel=.2
    a=np.unique(np.floor(p/voxel).astype(int),axis=0);b=np.unique(np.floor(p[rng.permutation(len(p))]/voxel).astype(int),axis=0)
    assert np.array_equal(a,b)
    coarse=np.unique(np.floor(p/.4).astype(int),axis=0)
    assert len(coarse)<=len(a)
    return dict(points=len(p),occupied_voxels=len(a),coarse_voxels=len(coarse),permutation_invariant=True,note='计数不是压缩文件大小;体素化会丢失体素内位置。')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X07")

X08 编码成像与条件数

类型:合成线性测量;章节:R22, R23, R24

任务:比较病态编码矩阵下的直接求逆与正则化。

运行:python X08.py

预期:条件数约1000,各正则系数结果有限。

提示:检查矩阵奇异值怎样放大噪声。

解释:测量设计与恢复算法共同决定误差,不能只改后端。

边界:随机矩阵不是实际光学装置。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def inverse_problem(kind):
    n=40;t=np.linspace(0,1,n);x=np.sin(2*np.pi*t)+.2*np.cos(6*np.pi*t)
    rng=np.random.default_rng(3)
    if kind=='blur':
        A=np.eye(n)*.5+np.roll(np.eye(n),1,axis=0)*.25+np.roll(np.eye(n),-1,axis=0)*.25
    else:
        q,_=np.linalg.qr(rng.normal(size=(n,n)));v,_=np.linalg.qr(rng.normal(size=(n,n)))
        A=q@np.diag(np.geomspace(1,.001,n))@v.T
    y=A@x+rng.normal(0,.01,n);rows=[]
    for lam in [0,1e-5,1e-3,.01,.1]:
        estimate=np.linalg.lstsq(A,y,rcond=None)[0] if lam==0 else np.linalg.solve(A.T@A+lam*np.eye(n),A.T@y)
        rows.append(dict(regularization=lam,mse=float(np.mean((estimate-x)**2)),residual=float(np.mean((A@estimate-y)**2))))
    assert all(np.isfinite(r['mse']) for r in rows)
    return dict(operator=kind,condition_number=float(np.linalg.cond(A)),results=rows,note='有真值的合成诊断;真实场景不能用测试真值选择正则系数。')

def x08():return inverse_problem('coded')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X08")

X09 真实 JPEG 编解码

类型:真实编码器/合成测试图;章节:R25, R26, R27

任务:保存3档JPEG,从文件重新解码,测bpp、PSNR和尺寸。

运行:python X09.py

预期:得到3份JPEG及CSV;解码均为97×129×3。

提示:用文件字节数乘8除以原图像素数。

解释:真实文件包含头部等开销,和训练估计码率不同。

边界:单张合成图不支持编码器优劣结论;神经编解码见L20。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x09():
    n=97;m=129;y,x=np.mgrid[:n,:m]
    rgb=np.stack([x*255/(m-1),y*255/(n-1),127+100*np.sin(x/4)*np.cos(y/7)],-1).clip(0,255).astype('uint8')
    image=Image.fromarray(rgb);OUT.mkdir(exist_ok=True);original=OUT/'source.png';image.save(original)
    rows=[]
    for quality in [30,60,90]:
        path=OUT/f'jpeg_q{quality}.jpg';t=time.perf_counter();image.save(path,quality=quality,subsampling=0);encode=time.perf_counter()-t
        t=time.perf_counter()
        with Image.open(path) as im: reconstructed=np.array(im.convert('RGB'))
        decode=time.perf_counter()-t
        assert reconstructed.shape==rgb.shape
        mse=float(np.mean(((rgb.astype(float)-reconstructed.astype(float))/255.)**2))
        psnr=float('inf') if mse==0 else 10*math.log10(1/mse)
        rows.append(dict(quality=quality,height=n,width=m,file_bytes=path.stat().st_size,file_bpp=8*path.stat().st_size/(n*m),psnr_rgb=psnr,encode_s=encode,decode_s=decode))
    assert all(np.isfinite(r['psnr_rgb']) for r in rows)
    with (OUT/'jpeg_measurements.csv').open('w',newline='',encoding='utf-8') as f:
        w=csv.DictWriter(f,fieldnames=rows[0]);w.writeheader();w.writerows(rows)
    return dict(results=rows,source_sha256=hashlib.sha256(original.read_bytes()).hexdigest(),measurement='真实JPEG文件;bpp含文件头,未单独拆熵流;计时含写文件及解码读文件;单次计时不作性能结论。',scope='一张合成图用于尺寸和公式自检,不是自然图基准。')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X09")

X10 量化步长与通道尺度

类型:数值实验;章节:R28, R29, R30

任务:比较取整误差和逐张量/逐通道尺度。

运行:python X10.py

预期:未截断样本最大绝对误差不超过半步长。

提示:先除尺度再取整,恢复时乘尺度。

解释:共享尺度容易损失小幅度通道精度。

边界:不测整数硬件速度,不保证跨平台码流一致。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x10():
    x=np.array([-.92,-.11,.37,.99]);step=.1;q=np.clip(np.rint(x/step),-128,127).astype('int8');back=q.astype(float)*step
    err=float(np.max(np.abs(back-x)));assert err<=step/2+1e-12
    channels=np.array([[.01,.02,.03],[1.,2.,3.]])
    per_tensor=np.rint(channels/(3/127))*(3/127)
    scales=np.max(np.abs(channels),axis=1,keepdims=True)/127
    per_channel=np.rint(channels/scales)*scales
    return dict(step=step,quantized=q.tolist(),restored=back.tolist(),max_error=err,per_tensor_mse=float(np.mean((channels-per_tensor)**2)),per_channel_mse=float(np.mean((channels-per_channel)**2)),note='ties-to-even;没有饱和时半步长界成立;不模拟整数卷积加速。')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X10")

X11 图文相似度与检索

类型:手工向量;章节:R31, R32, R33

任务:计算归一化相似度矩阵、排序和Recall@1。

运行:python X11.py

预期:返回3×3相似度矩阵和检索索引。

提示:矩阵行是图像,列是文本。

解释:匹配向量与真实语义是两回事,需要真实模型另行验证。

边界:未加载CLIP模型,不能作为语义能力测试。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x11():
    images=np.array([[1.,0.,0.],[0.,1.,0.],[.6,.8,0.]])
    texts=np.array([[1.,0.,0.],[0.,1.,0.],[.8,.6,0.]])
    normalize=lambda z:z/np.linalg.norm(z,axis=-1,keepdims=True)
    scores=normalize(images)@normalize(texts).T
    ranked=np.argsort(-scores,axis=1);assert ranked[0,0]==0 and ranked[1,0]==1
    return dict(similarities=scores.tolist(),ranked_text_ids=ranked.tolist(),paired_recall_at_1=float(np.mean(ranked[:,0]==np.arange(3))),meaning='手工向量演示检索。不是运行CLIP,也不证明自然语言理解。')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X11")

X12 类别不平衡评价

类型:合成二分类;章节:R34, R35, R36

任务:比较全背景与能检出前景的模型。

运行:python X12.py

预期:全背景准确率较高,但召回率和Dice为零。

提示:分别计算TP、FP、FN,明确分母为零约定。

解释:指标选择应体现研究任务,不能只看多数类正确率。

边界:不是医学诊断评价,真实数据还需病人级分组。

验证:2026-09-24:Windows 11,Python 3.12.10,NumPy 2.5.2,Pillow 12.3.0,CPU 独立脚本执行与断言通过

"""独立可运行的教学参考实现;范围与限制见教材实验区。"""
import csv, hashlib, json, math, platform, time
from pathlib import Path
import numpy as np
from PIL import Image, __version__ as pillow_version
OUT=Path(__file__).resolve().parent/"outputs"

def x12():
    y=np.array([0]*95+[1]*5);all_background=np.zeros(100,dtype=int);model=np.zeros(100,dtype=int);model[95:99]=1;model[0:6]=1
    def metrics(pred):
        tp=int(np.sum((pred==1)&(y==1)));fp=int(np.sum((pred==1)&(y==0)));fn=int(np.sum((pred==0)&(y==1)))
        return dict(accuracy=float(np.mean(pred==y)),precision=tp/(tp+fp) if tp+fp else 0.,recall=tp/(tp+fn),dice=2*tp/(2*tp+fp+fn))
    a,b=metrics(all_background),metrics(model);assert a['accuracy']>b['accuracy'] and a['dice']<b['dice']
    return dict(background=a,model=b,meaning='二分类合成像素;前景缺失时精确率约定为零;同病人切片不能作为独立样本估置信区间。')

def main(identifier):
    result=globals()[identifier.lower()]();OUT.mkdir(exist_ok=True)
    record={'experiment':identifier,'environment':{'python':platform.python_version(),'numpy':np.__version__,'pillow':pillow_version,'platform':platform.platform()},'result':result}
    (OUT/(identifier+'.json')).write_text(json.dumps(record,ensure_ascii=False,indent=2),encoding='utf-8')
    print(json.dumps(record,ensure_ascii=False,indent=2))
    return record

if __name__=="__main__":
    main("X12")

[szeliski] Computer Vision: Algorithms and Applications, 2nd edition

Richard Szeliski · 2022 教材

首次公开:2022(第二版);版本:第二版教材;作者网站可能更新勘误

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L03, L05, L07, L08, L09, L18, L29, L33, L34

R01 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:模型改变的是任务、表示还是评价?

R04 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:如何同时识别对象并保留空间位置?

R07 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:时间信息通过什么假设参与预测?

R16 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:观测几何如何约束场景表示?

R17 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:观测几何如何约束场景表示?

R18 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:观测几何如何约束场景表示?

[resnet] Deep Residual Learning for Image Recognition

He, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian · CVPR 2016

首次公开:2015/12/10;版本:1512.03385v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L05, L07, L08, L09

R01 · 经典:§3;图1、2、4;表1、2。阅读问题:模型改变的是任务、表示还是评价?

R04 · 经典:§3、§4.1;图2、4;表2。阅读问题:如何同时识别对象并保留空间位置?

[vit] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

Dosovitskiy, Alexey; Beyer, Lucas; Kolesnikov, Alexander; Weissenborn, Dirk; Zhai, Xiaohua; Unterthiner, Thomas; Dehghani, Mostafa; Minderer, Matthias; Heigold, Georg; Gelly, Sylvain; Uszkoreit, Jakob; Houlsby, Neil · ICLR 2021

首次公开:2020/10/22;版本:2010.11929v2

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L02, L05, L07, L08, L09

R01 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

R04 · 经典:§3、§4.3;图1、3、4。阅读问题:如何同时识别对象并保留空间位置?

[gan] Generative Adversarial Networks

Goodfellow, Ian J.; Pouget-Abadie, Jean; Mirza, Mehdi; Xu, Bing; Warde-Farley, David; Ozair, Sherjil; Courville, Aaron; Bengio, Yoshua · NeurIPS 2014

首次公开:2014/06/10;版本:1406.2661

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L09, L10, L13, L14, L15

R01 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

R13 · 经典:§3–4;式1–2及图1–3。阅读问题:分布建模如何影响生成与可控性?

R28 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

[nerf] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

Mildenhall, Ben; Srinivasan, Pratul P.; Tancik, Matthew; Barron, Jonathan T.; Ramamoorthi, Ravi; Ng, Ren · ECCV 2020

首次公开:2020/03/19;版本:2003.08934

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L03, L07, L09, L13, L29

R01 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

R18 · 经典:§3–5;体渲染式、位置编码与新视角实验。阅读问题:观测几何如何约束场景表示?

R20 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:空间表示与任务交互有什么关系?

[clip] Learning Transferable Visual Models From Natural Language Supervision

Radford, Alec; Kim, Jong Wook; Hallacy, Chris; Ramesh, Aditya; Goh, Gabriel; Agarwal, Sandhini; Sastry, Girish; Askell, Amanda; Mishkin, Pamela; Clark, Jack; Krueger, Gretchen; Sutskever, Ilya · ICML 2021

首次公开:2021/02/26;版本:2103.00020v1

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L05, L07, L09, L14, L15, L18, L29

R01 · 近年代表:§2;图1;§3评价;§6局限。阅读问题:模型改变的是任务、表示还是评价?

R29 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

R31 · 经典:§2;图1;§3评价;§6局限。阅读问题:语言在什么阶段影响视觉表示?

R32 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:语言在什么阶段影响视觉表示?

R33 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:语言在什么阶段影响视觉表示?

[sam] Segment Anything

Kirillov, Alexander; Mintun, Eric; Ravi, Nikhila; Mao, Hanzi; Rolland, Chloe; Gustafson, Laura; Xiao, Tete; Whitehead, Spencer; Berg, Alexander C.; Lo, Wan-Yen; Dollár, Piotr; Girshick, Ross · ICCV 2023

首次公开:2023/04/05;版本:2304.02643

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L09, L10, L18, L29

R01 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

R06 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

R33 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:语言在什么阶段影响视觉表示?

[ssl_survey] Self-supervised Learning: Generative or Contrastive

Liu, Xiao; Zhang, Fanjin; Hou, Zhenyu; Wang, Zhaoyu; Mian, Li; Zhang, Jing; Tang, Jie · IEEE TKDE;以所链接版本为准

首次公开:2020/06/15;版本:2006.08218

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L08, L14

R02 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:模型改变的是任务、表示还是评价?

[simclr] A Simple Framework for Contrastive Learning of Visual Representations

Chen, Ting; Kornblith, Simon; Norouzi, Mohammad; Hinton, Geoffrey · ICML 2020

首次公开:2020/02/13;版本:2002.05709v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L08, L14

R02 · 经典:§2;§3.1;§4.2;图2、5、8;表3。阅读问题:模型改变的是任务、表示还是评价?

[moco] Momentum Contrast for Unsupervised Visual Representation Learning

He, Kaiming; Fan, Haoqi; Wu, Yuxin; Xie, Saining; Girshick, Ross · CVPR 2020

首次公开:2019/11/13;版本:1911.05722

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L08, L14

R02 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

[mae] Masked Autoencoders Are Scalable Vision Learners

He, Kaiming; Chen, Xinlei; Xie, Saining; Li, Yanghao; Dollár, Piotr; Girshick, Ross · CVPR 2022

首次公开:2021/11/11;版本:2111.06377v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L05, L08, L14, L18

R02 · 经典:§3;图1;表1、3;§4。阅读问题:模型改变的是任务、表示还是评价?

R35 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:领域采集和划分怎样影响结论?

[dinov2] DINOv2: Learning Robust Visual Features without Supervision

Oquab, Maxime; Darcet, Timothée; Moutakanni, Théo; Vo, Huy; Szafraniec, Marc; Khalidov, Vasil; Fernandez, Pierre; Haziza, Daniel; Massa, Francisco; El-Nouby, Alaaeldin; Assran, Mahmoud; Ballas, Nicolas; Galuba, Wojciech; Howes, Russell; Huang, Po-Yao; Li, Shang-Wen; Misra, Ishan; Rabbat, Michael; Sharma, Vasu; Synnaeve, Gabriel; Xu, Hu; Jegou, Hervé; Mairal, Julien; Labatut, Patrick; Joulin, Armand; Bojanowski, Piotr · TMLR 2024

首次公开:2023/04/14;版本:2304.07193

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L06, L07, L08, L14, L18, L23

R02 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

R03 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

R04 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

R36 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:领域采集和划分怎样影响结论?

[cs231n] CS231n: Deep Learning for Computer Vision

Stanford University · 作者课程;动态更新

首次公开:滚动更新课程,无法指定单一首发日期;版本:网站当前课程内容;章节定位以访问日为准

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L08, L18, L23

R03 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:模型改变的是任务、表示还是评价?

R36 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:领域采集和划分怎样影响结论?

[calibration] On Calibration of Modern Neural Networks

Guo, Chuan; Pleiss, Geoff; Sun, Yu; Weinberger, Kilian Q. · ICML 2017

首次公开:2017/06/14;版本:1706.04599v2

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L09, L18, L23

R03 · 经典:§2;§4温度缩放;表1及结果。阅读问题:模型改变的是任务、表示还是评价?

R34 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:领域采集和划分怎样影响结论?

[imagenet_c] Benchmarking Neural Network Robustness to Common Corruptions and Perturbations

Hendrycks, Dan; Dietterich, Thomas · ICLR 2019

首次公开:2019/03/28;版本:1903.12261v1

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L08, L18, L23

R03 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

R36 · 经典:§3基准;指标;§5;图1、3。阅读问题:领域采集和划分怎样影响结论?

[ensembles] Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles

Lakshminarayanan, Balaji; Pritzel, Alexander; Blundell, Charles · NeurIPS 2017

首次公开:2016/12/05;版本:1612.01474v3

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L08, L18, L23

R03 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:模型改变的是任务、表示还是评价?

R36 · 经典:§2.1–2.4;图1;§3.3–3.4;表1。阅读问题:领域采集和划分怎样影响结论?

[wilds] WILDS: A Benchmark of in-the-Wild Distribution Shifts

Koh, Pang Wei; Sagawa, Shiori; Marklund, Henrik; Xie, Sang Michael; Zhang, Marvin; Balsubramani, Akshay; Hu, Weihua; Yasunaga, Michihiro; Phillips, Richard Lanas; Gao, Irena; Lee, Tony; David, Etienne; Stavness, Ian; Guo, Wei; Earnshaw, Berton A.; Haque, Imran S.; Beery, Sara; Leskovec, Jure; Kundaje, Anshul; Pierson, Emma; Levine, Sergey; Finn, Chelsea; Liang, Percy · ICML 2021

首次公开:2020/12/14;版本:2012.07421v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L08, L18, L23

R03 · 近年代表:图1;构建原则;§4示例;表2;§6.1–6.2。阅读问题:模型改变的是任务、表示还是评价?

R36 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:领域采集和划分怎样影响结论?

[convnext] A ConvNet for the 2020s

Liu, Zhuang; Mao, Hanzi; Wu, Chao-Yuan; Feichtenhofer, Christoph; Darrell, Trevor; Xie, Saining · CVPR 2022

首次公开:2022/01/10;版本:2201.03545

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L07, L08

R04 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

[det_survey] Object Detection in 20 Years: A Survey

Zou, Zhengxia; Chen, Keyan; Shi, Zhenwei; Guo, Yuhong; Ye, Jieping · Proceedings of the IEEE 2023

首次公开:2019/05/13;版本:1905.05055

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L29

R05 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:如何同时识别对象并保留空间位置?

[rcnn] Rich feature hierarchies for accurate object detection and semantic segmentation

Girshick, Ross; Donahue, Jeff; Darrell, Trevor; Malik, Jitendra · CVPR 2014

首次公开:2013/11/11;版本:1311.2524

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L29

R05 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

[faster] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

Ren, Shaoqing; He, Kaiming; Girshick, Ross; Sun, Jian · NeurIPS 2015

首次公开:2015/06/04;版本:1506.01497

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L29

R05 · 经典:§3.1;图2;§4消融。阅读问题:如何同时识别对象并保留空间位置?

[yolo] You Only Look Once: Unified, Real-Time Object Detection

Redmon, Joseph; Divvala, Santosh; Girshick, Ross; Farhadi, Ali · CVPR 2016

首次公开:2015/06/08;版本:1506.02640

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L29

R05 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

[detr] End-to-End Object Detection with Transformers

Carion, Nicolas; Massa, Francisco; Synnaeve, Gabriel; Usunier, Nicolas; Kirillov, Alexander; Zagoruyko, Sergey · ECCV 2020

首次公开:2020/05/26;版本:2005.12872v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L07, L08, L29

R05 · 经典:§3.1–3.2;图1、2、4;§4。阅读问题:如何同时识别对象并保留空间位置?

[dino_det] DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection

Zhang, Hao; Li, Feng; Liu, Shilong; Zhang, Lei; Su, Hang; Zhu, Jun; Ni, Lionel M.; Shum, Heung-Yeung · ICLR 2023

首次公开:2022/03/07;版本:2203.03605

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L29

R05 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

[seg_survey] Image Segmentation in Foundation Model Era: A Survey

Zhou, Tianfei; Xia, Wang; Zhang, Fei; Chang, Boyu; Wang, Wenguan; Yuan, Ye; Konukoglu, Ender; Cremers, Daniel · arXiv 综述;正式刊载信息见原站

首次公开:2024/08/23;版本:2408.12957

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L10, L29

R06 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:如何同时识别对象并保留空间位置?

[fcn] Fully Convolutional Networks for Semantic Segmentation

Long, Jonathan; Shelhamer, Evan; Darrell, Trevor · CVPR 2015

首次公开:2014/11/14;版本:1411.4038

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L10, L29

R06 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

[unet] U-Net: Convolutional Networks for Biomedical Image Segmentation

Ronneberger, Olaf; Fischer, Philipp; Brox, Thomas · MICCAI 2015

首次公开:2015/05/18;版本:1505.04597v1

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L06, L07, L09, L10, L18, L29

R06 · 经典:§2–4;图1;权重图。阅读问题:如何同时识别对象并保留空间位置?

R34 · 经典:图1、2;§2结构;§3训练;§4实验。阅读问题:领域采集和划分怎样影响结论?

[maskrcnn] Mask R-CNN

He, Kaiming; Gkioxari, Georgia; Dollár, Piotr; Girshick, Ross · ICCV 2017

首次公开:2017/03/20;版本:1703.06870

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L10, L18, L29

R06 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

R33 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:语言在什么阶段影响视觉表示?

[mask2former] Masked-attention Mask Transformer for Universal Image Segmentation

Cheng, Bowen; Misra, Ishan; Schwing, Alexander G.; Kirillov, Alexander; Girdhar, Rohit · CVPR 2022

首次公开:2021/12/02;版本:2112.01527v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L07, L10, L29

R06 · 经典:§3.1–3.3;图2;§4。阅读问题:如何同时识别对象并保留空间位置?

[sam2] SAM 2: Segment Anything in Images and Videos

Ravi, Nikhila; Gabeur, Valentin; Hu, Yuan-Ting; Hu, Ronghang; Ryali, Chaitanya; Ma, Tengyu; Khedr, Haitham; Rädle, Roman; Rolland, Chloe; Gustafson, Laura; Mintun, Eric; Pan, Junting; Alwala, Kalyan Vasudev; Carion, Nicolas; Wu, Chao-Yuan; Girshick, Ross; Dollár, Piotr; Feichtenhofer, Christoph · ICLR 2025

首次公开:2024/08/01;版本:2408.00714

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L10, L29, L34

R06 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:如何同时识别对象并保留空间位置?

R07 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

[flownet] FlowNet: Learning Optical Flow with Convolutional Networks

Fischer, Philipp; Dosovitskiy, Alexey; Ilg, Eddy; Häusser, Philip; Hazırbaş, Caner; Golkov, Vladimir; van der Smagt, Patrick; Cremers, Daniel; Brox, Thomas · ICCV 2015

首次公开:2015/04/26;版本:1504.06852

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L34

R07 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

[raft] RAFT: Recurrent All-Pairs Field Transforms for Optical Flow

Teed, Zachary; Deng, Jia · ECCV 2020

首次公开:2020/03/26;版本:2003.12039v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L02, L07, L34

R07 · 经典:§3.1–3.4;图1–2;式1、7;§4。阅读问题:时间信息通过什么假设参与预测?

R23 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:传感器测量中缺少了什么信息?

[sort] Simple Online and Realtime Tracking

Bewley, Alex; Ge, Zongyuan; Ott, Lionel; Ramos, Fabio; Upcroft, Ben · ICIP 2016

首次公开:2016/02/02;版本:1602.00763

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L34

R07 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

[bytetrack] ByteTrack: Multi-Object Tracking by Associating Every Detection Box

Zhang, Yifu; Sun, Peize; Jiang, Yi; Yu, Dongdong; Weng, Fucheng; Yuan, Zehuan; Luo, Ping; Liu, Wenyu; Wang, Xinggang · ECCV 2022

首次公开:2021/10/13;版本:2110.06864v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L02, L07, L34

R07 · 经典:§3算法1;§4;表1–4;附录。阅读问题:时间信息通过什么假设参与预测?

[video_survey] Deep Learning Approaches for Human Action Recognition in Video Data

Xie, Yufei · arXiv 综述

首次公开:2024/03/11;版本:2403.06810

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L18, L29, L34

R08 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:时间信息通过什么假设参与预测?

R09 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:时间信息通过什么假设参与预测?

[two_stream] Two-Stream Convolutional Networks for Action Recognition in Videos

Simonyan, Karen; Zisserman, Andrew · NeurIPS 2014

首次公开:2014/06/09;版本:1406.2199

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L18, L29, L34

R08 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

R09 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

[i3d] Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset

Carreira, Joao; Zisserman, Andrew · CVPR 2017

首次公开:2017/05/22;版本:1705.07750v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L07, L08, L29

R08 · 经典:§2.4;图3;§4–5;表1–5。阅读问题:时间信息通过什么假设参与预测?

[slowfast] SlowFast Networks for Video Recognition

Feichtenhofer, Christoph; Fan, Haoqi; Malik, Jitendra; He, Kaiming · ICCV 2019

首次公开:2018/12/10;版本:1812.03982

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L18, L29, L34

R08 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

R09 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

[videomae] VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training

Tong, Zhan; Song, Yibing; Wang, Jue; Wang, Limin · NeurIPS 2022

首次公开:2022/03/23;版本:2203.12602v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L07, L08, L29

R08 · 经典:§3.2–3.3;图1–2;§4;表1–4。阅读问题:时间信息通过什么假设参与预测?

[videomae2] VideoMAE V2: Scaling Video Masked Autoencoders with Dual Masking

Wang, Limin; Huang, Bingkun; Zhao, Zhiyu; Tong, Zhan; He, Yinan; Wang, Yi; Wang, Yali; Qiao, Yu · CVPR 2023

首次公开:2023/03/29;版本:2303.16727

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L08, L18, L29, L34

R08 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

R09 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

[actionformer] ActionFormer: Localizing Moments of Actions with Transformers

Zhang, Chenlin; Wu, Jianxin; Li, Yin · ECCV 2022

首次公开:2022/02/16;版本:2202.07925v2

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L18, L29, L34

R09 · 经典:§3;图2;式2–7;§4。阅读问题:时间信息通过什么假设参与预测?

[internvideo2] InternVideo2: Scaling Foundation Models for Multimodal Video Understanding

Wang, Yi; Li, Kunchang; Li, Xinhao; Yu, Jiashuo; He, Yinan; Wang, Chenting; Chen, Guo; Pei, Baoqi; Yan, Ziang; Zheng, Rongkun; Xu, Jilan; Wang, Zun; Shi, Yansong; Jiang, Tianxiang; Li, Songze; Zhang, Hongjie; Huang, Yifei; Qiao, Yu; Wang, Yali; Wang, Limin · ECCV 2024

首次公开:2024/03/22;版本:2403.15377v4

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L18, L29, L34

R09 · 近年代表:§3;图2–3;§5.1.2、5.2.2、5.4。阅读问题:时间信息通过什么假设参与预测?

[m03_flash] VideoChat-Flash: Hierarchical Compression for Long-Context Video Modeling

Xinhao Li et al. · arXiv 预印本 2024

首次公开:2024;版本:2501.00574v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

§3.1、图3、§4;层次压缩与评价协议。已访问原始资料;不作跨论文性能排名。

先修:L18, L29, L34

R09 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:时间信息通过什么假设参与预测?

M03 · 组会专题:§3.1、图3、§4;层次压缩与评价协议。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[ir_survey] Taming Diffusion Models for Image Restoration: A Review

Luo, Ziwei; Gustafsson, Fredrik K.; Zhao, Zheng; Sjölund, Jens; Schön, Thomas B. · arXiv 综述;发表版本见原站

首次公开:2024/09/16;版本:2409.10353

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L10, L11, L18

R10 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:退化与真实细节如何区分?

R11 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:退化与真实细节如何区分?

[dncnn] Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

Zhang, Kai; Zuo, Wangmeng; Chen, Yunjin; Meng, Deyu; Zhang, Lei · IEEE TIP 2017

首次公开:2016/08/13;版本:1608.03981v1

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L09, L11, L13, L18

R10 · 经典:§III、IV;图1–2;表II–V。阅读问题:退化与真实细节如何区分?

R12 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

[dip] Deep Image Prior

Ulyanov, Dmitry; Vedaldi, Andrea; Lempitsky, Victor · CVPR 2018

首次公开:2017/11/29;版本:1711.10925v4

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L03, L09, L11, L13, L18

R10 · 经典:§2、§3.1、§4;图2–4、6–7。阅读问题:退化与真实细节如何区分?

R12 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

R22 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:传感器测量中缺少了什么信息?

[restormer] Restormer: Efficient Transformer for High-Resolution Image Restoration

Zamir, Syed Waqas; Arora, Aditya; Khan, Salman; Hayat, Munawar; Khan, Fahad Shahbaz; Yang, Ming-Hsuan · CVPR 2022

首次公开:2021/11/18;版本:2111.09881

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L11, L18

R10 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

[nafnet] Simple Baselines for Image Restoration

Chen, Liangyu; Chu, Xiaojie; Zhang, Xiangyu; Sun, Jian · ECCV 2022

首次公开:2022/04/10;版本:2204.04676

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L11, L18

R10 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

[retinexformer] Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement

Cai, Yuanhao; Bian, Hao; Lin, Jing; Wang, Haoqian; Timofte, Radu; Zhang, Yulun · ICCV 2023

首次公开:2023/03/12;版本:2303.06705v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L09, L11, L13, L18

R10 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

R12 · 近年代表:§3.1–3.2;图2;§4.1–4.4;表1–4。阅读问题:退化与真实细节如何区分?

[srcnn] Image Super-Resolution Using Deep Convolutional Networks

Dong, Chao; Loy, Chen Change; He, Kaiming; Tang, Xiaoou · IEEE TPAMI 2016;会议前身 ECCV 2014

首次公开:2014/12/31;版本:1501.00092v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L09, L10, L11

R11 · 经典:§3.1–3.3;图2–3;§4.1、4.3、4.4;表2–4。阅读问题:退化与真实细节如何区分?

[edsr] Enhanced Deep Residual Networks for Single Image Super-Resolution

Lim, Bee; Son, Sanghyun; Kim, Heewon; Nah, Seungjun; Lee, Kyoung Mu · CVPR Workshops 2017

首次公开:2017/07/10;版本:1707.02921

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L10, L11

R11 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

[esrgan] ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks

Wang, Xintao; Yu, Ke; Wu, Shixiang; Gu, Jinjin; Liu, Yihao; Dong, Chao; Loy, Chen Change; Qiao, Yu; Tang, Xiaoou · ECCV Workshops 2018

首次公开:2018/09/01;版本:1809.00219

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L10, L11

R11 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

[swinir] SwinIR: Image Restoration Using Swin Transformer

Liang, Jingyun; Cao, Jiezhang; Sun, Guolei; Zhang, Kai; Van Gool, Luc; Timofte, Radu · ICCV Workshops 2021

首次公开:2021/08/23;版本:2108.10257

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L10, L11

R11 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

[realesrgan] Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data

Wang, Xintao; Xie, Liangbin; Dong, Chao; Shan, Ying · ICCV Workshops 2021

首次公开:2021/07/22;版本:2107.10833v2

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L09, L10, L11

R11 · 近年代表:§3.1–3.4;图2、4、6;§4.1–4.4;图7–11。阅读问题:退化与真实细节如何区分?

[sr3] Image Super-Resolution via Iterative Refinement

Saharia, Chitwan; Ho, Jonathan; Chan, William; Salimans, Tim; Fleet, David J.; Norouzi, Mohammad · IEEE TPAMI;以原站版本为准

首次公开:2021/04/15;版本:2104.07636

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L10, L11

R11 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

[m03_gestalt] Text Gestalt: Stroke-Aware Scene Text Image Super-Resolution

Jingye Chen; Haiyang Yu; Jianqi Ma; Bin Li; Xiangyang Xue · arXiv 预印本 2021

首次公开:2021;版本:2112.08171v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

Methodology 图2–3;Experiments 笔画监督与错误引导。已访问原始资料;不作跨论文性能排名。

先修:L09, L10, L11

R11 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:退化与真实细节如何区分?

M03 · 组会专题:Methodology 图2–3;Experiments 笔画监督与错误引导。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[inverse_review] Deep Learning Techniques for Inverse Problems in Imaging

Ongie, Gregory; Jalal, Ajil; Metzler, Christopher A.; Baraniuk, Richard G.; Dimakis, Alexandros G.; Willett, Rebecca · IEEE JSAC 2020

首次公开:2020/05/12;版本:2005.06001

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L09, L11, L13

R12 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:退化与真实细节如何区分?

R22 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:传感器测量中缺少了什么信息?

R24 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:传感器测量中缺少了什么信息?

[zero_dce] Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement

Guo, Chunle; Li, Chongyi; Guo, Jichang; Loy, Chen Change; Hou, Junhui; Kwong, Sam; Cong, Runmin · CVPR 2020

首次公开:2020/01/19;版本:2001.06826v2

论文/原始资料 · 代码入口 · 核验 2026-09-23

已打开作者仓库或作者项目页,核对论文标题与实现入口

先修:L03, L09, L11, L13

R12 · 经典:§3.1–3.3;式1–8;§4.1–4.2;图2、4–5;表1–3;§5。阅读问题:退化与真实细节如何区分?

R22 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:传感器测量中缺少了什么信息?

[diff_survey] Diffusion Models: A Comprehensive Survey of Methods and Applications

Yang, Ling; Zhang, Zhilong; Song, Yang; Hong, Shenda; Xu, Runsheng; Zhao, Yue; Zhang, Wentao; Cui, Bin; Yang, Ming-Hsuan · ACM Computing Surveys;以原站版本为准

首次公开:2022/09/02;版本:2209.00796

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L10, L11, L13, L14, L29

R13 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:分布建模如何影响生成与可控性?

R14 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:分布建模如何影响生成与可控性?

R15 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:分布建模如何影响生成与可控性?

[vae] Auto-Encoding Variational Bayes

Kingma, Diederik P; Welling, Max · ICLR 2014

首次公开:2013/12/20;版本:1312.6114

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L10, L13, L14

R13 · 经典:§2–3、§5;式1、3及图2。阅读问题:分布建模如何影响生成与可控性?

M03 · 组会专题:具体阅读定位及核验边界见专题正文。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[vqvae] Neural Discrete Representation Learning

Oord, Aaron van den; Vinyals, Oriol; Kavukcuoglu, Koray · NeurIPS 2017

首次公开:2017/11/02;版本:1711.00937

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L10, L13, L14

R13 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

M03 · 组会专题:具体阅读定位及核验边界见专题正文。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[stylegan2] Analyzing and Improving the Image Quality of StyleGAN

Karras, Tero; Laine, Samuli; Aittala, Miika; Hellsten, Janne; Lehtinen, Jaakko; Aila, Timo · CVPR 2020

首次公开:2019/12/03;版本:1912.04958

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L10, L13, L14

R13 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

[ldm] High-Resolution Image Synthesis with Latent Diffusion Models

Rombach, Robin; Blattmann, Andreas; Lorenz, Dominik; Esser, Patrick; Ommer, Björn · CVPR 2022

首次公开:2021/12/20;版本:2112.10752

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L09, L10, L11, L13, L14, L15, L29

R13 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

R14 · 经典:§3–4;自动编码器与条件潜空间扩散图。阅读问题:分布建模如何影响生成与可控性?

R15 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

R28 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

[dit] Scalable Diffusion Models with Transformers

Peebles, William; Xie, Saining · ICCV 2023

首次公开:2022/12/19;版本:2212.09748

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L09, L10, L11, L13, L14, L15

R13 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

R14 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

R28 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

[ddpm] Denoising Diffusion Probabilistic Models

Ho, Jonathan; Jain, Ajay; Abbeel, Pieter · NeurIPS 2020

首次公开:2020/06/19;版本:2006.11239

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L11, L13

R14 · 经典:§2–4;算法1–2、式5、11、14。阅读问题:分布建模如何影响生成与可控性?

M03 · 组会专题:具体阅读定位及核验边界见专题正文。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[ddim] Denoising Diffusion Implicit Models

Song, Jiaming; Meng, Chenlin; Ermon, Stefano · ICLR 2021

首次公开:2020/10/06;版本:2010.02502

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L11, L13

R14 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

[score_sde] Score-Based Generative Modeling through Stochastic Differential Equations

Song, Yang; Sohl-Dickstein, Jascha; Kingma, Diederik P.; Kumar, Abhishek; Ermon, Stefano; Poole, Ben · ICLR 2021

首次公开:2020/11/26;版本:2011.13456

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L11, L13

R14 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

[instructpix] InstructPix2Pix: Learning to Follow Image Editing Instructions

Brooks, Tim; Holynski, Aleksander; Efros, Alexei A. · CVPR 2023

首次公开:2022/11/17;版本:2211.09800

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L11, L13, L29

R15 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

[controlnet] Adding Conditional Control to Text-to-Image Diffusion Models

Zhang, Lvmin; Rao, Anyi; Agrawala, Maneesh · ICCV 2023

首次公开:2023/02/10;版本:2302.05543

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L11, L13, L29

R15 · 经典:§3–4;图2–3、式2。阅读问题:分布建模如何影响生成与可控性?

[svd] Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets

Blattmann, Andreas; Dockhorn, Tim; Kulal, Sumith; Mendelevitch, Daniel; Kilian, Maciej; Lorenz, Dominik; Levi, Yam; English, Zion; Voleti, Vikram; Letts, Adam; Jampani, Varun; Rombach, Robin · arXiv 2023 预印本

首次公开:2023/11/25;版本:2311.15127

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L11, L13, L29

R15 · 近年代表:方法和实验;时间层与视频采样图。阅读问题:分布建模如何影响生成与可控性?

[m03_phyedit] PhyEdit: Towards Real-World Object Manipulation via Physically-Grounded Image Editing

Ruihang Xu; Dewei Zhou; Xiaolong Shen; Fan Ma; Yi Yang · arXiv 预印本 2026

首次公开:2026;版本:2604.07230v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

v1 图2、§3.2、§4;3D预览与深度监督。已访问原始资料;不作跨论文性能排名。

先修:L11, L13, L29

R15 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:分布建模如何影响生成与可控性?

M03 · 组会专题:v1 图2、§3.2、§4;3D预览与深度监督。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[mvsnet] MVSNet: Depth Inference for Unstructured Multi-view Stereo

Yao, Yao; Luo, Zixin; Li, Shiwei; Fang, Tian; Quan, Long · ECCV 2018

首次公开:2018/04/07;版本:1804.02505

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L09

R16 · 经典:§3.2–3.4;代价体与深度回归图。阅读问题:观测几何如何约束场景表示?

[monodepth2] Digging Into Self-Supervised Monocular Depth Estimation

Godard, Clément; Mac Aodha, Oisin; Firman, Michael; Brostow, Gabriel · ICCV 2019

首次公开:2018/06/04;版本:1806.01260

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L09

R16 · 经典:方法、自动遮挡与最小重投影,实验表。阅读问题:观测几何如何约束场景表示?

[orbslam] ORB-SLAM: a Versatile and Accurate Monocular SLAM System

Mur-Artal, Raul; Montiel, J. M. M.; Tardos, Juan D. · IEEE TRO 2015

首次公开:2015/02/03;版本:1502.00956

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L09, L18, L33

R16 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:观测几何如何约束场景表示?

R17 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:观测几何如何约束场景表示?

[depthanything] Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data

Yang, Lihe; Kang, Bingyi; Huang, Zilong; Xu, Xiaogang; Feng, Jiashi; Zhao, Hengshuang · CVPR 2024

首次公开:2024/01/19;版本:2401.10891

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L09, L18, L33

R16 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:观测几何如何约束场景表示?

R17 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:观测几何如何约束场景表示?

[colmap] Structure-from-Motion Revisited

Johannes L. Schönberger, Jan-Michael Frahm · CVPR 2016

首次公开:2016(CVPR论文);版本:CVPR 2016 出版版

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L18, L33

R17 · 经典:增量SfM的图像注册、三角化和束调整;实验。阅读问题:观测几何如何约束场景表示?

[orbslam3] ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM

Campos, Carlos; Elvira, Richard; Rodríguez, Juan J. Gómez; Montiel, José M. M.; Tardós, Juan D. · IEEE TRO 2021

首次公开:2020/07/23;版本:2007.11898

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L18, L33

R17 · 经典:多地图、惯性初始化、回环及实验。阅读问题:观测几何如何约束场景表示?

[mipnerf] Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields

Barron, Jonathan T.; Mildenhall, Ben; Tancik, Matthew; Hedman, Peter; Martin-Brualla, Ricardo; Srinivasan, Pratul P. · ICCV 2021

首次公开:2021/03/24;版本:2103.13415

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L09, L29

R18 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:观测几何如何约束场景表示?

[instantngp] Instant Neural Graphics Primitives with a Multiresolution Hash Encoding

Müller, Thomas; Evans, Alex; Schied, Christoph; Keller, Alexander · ACM TOG / SIGGRAPH 2022

首次公开:2022/01/16;版本:2201.05989

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L09, L14, L20, L29, L34

R18 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:观测几何如何约束场景表示?

R27 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[gs] 3D Gaussian Splatting for Real-Time Radiance Field Rendering

Kerbl, Bernhard; Kopanas, Georgios; Leimkühler, Thomas; Drettakis, George · ACM TOG / SIGGRAPH 2023

首次公开:2023/08/08;版本:2308.04079

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L09, L13, L14, L20, L29, L34

R18 · 近年代表:§4–7;高斯投影、密度控制和渲染图。阅读问题:观测几何如何约束场景表示?

R20 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:空间表示与任务交互有什么关系?

R27 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[four_d_gs] 4D Gaussian Splatting for Real-Time Dynamic Scene Rendering

Wu, Guanjun; Yi, Taoran; Fang, Jiemin; Xie, Lingxi; Zhang, Xiaopeng; Wei, Wei; Liu, Wenyu; Tian, Qi; Wang, Xinggang · CVPR 2024

首次公开:2023/10/12;版本:2310.08528

论文/原始资料 · 代码入口 · 核验 2026-09-25

作者项目仓库和论文题目一致。

先修:L03, L09, L13, L29

R18 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:观测几何如何约束场景表示?

R20 · 近年代表:形变场、时空平面与§5消融表4。阅读问题:空间表示与任务交互有什么关系?

[point_survey] Deep Learning for 3D Point Clouds: A Survey

Guo, Yulan; Wang, Hanyun; Hu, Qingyong; Liu, Hao; Liu, Li; Bennamoun, Mohammed · IEEE TPAMI 2021

首次公开:2019/12/27;版本:1912.12033

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L29

R19 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:空间表示与任务交互有什么关系?

[pointnet] PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

Qi, Charles R.; Su, Hao; Mo, Kaichun; Guibas, Leonidas J. · CVPR 2017

首次公开:2016/12/02;版本:1612.00593

论文/原始资料 · 代码入口 · 核验 2026-09-25

作者仓库 README 明示训练与评价代码,原始实现为 TensorFlow。

先修:L02, L07, L14, L20, L29, L34

R19 · 经典:对称池化、变换网络与分类/分割实验;图2、5。阅读问题:空间表示与任务交互有什么关系?

R27 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[pointnet2] PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space

Qi, Charles R.; Yi, Li; Su, Hao; Guibas, Leonidas J. · NeurIPS 2017

首次公开:2017/06/07;版本:1706.02413

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L29

R19 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:空间表示与任务交互有什么关系?

[pointtransformer] Point Transformer

Zhao, Hengshuang; Jiang, Li; Jia, Jiaya; Torr, Philip; Koltun, Vladlen · ICCV 2021

首次公开:2020/12/16;版本:2012.09164

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

可见 PyTorch 第三方实现标为 unofficial;未将其列作官方代码。

先修:L02, L07, L29

R19 · 经典:相对位置、向量注意力与点云实验。阅读问题:空间表示与任务交互有什么关系?

[octattention] OctAttention: Octree-Based Large-Scale Contexts Model for Point Cloud Compression

Fu, Chunyang; Li, Ge; Song, Rui; Gao, Wei; Liu, Shan · AAAI 2022

首次公开:2022/02/12;版本:2202.06028

论文/原始资料 · 代码入口 · 核验 2026-09-25

AAAI 论文页面直接给出作者代码,仓库区分物体与 LiDAR 分支。

先修:L02, L07, L14, L20, L29, L34

R19 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:空间表示与任务交互有什么关系?

R27 · 经典:Methodology;图2–3、式1–3、表1–4。阅读问题:概率模型收益如何变成实际码流?

[dynamic_survey] Advances in Radiance Field for Dynamic Scene: From Neural Field to Gaussian Field

Fan, Jinlong; Zeng, Xuepu; Zhang, Jing; Gong, Mingming; Yang, Yuxiang; Tao, Dacheng · arXiv 综述

首次公开:2025/05/15;版本:2505.10049

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L13, L29

R20 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:空间表示与任务交互有什么关系?

[dreamfusion] DreamFusion: Text-to-3D using 2D Diffusion

Poole, Ben; Jain, Ajay; Barron, Jonathan T.; Mildenhall, Ben · ICLR 2023

首次公开:2022/09/29;版本:2209.14988

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L13, L29

R20 · 经典:SDS梯度、NeRF表示与多视角结果。阅读问题:空间表示与任务交互有什么关系?

[zero123] Zero-1-to-3: Zero-shot One Image to 3D Object

Liu, Ruoshi; Wu, Rundi; Van Hoorick, Basile; Tokmakov, Pavel; Zakharov, Sergey; Vondrick, Carl · ICCV 2023

首次公开:2023/03/20;版本:2303.11328

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L13, L29

R20 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:空间表示与任务交互有什么关系?

[vla_survey] A Survey on Vision-Language-Action Models for Embodied AI

Ma, Yueen; Song, Zixing; Zhuang, Yuzheng; Hao, Jianye; King, Irwin · arXiv 综述;期刊版本见原站

首次公开:2024/05/23;版本:2405.14093

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L18, L29

R21 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:空间表示与任务交互有什么关系?

[habitat] Habitat: A Platform for Embodied AI Research

Savva, Manolis; Kadian, Abhishek; Maksymets, Oleksandr; Zhao, Yili; Wijmans, Erik; Jain, Bhavana; Straub, Julian; Liu, Jia; Koltun, Vladlen; Malik, Jitendra; Parikh, Devi; Batra, Dhruv · ICCV 2019

首次公开:2019/04/02;版本:1904.01201

论文/原始资料 · 代码入口 · 核验 2026-09-25

官方组织任务实现仓库;当前仓库版本未必等于原论文代码环境。

先修:L05, L18, L29

R21 · 经典:§3–5;图1–3、表2及SPL定义。阅读问题:空间表示与任务交互有什么关系?

[rt1] RT-1: Robotics Transformer for Real-World Control at Scale

Brohan, Anthony; Brown, Noah; Carbajal, Justice; Chebotar, Yevgen; Dabis, Joseph; Finn, Chelsea; Gopalakrishnan, Keerthana; Hausman, Karol; Herzog, Alex; Hsu, Jasmine; Ibarz, Julian; Ichter, Brian; Irpan, Alex; Jackson, Tomas; Jesmonth, Sally; Joshi, Nikhil J; Julian, Ryan; Kalashnikov, Dmitry; Kuang, Yuheng; Leal, Isabel; Lee, Kuang-Huei; Levine, Sergey; Lu, Yao; Malla, Utsav; Manjunath, Deeksha; Mordatch, Igor; Nachum, Ofir; Parada, Carolina; Peralta, Jodilyn; Perez, Emily; Pertsch, Karl; Quiambao, Jornell; Rao, Kanishka; Ryoo, Michael; Salazar, Grecia; Sanketi, Pannag; Sayed, Kevin; Singh, Jaspiar; Sontakke, Sumedh; Stone, Austin; Tan, Clayton; Tran, Huong; Vanhoucke, Vincent; Vega, Steve; Vuong, Quan; Xia, Fei; Xiao, Ted; Xu, Peng; Xu, Sichun; Yu, Tianhe; Zitkovich, Brianna · RSS 2023

首次公开:2022/12/13;版本:2212.06817

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L18, L29

R21 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:空间表示与任务交互有什么关系?

[rt2] RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control

Brohan, Anthony; Brown, Noah; Carbajal, Justice; Chebotar, Yevgen; Chen, Xi; Choromanski, Krzysztof; Ding, Tianli; Driess, Danny; Dubey, Avinava; Finn, Chelsea; Florence, Pete; Fu, Chuyuan; Arenas, Montse Gonzalez; Gopalakrishnan, Keerthana; Han, Kehang; Hausman, Karol; Herzog, Alexander; Hsu, Jasmine; Ichter, Brian; Irpan, Alex; Joshi, Nikhil; Julian, Ryan; Kalashnikov, Dmitry; Kuang, Yuheng; Leal, Isabel; Lee, Lisa; Lee, Tsang-Wei Edward; Levine, Sergey; Lu, Yao; Michalewski, Henryk; Mordatch, Igor; Pertsch, Karl; Rao, Kanishka; Reymann, Krista; Ryoo, Michael; Salazar, Grecia; Sanketi, Pannag; Sermanet, Pierre; Singh, Jaspiar; Singh, Anikait; Soricut, Radu; Tran, Huong; Vanhoucke, Vincent; Vuong, Quan; Wahid, Ayzaan; Welker, Stefan; Wohlhart, Paul; Wu, Jialin; Xia, Fei; Xiao, Ted; Xu, Peng; Xu, Sichun; Yu, Tianhe; Zitkovich, Brianna · CoRL 2023

首次公开:2023/07/28;版本:2307.15818

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L18, L29

R21 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:空间表示与任务交互有什么关系?

[openvla] OpenVLA: An Open-Source Vision-Language-Action Model

Kim, Moo Jin; Pertsch, Karl; Karamcheti, Siddharth; Xiao, Ted; Balakrishna, Ashwin; Nair, Suraj; Rafailov, Rafael; Foster, Ethan; Lam, Grace; Sanketi, Pannag; Vuong, Quan; Kollar, Thomas; Burchfiel, Benjamin; Tedrake, Russ; Sadigh, Dorsa; Levine, Sergey; Liang, Percy; Finn, Chelsea · CoRL 2024

首次公开:2024/06/13;版本:2406.09246

论文/原始资料 · 代码入口 · 核验 2026-09-25

作者项目仓库,含模型与微调入口。

先修:L05, L18, L29

R21 · 近年代表:§3、5、6;图2、5与表1–2。阅读问题:空间表示与任务交互有什么关系?

[m03_pi0] π0: A Vision-Language-Action Flow Model for General Robot Control

Physical Intelligence; Kevin Black et al. · arXiv 预印本 2024

首次公开:2024;版本:2410.24164v1

论文/原始资料 · 代码入口 · 核验 2026-09-25

III–IV、附录 A-B;任务评价。已访问原始资料;不作跨论文性能排名。

先修:L05, L18, L29

R21 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:空间表示与任务交互有什么关系?

M03 · 组会专题:III–IV、附录 A-B;任务评价。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[red] The Little Engine that Could: Regularization by Denoising (RED)

Romano, Yaniv; Elad, Michael; Milanfar, Peyman · SIAM Journal on Imaging Sciences 2017

首次公开:2016/11/09;版本:1611.02862

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L11, L13

R22 · 经典:§3–4、§6;式25、27、28,图2–4。阅读问题:传感器测量中缺少了什么信息?

[dps] Diffusion Posterior Sampling for General Noisy Inverse Problems

Chung, Hyungjin; Kim, Jeongsol; Mccann, Michael T.; Klasky, Marc L.; Ye, Jong Chul · ICLR 2023

首次公开:2022/09/29;版本:2209.14687

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L03, L11, L13

R22 · 近年代表:§3、算法1、图3及附录。阅读问题:传感器测量中缺少了什么信息?

[event_survey] Event-based Vision: A Survey

Gallego, Guillermo; Delbruck, Tobi; Orchard, Garrick; Bartolozzi, Chiara; Taba, Brian; Censi, Andrea; Leutenegger, Stefan; Davison, Andrew; Conradt, Joerg; Daniilidis, Kostas; Scaramuzza, Davide · IEEE TPAMI 2022

首次公开:2019/04/17;版本:1904.08405

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L34

R23 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:传感器测量中缺少了什么信息?

[evtflow] EV-FlowNet: Self-Supervised Optical Flow Estimation for Event-based Cameras

Zhu, Alex Zihao; Yuan, Liangzhe; Chaney, Kenneth; Daniilidis, Kostas · RSS 2018

首次公开:2018/02/19;版本:1802.06898

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L34

R23 · 经典:§III;图3、式3–6及MVSEC实验。阅读问题:传感器测量中缺少了什么信息?

[e2vid] High Speed and High Dynamic Range Video with an Event Camera

Rebecq, Henri; Ranftl, René; Koltun, Vladlen; Scaramuzza, Davide · IEEE TPAMI;以原站版本为准

首次公开:2019/06/15;版本:1906.07165

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L34

R23 · 经典:§3–4;图3–4、式1–2及评估协议。阅读问题:传感器测量中缺少了什么信息?

[eventnerf] EventNeRF: Neural Radiance Fields from a Single Colour Event Camera

Rudnev, Viktor; Elgharib, Mohamed; Theobalt, Christian; Golyanik, Vladislav · CVPR 2023

首次公开:2022/06/23;版本:2206.11896

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L07, L09, L11, L13, L34

R23 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:传感器测量中缺少了什么信息?

R24 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:传感器测量中缺少了什么信息?

[lightfield] Light Field Photography with a Hand-Held Plenoptic Camera

Ren Ng et al. · Stanford Technical Report 2005

首次公开:2005(Stanford Technical Report);版本:Stanford 技术报告版

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L11, L13

R24 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:传感器测量中缺少了什么信息?

[flatcam] FlatCam: Thin, Lensless Cameras using Coded Aperture and Computation

Asif, M. Salman; Ayremlou, Ali; Sankaranarayanan, Aswin; Veeraraghavan, Ashok; Baraniuk, Richard · IEEE TCI 2017;arXiv 2015

首次公开:2015/09/01;版本:1509.00116

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

arXiv HTML v2 正文可读,缓存 PDF 不完整;R24 方法与实验以 HTML 全文核对。

先修:L09, L11, L13

R24 · 经典:arXiv HTML v2 方法、标定与实验。阅读问题:传感器测量中缺少了什么信息?

[nlos] Confocal non-line-of-sight imaging based on the light-cone transform

Matthew O’Toole, David B. Lindell, Gordon Wetzstein · Nature 2018

首次公开:2018(Nature);版本:Nature 2018;本次未取得正文

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

Nature 原文全文访问受限;只核到作者项目页和同作者 SIGGRAPH Talks 两页摘要。R24 明确限制证据范围。

先修:L09, L11, L13

R24 · 经典:作者项目页、同作者SIGGRAPH 2018 Talks两页摘要。阅读问题:传感器测量中缺少了什么信息?

[image_compression_survey] Unveiling the Future of Human and Machine Coding: A Survey of End-to-End Learned Image Compression

Chen-Hsiu Huang; Ja-Ling Wu · Entropy 26(5):357 (2024), doi:10.3390/e26050357

首次公开:2024-04-24(期刊网页);版本:Entropy 26(5):357 出版版

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

PMC 出版全文核对作者、日期、摘要与第 3、4 节。

先修:L09, L13, L14, L15, L25, L26

R25 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:概率模型收益如何变成实际码流?

R28 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:计算、比特与任务质量怎样取舍?

[balle] End-to-end Optimized Image Compression

Ballé, Johannes; Laparra, Valero; Simoncelli, Eero P. · ICLR 2017

首次公开:2016/11/05;版本:1611.01704

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L13, L15, L25, L26

R25 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[hyper] Variational image compression with a scale hyperprior

Ballé, Johannes; Minnen, David; Singh, Saurabh; Hwang, Sung Jin; Johnston, Nick · ICLR 2018

首次公开:2018/02/01;版本:1802.01436

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L13, L15, L20, L23, L25, L26, L34

R25 · 经典:§2–4;图2–4,式7、10、11。阅读问题:概率模型收益如何变成实际码流?

R26 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[minnen] Joint Autoregressive and Hierarchical Priors for Learned Image Compression

Minnen, David; Ballé, Johannes; Toderici, George · NeurIPS 2018

首次公开:2018/09/08;版本:1809.02736

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L13, L15, L25, L26

R25 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[cheng] Learned Image Compression with Discretized Gaussian Mixture Likelihoods and Attention Modules

Cheng, Zhengxue; Sun, Heming; Takeuchi, Masaru; Katto, Jiro · CVPR 2020

首次公开:2020/01/06;版本:2001.01568

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L13, L15, L25, L26

R25 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[elic] ELIC: Efficient Learned Image Compression with Unevenly Grouped Space-Channel Contextual Adaptive Coding

He, Dailan; Yang, Ziming; Peng, Weikun; Ma, Rui; Qin, Hongwei; Wang, Yan · CVPR 2022

首次公开:2022/03/21;版本:2203.10886

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L13, L15, L25, L26

R25 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[hpcm] Learned Image Compression with Hierarchical Progressive Context Modeling

Li, Yuqi; Zhang, Haotian; Li, Li; Liu, Dong · ICCV 2025

首次公开:2025/07/25;版本:2507.19125

论文/原始资料 · 代码入口 · 核验 2026-09-25

ICCV 原论文与作者仓库均给出相同代码链接;仓库新增模型及权重不自动属于原论文配置。

先修:L13, L15, L25, L26

R25 · 近年代表:§3–4;图2–4、表1–3及补充计时。阅读问题:概率模型收益如何变成实际码流?

[compressai] CompressAI documentation and model zoo

InterDigital · 官方文档

首次公开:滚动更新文档,无法指定单一首发日期;版本:访问日文档;运行环境的包版本另见课程验证记录

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L13, L15, L25, L26

R25 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[video_compression_survey] Emerging Advances in Learned Video Compression: Models, Systems and Beyond

Jia, Chuanmin; Ye, Feng; Ma, Siwei; Gao, Wen; Sun, Huifang; Chiariglione, Leonardo · arXiv 综述

首次公开:2025/04/30;版本:2504.21445

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L20, L23, L34

R26 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:概率模型收益如何变成实际码流?

[dvc] DVC: An End-to-end Deep Video Compression Framework

Lu, Guo; Ouyang, Wanli; Xu, Dong; Zhang, Xiaoyun; Cai, Chunlei; Gao, Zhiyong · CVPR 2019

首次公开:2018/11/30;版本:1812.00101

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L20, L23, L34

R26 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:概率模型收益如何变成实际码流?

[dcvc] Deep Contextual Video Compression

Li, Jiahao; Li, Bin; Lu, Yan · NeurIPS 2021

首次公开:2021/09/30;版本:2109.15047

论文/原始资料 · 代码入口 · 核验 2026-09-25

Microsoft 官方仓库含 DCVC 系列;运行应固定分支与检查点。

先修:L20, L23, L34

R26 · 经典:§3;图2、式1–3及实验。阅读问题:概率模型收益如何变成实际码流?

[dcvcrt] Towards Practical Real-Time Neural Video Compression

Jia, Zhaoyang; Li, Bin; Li, Jiahao; Xie, Wenxuan; Qi, Linfeng; Li, Houqiang; Lu, Yan · CVPR 2025

首次公开:2025/02/28;版本:2502.20762

论文/原始资料 · 代码入口 · 核验 2026-09-25

CVPR 2025 论文正文明确提供 microsoft/DCVC 代码入口。

先修:L20, L23, L31, L32, L33, L34

R26 · 近年代表:§3–4;图3–5、表1及实验。阅读问题:概率模型收益如何变成实际码流?

R30 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

[pc_compression_survey] Point Cloud Compression and Objective Quality Assessment: A Survey

Xu, Yiling; Zhang, Yujie; Xia, Shuting; Yang, Kaifa; Huang, He; Shan, Ziyu; Huang, Wenjie; Yang, Qi; Yang, Le · arXiv 综述

首次公开:2025/06/28;版本:2506.22902

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L14, L20, L34

R27 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:概率模型收益如何变成实际码流?

[hac] HAC: Hash-grid Assisted Context for 3D Gaussian Splatting Compression

Chen, Yihang; Wu, Qianyi; Lin, Weiyao; Harandi, Mehrtash; Cai, Jianfei · ECCV 2024

首次公开:2024/03/21;版本:2403.14530

论文/原始资料 · 代码入口 · 核验 2026-09-25

ECCV 作者仓库标明官方 PyTorch 实现。

先修:L14, L20, L34

R27 · 近年代表:§3;图2–3、§4表1、图4与6。阅读问题:概率模型收益如何变成实际码流?

[perception] The Perception-Distortion Tradeoff

Blau, Yochai; Michaeli, Tomer · CVPR 2018

首次公开:2017/11/16;版本:1711.06077

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L14, L15

R28 · 经典:率失真感知权衡定理及生成例子。阅读问题:计算、比特与任务质量怎样取舍?

[hific] High-Fidelity Generative Image Compression

Mentzer, Fabian; Toderici, George; Tschannen, Michael; Agustsson, Eirikur · NeurIPS 2020

首次公开:2020/06/17;版本:2006.09965

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L09, L14, L15

R28 · 经典:方法网络图、判别损失与率失真实验。阅读问题:计算、比特与任务质量怎样取舍?

[split_survey] Split Computing and Early Exiting for Deep Learning Applications: Survey and Research Challenges

Matsubara, Yoshitomo; Levorato, Marco; Restuccia, Francesco · arXiv 综述;题名以抓取元数据为准

首次公开:2021/03/08;版本:2103.04505

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L14, L15, L18

R29 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:计算、比特与任务质量怎样取舍?

[vib] Deep Variational Information Bottleneck

Alemi, Alexander A.; Fischer, Ian; Dillon, Joshua V.; Murphy, Kevin · ICLR 2017

首次公开:2016/12/01;版本:1612.00410

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L14, L15, L18

R29 · 经典:理论推导、§4.1、图1–2、表1。阅读问题:计算、比特与任务质量怎样取舍?

[vcm] Video Coding for Machines: A Paradigm of Collaborative Compression and Intelligent Analytics

Duan, Ling-Yu; Liu, Jiaying; Yang, Wenhan; Huang, Tiejun; Gao, Wen · IEEE TIP 2020

首次公开:2020/01/10;版本:2001.03569

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L14, L15, L18

R29 · 经典:§IV、VI–VII;图1–8、表I–IV。阅读问题:计算、比特与任务质量怎样取舍?

[siglip] Sigmoid Loss for Language Image Pre-Training

Zhai, Xiaohua; Mustafa, Basil; Kolesnikov, Alexander; Beyer, Lucas · ICCV 2023

首次公开:2023/03/27;版本:2303.15343

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L14, L15, L18, L29

R29 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

R31 · 近年代表:§3.2;算法1;图1、2、3、6;§4.2–4.6。阅读问题:语言在什么阶段影响视觉表示?

[m03_remora] ReMoRa: Multimodal Large Language Model based on Refined Motion Representation for Long-Video Understanding

Daichi Yashima; Shuhei Kurita; Yusuke Oda; Komei Sugiura · arXiv 预印本 2026

首次公开:2026;版本:2602.16412v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

§3–5;运动表示、方法与基准。已访问原始资料;不作跨论文性能排名。

先修:L14, L15, L18

R29 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

M03 · 组会专题:§3–5;运动表示、方法与基准。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[quant_survey] A Survey of Quantization Methods for Efficient Neural Network Inference

Gholami, Amir; Kim, Sehoon; Dong, Zhen; Yao, Zhewei; Mahoney, Michael W.; Keutzer, Kurt · 综述;2021 arXiv 版本

首次公开:2021/03/25;版本:2103.13630

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L31, L32, L33

R30 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:计算、比特与任务质量怎样取舍?

[integer] Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

Jacob, Benoit; Kligys, Skirmantas; Chen, Bo; Zhu, Menglong; Tang, Matthew; Howard, Andrew; Adam, Hartwig; Kalenichenko, Dmitry · CVPR 2018

首次公开:2017/12/15;版本:1712.05877

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

arXiv 缓存 PDF 第 1–8 页,图 1.1、§2–4 与移动设备图表核对。

先修:L31, L32, L33

R30 · 经典:§2–4;图1.1、图4.1–4.2、表4.4。阅读问题:计算、比特与任务质量怎样取舍?

[mobilenet] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

Howard, Andrew G.; Zhu, Menglong; Chen, Bo; Kalenichenko, Dmitry; Wang, Weijun; Weyand, Tobias; Andreetto, Marco; Adam, Hartwig · arXiv 2017 预印本

首次公开:2017/04/17;版本:1704.04861

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L31, L32, L33

R30 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

[mobilenet2] MobileNetV2: Inverted Residuals and Linear Bottlenecks

Sandler, Mark; Howard, Andrew; Zhu, Menglong; Zhmoginov, Andrey; Chen, Liang-Chieh · CVPR 2018

首次公开:2018/01/13;版本:1801.04381

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L31, L32, L33

R30 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

[adaround] Up or Down? Adaptive Rounding for Post-Training Quantization

Nagel, Markus; Amjad, Rana Ali; van Baalen, Mart; Louizos, Christos; Blankevoort, Tijmen · ICML 2020

首次公开:2020/04/22;版本:2004.10568

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

ICML/PMLR 缓存论文 PDF 第 1–9 页,§2–5 和表 2、3、7 核对。

先修:L31, L32, L33

R30 · 经典:§2–3、§5;图1–2,表2、3、7。阅读问题:计算、比特与任务质量怎样取舍?

[smoothquant] SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models

Xiao, Guangxuan; Lin, Ji; Seznec, Mickael; Wu, Hao; Demouth, Julien; Han, Song · ICML 2023

首次公开:2022/11/18;版本:2211.10438

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L31, L32, L33

R30 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:计算、比特与任务质量怎样取舍?

[vlm_intro] An Introduction to Vision-Language Modeling

Bordes, Florian; Pang, Richard Yuanzhe; Ajay, Anurag; Li, Alexander C.; Bardes, Adrien; Petryk, Suzanne; Mañas, Oscar; Lin, Zhiqiu; Mahmoud, Anas; Jayaraman, Bargav; Ibrahim, Mark; Hall, Melissa; Xiong, Yunyang; Lebensold, Jonathan; Ross, Candace; Jayakumar, Srihari; Guo, Chuan; Bouchacourt, Diane; Al-Tahan, Haider; Padthe, Karthik; Sharma, Vasu; Xu, Hu; Tan, Xiaoqing Ellen; Richards, Megan; Lavoie, Samuel; Astolfi, Pietro; Hemmat, Reyhane Askari; Chen, Jun; Tirumala, Kushal; Assouel, Rim; Moayeri, Mazda; Talattof, Arjang; Chaudhuri, Kamalika; Liu, Zechun; Chen, Xilun; Garrido, Quentin; Ullrich, Karen; Agrawal, Aishwarya; Saenko, Kate; Celikyilmaz, Asli; Chandra, Vikas · arXiv 2024 教程

首次公开:2024/05/27;版本:2405.17247

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L07, L14, L18, L29

R31 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:语言在什么阶段影响视觉表示?

R32 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:语言在什么阶段影响视觉表示?

R33 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:语言在什么阶段影响视觉表示?

[align] Scaling Up Visual and Vision-Language Representation Learning With Noisy Text Supervision

Jia, Chao; Yang, Yinfei; Xia, Ye; Chen, Yi-Ting; Parekh, Zarana; Pham, Hieu; Le, Quoc V.; Sung, Yunhsuan; Li, Zhen; Duerig, Tom · ICML 2021

首次公开:2021/02/11;版本:2102.05918

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L14, L29

R31 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:语言在什么阶段影响视觉表示?

[flamingo] Flamingo: a Visual Language Model for Few-Shot Learning

Alayrac, Jean-Baptiste; Donahue, Jeff; Luc, Pauline; Miech, Antoine; Barr, Iain; Hasson, Yana; Lenc, Karel; Mensch, Arthur; Millican, Katie; Reynolds, Malcolm; Ring, Roman; Rutherford, Eliza; Cabi, Serkan; Han, Tengda; Gong, Zhitao; Samangooei, Sina; Monteiro, Marianne; Menick, Jacob; Borgeaud, Sebastian; Brock, Andrew; Nematzadeh, Aida; Sharifzadeh, Sahand; Binkowski, Mikolaj; Barreira, Ricardo; Vinyals, Oriol; Zisserman, Andrew; Simonyan, Karen · NeurIPS 2022

首次公开:2022/04/29;版本:2204.14198

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L14, L18, L29

R31 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:语言在什么阶段影响视觉表示?

R32 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:语言在什么阶段影响视觉表示?

[blip2] BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models

Li, Junnan; Li, Dongxu; Savarese, Silvio; Hoi, Steven · ICML 2023

首次公开:2023/01/30;版本:2301.12597v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L18, L29

R32 · 经典:§3;图2、3;§4.1;§5。阅读问题:语言在什么阶段影响视觉表示?

[llava] Visual Instruction Tuning

Liu, Haotian; Li, Chunyuan; Wu, Qingyang; Lee, Yong Jae · NeurIPS 2023

首次公开:2023/04/17;版本:2304.08485v2

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L05, L18, L29

R32 · 近年代表:§3;表1;§4;表2;实验及失败案例。阅读问题:语言在什么阶段影响视觉表示?

[m03_flexmem] Scaling the Long Video Understanding of Multimodal Large Language Models via Visual Memory Mechanism

Tao Chen; Kun Zhang; Qiong Wu; Xiao Chen; Chao Chang; Xiaoshuai Sun; Yiyi Zhou; Rongrong Ji · arXiv 预印本 2026

首次公开:2026;版本:2603.29252v1

论文/原始资料 · 代码入口 · 核验 2026-09-25

§3.2–3.3、§4;记忆写入读取和流式协议。已访问原始资料;不作跨论文性能排名。

先修:L05, L18, L29

R32 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:语言在什么阶段影响视觉表示?

M03 · 组会专题:§3.2–3.3、§4;记忆写入读取和流式协议。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[owlvit] Simple Open-Vocabulary Object Detection with Vision Transformers

Minderer, Matthias; Gritsenko, Alexey; Stone, Austin; Neumann, Maxim; Weissenborn, Dirk; Dosovitskiy, Alexey; Mahendran, Aravindh; Arnab, Anurag; Dehghani, Mostafa; Shen, Zhuoran; Wang, Xiao; Zhai, Xiaohua; Kipf, Thomas; Houlsby, Neil · ECCV 2022

首次公开:2022/05/12;版本:2205.06230

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L18, L29

R33 · 经典:图1;§3.1–3.2;§4.1及评价。阅读问题:语言在什么阶段影响视觉表示?

[groundingdino] Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection

Liu, Shilong; Zeng, Zhaoyang; Ren, Tianhe; Li, Feng; Zhang, Hao; Yang, Jie; Jiang, Qing; Li, Chunyuan; Yang, Jianwei; Su, Hang; Zhu, Jun; Zhang, Lei · ECCV 2024

首次公开:2023/03/09;版本:2303.05499v5

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L07, L18, L29

R33 · 近年代表:§3;图3、4;LVIS表3;Limitations。阅读问题:语言在什么阶段影响视觉表示?

[med_survey] A Survey on Deep Learning in Medical Image Analysis

Litjens, Geert; Kooi, Thijs; Bejnordi, Babak Ehteshami; Setio, Arnaud Arindra Adiyoso; Ciompi, Francesco; Ghafoorian, Mohsen; van der Laak, Jeroen A. W. M.; van Ginneken, Bram; Sánchez, Clara I. · Medical Image Analysis 2017

首次公开:2017/02/19;版本:1702.05747

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L09, L18

R34 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:领域采集和划分怎样影响结论?

[nnunet] nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation

Isensee, Fabian; Petersen, Jens; Klein, Andre; Zimmerer, David; Jaeger, Paul F.; Kohl, Simon; Wasserthal, Jakob; Koehler, Gregor; Norajitra, Tobias; Wirkert, Sebastian; Maier-Hein, Klaus H. · arXiv 初稿 2018;成熟框架发表于 Nature Methods 2021

首次公开:2018/09/27;版本:1809.10486

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L09, L18

R34 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:领域采集和划分怎样影响结论?

[medsam] Segment Anything in Medical Images

Ma, Jun; He, Yuting; Li, Feifei; Han, Lin; You, Chenyu; Wang, Bo · Nature Communications 2024

首次公开:2023/04/24;版本:2304.12306v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L09, L18

R34 · 近年代表:Results;Discussion;Methods/Training protocol。阅读问题:领域采集和划分怎样影响结论?

[remote_survey] Deep Learning in Remote Sensing: A Comprehensive Review and List of Resources

Xiao Xiang Zhu et al. · IEEE GRSM 2017

首次公开:2017(IEEE GRSM论文);版本:IEEE GRSM 2017 出版版

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L08, L18

R35 · 综述/教材:目录/引言及与本章主题对应的分类部分;先了解术语,不要求通读。阅读问题:领域采集和划分怎样影响结论?

[seco] Seasonal Contrast: Unsupervised Pre-Training from Uncurated Remote Sensing Data

Mañas, Oscar; Lacoste, Alexandre; Giro-i-Nieto, Xavier; Vazquez, David; Rodriguez, Pau · ICCV 2021

首次公开:2021/03/30;版本:2103.16607v2

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L08, L18

R35 · 经典:§3.1–3.2;图2;表1;图3。阅读问题:领域采集和划分怎样影响结论?

[satmae] SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery

Cong, Yezhen; Khanna, Samar; Meng, Chenlin; Liu, Patrick; Rozi, Erik; He, Yutong; Burke, Marshall; Lobell, David B.; Ermon, Stefano · NeurIPS 2022

首次公开:2022/07/17;版本:2207.08051v3

论文/原始资料 · 代码入口 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L08, L18

R35 · 经典:§4.1–4.2;图2、3;§5.1–5.5;表1。阅读问题:领域采集和划分怎样影响结论?

[rsfoundation_survey] Foundation Models for Remote Sensing and Earth Observation: A Survey

Xiao, Aoran; Xuan, Weihao; Wang, Junjue; Huang, Jiaxing; Tao, Dacheng; Lu, Shijian; Yokoya, Naoto · arXiv 综述

首次公开:2024/10/22;版本:2410.16602

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L02, L08, L18

R35 · 近年代表:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:领域采集和划分怎样影响结论?

[fgsm] Explaining and Harnessing Adversarial Examples

Goodfellow, Ian J.; Shlens, Jonathon; Szegedy, Christian · ICLR 2015

首次公开:2014/12/20;版本:1412.6572

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L08, L18

R36 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:领域采集和划分怎样影响结论?

[ood] A Baseline for Detecting Misclassified and Out-of-Distribution Examples in Neural Networks

Hendrycks, Dan; Gimpel, Kevin · ICLR 2017

首次公开:2016/10/07;版本:1610.02136

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-23

书目页面已核对;全文核查范围见章末

先修:L06, L08, L18

R36 · 经典:摘要与引言:辨认研究问题和入选理由;方法、图表的进一步路线见对应章节。阅读问题:领域采集和划分怎样影响结论?

[m03_pi05] π0.5: a Vision-Language-Action Model with Open-World Generalization

Physical Intelligence et al. · arXiv 预印本 2025

首次公开:2025;版本:2504.16054v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

仅核对书目与摘要,不据此解释完整训练机制。已访问原始资料;不作跨论文性能排名。

先修:

M03 · 组会专题:仅核对书目与摘要,不据此解释完整训练机制。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[m03_pi07] π0.7: a Steerable Generalist Robotic Foundation Model with Emergent Capabilities

Physical Intelligence; Bo Ai et al. · arXiv 预印本 2026

首次公开:2026;版本:2604.15483v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

IV–VI、IX、附录 A-C;多模态条件,不等同于仅增加世界模型。已访问原始资料;不作跨论文性能排名。

先修:

M03 · 组会专题:IV–VI、IX、附录 A-C;多模态条件,不等同于仅增加世界模型。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[m03_wfs] Wavelet-based Frame Selection by Detecting Semantic Boundary for Long Video Understanding

Wang Chen; Yuhui Zeng; Yongdong Luo; Tianyu Xie; Luojun Lin; Jiayi Ji; Yan Zhang; Xiawu Zheng · arXiv 预印本 2026

首次公开:2026;版本:2603.00512v1

论文/原始资料 · 代码入口 · 核验 2026-09-25

Method 与预算实验;官方仓库确认 CVPR 2026。已访问原始资料;不作跨论文性能排名。

先修:

M03 · 组会专题:Method 与预算实验;官方仓库确认 CVPR 2026。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[m03_rlframes] Efficient Frame Selection for Long Video Understanding via Reinforcement Learning

Qin et al.(完整作者表待核验) · CVPR 2026,会议检索记录

首次公开:2026(首次预印本日期待核验);版本:CVPR 2026

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

会议检索可定位;网页403且PDF获取失败。仅保留线索,不以二手解读补造公式或实验。

先修:

M03 · 组会专题:待获取全文后核对方法、奖励与实验。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[m03_msjoe] MSJoE: Jointly Evolving MLLM and Sampler for Efficient Long-Form Video Understanding

Wenhui Tan; Xiaoyi Yu; Jiaze Li; Yijing Chen; Jianzhong Ju; Zhenbo Luo; Ruihua Song; Jian Luan · arXiv 预印本 2026

首次公开:2026;版本:2602.22932v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

框架、Method 与消融;联合训练归因。已访问原始资料;不作跨论文性能排名。

先修:

M03 · 组会专题:框架、Method 与消融;联合训练归因。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[m03_dalle] Zero-Shot Text-to-Image Generation

Aditya Ramesh; Mikhail Pavlov; Gabriel Goh; Scott Gray; Chelsea Voss; Alec Radford; Mark Chen; Ilya Sutskever · arXiv 预印本 2021

首次公开:2021;版本:2102.12092v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

§2与图1作为阅读定位;本轮核对书目摘要,不声称复现实验。已访问原始资料;不作跨论文性能排名。

先修:

M03 · 组会专题:§2与图1作为阅读定位;本轮核对书目摘要,不声称复现实验。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?

[m03_tatsr] Scene Text Image Super-Resolution via Content Perceptual Loss and Criss-Cross Transformer Blocks

Rui Qin; Bin Wang; Yu-Wing Tai · arXiv 预印本 2022

首次公开:2022;版本:2210.06924v1

论文/原始资料 · 未确认官方仓库 · 核验 2026-09-25

PDF §III-B/C、§IV;内容损失与 TextZoom 评价。已访问原始资料;不作跨论文性能排名。

先修:

M03 · 组会专题:PDF §III-B/C、§IV;内容损失与 TextZoom 评价。阅读问题:这个方法作用在输入、表示、训练目标还是评价的哪一处?