视觉图像处理在转炉炉下的应用
宋明明,杨昆,李维利
(山西建邦集团通才工贸有限公司,山西;)
摘 要 :钢铁冶炼过程中,炉下区域环境高温甚至因为转炉摇炉过程人为原因而造成洒渣、洒钢,这种现象是无法避免的,但随计算机视觉技术的不断发展已经大大降低了对设备硬件的要求,只需要在生产设施原有的基础上进行较少的投入即可实现利用视觉图像分析技术对洒渣、洒钢进行判断报警,并且能减少此类事故发生后的二次事故损失,减少因此而造成转炉冶炼生产的停顿,并且减少事故破坏规模,加快事故恢复时间。
关键词 :转炉炉下、炉下车辆、洒钢、洒渣、图像处理
一、背景、目的和意义
转炉炉下钢包车、渣车是转炉冶炼生产中的重要一环,设备工作环境处于高温环境,并且容易发生洒渣、洒钢的事故。高温液体泼洒到轨道上,如果不及时处理,极易造成电机高温损坏、线缆烧损,而且车辆无法开出,使得冶炼生产的中断。并且事故现场环境恶劣,存在很大安全隐患,处理时间长的问题。
目前还不能完全避免洒渣、洒钢。如果在洒渣、洒钢后及时发现、及时处理决定了事故范围大小严重程度。
如果在洒钢、洒渣后,人员能够及时发现,并且及时操作处理,就能够很大程度上减轻事故的危害性,避免事故的扩大。
二、使用到的软件及硬件技术
本论文中所使用的编程语言是Python,选择使用Python有以下几点原因:
1、对于工业控制自动化从业者,Python交其他语言更易学,并且可读性好,。
2、Python程序具备可移植性,可以在各种系统平台上运行。
3、Python有众多的各种库的支持。
使用到的图像处理库使用的是OpenCV。
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,有大量的Python、Java and MATLAB/OCTAVE的接口。
Snap7 是一个基于以太网与S7系列的西门子PLC通讯的开源库。
支持包括S7系列的S7-300、S7-400、S7-1200、S7-1500的以太网通信。
支持32/64位英特尔/ AMD的所有平台。Windows、Linux(树莓派,BeagleBone Black,DOO )、BSD、Oracle Solaris 、Apple OSX、Arduino。
支持语言比较广Pascal、C#、C++、C、Python;Node.js、Java。
现场使用的摄像监控设备高清枪型网络摄像机(大华200万E型枪Dh-Ipc-hr5231),镜头(DH-OPT-127F2712D-IR4MP)、大华录像机(DH-NVR608-32-4KS2)
三、技术原理
1、现场图像获取。
OpenCV的使用pip安装 pip install opencv-python
监控摄像监控采集的图像在转炉操作室监控大屏显示,用于生产现场监控,摄像机的解析度、最低照度能满足日常监控需要,成像效果一般。
图像获取通过录像机进行获取。录像机提供的端口有UDP、HTTP 、HTTPS、 RTSP、 POS。这里使用RTSP端口进行获取。RTSP格式如下:
<用户名>:<密码>@
0channel;
channel: 通道, 1-32;subtype: 码流类型, 主码流 0, 辅码流 1
简单示例:
import cv2
cap = cv2.VideoCapture('')
while True:
ret,frame = cap.read()
cv2.namedWindow("1",0);
cv2.resizeWindow("1", 1920, 1080);
cv2.imshow("1",frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
Break
2、图像处理
如图中将1—2—4—3—1连接,将5—6—7—4—5连接,所成的两个4边型区域就是要做处理分析判断的洒渣区域。
这时的图像较复杂不具备分析判断条件,要先将图像进行转换。
1).使用cv2.cvtColor()将BGR格式转换成灰度,使用参数COLOR_BGR2GRAY。
2).再对灰度图进行高斯滤波,使用cv2.GussianBlur(),GussianBlur函数几个重要参数需要根据摄像头图像质量进行调节设置。
高斯内核大小,ksize.width和ksize.height的大小根据图片质量进行测试调整。
X方向上的高斯核标准偏差和Y方向上的高斯核标准偏差。
3)对高斯滤波后的图像进行中值滤波。
中值滤波法将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波能够保护信号的边缘,使之不被模糊。可以很好的过滤掉椒盐噪声。虽然造成图像的不连续性,但图像转换为灰度图后图像的连续性不影响图像的分析处理。
中值滤波使用的函数是cv2.medianBlur(),参数是矩阵大小。
4)对中值滤波后的图像进行二值化处理。
图像的二值化处理就是将图像上的点的灰度值为0或255,也就是将整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。
为了最后对是否有洒渣或洒钢,需要对区域内的图像数值进行分析,最直接简单的方法就是将图像数值转换为非黑即白,白色(255)就是高温造成亮度高的区域。
所以使用cv2.threshold()函数,这个函数几个重要的参数,阈值起始值、最大值、算法类型。
为了最后对是否有洒渣或洒钢,需要对区域内的图像数值进行分析,最直接简单的方法就是将图像数值转换为非黑即白,白色(255)就是高温造成亮度高的区域。算法类型使用THRESH_BINARY,将一个灰色的图片,变成要么是白色要么就是黑色。
到第四步所得到的图像就具备最后分析的条件。
3、图像分析
通过图像处理最终得到了一个黑白图像。像素点值白点值为255、黑点值为0。
处理分析的步骤:获取监控画面后,首先要划定检测区域。
采集的图像分辨率为1920*1080,屏幕坐标系左上角为原点。
使用图像坐标工具获取车体一侧和车体后部有可能有洒渣的区域各顶点坐标 如图中车体左侧矩形顶点1、2、3、4,车体尾部矩形顶点4、5、6、7。
只要对这两个区域中的像素点进行对比分析就能判断出是否有高温高亮的钢渣或钢水。
这两个区域内,如果洒渣或洒钢大于10%面积时,就需要人员处理。画面分析即像素点值等于255的比例大于10%,就判断属于洒渣、洒钢。
4、图像分析与转炉状态联动
如果只是仅仅对实时摄像监控图像进行分析的话,能够达到判断洒渣、洒钢的目的,但绝大多时间分析是徒劳无用的。
转炉工艺有多个工作状态,加废钢、兑铁、吹炼、出钢、溅渣、出渣等多个不同状态。只有在出钢和出渣两个工艺状态时,转炉本体才倾动到大角度,存在洒渣、洒钢情况。所以只要在这两个工艺过程对炉下监控图像进行处理分析就能达到判断洒渣、洒钢的目的。这就需要读取炉况状态信息。
我公司转炉PLC系统使用的是西门子S7-400 PLC系统,这里使用开源Snap7库,对西门子S7-400 PLC 进行数据读取。
Python_Snap7库安装使用pip安装。
pip install python-snap7
对于不同系统平台还要安装与之相对应的snap7,我使用的是WINDOW 64位系统,将下载的snap7.dll文件拷贝到C:WINDOWS/system32目录中,并且设置system PATH。
首先对在PLC系统程序中编写出渣、出钢两种工艺状态的判断程序。
出渣、出钢两种状态对应的转炉倾动角度分别为大于一定值,并且保持一定时间即可判断为出渣或出钢状态,并把状态值分别写入两个M点中间开关变量。
python编程用Snap7库读取这两个中间变量。当任意一个值为真时,读取摄像监控图像进行分析。读取的时间周期设定为5秒,并且连续两次判断为洒钢、洒渣时,才最终判定为洒钢、洒渣。这样就避免了铁花飞溅引起的误判,10秒的时间足够铁花降温而转暗。
5、判定结果的输出
最终判定洒渣、洒钢结果只有输出到合适的位置才能起到避免洒渣、洒钢事故扩大化。
1)输出炉下现场报警
使用Snap7库对转炉PLC进行回写判定结果,再通过PLC的DO点出发声光报警。
2)使用HMI界面对回写结果进行组态,在工艺人员的操作HMI上显示,并报警。提示摇炉人员出现洒钢、洒渣,及时摇起炉体,避免事故扩大。
3)使用OpenCV对发生洒渣、洒钢的炉下监控摄像头进行分析结果图片保存(处理前图像、处理后图像)归档。
四、结语
炉下视频图像处理的应用,利用现有的硬件设施,对硬件要求不高,不需要太大的二次投入。但一定程度上可以弥补避免发生洒渣、洒钢后人员不能及时发现、及时处理的可能,为转炉连续生产创造条件。
。
五、参考文献
[1](爱尔兰)乔.米尼奇诺(Joe Minichino)(加)约瑟夫.豪斯(Joseph Howse) OpenCV 3计算机视觉:Python语言实现(原书第2版)[M].北京华章图文有限公司.
[2](意)Davide Nardella.snap7官网[OL].
作者简介:宋明明,男,1981.02,山西省侯马市,2004年毕业于太原理工大学,工作单位:山西建邦集团,工作所在地:山西省临汾市曲沃县高显镇通才工贸有限公司,邮编。从事工作及研究方向:工业控制自动化。
邮寄地址:山西省临汾市侯马市紫薇尚都,电话:.
标签: 图像
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。