APP下载

集装箱病媒生物视觉探寻系统①

2022-11-07滕新栋唐宇豪马兴录李晓旭

计算机系统应用 2022年10期
关键词:界面报警集装箱

滕新栋,唐宇豪,马兴录,李晓旭

1(中华人民共和国青岛海关,青岛 266426)

2(青岛科技大学 信息科学技术学院,青岛 266061)

最近几年,人工智能正在迅速崛起,机器视觉是人工智能正在快速发展的一个分支.通俗地讲,机器视觉就是用机器代替人眼来做测量和判断; 机器视觉系统是通过摄像头等图像采集装置将被摄取的目标转换成图像信号,通过对图像的像素特征进行处理运算得到目标的特征进而根据结果来进行下一步操作[1,2].特别是在工业领域,现已逐渐应用在一线,其次主要应用于半导体、电子制造、制药、包装等领域.如今在汽车制造乃至新能源行业,机器视觉技术的应用也正在逐步发展[3-11].

在大部分港口、机场等出入境的场所,对集装箱内病媒生物的检测是非常关键的环节[12],特别是在特殊的疫情期间,在保证集装箱不含病源的前提下,才能确保集装箱的安全出入境.面对数量多且空间狭窄的集装箱,为了减少疫情传播,解决病媒生物检测问题,需要一款具有检测功能的智能机器人帮助工作人员快速地进行病媒生物的检测及清理.

本系统将病媒生物检测系统与智能探寻抓取机器人相结合,以Python 语言作为编程核心,设计了检测本地视频和远程视频、检测报警以及检测记录的显示和存储等功能.针对现如今人工检测繁锁的局限性,通过深度学习YOLOv5 训练模型实现了病媒生物的检测,保障了出入境的安全性,提高了集装箱的通关效率.

1 系统设计

此集装箱病媒生物检测系统分为4 个模块.分别是本地视频检测模块、远程视频传输及实时检测模块、检测报警模块、检测记录显示和存储模块,如图1所示.具体的实现可分为检测界面的设计、检测病媒生物的实现、远程视频传输的实现、检测报警模块的实现、检测记录显示和存储的实现.

图1 系统设计结构图

所涉及的硬件智能探寻抓取机器人,属于隐匿病媒生物监测技术领域,解决了现有装置不能够识别隐匿病媒生物的种类的问题; 其技术特征是: 包括抓取机构、视觉检测装置和底盘,所述底盘的左侧安装有抓取机构,底盘的上方设置有视觉检测装置,视觉检测装置上安装有探照灯和监控相机,所述探照灯和监控相机与视觉检测装置的连接方式为卡接,底盘的底部安装有多个滚轮,能够快速探寻识别是否存活隐匿病媒生物,提高了对隐匿病媒生物的抓取效率,从而避免隐匿病媒生物污染集装箱[13].

系统正常工作流程为: 获取远程视频或本地视频后,显示在PC 端界面,识别视频,当在某一帧图片中检测到病媒生物时,将其标注并报警,同时将图片保存到文件夹中并显示在界面中,后续工作人员可通过操控现场机器人进行病媒生物的抓取和清理.

2 界面设计

此集装箱病媒生物检测系统界面的设计主要是采用Python 库中的PyQt5,它是最强大的GUI 库之一[14],具体使用到QtCore、QtGui、QtWidgets,在PyCharm中使用额外工具(external tools)QtDesigner 进行界面设计.

整个检测界面的风格采用暗色调,界面整体布局具体主要分为4 个区域: 检测视频实时显示区域,在检测本地视频或者接收远程视频时,将视频显示在该label 中; 报警信息显示区域,在检测到病媒生物时,将检测时的具体信息输出在该listview 中; 检测记录显示区域,在检测到病媒生物时,将保存在文件夹中的图片显示该listview 中; 检测模式选项区域,在界面的右下方设置两个按钮,分别命名为远程视频和本地视频,用来控制检测的具体对象.该UI 设计界面如图2 所示.

图2 UI 设计界面图

3 功能实现

3.1 检测病媒生物的实现

检测病媒生物的核心是利用PyTorch 训练YOLOv5训练集也就是自定义病媒生物数据集训练.

YOLOv5 是一种基于深度学习的one stage 检测方法[15].YOLOv5 的模型结构如图3 所示.

图3 YOLOv5 模型结构图

YOLOv5 模型结构主要分布为4 个部分,分别是输入端、Backbone、Neck、Head 输出端,其共有4 个版本分别是 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,主要差异在于depth_multiple 和width_multiple 不同即模型的深度和宽度不同.

此集装箱病媒生物检测系统在YOLOv5 的基础上进行了改进,使用了DIoU、CIoU[15].DIoU 是将目标与anchor (锚框)之间的距离,重叠率以及尺度标准都考虑进去,使目标框回归变得更加稳定,不会像IoU 和GIoU 一样出现训练过程中发散等问题.在将DIoU 替换普通的IoU 评价策略,应用于NMS 中,即DIoU_nms,会使得NMS 得到的结果更加合理有效,方便检测重叠的目标,而且可以直接最小化两个目标框的距离,加快收敛速度.CIoU 是在DIoU 的基础上进行改进.两个函数的使用不但有效提高了检测速率,也能够保证检测精度.

原始版YOLOv5 模型与改进版YOLOv5 模型在经过实验后对比结果如图4 所示.

图4 算法对比结果图

在使用了改进YOLOv5 的基础上又增加了epoch(迭代次数)以提高检测准确度[16].检测结果如图5,其中,图5(a)-图5(d)和图5(i)-图5(l)为增加前结果,其余为增加后结果.

图5 检测结果图 (其中,横坐标表示Epoch 数量)

3.2 远程视频传输的实现

远程视频传输的实现分为两部分,分别是视频发送与接收以及数据处理.

视频的发送与接收基于现场配有嵌入式WiFi 模块的机器人实时捕获的画面,视频流传输的核心在于VS 运行视频获取程序与检测程序进行网络通信[17],VS 作为发送端实时发送视频流,检测程序作为接收端接受视频.在机器人上安装WiFi 模块的小型嵌入式系统,连接WiFi,运行VS 程序获取现场视频,运用TCP[18]将VS 与检测程序实现网络通信,检测程序接收实时的视频流,实现远程视频的实时传输.

数据处理是在检测程序接收到视频流数据之后,利用Numpy[19]进行相应的数据处理,使得到的数据转换成视频并且能够读入检测模型,读入模型之后开始进行检测.

3.3 检测报警的实现

当检测病媒生物时,需要及时提醒工作人员进行抓取清理,防止病媒生物污染集装箱货物产生其他不必要的损失.因此需要设置检测报警模块,及时在检测界面显示报警信息.时间信息尤为重要,准确的时间可以方便工作人员后续查看录像,精准地找到病媒生物存在的时间区域,方便进一步分析调查.滚动式信息的报警方式可以更加显著的提醒工作人员及时处理.检测报警模块的具体实现主要是利用Python 自带的localtime 函数获取具体时间,进一步使用strftime 函数将时间信息格式转换为年月日,后续绑定组件listview,使报警信息可以显示在检测界面的固定区域.

3.4 检测记录显示和存储模块的实现

当检测到病媒生物时,需要截取这一帧图片作为检测记录,这张图片可以再次显示,也可以定向保存到文件夹,方便工作人员后期分析统计.检测记录截取之后,绑定界面组件listview 和model,使其能够显示在检测界面视频下方,并利用OpenCV 的imwrite 将检测记录保存到本地文件夹中,并以报警信息的具体检测时间命名.当视频区域未显示视频时,可以通过点击图片将图片显示到视频显示区域,也可以打开存储检测记录的文件夹打开图片,进行详细查看.

4 实验分析

4.1 功能分析

经过一系列测试,此集装箱病媒生物检测系统的开发已达到预期目标,并且此系统的功能性、准确性以及速度均达到了预期水平.完整的实现了集装箱内病媒生物的检测以及检测之后的报警、存储和抓取清理一整套流程,经过多次测试,其功能实现如图6 所示; 完整实现打印发现病媒生物时间及显示图像,将图像信息保存在电脑的固定文件夹中.功能完善且运行顺畅.

图6 功能实现图

4.2 性能分析

根据实际情况,在此系统只对部分实验数据结果进行展示.精度测试结果如表1 所示,展示了在光线充足和不充足的条件下,对病媒生物分别检测10 次、20 次、40 次的平均检测精度结果.

表1 平均检测结果

在准确性方面主要是体现在识别精度,在光线充足的条件下,平均精度可以达到0.9 左右,即使是在光线不充足的条件下,对病媒生物的识别平均精度也能达到0.8 以上; 在速度方面则是体现在对病媒生物的识别时间,单个病媒生物的识别时间控制在2 s 以内.

5 结 论

集装箱病媒生物检测系统是一种现代化的检测管理方式,结合了深度学习的概念,代表了出入境检测自动化的发展趋势.围绕机器视觉技术、网络通信技术、深度学习方法等计算机视觉领域的相关知识,经过大量的研究,采用了YOLOv5 的训练模型方案并开发实现,经过多次调试,最终实现了集装箱病媒生物的检测.此外,该系统核心编程语言为Python,代码可移植性高,扩展性良好,对二次开发友好.系统针对集装箱传统人工检测方式的弊端,在智能自动检测方面不懈努力,对工业智能化、自动化具有重要意义.

猜你喜欢

界面报警集装箱
不同截面类型钢管RPC界面粘结性能对比研究
国企党委前置研究的“四个界面”
小心,墙纸在报警
鞋子摆放透露的信息
改变集装箱供应链商业模式
台湾海峡两岸间集装箱运价指数(TWFI)
台湾海峡两岸间集装箱运价指数
死于密室的租住者
基于Wonderware平台的分布式报警系统的设计与实现
集装箱与大熊猫