"Genetics Meets Imaging, AI Predicts Alzheimer's"
A cutting-edge AI system that combines genetic variant data and MRI brain imaging to predict Alzheimer's disease progression using deep learning and attention-based fusion mechanisms.
- Multi-Modal Fusion: Combines genetic variants (130 features) and MRI brain images using attention mechanisms
- Dual-Stream Architecture: Separate encoders for genetic and imaging data with learned fusion
- Attention-Based Fusion: Uses cross-modal attention to identify important relationships between genetic markers and brain imaging features
- Comprehensive Evaluation: Includes detailed metrics, visualizations, and interpretability tools
.
├── src/
│ ├── models/
│ │ ├── __init__.py
│ │ ├── multimodal_fusion.py # Main fusion model
│ │ ├── genetic_encoder.py # Genetic variant encoder
│ │ └── mri_encoder.py # MRI image encoder
│ ├── data/
│ │ ├── __init__.py
│ │ ├── dataloader.py # Data loading utilities
│ │ └── preprocessing.py # Data preprocessing
│ ├── training/
│ │ ├── __init__.py
│ │ ├── trainer.py # Training loop
│ │ └── metrics.py # Evaluation metrics
│ └── utils/
│ ├── __init__.py
│ ├── visualization.py # Visualization tools
│ └── config.py # Configuration
├── notebooks/
│ └── exploration.ipynb # Data exploration
├── scripts/
│ ├── train.py # Training script
│ ├── evaluate.py # Evaluation script
│ └── inference.py # Inference script
├── requirements.txt
└── README.md
# Clone the repository
git clone https://github.com/kogantiharsha/AlzFusion.git
cd AlzFusion
# Create virtual environment (recommended)
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/Mac
# Install dependencies
pip install -r requirements.txt# With default paths (update config.py with your data paths)
python scripts/train.py --epochs 50 --batch_size 32
# With custom paths
python scripts/train.py \
--genetic_data "path/to/preprocessed_alz_data.npz" \
--mri_train "path/to/train.parquet" \
--mri_test "path/to/test.parquet" \
--epochs 50 \
--batch_size 32python scripts/evaluate.py --model_path models/best_model.pthpython scripts/inference.py \
--model_path models/best_model.pth \
--genetic_features genetic_features.npy \
--mri_image brain_scan.jpgThe system uses a dual-stream architecture:
- Genetic Encoder: Fully connected layers with batch normalization and dropout
- MRI Encoder: Convolutional neural network (ResNet-based) for feature extraction
- Fusion Module: Cross-modal attention mechanism that learns relationships between genetic and imaging features
- Classifier: Final prediction head with multiple output classes
- Genetic Variants: 6,346 samples with 130 features (preprocessed)
- MRI Images: 5,120 samples with brain imaging data
- Labels: Multi-class classification (AD, Non-AD, Mild Cognitive Impairment, etc.)
- Attention-Based Fusion: Unlike simple concatenation, uses attention to weight important cross-modal relationships
- Progressive Training: Can train modalities separately or jointly
- Interpretability: Provides attention visualizations to understand model decisions
The model tracks:
- Accuracy
- Precision, Recall, F1-Score
- Confusion Matrix
- ROC-AUC (for binary classification)
- Attention weights visualization
- Accuracy: 85.3%
- F1-Score (Macro): 0.82
- F1-Score (Weighted): 0.84
Results may vary based on dataset and training configuration
- QUICKSTART.md - Quick start guide
- PROJECT_SUMMARY.md - Detailed architecture and technical details
- SETUP.md - Complete setup instructions
- PROJECT_SUBMISSION.md - Project story and submission details
This project was developed for the AI4Alzheimer's Hackathon. Contributions and improvements are welcome!
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Dataset providers (NIAGADS, Kaggle)
- PyTorch community for excellent documentation
- Medical AI researchers whose work inspired this project
For questions or issues, please open an issue on GitHub.
⭐ If you find this project useful, please consider giving it a star!