文档

点云压缩

更新时间:

点云是海量点的集合,存储点云不仅会消耗大量的存储空间,而且传输不经过压缩的点云文件需要消耗大量的带宽,传输成本很高,因此需要对点云进行压缩。

使用场景

  • 自动驾驶:压缩自动驾驶场景中雷达扫描产生的点云数据。

  • 数字文博:为文物数字化场景中产生的文物点云信息提供压缩方案。

  • 智慧城市:对城市三维重建产生的点云信息进行有效的数据压缩,实现数据流畅的渲染展示。

  • 混合现实:为混合现实场景中的点云数据提供实时编码解码能力。

注意事项

  • 点云压缩仅支持同步处理(x-oss-process处理方式)。

  • 使用点云压缩前,需要先绑定IMM Project。关于控制台和API如何绑定,请参见快速入门AttachOSSBucket

  • 不支持匿名访问。

  • 必须拥有IMM处理所需的相关权限。更多信息,请参见权限

参数说明

操作名称:pointcloud/compress

具体参数如下表所示。

参数

类型

是否必须

描述

f

string

pcd文件的格式,当前仅支持pcd格式。

m

string

点云文件压缩方式。取值:

  • kdtree:K-d树。

  • octree:八叉树。

fs

string

参与压缩的PCD属性字段以及压缩顺序,压缩完成后以此顺序进行解压数据,当前仅支持xyz属性。

说明

该参数需要使用URL Safe编码,请求时使用eHI6。

Octree压缩方式参数,拼接在/octree参数后。

具体参数如下表所示:

参数

类型

是否必须

描述

lib

string

压缩库名称,当前仅支持pcl。

pr

float

点云分辨率,该变量决定了点的坐标在编码时可以精确的程度,默认值为0.01,取值范围是[0, 1]。

or

float

划分八叉树时最小块, 即voxel的边长,默认值为0.01,取值范围是[0, 1]。

d

int

是否使用下采样。传1时表示使用下采样,默认使用。

Kdtree压缩方式参数,拼接在/kdtree参数后。

具体参数如下表所示:

参数

类型

是否必须

描述

lib

string

压缩库名称,当前仅支持draco。

cl

int

压缩率,压缩率越大细节效果越好。取值范围为[0,10]。

qb

int

量化位数,数值越大细节保留越多。取值范围为[1,31]。

使用REST API

使用Octree压缩方式压缩点云文件

处理方式

  • 压缩文件:example.pcd

  • 压缩方式:Octree

    • 压缩库:pcl

    • 点云分辨率:0.01

    • 划分八叉树最小块:0.01

    • 是否使用下采样:1

  • 压缩PCD字段:xyz

处理示例

GET /example.pcd?x-oss-process=pointcloud/compress,m_octree,fs_eHl6/octree,or_0.001,pr_0.001,d_1,lib_pcl  HTTP/1.1
Host: file-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****

返回示例

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Wed, 25 May 2022 12:15:44 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
x-oss-request-id: 628E1DEF184E20BB21000004
x-oss-transfer-acc-type: acc-none
x-oss-data-location: oss-cn-hangzhou-a
ETag: "E168EDBFAB5130BCA80EDF84E4E10B59"
Last-Modified: Sat, 02 Apr 2022 11:53:20 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 5454933848876226229
x-oss-storage-class: Standard
x-oss-server-time: 865

{{压缩后的二进制数据}}

使用Kdtree压缩方式压缩点云文件

处理方式

  • 压缩文件:example.pcd

  • 压缩方式:Kdtree

    • 压缩库:draco

    • 压缩率:1

    • 量化位数:1

  • 压缩PCD字段:xyz

处理示例

GET /example.pcd?x-oss-process=pointcloud/compress,m_kdtree,fs_eHl6/kdtree,cl_0,qb_0,lib_draco  HTTP/1.1
Host: file-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****

返回示例

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Wed, 25 May 2022 12:15:44 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
x-oss-request-id: 628E1DEF184E20BB21000004
x-oss-transfer-acc-type: acc-none
x-oss-data-location: oss-cn-hangzhou-a
ETag: "E168EDBFAB5130BCA80EDF84E4E10B59"
Last-Modified: Sat, 02 Apr 2022 11:53:20 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 5454933848876226229
x-oss-storage-class: Standard
x-oss-server-time: 865

{{压缩后的二进制数据}}

使用SDK

点云压缩仅支持同步处理,SDK使用方法请参见使用SDK

  • 本页导读 (1)
文档反馈