CN114140581A - 一种自动建模方法、装置、计算机设备及存储介质 - Google Patents

一种自动建模方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114140581A
CN114140581A CN202111420475.2A CN202111420475A CN114140581A CN 114140581 A CN114140581 A CN 114140581A CN 202111420475 A CN202111420475 A CN 202111420475A CN 114140581 A CN114140581 A CN 114140581A
Authority
CN
China
Prior art keywords
feature points
point
preset algorithm
point cloud
points
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
Application number
CN202111420475.2A
Other languages
English (en)
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.)
Beijing Softong Intelligent Technology Co ltd
Original Assignee
Beijing Softong Intelligent 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 Beijing Softong Intelligent Technology Co ltd filed Critical Beijing Softong Intelligent Technology Co ltd
Priority to CN202111420475.2A priority Critical patent/CN114140581A/zh
Publication of CN114140581A publication Critical patent/CN114140581A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • 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/10028Range image; Depth image; 3D point clouds

Abstract

本发明公开了一种自动建模方法、装置、计算机设备及存储介质。所述方法包括:将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;基于所述匹配特征点进行相机标定并生成点云模型;对所述点云模型进行转化和优化得到简化模型。利用该方法,能够有效提高建模速度。

Description

一种自动建模方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及建模技术领域,尤其涉及一种自动建模方法、装置、计算机设备及存储介质。
背景技术
在逆向工程、智慧城市、数字孪生、游戏场景、辅助医疗等领域都离不开建模技术,三维模型自动构建是支持未来数字孪生的关键技术。快速重构现实世界、识别并分割场景对象,创建场景拓扑结构,不仅仅是节约建模费用,也为孪生场景的实时动态变化,模拟和仿真计算、预测提供了可能。
现有技术中的三维建模方法虽然能够构建高精度的三维场景,但是,重建速度较慢,需要花费大量时间进行场景重建,因此,如何提高建模速度是当前亟待解决的技术问题。
发明内容
本发明实施例提供了一种自动建模方法、装置、计算机设备及存储介质,能够有效提高建模速度。
第一方面,本发明实施例提供了一种自动建模方法,包括:
将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;
将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;
基于所述匹配特征点进行相机标定并生成点云模型;
对所述点云模型进行转化和优化得到简化模型。
第二方面,本发明实施例还提供了一种自动建模装置,包括:
提取模块,用于将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;
匹配模块,用于将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;
生成模块,用于基于所述匹配特征点进行相机标定并生成点云模型;
转化优化模块,用于对所述点云模型进行转化和优化得到简化模型。
第三方面,本发明实施例还提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器用于实现本发明任意实施例中所述的自动建模方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的自动建模方法。
本发明实施例提供了一种自动建模方法、装置、计算机设备及存储介质,首先将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集;然后将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;之后基于所述匹配特征点进行相机标定并生成点云模型;最后对所述点云模型进行转化和优化得到简化模型。利用上述技术方案,能够有效提高建模速度。
附图说明
图1为本发明实施例一所提供的一种自动建模方法的流程示意图;
图2为本发明实施例一所提供的一种自动建模方法中的特征点匹配示意图;
图3为本发明实施例二所提供的一种自动建模方法的示例流程图;
图4为本发明实施例三所提供的一种自动建模装置的结构示意图;
图5为本发明实施例四所提供的一种计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
实施例一
图1为本发明实施例一所提供的一种自动建模方法的流程示意图,该方法可适用于进行三维场景重建的情况,该方法可以由自动建模方装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在计算机设备上。
如图1所示,本发明实施例一提供的一种自动建模方法,包括如下步骤:
S110、将图像集中的照片通过第一预设算法或第二预设算法进行提取特征点提取,得到两组不同的特征点集。
其中,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片。
其中,图像集中包括的照片是同一个相机对一个目标物从不同条件下拍摄得到的,不同条件包括不同时间、不同角度、不同分辨率、不同光照、不同相机位姿,本实施例中的相机可以为任意普通相机,相机使用相同的镜头参数进行拍摄。图像集中的照片需要具有一定的关联性,优选的,两张照片的重叠约为30%最佳。
其中,第一预设算法和第二预设算法是预先设置好的能够进行特征点提取的算法。示例性的,第二预设算法可以为尺度不变特征变换(Scale-invariant featuretransform,SIFT)算法,第一预设算法可以为加速稳健特征(Speeded Up RobustFeatures,SURF)算法。
在本实施例中,SIFT算法提取图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。SIFT算法的特点是独特性好,信息量丰富,适用于在海量特征。多量性,即使少数的几个物体也可以产生大量SIFT特征向量。可扩展性,可以很方便的与其他形式的特征向量进行联合。
具体的,SIFT算法可以包括如下步骤:
1、提取关键点
关键点是一些十分突出的不会因光照、尺度、旋转等因素而消失的点,比如角点、边缘点、暗区域的亮点以及亮区域的暗点。此步骤是搜索所有尺度空间上的图像位置。通过高斯微分函数来识别潜在的具有尺度和旋转不变的兴趣点。
2、关键点定位
在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。然后基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
3、确定方向
基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
通过尺度不变性求极值点,需要利用图像的局部特征为给每一个关键点分配一个基准方向,使描述子对图像旋转具有不变性。对于在DOG金字塔中检测出的关键点,采集其所在高斯金字塔图像3σ邻域窗口内像素的梯度和方向分布特征。梯度的模值和方向如下:
Figure BDA0003377180810000061
θ(x,y)=tan-1((L(x,y+1)-L(x,y-1))/(L(x+1,y)-L(x-1,y)))
然后采用梯度直方图统计法,统计以关键点为原点,一定区域内的图像像素点确定关键点方向。在完成关键点的梯度计算后,使用直方图统计邻域内像素的梯度和方向。梯度直方图将0到360度的方向范围分为36个柱,其中每柱10度。直方图的峰值方向代表了关键点的主方向,方向直方图的峰值则代表了该特征点处邻域梯度的方向,以直方图中最大值作为该关键点的主方向。为了增强匹配的鲁棒性,只保留峰值大于主方向峰值80%的方向作为该关键点的辅方向。
3、关键点描述
在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度。这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。
对于每一个关键点,都拥有位置、尺度以及方向三个信息。为每个关键点建立一个描述符,用一组向量将这个关键点描述出来,使其不随各种变化而改变,比如光照变化、视角变化等等。描述子不但包括关键点,也包含关键点周围对其有贡献的像素点,并且描述符应该有较高的独特性,以便于提高特征点正确匹配的概率。
通过高斯差分DoG得到的特征点具有尺度不变性。所以尽管尺度变化了,特征点仍然可以检测出来。旋转不变性。也就是下面的主方向的定义。在主方向之下,就有旋转不变性。主方向就是针对这个方向,图像中的其他点的坐标,旋转之类的操作之后坐标都不变。
具体的,SURF算法可以包括如下步骤:
1.构造Hessian矩阵
每个像素点可以求出一个Hessian矩阵,构建Hessian矩阵的目的是为了生成图像稳定的边缘点,用于特征提取。当Hessian矩阵的判别式取得局部极大值时,判定当前点是比周围邻域内其他点更亮或更暗的点,由此来定位关键点的位置。
2、构造尺度空间
同SIFT算法一样,SUFT算法的尺度空间也是由O组L层组成,不同的是,Sift中下一组图像的尺寸是上一组的一半,同一组间图像尺寸一样,但是所使用的高斯模糊系数逐渐增大;而在Surf中,不同组间图像的尺寸都是一致的,但不同组间使用的盒式滤波器的模板尺寸逐渐增大,同一组间不同层间使用相同尺寸的滤波器,但是滤波器的模糊系数逐渐增大。
3、特征点定位
将经过Hessian矩阵处理的每个像素点与二维图像空间和尺度空间邻域内的26个点进行比较,初步定位出关键点,再经过滤除能量比较弱的关键点以及错误定位的关键点,筛选出最终的稳定的特征点。
4、特征点主方向分配
采用的是统计特征点圆形邻域内的harr小波特征。在特征点的圆形邻域内,统计60度扇形内所有点的水平、垂直harr小波特征总和,然后扇形以一定间隔进行旋转并再次统计该区域内harr小波特征值之后,最后将值最大的那个扇形的方向作为该特征点的主方向。
5、生成特征点描述子
在特征点周围取一个44的矩形区域块,但是所取得矩形区域方向是沿着特征点的主方向。每个子区域统计25个像素的水平方向和垂直方向的haar小波特征,这里的水平和垂直方向都是相对主方向而言的。该haar小波特征为水平方向值之后、垂直方向值之后、水平方向绝对值之后以及垂直方向绝对值之和4个方向。把这4个值作为每个子块区域的特征向量,所以一共有64维向量作为Surf特征的描述子。
进一步的,所述两组不同的特征点集包括第一组特征点集以及第二组特征点集;其中,将所述图像集中通过第一预设算法提取得到的特征点组合为第一组特征点集,将所述图像集中通过第二预设算法提取得到的特征点组合为第二组特征点集。
在本实施例中,一张照片只能通过一种特征点提取算法提取特征点。
其中,一张照片通过SURF算法进行特征点提取可以得到64维特征向量,一张照片通过SIFT算法进行特征点提取可以得到128维特征向量。
示例性的,图像集中的照片经过SURF算法提取到的特征点组合成第一组特征点集,图像集中的照片经过SIFT算法提取得到的特征点组合成第二组特征点集。
进一步的,所述将图像集中的照片通过第一预设算法或第二预设算法提取特征点,得到两组不同的特征点集,包括:针对图像集中的每张照片,通过第一预设算法进行特征点提取;若通过所述第一预设算法提取得到的特征点数量小于预设值,则通过第二预设算法进行特征点提取。
示例性的,针对图像集中的每个照片,首先通过SURF算法进行特征点提取,执行到定位特征点步骤时,若在执行到特征点定位步骤时,判断在该步骤定位的特征点是否能够满足产生足够的关键点支撑后续特征点匹配,若无法产生足够的关键点则通过SURF算法对该照片进行特征点提取。
进一步的,若所述图像集中的照片通过所述第一预设算法进行特征点提取得到的特征点数量小于预设值,且通过所述第二预设算法进行特征点提取后得到特征点无法进行特征点匹配,则将所述照片从所述图像集中去除。
示例性的,若一张照片通过SURF算法提取得到的特征点的数量不足以产生足够的关键点,且该照片通过SURF算法提取得到的特征点质量不达标,则将该张照片从图像集中删除。
S120、将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点。
在本实施例中,第一预设算法与第二预设算法中进行特征点匹配的方式是相同的。具体的,将第一组特征点集中包括的特征点进行特征点匹配,计算关键点的欧式距离,欧式距离越小表征相似度越高,当欧式距离小于设定的阈值可以判定为匹配成功。图2为本发明实施例一所提供的一种自动建模方法中的特征点匹配示意图,图2展示的是两张具有一定重合度的照片的匹配情况。
其中,特征点匹配具体的过程可以为:对于照片1中的某个特征点p1,在照片2的关键点中查找与p1最近的关键p21以及与p1次近的关键点p22,得到关键点p21与特征点p1之间的距离d1以及关键点p22与特征点p1之间的距离d2,若d1/d2<阈值,则将其视为正确匹配的点对,将错误匹配的点对删除。需要说明的是,照片1与照片2为使用同一种预设算法进行特征点提取的照片,示例性的,照片1和照片2都使用SIFT算法进行特征点提取,于此,照片1与照片2中的特征点具有可匹配性。
S130、基于所述匹配特征点进行相机标定并生成点云模型。
在本实施例中,需要根据匹配特征点进行相机标定,基于相机标定生成点云模型。
进一步的,所述基于所述匹配特征点进行相机标定并生成点云模型,包括:根据所述匹配特征点进行相机标定得到投影矩阵;获取统一坐标系,将所述匹配特征点统一到所述统一坐标系中;基于所述投影矩阵以及在统一坐标系下的匹配特征点生成点云模型。
其中,相机标定就是世界坐标到像素坐标的映射,标定就是已知标定控制点的世界坐标和像素坐标去解算这个映射关系,通过建立这个关系,以解算由点的像素坐标去反推它的世界坐标。有了世界坐标,就可以进行测量等后续操作。
具体的,相机标定的过程为:确定匹配特征点之间的位置关系;根据位置关系将图像集中各照片对应的相机拍摄位置进行标定;根据标定结果确定相机在拍摄各照片时所在的位置。对相机标定的具体步骤和原理此处不做赘述,可参考相关资料。
在本实施例中,统一坐标系可以在相机标定后通过手工添加的方式添加到计算机中,以便计算机可以获取统一坐标系。由于在特征点提取阶段使用了两种不同的算法进行特征点提取,因此,得到的两组特征点集分别对应两组坐标系,因此,需要将两组坐标系统一到统一坐标系中,使得各特征点在统一坐标系中。
在本实施例中,基于MVS(Multi-view Stereo)构建稠密的点云模型,生成点云模型的过程包括:基于投影矩阵以及统一坐标系下的匹配特征点生成物体白膜;将物体白膜进行标记;通过光度一致性约束评估对标记后的物体白膜上所包括的像素点的颜色进行评估;通过可见性约束在标记后的物体白膜上构建凹多边体内部结构;根据像素点的颜色对标记后的物体白膜进行着色和贴图得到点云模型。
具体的,分别在多张照片上找出匹配特征点,利用投影矩阵计算出该点的空间位置,类似的,可以得到很多个空间位置,基于这些空间位置以及深度信息可以获得物体的白膜,该物体为照片中的物体。其中,可以通过极线搜索获取深度信息,深度信息为该物体的空间位置与照片上的对应点之间的距离,极线搜索可以有效降低特征点搜索范围,提高点云生成的效率,增加点位的置信度。
将物体白膜进行标记的方式可以为:将物体内部的点标记为1,将物体外部的点标记为0,介于0和1之间的点就是物体的表面。
标记之后,可以使用光度一致性约束和可见性约束对物体表面的点进行计算,评估标定质量。
其中,通过光度一致性约束评估可以获取物体表面像素点的颜色,通过可见性约束可以剔除遮挡,构建凹多变体内部结构,根据得到的颜色对物体白膜表面进行着色和贴图后可以得到点云模型。
S140、对所述点云模型进行转化和优化得到简化模型。
在本实施例中,可以基于泊松重建算法实现点云模型向多边形模型的转化,使用网格简化技术实现对模型的简化得到简化模型。
进一步的,所述对所述点云模型进行转化和优化得到简化模型,包括:通过预设转化算法将所述点云模型转化为彩色物体模型;将所述彩色物体模型通过预设简化算法进行优化得到简化模型。
其中,预设算法可以为任意一种能够将点云模型转化为多边形模型的算法,示例性的,预设算法可以为泊松重建算法。
具体的,所述通过预设转化算法将所述点云模型转化为彩色物体模型包括:基于所述点云模型构造无颜色的物体模型;基于所述无颜色的物体模型生成彩色物体模型。
在本实施例中,构造无颜色的物体模型时将点云模型分割成多个部分,每个部分包括若干个点云,为点云设定八叉树搜索索引,使得每个采样点都落在深度为D的叶节点,可加速后续求解泊松方程。
进一步的,所述基于所述点云模型构造无颜色的物体模型,包括:将所述点云模型中的点云转化为目标格式的点云;将所述目标格式的点云分为多组点云;为每组点云设定八叉树搜索索引;根据所述八叉树搜索索引构造无颜色的物体模型;
在本实施例中,将所述点云模型中的点云转化为目标格式的点云,包括:计算点云模型所包括的原点云的法向量,得到指向物体内部的法向量;根据指向物体内部的法向量得到法向信息;将法向信息叠加到点云上生成目标格式的点云。
其中,目标格式的点云可以为位置+颜色+法线格式的点云。
其中,计算点云模型所包括的原点云的法向量包括:使用法线估算设定法向量估算对象,该算法的实质是主成分分析,即先设定每个点周围选取的临近点数和搜索半径,并用临近点建立一个协方差矩阵C。
Figure BDA0003377180810000131
其中,C的最小特征值对应的特征向量就是该点的法向量,由于泊松重建需要的是指向物体内部的法向量,因此需要将向量反转得到指向物体内部的法向量。
在本实施例中,根据八叉树搜索索引构造无颜色的物体模型包括:根据八叉树搜索索为多组点云设定函数空间;基于函数空间创建向量场得到泊松方程;对泊松方程进行求解得到指示函数;根据指示函数得到物体表面。
具体过程如下:
步骤1、为点云设定八叉树搜索索引。
步骤2、设定函数空间
给定一个物体M,边界为δM,xM:R3→{0,1}为满足物体内取值为1,其余取值为0的指示函数,得到整个定义域上每一点q0的xM{q0},即可得到整个物体表面。
步骤3、创建向量场
由于xM的不连续性,插值得到的介于0和1之间的值没有意义,所以采用间接的方式,先用平滑滤波函数F来平滑xM,通过散度定理可证明,平滑过的指示函数的梯度场,等于平滑过的表面法向量场:
Figure BDA0003377180810000141
其中,*表示卷积符号,此处即为平滑操作,
Figure BDA0003377180810000142
表示物体表面处的法向量。指示函数的梯度方向和法向量重合。平滑函数F即不能过大以产生过度平滑误差,也不能过小而使得离样本点较远时插值不可靠。同时,为满足最终求解时的稀疏性,需要使用高斯滤波并截断滤波的范围,即3阶盒式滤波器,连续三次盒式滤波器卷积来近似它。
由于样本点的离散性,N并不对于表面附近每一点q都已知,需要对它分段近似,公式如下:
Figure BDA0003377180810000143
其中,s是初始已知样本点集合S中的一点,包含了s.p位置和s.N法向量信息,ρs是按照空间划分的s附近的表面区域,由于做了样本点均匀分布的假设,常数项|ρs|可略去。由于F的范围限制,平滑后的结果是一定范围内的样本信息的线性组合。即为:
Figure BDA0003377180810000144
直接求解X需要求积分,但V不一定是无旋场,往往不可积,所以应求解其最小二乘近似:
Figure BDA0003377180810000145
其中,△为拉普拉斯算子,▽为散度算子,上式即为泊松方程。
步骤4、求解泊松方程。
步骤5、提取等值面,从而得到重建表面。
泊松方程求解后得到如下公式:
Figure BDA0003377180810000151
其中,||·||和<·>表示对连续定义域上的所有q积分,即可获得指示函数χ。由于拉普拉斯系数矩阵是稀疏且对称的,所以使用共轭梯度法求解。
具体的,基于无颜色的物体模型生成彩色物体模型包括:使用kd tree将原点云的信息映射在无颜色物体表面,并生成彩色物体模型。具体的,使用kd tree在原RGB点云上建立一个搜索索引,然后对无颜色物体表面上的每一个点都搜索对应原RGB点云上的临近点。然后求得这些对应临近点的RGB通道均值,作为无颜色物体上那个点的颜色信息。
进一步的,所述将所述彩色物体模型通过预设简化算法进行优化得到简化模型,包括:通过预设简化算法将所述彩色物体模型上的无用点进行删除;基于未删除的点构建简化模型。
其中,预设简化算法可以为任意一种对模型中包括无用点进行删减的算法,示例性的,预设简化算法可以包括顶点聚类和增量式简化。
具体的,顶点聚类的原理大致可以分为以下四步:
1、生成聚类。
2、计算表现因子。
3、生成网格。
4、改变拓扑结构。
顶点聚类的具体原理和细节此处不做赘述,可参考该算法的相关资料。
在本实施例中,增量式简化可以使用三角边坍缩的方法来进行网格简化,将两个顶点合并成一个顶点。三角边坍缩的方法对无用点进行删除的过程可以为:从彩色物体模型上获取坍缩代价最小的顶点以及坍缩目标顶点;遍历坍缩代价最小的顶点的三角面列表;若三角面列表中包含坍缩目标顶点,则将坍缩目标顶点对应的三角面删除;若三角面列表中不包含坍缩目标顶点,则将坍缩代价最小的顶点替换为坍缩目标顶点;重新计算坍缩代价最小的顶点的所有邻居点对应的坍缩代价和坍缩目标顶点;将所有邻居点对应的坍缩代价和坍缩目标顶点添加到堆,并更新堆的顺序,直到所有顶点全部处理完成。
其中,坍塌计算会遍历网格中的所有Vertex顶点,对于每一个Vertex顶点,计算所有相邻顶点的边坍缩代价,保存边坍缩代价最小的值和坍缩目标点,并且把计算后的Vertex顶点添加到堆里面,按照边坍缩代价进行从小到大排序。循环地从堆里弹出边坍缩代价最小的顶点,对顶点进行边坍缩处理。
示例性的,三角边坍缩的方法具体过程可以包括:获取坍缩代价最小的顶点u及其坍缩目标顶点v。遍历u的三角面列表,如果包含v就删除该三角面,否则将u替换为v。然后重新计算u的所有邻居点的坍缩代价和坍缩目标,并更新堆的顺序,直到所有顶点全部处理完成。
本发明实施例一提供的一种自动建模方法,首先将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集;其次将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;然后基于所述匹配特征点进行相机标定并生成点云模型;最终对所述点云模型进行转化和优化得到简化模型。利用上述方法,能够有效提高建模速度。
实施例二
图3为本发明实施例二所提供的一种自动建模方法的示例流程图,如图3所示,本发明实施例二提供的一种自动建模方法包括如下过程:
将图像集中的照片提取特征点得到特征集,即将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集;对图像特征进行特征匹配,即将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;由匹配结果估算相机参数,即基于所述匹配特征点进行相机标定;再用相机参数进行场景重建输出点云模型,即基于所述投影矩阵以及在统一坐标系下的匹配特征点生成点云模型;将点云模型进行着色得到彩色模型,即通过预设转化算法将所述点云模型转化为彩色物体模型;将彩色模型进行裁剪和精度调整得到顶点-索引模型,即将所述彩色物体模型通过预设简化算法进行优化得到简化模型。
本发明实施例二提供的一种自动建模方法,对图像集中的照片质量要求低,只需普通相机拍摄的照片,对环境光线、阴影无过多要求。采用改进的算法,重构速度快,所需图像素材重叠要求小,完成数百平米室内重建只需数秒。构建的模型和贴图精度高,并能根据用户需求创建不同的精度等级。
实施例三
图4为本发明实施例三所提供的一种自动建模装置的结构示意图,该装置可适用于进行三维场景重建的情况,其中该装置可由软件和/或硬件实现,并一般集成在计算机设备上。
如图4所示,该装置包括:提取模块110、匹配模块120、生成模块130以及转化优化模块。
提取模块110,用于将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;
匹配模块120,用于将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;
生成模块130,用于基于所述匹配特征点进行相机标定并生成点云模型;
转化优化模块140,用于对所述点云模型进行转化和优化得到简化模型。
在本实施例中,该自动建模装置首先通过提取模块110将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;其次通过匹配模块120将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;然后通过生成模块130基于所述匹配特征点进行相机标定并生成点云模型;最后通过转化优化模块140对所述点云模型进行转化和优化得到简化模型。
本实施例提供了一种自动建模装置,能够有效提高建模速度。
进一步的,所述两组不同的特征点集包括第一组特征点集以及第二组特征点集;
其中,将所述图像集中通过第一预设算法提取得到的特征点组合为第一组特征点集,将所述图像集中通过第二预设算法提取得到的特征点组合为第二组特征点集。
在上述优化的基础上,提取模块110具体用于:针对图像集中的每张照片,通过第一预设算法进行特征点提取;若通过所述第一预设算法提取得到的特征点数量小于预设值,则通过第二预设算法进行特征点提取。
进一步的,若所述图像集中的照片通过所述第一预设算法进行特征点提取得到的特征点数量小于预设值,且通过所述第二预设算法进行特征点提取后得到特征点无法进行特征点匹配,则将所述照片从所述图像集中去除。进一步的,生成模块130具体用于:根据所述匹配特征点进行相机标定得到投影矩阵;获取统一坐标系,将所述匹配特征点统一到所述统一坐标系中;基于所述投影矩阵以及在统一坐标系下的匹配特征点生成点云模型。
进一步的,转化优化模块140具体用于:通过预设转化算法将所述点云模型转化为彩色物体模型;将所述彩色物体模型通过预设简化算法进行优化得到简化模型。
进一步的,所述通过预设转化算法将所述点云模型转化为彩色物体模型,包括:基于所述点云模型构造无颜色的物体模型;基于所述无颜色的物体模型生成彩色物体模型。
进一步的,所述基于所述点云模型构造无颜色的物体模型,包括:将所述点云模型中的点云转化为目标格式的点云;将所述目标格式的点云分为多组点云;为每组点云设定八叉树搜索索引;根据所述八叉树搜索索引构造无颜色的物体模型。
进一步的,所述将所述彩色物体模型通过预设简化算法进行优化得到简化模型,包括:通过预设简化算法将所述彩色物体模型上的无用点进行删除;基于未删除的点构建简化模型。
上述自动建模装置可执行本发明任意实施例所提供的自动建模方法,具备执行方法相应的功能模块和有益效果。
实施例四
图5为本发明实施例四所提供的一种计算机设备的结构示意图。如图5所示,本发明实施例四提供的计算机设备包括:一个或多个处理器41和存储装置42;该计算机设备中的处理器41可以是一个或多个,图5中以一个处理器41为例;存储装置42用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器41执行,使得所述一个或多个处理器41实现如本发明实施例中任一项所述的自动建模方法。
所述计算机设备还可以包括:输入装置43和输出装置44。
计算机设备中的处理器41、存储装置42、输入装置43和输出装置44可以通过总线或其他方式连接,图5中以通过总线连接为例。
该计算机设备中的存储装置42作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例一或二所提供的自动建模方法对应的程序指令/模块(例如,附图4所示的自动建模装置中的模块,包括:提取模块110、匹配模块120、生成模块130以及转化优化模块140)。处理器41通过运行存储在存储装置42中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中的自动建模方法。
存储装置42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储装置42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置43可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示屏等显示设备。
并且,当上述计算机设备所包括一个或者多个程序被所述一个或者多个处理器41执行时,程序进行如下操作:
将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;
将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;
基于所述匹配特征点进行相机标定并生成点云模型;
对所述点云模型进行转化和优化得到简化模型。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行自动建模方法,该方法包括:
将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;
将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;
基于所述匹配特征点进行相机标定并生成点云模型;
对所述点云模型进行转化和优化得到简化模型。
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例所提供的自动建模方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种自动建模方法,其特征在于,所述方法包括:
将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;
将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;
基于所述匹配特征点进行相机标定并生成点云模型;
对所述点云模型进行转化和优化得到简化模型。
2.根据权利要求1所述的方法,其特征在于,所述两组不同的特征点集包括第一组特征点集以及第二组特征点集;
其中,将所述图像集中通过第一预设算法提取得到的特征点组合为第一组特征点集,将所述图像集中通过第二预设算法提取得到的特征点组合为第二组特征点集。
3.根据权利要求2所述的方法,其特征在于,所述将图像集中的照片通过第一预设算法或第二预设算法提取特征点,得到两组不同的特征点集,包括:针对图像集中的每张照片,通过第一预设算法进行特征点提取;
若通过所述第一预设算法提取得到的特征点数量小于预设值,则通过第二预设算法进行特征点提取。
4.根据权利要求3所述的方法,其特征在于,若所述图像集中的照片通过所述第一预设算法进行特征点提取得到的特征点数量小于预设值,且通过所述第二预设算法进行特征点提取后得到特征点无法进行特征点匹配,则将所述照片从所述图像集中去除。
5.根据权利要求1所述的方法,其特征在于,所述基于所述匹配特征点进行相机标定并生成点云模型,包括:
根据所述匹配特征点进行相机标定得到投影矩阵;
获取统一坐标系,将所述匹配特征点统一到所述统一坐标系中;
基于所述投影矩阵以及在统一坐标系下的匹配特征点生成点云模型。
6.根据权利要求1所述的方法,其特征在于,所述对所述点云模型进行转化和优化得到简化模型,包括:
通过预设转化算法将所述点云模型转化为彩色物体模型;
将所述彩色物体模型通过预设简化算法进行优化得到简化模型。
7.根据权利要求6所述的方法,其特征在于,所述通过预设转化算法将所述点云模型转化为彩色物体模型,包括:
基于所述点云模型构造无颜色的物体模型;基于所述无颜色的物体模型生成彩色物体模型。
8.根据权利要求7所述的方法,其特征在于,所述基于所述点云模型构造无颜色的物体模型,包括:
将所述点云模型中的点云转化为目标格式的点云;
将所述目标格式的点云分为多组点云;
为每组点云设定八叉树搜索索引;
根据所述八叉树搜索索引构造无颜色的物体模型。
9.根据权利要求6所述的方法,其特征在于,所述将所述彩色物体模型通过预设简化算法进行优化得到简化模型,包括:
通过预设简化算法将所述彩色物体模型上的无用点进行删除;
基于未删除的点构建简化模型。
10.一种自动建模装置,其特征在于,所述装置包括:
提取模块,用于将图像集中的照片通过第一预设算法或第二预设算法进行特征点提取,得到两组不同的特征点集,所述第一预设算法和所述第二预设算法为两种不同的特征点提取算法,所述图像集包括同一场景在不同条件下拍摄到的多张照片;
匹配模块,用于将所述两组不同的特征点集进行特征点匹配,得到多个匹配特征点;
生成模块,用于基于所述匹配特征点进行相机标定并生成点云模型;
转化优化模块,用于对所述点云模型进行转化和优化得到简化模型。
11.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器用于执行权利要求1-9任一项所述的自动建模方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9任一项所述的自动建模方法。
CN202111420475.2A 2021-11-26 2021-11-26 一种自动建模方法、装置、计算机设备及存储介质 Pending CN114140581A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111420475.2A CN114140581A (zh) 2021-11-26 2021-11-26 一种自动建模方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111420475.2A CN114140581A (zh) 2021-11-26 2021-11-26 一种自动建模方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN114140581A true CN114140581A (zh) 2022-03-04

Family

ID=80389053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111420475.2A Pending CN114140581A (zh) 2021-11-26 2021-11-26 一种自动建模方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114140581A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114742880A (zh) * 2022-04-19 2022-07-12 华南农业大学 一种牲畜体积计算方法、系统、可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114742880A (zh) * 2022-04-19 2022-07-12 华南农业大学 一种牲畜体积计算方法、系统、可读存储介质
CN114742880B (zh) * 2022-04-19 2023-02-03 华南农业大学 一种牲畜体积计算方法、系统、可读存储介质

Similar Documents

Publication Publication Date Title
WO2022088982A1 (zh) 三维场景构建方法、装置、系统和存储介质
CN108198230A (zh) 一种基于散乱图像的作物果实三维点云提取系统
CN111524168B (zh) 点云数据的配准方法、系统、装置及计算机存储介质
Moriondo et al. Use of digital images to disclose canopy architecture in olive tree
CN109842811B (zh) 一种在视频中植入推送信息的方法、装置及电子设备
CN111553845B (zh) 一种基于优化的三维重建的快速图像拼接方法
US11270414B2 (en) Method for generating a reduced-blur digital image
CN112200854B (zh) 一种基于视频图像的叶类蔬菜三维表型测量方法
Karsli et al. Automatic building extraction from very high-resolution image and LiDAR data with SVM algorithm
CN112243518A (zh) 获取深度图的方法、装置及计算机存储介质
US8885952B1 (en) Method and system for presenting similar photos based on homographies
CN114140581A (zh) 一种自动建模方法、装置、计算机设备及存储介质
Pintus et al. A fast and robust framework for semiautomatic and automatic registration of photographs to 3D geometry
CN111275616B (zh) 低空航拍图像拼接方法和装置
CN117132737A (zh) 一种三维建筑模型构建方法、系统及设备
CN116681844A (zh) 一种基于亚米级立体像对卫星影像的建筑物白膜构建方法
CN113298871B (zh) 地图生成方法、定位方法及其系统、计算机可读存储介质
Atik et al. An automatic image matching algorithm based on thin plate splines
Novacheva Building roof reconstruction from LiDAR data and aerial images through plane extraction and colour edge detection
CN113034555B (zh) 一种基于最小生成树的特征精匹配方法及应用
Jisen A study on target recognition algorithm based on 3D point cloud and feature fusion
CN114387532A (zh) 边界的识别方法及其装置、终端、电子设备和无人设备
Budianti et al. Background blurring and removal for 3d modelling of cultural heritage objects
CN111630569B (zh) 双目匹配的方法、视觉成像装置及具有存储功能的装置
Stipes et al. 4D scan registration with the SR-3000 LIDAR

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