CN103942832B - 一种基于在线结构分析的室内场景实时重建方法 - Google Patents
一种基于在线结构分析的室内场景实时重建方法 Download PDFInfo
- Publication number
- CN103942832B CN103942832B CN201410146583.9A CN201410146583A CN103942832B CN 103942832 B CN103942832 B CN 103942832B CN 201410146583 A CN201410146583 A CN 201410146583A CN 103942832 B CN103942832 B CN 103942832B
- Authority
- CN
- China
- Prior art keywords
- plane
- pixel
- depth map
- voxel
- labelling
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012916 structural analysis Methods 0.000 title claims abstract description 12
- 238000002372 labelling Methods 0.000 claims abstract description 26
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 claims description 6
- 230000008439 repair process Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 239000000284 extract Substances 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 6
- 230000007423 decrease Effects 0.000 abstract description 2
- 238000010223 real-time analysis Methods 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 230000009466 transformation Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于在线结构分析的室内场景实时重建方法,该方法采用深度相机作为输入,对每一帧输入的深度图进行逐像素的标记,将深度图中的各个平面及物体分别标记出来,利用标记将对应的平面和物体进行更新,然后合成新的深度图用于下一帧摄像机的位置的计算;本发明通过结构信息对KinectFusion进行了增强,能够将其中的平面和物体进行分割,通过实时分析,对结构信息进行更新,使得用户能够操纵整个扫描过程,减少了扫描的工作量;通过对平面结构,平面之间的相互关系,重复物体进行分析,能够进一步提高系统的稳定性,并使得结果更加精确。
Description
技术领域
本发明设计室内场景在线分析与实时重建技术,尤其涉及一种基于在线结构分析的室内场景实时重建方法。
背景技术
本发明相关的研究背景简述如下:
1.基于深度相机的3D场景恢复
深度相机的一大优势就是其实时获取深度图像的能力,因此带动了深度相机在3D场景恢复中应用的普及。有代表性的算法是KinectFusion,通过GPU加速将深度图实时累加到均匀体素当中,并通过体素进行摄像机位置计算(Izadi,Shahram,etal."KinectFusion:real-time3Dreconstructionandinteractionusingamovingdepthcamera."Proceedingsofthe24thannualACMsymposiumonUserinterfacesoftwareandtechnology.ACM,2011)。为了使恢复的场景不受体素尺寸的限制,可以采用移动体素的方法将不处于工作区域的体素换出(Roth,Henry,andMarsetteVona."MovingVolumeKinectFusion."BMVC.2012.;Whelan,Thomas,etal."Robusttrackingforreal-timedenseRGB-DmappingwithKintinuous."(2012).)。还可以通过建立空间层次结构(Chen,Jiawen,DennisBautembach,andShahramIzadi."Scalablereal-timevolumetricsurfacereconstruction."ACMTransactionsonGraphics(TOG)32.4(2013):113.),或者空间哈希表实现大空间的存储(,M.,,M.,Izadi,S.,&Stamminger,M.(2013).Real-time3Dreconstructionatscaleusingvoxelhashing.ACMTransactionsonGraphics(TOG),32(6),169.)。
尽管这些算法能够实时扫描高精度的3D数据,然而仍然受到深度相机输出噪声很大的影响,其精度远不足以主动形成封闭回路。因此便出现了离线计算的方法,对整个摄像机轨迹进行全局优化(Zhou,Q.Y.,&Koltun,V.(2013).Densescenereconstructionwithpointsofinterest.ACMTransactionsonGraphics(TOG),32(4),112.)。还有一种在扫描场景中进行回路检测的方法(Du,H.,Henry,P.,Ren,X.,Cheng,M.,Goldman,D.B.,Seitz,S.M.,&Fox,D.(2011,September).Interactive3Dmodelingofindoorenvironmentswithaconsumerdepthcamera.InProceedingsofthe13thinternationalconferenceonUbiquitouscomputing(pp.75-84).ACM.)。这些方法都没有利用结构信息,因此恢复精度依然会受到限制。
2.结构分析
在典型的室内场景中,结构化信息大量存在,比如人造的平面和立方体,平面之间的垂直或平行关系,以及重复出现的物体。这些结构化信息可以帮助3D重建,并提高重建精度。
曼哈顿平面假设已经被用于基于图像的室内场景深度恢复(Furukawa,Y.,Curless,B.,Seitz,S.M.,&Szeliski,R.(2009,June).Manhattan-worldstereo.InComputerVisionandPatternRecognition,2009.CVPR2009.IEEEConferenceon(pp.1422-1429).IEEE.),还被用于室内场景3维布局,比如计算房间和方块形物体的形状和位置(Lee,D.C.,Hebert,M.,&Kanade,T.(2009,June).Geometricreasoningforsingleimagestructurerecovery.InComputerVisionandPatternRecognition,2009.CVPR2009.IEEEConferenceon(pp.2136-2143).IEEE;Lee,D.C.,Gupta,A.,Hebert,M.,&Kanade,T.(2010,November).EstimatingSpatialLayoutofRoomsusingVolumetricReasoningaboutObjectsandSurfaces.InNIPS(Vol.1,No.2,p.3);DelPero,L.,Bowdish,J.,Fried,D.,Kermgard,B.,Hartley,E.,&Barnard,K.(2012,June).Bayesiangeometricmodelingofindoorscenes.InComputerVisionandPatternRecognition(CVPR),2012IEEEConferenceon(pp.2719-2726).IEEE.)。在室外场景恢复中,可以从多视角利用图分割方法恢复出平面(Tomono,M.(2012,May).Image-basedplanarreconstructionfordenseroboticmapping.InRoboticsandAutomation(ICRA),2012IEEEInternationalConferenceon(pp.3005-3012).IEEE.)。这样可以很好地分割出室外平面物体,例如道路,人行道以及建筑平面。然而这些方法的输入都是图像,并且都是非实时的应用。
平面检测已经被用于减小摄像机追踪的误差,并用于物体层次的场景分析(Taguchi,Y.,Jian,Y.D.,Ramalingam,S.,&Feng,C.Point-PlaneSLAMforHand-Held3DSensors;Ataer-Cansizoglu,E.,Taguchi,Y.,Ramalingam,S.,&Garaas,T.(2013).TrackinganRGB-DCameraUsingPointsandPlanes;Dou,M.,Guan,L.,Frahm,J.M.,&Fuchs,H.(2013,January).Exploringhigh-levelplaneprimitivesforindoor3dreconstructionwithahand-heldRGB-Dcamera.InComputerVision-ACCV2012Workshops(pp.94-108).SpringerBerlinHeidelberg.)。但是这些都是基于点云的表达,无法直接集成到KinectFusion的框架中去,因此也无法通过体素来对深度图进行滤波。
由于室内场景相互遮挡非常严重,并且输入的深度图存在很大的噪声,直接恢复高精度的3D模型非常困难,因此出现了物体层次的结构分析,将采集的深度与模型库中的数据进行匹配,从而恢复出高精度的模型(Shao,T.,Xu,W.,Zhou,K.,Wang,J.,Li,D.,&Guo,B.(2012).AninteractiveapproachtosemanticmodelingofindoorsceneswithanRGBDcamera.ACMTransactionsonGraphics(TOG),31(6),136;Nan,L.,Xie,K.,&Sharf,A.(2012).Asearch-classifyapproachforclutteredindoorsceneunderstanding.ACMTransactionsonGraphics(TOG),31(6),137.)。重复物体也能够被检测出来,用于提高大场景的恢复速度(Kim,Y.M.,Mitra,N.J.,Yan,D.M.,&Guibas,L.(2012).Acquiring3Dindoorenvironmentswithvariabilityandrepetition.ACMTransactionsonGraphics(TOG),31(6),138.)。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于在线结构分析的室内场景实时重建方法。
本发明的目的是通过以下技术方案来实现的:一种基于在线结构分析的室内场景实时重建方法,包括如下步骤:
(1)体数据融合:首先根据上一帧深度图和摄像机位置,用ICP计算当前帧的摄像机位置,将当前帧深度图融合到体数据中去,并从当前帧的摄像机位置重新计算当前视点下体素隐式曲面的深度图,并从体数据中读出每一个体素的ID值,这个ID包含每一个体素的对应的平面或物体;
(2)平面像素标记:对每一个像素,根据从体数据中读出的ID值,标记出已知平面,然后从未标记为平面的像素中识别出新的平面并进行标记;
(3)物体像素标记:对所有还没有被标记为平面的像素,根据从体数据中读出的ID值,标记出已知物体,然后从未标记为平面或物体的像素中识别出新的物体并进行标记;
(4)平面边界点标记:找出所有平面的边界点,记录下这些边界点对应的平面及空间坐标;
(5)场景数据更新:根据从当前帧标记出的平面像素,以及平面的边界点,更新平面方程及平面的边界,或创建新的平面;根据平面的相互关系,对平面进一步修整;根据从当前帧标记出的物体像素,更新物体的包围盒,并搜索重复物体;最后将当前帧所有的标记都写入体素中,并根据标记合成出新的深度图,把合成的深度图用于下一帧摄像机位置计算。
本发明的有益效果是,通过结构信息对KinectFusion进行了增强,能够将其中的平面和物体进行分割,通过实时分析对结构信息进行更新,使得用户能够操纵整个扫描过程,减少了扫描的工作量。通过对平面结构,平面之间的相互关系,重复物体进行分析,可进一步提高系统的稳定性,并使得结果更加精确。
附图说明
图1是本发明的算法流程图;
图2是本发明的系统界面图,图中,(a)为当前视点体素深度图,(b)为当前视点重建的模型,(c)为用户观测视点重建的模型;
图3是本发明对深度图进行标记的过程,图中,(a)为观测到的深度图,(b)为raycasting直接得到的ID图,(c)为平面标记出之后的ID图,(d)为物体标记出之后的ID图;
图4是用KinectFusion扫描房间的结果图;
图5是本发明扫描图4所示的房间的结果图;
图6是本发明扫描一个140m2房间的结果图。
具体实施方式
本发明的核心是通过深度相机,在深度图上标记出平面和物体,进而恢复出3D室内场景。本发明一种基于在线结构分析的室内场景实时重建方法,包括如下步骤:
1.体数据融合:首先根据上一帧深度图和摄像机位置,用ICP计算当前帧的摄像机位置,将当前帧深度图融合到体数据中去,并从当前帧的摄像机位置重新计算当前视点下体素隐式曲面的深度图,并从体数据中读出每一个体素的ID值,这个ID包含每一个体素的对应的平面或物体。
本发明对采用空间哈希结构的KinectFusion进行了扩展。首先将当前采集到的深度图融入体素中,然后从体数据中读出滤波后的深度图,并读出对应体素的ID值。体数据采用空间哈希结构来存储,每个体素包含一个16位半浮点数表示的距离值,一个16位短整数表示的ID,三个字符表示的颜色,一个字符表示的权重,每个体素共8个字节。8*8*8个体素构成一块,每一块用一个哈希值来索引,只有靠近物体表面的块,其对应的空间才会被申请,并将这一块的索引插入哈希表。
每当获取一张新的深度图,首先计算当前这一帧摄像机的坐标。分别从当前深度图和上一帧合成的深度图计算出当前帧的点云和上一帧的点云,通过ICP计算出当前帧相对于上一帧的变换矩阵,将这一变换矩阵乘以上一帧的摄像机变换矩阵,即可得到当前帧的摄像机变换矩阵,即摄像机坐标。上一帧摄像机变换矩阵作为当前帧摄像机变换矩阵的初始估计。将当前帧点云用估计出的变换矩阵投影到屏幕上,投影像素对应点云中的点即为这一点的对应点对。ICP对应点对的权重根据像素的类型而不同,平面像素的权重大于物体像素的权重,而且平面越大,权重越大。第一帧的摄像机变换矩阵设为单位矩阵。
计算出当前帧摄像机坐标之后,根据深度图对体素进行更新。对于每一个落在摄像机视锥中的体素,如果体素中心点投影到屏幕上的深度与当前获取的深度图对应像素的深度值之差小于一个阈值,则将该体素存储的距离值及权重,用在线平均法进行更新。
最后计算当前摄像机坐标下,体素隐式曲面表示的深度图。从摄像机原点向每一个像素的方向发射射线,利用raycasting的方法找出射线与隐式曲面的交点,每一点的深度构成体素中隐式曲面的深度图。根据交点的位置计算出包含该交点体素的编号,并从体素中读出ID,构成一张ID图。
2.平面像素标记:对每一个像素,根据从体数据中读出的ID值,标记出已知平面,然后从未标记为平面的像素中识别出新的平面并进行标记。
2.1已知平面的标记
在这一步中,我们判断ID图上的每个像素是否属于一个已知平面。由于一部分像素已经在ID图中被标记出来,因此方法就是从已经被标记好的像素开始扩散,对尚未标记的像素进行标记。另一方面,上一步中标记的像素受体素精度影响并不能够保证完全正确,因此对于像素距离平面超过一定阈值的像素,需要对其重新标记。
为了利用已知的平面信息,我们将已经检测出的平面的边界进行扩大,并对其光栅化,得到当前摄像机已知平面的深度图及ID图。具体来说,对于一个已知平面,首先将其二维的包围盒沿着主轴方向扩大,然后将平面以细分网格的形式光栅化。对于面积超过一定值的平面,如地面或墙面,包围盒扩大40cm,其他平面扩大4cm。
接下来通过两次扫描,对尚未进行标记的像素进行标记。第一次扫描,比较每个像素raycasting得到的深度与光栅化得到的深度。如果两幅深度图上同一像素深度值只差小于一个阈值,则进一步检测raycasting得到的点到平面的距离以及raycasting得到的这一点法线方向与平面法向的角度差。如果它们都小于一定的阈值,则这一像素的ID被设为光栅化的ID图对应像素的ID。这一次扫描迅速标记出了属于已知平面的大片区域,并且区域之间在图像上可以不连续。第二次扫描通过广度优先搜索扩大第一次扫描中已经标记出的平面范围。每个像素能够被标记的条件与第一次扫描相同,只是法向夹角的阈值更大,以适应深度图的噪声。第二次扫描使得被标记的区域扩大,但区域之间在图像上保持连续。
2.2新平面的标记
当已知平面都被标记出来之后,再从还未被标记的像素中检测新的平面。这一过程包括两步。第一步通过相邻的四个像素,计算每一个像素的平均曲率。如果计算出的曲率大于一个阈值,或者四个相邻像素中有任何一个不是正常深度的像素,则这个像素被标记为“分界”像素。
第二步在尚未标记的像素中随机选择一个种子像素,然后通过四邻接的深度优先搜索填充。如果一个像素的相邻像素尚未被标记,并且这一像素的法向与平面法向角度差小于一个阈值,则这个相邻像素也被加入平面中来。平面的初始法向设为随机选择像素的法向,每有新的像素加入到平面中来,平面法向就被更新为这些像素的平均法向。当没有更多的像素能够被加入到平面中,搜索才结束。如果被标记为这个平面的像素个数超过了一个阈值,则创建一个新的平面,并且将这些像素设为这个新平面的ID。否则这些像素被认为是某个物体的一部分,标记为特殊值。
重复这两步,直到已经没有更多的种子像素能够被选择。一个新的平面可以从已经被标记为物体的像素上被检测出来。如果扫描刚开始只看到了平面的边缘,这时观测到的面积还达不到构成平面的阈值,这是平面就会被当做物体。当从物体上检测出平面的现象发生时,这个物体将会被移除,待平面被标记出来之后,剩余部分再重新标记为物体。
3.物体像素标记:对所有还没有被标记为平面的像素,根据从体数据中读出的ID值,标记出已知物体,然后从未标记为平面或物体的像素中识别出新的物体并进行标记。
当平面被标记出来之后,深度图将被分割为许多彼此独立的区域,物体将从这些区域中被标记出来。与标记已知平面类似,从已经被标记为物体的像素出发进行广度搜索。由于物体可以是任意形状,因此只要相邻像素的深度只差小于一定阈值,搜索就可以扩散出去。
当已知平面、新平面、已知物体都被标记出来之后,最后检测新物体。选择一个尚未标记的像素作为种子像素进行填充。填充方法与已知物体的标记相同。如果标记出的像素个数大于一个阈值,则创建一个新的物体,并将这些像素设为该物体的ID,否则将这些像素标记为特殊值。选种子像素然后填充的过程持续,直到没有更多的种子像素能够被选择。
4.平面边界点标记:找出所有平面的边界点,记录下这些边界点对应的平面及空间坐标。
平面边界点位于平面的边缘,用于确定平面的边界。如果一个像素属于一个平面,而这个像素至少一个相邻像素不属于这个平面,并且该相邻像素的深度大于平面在这一像素的深度,则这个像素是平面的边界。将一个平面所有的边界点都标记出来,平面的边界就用这些点来拟合。
5.场景数据更新:根据从当前帧标记出的平面像素,以及平面的边界点,更新平面方程及平面的边界,或创建新的平面。根据平面的相互关系,对平面进一步修整。根据从当前帧标记出的物体像素,更新物体的包围盒,并搜索重复物体。最后将当前帧所有的标记都写入体素中,并根据标记合成出新的深度图,把合成的深度图用于下一帧摄像机位置计算。
5.1平面更新
如果一个平面在当前图像上被标记了出来,就将标记为这个平面的像素所对应的3D点加入到这个平面的点列表中。为了限制存储空间,将平面划分为均匀网格,每个网格中只存储距离该网格中心最近的一个点。当平面的点列表更新之后,利用主元分析(PCA)重新计算平面方程。标记出的平面边界点加入到平面边界点列表中,每个网格中也只存储一个边界点。如果几个平面几乎平行,距离小于一个阈值,并且平面有重叠部分,则这几个平面应当合并为同一个平面。我们合并这些平面的点列表及边界点列表,并且重新计算平面的边界。这些平面在体素中也将使用相同的ID。
5.2平面边界更新
平面边界用四变形来表示,每一条边有三种类型,包围盒类型、剪切类型以及相交类型。对于包围盒类型的边界,重新计算计算平面点列表的包围盒,用心的包围盒替代原来的包围盒边界。对于剪切类型的边界,用到原边界距离小于一定阈值的平面边界点重新拟合直线作为新的边界。对于相交类型的边界,重新计算两平面的交线作为新的边界。
平面边界更新之后,检测边界类型是否有可能发生转换。如果包围盒类型的边界周围分布了很多平面边界点,则将边界类型转换为剪切类型。如果两个平面相交,并且交线距离平面边界小于一个阈值,则将这条边界转换为相交类型。
5.3平面相互关系
根据平面之间的相互位置,将有相互联系的平面组合起来。
如果两个平面法相方向相反,距离小于一个阈值,并且有重叠部分,则这两个平面构成一块平板。将一个平面的点列表和边界点列表投影到另一个平面上并重新计算边界,新计算出来的边界作为平板的边界。平板的厚度是两个平面之间的距离。这两个平面之后都将作为一块平板来显示。
如果两个平面法向方向相同,距离小于一个阈值,重叠区域很少而边界距离很近,则靠前的平面是靠后的平面上的突起,突起的厚度是两个平面之间的距离。靠前的平面之后都将作为一块延伸到后面平面的平板来显示。
如果两个平面相交,并且形状都很接近矩形,夹角为凸90度,则这两个平面将构成一个立方体。将所有具有满足这些条件的平面对聚集在一起,并用聚集在一起的面拟合出立方体。这些面之后都将用这个立方体来显示。
如果两个平面的夹角接近90度,则认为这两个面是相互垂直的,并将其夹角设为90度。如果一个平面的法向与坐标轴很接近,则将这个面的法向设为与坐标轴重合。
5.4物体更新
物体直接在体素中用ID值来表示,只需要更新物体的包围盒。如果几个物体在深度图上相连,就把它们合并为同一个物体,将它们的ID更换为同一个ID,包围盒重新计算。如果用户通过交互操作要抽取某一个物体的面网格,则从体素中将ID值为这个物体的点云抽出来,然后通过Poisson表面重建的办法生成面网格。
5.5重复物体识别
如果当前扫描的物体与之前已经抽出面网格的某个物体形状相同,我们会将这个网格已经存在的物体直接显示在当前物体处,并让用户决定是否将采用这个网格。如果用户对识别结果满意,这个物体将会记录下匹配物体的编号及到匹配物体的旋转矩阵,将匹配成功的物体旋转之后直接显示在当前物体处。匹配通过当前物体在当前视点下的点云,与已经抽取网格的物体的点云做ICP来实现。如果ICP的误差小于一定阈值,则认为匹配成功。
5.6体素ID更新及结构化深度生成
通过raycasting深度图每一像素的深度,计算出每一像素对应体素的位置,将新的ID图每一像素的ID写入对应体素中。如果一个像素标记为平面,则这一像素的深度将被重新计算。计算方法是从摄像机原点往这一像素发射一条射线,计算这条射线与该像素对应平面的交点。这一交点在摄像机中的深度将作为新的深度。结构化的深度图将被用于下一帧摄像机坐标的计算。
实施实例
发明人在一台配备IntelI5-4430中央处理器,NvidiaGeForceGTX760显卡的台式计算机上实现了本发明的实施实例。实践中在普通电脑上可以达到20fps的帧速率。其中35ms用于KinectFusion,场景的在线分析只需要13ms。
发明人扫描了面积从20m2到140m2的多个房间。结果表明,在我们目前的硬件配置上,本发明可以在较短的时间内将整个房间扫描完成,并且可以有效地解决扫描大场景时遇到的精度较差,累积误差严重等问题。
Claims (3)
1.一种基于在线结构分析的室内场景实时重建方法,其特征在于,包括以下步骤:
(1)体数据融合:首先根据上一帧深度图和摄像机位置,用迭代最近点算法ICP计算当前帧的摄像机位置,将当前帧深度图融合到体数据中去,并从当前帧的摄像机位置重新计算当前视点下体素隐式曲面的深度图,并从体数据中读出每一个体素的ID值,这个ID包含每一个体素的对应的平面或物体;
(2)平面像素标记:对每一个像素,根据从体数据中读出的ID值,标记出已知平面,然后从未标记为平面的像素中识别出新的平面并进行标记;
(3)物体像素标记:对所有还没有被标记为平面的像素,根据从体数据中读出的ID值,标记出已知物体,然后从未标记为平面或物体的像素中识别出新的物体并进行标记;
(4)平面边界点标记:找出所有平面的边界点,记录下这些边界点对应的平面及空间坐标;
(5)场景数据更新:根据从当前帧标记出的平面像素,以及平面的边界点,更新平面方程及平面的边界,或创建新的平面;根据平面的相互关系,对平面进一步修整;根据从当前帧标记出的物体像素,更新物体的包围盒,并搜索重复物体;最后将当前帧所有的标记都写入体素中,并根据标记合成出新的深度图,把合成的深度图用于下一帧摄像机位置计算。
2.根据权利要求1所述基于在线结构分析的室内场景实时重建方法,其特征在于,所述步骤(2)包括以下子步骤:
(2.1)已知平面的标记,将已知平面光栅化得到深度图和ID图,对比每一像素光线投射raycasting的深度与光栅化的深度,通过两次扫描标记出已知平面;
(2.2)新平面的标记,首先标记出曲率大于一个阈值的像素,然后对其它尚未标记的像素用种子填充法进行扩散填充,标记出新的平面。
3.根据权利要求1所述基于在线结构分析的室内场景实时重建方法,其特征在于,所述步骤(5)包括以下子步骤:
(5.1)平面更新,将标记为这个平面的像素所对应的3D点加入到这个平面的点列表中,更新平面方程,并检测几个平面是否能够合并为同一个平面;
(5.2)平面边界更新,根据平面边界的类型更新每条边界,并检测边界类型是否有可能发生转换;
(5.3)平面相互关系,根据平面之间的相互位置,将有相互联系的平面组合起来;
(5.4)物体更新,更新物体的包围盒,将深度图上相连的几个物体合并为同一个物体,并根据用户操作抽取物体的面网格;
(5.5)重复物体识别,如果当前扫描的物体与之前已经抽出面网格的某个物体形状相同,则提示用户直接用该网格表示当前物体;
(5.6)体素ID更新及结构化深度生成,将新的ID写入体素,并计算新的深度图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410146583.9A CN103942832B (zh) | 2014-04-11 | 2014-04-11 | 一种基于在线结构分析的室内场景实时重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410146583.9A CN103942832B (zh) | 2014-04-11 | 2014-04-11 | 一种基于在线结构分析的室内场景实时重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942832A CN103942832A (zh) | 2014-07-23 |
CN103942832B true CN103942832B (zh) | 2016-07-06 |
Family
ID=51190482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410146583.9A Active CN103942832B (zh) | 2014-04-11 | 2014-04-11 | 一种基于在线结构分析的室内场景实时重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942832B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9807365B2 (en) * | 2015-12-08 | 2017-10-31 | Mitsubishi Electric Research Laboratories, Inc. | System and method for hybrid simultaneous localization and mapping of 2D and 3D data acquired by sensors from a 3D scene |
CN106067193B (zh) * | 2016-06-06 | 2019-02-19 | 中国人民解放军信息工程大学 | 一种点云数据的体素化方法和体素的遮挡裁剪方法 |
CN107633523B (zh) * | 2016-07-18 | 2021-04-16 | 巧夺天宫(深圳)科技有限公司 | 基于点云的提取建筑特征线方法和系统 |
EP3570253B1 (en) * | 2017-02-17 | 2021-03-17 | SZ DJI Technology Co., Ltd. | Method and device for reconstructing three-dimensional point cloud |
CN107564060A (zh) * | 2017-07-13 | 2018-01-09 | 塔米智能科技(北京)有限公司 | 一种消除slam导航累积误差的方法 |
CN109062211B (zh) * | 2018-08-10 | 2021-12-10 | 远形时空科技(北京)有限公司 | 一种基于slam识别临近空间的方法、装置、系统及存储介质 |
CN109544677B (zh) * | 2018-10-30 | 2020-12-25 | 山东大学 | 基于深度图像关键帧的室内场景主结构重建方法及系统 |
CN109669474B (zh) * | 2018-12-21 | 2022-02-15 | 国网安徽省电力有限公司淮南供电公司 | 基于先验知识的多旋翼无人机自适应悬停位置优化算法 |
CN110276260B (zh) * | 2019-05-22 | 2021-06-08 | 杭州电子科技大学 | 一种基于深度摄像头的商品检测方法 |
CN110490908B (zh) * | 2019-08-26 | 2021-09-21 | 北京华捷艾米科技有限公司 | 一种动态场景下小物体的位姿追踪方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944239A (zh) * | 2009-07-08 | 2011-01-12 | 富士通株式会社 | 三维模型分割方法、装置以及包含该装置的图像处理系统 |
CN102308320A (zh) * | 2009-02-06 | 2012-01-04 | 香港科技大学 | 从图像生成三维模型 |
CN103247075A (zh) * | 2013-05-13 | 2013-08-14 | 北京工业大学 | 基于变分机制的室内环境三维重建方法 |
CN103617603A (zh) * | 2013-12-06 | 2014-03-05 | 南京大学 | 一种三维数字几何网格模型结构的自动修复方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8587583B2 (en) * | 2011-01-31 | 2013-11-19 | Microsoft Corporation | Three-dimensional environment reconstruction |
-
2014
- 2014-04-11 CN CN201410146583.9A patent/CN103942832B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102308320A (zh) * | 2009-02-06 | 2012-01-04 | 香港科技大学 | 从图像生成三维模型 |
CN101944239A (zh) * | 2009-07-08 | 2011-01-12 | 富士通株式会社 | 三维模型分割方法、装置以及包含该装置的图像处理系统 |
CN103247075A (zh) * | 2013-05-13 | 2013-08-14 | 北京工业大学 | 基于变分机制的室内环境三维重建方法 |
CN103617603A (zh) * | 2013-12-06 | 2014-03-05 | 南京大学 | 一种三维数字几何网格模型结构的自动修复方法 |
Non-Patent Citations (6)
Title |
---|
《Image-based Planar Reconstruction for Dense Robotic Mapping》;Masahiro Tomono;《2012 IEEE International Conference on Robotics and Automation》;20120518;全文 * |
《KinectFusion: Realtime 3D Reconstruction and Interaction Using a Moving Depth Camera》;Shahram Izadi等;《UIST"11》;20111019;全文 * |
《Stereo Vision Based Floor Plane Extraction and Camera Pose Estimation》;Lei Chen等;《ICIRA 2009》;20091231;全文 * |
《一个基于多视图立体视觉的三维重建方法》;苗兰芳;《浙江师范大学学报(自然科学版)》;20130831;第36卷(第3期);全文 * |
《基于Kinect的深度数据融合方法》;胡涛等;《计算机应用研究》;20140131;第31卷(第1期);全文 * |
《基于包围盒的快速3D模型切割显示和标注算法》;李冉;《中国科技论文》;20120131;第7卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103942832A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942832B (zh) | 一种基于在线结构分析的室内场景实时重建方法 | |
CN106570507B (zh) | 单目视频场景三维结构的多视角一致的平面检测解析方法 | |
US10360718B2 (en) | Method and apparatus for constructing three dimensional model of object | |
Chauve et al. | Robust piecewise-planar 3D reconstruction and completion from large-scale unstructured point data | |
Nan et al. | Smartboxes for interactive urban reconstruction | |
Musialski et al. | A survey of urban reconstruction | |
Berger et al. | State of the art in surface reconstruction from point clouds | |
Ducke et al. | Multiview 3D reconstruction of the archaeological site at Weymouth from image series | |
CN103247045B (zh) | 一种从多视图中得到人造场景主方向及图像边缘的方法 | |
Stentoumis et al. | On accurate dense stereo-matching using a local adaptive multi-cost approach | |
Zalesny et al. | A compact model for viewpoint dependent texture synthesis | |
US20150138193A1 (en) | Method and device for panorama-based inter-viewpoint walkthrough, and machine readable medium | |
Fang et al. | Connect-and-slice: an hybrid approach for reconstructing 3d objects | |
Zhou et al. | HoliCity: A city-scale data platform for learning holistic 3D structures | |
CN105719352A (zh) | 人脸三维点云超分辨率融合方法及应用其的数据处理装置 | |
Peters et al. | Visibility Analysis in a Point Cloud Based on the Medial Axis Transform. | |
Hu et al. | Integrating lidar, aerial image and ground images for complete urban building modeling | |
Zhu et al. | Structure-aware completion of photogrammetric meshes in urban road environment | |
Luo et al. | Sparse RGB-D images create a real thing: A flexible voxel based 3D reconstruction pipeline for single object | |
Klose et al. | Flowlab-an interactive tool for editing dense image correspondences | |
Previtali et al. | Automatic façade segmentation for thermal retrofit | |
Lv et al. | Semantically guided multi-view stereo for dense 3d road mapping | |
KR20230072170A (ko) | 3차원 지도에 대한 모델링 데이터의 경량화 방법 | |
Wei et al. | Dense and occlusion-robust multi-view stereo for unstructured videos | |
Lin et al. | A novel tree-structured point cloud dataset for skeletonization algorithm evaluation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |