Deep learning project implementing PointNet++ for semantic segmentation of large-scale outdoor point clouds using the Semantic3D dataset.
This project implements state-of-the-art 3D point cloud semantic segmentation using PointNet++ architecture. The model classifies each point into 8 semantic categories:
- Man-made terrain
- Natural terrain
- High vegetation
- Low vegetation
- Buildings
- Hard scape
- Scanning artifacts
- Cars
- Project setup and requirements
- Literature review and research
- Basic PointNet++ model architecture
- Dataset class structure
- Training configuration
- Data preprocessing pipeline
- Complete model implementation
- Training loop and optimization
- Evaluation metrics
- Visualization and demo app
git clone https://github.com/debanjan06/semantic3d-pointcloud-classification.git
cd semantic3d-pointcloud-classification
conda create -n semantic3d python=3.9
conda activate semantic3d
pip install -r requirements.txt- PointNet++: Hierarchical feature learning for point clouds
- Set Abstraction: Multi-scale feature extraction
- Feature Propagation: Dense prediction for semantic segmentation
- Multi-modal Input: XYZ coordinates + RGB colors + intensity
- Urban planning and smart city applications
- Autonomous vehicle perception
- Environmental monitoring
- Infrastructure assessment
- GIS and mapping workflows
The demo showcases the complete PointNet++ inference pipeline:
| Component | Status | Notes |
|---|---|---|
| Model Architecture | ✅ Complete | Full PointNet++ implementation |
| Real-time Inference | ✅ Working | ~0.15s per 4K points |
| 3D Visualization | ✅ Interactive | Plotly-based exploration |
| Export Functions | ✅ Ready | CSV/JSON for GIS integration |
| Training Pipeline | 🔄 Next Phase | Requires Semantic3D dataset |
Note: Demo uses untrained weights for architecture demonstration. Production deployment requires training on labeled Semantic3D data.
Debanjan Shil
- M.Tech in Data Science
- GitHub: @debanjan06