3、数据最小化原则:什么是数据最小化、ADAS中哪些数据是必要的、如何实施数据最小化

好,咱们接着聊数据最小化。说实话,这个原则在ADAS领域里,经常被工程师们忽略。大家总觉得「多存点数据总没错」,但真到了合规审查的时候,麻烦就来了。

数据最小化,说白了就是:只收集完成任务所必需的数据,不多拿一丁点。这不是抠门,这是法律要求。GDPR、《个人信息保护法》都白纸黑字写着呢。

我个人习惯把数据最小化比作「做菜放盐」——放少了菜没味,放多了齁得慌。你得找到那个刚刚好的量。

3.1 什么是数据最小化

数据最小化原则包含三层意思:

  • 目的限制:数据只能用于明确告知用户的目的
  • 数据最少化:收集的数据量必须与目的成比例
  • 存储期限最小化:用完了就删,别留着过年

嗯,这里要注意。很多团队在开发阶段喜欢「先存着,以后可能有用」。我曾经在一个项目中看到,系统把摄像头拍到的一切都存下来了,包括路边的行人、商店招牌、甚至车牌号。这其实已经踩红线了。

⚠️ 避坑指南
我曾经接手过一个项目,他们为了训练算法,把一整年的路测数据全存了。结果合规审计时发现,里面包含了大量路人面部信息和车牌号。最后花了三个月才清理干净,还赔了罚款。记住:不是所有能存的数据,都是该存的数据

3.2 ADAS中哪些数据是必要的

这个问题很关键。我把它分成两类:功能必需数据可选数据

功能模块 必需数据 可选/非必需数据
自适应巡航(ACC) 前车距离、相对速度、本车速度 前车品牌、颜色、驾驶员面部
车道保持(LKA) 车道线位置、车辆横向偏移量 车道线颜色、路边行人表情
自动紧急制动(AEB) 障碍物距离、相对速度、碰撞时间TTC 障碍物类型(车/人/动物)、颜色
交通标志识别(TSR) 标志类型、位置、置信度 标志上的文字内容、背景广告

你想想看,ACC只需要知道前车距离和速度就够了,根本不需要知道前车是宝马还是奥迪。但很多系统默认把摄像头画面全存了,这就是过度收集。

我个人习惯在系统设计阶段就做「数据必要性审查」。每增加一个数据字段,就问自己三个问题:

  1. 没有这个数据,功能还能正常运行吗?
  2. 这个数据是否可以直接从其他必需数据推导出来?
  3. 存储这个数据会带来哪些隐私风险?

如果三个问题中有一个回答不理想,那就别存。

3.3 如何实施数据最小化

实施数据最小化,不是一句空话。我总结了一套实操方法,分四个步骤:

3.3.1 设计阶段:数据流图分析

在系统架构设计时,画一张完整的数据流图。标注每个数据从哪来、到哪去、干什么用。然后问自己:这条数据路径真的必要吗?

// 示例:数据流图简化版
// 输入:摄像头原始帧 (1920x1080, 30fps)
// 处理:目标检测 → 提取 bounding box + 距离
// 输出:只保存 [目标ID, 距离, 相对速度, 时间戳]
// 丢弃:原始图像、颜色信息、纹理信息

我在项目中遇到过,有些团队直接把原始视频流存到本地。其实完全没必要。你只需要保存检测结果就够了。原始视频可以在处理完后立即删除。

3.3.2 开发阶段:数据脱敏与截断

如果某些数据必须保留,那就做脱敏处理。比如:

  • 人脸模糊:在保存前对图像中的人脸区域做高斯模糊
  • 车牌遮挡:检测到车牌区域后,用纯色块覆盖
  • 坐标泛化:GPS坐标只保留到小数点后两位(约1.1km精度)
💡 小技巧
我习惯在数据采集模块里加一个「最小化开关」。开发阶段可以关闭(方便调试),但量产时必须强制开启。这样既不影响开发效率,又能保证合规。

3.3.3 存储阶段:设置自动过期策略

数据不能无限期保存。我建议按数据类型设置不同的保留期限:

数据类型 建议保留期限 说明
实时控制数据 处理完成后立即删除 如ACC控制指令、制动信号
事件触发数据 30天 如碰撞预警、紧急制动事件
诊断日志 90天 用于故障排查
训练数据集 项目结束后6个月 需脱敏后保存

嗯,这里要特别提醒。自动删除策略一定要在代码里写死,不能依赖人工操作。我曾经见过一个项目,数据删除全靠运维手动执行,结果人员离职后,数据在服务器上躺了两年没人管。

3.3.4 审计阶段:定期检查数据清单

每季度做一次数据清单审计。检查:

  • 当前存储了哪些数据?
  • 这些数据是否还在使用?
  • 有没有超出当初声明的使用目的?
  • 有没有超过保留期限的数据?

说白了,数据最小化不是一次性的工作,而是需要持续维护的。就像你定期清理手机里的照片一样,系统也需要「断舍离」。

📌 核心要点总结
  • 数据最小化 = 只收集必需数据 + 用完即删
  • ADAS必需数据:功能相关的距离、速度、位置等
  • 非必需数据:图像原始帧、人脸、车牌、品牌信息等
  • 实施四步法:设计审查 → 开发脱敏 → 存储过期 → 定期审计

最后说一句。数据最小化不是限制你的开发能力,而是保护你的产品不被法律风险击穿。我见过太多项目因为数据合规问题被下架、被罚款。与其事后补救,不如从一开始就把最小化原则刻在代码里。