Nothing Special   »   [go: up one dir, main page]

CN113362441B - 三维重建方法、装置、计算机设备和存储介质 - Google Patents

三维重建方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113362441B
CN113362441B CN202010149601.4A CN202010149601A CN113362441B CN 113362441 B CN113362441 B CN 113362441B CN 202010149601 A CN202010149601 A CN 202010149601A CN 113362441 B CN113362441 B CN 113362441B
Authority
CN
China
Prior art keywords
point cloud
complete
shelf
correction
depth
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.)
Active
Application number
CN202010149601.4A
Other languages
English (en)
Other versions
CN113362441A (zh
Inventor
石颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SF Technology Co Ltd
Original Assignee
SF Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN202010149601.4A priority Critical patent/CN113362441B/zh
Publication of CN113362441A publication Critical patent/CN113362441A/zh
Application granted granted Critical
Publication of CN113362441B publication Critical patent/CN113362441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种三维重建方法、装置、计算机设备和存储介质。所述方法包括:获取深度相机对重建场景采集的多个深度视频;基于各深度视频进行点云配准,得到重建场景的完整点云;将完整点云进行坐标校正,得到校正点云;沿竖直方向分割校正点云,得到多层厚度相同且高度不同的点云切片;分别对各层点云切片进行识别,得到各层点云切片的货架区域和墙面区域;将各层点云切片的货架区域进行筛选和组合,得到完整的货架区域;基于墙面区域和完整的货架区域进行三维重建,得到三维重建图像。采用本方法能够提高三维重建的精度。

Description

三维重建方法、装置、计算机设备和存储介质
技术领域
本申请涉及三维重建技术领域,特别是涉及一种三维重建方法、装置、计算机设备和存储介质。
背景技术
随着信息技术的不断发展,人们利用计算机等其他辅助设备来实现对多维信息的处理能力也日益提升。例如可以通过计算机不断增强的数字图像处理能力,利用计算机数字图像处理技术、计算机视觉、机器学习、图像处理及模式识别等技术实现三维信息处理。现有三维数据硬件通常使用激光雷达、深度相机或者单目/双目相机,并通过软件算法识别出其中的目标对象信息,从而进行地图绘制处理并生成实景地图。其中激光雷达精度高速度快,缺点是成本高,主要应用在自动驾驶领域。单目/双目相机因为识别精度和距离限制,主要应用在人脸和手势识别领域。而深度相机由于能更多兼顾成本和精度两方面因素,所以深度相机比较适合室内场景的三维重建。而相应的软件识别算法通常需要考虑到硬件的精度、拍摄角度、环境光等多种影响因素,并可能利用多种数据融合来辅助重建。因此,传统大多都是结合深度相机进行多视角的拍摄,通过融合多视角的图像完成三维重建。
然而,重建场景中大多都会包括大量用于摆放物品的置物架,尤其是有大量货架的大型仓库场景。而对仓库进行三维重建时,无论货架上货物的多少,每个货架都是需要被识别出来的。传统因为多视角拍摄的差异,容易造成点云数据差异较大,从而影响对货架的识别导致降低了重建的精度。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高精度的三维重建方法、装置、计算机设备和存储介质。
一种三维重建方法,所述方法包括:
获取深度相机对重建场景采集的多个深度视频;
基于各所述深度视频进行点云配准,得到所述重建场景的完整点云;
将所述完整点云进行坐标校正,得到校正点云;
沿竖直方向分割所述校正点云,得到多层厚度相同且高度不同的点云切片;
分别对各层所述点云切片进行识别,得到各层所述点云切片的货架区域和墙面区域;
将各层所述点云切片的货架区域进行筛选和组合,得到完整的货架区域;
基于所述墙面区域和所述完整的货架区域进行三维重建,得到三维重建图像。
在其中一个实施例中,得到校正点云之后,还包括:
从所述校正点云中过滤掉所述重建场景中地面的点云数据,得到过滤后的校正点云。
在其中一个实施例中,所述从所述校正点云中过滤掉所述重建场景中地面的点云数据,得到过滤后的校正点云,包括:
对所述校正点云进行三维平面检测,确定所述重建场景中的地面;
根据所述地面的法向量方向坐标过滤掉所述地面对应的点云数据,得到过滤后的校正点云。
在其中一个实施例中,所述基于各所述深度视频进行点云配准,得到所述重建场景的完整点云,包括:
分别对各所述深度视频分别进行抽帧,得到各所述深度视频对应的帧序列;
分别对各所述帧序列中的帧进行点云配准,得到各所述深度视频对应的局部点云;
获取惯性测量单元采集的与各所述深度视频对应的位置数据;
根据位置数据将各所述深度视频的局部点云进行拼接,得到所述重建场景的完整点云。
在其中一个实施例中,所述分别对各所述帧序列中的帧进行点云配准,得到各所述深度视频对应的局部点云,包括:
将所述帧序列中的第一帧与第二帧进行点云配准,得到局部点云;
将所述局部点云作为待配准点云;
获取所述帧序列中未进行过点云配准且排序第一的帧作为当前帧;
将所述当前帧与所述待配准点云进行点云配准,得到新的局部点云;
返回将所述局部点云作为待配准点云的步骤,直至所述帧序列中的每一帧都完成点云配准;
获取最后一次点云配准得到的局部点云作为所述深度视频的局部点云。
在其中一个实施例中,所述将各层所述点云切片的货架区域进行筛选和组合,得到完整的货架区域,包括:
剔除处于底层的货架区域,得到剩余货架区域;
查询各所述剩余货架区域中存在交集的货架区域并计算交集率;
根据所述交集率从各所述剩余货架区域中选取满足要求的货架区域,得到筛选货架区域;
查询所述筛选货架区域中有交集的货架区域并分为一组;
计算各组的最小集合凸包,得到完整的货架区域。
在其中一个实施例中,所述将所述完整点云进行坐标校正,得到校正点云,包括:
将所述重建场景的完整点云进行二维投影,得到所述完整点云的二维投影;
对所述完整点云的二维投影进行主成分分析,确定所述重建场景中地面和货架的旋转矩阵;
根据各所述旋转矩阵对所述完整点云进行坐标校正,得到校正点云。
一种三维重建装置,所述装置包括:
获取模块,用于获取深度相机对重建场景采集的多个深度视频;
配准模块,用于基于各所述深度视频进行点云配准,得到所述重建场景的完整点云;
校正模块,用于将所述完整点云进行坐标校正,得到校正点云;
分割模块,用于沿竖直方向分割所述校正点云,得到多层厚度相同且高度不同的点云切片;
识别模块,用于分别对各层所述点云切片进行识别,得到各层所述点云切片的货架区域和墙面区域;
筛选组合模块,用于将各层所述点云切片的货架区域进行筛选和组合,得到完整的货架区域;
重建模块,用于基于所述墙面区域和所述完整的货架区域进行三维重建,得到三维重建图像。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述三维重建方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述三维重建方法的步骤。
上述三维重建方法、装置、计算机设备和存储介质,将深度相机对重建场景采集的深度视频进行点云配准得到重建场景的完整点云,将完整点云进行坐标校正得到校正点云,进而沿竖直方向将校正点云分割成多层厚度相同高度不同的点云切片,分别对各层点云切片进行识别得到货架区域和墙面区域后,对各层的货架区域进行筛选和组合得到完整的货架区域,对完整的货架区域和墙面区域重建得到三维重建图像。该方法一方面通过坐标校正防止点云倾斜带来的影响,另一方面通过将处于不同高度点云切片对应的货架区域进行筛选和组合,解决了将低存货货架错误识别为过道的问题,从而提高三维重建的精度。
附图说明
图1为一个实施例中三维重建方法的应用环境图;
图2为一个实施例中三维重建方法的流程示意图;
图3为一个实施例中Z向二维投影的图像示意图;
图4为一个实施例中识别结果的图像示意图;
图5为一个实施例中对各层点云切片的货架区域进行筛选和组合,得到完整的货架区域步骤的流程示意图;
图6为另一个实施例中三维重建方法的流程示意图;
图7为一个实施例中三维重建装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的三维重建方法,可以应用于如图1所示的应用环境中。其中,深度相机102与终端104连接。具体地,终端104控制连接的深度相机102对重建场景采集多个深度视频;终端104基于各深度视频进行点云配准,得到重建场景的完整点云;终端104将完整点云进行坐标校正,得到校正点云;终端104沿竖直方向分割校正点云,得到多层厚度相同且高度不同的点云切片;终端104分别对各层点云切片进行识别,得到各层点云切片的货架区域和墙面区域;终端104将各层点云切片的货架检区域进行筛选组合,得到完整的货架区域;终端104基于墙面区域和完整的货架区域进行三维重建,得到三维重建图像。其中,终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种三维重建方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S202,获取深度相机对重建场景采集的多个深度视频。
其中,深度相机又称为3D相机,是一种能够检测出拍摄空间的景深距离的相机。重建场景是需要进行三维重建的空间,在本实施例中,重建场景是用于存储货物的大型仓库。
具体地,用户通过手持与终端连接的深度相机对重建场景进行拍摄,得到多个深度视频。各个不同的深度视频可以是不同采集角度或不同采集方位的深度视频。例如,用户手持深度相机在重建场景进行深度视频采集时,可以是在重建场景的不同位置中采集的不同的深度视频。也可以是用户在同一位置将深度相机移动至不同角度和不同方向采集的深度视频。当深度相机采集深度视频完成之后,将采集的多个深度视频发送给终端。
步骤S204,基于各深度视频进行点云配准,得到重建场景的完整点云。
其中,点云配准通常是指将不同视角采集的点云数据统一转换到同一坐标系下,进而实现配准拼接得到完整点云的过程。在本实施例中,点云配准即是将深度视频对应的点云数据进行点云配准,得到重建场景的完整点云的过程。
具体地,获取到多个深度视频之后,分别将深度视频中的各帧深度图进行坐标转换,得到各帧深度图对应的点云数据。然后,各深度视频对应的点云数据分别进行局部点云配准,得到单次拍摄区域的局部点云,例如为10*10米大小的点云。将各个深度视频对应的局部点云进行全局点云配准,得到完整点云,例如80*120米大小的点云。因为各个深度视频是基于不同视角拍摄的,所以每一个深度视频中深度图对应的点云数据进行点云配准得到的点云数据只能表示重建场景中的局部区域。因此,在分别将各个深度视频中深度图对应的点云数据进行局部点云配准得到每个深度视频对应的局部点云之后,再将所有的局部点云进行全局点云配准,将所有的局部点云进行拼接得到重建场景的完整点云。也就是说,局部点云配准可以理解为是每个深度视频单独进行点云配准,而全局点云配准可以理解为是将各深度视频进行局部点云配准得到的各个局部点云数据进行拼接得到完整点云的过程。
步骤S206,将完整点云进行坐标校正,得到校正点云。
其中,由于相机参数或拍摄等外在因素,所得到的完整点云相对于水平面可能存在一定的倾斜。因此需要通过坐标校正来消除倾斜带来的影响。
具体的,将完整点云进行二维投影,得到完整点云的二维投影。通过PCA(Principal Component Analysis,主成分分析)算法对完整点云的二维投影进行分析。由于本实施例的重建场景是针对于货物仓库,所以通过PAC分析可以从完整点云的二维投影中确定仓库的地面和仓库中货架的摆放方向。然后,通过将地面和货架的摆放方向进行移动和旋转完成坐标校正。另外,对完整点云进行PCA分析之前,还可以对完整点云数据进行下采样、去噪和光照平衡等处理提高分析的准确性。
在一个实施例中,将完整点云进行坐标校正,得到校正点云,包括:将重建场景的完整点云进行二维投影,得到完整点云的二维投影;对完整点云的二维投影进行主成分分析,确定重建场景中地面和货架的旋转矩阵;根据各旋转矩阵对完整点云进行坐标校正,得到校正点云。
具体地,二维投影包括X、Y、Z三个方向的投影,分别在X、Y、Z三个方向将完整点云均匀分割成1米厚的点云切片之后,分别沿分割方向将得到的点云切片进行二维投影,得到三个方向的二维投影。然后通过PCA算法对三个方向的二维投影进行分析,在XZ平面投影中找到地面绕Y轴的旋转矩阵(即地面和X轴的夹角)、在YZ平面投影中找到地面绕X轴的旋转矩阵(即地面和Y轴的夹角)、以及在XY平面投影中找到货架绕Z轴的旋转矩阵(即货架和X轴的夹角)。最后将完整点云与这三个旋转矩阵进行相乘完成完整点云的旋转。旋转后的完整点云若需要进行平移,可以通过旋转后的完整点云减去质心位置(x-average(x均值),y-average(y均值),z-average(z均值))实现平移,最终得到校正点云。另外,考虑到X、Y、Z三个方向的旋转会影响到PCA结果的精度,通常会依次沿X、Y、Z进行坐标校正并循环多次,直至旋转的角度收敛位置,例如旋转角度小于0.01Pi为止。
步骤S208,沿竖直方向分割校正点云,得到多层厚度相同且高度不同的点云切片。
其中,点云切片是对校正点云进行分割后的部分点云,分割后所有的点云切片在竖直方向按照高度进行拼接可以得到校正点云。竖直方向是指Z方向。
具体地,获取预设的分割阈值,沿Z方向根据分割阈值将校正点云分割成厚度相同的点云切片,而由于是沿竖直方向进行分割的,所以每层点云切片所处的高度不同。分割阈值可以根据仓库中各层货架之间的距离决定,例如每层货架之间的距离为1米,即沿Z方向分割成1米厚的点云切片。
步骤S210,分别对各层点云切片进行识别,得到各层点云切片的货架区域和墙面区域。
具体地,当沿Z向分割得到多层点云切片之后,将各层点云切片进行二维投影,得到如图3所示的Z向二维投影图像。然后对各层点云切片的二维投影图像进行图像识别。在本实施例中,通过调用预先训练好用于对重建场景中的货架、墙面等区域进行识别的神经网络。将各层点云切片的二维投影输入至神经网络,通过神经网络对各层点云切片的二维投影进行识别,输出识别结果。识别结果中包括识别到的货架区域(shelf)、墙面区域(wall)等,如图4所示的识别结果图像。其中,本实施例神经网络结构优选Mask R-CNN(MaskRegion-Convolutional Neural Networks,掩膜目标检测网络)模型。
步骤S212,将各层点云切片的货架区域进行筛选和组合,得到完整的货架区域。
在一个实施例中,如图5所示,步骤S212,包括:
步骤S502,剔除处于底层的货架区域,得到剩余货架区域。
具体地,神经网络对图像进行目标识别所输出的识别结果通常是目标在图像中的坐标位置,在图像上则通常用目标的外接矩形将目标圈出显示(如图4所示)。因此,本实施例通过神经网络识别所得到的货架区域可以理解为是一系列的矩形Sij,矩形Sij即是货架的外接矩形。
假设每层识别到的货架区域为一系列矩形Sij,各个矩形的坐标为{Cij1,Cij2,Cij3,Cij4},i∈{0,1,2,…imax}表示Z向分割时货架所在的层数,j表示在该层识别到的第j个货架。剔除处于底层的货架区域即剔除i=0的矩形。在本实施例中,通过剔除底层的数据可以去掉大部分地面杂物对结果的影响。
步骤S504,分别查询各剩余货架区域中存在交集的货架区域并计算交集率。
具体地,在剔除底层的货架区域得到剩余货架区域之后,查询剩余货架区域是否存在有交集的货架区域。当确定存在交集的货架区域时,计算交集率,交集率是指两个剩余货架区域的重叠部分。存在交集的剩余货架区域可以在R-tree(R数)索引的空间数据库中通过方法函数ST_Intersection()进行查询。存在交集的两个剩余货架区域的交集率P的计算公式如下:
P=(剩余货架区域1∩剩余货架区域2)/(剩余货架区域1∪剩余货架区域2)
步骤S506,根据交集率从各剩余货架区域中选取满足要求的货架区域,得到筛选货架区域。
具体地,当得到个剩余货架区域的交集率之后,获取交集率阈值Pth。根据交集率阈值选取满足要求的剩余货架区域,满足要求的剩余货架区域为P>Pth的货架区域。在本实施例中,Pth优选为0.2,也就是选出交集率大于0.2的剩余货架区域,得到筛选货架区域。
在本实施例中,按照仓库中货架的摆放规则,当某一层的{Cij1,Cij2,Cij3,Cij4}坐标处出现货架,那么其上或其下应该还存在其他的货架。而同一坐标不同高度的层只检测到1个以下目标的概率可以忽略不计,也就是除了之前去掉的底层杂物,其他各层识别到的2个以上货架都可以还原成上下多层货架。因此,筛选出的货架区域表示了多层货架的识别结果。
步骤S508,查询筛选货架区域中有交集的货架区域并分为一组。
具体地,当得到筛选货架区域之后,同样通过在R-tree索引的空间数据库中查询有交集的筛选货架区域。并且,将相互有交集的筛选货架区域划分位一组。例如,筛选货架区域1与筛选货架区域2有交集,筛选货架区域2与筛选货架区域3有交集,那么将筛选货架区域1、筛选货架区域2和筛选货架区域3划分为一组。
步骤S510,计算各组的最小集合凸包,得到完整的货架区域。
具体地,当得到各个分组之后,对每个分组依次用ST_ConvexHull方法计算最小集合凸包。这时不同层出现的货架误判缺失的结果会因为缺失位置的随机性在最小集合凸包中被移除,从而得到完整的货架。
在本实施例中,通过对各层的货架区域进行筛选和组合得到完整的货架区域解决将低存货的货架错误识别为过道的问题,从而提高三维重建的精度。
步骤S214,基于墙面区域和完整的货架区域进行三维重建,得到三维重建图像。
具体地,当得到完整地货架区域之后,即可根据完整的货架区域和之前识别得到的墙面区域进行图像绘制处理并生成实景图像得到三维重建图像。
上述三维重建方法,将深度相机对重建场景采集的深度视频进行点云配准得到重建场景的完整点云,将完整点云进行坐标校正得到校正点云,进而沿竖直方向将校正点云分割成多层厚度相同高度不同的点云切片,分别对各层点云切片进行识别得到货架区域和墙面区域后,对各层的货架区域进行筛选和组合得到完整的货架区域,对完整的货架区域和墙面区域重建得到三维重建图像。该方法一方面通过坐标校正防止点云倾斜带来的影响,另一方面通过将处于不同高度点云切片对应的货架区域进行筛选和组合,解决将低存货的货架错误识别为过道的问题,从而提高三维重建的精度。
在一个实施例中,如图6所示,步骤S206之后,步骤S208之前还包括:
步骤S207,从校正点云中过滤掉重建场景中地面的点云数据,得到过滤后的校正点云。
具体地,通过三维平面检测从校正点云中确定属于地面的点云数据并过滤去除,得到最终的校正点云。三维平面检测通常会检测出重建场景中的最大平面,仓库中的最大平面通常为地面和天花板。而在本实施例中只检测出地面是因为在拍摄时天花板距离较远,因此天花板容易产生数据丢失和变形,导致在三维平面检测结果中表现为离散的小平面,所有最终检测到的最大平面为地面。
在一个实施例中,从校正点云中过滤掉重建场景中地面的点云数据,得到过滤后的校正点云具体包括:对校正点云进行三维平面检测,确定重建场景中的地面;根据地面的法向量方向坐标过滤掉地面对应的点云数据,得到过滤后的校正点云。
具体地,三维平面检测采用RANSAC(Random Sample Consensus,随机抽样一致)算法进行。通过RANSAC算法对校正点云进行三维平面检测,从校正点云中确定地面。然后,将地面的法向量方向设定为Z向,即通过Z向坐标将地面对应的点云数据从校正点云中过滤去掉。例如,由于地面通常为最底层部分,其对应的Z坐标通常较小。因此,通过Z坐标过滤地面即过滤Z坐标<0.1的部分。本实施例中,通过三维平面检测到地面,并用高度过滤方法过滤掉地面,能够去除地面上杂物产生干扰的问题。
在一个实施例中,步骤S204,基于各深度视频进行点云配准,得到重建场景的完整点云,包括:
S1,分别对各深度视频分别进行抽帧,得到各深度视频对应的帧序列。
S2,分别对各帧序列中的帧进行点云配准,得到各深度视频对应的局部点云。
具体地,当分别对各深度视频进行局部的点云配准时,首先对深度视频进行抽帧,通过固定的抽帧阈值进行抽帧。例如,假设固定的抽帧阈值为1秒3帧,当深度视频的拍摄帧率为30帧每秒,抽帧得到每秒3帧。当深度视频一共10秒时,抽帧得到的帧序列中就一共包括30帧图像。然后,抽帧得到的这30帧图像按照时间先后顺序组成帧序列。将帧序列中各帧图像进行点云配准,得到对应深度视频的局部点云。
在一个实施例中,分别对各帧序列中的帧进行点云配准,得到各深度视频对应的局部点云,包括:将帧序列中的第一帧与第二帧进行点云配准,得到局部点云;将局部点云作为待配准点云;获取帧序列中未进行过点云配准且排序第一的帧作为当前帧;将当前帧与待配准点云进行点云配准,得到新的局部点云;返回将局部点云作为待配准点云的步骤,直至帧序列中的每一帧都完成点云配准;获取最后一次点云配准得到的局部点云作为深度视频的局部点云。
具体地,帧序列中所有帧都进行坐标转换得到对应的点云数据。将第一帧对应的点云数据与第二帧对应的点云数据进行点云配准,得到局部点云1。将局部点云1作为待配准点云。获取帧序列中未进行过点云配准且排序第一的帧作为当前帧,即帧序列中的第三帧。将第三帧对应的点云数据与待配准点云(此时为局部点云1)进行点云配准,得到局部点云2。由此开始循环,返回将局部点云作为待配准点云的步骤,即将局部点云2作为待配准点云。获取帧序列中未进行过点云配准且排序第一的帧作为当前帧,即帧序列中的第四帧。将第四帧对应的点云数据与待配准点云(此时为局部点云2)进行点云配准,得到局部点云3,直到帧序列中所有帧都进行过点云配准。获取最后一次点云配准得到的局部点云作为深度视频的局部点云。简单来说就是第一帧与第二帧点云配准得到局部点云1,局部点云1与第三帧点云配准得到局部点云2,局部点云2与第四帧点云配准得到局部点云3,以此类推直至帧序列中的所有帧都配准结束,得到本次深度视频的局部点云n-1,n为帧序列中的帧总数。
本实施例中,帧序列中各帧之间进行点云配准可采用ORB-SLAM(Oriented Fast(Features from accelerated segment test,加速分割测试特征)and rotated BRIEF(Binary Robust Independent Elementary Features,二进制鲁棒独立成分特征)-Simultaneous Localization and Mapping,基于定向二进制简单描述符的同步定位与地图构建)算法,并通过回路检测消除单次拍摄区域中深度相机产生的累积误差进行。
S3,获取惯性测量单元采集的与各深度视频对应的位置数据。
其中,位置数据是终端的惯性测量单元(Inertial Measurement Unit,IMU)采集的数据,位置数据可以理解为位置坐标。
具体的,当得到各个深度视频的局部点云之后,终端获取IMU采集的与各深度视频对应的位置数据。可以理解为,当终端控制连接的深度相机采集深度视频时,同时通过自身的惯性测量单元采集当前拍摄时的位置坐标。也就是说,每一次拍摄深度视频时都通过IMU采集拍摄时对应的位置坐标。
S4,根据位置数据将各深度视频的局部点云进行拼接,得到重建场景的完整点云。
本实施例的拼接可采用ICP(Iterative Closest Point,迭代就近点算法)算法。具体的,从惯性测量单元的位置数据中获取每次拍摄时的起始位置坐标,即每个深度视频拍摄的起始位置坐标。将起始位置坐标作为ICP算法拼接的初始位置,进而求解相邻两个深度视频对应的两个局部点云之间的坐标变换矩阵。然后,根据坐标变换矩阵将相邻两个深度视频对应的局部点云统一到同一个坐标系下后,在根据初始位置进行拼接。同理,将所有相邻的局部点云进行拼接,直至所有的局部点云完成拼接得到完整点云。
在本实施例中,通过结合惯性测量单元采集的时间对应的位置数据进行拼接,能够解决深度相机因拍摄范围的限制而产生较大的累积误差问题。
应该理解的是,虽然图2、5-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、5-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种三维重建装置,包括:获取模块702、匹配模块704、校正模块706、分割模块708、识别模块710、筛选组合模块712和重建模块714,其中:
获取模块702,用于获取深度相机对重建场景采集的多个深度视频。
配准模块704,用于基于各深度视频进行点云配准,得到重建场景的完整点云。
校正模块706,用于将完整点云进行坐标校正,得到校正点云。
分割模块708,用于沿竖直方向分割校正点云,得到多层厚度相同且高度不同的点云切片。
识别模块710,用于分别对各层点云切片进行识别,得到各层点云切片的货架区域和墙面区域。
筛选组合模块712,用于将各层点云切片的货架区域进行筛选和组合,得到完整的货架区域。
重建模块714,用于基于墙面区域和完整的货架区域进行三维重建,得到三维重建图像。
在一个实施例中,三维重建装置还包括过滤模块,用于从校正点云中过滤掉重建场景中地面的点云数据,得到过滤后的校正点云。
在一个实施例中,过滤模块还用于对校正点云进行三维平面检测,确定重建场景中的地面;根据地面的法向量方向坐标过滤掉地面对应的点云数据,得到过滤后的校正点云。
在一个实施例中,配准模块704还用于分别对各深度视频分别进行抽帧,得到各深度视频对应的帧序列;分别对各帧序列中的帧进行点云配准,得到各深度视频对应的局部点云;获取惯性测量单元采集的与各深度视频对应的位置数据;根据位置数据将各深度视频的局部点云进行拼接,得到重建场景的完整点云。
在一个实施例中,配准模块704还用于将帧序列中的第一帧与第二帧进行点云配准,得到局部点云;将局部点云作为待配准点云;获取帧序列中未进行过点云配准且排序第一的帧作为当前帧;将当前帧与待配准点云进行点云配准,得到新的局部点云;返回将局部点云作为待配准点云的步骤,直至帧序列中的每一帧都完成点云配准;获取最后一次点云配准得到的局部点云作为深度视频的局部点云。
在一个实施例中,筛选组合模块712还用于剔除处于底层的货架区域,得到剩余货架区域;分别查询各剩余货架区域中存在交集的货架区域并计算交集率;根据交集率从各剩余货架区域中选取满足要求的货架区域,得到筛选货架区域;查询筛选货架区域中有交集的货架区域并分为一组;计算各组的最小集合凸包,得到完整的货架区域。
在一个实施例中,校正模块706还用于将重建场景的完整点云进行二维投影,得到完整点云的二维投影;对完整点云的二维投影进行主成分分析,确定重建场景中地面和货架的旋转矩阵;根据各旋转矩阵对完整点云进行坐标校正,得到校正点云。
关于三维重建装置的具体限定可以参见上文中对于三维重建方法的限定,在此不再赘述。上述三维重建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种三维重建方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取深度相机对重建场景采集的多个深度视频;
基于各深度视频进行点云配准,得到重建场景的完整点云;
将完整点云进行坐标校正,得到校正点云;
沿竖直方向分割校正点云,得到多层厚度相同且高度不同的点云切片;
分别对各层点云切片进行识别,得到各层点云切片的货架区域和墙面区域;
将各层点云切片的货架区域进行筛选和组合,得到完整的货架区域;
基于墙面区域和完整的货架区域进行三维重建,得到三维重建图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从校正点云中过滤掉重建场景中地面的点云数据,得到过滤后的校正点云。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对校正点云进行三维平面检测,确定重建场景中的地面;根据地面的法向量方向坐标过滤掉地面对应的点云数据,得到过滤后的校正点云。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:分别对各深度视频分别进行抽帧,得到各深度视频对应的帧序列;分别对各帧序列中的帧进行点云配准,得到各深度视频对应的局部点云;获取惯性测量单元采集的与各深度视频对应的位置数据;根据位置数据将各深度视频的局部点云进行拼接,得到重建场景的完整点云。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将帧序列中的第一帧与第二帧进行点云配准,得到局部点云;将局部点云作为待配准点云;获取帧序列中未进行过点云配准且排序第一的帧作为当前帧;将当前帧与待配准点云进行点云配准,得到新的局部点云;返回将局部点云作为待配准点云的步骤,直至帧序列中的每一帧都完成点云配准;获取最后一次点云配准得到的局部点云作为深度视频的局部点云。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:剔除处于底层的货架区域,得到剩余货架区域;分别查询各剩余货架区域中存在交集的货架区域并计算交集率;根据交集率从各剩余货架区域中选取满足要求的货架区域,得到筛选货架区域;查询筛选货架区域中有交集的货架区域并分为一组;计算各组的最小集合凸包,得到完整的货架区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将重建场景的完整点云进行二维投影,得到完整点云的二维投影;对完整点云的二维投影进行主成分分析,确定重建场景中地面和货架的旋转矩阵;根据各旋转矩阵对完整点云进行坐标校正,得到校正点云。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取深度相机对重建场景采集的多个深度视频;
基于各深度视频进行点云配准,得到重建场景的完整点云;
将完整点云进行坐标校正,得到校正点云;
沿竖直方向分割校正点云,得到多层厚度相同且高度不同的点云切片;
分别对各层点云切片进行识别,得到各层点云切片的货架区域和墙面区域;
将各层点云切片的货架区域进行筛选和组合,得到完整的货架区域;
基于墙面区域和完整的货架区域进行三维重建,得到三维重建图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从校正点云中过滤掉重建场景中地面的点云数据,得到过滤后的校正点云。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对校正点云进行三维平面检测,确定重建场景中的地面;根据地面的法向量方向坐标过滤掉地面对应的点云数据,得到过滤后的校正点云。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:分别对各深度视频分别进行抽帧,得到各深度视频对应的帧序列;分别对各帧序列中的帧进行点云配准,得到各深度视频对应的局部点云;获取惯性测量单元采集的与各深度视频对应的位置数据;根据位置数据将各深度视频的局部点云进行拼接,得到重建场景的完整点云。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将帧序列中的第一帧与第二帧进行点云配准,得到局部点云;将局部点云作为待配准点云;获取帧序列中未进行过点云配准且排序第一的帧作为当前帧;将当前帧与待配准点云进行点云配准,得到新的局部点云;返回将局部点云作为待配准点云的步骤,直至帧序列中的每一帧都完成点云配准;获取最后一次点云配准得到的局部点云作为深度视频的局部点云。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:剔除处于底层的货架区域,得到剩余货架区域;分别查询各剩余货架区域中存在交集的货架区域并计算交集率;根据交集率从各剩余货架区域中选取满足要求的货架区域,得到筛选货架区域;查询筛选货架区域中有交集的货架区域并分为一组;计算各组的最小集合凸包,得到完整的货架区域。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将重建场景的完整点云进行二维投影,得到完整点云的二维投影;对完整点云的二维投影进行主成分分析,确定重建场景中地面和货架的旋转矩阵;根据各旋转矩阵对完整点云进行坐标校正,得到校正点云。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种三维重建方法,所述方法包括:
获取深度相机对重建场景采集的多个深度视频;
基于各所述深度视频进行点云配准,得到所述重建场景的完整点云;
将所述完整点云进行坐标校正,得到校正点云;
沿竖直方向分割所述校正点云,得到多层厚度相同且高度不同的点云切片;
分别对各层所述点云切片进行识别,得到各层所述点云切片的货架区域和墙面区域;
剔除处于底层的货架区域,得到剩余货架区域;查询各所述剩余货架区域中存在交集的货架区域并计算交集率;根据所述交集率从各所述剩余货架区域中选取满足要求的货架区域,得到筛选货架区域;查询所述筛选货架区域中有交集的货架区域并分为一组;计算各组的最小集合凸包,得到完整的货架区域;
基于所述墙面区域和所述完整的货架区域进行三维重建,得到三维重建图像。
2.根据权利要求1所述的方法,其特征在于,得到校正点云之后,还包括:
从所述校正点云中过滤掉所述重建场景中地面的点云数据,得到过滤后的校正点云。
3.根据权利要求2所述的方法,其特征在于,所述从所述校正点云中过滤掉所述重建场景中地面的点云数据,得到过滤后的校正点云,包括:
对所述校正点云进行三维平面检测,确定所述重建场景中的地面;
根据所述地面的法向量方向坐标过滤掉所述地面对应的点云数据,得到过滤后的校正点云。
4.根据权利要求1所述的方法,其特征在于,所述基于各所述深度视频进行点云配准,得到所述重建场景的完整点云,包括:
分别对各所述深度视频分别进行抽帧,得到各所述深度视频对应的帧序列;
分别对各所述帧序列中的帧进行点云配准,得到各所述深度视频对应的局部点云;
获取惯性测量单元采集的与各所述深度视频对应的位置数据;
根据位置数据将各所述深度视频的局部点云进行拼接,得到所述重建场景的完整点云。
5.根据权利要求4所述的方法,其特征在于,所述分别对各所述帧序列中的帧进行点云配准,得到各所述深度视频对应的局部点云,包括:
将所述帧序列中的第一帧与第二帧进行点云配准,得到局部点云;
将所述局部点云作为待配准点云;
获取所述帧序列中未进行过点云配准且排序第一的帧作为当前帧;
将所述当前帧与所述待配准点云进行点云配准,得到新的局部点云;
返回将所述局部点云作为待配准点云的步骤,直至所述帧序列中的每一帧都完成点云配准;
获取最后一次点云配准得到的局部点云作为所述深度视频的局部点云。
6.根据权利要求1所述的方法,其特征在于,所述将所述完整点云进行坐标校正,得到校正点云,包括:
将所述重建场景的完整点云进行二维投影,得到所述完整点云的二维投影;
对所述完整点云的二维投影进行主成分分析,确定所述重建场景中地面和货架的旋转矩阵;
根据各所述旋转矩阵对所述完整点云进行坐标校正,得到校正点云。
7.一种三维重建装置,其特征在于,所述装置包括:
获取模块,用于获取深度相机对重建场景采集的多个深度视频;
配准模块,用于基于各所述深度视频进行点云配准,得到所述重建场景的完整点云;
校正模块,用于将所述完整点云进行坐标校正,得到校正点云;
分割模块,用于沿竖直方向分割所述校正点云,得到多层厚度相同且高度不同的点云切片;
识别模块,用于分别对各层所述点云切片进行识别,得到各层所述点云切片的货架区域和墙面区域;
筛选组合模块,用于剔除处于底层的货架区域,得到剩余货架区域;查询各所述剩余货架区域中存在交集的货架区域并计算交集率;根据所述交集率从各所述剩余货架区域中选取满足要求的货架区域,得到筛选货架区域;查询所述筛选货架区域中有交集的货架区域并分为一组;计算各组的最小集合凸包,得到完整的货架区域;
重建模块,用于基于所述墙面区域和所述完整的货架区域进行三维重建,得到三维重建图像。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
过滤模块,用于从所述校正点云中过滤掉所述重建场景中地面的点云数据,得到过滤后的校正点云。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202010149601.4A 2020-03-06 2020-03-06 三维重建方法、装置、计算机设备和存储介质 Active CN113362441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010149601.4A CN113362441B (zh) 2020-03-06 2020-03-06 三维重建方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010149601.4A CN113362441B (zh) 2020-03-06 2020-03-06 三维重建方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113362441A CN113362441A (zh) 2021-09-07
CN113362441B true CN113362441B (zh) 2024-08-20

Family

ID=77523926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010149601.4A Active CN113362441B (zh) 2020-03-06 2020-03-06 三维重建方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113362441B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113888612A (zh) * 2021-09-18 2022-01-04 北京市农林科学院信息技术研究中心 动物点云多视角实时采集与3d重建方法、装置及系统
CN113838116B (zh) * 2021-09-29 2023-01-31 北京有竹居网络技术有限公司 确定目标视图的方法、装置、电子设备及存储介质
CN116030212B (zh) * 2023-03-28 2023-06-02 北京集度科技有限公司 一种建图方法、设备、车辆及存储介质
CN116452656B (zh) * 2023-06-16 2023-11-28 星猿哲科技(深圳)有限公司 箱体内物体的整齐摆放方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106340059A (zh) * 2016-08-25 2017-01-18 上海工程技术大学 一种基于多体感采集设备三维建模的自动拼接方法
CN107742318A (zh) * 2017-09-28 2018-02-27 江门市金佣网有限公司 商品实时三维成像方法及基于实时三维展示的交易系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547838B2 (en) * 2013-11-06 2017-01-17 Oracle International Corporation Automated generation of a three-dimensional space representation and planogram verification
GB2550567A (en) * 2016-05-20 2017-11-29 Nokia Technologies Oy Point Cloud Matching Method
US10282639B2 (en) * 2016-11-29 2019-05-07 Sap Se Object detection in image data using depth segmentation
CN108171748B (zh) * 2018-01-23 2021-12-07 哈工大机器人(合肥)国际创新研究院 一种面向机器人智能抓取应用的视觉识别与定位方法
US10740911B2 (en) * 2018-04-05 2020-08-11 Symbol Technologies, Llc Method, system and apparatus for correcting translucency artifacts in data representing a support structure
CN110120010B (zh) * 2019-04-12 2023-02-07 嘉兴恒创电力集团有限公司博创物资分公司 一种基于相机图像拼接的立体货架视觉盘点方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106340059A (zh) * 2016-08-25 2017-01-18 上海工程技术大学 一种基于多体感采集设备三维建模的自动拼接方法
CN107742318A (zh) * 2017-09-28 2018-02-27 江门市金佣网有限公司 商品实时三维成像方法及基于实时三维展示的交易系统

Also Published As

Publication number Publication date
CN113362441A (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
CN113362441B (zh) 三维重建方法、装置、计算机设备和存储介质
CN107430686B (zh) 用于移动设备定位的区域描述文件的众包创建和更新
CN102640185B (zh) 图像序列中对象实时表示的混合跟踪的方法和设备
US11842514B1 (en) Determining a pose of an object from rgb-d images
CN107301402B (zh) 一种现实场景关键帧的确定方法、装置、介质及设备
CN105243395B (zh) 一种人体图像比对方法和装置
CN110135455A (zh) 影像匹配方法、装置及计算机可读存储介质
CN107329962B (zh) 图像检索数据库生成方法、增强现实的方法及装置
CN110648363B (zh) 相机姿态确定方法、装置、存储介质及电子设备
CN112734747B (zh) 一种目标检测方法、装置、电子设备和存储介质
JP2019114103A (ja) 物体認識処理装置、物体認識処理方法及びプログラム
Wientapper et al. Composing the feature map retrieval process for robust and ready-to-use monocular tracking
CN108229281B (zh) 神经网络的生成方法和人脸检测方法、装置及电子设备
CN112070035A (zh) 基于视频流的目标跟踪方法、装置及存储介质
CN115049731B (zh) 一种基于双目摄像头的视觉建图和定位方法
CN116051736A (zh) 一种三维重建方法、装置、边缘设备和存储介质
CN111524086A (zh) 运动物体检测装置、运动物体检测方法、存储介质
CN113298871B (zh) 地图生成方法、定位方法及其系统、计算机可读存储介质
KR101039298B1 (ko) 다수의 특징점 기반 마커를 인식하기 위한 순차 검색 방법 및 이를 이용한 증강현실 구현 방법
JP6132996B1 (ja) 画像処理装置,画像処理方法,画像処理プログラム
CN107341151B (zh) 图像检索数据库生成方法、增强现实的方法及装置
CN116468753A (zh) 目标追踪方法、装置、设备、存储介质和程序产品
CN115294358A (zh) 特征点提取方法、装置、计算机设备及可读存储介质
US20200013189A1 (en) Image indexing and retrieval using local image patches for object three-dimensional pose estimation
US9361540B2 (en) Fast image processing for recognition objectives system

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
GR01 Patent grant
GR01 Patent grant