APP下载

基于YOLOv7与JetsonOrin的路面破损检测系统的设计与实现

2023-05-08涂宙霖陈涵深

电脑知识与技术 2023年9期
关键词:深度学习

涂宙霖 陈涵深

关键词:YOLOv7;Jetson Orin;路面破损检测;深度学习

0 引言

近年来,我国公路交通事业得到了快速发展,国家公路网不断建成,截至2021年底,全国公路总里程达到528.07 万公里,公路养护里程达到525.16 万公里[1]。随着国家公路网的不断建设和运营,公路养护需求与日俱增,公路日常养护问题变得日益突出,交通路面的破损,如凹坑、裂缝、坑井以及塌陷[2]等异常问题直接影响交通效率和行车安全。国务院发布的《“十四五”现代综合交通运输体系发展规划》明确提出,要加强交通基础设施养护,加大养护新技术推广力度[3]。因此,为加强道路养护,更好地保障道路质量和安全,对路面破损进行快速、准确的检测已成为当务之急。

公路路面检测主要分为人工检测和自动化检测两类方法,由于人工检测成本高、效率低、主观性强等弊端,无法满足路面破损快速、准确检测的要求[4]。随着传感器、机器视觉、人工智能等新技术的发展,自动化检测系统已成为研究热点。国内外已有不少公司开发出商用路面检测系统:如美国PSI 公司的Path?Runner 多功能道路检测车[5]、加拿大Fugro Roadware 公司的ARAN系统[6]、国内中公高科的CiCS多功能快速检测车[7]和武大卓越科技的ZOYON-RTM智能道路检测系统[8]。这些商用路面检测系统较多应用于路面质量的周期性检测和评估,售价基本在百万元级别,成本较高、无法推广到日常路面巡检工作。缺乏高性价比的自动化检测设备,严重制约了检测效率的提升和信息化管理系统的作用。

因此,研究一种检测性能达到人工巡检的诊断水平,同时又具有较低成本的路面破损自动化检测系统具有深远的意义。本文针对上述问题,设计了一种基于深度学习模型YOLOv7与边缘检测设备Jetson Orin 的路面破损检测系统,利用摄像头拍摄图像,边缘计算设备Jetson Orin进行图像处理,利用YOLOv7算法进行路面破损检测。该系统体积小、性能强、算法准确率高,可部署在普通的家用汽车进行道路破损实时检测。

1 系统总体框架

系统整体设计如图1所示,整个系统包含以下几个模块:图像采集传感器、路面破损检测主机、显示器、GPS模块。

1.1 图像采集传感器

图像采集传感器可采用两种方案,一种方案是选用罗技的StreamCam摄像头,该USB摄像头支持拍摄每秒60帧1080p Full HD的画面,具备自动对焦及调整曝光,并采用USB-C 连接,实测效果很好;另一种方案选用海康威视MV-CA020-10GC工业相机,传感器型号为IMX430,传感器类型为CMOS,耙面尺寸为1/1.7″,像元尺寸为4.5μm,分辨率为1624×1240,最大帧率为60fps,GigE接口,选用镜头焦距为12mm,最大光圈F1.8。

1.2 破损检测系统主机

破损检测系统主机使用NVIDIA?最新的JetsonOrin开发套件,算力高达275 TOPS,性能是上一代产品Jetson AGX Xavier的8倍,适用于多个并发AI 推理管道,此外它还可以通过高速接口连接多个传感器。主要配置为CPU:12 核Arm Cortex-A78AE v8.2 64 位处理器,具有3MB L2+6MB L3缓存,GPU具有2048个NVIDIA CUDA 内核和64 个张量内核@1GHz,采用NVIDIA Ampere 架构;内存32GB 256 位LPDDR5 @204.8 GB/s,硬盘为64GB eMMC 5.1 闪存,具有3 个USB3.2,整机功耗在15~50W可设定。

1.3 GPS 模块

GPS模块选用深圳星河微G6301模块,内部采用ublox M8030 解决方案,支持GPS+GLONASS 双模定位,内置FLASH,USB 供电,自适应1200~921600 波特率,1Hz输出,NMEA-0183协议输出。

2 软件设计

如图2所示,整个系统主要分为两大模块组成,第一部分为逻辑界面模块,主要负责图像输入、图像预处理、结果可视化等功能;第二部分为系统算法,实现路面破损的识别和分析功能。

路面破损检测算法主要完成路面破损的自动识别,工作流程如图3所示,采用YOLOv7识别当前图像中的路面缺陷的类型及缺陷位置,并且输出的结果可以用于计算路面破损状况指数(PCI) 值。

3 深度学习算法

3.1 YOLOv7算法

YOLO算法作为one-stage目标检测算法最典型的代表,其基于深度神经网络进行对象的识别和定位,运行速度很快,可以用于实时系统。YOLOv7 是目前YOLO系列最先进的算法,在准确率和速度上超越了以往的YOLO系列。在5~160 帧/s范围内,其速度和精度都超过了多数已知的目标检测器,在GPU V100 已知的30 帧/s 以上的实时目标检测器中,YOLOv7 的准确率最高[9]。YOLOv7的检测思路与YOLOv4、YO?LOv5相似,YOLOv7整体的网络架构图如图4所示:

从图4可以看出,将neck层与head层合称为head 层,实际上功能是一样的。首先,先对输入图片预处理,对齐成640×640大小的RGB图片,输入backbone 网络中,根据backbone网络中的三层输出,在head層通过backbone网络继续输出三层不同size大小的fea?ture map,经过RepVGG block 和conv,对图像进行预测,输出最后的结果。YOLOv7的backbone层由若干BConv 层、E-ELAN 层以及MPConv 层组成,其中BConv层由卷积层+BN层+激活函数组成。YOLOv7 的head 层通过SPPCPC 层、若干BConv 层、若干MP?Conv 层、若干Catconv 层以及后续输出三个head 的RepVGG block层组成[10-12]。

3.2 模型训练

3.2.1 硬件环境

实验的软硬件环境如图5所示,硬件为组装的兼容机,CPU 为Intel i5-8500 处理器,24G DDR4 内存,256G硬盘和一块Nvidia GTX3090 GPU。软件的操作系统为Ubuntu18.04 64位。

3.2.2 训练数据集

本文采用数据集为全球开放数据创新应用大赛道路路面病害智能分析算法赛道的公开数据集。该数据由车载监控相机拍摄的道路病害图像,图像数据为RGB JPG 图像,分辨率为1600×1184,包含训练集6000张,测试集A榜2000张,测试集B榜6000张。由于原数据集样本标注一致性较差,所以召集了三位专业人员进行标识框和类型重新标注,把道路病害分为4个类型:裂缝1、井盖2、坑槽3、修补4。本文把原训练集和测试集A榜作为本文模型的训练集(总计8000 张),测试集B榜中随机选取3000个样本作为验证集,用于模型调参。

3.2.3 训练过程

YOLOv7直接使用官方的PyTorch源码,但对图像增强方法中的一些参数做了适当修改,包括尺度变化设定为0.7,透视变换设置为0.001,随机马赛克系数为0.5,混淆系数为0.1,去除上下随机翻转,去除HSV随机变化,以此来保障变换后的路面图像仍能保存真实性。输入图像分辨率设定为960×960,训练周期为200,其他参数使用默认值。

4 系统展示

4.1 系统原型机

组装后的手持原型主机如图6、图7所示,手持操作时使用充电宝升压供电,安装在汽车上时可通过车站充电器供电,原型机可以实时采集路面图像进行识别,准确率达到85%以上,检测速率为15FPS。

4.2 实际道路测试

把原型机的摄像头安装在汽车的挡风玻璃上,主机放置在车辆上,研究开发的软件设置成自动启动后,Jetson Orin主机重启后就会自动运行“路面破损自动检测软件”软件,程序运行后,软件实时显示路面图像,如图8所示。

盒子上安装一个按钮,用于控制是否启动路面破损状况检测,当用户按下該按钮时,系统就会调用内部的路面破损识别模块,进行实时识别和数据上报。当路面不存在破损时,在图像上方显示绿色文字信息,内容为当前坐标信息;当路面存在破损时,如图9 所示,就会根据破损类型使用不同颜色的边框进行区域标注显示,同时图像上方显示内容变成红色,并增加显示破损类型和破损等级。

5 结束语

本文设计了一种基于YOLOv7模型与边缘检测设备Jetson Orin的路面破损检测系统,支持USB摄像头或者工业相机进行道路图像采集,利用边缘计算设备Jetson Orin进行图像预处理,选用YOLOv7模型进行道路破损检测,模型的训练和验证上使用全球开放数据创新应用大赛道路路面病害智能分析算法赛道的公开数据集,可检测出裂缝、井盖、坑槽、修补四种类型的缺陷。系统体积小、成本低、性能强、算法准确率高,可部署在普通的家用汽车进行道路缺陷实时检测。

猜你喜欢

深度学习
从合坐走向合学:浅议新学习模式的构建
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
构建“单元整合、主题牵引”诗歌鉴赏“深度学习”课堂的策略