基于TensorFlow的图像分类水下管道巡检机器人

2022-08-01 04:03赵文超王艳新雍俊飞曾自豪赵春锋
现代计算机 2022年11期
关键词:树莓卷积神经网络

赵文超,王艳新,雍俊飞,曾自豪,赵春锋

(上海工程技术大学工程实训中心,上海 201620)

0 引言

第七届全国大学生工程能力综合竞赛中提出大力鼓励使用AI 技术,组委会提出水下管道巡检机器人竞赛项目,水下机器人在巡检时需识别三维物料形状并进行分类,并根据物料形状以不同颜色指示灯指示。若采用单片机采集图像再寻找特征来判断物料形状的方法,由于运算量大,很难找出三维物料不同角度投影的特征,因此该方法不能用于解决此类问题。本文主要研究基于深度学习的方法来对不同物料分类,经过整体方案以及各类算法的研究,采用嵌入式树莓派硬件系统,基于开源人工智能TensorFlow 深度学习框架,采用Python语言完成图像采集处理、设计合理的卷积神经网络,对附着在管道上的物料进行分类,对结果进行适当的逻辑判断,分类准确率高达100%。

1 系统控制流程

水下机器人的巡检控制程序采用Python 语言开发,在树莓派嵌入式微系统中运行,控制程序流程图如图1 所示。摄像头通过USB 连接在树莓派上,经过图像采集后,通过管道图像进行水下机器人的运行姿态控制,使其沿管道进行巡检。

图1 控制程序流程图

另外,利用OpenCV 将输入的RGB 图像分割成不同通道的图像,提取B 通道图像,将超过设定阈值的小区域面积截取下来,再经过面积过滤,把整幅图像中的物料区域抓取出来并进行高斯模糊处理,采用卷积神经网络辨别物料形状可信度,最后经过逻辑判断输出物料形状。

2 TensorFlow图像分类算法设计

2.1 数据集准备

将机器人置于水下沿管道进行巡检,在水下从不同角度拍摄不同物料(截面形状圆形和正方形)得到一系列图片,使用TensorFlow 工具对图片进行数据增强,并充分打乱,得到能够满足水下巡检物料分类识别的图像数据集,如图2所示,以便用于训练卷积神经网络。

图2 圆柱体和截面正方形的长方体图像数据集

2.2 卷积神经网络的框架

基于TensorFlow 深度学习框架,使用Ten⁃sorFlow的Keras包来搭建卷积神经网络模型。卷积神经网络模型包括卷积层、最大池化层、全连接层、丢失层、激活层与输出层等设计与参数训练。

水下机器人巡检物料分类识别设计的深度学习神经网络模型框架见表1。首先进行数据增强层的设计,使用插值、镜像翻转对数据集进行扩充;其次设计了反复3次卷积层和最大池化层,卷积层采用权重共享和局部感知的方法检测输入图像的所有位置处的某些局部特征,提取原始数据的核心特征,实现输入数据的降维,降低网络模型的复杂度,提高计算速度。最大池化层在图像上对应滤波器大小的区域,得到图像区域的统计值,以此来提取物料图像中的特征。之后的丢失层防止卷积神经网络在训练过程中出现过拟合现象发生;再使用铺平层函数,将提取的特征铺平,以便和全连接层相连;全连接层通过特征层提取物体的各个部分的不同特征,然后通过全连接层整合到一起,最后对应到输出层。

表1 深度学习神经网络模型框架表

选择Adam 作为Optimizer 优化器,Sparse⁃CategoricalCrossentropy 为损失函数,训练20 轮后把训练模型保存为H5类型。

2.3 卷积神经网络模型评估

运行Tensorflow 代码对卷积神经网络训练与验证(Training and Validation)的模型进行评估,得到其训练与验证准确性曲线图(Training and Validation Accuracy)和训练与验证损失曲线图(Training and Validation Loss),如图3 所示。在卷积神经网络的前向传播和反向传播训练过程中,高质量的数据集、强大的网络模型、合理的训练策略可得到较好的深度学习效果。水下机器人巡检搭建的网络模型训练准确度(Train⁃ing Accuracy)在97.5% 以上,其验证准确度(Validation Accuracy)比训练准确度略高。

对于训练与验证损失曲线,训练损失(Training Loss)与验证损失(Validation Loss)需要呈收敛趋势。如图3 所示,模型在几次训练后,两个损失曲线都开始收敛并且在20 轮训练后均为收敛状态,证明此训练模型可作为实践模型。可以看出,训练损失还有改进的空间,此后将会增加模型的复杂度。此外,验证损失也可尝试通过使用数据增强,通过添加更多数据来提高通用性与普适性。

图3 训练与验证准确性曲线图(a)和损失曲线图(b)

3 模型部署与运行效果

3.1 训练模型的转换

水下机器人巡检控制与物料分类识别主控系统采用树莓派,考虑到树莓派处理速度,使用TensorFlow 转换命令将H5 类型模型转换为计算量小、正确率高且损失少的TFLite 模型。训练模型转换成TFLite模型的TensorFlow 转换命令表示如下。

转换完成后得到文件dec_model.tflite,树莓派中模型运行还需要一个标签文件(例如dec_la⁃bel.txt 文件),里面添加识别物料的标签(rec cir),最终树莓派系统进行物料分类识别。

3.2 实际运行效果

在树莓派上安装好环境运行代码,检测管道上的物料效果如图4 和图5 所示。图4 为截面正方形的长方体、正方体物料识别效果,图5为圆柱体物料识别效果。图4 与图5 中,对原始图像采用OpenCV 图像处理函数,截取黑色物料部分,再将截取的黑色物料图形放入已经训练好的神经网络进行预测,可以看出长方体和圆柱体都能正确地识别、输出。

图4 截面正方形的长方体物料识别效果

图5 圆柱体物料识别效果

4 结语

在第七届全国大学生工程训练综合能力竞赛水下管道巡检机器人的竞赛中,深度学习从了解到认识,从尝试到数量使用,过程漫长艰辛但是收获颇丰。本文根据水下机器人动态巡检过程中变角度采集立体物料图像分析物料形状的竞赛要求,采用深度学习卷积神经网络的图像分类方法替代OpenCV 复杂平面特征物料分析法,避免了大量形状特征判据的寻找和存储,物料分类识别效果明显、正确率极高。这种分类方法在比赛中获得成功,对于其他项目开发中的物料分类识别具有一定的借鉴意义。

猜你喜欢
树莓卷积神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
基于深度卷积网络与空洞卷积融合的人群计数
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
卷积神经网络概述
黄金水果红树莓
树莓红了 游人醉了
e络盟率先推出第三代树莓派