一种机器视觉的安防巡逻机器人系统设计
2020-11-23刘泓滨
田 佳,刘泓滨,王 宇,桂 林
(1.昆明理工大学机电工程学院,云南 昆明 650000;2.广东省智能制造研究所,广东 广州 510000)
1 引言
随着国家的发展,我国城镇人口越来越多,维护城市公共安全对保障市民正常生活具有重要作用,特别是人口流动密集的公共场所,如:商业广场、汽车站、火车站、飞机场和学校[1]。安防巡逻机器人则是一类能够把检测到的异常或者危险情况信息实时反馈给客户端的机器人,保障对现场环境的安全控制。传统的安防设备主要是由各类固定的监控摄像头组成。即使与安防工作人员配合工作,传统的反方设备也存在以下几个问题:
(1)摄像头容易被不法分子损坏或遮盖,且位置固定具有视觉盲点;
(2)监控设备不能警示和目标跟踪;
(3)对已做出危险行为的目标,不能快速、直接地做出打击并控制住现状等。
安防巡逻机器人是由机器人作为运动载体,将固定的监控系统动态化,为避免了上述传统安防系统的缺点,使安防监控的区域更广、方式更加灵活[2]。国内国防科技技术大学研制的“ANBOT”,具有自主巡逻、智能监控探测、遥控制暴、声光报警、身份识别、自主充电等多种功能;国外美国硅谷的机器人安保公司Knightscope研发的K1、K3、K5和K7系列安防机器人有GPS 定位、激光扫描、沿指定线路巡逻或者任意自主行走和热感应等多项功能,并配备有监控摄像机、感应器、气味探测器和热成像系统,连接手机可进行数据传送[3]。
但是,这类安防机器人不能识别出图像中的异常状态,并且无法很好实现与安保人员之间的系统工作。设计的安防巡逻机器人能够灵活地按照规定路线自主巡航巡逻,通过机器视觉对检测到的危险目标做出警示并跟踪,对危险目标进行远程控制打击或自主打击。该研究涉及机械结构、自动化控制、无线通讯、机器视觉技术等多方面内容,在商业广场、火车站、汽车站、飞机场和学校等复杂环境的安防巡逻工作中具有一定的应用价值。
2 安防巡逻机器人的设计
我国安防机器人主要分为两大类:军用和民用。从功能上可分为:巡逻机器人、安保机器人、救援机器人等[4]。安防机器人的组成结构可以概括为驱动系统、传感器系统、远程监控系统、避障系统、安全防护系统、自主导航系统等,一个或者多个子系统构成一个耦合系统。
2.1 系统框架设计
安防巡逻机器人系统主要采用主从式(C/S)构架。智能终端作为客户端,四轮移动安防巡逻机器人作为服务器,其系统构架示意,如图1 所示。机器人通过工业USB 摄像头动态的采集视频图像,各类传感器提取周围环境信息,通过Internet 网络WIFI 技术传递给国定或移动客户端[5-7]。客户端根据机器人反馈回来的视频和数据,可控制机器人的行为对“警示”目标进行重点观察和追踪,对已做出危险行为的目标进行“投弹”或电击打击。该安防巡逻机器人包括远程检测及控制系统、视频采集系统、传感器检测系统、反恐打击系统等。
图1 系统构架示意Fig.1 System Framework Gesture
2.2 系统硬件设计
机器人控制系统使用STM32F4 芯片作为控制器。主控板和各个驱动元件之间的通信方式采用CAN 总线,分别接有电源模块、直流电机驱动模块、视频实时采集模块、GPS 定位模块、红外传感器、超声波传感器、防爆打击组件等[8]。YB-SP 安防巡逻机器人硬件框架,如图2 所示。机器人按照规定的计划路线匀速运动,并主动避开障碍。采用轮式移动方式,L289N 直流电机驱动板驱动直流无刷减速电机,对四个独立运动的麦克纳姆轮进行驱动。麦克纳姆轮全方位运动系统的轮组布局形式多种多样,实现前行、横移、斜行、旋转及其组合等运动方式。视频的采集通过小蚁高清1080P 网络摄像头实现,无线网络通过串口通信与STM32芯片连接,实现智能终端如PC 远程查看视频信息并及时传送指令。机器人中多传感器耦合,实现对环境参数检测和现场警示,保证了系统检测的准确性,使机器人在执行任务过程中更加自动化、智能化[9]。YB-SP 安防巡逻机器人整体结构,如图3 所示。
图2 YB-SP 安防巡逻机器人硬件框架Fig.2 YB-SP Security Patrol Robot Hardware Framework
图3 YB-SP 安防巡逻机器人整体结构Fig.3 Overall Structure of YB-SP Security Patrol Robot
3 机器人视觉系统
使用通用USB 摄像头采集视频图像,通过Internet 网络WIFI技术将数字信号传输到客户端。采用Python 语言进行编程,结合OpenCV 函数库对视频图像进行目标识别和跟踪。经典的技术路线是:目标分割(Target Segmentation)、目标检测(Target Recognition)、目标识别(Target Detection)、目标跟踪(Target Tracking)。采用 Faster-RCNN(Faster Region-based Convolutional Neural Networks)[10]目标检测识别方法对“危险目标”进行检测。
3.1 Faster R-CNN 目标检测算法
Faster R-CNN 目标检测算法是基于深度学习R-CNN 系列目标检测最好的方法,由两大模块组成:RPN(Region Proposal Network)候选区域提取模块和Fast R-CNN(Fast Region-based Convolutional Neural Networks)检测模块[11]。其中,RPN 是全卷积神经网络,代替了之前的文献[12-13]方法,通过end-to-end 的方法进行网络训练,生成高质量的包含目标的候选区域(regionproposals);Fast R-CNN 则是对 RPN 提取的 proposals 进行分类检测,并修正候选区域的边界框。其主要特点是:(1)输入图像大小不受任何限制,不影响性能;(2)真正实现了端对端(End toEnd)的目标检测框架;(3)提高了检测精度和速度;(4)生成建议框仅需10ms。整体实现过程为:输入图片(Input Image)、RPN生成候选区域(Region Proposal)、CNN 特征提取、Softmax 分类、位置精修。Faster R-CNN 框架模型,如图4 所示。
图4 Faster R-CNN 框架模型Fig.4 Frame Model of Faster R-CNN
3.2 RPN 的整体结构
RPN 的核心思想就是使用卷积神经网络直接产生regionproposal,本质上就是滑动窗口。输入一个任意尺寸的图片作,在每个图像位置输出一个预测的objectboundingbox 和objectnessscore,同时这个网络与原来的Fast R-CNN 共享convfeaturemap。
RPN 的整体结构主要分为四个步骤:
(1)输入图片经卷积网络(例如:VGGNet 和ResNet)处理后,生成最后一个卷积层的feature map。
(2)在卷积层的featuremap 上进行滑窗操作(slidingwindow),并生成特征向量,滑窗尺寸为 n×n(例如:3×3)。
(3)每个sliding window 位置的特征向量送入两个并列的FC层做预测。该网络具有两个输出任务分支:classification(cls)和regression(reg),其中,regression 分支输出预测的边界框boundingbox:(x,y,w,h);classification 分支输出一个概率值,表示 boundingbox 中是否包含object(classid=1),或者是background(classid=0)。
(4)根据分类的score 对region proposals 进行非极大值抑制。
3.3 交替训练实现过程
同时训练RPN 和Fast R-CNN 两个网络。RPN 网络训练,涉及groundtruth 和lossfunction 的问题。Fast R-CNN 的训练与原始Fast R-CNN 方法一样,只是产生regionproposals 的方法由selectivesearch 变成了RPN 网络。为实现共享卷积层featuremap,两个网络的交替训练流程如下:
(1)单独训练RPN 网络。使用在ImageNet 上预训练的模型初始化RPN 网络参数,微调RPN 网络。
(2)单独训练Fast R-CNN 网络。使用第一步RPN 网络提取的regionproposal 训练Fast R-CNN 网络,并用ImageNet 上预训练的模型初始化该网络参数。
(3)再次训练RPN。使用第二步的Fast R-CNN 网络重新初始化RPN,固定卷积层进行微调,微调RPN 网络。
(4)RPN 训练结果 region proposal 再次微调 Fast-RCNN 网络。固定网络公共部分的参数,只更新Fast-RCNN 独有部分的参数。
4 实验与分析
YB-SP 巡逻机器人通过机器人视觉,主要针对部分裸露在外的管制刀具等尖锐的危险物品进行识别检测。本次实验主要是以水果刀和匕首作为研究目标。
4.1 数据集制作与训练
刀类图片数据库的制作与训练中,采用VOC2007 数据集的格式。本次实验针对匕首、水果刀两类刀具共计300 张图片以00000x.jpg 的格式重命名,并手动框选标定目标。制作好的数据集在win10 系统和GTX1050 的环境下对目标特征迭代训练20000 次,再进行检测。目标标定,如图5 所示。
图5 目标标定Fig.5 Target Calibration
4.2 实验结果
随机输入具有目标特征的图片进行检测,输入图片分为两类:(1)图片中只包含背景和目标;(2)图片中包含背景和目标且目标被部分遮挡。其中,水果刀和匕首属于以上两种类型的图片各50 张进行测试,共计200 张照片。该实验结果能够有效快速的对目标进行识别,识别时间在0.2s 左右。简单环境识别结果,如图6 所示;复杂环境识别结果,如图7 所示。
图6 简单环境识别结果Fig.6 Simple Environment Identification Results
图7 复杂环境识别结果Fig.7 Complex Environment Identification Results
该实验成功的实现了YB-SP 安防巡逻机器人在视觉模块中对刀具识别功能,实验整体结果,如表1 所示。该方法属于有监督学习的识别方法,RPN 和Fast-RCNN 通过一种简单的交替运算优化方法,实现在训练过程中共享卷积特征,使得建议候选框检测几乎不花费时间,提高检测效率。
表1 识别试验结果Tab.1 Identification Test Results
5 总结
设计的基于机器人视觉的安防巡逻机器人系统能够将视频图像通过Internet 网络WIFI 技术传递给客户端,基于机器学习Faster-RCNN 机器视觉目标识别检测方法高效快速的识别目标并做出警示。客户端(控制端)人员可以通过智能手机或PC 终端远程查看视频和环境情况,可对机器人进行远程控制。实验结果表明,通过Faster R-CNN 算法对自制数据库(水果刀和匕首)进行RPN 网络和Fast R-CNN 网络交替训练,能对目标进行有效的识别,匕首正确率83%,水果刀正确率74%。后期我们将重点针对刀具的具体特点进行进行算法的改进,并实现实时检测与追踪。该YB-SP 安防巡逻机器人打破传统安防系统的局限性,协助工作人员进行治安管理,具有识别效率高、可靠性高、拓展性强,具有广泛的应用前景。