CN115861403A - 一种非接触式物体体积测量方法、装置、电子设备及介质 - Google Patents
一种非接触式物体体积测量方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN115861403A CN115861403A CN202211413802.6A CN202211413802A CN115861403A CN 115861403 A CN115861403 A CN 115861403A CN 202211413802 A CN202211413802 A CN 202211413802A CN 115861403 A CN115861403 A CN 115861403A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- detected
- space equation
- measured
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种非接触式物体体积测量方法、装置、电子设备及介质,包括获取含有待测物体的深度图像,得到场景点云数据;对场景点云数据进行预处理,得到待测物体点云数据;基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。本申请能实时对物体进行体积测量,有效提升物体体积测量效率的同时,还提高了体积测量准确度。
Description
技术领域
本发明主要涉及体积测量领域,特别涉及一种非接触式物体体积测量方法、装置、电子设备及介质。
背景技术
随着科技快速发展,在工业制造以及科学研究等各种领域中,很多情况需要测量相关物体的体积,例如在物料投放领域中需要测量物料的体积,在物流运输领域中需要测量物品的体积,在石油化工领域中需要测量化工品的体积等等,然而很多物品由于存在易燃易爆等特性不方便直接测量。
发明内容
本申请的目的在于提供一种非接触式物体体积测量方法、装置、电子设备及介质,实现了在不接触物体的前提下准确测量出物体体积。
第一方面,本申请提供一种物体体积测量方法,包括:获取含有待测物体的深度图像,得到场景点云数据;对场景点云数据进行预处理,得到待测物体点云数据;基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。
本申请中,先获取含有待测物体的深度图像,得到场景点云数据;然后对场景点云数据进行预处理,得到待测物体点云数据;再基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;接着对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;最后根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。本申请提供的非接触式物体体积测量方法能够在有一定角度的前提下进行目标物体体积的测量,同时可以在短时间内给出体积测量结果,很大程度上减少计算耗时,并且通过待测物体的上表面最小外接矩阵计算出物体体积的方式,提高了体积测量准确度。
在第一方面的一种实现方式中,对场景点云数据进行预处理,得到待测物体点云数据,包括:对场景点云数据进行空间剪裁滤波,得到空间剪裁滤波后的场景点云数据;对空间剪裁滤波后的场景点云数据进行体素滤波,得到体素滤波后的场景点云数据;对体素滤波后的场景点云数据进行统计滤波,得到统计滤波后的场景点云数据;对统计滤波后的场景点云数据进行点云分割,得到待测物体点云数据。
本申请通过对场景点云数据进行预处理,能够对场景点云数据预处理后的待测物体点云数据,其中,预处理的过程包括空间剪裁滤波处理、体素滤波处理、统计滤波处理以及点云分割处理,本申请有效剔除了非待测物体点云数据,通过对场景点云数据进行预处理能够提高了体积测量准确度。
在第一方面的一种实现方式中,对场景点云数据进行空间剪裁滤波,得到空间剪裁滤波后的场景点云数据,包括:获取场景点云数据中各点云数据对应的探测距离;滤除场景点云数据中探测距离大于探测阈值的点云数据,得到空间剪裁滤波后的场景点云数据。
本申请通过对场景点云数据进行空间剪裁滤波,能够滤除视野范围内距离较远的点云信息,很大程度上减少后续点云分割的运算时间,提高了待测物的体积测量效率。
在第一方面的一种实现方式中,对空间剪裁滤波后的场景点云数据进行体素滤波,得到体素滤波后的场景点云数据,包括:对空间剪裁滤波后的场景点云数据进行体素化,得到体素化后的场景点云数据,体素化后的场景点云数据分别位于若干个体素格中;当体素格中存在若干场景点云数据时,获取若干场景点云数据分别到体素格的中心的距离;基于若干场景点云数据分别到体素格的中心的距离,保留到体素格的中心的距离最短的场景点云数据。
本申请利用体素滤波器将点云体素化从而减少点云的数量,采用体素格中接近中心的点替代体素内的所有点云。在保存点云形状的同时能够提高配准、曲面重建的能力,很大程度上减少了后续点云分割需要的运算量。
在第一方面的一种实现方式中,对体素滤波后的场景点云数据进行统计滤波,得到统计滤波后的场景点云数据,包括:获取体素滤波后的场景点云数据中每个场景点云数据对应的若干个临近点;计算若干个临近点到场景点云数据的平均距离;当平均距离大于标准阈值时,滤除平均距离大于标准阈值的场景点云数据。
本申请能够获取体素滤波后的场景点云数据中每个场景点云数据对应的若干个临近点,临近点与场景点云数据之间的距离小于距离阈值;再计算若干个临近点到场景点云数据的平均距离;接着判断当平均距离大于标准阈值时,则认为平均距离大于标准阈值的场景点云数据为离群点,然后将该点移除。
在第一方面的一种实现方式中,对统计滤波后的场景点云数据进行点云分割,得到待测物体点云数据,包括:分割出统计滤波后的场景点云数据中的地面点云数据,得到待测物体点云数据。
本申请利用点云一致性进行点云的分割,首先分割出地面,然后去除地面以上的点从而获取待测物体点云数据。本申请利用平面分割能有效的将目标物体和地面分开,以便于进行目标物体体积测量。
在第一方面的一种实现方式中,基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程,包括:以深度相机为中心建立深度相机坐标系;基于深度相机坐标系,建立待测物体对应的上表面空间方程zi=a0xi+a1yi+a2以及待测物体对应的地面空间方程zj=b0xj+b1yj+b2,其中,xi、yi、zi分别为待测物体对应的第i个上表面点云数据的三维坐标值,a0、a1、a2分别为上表面空间方程的第一系数、第二系数及第三系数,xj、yj、zj分别为待测物体对应的第j个地面点云数据的三维坐标值,b0、b1、b2分别为地面空间方程的第四系数、第五系数及第六系数。
本申请能够建立以深度相机为中心的坐标系,然后得到待测物体上表面空间方程以及地面空间方程。
在第一方面的一种实现方式中,根据待测物体对应的空间方程计算待测物体的高度,包括:根据待测物体对应的上表面空间方程建立待测物体对应的上表面空间方程最小二乘目标函数S1=min∑[(a0xi+a1yi+a2)-zi]2;根据待测物体对应的地面空间方程建立待测物体对应的地面空间方程最小二乘目标函数S2=min∑[(a0xj+a1yj+a2)-zj]2;基于待测物体点云数据,对上表面空间方程最小二乘目标函数以及地面空间方程最小二乘目标函数进行求解,得到上表面空间方程以及地面空间方程各系数的求解值;根据上表面空间方程以及地面空间方程各系数的求解值计算出待测物体的高度。
在第一方面的一种实现方式中,根据上表面空间方程以及地面空间方程各系数的求解值计算出待测物体的高度,包括:基于上表面空间方程以及地面空间方程各系数的求解值,获取上表面空间方程的第二系数a1、第三系数a2,以及地面空间方程的第五系数b1、第六系数b2;将上表面空间方程的第二系数a1、第三系数a2进行相除,得到第一比值;将地面空间方程的第五系数b1、第六系数b2进行相除,得到第二比值;将第一比值与第二比值进行相减,得到第一差值;将第一差值作为待测物体的高度。
本申请计算出地面和待测物体上表面的平面空间方程,以便于获得目标物体的高度。即本申请能够基于上表面空间方程的第二系数a1、第三系数a2以及地面空间方程的第五系数b1、第六系数b2得到待测物体的高度。
在第一方面的一种实现方式中,对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵,包括:获取待测物体点云数据中的上表面点云;将上表面点云投影到地面,得到待测物体的上表面最小外接矩阵。
在第一方面的一种实现方式中,根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积,还包括:获取垂直于地面的垂直方向;获取地面空间方程在垂直方向上的夹角;根据夹角获取校正系数;获取待测物体对应的地面点云数据;利用校正系数对将待测物体对应的地面点云数据进行校正,得到校正后的地面点云数据;基于校正后的地面点云数据,获取校正后待测物体对应的地面空间方程;根据校正后待测物体对应的地面空间方程获取上表面最小外接矩阵的长度和宽度。
本申请中,能够获取地面空间方程在垂直方向的夹角,然后根据夹角获取校正系数;再获取待测物体对应的地面点云数据;接着基于校正后的地面点云数据,获取校正后待测物体对应的地面空间方程;再根据校正后待测物体对应的地面空间方程获取上表面最小外接矩阵的长度和宽度。由于待测物体的上表面和地面不一定平行,本申请通过校正操作能够弥补不平行所造成的体积误差。
在第一方面的一种实现方式中,根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积,包括:获取上表面最小外接矩阵的长度和宽度;根据待测物体的高度、以及上表面最小外接矩阵的长度和宽度计算出待测物体的体积。
第二方面,本申请提供了一种物体体积测量装置,包括:点云获取模块,用于获取含有待测物体的深度图像,得到场景点云数据;预处理模块,用于对场景点云数据进行预处理,得到待测物体点云数据;空间方程建立模块,用于基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;高度计算模块,用于根据待测物体对应的空间方程计算待测物体的高度;外接矩阵获取模块,用于对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;体积计算模块,用于根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。
第三方面,本申请提供一种电子设备,包括:存储器,存储器存储有多条指令;处理器,处理器从存储器中加载指令,以执行如本申请实施例所提供的任一项物体体积测量方法中的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被物体体积测量设备执行时实现本申请实施例所提供的任一项物体体积测量方法中的步骤。
本申请利用深度相机进行非接触式物体体积测量,首先空间剪裁滤波可以滤除距离深度相机较远的点云,接着体素滤波进行下采样数据压缩和统计滤波,能够很大程度减少后续进行平面分割的计算资源。另外角度校正能够使得当前物体在不同的拍摄角度下进行体积测量。同时,本申请利用平面分割能有效的将目标物体和地面分开,以便于进行目标物体体积测量。本申请计算出地面和待测物体上表面的平面空间方程,以便于获得目标物体的高度。最后利用最小外接矩阵能够计算目标物体上表面的面积,和高度相乘得到目标物体的体积结果。
本申请利用空间剪裁滤波、下采样数据压缩、统计滤波来减少点云分割的计算量,从而实现实时性。另外本发明不仅能够部署在CPU的arm平台,还将移植到Android等平台,以便于在用户终端进行实时测量。本申请有效提升物体体积测量效率的同时,提高了体积测量准确度。
附图说明
图1为本申请一实施例的物体体积测量方法的应用场景示意图。
图2a为本申请一实施例的物体体积测量方法的流程示意图。
图2b为本申请一实施例的存在阴影的深度与灰度对比图。
图2c为本申请一实施例的无阴影的深度与灰度对比图。
图2d为本申请一实施例的深度相机坐标系示意图。
图3为本申请一实施例的物体体积测量装置的结构示意图。
图4为本申请一实施例的电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本申请以下实施例提供了一种物体体积测量方法、装置、电子设备及介质,实现了在不接触物体的前提下准确测量出物体体积,有效提升物体体积测量效率,同时提高了体积测量的准确度。其中,该物体体积测量方法或装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在一些实施例中,该物体体积测量装置还可以集成在多个电子设备中,例如,物体体积测量装置可以集成在多个服务器中,由多个服务器来实现本申请的物体体积测量方法。
在一些实施例中,服务器也可以以终端的形式来实现。
例如,参考图1,该电子设备可以包括图像传感器10、存储终端11、服务器12等,图像传感器10可以为深度相机TOF(Time of flight)相机等,图像传感器10用于拍摄人脸图像,存储终端11可以用于存储人脸图像,图像传感器10、存储终端11、服务器12之间相互通信连接,在此不再赘述。
其中,服务器12可以包括处理器和存储器等。其中,服务器12可以包括处理器和存储器等。服务器12可以获取含有待测物体的深度图像,得到场景点云数据;对场景点云数据进行预处理,得到待测物体点云数据;基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积等。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
如图2a所示,以服务器12为执行主体,本实施例提供一种物体体积测量方法,包括步骤S210至步骤S250,如下:
S210、服务器12获取含有待测物体的深度图像,得到场景点云数据。
本实施例中,深度相机采集获取含有待测物体的深度图像,深度相机将含有待测物体的深度图像传给服务器12,服务器12可以接收含有待测物体的深度图像,并且基于深度图像得到场景点云数据。
其中,深度图像(Depth Images),也被称为距离影像(Range Images),是指将图像采集器采集到的场景中各点的距离(深度)值作为像素值的图像,它直接反映了景物可见表面的几何形状,利用它可以很方便地解决3D目标描述中的许多问题。深度相机可以为TOF(Time of flight)相机等,深度相机测距原理是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。深度相机可以捕捉视野范围内整幅图像的深度信息,通过相机的入射光信号与反射光信号的变化来进行距离测量,与二维平面内的图像信息共同组成三维点云信息,由此可以对应深度相机对应分辨率内每一点的三维坐标信息。关于深度相机拍摄的深度图以及普通相机拍摄的灰度图之间的对照区别,可以参考图2b和图2c,其中图2b为存在阴影的深度与灰度对比图,图2c为无阴影的深度与灰度对比图。
S220、服务器12对场景点云数据进行预处理,得到待测物体点云数据。
在一实施例中,对场景点云数据进行预处理,得到待测物体点云数据,包括:对场景点云数据进行空间剪裁滤波,得到空间剪裁滤波后的场景点云数据;对空间剪裁滤波后的场景点云数据进行体素滤波,得到体素滤波后的场景点云数据;对体素滤波后的场景点云数据进行统计滤波,得到统计滤波后的场景点云数据;对统计滤波后的场景点云数据进行点云分割,得到待测物体点云数据。
本实施例通过对场景点云数据进行预处理,能够对场景点云数据预处理后的待测物体点云数据,其中,预处理的过程包括空间剪裁滤波处理、体素滤波处理、统计滤波处理以及点云分割处理,本申请有效剔除了非待测物体点云数据,通过对场景点云数据进行预处理能够提高了体积测量准确度。
在一实施例中,对场景点云数据进行空间剪裁滤波,得到空间剪裁滤波后的场景点云数据,包括:获取场景点云数据中各点云数据对应的探测距离;滤除场景点云数据中探测距离大于探测阈值的点云数据,得到空间剪裁滤波后的场景点云数据。
探测距离是指在真实的世界坐标系中能够被深度相机探测到的点云数据与深度相机之间的距离,本实施例通过对场景点云数据进行空间剪裁滤波,能够滤除视野范围内距离较远的点云信息,很大程度上减少后续点云分割的运算时间,提高了待测物的体积测量效率。
例如,设定探测阈值为12米,当场景点云数据中存在探测距离大于12米的点云数据时,将探测距离大于12米的点云数据进行滤除。
在一实施例中,对空间剪裁滤波后的场景点云数据进行体素滤波,得到体素滤波后的场景点云数据,包括:对空间剪裁滤波后的场景点云数据进行体素化,得到体素化后的场景点云数据,体素化后的场景点云数据分别位于若干个体素格中;当体素格中存在若干场景点云数据时,获取若干场景点云数据分别到体素格的中心的距离;基于若干场景点云数据分别到体素格的中心的距离,保留到体素格的中心的距离最短的场景点云数据。
其中,体素化(Voxelization)是将物体的几何形式表示转换成最接近该物体的体素表示形式,产生体素数据集,其不仅包含模型的表面信息,而且能描述模型的内部属性。
本实施例利用体素滤波器将点云体素化从而减少点云的数量,采用体素格中接近中心的点替代体素内的所有点云。在保存点云形状的同时能够提高配准、曲面重建的能力,很大程度上减少了后续点云分割需要的运算量。
例如,本实施例可以设置体素的大小为1cm,也就是每个体素单位的大小为1cm,体素格的大小为1cm*1cm*1cm,通过此步骤可以很大程度上减少后续点云分割需要的运算量。
在一实施例中,对体素滤波后的场景点云数据进行统计滤波,得到统计滤波后的场景点云数据,包括:获取体素滤波后的场景点云数据中每个场景点云数据对应的若干个临近点;计算若干个临近点到场景点云数据的平均距离;当平均距离大于标准阈值时,滤除平均距离大于标准阈值的场景点云数据。
本实施例能够获取体素滤波后的场景点云数据中每个场景点云数据对应的若干个临近点,临近点与所述场景点云数据之间的距离小于距离阈值;再计算若干个临近点到场景点云数据的平均距离;接着判断当平均距离大于标准阈值时,则认为平均距离大于标准阈值的场景点云数据为离群点,然后将该点移除。
例如,本实施例可以对每个场景点云数据设置临近点为50,标准差为1,如果若干个临近点到场景点云数据的平均距离超出了平均距离对应的一个标准差以上,则认为该场景点云数据离群,将该场景点云数据移除。
在一实施例中,对统计滤波后的场景点云数据进行点云分割,得到待测物体点云数据,包括:分割出统计滤波后的场景点云数据中的地面点云数据,得到待测物体点云数据。
本实施例利用点云一致性进行点云的分割,地面点云数据存在点云一致性,首先根据点云一致性分割出地面点云数据,然后去除地面以上的场景点云数据从而获取待测物体点云数据。本实施例利用平面分割可以有效的将目标物体和地面分开,以便于进行目标物体体积测量。
S230、服务器12基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程。
在一实施例中,基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程,包括:以深度相机为中心建立深度相机坐标系;基于深度相机坐标系,建立待测物体对应的上表面空间方程zi=a0xi+a1yi+a2以及待测物体对应的地面空间方程zj=b0xj+b1yj+b2,其中,xi、yi、zi分别为待测物体对应的第i个上表面点云数据的三维坐标值,a0、a1、a2分别为上表面空间方程的第一系数、第二系数及第三系数,xj、yj、zj分别为待测物体对应的第j个地面点云数据的三维坐标值,b0、b1、b2分别为地面空间方程的第四系数、第五系数及第六系数。
本申请能够建立以深度相机为中心的坐标系,然后得到待测物体上表面空间方程以及地面空间方程。
S240、服务器12根据待测物体对应的空间方程计算待测物体的高度。
在一实施例中,根据待测物体对应的空间方程计算待测物体的高度,包括:根据待测物体对应的上表面空间方程建立待测物体对应的上表面空间方程最小二乘目标函数S1=min∑[(a0xi+a1yi+a2)-zi]2;根据待测物体对应的地面空间方程建立待测物体对应的地面空间方程最小二乘目标函数S2=min∑[(a0xj+a1yj+a2)-zj]2;基于待测物体点云数据,对上表面空间方程最小二乘目标函数以及地面空间方程最小二乘目标函数进行求解,得到上表面空间方程以及地面空间方程各系数的求解值;根据上表面空间方程以及地面空间方程各系数的求解值计算出待测物体的高度。
本实施例中,在对两个最小二乘目标函数进行求解时,可以先分别取空间方程各个系数的偏导数方程,然后将各个系数的偏导数方程换算成矩阵形式,再通过克拉默法则求得各个系数的行列表达式,即求得各个系数的求解值。
在一实施例中,根据上表面空间方程以及地面空间方程各系数的求解值计算出待测物体的高度,包括:基于上表面空间方程以及地面空间方程各系数的求解值,获取上表面空间方程的第二系数a1、第三系数a2,以及地面空间方程的第五系数b1、第六系数b2;将上表面空间方程的第二系数a1、第三系数a2进行相除,得到第一比值;将地面空间方程的第五系数b1、第六系数b2进行相除,得到第二比值;将第一比值与第二比值进行相减,得到第一差值;将第一差值作为待测物体的高度。
本实施例中,第一比值为即上表面空间方程的第二系数a1与第三系数a2之间的比值;第二比值为/>即地面空间方程的第五系数b1与第六系数b2之间的比值。本申请能够基于上表面空间方程的第二系数a1、第三系数a2以及地面空间方程的第五系数b1、第六系数b2计算出待测物体的高度,待测物体的高度/>/>
S250、服务器12对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵。
在一实施例中,对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵,包括:获取待测物体点云数据中的上表面点云;将上表面点云投影到地面,得到待测物体的上表面最小外接矩阵。
S260、服务器12根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。
在一实施例中,根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积,还包括:获取垂直于地面的垂直方向;获取地面空间方程在垂直方向上的夹角;根据夹角获取校正系数;获取待测物体对应的地面点云数据;利用校正系数对将待测物体对应的地面点云数据进行校正,得到校正后的地面点云数据;基于校正后的地面点云数据,获取校正后待测物体对应的地面空间方程;根据校正后待测物体对应的地面空间方程获取上表面最小外接矩阵的长度和宽度。
具体地,本实施例获取地面空间方程在垂直方向上的夹角,包括:获取上表面空间方程的第一系数a0以及第二系数a1,计算上表面空间方程的第一系数a0与第二系数a1之间的比值,然后对第一系数a0与第二系数a1之间的比值求取反正切函数值,将反正切函数值作为地面空间方程在垂直方向上的夹角θ。
另外,本实施例根据夹角获取校正系数,包括:先获取夹角θ,然后对夹角θ求取余弦函数值,将余弦函数值cos(θ)作为校正系数τ。
本实施例中,能够获取地面空间方程在垂直方向的夹角,然后根据夹角获取校正系数;再获取待测物体对应的地面点云数据;接着基于校正后的地面点云数据,获取校正后待测物体对应的地面空间方程zjcosθ=b0xjcosθ+b1yjcosθ+b2;再根据校正后待测物体对应的地面空间方程获取上表面最小外接矩阵的长度L和宽度W。由于待测物体的上表面和地面不一定平行,本实施例通过校正操作能够弥补不平行所造成的体积误差。
本实施例可以采用最小外接矩阵求解方法计算出最小外接矩阵的长和宽,例如,本实施例可以先获取矫正后的上表面所有点云数据中的最小X轴坐标值minx、最大X轴坐标值maxx、最小Y轴坐标值miny、最大Y轴坐标值maxy,确定出一个最初的外接矩阵,求出外接矩形的面积;然后对矫正后的上表面所有点云数据进行旋转,旋转后的点云坐标为(xcosb-ysinb,xsinb+ycosb),(xcosb-ysinb)为旋转b度后的点云X轴坐标值,(xsinb+ycosb)为旋转b度后的点云Y轴坐标值;接着找出新的点云旋转后的最小X轴坐标值、最大X轴坐标值、最小Y轴坐标值、最大Y轴坐标值,计算出新的外接矩形的面积,当面积达到最小时,即求出对应的最小外接矩阵。
在一实施例中,根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积,包括:获取上表面最小外接矩阵的长度和宽度;根据待测物体的高度H、以及上表面最小外接矩阵的长度L和宽度W计算出待测物体的体积V=H×W×L。
本实施例利用深度相机进行非接触式物体体积测量,体积测量算法首先在Ubuntu20.04系统中进行验证,利用PCL、Opencv第三方库,采用C++语言进行系统开发。最终得到计算时间在300ms以内。可测量体积范围在5cm*5cm*5cm至100cm*100cm*100cm。体积误差在5%以内。
另外,本实施例可以部署在Android系统内以便于用户终端使用,利用AndroidStudio进行安卓平台开发,在Android7.2.2系统中进行验证,利用PCL、Opencv、Qhull等第三方安卓库,在保证测量精度的前提下,测量一帧点云数据的计算时间在1s左右。
本实施例提供的物体体积测量方法先获取含有待测物体的深度图像,得到场景点云数据;然后对场景点云数据进行预处理,得到待测物体点云数据;再基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;接着对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;最后根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。本申请提供的非接触式物体体积测量方法能够在有一定角度的前提下进行目标物体体积的测量,同时可以在短时间内给出体积测量结果,很大程度上减少计算耗时,并且通过待测物体的上表面最小外接矩阵计算出物体体积的方式,提高了体积测量准确度。
相对于使用多个相机对被测物体进行三维重构获得非接触式体积测量结果的方案,其标定过程复杂,操作繁琐,本申请有标定快速,能在短时间内给出体积测量结果,很大程度上减少计算耗时的优点。
相对于使用单目相机和单点距离传感器测量体积的方案,其基于单目二维图像检测、分割物体轮廓,容易受物体上表面纹理影响,体积测量准确度低,本申请基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;接着对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;最后根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积,本申请有不受物体上表面纹理影响,体积测量准确度高的优点。
相对于利用深度相机将二维图像信息转换到三维空间坐标,提取平面和边缘区域,然后计算出物体体积的方案,其深度相机将二维转三维的过程会比较耗时,对于边缘提取的过程也会产生很大的计算耗时,而且垂直方式拍摄物体限定了拍摄角度,不利于实际使用,本申请有避开了边缘提取产生的计算耗时,提高了体积测量效率,并且通过校正操作能够弥补待测物体的上表面和地面不平行所造成的体积误差,不限制拍摄角度,利于实际使用的优点。
本申请实施例的物体体积测量方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本申请的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本申请的保护范围内。
本申请实施例还提供一种物体体积测量装置,物体体积测量装置可以实现本申请的物体体积测量方法,但本申请的物体体积测量方法的实现装置包括但不限于本实施例列举的物体体积测量装置的结构,凡是根据本申请的原理所做的现有技术的结构变形和替换,都包括在本申请的保护范围内。
如图3所示,本申请提供一种物体体积测量装置,包括:点云获取模块310,预处理模块320,空间方程建立模块330,高度计算模块340,外接矩阵获取模块350,或/和体积计算模块360。其中,所述点云获取模块310用于获取含有待测物体的深度图像,得到场景点云数据;所述预处理模块320用于对场景点云数据进行预处理,得到待测物体点云数据;所述空间方程建立模块330用于基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;所述高度计算模块340用于根据待测物体对应的空间方程计算待测物体的高度;所述外接矩阵获取模块350用于对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;所述体积计算模块360用于根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。
本实施例中,先获取含有待测物体的深度图像,得到场景点云数据;然后对场景点云数据进行预处理,得到待测物体点云数据;再基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;接着对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;最后根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。本申请提供的非接触式物体体积测量方法能够在有一定角度的前提下进行目标物体体积的测量,同时可以在短时间内给出体积测量结果,很大程度上减少计算耗时,并且通过待测物体的上表面最小外接矩阵计算出物体体积的方式,提高了体积测量准确度。
在一实施例中,预处理模块320包括滤波模块,滤波模块被配置于:对场景点云数据进行空间剪裁滤波,得到空间剪裁滤波后的场景点云数据;对空间剪裁滤波后的场景点云数据进行体素滤波,得到体素滤波后的场景点云数据;对体素滤波后的场景点云数据进行统计滤波,得到统计滤波后的场景点云数据;对统计滤波后的场景点云数据进行点云分割,得到待测物体点云数据。
本实施例通过对场景点云数据进行预处理,能够对场景点云数据预处理后的待测物体点云数据,其中,预处理的过程包括空间剪裁滤波处理、体素滤波处理、统计滤波处理以及点云分割处理,本申请有效剔除了非待测物体点云数据,通过对场景点云数据进行预处理能够提高了体积测量准确度。
在一实施例中,滤波模块包括第一滤波模块,第一滤波模块被配置于:获取场景点云数据中各点云数据对应的探测距离;滤除场景点云数据中探测距离大于探测阈值的点云数据,得到空间剪裁滤波后的场景点云数据。
本实施例通过对场景点云数据进行空间剪裁滤波,能够滤除视野范围内距离较远的点云信息,很大程度上减少后续点云分割的运算时间,提高了待测物的体积测量效率。
在第一方面的一种实现方式中,滤波模块包括第二滤波模块,第二滤波模块被配置于:对空间剪裁滤波后的场景点云数据进行体素化,得到体素化后的场景点云数据,体素化后的场景点云数据分别位于若干个体素格中;当体素格中存在若干场景点云数据时,获取若干场景点云数据分别到体素格的中心的距离;基于若干场景点云数据分别到体素格的中心的距离,保留到体素格的中心的距离最短的场景点云数据。
本实施例利用体素滤波器将点云体素化从而减少点云的数量,采用体素格中接近中心的点替代体素内的所有点云。在保存点云形状的同时能够提高配准、曲面重建的能力,很大程度上减少了后续点云分割需要的运算量。
在一实施例中,滤波模块包括第三滤波模块,第三滤波模块被配置于:获取体素滤波后的场景点云数据中每个场景点云数据对应的若干个临近点,临近点与所述场景点云数据之间的距离小于距离阈值;计算若干个临近点到场景点云数据的平均距离;当平均距离大于标准阈值时,滤除平均距离大于标准阈值的场景点云数据。
本实施例能够获取体素滤波后的场景点云数据中每个场景点云数据对应的若干个临近点,再计算若干个临近点到场景点云数据的平均距离;接着判断当平均距离大于标准阈值时,则认为平均距离大于标准阈值的场景点云数据为离群点,然后将该点移除。
在一实施例中,滤波模块包括点云分割模块,点云分割模块被配置于:分割出统计滤波后的场景点云数据中的地面点云数据,得到待测物体点云数据。
本实施例利用点云一致性进行点云的分割,首先分割出地面,然后去除地面以上的点从而获取待测物体点云数据。本申请利用平面分割能有效的将目标物体和地面分开,以便于进行目标物体体积测量。
在一实施例中,空间方程建立模块330包括空间方程建立子模块,空间方程建立子模块被配置于:以深度相机为中心建立深度相机坐标系;基于深度相机坐标系,建立待测物体对应的上表面空间方程zi=a0xi+a1yi+a2以及待测物体对应的地面空间方程zj=b0xj+b1yj+b2,其中,xi、yi、zi分别为待测物体对应的第i个上表面点云数据的三维坐标值,a0、a1、a2分别为上表面空间方程的第一系数、第二系数及第三系数,xj、yj、zj分别为待测物体对应的第j个地面点云数据的三维坐标值,b0、b1、b2分别为地面空间方程的第四系数、第五系数及第六系数。
本实施例能够建立以深度相机为中心的坐标系,然后得到待测物体上表面空间方程以及地面空间方程。如图2d所示,本实施例能够建立以深度相机为中心建立坐标系,深度相机包括三个坐标轴,三个坐标轴分别为X坐标轴、Y坐标轴和Z坐标轴。
在一实施例中,高度计算模块340包括高度计算子模块,高度计算子模块被配置于:根据待测物体对应的上表面空间方程建立待测物体对应的上表面空间方程最小二乘目标函数S1=min∑[(a0xi+a1yi+a2)-zi]2;根据待测物体对应的地面空间方程建立待测物体对应的地面空间方程最小二乘目标函数S2=min∑[(a0xj+a1yj+a2)-zj]2;基于待测物体点云数据,对上表面空间方程最小二乘目标函数以及地面空间方程最小二乘目标函数进行求解,得到上表面空间方程以及地面空间方程各系数的求解值;根据上表面空间方程以及地面空间方程各系数的求解值计算出待测物体的高度。
在一实施例中,高度计算子模块包括第一高度计算子模块,第一高度计算子模块被配置于:基于上表面空间方程以及地面空间方程各系数的求解值,获取上表面空间方程的第二系数a1、第三系数a2,以及地面空间方程的第五系数b1、第六系数b2;将上表面空间方程的第二系数a1、第三系数a2进行相除,得到第一比值;将地面空间方程的第五系数b1、第六系数b2进行相除,得到第二比值;将第一比值与第二比值进行相减,得到第一差值;将第一差值作为待测物体的高度。
本实施例计算出地面和待测物体上表面的平面空间方程,以便于获得目标物体的高度。即本申请能够基于上表面空间方程的第二系数a1、第三系数a2以及地面空间方程的第五系数b1、第六系数b2得到待测物体的高度。
在一实施例中,外接矩阵获取模块350包括投影模块,投影模块被配置于:获取待测物体点云数据中的上表面点云;将上表面点云投影到地面,得到待测物体的上表面最小外接矩阵。
在一实施例中,体积计算模块360包括第一体积计算模块,第一体积计算模块被配置于:获取垂直于地面的垂直方向;获取地面空间方程在垂直方向上的夹角;根据夹角获取校正系数;获取待测物体对应的地面点云数据;利用校正系数对将待测物体对应的地面点云数据进行校正,得到校正后的地面点云数据;基于校正后的地面点云数据,获取校正后待测物体对应的地面空间方程;根据校正后待测物体对应的地面空间方程获取上表面最小外接矩阵的长度和宽度。
本实施例中,能够获取地面空间方程在垂直方向的夹角,然后根据夹角获取校正系数;再获取待测物体对应的地面点云数据;接着基于校正后的地面点云数据,获取校正后待测物体对应的地面空间方程;再根据校正后待测物体对应的地面空间方程获取上表面最小外接矩阵的长度和宽度。
在一实施例中,体积计算模块360包括第二体积计算模块,第二体积计算模块被配置于:获取上表面最小外接矩阵的长度和宽度;根据待测物体的高度、以及上表面最小外接矩阵的长度和宽度计算出待测物体的体积。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本申请提供的物体体积测量装置能够先获取含有待测物体的深度图像,得到场景点云数据;然后对场景点云数据进行预处理,得到待测物体点云数据;再基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;接着对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;最后根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。本申请提供的非接触式物体体积测量方法能够在有一定角度的前提下进行目标物体体积的测量,同时可以在短时间内给出体积测量结果,很大程度上减少计算耗时,并且通过待测物体的上表面最小外接矩阵计算出物体体积的方式,提高了体积测量准确度。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。
在一些实施例中,本申请提供的物体体积测量装置还可以集成在多个电子设备中,例如,物体体积测量装置可以集成在多个服务器中,由多个服务器来实现本申请的物体体积测量方法。或者,物体体积测量装置可以集成在多个服务器中,由多个服务器来实现本申请的物体体积测量方法。
在本实施例中,将以本实施例的电子设备是服务器为例进行详细描述,例如,如图4所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器410、一个或一个以上计算机可读存储介质的存储器420、电源430、输入模块440以及通信模块450等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器410是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器420内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。在一些实施例中,处理器410可包括一个或多个处理核心;在一些实施例中,处理器410可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器410中。
存储器420可用于存储软件程序以及模块,处理器410通过运行存储在存储器420的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器420还可以包括存储器控制器,以提供处理器410对存储器420的访问。
服务器还包括给各个部件供电的电源430,在一些实施例中,电源430可以通过电源管理系统与处理器410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源430还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入模块440,该输入模块440可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括通信模块450,在一些实施例中通信模块450可以包括无线模块,服务器可以通过该通信模块450的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。例如,该通信模块450可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器410会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器420中,并由处理器410来运行存储在存储器420中的应用程序,从而实现物体体积测量装置的各种功能。
本实施例的服务器可以先获取含有待测物体的深度图像,得到场景点云数据;然后对场景点云数据进行预处理,得到待测物体点云数据;再基于待测物体点云数据,在深度相机坐标系下建立待测物体对应的空间方程;根据待测物体对应的空间方程计算待测物体的高度;接着对待测物体点云数据进行投影处理,得到待测物体的上表面最小外接矩阵;最后根据待测物体的高度以及上表面最小外接矩阵计算出待测物体的体积。本申请提供的非接触式物体体积测量方法能够在有一定角度的前提下进行目标物体体积的测量,同时可以在短时间内给出体积测量结果,很大程度上减少计算耗时,并且通过待测物体的上表面最小外接矩阵计算出物体体积的方式,提高了体积测量准确度。
在一些实施例中,本申请还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,的程序可以存储于计算机可读存储介质中,存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetictape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还可以提供一种计算机程序产品,计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
计算机程序产品被计算机执行时,计算机执行前述方法实施例的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (15)
1.一种非接触式物体体积测量方法,其特征在于,所述方法包括:
获取含有待测物体的深度图像,得到场景点云数据;
对所述场景点云数据进行预处理,得到待测物体点云数据;
基于所述待测物体点云数据,在深度相机坐标系下建立所述待测物体对应的空间方程;
根据所述待测物体对应的空间方程计算所述待测物体的高度;
对所述待测物体点云数据进行投影处理,得到所述待测物体的上表面最小外接矩阵;
根据所述待测物体的高度以及所述上表面最小外接矩阵计算出所述待测物体的体积。
2.根据权利要求1所述的方法,其特征在于,对所述场景点云数据进行预处理,得到待测物体点云数据,包括:
对所述场景点云数据进行空间剪裁滤波,得到空间剪裁滤波后的场景点云数据;
对所述空间剪裁滤波后的场景点云数据进行体素滤波,得到体素滤波后的场景点云数据;
对所述体素滤波后的场景点云数据进行统计滤波,得到统计滤波后的场景点云数据;
对所述统计滤波后的场景点云数据进行点云分割,得到待测物体点云数据。
3.根据权利要求2所述的方法,其特征在于,对所述场景点云数据进行空间剪裁滤波,得到空间剪裁滤波后的场景点云数据,包括:
获取所述场景点云数据中各点云数据对应的探测距离;
滤除所述场景点云数据中所述探测距离大于探测阈值的点云数据,得到空间剪裁滤波后的场景点云数据。
4.根据权利要求2或3所述的方法,其特征在于,所述对所述空间剪裁滤波后的场景点云数据进行体素滤波,得到体素滤波后的场景点云数据,包括:
对所述空间剪裁滤波后的场景点云数据进行体素化,得到体素化后的场景点云数据,所述体素化后的场景点云数据分别位于若干个体素格中;
当所述体素格中存在若干场景点云数据时,获取所述若干场景点云数据分别到所述体素格的中心的距离;
基于所述若干场景点云数据分别到所述体素格的中心的距离,保留所述到所述体素格的中心的距离最短的场景点云数据。
5.根据权利要求2所述的方法,其特征在于,所述对所述体素滤波后的场景点云数据进行统计滤波,得到统计滤波后的场景点云数据,包括:
获取所述体素滤波后的场景点云数据中每个场景点云数据对应的若干个临近点,所述临近点与所述场景点云数据之间的距离小于距离阈值;
计算所述若干个临近点到所述场景点云数据的平均距离;
当所述平均距离大于标准阈值时,滤除所述平均距离大于标准阈值的场景点云数据。
6.根据权利要求2所述的方法,其特征在于,所述对所述统计滤波后的场景点云数据进行点云分割,得到待测物体点云数据,包括:
分割出所述统计滤波后的场景点云数据中的地面点云数据,得到待测物体点云数据。
7.根据权利要求1所述的方法,其特征在于,所述基于所述待测物体点云数据,在深度相机坐标系下建立所述待测物体对应的空间方程,包括:
以所述深度相机为中心建立深度相机坐标系;
基于所述深度相机坐标系,建立所述待测物体对应的上表面空间方程zi=a0xi+a1yi+a2以及所述待测物体对应的地面空间方程zj=b0xj+b1yj+b2,其中,xi、yi、zi分别为所述待测物体对应的第i个上表面点云数据的三维坐标值,a0、a1、a2分别为上表面空间方程的第一系数、第二系数及第三系数,xj、yj、zj分别为所述待测物体对应的第j个地面点云数据的三维坐标值,b0、b1、b2分别为地面空间方程的第四系数、第五系数及第六系数。
8.根据权利要求7所述的方法,其特征在于,所述根据所述待测物体对应的空间方程计算所述待测物体的高度,包括:
根据所述待测物体对应的上表面空间方程建立所述待测物体对应的上表面空间方程最小二乘目标函数S1=min∑[(a0xi+a1yi+a2)-zi]2;
根据所述待测物体对应的地面空间方程建立所述待测物体对应的地面空间方程最小二乘目标函数S2=min∑[(a0xj+a1yj+a2)-zj]2;
基于所述待测物体点云数据,对所述上表面空间方程最小二乘目标函数以及所述地面空间方程最小二乘目标函数进行求解,得到所述上表面空间方程以及所述地面空间方程各系数的求解值;
根据所述上表面空间方程以及所述地面空间方程各系数的求解值计算出所述待测物体的高度。
9.根据权利要求8所述的方法,其特征在于,所述根据所述上表面空间方程以及所述地面空间方程各系数的求解值计算出所述待测物体的高度,包括:
基于所述上表面空间方程以及所述地面空间方程各系数的求解值,获取所述上表面空间方程的第二系数a1、第三系数a2,以及所述地面空间方程的第五系数b1、第六系数b2;
将所述上表面空间方程的第二系数a1、第三系数a2进行相除,得到第一比值;
将所述地面空间方程的第五系数b1、第六系数b2进行相除,得到第二比值;
将所述第一比值与所述第二比值进行相减,得到第一差值;
将所述第一差值作为所述待测物体的高度。
10.根据权利要求1或9所述的方法,其特征在于,所述对所述待测物体点云数据进行投影处理,得到所述待测物体的上表面最小外接矩阵,包括:
获取所述待测物体点云数据中的上表面点云;
将所述上表面点云投影到地面,得到所述待测物体的上表面最小外接矩阵。
11.根据权利要求10所述的方法,其特征在于,所述根据所述待测物体的高度以及所述上表面最小外接矩阵计算出所述待测物体的体积,还包括:
获取垂直于所述地面的垂直方向;
获取所述地面空间方程在所述垂直方向上的夹角;
根据所述夹角获取校正系数;
获取所述待测物体对应的地面点云数据;
利用所述校正系数对将所述待测物体对应的地面点云数据进行校正,得到校正后的地面点云数据;
基于所述校正后的地面点云数据,获取校正后所述待测物体对应的地面空间方程;
根据所述校正后所述待测物体对应的地面空间方程获取所述上表面最小外接矩阵的长度和宽度。
12.根据权利要求11所述的方法,其特征在于,所述根据所述待测物体的高度以及所述上表面最小外接矩阵计算出所述待测物体的体积,包括:
获取所述上表面最小外接矩阵的长度和宽度;
根据所述待测物体的高度、以及所述上表面最小外接矩阵的长度和宽度计算出所述待测物体的体积。
13.一种非接触式物体体积测量装置,所述装置包括:
点云获取模块,用于获取含有待测物体的深度图像,得到场景点云数据;
预处理模块,用于对所述场景点云数据进行预处理,得到待测物体点云数据;
空间方程建立模块,用于基于所述待测物体点云数据,在深度相机坐标系下建立所述待测物体对应的空间方程;
高度计算模块,用于根据所述待测物体对应的空间方程计算所述待测物体的高度;
外接矩阵获取模块,用于对所述待测物体点云数据进行投影处理,得到所述待测物体的上表面最小外接矩阵;
体积计算模块,用于根据所述待测物体的高度以及所述上表面最小外接矩阵计算出所述待测物体的体积。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,所述存储器存储有多条指令;
处理器,所述处理器从所述存储器中加载指令,以执行如权利要求1~12任一项所述的物体体积测量方法中的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~12任一项所述的非接触式物体体积测量方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211413802.6A CN115861403A (zh) | 2022-11-11 | 2022-11-11 | 一种非接触式物体体积测量方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211413802.6A CN115861403A (zh) | 2022-11-11 | 2022-11-11 | 一种非接触式物体体积测量方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115861403A true CN115861403A (zh) | 2023-03-28 |
Family
ID=85663218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211413802.6A Pending CN115861403A (zh) | 2022-11-11 | 2022-11-11 | 一种非接触式物体体积测量方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115861403A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670979A (zh) * | 2024-02-01 | 2024-03-08 | 四川港投云港科技有限公司 | 一种基于固定点位单目相机的大宗货物体积测量方法 |
-
2022
- 2022-11-11 CN CN202211413802.6A patent/CN115861403A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670979A (zh) * | 2024-02-01 | 2024-03-08 | 四川港投云港科技有限公司 | 一种基于固定点位单目相机的大宗货物体积测量方法 |
CN117670979B (zh) * | 2024-02-01 | 2024-04-30 | 四川港投云港科技有限公司 | 一种基于固定点位单目相机的大宗货物体积测量方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683699B (zh) | 基于深度学习实现增强现实的方法、装置及移动终端 | |
CN111415420B (zh) | 空间信息确定方法、装置及电子设备 | |
CN110648363A (zh) | 相机姿态确定方法、装置、存储介质及电子设备 | |
CN115294275A (zh) | 三维模型的重建方法、装置及计算机可读存储介质 | |
CN112505652B (zh) | 目标检测方法、装置及存储介质 | |
US11908081B2 (en) | Method and system for automatic characterization of a three-dimensional (3D) point cloud | |
CN113689578A (zh) | 一种人体数据集生成方法及装置 | |
CN115861403A (zh) | 一种非接触式物体体积测量方法、装置、电子设备及介质 | |
CN112258474A (zh) | 一种墙面异常检测方法和装置 | |
US11816857B2 (en) | Methods and apparatus for generating point cloud histograms | |
CN114299242A (zh) | 高精地图中图像处理方法、装置、设备以及存储介质 | |
CN116258969B (zh) | 基于点云数据的结构件测量方法及装置 | |
CN113379826A (zh) | 物流件的体积测量方法以及装置 | |
CN115031635A (zh) | 测量方法及装置、电子设备及存储介质 | |
CN108876704A (zh) | 人脸图像变形的方法、装置及计算机存储介质 | |
US20180033200A1 (en) | System and method for multiple device augmented surface | |
US10861174B2 (en) | Selective 3D registration | |
US20230196719A1 (en) | Method for cargo counting, computer equipment, and storage medium | |
CN114295053A (zh) | 物料体积的确定方法及装置、设备、介质和产品 | |
CN113706543A (zh) | 一种三维位姿的构建方法、设备及存储介质 | |
CN112218098A (zh) | 数据压缩方法、装置、电子设备及存储介质 | |
CN112150527A (zh) | 测量方法及装置、电子设备及存储介质 | |
CN115836322A (zh) | 图像裁剪方法与装置、电子设备及存储介质 | |
CN113312979B (zh) | 图像处理方法、装置、电子设备、路侧设备及云控平台 | |
CN115861520B (zh) | 高光检测方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |