欢迎来到雲闪世界。建立 3D 数据科学项目涉及结合数据工程、数据分析和可视化技术来处理三维数据。
从收集初始数据到自动化 3D 沉浸式体验,我将为您讲解整个流程。我将介绍所有必要的程序、资源和方法,以确保高效的工作流程和出色的结果。
🦚 Florent 的注释:我想尝试一些更高级的东西。因此,您将无法实现 3D Transformer 网络,但您将获得理解,以定义您认为有潜力的下一个 3D 数据科学项目。
让我深入了解一下 6 个主要步骤:项目范围、数据采集、数据预处理、数据分析、可视化和部署,如下所示。
当然,我们从金字塔底层开始。我们如何定义我们想要创造的东西?
假设你想听听我的意见。在深入研究技术设置之前,我想做一件事:明确定义 3D 数据科学项目的范围和目标。这一步就像在旅行前规划路线,确保我们做好准备并专注于确定的目的地。这包括:
🦚 Florent 的注释:举个例子,我有一个项目,旨在创建 Main Street 图书馆的详细 3D 模型,用于无障碍审计。该模型包括内部、外部和家具摆放,将在 4 周内以与无障碍软件兼容的格式交付。我将专注于建模与无障碍相关的永久结构和功能,不包括临时家具和高级功能。成功依赖于按时并在预算范围内交付可接受的模型。看看我是如何简洁而具体的?
在建立 3D 数据科学项目时,最初的关键步骤之一是数据采集。在此阶段,从各种来源识别和收集相关 3D 数据并确保其格式兼容对于项目的成功至关重要。
🦚 Florent 的注释:厨房装修时,别再用卷尺了!借助摄影测量法,只要使用一些标记,您就可以生成精度相当不错的 3D 模型。您将获得一个 3D 数字模型,该模型可以让您准确测量所有内容,以 3D 形式设计新布局,并在开始拆除之前识别潜在障碍。3D 数据采集可节省时间、最大限度地减少错误,并让您的梦想厨房更近一步。
让我们深入研究 3D 数据采集的构建模块。
首先,我们应该从可靠的来源识别并收集必要的 3D 数据。
常见来源包括:
以下是一些具有公开数据集的选项:
您还可以利用 OpenRepositories 来获取具有各种许可证的数据:
现在您更好地了解了如何获取 3D 数据,让我们来谈谈格式。
🦚 Florent 的注释:在这个阶段,这些存储库应该在很大程度上帮助您开始使用不错的数据集。但是,特别是对于深度应用程序而言,知道如何生成自己的数据,然后针对您的下行流程进行调整通常是非常有益的。
实际上,我们通常会使用多种格式,每种格式都有自己的优点和缺点。选择正确的格式取决于目的——快速 3D 打印可能受益于更简单的格式,而令人眼花缭乱的虚拟现实体验可能需要更丰富、更详细的选项。因此,确保数据采用兼容的格式进行分析和可视化至关重要。让我描述一下我最喜欢的五种文件格式,如下所示:
OBJ(波前对象):一种流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。
OBJ(波前对象):一种流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。 OBJ(波前对象):一种流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。 OBJ(波前对象):一种流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。 OBJ(波前对象):一种流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。 OBJ(波前对象):一种流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。 流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。 它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。 流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。 它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。 流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。 它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。流行且广泛支持的 3D 网格格式。它使用顶点(空间中的点)、面(形成平面的顶点集合)和纹理坐标来定义对象的基本几何形状。虽然 OBJ 简单且易于阅读,但它缺少有关材质和动画的信息。
它是基本 3D 模型或作为在不同软件程序之间交换数据的中间格式的不错选择。
考虑到这一点,您可以独立于应用程序案例解决 90% 遇到的情况。
🦚 Florent 的注释:在某些情况下,尤其是在医学成像或地理空间应用中,利用体素组件会对您大有裨益。在这种情况下,您可能需要调整这些格式或利用更纯粹的版本
清理和转换 3D 数据是建模和分析之前的重要第一步,以确保数据适合进一步处理。此阶段称为数据预处理,涉及数据清理、规范化和特征提取等任务。让我们探索预处理 3D 数据以实现有效分析和模型开发所涉及的基本步骤和技术。
数据永远不完美。说实话,有时候,数据看起来就像一个小孩把意大利面条扔到扫描仪上。朋友们,本节主要讲数据清理。
在这里,我们解决异常点、修补漏洞,并将一团乱麻变成光滑、有嚼劲的数据集,随时准备应对我们提出的任何问题。这可能不是工作中最引人注目的部分,但相信我,干净的数据是任何成功的 3D 项目的秘诀。
这可能涉及:
在此阶段,我们需要调整数据,以便更有效地进行分析。以下是一些流程示例:
在这个阶段,我认为最好先进行高层次的概述,而不要深入。这在许多情况下应该是非常有用的,特别是对于(3D)数据分析的任务。
🦚 Florent 的注释:好吧,我必须说实话。我在这里过于简化了分类。事实上,我通常认为模型构建是一个与 3D 数据分析略有不同的专业分支,因为如今,构建模型的任务非常深奥,而且是一个独立的阶段。然而,为了理解我们如何从定义项目到结果的流程,我喜欢将其作为分析“分类法”的一部分。
让我从探索性数据分析开始。
探索性数据分析 (EDA) 拥有一个非常简单的工具箱,可用于在深入进行复杂的建模或分析之前了解您的 3D 数据。下面是我们经常使用的两种关键技术的简要分解,如下所示:
如何分析数据:3D 数据分析的两种主要方法。
这涉及使用描述性统计数据总结 3D 数据的主要特征。可以将其视为绘制数据的基本图景,以了解其集中趋势和分布。技术包括提取集中趋势、平均值、中位数、分布范围、范围或其他分布指标。
虽然数字很棒,但有时图片(或者更确切地说是 3D 图!)更有效。可视化就是创建信息丰富且交互式的图表和图形来探索数据中的关系和模式。我们通常依靠 3D 散点图(可视化 3D 空间中多个变量之间的关系)、直方图或热图。
🦚 Florent 的注释:这些是非常简单但非常方便的“技术”,可以更好地理解和分析我们的数据集。通常,为定量和定性分析提供坚实的基础非常好。
现在我们已经通过 EDA 探索了 3D 数据,是时候构建一些模型并解锁它们的更深层含义了!
模型帮助我们从探索走向解释!了解 3D 模型(而非几何模型)构建的世界是件好事,我们将使用复杂的技术来提取隐藏的模式并解锁数据中的真正含义。我们可以利用从传统统计分析到尖端人工智能 (AI) 的一系列方法来构建模型,这些模型可以根据您宝贵的 3D 信息分析、解释甚至预测未来结果。
首先,让我谈谈我们进行的分析的“类型”:
🦚 Florent 的注释:再次强调,我倾向于简化一点,但即使您是经验丰富的 3D 数据科学家,这也是一个很好的做法,因为它有助于更有效地传达我们处理的内容。
通过使用人工智能。但人工智能的精细度有多高?
我们总是想知道这些模型中是如何产生“魔法”的。人工智能模型的架构定义决定了它在 3D 数据中捕获的内容,并在其有效性中起着至关重要的作用。让我定义四个主要系列,如下所示:
🦚 Florent 的注释:选择最佳的模型构建技术和 AI 方法取决于您的具体任务和数据。以下是一些一般准则。对于更简单的关系,回归分析或基本 ML 算法可能就足够了。对于复杂的对象分类或分割,通常首选 CNN 或 Transformers 等深度学习方法。
现在,我们可以深入研究 3D 可视化了!
使用 Python:
对于 Web(WebGL):
使用软件:
请记住,这只是可用工具的简单介绍。最适合您的选择将取决于您的特定项目需求和技能。最主要的问题是:您需要交互性吗?下图应该可以帮助您回答这个问题。
使用交互式 3D 可视化的优缺点是什么。
最后,可视化技术怎么样?
您已经构建了 3D 模型,现在是时候展示它们了!有效的 3D 可视化技术超越了静态图像——它们允许查看者探索、交互并真正理解您的数据。您可以考虑第一个问题:
想象一下用户旋转 3D 模型、放大细节,甚至操纵其组件。交互式可视化可创造引人入胜的体验,让查看者从不同角度探索您的数据并获得更深入的见解。
有时,静态的 3D 模型或交互式静态体验还不够。动画增加了时间的力量,让您可以展示数据中的变化、过程或模拟。这在可视化天气模式、生物学中的生长过程或工程学中的动态模拟方面非常受欢迎。
虽然精心设计的可视化效果可以传达大量信息,但有时添加清晰的标签、注释或标注可以进一步增强理解。注释可以突出显示特定特征、解释复杂概念或引导查看者浏览数据。
3D 注释。
如果您需要指出医学扫描中的关键特征、解释复杂机器模型中的组件或在科学可视化中提供其他信息,它们会特别有用。我建议利用CloudCompare来完成这项任务。
太棒了,我们几乎接触到了 3D 数据科学应用程序的所有组件。但最后一步是进行部署和维护
第 6 步。
部署 3D 数据分析
现在您已经构建并可视化了令人惊叹的 3D 模型,是时候将它们部署到现实世界了!本节将解决 3D 部署和维护的关键方面,确保您的模型可访问、功能齐全且最新。
3D 模型的部署方法取决于其预期用途和目标受众。以下是一些常见策略:
三个主要系列(网络、桌面工具和云平台)。
Web 应用程序:它们非常适合让任何有互联网连接的人都可以访问您的 3D 模型。它们可以直接在 Web 浏览器中查看,无需用户下载任何特殊软件。Flask和Django是两个流行的框架。
太棒了。现在您已经了解了如何推广您的应用,最后一步就是如何保持其相关性和无错误。
就像任何作品一样,您的 3D 模型需要持续的呵护才能保持其准确性和功能性。以下是一些关键做法,可确保您的 3D 项目继续创造价值。
如何保持模型性能和准确性
监控:定期检查模型的性能和准确性。
通过遵循这些实践并利用所提供的资源,您可以确保您的 3D 数据科学应用程序保持良好维护和准确,并在未来几年继续提供价值!
恭喜!您已经掌握了六步指南,并且正在顺利构建有影响力的 3D 数据科学应用程序,如下所示。
该设置需要仔细规划和执行各个阶段,从数据采集到部署。这种结构化方法可带来有意义的见解、高质量的预测和 3D 可视化。
🦚 Florent 的注释:随着您的不断进步,您将会看到专为 3D 数据设计的更加复杂的 AI 技术。例如,生成模型具有基于您的数据创建全新 3D 对象的巨大潜力,从而突破了数据探索和创新的界限。此外,实时处理方面的进步将实现在动态环境中与 3D 模型的无缝交互,为增强现实和元宇宙中的应用打开大门。
感谢关注雲闪世界。(亚马逊aws和谷歌GCP服务协助解决云计算及产业相关解决方案)
订阅频道(https://t.me/awsgoogvps_Host)
TG交流群(t.me/awsgoogvpsHost)