Ethics in Computer Vision
Module: Computer Vision | Difficulty: Beginner
Fairness Metrics
Demographic Parity
Equalized Odds
Disparate Impact
Privacy Considerations
- Face recognition in public spaces
- Consent and data collection
- Anonymization techniques
- Right to be forgotten
Bias Sources
- Training data: Underrepresentation of minorities
- Label bias: Annotator stereotypes
- Deployment bias: Mismatched use cases
def fairness_report(predictions, labels, sensitive_attrs):
report = {}
groups = sensitive_attrs.unique()
for group in groups:
mask = sensitive_attrs == group
group_preds = predictions[mask]
group_labels = labels[mask]
# Demographic parity
report[f'group_{group}_selection_rate'] = group_preds.mean()
# True positive rate
positive_mask = group_labels == 1
if positive_mask.sum() > 0:
report[f'group_{group}_tpr'] = group_preds[positive_mask].mean()
# Disparate impact
rates = [report[f'group_{g}_selection_rate'] for g in groups]
report['disparate_impact'] = min(rates) / max(rates) if max(rates) > 0 else 0
return report
Key Takeaways
- Bias in vision systems can cause real-world harm
- Regular fairness auditing is essential for responsible deployment
- Privacy-preserving techniques protect individual rights