3D Data Science with Python / 3D наука о данных с Python
Год издания: 2025
Автор: Poux Florent / Пу Флорент
Издательство: O’Reilly Media
ISBN: 978-1-098-16133-0
Язык: Английский
Формат: PDF/EPUB
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 690
Описание: Our physical world is grounded in three dimensions. To create technology that can reason about and interact with it, our data must be 3D too. This practical guide offers data scientists, engineers, and researchers a hands-on approach to working with 3D data using Python. From 3D reconstruction to 3D deep learning techniques, you'll learn how to extract valuable insights from massive datasets, including point clouds, voxels, 3D CAD models, meshes, images, and more.
Dr. Florent Poux helps you leverage the potential of cutting-edge algorithms and spatial AI models to develop production-ready systems with a focus on automation. You'll get the 3D data science knowledge and code to:
Understand core concepts and representations of 3D data
Load, manipulate, analyze, and visualize 3D data using powerful Python libraries
Apply advanced AI algorithms for 3D pattern recognition (supervised and unsupervised)
Use 3D reconstruction techniques to generate 3D datasets
Implement automated 3D modeling and generative AI workflows
Explore practical applications in areas like computer vision/graphics, geospatial intelligence, scientific computing, robotics, and autonomous driving
Build accurate digital environments that spatial AI solutions can leverage
Florent Poux is an esteemed authority in the field of 3D data science who teaches and conducts research for top European universities. He's also head professor at the 3D Geodata Academy and innovation director for French Tech 120 companies.
Наш физический мир основан на трех измерениях. Чтобы создать технологию, способную мыслить и взаимодействовать с ним, наши данные также должны быть трехмерными. Это практическое руководство предлагает специалистам по обработке данных, инженерам и исследователям практический подход к работе с 3D-данными с использованием Python. От 3D-реконструкции до методов глубокого 3D-обучения вы узнаете, как извлекать ценную информацию из массивных наборов данных, включая облака точек, вокселы, 3D CAD-модели, сетки, изображения и многое другое.
Доктор Флоран Муха поможет вам использовать потенциал новейших алгоритмах и моделях пространственные AI, чтобы развивать производство-готовые системы с упором на автоматизацию. Вы получите 3D-данные научных знаний и код:
Понимать основные концепции и представление 3D данных
Загружайте, обрабатывайте, анализируйте и визуализируйте 3D-данные с помощью мощных библиотек Python
Применяйте передовые алгоритмы искусственного интеллекта для распознавания 3D-образов (контролируемых и неконтролируемых)
Используйте методы 3D-реконструкции для создания наборов 3D-данных
Реализуйте автоматизированное 3D-моделирование и рабочие процессы с использованием искусственного интеллекта
Изучите практические приложения в таких областях, как компьютерное зрение / графика, геопространственный интеллект, научные вычисления, робототехника и автономное вождение
Создайте точную цифровую среду, которую могут использовать решения с использованием пространственного искусственного интеллекта
Флоран Поукс - признанный специалист в области 3D-обработки данных, который преподает и проводит исследования в ведущих европейских университетах. Он также является главным профессором Академии 3D Geodata Academy и директором по инновациям 120 французских технологических компаний.
Примеры страниц (скриншоты)
Оглавление
Foreword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
1. Introduction to 3D Data Science. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3D Data Science in Brief 2
Dimensions and 3D Data Science 2
Spatial AI: From Reality to Virtuality 3
3D Data: Fundamental Building Blocks 6
Geometry, Topology, and Semantics 8
Integrating Geometry, Topology, and Semantics 11
Introduction to 3D Point Clouds 13
The 3D Data Science Modular Workflow 15
Data Acquisition 16
Preprocessing 19
Registration 22
3D Data Classification (Semantic Injection) 23
Structuration/Modeling 26
3D Data Analysis 27
3D Data Visualization 28
Application (Software) Development 30
The Case for Automation 33
Workflow Challenges in 3D Data Science 35
3D Data Science in the Industry 39
Summary 41
2. Resources and Software Essentials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Fundamental Resources 45
Mathematics 45
Computer Science 46
3D Data Expertise 49
Artificial Intelligence for 3D 51
Hardware Recommendations for 3D 53
Local 3D Development 53
Cloud Computing 55
Essential Software and Tools for 3D 57
3D Reconstruction Software 58
3D Data Processing Software 61
3D Visualization Software 66
Summary 71
3. 3D Python and 3D Data Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3D Python Setup and Libraries 74
Choice of OS 75
Environment Setup 76
Base Python Libraries 78
3D Python Libraries 80
The Python IDE 81
Creating a 3D Python Program 83
Importing 3D Data in Python 84
Extracting Specific Attributes 85
Conducting Attribute-based Data Analysis 86
3D Data Visualization and Export 87
3D Reconstruction Methods 88
Real-World 3D Reconstruction (Sensor-Based) 89
Creative 3D Reconstruction 92
3D Dataset: Curation 94
3D Data from Image-based Reconstruction 94
Multimodal Web Scraping 97
Summary 103
4. 3D Data Representation and Structuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3D Data Representations 106
3D Point Clouds 106
Image-based Representations 112
Volumetric (Voxel) Models 121
High-level 3D Data Representation 123
3D Surface Models 124
3D Data Canonical Link 131
Mesh to Point Cloud 132
Voxel to Point Cloud 133
Raster to Point Cloud 134
3D Data Structures: k-d Trees, Octrees, BVH 139
k-d Trees 140
Octrees 142
File Organization 144
Summary 146
5. Developing a Multimodal 3D Viewer with Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
3D Python and Code Setup 151
3D Data Curation 152
3D Data Preparation 152
Initial Profiling 153
3D Data Downsampling 153
Data Preprocessing 155
3D Data Visualization 155
Multimodal 3D Experience 157
Point of Interest Query 157
Manual Boundary Selection 160
Find High and Low Points 162
Point Cloud Voxelization 164
Built Coverage Extraction 167
Summary 169
6. Point Cloud Data Engineering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Fundamentals 172
Initial Preprocessing 173
Feature Extraction Fundamentals 179
Strategies for Point Cloud Feature Extraction 179
Global Feature Extraction 180
Local Feature Extraction 181
Principal Component Analysis 182
Python and Data Preparation 184
Cluster Identification with pandas 185
3D Data Normalization 186
Extracting the Principal Components 186
3D Visualization of PCA 188
3D Data Registration: Unifying Perspectives 190
3D Data Registration Fundamentals 191
Registration Initialization 192
Coarse Registration 193
Iterative Closest Point 196
Fine Registration: ICP 197
Summary 199
7. Building 3D Analytical Apps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
3D Project Environment Preparation 203
Gathering Datasets 203
Python and Environment Setup 204
3D Data Fundamentals with PyVista 205
3D Data Structure Creation (KDTree) 207
Covariance Matrix, Eigenvalues, and Eigenvectors 209
Planarity, Linearity, Omnivariance, Verticality, Normals 211
Neighborhood Definition and Selection 212
Automation and Scaling 214
Interactive Thresholding 216
3D Data Results Export 218
Summary 219
8. 3D Data Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Types of 3D Data Analysis 222
3D Descriptive Data Analysis 223
3D Exploratory Data Analysis 224
3D Predictive Data Analysis 225
3D Prescriptive Data Analysis 226
Additional Considerations 226
3D Data Analytical Tools 227
Environment and Data Preparation 228
Metadata Analysis and Data Profiling 231
Geometry and Shape Analysis 232
Statistical Analysis 239
Attribute Analysis 254
3D Diagnostic Tools 258
3D Deviation Analysis: Planar Case 259
3D Deviation Analysis: Mesh Case 263
Summary 267
9. 3D Shape Recognition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
RANSAC from Scratch: 3D Planar Shape Recognition 270
RANSAC 271
Data and Environment Setup 273
Geometric Model Selection 273
3D Shape Fitting 274
Iteration and Function Definition 281
Application 1: RANSAC for Segmentation Tasks 282
Application 2: RANSAC for Analytical Tasks 284
Application 3: RANSAC for Modeling Tasks 286
Region Growing for 3D Shape Detection 298
Region Growing Principles 299
Region Growing: Real-World Setup 301
Region Growing: Implementation 302
A Hybrid Approach: RANSAC and Region Growing 308
Summary 311
10. 3D Modeling: Advanced Techniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
High-Fidelity Meshing 316
General Overview of High-Fidelity 3D Meshes 316
The Mission 320
Data Preparation 320
Choose a Meshing Strategy 320
Other 3D Meshing Strategies 326
3D Meshing with Python 327
Levels of Detail Creation 328
Visualization and Software 330
3D Voxels and Voxelization 331
Python Environment Initialization 332
Loading the Data 333
Creating the Voxel Grid 334
Generating the Voxel Cubes (3D Meshes) 335
Export the Mesh Object (.ply or .obj) 336
Parametric Modeling 337
CadQuery and Environment Setup 339
I/O for Parametric Models: 2D (DXF) and 3D (STL) 342
Parametric Modeling Techniques 345
The Boolean Operations 349
Modeling Various Pieces 350
Conclusion 352
Monocular Image-based 3D Modeling: Depth Estimation and Reconstruction 353
Setting Up the Environment and Installing the Libraries 354
Gathering a Dataset 355
Image Preprocessing and Model Setup 355
Depth Estimation Predictions from the Model 357
Point Cloud Generation 358
Defining the Camera Intrinsics 359
3D Modeling: 3D Point Cloud to Mesh 362
Summary 363
11. 3D Building Reconstruction from LiDAR Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Phase 1: 3D Python Setup 366
Project Environment Setup 366
Project Notebook Setup 368
Phase 2: Data Preparation 370
Aerial LiDAR Data Curation 370
Aerial LiDAR Data Preprocessing 371
Phase 3: Experiments 374
Unsupervised Point Cloud Segmentation 375
3D House Segment Isolation 377
2D Building Footprint Extraction 378
Semantic and Attribute Extraction 379
2D to 3D Vectors 383
3D Model Creation: Mesh 385
Phase 4: Automation and Scaling 387
Summary 390
12. 3D Machine Learning: Clustering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Clustering for Unsupervised Segmentation 396
Clustering Fundamentals 397
Clustering Representativity 401
Types of Clustering Algorithms 408
k-Means Clustering 410
k-Means: Workflow Definition 412
3D Python Context Definition 414
LiDAR Data Preprocessing 416
k-Means Implementation 418
DBSCAN for Unsupervised Segmentation 421
DBSCAN Principles 422
The Strategy 423
Experimental Setup 424
3D Planar Shape Recognition with RANSAC 425
DBSCAN for 3D Point Cloud Segmentation 427
The Multi-RANSAC Framework 429
Multi-RANSAC Refinement with DBSCAN 431
DBSCAN Refinement 432
DBSCAN Versus k-Means 433
Summary 436
13. Graphs and Foundation Models for Unsupervised Segmentation. . . . . . . . . . . . . . . . . 439
Connectivity-based Clustering 440
The Mission Brief 442
Core Principles 443
Step 1: Environment Setup 445
Step 2: Graph Theory for 3D Clustering 447
Step 3: Graph Analytics 453
Step 4: Plotting Graphs (Optional) 454
Step 5: Connected Components for Point Clouds 455
Step 6: Euclidean Clustering for 3D Point Clouds 457
Discussion and Perspectives 460
The Segment Anything Model 461
The Mission 462
3D Project Setup 463
Segment Anything Model Core Concepts 466
3D Point Cloud to Image Projections 472
Unsupervised Segmentation with SAM 474
Summary 478
14. Supervised 3D Machine Learning Fundamentals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
From Unsupervised to Supervised Learning 483
Supervised Learning Concepts 484
Supervised Learning Classification 488
3D Semantic Segmentation Example 489
3D Point Cloud Semantic Segmentation 490
3D Python and Data Setup 493
Feature Selection and Preparation 494
Metrics and Models 499
Inference and Generalization 503
Specializing 3D Machine Learning with 3D Deep Learning 510
Summary 512
15. 3D Deep Learning with PyTorch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
3D Deep Learning Backbone 517
Network Architecture 517
Data Preparation 520
AI Model Training 521
Serving a Trained Model 524
Implementation with PyTorch 525
Installing PyTorch (with CUDA) 526
Tensors: The Building Blocks 526
Neural Network Modules 527
Defining a 3D Neural Network 528
Hyperparameter Definition 531
Optimizer and Loss Functions 531
PyTorch DataLoader 532
PyTorch Training Loop 533
PyTorch Inference 534
3D Deep Learning: The Architectures 535
3D Convolutional Neural Networks: Voxels 536
3D Graph Neural Networks 538
Point-based Architectures: PointNet and Point Clouds 541
Multiview CNNs 542
3D Machine Learning Versus 3D Deep Learning 545
Fine-Tuning, Transfer Learning, and 3D Data Augmentation 546
Transfer Learning 546
Fine-Tuning 547
3D Data Augmentation: Expanding the Dataset 548
Summary 549
16. PointNet for 3D Object Classification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
PointNet: A Point-based 3D Deep Learning Architecture 553
3D Object Classification 560
3D Object Classification Fundamentals 560
Environment Setup 562
Dataset Curation 562
PointNet: Dataset Preparation 564
PointNet Architecture Definition 565
PointNet Loss Definition 568
PointNet Training 570
PointNet Metrics and Evaluation 572
PointNet Real-World Inference 575
Large-Scale Semantic Segmentation Considerations 579
Summary 584
17. The 3D Data Science Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
3D Data Acquisition 588
3D Data Preparation and Engineering 590
Noise Removal 590
Subsampling 591
Feature Extraction 592
3D Data Modeling 593
3D Mesh Reconstruction 594
Voxelization of 3D Digital Environments 596
k-d Trees 597
Octrees 598
Semantic Extraction 600
Clustering and Unsupervised Segmentation 600
Semantic Segmentation 602
3D Object Classification 604
3D Data Visualization and Analysis 607
3D Shape Recognition 607
3D Data Analytical Tools 608
3D Multimodal Python Viewer 609
Summary 610
18. From 3D Generative AI to Spatial AI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Advanced 3D Projects 612
Generative AI for 3D Reconstruction 612
3D Deep Point Cloud Registration 618
3D Semantic Modeling 620
3D Semantic Extraction with Transformers 622
3D Gaussian Splatting for 3D Visualization 628
Spatial AI: The Future of 3D Experiences 632
3D Scene Understanding with Open Vocabularies 634
3D Spatial AI Reasoning 636
Conclusion 638
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641