计算机系统应用  2022, Vol. 31 Issue (10): 116-121   PDF    
集装箱病媒生物视觉探寻系统
滕新栋1, 唐宇豪2, 马兴录2, 李晓旭2     
1. 中华人民共和国青岛海关, 青岛 266426;
2. 青岛科技大学 信息科学技术学院, 青岛 266061
摘要:针对传统集装箱病媒生物检测局限于人工检测的问题, 设计了一款基于机器视觉的集装箱病媒生物视觉探寻系统. 系统通过可遥控智能车采集实时视频以及抓取病媒生物的活动, 进而通过深度学习和隔帧检测的方法识别遥控车回传视频中的病媒生物. 系统以YOLOv5模型为训练核心, 采用模块化结构, 实现了集装箱病媒生物的视觉检测. 利用机器视觉提高了检测效率, 为进一步利用机器人检测病媒生物奠定了基础.
关键词: YOLOv5模型    机器视觉    病媒生物    视频传输    深度学习    
Container Vector Visual Search System
TENG Xin-Dong1, TANG Yu-Hao2, MA Xing-Lu2, LI Xiao-Xu2     
1. Qingdao Customs District P.R. China, Qingdao 266426, China;
2. School of Information Science and Technology, Qingdao University of Science and Technology, Qingdao 266061, China
Abstract: To tackle the problem that traditional container vector detection is limited to manual detection, this study designs a visual search system for container vectors based on machine vision. The system collects real-time video and captures the activity of vectors through a smart car under remote control. Then, it recognizes the vectors in the video returned by the car through deep learning and inter-frame detection. The system takes the YOLOv5 model as the training core and adopts a modular structure to realize the visual detection of container vectors. Machine vision helps improve detection efficiency and lays the foundation for the further use of robots to detect vectors.
Key words: YOLOv5 model     machine vision     vector     video transmission     deep learning    

最近几年, 人工智能正在迅速崛起, 机器视觉是人工智能正在快速发展的一个分支. 通俗地讲, 机器视觉就是用机器代替人眼来做测量和判断; 机器视觉系统是通过摄像头等图像采集装置将被摄取的目标转换成图像信号, 通过对图像的像素特征进行处理运算得到目标的特征进而根据结果来进行下一步操作[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所示.

3 功能实现 3.1 检测病媒生物的实现

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

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

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所示.

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

图 2 UI设计界面图

图 3 YOLOv5模型结构图

图 4 算法对比结果图

3.2 远程视频传输的实现

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

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

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

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

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, 代码可移植性高, 扩展性良好, 对二次开发友好. 系统针对集装箱传统人工检测方式的弊端, 在智能自动检测方面不懈努力, 对工业智能化、自动化具有重要意义.

参考文献
[1]
凌远坤, 仲志丹, 李栋, 等. 基于机器视觉图像识别及处理的方法. 科技风, 2019(15): 95.
[2]
李柯泉, 陈燕, 刘佳晨, 等. 基于深度学习的目标检测算法综述. 计算机工程: 1–17.
[3]
袁依文,雷斌. 无人机视觉技术在道路裂缝分类中的应用. 机械设计与制造, 2022(5): 235-239.
[4]
郝树新, 林锦州, 刘芳. 机器视觉在汽车质量检验领域的应用研究. 时代汽车, 2021(21): 16-17. DOI:10.3969/j.issn.1672-9668.2021.21.006
[5]
施徐伟, 丁书艺, 储妤, 等. 基于机器视觉的垃圾分拣系统. 电子测试, 2021(21): 35-36, 42. DOI:10.3969/j.issn.1000-8519.2021.21.012
[6]
高继东, 焦鑫, 刘全周, 等. 机器视觉与毫米波雷达信息融合的车辆检测技术. 中国测试, 2021, 47(10): 33-40. DOI:10.11857/j.issn.1674-5124.2020120094
[7]
方骞, 谭青芳, 唐霞. 基于机器视觉的汽车轮毂角度检测方法研究. 机械管理开发, 2021, 36(10): 152-154.
[8]
何信华, 赵龙. 基于改进高斯混合模型的实时运动目标检测与跟踪. 计算机应用研究, 2010, 27(12): 4768-4771.
[9]
杜学峰, 高越, 杨伟, 等. 基于机器视觉的车辆检测. 汽车实用技术, 2021, 46(15): 48-50.
[10]
舒昂. 基于机器视觉的太阳能电池片分选系统[硕士学位论文]. 武汉: 武汉纺织大学, 2021.
[11]
都胡平. 基于机器视觉的光伏电池片位置检测与缺陷识别方法研究[硕士学位论文]. 杭州: 杭州电子科技大学, 2020.
[12]
赖永才. 集装箱安全相关要求解析. 中国船检, 2021(10): 41-45. DOI:10.3969/j.issn.1009-2005.2021.10.012
[13]
滕新栋, 陈晓光, 董梅, 等. 用于集装箱隐匿病媒生物监测的智能探寻抓取机器人: 中国, 109822546A. 2019-05-31.
[14]
陶文玲, 侯冬青. PyQt5与Qt设计师在GUI开发中的应用. 湖南邮电职业技术学院学报, 2020, 19(1): 19-21. DOI:10.3969/j.issn.2095-7661.2020.01.006
[15]
曾晨, 沈宫新. 基于Python的线性回归性能分析. 大众科技, 2019, 21(11): 5-6, 12. DOI:10.3969/j.issn.1008-1151.2019.11.002
[16]
El-Bazzal Z, Ahmad AM, Houssini M, et al. Improving the performance of TCP over wireless networks. 2018 6th International Conference on Digital Information, Networking, and Wireless Communications (DINWC). Beirut: IEEE, 2018. 12–17.
[17]
侯春叶. 基于TCP/IP的多线程通信及其在远程监控系统中的应用. 数据通信, 2017(3): 39-41. DOI:10.3969/j.issn.1002-5057.2017.03.009
[18]
李旭冬, 叶茂, 李涛. 基于卷积神经网络的目标检测研究综述. 计算机应用研究, 2017, 34(10): 2881-2886, 2891. DOI:10.3969/j.issn.1001-3695.2017.10.001
[19]
Zelinsky A. Learning OpenCV—Computer vision with the OpenCV library. IEEE Robotics & Automation Magazine, 2009, 16(3): 100.