| { | |
| "model_name": "PRIMER", | |
| "full_name": "Pretrained RadImageNet for Mammography Embedding Representations", | |
| "version": "1.0.0", | |
| "release_date": "2024-10-17", | |
| "model_details": { | |
| "organization": "Lab-Rasool", | |
| "architecture": "ResNet-50", | |
| "base_model": "RadImageNet ResNet-50", | |
| "training_method": "SimCLR Contrastive Learning", | |
| "model_type": "Feature Extraction / Embedding Model", | |
| "modality": "Medical Imaging - Mammography", | |
| "parameters": "23.5M", | |
| "model_size_mb": 283, | |
| "license": "Apache-2.0" | |
| }, | |
| "intended_use": { | |
| "primary_uses": [ | |
| "Feature extraction for mammography images", | |
| "Similarity search and retrieval", | |
| "Clustering and grouping mammograms", | |
| "Transfer learning backbone for downstream tasks", | |
| "Content-based image retrieval systems", | |
| "Quality control and anomaly detection" | |
| ], | |
| "out_of_scope": [ | |
| "Direct clinical diagnosis", | |
| "Standalone diagnostic tool", | |
| "Non-mammography medical images", | |
| "Real-time processing without optimization" | |
| ] | |
| }, | |
| "training_data": { | |
| "dataset": "CMMD (Chinese Mammography Mass Database)", | |
| "dataset_url": "https://doi.org/10.7937/tcia.eqde-3b16", | |
| "num_training_samples": 13000, | |
| "data_splits": { | |
| "train": 0.7, | |
| "validation": 0.15, | |
| "test": 0.15 | |
| }, | |
| "image_format": "DICOM", | |
| "views": ["CC (craniocaudal)", "MLO (mediolateral oblique)"], | |
| "population": "Chinese population" | |
| }, | |
| "training_procedure": { | |
| "method": "Self-supervised contrastive learning (SimCLR)", | |
| "loss_function": "NT-Xent (Normalized Temperature-scaled Cross Entropy)", | |
| "epochs": 50, | |
| "batch_size": 128, | |
| "optimizer": "AdamW", | |
| "learning_rate": 0.0001, | |
| "scheduler": "Cosine annealing with warmup", | |
| "temperature": 0.07, | |
| "mixed_precision": true, | |
| "hardware": "NVIDIA RTX 3090 (24GB VRAM)" | |
| }, | |
| "performance_metrics": { | |
| "embedding_quality": { | |
| "silhouette_score": { | |
| "radimagenet_baseline": 0.127, | |
| "primer_finetuned": 0.289, | |
| "improvement_percent": 127 | |
| }, | |
| "davies_bouldin_score": { | |
| "radimagenet_baseline": 2.847, | |
| "primer_finetuned": 1.653, | |
| "improvement_percent": -42, | |
| "note": "Lower is better" | |
| }, | |
| "calinski_harabasz_score": { | |
| "radimagenet_baseline": 1834, | |
| "primer_finetuned": 3621, | |
| "improvement_percent": 97 | |
| }, | |
| "embedding_variance": { | |
| "radimagenet_baseline": 0.012, | |
| "primer_finetuned": 0.024, | |
| "improvement_percent": 100 | |
| } | |
| } | |
| }, | |
| "input_output": { | |
| "input": { | |
| "format": "DICOM or preprocessed image tensor", | |
| "shape": [3, 224, 224], | |
| "dtype": "float32", | |
| "color_space": "RGB", | |
| "normalization": "ImageNet (mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])" | |
| }, | |
| "output": { | |
| "format": "Embedding vector", | |
| "shape": [2048], | |
| "dtype": "float32", | |
| "normalization": "L2 normalization recommended" | |
| } | |
| }, | |
| "preprocessing_requirements": { | |
| "critical_steps": [ | |
| "Photometric interpretation correction (MONOCHROME1 inversion)", | |
| "Percentile-based intensity clipping (2nd-98th percentile)", | |
| "Min-max normalization to [0, 255]", | |
| "CLAHE enhancement (clipLimit=2.0, tileGridSize=8x8)", | |
| "Grayscale to RGB conversion", | |
| "Resize to 224x224", | |
| "ImageNet normalization" | |
| ], | |
| "dependencies": [ | |
| "pydicom>=2.4.4", | |
| "opencv-python>=4.8.1.78", | |
| "numpy>=1.26.0" | |
| ] | |
| }, | |
| "limitations": { | |
| "domain_specificity": "Trained on CMMD dataset (Chinese population); performance may vary on other populations", | |
| "dicom_dependency": "Requires proper DICOM preprocessing for optimal results", | |
| "resolution_loss": "High-resolution details may be lost at 224x224 input size", | |
| "self_supervised": "No direct classification output; requires downstream task integration", | |
| "photometric_interpretation": "Critical to handle MONOCHROME1/MONOCHROME2 correctly" | |
| }, | |
| "ethical_considerations": { | |
| "bias": "Model trained on Chinese population data; may not generalize equally to all demographics", | |
| "clinical_use": "Not FDA approved; requires clinical validation before medical use", | |
| "privacy": "DICOM files may contain PHI; ensure proper de-identification", | |
| "interpretability": "Embeddings are learned representations; clinical interpretation required" | |
| }, | |
| "citations": { | |
| "primer": { | |
| "title": "PRIMER: Pretrained RadImageNet for Mammography Embedding Representations", | |
| "authors": "Lab-Rasool", | |
| "year": 2024, | |
| "url": "https://huggingface.co/Lab-Rasool/PRIMER" | |
| }, | |
| "radimagenet": { | |
| "title": "RadImageNet: An Open Radiologic Deep Learning Research Dataset for Effective Transfer Learning", | |
| "authors": "Mei et al.", | |
| "journal": "Radiology: Artificial Intelligence", | |
| "year": 2022, | |
| "doi": "10.1148/ryai.210315" | |
| }, | |
| "simclr": { | |
| "title": "A Simple Framework for Contrastive Learning of Visual Representations", | |
| "authors": "Chen et al.", | |
| "conference": "ICML", | |
| "year": 2020, | |
| "arxiv": "2002.05709" | |
| }, | |
| "cmmd": { | |
| "title": "Chinese Mammography Database (CMMD)", | |
| "source": "The Cancer Imaging Archive", | |
| "doi": "10.7937/tcia.eqde-3b16" | |
| } | |
| }, | |
| "contact": { | |
| "organization": "Lab-Rasool", | |
| "huggingface": "https://huggingface.co/Lab-Rasool", | |
| "model_repository": "https://huggingface.co/Lab-Rasool/PRIMER", | |
| "issues": "https://huggingface.co/Lab-Rasool/PRIMER/discussions" | |
| }, | |
| "technical_specifications": { | |
| "framework": "PyTorch 2.1+", | |
| "required_libraries": [ | |
| "torch>=2.1.0", | |
| "torchvision>=0.16.0", | |
| "timm>=0.9.12", | |
| "pydicom>=2.4.4", | |
| "opencv-python>=4.8.1.78", | |
| "albumentations>=1.3.1" | |
| ], | |
| "gpu_requirements": "12GB+ VRAM recommended for inference", | |
| "inference_speed": "~50ms per image on RTX 3090" | |
| } | |
| } | |