基于无人机航拍序列的建筑三维模型重建
2017-12-18黄佳彪熊岳山何鸿君
黄佳彪,熊岳山,何鸿君
(国防科技大学 计算机学院,湖南 长沙 410073)
基于无人机航拍序列的建筑三维模型重建
黄佳彪,熊岳山,何鸿君
(国防科技大学 计算机学院,湖南 长沙 410073)
近年来,随着计算机技术的快速发展和装备高清相机的四旋翼无人机的普及,基于被动视觉法的建筑物三维重建逐渐成为计算机视觉和图形学领域的热点。然而,现有的被动视觉法针对建筑建模时存在耗时长、局部细节重建效果差等问题。针对这些不足,提出一种基于无人机航拍序列的建筑三维模型重建方法。首先,利用运动恢复结构的方法,对无人机针对目标建筑航拍采集的照片序列恢复建筑周边场景的稀疏点云;同时,采用RANSAC方法,提取地面和建筑立面;进而对点云进行聚类,以提取出构成建筑的稀疏点云,再依据建筑稀疏点云得到建筑的柱状模型;最后,对该模型进行平整化处理,得到保持建筑顶部轮廓细节的三维模型。实验结果表明,利用所提方法可以快速得到建筑的三维模型,同时能较好地保持建筑顶部的轮廓细节。
无人机;航拍序列;三维重建;建筑物;三维轮廓
1 研究背景
随着信息时代的迅速发展,各类应用对于真实世界场景尤其是建筑三维模型的需求不断增长。建立真实世界中建筑的三维模型,在数字地图、虚拟现实、军事等领域具有广阔的应用前景,正不断受到越来越多相关研究者的关注。基于视觉的三维重建方法可以分为主动视觉法和被动视觉法两种。其中,主动视觉法通常依赖大型的昂贵设备来采集三维数据;而被动视觉法通常只需要消费级相机即可以获取数据,并可以基于输入图片间的匹配关系来重建场景的三维模型。被动视觉法重建场景一般分3个步骤:运动恢复结构[1-2](structure from motion,SFM)、多视角立体视觉[3](multi-view stereo,MVS)及模型表面网格重建。其中,MVS和表面网格重建过程的计算时间开销很大,并且该方法对室外场景重建的结果存在若干“空洞”。针对这两点不足,本文在对建筑三维建模时,直接在SFM得到的稀疏点云上重建模型,在大幅降低建模时间的同时,较好地保持了建筑顶部的轮廓细节。
无人机被广泛地应用于侦察、监测、搜救、消防、导航、运输等诸多领域,其发展呈现出智能化、微型化、隐形化、多功能化等诸多特点[4]。四旋翼无人机也称作四轴飞行器和四转子,是一种依靠4个旋翼来维持姿态、悬停以及进行水平和竖直飞行的多轴飞行器[5]。近年来,消费级无人机发展迅猛,无人机厂商大疆提供了移动端应用程序编程接口(application programming interface,API)以支持开发者对无人机的路径规划、航拍任务进行编程控制[6]。
在已有研究的基础上,本文基于消费级无人机航拍平台,提出了一种基于无人机航拍序列的建筑三维模型快速重建方法。该方法首先利用SFM对目标建筑进行三维重建恢复稀疏点云,并提取地面及建筑立面,同时从场景整体点云中分离出建筑部分点云,最后得到建筑的三维轮廓模型。其要点包括:
1)直接基于SFM得到的稀疏点云进行建筑模型的重建,时间开销小;
2)提出一种从稀疏点云中检测建筑在地面二维轮廓的算法;
3)建筑模型重建方法基于消费级无人机,成本较低,生成的模型可被应用于数字地图和虚拟现实等领域。
2 相关工作
2.1 运动恢复结构
SFM的思想最早源于R. I. Hartley[7]的三维重建工作,并已被广泛地应用于场景的稀疏三维点云重建中。SFM通过对一组无序未标定的图像进行特征检测和匹配,使用数值方法恢复三维信息,同时能够从中求解相机的外部参数(相机的位置和朝向)和内部参数(镜头的焦距和径向畸变)。SFM对图像的要求很低,数据来源可以是同一相机或者不同相机在不同位置拍摄的图像序列。SFM借助先进的特征提取和匹配算法,具有极好的鲁棒性,并且支持对大规模场景(如自然景观和城市建筑群)的三维重建,输入图像的数目可以达到上万张。然而,SFM的重建效果依赖特征点的密集程度以及场景纹理的强弱,对于特征点少和弱纹理的场景重建效果一般。N. Snavely等人[2]利用从互联网搜集的知名景点照片,恢复景点三维点云以及照片拍摄位置,使用户能够以全新的方式来浏览景点照片。A. Irschara等人[8]利用SFM对真实场景进行了三维点云重建,再通过将在场景中移动时录制的视频帧配准到场景点云中,实现了对移动轨迹的追踪。
2.2 随机抽样一致算法
随机抽样一致算法(random sample consensus,RANSAC)最早由M. A. Fischler和R. C. Bolles[9]在1981年提出,是一种非确定性算法。它的输入是一组观测数据,输出是能够适应观测数据的参数化模型。RANSAC通过反复选择数据中的一个随机子集来迭代,以达成估计模型参数的目标。该算法主要包括以下步骤:
1)在观测数据中随机选择几个点设为局内点;
2)计算拟合局内点的模型;
3)将除局内点外的观测数据代入模型,计算是否符合模型并记录数量;
4)重复以上步骤直到预设的迭代次数;
5)若某次局内点计算得到的模型拥有数量最多的符合点,那么这些局内点对应的模型就是待求解的模型。
RANSAC需要根据实际的应用场景确定局内点的个数以及迭代次数。RANSAC的这一思想在点云的处理上具有诸多应用。王植等人[10]基于RANSAC提出了从机载LiDAR数据提取建筑物屋顶面片和二维轮廓的算法。R. Schnabel等人[11]将RANSAC应用于对点云中基础几何体的检测,例如平面、球体、圆柱、圆锥等,在点云压缩、形状分类、混合渲染等方面有诸多应用前景。Yang M. Y.等人[12]使用RANSAC方法对激光扫描得到的台阶点云进行了平面检测,取得了较好的检测结果。
2.3 点云的欧式聚类算法
点云聚类常用算法包括欧式聚类、K均值聚类以及区域增长[13]。其中,欧式聚类基于点云之间的欧式距离进行聚类,是最常用的聚类算法之一。欧式聚类的原理较为简单,首先为点云集合P创建Kd树索引,根据点间的欧式距离确定若干点云子集,且每个子集中的某点与集合中其他点的最小欧氏距离小于阈值。在欧式聚类算法中,通过选择合适的阈值,可以有效地将点云分割成若干连通区域。李亮等人[14]利用欧式聚类算法从机载LiDAR点云数据中提取建筑物区域,实现了从机载点云数据中快速提取建筑屋顶点云。
3 基于无人机航拍序列的建筑三维模型重建方法
3.1 重建算法描述
本文考虑立面垂直于地面的建筑,基于前述已有研究,提出基于无人机航拍序列的建筑三维轮廓重建算法,该算法可描述如下:
输入 无人机针对目标建筑航拍的照片序列I;
输出 目标建筑的三维轮廓模型M。
步骤1 使用SFM方法对照片序列I进行处理,得到含有建筑点云的场景点云;过滤点云局外点和噪声,得到点云集合P。
步骤2 使用RANSAC方法检测P中平面,得到地平面G以及建筑各立面的表达式;根据建筑立面与地平面的交线得到建筑在地面的二维轮廓范围B。
步骤3 对剔除地面和立面的点云进行欧式聚类,得到点云子区域的集合C,其中C的子集CB由属于建筑的点云子区域构成。
步骤4 任取地平面G上某点为原点,以地平面为X-Y平面,垂直地平面且指向建筑点云所在方向为Z方向,建立空间直角坐标系,并计算CB中点云在新坐标系下的坐标。步骤5 将包围B的最小矩形区域划分为等大小方格,其中m、n是区域内方格行列数。将CB中的点云垂直投影到平面G,于是可构成建筑的点云与方格之间存在的映射关系:。对所有满足f(p)=g(i, j)的p,取其中点云平均高度(Z坐标)作为方格高度,若某方格无点云投影在其内,则该方格高度为0。步骤6 对高度为0的方格,利用其邻近且位于B内部的方格高度进行插值,更新其高度,得到建筑的柱状模型。对柱状模型进行平面拟合,即可得到建筑平整的三维轮廓模型。
由于点云较稀疏,故步骤6局部区域内立柱高度参差不齐,且部分区域产生“凹陷”现象。解决这一问题的有效方法是调整各局部区域内的立柱至一致高度,这可以用平面拟合的方法完成,从而得到建筑平整的三维轮廓模型。
3.2 实验结果与分析
基于上述方法,本文针对若干建筑进行实验,并选取长沙市中山亭作为示例。实验硬件平台包括无人机、iOS设备和PC,软件平台包括Visual Studio和XCode开发环境。本文使用的无人机是大疆公司的御Pro,质量为734 g,所搭载的高清相机可以拍摄4 000*3 000分辨率的照片,且装载GPS模块和视觉避障系统,最大水平飞行速度为18 m/s,最长飞行时间为27 min,云台相机的俯仰角范围为-90°~+30°。图1显示了无人机、遥控器、iOS设备实物以及长沙市中山亭纪念馆航拍照片样例。
图2给出了中山亭场景点云的地面检测结果。检测出地面后,根据建筑立面法向量和地平面法向量垂直的特征,可以进一步将建筑的立面及立面与地面相交形成的建筑二维轮廓边界提取出来,以便后续界定模型边界。
图2 基于RANSAC的地平面检测结果Fig. 2 Ground plane detection results based on RANSAC
图3给出了剔除地面和建筑立面点云后的点云聚类结果。从图3中可明显看出,点云被分割成地面附近部分、树木部分(绿圈内)和建筑部分(红圈内)等子区域。虽然聚类后得到的建筑部分的点云可能不够完整,但只要建筑的上表面部分的点云完好,就能用来获取建筑的三维轮廓模型。
图3 基于欧式聚类的建筑点云提取结果Fig. 3 Extraction results of the architectural point clouds based on Euclidean clustering
图4是对中山亭柱状模型的重建结果,其中黄色立柱表示该立柱占据的二维方格有点云投影在其内,蓝色立柱表示该立柱高度由邻近方格高度插值得到。对比建筑照片和柱状模型可以看出,建筑顶部的几何体(顶部两立方体区域和水管)得到了较好的重建(分别用绿圈和红圈标出)。
图5显示了由于建筑点云较为稀疏导致的柱状模型出现“凹陷”现象,利用前述RANSAC过程检测到的建筑立面可以确定柱状模型的二维边界。同时,利用平面拟合的方法对立柱的高度进行调整,最后得到齐整的建筑三维轮廓模型(见图6a)。
图4 中山亭照片及其柱状模型重建结果Fig. 4 A comparison of the building and its columnar model
图5 柱状模型部分区域的“凹陷”Fig. 5 Sunken parts of the columnar model
图6 两种不同方法得到的模型Fig. 6 A comparison between the results by MVE and the proposed method
本文针对若干目标建筑进行了三维轮廓重建,实验运行环境为Intel四核处理器4.00 GHz,16 GB内存,64位操作系统。整个重建过程的时间消耗绝大部分在SFM,但是本文选用的方法相比多视角立体视觉重建的方法,时间消耗仍然很低。例如,图6是分别利用本文给出的方法和MVE[15]软件得到的中山亭模型,输入图片均为122张,本文给出方法耗时约0.3 h,而MVE整个重建过程耗时约3.0 h,相比本文方法的高出一个数量级。另外,MVE得到的模型表面有若干“空洞”(图6b红圈所示),而本文的模型相对更加完整,在一些应用场景下(如Google Earth)可以作为真实建筑的代替模型。
4 结语
针对当前建筑三维重建设备昂贵、重建过程耗时长的问题,本研究利用相对廉价的无人机硬件平台,提出了一种快速进行建筑三维重建的方法,得到了保持建筑几何结构和部分细节的三维轮廓模型。与基于昂贵三维重建设备的方法和基于多视角立体视觉的方法相比,本文的方法不仅更加经济,而且能大大减少重建时间,非常适合在对模型细节要求不高的场合下对建筑进行快速建模。
当然,本文的方法也存在一些不足,需要进一步改进。首先,本文的方法只适用于立面垂直地面的建筑,对于表面结构复杂、立面为曲面的建筑不能取得很好的重建效果;其次,本文的方法只针对场景中单个建筑进行了实验,今后可以考虑针对大场景内多建筑进行三维轮廓重建。
[1] GOESELE M,SNAVELY N,CURLESS B,et al.Multi- View Stereo for Community Photo Collections[C]//IEEE 11th International Conference on Computer Vision.Rio de Janeiro: IEEE,2007:1-8.
[2] SNAVELY N,SEITZ S M,SZELISKI R. Photo Tourism:Exploring Photo Collections in 3D[J]. ACM Transactions on Graphics (TOG),2006,25(3):835-846.
[3] SEITZ S M,CURLESS B,DIEBEL J,et al. A Comparison and Evaluation of Multi-View Stereo Reconstruction Algorithms[C]//IEEE Conference on Computer Vision and Pattern Recognition. New York:IEEE,2006:519-528.
[4] 方 璇,钟伯成. 四旋翼飞行器的研究与应用[J]. 上海工程技术大学学报,2015,29(2):113-118.FANG Xuan,ZHONG Bocheng. Research on and Application of Four-Rotor Aircraft[J]. Journal of Shanghai University of Engineering Science,2015,29(2):113-118.
[5] 聂博文,马宏绪,王 剑,等. 微小型四旋翼飞行器的研究现状与关键技术[J]. 电光与控制,2007,14(6):113-117.NIE Bowen,MA Hongxu,WANG Jian,et al. Study on Actualities and Critical Technologies of Micro/Mini Quadrotor[J]. Electronics Optics & Control,2007,14(6):113-117.
[6] DJI. Mobile SDK[EB/OL]. [2017-08-20]. https://developer.dji.com/cn/mobile-sdk/.
[7] HARTLEY R I. Euclidean Reconstruction from Uncalibrated Views[C]//The Second Joint European-US Workshop on Applications of Invariance in Computer Vision. Heidelberg: Springer,1993:237-256.
[8] IRSCHARA A,ZACH C,FRAHM J M,et al. From Structure-from-Motion Point Clouds to Fast Location Recognition[C]// IEEE Conference on Computer Vision and Pattern Recognition. [S. l.]:IEEE,2009:2599-2606.
[9] FISCHLER M A,BOLLES R C. Random Sample Consensus:a Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography[J]. ACM,1981,24(6):381-395.
[10] 王 植,李慧盈,吴立新,等. 基于 RANSAC 模型的机载 LiDAR 数据中建筑轮廓提取算法[J]. 东北大学学报 (自然科学版),2012,33(2):271-275.WANG Zhi,LI Huiying,WU Lixin,et al. Building Outline Extraction from Airborne LiDAR Data Based on RANSAC Model[J]. Journal of Northeastern University(Natural Science),2012,33(2):271-275.
[11] SCHNABEL R,WAHL R, KLEIN R. Efficient RANSAC for Point-Cloud Shape Detection[J]. Computer Graphics Forum,2007,26(2):214-226.
[12] YANG M Y,FÖRSTNER W. Plane Detection in Point Cloud Data[C]//Proceedings of the 2nd International Conference on Machine Control Guidance. Bonn:[s.n.],2010:95-104.
[13] RUSU R B. Semantic 3D Object Maps for Everyday Manipulation in Human Living Environments[J]. KIKünstliche Intelligenz,2010,24(4):345-348.
[14] 李 亮,王 成,李世华,等. 基于机载 LiDAR 数据的建筑屋顶点云提取方法[J]. 中国科学院大学学报,2016,35(4):537-541.LI Liang,WANG Cheng,LI Shihua,et al. Building Roof Point Extraction Based on Airborne LiDAR Data[J].Journal of University of Chinese Academy of Sciences,2016,35(4):537-541.
[15] FUHRMANN S,LANGGUTH F,GOESELE M.MVE-A Multi-View Reconstruction Environment[C]//The Eurographics Workshop on Graphics & Cultural Heritage.Darmstadt:GCH,2014:11-18.
Reconstruction of 3D Architectural Model Based on UAV Images
HUANG Jiabiao,XIONG Yueshan,HE Hongjun
(School of Computer Science,National University of Defense Technology,Changsha 410073,China)
In recent years, with the rapid development of computer technology and the popularity of four-rotor unmanned aerial vehicles equipped with high-de fi nition cameras, three-dimensional reconstruction of buildings based on passive scanning has become a hot issue in the research fi eld of computer vision and graphics. However, current passive scanning methods for modeling are characterized with such fl aws as time-consuming reconstruction and poor quality in the reconstruction of local details. In view of these shortcomings, a three-dimensional model reconstruction method has thus been proposed based on UAV aerial sequences. First, the SFM method is adopted to recover the sparse point cloud of the surrounding scene from the aerial image collection of the target building. Next, by adopting the RANSAC method, an effort has been made to extract the ground and the building facades. And then the point clouds are clustered and extracted to obtain the columnar model of the building. Finally, the 3D model of the building is obtained by smoothing the columnar model. The experimental results show that the 3D model of the building can be obtained quickly by adopting the above-mentioned method, with the contour details of the top of the building well preserved.
UAV;aerial sequence;3D reconstruction;building;3D contour model
TP391.9
A
1673-9833(2017)05-0006-05
10.3969/j.issn.1673-9833.2017.05.002
2017-08-20
国家自然科学基金资助项目(61379103)
黄佳彪(1993-),男,江西抚州人,国防科技大学硕士生,主要研究方向为三维重建,E-mail:754635991@qq.com
熊岳山(1963-),男,湖南沅江人,国防科技大学教授,博士,博士生导师,主要从事图形图像处理和智能计算方面的研究,E-mail:ysxiong@nudt.edu.cn
(责任编辑:廖友媛)