付三丽
(三亚学院理工学院,海南三亚 572022)
随着社会的进步与发展,一些公共场所在特殊时段交通繁忙。尤其是上下班高峰时段,车辆或物体总数超过其容量,导致消防、救援车辆等紧急车辆通行受阻。为降低公共安全事件发生的概率,有必要通过人工智能视觉技术,对人员密集场的人流量和密集度提前进行预判,以便于公共场所管理部门进行管理[1]。
本文的研究重点是对物体的检测和跟踪,最终将物体的数量保持在特定的监视区域。管理决策者通过嵌入式视觉技术对特定区域的目标物体数量进行统计,当目标物体数量达到阈值时自主进行决定,并采取相应措施。
嵌入式视觉是指一种通过视觉方法理解周边环境的机器。本文设计并实现了一种基于嵌入式机器视觉学习的目标检测及特定目标模型特征的机器视觉识别应用系统[2]。机器视觉系统包括二部分,一是通过机器视觉对特定目标的检测,二是对行人模型特征的提取。
在计算机PC 端YOLOv5 环境下建立行人模型,在树莓派YOLOv5 环境下通过摄像头实现对行人数量信息的视觉检测,并在显示界面实时统计出监测的行人数量[3]。此外,视觉目标检测系统可对视觉目标数量的阈值进行设定,当目标数量超过预期数值时,监控画面会进行实时计数报警提示。
嵌入式系统的主频、功耗一般比较低,计算能力相对较弱。人工智能算法的复杂度较高,很多情况下需要服务器、GPU 的介入才能实现算法的实时性。然而,嵌入式系统也能满足某些人工智能算法的需求,如人脸识别、语音识别等。嵌入式系统可以作为复杂人工智能产品的数据采集终端或人机交互终端,依靠云端服务器完成人工智能系统的复杂计算任务[4]。
随着机器学习的发展,很多肉眼很难直接量化的特征可以通过深度学习算法的自动学习来获取。很多通过传统算法无法量化的特征也可以利用深度学习实现量化,特别是在图像分类、目标识别等问题上有显著作用。机器视觉主要是用计算机模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制[5]。
行人监测主要是通过行人模型识别器,在Python 下搭建行人识别环境。当有行人信息通过目标区域时,就会将目标行人框选出来,通过DeepSORT 算法对目标行人进行跟踪,并将摄像头监测到的行人数量信息实时统计出来[6]。
传统的行人检测装置主要是通过相关设备上搭载的摄像头实现对行人信息进行采集,从而实现对目标信息的检测,本文设计的行人信息检测检测是通过PC 端YOLOv5 环境下对行人图片信息特征的标注、训练,提取出行人图像信息特征,建立行人模型文件。然后在树莓派YOLOv5 环境下导入行人模型,并通过摄像头实现对行人信息的实时检测[7]。此外,通过DeepSORT 算法还可以对行人进行轨迹跟踪及数量统计。
传统目标跟踪算法采取的是SORT 算法,由于SORT 算法是比较粗糙的追踪算法,在物体发生遮挡时容易丢失ID。而DeepSORT 算法在SORT 算法的基础上增加了级联匹配和新轨迹的确认,性能更优。本文设计的目标识别系统除了对目标信息进行检测外,还能对目标进行实时跟踪和计数[8]。
系统目标识别硬件涉及PC 端和可移动监控平台,其中PC端用于训练目标识别的模型,可移动监控平台用于对目标区域行人数量信息进行实时检测并统计数量。树莓派处理器如图1所示,它是一款基于ARM 的微型电脑主板,以SD/MicroSD 卡为数据存储器,主板搭载有4 个USB 接口和1 个千兆以太网接口,可连接键盘、鼠标和网线,同时拥有模拟信号的视频输出接口和HDMI 高清视频输出接口。以上部件全部整合在一张仅比信用卡稍大的主板上,可以实现普通PC 机的基本功能,只需接通电视机和键盘,就能实现电子表格、文字处理、游戏、播放高清视频等功能[9]。
目标识别系统软件通过PC 端进行环境搭建。PC 端环境搭建需要Acona、Python、PyCharm 进行实验测试环境的搭建。通过PyCharm 加载目标源文件、通过Acona 搭建目标测试的虚拟环境。行人模型是通过Lambel 软件生成的,进行行人图片信息标注,生成行人数据集。通过PyCharm 进行数据集的训练,并生成best.pt 模型文件。然后将模型文件导入到树莓派中,进行行人图片、行人视频、摄像头行人信息的实时识别[10]。
树莓派端配置好YOLOv5 环境后,导入行人模型文件即可进行行人信息的实时监测。树莓派行人模型目标测试结果及目标人数超过预期数值时的报警画面如图2、图3 所示。
图2 行人模型目标测试
图3 目标人数监测报警
通过图2 可知监测画面实现了对目标人物信息的实时监测,并将人物数量的信息在监控画面端进行了实时显示。当监控画面人数超过预期数值的时候,设备将发出实时报警提示(图3)。当目标区域监控数值小于报警最大数值时,监控画面上的红色报警提示信息消失,监控画面恢复正常的目标计数监控状态。
监控程序包括目标识别代码、相关数据包调用代码,目标计数代码,其中目标计数最大数值报警代码如下:
上述代码中的最大数值15 即为目标最大计数实时报警的上限阈值,报警阈值可以通过在程序中进行调整,实现目标计数报警数值的变化。
传统基于视觉的目标识别是基于目标器件的识别器,通过摄像头识别出特定目标模型,并将目标物体显示出来。还有一类基于目标的模型识别通过PC 端将目标信息识别出来,并对目标信息进行特殊标签备注。本文设计的机器目标视觉识别系统通过PC 端训练、生成目标模型,通过树莓派处理器搭载摄像头识别目标物体,跟踪其轨迹,并将目标物体的数量信息实时统计出来。此外,本文设计的视觉目标检测模型增加了检测目标数量超阈值实时报警的功能,并可以通过修改程序调整监控最大人流量的阈值,实现监测设备的无人值守监测功能。
本文基于树莓派处理器实现的机器视觉效果符合预期要求,但视觉识别的相关应用在功能方面还有很大的扩展空间,未来可以结合更复杂的视觉识别报警算法进行视觉识别反馈技术的更新拓展。本文设计的视觉识别检测系统中应用了大量人工智能、机器学习等技术,对科研人员入门机器学习有一定参考价值。