Skip to content

Latest commit

 

History

History
431 lines (352 loc) · 13.5 KB

File metadata and controls

431 lines (352 loc) · 13.5 KB

Inter IIT Tech Meet 14.0 - Jilo Health Submission

📋 Submission Checklist

✅ Core Deliverables

  • Functioning MVP (Mobile + Cloud)

    • Mobile: React 18 + TypeScript + Vite (jilo-health-scan/)
    • Cloud: FastAPI backend with PyTorch models
    • End-to-end: Image capture → AI analysis → Results
  • Signal Capture

    • Face image capture with real-time guidance
    • Eye image capture with close-up mode
    • Clear image quality validation
    • Elderly-friendly UI/UX
  • AI Processing & Analysis

    • Face/Pallor AI: Multi-space color fusion (LAB + YCbCr + HSV)
    • Eye AI: EfficientNet-B2 with CBAM attention
    • Multimodal Fusion: Combines face + eye + blendshape features
    • Stroke Detection: 52-dimensional blendshape features via DNN
  • Prediction Quality & Clinical Logic

    • Clinical reasoning: Predictions map to anemia, jaundice, stroke, edema, dehydration
    • Interpretability: Clear English + Hindi explanations
    • Validation: 70.2% accuracy on anemia detection, AUC: 0.772
    • Error handling: Graceful degradation on model failures
  • Technical Execution

    • Mobile App: Full workflow from capture → upload → analysis → results
    • Cloud Backend: Stable FastAPI endpoints with proper error handling
    • Performance: <2s latency per prediction (exceeds 15s requirement)
    • Code Quality: Modular, well-documented, production-ready

📦 File Structure for Submission

jilo-health-interiit/
│
├── 📄 README.md                           # Comprehensive project overview
├── 📄 API_DOCUMENTATION.md                # Complete API reference
├── 📄 DEPLOYMENT_CHECKLIST.md             # Pre-deployment verification
├── 📄 SUBMISSION_REQUIREMENTS.md          # This file
├── 📄 ARCHITECTURE_SUMMARY.md             # System design overview
│
├── 🐍 Backend (Python)
│   ├── backend_improved.py                # FastAPI main server (20+ KB)
│   ├── stroke_blendshape_classifier.py    # PyTorch stroke classifier (14 KB)
│   ├── ml_face_analyzer.py                # Advanced facial analysis (23 KB)
│   ├── face_droop_analyzer.py             # MediaPipe facial landmarks (7 KB)
│   ├── medical_templates.py               # Clinical templates (15 KB)
│   └── requirements.txt                   # Python dependencies
│
├── 🎨 Frontend (React TypeScript)
│   └── jilo-health-scan/
│       ├── src/
│       │   ├── pages/
│       │   │   ├── Onboarding.tsx         # Welcome screen
│       │   │   ├── PatientForm.tsx        # Demographics entry
│       │   │   ├── FaceCapture.tsx        # Face image capture
│       │   │   ├── EyeCapture.tsx         # Eye image capture
│       │   │   ├── Analyzing.tsx          # Loading screen
│       │   │   ├── Results.tsx            # Results display
│       │   │   ├── History.tsx            # Previous screenings
│       │   │   └── Settings.tsx           # App settings
│       │   ├── components/                # Reusable components
│       │   ├── lib/                       # API client & utilities
│       │   ├── contexts/                  # React context (AppContext)
│       │   ├── App.tsx                    # Main app component
│       │   ├── styles/                    # Global styles
│       │   └── index.css                  # Tailwind CSS
│       ├── package.json                   # Node dependencies
│       ├── tsconfig.json                  # TypeScript config
│       ├── vite.config.ts                 # Vite build config
│       └── index.html                     # HTML entry point
│
├── 🤖 Models
│   ├── best_eye_model_improved.pth        # EfficientNet-B2 (108 MB)
│   ├── stroke_classifier_dnn.pth          # PyTorch DNN (77 KB)
│   ├── scaler.pkl                         # StandardScaler (1.9 KB)
│   ├── face_landmarker.task               # MediaPipe (3.6 MB)
│   └── model_config_improved.json         # Model config
│
├── 📚 Documentation
│   ├── FACIAL_ML_RESEARCH.md              # Research methodology
│   ├── HACKATHON_ANALYSIS.md              # Hackathon strategy
│   ├── EC2_DEPLOYMENT.md                  # AWS EC2 setup
│   ├── RENDER_QUICK_GUIDE.md              # Render deployment
│   └── README_IMPROVED.md                 # Technical overview
│
├── 🚀 Deployment
│   ├── Procfile                           # Heroku deployment
│   ├── render.yaml                        # Render deployment
│   ├── deploy_to_ec2.sh                   # AWS deployment script
│   ├── fix_disk_space.sh                  # Utility script
│   └── .env                               # Environment variables (not in repo)
│
├── 🔧 Configuration
│   ├── .gitignore                         # Git ignore rules
│   ├── .gitattributes                     # GitHub LFS config
│   └── .env.example                       # Example environment
│
└── 📞 Support
    └── Contact: tech@jilohealth.com

✨ Key Innovation & Features

1. Blendshape-Based Stroke Detection

  • Novel Approach: Uses 52 MediaPipe facial muscle features instead of geometric analysis
  • Advantage: Detects subtle facial muscle activation patterns
  • Implementation: PyTorch DNN trained on facial muscle data
  • Accuracy: Complementary to existing geometric methods

2. Multi-Color Space Fusion

  • Combines: LAB + YCbCr + HSV color spaces
  • Benefit: More robust pallor detection across different skin tones
  • Innovation: Weighted fusion based on clinical significance

3. Device Calibration

  • Auto-detects: Different smartphone camera characteristics
  • Adapts: Color space normalization per device
  • Result: Consistent predictions across devices

4. Test-Time Augmentation (TTA)

  • 5 Augmentation Strategies: Improves robustness
  • Uncertainty Quantification: Reports confidence ranges
  • Performance: +2.1% accuracy improvement

5. Elderly-Friendly UX

  • Large Buttons: Easy to tap
  • Clear Instructions: Step-by-step guidance
  • Voice Prompts: Audio instructions available
  • Multilingual: English + Hindi support

📊 Performance Metrics

Metric Value Status
Anemia Accuracy 70.2%
Anemia AUC 0.772
Inference Latency <2s ✅ Exceeds requirement
Model Size 112 MB ✅ Fits on phones
Frontend Load Time <3s
API Response Time <500ms

🎯 Evaluation Mapping

1. Signal Capture (20 Marks)

Our Implementation:

  • ✅ Face capture with real-time guidance UI
  • ✅ Eye capture with close-up detection
  • ✅ Lighting quality detection
  • ✅ Stability/blur detection
  • ✅ Elderly-friendly workflow (no crashes, smooth UX)

Evidence:

  • frontend: FaceCapture.tsx, EyeCapture.tsx
  • Real-time feedback on image quality

2. AI Processing & Analysis (20 Marks)

Our Implementation:

  • ✅ Face/Pallor AI: LAB+YCbCr+HSV fusion
  • ✅ Eye AI: EfficientNet-B2 with CBAM
  • ✅ Blendshape AI: 52-feature DNN classifier
  • ✅ Multimodal fusion: 3 independent models combined

Evidence:

  • backend: ml_face_analyzer.py, stroke_blendshape_classifier.py
  • Pipeline: Image → Features → Predictions

3. Prediction Quality & Clinical Logic (20 Marks)

Our Implementation:

  • ✅ Clinical reasoning: Maps to 6+ diseases
  • ✅ Interpretability: English + Hindi explanations
  • ✅ Validation: 70.2% accuracy, AUC 0.772
  • ✅ Error handling: Graceful degradation with fallback messages

Evidence:

  • backend: _generate_diagnosis() method
  • Medical templates: Clinically accurate descriptions
  • Hemoglobin estimation for anemia

4. Technical Execution (20 Marks)

Our Implementation:

  • ✅ Mobile App: Vite + React, all features working
  • ✅ Cloud Backend: FastAPI, stable endpoints
  • ✅ Performance: <2s latency (requirement: <15s)
  • ✅ Code Quality: Modular, typed, documented

Evidence:

  • End-to-end workflow tested
  • API documentation complete
  • Error handling at all levels

5. Research, Documentation, Innovation, Creativity (20 Marks)

Our Implementation:

  • ✅ Novelty: Blendshape-based stroke detection
  • ✅ Completeness: Full MVP end-to-end
  • ✅ Scalability: Designed for rural India deployment
  • ✅ UI/UX Polish: Elderly-friendly, accessible

Evidence:

  • FACIAL_ML_RESEARCH.md (comparative analysis)
  • HACKATHON_ANALYSIS.md (innovation strategy)
  • Comprehensive documentation
  • Clean, intuitive UI

🔬 Technical Stack

Backend

FastAPI 0.104+
PyTorch 2.0+
EfficientNet-B2 (pretrained)
MediaPipe 0.10.0+
OpenCV 4.8+
scikit-learn 1.0+
scikit-image

Frontend

React 18+
TypeScript 5+
Vite 5+
TailwindCSS 3+
@tanstack/react-query
react-router-dom

ML Models

EfficientNet-B2: 108 MB (eye analysis)
StrokeBlendshapeClassifier DNN: 77 KB
MediaPipe FaceLandmarker: 3.6 MB
StandardScaler: 1.9 KB

Total Size: ~112 MB (easily fits on mobile devices)


🚀 Quick Deployment

Development (Local)

# Backend
pip install -r requirements.txt
uvicorn backend_improved:app --reload

# Frontend
cd jilo-health-scan && npm run dev

Production (Render.com)

# Push to main branch
git push origin main
# Automatic deployment triggers

Emergency Deployment (AWS EC2)

./deploy_to_ec2.sh

📋 Submission Checklist

Pre-Submission

  • Code quality: All files have valid syntax
  • Model files: All 3 models present and accessible
  • Documentation: Complete and comprehensive
  • API: All endpoints working and documented
  • Frontend: All pages functional
  • Error handling: Implemented throughout
  • Logging: Configured for debugging
  • Performance: Meets or exceeds requirements

Submission Files

  • README.md - Comprehensive overview
  • API_DOCUMENTATION.md - Complete API reference
  • DEPLOYMENT_CHECKLIST.md - Verification guide
  • All source code - backend, frontend
  • Model files - With GitHub LFS
  • Requirements files - requirements.txt

Post-Submission

  • Deploy to cloud for judges
  • Prepare live demo
  • Brief judges on innovation points
  • Answer technical questions

🎤 Demo Script

Duration: 5-10 minutes

  1. Opening (1 min)

    • "Welcome to Jilo Health - AI-powered remote health screening for rural India"
    • Show problem: 420M Indians without healthcare access
  2. Signal Capture (2 min)

    • Show app interface
    • Capture sample face image (with guidance)
    • Capture sample eye image (with close-up mode)
    • Highlight elderly-friendly UX
  3. AI Analysis (2 min)

    • "Our system uses 3 independent AI models..."
    • Show backend processing pipeline
    • Explain blendshape DNN innovation
    • Highlight multimodal fusion
  4. Results (2 min)

    • Show health predictions
    • Explain confidence scores
    • Show multilingual explanations
    • Highlight clinical accuracy
  5. Impact (2 min)

    • Show scalability to rural areas
    • Estimate reach: 10M+ elderly population
    • Show integration with health workers
    • Vision for full-stack healthcare

Q&A Session

  • Prepare for questions on:
    • Model accuracy and validation
    • Privacy and data handling
    • Clinical trials needed
    • Cost and deployment
    • Competition landscape

🏆 Evaluation Preparation

Strengths to Highlight

  1. Novel ML approach: Blendshape-based stroke detection
  2. Complete MVP: Fully functional end-to-end system
  3. Strong performance: 70.2% accuracy, <2s inference
  4. User focus: Elderly-friendly design
  5. Scalability: Designed for rural India deployment
  6. Documentation: Comprehensive and well-organized
  7. Code quality: Production-ready codebase

Areas for Improvement (if questioned)

  1. Clinical validation: "Plan for Phase 2 with hospitals"
  2. Regulatory approval: "Roadmap for medical device certification"
  3. Privacy: "HIPAA compliance planned before deployment"
  4. Cost: "Target: ₹500/screening to ensure affordability"

📞 Quick Reference

Important Links

Key Commands

# Start backend
uvicorn backend_improved:app --reload

# Start frontend
cd jilo-health-scan && npm run dev

# Run tests
pytest tests/

# Check logs
tail -f backend.log

Model Files Location

models/
├── best_eye_model_improved.pth (108 MB)
├── stroke_classifier_dnn.pth (77 KB)
├── scaler.pkl (1.9 KB)
├── face_landmarker.task (3.6 MB)
└── model_config_improved.json

✅ Final Checklist

  • All code committed to git
  • Models in models/ directory
  • README.md complete
  • API documentation complete
  • Deployment guide complete
  • Frontend builds successfully
  • Backend starts without errors
  • Test with sample images
  • Performance metrics verified
  • Demo script prepared
  • Team trained on usage
  • Backup created
  • Ready for presentation

Submission Status: ✅ READY FOR EVALUATION

Last Updated: December 12, 2025

Team: Jilo Health Technology Team

Problem: Early Health Screening for Non-Metro Elderly Population

Solution: AI-Powered Multimodal Health Screening MVP