细数生活中的压缩点滴 第二章 基于深度学习的三维点云几何压缩

细数生活中的压缩点滴 第二章 基于深度学习的三维点云几何压缩

文章转发自51CTO【ELT.ZIP】OpenHarmony啃论文俱乐部——细数生活中的压缩点滴 

第二章 基于深度学习的三维点云几何压缩

2.1 背景

过去几年间,人工智能得到了迅猛式发展,深度学习作为人工智能的主流技术,已经成功应用于解决各种二维视觉问题。三维层面上,由于点云表示在计算机视觉、自动驾驶、增强现实(AR)、智慧城市、虚拟现实(VR)等领域有着广泛的应用,因此,深度学习取代如PCL(编者注:点云库Point Cloud Library的缩写)、Draco(编者注:谷歌开源3D 数据压缩算法)等传统方式处理点云数据,成为当今或未来的必然趋势。点云数据在自动导航、沉浸传播等现实生活领域发挥着重要作用,为了应对数据传输效率和数据存储的严格要求,需要采用更高压缩比的相关无损压缩方案,相关学者提出了在当时2019年可能是第一个基于深度学习的点云压缩算法。2020年起,逐渐火热起来,而当下,相关技术已较成熟。

2.2 何为“点云”
点云就是某个三维坐标系下一些点(X, Y, Z, Nx, Ny, Nz)的集合,但是这些点并不是普通的点,它包含了丰富的信息,每一个点都会有属于自己的X、Y、Z坐标及相对应的法向量,因为大量的离散点聚集在一起,放远了看就像一片片云,所以便称之为了点云。简单来看,我们能够掌握事物的轮廓。通过点的颜色,能够知道点的稠密,从而得到其他属性。

那么这些3D点是如何获取的?它们主要是由激光雷达等传感器扫描得到,目的是为了更好地表达位置信息。

画面中这些看起来像热成像的东西就是点云数据。

2.2.1 点云生成

点云生成有算法和软件两种方式,很多是基于深度学习算法将无人机拍摄的图像做成3D点云。

2.2.2 点云补全

整体来说类似于GAN和Unet编解码网络的感觉,其中,GAN(编者注:Generative Adversarial Network,简称GAN)全称生成对抗网络,可用于目前比较火热的换脸等媒体场景,OMGD(编者注:是字节自研的GAN(生成对抗网络)压缩算法,在保证生成效果不变的前提下,算力消耗最低可以减少到原来的1/46,相比之前业界的最佳压缩效果提升一倍多。)是相关的前沿压缩算法。

2.6 点云几何压缩

点云是一大堆点,存储这些点云数据会大量消耗内存,而且不利于传输。举个不是特别恰当的例子,假如未来有一天你正开着无人驾驶车,开的过程中它突然无人驾驶系统突然卡了,那就一失两命了。有人可能会说我们只要不断的往车里堆加内存不就行了?但是车的容量是有限的,堆加这些设备就意味着要增大车的体积或者降低其它部件的体积,而且汽车厂商更要考虑成本。

所以,为了大家都从中获益,点云压缩显得尤为重要。

点云压缩一直是计算机图形学的一个重要研究方向,包括三种类型:几何压缩属性压缩动态运动补偿压缩,这里研究几何压缩。一般而言,体素模型的体、面、边、点的形状分布既不规则、也不均衡,其它压缩技术难以适应它的特点以取得高效的压缩结果。而几何压缩用尽可能少的比特来反应连接信息和几何信息,并将这些比特顺序排列形成比特数据流,然后用数据压缩方法压缩这个比特数据流。其传统的算法主要是PCL和Draco,新兴的也就是本文关注的,是基于深度学习的稀疏点云几何压缩算法,它比现有的任何压缩方法都能达到更高的压缩比,且压缩损耗可接受。它还提供了三种不同分辨率的输出,适合不同的场合。但这里,还是将对PCL和Draco做一些简单介绍:

2.6.1 PCL

PCL全称Point cloud library(点云库),于2011年推出,属于机器视觉类别,与获取2D信息并处理的OpenCV(编者注:OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。)类似,它是一个独立的、大规模的、开放的跨平台 2D/3D 图像和点云处理项目,根据BSD许可条款发布,因此可免费用于商业和研究用途。库中包含很多先进的算法,PCL与机器人操作系统ROS(编者注:Robot Operating System)完全集成,并已在机器人领域的各种项目中使用。从0.6版本开始,PCL就已经被移植进Windows,MacOS和Linux,目前的最新版本是1.12.1,Android中也在使用,因此,PCL的应用容易移植和多方发布。另外,PCL的压缩比可以根据实际需要进行调整。

上图是对点云数据集进行PCL可视化操作的结果。

2.6.2 Draco

Draco是一个Google的开源库,于2017年推出,用于压/解压缩3D几何网格和点云,旨在改进3D图形的存储和传输。Draco专为压缩效率和速度而设计,该代码支持压缩点、连接信息、纹理坐标、颜色信息、法线以及与几何相关的任何其他通用属性。使用Draco,3D图形的应用程序可以显著缩小,而不会影响视觉保真度。对用户而言,这意味着应用程序可以更快地下载,浏览器中的 3D图形可以更快地加载,VR和AR场景因此可以用一小部分带宽传输并快速渲染。

Draco算法同时支持有损和无损压缩,它提供了10种可选的压缩级别,还可通过减少量化位以支持进一步的有损压缩。官网Draco 3D Graphics Compression的Demo子页面中可以在线测试3D渲染性能。实际上,Draco最初便是由Chrome团队设计。

Draco开源刚不久,便有网友对其进行了测试复现:

可以看到,编码之后,点云文件大小从原本的3mb显著减小到了110kb,但此时的文件是不能够被正常可视化的,只能用来传输存储,所以我们需要对其再进行解码。解码之后为431kb,其实也并没有再大多少,但是我们注意下方的编码前后点云图像质量比较,发现二者从肉眼上几乎分辨不出差别,而点云数目也没有发生变化,都是35947 data points。可见,Draco的编码效率十分强悍。

2.6.3 基于深度学习的压缩

学者设计了一种新的基于深度学习的稀疏点云几何压缩方案,能够达到比现有的任何压缩算法都更高的压缩比,且压缩损耗可接受。另外,它提供了三种不同分辨率的输出,适应于不同场合;基于矩阵运算,支持GPU对多个模型并行压缩,大大提高处理效率。

2.7 不同压缩算法的测试

ShapeNet数据集是一个稀疏的点云数据集,不常用于点云压缩任务。但是,稀疏点云可以用来测试压缩算法,原因是它们比密集点云更难压缩,因此更能体现算法效率。稀疏点云用更少的点代表形状或表面,比密集点云包含更少的冗余信息。

为了比较稀疏点云压缩和密集点云压缩在简化Stanford bunny(斯坦福兔子)点云时采样的2048和35947个点的差异,使用PCL和Draco对两个模型压缩,得到下图结果。bpp指每点压缩数据的比特数,损耗由RMS计算以减小计算量:

结果表明,稀疏点云压缩往往比密集点云压缩更难达到高压缩比及低重构损失。

为了清晰显示算法训练过程,学者选择了几个模型,并在不同迭代次数下重构点云,模型细节逐渐出现:

编码的最后一层称为瓶颈层,瓶颈层的维数和码字中每个浮点数所占位数是影响压缩结果的两个关键因素。

将基于深度学习使用”PointNet++、TensorFlow”等技术的压缩算法与PCL和Draco在最终条件下进行比较,Ours-16和Ours-32分别表示用16位和32位表示单个值的方式,讨论压缩比、重构损失、计算量等一系列参数。结果表明,基于深度学习的新算法有着比Draco高10倍、甚至比PCL高110倍的压缩比,同时保证了较小的重构损失。

但是,有优点必有缺点。PCL和Draco更快、更节省内存。原因是PCL和Draco都是基于C的,比基于Python的新算法要更高效,解决办法可以是用C程序简化网络,替换TensorFlow中的更多操作,从而提高效率、减小内存负载。

2.8 总结

本文提出的基于深度学习的三维点云压缩新方法,是第一个基于深度学习的点云几何压缩算法。由于其并行处理能力和较高的压缩比,在保持可接受的损耗的情况下,显示了巨大的潜力。实验表明,在高压缩比条件下,该算法的性能优于 PCL 和 Draco。该算法的关键是具有分层结构的自动编码器,其性能优于目前的重建质量,特别是在局部细节上。毫无疑问,深度学习是数据压缩未来的发展方向。

技术DNA

智慧场景

后期预告

第三章 基于稀疏快速傅里叶变换(SFFT)的语音压缩算法

参考文献

[1] Huang T, Liu Y. 3d point cloud geometry compression on deep learning[C]//Proceedings of the 27th ACM international conference on multimedia. 2019: 890-898.

https://dl.acm.org/doi/abs/10.1145/3343031.3351061

[2] Rusu R B, Cousins S. 3d is here: Point cloud library (pcl)[C]//2011 IEEE international conference on robotics and automation. IEEE, 2011: 1-4.

https://ieeexplore.ieee.org/abstract/document/5980567/

[3] Guo Y, Wang H, Hu Q, et al. Deep learning for 3d point clouds: A survey[J]. IEEE transactions on pattern analysis and machine intelligence, 2020, 43(12): 4338-4364.

https://ieeexplore.ieee.org/abstract/document/9127813/

[4] Chen D Y, Tian X P, Shen Y T, et al. On visual similarity based 3D model retrieval[C]//Computer graphics forum. Oxford, UK: Blackwell Publishing, Inc, 2003, 22(3): 223-232.

https://onlinelibrary.wiley.com/doi/abs/10.1111/1467-8659.00669

[5] Srisooksai T, Keamarungsi K, Lamsrichan P, et al. Practical data compression in wireless sensor networks: A survey[J]. Journal of network and computer applications, 2012, 35(1): 37-59.

https://www.sciencedirect.com/science/article/abs/pii/S1084804511000555

[6] 刘清华. 基于稀疏快速傅里叶变换的语音压缩处理算法研究[D]. 兰州交通大学, 2016.

https://cdmd.cnki.com.cn/Article/CDMD-10732-1016275325.htm

[7] Smith C A. A survey of various data compression techniques[J]. Int J pf Recent Technol Eng, 2010, 2(1): 1-20.

https://www.semanticscholar.org/paper/A-Survey-of-Various-Data-Compression-Techniques-Smith/9baa664a7e1d05d8871595d64a59eae39d838e01

[8] 人工智能之表示学习

https://static.aminer.cn/misc/pdf/RepLearning.pdf

[9] 干货 | 用深度学习设计图像视频压缩算法:更简洁、更强大

https://cloud.tencent.com/developer/article/1061252

[10] 大数据可变革医疗保健行业

https://cn.micron.com/insight/big-data-can-revolutionize-health-care

ELT.ZIP是谁?

ELT<=>Elite(精英),.ZIP为压缩格式,ELT.ZIP即压缩精英。

成员:

上海工程技术大学大二在校生 闫旭

合肥师范学院大二在校生 楚一凡

清华大学大二在校生 赵宏博

成都信息工程大学大一在校生 高云帆

黑龙江大学大一在校生 高鸿萱

山东大学大三在校生 张智腾

ELT.ZIP是来自6个地方的同学,在OpenHarmony成长计划啃论文俱乐部里,与来自华为、软通动力、润和软件、拓维信息、深开鸿等公司的高手一起,学习、研究、切磋操作系统技术…

写在最后

OpenHarmony 成长计划—“啃论文俱乐部”(以下简称“啃论文俱乐部”)是在 2022年 1 月 11 日的一次日常活动中诞生的。截至 3 月 31 日,啃论文俱乐部已有 87 名师生和企业导师参与,目前共有十二个技术方向并行探索,每个方向都有专业的技术老师带领同学们通过啃综述论文制定技术地图,按“降龙十八掌”的学习方法编排技术开发内容,并通过专业推广培养高校开发者成为软件技术学术级人才。

啃论文俱乐部的宗旨是希望同学们在开源活动中得到软件技术能力提升、得到技术写作能力提升、得到讲解技术能力提升。大学一年级新生〇门槛参与,已有俱乐部来自多所高校的大一同学写出高居榜首的技术文章。

如今,搜索“啃论文”,人们不禁想到、而且看到的都是我们——OpenHarmony 成长计划—“啃论文俱乐部”的产出。

OpenHarmony开源与开发者成长计划—“啃论文俱乐部”学习资料合集

1)入门资料:啃论文可以有怎样的体验  

https://docs.qq.com/slide/DY0RXWElBTVlHaXhi?u=4e311e072cbf4f93968e09c44294987d

2)操作办法:怎么从啃论文到开源提交以及深度技术文章输出https://docs.qq.com/slide/DY05kbGtsYVFmcUhU  

3)企业/学校/老师/学生为什么要参与 & 啃论文俱乐部的运营办法https://docs.qq.com/slide/DY2JkS2ZEb2FWckhq

 4)往期啃论文俱乐部同学分享会精彩回顾: 

同学分享会No1.成长计划啃论文分享会纪要(2022/02/18)  https://docs.qq.com/doc/DY2RZZmVNU2hTQlFY  

同学分享会No.2 成长计划啃论文分享会纪要(2022/03/11)  https://docs.qq.com/doc/DUkJ5c2NRd2FRZkhF  

同学们分享会No.3 成长计划啃论文分享会纪要(2022/03/25) 

https://docs.qq.com/doc/DUm5pUEF3ck1VcG92?u=4e311e072cbf4f93968e09c44294987d

现在,你是不是也热血沸腾,摩拳擦掌地准备加入这个俱乐部呢?当然欢迎啦!啃论文俱乐部向任何对开源技术感兴趣的大学生开发者敞开大门。

扫码添加 OpenHarmony 高校小助手,加入“啃论文俱乐部”微信群

后续,我们会在服务中心公众号陆续分享一些 OpenHarmony 开源与开发者成长计划—“啃论文俱乐部”学习心得体会和总结资料。记得呼朋引伴来看哦。