3D Data Science with Python - Helion

ISBN: 9781098161293
stron: 690, Format: ebook
Data wydania: 2025-04-09
Księgarnia: Helion
Cena książki: 228,65 zł (poprzednio: 265,87 zł)
Oszczędzasz: 14% (-37,22 zł)
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.
Osoby które kupowały "3D Data Science with Python", wybierały także:
- Biologika Sukcesji Pokoleniowej. Sezon 3. Konflikty na terytorium 124,17 zł, (14,90 zł -88%)
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Podręcznik startupu. Budowa wielkiej firmy krok po kroku 93,13 zł, (14,90 zł -84%)
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Scrum. O zwinnym zarz 78,42 zł, (14,90 zł -81%)
Spis treści
3D Data Science with Python. Building Accurate Digital Environments with 3D Point Cloud Workflows eBook -- spis treści
- Foreword
- Preface
- Who Should Read This Book?
- What Will You Learn?
- Why This Book?
- A Word from the Author
- Navigating This Book
- Prerequisites
- Code, Data, and Resources
- Conventions Used in This Book
- Using Code Examples
- OReilly Online Learning
- How to Contact Us
- Acknowledgments
- 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
- Geometry
- Topology
- Semantics
- Integrating Geometry, Topology, and Semantics
- Introduction to 3D Point Clouds
- Geometry, Topology, and Semantics
- 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 acquisition challenges
- 3D data preprocessing
- 3D data augmentation
- Lack of annotated datasets
- Computational resources
- Model building
- Explainability
- Performance and stability
- 3D Data Science in the Industry
- Summary
- 3D Data Science in Brief
- 2. Resources and Software Essentials
- Fundamental Resources
- Mathematics
- Computer Science
- 3D Data Expertise
- Artificial Intelligence for 3D
- Hardware Recommendations for 3D
- Local 3D Development
- Multicore central processing unit
- Random access memory
- Graphics processing unit
- Storage configuration
- High-resolution monitors
- Cluster computing for large datasets
- Cloud Computing
- Local 3D Development
- Essential Software and Tools for 3D
- 3D Reconstruction Software
- RealityCapture
- Meshroom
- Postshot
- 3D Data Processing Software
- CloudCompare (point cloud processing)
- QGIS (geospatial solution)
- Blender (geometric modeling and rendering)
- MeshLab (geometric modeling)
- MagicaVoxel (voxel editing)
- FreeCAD (CAD)
- 3D Visualization Software
- Unity (game engine)
- Unreal Engine (game engine)
- Potree (point cloud web visualization)
- ParaView (3D data visualization and analysis)
- 3D Reconstruction Software
- Summary
- Fundamental Resources
- 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
- Desktop IDE: Spyder
- Web-based IDE: JupyterLab (Jupyter Notebook)
- 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)
- On-site data acquisition
- Sensor-dependent web scraping
- Sensor-related 3D modeling
- Creative 3D Reconstruction
- Creative 3D assets
- Generative 3D
- 3D creative web scraping
- Real-World 3D Reconstruction (Sensor-Based)
- 3D Dataset: Curation
- 3D Data from Image-based Reconstruction
- Multimodal Web Scraping
- 3D data sourcing
- Spatial raster data sources
- Vector data curation
- Other sources
- Summary
- 3D Python Setup and Libraries
- 4. 3D Data Representation and Structuration
- 3D Data Representations
- 3D Point Clouds
- 3D point clouds in Python
- Common point cloud file formats
- Image-based Representations
- Depth maps
- RGB-D images
- Projection
- Multiview
- Volumetric (Voxel) Models
- High-level 3D Data Representation
- 3D Surface Models
- 3D mesh
- 3D mesh common file formats
- Parametric models (e.g., B-reps)
- 3D parametric model common file formats
- 3D Point Clouds
- 3D Data Canonical Link
- Mesh to Point Cloud
- Voxel to Point Cloud
- Raster to Point Cloud
- Orthographic projection
- 3D point cloud spherical projection
- 3D Data Structures: k-d Trees, Octrees, BVH
- k-d Trees
- Octrees
- File Organization
- Summary
- 3D Data Representations
- 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
- Transformation: Initial shift
- Point cloud subsampling
- Denoising (outlier removal)
- 3D data normalization
- Feature extraction preview: Normal estimation
- Feature Extraction Fundamentals
- Initial Preprocessing
- 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
- Fundamentals
- 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
- 3D Project Environment Preparation
- 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
- Dataset
- Environment setup
- Metadata Analysis and Data Profiling
- Geometry and Shape Analysis
- Overall dimensions
- Volume estimation
- Planarity
- Curvature
- Main orientation
- Aspect ratio
- The case of a single 3D mesh shape
- Statistical Analysis
- Histograms
- Boxplot for 3D analytics
- Correlations
- Attribute Analysis
- RGB color
- Surface normals
- Eigenvalues
- Environment and Data Preparation
- 3D Diagnostic Tools
- 3D Deviation Analysis: Planar Case
- 3D Deviation Analysis: Mesh Case
- Summary
- Types of 3D Data Analysis
- 9. 3D Shape Recognition
- RANSAC from Scratch: 3D Planar Shape Recognition
- RANSAC
- Data and Environment Setup
- Geometric Model Selection
- 3D Shape Fitting
- Manual parameter setup
- Automatic parameter setup
- Model fitting with RANSAC
- Point-to-plane distance
- 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
- RANSAC from Scratch: 3D Planar Shape Recognition
- 10. 3D Modeling: Advanced Techniques
- High-Fidelity Meshing
- General Overview of High-Fidelity 3D Meshes
- The Mission
- Data Preparation
- Choose a Meshing Strategy
- 3D meshing: The Ball-Pivoting Algorithm
- The Poisson algorithm for 3D reconstruction
- Other 3D Meshing Strategies
- 3D Meshing with Python
- The Ball-Pivoting Algorithm
- 3D reconstruction with Poisson
- 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
- Workplanes
- Constructions
- Selectors
- Construction geometry
- Environment setup
- I/O for Parametric Models: 2D (DXF) and 3D (STL)
- Parametric Modeling Techniques
- Sketching
- Extruding
- Filleting and chamfering
- Mirroring
- The Boolean Operations
- Union: Combining objects
- Intersection: Finding common areas
- Difference: Subtracting objects
- Modeling Various Pieces
- Conclusion
- CadQuery and Environment Setup
- 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
- High-Fidelity Meshing
- 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
- Phase 1: 3D Python Setup
- 12. 3D Machine Learning: Clustering
- Clustering for Unsupervised Segmentation
- Clustering Fundamentals
- Clustering Representativity
- Distances and similarities
- Cluster shape
- Cluster stability
- 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
- Clustering for Unsupervised Segmentation
- 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
- What is a graph?
- The case of connected components for 3D
- Python function definition
- 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
- 3D code environment setup
- 3D dataset curation
- Segment Anything Model Core Concepts
- Segment Anything fundamentals
- SAM parameters
- Performance on 2D images
- 3D Point Cloud to Image Projections
- Unsupervised Segmentation with SAM
- SAM segmentation
- Point prediction transfer
- Point cloud export
- Perspectives
- Summary
- Connectivity-based Clustering
- 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
- 3D LiDAR data
- 3D Python environment setup
- Feature Selection and Preparation
- Selecting the features
- Preparing the features
- 3D machine learning training setup
- Metrics and Models
- Performance and metrics
- Model selection
- Random forests
- k-nearest neighbors
- Multilayer perceptron
- Inference and Generalization
- The test dataset
- Improving the generalization results
- Exporting the labeled dataset
- Exporting the 3D machine learning model
- 3D Python and Data Setup
- Specializing 3D Machine Learning with 3D Deep Learning
- Summary
- From Unsupervised to Supervised Learning
- 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
- 3D Deep Learning Backbone
- 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
- Text to 3D
- Image to 3D
- 3D Deep Point Cloud Registration
- 3D Semantic Modeling
- 3D Semantic Extraction with Transformers
- 3D Gaussian Splatting for 3D Visualization
- Generative AI for 3D Reconstruction
- Spatial AI: The Future of 3D Experiences
- 3D Scene Understanding with Open Vocabularies
- 3D Spatial AI Reasoning
- Conclusion
- Advanced 3D Projects
- Index