APP下载

基于嵌入式移动端的目标检测算法

2022-08-28刘信潮房桐杜保帅赵景波

现代信息科技 2022年10期
关键词:质心树莓卷积

刘信潮,房桐,杜保帅,赵景波

(青岛理工大学,山东 青岛 266520)

0 引 言

近年来,国内外研究人员针对目标检测算法进行了大量研究。上海交通大学的朱壬泰等人针对当前基于深度学习的多目标检测算法计算资源占用量大的问题,提出一种基于卷积神经网络的计算过程化方法,在最终检测精确度不变的前提下,算法帧率达到了56 fps。新疆大学的崔博超等人将无人机技术和机器视觉技术相结合,识别方法采用了YOLOv3 网络和YOLOv3-tiny 网络,可快速、精准、自动地获得鼠洞在视频范围内的分布情况。南京邮电大学的徐融针对小目标检测的漏检率较高的问题,提出了基于YOLOv3网络模型的小目标检测算法,降低了在小目标上的漏检率。沈阳农业大学的纪秋岑将基于YOLOv3 的学习模型和基于图像特征识别的模板匹配法相结合,用于快速准确的识别绝缘子是否存在缺陷。Emin M 等人利用无人机遥感和机器视觉技术,实现云杉的自动、准确、高效计数,提高森林科学管理的效率。Micheal A A 等人采用基于区域的卷积神经网络(R-CNN)和基于卡尔曼滤波的快速R-CNN 对无人机拍摄的图像数据进行检测和跟踪。

综合前人经验提出了YOLOv3-tiny 夜间目标检测的优化改进算法,提出了更优的检测速度与检测精度的模型。

1 总体设计方案

目标检测平台由红外摄像头和树莓派3B 组成,如图1所示。树莓派3B 的CPU 使用的是ARM 的四核心Cortex-A53,频率为1.2 GHz,RAM 大小1 GB,拥有4个USB2.0 插口且支持USB hub 扩展,GPU 为Broadcom VideoCore 6 集成显卡,支持OpenGL ES 2.0,同时支持h.264/MPEG-4 AVC 高清解码器,音频输出支持3.5 mm 插孔和HDMI 1.4,分辨率最高可达1920*1200,摄像头使用CSI,供电方面有GPIO 和Micro USB 两种可供选择。

图1 树莓派3B 平台

2 算法的分析与改进

YOLO 系列是Joseph Redmon 等人共同提出的系列目标检测算法,算法家族众多,开源且一直在更新。YOLOv3 是一种全卷积神经网络的目标检测算法,通过卷积运算,对候选框的尺寸大小及各类目标的分类类型进行回归计算以达到不同的检测要求。为了保证了目标检测的实时性和准确性的共同进步,YOLOv3 目标检测算法改进了以往相似的算法模型在多个目标和小尺寸目标检测上的劣势,引入特征金字塔的方法并采用了Darknet-53 特征提取网络结构以及预测分支模块。

YOLOv3-tiny 是YOLOv3 算法经过改良的轻量化目标检测算法,通过将YOLOv3 的特征提取网络减少至7 层,从而得到更小的卷积神经网络,同时删除全连接层,运用聚类算法生成先验框和多尺度预测相关技术提高目标检测的精度,最终得到的YOLOv3-tiny 算法结构简单,计算量较少,检测速度相比YOLOv3 算法更快。通过分析目标检测要求,对于速度要求比较高的项目,YOLOv3-tiny 更适合在树莓派或使用条件比较受限的移动端下进行部署使用。YOLOv3-tiny 的流程图如图2所示。

图2 YOLOv3-tiny 算法网络结构图

图片的特征通过YOLOv3-tiny 的7 层卷积神经网络来提取,首先输入416*416*3 的图片,通过第一层将其变为416*416*16,然后进行提取特征。前六个卷积层的最后都跟随有最大池化层,它的作用是进行步长等于2 的下采样,目标是将生成的特征图尺寸模糊到原来的二分之一。图片通过卷积后,特征图尺寸为13*13*1024,然后进行1*1、3*3 和1*1 的卷积后,进入YOLOv3-tiny_1 结束。第7 层特征图经过对应的卷积步骤和上采样,然后和第五层的特征图相结合,然后进行1*1、3*3 和1*1 的卷积后,进入YOLOv3-tiny_2结束。

2.1 CBAM 模块的套用

CBAM 由Sanghyun Woo 等人提出并在ECCV2018 发表,属于软注意力机制,包含两个模块:通道注意力模块和空间注意力模块。

2.1.1 通道注意力模块

通道注意力模块基本结构:MPool 是基于高度和宽度的最大池化,APool 是平均池化,输入Input feature F 使其经过APool 和MPool 分别得到APool(F)和MPool(F),这两条路径用同一个MLP(多层感知机结构)处理过后,再次经过激活函数,最后得出M(),表达式为:

公式2 中,F表示平均池化的操作过程,F表示最大池化的操作过程,W表示第一层的权重,W表示第二层的权重。

2.1.2 空间注意力模块

空间注意力模块基本结构:将计算得出并输入到APool 和MPool 中,经过f 卷积后,最后通过sigmoid 激活函数后,得到M(F')。公式为:

公式(4)中,F '表示平均池化的操作过程,F '表示最大池化的操作过程,f 表示模块的卷积过程。

通道注意力模块总结构:将Input feature F 输入通道注意力模块后,得到M(),再将M()与输入图像像素相乘后得到';将'输入到进空间注意力模块后,得到M('),再将M(')与'像素相乘后得到并输出。CBAM 的网络结构图如3 所示。

图3 CBAM 网络结构图

算法使用通道域+空间域注意力机制,解决YOLOv3-tiny 使用中易出现的小目标特征分配权重低,背景分配的权重高的现象。

2.2 改进K-Means 聚类算法

YOLOv3-tiny 引入了Anchor Box 机制,使用K-Means聚类算法可计算获得Anchor Box。聚类算法的思想是将很多没有标签但又相似特征的数据自动归类的办法,根据数据间的亲疏性,将差别小的数据聚到一起,最后形成多个簇,簇内特点为相似度高,簇间特点为差异性高。

K-Means 聚类算法流程:

首先确定一个值,值代表的是集合个数的期望值,在集合中选出个点作为聚类质心,计算集合中的每个个体与聚类之心的欧拉距离,根据欧拉距离最近,将个体分为个集合,然后再次计算个集合的各自的质心,直到新出现的聚类质心与之前的质心之间的距离小于阈值时,停止计算,否则重复上述步骤。

如果用数学表达式表示K-Means 聚类算法,设划分为个簇为(,,,…,),方差为:

其中α是簇C的均值向量,称为聚类质心,公式为:

K-Means 聚类算法原理如图4所示。

图4 K-Means 聚类过程

在获取聚类中心的过程中引入Small Batch-K-Means法,能尽量保持聚类准确性下但能大幅度降低计算时间,通过提取全体样本的一部分代替整体,定义Small Batch 聚类准则函数。仿真效果对比如图5所示。

图5 K-Means 与SmallBatchK-Means 效果对比

YOLOv3-tiny 根据COCO 数据集计算,并不适用于本算法环境下的KAIST 数据集,需要对其重新聚类,生成新的Anchor Box。

将Small Batch K-Means 聚类算法中的欧氏距离计算法替换成IOU 重叠度来衡量距离变量,原理公式为:

式中,表示欧拉距离,IOU 表示Anchor Box 和Bounding Box 矩形框重合面积与两者的并集的比值。

在计算时要将IOU 取平均,目的是为了使用更少的步骤就可以取得准确的值,平均重叠度的公式如下:

式中,为部分IOU 的总个数。

取=1 ~14,经计算获得,IOU与值的关系如图6所示。

由图6可知,随着的增加,IOUave 的增长逐渐平缓,当>9 时,斜率几乎不变。为了算法的简易性和运行的速度,应舍弃检测效果提升不大的值,故聚类数选9。

图6 IOUave 与K 聚类数的关系

在确定聚类质心后,再次对bounding box 进行聚类,将误差最小的Bounding Box 归为相应的Anchor Box,形成以Anchor Box 为中心的Bounding Box 集合共九个。

重复步骤,直到聚类质心不在变化时,算法停止。得到最终计算后的先验框尺寸分别是(9,15),(25,41),(23,39),(30,51),(12,28),(18,34),(39,63),(14,28),(15,33)。

3 实验测试

将Small Batch K-Means 算法应用于YOLOv3-tiny 中的在KAIST 行人数据集得到了较好的聚类结果,平均IOU 为79.1%。而原始 YOLOv3-tiny 的候选框初始化尺寸与KAIST行人数据集的真实框尺寸匹配的平均IOU 为76.5%。如表1所示。

表1 平均IOU 对比

在KAIST 行人数据集上的YOLOv3-tiny 输出的mAP值为72.3%,检测速度为42 fps:使用CBAM+YOLOv3-tiny后,在数据集KAIST 上的mAP 值能够提高到89.7%,检测速度为35 fps;使用CBAM+SmallBatchK-Means+YOLOv3-tiny 后,在数据集KAIST 上的mAP 值为90.2%,检测速度为44 fps。如表2所示。

表2 mAP 和FPS 对比

设计实验场景为夜晚可见光较弱的环境下,树莓派3B距地面2 米高度后进行拍摄处理。如图7所示。

由图7分析可得,图7(a)、图7(b)和图7(d)中,大尺寸的目标识别置信度高,分别为99%、97%、98%、83%和89%,识别准确;图7(c)中,由于目标有重叠,识别成功但置信度较低,分别为19%和27%;图7(d)中,远方小尺寸行人识别置信度较低,分别为31%和17%。

图7 实验效果

4 结 论

本系统通过树莓派3B 对夜晚可见光较弱的环境下进行目标识别,可以看出改进后的K-Means 聚类算法得出的平均IOU 比K-Means 算法提高了2.6%。该算法在行人检测上的mAP 值比YOLOv3-tiny 算法提高了17.9%,检测速度提高了7 fps。使用Mini Batch K-Means 聚类算法后能在保证原有检测速度的同时提高mAP 值,实验证明了算法在可见光较弱的环境下仍有良好的识别准确度。

猜你喜欢

质心树莓卷积
基于全卷积神经网络的猪背膘厚快速准确测定
整车质心测量精度的研究
重型半挂汽车质量与质心位置估计
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
基于近邻稳定性的离群点检测算法
巧求匀质圆弧的质心
卷积神经网络概述
黄金水果红树莓
树莓红了 游人醉了