Draco点云压缩测试

ref:
https://github.com/google/draco
https://codelabs.developers.google.com/codelabs/draco-3d/index.html#6

Draco

Draco 是一个用于编码压缩和解压缩 3D 几何网格和点云的库,从而改进 3D 图形的存储和传输
该代码支持压
缩点、连接信息、纹理坐标、颜色信息、法线以及与几何相关的任何其他通用属性

数据压缩/编码工具安装
使用 Draco 的编码工具进行压缩编码:因为是基于 C++的,需要使用 cmake 编译,直接在 Linux 中方便些

git clone https://github.com/google/draco.git
cd draco-master
mkdir build
cd build
cmake ../
make

数据编码命令:

./draco_encoder -point_cloud -i /opt/point_cloud_data/test2.ply -o /opt/point_cloud_data/test2.drc -qp 12 -cl 8

编码器参数说明(影像压缩文件的大小和模型加载视觉质量):

-qp:默认值 11,这 是一种减小3D模型数据大小的主要策略之一,是指将模型顶点位置的精确浮点数值转换为较为粗略的离散整数值。这个转换过程被称为"量化",在这里使用的 12位量化,意味着每个坐标值都会被映射到0到4095(2的12次方减1)之间的整数,这相当于在一个均匀的3D网格中对顶点位置进行取样。原始的顶点位置信息通常是用32位浮点数表示的,而量化为12位整数后,存储需求减少了大约2/3,能显著减少模型数据的大小。
然而,这并不是毫无代价的。量化过程由于金字塔般的信息损失会导致模型的逼真程度降低,可能出现顶点位置不精确,模型表面粗糙等问题。因此,在选择合适的量化比特数时,需要在减小文件大小和保持模型质量之间找到一个平衡。默认的11位量化提供了一个权衡点,而12位量化则提供了更高精度的位置数据,但牺牲了一些压缩效率(越小压缩效果越明显)
-cl:模型的压缩率(压缩级别),设置 10 的压缩程度最高,但解压速度最差,吗,默认值为 7,范围 0-10
-point_cloud:因为与3D模型(通常以网格的形式存在)不同,点云数据不包含任何关于这些点如何相连或组合成物体表面的信息,所以和压缩其他三维数据还有点区别,需要使用这个参数,指定了-point_cloud参数,那么无论你的输入文件是否包含连接信息(即网格),draco_encoder都会忽略这些连接信息,只编码文件中的点的位置信息

遇到的问题:(参数位置。。被官方文档坑了。还有网上下的一个数据的问题)
image.png
压缩前后比对:
700M->30M
image.png
200M->20M
image.png

three 加载:
这里遇到一个奇怪的问题:THREE.DRACOLoader: Unexpected geometry type
draco 解码器版本与 three 版本没对应。。。得去当前包下去考 draco 文件
简单的加载和顶点着色不难,根据打印的信息 buffergeomtry构建点模型即可
这里加载测试两份数据一份大(700M->30M) 的一份小(200M->20M)的
(200M->20M)70 帧左右,卡几秒解压
image.png
image.png
image.png

这个 700 多 M 的加载时解码会卡半分钟左右,帧数 20 多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/442469.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何修复SFC错误“Windows资源保护无法执行请求的操作”?

SFC是Windows中的一个实用程序,它可以扫描和修复Windows系统文件。该命令虽然便捷,但也会因为各种原因而出现错误,比如“Windows资源保护无法执行请求的操作”。如果您也遇到此错误提示,不妨阅读下面的这篇文章了解相应的解决方法…

音视频按照时长分类小工具

应某用户的需求,编写了这款根据音视频时长分类小工具。 实际效果如下: 显示的是时分秒: 核心代码: MediaInfo MI; if (MI.Open(strPathInput.c_str()) 0){return -1;}_tstring stDuration MI.Get(stream_t::Stream_Audio,0,_T…

13:大数据与Hadoop|分布式文件系统|分布式Hadoop集群

大数据与Hadoop|分布式文件系统|分布式Hadoop集群 Hadoop部署Hadoop HDFS分布式文件系统HDFS部署步骤一:环境准备HDFS配置文件 查官方手册配置Hadoop集群 日志与排错 mapreduce 分布式离线计算框架YARN集群资源管理系统步骤一:安装…

遥感生态指数(RSEI)——四个指数的计算

遥感生态指数RSEI(Risk-Screening Environmental Indicators)分布数据是一种基于卫星遥感影像反演计算得到的数据产品。生态环境质量评价在一定程度上反映一个地区生态环境系统的好坏,也可以在一定程度上反映人类社会活动和环境质量的关系,其对可持续发展…

将python编写的网站制作成docker镜像并上传到Github Packages上

文章目录 前言Docker安装docker注意事项 创建Dockerfile注意事项 构建 Docker 镜像运行 Docker 镜像 发布到Github Packages坑坑到位申请token的坑docker登录的坑给镜像添加标签的坑docker推送的坑 在Github Packages上查看总结 前言 还记得上一篇《借助ChatGPT使用Python搭建…

《Graphis》杂志报道,凯毅文化斩获两项国际金奖

一、凯毅文化获美国Graphis 2024年度奖金奖   近日,收到美国《Graphis》团队邮件约稿,将对深圳凯毅文化获得Graphis年度金奖的作品《城市与自然》进行案例报道。在Graphis 2024年度奖项评选中,凯毅文化作品获得一项金奖,二项银奖…

原生JavaScript,根据后端返回JSON动态【动态列头、动态数据】生成表格数据

前期准备&#xff1a; JQ下载地址&#xff1a; https://jquery.com/ <!DOCTYPE html> <html><head><meta charset"utf-8"><title>JSON动态生成表格数据,动态列头拼接</title><style>table {width: 800px;text-align: cen…

如何用一台电脑主机连两个显示器同步?

本文介绍如何使用一台电脑主机连接两台显示器并同步两台显示器&#xff01; 有两种方法。 方法一&#xff1a;使用两根信号线将两台显示器连接至显卡上的两个视频输出接口。 计算机显卡必须支持双输出&#xff0c;具有两个视频接口&#xff0c;用于连接不同的显示器。 设置方…

学习与学习理论 - 2024教招 - test

一 方向 方向性很重要&#xff0c;像学投篮一样关注发力顺序才是关键出发点&#xff0c;如果这个出发点没确定下来&#xff0c;会走许多弯路。所有学习理论大的观点&#xff0c;到某个人物个人的观点。被干掉之前&#xff08;不能被干掉&#xff09;&#xff0c;掌握所需的知识…

20240309-2-校招前端面试常见问题-NodeJS

校招前端面试常见问题【6】——NodeJS NodeJS Q&#xff1a;NodeJS 的 IO 模型特点是什么&#xff1f;与多线程同步 IO 有什么不同&#xff1f; NodeJS 的 IO 模型&#xff08;更准确的说是 js 的执行环境&#xff0c;也就是 v8&#xff09;的特点是“单线程异步非阻塞”。 …

数据资产运营:快消品牌的新竞争力

在数字化浪潮的推动下&#xff0c;快消品行业正经历一场由数据驱动的变革。从消费者购买行为到市场动态&#xff0c;数据正在成为快消品牌创新和维持竞争优势的关键资源。本文将探讨如何通过高效的数据资产运营提升快消品牌的市场敏锐度和业务成效。 一、数据资产在快消品牌中的…

学习JavaEE日子 Day24 TreeSet,内置比较器,外置比较器,HashMap

Day24 TreeSet 1.TreeSet 1.1 TreeSet的使用 注意&#xff1a;TreeSet的使用和HashSet一样 public class Test01 {public static void main(String[] args) {//创建TreeSet集合的对象TreeSet<String> set new TreeSet<>();//添加元素set.add("麻生希"…

优先权的不同特征性质

目录 1.强占式&#xff0c;静态优先权&#xff0c;动态优先权 2.先来服务算法&#xff0c;高响应比优先算法&#xff0c;时间片轮转算法&#xff0c;非抢占式短任务优先 1.强占式&#xff0c;静态优先权&#xff0c;动态优先权 2.先来服务算法&#xff0c;高响应比优先算法&am…

day11_SpringCloud(Nacos注册中心,LoadBalancer,OpenFeign)

文章目录 Spring Cloud Alibaba1 系统架构演进1.1 单体架构1.2 微服务架构1.3 分布式和集群 2 Spring Cloud Alibaba概述2.1 Spring Cloud简介2.2 Spring Cloud Alibaba简介 3 微服务环境准备3.1 工程结构说明3.2 父工程搭建3.3 用户微服务搭建3.3.1 基础环境搭建3.3.2 基础代码…

Luajit 2023移动版本编译 v2.1.ROLLING

文章顶部有编好的 2.1.ROLLING 2023/08/21版本源码 Android 64 和 iOS 64 luajit 目前最新的源码tag版本为 v2.1.ROLLING on Aug 21, 2023应该是修正了很多bug, 我是出现下面问题才编的. cocos2dx-lua 游戏 黑屏 并报错: [LUA ERROR] bad light userdata pointer 编…

德人合科技|天锐绿盾加密软件——数据防泄漏系统

德人合科技是一家专注于提供企业级信息安全解决方案的服务商&#xff0c;提供的天锐绿盾加密软件是一款专为企业设计的数据安全防护产品&#xff0c;主要用于解决企事业单位内部敏感数据的防泄密问题。 www.drhchina.com PC端&#xff1a; https://isite.baidu.com/site/wjz012…

同时上内网和外网(笔记本自带的无线网卡和另外购置无线网卡)

同时上内网和外网 两无线网卡连接内外网插入新网卡后&#xff0c;重命名网卡名字信息收集IPv4属性设置永久路由 两无线网卡连接内外网 插入新网卡后&#xff0c;重命名网卡名字 两网卡同时连接网络&#xff0c;使用ipconfig /all 获取信息&#xff0c;整理如下&#xff1a; 下…

[BUUCTF]-PWN:starctf_2019_babyshell解析(汇编\x00开头绕过+shellcode)

查看保护 查看ida 这里就是要输入shellcode&#xff0c;但是函数会有检测。 在shellcode前面构造一个以\x00机器码开头的汇编指令&#xff0c;这样就可以绕过函数检查了。 完整exp&#xff1a; from pwn import* context(log_leveldebug,archamd64) pprocess(./babyshell)she…

CorelDRAW Standard2024适合业余爱好者和家庭企业的图形设计软件

CorelDRAW Standard 2024是一款功能强大的矢量图形设计软件&#xff0c;专为图形爱好者、家庭用户、微型企业和学生们设计。该软件在Windows平台上运行&#xff0c;并提供了智能对象、布局、插图和模板等功能&#xff0c;帮助用户快速创建高质量的设计作品。 CorelDRAW Standa…

npm install没有创建node_modules文件夹

问题记录 live-server 使用时 报错&#xff1a;live-server : 无法将“live-server”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 npm install 安装 但是 这时npm install没有创建node_modules文件夹&#xff0c;只生成package-lock.json文件 方法一&#xff1a; 手…