NovaSight is a cutting-edge AI solution developed for the Duality AI Space Station Hackathon. This full-stack application combines Flask backend with React frontend to deliver real-time object detection in space station environments using synthetic data from Falcon's digital twin platform.
Train and deploy a robust object detection model using 100% synthetic data to identify critical space station objects in real-time:
- π§° Toolbox - Essential maintenance equipment
- π§― Fire Extinguisher - Critical safety equipment
- πͺ« Oxygen Tank - Life support systems
This project demonstrates the power of synthetic environments and digital twins for deploying AI models in challenging, high-risk environments where real data collection is difficult or impossible.
NovaSight/
βββ π frontend/ # React-based user interface
β βββ src/
β βββ public/
β βββ package.json
βββ π backend/ # Flask API server
β βββ app.py
β βββ models/
β βββ requirements.txt
βββ π runs/ # YOLOv8 training outputs
β βββ train/
β βββ val/
βββ π data/ # Synthetic dataset
βββ config.yaml # YOLOv8 configuration
βββ README.md # Project documentation
- π€ Custom YOLOv8 Model: Fine-tuned on Falcon-generated synthetic data
- π₯οΈ Interactive Web Interface: Upload images and view real-time predictions
- β‘ Real-time Inference: Fast object detection via Flask API
- π Comprehensive Metrics: Detailed performance evaluation and visualizations
- π Space-Optimized: Designed specifically for space station environments
- π± Responsive Design: Works on desktop and mobile devices
- Python 3.8+
- Node.js 16+
- npm or yarn
# Navigate to backend directory
cd backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Start Flask server
python app.pyThe backend will be available at http://localhost:5000
# Navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Start development server
npm startThe frontend will be available at http://localhost:3000
- Start both servers following the setup instructions above
- Open your browser to
http://localhost:3000 - Upload an image using the file upload interface
- View predictions with bounding boxes and confidence scores
- Analyze results with real-time detection feedback
Our YOLOv8 model achieved excellent results after 100 epochs of training on synthetic data:
| Metric | Score |
|---|---|
| mAP@0.5 | 94.4% |
| mAP@0.5:0.95 | 88.6% |
| Precision | 98.4% |
| Recall | 91.3% |
| F1-Score | 94.7% |
| Phase | Box Loss | Classification Loss | DFL Loss | Training Time |
|---|---|---|---|---|
| Initial (Epoch 1) | 0.981 | 1.871 | 1.172 | 52.7 hours |
| Final (Epoch 100) | 0.259 | 0.200 | 0.786 | |
| Improvement | -73.6% | -89.3% | -32.8% |
- Precision: Improved from 84.7% β 98.4% (+13.7%)
- Recall: Improved from 64.0% β 91.3% (+27.3%)
- mAP@0.5: Improved from 79.0% β 94.4% (+15.4%)
- mAP@0.5:0.95: Improved from 58.7% β 88.6% (+29.9%)
β
Exceptional Convergence: Model achieved 98.4% precision with excellent loss reduction
β
High Recall Performance: 91.3% recall ensures minimal missed detections
β
Outstanding mAP Scores: 94.4% mAP@0.5 demonstrates superior object localization
β
Stable Training: Consistent improvement across all metrics over 100 epochs
β
Synthetic Data Success: Proves effectiveness of Falcon-generated training data
# Dataset paths
path: ./data
train: train/images
val: val/images
test: test/images
# Classes
names:
0: toolbox
1: fire_extinguisher
2: oxygen_tank
# Training parameters
epochs: 100
batch_size: 16
imgsz: 640Create a .env file in the backend directory:
FLASK_ENV=development
MODEL_PATH=./models/best.pt
UPLOAD_FOLDER=./uploads
MAX_CONTENT_LENGTH=16777216# Train with custom parameters (100 epochs used for final model)
python train.py --epochs 100 --batch-size 16 --imgsz 640
# Resume training from checkpoint
python train.py --resume runs/train/exp/weights/last.pt
# Train with different model sizes
python train.py --model yolov8n.pt # nano
python train.py --model yolov8s.pt # small
python train.py --model yolov8m.pt # mediumNote: Final model was trained for 100 epochs achieving 94.4% mAP@0.5
Upload an image for object detection.
Request:
curl -X POST -F "file=@image.jpg" http://localhost:5000/predictResponse:
{
"success": true,
"predictions": [
{
"class": "toolbox",
"confidence": 0.89,
"bbox": [120, 150, 200, 250]
}
],
"image_url": "/static/results/predicted_image.jpg"
}Check API health status.
- YOLOv8 - State-of-the-art object detection
- Flask - Lightweight web framework
- OpenCV - Computer vision operations
- NumPy - Numerical computations
- Pillow - Image processing
- React - User interface framework
- Axios - HTTP client
- tailwind - CSS framework
- React-Dropzone - File upload component
- Falcon Digital Twin - Synthetic data generation
- Roboflow - Dataset management
- Ultralytics - YOLOv8 implementation
- π Real-time Analytics Dashboard: Monitor detection performance
- π Batch Processing: Process multiple images simultaneously
- π± Mobile-Responsive Design: Optimized for all devices
- π¨ Interactive Visualizations: Hover effects and detailed tooltips
- πΎ Export Functionality: Download results in multiple formats
- π§ Additional Object Classes: Expand detection capabilities
- π‘ Real-time Video Processing: Live camera feed integration
- π€ Model Optimization: Edge deployment for space hardware
- π Advanced Analytics: Detailed usage and performance metrics
- π Security Features: Authentication and access control
This project is licensed under the MIT License - see the LICENSE file for details.
- Duality AI for hosting the Space Station Hackathon
- Falcon Digital Twin Platform for providing high-quality synthetic data
- Ultralytics for the YOLOv8 framework
- NASA for inspiration and space station reference materials
- π Duality AI Platform
- π¦ Falcon Digital Twin
- π YOLOv8 Documentation
- π Space Station Research
Pushing the boundaries of AI in space exploration



