CN104809755B - 基于单幅图像文化遗存遗址的三维重建方法 - Google Patents

基于单幅图像文化遗存遗址的三维重建方法 Download PDF

Info

Publication number
CN104809755B
CN104809755B CN201510165036.XA CN201510165036A CN104809755B CN 104809755 B CN104809755 B CN 104809755B CN 201510165036 A CN201510165036 A CN 201510165036A CN 104809755 B CN104809755 B CN 104809755B
Authority
CN
China
Prior art keywords
msub
mtd
mrow
point
image
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
CN201510165036.XA
Other languages
English (en)
Other versions
CN104809755A (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.)
Fuzhou University
Original Assignee
Fuzhou University
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 Fuzhou University filed Critical Fuzhou University
Priority to CN201510165036.XA priority Critical patent/CN104809755B/zh
Publication of CN104809755A publication Critical patent/CN104809755A/zh
Application granted granted Critical
Publication of CN104809755B publication Critical patent/CN104809755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种基于单幅图像文化遗存遗址的三维重建方法,首先将单张图像输入计算机;通过交互式手动或自动的图像处理方法,提取图像中三个主方向上的平行直线簇;并将平行直线簇分组,通过灭点重心求取法求取每组平行直线簇对应的灭点;利用灭点与相机内外方位元素的几何关系进行相机标定,在世界坐标系下建立一系列平行于参考平面的平行平面;通过反投影射线与平行平面的交点完成像点对应空间点的三维重建;对重建的图像点云进行点云网格化及纹理映射完成真实感三维模型的构建。本发明可以利用单张图像进行三维重建,对于仅存留一张照片且目前不复存在或损坏的古建筑三维重建尤为适用,有助于文化遗存遗址的数字化保护和文化旅游的宣传。

Description

基于单幅图像文化遗存遗址的三维重建方法
技术领域
本发明涉及计算机虚拟现实、图像建模技术、计算机视觉以及摄影测量领域,特别是一种基于单幅图像文化遗存遗址的三维重建方法。
背景技术
文化遗存遗址是古代劳动人民伟大创造和聪明智慧的结晶,是历史高度、文化厚度、自然生命的沉淀,是研究古代历史、文化、艺术、科学技术发展的及其重要的实物资料。它们经历了长时间的风化侵蚀、历史变迁,遭遇着由于现代社会经济的高速发展、人类频繁活动的破坏和冲击,其中一部分已损坏或不复存在。然而随着社会对文化遗存遗址保护意识的增强及现代旅游业的迅猛发展,人们渴望恢复重建这些老旧的遗址文物,以便能够让其继续存留下来,提高文化遗存和文化内涵的形象,更大范围的向世人展示这些文化遗存遗址独特的文化、科学、艺术价值,以此来促进人们对文化的理解,提高传播和弘扬文化的能力。所以在现有数据的基础上如何恢复重建出这些已破坏或不复存在的文化遗存遗址是文化遗产保护和文化旅游宣传共同需要解决的重要问题。
目前,文化遗存遗址的三维模型的获取要有三种方式:第一种是组织人力进行现场采集测量,以此积累的建筑工程测绘图纸和文档资料;第二种是基于现代激光扫描设备所采集的高精度离散点云数据;第三种是借助数码相机获取的古建筑二维影像数据。对应于三种不同的数据源有三种不同的遗存遗址三维模型构建方式:1)基于3DMAX、AUTOCAD、CREATOR等建模软件的参数化建模技术,这种方法虽在一定程度上构建了精细的古建筑三维模型,但该技术建模周期长、操作过程复杂、需要专业熟练的操作人员,对于非专业人员的实时获取三维模型就显得尤为困难。2)基于深度数据的三维建模技术,该方法虽可以获取高精度的三维模型,但需要借助高昂的扫描设备,数据自动化处理程度低,工作量大。3)基于图像的三维重建技术是以计算机视觉和数字摄影测量理论为依托,运用单幅图像或多幅图像,通过图像匹配、相机标定、三维重构等一系列步骤重构三维模型。该方法不需要专业的建模人员,重建成本低、周期短,自动化程度高,且可以构造出照片级真实感的三维模型。
基于图像的三维重建技术根据所利用的图像的数目不同可以分为基于多张图像的三维重建及基于单张图片的三维重建。研究人员对于多张图片的三维重建(又称为基于图像序列的三维重建)多采用从运动中恢复和从轮廓中恢复两大主要方法。基于多张图片的三维重建需要在多张图片中寻找特征点,计算量大、过程复杂且易受拍摄角度及成像过程的影响,当仅存一张图片时无法采用该方法进行三维重建。基于单张图片的三维重建可以根据单张图片中的信息利用不同约束重建三维场景,这里的约束有透视变形约束、反射模型约束两种。
专利号为CZ103824323A,发明名称为“一种基于单幅二维图像的三维重建方法”的专利提出了一种利用反射模型约束从单幅图形重建三维场景的方法,通过二维灰度图像计算朗伯体表面反射模型(ambertian surface reflection model),将模型进行逆求解解算像点深度信息。这种方法快速且适用广泛,但重建精度较低且对图像拍摄要求较高,对于凹凸面不能实现唯一重建,所以对于规则形体的单张三维重建不太适用。
专利号为CN1453740A,发明名称为“由单幅图像测量场景及场景内物体几何信息的方法”的专利提出了一种基于单幅图像的场景测量方法,该方法可以对场景内任意平面的信息进行度量,但要利用这些测量信息进行三维重建需要借助第三方软件,没有形成一个完整的单幅三维重建系统。
专利号为CN104143211A发明名称为“基于单幅图像的三维自由形体生成方法”和专利号为CN102855665A发明名称为“从单幅图像重建三维建筑模型的方法”分别介绍从单幅图像恢复曲面形体的方法,但方法都仅适用于非规则形体,忽略了规则形体的三维重建。
发明内容
有鉴于此,本发明的目的是提出一种基于单幅图像文化遗存遗址的三维重建方法,可以借助本发明在同一系统内完成规则形体及非规则形体的三维重建,整个重建过程以面为单元,重建过程更为灵活。
本发明采用以下方案实现:一种基于单幅图像文化遗存遗址的三维重建方法,具体包括以下步骤实现:
步骤S1:将一张待重建文化遗存遗址场景的图像或相片输入计算机;
步骤S2:采用手动或自动的方法从步骤S1中所述图像中提取X、Y、Z三个垂直方向的平行直线簇,并将提取的直线簇分成三组;
步骤S3:利用步骤S2提取的X、Y、Z方向的三组平行直线簇计算X、Y、Z三个主方向灭点,得到三个主灭点;
步骤S4:利用步骤S3计算的X、Y、Z三个主灭点,根据三个主灭点计算相机内参数矩阵(K)及外参数矩阵(R,t)完成相机标定,即求取投影矩阵(P);
步骤S5:在三维空间中设定参考平面及参考方向,其中所述参考平面为空间直角坐标系的XY平面,所述参考方向为空间直角坐标系的Z方向,在所述参考方向上建立多个平行于参考平面的平行平面,利用反投影射线与平行平面的交点完成三维点重建,得到点云;
步骤S6:对步骤S5重建的点云进行点云网格化及纹理映射完成真实感三维模型重建。
进一步的,所述步骤S1中的图像为照片或图片的数字化影像,图像的数字化分辨率为600dpi~1200dpi。
进一步的,所述步骤S2中的手动方法具体为:用户可根据输入的图像选取建筑骨架线,运用交互式方法分别在X、Y、Z三个垂直方向上绘制三条或四条直线,根据用户绘制的直线方向,依据空间直角坐标系三个坐标轴方向完成直线分组。
进一步的,所述步骤S2中的自动方法具体包括以下步骤:
步骤S21:对待提取的图像进行图像预处理,具体包括:利用Ostu阈值分割算法对图像进行分割用以提取待重建建筑物目标区域,利用数学形态学原理清除图像中的孤立点,对图像进行细化处理;
步骤S22:利用步骤S21预处理完成的图像,采用Canny边缘检测算法提取目标区域的边缘图像;
步骤S23:利用步骤S22提取的边缘图像,采用累计概率霍夫变换,通过将同方向、间隔短的直线段合并为一条直线提取长直线;
步骤S24:利用步骤S23提取的长直线,采用角度和距离的共同限制,将提取的直线分成与空间坐标系三个坐标轴对应的三组。
进一步的,所述步骤S3具体包括以下步骤:具体包括以下步骤:
步骤S31:假设两条非平行直线L1=[a1 b1 c1]、L2=[a2 b2 c2],则L1×L2可以确定这两条直线的交点的齐次坐标,公式如下:
步骤S32:将同一方向上平行直线簇中的直线Li=[ai,bi,ci]按照斜率从小到大进行排序,记L(A)为从第一条直线到第n/2条直线的加和,L(B)为从第n/2+1条直线到第n条直线的加和,公式如下:
则L(A)×L(B)即为这组平行直线簇交点的重心,将该重心作为这组平行直线簇的灭点;
步骤S33:采用以上步骤分别计算X、Y、Z三个坐标轴方向上的平行直线簇的灭点,并将其作为X、Y、Z三个主方向灭点,即三个主灭点。
进一步的,所述步骤S4具体包括以下步骤:
步骤S41:将步骤S3解算的三个主灭点所构成三角形的垂心设置为像主点,根据垂心计算公式解算像主点坐标;特别的,一个三维点M经透视投影变化得到二维图像点m,这个透视投影变换可表示为:
λm=PM,
其中P=K[R t]为投影矩阵,λ为比例系数,K为相机内参矩阵((u0,v0)为像主点坐标,f为焦距),(R、t)为相机外参矩阵(R为旋转矩阵,t为平移向量);
步骤S42:定义相机的中心为投影中心,投影中心到像平面的垂直投影点为像主点,投影中心与像主点间的距离为相机焦距;所述的投影中心、三个主灭点构成一个直角三角椎体,该椎体以投影中心为顶点、三主灭点构成的三角形为底面,顶点到底面的高为相机焦距,根据三角形相似及勾股定理计算相机焦距,通过步骤S41、S42确定相机内参矩阵K;
步骤S43:相机外参数矩阵的确定与世界坐标系的选取有关,本专利选取三个主灭点方向为世界坐标系的三个坐标轴,主灭点Vx、Vy分别对应世界坐标系的X轴、Y轴。由透视投影方程、旋转矩阵R 为单位正交矩阵及世界坐标系为右手坐标系可得关于旋转矩阵的四个解,再通过确定世界坐标系X轴、Y轴正方向来唯一确定旋转矩阵R的解,其推导过程如下:
|r1|=|r2|=1
r3=±r1×r2
其中ri为旋转矩阵的第i个列向量,λx、λy为比例系数,Vx、Vy为X、Y方向主灭点;
步骤S44:设定世界坐标系原点的图像坐标为O,根据透视投影方程求取相机外方位元素t,其推导过程如下:
t=λoK-1O,
其中λo为比例因子。因本专利不涉及绝对欧式度量信息,为简化计算,λo取值为1。
进一步的,所述步骤S5三维点重建具体包括以下步骤:
步骤S51:为完成基于单幅图片的三维重建,需要建立多个平行于参考平面的平行平面。将世界坐标系XOY平面设定为参考平面Π0,世界坐标系Z轴方向为参考方向;
步骤S52:根据透视投影变换,解算某一平行平面Πi到参考平面Π0之间的距离d及平行平面Πi的齐次方程Πi=[0 0 1 -d];
步骤S53:设定投影中心和像点的连线为反投影射线,计算反投影射线与平行平面的交点来重构相平面中任意可见点所对应的空间三维点;
步骤S54:对于不可见点及遮挡点采用灭点几何原理,通过求取多条直线的最优交点来确定不可见点的图像坐标,再利用步骤S53求取该点对应空间三维点。
进一步的,所述步骤S6点云网格化和纹理映射主要包括以下步骤:
步骤S61:将步骤S5得到的空间点映射到平面中变为二维点,对二维点进行Delaunay三角剖分,再将剖分完成的点反映射到三维空间中完成点云网格化;
步骤S62:采用基于OpenGL的纹理映射法,首先通过glGenTextures函数创建纹理,再利用glBindTexture、glTextImage2D函数完成纹理的绑定,接着进行纹理坐标的对应,最后利用glTexCoor2d、glVertex3d函数完成纹理的渲染与绘制。
与现有技术相比,本发明在三维重建过程中以面作为解决透视投影病态问题的关键点,当三维空间中面唯一确定,则根据透视反投影,这个面上的所有信息都可以唯一确定,本发明提供的方法对于规则形体和非规则形体的单幅三维重建都适用。本发明能够直接从单幅图像通过交互式方法获取图像对应三维场景的三维模型,为文化遗存遗址的数字化保护及虚拟旅游提供技术支持。
附图说明
图1 为本发明方法具体实施例的技术流程示意图。
图2(a)为待重建建筑物图像;图2(b)为三组主平行线对手动提取结果。
图3 (a)为待重建建筑物图像;图3(b)为Ostu图像分割结果;图3(c)为Canny边缘检测结果;图3(d)为三个主方向平行线对自动提取结果。
图4 为像主点、焦距、主灭点几何关系示意图。
图5 为平行平面求取示意图。
图6 为基于平面的三维重建示意图。
图7不可见点图像坐标恢复示意图。
图8 重建效果图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,本实施例提供了一种基于单幅图像文化遗存遗址的三维重建方法,具体包括以下步骤实现:
步骤S1:将一张待重建文化遗存遗址场景的图像或相片输入计算机;
步骤S2:采用手动或自动的方法从步骤S1中所述图像中提取XYZ三个垂直方向的平行直线簇,并将提取的直线簇分成三组;
步骤S3:利用步骤S2提取的X、Y、Z方向的三组平行直线簇计算X、Y、Z三个主方向灭点,得到三个主灭点;
步骤S4:利用步骤S3计算的X、Y、Z三个主灭点,根据三个主灭点计算相机内参数矩阵(K)及外参数矩阵(R,t)完成相机标定,即求取投影矩阵(P);
步骤S5:在三维空间中设定参考平面及参考方向(参考平面即空间直角坐标系的XY平面,参考方向即空间直角坐标系的Z方向),在所述参考方向上建立多个平行于参考平面的平行平面,利用反投影射线与平行平面的交点完成三维点重建,得到点云;
步骤S6:对步骤S5重建的点云进行点云网格化及纹理映射完成真实感三维模型重建。
在本实施例中,所述步骤S1中的图像为照片或图片数字化影像,图像的数字化分辨率为600dpi~1200dpi。
在本实施例中,所述步骤S2中的手动方法具体为:用户可根据输入的图像(如图2(a)所示)选取建筑骨架线,运用交互式方法分别在X、Y、Z三个垂直方向上绘制三条或四条直线(如图2(b)所示),并根据用户绘制的直线方向,依据空间直角坐标系三个坐标轴方向完成直线分组。
在本实施例中,所述步骤S2中的自动方法具体包括以下步骤:
步骤S21:对待提取的图像(如图3(a)所示)进行图像预处理,具体包括:利用Ostu阈值分割算法对图像进行分割用以提取待重建建筑物目标区域,其中分割结果如图3(b)所示,利用数学形态学原理清除图像中的孤立点,对图像进行细化处理;
步骤S22:利用步骤S21预处理完成的图像,采用Canny边缘检测算法提取目标区域的边缘图像,其中Canny边缘检测结果如图3(c)所示;
步骤S23:利用步骤S22提取的边缘图像,采用累计概率霍夫变换,通过将同方向、间隔短的直线段合并为一条直线提取长直线;
步骤S24:利用步骤S23提取的长直线段,采用角度和距离的共同限制,将提取的直线分成与空间坐标系三个坐标轴对应的三组,其中三个主方向平行线对的提取结果如图3(d)所示。
在本实施例中,所述步骤S3中采用同一坐标轴方向上的多条直线交点的重心替代平行直线簇灭点的方法来确定平行直线簇灭点,具体包括以下步骤:
步骤S31:假设两条非平行直线L1=[a1 b1 c1]、L2=[a2 b2 c2],则L1×L2可以确定这两条直线的交点的齐次坐标,公式如下:
步骤S32:将同一方向上平行直线簇中的直线Li=[ai,bi,ci]按照斜率从小到大进行排序,记L(A)为从第一条直线到第n/2条直线的加和,L(B)为从第n/2+1条直线到第n条直线的加和,公式如下:
则L(A)×L(B)即为这组平行直线簇交点的重心,将该重心作为这组平行直线簇的灭点;
步骤S33:采用以上步骤分别计算X、Y、Z三个坐标轴方向上的平行直线簇的灭点,并将其作为X、Y、Z三个主方向灭点,即三个主灭点。
在本实施例中,所述步骤S4具体包括以下步骤:
步骤S41:一个三维点M经透视投影变化得到二维图像点m,这个透视投影变换可表示为:
λm=PM,
其中P=K[R t]为投影矩阵,λ为比例系数,K为相机内参矩阵((u0,v0)为像主点坐标,f为焦距),(R、t)为相机外参矩阵(R为旋转矩阵,t为平移向量);
如图4所示,Vx、Vy、Vz为S3解算的三个主灭点,在三角形VxVyVz中,三角形垂心(O1)即为像主点,根据垂心计算公式解算像主点坐标;
步骤S42:如图4所示,定义相机的中心为投影中心O,投影中心到像平面的垂直投影点为像主点O1,投影中心O与像主点O1间的距离为相机焦距f;所述的投影中心O、三个主灭点Vx、Vy、Vz构成一个直角三角椎体O-VxVyVz,该椎体以投影中心O为顶点、三主灭 点Vx、Vy、Vz构成的三角形VxVyVz为底面,顶点到底面的高OO1为相机焦距f。在三角形OO1Pxy中,由勾股定理得根据S41得O1Pxy。在直角三角形OVxVy中,根据三角形相似原理得OPxy 2=VyPxy*PxyVx。将O1Pxy、OPxy带入上式得OO1,即f。通过步骤S41、S42确定相机内参矩阵K,
步骤S43:相机外参数矩阵的确定与世界坐标系的选取有关,如图4所示,OVx、Ovy、OVz分别两两垂直,所以本专利选取OVx、Ovy、OVz三个方向为世界坐标系的三个坐标轴,OVx、Ovy分别对应世界坐标系的X轴、Y轴,由透视投影方程可得如下两式:
其中ri为旋转矩阵的第i个列向量,λx、λy为比例系数,Vx、Vy为X、Y方向主灭点;
R为单位正交矩阵,有|r1|=|r2|=1、r3=±r1×r2。由于世界坐标系是右手坐标系,所以r3=r1×r2,根据以上约束条件可得如下方程组:
|r1|=|r2|=1
r3=r1×r2
该方程组可得R的四个解,这四个解对应四种世界坐标系,通过确定世界坐标系X轴、Y轴正方向来唯一确定R;
步骤S44:设定世界坐标系原点的图像坐标为Ow,根据透视投影方程求取相机外方位元素t,其推导过程如下:
t=λoK-1Ow
其中λo为比例因子。因本专利不涉及绝对欧式度量信息,为简化计算,λo取值为1。
在本实施例中,所述步骤S5三维点重建具体包括以下步骤:
步骤S51:为完成基于单幅图片的三维重建,需建立多个平行于参考平面的平行平面。设定世界坐标系XOY平面为参考平面Π0,世界坐标系Z轴方向为参考方向;
步骤S52:如图5所示,设某一平行平面Πi到参考平面Π0之间的距离为d,根据透视投影变换得:其中M0=[x y 0 1]为参考平面上任意点坐标,Mi=[x y d1]为该点在平行平面上沿参考方向上的对应点坐标,m0、mi为M0、Mi对应的图像坐标,λ0、λi为未知比例因子,P为投影矩阵。根据上式可确定任意平行平面到参考平面的距离d,从而确定该平行平面Πi=[0 0 1 -d];
步骤S53:如图6所示,投影中心O和任意可见像点mi构成一条反投影射线,该反投影射线与平行平面Πi的交点为像点mi对应的 空间点Mi
步骤S54:对于不可见点及遮挡点(如图7中的m点)采用灭点几何原理,通过求取多条直线的最优交点来确定不可见点的图像坐标,再利用步骤S53求取该点对应空间三维点。
在本实施例中,所述步骤S6点云网格化和纹理映射主要包括以下步骤:
步骤S61:将步骤S5得到的空间点映射到平面中变为二维点,对二维点进行Delaunay三角剖分,再将剖分完成的点反映射到三维空间中完成点云网格化;
步骤S62:采用基于OpenGL的纹理映射法,首先通过glGenTextures函数创建纹理,再利用glBindTexture、glTextImage2D函数完成纹理的绑定,接着进行纹理坐标的对应,最后利用glTexCoor2d、glVertex3d函数完成纹理的渲染与绘制。
进一步的,其中步骤S62具体包括以下步骤:
步骤S621:通过函数glGenTextures(GLsizei n,GLuint* textureNames)来创建纹理数量和相应的内存空间;
步骤S622:将纹理编号与相应的纹理图像进行绑定。首先利用glBindTexture(GL_TEXTURE2D,mTexture[i])函数对纹理进行编号,接着利用glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,Width,Height,0,GL_BGR,GL_UNSIGNED_BYTE,array)函数来指定存放纹理图像的数组首地址,通过这两个函数完成纹理的绑定;
步骤S623:由于本文的模型空间点是通过像点反投影得到,所以通过前面三维重建过程已经建立三维点到二维点的一一映射关系。在此基础上,将二维图像点坐标变换到纹理坐标系下即可;
步骤S624:纹理渲染绘制。调用glTexCoord2d(GLdouble s,GLdouble t)函数来指定纹理坐标,利用glVertex3d(GLdouble x,GLdouble y,GLdouble z)函数指定模型点坐标,完成纹理的渲染绘制。
较佳地,三维模型重建效果图如图8所示。
综上所述,本发明在三维重建过程中以面作为解决透视投影病态问题的关键点,当三维空间中某一平面唯一确定,根据透视反投影,则该平面上的所有信息都可以唯一确定,本发明提供的方法对于规则形体和非规则形体的单幅三维重建都适用。本发明能够直接从单幅图像通过交互式方法获取图像对应三维场景的三维模型,为文化遗存遗址的数字化保护及虚拟旅游提供技术支持。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (6)

1.一种基于单幅图像文化遗存遗址的三维重建方法,其特征在于包括以下步骤实现:
步骤S1:将一张待重建文化遗存遗址场景的图像或相片输入计算机;
步骤S2:采用手动或自动的方法从步骤S1中所述图像中提取X、Y、Z三个垂直方向的平行直线簇,并将提取的直线簇分成三组;
步骤S3:利用步骤S2提取的X、Y、Z方向的三组平行直线簇计算X、Y、Z三个主方向灭点,得到三个主灭点;
步骤S4:利用步骤S3计算的X、Y、Z三个主灭点,根据三个主灭点计算相机内参数矩阵K及外参数矩阵R、t完成相机标定,即求取投影矩阵P;
步骤S5:在三维空间中设定参考平面及参考方向,其中所述参考平面为空间直角坐标系的XY平面,所述参考方向为空间直角坐标系的Z方向,在所述参考方向上建立多个平行于参考平面的平行平面,利用反投影射线与平行平面的交点完成三维点重建,得到点云;
步骤S6:对步骤S5重建的点云进行点云网格化及纹理映射完成真实感三维模型重建;
其中,所述步骤S4具体包括以下步骤:
步骤S41:将步骤S3解算的三个主灭点所构成三角形的垂心设置为像主点,根据垂心计算公式解算像主点坐标;
步骤S42:定义相机的中心为投影中心,投影中心到像平面的垂直投影点为像主点,投影中心与像主点间的距离为相机焦距;所述的投影中心、三个主灭点构成一个直角三角椎体,该椎体以投影中心为顶点、三主灭点构成的三角形为底面,顶点到底面的高为相机焦距,根据三角形相似及勾股定理计算相机焦距,通过步骤S41、S42确定相机内参矩阵K;
步骤S43:选取三个主灭点方向为世界坐标系的三个坐标轴,通过透视投影方程确定旋转矩阵R;
步骤S44:选取世界坐标系原点的图像坐标,通过透视投影方程确定平移向量t;
其中,所述步骤S5三维点重建具体包括以下步骤:
步骤S51:建立多个平行于参考平面的平行平面,用以完成基于单幅图片的三维重建;设定世界坐标系XOY平面为参考平面Π0,世界坐标系Z轴方向为参考方向;
步骤S52:根据透视投影变换,解算某一平行平面Πi到参考平面Π0之间的距离d及平行平面Πi的齐次方程Πi=[0 0 1 -d];
步骤S53:设定投影中心和像点的连线为反投影射线,计算反投影射线与平行平面的交点来重构相平面中任意可见点所对应的空间三维点;
步骤S54:对于不可见点及遮挡点采用灭点几何原理,通过求取多条直线的最优交点来确定不可见点的图像坐标,再利用步骤S53求取该点对应空间三维点。
2.根据权利要求1所述的一种基于单幅图像文化遗存遗址的三维重建方法,其特征在于:所述步骤S1中的图像为照片或图片的数字化影像,图像的数字化分辨率为600dpi~1200dpi。
3.根据权利要求1所述的一种基于单幅图像文化遗存遗址的三维重建方法,其特征在于:所述步骤S2中的手动方法具体为:用户根据输入的图像选取建筑骨架线,运用交互式方法分别在X、Y、Z三个垂直方向上绘制三条或四条直线,根据用户绘制的直线方向,依据空间直角坐标系三个坐标轴方向完成直线分组。
4.根据权利要求1所述的方法,其特征在于:所述步骤S2中的自动方法具体包括以下步骤:
步骤S21:对待提取的图像进行图像预处理,具体包括:利用Ostu阈值分割算法对图像进行分割用以提取待重建建筑物目标区域,利用数学形态学原理清除图像中的孤立点,对图像进行细化处理;
步骤S22:利用步骤S21预处理完成的图像,采用Canny边缘检测算法提取目标区域的边缘图像;
步骤S23:利用步骤S22提取的边缘图像,采用累计概率霍夫变换,通过将同方向、间隔短的直线段合并为一条直线提取长直线;
步骤S24:利用步骤S23提取的长直线,采用角度和距离的共同限制,将提取的直线分成与空间坐标系三个坐标轴对应的三组。
5.根据权利要求1所述的方法,其特征在于:所述步骤S3具体包括以下步骤:具体包括以下步骤:
步骤S31:假设两条非平行直线L1=[a1 b1 c1]、L2=[a2 b2 c2],则通过L1×L2确定这两条直线的交点的齐次坐标,公式如下:
<mrow> <msub> <mi>L</mi> <mn>1</mn> </msub> <mo>&amp;times;</mo> <msub> <mi>L</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>&amp;lsqb;</mo> <mo>|</mo> <mtable> <mtr> <mtd> <msub> <mi>b</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>c</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>b</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>c</mi> <mn>2</mn> </msub> </mtd> </mtr> </mtable> <mo>|</mo> <mo>,</mo> <mo>|</mo> <mtable> <mtr> <mtd> <msub> <mi>c</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>c</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> </mtr> </mtable> <mo>|</mo> <mo>,</mo> <mo>|</mo> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>b</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>b</mi> <mn>2</mn> </msub> </mtd> </mtr> </mtable> <mo>|</mo> <mo>&amp;rsqb;</mo> <mo>;</mo> </mrow>
步骤S32:将同一方向上平行直线簇中的直线Li=[ai,bi,ci]按照斜率从小到大进行排序,记L(A)为从第一条直线到第n/2条直线的加和,L(B)为从第n/2+1条直线到第n条直线的加和,公式如下:
<mrow> <mtable> <mtr> <mtd> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>A</mi> <mo>)</mo> </mrow> </msup> <mo>=</mo> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mi>i</mi> </msub> </mtd> <mtd> <msub> <mi>b</mi> <mi>i</mi> </msub> </mtd> <mtd> <msub> <mi>c</mi> <mi>i</mi> </msub> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> <mo>=</mo> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>/</mo> <mn>2</mn> </mrow> </munderover> <msub> <mi>a</mi> <mi>i</mi> </msub> </mrow> </mtd> <mtd> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>/</mo> <mn>2</mn> </mrow> </munderover> <msub> <mi>b</mi> <mi>i</mi> </msub> </mrow> </mtd> <mtd> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>/</mo> <mn>2</mn> </mrow> </munderover> <msub> <mi>c</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>B</mi> <mo>)</mo> </mrow> </msup> <mo>=</mo> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mi>i</mi> </msub> </mtd> <mtd> <msub> <mi>b</mi> <mi>i</mi> </msub> </mtd> <mtd> <msub> <mi>c</mi> <mi>i</mi> </msub> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> <mo>=</mo> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mi>n</mi> <mo>/</mo> <mn>2</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>a</mi> <mi>i</mi> </msub> </mrow> </mtd> <mtd> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mi>n</mi> <mo>/</mo> <mn>2</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>b</mi> <mi>i</mi> </msub> </mrow> </mtd> <mtd> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mi>n</mi> <mo>/</mo> <mn>2</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>c</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> </mtable> <mo>,</mo> </mrow>
则L(A)×L(B)即为这组平行直线簇交点的重心,将该重心作为这组平行直线簇的灭点;
步骤S33:采用以上步骤分别计算X、Y、Z三个坐标轴方向上的平行直线簇的灭点,并将其作为X、Y、Z三个主方向灭点,即三个主灭点。
6.根据权利要求1所述的方法,其特征在于:所述步骤S6点云网格化和纹理映射主要包括以下步骤:
步骤S61:将步骤S5得到的空间点映射到平面中变为二维点,对二维点进行Delaunay三角剖分,再将剖分完成的点反映射到三维空间中完成点云网格化;
步骤S62:采用基于OpenGL的纹理映射法,首先通过glGenTextures函数创建纹理,再利用glBindTexture、glTextImage2D函数完成纹理的绑定,接着进行纹理坐标的对应,最后利用glTexCoor2d、glVertex3d函数完成纹理的渲染与绘制。
CN201510165036.XA 2015-04-09 2015-04-09 基于单幅图像文化遗存遗址的三维重建方法 Active CN104809755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510165036.XA CN104809755B (zh) 2015-04-09 2015-04-09 基于单幅图像文化遗存遗址的三维重建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510165036.XA CN104809755B (zh) 2015-04-09 2015-04-09 基于单幅图像文化遗存遗址的三维重建方法

Publications (2)

Publication Number Publication Date
CN104809755A CN104809755A (zh) 2015-07-29
CN104809755B true CN104809755B (zh) 2017-10-20

Family

ID=53694560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510165036.XA Active CN104809755B (zh) 2015-04-09 2015-04-09 基于单幅图像文化遗存遗址的三维重建方法

Country Status (1)

Country Link
CN (1) CN104809755B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105513119B (zh) * 2015-12-10 2018-08-28 北京恒华伟业科技股份有限公司 一种基于无人机的路桥三维重建方法及装置
CN105989187A (zh) * 2016-01-22 2016-10-05 安徽建筑大学 徽州传统建筑特征元素数据库系统
FR3051584B1 (fr) * 2016-05-20 2019-11-01 Safran Procede de reconstruction tridimensionnelle a l'aide d'une camera plenoptique.
CN106327532B (zh) * 2016-08-31 2019-06-11 北京天睿空间科技股份有限公司 一种单幅图像的三维配准方法
CN106910241A (zh) * 2017-01-20 2017-06-30 徐迪 基于手机摄像和云服务器的三维人体头部的重建系统及方法
CN107256576A (zh) * 2017-04-21 2017-10-17 深圳市蜗牛窝科技有限公司 图片中三维场景的展示方法和装置
CN108645398A (zh) * 2018-02-09 2018-10-12 深圳积木易搭科技技术有限公司 一种基于结构化环境的即时定位与地图构建方法及系统
CN108537865A (zh) * 2018-03-21 2018-09-14 哈尔滨工业大学深圳研究生院 一种基于视觉三维重建的古建筑模型生成方法和装置
CN110838164B (zh) * 2018-08-31 2023-03-24 金钱猫科技股份有限公司 基于物体点深度的单目图像三维重建方法、系统及装置
CN109712199B (zh) * 2018-12-28 2020-09-08 南京泛在地理信息产业研究院有限公司 一种基于a4纸提取二灭点的相机简易标定方法及装置
CN110070604B (zh) * 2019-03-28 2022-11-04 陕西科技大学 一种基于单幅回转体图像文化遗址的三维重建方法
CN110047146B (zh) * 2019-03-28 2022-11-04 陕西科技大学 一种基于单幅回转体图像3d还原的误差修正方法
CN111508058A (zh) * 2020-02-24 2020-08-07 当家移动绿色互联网技术集团有限公司 图像三维重建的方法、装置、存储介质及电子设备
CN111553965B (zh) * 2020-04-29 2023-05-02 张洋 一种二维图像处理方法及系统
CN111724446B (zh) * 2020-05-20 2023-05-02 同济大学 一种用于建筑物三维重建的变焦距相机外参数标定方法
CN112150559A (zh) * 2020-09-24 2020-12-29 深圳佑驾创新科技有限公司 图像采集装置的标定方法、计算机设备及存储介质
CN113012270A (zh) * 2021-03-24 2021-06-22 纵深视觉科技(南京)有限责任公司 一种立体显示的方法、装置、电子设备及存储介质
CN113379899B (zh) * 2021-06-22 2023-09-19 南京工程学院 一种建筑工程工作面区域图像自动提取方法
CN115205472B (zh) * 2022-09-16 2022-12-02 成都国星宇航科技股份有限公司 实景重建图片的分组方法、装置、设备及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CALIBRATION AND 3D GEOMETRY ESTIMATION OF A PAN-TILT-ZOOM CAMERA;Imran N. Junejo;《16th European Signal Processing Conference (EUSIPCO 2008)》;20080829;第1-5页 *
Camera calibration and 3D reconstruction from a single view based on scene constraints;Guanghui Wang等;《Image and Vision Computing》;20051231;第23卷;第311-323页 *
Camera calibration using two or three vanishing points;Radu Orghidan等;《Proceedings of the Federated Conference on Computer Science and Information Systems》;20121231;第123-130页 *
Historical Single Image-Based Modeling: The Case of Gobierna Tower, Zamora (Spain);Jesús Garcia-Gago等;《remote sensing》;20140127;第6卷;第1085-1101页 *
基于单幅图像的建筑物建模方法;郭美莉;《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》;20150315(第03期);第6-41页 *

Also Published As

Publication number Publication date
CN104809755A (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
CN104809755B (zh) 基于单幅图像文化遗存遗址的三维重建方法
CN103021017B (zh) 基于gpu加速的三维场景重建方法
CN109272537B (zh) 一种基于结构光的全景点云配准方法
CN106683068A (zh) 一种三维数字化图像采集方法及设备
CN106097348A (zh) 一种三维激光点云与二维图像的融合方法
CN108665530B (zh) 基于单张图片的三维建模实现方法
CN102306386B (zh) 从单张树木图像快速构建真实感树木模型的方法
CN105046743A (zh) 一种基于全局变分技术的超高分辨率三维重建方法
CN107895048A (zh) 一种基于实景三维的快速出图方法
CN110070567A (zh) 一种地面激光点云配准方法
CN108010125A (zh) 基于线结构光和图像信息的真实尺度三维重建系统及方法
CN108253909A (zh) 一种平面度的测量方法和测量装置
CN110047146B (zh) 一种基于单幅回转体图像3d还原的误差修正方法
CN104200525B (zh) 基于挤压物体图像的三维建模方法及系统
CN106340062B (zh) 一种三维纹理模型文件的生成方法和装置
CN108010084A (zh) 一种深度摄像机重建及自动标定的方法、系统、设备
CN107610215A (zh) 一种高精度多角度口腔三维数字成像模型构建方法
CN113432558B (zh) 一种基于激光的不规则物体表面积的测量装置及方法
CN113284211B (zh) 一种正射影像生成的方法以及系统
Diao et al. To achieve real immersion: The 3d virtual and physical reconstruction of Cave 3 and Cave 12 of Yungang Grottoes
Ragia et al. Precise photorealistic visualization for restoration of historic buildings based on tacheometry data
CN106991643B (zh) 一种低资源消耗的实时核线方法和实时核线系统
Hsieh A new Kinect-based scanning system and its application
Gruen et al. Computer reconstruction and modeling of the great Buddha statue in Bamiyan, Afghanistan
Zheng et al. A flexible and automatic 3D reconstruction method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant