发明内容
本发明针对现有技术中的不足,提供一种基于三维相机的体积、质量与密度的测量方法。
为实现上述目的,本发明采用以下技术方案:一种基于三维相机的目标体积、质量与密度测量方法,其特征在于:包括如下步骤:
步骤一、利用三维相机、电子秤与亚克力板构建质量体积测量系统;电子秤设置于亚克力板上,三维相机位于亚克力板上方,三维相机与亚克力板距离高度为h,电子秤的高度为h1;
步骤二、将选定圆柱体目标置于电子秤上,测量得出选定圆柱体目标质量M;
步骤三、利用三维相机对选定圆柱体目标进行成像,得到选定圆柱体目标的点云图像P与选定圆柱体目标的灰度图像I;
步骤四、对选定圆柱体目标的点云图像进行滤波处理,得到选定圆柱体目标的深度信息;
步骤五、对选定圆柱体目标的灰度图像进行图像自适应阈值二值化操作与边缘检测处理,得到选定圆柱体目标的像素区域信息;
步骤六、根据选定圆柱体目标的深度信息和选定圆柱体目标的像素区域信息,得到目标体积测量公式;
步骤七、根据目标体积测量公式计算得到选定圆柱体目标体积;
步骤八、利用选定圆柱体目标质量和选定圆柱体目标体积,计算得出选定圆柱体目标平均密度。
对上述技术方案的进一步设计为:所述的步骤四中,通过MATLAB软件实现的,具体步骤如下:
1)选取估计模型为参考面模型;
2)随机选取视场点云数据中部分点云为初始点云,然后用此部分点云拟合估计模型,并利用部分点云与参考面模型的误差判断部分点云是否是参考面模型内部点云;
3)当部分点云是参考面模型内部点云时,则用参考面模型去测试所有其它的视场点云数据,如果某个点云适用于参考面模型,则认为这个点云也是参考面模型内部点云,将部分点云扩充;当部分点云不是参考面模型内部点云时,则重新随机选取视场点云数据中部分点云为初始点云;
4)当至少有80%的点云被归类为参考面模型内部点云时,那么估计模型合理;
5)保存最终合理的估计模型为只包含参考面的视场点云数据;
6)用视场点云数据减去只包含参考面的视场点云数据可以得到去除参考面的视场点云数据;
7)输入直通滤波笛卡尔坐标系内三个坐标轴方向限定范围,然后对去除参考面的视场点云数据进行直通滤波得到直通滤波后的视场点云数据;
8)计算直通滤波后的视场点云数据中每个点到邻近点的欧式距离,当这个点到邻近点的欧式距离超过设定的阈值时,则剔除这个邻近点得到统计滤波后的视场点云数据;
9)对统计滤波后的视场点云数据创建一个三维体素栅格,然后将每个体素栅格内所有的点都用该体素栅格内点集的重心来替换得到滤波后的目标点云数据,得到选定圆柱体目标的深度信息hd。
所述的步骤五中的具体步骤如下:
1)利用三维相机的分辨率计算得出视场范围内垂直方向像素的总个数p;
2)计算I的均值和标准差分别为μ和σ;
3)根据公式
TH=μ+b×σ (1)
计算阈值TH;
其中,b为经验值,取值范围为0≤b<10;
4)根据公式
对I进行图像自适应阈值二值化操作,得到二值化图像I1;
5)利用Prewitt算子对二值化图像I
1进行边缘检测,将Prewitt垂直算子
与I
1卷积得到垂直方向边缘检测结果G
y;
6)利用Prewitt水平算子
与I
1卷积得到水平方向边缘检测结果G
x;
7)根据公式
利用Gx与Gy计算得到2范数边缘检测结果图像I2;
8)对I2使用多值连通区域标记算法,推导得出选定圆柱体目标像素区域的像素个数N。
所述的推导基于三维相机的目标体积测量公式,步骤如下:
1)根据三维相机参数确定三维相机的水平视场角θ;
2)视场范围内垂直方向的实际宽度K为
3)根据视场比值特性,视场范围内垂直方向的实际宽度K与选定圆柱体目标底面周长Z比例等式为
其中,Z的计算公式为
Z=2πR (6)
其中,π表示圆周率,R表示选定圆柱体目标底面半径。
4)根据公式(5)和(6)得到R的计算公式为
5)根据公式
S=πR2 (8)
计算选定圆柱体目标的底面积S;
6)将公式(7)代入公式(8),推导出选定圆柱体目标的底面积S为
7)根据公式
H=h-hd-h1 (10)
计算选定圆柱体目标的高度H;
8)根据公式
V=SH (11)
计算选定圆柱体目标体积V;
9)将公式(4)、公式(9)和公式(10)代入公式(11),推导基于三维相机的目标体积测量公式为
选定圆柱体目标平均密度ρ为
本发明的有益效果是:
第一、由于本发明利用三维相机,对选定圆柱体目标进行成像,利用点云图像与灰度图像完成体积测量,直接得到选定圆柱体目标的高度与面积,克服了只利用深度数值算法对底平面进行了重建,无法实现对包裹体积及密度的测量的缺点。
第二、由于本发明利用三维相机拍摄的点云图像与灰度图像,对选定圆柱体目标进行测量,克服了选定目标为单一的方形物体且必须与相机视场范围平行的缺点,从而实现对选定圆柱体目标的质量、体积与密度的测量。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。现在结合附图对本发明作进一步详细的说明。
本发明实施例提供一种基于三维相机的目标体积、质量与密度测量方法,如图1所示该方法为:
步骤1:利用三维相机、电子秤与体积测量展台(亚克力板)搭建质量体积测量系统;
本实施例使用的三维相机型号为无锡微视传感有限公司的PCA-3D系列MEMS-3D相机组,具体型号为PCA-P600,如图2所示,为本发明三维相机视场范围示意图。三维相机工作距离可以设置为300mm-600mm,在距离为300mm的工作视程时,产生近端视场大小为164mm×108mm;在距离为600mm的工作视程时,产生远端视场大小为308mm×210mm。三维相机的重复精度为0.1-0.5mm,三维相机的分辨率为1280×1024,电子秤具体型号为RZ-53。
将型号为M-12112的黑色亚克力板置作为体积测量展台;将电子秤放在体积测量展台上;将三维相机设置在黑色亚克力板平台上方,并与亚克力板距离高度为h;在h为500mm时三维相机产生的视场大小为256mm×175mm。
步骤2:将选定圆柱体目标置于质量体积测量系统的体积测量展台上,利用电子秤测量得出选定圆柱体目标质量M;本实施例中电子秤的高度h1为10mm,其测量范围1g—5kg,精度为1g,其中选定圆柱体目标质量M为390.6g。
步骤3:利用质量体积测量系统对体积测量展台上选定圆柱体目标进行成像,得到选定圆柱体目标的点云图像P与选定圆柱体目标的灰度图像I;
本实施例中选定目标圆柱体的半径约为3.17cm,高度约为22.19cm,如图3所示,为选定圆柱体目标点云数据处理示意图,如图4所示,为选定圆柱体目标灰度图像处理示意图。
步骤4:对选定圆柱体目标的点云图像进行滤波处理,得到选定圆柱体目标的深度信息;
如图3所示,为选定圆柱体目标点云数据处理示意图。图3(a)为选定圆柱体目标原始点云数据示意图,由图可见点云数据噪声点明显,图3(b)为选定圆柱体目标点云数据去噪处理示意图,经过去噪处理后噪声点变得更少,图3(c)为选定圆柱体目标下采样示意图,经过下采样处理可见点云数据变得更薄、噪声点更少。对点云进行去噪处理和下采样处理是为了使原始点云数据的点云变得更少,方便提取Z轴信息。
具体步骤如下:
步骤401、选取估计模型为参考面模型;
首先,对估计模型进行优化,并设置最大迭代次数为10,距离阈值为10,参考面模型即为平面模型,即点云数据的纵坐标相等。
步骤402、随机选取视场点云数据中部分点云为初始点云,然后用此部分点云拟合估计模型,并利用部分点云与参考面模型的误差判断部分点云是否是参考面模型内部点云;
本发明随机选取视场点云数据中部分点云包含有1600个点,即初始点云为包含1600个点的点云。
步骤403、当部分点云是参考面模型内部点云时,则用参考面模型去测试所有其它的视场点云数据,如果某个点云适用于参考面模型,则认为这个点云也是参考面模型内部点云,将部分点云扩充;当部分点云不是参考面模型内部点云时,则重新随机选取视场点云数据中部分点云为初始点云;
步骤404、当至少有80%的点云被归类为参考面模型内部点云时,则估计模型就够合理;
步骤405、保存最终合理的估计模型为只包含参考面的视场点云数据;
步骤406、用视场点云数据减去只包含参考面的视场点云数据可以得到去除参考面的视场点云数据;
步骤407、手动输入直通滤波笛卡尔坐标系内三个坐标轴方向限定范围,然后对去除参考面的视场点云数据进行直通滤波得到直通滤波后的视场点云数据;
本实施例采用的直通滤波通过设置笛卡尔坐标系内三个坐标轴方向的阈值参数,指定参数范围之内的点通过,将参数范围之外的点过滤掉,实现对去除参考面的视场点云数据的基本过滤。其中,笛卡尔坐标系内X轴范围为-700至700,笛卡尔坐标系内Y轴范围为-600至600,笛卡尔坐标系内Z轴范围为300至460,最佳去噪阈值为300至460。
步骤408、计算直通滤波后的视场点云数据中每个点到邻近点的欧式距离,当这个点到邻近点的欧式距离超过设定的阈值时,则剔除这个邻近点得到统计滤波后的视场点云数据;
本发明采用的滤波的作用主要是剔除离群点,通过计算分析每个点到它邻域点的平均距离,确定统计滤波的最佳去噪阈值,最后剔除超出设定的阈值范围的点。其中,设定的阈值为30,同时设定标准差的倍数为0.03。
步骤409、对统计滤波后的视场点云数据创建一个三维体素栅格,然后将每个体素栅格内所有的点都用该体素栅格内点集的重心来替换得到滤波后的目标点云数据,得到选定圆柱体目标的深度信息hd,其中hd的值为278.1mm。
本实施例采用的体素滤波通过体素化栅格进行下采样数据,减少视场点云数据,有利于下一步的点云分割。将每个体素栅格内所有的点都用该体素栅格内点集的重心来替换,保留滤波后的目标点云数据,比较不同规格体素栅格阈值的筛选效果,确定体素滤波的最佳去噪阈值。其中,体素滤波的最佳去噪阈值为1×1×1。
步骤5:对选定圆柱体目标的灰度图像进行图像自适应阈值二值化操作与边缘检测处理,得到选定圆柱体目标的像素区域信息;
如图4所示,为选定圆柱体目标灰度图像处理示意图,灰度图像大小为1280×1024像素,利用图4(a)可以直接得到视场范围内垂直方向像素的总个数p,本实施例中p值为1024。图4(a)为选定圆柱体目标灰度图像示意图,从图中能看到场景居中部分为一个较亮的圆形目标,右侧黑色部分为选定圆柱体目标的阴影,图4(b)为选定圆柱体目标二值图像示意图,在场景中可以清晰看到待测目标物底面,右侧边缘处有不均匀图像是由于选定圆柱体目标的阴影造成的,图4(c)为选定圆柱体目标边缘检测示意图,可以清楚看到选定圆柱体目标的边缘信息,即选定圆柱体目标像素区域的像素个数N,N为1167。
具体通过以下步骤实现:
步骤501、利用三维相机的分辨率计算得出视场范围内垂直方向像素的总个数p;
步骤502、计算I的均值和标准差分别为μ和σ;
I的均值μ和标准差σ分别为146.7与7.8,即μ=146.7,σ=7.8。
步骤503、根据公式
TH=μ+b×σ (1)
计算阈值TH;
其中,b为经验值,取值范围为0≤b<10;
b的值为3.2,TH的值为171.6。
步骤504、根据公式
对I进行图像自适应阈值二值化操作,得到二值化图像I1,如图4(b)所示;
步骤505、利用Prewitt算子对二值化图像I
1进行边缘检测,将Prewitt垂直算子
与I
1卷积得到垂直方向边缘检测结果G
y;
步骤506、利用Prewitt水平算子
与I
1卷积得到水平方向边缘检测结果G
x;
步骤507、根据公式
利用Gx与Gy计算得到2范数边缘检测结果图像I2;
图4(b)为选定圆柱体目标二值图像示意图,可以得到清晰的2范数边缘检测结果图像。
步骤508、对I2使用多值连通区域标记算法,推导得出选定圆柱体目标像素区域的像素个数N。
图4(c)为选定圆柱体目标边缘检测示意图,可以清楚看到选定圆柱体目标的边缘信息,并得到选定圆柱体目标像素区域的像素个数N。
步骤6:根据选定圆柱体目标的深度信息和选定圆柱体目标的像素区域信息,推导基于三维相机的目标体积测量公式;
将选定圆柱体目标放置于测量视场范围内,对选定圆柱体目标点云图像进行滤波处理和对灰度图像进行图像自适应阈值二值化操作与边缘检测处理,分别得到了选定圆柱体目标的深度信息和像素区域信息,根据所得到的深度信息和像素区域信息推导基于三维相机的目标体积测量公式。
具体通过以下步骤实现:
步骤601、根据三维相机参数确定三维相机的水平视场角θ;
水平视场角θ的值为59°。
步骤602、视场范围内垂直方向的实际宽度K为
视场范围内垂直方向的实际宽度K的值为175mm。
步骤603、根据视场比值特性,视场范围内垂直方向的实际宽度K与选定圆柱体目标底面周长Z比例等式为
其中,Z的计算公式为
Z=2πR (6)
其中,π表示圆周率,R表示选定圆柱体目标底面半径。π取3.14。
步骤604、根据公式(5)和(6)得到R的计算公式为
经过计算R的数值31.76mm
步骤605、根据公式
S=πR2 (8)
计算选定圆柱体目标的底面积S;
步骤606、将公式(7)代入公式(8),推导出选定圆柱体目标的底面积S为
S的数值为3135.47mm2。
步骤607、根据公式
H=h-hd-h1 (10)
计算选定圆柱体目标的高度H;
H的数值为211.9mm。
步骤608、根据公式
V=SH (11)
计算选定圆柱体目标体积V;
步骤609、将公式(4)、公式(9)和公式(10)代入公式(11),推导基于三维相机的目标体积测量公式为
步骤7:根据推导的基于三维相机的目标体积测量公式计算得到选定圆柱体目标体积;
选定圆柱体目标为一个近似为圆柱体的铁质待测目标,颜色为黑色,测量时应将选定圆柱体目标放置在测量视场范围内,体积大约为671363.38mm3。将选定圆柱体目标放置于电子秤上方,电子秤显示出对应的质量为390.6g,用卷尺测量其半径,约为3.17cm,用卷尺测量其高度,约21.19cm。选定圆柱体目标真实体积为668625.32mm3,通过相对误差计算,用测量估计得到的体积减去真实体积的绝对值除以真实体积,得到选定圆柱体目标体积误差为0.41%。
步骤8:利用测量得到的选定圆柱体目标质量和计算得到的选定圆柱体目标体积,计算得出选定圆柱体目标平均密度,选定圆柱体目标平均密度ρ为
选定圆柱体目标质量约为390.6g,选定圆柱体目标体积约为671363.38mm3,利用推导出来的密度公式计算得到选定圆柱体目标密度约为0.0005818g/mm3,与实际数据误差很小。
本发明公开了基于三维相机的目标体积、质量与密度测量方法,属于机器视觉技术领域,利用三维相机、电子秤与体积测量展台搭建质量体积测量系统;将目标置于体积测量展台上,利用电子秤测量得出目标质量;利用质量体积测量系统对展台上目标进行成像,得到目标的点云图像与灰度图像;对点云图像进行滤波处理并对灰度图像进行图像自适应阈值二值化操作与边缘检测处理,得到目标的深度信息以及像素区域信息,进而推导出目标体积测量公式;根据目标体积测量公式计算得到目标体积;通过计算得出目标平均密度。本发明所提方法可利用灰度图像计算选定圆柱类目标底面半径,利用深度信息计算选定圆柱类目标体积与密度,对选定圆柱类目标的体积、质量与密度可进行较为准确的估计。实现了对选定目标圆柱体的精确与快速测量,克服了当方形物体不与相机视场平行时,无法对选定被测物进行体积测量。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。