CN117953040A - 一种基于深度相机的最小矩形包确定方法、系统、设备及存储介质 - Google Patents
一种基于深度相机的最小矩形包确定方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117953040A CN117953040A CN202410110863.8A CN202410110863A CN117953040A CN 117953040 A CN117953040 A CN 117953040A CN 202410110863 A CN202410110863 A CN 202410110863A CN 117953040 A CN117953040 A CN 117953040A
- Authority
- CN
- China
- Prior art keywords
- plane
- point
- depth camera
- distance
- tray
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000005259 measurement Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 15
- 230000001788 irregular Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20156—Automatic seed setting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
一种基于深度相机的最小矩形包确定方法、系统、设备及存储介质,其方法包括:步骤S1:获得目标区域的点云数据;步骤S2:检测所述点云数据中的托盘平面,标定深度相机到所述托盘平面的距离;步骤S3:识别出目标对象的初始范围;步骤S4:使用点云信息,在所述初始范围内计算目标对象与所述托盘平面的最大距离,从而得到最小矩形包的体积。本发明只使用深度相机提供的点云,不需要使用其他设备,成本低廉,使用方便,且精度较高。
Description
技术领域
本发明涉及体积测量技术领域,具体地,涉及一种基于深度相机的最小矩形包确定方法、系统、设备及存储介质。
背景技术
体积测量是指对目标对象进行测量,获取目标对象的体积信息,目标对象可以是各种快递件、生活物品等,这些大部分目标对象是非规则体,获取体积比较困难。体积测量应用广泛,可以用于工业自动化、快递等领域,可以节省大量的人力物力,提高生产效率,发挥着重要作用。体积测量可以使用多种设备,如双目RGB相机、激光雷达、深度相机(TOF、结构光)等,为了测得精确的体积,需要针对每种设备采取不同的算法。
在现有技术中,在采用无接触对非规则体积进行测量时,常常需要对深度相机采用固定的位置,对每个像素点的深度值进行估算,从而求和得到总体体积。比如,某专利公开了:系统包括深度相机,深度相机安装在仓库的正中央上方,所述仓库用于堆放所述不规则堆料,所述方法包括:根据预设规则将所述仓库的地面分成多个测量区域501:获取仓储设施的高度h1(相当于深度相机到地面的垂直距离),基于所述激光传感器分别测量每个所述测量区域的堆面中心点到深度相机的测量距离Di,确定每个测量区域的堆料高度Hi,Hi=h1-Di,根据所述堆料高度以及所述测量区域对应的长度及宽度,分别确定每个测量区域对应的堆料体积Vi,根据所述每个测量区域对应的堆料体积确定所述不规则堆料的体积,体积为与每一个图像单元对应的单元体积的总和。
在物流等领域,常常需要根据目标对象的大小选择合适的包装。而现有技术中并没有可以利用深度相机直接确定包装体积的技术方案。
以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
为此,本发明对非规则目标对象获得点云数据,检测点云数据中的托盘平面,进而识别出目标对象的初始范围,并在初始范围内计算最小矩形包的体积,只使用深度相机提供的点云,不需要使用其他设备,成本低廉,使用方便,且精度较高。
第一方面,本发明提供一种基于深度相机的最小矩形包确定方法,其特征在于,包括:
步骤S1:获得目标区域的点云数据;
步骤S2:检测所述点云数据中的托盘平面,标定深度相机到所述托盘平面的距离;
步骤S3:识别出目标对象的初始范围;
步骤S4:使用点云信息,在所述初始范围内计算目标对象与所述托盘平面的最大距离,从而得到最小矩形包的体积。
可选地,所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S2包括:
步骤S21:在点云数据中,基于KD树计算每个点的k临近点,将所述k临近点作为一个平面计算法线;
步骤S22:通过判断点法线角度、点之间距离以及种子点到当前点之间的距离,将点云聚类为候选平面;
步骤S23:通过点与点之间的临近关系查找相邻点,然后通过判断相邻的所述候选平面之间的法线及中心点之间的关系判断是否是同一平面,并对同一平面进行融合;
步骤S24:将距离深度相机最近的平面作为托盘平面,并计算深度相机到所述托盘平面的距离。
可选地,所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S22包括:
步骤S221:选择一个点为种子点,并获得第一距离内的多个点为当前点;
步骤S222:根据所述当前点的法线角度和所述种子点的法线角度的差值,得到所述差值小于第一角度的所述当前点;执行步骤S223或步骤S224;
步骤S223:如果所述当前点与所述种子点的连线与所述种子点的法线夹角在第一夹角范围内,则将所述当前点与所述种子点聚类为候选平面;其中,所述第一夹角范围包括直角;执行步骤S225;
步骤S224:如果所述当前点的法线平面与所述种子点的法线平面的距离在第一预设距离内,则将所述当前点与所述种子点聚类为候选平面;执行步骤S225;
步骤S225:将所述候选平面上的所述当前点置为种子点,并执行步骤S221,直至所述候选平面上的点不再增加。
可选地,所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S23包括:
步骤S231:计算点与点之间的临近关系,得到相邻点,进而得到相邻点所属的第一候选平面和第二候选平面;
步骤S232:计算所述第一候选平面上多个点的中心点,得到第一中心点及其第一法线方向,计算所述第二候选平面上多个点的中心点,得到第二中心点及其第二法线方向;
步骤S233:计算所述第一法线方向与所述第二法线方向的差值,如果小于第一角度,执行步骤S234;
步骤S234:计算所述第一中心点和所述第二中心点的深度值的差值,如果在第一预设距离内,则判断为同一平面,并进行融合。
可选地,所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S3包括:
步骤S31:将点云坐标转换到由所述托盘平面及法线构成的转换坐标系下;
步骤S32:在所述转换坐标系下,重新计算获得校正点云高度;
步骤S33:将点云垂直投影到所述托盘平面上,获得初始范围。
可选地,所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S4包括:
步骤S41:计算所述初始范围内的点云距离所述托盘平面的距离值,并去除噪声后获得矩形包的高h;
步骤S42:获得所述初始范围的长l和宽w;
步骤S43:将高h、长l和宽w相乘得到最小矩形包的体积。
可选地,所述的一种基于深度相机的最小矩形包确定方法,其特征在于,所述步骤S41包括:
步骤S411:遍历所有点云,计算到所述托盘平面的距离h,获得最大距离hmax;
步骤S412:将α*hmax作为距离阈值,统计大于所述距离阈值的距离h,获得n个数据,并排序构成队列;其中,α是系数,介于[0.6,0.95]之间;
步骤S413:将队列n中位于第β*n个的数作为高h;其中,β是系数,介于(0,1)之间。
第二方面,本发明提供一种基于深度相机的最小矩形包确定系统,用于实现前述任一项所述的基于深度相机的最小矩形包确定方法,其特征在于,包括:
获取模块,用于获得目标区域的点云数据;
托盘标定模块,用于检测所述点云数据中的托盘平面,标定深度相机到所述托盘平面的距离;
目标对象分割模块,用于识别出目标对象的初始范围;
体积测量模块,用于使用点云信息,在所述初始范围内计算目标对象与所述托盘平面的最大距离,从而得到最小矩形包的体积。
第三方面,本发明提供一种基于深度相机的最小矩形包确定设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行前述中任意一项所述基于深度相机的最小矩形包确定方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现前述任意一项所述基于深度相机的最小矩形包确定方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
本发明利用深度相机获取的点云数据进行测量,并且对于深度相机的安装角度及目标对象的放置区域均没有要求,并且不需要使用其他设备,具有成本低廉,使用方便的特点。
本发明在点云数据中检测出托盘平面,与目标对象的初始范围,再进行体积计算,使得体积计算更加准确适用各类测量场景,既适用于目标对象直接放置于地面的场景,又适用于目标对象被托举的场景。
本发明利用点云数据计算最小矩形包的体积,相比于先计算目标对象的体积,再确定最小矩形包的体积,计算更加简单、高效,对算力需求低,能够应用于成本更低的芯片上。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例中一种基于深度相机的最小矩形包确定方法的步骤流程图;
图2为本发明实施例中一种目标对象放置示意图;
图3为本发明实施例中一种标定深度相机到托盘平面的距离的步骤流程图;
图4为本发明实施例中一种将点云聚类为候选平面的步骤流程图;
图5为本发明实施例中一种对平面进行融合的步骤流程图;
图6为本发明实施例中一种识别目标对象的初始范围的步骤流程图;
图7为本发明实施例中一种深度相机与目标对象位置关系示意图;
图8为本发明实施例中一种计算最小矩形包的体积的步骤流程图;
图9为本发明实施例中一种计算每个所述网格的深度均值的步骤流程图;
图10为本发明实施例中另一种计算最小矩形包的体积的步骤流程图;
图11为本发明实施例中一种深度相机与目标对象的计算关系示意图;
图12为本发明实施例中另一种计算矩形包的高的步骤流程图;
图13为本发明实施例中一种高度选取示意图;
图14为本发明实施例中一种基于深度相机的最小矩形包确定系统的结构示意图;
图15为本发明实施例中一种基于深度相机的最小矩形包确定设备的结构示意图;以及
图16为本发明实施例中计算机可读存储介质的结构示意图。
1--地面;
2--托盘;
3--目标对象;
4--深度相机;
o--相机镜头中心;
l--最小闭包的长;
z--相机到托盘的距离;
f--相机的焦距;
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供的一种基于深度相机的最小矩形包确定深度模组的方法,旨在解决现有技术中存在的问题。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
本发明对非规则目标对象获得点云数据,检测点云数据中的托盘平面,进而识别出目标对象的初始范围,并在初始范围内计算目标对象的体积,只使用深度相机提供的点云,不需要使用其他设备,成本低廉,使用方便,且精度较高。
图1为本发明实施例中一种基于深度相机的最小矩形包确定方法的步骤流程图。
如图1所示,本发明实施例中一种基于深度相机的最小矩形包确定方法的步骤包括:
步骤S1:获得目标区域的点云数据。
在本步骤中,从深度相机获取目标区域的点云数据。点云数据既可以是由一台深度相机获取的,又可以是由两台或更多台深度相机获取的点云融合后获得的。点云数据既可以从深度相机直接获取,也可以由深度相机获取后存入平台中,再进行获取。点云数据是由三维空间中的点组成的数据集,每个点都有一个对应的坐标(x,y,z)。通过深度相机的传感器,可以捕捉到场景中所有目标对象的三维信息,并将其转换为点云数据。
步骤S2:检测所述点云数据中的托盘平面,标定深度相机到所述托盘平面的距离。
在本步骤中,检测托盘所在的平面,以及确定深度相机到托盘的距离,用于后续分割目标对象,这里的托盘一般是指放置于水平的地面的平面,也可以是地面。如图2所示,目标对象位于托盘上。在图2中,托盘的面积大于目标对象的面积。在部分实施例中,托盘的面积小于目标对象的面积。当然,目标对象也可以直接位于地面上。检测点云数据中的托盘平面。首先,对点云数据进行预处理,例如去除噪声、滤波等,以减少干扰因素。然后,我们可以使用一些算法(如RANSAC、ICP等)来检测点云数据中的平面。检测到的平面通常具有一个法向量和一个距离参数,表示该平面与相机之间的距离。通过计算这个距离参数来标定深度相机到托盘平面的距离。
步骤S3:识别出目标对象的初始范围。
在本步骤中,通过分析点云数据来实现。首先,确定目标对象在点云数据中的分布范围,可以通过计算点云数据的边界框来实现。然后,根据目标对象的形状和大小,进一步缩小搜索范围,以便更准确地定位目标对象。将点云数据投影到二维平面上,例如图像平面,作为初始范围。
步骤S4:使用点云信息,在所述初始范围内计算目标对象与所述托盘平面的最大距离,从而得到最小矩形包的体积。
在本步骤中,利用初始范围可以获得目标对象的长和宽。在点云信息中,计算点云到托盘平面的距离,可以得到目标对象的高。由于目标对象可以为规则结构,也可以为非规则结构,因此需要对所有点云全部进行计算。在去除噪声点云后,将最大的距离作为高,从而可以计算最小矩形包的体积。在去除噪声时,可以采用两种方案。第一种是将初始范围划分为多个面积相等的网格,并对每个网格的表面进行聚类,筛选出真正的表面,从而筛选出其中最大的高度作为最大距离。具体的表面聚类及筛选过程参见后续部分的内容。这种方案可以获得非常准确的最小矩形包体积。第二种是将所有点云距离托盘平面的高度进行排序,根据点云的特性,选择一定百分比的距离值作为最小矩形包的高。这种方案具有计算简单、运行高效的特点,尤其适用于目标对象的类型较为固定的场景。
图3为本发明实施例中一种标定深度相机到托盘平面的距离的步骤流程图。如图3所示,本发明实施例中一种标定深度相机到托盘平面的距离的步骤包括:
步骤S21:在点云数据中,基于KD树计算每个点的k临近点,将所述k临近点作为一个平面计算法线。
在本步骤中,对点云数据进行预处理,例如去除噪声、滤波等,以减少干扰因素。然后,使用KD树算法来查找每个点的k临近点。KD树是一种用于存储和搜索多维空间中的点的数据结构,它可以有效地减少搜索范围,提高搜索效率。通过查找每个点的k临近点,我们可以将这些临近点作为一组,计算这组点的法线。
步骤S22:通过判断点法线角度、点之间距离以及种子点到当前点之间的距离,将点云聚类为候选平面。
在本步骤中,根据计算出的法线来判断哪些点属于同一个平面。通过比较不同点的法线角度、点之间的欧氏距离以及种子点到当前点的距离来实现这一点。具体来说,如果一个点的法线与另一个点的法线夹角小于某个阈值(如30度),并且这两个点之间的距离小于某个阈值(如0.1米),则认为这两个点属于同一个平面。同时,还需要考虑种子点到当前点的距离,以确保聚类结果的稳定性。
步骤S23:通过点与点之间的临近关系查找相邻点,然后通过判断相邻的所述候选平面之间的法线及中心点之间的关系判断是否是同一平面,并对同一平面进行融合。
在本步骤中,在完成初步聚类后,我们还需要进一步优化聚类结果。可以通过查找相邻的候选平面之间的法线及中心点之间的关系来判断它们是否属于同一个平面。具体来说,如果两个候选平面的法线夹角小于某个阈值(如10度),并且它们的中心点之间的距离小于某个阈值(如0.05米),则认为这两个候选平面属于同一个平面。对于属于同一个平面的候选平面,将它们进行融合。
步骤S24:将距离深度相机最近的平面作为托盘平面,并计算深度相机到所述托盘平面的距离。
在本步骤中,确定托盘平面的位置和深度相机到托盘平面的距离。可以通过比较所有候选平面与深度相机之间的距离来实现这一点。具体来说,计算每个候选平面与深度相机之间的欧氏距离,然后将距离最小的候选平面作为托盘平面。同时,我们还可以计算深度相机到托盘平面的距离。
本实施例通过基于KD树的最近邻搜索,可以在O(logn)的时间复杂度内找到每个点的k临近点,这比全局搜索的方法效率更高。本实施例不仅考虑了点之间的几何关系(如距离和法线夹角),还引入了种子点到当前点的距离,这有助于提高聚类结果的准确性。本实施例采用了多层次的处理策略,包括数据去噪、关键点提取等预处理步骤,可以有效地处理原始采集的点云数据中可能包含的噪声和散列点等问题。本实施例不仅可以识别和融合同一平面的点云,还可以将距离深度相机最近的平面作为托盘平面,并计算深度相机到所述托盘平面的距离。
图4为本发明实施例中一种将点云聚类为候选平面的步骤流程图。如图4所示,本发明实施例中一种将点云聚类为候选平面的步骤包括:
步骤S221:选择一个点为种子点,并获得第一距离内的多个点为当前点。
在本步骤中,在点云数据中选择一个点作为种子点。这个点可以是任意一个点,但通常会选择一个具有代表性或者明显特征的点作为种子点。然后,使用KD树算法来查找距离种子点最近的多个点,这些点被称为当前点。第一距离是预设的值。
步骤S222:根据所述当前点的法线角度和所述种子点的法线角度的差值,得到所述差值小于第一角度的所述当前点;执行步骤S223或步骤S224。
在本步骤中,计算每个当前点的法线角度与种子点的法线角度之间的差值。如果这个差值小于某个阈值(如10度),则认为这两个点属于同一个平面。然后,选择执行步骤S223或步骤S224。需要说明的是,步骤S223和步骤S224是功能相同的,在具体执行时,可以仅执行其中一个步骤。
步骤S223:如果所述当前点与所述种子点的连线与所述种子点的法线夹角在第一夹角范围内,则将所述当前点与所述种子点聚类为候选平面;其中,所述第一夹角范围包括直角;执行步骤S225。
在本步骤中,需要判断当前点与种子点的连线与种子点的法线夹角是否在第一夹角范围内。如果在第一夹角范围内,则认为这两个点属于同一个平面,并将它们聚类为候选平面。这里的第一夹角范围可以根据实际情况进行调整,但通常包括直角。完成这一步后,执行步骤S225。
步骤S224:如果所述当前点的法线平面与所述种子点的法线平面的距离在第一预设距离内,则将所述当前点与所述种子点聚类为候选平面;执行步骤S225。
在本步骤中,需要计算当前点的法线平面与种子点的法线平面之间的距离。如果这个距离在第一预设距离内,则认为这两个点属于同一个平面,并将它们聚类为候选平面。这里的第一预设距离可以根据实际情况进行调整。完成这一步后,执行步骤S225。
步骤S225:将所述候选平面上的所述当前点置为种子点,并执行步骤S221,直至所述候选平面上的点不再增加。
在本步骤中,将候选平面上的当前点设置为新的种子点,并重复执行上述步骤,直到候选平面上的点不再增加为止。在重复执行上述步骤时,可以仅执行步骤S223,也可以仅执行步骤S224,还可以既执行步骤S223,又执行步骤S224。
本实施例通过使用KD树算法,可以在O(logn)的时间复杂度内找到距离种子点最近的多个点,提高了处理效率。本实施例不仅考虑了点之间的几何关系(如距离和法线夹角),还引入了种子点到当前点的连线与种子点的法线的夹角以及法线平面的距离等条件,可以更准确地判断两个点是否属于同一个平面。本实施例采用了多层次的处理策略,包括数据去噪、关键点提取等预处理步骤,可以有效地处理原始采集的点云数据中可能包含的噪声和散列点等问题。本实施例不仅可以识别和融合同一平面的点云,还可以将距离深度相机最近的平面作为托盘平面,并计算深度相机到所述托盘平面的距离。
图5为本发明实施例中一种对平面进行融合的步骤流程图。如图5所示,本发明实施例中一种对平面进行融合的步骤包括:
步骤S231:计算点与点之间的临近关系,得到相邻点,进而得到相邻点所属的第一候选平面和第二候选平面。
在本步骤中,计算点与点之间的临近关系。这可以通过计算每个点与其他所有点之间的距离来实现。然后,将距离最近的两个点视为相邻点,并得到分别归属的第一候选平面和第二候选平面。
步骤S232:计算所述第一候选平面上多个点的中心点,得到第一中心点及其第一法线方向,计算所述第二候选平面上多个点的中心点,得到第二中心点及其第二法线方向。
在本步骤中,计算每个候选平面上多个点的中心点、法线方向等信息。以点云中的点为操作对象,计算第一候选平面上所有点的x、y、z坐标的平均值,得到第一中心点的坐标值,计算第二候选平面上所有点的x、y、z坐标的平均值,得到第二中心点的坐标值。同时,通过计算第一候选平面上所有点的法线向量的平均值得到第一中心点的法线方向,通过计算第二候选平面上所有点的法线向量的平均值得到第二中心点的法线方向。
步骤S233:计算所述第一法线方向与所述第二法线方向的差值,如果小于第一角度,执行步骤S234。
在本步骤中,需要判断两个候选平面是否平行。这通过比较它们的法线方向来实现。具体来说,我们可以计算两个法线方向之间的夹角,如果这个夹角小于某个阈值(如10度),则认为这两个候选平面属于同一个平面。完成这一步后,执行步骤S234。
步骤S234:计算所述第一中心点和所述第二中心点的深度值的差值,如果在第一预设距离内,则判断为同一平面,并进行融合。
在本步骤中,需要确定两个候选平面是否属于同一个平面。这可以通过比较它们的中心点的深度值来实现。具体来说,我们可以计算两个中心点的深度值之间的差值,如果这个差值在第一预设距离内(如0.01米),则认为这两个候选平面属于同一个平面。对于属于同一个平面的两个候选平面,我们将它们进行融合。
本实施例通过使用临近关系和中心点等特征,可以在O(n)的时间复杂度内完成候选平面的聚类和融合,提高了处理效率。本实施例不仅考虑了点之间的几何关系(如距离和法线夹角),还引入了深度值等特征,可以更准确地判断两个候选平面是否属于同一个平面。本实施例采用了多层次的处理策略,包括数据去噪、关键点提取等预处理步骤,可以有效地处理原始采集的点云数据中可能包含的噪声和散列点等问题。本实施例不仅可以识别和融合同一平面的点云,还可以将距离深度相机最近的平面作为托盘平面,并计算深度相机到所述托盘平面的距离。
图6为本发明实施例中一种识别目标对象的初始范围的步骤流程图。如图6所示,本发明实施例中一种识别目标对象的初始范围的步骤包括:
步骤S31:将点云坐标转换到由所述托盘平面及法线构成的转换坐标系下。
在本步骤中,将点云坐标转换到由托盘平面和法线构成的转换坐标系下。如图7所示,深度相机无法做到完全垂直于与托盘平面,点云坐标变换可以排除相机位姿带来的影响,有效提高精度。
将点云转到到二维图形上,使用如下公式:
x=z*(u-u0)/fx
y=z*(v-v0)/fy
其中z是深度值,(u0,v0,fx,fy)是相机参数,(u,v)是像素坐标,(x,y,z)是三维坐标,每个像素坐标位置存储的是对应的深度值。
使用相机到托盘的距离zt减去深度图中像素值,如果差值小于阈值则认为是托盘,将像素值置为零,否则认为是目标对象,将差值存入对应像素位置。然后在深度图上寻找目标对象的轮廓,计算轮廓的最小矩形闭包,合并相邻的矩形闭包,合并闭包时检测矩形闭包中心的距离,如果距离小于阈值,则将两个矩形闭包合包含的轮廓并在一起,计算一个新的矩形闭包。最后将面积最大的矩形闭包作为目标对象的范围。
步骤S32:在所述转换坐标系下,重新计算获得校正点云高度。
在本步骤中,在转换坐标系下重新计算每个点的深度值。这可以通过对点的深度值进行计算得到。校正点云高度不同于深度相机测量到的深度值。校正点云高度是点与托盘平面的距离。点云与托盘平面存在夹角,因此无法采用托盘平面与深度相机的距离值减去点云深度值得到,而是要通过角度变换后再进行相减操作,从而可以提升体积的计算精度。
步骤S33:将点云垂直投影到所述托盘平面上,获得初始范围。
在本步骤中,在转换坐标系下,将点云垂直投影到所述托盘平面上,得到目标对象在托盘上的垂直投影,即为初始范围。初始范围是目标对象在二维平面上的范围。通过初始范围可以快速获得目标对象的边界。
本实施例将点云坐标转换到由托盘平面和法线构成的转换坐标系下,可以消除点云在深度相机坐标系下的偏移,从而提高深度值的精度。本实施例不仅可以识别和融合同一平面的点云,还可以将距离深度相机最近的平面作为托盘平面,并计算深度相机到所述托盘平面的距离。
图8为本发明实施例中一种计算最小矩形包的体积的步骤流程图。如图8所示,本发明实施例中一种计算最小矩形包的体积的步骤包括:
步骤S44:在所述初始范围内,将空间分成均匀的多个网格。
在本步骤中,通过计算初始范围的面积,然后将它们分别划分为面积相等的子区间来实现。本步骤在xy平面上进行划分。每个子区间的面积相等,并且位于预设面积区间内。预设面积区域是预先设置的一个范围,用于确定面积大小。预设面积区域与深度相机的测量范围有关。当托盘平面与深度相机越远时,子区间的面积越大。当托盘平面与深度相机越近时,子区间的面积越小。然后,将这些子区间作为网格,并将整个空间划分为n个网格。
步骤S45:计算每个所述网格的深度均值,然后使用深度相机到托盘的距离减去所述深度均值作为所述网格的深度值,得到所述网格的高。
在本步骤中,通过计算每个网格内所有点的深度值的平均值来实现。具体来说,我们可以遍历每个网格内的所有点,并记录它们的深度值。本步骤中的深度均值并不是简单地对多个点云的深度值进行平均值计算,而是还需要考虑深度相机与托盘平面的夹角,将点云的深度值转换到与托盘平面垂直方向上与深度相机的距离。深度均值是网格上多个点在垂直于托盘平面方向上与深度相机的距离均值。使用深度相机到托盘的距离减去深度均值,得到每个网格的高。
步骤S46:结合所述初始范围的长和宽,与最大的所述网格的高相乘,得到最小矩形包的体积。
在本步骤中,将上一步骤中网格的最大高度作为目标对象的最大高度。使用网格的最大高度与初始范围的长和宽相乘计算最小矩形包的体积(即长×宽×高)。
本实施例通过将空间分成均匀的多个网格,可以快速地计算每个网格的高,从而得到目标对象的最大高度。本实施例通过计算每个网格内所有点的深度值的平均值,可以得到更精确的深度值。同时,使用深度相机到托盘的距离减去深度均值作为网格的高,可以消除点云在深度相机坐标系下的偏移,进一步提高深度值的精度。本实施例不仅可以识别和融合同一平面的点云,还可以将距离深度相机最近的平面作为托盘平面,并计算深度相机到所述托盘平面的距离。
图9为本发明实施例中一种计算每个所述网格的深度均值的步骤流程图。如图9所示,本发明实施例中一种计算每个所述网格的深度均值的步骤包括:
步骤S451:判断每个所述网格中点云的数量是否大于第一阈值;如果大于所述第一阈值,将所述网格标记为有效网格,执行步骤S422,否则,执行步骤S423。
在本步骤中,判断每个网格中点云的数量是否大于第一阈值。遍历每个网格内的所有点,并记录它们的数量。然后,我们可以将这些数量与第一阈值进行比较,以确定该网格是否为有效网格。如果该网格中的点数大于第一阈值,则将其标记为有效网格,并执行步骤S422;否则,跳过该网格,继续处理下一个网格。当所有网格全部标记完成后,对有效网格以外的网格执行步骤S423。
步骤S452:统计所述网格中每个点的深度值,并取平均值,并根据深度相机的夹角,计算得到所述网格的深度均值。
在本步骤中,计算每个有效网格的深度均值。遍历每个有效网格内的所有点,并记录它们的深度值,计算得到平均值。通过计算深度相机与托盘平面的夹角,对平均值进行计算,得到网格与深度相机在托盘平面法线方向上的深度均值。
步骤S453:判断所述网格的相邻网格中的所述有效网格的数量是否大于第二阈值,如果大于所述第二阈值,则将所述有效网格的深度均值的平均值作为所述网格的深度均值,否则,将所述网格的深度均值置为零。
在本步骤中,根据相邻网格中有效网格的数量来确定当前网格的深度均值。这可以通过判断当前网格的相邻网格中有效网格的数量是否大于第二阈值来实现。如果相邻网格中有效网格的数量大于第二阈值,则将相邻有效网格的深度均值的平均值作为当前网格的深度均值;否则,将当前网格的深度均值置为零。这样,我们就可以得到最终的每个网格的深度均值。
本实施例计算每个有效网格深度均值,能够有效地消除点云在深度相机坐标系下的偏移,从而提高深度值的精度。
图10为本发明实施例中另一种计算最小矩形包的体积的步骤流程图。如图10所示,本发明实施例中另一种计算最小矩形包的体积的步骤包括:
步骤S41:计算所述初始范围内的点云距离所述托盘平面的距离值,并去除噪声后获得矩形包的高h。
在本步骤中,计算点云数据中每个点到托盘平面的距离。这可以通过计算点云数据中的每个点与托盘平面上的垂直线的交点之间的距离来实现。然后,对这些距离值进行去噪处理,以消除由于测量误差或噪声导致的异常值。最后,将消除噪声后的距离值作为矩形包的高度h。
步骤S42:获得所述初始范围的长l和宽w。
在本步骤中,由于初始范围是托盘平面上的投影,因此可以在托盘平面上得到初始范围的长度l和宽度w。计算长宽步骤用于计算目标对象最小闭包的长宽,在步骤S3中我们已经计算出了目标对象的范围的闭包,也就是得到了闭包的长和宽,设长和宽分别是lb和wb,但是该闭包是位于图像坐标下的。在步骤S3中将点云进行过旋转,也就是相机平面与托盘平行,相机到托盘的距离已知,那么可以将该闭包投影到托盘平面上,也就是可以算出目标对象的长和宽,公式如下:
l=zt*lb*dx/f
w=zt*wb*dy/f
l和w就是最后计算的目标对象的最小闭包的长和宽,zt是相机到托盘的距离,(dx,dy,f)是相机参数,计算l时的原理如图11所示,图中的o表示相机镜头中心,根据相似相似三角形原理即可推出上述公式,计算w时原理类似。
步骤S43:将高h、长l和宽w相乘得到最小矩形包的体积。
在本步骤中,根据前面计算得到的矩形包的高度h、长度l和宽度w,我们可以将它们相乘得到最小矩形包的体积V=h*l*w。
本实施例将去除噪声后的点云距离作为有效距离,并获得最大的有效距离作为矩形包的高,再结合初始范围的长和宽,计算得到最小矩形包的体积。
图12为本发明实施例中另一种计算矩形包的高的步骤流程图。如图12所示,本发明实施例中另一种计算矩形包的高的步骤包括:
步骤S411:遍历所有点云,计算到所述托盘平面的距离h,获得最大距离hmax。
在本步骤中,遍历点云数据中的每个点,并计算它们到托盘平面的距离。记录下这些距离值中的最大值,作为矩形包的高度h的初始估计值。
步骤S412:将α*hmax作为距离阈值,统计大于所述距离阈值的距离h,获得n个数据,并排序构成队列。
在本步骤中,α是系数,介于[0.6,0.95]之间。为了减小计算量,选择一个距离阈值α*(0.6≤α*≤0.95),并将大于这个阈值的距离值筛选出来。然后,我们可以获得n个这样的距离值,并将它们按照从小到大的顺序排列成一个队列。由于距离值非常多,直接排序速度会很慢,所以只对较大的的深度值进行计算,比如前15%、10%、5%的数值。
步骤S413:将队列n中位于第β*n个的数作为高h。
在本步骤中,β是系数,介于(0,1)之间。我们需要从前面构建的队列中选择出一个合适的高度值作为矩形包的高度h。如图13所示,我们可以选择一个系数β(0<β<1),并将队列n中位于第β*n个的数作为高度h的值。这样选择的原因是,我们希望高度h的值能够尽可能地接近真实的高度值,同时又能够排除掉一些异常值的影响。
本实施例不需要对噪声专门进行处理,就可以有效排除噪声带来的影响。本实施例可以计算量小,有利于在低成本芯片上运行,有利于数据的快速处理。
图14为本发明实施例中一种基于深度相机的最小矩形包确定系统的结构示意图。如图14所示,本发明实施例中一种基于深度相机的最小矩形包确定系统包括:
获取模块,用于获得目标区域的点云数据;
托盘标定模块,用于检测所述点云数据中的托盘平面,标定深度相机到所述托盘平面的距离;
目标对象分割模块,用于识别出目标对象的初始范围;
体积测量模块,用于使用点云信息,在所述初始范围内计算目标对象的体积。
本实施例对非规则目标对象获得点云数据,检测点云数据中的托盘平面,进而识别出目标对象的初始范围,并在初始范围内计算目标对象的体积,只使用深度相机提供的点云,不需要使用其他设备,成本低廉,使用方便,且精度较高。
本发明实施例中还提供一种基于深度相机的最小矩形包确定设备,包括处理器。存储器,其中存储有处理器的可执行指令。其中,处理器配置为经由执行可执行指令来执行的一种基于深度相机的最小矩形包确定方法的步骤。
如上,本实施例对非规则目标对象获得点云数据,检测点云数据中的托盘平面,进而识别出目标对象的初始范围,并在初始范围内计算目标对象的体积,只使用深度相机提供的点云,不需要使用其他设备,成本低廉,使用方便,且精度较高。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
图15是本发明实施例中的一种基于深度相机的最小矩形包确定设备的结构示意图。下面参照图15来描述根据本发明的这种实施方式的电子设备600。图15显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图15所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述一种基于深度相机的最小矩形包确定方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元610可以执行如图1中所示的步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网格环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网格适配器660与一个或者多个网格(例如局域网(LAN),广域网(WAN)和/或公共网格,例如因特网)通信。网格适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图15中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本发明实施例中还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现的一种基于深度相机的最小矩形包确定方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述一种基于深度相机的最小矩形包确定方法部分中描述的根据本发明各种示例性实施方式的步骤。
如上所示,本实施例对非规则目标对象获得点云数据,检测点云数据中的托盘平面,进而识别出目标对象的初始范围,并在初始范围内计算目标对象的体积,只使用深度相机提供的点云,不需要使用其他设备,成本低廉,使用方便,且精度较高。
图16是本发明实施例中的计算机可读存储介质的结构示意图。参考图16所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网格,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本实施例对非规则目标对象获得点云数据,检测点云数据中的托盘平面,进而识别出目标对象的初始范围,并在初始范围内计算目标对象的体积,只使用深度相机提供的点云,不需要使用其他设备,成本低廉,使用方便,且精度较高。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (10)
1.一种基于深度相机的最小矩形包确定方法,其特征在于,包括:
步骤S1:获得目标区域的点云数据;
步骤S2:检测所述点云数据中的托盘平面,标定深度相机到所述托盘平面的距离;
步骤S3:识别出目标对象的初始范围;
步骤S4:使用点云信息,在所述初始范围内计算目标对象与所述托盘平面的最大距离,从而得到最小矩形包的体积。
2.根据权利要求1所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S2包括:
步骤S21:在点云数据中,基于KD树计算每个点的k临近点,将所述k临近点作为一个平面计算法线;
步骤S22:通过判断点法线角度、点之间距离以及种子点到当前点之间的距离,将点云聚类为候选平面;
步骤S23:通过点与点之间的临近关系查找相邻点,然后通过判断相邻的所述候选平面之间的法线及中心点之间的关系判断是否是同一平面,并对同一平面进行融合;
步骤S24:将距离深度相机最近的平面作为托盘平面,并计算深度相机到所述托盘平面的距离。
3.根据权利要求2所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S22包括:
步骤S221:选择一个点为种子点,并获得第一距离内的多个点为当前点;
步骤S222:根据所述当前点的法线角度和所述种子点的法线角度的差值,得到所述差值小于第一角度的所述当前点;执行步骤S223或步骤S224;
步骤S223:如果所述当前点与所述种子点的连线与所述种子点的法线夹角在第一夹角范围内,则将所述当前点与所述种子点聚类为候选平面;其中,所述第一夹角范围包括直角;执行步骤S225;
步骤S224:如果所述当前点的法线平面与所述种子点的法线平面的距离在第一预设距离内,则将所述当前点与所述种子点聚类为候选平面;执行步骤S225;
步骤S225:将所述候选平面上的所述当前点置为种子点,并执行步骤S221,直至所述候选平面上的点不再增加。
4.根据权利要求2所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S23包括:
步骤S231:计算点与点之间的临近关系,得到相邻点,进而得到相邻点所属的第一候选平面和第二候选平面;
步骤S232:计算所述第一候选平面上多个点的中心点,得到第一中心点及其第一法线方向,计算所述第二候选平面上多个点的中心点,得到第二中心点及其第二法线方向;
步骤S233:计算所述第一法线方向与所述第二法线方向的差值,如果小于第一角度,执行步骤S234;
步骤S234:计算所述第一中心点和所述第二中心点的深度值的差值,如果在第一预设距离内,则判断为同一平面,并进行融合。
5.根据权利要求1所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S3包括:
步骤S31:将点云坐标转换到由所述托盘平面及法线构成的转换坐标系下;
步骤S32:在所述转换坐标系下,重新计算获得校正点云高度;
步骤S33:将点云垂直投影到所述托盘平面上,获得初始范围。
6.根据权利要求1所述的一种基于深度相机的最小矩形包确定方法,其特征在于,步骤S4包括:
步骤S41:计算所述初始范围内的点云距离所述托盘平面的距离值,并去除噪声后获得矩形包的高h;
步骤S42:获得所述初始范围的长l和宽w;
步骤S43:将高h、长l和宽w相乘得到最小矩形包的体积。
7.根据权利要求6所述的一种基于深度相机的最小矩形包确定方法,其特征在于,所述步骤S41包括:
步骤S411:遍历所有点云,计算到所述托盘平面的距离h,获得最大距离hmax;
步骤S412:将α*hmax作为距离阈值,统计大于所述距离阈值的距离h,获得n个数据,并排序构成队列;其中,α是系数,介于[0.6,0.95]之间;
步骤S413:将队列n中位于第β*n个的数作为高h;其中,β是系数,介于(0,1)之间。
8.一种基于深度相机的最小矩形包确定系统,用于实现权利要求1至7中任一项所述的基于深度相机的最小矩形包确定方法,其特征在于,包括:
获取模块,用于获得目标区域的点云数据;
托盘标定模块,用于检测所述点云数据中的托盘平面,标定深度相机到所述托盘平面的距离;
目标对象分割模块,用于识别出目标对象的初始范围;
体积测量模块,用于使用点云信息,在所述初始范围内计算目标对象与所述托盘平面的最大距离,从而得到最小矩形包的体积。
9.一种基于深度相机的最小矩形包确定设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任意一项所述基于深度相机的最小矩形包确定方法的步骤。
10.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至7中任意一项所述基于深度相机的最小矩形包确定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410110863.8A CN117953040A (zh) | 2024-01-26 | 2024-01-26 | 一种基于深度相机的最小矩形包确定方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410110863.8A CN117953040A (zh) | 2024-01-26 | 2024-01-26 | 一种基于深度相机的最小矩形包确定方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117953040A true CN117953040A (zh) | 2024-04-30 |
Family
ID=90797552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410110863.8A Pending CN117953040A (zh) | 2024-01-26 | 2024-01-26 | 一种基于深度相机的最小矩形包确定方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117953040A (zh) |
-
2024
- 2024-01-26 CN CN202410110863.8A patent/CN117953040A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107610176B (zh) | 一种基于Kinect的栈板动态识别与定位方法、系统及介质 | |
US11436748B2 (en) | Volume measurement method and system, apparatus and computer-readable storage medium | |
US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
CN111582054B (zh) | 点云数据处理方法及装置、障碍物检测方法及装置 | |
US20160203387A1 (en) | Vision system and analytical method for planar surface segmentation | |
CN111553946B (zh) | 用于去除地面点云的方法及装置、障碍物检测方法及装置 | |
CN112215958B (zh) | 一种基于分布式计算的激光雷达点云数据投影方法 | |
KR101918168B1 (ko) | 3차원 계측 방법 및 그 장치 | |
CN116309882A (zh) | 一种面向无人叉车应用的托盘检测和定位方法及系统 | |
US20090154770A1 (en) | Moving Amount Calculation System and Obstacle Detection System | |
CN113538555B (zh) | 基于规则箱体的体积测量方法、系统、设备及存储介质 | |
CN114494323A (zh) | 一种障碍物检测方法、装置、设备及存储介质 | |
EP4202858A1 (en) | Method and device for cargo counting, computer equipment, and storage medium | |
CN117953040A (zh) | 一种基于深度相机的最小矩形包确定方法、系统、设备及存储介质 | |
CN115272465A (zh) | 物体定位方法、装置、自主移动设备和存储介质 | |
CN113538558B (zh) | 基于ir图的体积测量优化方法、系统、设备及存储介质 | |
CN117953038A (zh) | 一种基于深度相机的非规则体积测量方法、系统、设备及存储介质 | |
CN113538556B (zh) | 基于ir图的体积测量装置 | |
CN113538553B (zh) | 基于规则箱体的体积测量装置 | |
CN111462321B (zh) | 点云地图处理方法、处理装置、电子装置和车辆 | |
CN114219871A (zh) | 一种基于深度图像的障碍物检测方法、装置和移动机器人 | |
CN113608207A (zh) | 一种高炉料面形状测量方法、终端设备及存储介质 | |
CN113345023A (zh) | 箱体的定位方法、装置、介质和电子设备 | |
CN117953041A (zh) | 一种基于深度相机的最小矩形包确定装置 | |
CN118229772B (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 |