2 个月前

面向物联网设备的群体计数改进型知识蒸馏方法

{Richard O. Sinnott, Zuo Huang}
面向物联网设备的群体计数改进型知识蒸馏方法
摘要

在现实场景中进行人工人群计数既不切实际,也极易导致严重偏差。深度学习技术已成为解决该问题的重要手段。人群计数是一项计算密集型任务,因此,众多人群计数模型采用大规模深度卷积神经网络(CNN)以提升精度。然而,这类方法通常以牺牲推理速度和运行性能为代价,难以在真实应用场景中部署,例如在物联网(IoT)设备上运行。为应对这一挑战,一种常见策略是通过剪枝(pruning)与量化(quantization)技术压缩模型,或采用轻量级网络骨干结构。但此类方法往往导致模型精度显著下降。为此,部分研究尝试采用知识蒸馏(knowledge distillation)方法,从性能先进的大型“教师模型”中提取有效信息,用于指导或训练更小的“学生模型”。然而,现有知识蒸馏方法常因“提示转换器”(hint-transformers)引入的信息损失而受限,且教师模型有时反而对学生的训练产生负面影响。针对上述问题,本文提出一种基于知识蒸馏的新方法,该方法利用自变换提示(self-transformed hints)并设计忽略异常值的损失函数,以应对现实世界中复杂且具有挑战性的人群计数任务。基于该方法,我们在JHU-CROWD++ [1]测试集上实现了77.24的平均绝对误差(MAE)和276.17的均方误差(MSE),性能与当前最先进的深度人群计数模型相当,但模型规模与计算复杂度仅为原模型的极小部分,因而特别适用于资源受限的物联网设备。相关源代码已开源,地址为:https://github.com/huangzuo/effcc_distilled。