迟金生 李小阳 张亚飞
(国能黄骅港务有限责任公司 河北省沧州市 061113)
门机作为大型的工程机械装备,其作业范围广,辅助人员多。一条船可能需要多台门机同时作业,码头面上人员及设备众多,因此保证作业安全是门机实现自动化的重要前提。门机自动化作业时,门机抓斗开闭不是由人控制,而是自动定位运行到料斗上方再开斗,如何保证机下人员和设备的安全,如何保证抓斗自动卸料时料斗周边警戒区域内无行人或者车辆,成为一个关键的安全问题。因此,门机在实施自动化作业时对料斗周边区域的警戒非常重要。当既定目标(行人或者车辆)进入或出现在料斗周边警戒区域内时,系统应能识别并产生报警信号,从而暂停当前作业。
标定是视频电子围栏系统计算的先决条件,后期的坐标转换和警戒区域设置都是以此为基础的。标定的目的是计算出摄像机在整个空间中的位置,再根据物体跟摄像机的距离反算出物体在整个空间中的位置。
在我们的视频电子围栏系统中,机构末端并不是门机的最末端(象鼻梁末端),摄像机安装在第二层固定台上某个点,该安装点到门机中心点(即门机坐标系原点)的转换关系即位转移矩阵。该矩阵是不变的。本文档中,在进行自动瞄盯时,将机构末端坐标系视为世界坐标系。
标定分为2 个过程,依次为:(相机内参/畸变参数提前标定,不在以下过程中)
从摄像机坐标系到靶标坐标系的转换(Tc);——外参
机构末端坐标系到靶标坐标系的转换(Tg)。——靶标贴在料斗上已知位置,将抓斗和料斗正对上,料斗的位置即为抓斗当前位置,则靶标在Oe 中的位置可得。
内参矩阵Tm、矩阵T6、从世界坐标系W 到图像坐标系的转换矩阵F,三者关系为:
F = TmT6
世界坐标系为(Xw Yw Zw 1)T,像素坐标系为(u v 1)T。不考虑相机的畸变。Tm 为3×4 的矩阵,T6 为4×4 的矩阵,F 为3×4 的矩阵。
从世界坐标系到摄像机坐标系转换包含旋转矩阵R 和平移矩阵T。世界坐标系由X 轴,Y 轴,Z 轴组成,摄像机坐标系也由X 轴,Y 轴,和Z 轴组成。将世界坐标系绕Z 轴旋转θ,绕X 轴旋转φ,绕Y 轴旋转ω 后与摄像机的三个对应的轴依次重合。
在进行自动盯瞄时,以大车旋转中心作为的原点、大车行走正方向为X 轴、水平面上与X 轴垂直方向为Y 轴,垂直地面向上建立世界坐标系。
在进行防护区域设置时,以料斗左下角点在地面上的投影作为的原点、大车行走正方向为X 轴、水平面上与X 轴垂直方向为Y 轴,垂直地面向上建立世界坐标系。
在进行盯瞄初始化阶段,会通过相机标定的方式,获取球机在靶标坐标系下的坐标,也即可以知道球机的安装高度、料斗左下角点位于摄像头前方的距离、料斗左下角点位于摄像头右方的距离。也即在不考虑摄像机旋转的情况下,料斗左下角点在摄像机坐标系中的坐标。根据球机的安装位置,可以知道摄像机在世界坐标系中的坐标。
当大车移动或料斗有移动时,此时料斗可能不在摄像头视野范围内,需要对球机进行旋转,也即进行自动盯瞄,通过控制球机PT 的形式,让料斗处于摄像头成像画面的中央区域。然后再通过自动识别料斗四个角点的形式,生成防护区域。
识别到四个角点后,重新进行标定,进而获取料斗的四个角点在像素位置,又由于相机的内参已知,四个角点的世界坐标系已知,根据PNP 计算,可以获取外参矩阵。
又防护区域的四个端点的世界坐标系可以计算得到,于是可以获取到防护区域四个端点的像素坐标。
标定完成,空间坐标确定后,计算机需对球机采集的图像进行处理。要从图像中提取出料斗、划定出警戒区域。
自动盯瞄,就是让球机始终对准料斗位置。
当大车或者料斗有移动时,料斗在球机的视野画面中的位置会产生变化,为了让料斗始终位于画面中,需要对球机进行偏转(水平方向和垂直方向)。
根据料斗相对于门机中心的位置、以及球机安装位置相对于门机中心的位置,可以计算出料斗相对于球机位置的水平角度和垂直角度,然后使用球机的PTZ 控制,让料斗处于球机画面的中央区域。由于料斗相对于门机的位置变化不是很大,以及防止相机内参发生变化,球机在进行料斗自动瞄盯操作时,球机的缩放操作Z 不进行变动。
料斗的四个角点的像素坐标,通过视觉算法,使用图像检测的方式获取这四个角点的像素位置。记这四个角点的像素坐标为C1、C2、C3、C4。如图1所示。
图1:料斗的四个角点示意图
首先将图片由BGR 颜色空间转换到HSV 空间,并通过颜色阈值分割和形态学膨胀腐蚀的方法得到二值图,利用轮廓检测得到整体的轮廓图。 如图2所示。
图2:料斗轮廓提取示例
然后根据图像的矩和相关的条件判断可以得到料斗的轮廓图,从而得到料斗的图像。最后通过视觉的线性变换检测等算法求取料斗的四个角点的像素坐标值。 如图3所示。
图3:料斗四角点坐标检测示意图
靶标为料斗的四个角点,料斗四个角所在的正方形的某一条边需要与大车行进方向平行。靶标坐标系的X 轴需与大车行进的正方向一致,靶标坐标系的Y 轴与X 轴垂直且与地面平行,靶标坐标系的Z 轴为垂直地面向上,靶标坐标系的原点为料斗四个角点中的坐下点在地面上的投影。进行警戒区域设置时,靶标坐标系即为世界坐标系。
又料斗四个角点在图像坐标系中的像素坐标已获取。根据料斗四个角点在图像坐标系下的像素坐标,和世界坐标系下的坐标,使用OpenCV 提供的函数solvePnP 获取世界坐标系到图像坐标系的外参矩阵。
扩展区域获取分为两个步骤,第一步为将料斗角点上的点投影到地面上,也即将其世界坐标系上的z 值设置为0,然后向外进行扩展并获取在图像中的像素坐标。
将料斗顶部四个角点投影到地面,得到四个投影点,记这四个投影点在世界坐标系下的坐标为W1,W2,W3,W4。将这四个投影点均向外扩展ParExt 米,记这四个扩展后的投影点在世界坐标系中的坐标为P1,P2,P3,P4.
然后将这四个点的世界坐标,带入像素坐标系与世界坐标系的转换公式,得到每个点的像素坐标。这四个点依次连接组成的四边形便是区域入侵功能所需的入侵区域。
划定出警戒区域后,计算机要识别出警戒区域内的特征物(人和车),从而起到电子围栏的作用。
目标指的是人和车。通过图像特征检测的方式检测出视野范围内的人和车。
使用特征检测的目的是为了剔除除人和车以外的目标引起的误报警。若不使用特征检测,而是使用当前画面与背景画面做对比的方式进行目标检测,在作业过程中,可能会出现由抓斗、云朵影子、物料倾泻过程中出现的灰尘、门机的影子等引起的误报。
当有既定目标(人和车)进入或出现在料斗附近区域内时,产生报警信号,以及引起报警的物体在摄像机画面中的位置、尺寸和类别。具体地,料斗区域附近是指料斗周边一定范围内。也即离料斗的距离小于指定参数ParExt 米的区域。目前暂定的ParExt 的值为2。
由于本方案采用的是视频图像处理的方案,实际报警时,指的是人或车的二维目标进入或出现在设定的区域中。既定目标部分进入或出现在入侵区域中也会触发报警。进入的意思是目标由区域外面进入区域里,出现指的是初始时刻目标便已经在区域里。如图4所示。
图4:区域入侵示意图
当出现入侵报警时,应暂停当前作业。以防止事故的发生。
具体地分为两种情况。第一种情况是抓斗移动到料斗上方准备开斗卸料时,此时若存在入侵报警,则不进行开斗作业;第二种情况是在开斗作业过程中,若出现报警,则停止作业或进行其他能够减少危害的措施。
入侵报警时进行开斗作业可能出现的事故包含:物料溅撒到人的身体上造成伤害,物料溅撒到车辆上对设备造成损坏,溅撒的物料较多时将人或车辆掩埋等。当报警解除时,暂停的散货的装卸作业继续进行。
通过坐标标定、坐标换算、空间坐标生成、料斗盯瞄、警戒区域生成、目标检测、报警处理等相关应用技术的联系,在黄骅港6#门机自动化项目中研究应用,最终有效实现了电子围栏技术。电子围栏技术对于门机自动化的实现起到了重要的安全性保障,是对自动化项目中节约人工成本,提升设备运行效率的关键技术保障。该研究技术在其他自动化领域也起到极为关键的作用。