北京大学学报(自然科学版) 第61卷 第5期 2025年9月

Acta Scientiarum Naturalium Universitatis Pekinensis, Vol. 61, No. 5 (Sept. 2025)

doi: 10.13209/j.0479-8023.2025.077

收稿日期: 2024–08–04;

修回日期: 2024–10–21

一种基于双级剪枝和训练后量化的火灾检测轻量化模型设计方法

徐鹏涛1,† 王刚1 张连杰1 王越2 黄华1

1.西安中核核仪器股份有限公司, 西安 710061; 2.北京大学软件与微电子学院, 北京 102600; †通信作者, E-mail: xupengtao@pku.edu.cn

摘要 针对火灾检测领域对高效、轻量级模型的迫切需求, 以 SSD 目标检测算法为基础, 搭建一种火灾检测轻量化模型。为减小模型规模, 提高计算速度以及满足实际场景下的部署要求, 采用剪枝和量化两种方法实现检测模型的轻量化。为实现模型网络在通道级和层级同时进行有效剪裁, 提出一种基于可融合残差卷积块的双级剪枝方法。为了有效地提升该轻量化模型的性能, 引入自适应方法, 实现一种基于自适应离群值去除的训练后量化方法。实验结果表明, 与原始方法相比, 所提剪枝方法和量化方法表现出明显的优势, 可在几乎不影响模型性能的情况下, 显著地减小模型规模, 同时保证火灾检测轻量化模型具有优异的性能。

关键词 火灾检测; SSD 目标检测; 模型轻量化; 剪枝; 量化

随着城市化进程的加速和人口密度的增加, 火灾事故频繁发生, 给人们的生命财产安全带来巨大的威胁。因此, 快速、准确地检测火灾并及时响应, 成为公共安全领域亟待解决的重要问题。近年来, 深度学习技术的快速发展为火灾检测提供了新的思路和方法, 其中基于目标检测算法的火灾检测模型因其高效性和准确性而备受关注。

传统的深度学习模型在火灾检测中面临诸多挑战, 如模型精度差、复杂度高、计算量大、对硬件资源要求高等, 这些问题限制了其在资源受限环境(如嵌入式系统和移动设备等)中的广泛应用。在目标检测模型中, SSD 算法[1]因其检测速度快、精度高等优点, 广泛应用于火灾检测测领域。然而, SSD模型具有较高的计算复杂度和模型规模, 难以满足资源受限环境的需求。模型轻量化方法则可以有效地减少模型的规模, 提升模型在实际应用中的检测速率, 对工程化应用具有重要意义。其中, 剪枝[2–6]和量化[7–11]是两种最具代表性的方法。剪枝方法可以从结构层面有效地减少模型规模, 具有适用性强、裁剪率高的特点; 量化方法可以减少模型参数的表示位数, 适用于各种模型, 且具备可训练后使用的灵活性特点。两种方法均具有灵活高效的特点, 在工程领域广泛使用。

本文以 SSD 目标检测算法为基础, 提出一种基于可融合残差卷积块的双级剪枝方法和基于自适应离群值去除的训练后量化模型设计与实现方案, 在降低模型对硬件资源的需求的同时, 保证模型精度, 实现火灾检测模型的轻量化, 使其在保证性能的情况下大幅度减小模型的规模。

1 研究方法

SSD 算法是深度学习目标检测[12]发展史上具有重大突破意义的方法, 是一种基于回归的单阶段检测方法。SSD 算法结合多尺度特征映射、先验框和 L2Norm(L2Normalization)等方法, 在保证预测效果的基础上, 具有更快的预测速度。近年来, 不断有新的目标检测方法出现, 但 SSD 方法因其性能良好和设计简单, 在工业应用中仍然广泛使用。本文火灾检测模型的搭建以经典的 SSD 算法为基础, 模型框架如图 1 所示。

1.1 基于可融合残差卷积块的双级剪枝方法

剪枝是通过剪裁多余模型参数或网络连接的压缩方法, 剪枝后的模型参数量可大幅度减少。目前大部分的剪枝方法为通道级剪裁[2], 可有效地减少模型参数量, 但无法减少模型层数。在硬件部署时, 层数与推理时间显著正相关, 层数越多代表需要更多的时间。层级剪枝的方法可以很好地解决这个问题, 徐鹏涛等[13]基于可融合残差卷积块的设计, 实现一种有效的层剪枝方法。然而, 层级剪枝缺乏通道级剪枝的灵活性。本文对可融合残差卷积块进行改造, 使其可以同时进行通道级剪枝和层级剪枝(即双级剪枝), 具有比单独通道级和层级剪枝方法更高的压缩率。

1.1.1 可融合残差卷积块

图 2 为本文设计的可以同时支持层级剪枝和通道级剪枝的可融合残差卷积块。其中, mi 为层级重要性因子(表示第 i 层的重要性程度), hij 为通道级重要性因子(表示第 i 层第 j 通道的重要性程度), gi为捷径分支自适应信息控制因子, 三者均为可训练自适应参数。图 2(a)为输入输出特征图通道数和尺寸均相等情况下的一般可融合残差卷积块。在设计可融合残差卷积块时有两种特殊情况, 图 2(b)为在捷径分支增加 1×1 卷积操作, 解决输入输出特征图通道数不一致的问题, 图 2(c)为在捷径分支增加平均池化操作, 解决输入输出特征图尺寸不一致的问题, 两种操作均属线性操作。

为不影响模型推理结果, 可融合残差卷积块需要在模型推理时消失, 即在训练后融合为普通卷积层, 不对推理造成计算负担。设 f(·)为捷径分支上的平均池化或 1×1 卷积操作(在一般可融合残差卷积块上则无任何操作)。图 3 展示具体融合过程。

本文对可融合残差卷积块的融合特性进行数学推导, 来证明其理论可行性。首先, 通道级和层级重要性因子的乘积操作为线性乘法, 模型训练后可以融合在其前面的批归一化层中。然后, 对批归一化层与其前面的离散卷积层也进行线性融合。因此, 在模型训练结束后, 主干分支最终融合为一个卷积层(图 3 中第一步融合)。我们对捷径分支的融合(图 3 中第二步融合)进行推导。完成第一步融合后, 用数学计算式的方式描述可融合残差卷积块:

width=122.25,height=14.95 (1)

其中, XY 对应可融合残差卷积块输入和输出的特征图, *是卷积运算, Wb 是卷积的权重和偏置; width=2.05,height=12.25 表示线性乘法。离散卷积属于线性计算, 因此具有分配律, 从而式(1)可被融合成如下的卷积操作:

width=69.3,height=14.95 (2)

其中, Wfbf 是融合卷积的权重和偏置。无论是无操作、卷积或者平均池化(图 2), 式(1)中的 f(·)都可由一个权重为 Ws 和偏置为 bs 的卷积表示。Wfbf可通过式(3)和(4)计算得到:

width=199.7,height=16.3 (3)

width=187.45,height=16.3 (4)

其中, tu 分别表示输出和输入通道的总数; 上角标 jq 表示第 j 个输出通道和第 q 个输入通道, 比如, width=19,height=16.3表示 Wfj 个输出通道和第 q 个输入通道所对应的卷积核权重值。Ws 可以通过式(5)~(7)求得, 式(5)~(7)分别对应捷径分支上无任何操作、1×1 卷积操作以及平均池化操作的情况。

width=478.2,height=398.7

图1 本文火灾检测模型

Fig. 1 Fire detection model

width=116.15,height=31.25 (5)

width=88.3,height=16.3 (6)

width=122.95,height=45.5 (7)

其中, Padding 表示通过在操作数值四周补 0, 得到一个 v×v 的卷积核; Copy 表示通过复制操作数值, 得到一个 v×v 的卷积核; width=19,height=16.3表示捷径分支上 1×1卷积的权重; v 表示卷积层的卷积核尺寸。width=14.25,height=16.3的计算相对简单, 当捷径分支上进行 1×1 卷积时, width=14.25,height=16.3对应 1×1 卷积的偏置值, 其他两种情况width=14.25,height=16.3均为 0。

由此, 通过数学线性计算, 将可融合残差卷积块结构融合为一个普通卷积层。

1.1.2 基于可融合残差卷积块的剪枝实现

模型训练时, 将网络中普通卷积替换为可融合残差卷积块, 然后根据重要性因子进行层级剪枝和通道级剪枝。双级剪枝的算法流程如下。

1)用本文可融合残差卷积块替换原始网络中所有的 CBA 模块(包含卷积、批归一化及激活层)。

2)通过稀疏化训练[2], 使层级重要性因子和通道级重要性因子趋于零(考虑到层级剪枝可以比通道级剪枝减少更多的推理耗时, 本文设置层级剪枝的稀疏因子数量级为通道级稀疏因子的 10 倍, 即优先稀疏层级重要性因子)。

width=480.9,height=255.4

图2 可融合残差卷积块

Fig. 2 Fusible residual convolutional blocks

width=478.85,height=222.8

图3 可融合残差卷积块融合过程

Fig. 3 Fusion process of fusible residual convolutional blocks

3)训练结束后, 重要性因子数值过低的可视为不重要的通道和层, 将其裁剪掉。

4)将模型中剩余的可融合残差卷积块融合为普通卷积结构, 其中批归一化层已在剪枝过程中被融合, 对减少模型推理时间有正向作用。最终得到剪枝后的模型。

1.2 基于自适应离群值去除的训练后量化

模型的量化采用低位定点数表示浮点参数, 从而减少运算量, 加快模型的推理速度, 通常分为训练中量化和训练后量化。与训练中量化方法相比, 训练后量化方法具有实现快的工程优势, 因此本文基于阿里巴巴 MNN[11]训练后量化方法对模型进行量化压缩。但是, 训练后量化方法会使模型精度下降幅度较大。为了提升训练后量化模型的精度, 本文设计了一种基于自适应离群值去除的训练后量化方法。

一般来说, 训练后量化最关键的步骤是确定缩放因子值。图 4(a)描述八位对称量化的浮点与量化值的对应关系。可以看出, 浮点最大值偏离整体浮点值程度较大, 即量化空白区间过大, 导致量化值可被利用的信息表示能力更加有限, 从而使得模型精度大幅度下降。通常, 定义浮点最大值为离群值, 深度神经网络的鲁棒性使得去掉离群值对原始浮点模型精度的影响微乎其微。图 4(b)显示去掉离群值后浮点与量化值的对应关系。

徐鹏涛等[14]实现了一种基于离群值去除的模型训练后量化预处理方法, 并证明去除离群值之后可以获得精度更高的量化模型。该方法通过设置离群值百分比参数, 对浮点模型的权重值和激活离群值进行去除操作, 提升了量化模型的表示能力。但是, 该方法依据经验设置离群值百分比参数, 且整个模型采用同样的参数, 不具有层级适应性, 因此无法获得最优解。本文提出一种基于自适应离群值去除的训练后量化方法, 可以使模型精度下降幅度更小。

本文提出的自适应方法的基本思路是将量化过程视为一个模型的优化过程, 自适应地选择各层离群值。针对每层网络, 分别设置离群值百分比参数, 并且, 为使参数可以有效地自适应优化, 将参数设置为数值百分比而非数量百分比, 即定义大于一定数值(最大浮点绝对值与离群值百分比的乘积)的浮点绝对值为离群值。

量化过程需要对模型每层权重和每层输出激活值进行量化, 本文基于自适应离群值去除的训练后量化过程如下。

1)通过模型训练, 获取原始浮点模型。

2)定义自适应离群值百分比参数, 分为权重离群值百分比参数 ai 和激活离群值百分比参数bi (i 表示第 i 层), 参数初始值由计算机随机生成。

3)对原始浮点模型进行权重离群值和激活离群值的去除[14], 并对原始浮点模型进行训练后量化, 将量化后的模型定义为动态量化模型。

4)以动态量化模型与原始浮点模型对应特征图的差距损失值最小化为优化目标, 动态地优化离群值百分比参数(优化过程中模型自身参数不迭代优化), 得到优化后的百分比参数。

5)使用优化后的百分比参数对模型进行量化, 得到最终的量化模型。

width=300.9,height=226.85

图4 对称量化浮点与量化值的对应关系

Fig. 4 Correspondence between floating point value and quantized value on symmetric quantization

2 实验及结果分析

本文基于 SSD 搭建火灾检测模型, 并且在公开数据集上应用本文方法对模型精度进行对比测试, 实验结果充分地证明了本文方法的工程实用性与有效性。

2.1 实验数据集

火灾数据集采用哈尔滨工业大学(深圳)计算机科学与技术学院的公开数据集[15], 火焰数据包含较多复杂场景, 涵盖白天、夜间、室内、室外、森林和房屋等, 数据集中部分样本如图 5 所示。

2.2 实验结果

本文模型的检测效果如图 6 所示。

将本文检测模型与不同的剪枝和量化方法相结合, 进行对比测试。实验中均使用八位量化, 采用的模型框架均为本文检测模型。实验的具体设置和实验结果见表 1, 其中精度指标用于对比不同方法的性能, 规模指标用于对比模型的规模。

通过分析实验结果, 得到以下结论。

1)实验 1 表明, 本文检测模型具有较为优异的检测精度, 与目前较为先进的 YOLO 方法[15] (mAP为 77.8)相比, 具有明显的优势。

2)对比实验 2, 3 和 4 可以发现, 相对于通道级剪枝和层级剪枝方法, 本文剪枝方法可以在模型精度下降幅度更小的情况下得到更小的模型规模。

3)对比实验 5, 6 和 7 可以发现, 相比于 MNN 量化和原始离群值去除量化方法, 应用本文自适应量化方法可以使量化模型的精度更高。

4)对比实验 1 和 8 可以发现, 本文的轻量化模型方法(剪枝+量化)可以在保证精度不大幅度下降的情况下, 将模型压缩至不到原本 1/10 的规模。

width=192.9,height=260.85

图5 本文使用的火灾数据集

Fig. 5 Fire dataset used in the study

width=199,height=133.15

图6 本文模型检测效果

Fig. 6 Detection effect of proposed model

表1 实验设置和实验结果

Table 1 Experimental setup and results

实验编号剪枝方法量化方法模型精度(mAP)模型规模/MB 1不使用不使用79.295.04 2SSS通道级剪枝[2]不使用77.445.63 3可融合卷积块层剪枝[13]不使用78.340.89 4本文剪枝方法不使用78.734.92 5不使用MNN量化[12]78.123.76 6不使用去离群值量化[15]78.823.76 7不使用本文量化方法79.223.76 8本文剪枝方法本文量化方法78.6 9.28

综上所述, 本文提出的火灾检测轻量化模型在精度及规模上具有明显的技术先进性。

3 总结

本文针对火灾检测领域对高效、轻量级模型的迫切需求, 基于 SSD 算法搭建深度学习火灾检测模型, 并提出基于可融合残差卷积块的双级剪枝方法及基于自适应离群值去除的训练后量化方法, 在保证模型性能的情况下, 有效地减小模型规模。实验结果证明, 与原始方法相比, 本文提出的剪枝方法和量化方法表现出明显的优势, 在保证火灾检测轻量化模型优异性能的同时, 还可以显著地减小模型的规模。因此, 本文模型具有一定的先进性和实用性, 对火灾检测级模型轻量化领域的研究有一定的促进作用。

参考文献

[1] Liu W, Anguelov D, Erhan D, et al. SSD: single shot multibox detector // Proceedings of the European Con-ference on Computer Vision (ECCV). Amsterdam, 2016: 21–37

[2] Huang Zehao, Wang Naiyan. Data-driven sparse struc-ture selection for deep neural networks // Proceedings of the European Conference on Computer Vision (ECCV). Munich, 2018: 304–320

[3] Zhou H, Alvarez J M, Porikli F. Less is more: towards compact CNNS // European Conference on Computer Vision. Cham: Springer, 2016: 662–677

[4] Wen W, Wu C, Wang Y, et al. Learning structured sparsity in deep neural networks // Proceedings of the 30th International Conference on Neural Information Processing Systems. Barcelno, 2016: 2082–2090

[5] Changpinyo S, Sandler M, Zhmoginov A. The power of sparsity in convolutional neural networks [EB/OL]. (2017–02–21)[2021–05–20]. https://arxiv.org/abs/1702. 06257

[6] Liu Z, Sun M, Zhou T, et al. Rethinking the value of network pruning [EB/OL]. (2019–03–05)[2021–05–20]. https://arxiv.org/abs/1810.05270

[7] Rastegari M, Ordonez V, Redmon J, et al. XNORNet: imagenet classification using binary convolutional neural networks // European Conference on Computer Vision. Cham: Springer, 2016: 525–542

[8] Jacob B, Kligys S, Chen B, et al. Quantization and training of neural networks for efficient integer-arith-metic-only inference [EB/OL]. (2017–12–15) [2021–06–20]. https://arxiv.org/abs/1712.05877

[9] Zhou Shuchang, Wu Yuxin, Ni Zekun, et al. DoReFa-Net: training low bitwidth convolutional neural net-works with low bitwidth gradients [EB/OL]. (2018–02–02)[2021–06–20]. https://arxiv.org/abs/1606.06160

[10] Courbariaux M, Bengio Y. Binarynet: training deep neural networks with weights and activations con-strained to +1 or –1 [EB/OL]. (2016–04–18)[2021–06–20]. https://arxiv.org/abs/1511.00363

[11] Jiang Xiaotang, Wang Huan, Chen Yiliu, et al. MNN [EB/OL]. (2020–02–27)[2021–06–20]. https://arxiv. org/abs/2002.12418

[12] Girshick R. Fast R-CNN // 2015 IEEE International Conference on Computer Vision. Santiago, 2015: 1440– 1448

[13] 徐鹏涛, 曹健, 张兴, 等. 基于可融合残差卷积块的深度神经网络模型层剪枝方法. 北京大学学报(自然科学版), 2022, 58(5): 801–807

[14] 徐鹏涛, 曹健, 张兴, 等. 基于离群值去除的卷积神经网络模型训练后量化预处理方法. 北京大学学报(自然科学版), 2022, 58(5): 808–812

[15] 李欣健, 张大胜, 孙利雷, 等. 复杂场景下基于CNN的轻量火焰检测方法. 模式识别与人工智能. 2021, 34(5): 415–422

A Lightweight Model Design Method for Fire Detection via Dual Level Pruning and Post-Training Quantization

XU Pengtao1,†, WANG Gang1, ZHANG Lianjie1, WANG Yue2, HUANG Hua1

1. Xi’an Nuclear Instrument Co Ltd, Xi’an 710061; 2. School of Software and Microelectronics, Peking University, Beijing 102600; †Corresponding author, E-mail: xupengtao@pku.edu.cn

Abstract A lightweight fire detection model is designed to meet the urgent demand for efficient and lightweight models in the field of fire detection. The model is built based on the SSD object detection algorithm, and pruning and quantization methods are used to achieve lightweighting of the detection model in order to reduce model size, improve model speed, and meet the deployment requirements in practical scenarios. In order to achieve effective pruning of the model network at both channel and layer levels, a dual pruning method based on fusible residual convolution blocks is proposed. In order to effectively improve the performance of the quantization model, an adaptive method is introduced to quantize the model, which realizes a post-training quantization method based on adaptive outlier removal. The experimental results show that the proposed pruning method and quantization method exhibit significant advantages compared with the original method, and can significantly reduce the model size with almost no impact on performance. The final lightweight fire detection model also has excellent performance.

Key words fire detection; SSD object detection; model lightweighting; pruning; quantization