點(diǎn)云壓縮
點(diǎn)云是海量點(diǎn)的集合,存儲點(diǎn)云不僅會(huì)消耗大量的存儲空間,而且傳輸不經(jīng)過壓縮的點(diǎn)云文件需要消耗大量的帶寬,傳輸成本很高,因此需要對點(diǎn)云進(jìn)行壓縮。
使用場景
自動(dòng)駕駛:壓縮自動(dòng)駕駛場景中雷達(dá)掃描產(chǎn)生的點(diǎn)云數(shù)據(jù)。
數(shù)字文博:為文物數(shù)字化場景中產(chǎn)生的文物點(diǎn)云信息提供壓縮方案。
智慧城市:對城市三維重建產(chǎn)生的點(diǎn)云信息進(jìn)行有效的數(shù)據(jù)壓縮,實(shí)現(xiàn)數(shù)據(jù)流暢的渲染展示。
混合現(xiàn)實(shí):為混合現(xiàn)實(shí)場景中的點(diǎn)云數(shù)據(jù)提供實(shí)時(shí)編碼解碼能力。
注意事項(xiàng)
點(diǎn)云壓縮僅支持同步處理(x-oss-process處理方式)。
使用點(diǎn)云壓縮前,需要先綁定IMM Project。關(guān)于控制臺和API如何綁定,請參見快速入門和AttachOSSBucket。
不支持匿名訪問。
必須擁有IMM處理所需的相關(guān)權(quán)限。更多信息,請參見權(quán)限。
參數(shù)說明
操作名稱:pointcloud/compress
具體參數(shù)如下表所示。
參數(shù) | 類型 | 是否必須 | 描述 |
f | string | 否 | pcd文件的格式,當(dāng)前僅支持pcd格式。 |
m | string | 是 | 點(diǎn)云文件壓縮方式。取值:
|
fs | string | 否 | 參與壓縮的PCD屬性字段以及壓縮順序,壓縮完成后以此順序進(jìn)行解壓數(shù)據(jù),當(dāng)前僅支持xyz屬性。 說明 該參數(shù)需要使用URL Safe編碼,請求時(shí)使用eHI6。 |
Octree壓縮方式參數(shù),拼接在/octree
參數(shù)后。
具體參數(shù)如下表所示:
參數(shù) | 類型 | 是否必須 | 描述 |
lib | string | 否 | 壓縮庫名稱,當(dāng)前僅支持pcl。 |
pr | float | 否 | 點(diǎn)云分辨率,該變量決定了點(diǎn)的坐標(biāo)在編碼時(shí)可以精確的程度,默認(rèn)值為0.01,取值范圍是[0, 1]。 |
or | float | 否 | 劃分八叉樹時(shí)最小塊, 即voxel的邊長,默認(rèn)值為0.01,取值范圍是[0, 1]。 |
d | int | 否 | 是否使用下采樣。傳1時(shí)表示使用下采樣,默認(rèn)使用。 |
Kdtree壓縮方式參數(shù),拼接在/kdtree
參數(shù)后。
具體參數(shù)如下表所示:
參數(shù) | 類型 | 是否必須 | 描述 |
lib | string | 否 | 壓縮庫名稱,當(dāng)前僅支持draco。 |
cl | int | 是 | 壓縮率,壓縮率越大細(xì)節(jié)效果越好。取值范圍為[0,10]。 |
qb | int | 是 | 量化位數(shù),數(shù)值越大細(xì)節(jié)保留越多。取值范圍為[1,31]。 |
使用REST API
使用Octree壓縮方式壓縮點(diǎn)云文件
處理方式
壓縮文件:example.pcd
壓縮方式:Octree
壓縮庫:pcl
點(diǎn)云分辨率: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 qn6q**************:77Dv****************
返回示例
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
{{壓縮后的二進(jìn)制數(shù)據(jù)}}
使用Kdtree壓縮方式壓縮點(diǎn)云文件
處理方式
壓縮文件:example.pcd
壓縮方式:Kdtree
壓縮庫:draco
壓縮率:1
量化位數(shù):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 qn6q**************:77Dv****************
返回示例
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
{{壓縮后的二進(jìn)制數(shù)據(jù)}}
使用SDK
點(diǎn)云壓縮僅支持同步處理,SDK使用方法請參見使用SDK。