[发明专利]一种基于深度学习的预制桥墩钢筋孔制造误差智能识别方法有效
申请号: | 202110234516.2 | 申请日: | 2021-03-03 |
公开(公告)号: | CN112967249B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 李枝军;张辉;徐后生;刘武;徐秀丽;李雪红 | 申请(专利权)人: | 南京工业大学;南京市路桥工程总公司 |
主分类号: | G06V20/10 | 分类号: | G06V20/10;G06V10/26;G06V10/764;G06V10/82;G06T7/13;G06N3/0464;G06N3/082 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 徐激波 |
地址: | 211816 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 学习 预制 桥墩 钢筋 制造 误差 智能 识别 方法 | ||
1.一种基于深度学习的预制桥墩钢筋孔制造误差智能识别方法,其特征在于,包括如下步骤:
步骤S1、获取预制桥墩底部混凝土截面图像和预制钢筋孔图像,形成数据集,并且按照一定比例,将所述数据集划分成训练集和测试集;
步骤S2、对所述训练集中的图像进行标注处理;选取Labelme作标注工具,将所述训练集图像上的钢筋孔hole标注成绿色,混凝土截面board标注成红色,背景other标注成黑色;然后将绿色标签的灰度值转化为1,将红色标签的灰度值转化为0,将黑色标签的灰度值转化为2;
步骤S3、对所述数据集中的图像进行预处理;对数据集中的图像进行裁剪处理,裁剪图像中周边部分环境部分,得到850像素*850像素大小的图像,再对该图像进行数据增强的操作;然后将数据集转化为灰度图,尺寸转化为800像素*800像素;最后将数据集中图像进行局部归一化处理以及打乱处理,得到经过预处理后的数据集;
步骤S4、通过TensorFlow框架构建SegNet语义分割深度学习网络,并且将训练集中的图像作为所述SegNet语义分割深度学习网络的输入,对其进行训练,获得权重参数,进而得到语义分割模型;根据标签中的三个类别,将所述SegNet语义分割深度学习网络中的多分类情况改为三分类;在训练过程中,采用PReLU激活函数和一种鲁棒性的权重初始化的方法,对解码器和编码器进行权值初始化操作;在训练过程中,采用梯度下降算法对所述SegNet语义分割深度学习网络进行训练,学习率设为0.1,冲量设为0.9;采用交叉熵损失函数,对一个batch中的每张图片的每个像素点的loss求和;采用中位数频率平衡方法优化训练过程,该方法即是对每一个类别添加一个权值,对于类别other和board设置第一个权值,对于类别hole,设置第二个权值,第一个权值小于第二个权值;在所述SegNet语义分割深度学习网络中所有的卷积层与ReLU激活函数之间添加BN层;
步骤S5、通过所述语义分割模型对所述测试集中的图像进行检测,输出要素分割的图像;
步骤S6、对步骤S5得到要素分割的图像进行边缘检测处理,得到钢筋孔和底部界面的轮廓,并且进行轮廓的查找和绘制;通过OpenCV中的cv2.Canny()函数来实现语义分割后的图像的边缘检测,设置两个阈值,其中一个为高阈值maxVal,另一个为低阈值minVal;根据当前边缘像素的梯度值与这两个阈值之间的关系,判断边缘的属性,从而得到图像的边缘信息;通过OpenCV中的cv2.findContours()函数查找图像的轮廓,并根据参数返回特定表示方式的轮廓;通过cv2.drawContours()函数将查找到的轮廓绘制到图像上,将钢筋孔的轮廓和桥墩底部截面轮廓分别绘制出来;
步骤S7、对轮廓进行拟合,计算轮廓的长度,获得像素尺寸,并根据比例系数确定制造尺寸。
2.根据权利要求1所述的一种基于深度学习的预制桥墩钢筋孔制造误差智能识别方法,其特征在于,通过工业相机拍摄预制桥墩底部混凝土进而获取预制桥墩底部混凝土截面图像和预制钢筋孔图像。
3.根据权利要求1所述的一种基于深度学习的预制桥墩钢筋孔制造误差智能识别方法,其特征在于,所述步骤S4还包括:当给所述SegNet语义分割深度学习网络输入了至少10000条训练集的图像时,训练完成,将训练好的卷积层、池化层、反卷积层、反池化层的权重参数保留为ckpt文件,最后的全连接层的权重置为随机数。
4.根据权利要求1所述的一种基于深度学习的预制桥墩钢筋孔制造误差智能识别方法,其特征在于,所述步骤S5包括:加载步骤S4中获得的ckpt文件,运行所述语义分割模型对所述测试集中的图像进行检测,得到要素分割的图像。
5.根据权利要求1所述的一种基于深度学习的预制桥墩钢筋孔制造误差智能识别方法,其特征在于,所述步骤S7包括:通过cv2.arcLength()函数计算各个轮廓的长度,使用判断结构语句“ifcv2.arcLength(contours[i],True)cntLenAvr:”对各个轮廓的长度进行判断,并根据判断结果决定是否显示对应的轮廓;根据显示的各个钢筋孔轮廓的长度和墩柱底部界面的轮廓长度,通过比例系数将像素尺寸转换为制造尺寸。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京工业大学;南京市路桥工程总公司,未经南京工业大学;南京市路桥工程总公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110234516.2/1.html,转载请声明来源钻瓜专利网。