本文介绍的是一项由张秀良、王凯、卜乐、赵炜(均来自金陵科技学院计算机工程学院)完成的研究工作,题为《基于轻量级cnn的越障识别方法及其android端app实现》。该研究发表于《金陵科技学院学报》2022年12月出版的第38卷第4期。
一、 研究背景与目标
本研究属于计算机视觉与人工智能领域,具体聚焦于人体行为识别及其在移动端的应用。研究的出发点源于当前小区安防存在的痛点:传统的依赖围墙、摄像头远程监控和人工巡查的方式,不仅工作量大,而且存在管理漏洞,无法对“越障”等特定行为进行自动、实时的识别与预警。虽然卷积神经网络(Convolutional Neural Network, CNN)在目标检测和行为识别方面展现出强大能力,但传统的深度CNN模型往往参数量大、计算复杂,需要较高的硬件资源(如PC),难以在资源受限的移动设备(如Android手机)上部署运行。
因此,本研究旨在解决一个关键问题:如何在保证较高识别准确率的前提下,实现一个轻量化、低延迟的越障行为识别模型,并将其成功部署到Android移动端,构建一个实用的安防预警应用。 具体目标包括:1)提出一种结合轻量级CNN和人体姿态估计的越障行为检测识别方法;2)通过自建数据集验证方法的有效性;3)开发并实现一个功能完整的Android端越障行为识别系统APP。
二、 详细研究流程
本研究主要包含三个核心环节:越障识别算法设计、模型训练与验证、以及Android端APP的实现与测试。
1. 越障识别算法设计 本研究提出的方法是一个两阶段流程:首先进行人体姿态特征提取,然后对姿态特征进行分类识别。 * 第一阶段:人体骨骼关键点检测与姿态特征提取。 研究采用改进的OpenPose方法作为人体姿态估计器。传统的OpenPose使用VGG网络作为主干,计算量大。本研究对其进行了轻量化改进:首先,使用更轻量的MobileNet网络替换VGG作为特征提取主干,大幅减少计算负担;其次,针对MobileNet网络深度可能不足的问题,引入了空洞卷积(Dilated Convolution) 来扩大感受野,提升特征提取能力;最后,优化了预测分支结构,将原本分开预测关键点热图(Keypoint Heatmaps, KH)和部分亲和场(Partial Affinity Fields, PAF)的两个分支合并,共享大部分计算操作,进一步减少冗余。部分亲和场(PAF) 是本方法用于将检测到的离散人体关键点连接成完整骨架的核心技术。它通过在人体肢体的像素区域编码一个二维向量场(方向从身体部位j1指向j2),来表示肢体的位置和方向。通过计算任意两个候选关节点连线上的PAF线性积分,可以得到它们属于同一肢体的置信度,从而正确地将关键点组装到不同的个体上,即使图像中存在多人。 * 第二阶段:姿态特征分类识别。 将从视频帧中提取到的人体姿态特征(可理解为一系列关键点的坐标及连接关系)作为输入,使用MobileNet网络进行分类。MobileNet是一种专为移动和嵌入式设备设计的轻量级CNN,其核心是深度可分离卷积(Depthwise Separable Convolution)。该结构将标准卷积分解为两步:深度卷积(Depthwise Convolution) 和逐点卷积(Pointwise Convolution)。深度卷积对每个输入通道独立进行空间滤波,逐点卷积则使用1x1卷积来组合深度卷积的输出。论文通过公式推导和对比(如表1所示)证明,使用3x3卷积核时,深度可分离卷积能将计算量降低到标准卷积的约1/9,而准确率损失仅为1%左右,实现了模型大小和精度的良好平衡。
2. 模型训练与验证 * 数据集构建: 研究没有使用公开数据集,而是采用了自建数据集。共手动采集了5,307张越障行为图片。数据集格式整理为PASCAL VOC格式,包含Annotations(存放标注的XML文件)、ImageSets(划分训练集和测试集)和JPEGImages(存放原始图片)三个文件夹。 * 训练过程: 将数据集按8:2的比例划分为训练集和测试集。采用迁移学习的方法,在MobileNet预训练模型的基础上进行微调。训练参数设置为:学习率0.01,迭代次数4000次,批次大小(batch size)为100张图片。使用TensorFlow框架进行训练,并监测训练集和测试集的准确率和交叉熵损失。 * 训练结果分析: 训练曲线(图4)显示,在训练初期,准确率迅速上升,交叉熵迅速下降。当迭代次数达到约2,250次时,准确率和损失曲线均趋于平稳,表明模型已收敛,没有出现过拟合或欠拟合。这为后续移动端部署提供了可靠的模型基础。
3. Android端APP实现与系统测试 * APP开发: 基于上述训练好的轻量级模型,研究开发了一款Android端越障行为识别系统APP。APP采用模块化设计(如图3所示),包含用户登录、实时视频预览、越障行为检测、人脸识别比对、个人中心(用于管理人脸比对库)等功能。技术实现上,通过海康威视SDK获取摄像头实时视频流,利用JNI(Java Native Interface)技术将YUV格式视频流转换为RGB图像,并创建异步线程调用本地C++库(集成OpenPose和MobileNet模型)进行实时的人体关键点跟踪、越障行为识别以及人脸特征提取与比对。 * 系统性能测试: 测试在华为P40手机(麒麟990 CPU,8GB内存)上进行,摄像机为海康威视DS-2DC2204IW-DE3/W。 * 实时性测试: 在小米12、华为P40、Redmi K50三款不同CPU型号的手机上测试视频预览帧率(FPS),均集中在30-40帧/秒,满足流畅预览要求。 * 识别性能测试: * 越障识别: 采用MobileNet模型,平均运算时间约为373毫秒,识别准确率约为87.2%。 * 人脸识别(作为辅助身份验证): 采用开源SeetaFace2方法,平均运算时间约为590毫秒,准确率约为85.6%。 * 资源占用测试: MobileNet模型文件大小约为37.6 MB,在手机运行时占用内存约为56 MB。 * 应用效果: 最终生成的APP安装包可通过网络或USB导入手机。测试效果(图6)显示,APP能对视频中的越障目标进行实时框选标记,并与后台人脸比对库进行匹配,显示疑似越障人员的身份信息,实现了“行为检测+身份识别”的联动预警。
三、 主要研究结果
这些结果逻辑连贯:轻量化算法设计确保了模型能在资源有限的手机上运行(结果2);有效的训练得到了一个精度尚可的模型(结果1);移动端集成与优化使得该模型能在手机上达到可接受的实时性能(结果3);最终,所有这些工作汇聚成一个可演示、可测试的完整应用系统(结果4),直接支撑了研究的核心结论。
四、 研究结论与价值
本研究成功提出并实现了一种适用于Android移动端的轻量级越障行为识别方法。主要结论是:结合改进的OpenPose进行姿态特征提取,再利用MobileNet网络对特征进行分类的轻量级CNN方案,能够在模型大小、识别精度和运算速度之间取得良好平衡,适合在Android移动设备上部署应用,为智能安防的实时预警提供了一种可行的技术路径。
该研究的价值体现在: * 科学价值: 为移动端实时人体行为识别提供了一个具体的技术范例,验证了轻量级CNN(MobileNet)与轻量化姿态估计(改进OpenPose)结合的有效性,对相关领域的研究具有参考意义。 * 应用价值: 开发出的Android APP具有明确的实用价值。它降低了智能安防系统的部署成本(利用普通手机和摄像头),提升了监控的自动化水平和响应速度,能够对小区、园区等场景下的越障入侵行为进行自动检测和预警,具有市场应用潜力。
五、 研究亮点
六、 其他有价值内容
研究中对深度可分离卷积与标准卷积的计算量和参数量进行了公式化对比分析(公式1),直观地展示了其轻量化的原理。此外,对部分亲和场(PAF) 的工作原理给出了清晰的数学定义和解释(公式2-6),有助于读者理解多人姿态估计中关键点匹配的核心机制。这些内容增强了论文的理论深度。同时,论文详细介绍了Android APP的架构设计(图3)和功能模块,为移动端AI应用开发提供了具体的实现参考。