在大屏或电脑上体验更佳——动画和操作区域更宽敞。
输入

图像分类

图像分类对给定的一张图像裁剪计算固定类别集的分数,再选最大值。本课的真实 SqueezeNet 结果中,完整上下文裁剪的 Samoyed 为 61.6%;同中心缩小后仍第一,为 33.4%;保持大小右移后,chow 以 19.3% 胜出。

裁剪决定模型收到的问题。它只看到方框内的像素,不知道原照片在框外还有什么,也不知道拍摄者想突出哪个对象。

输入约定与分类输出

单标签分类器接收固定尺寸张量,对词表中每类给分。本课 SqueezeNet 有 1,000 个 ImageNet 类别。它不先独立定位“狗”;一张裁剪输入对应一个排名。argmax 选择最大分数,即使前几名很接近也会产生 top-1。预测不会改写真实标签:本照片固定标签为 Samoyed,chow 胜出仍是错误。

原图是 1280×853 的 CC0 萨摩耶照片。裁剪为正方形,边长是源图高度的 cropSize 百分比,竖直中心固定,focusX 控制横向中心,再将越界部分约束回图内。

方形裁剪直接缩放为 224×224 RGB,数值缩到 [0,1],再用 ImageNet 均值 [0.485, 0.456, 0.406] 和标准差 [0.229, 0.224, 0.225] 标准化。SqueezeNet 1.1输出 1,000 个 logit,稳定 softmax 为:

p_i = exp(z_i - max(z)) / Σ_j exp(z_j - max(z))

减最大值防止指数溢出,不改变数学概率。图表固定 0–1 轴,只列前五名,剩余合为“其他 995 个类别”;不把前五名重新归一化,否则会抹去尾部质量并夸大显示值。

所有 25 个允许的裁剪组合已用同一图像、预处理、模型和标签离线计算。浏览器回放导出结果,不在样本之间猜分数。

逐步演示

默认最终裁剪是 { focusX: 60, cropSize: 40 },通过两次单变量变化到达。

  1. 定义任务:一张裁剪生成 1,000 类分数,取最大值,真实标签始终为 Samoyed。
  2. 参考输入 {50,100}:边长 853,源图横向范围 213.5–1066.5,框外像素不进入模型。
  3. 完整上下文结果:Samoyed 61.6%、white wolf 33.9%。前五类合计 98.3%,其余 995 类合计 1.7%。
  4. 只缩小:保持 focusX = 50,把 cropSize 改为 40。边长 0.40 × 853 = 341.2 像素。改变的是裁剪尺寸及随之改变的输入内容和缩放,不是横向移动。
  5. 同中心小裁剪:Samoyed 仍第一,33.4%;white wolf 30.0%,Arctic fox 17.4%。分布改变,赢家未变。
  6. 只移动:保持 cropSize = 40,将 focusX 从 50% 改为 60%。最终边界为 [597.4, 255.9, 938.6, 597.1]。大小、竖直中心、预处理、模型和标签均不变。
  7. 右移结果:chow 19.3%、Great Pyrenees 17.3%、Eskimo dog 16.2%、Samoyed 16.0%、white wolf 13.8%。胜出品种错误,真实类降至第四。
  8. 比较两条箭头:完整裁剪到同中心小裁剪改变置信度,但未改赢家;同大小右移才改变赢家。每步只改一个裁剪参数,才能区分这两项观察。
  9. 限定结论:这个模型回答它实际收到的裁剪,不证明缩小总有害、右移总翻转,或其他模型会产生相同百分比。

画布紫框表示输入,绿标签表示真实类别。结尾三个卡片固定保留输入与结果,箭头分别标示只缩小、只移动。

实验能说明什么

不能说“小裁剪必然答错”:居中的 40% 裁剪只让 Samoyed 从 61.6% 降至 33.4%,仍获胜;随后同样大小右移才使 chow 胜出。实验没有定位具体哪个像素造成翻转,只说明输入几何和整个预处理流程属于被评估系统的一部分。

百分比总和为一也不能证明校准。61.6% 是这个模型对这张裁剪的归一化分数;校准需要在一批数据上检查,预测接近 61.6% 的样本是否约有 61.6% 正确。

实际使用

部署要匹配评估时的缩放、裁剪、颜色通道顺序、数值范围和标准化常量。模型不变,输入流程变化仍会改变问题。

用有代表性的数据评估裁剪策略,检查合理裁剪是否改变赢家、压低真实类排名。需要定位物体就用目标检测;一图允许多个独立标签则用多标签分类。单个 argmax 不承担这两项功能。

边界情况

  • 满高度且靠边:cropSize = 100、focusX = 30% 或 70% 会越界,方框被约束到图像边缘,不补虚构像素。
  • 不改大小:cropSize = 100 的只缩小对照等于参考,讲解说明未改变尺寸。
  • 不改位置:focusX = 50 的最终裁剪等于同中心对照,移动节拍说明中心未变。
  • 真实类不在前五:另列真实类的实际概率和名次,不挤掉前五中的其他类。
  • 其他图像或模型:这些数字只属于一张照片和 2016 年的 SqueezeNet,不是视觉模型通用表现。

常见错误

  • 把预测当真实标签。最大分数可以错。
  • 从 {50,100} 一步跳到 {60,40},混淆尺寸与位置;需加入 {50,40} 对照。
  • 把 cropSize = 40 理解成放大 40%。它表示边长为源高度 40%,输入的源像素更少。
  • 将前五类按自身总和重新归一化,隐去其余 995 类。
  • 期待一个类别输出能定位多个对象或给出多个独立标签。

模型范围

这是输入流程实验,不是视觉基准。用一个紧凑的 2016 分类器、一张照片、竖直中心固定的方形裁剪、25 组预计算结果。没有检测框、多标签输出、校准测量、数据增强、现代模型比较或任意上传图像。