This project allows for automated monitoring of construction sites using drone photogrammetry and 3D reconstruction. This system integrates advanced computer vision techniques to provide real-time insights into civil engineering projects.
- 3D Site Model: View high-fidelity current and previous 3D scans of the construction site.
- Progress Monitoring: Track overall completion against the planned schedule with precise metrics.
- Heatmaps: Visualize construction activity zones to identify bottlenecks.
- Automated Alerts: Receive real-time notifications for potential schedule delays or safety issues.
- Crack Detection: Automated analysis of surface defects using deep learning.
The system processes drone imagery through a multi-stage pipeline:
graph TD
A[Input Drone Imagery] --> B["Structure from Motion (SfM)"]
B --> C[Sparse Point Cloud Generation]
C --> D["Multi-View Stereo (AA-RMVSNet)"]
D --> E[Depth Map Estimation]
E --> F[Point Cloud Fusion]
F --> G[3D Site Model]
A --> H[Crack Detection Model]
H --> I[Defect Analysis Report]
G --> J[Progress Visualization]
I --> J
The project is organized into frontend visualization and backend processing components:
Project_Devs/
├── backend/ # 3D reconstruction and analysis algorithms (Python)
│ ├── datasets/ # Data loading and preprocessing modules
│ ├── models/ # PyTorch network architectures (AA-RMVSNet)
│ ├── sfm/ # Structure from Motion integration utilities
│ ├── eval.py # Main script for depth estimation and evaluation
│ ├── fusion.py # Script for fusing depth maps into point clouds
│ └── utils.py # General utility functions for I/O and processing
├── models/ # Pretrained machine learning models
│ ├── aa_rmvsnet.pth # Weights for the 3D reconstruction network
│ └── crack_detection_model.pth # Weights for the crack detection network
├── src/ # Frontend user interface application (React)
│ ├── components/ # Reusable UI components (Dashboard, ModelViewer, etc.)
│ ├── pages/ # Main application routes and page layouts
| └── lib/ # Utility libraries and constants
├── public/ # Static assets and entry HTML
└── README.md # Project documentation and usage guide
- Install dependencies:
npm install
- Run the development server:
npm run dev
To use the 3D reconstruction and analysis features, a Python environment (Python 3.6+ recommended) is required.
-
Install Dependencies: It is recommended to use a virtual environment or Conda.
# Using pip pip install -r backend/requirements.txtDependencies include:
torch,torchvision,opencv-python,plyfile,tensorboardx,numpy. -
3D Reconstruction: Navigate to the
backenddirectory and run the evaluation script:cd backend python eval.py --testpath <input_data_path> --outdir <output_path> --loadckpt ../models/aa_rmvsnet.pth
Note: The AA-RMVSNet model is optimized for CUDA-capable GPUs.
-
Crack Detection: The crack detection workflow utilizes the
crack_detection_model.pthlocated in themodels/directory. Ensure input images are high-resolution for optimal defect recognition.
- Frontend: React, Vite, Tailwind CSS, Three.js (via react-three-fiber).
- Backend: Python, PyTorch (AA-RMVSNet).
[License Information]