李建军,史志晖,崔桂梅,张 帅,王 磊
(1. 内蒙古科技大学信息工程学院,内蒙古 包头 014010; 2. 包头钢铁(集团)有限责任公司热轧部,内蒙古 包头 014010)
镰刀弯是指带钢的侧边与连接测量部分两端点的直线之间的最大距离,即带钢一侧的边缘与直线的偏离。镰刀弯的大小对整个产品的生产过程有着重要的影响。因为中间坯出现瑕疵,可能会导致返工或者浪费,这增加了生产的成本和损耗,同样也会影响生产效率。同时,严重的镰刀弯瑕疵可能在快速传送的过程中对生产设备造成一定程度的损伤,增加设备维护的成本。而且,粗轧镰刀弯如果不及时发现和处理,会遗传到精轧机组甚至是成品,严重影响产品质量和成材率。因此,非常有必要进行镰刀弯的检测,提高热轧综合成材率,保证冷轧厂生产稳定顺利进行。带钢热连轧现场局部画面如图1所示。
在目前的生产过程中,现场镰刀弯检测基本依赖于操作工的经验进行人工观察,然后对机器进行调节,且中间坯镰刀弯缺乏准确的检测手段,操作难度大,由于主观因素的参与,镰刀弯检测准确率低,检测效果差。
随着生产力的不断发展,人们逐渐意识到人工检测的不足,于是开始有人利用自动检测技术进行镰刀弯检测。20世纪80年代,苏联学者[1]使用距离传感器和位移传感器进行镰刀弯自动检测,自此,镰刀弯自动检测技术便出现在国内热连轧生产线上。2011年,广州钢铁企业集团公司邝家涛等[2]通过使用激光测距仪在加热炉出口测量固定位置到带钢边缘的距离变化来判断是否有镰刀弯存在。这种检测方法的局限性在于只检测带钢边缘到固定位置的距离变化来判断镰刀弯是否存在,若发生漂移,就有可能发生误检[3-4]。随着机器视觉技术的迅速发展,2019年,北京科技大学的刘洋、徐东等人[5]在镰刀弯检测中使用了视觉技术,其使用的运行非对称检测方法在很大程度上弥补了镰刀弯检测的不足,满足了实时检测与控制的要求,减少了轧制过程甩尾事故的发生,提高了规格带钢轧制稳定性和成材率。但由于其中心对称轴固定,带钢镰刀弯与带钢跑偏两者皆属于非对称运行,极易在检测过程中产生混淆。因此,使用非对称方法[6]检测镰刀弯问题还存在不足之处。
针对带钢中间坯的镰刀弯检测成功率不高且容易误检的问题,本文提出了一种基于边缘向量的检测算法——边缘矢量法,即通过对单位绝对值化的边缘矢量进行比较来判断镰刀弯是否存在。该算法解决了因带钢漂移而引起的误检问题。
在已建立坐标系的图像中分别提取目标两侧边缘的坐标,通过判断坐标之间向量的方向进行边缘弯曲度的度量,这种方法称为边缘矢量法。
边缘矢量的比较运算在理想状态下,即不存在镰刀弯的情况下应当满足以下两个条件:
其中,el、er分别是中心轴左右边的边缘单位向量,i表示边缘点按照正方向排序时的点的顺序,本文算法在带钢每个边缘取六个边缘点,因此i=0,1,2,3,4,5。
若边缘矢量不满足式(1)~(2),则说明带钢存在镰刀弯,本文通过计算相邻向量之间的夹角来判断镰刀弯是否存在。
如图2所示,将数据采集设备安装在带钢上方正中间的位置,拍摄范围为5 m。本文使用工业CCD相机(面阵,900万像素)和镜头(16 mm定焦)作为检测装置对目标进行视频图像采集,传输到后台进行检测处理。
图2 摄像机安装位置示意图
首先,使用图像处理算法在灰度图上进行边缘提取、最大矩形连通区域提取、二值形态学处理,得到目标钢板的二值图。然后以图像中心为原点建立坐标系,将目标分成4个区间。再分别在y轴左右两半平面进行坐标间距离运算。以左半平面为例,找出特定y值对应的点,以这些点的x值减去y轴对应的横坐标,取绝对值之后进行比较,最大绝对值对应的点的坐标即为边缘点坐标。
搜寻边缘点坐标的原理为:对于任意正整数j,若yi对应的xj满足:
取相邻两边缘坐标之间的向量,单位化之后取绝对值,如下所示,利用式(1)和(2)进行单位向量之间的比较。
考虑到现场环境的复杂性,需要在这里设置一定的裕度,只要 |θ |≤ 0.45◦,就认为中间坯合格,没有镰刀弯;而当 |θ |>0.45◦时,则认为带钢有镰刀弯存在。
图3给出了本文算法框架。给定一帧图像,首先进行图像预处理,然后利用图像二值化将目标从图像中提取出来。接着以图像中心点为坐标原点建立坐标系进行边缘点提取。根据所得带钢两侧边缘点的坐标分别计算两侧相邻点之间的向量,单位绝对值化之后,比较同侧相邻单位向量,并计算相邻向量间夹角,根据所设阈值进行镰刀弯判决。同时还设有宽度阈值,带钢中间坯宽度如果不在阈值范围内,同样视其为不合格中间坯。
1)图像预处理。本文的边缘检测是基于图像灰度梯度进行处理的,由于现场环境比较复杂,直接对目标进行提取可能会影响目标的完整性,因此针对这个问题,在提取目标前使用高斯平滑滤波处理。
图3 检测算法流程图
2)提取目标。图像中目标与背景区分比较明显,所以选择图像二值化提取目标[7]:在灰度直方图中,目标与背景呈现两个不同的波峰,而波谷位置的点相对较少,对应的是目标钢板的边缘部分,根据波谷的位置设置阈值,对目标钢板进行二值化处理。
3)形态学去噪。在中间坯轧制过程中,氧化铁皮和除磷水的残留等一些因素的影响,使得提取出来的二值图出现孔洞或者不连通现象,因此本文使用形态学处理方法消除二值图上的孔洞以及不连通的地方[8],最终提取的二值图如图4所示。
图4 中间坯目标提取
4)目标边缘检测。本文使用基于Canny算子的边缘提取方法,对中间坯进行轮廓提取[9]。首先对图像进行求导,根据边缘附近梯度值变化较大的特征,使用非极大值抑制确定边缘位置。然后使用轮廓标注算法对轮廓边界进行标注,如图5所示,较好地保留了边缘[10]的完整性。
图5 中间坯边缘标注
在上节工作的基础上,以图像的中心点为坐标原点建立坐标系。边缘点检测分为两个部分:
1)角点检测。根据摄像机安装的位置已知,目标带钢处于视野的正中心位置,建立坐标系后,将目标分成4个区域,这样就等同于默认目标的4个角分布在图像四等分的区间上。以左上角区间为例,要在此区间目标上的所有点中找到角点[11]的位置,就需要对这些点进行坐标间距离运算。即把此区间目标上所有点的坐标与中心点(原点)的坐标进行距离运算,最终确定距离中心点最远的点为目标在这个区间的角点。角点位置检测的结果如图6所示。
图6 角点检测与标注
角点检测提取带钢矩形区域的4个角点,以视野中左下角的角点坐标为第一个坐标,按顺时针方向进行排序,带钢的宽度[12]由第一个点与第4个点之间的距离来判定。但由于轧制过程中存在带钢整体发生侧弯而宽度没有发生变化的情况,所以此处所测量的带钢宽度不能作为镰刀弯的判定依据。
2)边缘点检测。根据建立好的坐标系,默认y轴将图像二等分成左右两个区间,以左半区间为例:列出特定y值对应的在目标中的所有的点,此处y值是算法在目标区域内默认提取的,取其横坐标与y轴对应的横坐标分别进行差运算,取绝对值,其绝对值最大的点为该y值对应的目标边缘点[13],原理如公式(3)~(4)所示。
利用上述方法,算法在进行边缘点提取[14]的过程中,带钢的每一侧边缘都默认提取了24个点,在进行边缘向量运算时,为了提高运算速度,同时也为达到边缘弯曲度检测的最佳效果,本文先对这24个点进行排序,然后从第4个点开始,每隔5个点取一个点,再加上边缘两端的角点,总共是6个点。边缘点及角点分布如图7所示。
图7 边缘点坐标检测与标注
3)边缘向量运算。同样以左半区间为例,将所检测得到的点的坐标连同同一侧的两个角点一起,存储在一个列表当中,并对这些点按照位置顺序重新进行排序。接着对列表中的相邻点进行坐标运算,得出它们之间的向量。
由于边缘点并不是等距提取的,直接对边缘点之间的向量进行比较会导致镰刀弯误检问题,因此须对边缘点之间的向量做单位边缘化处理。边缘点及边缘向量分布示意图如图8所示,以“L”形弯为例。
图8 带钢边缘点及边缘向量分布示意图
4)弯曲度提取。对3)中所述的向量进行分类,将位于同一侧的向量存储在同一个列表当中, 将列表中的相邻两向量取出来进行比较,如式(1)~(2)所示。
图9为边缘矢量算法运算具体流程,Li为左侧边缘点,li为左侧相邻两边缘点间向量。若等式不成立,则求其两者之间的夹角,以此判断边缘是否有弯度,而向量之间的夹角就是衡量带钢边缘弯曲度的参数依据。图9以视野中带钢左侧边缘为例,右侧边缘的运算也同样如此。而左右两侧边缘是否弯曲对于带钢是否存在镰刀弯[15]呈“或”逻辑运算关系,即只要其中一侧边缘弯曲,那么带钢就存在镰刀弯。
图9 边缘矢量法判定镰刀弯的运算过程
5)阈值设定。由于现场环境比较复杂,各种因素的影响可能会导致检测结果不稳定,严格按照上述方式来检测镰刀弯可能会出现误检的问题,因此,需要在输出后边添加结果评价机制来增加检测精度。本文以向量之间的夹角作为镰刀弯的分级参考标准,因此以角度作为阈值,阈值的范围最终设定为±0.45°,同时以宽度作为辅助参数,阈值设为 ± 5 mm。即边缘向量之间的夹角处于±0.45°、宽度变化处于±5 mm的范围内,则视为中间坯无镰刀弯;而如果边缘向量之间的夹角或宽度变化超出各自定义的范围,则判定有镰刀弯存在。
粗轧镰刀弯检测算法是应用于某厂 2 250 mm热轧车间的热轧过程控制优化系统中。其中,镰刀弯检测设备安装在出口的观察天桥上,算法运行设备放置在监控机房。
本实验软件平台为 PyCharm 2020.2×64,硬件运行环境配置为 Intel(R) Core(TM) i5-8500 CPU@3.00 GHz。本文选取5000张含有镰刀弯的带钢图像作为实验样本,检测范围为5 m的带钢区域,图像设置大小为 51 2×512。
镰刀弯的量是由连接测量部分两端点的直线与带钢侧边的最大距离决定的,需要根据这个量来进行阈值划分。本文使用边缘矢量法检测镰刀弯,所以将镰刀弯的量转换成边缘矢量间夹角来评估带钢中间坯是否合格。
本文设定:若镰刀弯的量小于或等于钢板被测部分实际长度的 0 .2%,视中间坯合格。那么5 m的实际测量长度,合格中间坯镰刀弯的量应小于或等于1 0 mm,假设边缘曲线为一元二次函数曲线,转换成最大的相邻向量间夹角则为0.45°,即本文设定的角度 θ阈值。同时,考虑到现场环境的复杂性可能会导致边缘提取结果不稳定,于是在宽度检测上保留了一定的裕度。
本文在宽度绝对值区间( 1 mm,10 mm)内选取宽度阈值进行实验探索,当宽度阈值 |d|≥5 mm之后,检测成功率基本不再发生变化,因此,将最终的宽度阈值定为 5 mm 。当 |d|=3 mm时,算法从样本中检测出4672张存在镰刀弯的图像;当 |d|=5 mm时,算法检测出4816张存在镰刀弯的图像。经计算,在表1中列出在角度θ阈值已定的情况下,通过改变宽度阈值得出的检测成功率。
表1 不同组阈值d 、θ对应的检测成功率
在d=±5 mm,θ=±0.45°的阈值设定下,实验效果较好,既保证了镰刀弯的检测成功率,也尽量避免了漏检的情况。同时,算法运算速度达到毫秒级,可及时对优化系统进行反馈,以修正中间坯侧弯现象。
本文在检测成功率方面与运行非对称镰刀弯检测算法进行比较,结果如表2所示。运行非对称镰刀弯检测算法在提取边缘像素坐标方面与本文算法类似,其通过边缘像素坐标计算带钢中心线,从而利用中心线的偏移量来判断中间坯是否有镰刀弯存在。
表2 镰刀弯成功率对比
与运行非对称算法相比,本文算法能够很直观地体现边缘特征,无需考虑因带钢跑偏而引起的镰刀弯误检问题,比较精准地实现了对中间坯镰刀弯的检测。
为了克服传统镰刀弯检测方法以及以往非接触在线镰刀弯检测方法的不足,本文提出了一种基于边缘矢量的镰刀弯在线检测方法,其中加入了角点检测测量宽度作为辅助参数,同时角点检测还可以辅助完成相机标定和边缘向量运算。使用弯曲度度量带钢边缘的曲直程度,可以达到直观体现的目的。检测算法能够高效地捕获带钢边缘的特征,从而很好地实现镰刀弯的非接触检测,满足工程的实时性需求。算法运算稳定、计算效率高,可以对车间中的中间坯进行在线实时检测,有效抑制粗轧中间坯缺陷的产生,提高轧制的稳定性和成材率。