Euro NCAP 2026 人口统计公平性要求:DMS 系统必须覆盖所有用户

前言

AI 系统可能存在偏见,DMS 也不例外。研究表明,某些 DMS 系统对深色皮肤用户的检测准确率较低。Euro NCAP 2026 明确要求系统必须覆盖所有用户群体。


一、公平性要求

1.1 Fitzpatrick 肤型分类

肤型 描述 典型人群
I 极浅,总是灼伤 北欧人群
II 浅,通常灼伤 欧洲人群
III 中等,有时灼伤 地中海、亚洲
IV 橄榄色,很少灼伤 地中海、亚洲
V 棕色,很少灼伤 南亚、中东
VI 深棕色,从不灼伤 非洲人群

1.2 Euro NCAP 要求

核心原则: 系统性能不能因人口统计因素产生显著差异。

因素 要求
肤色 Fitzpatrick I-VI 全覆盖
年龄 18-75 岁
性别 男女均衡
眼镜 有/无眼镜
面部毛发 有无须

二、公平性测试方法

2.1 分层测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class FairnessTester:
def __init__(self):
self.demographics = {
'skin_tone': ['I', 'II', 'III', 'IV', 'V', 'VI'],
'age': ['18-30', '31-45', '46-60', '61-75'],
'gender': ['male', 'female'],
'glasses': ['yes', 'no']
}

def stratified_test(self, model, test_dataset):
"""
分层测试

返回: 各人口组的性能指标
"""
results = {}

for skin_tone in self.demographics['skin_tone']:
subset = test_dataset.filter(skin_tone=skin_tone)
metrics = self.evaluate(model, subset)
results[f'skin_{skin_tone}'] = metrics

return results

def evaluate(self, model, data):
"""评估性能"""
predictions = model.predict(data.images)

return {
'accuracy': self.calc_accuracy(predictions, data.labels),
'precision': self.calc_precision(predictions, data.labels),
'recall': self.calc_recall(predictions, data.labels),
'f1': self.calc_f1(predictions, data.labels)
}

2.2 公平性指标

指标 计算方法 公平性标准
Demographic Parity P(Y=1 A=0) = P(Y=1
Equalized Odds TPR_A=0 = TPR_A=1 差异 <5%
Disparate Impact min(P(Y=1 A)) / max(P(Y=1

三、偏见来源分析

3.1 数据偏见

问题 原因 影响
样本不均衡 浅肤色样本过多 深肤色性能差
标注偏见 标注者主观偏见 标签不准确
采集偏见 特定地区采集 地域代表性不足

3.2 模型偏见

问题 原因 影响
特征学习偏见 模型学习到肤色特征 肤色相关决策
过拟合 训练数据不均衡 泛化能力差

四、偏见缓解策略

4.1 数据层面

策略 方法
重采样 欠采样多数类,过采样少数类
数据增强 对少数类进行增强
合成数据 使用合成数据补充少数类

4.2 训练层面

策略 方法
公平性损失 添加公平性约束项
对抗训练 训练对抗器消除偏见
迁移学习 从公平性好的预训练模型迁移

4.3 公平性损失函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import torch
import torch.nn as nn

class FairnessLoss(nn.Module):
def __init__(self, lambda_fair=0.1):
super().__init__()
self.lambda_fair = lambda_fair
self.ce_loss = nn.CrossEntropyLoss()

def forward(self, predictions, labels, sensitive_attr):
"""
公平性损失

参数:
predictions: 模型预测
labels: 真实标签
sensitive_attr: 敏感属性(如肤色)
"""
# 分类损失
ce = self.ce_loss(predictions, labels)

# 公平性约束:不同群体的预测分布应该相似
pred_probs = torch.softmax(predictions, dim=1)

group_0_mask = (sensitive_attr == 0)
group_1_mask = (sensitive_attr == 1)

pred_0 = pred_probs[group_0_mask].mean(dim=0)
pred_1 = pred_probs[group_1_mask].mean(dim=0)

# KL 散度作为公平性约束
fairness = nn.functional.kl_div(
pred_0.log(), pred_1, reduction='batchmean'
)

return ce + self.lambda_fair * fairness

五、测试场景

5.1 分心检测公平性测试

肤型 测试样本 检测率要求
I-II 100 ≥95%
III-IV 100 ≥95%
V-VI 100 ≥95%
差异要求 - <5%

5.2 疲劳检测公平性测试

年龄组 测试样本 检测率要求
18-30 100 ≥95%
31-45 100 ≥95%
46-60 100 ≥95%
61-75 100 ≥95%
差异要求 - <5%

六、IMS 开发指导

6.1 数据集构建

要求 说明
肤色均衡 Fitzpatrick I-VI 各 ≥1000 样本
年龄均衡 各年龄段 ≥500 样本
性别均衡 男女各 50%
眼镜均衡 有无眼镜各 30%+

6.2 开发检查清单

检查项 状态
[ ] 训练数据人口统计审计
[ ] 分层性能评估
[ ] 公平性指标计算
[ ] 偏见缓解策略实施
[ ] Euro NCAP 公平性测试

参考资料

  1. Euro NCAP DSM Test Procedure v1.0
  2. Chalmers University: Occlusion and Fairness in DMS
  3. Fairness in Machine Learning - IBM

发布日期: 2026-04-17
标签: Euro NCAP, DMS, 公平性, 人口统计, 算法偏见


Euro NCAP 2026 人口统计公平性要求:DMS 系统必须覆盖所有用户
https://dapalm.com/2026/04/17/2026-04-17-dms-demographic-fairness/
作者
Mars
发布于
2026年4月17日
许可协议