发明内容
本发明的目的是提供一种采用侧投影图像采集技术的钢板表面缺陷检测方法及系统。
为了实现根据本发明的这些目的和其它优点,提供了一种钢板表面缺陷检测方法,包括以下步骤:
S1、在钢板传送装置横向一侧的上方和下方分别固定设置摄像机构,摄像机构包括多个视野朝向钢板传送装置的上端或下端的相机,且同一摄像机构的多个相机的视野沿钢板传送装置的横向依次相连;
S2、钢板通过钢板传送装置开始传送后,通过多个相机分别获取钢板传送装置上钢板上下两端的实时部分图像,实时部分图像中钢板部分的形状为由近向远逐渐变窄的梯形,将实时部分图像进行校正,校正后的实时图像中钢板部分的形状为矩形;
S3、将同一摄像机构的多个相机同时拍摄的校正后的实时图像拼接在一起,得到钢板表面的实时图像;
S4、将获得的钢板表面的实时图像输入缺陷识别模型中进行识别,通过缺陷识别模型获取钢板表面的缺陷信息。
优选的是,所述的一种钢板表面缺陷检测方法中,S2中采用透视变换技术对实时部分图像进行校正,具体的:
根据下式(1)的变换公式将实时部分图像投影到一个新的平面:
其中,(u,v)为实时部分图像中任一像素的坐标;(x=x'/w',y=y'/w')为(u,v)变在新的平面中的像素坐标;
变换矩阵图解如下:
其中,
表示图像线性变换;T
2=[a
13 a
23]用于产生图像透视变换;T
3=[a
31 a
32]表示图像平移;
仿射变换可以理解为透视变换的特殊形式,透视变换的数学表达式为:
优选的是,所述的一种钢板表面缺陷检测方法中,S2中钢板传送装置上无钢板通过时,摄像机构停止工作;当钢板传送装置上无钢板通过时,摄像机构开始工作,通过多个相机分别获取钢板传送装置上钢板上下表面的实时部分图像。
优选的是,所述的一种钢板表面缺陷检测方法中,S3中将同一摄像机构的多个相机同时拍摄的校正后的实时图像拼接时的具体方法为:
将同一摄像机构的多个相机同时拍摄的多张实时图像编做一组,得到多组实时图像组;
确定实时图像横向上两端的叠合区域,将每组实时图像组的多张实时图像横向拼接,并进行图像平滑处理,得到多张横向拼接图像,即条带化图像数据,并根据对应实时图像的拍摄时间顺序将多张横向拼接图像排列成序,并组装成视频;
确定横向拼接图像纵向上两端的叠合区域,将多张横向拼接图像纵向拼接,并进行图像平滑处理,即完成拼接得到钢板表面的实时图像。
优选的是,所述的一种钢板表面缺陷检测方法中,若任一横向拼接图像的平滑边缘曲线出现纵向断裂,则停止将同一摄像机构的多个相机同时拍摄的校正后的实时图像拼接在一起。
优选的是,所述的一种钢板表面缺陷检测方法中,S4中的缺陷识别模型的建立方法如下:采集多张有缺陷的钢板表面的实时图像,并对每张实时图像进行2*2切分,得到第一小块,再将得到的第一小块进行2*2切分,得到第二小块,依此进行N-1次2*2切分后,N为大于3的整数,将得到的第N-1小块直接按照目标分辨率切分成多个第N小块;
将得到得第一小块、第二小块、……和第N-1小块进行saliency显著性检测,对显著性目标物进行图像膨胀处理后,压缩成目标分辨率;
对第N小块和压缩后的第一小块、第二小块、……和第N-1小块进行筛选,去除无缺陷的图像后,将得到的图像作为训练样本;
建立YOLO训练模型,将训练样本带入YOLO训练模型中进行训练后,得到缺陷识别模型。本发明还提供一种钢板表面缺陷检测系统,采用上述任一项所述的一种钢板表面缺陷检测方法,包括上拍照机构、下拍照机构、缺陷识别机构和处理器,所述上拍照机构和下拍照机构钢板传送装置横向一侧的上方和下方,所述摄像机构包括多个视野朝向钢板传送装置的上端或下端的相机,且同一摄像机构的多个相机的视野沿钢板传送装置的横向依次相连,所述上拍照机构和下拍照机构的多个所述相机,以及所述缺陷识别机构分别与所述处理器电连接。
优选的是,所述的一种钢板表面缺陷检测系统中,还包括用于识别钢板传送装置上是否具有钢板传送的钢板监控机构,所述钢板监控机构与所述处理器电连接。
优选的是,所述的一种钢板表面缺陷检测系统中,所述钢板监控机构包括设置在钢板传送装置上发的前端光电对管和尾部光电对管,所述前端光电对管和尾部光电对管分别与所述处理器电连接。
本发运用数字相机空间摄影图像测量技术结合人工智能深度学习技术,将待测钢板图像经数字相机采集输入计算机,由计算机对钢板图像自动进行拼接、测量、识别缺陷。为了保证测量精度,采用高分辨率、高光敏度的工业数字相机;为保证缺陷识别准确率,采用目前最先进的人工智能深度学习技术,对缺陷样本进行学习,生成识别模型。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
本发明的实施例提供一种钢板表面缺陷检测方法,包括以下步骤:
S1、如图1所示,在钢板传送装置横向一侧的上方和下方分别固定设置摄像机构,摄像机构包括多个视野朝向钢板传送装置的上端或下端的相机,且同一摄像机构的多个相机的视野沿钢板传送装置的横向依次相连;
S2、钢板通过钢板传送装置开始传送后,通过多个相机分别获取钢板传送装置上钢板上下两端的实时部分图像,如图2所示,实时部分图像中钢板部分的形状为由近向远逐渐变窄的梯形,将实时部分图像进行校正,校正后的实时图像中钢板部分的形状为矩形;
S3、将同一摄像机构的多个相机同时拍摄的校正后的实时图像拼接在一起,得到钢板表面的实时图像;
S4、将获得的钢板表面的实时图像输入缺陷识别模型中进行识别,通过缺陷识别模型获取钢板表面的缺陷信息。
该实施例中,一般情况下钢板传送装置处的光线条件都比较差,所以如图1所示,本实施例中在钢板传送装置上方和下方的两端分别设置朝向钢板的灯,以提高钢板传送装置处的光线条件,提高摄像机构拍摄图像的清晰度。摄像机构支架和灯架安装在两个滚轮的滚缝处,支柱为空心,底部由空心支柱连接起来,封于水泥基座中,该种方式一是为了稳固二是方便布置线缆。如图1所示,为方便查看将相机和灯挂于支柱外部,实际是安置在支柱内部,支柱内部相应部分开窗,加装高透明度的保护玻璃。本实施例中设备安装在侧面,因擦钢等事故损坏的概率极小,特别是维护十分方便,只需要在检修时定期清扫下开窗处的玻璃表面;因钢板正上方也没有安装设备,检修时拆装辊轮也相对方便。
优选地,作为本发明另外一个实施例,S2中采用透视变换技术对实时部分图像进行校正,具体的:
根据下式(1)的变换公式将实时部分图像投影到一个新的平面:
其中,(u,v)为实时部分图像中任一像素的坐标;(x=x'/w',y=y'/w')为(u,v)变在新的平面中的像素坐标;
变换矩阵图解如下:
其中,
表示图像线性变换;T
2=[a
13 a
23]用于产生图像透视变换;T
3=[a
31 a
32]表示图像平移;
仿射变换可以理解为透视变换的特殊形式,透视变换的数学表达式为:
该实施例中,相机安装完毕,需要进行标定,标定的目的,就是制作或者手动选取若干特征点(大于或者等于4个),用最小二乘法计算透视变换矩阵,获得两幅图像之间的映射关系。只要相机位置不变,以后就可以使用该矩阵来对梯形视场图像进行校正,校正为正投影的矩形视场图像。
优选地,作为本发明另外一个实施例,S2中钢板传送装置上无钢板通过时,摄像机构停止工作;当钢板传送装置上无钢板通过时,摄像机构开始工作,通过多个相机分别获取钢板传送装置上钢板上下表面的实时部分图像。优选地,作为本发明另外一个实施例,S3中将同一摄像机构的多个相机同时拍摄的校正后的实时图像拼接时的具体方法为:
将同一摄像机构的多个相机同时拍摄的多张实时图像编做一组,得到多组实时图像组;
确定实时图像横向上两端的叠合区域,将每组实时图像组的多张实时图像横向拼接,并进行图像平滑处理,得到多张横向拼接图像,并根据对应实时图像的拍摄时间顺序将多张横向拼接图像,即条带化图像,组装为视频。
确定横向拼接图像纵向上两端的叠合区域,将多张横向拼接图像纵向拼接,并进行图像平滑处理,即完成拼接得到钢板表面的实时图像。
该实施例中,首先将存储在计算机内存中的图像,按照时序进行横纵排列,确定采集到的每幅图像位置;然后读取某一时刻两台相机同时采集到的横向画面,接着读取上一步“侧投影图像校正标定参数”进行图像校正;因采集到的图像分辨率较高,进行全像素图像拼接,数据计算量过大,所以先确定横向叠合区域,仅对叠合区域进行图像特征提取并拼接;横向拼接完成后进行图像平滑,返回图像内存等待组装成视频。
所有横向拼接完成后,依次读取拼接好的各个横向画面进行纵向拼接。首先读取外部参数,外部参数来源于两组数据,一组来自光电对管,一组来自厂方的生产网络;光电对管负责告知系统是否有新钢板进入或离开测量场,特别是要联合生产网络判断是否出现“倒板”情况,以免造成系统逻辑判断混乱;生产网络要告知本系统钢板的生产规格(非精确尺寸),以使本系统对所要测量的钢板有一个大体的尺寸认知范围,防止相机掉帧等意外情况,造成系统逻辑混乱。经过上述步骤可确定所需拼接画面的数量,并估算出纵向叠合区域。然后在叠合区域中进行特征提取并拼接。
纵向拼接全部完成后,对整块钢板图像进行平滑,并依据标定参数估算钢板尺寸。接下来再次读取外部参数,进行数据对照,以免发生重大错误而不进行纠错造成整个系统的工作混乱。
优选地,作为本发明另外一个实施例,若任一横向拼接图像的平滑边缘曲线出现纵向断裂,则停止将同一摄像机构的多个相机同时拍摄的校正后的实时图像拼接在一起。
该实施例中,两台相机视场叠合处,即横向拼接图像的拼接区域,实际应用场景中,拼接区域的具体大小要按现场情况调整设定;在拼接区域中,钢板尾部的边缘必定是平滑的曲线,如果相邻的两个相机同步出现问题,则会出现平滑边缘曲线出现纵向断裂,也可以描述为错位。对横向拼接好的条带图像,在拼接区域内提取钢板尾部边缘轮廓,然后沿着轮廓线计算梯度方向;如果为非平滑曲线,会有不少明显垂直纵向(钢板运动方向)的梯度方向,软件算法可判定为出现纵向断裂;这不符合“钢板尾部边缘平滑”的假设,所以可推测为两个相机之间失同步;此刻,控制器发信息给硬件同步设备,进行重启。钢板实际纵向断裂的情况有,但是极少出现。如果出现,软件算法依旧会发信息给硬件同步设备重启,该重启算作非失同步下的冗余重启,不影响系统运行。
优选的是,所述的一种钢板表面缺陷检测方法中,S4中的缺陷识别模型的建立方法如下:采集多张有缺陷的钢板表面的实时图像,并对每张实时图像进行2*2切分,得到第一小块,再将得到的第一小块进行2*2切分,得到第二小块,依此进行N-1次2*2切分后,N为大于3的整数,将得到的第N-1小块直接按照目标分辨率切分成多个第N小块;
将得到得第一小块、第二小块、……和第N-1小块进行saliency显著性检测,对显著性目标物进行图像膨胀处理后,压缩成目标分辨率;
对第N小块和压缩后的第一小块、第二小块、……和第N-1小块进行筛选,去除无缺陷的图像后,将得到的图像作为训练样本;
建立YOLO训练模型,将训练样本带入YOLO训练模型中进行训练后,得到缺陷识别模型。
该实施例中,在目标识别定位方面,当前人工智能深度学习目标识别技术效果较好,本方案选用YOLO系列算法为基础算法,根据系统要求等实际情况进行改进。技术要求常见缺陷的识别率≥85%;YOLO系列算法常见物体的识别率在90%以上,经过改进后可达到92%以上。本实施例主要在数据清洗和YOLO算法上进行了调整,具体的,缺陷识别模型的使用方法如下:
一、数据清洗
1、现场采集1000张以上钢板图像,此处图像指横纵拼接完成的整个钢板图像。
2、人工筛选有缺陷的整块钢板图像,人工剔除没有缺陷的钢板图像,只留下有缺陷的。如果有缺陷的图像太少,例如被剔除超50%,则回到步骤1,再收集一点;最终留下的有缺陷的钢板图像,最好能到1000张,如果到不了,至少500张。
3、采用photoshop或光影魔术手或其它图像批处理软件,对步骤2中的整块钢板图像进行切分。常规操作是直接切分为500*500的小块,本实施例中,假设钢板实际长度为20m宽度4m,图像分辨率为80000*16000。对图像进行2*2切分,例如每块图像为40000*8000像素。再对每个小块进一步切分为20000*4000;再切为10000*2000,再切为5000*1000,再切为2500*500;接下来切分规则变为5*1切分,即分为500*500的图像块。由此,则1张完整的钢板图像被切分为4+16+64+256+1024+5120=6484。
假设步骤2采集了500张,则总的图片数量为6484*500=3242000张图像。对于500*500的图像不做处理,对于分辨率大于500*500的图像,先进行saliency显著性检测,对显著性目标物进行图像膨胀处理,再用金字塔降采样统一压缩为625*125。
4、再次进行人工筛选,剔除无缺陷的图像。假设按照一般情况剔除,则最终被剔除的会大于90%的比例,即只留下324200张图片或者更少。
5、人工标注图像,使用ImageLable进行图像标注。该步骤即为准备训练用的样本数据。
6、如果步骤5标注完所有样本发现,某些样本数量过少,例如凹坑缺陷只有100个,而其它如麻点等有1000个,则这套样本即为分布不平衡样本集,需要对较少的样本进行增扩,增扩方式有旋转、随机裁剪等;然后对增扩的样本再次按照步骤5进行标注。
二、YOLO算法调整
7、将上述步骤6中的样本,每一个样本含图片jpg和对应标注信息XML文件,分别放入对应的文件夹。
8、下载预训练权重文件,作为初始模型参数。初始模型权重可使用imagenet的,或者YOLO自己的,对于钢板检测建议采用东北大学NEU-CL的,更有针对性。
9、仔细调试YOLO算法,主要是调整训练参数,以及各个文件路径,配置深度学习服务器,让该算法训练模式跑起来。
10、步骤9完毕后,会产生一个权值文件,该文件即为步骤6中被标注的数据训练出来的model文件。
三、推理
11、将步骤10的model文件载入YOLO的model文件夹中;
12、启动YOLO的reference代码,进行推理。此刻输入数据即为待识别的钢板。待识别的钢板图像在预处理部分,依旧使用步骤3的方式进行处理。当出现缺陷的时候,软件程序界面会有红色框框,将有缺陷的地方标注出来。
一种钢板表面缺陷检测系统,包括上拍照机构、下拍照机构、缺陷识别机构和处理器,所述上拍照机构和下拍照机构钢板传送装置横向一侧的上方和下方,所述摄像机构包括多个视野朝向钢板传送装置的上端或下端的相机,且同一摄像机构的多个相机的视野沿钢板传送装置的横向依次相连,所述上拍照机构和下拍照机构的多个所述相机,以及所述缺陷识别机构分别与所述处理器电连接;还包括用于识别钢板传送装置上是否具有钢板传送的钢板监控机构,所述钢板监控机构与所述处理器电连接。
该实施例中,所述钢板监控机构包括设置在钢板传送装置上发的前端光电对管和尾部光电对管,所述前端光电对管和尾部光电对管分别与所述处理器电连接。当辊道上没有钢板时,相机对辊道实时监测,只读取视频流,不采集图像,相当于休眠状态。当待测钢板进入测量视场前,前端光电对管被触发,发出信号给处理器,处理器控制相机启动工作。相机自动同步搜寻并确定钢板在辊道平面的位置,同步采集图像,并将钢板图像数据输入处理器。缺陷识别机构采用缺陷识别服务器,缺陷识别服务器读取该钢板的生产信息。当钢板离开测量视场后,尾部光电对管被触发,发出信号给处理器,告知处理器采集结束。处理器开始启动拼接操作。
各相机采集到的钢板图像首先经过透视变换并进行畸变校正,然后钢板图像在内存中被横纵矩阵排列,接下来将条带化图像组装成视频,按需要再对视频帧进行高速拼接操作。拼接好的钢板图像存入高速硬盘,通过网络发送给缺陷识别服务器。识别服务器依据接收到的钢板生产信息,判断系统逻辑是否正常,即确定将要进行识别的是否为该块钢板。
然后识别服务器开始对拼接好的图像进行图像预处理,接下来调用已经训练好的识别模型,对缺陷进行识别。缺陷识别服务器有两种工作模式,一种是上述在线识别模式,一种是离线样本采集学习模式。基于人工智能的深度学习技术,需要大量的带标注的样本训练模型,样本越多学习得越好,因此随着处理器使用时间的增加,收集到的样本数量也在增加,对这些增量样本进行标注,然后进一步对模型进行训练,可逐步提高处理器识别性能。该过程类似于人的学习过程。离线模式下,识别服务器会收集各类样本缺陷,配合人工标注,以及深度学习训练服务器进行训练,为训练出新的性能更好的模型提供样本。
识别完成后,会在原图像上画出红色方框,以坐标形式告知在钢板的哪个位置出现何种缺陷。识别服务器通过车间工业以太网上传至厂方网络/数据库,并通过显示器显示给操作人员。整个过程是实时进行的。操作人员无须进行任何操作,处理器是全自动地完成识别全过程。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的实施例。