[发明专利]一种闸口集装箱自动验残方法在审
| 申请号: | 202011513861.1 | 申请日: | 2020-12-21 |
| 公开(公告)号: | CN112465706A | 公开(公告)日: | 2021-03-09 |
| 发明(设计)人: | 汤春明;陈朋 | 申请(专利权)人: | 天津工业大学 |
| 主分类号: | G06T3/40 | 分类号: | G06T3/40;G06T7/00;G06T7/12;G06T7/181 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 300387 天津市*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 闸口 集装箱 自动 方法 | ||
1.一种闸口集装箱自动验残方法,包括三个部分:
首先,通过集装箱检测启动程序以判断程序是否开始运行;其次,通过相位相关法的图像拼接方式来获取集装箱的完整图;最后,对集装箱上横梁的形变、集装箱表面的凹陷和集装箱表面的锈蚀三种缺陷分别进行检测;在对三种缺陷的图像特点进行分析的基础之上,使用机器视觉相关技术,分别提出了相应的检测算法,包括以下步骤:
A.集装箱检测启动程序,该算法基于一个事实:在对集装箱进行检测之前,要对车道中是否有集卡通过进行判断,并且当卡车经过闸口时,速度会相对有所减缓,以便于留出时间让摄像头拍摄和工作人员进行检查,并且我们只需要知道是否有卡车经过而不需要得到卡车的全图,基于这点,为了节省计算资源并加快处理速度,我们首先选取本车道区域作为处理的ROI区域,并选择隔帧的处理方式在ROI区域进行帧差法处理:首先对读入的相邻帧图像分别进行灰度化处理和低通滤波处理;其次,对相邻两帧图像运用帧差法,得到帧差图像;最后,通过对帧差图像进行二值化处理,并对其内所含的信息进行计算来判断是否有卡车车头进入摄像机视野;当目标(集卡和所运载的集装箱)没有在监控视野内时,摄像机镜头内的画面无显著变化,帧差图像内信息为0,当车头进入监控视野中时,帧差图像内会含有两幅图像相差的信息;检测完车头之后,要对卡车是否载有集装箱进行检测,同样选用帧差法来进行判断;首先,差值图像中每列最高点白色像素点高度hi,有白像素点的总列数col1,计算图像最高点均值:
其次,取当前图像第一部分hx50区域、第二部分hx100区域、第三部分hx50区域图像,按公式(1)的步骤计算三个区域的val21、val22、val23,取ROI区域前1/2区域、后1/2区域图像,计算两个区域的val31、val32;最后,如果val21>val1并且val22>val1并且val23>val1,则可确认集卡装载有集装箱,可以开始进行集装箱验残;如果val31>0并且val32=0,则代表卡车已经开过;
B.图像拼接:因设监控视野中时间t的集装箱图像为f1(x,y),时间t+s的集装箱图像为f2(x,y),在s时间内集装箱的位移量为Δx,Δy,则f1(x,y)和f2(x,y)之间的相同部分的位置变化可以看作是位移了Δx大小之后的结果,即f2(x,y)和f1(x,y)之间的关系可以表示成:
f1(x,y)=f2(x-Δx,y-Δy) (2)
我们可以使用Fourier变换把时间域的变化转换到频域,再通过相移的大小来得到表示位移量,公式(2)的傅里叶表达式可以表示成公式(3)的形式;
F1(u,v)=F2(u,v)*e-j*2π*(u*Δx+v*Δy) (3)
其中,其中F1(u,v)为f1在频域的表现形式,F2(u,v)为f2在频域的表现形式,功率密度函数是单位频带内的信号功率,表示了信号功率随着频率变化而变化的情况,通过对F1和F2分别求取其共轭F1*和F2*,接下来求取f2(x,y)和f1(x,y)的互功率谱,求取公式如(4)所示:
接下来,对互功率谱Hcps(u,v)取傅里叶反变换:
IFFT(Hcps(u,v))=δ(u-Δx,v-Δy) (5)
通过公式(5),我们得到了一个脉冲函数,寻找该脉冲函数峰值坐标即可得到偏移量,根据偏移量,对图像进行拼接,在车尾进入视野后,拼接结束,即可得到集装箱全景图;
C.集装箱验残:主要针对集装箱两个侧面和顶面进行残损检测,并分别对集装箱横梁形变、集装箱表面的凹陷以及集装箱表面的锈蚀三种残损;针对集装箱上横梁形变的检测提出了一种基于边缘信息结合非线性最小二乘法的检测算法;为了节省计算资源,首先自动获取集装箱的上横梁,接着通过Sobel算子对我们实验所需的上边缘的提取效果要优于其他两个边缘提取算子,为了更方便地对集装箱的上边缘进行定位,对边缘图像进行非极大值抑制以消除杂散效应后,最后选取合适的双阈值算法检测和连接以获取上横梁的上边缘,这样可以便于对边缘点信息进行统计;采用最小二乘法进行直线拟合,通过在直线类y=kx+b中寻找一条最佳的直线来拟合给定的散点集,记散点集中的真实值为y,共有m个点,拟合值为y′,误差计算公式如式(6);最佳直线要求所求的k和b使得公式(7)的误差计算最小,通过计算拟合值和真实值之间的误差Er的大小来确定上横梁是否发生形变;
Er=|y-y′| (6)
对于集装箱表面的凹陷,结合凹陷图像信息的特点提出一种基于横向梯度信息的凹陷检测方法,即通过使图像横向梯度信息更加显著以及对周边背景的消除,来分割出凹陷区域;选择提取方向边缘较强的Sobel算子对存在凹陷缺陷的图像进行横向边缘提取,即对图像进行垂直方向的梯度检测,首先对图像进行灰度化,然后通过Sobel算子对灰度化后的图像进行垂直梯度检测,假设Fimg(x,y)表示实际图像,Mimg(x,y)表示所需的目标图像,Nimg(x,y)表示包含噪声以及背景等其它无关部分的图像,则可以通过式(8)表示它们之间的关系:
Fimg(x,y)=Mimg(x,y)+Nimg(x,y) (8)
为了对缺陷方面进行分割,我们定义Gm为最大灰度值,通过公式来(9)区分凹陷区域和其他区域:
我们通过改进的5x5均值滤波模板Km来对目标图像Iimg进行滤波处理,其处理公式为:
其中改进的模板Km表达式为:
在原有的均值滤波模板上引入了参数P,通过改变P的值分别对图像进行平滑,所得结果进行二值化后,最终通过对比确定P值为10时处理效果较好,再通过公式(9)进行分割,即可得到凹陷区域;
对于集装箱表面的锈蚀,提出一种基于age map和灰度梯度共生矩阵的集装箱表面锈蚀检测算法:假设图像的长、宽分别为L、W,将图像分成hxh(本方法为20x20)个切片作为源切片,每一个源切片的大小为(L/h)x(W/h),然后通过计算距离源切片W/2h和L/2h同样大小的相邻切片,和源切片的相似度来确定每一个源切片的age map;亮度特性和梯度特性可以表示一幅图像,因此通过同时计算源切片和邻切片之间的亮度相似性和梯度相似性可以代表源切片的age,如式(12):
其中,Islice为切片图像的亮度图,Gslice为它的梯度图像,采用计算像素间的余弦距离表示像素之间的相似性;设某一源切片OT的梯度图像为GT,亮度图像为LT,其相邻切片ON的梯度图像为GN,亮度图像为LN,根据余弦相似定理,GT和GN之间的相似性通过公式(13)进行计算:
同理,可以得到LT和LN之间的相似性SL,同时兼顾图像的梯度特征和亮度特征,则OT的agemap计算方式如式(14)所示:
其中,OTG为OT的灰度图像,依次得到所有源切片的age map,最终可得到整幅图像的agemap,再对其灰度化得到G1;通过对G1观察,发现锈蚀区域的内部亮度较高并且分布均匀,而锈蚀部分与正常部分边缘处梯度值较高;根据此特点,我们使用灰度-梯度共生矩阵得到锈蚀和背景的边缘;设归一化后的图像最大灰度值为Pf,最大梯度值为Pg,则其灰度-梯度共生矩阵的表现形式是一个Pf x Pg大小的矩阵,把矩阵划分为T1~T4四个区域,其中:T1和T3区域属于锈蚀区域或正常区域,T2和T4区域属于锈蚀部分和正常部分的边缘;有且仅有一个分割点(m,n)可以分割开四个区域,即找到(m,n)就可以找到缺陷区域;设灰度梯度共生矩阵内灰度值为x、梯度值为y像素的概率为p(x,y),则计算出T1区域定义的像素概率和可通过式(15)计算:
同理我们可以得到T2、T3以及T4区域定义的像素概率和;图像中只存正常箱体部分,锈蚀部分,背景边缘和锈蚀边缘,因此象限分割点(m,n)是唯一的;首先对T2区域的像素概率进行归一化得到归一化后的像素概率为PT2(x,y);同理可以得到T4区域归一化后的像素概率;T2区域梯度值大灰度值小,大概率是背景边缘,从熵的角度来看,PT2(x,y)是背景区域的边缘熵的计算公式为:
T4区域是梯度值大灰度值大的区域,最有可能是锈蚀边缘,PT4(x,y)是锈蚀边缘的熵Hentropy(边缘|锈蚀),可以通过公式(17)进行计算:
根据公式(16)和公式(17),图像分割锈蚀的熵计算公式为式(18):
根据最大熵方法,使Hentropy(m,n)最大的点(m,n)即为所求;当像素满足灰度值大于m且梯度值大于n时,即为边缘像素,最终可得到锈蚀的分割图像。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津工业大学,未经天津工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011513861.1/1.html,转载请声明来源钻瓜专利网。





