一种基于边缘检测的集装箱轮廓定位方法
【专利摘要】本发明涉及一种基于边缘检测的集装箱轮廓定位方法,它用摄像头采集集装箱相对两侧的图像并得上下锁孔的粗定位范围,将锁孔的粗定位图像转为灰度图并进行预处理,得到图像I1,I2,对图像I1,I2进行边缘检测,得到粗定位的上下锁孔边缘图像I1',I'2;采用Hough直线检测算法进行检测,得到线段集合,采用DBCAN聚类算法把接近水平和垂直的线段保留,得到水平线段集合LH和垂直线段集合LV,获得4个交点p1,p2,p3,p4由四个点构成一个四边形即为集装箱轮廓,由此实现集装箱轮廓的定位。它有效地解决锁孔图像在边缘检测的时候存在干扰边缘,以及Hough直线效果不佳等不足。
【专利说明】
一种基于边缘检测的集装箱轮廓定位方法
技术领域
[0001] 本发明属于计算机视觉技术和图像处理技术领域,具体涉及一种基于边缘检测的 集装箱轮廓定位方法。
【背景技术】
[0002] 随着集装箱运输的发展,使得集装箱船舶越来越大,货物集装箱化的比例不断提 高,集装箱运量不断上升。从航次经济核算分析,通过缩短集装箱船舶的停泊时间可以降低 停泊成本,提高集装箱运输船舶的航行效率并充分发挥船舶单位运输成本的优势,提高经 济效益。传统的手动控制抓取集装箱已经极大的影响了生产效率和装卸速度。一台桥吊把 集装箱从货轮装到拖车上,过程要求操作精度高,劳动强度大,是比较耗时的一个环节,其 中,在桥吊司机将抓具对准集装箱锁孔这一环节花费的时间占主要部分。提高装卸自动化 的程度是提高集装箱效率的有效途径,其关键内容就是减少桥吊司机对集装箱锁孔的定位 时间并且提升定位的准确性。
[0003] 为了解决集装箱锁孔轮廓的问题,国内外学术界、工业界提出了很多方案,其中与 本发明较为接近的技术方案包括:漆静(基于机器视觉集装箱吊具智能定位系统研究[D]. 西南交通大学,2015)首先通过模板匹配算法把集装箱顶部图像从整体图像中提取出来,然 后提取集装箱图像轮廓并平滑处理,最后用形态学处理过滤掉干扰的点和线,只保留吊孔 区域。这种方法存在的问题是,在光线不足的情况下集装箱轮廓提取效果的好坏并不稳定, 同时通过形态学算法提取吊孔区域的效果并不总是特别好,这通常会导致最后计算吊孔区 域形心坐标的偏差。徐良(基于ARM的集装箱定位系统的设计与实现[D].西南交通大学, 2012)首先将摄像头采集到的集装箱彩色图像转换为灰度图像,再者使用Canny算子检测并 且二值化以及Hough直线检测保证图像中的集装箱边缘与图像平行,将不平行的集装箱图 像排除,然后通过Otsu算法把集装箱灰度图像转换为二值图,最后根据集装箱锁孔外接矩 形的长宽比和面积过滤出二值图中锁孔的位置。文中使用锁孔外接矩形的顶点代替集装箱 轮廓顶点存在一定误差,因为在采集集装箱图像的时候,锁孔存在一定程度的形变,而且锁 孔的位置并不是出于集装箱的最外侧。发明专利(申请号:CN200710169094.5,名称:基于机 器视觉的双集装箱定位系统)中首先利用SUSAN算子提取集装箱图像边缘区域,其次抑制图 像噪声同时进行目标增强,然后采用Otsu算法对灰度图作闭运算,最后采用Hough直线检测 算法提取图像中集装箱的边线并与图库中的集装箱姿态进行匹配得到集装箱的位置。该方 法存在的问题是Hough直线提取的效果并不稳定,没有对检测出来的线段进行处理对后一 步姿态匹配的效果会有一定的影响。
[0004] 综上所述,既要实现集装箱轮廓的准确定位,又要能很好地适应不同光线带来的 影响,当前方法存在如下不足:(1)用吊孔中心坐标代替集装箱外侧角点存在一定误差(2) 用锁孔外接矩形的顶点代替集装箱外侧角点存在一定误差(3)对磨损的锁孔效果不好等 等。本发明针对这些问题提出了一种基于边缘检测的集装箱轮廓定位方法。
【发明内容】
[0005] 为解决上述问题,本发明的目的在于提供一种基于边缘检测的集装箱轮廓定位方 法。
[0006] 所述的一种基于边缘检测的集装箱轮廓定位方法,其特征在于包括如下步骤:
[0007] 步骤1:首先用安装在吊具上的摄像头采集下方集装箱某一侧的图像;
[0008] 步骤2:然后利用集装箱锁孔粗定位和跟踪方法获得步骤1得到图像的上下锁孔的 粗定位区域,该粗定位区域图像的高度为height,宽度为width,单位为像素;
[0009] 步骤3:将上下锁孔的粗定位图像转为灰度图并进行预处理,得到图像1^12;
[0010] 步骤4:利用自适应Canny边缘检测算法对步骤3的图像1^12进行边缘检测,得至幌 定位的上下锁孔边缘图像I:',1' 2;
[0011 ]步骤5:根据步骤4得到的边缘图像h',Γ 2,采用Hough直线检测算法进行检测,得 到线段集合LN={ln|n=l,2,. . .,N},N表示线段的数量;
[0012] 步骤6:根据步骤5得到的线段集合LN,采用DBCAN聚类算法把接近水平和垂直的线 段保留,得到水平线段集合LH和垂直线段集合LV,其中:
[0013] LH={lh|khe (-0.2,0.2),h=l,2,. . ,Ρ} (7)
[0014] LV={lv|kve (-①,-11.43) U (11.43,+①),ν=1,2, ·· .Q} (8)
[0015] LHULVeLN (9)
[0016] 式中,lh、kh、P分别表示集合LH中的线段、线段的斜率以及线段的数量,lv、k v、Q分 别表示集合LV中的线段、线段的斜率以及线段的数量;
[0017] 步骤7:在线段集合LH中,计算两两不同线段之间中心点连线的斜率1?和两条线段 自身平均斜率f,以及ku与之间差的绝对值八1^;若八1^小于阈值1',则将相应的两条 线段合并,否则保留,之后得到新的线段集合LH;同样在线段集合LV中完成相同计算得到新 的线段集合LV:
C 10; (11)
[0020]式中,ki,kj表示线段集合LH中两条线段的斜率且i辛j,其中i = l,2, . . .P; j = l, 2,. . . P ;
[0021] 步骤8:根据步骤7得到的新的线段集合LH、LV,首先将LH中最上侧的水平线段lt作 为上锁孔图像的上边缘,LH中最下侧的水平线段lb作为下锁孔图像的下边缘,其次根据坐 标从左向右遍历LV中的线段lv,延长lv和l t,lb,获得两个交点Pl,p2,然后将这两个交点连接 起来得到线段1 P并计算其斜率,将1P斜率和图像Ii,12中心点连线1。的斜率相比,如果斜率差 值的绝对值在阈值T以内则保留 Pl,p2并停止遍历LV,否则继续遍历,若遍历结束还没有找到 P1,P2则退出;
[0022] 步骤9:用安装在吊具上的摄像头采集下方集装箱另一侧的图像,然后重复步骤2 ~8,获得另一侧的交点p3和P4;
[0023]步骤10:利用基于双目视觉技术将?1,?2,?3,?4点的像素坐标转换为以吊具为参照 物建立的坐标系下的世界坐标,然后将这四个世界坐标点按逆时针或顺时针排序,四个点 构成一个四边形即为集装箱轮廓,由此实现集装箱轮廓的定位。
[0024] 所述的一种基于边缘检测的集装箱轮廓定位方法,其特征在于步骤3)中的预处理 具体步骤如下:
[0025] 步骤3.1:根据加权平均值公式,把粗定位图像转为灰度图:
[0026] Gray = R*0.299+G*0.587+B*0.114 (1)
[0027] 式中,Gray表示灰度值,R,G,B表示彩色分量值;
[0028] 步骤3.2:采用高斯金字塔方法对步骤3.1得到的灰度图进行下采样操作再进行上 采样操作,得到图像Ills。
[0029]所述的一种基于边缘检测的集装箱轮廓定位方法,其特征在于步骤4)中的自适应 Canny边缘检测算法具体步骤如下:
[0030] 步骤4.1:使用一阶Sobel算子对图像X方向和y方向进行计算,得到梯度矢量Sx,Sy;
[0031] 步骤4.2:计算出图像的梯度值矩阵S,同时计算出图像中最大的梯度值Μ:
(2) (3)
[0034] 式中,(Xl,yi)表示梯度值矩阵S中某个点i的坐标,(Xj,n)表示梯度值图像S中某 个点j的坐标且i辛j,Sw,表示点i的梯度值,A,表示点j的梯度值,max表示求最大值;
[0035] 步骤4.3:首先计算出图像的梯度值直方图,然后设定直方图的最大梯度值为Η并 且通过计算得到用于Canny边缘检测的高阈值H t和低阈值Lt,最后设定梯度值大小在前α% 的像素点为图像的非边缘点,剩下l-α%的像素点为边缘点: \ Μ Μ <255 , , Λ
[0036] Η = \ (4)
[255 Μ > 255
[0037] Ht=(i+1)*M/H (5)
[0038] Lt = Ht*k (6)
[0039] 式中,i表示1-α%的像素点中最小梯度值,k表示高低阈值之间的比例系数,0〈α〈 100;
[0040] 步骤4.4:根据步骤4.3得到的高阈值Ht和低阈值Lt,采用Canny算法对图像Ii,12进 行边缘检测,得到粗定位的上下锁孔边缘图像II·',1'2。
[0041] 本发明的优点是:本发明通过采用上述方法,能有效地解决锁孔图像在边缘检测 的时候存在干扰边缘,以及Hough直线效果不佳等不足。
【附图说明】
[0042] 图1为本发明实施例步骤1采集到的集装箱图像;
[0043]图2a为本发明实施例步骤2得到的上锁孔粗定位图像;
[0044]图2b为本发明实施例步骤2得到的下锁孔粗定位图像;
[0045]图3a为本发明实施例图2a经过步骤4得到的边缘图像;
[0046]图3b为本发明实施例图2b经过步骤4得到的边缘图像;
[0047]图4a为本发明实施例图3a经过步骤5得到的直线图像;
[0048]图4b为本发明实施例图3b经过步骤5得到的直线图像;
[0049]图5a为本发明实施例图4a经过步骤6、7得到的图像;
[0050]图5b为本发明实施例图4b经过步骤6、7得到的图像;
[0051]图6a为本发明实施例图5a经过步骤8得到的锁孔拐点图像;
[0052]图6b为本发明实施例图5b经过步骤8得到的锁孔拐点图像。
[0053]图中:卜交点ρι,2-交点p2。
【具体实施方式】
[0054] 下面结合实施例来详细阐述本发明基于边缘检测的集装箱轮廓定位方法的具体 实施方式。
[0055] 步骤1:首先用安装在吊具上的摄像头采集下方集装箱某一侧的图像;在本实施例 中,如附图1;
[0056] 步骤2:然后利用集装箱锁孔粗定位和跟踪方法获得上下锁孔的粗定位区域,该粗 定位区域图像的高度为height,宽度为width,单位为像素;在本实施例中,上锁孔粗定位图 像如附图2a、下锁孔粗定位图像如附图2b,height = 120、width = 120,所述的集装箱锁孔粗 定位和跟踪方法在申请号为201610273182.9的文件中已公开,在此不再详述;
[0057] 步骤3:将锁孔的粗定位图像转为灰度图并进行预处理,具体步骤如下:
[0058]步骤3.1:根据加权平均值公式,把粗定位图像转为灰度图:
[0059] Gray = R*0.299+G*0.587+B*0.114 (1)式中,Gray表示灰度值,R,G,B表示彩 色分量值;
[0060] 步骤3.2:采用高斯金字塔方法对步骤3.1得到的灰度图进行下采样操作再进行上 采样操作,得到图像1^12;
[0061 ]步骤4:利用自适应Canny边缘检测算法对图像h,12进行边缘检测,具体步骤如下: [0062]步骤4.1:使用一阶Sobel算子对图像X方向和y方向进行计算,得到梯度矢量Sx,Sy; [0063 ]步骤4.2:计算出图像的梯度值矩阵S,同时计算出图像中最大的梯度值Μ:
[0064] 5 = ^5; C2)
[0065] M =max(5\ .1.(3 )
[0066] 式中,(Xl,yi)表示梯度值矩阵S中某个点i的坐标,(Xj,n)表示梯度值图像S中某 个点j的坐标且i辛j,_&>,,表示点i的梯度值,气表示点j的梯度值,max表示求最大值;
[0067] 步骤4.3:首先计算出图像的梯度值直方图,然后设定直方图的最大梯度值为Η并 且通过计算得到用于Canny边缘检测的高阈值H t和低阈值Lt,最后设定梯度值大小在前α% 的像素点为图像的非边缘点,剩下l-α%的像素点为边缘点: {Μ Μ < 255
[0068] Η = \ (4)
[255 Μ >255
[0069] Ht=(i+1)*M/H (5)
[0070] Lt = Ht*k (6)
[0071] 式中,i表示1-ct%的像素点中最小梯度值,k表示高低阈值之间的比例系数,0〈cK 100;在本实施例中,〇 = 70汰=0.4;
[0072] 步骤4.4:根据步骤4.3得到的高阈值Ht和低阈值Lt,采用Canny算法对图像Ii,12进 行边缘检测,得到粗定位的上下锁孔边缘图像在本实施例中,如图3a和图3b;
[0073] 步骤5:根据步骤4得到的边缘图像ΙΛΙ'2,采用Hough直线检测算法进行检测,得 至1J线段集合LN= {In|n= 1,2,...,N},N表示线段的数量;在本实施例中,如图4a和图4b;
[0074] 步骤6:根据步骤5得到的线段集合LN,采用DBCAN聚类算法把接近水平和垂直的线 段保留,得到水平线段集合LH和垂直线段集合LV,其中:
[0075] LH={lh|khe (-0.2,0.2),h=l,2,. . ,Ρ} (7)
[0076] LV={lv|kve (-①,-11.43) U (11.43,+①),ν=1,2, ·· .Q} (8)
[0077] LHULVeLN (9)
[0078] 式中,lh、kh、P分别表示集合LH中的线段、线段的斜率以及线段的数量,lv、k v、Q分 别表示集合LV中的线段、线段的斜率以及线段的数量;在本实施例中,T = 0.2;
[0079] 步骤7:在线段集合LH中,计算两两不同线段之间中心点连线的斜率1?和两条线段 自身平均斜率€,以及1?与巧之间差的绝对值Akw若Δ。小于T,则将相应的两条线段 合并,否则保留,之后得到新的线段集合LH,在线段集合LV中完成相同计算:
'10) (11)
[0082]式中,ki,kj表示线段集合LH中两条线段的斜率且i辛j,其中i = l,2, . . .P; j = l, 2,. . .P;在本实施例中,如图5a和图5b,T = 0.2;
[0083] 步骤8:根据步骤7得到的线段集合LH、LV,首先将LH中最上侧的水平线段lt作为上 锁孔图像的上边缘,LH中最下侧的水平线段lb作为下锁孔图像的下边缘,其次根据坐标从 左向右遍历LV中的线段lv,延长lv和l t,lb,获得交点?1 1和交点p2 2,然后将这两个交点连 接起来得到线段1P并计算斜率,将1P斜率和Ii,12图像中心点连线1。的斜率相比,如果斜率差 值的绝对值在T以内则保留交点 ?1 1和交点p2 2并停止遍历LV,否则继续遍历,若遍历结束 还没有找到交点Pi 1和交点P2 2则退出;在本实施例中,如图6a和图6b,T = 0.2;
[0084] 步骤9:用安装在吊具上的摄像头采集下方集装箱另一侧的图像,然后重复步骤2 ~8,获得另一侧的交点p3和P4;
[0085]步骤10:利用基于双目视觉技术将?1,?2,?3,?4点的像素坐标转换为以吊具为参照 物建立的坐标系下的世界坐标,然后将这四个世界坐标点按逆时针或顺时针排序,四个点 构成一个四边形即为集装箱轮廓,由此实现集装箱轮廓的定位。
[0086]本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护 范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技 术人员根据本发明构思所能够想到的等同技术手段。
【主权项】
1. 一种基于边缘检测的集装箱轮廓定位方法,其特征在于包括如下步骤: 步骤1:首先用安装在吊具上的摄像头采集下方集装箱某一侧的图像; 步骤2:然后利用集装箱锁孔粗定位和跟踪方法获得步骤1得到图像的上下锁孔的粗定 位区域,该粗定位区域图像的高度为height,宽度为wi化h,单位为像素; 步骤3:将上下锁孔的粗定位图像转为灰度图并进行预处理,得到图像Ii,l2; 步骤4:利用自适应化nny边缘检测算法对步骤3的图像Ii,l2进行边缘检测,得到粗定位 的上下锁孔边缘图像1^1 步骤5:根据步骤4得到的边缘图像1/1,1/2,采用化U曲直线检测算法进行检测,得到线 段集合LN= {In I n= 1,2,…,N},N表示线段的数量; 步骤6:根据步骤5得到的线段集合LN,采用DBCAN聚类算法把接近水平和垂直的线段保 留,得到水平线段集合LH和垂直线段集合LV,其中: LH={lh|khe(-0.2,0.2),h=l,2,.. .P} (7) LV={lv|kve(-cx.,-ii.43) U (11.43,+^) ,v=l ,2,.. .Q} (8) LHULVeLN (9) 式中,lh、kh、P分别表示集合LH中的线段、线段的斜率W及线段的数量,lv、kv、Q分别表示 集合LV中的线段、线段的斜率W及线段的数量; 步骤7:在线段集合LH中,计算两两不同线段之间中屯、点连线的斜率ku和两条线段自身 平均斜率^,从及4。与^之间差的绝对值Aku;若Aku小于阔值T,则将相应的两条线段 合并,否则保留,之后得到新的线段集合LH;同样在线段集合LV中完成相同计算得到新的线 段集合LV:式中,ki,kj表示线段集合LH中两条线段的斜率且i声j,其中i = l,2,. ..P;j = l,2, .· · P; 步骤8:根据步骤7得到的新的线段集合LH、LV,首先将LH中最上侧的水平线段It作为上 锁孔图像的上边缘,LH中最下侧的水平线段lb作为下锁孔图像的下边缘,其次根据坐标从 左向右遍历LV中的线段Iv,延长^和1*,山,获得两个交点pi,p2,然后将运两个交点连接起来 得到线朗P并计算其斜率,将Ip斜率和图像Ii,l2中屯、点连线1。的斜率相比,如果斜率差值的 绝对值在阔值TW内则保留pi,p2并停止遍历LV,否则继续遍历,若遍历结束还没有找到P1, P2则退出; 步骤9:用安装在吊具上的摄像头采集下方集装箱另一侧的图像,然后重复步骤2~8, 获得另一侧的义点P3和P4; 步骤10:利用基于双目视觉技术将91,92,93,94点的像素坐标转换为^吊具为参照物建 立的坐标系下的世界坐标,然后将运四个世界坐标点按逆时针或顺时针排序,四个点构成 一个四边形即为集装箱轮廓,由此实现集装箱轮廓的定位。2. 根据权利要求1所述的一种基于边缘检测的集装箱轮廓定位方法,其特征在于步骤 3)中的预处理具体步骤如下: 步骤3.1:根据加权平均值公式,把粗定位图像转为灰度图: Gray = R*0.299+G*0.587+B*0.114 (1)式中,Gray 表示灰度 值,R,G,B表示彩色分量值; 步骤3.2:采用高斯金字塔方法对步骤3.1得到的灰度图进行下采样操作再进行上采样 操作,得到图像Il,l2。3.根据权利要求2所述的一种基于边缘检测的集装箱轮廓定位方法,其特征在于步骤 4)中的自适应化nny边缘检测算法具体步骤如下: 步骤4.1:使用一阶Sobel算子对图像X方向和y方向进行计算,得到梯度矢量Sx,Sy; 步骤4.2:计算出图像的梯度值矩阵S,同时计算出图像中最大的梯度值Μ:式中,(xi,yi)表示梯度值矩阵S中某个点i的坐标,(xj,yj)表示梯度值图像S中某个点j 的坐标且i声j,&;,W表示点i的梯度值,S,,.,表示点j的梯度值,max表示求最大值; 步骤4.3:首先计算出图像的梯度值直方图,然后设定直方图的最大梯度值为Η并且通 过计算得到用于化nny边缘检测的高阔值Ht和低阔值以,最后设定梯度值大小在前α%的像 素点为图像的非边缘点,剩下1-0%的像素点为边缘点:式中,i表示1 -α %的像素点中最小梯度值,k表示高低阔值之间的比例系数,0<α< 100; 步骤4.4:根据步骤4.3得到的高阔值出和低阔值^,采用化11117算法对图像11,12进行边 缘检测,得到粗定位的上下锁孔边缘图像?/ι,?/2。
【文档编号】G06T7/00GK106097329SQ201610398985
【公开日】2016年11月9日
【申请日】2016年6月7日
【发明人】高飞, 李定谢尔, 童伟圆, 汪敏倩, 葛粟, 葛一粟, 卢书芳, 肖刚
【申请人】浙江工业大学