基于YOLOv5算法的水位智能监测系统
Intelligent Water Level Monitoring System Based on YOLOv5 Algorithm
摘要: 近年来,图像识别技术快速发展,为了实现水位数据前端处理,本论文提出了将YOLOv5算法用于前端处理水位监测数据的方案。本方案与传统方案最大的不同之处在于数据处理方式,本方案直接将YOLOv5算法嵌入集成单片机中,在前端进行数据转换,最后将结果显示在终端,传统方案需要将数据传输回服务器中。论文实验数据的采集,考虑了不同测量地点和光照角度等因素,具有真实性。最后将YOLOv5算法的实验数据与YOLOv4、hog + svm和Faster RCNN算法进行对比,并以F1作为比较标准。结果显示:在验证集下,YOLOv5算法的mAP值和准确率等指标均表现优异,F1值高于Faster RCNN将近4%,高于HOG + SVM将近12%,在GPU和CPU环境下,单张图片检测时间分别为15 ms、125 ms,说明YOLOv5算法在各种复杂环境下的均能适应图像识别任务,具有高识别率和鲁棒性。
Abstract: In recent years, image recognition technology has developed rapidly, in order to achieve front-end processing of water level data, this paper mainly proposes a scheme of using YOLOv5 algorithm for front-end processing of water level monitoring data. The biggest difference between this scheme and traditional schemes lies in the data processing method. This scheme directly embeds the YOLOv5 algorithm into the integrated microcontroller, performs data conversion in the front-end, and finally displays the results in the terminal. Traditional schemes require data transmission back to the server. The collection of experimental data in the paper takes into account factors such as different measurement locations and lighting angles, and has authenticity. Finally, compare the ex-perimental data of YOLOv5 algorithm with YOLOv4, hog + SVM, and Faster RCNN algorithms, and use F1 as the comparison standard. The results show that under the validation set, the YOLOv5 algorithm performs excellently in terms of mAP value and accuracy, with an F1 value nearly 4% higher than Faster RCNN and nearly 12% higher than HOG + SVM. In GPU and CPU environments, the single image detection time is 15 ms and 125 ms, respectively. This indicates that the YOLOv5 algorithm can adapt to image recognition tasks in various complex environments, with high recognition rate and robustness.
文章引用:白海洋, 林俊宪, 陈家合, 张柳, 周璇滢. 基于YOLOv5算法的水位智能监测系统[J]. 计算机科学与应用, 2023, 13(6): 1244-1256. https://doi.org/10.12677/CSA.2023.136122

1. 引言

图像识别技术广阔应用于水文、安防、医疗、交通等领域,孙英豪等 [1] 研究了基于图像识别的无标尺水位测量技术,为河道和水库的水位实时测量提供了技术支持,杨宇等 [2] 引入目标追踪算法,实现了对特定动态目标的准确识别与追踪的功能。在本论文中,主要研究图像识别技术运用在水位测量中的运用。水位测量对于农田灌区和河流河道十分重要,它既能辅助实现水资源集约化,又能为防汛抗旱、水利工程的管理提供水情信息。

市面上已经陆续出现了以图像识别为核心的监测技术,成功实现了水位的自动读数,其工作原理主要是利用前端摄像头拍摄水尺照片,再将图像数据传回数据中心,但是,这个过程极其消耗数据流量。如果水位数据提前在前端就处理完毕,直接得到水位结果,就能极大地提升工作效率。

本论文研究的基于YOLOv5算法的水位智能监测系统,能弥补当前水位测量的缺陷。并且,在水位监测领域中,利用机器学习辅助预报水位的运用,已经有了诸多成功案例,张帆等 [3] 提出一种结合移动激光和视频图像处理技术的方法,去避免在测量中由于杂物和水渍的干扰问题,取得了不错的效果。李涛等 [4] 研究了人工智能技术在水利工程中的运用,并详细分析了人工智能技术的具体细节。

傅启凡等 [5] 提出了基于语义分割的视频水位监测方法,相对于传统监测方法,效果更佳。

YOLO算法是基于单阶段检测的目标检测算法之一,它把目标检测等价转换为一个回归问题。首先,将需要检测的图片调整为448 × 448大小,整体输送到CNN网络中,仅仅经过一个神经网络,该图片被划分成7 × 7的网格。它不同于RCNN模型,RCNN网络模型也就是通过SVM [6] 来进行分类操作。RCNN模型需要生成候选区域并对该区域进行分类,它直接将边界框所属类别和位置直接在输出层输出,输出结果是7 × 7 × 30的张量(tensor),30代表维度,从结果中可以知道对象的可能位置和置信度,最后采用NMS算法 [7] 选择出最可能的结果。基于以上原理,YOLO算法检测速度比传统算法更快,准确率也更高。

2. 目标识别算法

2.1. 目标对象分析

水位识别需要较高的精确度,所以,在采集水位测量图片时,考虑了不同时间段、距离、角度、环境等因素,采集不同场景的图片,保证数据多样性、真实性和严谨性。

Figure 1. Real data acquisition and identification renderings

图1. 实景采集数据和识别效果图

本论文本次采集图片5000余张,如图1即为实景采集部分图片,取样水域、取样距离、取样角度、取样时间和取样光线均不同,数据集庞大,本论文研究仅选取图部分代表性图片。

2.2. 算法简介

传统方法有adaboost + harr、HOG + SVM等,虽然性能稳定,但是检测准确率相对较低,传统机器学习算法Two-stage,主要是Faster R-CNN和Mask R-CNN [8] ,它们对于小目标检测效果不佳,深度学习方法one-stage,主要是YOLO算法,YOLO算法从YOLOv1到YOLOv5,不断克服以前算法的不足,检测速度和精度不断提升,YOLOv5算法相对于YOLOv4算法,检测平均精度并没有提升,但是YOLOv5算法用户友好,均值权重文件更小,代码易读,模型训练和推理时间更快速。

2.3. 水位智能监测系统中YOLOv5算法的特点

2.3.1. 网络摄像头

网络摄像头连接树莓派单片机,树莓派单片机连接储能电池,储能电池连接太阳能电板,网络摄像头直接拍摄监测水尺。

2.3.2. 前端数据处理

利用单片机在前端集成将获取与处理数据合并,实现实时监测,确保了数据的真实性与可靠性。

2.3.3. 采用新型图像处理算法

采用YOLO识别算法,依靠大量素材进行机器学习与算法训练,以高效率得到准确的水位数据。

2.3.4. 信息转化

将图像信息转化为低数据量的文本,水位数据传输在水位监测技术中尤为重要,但传统的图像数据在通讯条件较差的农村地区有着巨大的局限性,项目将水位数据转变为低数据量的文本,具有更卓越的实际效果。

2.4. 水位智能监测系统介绍

图2所示,水位智能监测系统的各个部件从编号1到编号9开始,编号1为风速风向测定仪,它与单片机相连接,用于实时风速监测拟合真实水位数据。编号2为太阳能电池板,用于全套设备的发电。编号3为智能网络摄像头,用于水位图像采集与网络传输。编号4为不锈钢杆件,用于支撑整体结构,固定并搭载太阳能电板、摄像头等设备,其表面进行热镀锌处理,防止受潮老化。编号5为树莓派单片机,作为处理图像数据,转化数据格式,软件控制的信息终端。编号6为大容量电池,储存太阳能,维持设备24小时正常工作。编号7为高强度发光器,用于夜间灯光照明。编号8为连通器挡板,用于减小由于波浪影响导致的水位偏差,保证水面稳定,其表面布满渗水孔,维持与外界水位一致。编号9为普通水,是被观测对象,其精度为1 cm。其实景模型图如图3所示。

水位智能监测系统的工作模式分为拍摄阶段、数据处理阶段和维护阶段。

在拍摄阶段中,智能网络摄像头2与集成单片机5相连,终端控制系统利用无线传输模块远程打开设备电源,智能网络摄像头2与集成单片机5开始工作,集成单片机5控制智能网络摄像头2连续拍摄普通水尺9得到多张水位图像数据图片。

在处理阶段中,集成单片机5利用嵌入的YOLO算法得到相应的图像模型,而后利用数据转换算法得到对应水位数据,并转化为文本数据封存。文本数据利用无线传输模块再次返回终端得到显示结果,无线传输模块设置在集成单片机顶部,且电脑终端与集成控制器之间通过无线传输模块利用中国移动传输。

在维护阶段中,主要是从电能储备、风向监控、光照保障、防止水波和设备固定等方面去处理。电能储备:设备初始时蓄电池6已由太阳能电池板2发电充满,且电能足以支持装置日常使用,蓄电池6和集成单片机5设置在电子装置盒内,蓄电池6为可充电电池,太阳能电池板2设置在不锈钢杆件4左边且与蓄电池6连接。风向监控:风速风向测定仪1装配于智能网络摄像头2顶部,用以监测实时风速拟合真实水位数据。光照保障:高强度发光器7集成于智能网络摄像头2中,用于夜间或灯光照明不良时刻的水尺拍摄。防止水波:普通水尺9在防浪板8中,防止水面起伏导致测量数据出现严重偏差。设备固定:智能网络摄像头2嵌套在不锈钢杆件4上,并与集成单片机5相连,实时拍摄普通水尺9水位高度并传输至集成单片机5中。

Figure 2. Reality structure diagram

图2. 实景结构图

Figure 3. Real scene model

图3. 实景模型图

2.5. YOLOv5算法在水位智能监测系统中的运用步骤

2.4小节已经对水位智能监测系统进行了流程化的描述,具体YOLOv5算法在该系统中的技术方案将在以下环节进行展开,本实施细仅为了说明细节,不是为了限制本论文的保护范围。研究步骤包括水尺图片采集、图像前端处理、水位测算、文本数据转换等。发明内容:提供基于YOLO算法的图像识别方法,通过对摄像头采集到的水尺图片进行图像处理。

2.5.1. 水尺图片采集

智能网络摄像头2与集成单片机5相连,终端控制系统利用无线传输模块远程打开设备电源,智能网络摄像头2与集成单片机5开始工作,集成单片机5控制智能网络摄像头2连续拍摄普通水尺9得到多张水位图像数据图片。

2.5.2. 图像前端处理

人工识别若干水尺单位刻度rect,水尺与水面基线交界处rect-max并进行图像标注。将图像标注的训练集与验证集导入yolov5s.yaml进行机器学习,得到初始算法模型,然后,集成单片机5利用嵌入的YOLO算法得到相应的图像模型。

2.5.3. 水位测算

得到相应的图像模型之后,利用数据转换算法得到对应水位数据,并转化为文本数据封存。无线传输模块设置在集成单片机顶部,且电脑终端与集成控制器13之间通过无线传输模块利用中国移动传输,文本数据利用无线传输模块再次返回终端得到显示结果。

2.5.4. 文本数据转换

正常水尺识别分析。由摄像头距离水尺距离计算固定视距比例J,然后计算图上“E”的固定长度L0,由rect-max长度计算水位数据L。

水尺结垢,遮挡条件下识别分析。由算法训练模型可得到水尺单个“E”图像长度Li ( i = 1 , 2 , 3 , 4 , ),“E”个数n,以及水尺露出水面图像长度Lall,舍去最大值与最小值,计算图像平均长度, L 0 = i = 1 n L i / n ,计算图像长度与实际长度比例关系J:J = L0/5,据比例关系计算水尺露出水面实际长度L: L = ( 5 L a l l / L 0 ) + A + B + C 。A为风速经验系数,B为视距经验系数,C为温度经验系数。

2.6. YOLO损失函数

LossFunction = λ c o o r d i = 0 S 2 j = 0 B 1 i j o b j [ ( x i x ^ i ) 2 + ( y i y ^ i ) 2 ] + i = 0 S 2 j = 0 B 1 i j o b j [ ( w i w ^ i ) 2 + ( h i h ^ i ) 2 ] + i = 0 S 2 j = 0 B 1 i j o b j [ ( C i C ^ i ) 2 ] + λ c o o r d i = 0 S 2 j = 0 B 1 i j o b j ( C i C ^ i ) 2 + i = 0 S 2 1 i o b j C c l a s s e s ( p i ( C ) p ^ i ( C ) ) 2

x i , y i 在公式中代表的含义是:预测对象的x轴与y轴的直角坐标内的数值;

x ^ i , y ^ i 在公式中代表的含义是:x, y在直角坐标系中的实际坐标数值;

w i , h i 在公式中代表的含义是:预测对象的宽度值和高度值;

w ^ i , h ^ i 在公式中代表的含义是:实际对象的宽度值和高度值;

C i 为预测对象的类别, C ^ i 为实际对象的类别;

公式第四、五排分别预测项目背景置信度和对象类别。

P i ( C ) 为预测对象的置信度, P ^ i ( C ) 为实际对象的置信度;

λ c o r d λ n o o b j 是权值系数,目的是平衡各项的Loss比重。取值分别为5和0.5。

B和S分别表示单个矩形边界框和单个网格单元,obj和noobj分别代表存在和不存在目标对象。

2.7. 模型的训练和调整

数据集内有520张水位图像,5112种测量实况。其中380张用来训练和验证模型的数量分别为380,140,约为3:1。

2.7.1. 试验运行平台

本文中所有测试和训练都在微型电脑树莓派上进行,8 GB内存,配置linux系统,同时安装配置了anaconada [9] 环境。训练好的算法模型加载进入树莓派,项目所有程序由python语言编写,Pytorch [10] 框架,使用树莓派定时控制摄像头拍照,然后识别图像数据直接得到水位文本数据,最后通过无线网络模块传回数据终端。

在CPU和GPU [11] 上都需要进行模型的测试,训练时权值每更新一轮,就将BN进行正则化 [12] ,每一层都加入丢弃层,丢弃比值1:2,动量0.95,权值衰减为0.0005,起始学习率为0.1%,迭代5千次后,衰减为原来的0.1,并且在一开始设置burn_in参数,保证模型稳定性,其值为1 000,实际计算如下:

= × ( / burn_in ) 4

2.7.2. 数据集预处理

用矩形框对图像进行人工标注之后,然后用目标对象的实际数据分别比上图像的宽度值、高度值,得出一组0~1范围分布的结果,方便更快更好地读取不同类型的图像,这组数据为:类别序列index,目标中心坐标x和y,宽度高度w, h,边框右下角坐标x1, y1,左上角坐标x2, y2

x = x 1 + x 2 2 w , y = y 1 + y 2 2 h w = x 1 x 2 w , h = y 1 y 2 h

在训练前,需要数据增强,微调色调、曝光和色量的变化范围,最终生成61,200张图片对象供训练使用。还需计算出锚点的预训练数值。

2.7.3. 模型的测试与评估

最终模型训练训练图像61,200张,耗时4 h,Loss变化图如图4所示。可以看出,随着迭代次数的增加,box_loss和obj_loss的值无限趋于0.02,cls_loss无限趋于0,准确率在不断提高。

Figure 4. Diagram of the results file

图4. Results文件图表

在本论文中使用召回率recall [9] ,准确率precision [13] ,IOU和mAP [14] 来评估训练好的模型。

Precision = TP TP + FP

Rcall = TP TP + FN

mAP = 1 C k = i N P ( k ) R ( k )

TP:真正样本量;

FP:假正样本量;

FN:假负样本量;

C:类别数量;

N:引用阈值的量;

K:阈值;

P(k):准确率;

R(k):召回率。

通过mAP值找出性能最优的模型。然后调整阈值、召回率、准确率和IOU等值,使之满足监测需求。

3. 模型试验结果分析

用mAP值去评估训练好的模型整体性能,在mAP值最大的模型中,比较不同阈值下召回率、准确率和IOU [15] 的改变量,确定最优阈值,然后对不同环境下的水位进行检测,并与其他算法进行横向对比。

3.1. 最优模型的寻找

从众多模型中找出mAP最大的模型,由图4可知,稳定后的metrics/mAP_0.5高达0.96,metrics/mAP_0.5:0.95。如图5所示,PR_curve [16] 曲线很稳定,波动幅度很小,进一步说明此次训练的效果很好。

Figure 5. PR_curve

图5. PR_curve

3.2. 类别阈值的选择

阀值取0.5,结合准确率、召回率、IOU和F1指标。

F 1 = 2 × precision Rcall precision + Rcall

F1是衡量指标,可以看到all classes 0.97 at 0.707,也就是说,所有类别的判断精度大约在0.97左右。rect的性能略优于rect-max,但是两者结果无限逼近,rect代表人工识别若干水尺单位刻度,rect-max代表水尺与水面基线交界处。

图6即为F1结果图,此时准确率和召回率均大于0.97,F1值也表现优异,模型检验结果良好。

Figure 6. F1 result plot

图6. F1结果图

3.3. 实际效果的检验

3.3.1. 不同测量地点的对比试验

Table 1. Experimental results of four algorithms at different measurement sites

表1. 四种算法对不同测量地点的实验结果

3.3.2. 不同光照角度的对比试验

Table 2. Experimental results of the four algorithms under different lighting conditions

表2. 四种算法对不同光照条件下的实验结果

3.3.3. 不同测量时间的对比试验

Table 3. Experimental results of four algorithms for different measurement times

表3. 四种算法对不同测量时间的实验结果

3.3.4. 不同天气状况的对比试验

Table 4. Experimental results of four algorithms on different weather conditions

表4. 四种算法对不同天气状况的实验结果

表1~4,分别展示了YOLOv4 [17] 、YOLOv5 [18] 、hog + svm [19] 和Faster RCNN [20] 算法在不同工况下的表现,数据显示,在所有工况条件下,YOLOv5算法和YOLOv4算法效果甚好,Faster RCNN算法整体表现名列前茅,HOG + SVM算法准确率最低,YOLOv5算法平均精度略低于YOLOv4,但是YOLOv5算法推理时间更短,YOLOv5算法检测100幅图像,模型在GPU和CPU下分别花费了1.5 s和12.5 s,平均每幅图像检测时间为15.00 ms和125.00 ms。由于水位在一定时间内,处于稳定的高度,变化频率不大,所以能够满足实际要求。

4. 总结

当前水位图像识别技术,利用前端摄像头拍摄照片,再传回数据中心进行处理,这个过程比较费时间和流量,本文论述了基于YOLOv5算法的水位智能监测系统,提供了在前端识别处理水位数据,并将水位数据转化为文本进行传输,极大的降低了传输成本。

本论文使用了YOLOv5算法,其依靠大量素材进行机器学习与算法训练之后才得到,除此之外之外,还创造性地升级了实验设备。网络摄像头连接树莓派单片机,就可以直接拍摄监测水尺。单片机的特点是,体型小巧,功能强大,数据处理能力强。单片机将获取与处理数据进行合并,确保了数据的真实性。在信息转化方面,将图像信息转化为低数据量的文本,降低了传输成本,具有更卓越的实际效果。

为了证明YOLOv5算法在水位测量中的准确性,在实验环节,分别使用了YOLOv4、hog + svm和Faster RCNN三种算法进行结果对比,YOLOv5算法的mAP值和准确率等指标均表现优异,F1值高于Faster RCNN将近4%,高于HOG + SVM将近12%,在GPU和CPU环境下,单张图片检测时间分别为15 ms、125 ms。

通过四种算法在该项目中的量化表现,可以得出,YOLOv5算法在水位智能监测系统中的准确性能满足实际需求,且运算速度最优,具有高识别率和鲁棒性。

参考文献

[1] 孙英豪, 丁勇, 李登华, 谢东辉. 基于图像识别的无标尺水位测量技术研究[J/OL]. 水利水运工程学报: 1-9. http://kns.cnki.net/kcms/detail/32.1613.TV.20230227.1329.004.html, 2023-02-28.
[2] 杨宇, 刘宇红, 彭燕, 孙雨琛, 张荣芬. 基于机器视觉的目标识别追踪算法及系统设计[J]. 传感器与微系统, 2020, 39(4): 92-95+98.
[3] 张帆, 靳晓妍. 基于视频图像的嵌入式水位监测方法[J]. 中国测试, 2022, 48(12): 140-145.
[4] 李涛, 徐高, 梁思涵, 李英睿, 王敏, 李冰. 人工智能图像识别在水利行业的应用进展[J]. 人民黄河, 2022, 44(11): 163-168.
[5] 傅启凡, 路茗, 张质懿, 纪立, 丁华泽. 基于语义分割的水位监测方法研究[J]. 激光与光电子学进展, 2022, 59(4): 89-100.
[6] 周婷, 汪炎, 邹俊, 李辰, 崔玉环, 王笑宇, 谢传流, 夏萍. 基于PCA和SVM的遥感影像水体提取方法及验证[J]. 水资源保护, 2023, 39(2): 180-189.
[7] 杨有为, 周刚. 面向自然场景文本检测的改进NMS算法[J]. 计算机工程与应用, 2022, 58(1): 204-208.
[8] Bharati, P. and Pramanik, A. (2020) Deep Learning Tech-niques—R-CNN to Mask R-CNN: A Survey. In: Das, A., Nayak, J., Naik, B., Pati, S. and Pelusi, D., Eds., Computa-tional Intelligence in Pattern Recognition. Advances in Intelligent Systems and Computing, Vol. 999, Springer, Singa-pore, 657-668.
https://doi.org/10.1007/978-981-13-9042-5_56
[9] Mikkelsen, L., Moesgaard, K., Hegnauer, M. and Lopez, A.D. (2020). ANACONDA: A New Tool to Improve Mortality and Cause of Death Data. BMC Medicine, 18, Article No. 61.
https://doi.org/10.1186/s12916-020-01521-0
[10] Men, Q. and Shum, H.P.H. (2022) PyTorch-Based Implementation of Label-Aware Graph Representation for Multi-Class Trajectory Prediction. Software Impacts, 11, Article ID: 100201.
https://doi.org/10.1016/j.simpa.2021.100201
[11] Li, F., Wang, Y., Jiang, J., et al. (2023) Heterogeneous Acceleration Algorithms for Shallow Cumulus Convection Scheme over GPU Clusters. Future Generation Computer Systems, 146, 166-177.
https://doi.org/10.1016/j.future.2023.04.021
[12] 江铃燚, 郑艺峰, 陈澈, 李国和, 张文杰. 有监督深度学习的优化方法研究综述[J]. 中国图象图形学报, 2023, 28(4): 963-983.
[13] 刘昱, 于坤霞, 李鹏, 李占斌, 张晓明. 黄河中游典型流域水文统计模型精度集合评价[J]. 人民黄河, 2023, 45(4): 20-27.
[14] 周熙然, 李德仁, 薛勇, 汪云甲, 邵振峰. 地图图像智能识别与理解: 特征、方法与展望[J]. 武汉大学学报(信息科学版), 2022, 47(5): 641-650.
[15] Wu, S., Yang, J., Wang, X. and Li, X. (2022) IoU-Balanced Loss Functions for Single-Stage Object De-tection. Pattern Recognition Letters, 156, 96-103.
https://doi.org/10.1016/j.patrec.2022.01.021
[16] Cao, Y., Chen, Z., Wen, T., et al. (2022) Rail Fastener Detection of Heavy Railway Based on Deep Learning. High-Speed Railway, 1, 63-69.
https://doi.org/10.1016/j.hspr.2022.11.001
[17] Ouf, N.S. (2023) Leguminous Seeds Detection Based on Convolutional Neural Networks: Comparison of Faster R-CNN and YOLOv4 on a Small Custom Dataset. Artificial In-telligence in Agriculture, 8, 30-45.
https://doi.org/10.1016/j.aiia.2023.03.002
[18] Yuan, J., Zheng, X., Peng, L., et al. (2023) Identification Method of Typical Defects in Transmission Lines Based on YOLOv5 Object Detection Algorithm. Energy Reports, 9, 323-332.
https://doi.org/10.1016/j.egyr.2023.04.078
[19] Sharma, A.K., Nandal, A., Dhaka, A., et al. (2023) HOG Trans-formation Based Feature Extraction Framework in Modified Resnet50 Model for Brain Tumor Detection. Biomedical Signal Processing and Control, 84, Article ID: 104737.
https://doi.org/10.1016/j.bspc.2023.104737
[20] Bandong, S., Nazaruddin, Y.Y. and Joelianto, E. (2023) Faster RCNN Mixed-Integer Optimization with Weighted Cost Function for Container Detection in Port Automation. Heliyon, 9, E13213.
https://doi.org/10.1016/j.heliyon.2023.e13213