基于树莓派的安防机器人
2022-05-26许龙铭黄雨泉陈卓睿
许龙铭,黄雨泉,陈卓睿
(广州城市理工学院 通信工程学院,广东广州,510800)
0 引言
近年来,人工智能、物联网、云计算、大数据等新技术的进步极大地推动了机器人的发展及其在各个行业的落地化应用。传统的安防体系是“人防+物防”来实现,可随着人口老龄化加重、劳动力成本飙升、安保人员流失率高等问题,已经难以适应现代安防需求,安防机器人作为安防产业典型的高科技产品,属于智能机器人的一个细分领域,已成为一个新的研究热点。作为机器人的重要分支之一,安防机器人产品定位清晰明确,技术成熟度越来越高,已经开始出现在银行、商业中心、社区、政务中心等场景,成为了安防安保领域的一支新力量。现在国内外对于深度图像的研究还处在初级阶段,基于深度图像的研究更是不多,因此本设计具有广阔的研究空间。
1 系统总体设计
基于树莓派的安防机器人组成如图1 所示,多轴转动相机是由多个支撑板多角度调节机构和多个相机转动电机组成的一体功能模块,通过Python 语言编程运用图像处理算法实现Haar 特征人脸检测,从而准确的检测到每个进入该区域的人。多轴转动相机采集人脸数据后,返回人脸数据后由树莓派进行识别处理,再通过匹配实现记录非法侵入人员信息,最终发出警报,并储存到系统中,以供管理员查看。同时也通过 2.4G 无线局域网的网络共享实现云端 服务器api 调用存储资源并记录,并可通过无线终端操控。
图1 系统结构图
2 系统硬件设计
■2.1 硬件组成原理概述
硬件系统是每个产品的首要设计,基于树莓派的安防机器人的硬件组成结构图如图2 所示,由多轴相机模块进行人脸收集,通过串口将人脸数据传输给终端控制模块,视觉模块进行图像处理,处理完成后将相关数据通过2.4G 无线局域网发送回树莓派与云端储存人脸数据进行比较,如果不匹配,通过通信模块控制电机驱动模块发出警报并启用YOLOv3 视频流检测搭配全向驱动模块对该对象进行跟踪。因为树莓派连着2.4G 无线局域网,因此可以实现云端服务器 api 调用存储资源并记录,并可通过无线终端操控。
图2 硬件组成结构图
■2.2 CSI 摄像头在系统中的应用
CSI 摄像头是整个硬件系统的核心,它承载了人员图像收集的任务。CSI-2 接口是由MIPI 联盟组织于2005 年发布的相机串行接口,基于CSI-2 摄像头数据传输过程使用了数据差分信号对视频中像素值进行传输,同时CSI-2 传输接口能够非常灵活的进行精简或者扩展,对于树莓派等接口较少的应用场景,CSI-2 接口可以只使用一组差分数据信号线以及一组差分时钟线就能够完成摄像头的数据串行传输过程,这样便减少了负载,同时也能够满足一定的传输速率,同时CSI-2 接口也能够扩展其差分数据线,从而满足多组数据线并行传输的高速要求,这也是本硬件系统选择CSI 摄像头的原因。
■2.3 全向驱动模块在系统中的应用
传统车辆的转向在一些特定的环境里面使用起来非常不便,在特殊安防领域使用传统车辆运载拼装会消耗大量的人力、物力和时间。本安防机器人采用四个麦克纳姆轮组成全向运动模式,能够让机器人不用转动机身就能任意角度平移、旋转。麦克纳姆轮是由轮毂和围绕轮毂的辊子组成的,辊子是一种没有动力地从动小滚轮,麦克纳姆轮辊子轴线和轮毂轴线夹角是45 度,并且有互为镜像关系的A、B 轮两种,或者会被称为左旋轮和右旋轮。通过对比传统车辆,普通车辆在移动的时候轮子都是向一个方向转,而使用麦轮的车子在做全向移动的时候,每个麦轮的运动方向都不一样,麦克纳姆轮想要做到真正的全向移动,每个麦轮都需要一个单独的电机来驱动,所以我们参考设计了一套控制系统来把握每个轮子的转向和转速,以实现整个安防机器的高机动转向,达到无死角安防监控的目的。同时我们使用的车底底盘加装麦克纳姆轮之后是精心设计的正方形,是最为理想的车底盘,能够适应于各类地形、材质的地面。
图3 安防机器人麦克纳姆驱动组
3 系统软件设计
■3.1 采集识别软件设计
CSI 摄像头主控在系统中主要完成人脸识别以及数据传输功能,其中人脸识别通过机器视觉算法来判断是否有人进入,数据传输则是通过向通信模块发送指令来联网以及将处理后的数据发送到云端服务器中存储。
CSI 摄像头主控软件开始后首先进行系统初始化操作,完成人脸检测需要用到的Haar Cascade 特征检测算法库函数的初始化以及串口初始化,后续才能调用算法来检测人脸以及使用串口相关收发函数与通信模块进行通信。初始化完成后CSI 摄像头进行现场照片的拍摄,并对照片进行人脸检测。在检测步骤中检测到人脸则加载PDI 算法与云端储存的人脸进行比较,然后将数据通过通信模块发送到云端服务器中,发送完成后再次进行下一次拍摄检测。如果在检测步骤中没有发现人脸则直接进行下一次拍摄检测。
图4 CSI 摄像头主控软件流程图
人脸检测所使用的Haar 特征是一种有效的目标检测方法。它基于机器学习的方法,由大量的正负样本图像训练级联函数,然后用于检测其他图像中的对象。Haar 人脸检测采用固定图像大小,采用不同尺度的滑动窗口依次滑动整张图像进行检测,检测过程选取当前滑动窗口对应的图像区域进行检测和分类,把对应的区域放入第一个强分类器,只要强分类器的任意弱分类器判别此区域不含人脸,就结束检测,并滑动窗口至下一区域。若第一个强分类器判别出该部分含有人脸,就会送入下一强分类器进行再检测和分类,此后的过程和第一个强分类器,检测为无人脸即滑动检测下一区域,若检测为有人脸,则传至下一强分类器判别为有人脸,如果最后一个强分类器判别为有人脸,则以窗口作为整张图片的人脸检测框。此方法识别速度较快,可以同时检测多个人脸有较高的识别成功率,并可以方便输出人脸识别信息与云端服务器校对,达到安全检测的目的。
■3.2 人体检测软件设计
在识别到非法人物入侵后安防机器人需转换工作模式对非法人物进行跟踪,在此处采用了YOLOv3 算法实现行人检测以及非法人物的选定与标识。YOLOv3 系列算法的基本原理是利用固定大小的图像作为网络输入利用回归思想获得边界框的位置及其所属类别。其在目标检测精度和检测速度上都达到较为先进的水平。
本安防机器人通过加强YOLOv3 算法特征提取能力来减少人体遮挡目标的漏检现象,对遮挡行人这类小尺度目标的实时检测起到一定的改善作用。遮挡行人检测是智能视频监控中急需解决的问题,复杂场景下实时检测算法的研究可以更好地服务于实时视频监控中的人员跟踪以及预警报警需求。本安放机器人主要是在对YOLOv3 算法应用修改的过程中通过对网络结构剪枝提高网络泛化能力,防止过拟合。采用卷积层剪枝的方法精简网络冗余以及在网络全连接层引入SSP 层增强了网络多尺度特征融合能力。网络由1×1 和3×3 大小卷积交替进行卷积计算,全连接层输出为y1、y2、y3 多尺度检测各减去5 层卷积层,实现相对原始算法更优的检测效果,一定程度上提高算法的检测准确率和检测速度,也减轻了硬件系统运行的负担。损失函数是决定网络训练算法效果的重要因素之用于表示模型预测值和真实值间的偏差程度,本机器人的算法损失函数计算公式仍沿用YOLOv3 算法,综合边界框预测误差、置信度误差和分类预测误差3 方面。
同时安防机器人针对主要安防场景制作遮挡行人数据集。目前主流COCO 公共行人数据集并没有针对封闭、区域性场景做优化。由于安防机器人需要以仰视角度采集图像,摄像头的倾斜观察视角与人员运动交互过程中不同程度的遮挡与视角深度变化都会造成目标尺度的多样性,需要专门的训练集来提高整个算法的参数准确性。数据集中包含公共交通枢纽、物流仓储、办公楼宇走道等一系列场景照片。在收集图片同时对原始图片进行缩放、裁剪、翻转、改变对比度来增强图像数据,提高了模型的检测精度,具有更好的泛化效果,提高鲁棒性。同时本数据集具有一定的适用通用性,可运在多个主流检测神经网络算法,为后续产品算法升级迭代以及不同工作场景的切换提供了辅助作用。
■3.3 PID 控制设计
在本安防机器人的设计中,PID 的算法控制是非常重要的一环。PID 就是对输入偏差进行比例积分微分运算,运算的叠加结果去控制执行机构,在自动化控制领域中有非常重要的应用。本安放机器人在多个模块控制中采用了增量式PID,增量型 PID 是对位置型 PID 取增量,这时控制器输出的是相邻两次采样时刻所计算的位置值之差,得到的结果是增量,即在上一次的控制量的基础上需要增加(负值意味减少)控制量根据增量式公式可以很好地看出,一旦确定了 Kp、Ti、Td,只要使用前后三次测量值的偏差,即可由公式求出控制增量而得出的控制量Δu(k)对应的是近几次位置误差的增量,而不是对应与实际位置的偏差。控制增量Δu(k)的确定仅与最近3 次的采样值有关,容易通过加权处理获得比较好的控制效果,并且在系统发生问题时,增量式不会严重影响系统的工作,可以保证安防机器人在遇到突发情况时仍保证控制驱动系统正常运作。本安放机器人充分开发增量式PID 潜力并运用在图像采集时多轴相机控制与麦克纳姆轮全向控制。
4 系统测试
完成了系统的整体设计后需要大量的实验与测试数据来测试本安防机器上是否能投入实际应用。首先将设备打开,连接上2.4G 无线局域网后,通过改变经过安防守卫区域的陌生人人数,从而获取陌生人入侵情况下多次警报检验的正确率,并将相关数据记录表。在通过人数分别为1-6 个,每次改变人数后均保证检测次数为100 次,得到系统测试数据如表1 所示。由表1 的测试数据分析可以看出在通过人数为1-3 人时系统能保证100%的检测正确率,而通过人数增加到4 人时检测正确率虽然有所下降,但仍然保持在95%以上。而当通过人数增加到6 人时报警正确率有较大程度地降低,因此整个系统的在同时通过人数在1-4 人时能保证较高的检测正确率。
表1 安防机器人测试数据
5 结论
本文基于树莓派硬件平台搭配相机视觉模块人脸特征检测来人脸检测,并将检测数据通过处理实时与云端数据进行配对比对,结合电机驱动系统搭配增量式PID 算法及YOLO 实时视频流检测实现区域安防管理,能够广泛运用于仓储、交通枢纽区域。整个安防机器人识别率高、报警及时,能够做到全天候24 小时高可靠性工作,是系统投入商用的基本保证。