AI for Medical Image Quality Control
Module: Healthcare AI | Difficulty: Advanced
Image Quality Index
where are individual quality metrics.
Artifact Detection Score
Quality Control Metrics
| Metric | Target | Threshold | Action |
|---|---|---|---|
| SNR | >20 dB | <15 dB | Reject |
| Motion Artifacts | <5% | >10% | Repeat |
| Positioning | >90% | <80% | Reposition |
| Contrast | >0.7 | <0.5 | Adjust |
| Resolution | >0.5 mm | <0.8 mm | Check equipment |
import torch
import torch.nn as nn
class ImageQualityAssessor(nn.Module):
def __init__(self, in_channels=1):
super().__init__()
self.features = nn.Sequential(
nn.Conv2d(in_channels, 32, 3, padding=1), nn.ReLU(),
nn.Conv2d(32, 64, 3, padding=1), nn.ReLU(),
nn.AdaptiveAvgPool2d(1))
self.quality_head = nn.Sequential(
nn.Linear(64, 32), nn.ReLU(), nn.Linear(32, 1), nn.Sigmoid())
self.artifact_head = nn.Sequential(
nn.Linear(64, 32), nn.ReLU(), nn.Linear(32, 5), nn.Sigmoid())
def forward(self, x):
features = self.features(x).flatten(1)
quality = self.quality_head(features)
artifacts = self.artifact_head(features)
return quality, artifacts
class ArtifactDetector(nn.Module):
def __init__(self, num_artifact_types=5):
super().__init__()
self.backbone = models.resnet18(pretrained=True)
num_features = self.backbone.fc.in_features
self.backbone.fc = nn.Identity()
self.artifact_head = nn.Linear(num_features, num_artifact_types)
self.severity_head = nn.Linear(num_features, 3)
def forward(self, x):
features = self.backbone(x)
artifacts = self.artifact_head(features)
severity = self.severity_head(features)
return artifacts, severity
qa_model = ImageQualityAssessor(in_channels=1)
x = torch.randn(1, 1, 256, 256)
quality, artifacts = qa_model(x)
print(f'Quality score: {quality.item():.4f}')
print(f'Artifact scores: {artifacts.shape}')
artifact_detector = ArtifactDetector()
x_rgb = torch.randn(1, 3, 256, 256)
artifact_type, severity = artifact_detector(x_rgb)
print(f'Artifact type: {torch.argmax(artifact_type, dim=1).item()}')
print(f'Severity: {torch.argmax(severity, dim=1).item()}')
Research Insight: AI-based quality control can catch image quality issues that radiologists might miss during busy reading sessions. The most valuable application is automated detection of subtle motion artifacts that degrade diagnostic accuracy. Real-time quality assessment during image acquisition can prompt technologists to repeat scans before the patient leaves the department.