-
内容大纲
我们的物理世界是建立在三维空间之中的。为了创造能够理解并与之交互的技术,我们的数据也必须是三维的。这本实用指南为数据科学家、工程师、研究人员提供了使用Python处理3D数据的实践方法。从3D重建到3D深度学习技术,你将学习如何从海量数据集中提取有价值的洞察,包括点云、体素、3D CAD模型、网格、图像等。
Florent Poux博士将帮助你借助前沿算法和空间AI模型的潜力,开发以自动化为核心的生产就绪系统(production-ready system)。通过本书,你将习得3D数据科学的知识与代码,实现以下目标:
理解3D数据的核心概念和表示方法
使用强大的Python库加载、操作、分析和可视化3D数据
应用先进的AI算法进行3D模式识别(包括监督与非监督方法)
使用3D重建技术生成3D数据集
实现自动化3D建模与生成式AI工作流
探索在计算机视觉/图形、地理空间情报、科学计算、机器人技术、自动驾驶等领域的实际应用
构建服务于空间AI解决方案的精准数字环境 -
作者介绍
弗洛朗·普是3D数据科学领域的知名专家,常年在欧洲顶尖高校从事教学与研究工作。他还是3D地理数据学院(3D Geodata Academy)的首席教授以及法国Tech 120企业的创新总监。 -
目录
Table of Contents
Foreword
Preface
1. Introduction to 3D Data Science
3D Data Science in Brief
Dimensions and 3D Data Science
Spatial AI: From Reality to Virtuality
3D Data: Fundamental Building Blocks
Geometry, Topology, and Semantics
Integrating Geometry, Topology, and Semantics
Introduction to 3D Point Clouds
The 3D Data Science Modular Workflow
Data Acquisition
Preprocessing
Registration
3D Data Classification (Semantic Injection)
Structuration/Modeling
3D Data Analysis
3D Data Visualization
Application (Software) Development
The Case for Automation
Workflow Challenges in 3D Data Science
3D Data Science in the Industry
Summary
2. Resources and Software Essentials
Fundamental Resources
Mathematics
Computer Science
3D Data Expertise
Artificial Intelligence for 3D
Hardware Recommendations for 3D
Local 3D Development
Cloud Computing
Essential Software and Tools for 3D
3D Reconstruction Software
3D Data Processing Software
3D Visualization Software
Summary
3. 3D Python and 3D Data Setup
3D Python Setup and Libraries
Choice of OS
Environment Setup
Base Python Libraries
3D Python Libraries
The Python IDE
Creating a 3D Python Program
Importing 3D Data in Python
Extracting Specific Attributes
Conducting Attribute-based Data Analysis
3D Data Visualization and Export
3D Reconstruction Methods
Real-World 3D Reconstruction (Sensor-Based)
Creative 3D Reconstruction
3D Dataset: Curation
3D Data from Image-based Reconstruction
Multimodal Web Scraping
Summary
4. 3D Data Representation and Structuration
3D Data Representations
3D Point Clouds
Image-based Representations
Volumetric (Voxel) Models
High-level 3D Data Representation
3D Surface Models
3D Data Canonical Link
Mesh to Point Cloud
Voxel to Point Cloud
Raster to Point Cloud
3D Data Structures: k-d Trees, Octrees, BVH
k-d Trees
Octrees
File Organization
Summary
5. Developing a Multimodal 3D Viewer with Python
3D Python and Code Setup
3D Data Curation
3D Data Preparation
Initial Profiling
3D Data Downsampling
Data Preprocessing
3D Data Visualization
Multimodal 3D Experience
Point of Interest Query
Manual Boundary Selection
Find High and Low Points
Point Cloud Voxelization
Built Coverage Extraction
Summary
6. Point Cloud Data Engineering
Fundamentals
Initial Preprocessing
Feature Extraction Fundamentals
Strategies for Point Cloud Feature Extraction
Global Feature Extraction
Local Feature Extraction
Principal Component Analysis
Python and Data Preparation
Cluster Identification with pandas
3D Data Normalization
Extracting the Principal Components
3D Visualization of PCA
3D Data Registration: Unifying Perspectives
3D Data Registration Fundamentals
Registration Initialization
Coarse Registration
Iterative Closest Point
Fine Registration: ICP
Summary
7. Building 3D Analytical Apps
3D Project Environment Preparation
Gathering Datasets
Python and Environment Setup
3D Data Fundamentals with PyVista
3D Data Structure Creation (KDTree)
Covariance Matrix, Eigenvalues, and Eigenvectors
Planarity, Linearity, Omnivariance, Verticality, Normals
Neighborhood Definition and Selection
Automation and Scaling
Interactive Thresholding
3D Data Results Export
Summary
8. 3D Data Analysis
Types of 3D Data Analysis
3D Descriptive Data Analysis
3D Exploratory Data Analysis
3D Predictive Data Analysis
3D Prescriptive Data Analysis
Additional Considerations
3D Data Analytical Tools
Environment and Data Preparation
Metadata Analysis and Data Profiling
Geometry and Shape Analysis
Statistical Analysis
Attribute Analysis
3D Diagnostic Tools
3D Deviation Analysis: Planar Case
3D Deviation Analysis: Mesh Case
Summary
9. 3D Shape Recognition
RANSAC from Scratch: 3D Planar Shape Recognition
RANSAC
Data and Environment Setup
Geometric Model Selection
3D Shape Fitting
Iteration and Function Definition
Application 1: RANSAC for Segmentation Tasks
Application 2: RANSAC for Analytical Tasks
Application 3: RANSAC for Modeling Tasks
Region Growing for 3D Shape Detection
Region Growing Principles
Region Growing: Real-World Setup
Region Growing: Implementation
A Hybrid Approach: RANSAC and Region Growing
Summary
10. 3D Modeling: Advanced Techniques
High-Fidelity Meshing
General Overview of High-Fidelity 3D Meshes
The Mission
Data Preparation
Choose a Meshing Strategy
Other 3D Meshing Strategies
3D Meshing with Python
Levels of Detail Creation
Visualization and Software
3D Voxels and Voxelization
Python Environment Initialization
Loading the Data
Creating the Voxel Grid
Generating the Voxel Cubes (3D Meshes)
Export the Mesh Object (.ply or.obj)
Parametric Modeling
CadQuery and Environment Setup
I/O for Parametric Models: 2D (DXF) and 3D (STL)
Parametric Modeling Techniques
The Boolean Operations
Modeling Various Pieces
Conclusion
Monocular Image-based 3D Modeling: Depth Estimation and Reconstruction
Setting Up the Environment and Installing the Libraries
Gathering a Dataset
Image Preprocessing and Model Setup
Depth Estimation Predictions from the Model
Point Cloud Generation
Defining the Camera Intrinsics
3D Modeling: 3D Point Cloud to Mesh
Summary
11. 3D Building Reconstruction from LiDAR Data
Phase 1: 3D Python Setup
Project Environment Setup
Project Notebook Setup
Phase 2: Data Preparation
Aerial LiDAR Data Curation
Aerial LiDAR Data Preprocessing
Phase 3: Experiments
Unsupervised Point Cloud Segmentation
3D House Segment Isolation
2D Building Footprint Extraction
Semantic and Attribute Extraction
2D to 3D Vectors
3D Model Creation: Mesh
Phase 4: Automation and Scaling
Summary
12. 3D Machine Learning: Clustering
Clustering for Unsupervised Segmentation
Clustering Fundamentals
Clustering Representativity
Types of Clustering Algorithms
k-Means Clustering
k-Means: Workflow Definition
3D Python Context Definition
LiDAR Data Preprocessing
k-Means Implementation
DBSCAN for Unsupervised Segmentation
DBSCAN Principles
The Strategy
Experimental Setup
3D Planar Shape Recognition with RANSAC
DBSCAN for 3D Point Cloud Segmentation
The Multi-RANSAC Framework
Multi-RANSAC Refinement with DBSCAN
DBSCAN Refinement
DBSCAN Versus k-Means
Summary
13. Graphs and Foundation Models for Unsupervised Segmentation
Connectivity-based Clustering
The Mission Brief
Core Principles
Step 1: Environment Setup
Step 2: Graph Theory for 3D Clustering
Step 3: Graph Analytics
Step 4: Plotting Graphs (Optional)
Step 5: Connected Components for Point Clouds
Step 6: Euclidean Clustering for 3D Point Clouds
Discussion and Perspectives
The Segment Anything Model
The Mission
3D Project Setup
Segment Anything Model Core Concepts
3D Point Cloud to Image Projections
Unsupervised Segmentation with SAM
Summary
14. Supervised 3D Machine Learning Fundamentals
From Unsupervised to Supervised Learning
Supervised Learning Concepts
Supervised Learning Classification
3D Semantic Segmentation Example
3D Point Cloud Semantic Segmentation
3D Python and Data Setup
Feature Selection and Preparation
Metrics and Models
Inference and Generalization
Specializing 3D Machine Learning with 3D Deep Learning
Summary
15. 3D Deep Learning with PyTorch
3D Deep Learning Backbone
Network Architecture
Data Preparation
AI Model Training
Serving a Trained Model
Implementation with PyTorch
Installing PyTorch (with CUDA)
Tensors: The Building Blocks
Neural Network Modules
Defining a 3D Neural Network
Hyperparameter Definition
Optimizer and Loss Functions
PyTorch DataLoader
PyTorch Training Loop
PyTorch Inference
3D Deep Learning: The Architectures
3D Convolutional Neural Networks: Voxels
3D Graph Neural Networks
Point-based Architectures: PointNet and Point Clouds
Multiview CNNs
3D Machine Learning Versus 3D Deep Learning
Fine-Tuning, Transfer Learning, and 3D Data Augmentation
Transfer Learning
Fine-Tuning
3D Data Augmentation: Expanding the Dataset
Summary
16. PointNet for 3D Object Classification
PointNet: A Point-based 3D Deep Learning Architecture
3D Object Classification
3D Object Classification Fundamentals
Environment Setup
Dataset Curation
PointNet: Dataset Preparation
PointNet Architecture Definition
PointNet Loss Definition
PointNet Training
PointNet Metrics and Evaluation
PointNet Real-World Inference
Large-Scale Semantic Segmentation Considerations
Summary
17. The 3D Data Science Workflow
3D Data Acquisition
3D Data Preparation and Engineering
Noise Removal
Subsampling
Feature Extraction
3D Data Modeling
3D Mesh Reconstruction
Voxelization of 3D Digital Environments
k-d Trees
Octrees
Semantic Extraction
Clustering and Unsupervised Segmentation
Semantic Segmentation
3D Object Classification
3D Data Visualization and Analysis
3D Shape Recognition
3D Data Analytical Tools
3D Multimodal Python Viewer
Summary
18. From 3D Generative AI to Spatial AI
Advanced 3D Projects
Generative AI for 3D Reconstruction
3D Deep Point Cloud Registration
3D Semantic Modeling
3D Semantic Extraction with Transformers
3D Gaussian Splatting for 3D Visualization
Spatial AI: The Future of 3D Experiences
3D Scene Understanding with Open Vocabularies
3D Spatial AI Reasoning
Conclusion
Index
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
