基于单目协同的双目视觉箱体尺寸测量方法

文档序号:31882303发布日期:2022-10-21 23:25阅读:89来源:国知局
基于单目协同的双目视觉箱体尺寸测量方法

1.本发明涉及一种立体目标三维信息的测量方法,具体地说是一种基于单目协同的双目视觉箱体尺寸测量方法。


背景技术:

2.双目视觉是机器视觉技术的一种重要形式,其基本原理是利用两个左右水平摆放的摄像机模拟人眼分别获取同一物体不同角度的图像,然后根据左、右两幅图像对应点的视差来计算被测物体的三维尺寸,从而实现二维到三维的可视表面重建和尺度测量。yang等人提出了一种用于水域数字表面模型生成的立体匹配算法,通过自适应匹配来实现水域的准确视差和高度估计,使得生成的水域数字表面模型具有较高的精度和视觉质量。liu等人提出了一种基于激光线约束的双目重建算法。通过引入激光线约束,然后建立三种匹配模式,最后创建双目重建测试系统和测量精度评价装置,提高了整体测量和单点测量的精度。huang等人提出一种基于双目视觉结合动态局部平面的孔半径和间距测量方法,克服了传统方法工作距离可变、突变边缘定位误差大的问题,测量精度在半径和间距上分别提高了至少77%和53%。王月敏等人将非连续镜面物体分割为若干个连续物面,并通过梯度积分独立计算各连续物面的3d形貌,利用双目视觉计算连续区域内特征点的绝对空间坐标并重建非连续镜面物体的3d形貌,在保证测量精度的同时避免了不连续物面之间的积分错误问题。刘诗婷等人提出了一种基于双目变焦的超分辨率成像测距方法。该方法通过变焦系统进行变焦超分辨率重建,在系统其余硬件条件不变的情况下提高系统的成像分辨率,减小测距相对误差。yang等人提出了一种通过双目立体视觉的视频序列估计身高的方法,通过头部视差和双目摄像机的标定参数估计人体的高度。zheng等人基于立体相机,通过使用关键点的像素位置和深度信息,估计蔬菜的直径和长度。
3.在使用双目视觉技术测量箱体尺寸时,双目相机与被测箱体侧面会存在一定角度,由于相机分辨率固定,远点视差值将会产生严重的测量误差,从而极大地影响测量精度。利用多机位双目相机可以避免出现远点视差值误差增大问题,但双目相机价格昂贵,不适于工业需求。


技术实现要素:

4.本发明的目的就是提供一种基于单目协同的双目视觉箱体尺寸测量方法,以实现更精确的箱体尺寸测量并降低工业应用成本。
5.本发明是这样实现的:一种基于单目协同的双目视觉箱体尺寸测量方法,包括以下步骤:
6.s1、测量系统的构建:设置一个在台面上附装有传送带的基台,在传送带的旁侧设置架杆,所述架杆上的横杆横跨在传送带的上方,在所述横杆上设置单目相机,所述单目相机的摄像头垂直向下设置;在所述架杆的立杆上设置有双目相机,所述双目相机的摄像头与传送带的运动方向相垂直,且双目相机的设置高度是使摄像头处于目标箱体高度的一
半;在靠近双目相机一侧的传送带上绘制一条预设直线,所述预设直线与所述传送带的运动方向一致;
7.s2、目标箱体的设置:将目标箱体放置在传送带上,目标箱体的长度方向偏离传送带的运动方向,且目标箱体与预设直线不接触;启动传送带运行,使其载着目标箱体向前移动,待目标箱体的靠近双目相机的一个侧棱沿进入单目相机摄像头的视野中部区域后,停止传送带的运行,保持目标箱体的位置不变;
8.s3、双目图像的处理:由双目相机获取目标箱体的两张全景原始图像,通过图像分割操作,去除两张原始图像中的背景图像,得到两张仅含有目标箱体的目标图像,在两张目标图像上标识出目标箱体的各个箱体角点,并使用角点检测算法,得到各箱体角点的角点坐标,分别计算出每个箱体角点所对应的视差值;
9.s4、单目图像的处理:由单目相机获取进入摄像头视野区内的目标箱体的局部原始图像,通过边缘检测算法,检测出原始图像中带有目标箱体的箱体边缘和预设直线的图像,将图像中的目标箱体的边缘线通过hough变换,得到表征目标箱体边缘线和预设直线的三条呈交叉态的直线以及该三条直线在极坐标上的坐标参数,然后计算得出目标箱体的两条边缘线与预设直线间的夹角,称为预设夹角θ;
10.s5、建立高度测量模型,进行目标箱体高度的测量:
11.s5-1建立高线p
11
p
12
的高度测量模型为:
[0012][0013]
其中,为高线p
11
p
12
的真实长度,dm为p
11
、p
22
两点的视差值的平均值,dm=mean(d1,d2);x
11
、x
22
为两点像平面横坐标;y
11
、y
22
为像平面纵坐标;
[0014]
s5-2高线p
21
p
22
与高线p
31
p
32
的真实长度类比公式(7)计算得出;
[0015]
s5-3利用公式(8)分别计算三条高线后,求其平均值得到目标箱体高度的测量结果:
[0016][0017]
其中,为高线p
21
p
22
的真实长度,为高线p
31
p
32
的真实长度;
[0018]
s6、建立长度测量模型,进行目标箱体长度的测量:
[0019]
s6-1当投影点p1投影在像主点o的左侧,长度线p1p2的真实长度的测量模型为:
[0020][0021]
其中,b为双目相机中的两摄像头焦点间的水平基线距离,f为双目相机的焦距,d2为p2点的视差值,x1为p1点的横坐标,x2为p2点的横坐标,u0为左像平面像主点的横坐标,θ为预设夹角,同时也是目标箱体的边缘线与双目相机像平面之间的夹角;
[0022]
s6-2当投影点p1投影在像主点o的右侧,长度线p1p2的真实长度的测量模型为:
[0023][0024]
s6-3通过公式(14)和公式(16)计算两种情况下目标箱体的长度;
[0025]
s7、建立宽度测量模型,进行目标箱体宽度的测量:
[0026]
s7-1建立投影点p1p1的宽度测量模型为:
[0027][0028]
其中,d1为p
11
点的视差,d2为p
12
点的视差,v0为像主点纵坐标,y1为p
11
点的纵坐标,y2为p
12
点的纵坐标,w为权重系数;
[0029]
s7-2测量宽度时,将对应角点坐标代入公式(17),即可估算出坐标轴上目标箱体的宽度边缘坐标。
[0030]
本发明测量方法通过引入目标箱体边缘与双目相机的预设夹角θ,建立目标箱体关于长度和宽度的测量模型;通过近似理想模型并进行误差矫正,建立目标箱体的高度模型;由此计算出目标箱体准确的三维尺寸。再根据预设夹角θ的大小与坐标位置,自动选择相应测量模型,实现目标箱体三维尺寸的测量。本发明测量方法通过在目标箱体的长度测量模型和宽度测量模型中引入预设夹角θ,在高度测量中利用双目相机的理想测量模型,得到目标箱体的高度值,并进行误差矫正,由此解决了传统双目视觉目标箱体尺寸测量方法由于视差误差所导致的测量误差偏大的问题。
[0031]
本发明通过在传统双目视觉箱体三维测量系统中引入单目相机,用于辅助获得箱体边缘与双目相机的夹角,推导了相应算法,屏蔽长度、宽度测量模型中箱体远点视差误差对于测量精度的影响,同时对近点视差误差对测量精度的影响也有明显抑制作用。在提升高度测量模型性能方面,通过双目相机理想模型得到高度值,并对位置和视差影响进行有效补偿,给出相应算法,提高箱体高度的测量精度。以实际箱体为测量对象构建测量系统进行对比实验,结果表明,相对现有方法,本发明方法测量长度、宽度的平均误差为0.45%,较传统方法精度提升56倍;高度测量的平均误差为0.16%,较传统方法精度提升17倍,测量精度大幅提升,特别适用于物流行业箱体高精度三维测量。
附图说明
[0032]
图1是本发明测量方法所用测量系统的结构示意图;图中:1、双目相机,2、传送带,3、预设直线,4、目标箱体,5、单目相机,6、导轨,7、图像处理系统,8、基台。
[0033]
图2是本发明测量方法所用算法流程图。
[0034]
图3是双目图像处理演示图;其中,图3(a)是双目原始图像,图3(b)是目标箱体分割结果图,图3(c)是角点检测结果图。
[0035]
图4是单目图像处理演示图;其中,图4(a)是单目原始图像,图4(b)是边缘检测结
果图,图4(c)是角度测量结果图。
[0036]
图5是测量误差统计图。
[0037]
图6是目标箱体在左像平面成像示意图。
[0038]
图7是测量原理图。
[0039]
图8是理想测量模型图。
[0040]
图9是x1《u0的长度计算原理图。
[0041]
图10是x1》u0的长度计算原理图。
[0042]
图11是测量误差对比图;其中,图11(a)是采集的图像,图11(b)是长度误差统计图,图11(c)是高度误差统计图。
具体实施方式
[0043]
下面结合附图对本发明测量方法做进一步详述。
[0044]
本发明测量方法包括以下步骤:
[0045]
步骤s1:构建本发明测量方法所用测量系统。
[0046]
如图1所示,在传送带2的一侧设置l形架杆6,l形架杆6的横杆横跨在传送带2的上方,在l形架杆6的立杆上设置双目相机1,双目相机1与传送带2的传动方向相垂直,并与传送带2的边缘相平行。在l形架杆6的横杆上设置单目相机5,单目相机5位于传送带2的上方且垂直向下设置。在靠近双目相机1一侧的传送带2上标注一条预设直线3,该预设直线3与传送带2的边沿平行,用于获得目标箱体近角上的两个下边缘的延长线与预设直线3之间的夹角,表示为目标箱体的预设夹角θ,该夹角同时也是目标箱体4与双目相机1的相平面之间的夹角。预设夹角θ的设置,是为了更好地获取目标箱体4的三维尺寸,还可降低因角度测量误差对于系统测量的影响。
[0047]
步骤s2:在测量系统中设置目标箱体。
[0048]
将目标箱体4放置在传送带2上,目标箱体4的长度方向偏离传送带2的运动方向,且目标箱体4与预设直线3不接触。启动传送带运行,使其载着目标箱体4向前移动,待目标箱体4的靠近双目相机1的一个侧棱沿进入单目相机摄像头的视野中部区域后,停止传送带的运行,保持目标箱体4的位置不变。
[0049]
步骤s3:双目图像的处理。
[0050]
由双目相机1获取目标箱体4的两张全景原始图像(图3(a)),通过图像分割操作,去除两张原始图像中的背景图像,得到两张仅含有目标箱体的目标图像(图3(b)),在两张目标图像上标识出目标箱体的各个箱体角点(图3(c)),并使用角点检测算法,得到各箱体角点的角点坐标,分别计算出每个箱体角点所对应的视差值。
[0051]
利用双目相机1采集双目原始图像(图3(a)),通过图像分割方式,将目标箱体与背景相分离,然后通过角点检测算法,得出目标箱体的全部角点。
[0052]
步骤s4:单目图像的处理。
[0053]
如图4所示,单目图像的处理过程是:先由单目相机5获取进入摄像头视野区内的目标箱体4的局部原始图像(图4(a)),通过边缘检测算法,检测出原始图像中带有目标箱体4的箱体边缘和预设直线的图像(图4(b)),将图像中的目标箱体4的边缘线通过hough变换,得到表征目标箱体边缘线和预设直线的三条呈交叉态的直线(图4(c))以及该三条直线在
极坐标上的坐标参数,然后计算得出目标箱体的边缘线与预设直线间的夹角,即预设夹角θ。
[0054]
利用单目相机5采集单目原始图像(图4(a)),预处理后进行边缘检测,得到边缘检测结果(图4(b)),再对边缘检测结果利用hough变换,进行直线检测(图4(c))。hough变换的原理是利用点与线的对偶性,将笛卡尔坐标系中的检测问题转换到极坐标系中进行。极坐标系与笛卡尔坐标系的转换关系为:
[0055]
ρ=x cosβ+y sinβ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0056]
其中,ρ为原点到直线的距离,β为原点到直线垂线的倾斜角。
[0057]
目标箱体的预设夹角θ的计算公式为:
[0058]
θ=β-β
l
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0059]
其中,β
l
为预设直线所对应的极坐标夹角,在单目相机位置不变的情况下,该角度不会发生变化;βi为对应目标箱体边缘的极坐标夹角;当被测边缘为目标箱体的长时,预设夹角θ为正数,当被测边缘为目标箱体的宽时,预设夹角θ为负数。
[0060]
本实施例中所使用的单目相机的分辨率为640
×
480pixel。采集单目原始图像,通过边缘检测算法检测出目标箱体的边缘,随后进行hough变换,得到目标箱体各边缘与预设直线的夹角,即预设夹角θ。本实施例将20组不同目标箱体在不同的预设角度下作为测试对象,测量误差结果如图5所示。其中,角度测量的平均绝对误差为0.003
°
,最大误差为0.0445
°
。根据图11的θ角误差对于系统误差分析结果显示,在测量误差小于0.05
°
时,θ测量误差对本发明两长度模型引起的系统误差微弱。
[0061]
步骤s5:建立高度测量模型,进行目标箱体高度的测量。
[0062]
在图6所示的目标箱体4的左像平面成像示意图中,p1p2为箱体的长度,p2p3为箱体宽度,p4p5为箱体长度,p
11
、p
12
、p
21
、p
22
、p
31
、p
32
这六点均为目标箱体4的箱体角点。利用双目视觉同时获得目标箱体的三维尺寸,目标箱体4须与双目相机1存在水平夹角(图1),p1p2与双目相机1的夹角为正数,p2p3与双目相机1的夹角为负数。
[0063]
在图7所示的测量示意图中,双目相机中的两摄像头s1、s2的焦点水平距离为基线距离b;双目相机与其对应的像平面的距离为焦距f,可通过标定方法获得;摄像头的摄影中心与其对应的像平面垂线的交点为像主点,图中,o(u0,v0)为左像平面的像主点;和为相机坐标系中被测线段边缘两点;p1和p2分别为和在左像平面的投影点,并投影在像平面坐标系的u轴上。则点的空间坐标可以通过左平面的图像信息得到:
[0064][0065]
其中,d1为p1点的视差值。的空间坐标也可通过公式(3)得出。则的空间距离可由传统测量模型得出:
[0066][0067]
其中,d1和d2为分别为和的视差。目标箱体的其他边缘长度也由公式(4)计算得出。传统箱体尺寸测量精度高度依赖d1和d2两个视差值的精度,但受到相机分辨率及其他参数标定的影响,很难得到精确的视差值。尤其距双目相机1较远,d1受到相机分辨率的限
制,导致测量误差增大。本发明算法通过单目相机5的协同测量,可有效降低视差值误差对于测量误差的影响。
[0068]
如图8所示,当被测线段p1p2与像平面l、r平行并与双目相机1的两光心s1、s2共面时,为双目理想测量状态。由于在理想状态下d1=d2代入公式(4),得到:
[0069][0070]
由于双目相机1垂直放置(如图6),p4p5平行双目相机1且两点横坐标相等,根据公式(3),p4p5的真实长度为:
[0071][0072]
其中,为p4p5的真实长度;y4、y5分别为点p4、p5在像平面坐标系的纵坐标值;d为p4、p5两点的视差值。
[0073]
图6中,暴露在双目视野范围内的高线共有三条,每条高线理论上都平行于像平面的y轴,且对应的两个角点的视差值理论上相同,所以每条高线的长度都可以将对应检测到的角点坐标代入公式(6)计算得出。但在实际测量过程中,角点检测难免出现偏差或者目标箱体本身存在瑕疵,使得目标箱体竖直边缘并不垂直于地面,这时就可通过两点的测量坐标,计算可能存在的角度偏差,来补偿出现的误差。以图6中的高线p
11
p
12
为例,其真实高度计算模型为:
[0074][0075]
其中,为高线p
11
p
12
的真实长度,dm为p
11
、p
21
两点的视差值的平均值,dm=mean(d1,d2);x
11
、x
22
为两点像平面横坐标;y
11
、y
22
为像平面纵坐标。
[0076]
同理,高线p
21
p
22
、高线p
31
p
32
的真实长度也可通过公式(7)计算得出。最后利用公式(8)分别计算三条高线后,求其平均值即可得到目标箱体高度的测量结果:
[0077][0078]
其中,和为图6中高线p
21
p
22
和高线p
31
p
32
的真实长度。目标箱体的高度通过在图6的左像平面上计算出三条高线的长度,最后取全部高线长度的平均值为最后测量的高度值。
[0079]
步骤s6:建立长度和宽度测量模型,进行目标箱体长度和宽度的测量。
[0080]
如图6所示,在测量前需要将目标箱体与双目相机预设一定角度,以保证获得目标箱体的全部信息。经过多次实验验证,目标箱体一侧的夹角θ《60
°
时,该侧的角点检测效果最佳。为能够同时得到目标箱体两侧角点信息,在测量前目标箱体一侧与双目相机预设夹角应在30
°
~60
°
范围内。
[0081]
通过公式(5),可以得到理想状态下的线段长度,但实际测量时目标箱体与双目相机的相平面存在预设角度θ。当预设角度θ为正数时,该测量边为目标箱体的长,在双目图像的左像平面中进行运算;当预设角度θ为负数时,该测量边为目标箱体的宽,在双目图像的右像平面中运算。长和宽的运算分别在双目图像的左像平面和右像平面运算,原理上无区
别,在此只介绍θ角为正数时,即目标箱体长度的测量模型。长度测量因投影点p1的横坐标x1与该像平面上像主点o的横坐标u0的比较大小不同,测量模型也不相同。
[0082]
在图9所示的长度计算原理图中,目标箱体边缘与双目相机的像平面之间存在有预设夹角θ,该角度通过单目相机采集获得。现引入直线l过点且平行于两像平面,此时直线l与夹角为θ,与投影线交于点a,s1o延长线交l于点b。
[0083]
的长度已经由公式(5)得出:
[0084][0085]
由于rt

s1op1相似于rt

s1ba,则有∠s1p1o=∠s1ab,∠bas1与互为补角,op1的长度为|x
1-u0|,s1o长度为f,则有:
[0086][0087]
此时,为:
[0088][0089]
根据正弦定理,可以通过以下公式得出:
[0090][0091][0092][0093]
其中,d2为p2的视差值,x1和x2为p1和p2点的横坐标,u0为左像平面像主点的横坐标。
[0094]
当x1》u0时,如图10所示,投影点p1投影在像主点o的右侧。根据三角形相似,∠s1p1o=∠s1ab,而与∠s1ab互为顶角,则:
[0095][0096]
长度为:
[0097][0098]
通过公式(14)和公式(16)计算两种情况下目标箱体的长度。宽度运算需要在双目图像右侧图像上测量,原理与长度测量相同。
[0099]
如图6所示,以上原理只计算图像上p1p2所对应的真实长度,所检测到的目标箱体角点的投影点并不在像平面的坐标轴上。目标箱体的横边由于小孔成像原理,在像平面非坐标轴位置的投影为斜线。因此需要利用得到的角点坐标来估计出坐标轴上目标箱体边缘坐标。
[0100]
对于双目相机系统,测量误差与测量点的视差值成正比。考虑到角点与坐标轴的位置关系,坐标轴上的p1、p2横坐标由以下公式得出:
[0101][0102]
其中,d1、d2分别为p
11
、p
12
点的视差;v0为像主点纵坐标;y1和y2为p
11
和p
12
点的纵坐标。权重系数w充分考虑了测量点位置和视差值的影响,得到更高精度的估计值。测量宽度时,将对应角点坐标代入公式(17),即可估算出坐标轴上目标箱体的宽度边缘坐标。
[0103]
方法验证:对棋盘格方块的尺寸测量。
[0104]
为验证本发明系统对实际目标的测量性能,进行了实际目标实验。本次实验是在cpu为amd ryzen 4800h with radeon graphics,gpu为geforce gtx 1650,ram为32gb的计算机上进行,采用的双目相机1为bumblebee bb2-03s2m-60,单目相机5为allied vision stingray f-046c,采集的图像由opencv版本为2.4.11的microsoft visual studio 2013进行处理。内外参数通过张正友标定方法获得,如表1所示。
[0105]
表1双目相机内外参数
[0106][0107]
为进一步对比本发明算法与传统算法的实际性能,本步骤利用标定板进行对比试验。由于标定板上的方块数目较多且尺寸固定,测量每个方块的长和高具有统计学意义。本实验采用的棋盘格由6
×
8个方块组成。棋盘上每个方块边长的实测大小为28.9mm,通过角点检测算法可以获得棋盘格内部角点的坐标值。为了测试本发明模型的精度,去掉最外层方块,只测量内部35个方块的大小。因目标物的长和宽的测量只是由θ角的正负决定,模型计算无差别,在此只列出θ角为正数时,即相当于目标箱体长度的测量结果。本实验将四组θ
角在30
°
~60
°
之间逐渐递增的标定板作为测试对象。图11是θ为58.13
°
时,两算法的误差对比。
[0108]
如图11所示,在角度θ较大的情况下,可以明显看出,本发明算法在高度和宽度测量上的误差更低,系统更加稳定,尤其是长度测量精度的提升更加明显。表2列出了四组实验测量结果误差的平均值和标准差的对比数据。
[0109]
表2棋盘格测量误差单位:mm
[0110][0111]
通过对表2的分析可见,在棋盘格方块长度的测量上,传统模型依赖视差值的准确性,系统误差的平均值较大,且随着θ角增大,传统算法的误差标准差剧烈增加,测量结果将会产生较大波动。本发明长度测量算法的误差平均值和标准差受θ角误差影响微弱;在棋盘格方块高度的测量上,由于两角点的视差值基本一致,没有相对偏远的角点,传统算法的精确度也较其长度的测量有显著提高。但本发明高度模型相对传统模型进一步降低了对于视差误差的相关性,并对细微偏差进行了补偿,测量结果优于传统算法,系统误差平均值和标准差大幅减小。
[0112]
效果验证:通过对实际目标箱体尺寸的测量,验证测量效果。
[0113]
本发明将三个不同距离、不同角度的不同目标箱体作为测试对象。本发明方法与传统方法所得的目标箱体尺寸测量对比结果如表3所示。
[0114]
表3测量结果
[0115][0116]
由表3对比结果可知,传统方法的测量精度最低,长度、宽度测量的平均误差为25.24%,高度测量的平均误差为2.75%。在本发明方法的测量结果中,长度、宽度的平均误差为0.45%,较传统方法精度提升56倍;高度的平均误差为0.16%,较传统方法精度提升17倍。本发明测量方法对于3组实验对象测量结果的相对误差均小于0.6%,并且实验结果稳定,证明了本发明测量方法所用算法的高精度性和可靠性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1