3、图像分类基础:图像分类任务定义、常见模型(ResNet、MobileNet、EfficientNet)原理与特点
图像分类是计算机视觉中最基础且应用最广泛的任务之一,其目标是将输入的图像自动判别为预定义类别中的某一类。在V853视觉模型部署的课程中,理解图像分类的基本原理与主流网络结构,是后续进行模型转换、量化以及端侧推理优化的前提。本章将系统梳理图像分类的任务定义、评价指标,并深入剖析ResNet、MobileNet、EfficientNet三类经典模型的原理与特点,为在V853平台上选择合适的端侧模型打下坚实的理论基础。
上图展示了图像分类任务的基本流程与三类主流模型的核心特点。在V853这类算力有限的端侧设备上,模型的选择直接决定了推理速度与精度能否达到业务要求。下面我们将从任务定义出发,逐步深入各模型的原理与适用场景。
3.1 图像分类任务定义与评价指标
核心原理:图像分类(Image Classification)是指给定一张输入图像,模型通过特征提取与逻辑判断,输出该图像属于预定义类别集合中每一类的概率分布。形式化地,假设有C个类别,输入图像x,模型f(x)输出一个C维向量,其中第i维表示x属于第i类的概率。最终预测类别为概率最大的那一类。在深度学习时代,这一过程通常由卷积神经网络(CNN)完成:骨干网络负责提取层次化的视觉特征,全连接层或全局池化层将特征映射为类别得分,Softmax函数将得分转换为概率。
评价指标:在分类任务中,最常用的指标包括Top-1准确率与Top-5准确率。Top-1准确率衡量模型预测概率最高的类别是否与真实标签一致;Top-5准确率则允许模型预测的前5个类别中包含真实标签即视为正确。对于端侧部署,除了准确率外,还需关注模型参数量(Params)、计算量(FLOPs)以及实际推理延迟(Latency)。在V853平台上,NPU算力有限,通常需要权衡精度与速度。
| 指标名称 | 定义 | 端侧部署意义 |
|---|---|---|
| Top-1 Acc | 预测概率最高的类别与真实标签一致的比例 | 反映模型基础判别能力 |
| Top-5 Acc | 预测概率前5的类别中包含真实标签的比例 | 对模糊样本更宽容,常用于大规模分类 |
| Params | 模型权重参数总量(单位:M) | 决定内存占用,影响能否装入V853的SRAM |
| FLOPs | 浮点运算次数(单位:G) | 衡量计算量,与推理延迟正相关 |
| Latency | 单张图像推理耗时(单位:ms) | 直接决定实时性是否满足业务需求 |
3.2 ResNet:残差学习的里程碑
核心原理:ResNet(Residual Network)由何恺明等人于2015年提出,其核心创新在于引入了残差连接(Skip Connection)。在传统深层网络中,随着层数增加,梯度消失/爆炸问题导致训练困难,甚至出现退化现象(训练集准确率下降)。ResNet通过让网络学习残差映射F(x) = H(x) - x,而非直接学习原始映射H(x),使得网络在恒等映射附近更容易优化。残差块结构可表示为:y = F(x, {W_i}) + x,其中F为卷积层序列,x为输入,y为输出。
网络结构特点:ResNet系列常见变体包括ResNet-18、ResNet-34、ResNet-50、ResNet-101等。其中ResNet-18/34使用BasicBlock(两个3x3卷积),ResNet-50及以上使用Bottleneck(1x1 + 3x3 + 1x1卷积),后者通过降维-卷积-升维的方式减少计算量。ResNet-50在ImageNet上Top-1准确率约76%,参数量25.5M,计算量4.1GFLOPs。
在V853上的适用性分析:ResNet-18参数量约11.7M,计算量约1.8GFLOPs,在V853的NPU上经过INT8量化后,推理延迟约30-50ms(取决于NPU频率与内存带宽)。ResNet-50则显得过重,不适合实时场景。若项目对精度要求较高且对延迟不敏感,可考虑ResNet-18;否则建议选择更轻量的网络。
3.3 MobileNet:轻量化网络的代表
核心原理:MobileNet系列专为移动端和嵌入式设备设计,其核心是深度可分离卷积(Depthwise Separable Convolution)。标准卷积的计算量为H×W×C_in×C_out×K×K,而深度可分离卷积将其分解为两个步骤:深度卷积(Depthwise Convolution)对每个输入通道独立进行3x3卷积,计算量为H×W×C_in×K×K;逐点卷积(Pointwise Convolution)使用1x1卷积融合通道信息,计算量为H×W×C_in×C_out。总计算量约为标准卷积的1/C_out + 1/K²,通常可减少8-9倍计算量。
MobileNetV2的改进:MobileNetV2引入了线性瓶颈(Linear Bottleneck)和倒残差结构(Inverted Residual)。与ResNet的沙漏型残差块不同,倒残差先通过1x1卷积升维(扩展因子通常为6),再进行深度卷积,最后用1x1卷积降维,且在降维后不使用ReLU激活(线性激活),以避免低维空间信息丢失。MobileNetV2标准版参数量约3.4M,计算量约0.3GFLOPs,ImageNet Top-1约72%。
超参数调节:MobileNet提供两个超参数:宽度乘数α(控制通道数)和分辨率乘数ρ(控制输入尺寸)。例如MobileNetV2-0.5表示通道数减半,计算量降至约0.075GFLOPs,适合V853这类低算力设备。
3.4 EfficientNet:神经架构搜索的产物
核心原理:EfficientNet由Google团队提出,核心思想是复合缩放(Compound Scaling)。传统方法通常只缩放网络的一个维度(深度、宽度或分辨率),而EfficientNet通过神经架构搜索(NAS)得到基准网络EfficientNet-B0,然后使用复合系数φ统一缩放三个维度:深度d = α^φ,宽度w = β^φ,分辨率r = γ^φ,其中α·β²·γ² ≈ 2,且α、β、γ为常数。这种缩放方式在增加计算量的同时,能更均衡地提升模型容量。
网络结构特点:EfficientNet-B0的骨干网络由多个MBConv模块(类似MobileNetV2的倒残差结构)组成,并引入了SE(Squeeze-and-Excitation)注意力模块,以较小的计算开销提升特征表达能力。B0版本参数量约5.3M,计算量约0.39GFLOPs,ImageNet Top-1约77.1%,精度优于ResNet-50,但参数量和计算量仅为后者的约1/5和1/10。
在V853上的部署考量:EfficientNet-B0的INT8量化后模型大小约2.1MB,推理延迟约25-40ms,精度与速度的平衡优于ResNet-18。但需注意,SE模块中的全局平均池化和全连接操作在NPU上可能无法完全加速,导致实际延迟高于理论值。若V853的NPU工具链对SE支持不友好,可考虑裁剪SE模块或选择EfficientNet-Lite版本(去除了SE的变体)。
| 模型 | 参数量(M) | 计算量(GFLOPs) | ImageNet Top-1 | V853 INT8延迟(ms) | 适用场景 |
|---|---|---|---|---|---|
| ResNet-18 | 11.7 | 1.8 | 69.8% | 30-50 | 精度优先,延迟容忍 |
| ResNet-50 | 25.5 | 4.1 | 76.0% | 80-120 | 不推荐端侧实时 |
| MobileNetV2 | 3.4 | 0.3 | 72.0% | 10-20 | 实时性要求高 |
| MobileNetV2-0.5 | 1.9 | 0.075 | 65.4% | 5-10 | 极低算力场景 |
| EfficientNet-B0 | 5.3 | 0.39 | 77.1% | 25-40 | 精度/速度均衡 |
3.5 模型选型决策流程与常见误区
选型决策流程:在V853平台上选择图像分类模型时,建议遵循以下步骤:
- 明确业务约束:确定目标延迟(如≤30ms)、内存上限(如≤10MB)、精度底线(如Top-1≥90%)。
- 候选模型初筛:根据约束条件,从上述三类模型中选择2-3个候选。例如延迟敏感选MobileNetV2,精度敏感选EfficientNet-B0。
- NPU工具链评估:使用V853的模型转换工具将候选模型转换为NPU可执行的格式,并运行benchmark获取实际延迟与内存占用。
- 量化精度验证:使用验证集评估INT8量化后的精度损失。若损失超过2%,考虑使用量化感知训练(QAT)或选择更大模型。
- 实机测试:在V853开发板上运行完整推理流程,包括图像预处理、NPU推理、后处理,确认端到端延迟满足要求。
- 误区一:认为参数量越小,推理越快。实际上,推理速度还受网络结构(如DW卷积、SE模块)和NPU硬件调度影响。
- 误区二:忽略输入分辨率的影响。将224x224输入改为128x128可减少约3倍计算量,但精度可能下降2-3%。
- 误区三:直接使用FP32模型在NPU上运行。V853的NPU通常只支持INT8/INT16量化,未量化模型无法直接部署。
- 误区四:只关注模型本身的精度,忽略预处理(如归一化、Resize)对推理延迟的影响。在端侧,图像解码与缩放可能比模型推理更耗时。