EGO · 青少年抑郁多模态数字表型筛查系统 研究与技术验证系统 · 2026 数媒赛参赛作品
多模态 · 反伪装 · 伦理门优先

让「说不出口的难受」,被客观信号先看见

EGO 是一套面向青少年抑郁的多模态数字表型筛查与初步心理诊断工具:用普通摄像头、麦克风与一次轻量认知任务, 采集生理与行为信号,由多智能体协同解读,产出一份供专业医生复核的客观线索报告;同时给家长与老师一份可使用的青少年心理干预建议。

先看系统怎么工作 专业对接绿色通道 · 程序开发中,数据持续改进中
4 类模态rPPG 生理 / 朗读语音 / 认知任务 / 面部视频
0 额外硬件摄像头 + 麦克风 + 键盘即可完成采集
先判信度信度不足时拒绝给出风险等级
交给医生初步结果需由专业医生复核,系统不直接下结论
证据链

一次采集,要走完六步才可能产生一句话

下面是程序里真实存在的顺序:任何一步不通过,后面的步骤就不会执行。 EGO 简化了传统问卷测量,用客观采集的身体与行为信号代替单方面主观问答打分,数据来源步步留痕。

  1. 第 1 步采集摄像头、麦克风与键盘三路信号在同一时间窗内各取一次;全程在本机内完成。
  2. 第 2 步质量门控先看信号有没有真的采到、采够:没采到的模态不进后面的判据,也不拿空白当正常。
  3. 第 3 步特征提取rPPG 反推心率与 HRV;语音给出朗读准确率、语速与韵律;认知任务给出原始反应时与波动。
  4. 第 4 步三态判据对这次作答给出三种互斥判断之一:本次作答有效 / 作答无效 / 尚未判定;只有第一态才继续往下走。
  5. 第 5 步报告逐条列出指标、异常点与推理依据,不给一个脱离来路的数字结论。
  6. 第 6 步医生绿色通道一般人群会由系统给出一定结论;特殊情况才转由医生端复核。这份报告的判读口径由我们的精神医学专业成员反复打磨,最终结论仍以医生意见为准。

这条链路为什么要留痕

  • 步步落盘:医生端看到的是推理过程与中间结论,而不是数据罗列。
  • 矛盾会被显式记录:任一路证据缺失或互相矛盾都会被清晰记录。
  • 全离线:语音识别和面部视频在本地完成,原始数据不会上传云端;服务端默认仅监听本机回环地址,接口访问写入审计日志。
  • 边界:系统不盲目诊断、不替代精神科医师,只做心理辅助筛查。
为什么做

被漏掉的不是症状,而是如何被看到

青少年抑郁的识别率长期偏低。问题不只在筛查工具够不够多,更在于传统量表几乎完全依赖自我报告 —— 而自我报告恰恰在青少年身上最容易失真。

01

不愿说、不敢说

害怕被贴标签、担心家长与老师知道、不愿承认「自己有问题」,很多孩子在量表上选择最保守的答案。

02

量表可被「反分数迎合」

自评量表是显式问答,作答策略完全由被测者掌控:读懂题意后刻意往「低风险」方向作答,分数就会落回正常区间。

03

单一生理指标不够用

心率、皮电等单模态生理信号受情绪、运动、咖啡因、环境温度影响很大,单点异常既不足以支持结论,也不足以否定风险。

这就是 EGO 的出发点:不采取主观询问,而是采集那些不依赖主观作答、也不容易被刻意控制的信号, 并把数据可信度放在首位。

系统怎么工作

四个模态,一次采集

采集端在一台普通电脑上跑完四个环节,全程约数分钟,不需要任何专用医疗硬件。

本机内处理 采集端 摄像头 · 麦克风 · 认知任务 本机本地推理 离线语音识别 · 本地大模型 医生端看板 人工复核 · 循证线索报告
模态一 · 生理

摄像头 rPPG:从脸色里读出心跳

人脸上的皮肤每跳一次心跳都会发生极其细微的颜色变化 —— 幅度通常不到百分之一,肉眼完全看不出。 EGO 用摄像头连续拍摄面部区域,把像素颜色随时间的微小波动提取出来,反推出心率与心率变异性(HRV)。 整个过程不接触身体,因此不会因为绑袖带、夹指夹而让孩子紧张,采集到的数据反而更接近真实静息状态。

这也是「远程光电容积脉搏波(rPPG)」这个名字的由来:用光学方式远程感知血容量变化。

模态二 · 语音

朗读语音:不只判断内容,同时分析声纹数据

请受测者朗读一段指定文本,系统在本地离线完成中文语音识别,再计算 朗读准确率与语速。 同时提取基频、音高波动、停顿与静音占比等韵律特征。 语音线索的意义在于它很难被伪装:语速忽快忽慢、停顿过多、音高起伏变平,往往与注意与情绪状态相关。

语音识别在本地完成,音频不上传云端;情绪词库与语音判据均经过精神医学及心理学专业人员审核应用。

模态三 · 认知

色词 Stroop:注意控制与反应时

屏幕上出现一个带有颜色的词汇,要求孩子忽略字义尽可能快地按实际颜色作答。 正确作答需要抑制文字的自动阅读反应,因此反应时会明显变慢。 系统记录每次按键的原始反应时、正确率与反应时波动这些指标反映的是注意控制与抑制能力, 与情绪困扰存在相关,且答题者无法通过伪装来显著改变自己的反应速度。

模态四 · 解读

多智能体协同解读:把三路信号拼成一个判断

三路模态各自只能说明一部分问题,因此由多个分工明确的智能体协同工作: 分别负责生理信号、语音韵律、认知任务与信度自检,再由一个汇总角色交叉核对彼此结论。 当各模态相互印证时给出线索报告;当彼此矛盾或数据不足时,将如实报告。

模态一 · 生理

摄像头 rPPG
采什么
面部视频:普通摄像头连续拍摄面部区域,不接触身体。
怎么得到客观量
把像素颜色随时间的微小波动提取出来,反推心率与心率变异性(HRV)。
什么情况下拒绝出数
没有采到有效生理波形 / 信号质量不足 → 该路标记为缺失,不参与结论。

模态二 · 语音

朗读语音
采什么
一段朗读音频:本地离线完成中文识别,音频不外传。
怎么得到客观量
朗读准确率、语速,以及基频、音高波动、停顿与静音占比等韵律特征。
什么情况下拒绝出数
完全没读到语音 / 有效语音时长不足 / 语速远低于真实朗读下界 → 判为「未完成朗读,作答无效」;设备与音频输入问题单独归类。

模态三 · 认知

色词 Stroop
采什么
一次按键作答:屏幕上出现颜色词,要求按字体实际颜色作答,键盘即可完成。
怎么得到客观量
每次按键的原始反应时、正确率与反应时波动,反映注意控制与抑制能力。
什么情况下拒绝出数
有效试次数量不足(中途放弃 / 大量未作答)→ 该路不参与结论。

模态四 · 解读

多智能体协同解读
采什么
不采集新信号:读取前三路模态的输出与各自的中间结论。
怎么得到客观量
四个角色分工取证(生理 / 语音 / 认知 / 信度自检),再由汇总角色交叉核对彼此结论。
什么情况下拒绝出数
各模态互相矛盾,或任一路证据缺失 → 如实报告并视情况而定转交人工处理。
峰值 恢复

示意图说明:所有信号在本机采集与处理,服务端默认仅监听本机回环地址;接口访问留审计日志并可启用访问口令保护。

先判信度

这份数据能不能用,比数据本身更重要

EGO 将数据可信度放在第一位。信度不过关,后面的风险判断一律不输出。

信度在判什么

  • 是否真的在朗读:朗读准确率与语速是否落在真实朗读的区间内;口音重与没在读落在相近区间,所以这一项要分级处理。
  • 音频数据是否有效:有效语音时长。设备与音频输入问题会被单独归类。
  • 生理信号是否真的采到:有没有取得任何有效测量输入;从未取到有效输入时,可信度分不构成判定。
  • 各模态是否互相矛盾:三路结论能不能对上。矛盾会被显式记录。

三态判据(三者互斥)

本次作答有效

信度达到阈值(代码常量 CRED_INVALID_THRESHOLD = 60,工程标定值)→ 继续生成客观线索报告与可信度评分,并交由专业医生复核。

作答无效

信度低于阈值 → 风险处显示「作答无效,无法评估」,并写明失败属于哪一类(原因码:low_credibility / missing_physio / aborted_read / confirmed_invalid),不输出任何风险等级。

尚未判定

从未取得任何有效测量输入时,可信度分不构成判定:页面显示「未判定」,不显示分数、不显示风险等级,不下结论。

无法判定时,页面显示什么

  1. 显示「未判定」。
  2. 那一格不出现任何数字。
  3. 不显示风险等级、不用颜色暗示高低。
  4. 原因根据代码判断确定。
信度读数 · 示意面板 示意状态,并非真实数据
朗读质量朗读准确率 / 有效语音时长未判定
生理信号是否取得有效测量输入未判定
认知任务有效试次数量与反应时分布未判定
模态一致性三路结论是否互相矛盾未判定
未判定不显示分数

四项判据都没有完成判定时,输出「未判定」。程序在数据层把这类记录标成「不构成判定」,看板与接口都不为它渲染风险等级 。

研发历程

我们如何做到这一切

以下是我们团队的研发历程。 每一个转折点,都是源自上一个方案的失败。

第 一 步

发现问题:只靠量表,等于把判断权交给被测者

最初的目标 —— 让筛查更快一点。但很快我们意识到一个尴尬的事实: 在自评量表上,孩子只要理解了题意,就能决定自己「考」多少分; 而单独一路生理信号无法做到准确判断。

优化结果:放弃「单一量表/单一信号出结论」的思路,转而采集多路不易被主观控制的信号。
第 二 步

单模态原型:确保各路信号可收集

我们做了第一个可运行原型:只采一路生理信号,给出具体指标。 但其结论极不稳定 —— 同一个人换一个环境再测,结果差别很大。

优化结果:确认单模态不足以支撑任何结论,开始规划第二、第三路模态。
第 三 步

引入 rPPG 与朗读语音:双模态交叉印证

我们把摄像头 rPPG 生理采集与朗读语音分析接进同一条流程,让两路信号在同一时间窗内互相印证。

优化结果:最终把「多模态一致」确立为输出结论的前提条件之一。
第 四 步

致命发现:无人参与,也有报告。

这是整个项目最重要的一次自我否定。在测试中我们发现: 当受测者什么都不读、什么都不答时,系统给出的结果反而「看起来很健康」 没有异常语音、没有异常反应时、没有冲突数据,于是被当成低风险的正常样本。 也就是说,系统只认定异常数据,对数据缺口没有相应判断。

优化结果:引入信度判据 —— 可信度评分(credibility score)与一组可信度标记: 朗读准确率、有效语音时长、生理信号是否真正采到、各模态是否互相矛盾。 评分低于阈值的记录,将被判为作答无效。
第 五 步

把这些判据变成伦理门:信度不足时,拒绝给结论

有了可信度评分后,新的风险出现了:如果只是「降低权重」,系统仍然会在信度很低时输出一个风险等级。 对一个筛查工具来说,这等于用一个不可靠的输入,去生成一个看起来权威的结论。

优化结果:把阈值做成硬闸门 —— 信度低于阈值的记录在数据层即被标记为「作答无效」, 风险处只显示「作答无效,无法评估」。并且规定该标记只能被伦理门逻辑写入, 服务端的任何重算路径都不允许把它覆盖回正常等级
第 六 步

引入多智能体编排:即便特殊环境有单一数据薄弱,也能产出一定结论

三路模态放在一起后,问题从数据准确性变成了多模态的综合判断。 一个统一的大模型提示词通常做不到稳定分工,它经常只挑一路证据说事。

优化结果:我们把解读拆成多个分工明确的智能体(生理 / 语音 / 认知 / 信度自检 + 汇总核对), 每一步的中间结论都落盘留痕,医生端可以看到推理过程而不是只是数字。 今天你看到的医生端看板,就是这个编排过程的输出界面。
项目文化

技术的初衷是为人服务

我们做的是一个会碰到未成年人敏感数据的系统。这决定了有几条底线不能让步。

0 1

数据最小化

只采集解释当前问题所必需的信号;语音识别在本地离线完成,音频不外传; 服务端默认只监听本机回环地址,接口访问写入审计日志(时间、来源 IP、结果码); 需要区分调用方时可以启用访问口令保护。需要如实说明的是:不启用口令的默认模式下本机任意进程都能无凭据访问接口, 此时审计只能记录到「来自本机」,无法追溯到具体是谁;审计记录本身也不足以替代调用方身份。

0 2

没有把握时,拒绝给结论

「说不知道」是一个合格的技术结论。信度绝不输出等级评估。

0 3

技术为人服务

设计上的每一个选择都先问一句:这会不会让孩子更紧张、更被贴标签? 因此我们选择无接触采集、最终结果报告去病理化,把标签转化为数据和实际建议,让医生能看懂,对家长老师更友好。

0 4

可解释优先于漂亮

报告里保留推理过程与中间结论,优先确保数据可信。

0 5

对自己诚实

项目历程里的那次自我否定被完整保留在文档与网站里。 我们认为,敢写出自己方案的失败,比只展示成功更接近科研的样子。

0 6

不越界

本系统不做诊断、不开处方、不替代精神科医师。它只负责把客观线索整理好, 交到专业人员手里 —— 这条边界在任何演示场合都不会为了效果而模糊。