机载全波形LiDAR数据LAS格式解析和快速提取研究

2017-05-17 11:41姚松涛邢艳秋李梦颖闫灿
森林工程 2017年3期
关键词:激光雷达数据包内存

姚松涛,邢艳秋,李梦颖,闫灿

(东北林业大学森林作业与环境研究中心,哈尔滨 150040)

机载全波形LiDAR数据LAS格式解析和快速提取研究

姚松涛,邢艳秋*,李梦颖,闫灿

(东北林业大学森林作业与环境研究中心,哈尔滨 150040)

机载全波形激光雷达(LiDAR)数据的提取是其后续分析和处理的首要工作,为快速提取机载全波形LiDAR文件数据,本文以研究区内采集的Leica ALS60激光雷达系统记录的LAS1.3格式全波形文件数据为研究对象,以IDL8.3为编程开发平台,在对LAS1.3全波形文件格式解析的基础上,分析机载全波形LiDAR文件的数据结构与数据组织,判断出全波形文件中记录的全波形数据和点数据各自的存储位置,然后应用内存映射文件方法,映射出全波形文件数据在内存中的映射标识,进而得到文件映射内核对象,之后结合Leica ALS60 LAS1.3全波形文件的主要字段参数值与全波形文件数据提取顺序流程,结果表明本研究方法适合于LAS1.3二进制全波形大文件数据的读取且效率很高,完成其全波形文件中波形数据的快速提取研究与可视化显示,为全波形数据的波形分解和应用工作奠定基础。

机载激光雷达;全波形数据;格式解析;快速提取

0 引言

激光雷达(Light Detection And Ranging,LiDAR)作为一种主动式遥感技术,通过发射激光脉冲和接收返回脉冲的方式,来获取高精度的空间结构和地形信息[1-2]。随着数据存储能力和处理速度的提高,机载LiDAR系统目前能以很小的等时间间隔按先后顺序记录存储着整个返回脉冲,为一系列随时间变化的返回信号,这些返回信号被称为全波形/波形数据[3-4]。

通过对全波形数据进行分析处理,能够检测到更多的目标物特征信息,且全波形数据转换后得到的点云数量较系统自动获取的点云数量具有一定幅度的增加,精度会有所提高[5-7]。对全波形数据进行分析处理的关键技术包括全波形数据文件的读取与波形分解等[8-9],其中全波形文件的读取是首要前提。虽然Andre Samberg曾在2007年的ISPRS会议上解析并比较了多种版本的LAS文件格式,国内的张靖[10]等在对LAS格式进行解析的基础上,针对LAS变长记录的扩展域,介绍了一些实际的应用,刘春等[11]在对LAS格式进行解析的基础上,提出了读取LAS1.0格式点云文件的方法并检验了LAS格式的效率,赵自明等[12]提出了采用内存映射技术对点云文件进行快速读取的思想,学者相继对从不同方面对LAS格式不同版本文件进行了分析,但是没有涉及LAS1.3格式全波形文件及其全波形数据信息的,总体而言,相关研究的报道相对较少。本研究基于Leica ALS60激光雷达系统实时记录存储的全波形文件,进行了LAS1.3激光雷达标准数据格式的解析和快速读取研究,为进一步的全波形数据分析和处理工作奠定基础。

1 研究区与数据

1.1 研究区概况

本研究选择内蒙古自治区额尔古纳市东南部的依根农林交错区作为研究区域,其东与牙克石市为邻,东南与陈巴尔虎旗相连,西和西南与拉布大林农牧场接壤,北与三河马场交界,东北与根河市毗邻。海拔高度为600 ~ 700 m,属寒温带大陆性季风气候,具有较复杂的山岳地形地貌特征。地理位置坐标为120°36′50.48″E ~ 120°52′56.53″E,50°21′11.08″N~50°24′32.00″N。植物资源以天然次生白桦林(Betulaplatyphylla)为主,混生树种包括落叶松(Larixgmelinii)、樟子松(Pinussylvestrisvar.mongolica)等,林下灌木层主要由石棒绣线菊(Spiraeamedia)、筐柳(Salixlinearistipularis)等组成。

1.2 机载全波形LiDAR数据

本研究机载全波形LiDAR数据采集时间为2012年8月26日,天气状况良好,采用的飞机型号为运5,相对飞行高度1 300 m,搭载的LiDAR扫描系统为Leica ALS60,采用的大地坐标系统为WGS84,投影坐标系统为UTM。Leica ALS60系统最高扫描频率为200 kHz,最大视场角为75°。每个激光脉冲在地面上所形成的光斑直径大约为0.2~0.3 m,全波形数据是由采样器对接收望远镜收集后的返回脉冲进行数字化采样处理形成,记录了激光光斑内目标物对应的完整波形数据[13-14]。采集的全波形数据使用的文件类型为LAS1.3,以二进制格式存储,记录了接收的完整波形数据,包括采样间隔和实时记录的方位及波形特征信息等。在进行数据应用时,需将原始数据的二进制格式转换为十进制数据格式,在转换过程中需要借助一定的编程语言和方法来实现[15-16]。

2 格式解析与提取方法

2.1 Leica ALS60波形文件的格式解析

本研究Leica ALS60系统采集的LAS1.3格式全波形文件具有很好的严谨性和开放性,存储全波形数据情况下包含4个分区,分别为公共头块区、变长记录区、点记录区和扩展变长记录区。存储全波形数据的LAS1.3格式的组成结构见表1。

表1 LAS1.3格式组成Tab.1 LAS1.3 format

其中所有数据都是小端字节序格式,即低位字节放在内存的低地址端,高位字节放在内存的高地址端。公共头块区是一个公共区,后面紧接着变长记录区,公共头块区包含一些描述数据整体情况的记录,比如点数据记录个数、坐标边界等。变长记录区包含了一些变长类型数据,包括投影信息、元数据信息、波形数据包信息和用户应用数据等,如果包含波形数据包的话,那么它一定位于所有点数据记录的末尾,其被放置在该处是为了便于对它分离或实体化,且该记录是一个扩展变长记录。扩展变长记录的存储格式为无符号超长整型,允许存储比变长记录更多的信息。点数据记录区存储着点数据记录的相关信息,以及全波形数据相关参数,此外扩展变长记录区有且仅有一个,位于所有点数据记录区之后。其中任何不需要或不用的字段都被赋为0值或空字符。解析出LAS1.3格式文件的数据结构与数据组织情况如图1所示。

图1 LAS1.3文件的数据结构与数据组织Fig.1 Data structure and data organization of LAS1.3 file

通过上述内容可知,Leica ALS60 LAS1.3格式全波形文件在存储全波形数据的同时也存储点数据。因此,判断全波形数据和点数据各自的存储位置对全波形数据的提取十分重要,其中与全波形数据提取相关的重要参数如下:

(1)公共头块区的“点数据格式ID”字段,其值用来判断文件中是否包含全波形数据;“波形数据包记录起始位置”字段,其值表示从文件起始处到扩展变长记录文件头的字节数。

(2)变长记录区的“用户ID”和“记录ID”字段。若读取的“用户ID”为“LASF_Spec”同时“记录ID”值在[100,356]区间时,则该变长记录里包含有波形包描述器,它存储着关键的波形数字化信息,如波形采样位数、波形压缩类型、采样数、采样时间间隔、数字化增益值和数字化偏移值等信息。

(3)点数据记录区的“波形包描述器索引”,“波形数据偏移量”和“波形数据包大小”字段。由于LAS1.3文件格式能够支持255个波形包描述器,则某一点数据对应的波形包描述器是由波形包描述器索引值确定的,它指向着描述该点数据波形信息的具体用户定义记录,且其值为0时表示该点数据没有对应的波形数据。同时LAS1.3格式文件中的波形数据包存储在扩展变长记录里,若文件中存储有波形数据包,那么它在文件中的绝对起始位置为波形数据包记录起始位置值与波形数据偏移量值的和。其中,波形数据偏移量表示扩展变长记录里波形数据包相对于扩展变长记录文件头起始位置的字节数。

2.2 波形数据快速提取方法

通过Leica ALS60 LAS1.3全波形文件的格式解析,并根据计算机系统的访问内存速度比访问硬盘速度快很多的原理,在读取全波形数据时如果较多访问内存而较少访问硬盘,那么读取速度将会快速提升。基于这种思路,本研究借助IDL编程语言使用内存映射文件方法[17-18]实现研究区Leica ALS60 LAS1.3全波形数据的快速提取。内存映射文件方法在操作系统中保留一个地址空间区域,并将物理存储器添加到该区域,该物理存储器是指硬盘上的某个文件,文件一旦被映射就可以直接访问到它并进行文件的读取。本研究使用内存映射文件方法读取LAS1.3全波形文件的操作步骤为:

(1)创建一个文件内核对象,用以标识映射到内存的全波形文件。

(2)创建一个文件映射内核对象,用以通知操作系统该文件的大小以及该文件的访问方式。

(3)将文件映射对象全部映射到进程地址空间中,此时整个文件被映射成一个视图,映射函数会返回指向该文件视图在进程地址空间中的起始地址指针。

(4)进行全波形数据读取流程图(图2)的所有操作,其中,将流程中所有的读取操作替换为获取映射文件位置指针的Point_Lun函数操作,主要为:

①读取公共头块,获取“点数据包记录格式ID”、“波形数据包记录起始位置”字段值等参数,用于判断文件中是否存储全波形数据。

②根据公共头块的“变长记录个数”字段逐条读取变长记录,并判断各变长记录头里的“用户ID”和“记录ID”字段,如果“用户ID”为“LASF_Spec”且“记录ID”的值在[100,356]区间内,则该变长记录的记录区内包含波形包描述器,根据波形包描述器读取该波形采样个数、采样时间间隔等信息;如果这两字段为其他内容,则跳过该变长记录的记录区,继续读取下一个变长记录并进行相同的操作,直到大于变成记录个数时结束;

③之后根据公共头块的点数据记录格式ID为4或5时,结合“点数据记录个数”字段逐条循环读取点数据记录及对应的波形数据,如果点数据记录里的“波形包描述器索引”字段值为0,则该点数据记录没有对应的波形数据,直接读取下一条点数据记录;如果此字段值在[1,255]区间内,则该点数据记录包含对应的波形数据,接着读取之后的“波形数据偏移量”,“波形数据包大小”,及“X(t),Y(t),Z(t)”等字段值,为后续的波形数据包读取及波形分析处理提供信息。

④读取波形数据包,将指针由文件起始位置偏移到其绝对起始位置处,结合波形数据包大小读取波形数据,波形数据包在文件中的绝对起始位置为波形数据包记录起始位置值与波形数据偏移量值的和。

⑤读取全波形数据振幅值,根据波形包描述器索引值以及波形采样个数、采样间隔等信息,读取对应的原始波形振幅值。继续读取下一个点数据记录并进行前三步操作,直到大于点数据记录个数时结束,从而完成全波形数据的快速读取。

使用完内存映射文件方法后,接下来就是清除它的步骤。

(5)从进程的地址空间撤消文件映射内核对象的映射。

(6)关闭文件映射内核对象。

(7)关闭文件内核对象。

图2 全波形数据读取流程图Fig.2 Flow chart of reading full-waveform data

原始全波形文件以二进制形式提供,不被一般软件识别和应用,在实际编码中,首先把原始二进制文件映射到进程地址空间中,然后把文件复制到事先定义的数组变量内存空间中,最后在内存中生成ASCII文件,并把ASCII文件以十进制的形式输出以便于显示,为后续全波形数据的分析和处理奠定基础。

3 结果分析

本研究按照上述内容和方法借助IDL8.3平台实现了研究区采集的机载全波形LiDAR数据的读取,并以点云和波形的方式显示出来,结果见表2和图3(某一条波形数据)。表2中的X0,Y0,Z0表示波形数据起始点(起始点时间为0,单位为皮秒)的三维大地坐标,X(t0),Y(t0),Z(t0)表示波形数据起始点的坐标参量信息,它们是后续全波形数据波形点云化的重要解算参数。此外,不仅顺利读取了全波形数据,同时还获取了与全波形数据和点云数据相关的参数,如采样的起始时间、结束时间、采样个数和采样间隔等,这些数据能够为后续的波形分解和分析利用提供基础参数信息。

表2 激光雷达点云数据信息Tab.2 LIDAR point cloud data information

图3 本实例程序显示的波形Fig.3 The waveform of this example program

通过图3读取结果可知波形采样数为128,采样间隔为1ns,以及对应的原始波形振幅值,相较于传统离散回波LiDAR,全波形LiDAR存储整个返回波形,每一个波形分量对应着不同的目标物垂直结构,是后续波形处理和应用的关键。通过对原始采用内存映射文件方法来访问硬盘上的数据文件,可以不必对文件执行I/O操作,也可不必对文件内容进行缓存,因而该方法用于二进制大文件数据的读取,效率很高。至此,机载全波形LiDAR数据格式解析和快速提取流程结束,以便全波形数据的后续处理和应用。

4 结论与讨论

机载全波形LiDAR系统不仅能记录目标物的三维坐标信息,还能存储整个返回波形,从而可以按照相应研究领域对全波形数据进行处理和使用。LAS1.3格式作为LiDAR数据的标准格式也逐渐发展成熟,其结构严谨,便于扩展。

由于读取全波形数据文件需要专业软件,本研究以采集的LAS1.3全波形文件为研究数据,在其格式解析的基础上,以IDL8.3作为开发平台,应用内存映射文件方法实现了文件中的全波形数据的快速读取和可视化显示,为后续的波形分解与应用奠定基础。由于受到全波形数据本身条件等原因的限制,本研究没有对读取出的波形特征信息和能量信息进行详细的讨论,将在后续的工作中进行研究和分析处理。

[1]尤号田,邢艳秋,王萌,等.小光斑激光雷达数据估测森林生物量研究进展[J].森林工程,2014,30(3):39-42.

[3]李增元,刘清旺,庞勇.激光雷达森林参数反演研究进展[J].遥感学报,2016,20(5):1138-1150.

[4]Koenig K,Höfle B.Full-Waveform airborne laser scanning in vegetation studies—a review of point cloud and waveform features for tree species classification[J].Journal of ARID Environments,2016,7(9):198-207.

[5]李奇,马洪超.基于激光雷达波形数据的点云生产[J].测绘学报,2008,37(3):349-354.

[6]Farid A,Goodrich D C,Bryant R,et al.Using airborne lidar to predict Leaf Area Index in cottonwood trees and refine riparian water-use estimates[J].Journal of ARID Environments,2008,72(1):1-15.

[7]Mallet C,Bretar F.Full-waveform topographic lidar:State-of-the-art[J].Isprs Journal of Photogrammetry & Remote Sensing,2009,64(1):1-16.

[8]徐光彩.机载LIADR波形数据处理及分类研究[D].南京:南京林业大学,2010.

[9]Reitberger J,Schnörr C,Krzystek P,et al.3D segmentation of single trees exploiting full waveform LIDAR data[J].Isprs Journal of Photogrammetry & Remote Sensing,2009,64(6):561-574.

[10]张靖,高伟.LAS格式解析及其扩展域的应用[J].测绘科学,2008,33(3):154-155.

[11]刘春,姚银银,吴杭彬.机载激光扫描(LIDAR)标准数据格式(LAS)的分析与数据提取[J].遥感信息,2009(4):38-42.

[12]赵自明,史兵,田喜平,等.LAS格式解析及其数据的读取与显示[J].测绘技术装备,2010,12(3):17-20.

[13]卢昊,庞勇,徐光彩,等.机载激光雷达全波形数据与系统点云差异的定量分析[J].武汉大学学报信息科学版,2015,40(5):588-593.

[14]Wagner W,Ullrich A,Ducic V,et al.Gaussian decomposition and calibration of a novel small-footprint full-waveform digitising airborne laser scanner[J].Isprs Journal of Photogrammetry & Remote Sensing,2006,60(2):100-112.

[15]王爱娟,邢艳秋,邱赛,等.基于窗函数的林区ICESat-GLAS波形数据消噪研究[J].西北林学院学报,2016,31(1):214-220.

[16]邱赛,邢艳秋,田静,等.星载LiDAR与HJ-1A/HSI高光谱数据联合估测区域森林冠层高度[J].林业科学,2016,52(5):142-149.

[17]于慧彬,齐鹏,梁捷,等.内存映射文件在大数据量海洋调查数据处理中的应用[J].海洋技术学报,2010,29(1):32-35.

[18]杨群.在VB利用内存映射文件读取大数据量原始遥感影像图[J].计算机工程与应用,2003,39(6):135-137.

Research on LAS Format Parsing and Fast Extraction ofAirborne Full-waveform LiDAR Data

Yao Songtao,Xing Yanqiu*,Li Mengying,Yan Can

(Center for Forest Operation and Environment,Northeast Forestry University,Harbin,Heilongjiang,150040,China;)

Full-waveform extraction airborne light detection and ranging (LiDAR) priority data is processed and its subsequent analysis,in order to quickly extract airborne LiDAR full-waveform data file,LAS1.3 paper study area acquired Leica ALS60 recording laser radar system full waveform data file format research data to IDL8.3 programming development platform,based on the full-wave file format parsing LAS1.3 analyzed on-board data structure and organize the full waveform LiDAR data file,determines the full waveform File records in the full waveform data and point data storage location,and then apply the memory mapping file method,mapping the full waveform file data in memory mapping logo,and then get the file mapping kernel object,followed by Leica ALS60 LAS1.3 the main field of document parameters with the waveform data of full waveform file extraction process sequence,study results show that the method is suitable for large full waveform LAS1.3 binary file data reading and high efficiency,rapid completion of its full-wave waveform data file extraction and visual display,the waveform decomposition and lay-yl application work full waveform data.

AirborneLiDAR;Full-waveform data;Formatparsing;Fast extraction

2017-04-19

林业公益性行业科研专项(201504319);国家重点基础研究发展计划项目(2013CB733404)

姚松涛,硕士研究生。研究方向:机载全波形激光雷达。

*通信作者:邢艳秋,博士,教授。研究方向:森工管理与林业信息工程。E-mail:yanqiuxing@nefu.edu.cn

姚松涛,邢艳秋,李梦颖,等.机载全波形LiDAR数据LAS格式解析和快速提取研究[J].森林工程,2017,33(4):64-68.

S 771.8

A

1001-005X(2017)04-0064-05

猜你喜欢
激光雷达数据包内存
手持激光雷达应用解决方案
基于Jpcap的网络数据包的监听与分析
法雷奥第二代SCALA?激光雷达
“春夏秋冬”的内存
基于激光雷达通信的地面特征识别技术
SmartSniff
基于激光雷达的多旋翼无人机室内定位与避障研究
内存搭配DDR4、DDR3L还是DDR3?
基于内存的地理信息访问技术
移动IPV6在改进数据包发送路径模型下性能分析