HF_Lung_V1 — 开放获取肺音数据库与呼吸相位检测基准

Heroic-Faith 与台湾团队构建的 9,765 段 15 秒肺音库——含 34,095 吸气/18,349 呼气/13,883 连续异常音/15,606 爆裂音标签,自研 HF-Type-1 八麦克风设备,CC BY 4.0 于 GitLab 公开,八种 RNN 变体基准确立双向优于单向、加 CNN 增益的结论

来源 台湾智慧急诊与重症监护(TSECC)2020 数据挑战赛数据库(CC BY 4.0,台湾急诊重症医学会 TSECCM 提供,261 名患者)+ 台湾北部呼吸照护病房/呼吸照护中心(RCW/RCC)18 名住院者于 2018 年 8 月至 2019 年 10 月的录音(伦理批件 107052-F)发布时间: 2026-10-16最后更新: 2026-10-20 阅读 41
HF_Lung_V1 — 开放获取肺音数据库与呼吸相位检测基准

信息速览

数据集名称HF_Lung_V1 — 开放获取肺音数据库与呼吸相位检测基准
数据类型人工标注,原始数据,时序数据
规模来源受试者 279 名(TSECC 2020 数据库 261 名患者 + 台湾北部 RCW/RCC 18 名住院者);录音段 9,765 段(每段 15 秒)
接入方式台湾智慧急诊与重症监护(TSECC)2020 数据挑战赛数据库(CC BY 4.0,台湾急诊重症医学会 TSECCM 提供,261 名患者)+ 台湾北部呼吸照护病房/呼吸照护中心(RCW/RCC)18 名住院者于 2018 年 8 月至 2019 年 10 月的录音(伦理批件 107052-F)
AI 就绪度

HF_Lung_V1 — 开放获取肺音数据库与呼吸相位检测基准

本条目为千方病案医数集「AI-Ready Wikipedia」系列之一。所有硬数字均以论文(PLoS ONE 2021;16(7):e0254134)与官方 GitLab 仓库 README 为准,双口径冲突处逐条存照。

§0 导读:这个数据集解决什么问题

0.1 一句话定位

HF_Lung_V1 是一份「给机器听肺」的开放语料库:它把 9,765 段 15 秒的肺部听诊录音,连同专业标注者逐段标出的「哪里在吸气、哪里在呼气、哪里出现了异常音」的精确时间戳一起公开,让研究者能训练和比较自动呼吸音分析算法,而不必自己去医院重新采集、重新标注。

0.2 为什么重要:传统听诊的「不可编程」困境

肺音听诊(auscultation)是呼吸系统检查最古老、最廉价的手段之一。医生把听诊器贴上胸壁,靠耳朵分辨正常呼吸音、喘鸣(wheeze)、爆裂音(crackle)等——但这个过程高度依赖经验、不可回溯、难以标准化。论文开篇即点出动机:「在很多临床场景——例如监测 2019 冠状病毒病(COVID-19)的疾病进展——迫切需要一台可靠、远程、连续的实时呼吸音监测器,来取代传统的手持听诊器。」

要造出这样的监测器,光有算法不够,还需要带标签的大规模真实录音。HF_Lung_V1 正是为填补这一缺口而生:它不是第一份肺音数据集(ICBHI 2017 更早、更广为人知),但它以统一规格的 15 秒定长片段、明确的呼吸相位 + 异常音双任务标注、以及涵盖两种采集设备的结构,成为呼吸音人工智能研究中被高频复用的基准之一。

0.3 一句话的历史地位

从 2021 年发布至今,HF_Lung_V1 已成为呼吸音分析领域的常用公共语料。后续多个大型呼吸音语料与基础模型工作(如 SPRSound 综述、通用体音基础模型论文、以及 Resp-Agent 等下游系统)都把它列为数据源或对照基准——这种被反复引用与复用的能力,本身就是它价值的证明。

0.4 本条目回答什么问题

  • HF_Lung_V1 到底包含什么?(§2 数据构成)
  • 它的标签是怎么打出来的、可信度如何?(§3 标注体系)
  • 许可与获取门槛是高是低?(§5 获取与许可)
  • 拿它能做哪些任务、基线性能如何?(§4 任务与基准)
  • 它和 ICBHI 2017、SPRSound 等同域数据集相比定位何在?(§8 生态)
  • 使用时要避开哪些坑?(§10 避坑清单)

0.5 阅读路线图

本条目篇幅较长,可按需选读:

你的角色 建议优先阅读
快速判断要不要用 §0 导读 + §1 速览 + §11 总结
准备下载使用 §5 获取 + §6 工程细节 + 附录 C 决策树
关注标注质量 §3 标注体系 + §3.9 金标准距离
关注模型/基准 §4 任务与基准 + §4.6 指标建议
关注生态定位 §8 生态与影响 + §9 库内关系
检索/引用 §9.4 建议互链点 + 附录 A 证据链

§1 数据集速览:十问十答

问题 答案
官方名称是什么? HF_Lung_V1(下划线连写;HF 源自开发方 Heroic-Faith 公司名)
谁做的? Heroic-Faith Medical Science Co. Ltd. 与台湾研究团队(通讯作者 Feipei Lai,国立台湾大学),联合台大医院等
什么时候发布的? 论文 arXiv 预印本 2021-02-05;正式发表于 PLoS ONE 2021 年 16 卷 7 期(e0254134)
有多大? 9,765 个音频文件,每个 15 秒;对应四类标签吸气 34,095 / 呼气 18,349 / CAS 13,883 / DAS 15,606
数据从哪来? ① TSECC 2020 数据挑战赛数据库(261 名患者)② 台湾北部 RCW/RCC 18 名住院者录音
用什么设备录的? 3M Littmann 3200 商用电子听诊器(单通道)+ 自研 HF-Type-1 多通道声学设备(8 麦克风)
有哪些标签? 吸气、呼气、连续异常音(喘鸣/喉鸣/干啰音)、间断异常音(爆裂音)
怎么获取? GitLab 公开直链 https://gitlab.com/techsupportHF/HF_Lung_V1,免费下载
许可是什么? CC BY 4.0(署名即可自由使用、再分发、商用)
主要用途? 呼吸相位检测、异常音检测、呼吸音分析模型基准评测

数字小账:34,095(吸气)+ 18,349(呼气)+ 13,883(CAS)+ 15,606(DAS)= 81,933 条标签。请以论文/GitLab 的逐类数字为准,本条目不作额外求和宣称(见 §10 坑 9)。

§2 数据构成与规格

2.1 规模总览:9,765 × 15 秒

HF_Lung_V1 的核心规格可以用一句话概括:9,765 段、每段 15 秒的肺音录音。把总时长做个粗算:9,765 × 15 秒 = 146,475 秒 ≈ 40.7 小时 的标注肺音。对于一个需要逐段人工标注听诊事件的数据集而言,这个体量在 2021 年属于相当可观。

关键的几组硬数字(三源互证:论文摘要、GitLab README、第三方综述均一致):

标签类别 数量 说明
音频文件 9,765 每段 15 秒
吸气标签(inhalation / inspiratory) 34,095 呼吸相位之吸气段
呼气标签(exhalation / expiratory) 18,349 呼吸相位之呼气段
连续异常音(CAS)标签 13,883 含喘鸣 8,457 + 喉鸣 686 + 干啰音 4,740
间断异常音(DAS)标签 15,606 全部为爆裂音(crackles)

2.2 两类数据来源

HF_Lung_V1 的录音来自两个独立渠道,这一「双源结构」是理解其人群构成的关键:

来源一:TSECC 2020 数据挑战赛数据库。 台湾智慧急诊与重症监护(Taiwan Smart Emergency and Critical Care, TSECC)2020 数据挑战赛所用数据库,由台湾急诊重症医学会(Taiwan Society of Emergency and Critical Care Medicine, TSECCM)提供,采用 CC BY 4.0 许可。该库收录 261 名患者的肺音录音。

来源二:台湾北部 RCW/RCC 住院者录音。 2018 年 8 月至 2019 年 10 月期间,从台湾北部一家呼吸照护病房(Respiratory Care Ward, RCW)或呼吸照护中心(Respiratory Care Center, RCC)征集 18 名住院者采集录音。该部分录音经亚东纪念医院(Far Eastern Memorial Hospital)研究伦理审查委员会批准(批件号 107052-F),18 名受试者均签署书面知情同意。

人群画像提醒:两个来源都以重症/呼吸照护场景为主——急诊重症(TSECC)与呼吸照护病房(RCW/RCC)。这意味着受试者中呼吸系统疾病负担较重、老年/病情较重的比例可能偏高。把在此数据上训练的模型迁移到社区健康人群时,需警惕域偏移(domain shift)。

2.3 两种采集设备

数据集的一个显著特色是同时涵盖商用设备与自研设备的录音,这在同类数据集中并不常见:

设备一:3M Littmann 3200(单通道)。 这是临床广泛使用的商用电子听诊器。其录制的文件以 steth_ 前缀命名,如 steth_yyyymmdd_HH_MM_ss。

设备二:HF-Type-1(多通道,自研)。 由 Heroic-Faith Medical Science Co. Ltd. 自研的多通道声学记录设备,支持连接 8 个驻极体麦克风(electret microphone)。其录制的文件以 trunc_ 前缀命名,格式为 trunc_yyyy-mm-dd-HH-MM-ss-LX_N。

这种「商用 + 自研」的双设备设计,让数据集天然适合研究设备差异对算法鲁棒性的影响:同一类呼吸音在不同麦克风阵列下的信号特征差异,是真实部署中必须面对的问题。

2.4 时间戳规格与去标识

每段录音固定为 15 秒。论文与 README 明确说明:文件名中的日期是随机偏移的(date on the filename is randomly shifted),目的是去标识(de-identification)。这意味着:

  • 无法从文件名还原真实的采集日期;
  • 但同一天的文件很可能来自同一受试者(采集时间间隔很短),因此仍保留了「同源分组」的信息。

正因为如此,README 特别给出了一条建模建议:同一日期的文件应整体归入训练集、验证集或测试集三者之一,切勿跨集合切分,否则会造成受试者泄漏(subject leakage)。这条建议是使用本数据集时最容易被忽视、后果却最严重的工程要点之一。

2.5 特征提取与预处理

README 描述了数据集的信号预处理流水线:录音后先用高通滤波器(high-pass filter)消除 60 Hz 的电气干扰以及部分心音噪声;随后应用短时傅里叶变换(STFT)对信号处理,提取梅尔频率倒谱系数(MFCCs)、能量累加等特征;最后将全部特征拼接成特征矩阵并做归一化处理。

重要区分:上述特征提取是论文作者用于其 RNN 基准实验的流程,并不代表仓库分发的音频已被预处理为特征矩阵。仓库公开的仍是 WAV 音频 + TXT 标签的原始形态,使用方可自由选择自己的特征工程方案。

2.6 类别构成深度解读

把四类标签放在一起看,能读出数据集的「任务重心」:

呼吸相位占主导。 吸气(34,095)+ 呼气(18,349)= 52,444 条相位标签,是数量最大的标签族。这说明数据集的基础任务设定是「先把呼吸周期切出来」——这是所有后续分析(呼吸率、呼吸模式、异常音定位)的前提。

吸气多于呼气。 吸气 34,095 vs 呼气 18,349,比例约 1.86:1。一个合理的解释是:正常情况下吸气为主动过程、信号更强更易界定,而呼气(尤其被动呼气)尾部平缓、边界更难划定,可能被标注者合并或省略。这个不平衡是数据固有的,建模时不应强行「配平」到 1:1,而应理解其生理成因。

异常音标签合计过半于相位标签。 CAS(13,883)+ DAS(15,606)= 29,489 条异常音标签,相当于相位标签的约 56%。这意味着数据集不只是「呼吸切分工具」,而是带着丰富异常音监督信号的语料——这正是它适合做异常音检测的量化依据。

DAS 纯度 100%。 间断异常音 15,606 条「全部为爆裂音」——单一子类的好处是标签语义极清晰(做二分类「有无爆裂音」毫无歧义),代价是无法区分爆裂音的细亚型(如细湿啰音 fine crackle vs 粗湿啰音 coarse crackle)。

2.7 时长与采样:40+ 小时意味着什么

9,765 段 × 15 秒 ≈ 40.7 小时的标注肺音。横向对比可感知其体量:

数据集 规模 粗算时长
HF_Lung_V1 9,765 段 × 15 秒 ≈ 40.7 小时
ICBHI 2017 920 段(不等长) 数小时量级
SPRSound 2,683 段 ≈ 11 小时(原文口径)

(注:各数据集时长统计口径不同,此处仅作量级示意。)在「带精细时间标签」的肺音语料中,HF_Lung_V1 的 40+ 小时属于规模领先的一档。

2.8 双源结构对建模的隐性影响

前面提到数据来自 TSECC(261 患者)与 RCW/RCC(18 住院者)两个来源。这一双源结构在建模时会带来两类隐性影响:

其一,来源不可完全区分。 仓库并未在文件名中直接标注「这条来自 TSECC 还是 RCW/RCC」。使用者在无法区分来源的情况下,若两源人群特征差异较大,模型可能学到混杂的分布。

其二,两源样本量悬殊。 261 患者 vs 18 住院者,后者即使每人多录多段,其受试者级多样性也远低于前者。做受试者独立的交叉验证时,需注意小来源的受试者可能被划入同侧。

这些影响不改变数据集的可用性,但提醒使用者在解释结果(尤其泛化性结论)时保持审慎。

§0-§2 小结

HF_Lung_V1 的定位可以浓缩为一句话:一份以「呼吸相位 + 异常音」双任务为核心、双来源采集、双设备录制、CC BY 4.0 全开放的 9,765 段肺音语料库。它的人群偏重症、标签出自单一标注者、且只有 train/test 二分——这些「不完美」既是它的边界,也是使用者在建模前必须内化的前提。

§3 标注体系:标签怎么打、可信吗

3.1 标签文件的组织方式

HF_Lung_V1 的标签采用「同名配对」的最简组织方式:

  • 每段 15 秒音频为 .wav 格式;
  • 其对应标签为文本 .txt 格式,文件名与音频同前缀,但加 _label 后缀。

举例:音频 trunc_2020-03-15-14-30-00-L3_2.wav 的标签即 trunc_2020-03-15-14-30-00-L3_2_label.txt。

标签文件内以时间区间的形式记录每一类事件(吸气/呼气/连续异常音/间断异常音)在 15 秒中的起止位置。这种「音频 + 逐事件时间戳」的形态,使数据集天然适配**音频事件检测(sound event detection)**而非简单的片段级分类任务——这正是它区别于许多「整段一个标签」肺音数据集的关键。

3.2 单一标注者的现实

README 用一段坦诚的说明披露了标签的生成方式,值得逐字理解:

「应当注意,单个标签文件仅由一名标注者制作。即便标注者通过参加定期会议保持对标注准则的良好一致(good agreement on labeling criteria),标注仍然并不完美(the labeling is still not perfect)。」

这句话传递了三点重要信息:

  1. 单标注者(single annotator):每份标签只出自一人之手,不存在多人投票的平均效应;
  2. 准则一致性靠会议维持:标注者定期开会对齐标准,但这保证的是「口径趋同」而非「逐条正确」;
  3. 作者自认不完美:这是难得的诚实披露,提示使用者标签本身带有噪声(label noise)。

3.3 正在建设的多标注者金标准

README 进一步说明:

「由多方标注者标注的 ground-truth 标签的建立仍在进行中(under process)。ground-truth 标签创建完成后,数据库将被更新并宣告。」

这意味着当前版本的 HF_Lung_V1 标签并非金标准(gold standard),而是「可用但非完美」的初版标注。使用者应当:

  • 在报告中明确说明所用的是初版单标注者标签;
  • 预期未来可能存在一次标签更新(届时需核对版本);
  • 对精细的异常音边界类任务保持对标签噪声的鲁棒性设计。

3.4 时间标签的粒度与任务映射

四类标签对应两类不同的分析任务:

标签类别 语义 对应的典型任务
吸气 / 呼气 呼吸相位(breath phase) 呼吸相位检测:判断每一时刻处于吸气还是呼气
连续异常音(CAS) 喘鸣 / 喉鸣 / 干啰音 连续异常音检测:定位持续型异常音的时间区间
间断异常音(DAS) 爆裂音(crackle) 间断异常音检测:定位短促型异常音的时间点

论文正是围绕这两大任务组织其基准实验(见 §4)。

3.5 异常音类别体系:CAS 与 DAS

论文把异常音明确划分为两大类,这一划分是呼吸音领域的标准做法:

连续异常音(Continuous Adventitious Sound, CAS)——持续型、常为乐音性(musical)的声音,包含三种:

  • 喘鸣(wheeze):高调、持续的哨音样声音,8,457 条标签,是 CAS 中数量最多的一类;
  • 喉鸣(stridor):源于上气道的粗糙呼吸音,686 条标签,是三类中数量最少的;
  • 干啰音(rhonchi):低调、粗糙、有时带咕噜感的持续音,4,740 条标签。

间断异常音(Discontinuous Adventitious Sound, DAS)——短促、非乐音性的爆裂样声音:

  • 爆裂音(crackle):15,606 条标签,在 HF_Lung_V1 中是 DAS 的唯一子类(原文明言 “all crackles”)。

类别不均衡提示:喘鸣 8,457 vs 喉鸣 686,相差逾 12 倍。在这样的不均衡下,稀有类别(喉鸣)的检测性能通常显著低于多数类,建模时需特别关注(可用类加权、重采样或分层评估)。

3.6 关于标注噪声的领域共识

论文在其结论部分把「建立高精度的 ground-truth 标签」列为未来工作的第一要务,并坦陈了呼吸音标注的固有难点,这些难点对理解标签质量很有帮助:

  • 事件边界模糊:一段标注的起止点在主观上存在弹性;
  • 录音首尾漏标倾向:标注者倾向不标注靠近录音开头与结尾的事件(tendency to not label events located close to the beginning and end of a recording);
  • 异常呼吸模式造成混淆:不规则的呼吸模式(如快速浅呼吸)与低信噪比(poor SNR)会干扰判读;
  • 声音重叠:呼吸音、CAS、DAS 可能在同一时段重叠出现(例如一次吸气里同时有喘鸣),这种重叠加上数据不均衡,会使模型学错——论文明确观察到「误把吸气或呼气的能量升降当作 CAS 或 DAS 识别」的假阳性(FP)。

作者同时指出,深度学习模型对噪声标签具有较高鲁棒性(引 Rolnick et al., 2017),因此初版标签虽不完美,仍具实用价值。

3.7 标注噪声对建模的四种具体影响

理解标签噪声通常如何影响下游建模,有助于针对性地设计训练策略。对 HF_Lung_V1,噪声主要经由四条路径影响结果:

路径一:边界抖动(boundary jitter)。 吸气/呼气交界处的时间戳具有主观弹性,若模型对边界精确到帧极为敏感(如逐帧 F1),边界的几十毫秒误差就会拉低指标。缓解:使用相对宽容的评估(事件级重叠判定 IoU 阈值),或对边界施加平滑后处理。

路径二:首尾漏标(edge omission)。 论文明确指出标注者倾向不标注靠近录音首尾的事件。若训练时把未标注的首尾区视为「负样本」,模型会学到「首尾大概率无事件」的错误先验。缓解:对录音首尾若干秒做忽略(ignore)处理,不计入损失。

路径三:重叠混淆(overlap confusion)。 呼吸音与异常音可同时出现(一次吸气内含喘鸣),加上类不均衡,模型容易「把吸气/呼气的能量升降错当成 CAS 或 DAS」——这是论文实测观察到的假阳性模式。缓解:引入多标签建模(允许同一时刻并存多个类别),而非强制单标签竞争。

路径四:稀有类欠拟合。 喉鸣仅 686 条,在单标注者噪声下更容易被淹没。缓解:类加权损失、重采样、或稀有类专门的数据增强。

3.8 如何在自己的研究中声明标签来源

学术诚信角度,使用 HF_Lung_V1 时建议在方法节明确写明以下要点,避免误导读者:

  1. 版本:HF_Lung_V1(非 V2);
  2. 标签性质:单标注者初版,非多标注者金标准;
  3. 获取日期:注明下载时点(因存在 2022-01-18 更新);
  4. 划分方式:说明是否遵守「同日整组」防泄漏划分;
  5. 已知局限:如实报告人群偏重症、类别不均衡等边界。

这五点看似繁琐,却是让结果可被正确解读的前提——尤其当审稿人熟悉该数据集时,缺失任一点都不利于结果的可信度。

3.9 与「金标准」的距离:一次诚实的自我定位

把 HF_Lung_V1 与「理想金标准」逐项对比,可以清楚看到它的定位:

金标准要素 HF_Lung_V1 现状 差距
多标注者 单标注者 无标注者间一致性统计
仲裁机制 无 无第三人裁决歧义
一致性量化 无 κ/IAA 报告 无法定量标签可靠性
版本冻结 明确后续将更新 存在版本漂移风险
边界规范 靠会议对齐准则 无形式化边界定义

这张表的结论不是「它不好」,而是「它是可用的初版语料而非终审金标准」。对于算法预研、基线比较、教学场景,它完全够用;对于需要临床级结论的验证,则需谨慎或等待后续更新。

§4 任务定义与八模型基准

4.1 论文的两大任务

HF_Lung_V1 论文围绕两个任务展开:「呼吸相位检测(breath phase detection)」与「异常音检测(adventitious sound detection)」。这是一个**逐时间帧(frame-level)或逐事件(event-level)**的检测任务,而非整段分类。

论文摘要明确其研究宗旨:「本研究开发了一个肺音数据库(HF_Lung_V1)……我们对 LSTM、GRU、BiLSTM、BiGRU、CNN-LSTM、CNN-GRU、CNN-BiLSTM 和 CNN-BiGRU 模型进行了呼吸相位检测与异常音检测的基准测试。」

4.2 八种 RNN 变体的设计矩阵

这八个模型并非随意堆砌,而是一个精心设计的 2×2×2 因子实验,每个维度回答一个独立问题:

因子 水平 回答的问题
门控单元(gating unit) GRU vs LSTM 哪种循环单元更适合肺音?
方向性(directionality) 双向(bidirectional) vs 单向(unidirectional) 利用前后文是否增益?
卷积前端(CNN frontend) 有 CNN vs 无 CNN 前置卷积特征提取是否增益?

三种因子的全交叉(2×2×2 = 8)恰好对应八个模型:LSTM、GRU、BiLSTM、BiGRU、CNN-LSTM、CNN-GRU、CNN-BiLSTM、CNN-BiGRU。

4.3 三条核心结论

论文摘要给出了清晰的三条基准结论,可逐条对照:

结论一:门控单元——GRU 略胜 LSTM。 「基于 GRU 的模型在大多数定义任务中,以 F1 分数和 ROC 曲线下面积(AUC)衡量,优于基于 LSTM 的模型。」注意措辞是「大多数」而非「全部」,说明优势是统计倾向而非绝对压制。

结论二:方向性——双向全面优于单向。 「所有双向模型都优于其单向对应版本。」这一条被表述为无例外的全面优势,是本基准最稳健的发现。

结论三:CNN 前端——增益,尤其在 CAS 任务。 「加入 CNN 提高了肺音分析的准确率,尤其是在 CAS 检测任务中。」CNN 负责提取局部时频特征,与 RNN 的时序建模形成互补,这在乐音性的连续异常音(喘鸣等)识别上收益最明显。

4.4 为什么是 RNN 而非其他架构

论文发表于 2021 年,其基准选择聚焦循环神经网络(Recurrent Neural Network, RNN)家族有其时代合理性:呼吸音是典型的时间序列信号,事件之间有明确的时序依赖(吸气后接呼气、异常音嵌在呼吸周期中),RNN 类模型天然适配。论文摘要也点明动机:当时「稳健的计算机化呼吸音分析算法尚未在实际应用中得到验证」,需要先在标准语料上把经典循环架构的性能摸清。

历史视角:2021 年后,Transformer 与音频自监督基础模型(如大规模体音基础模型)开始进入这一领域。HF_Lung_V1 作为带精细时间标签的规模语料,其价值在新架构时代不降反升——因为它既可用于监督训练,也可用于微调与评测。

4.5 基准的可复现性说明

论文以 48 页篇幅、8 张图详尽记录其基准实验。README 提示仓库提供的是作者研究中所用的 train 与 test 两个子集。使用者在复现时应注意:

  • 论文的划分即为仓库的 train/test 划分,未提供独立验证集;
  • README 反复强调的「同日期文件不得跨集合」是防泄漏红线;
  • 若要自建验证集,必须遵守同日整组划分原则。

4.6 评估指标的选择建议

论文使用 F1 分数与 **ROC 曲线下面积(AUC)**衡量性能(摘要明确点名这两个指标)。用于呼吸音检测时,指标选择需注意几点:

指标 适用 注意
帧级 F1 相位分割(逐时刻) 对边界抖动敏感
事件级 F1 异常音检测(逐事件,需 IoU 阈值) 更贴临床,但阈值需固定
AUC / ROC 二分类判别力 类不均衡下可能乐观
PR-AUC 类极不均衡时更真实 喉鸣等稀有类首选

对稀有类(喉鸣 686 条),建议以 PR-AUC(精确率-召回率曲线下面积)替代 ROC-AUC,因为 ROC 在极端不均衡下会给出虚高的乐观估计。

4.7 从 2021 到基础模型时代:任务定义的延续

论文在结论部分的展望,实际上预言了后续几年的研究方向。作者列出的未来工作包括:

  1. 建立高精度 ground-truth 标签(这一条已部分由 V2 与在建的多标注者标注推进);
  2. 研究含最先进卷积层的 RNN 模型;
  3. 把标签扩展到二维边界框以支持区域 CNN 变体;
  4. 引入小波方法、经验模态分解(EMD)等特征提取手段;
  5. 为呼吸音监测器装备气管呼吸音分析能力。

这些展望中,第 3 条(标签从一维时间扩展到二维时频框)尤其有前瞻性——它预示了后来「时频图 + 目标检测」的技术路线。而第 1 条则呼应了本条目反复强调的「初版标签非金标准」。

§3-§4 小结:HF_Lung_V1 的标注是单标注者初版、作者自认不完美、ground-truth 在建;其论文基准通过 2×2×2 因子设计确立了「GRU 略优 LSTM、双向全面优于单向、CNN 尤其增益 CAS 检测」三条结论。理解其标签噪声的四条影响路径(边界抖动、首尾漏标、重叠混淆、稀有类欠拟合),是把它用好、用对的关键前提。

§5 获取与许可:门槛最低的一类

5.1 直接下载,无门禁

与许多需要签署数据使用协议(DUA)、提交申请或通过 gated 页面解锁的医学数据集不同,HF_Lung_V1 的获取方式极为简单:

直接访问 GitLab 仓库公开直链下载即可:

https://gitlab.com/techsupportHF/HF_Lung_V1

(项目 ID:23732449)

无需注册、无需授权申请、无 gated 限制、无请求制(request-based)流程。下载后解压,得到 train 与 test 两个文件夹,分别是作者研究中使用的训练集与测试集,内含 15 秒音频及其对应标签。

对「AI-Ready」的意义:在医学数据「可获取性光谱」上,HF_Lung_V1 位于最开放的一端——公开直链 + 宽松许可,是少数可以「今天下、今天就跑实验」的临床音频数据集。这一点是它被广泛复用的直接原因。

5.2 许可:CC BY 4.0

README 明确声明:

「Heroic-Faith Medical Science Co. Ltd. 的数据库 HF_Lung_V1 采用 Creative Commons Attribution 4.0 (CC BY 4.0) International License 许可。」

CC BY 4.0 是知识共享许可中最宽松的署名型许可,其含义:

权利 是否允许 条件
使用(含商用) ✅ 允许 需署名
再分发 ✅ 允许 需署名
改编 / 二次创作 ✅ 允许 需署名
署名要求 — 需注明来源 Heroic-Faith Medical Science Co. Ltd. 及许可

实践建议:引用时建议同时标注数据集名(HF_Lung_V1)、释出方(Heroic-Faith Medical Science Co. Ltd.)、许可(CC BY 4.0)及论文 DOI(10.1371/journal.pone.0254134)。CC BY 4.0 允许商用,但署名不可省——这是许可的核心义务。

5.3 数据来源的许可链路

值得留意的是,数据集两个来源的许可情况是自洽的:

  • TSECC 2020 数据库本身即采用 CC BY 4.0 许可(由 TSECCM 提供);
  • RCW/RCC 录音经由伦理批件(107052-F)与知情同意采集,由 Heroic-Faith 整合释出。

因此整个 HF_Lung_V1 以统一的 CC BY 4.0 释出,不存在来源间的许可冲突。

5.4 版本与更新

数据集并非「一次发布、永久不变」。README 记录了 2022-01-18 的一次重要更新(详见 §6.4)。使用者在引用时应当:

  • 记录获取日期;
  • 若论文方法对特定文件敏感(如补零的音频),核对是否使用了更新后的版本;
  • 关注 README 中「ground-truth 标签在建」的后续更新宣告。

§6 工程细节:文件名、听诊位置与更新日志

6.1 文件名编码规则

HF_Lung_V1 的文件名本身携带了元数据,理解其编码是正确使用的第一步:

设备 前缀 文件名格式
3M Littmann 3200(单通道) steth_ steth_yyyymmdd_HH_MM_ss
HF-Type-1(多通道) trunc_ trunc_yyyy-mm-dd-HH-MM-ss-LX_N

其中:

  • 日期时间为录音时间戳,但已随机偏移以去标识;
  • LX 为听诊位置编码(仅 HF-Type-1 文件有);
  • N 为从原始录音中截取的第 N 个 15 秒片段(truncation order,仅 HF-Type-1 文件有)。

6.2 HF-Type-1 的八个听诊位置(L1-L8)

自研 HF-Type-1 设备支持 8 个麦克风,其听诊位置编码如下(MCL = 锁骨中线 midclavicular line,MAL = 腋中线 midaxillary line,ICS = 肋间 intercostal space):

编码 听诊位置
L1 右锁骨中线(MCL)第 2 肋间(ICS)
L2 右锁骨中线(MCL)第 5 肋间(ICS)
L3 右腋中线(MAL)第 4 肋间(ICS)
L4 右腋中线(MAL)第 10 肋间(ICS)
L5 左锁骨中线(MCL)第 2 肋间(ICS)
L6 左锁骨中线(MCL)第 5 肋间(ICS)
L7 左腋中线(MAL)第 4 肋间(ICS)
L8 左第 10 肋间(ICS)(原 README 此处标示存疑,见 §10 坑 6)

这八点基本覆盖了双肺上下、前后、内外侧的常规听诊区域,构成一个对称的八通道听诊网格——这正是多通道设备的价值:一次采集即可获得全肺音场。

6.3 steth_ 文件的听诊位置不可推断

README 用一句关键警告澄清了 Littmann 3200 文件的局限:

「并非每轮用 Littmann 3200(前缀 steth_)录制的八个文件都被收录进本数据库;因此在使用这些文件时不应推断其听诊位置。」

也就是说,steth_ 文件只知道「某次听诊」而不含可靠的位置信息。若研究需要位置维度,应使用 trunc_(HF-Type-1)文件。

6.4 2022-01-18 更新日志(逐条)

README 记录了四则修订,反映了数据集维护的严谨,也提示使用时的注意点:

  1. 截断修正:部分 steth_ 前缀的 3M Littmann 3200 文件长于 15 秒,已正确截断为 15 秒——保证全库严格定长。
  2. 文件名日期错误更正:去标识过程中,有 5 个音频文件与 5 个标签文件的文件名错误地显示了日期串 20190931(9 月 31 日不存在),已更正。
  3. 短音频补零:音频 steth_20190507_14_34_58.wav 因录音未正确完成而不足 15 秒,已在尾部补 0(zero-padding)补足为 15 秒。
  4. 重新打包:训练与测试数据集重新打包上传(未压缩),因此 zip 文件数量增加。

坑 3 的实操含义:第 3 条说明存在至少一段尾部补零的音频。做信号分析时,若发现有尾部静音段,应知晓其可能为补零而非真实静音。第 2 条则说明早期版本可能存在 9 月 31 日这类非法日期文件——对文件名做日期解析的代码应能容错。

6.5 防泄漏划分的工程红线

再次强调 README 最实用的一条工程建议:同日期文件极可能来自同一受试者,必须整组归入同一数据集划分。具体做法示例:

# 伪代码:按日期分组后再划分,杜绝跨集合泄漏
groups = group_files_by_date(all_files)     # 同日期 → 同组
train_groups, test_groups = split(groups)    # 以「组」为单位划分

若忽略此点而随机按文件划分,同一受试者的录音会同时出现在训练与测试集,造成虚高的测试性能——这是使用本数据集最常见的隐性错误。

6.6 一次完整的下载与解析流程(参考)

下面给出一个从下载到解析元数据的参考流程,帮助首次使用者快速上手(伪代码,示意用途):

# 步骤 1:获取
git clone https://gitlab.com/techsupportHF/HF_Lung_V1.git
# 或从 GitLab 页面下载 zip 包后解压(README 提示更新后 zip 数增多)

# 步骤 2:解压得到目录结构
HF_Lung_V1/
├── train/          # 训练集(音频 + _label.txt)
└── test/           # 测试集(音频 + _label.txt)

# 步骤 3:解析文件名元数据
for f in train/*.wav:
    prefix = f.startswith("steth_") ? "littmann3200" : "hf_type1"
    if prefix == "hf_type1":
        location = parse_LX(f)   # L1-L8
        trunc_idx = parse_N(f)   # 截取序号
    date = parse_date(f)         # 注意:已去标识 + 需容错 20190931

# 步骤 4:按日期分组(防泄漏)
groups = group_by_date(all_files)

# 步骤 5:以"组"为单位划分 train/val(若自建验证集)

6.7 音频与标签的对齐校验

工程实践上,加载后应先做一次对齐校验,确认音频与标签一一对应且无缺失:

  • 数量对齐:每个 .wav 应有同名 _label.txt;
  • 时长校验:每段音频应为 15 秒(注意存在一段尾部补零,坑 3);
  • 标签区间合法性:标签区间应落在 [0, 15] 秒内且起止有序;
  • 标签总量核验:全库吸气总量应趋近 34,095、呼气 18,349、CAS 13,883、DAS 15,606。

这些校验能在建模前发现下载不完整、解压异常等问题,是低成本高收益的预处理步骤。

6.8 存储与带宽估算

粗算一下存储需求,便于规划:

  • 音频为未压缩 WAV(README 说明重新打包时「without compression」);
  • 按 16-bit 单通道、常见采样率估算,单段 15 秒音频约数百 KB;
  • 9,765 段合计,压缩包规模在数 GB 量级。

若做大规模实验(多次增强、多种子训练),建议提前规划缓存与存储;若做多通道特征提取,HF-Type-1 文件(8 通道)的处理成本高于单通道 steth_ 文件。

6.9 伦理与合规的使用边界

虽然 CC BY 4.0 在著作权层面允许广泛使用,但使用临床音频数据时仍应遵守伦理惯例:

  • 不尝试重识别:文件名日期已去标识,不应通过其他信息反推受试者身份;
  • 描述人群时如实:说明数据来自重症/呼吸照护人群,避免过度泛化宣称;
  • 署名与致谢:引用数据集并注明释出方与伦理批件背景;
  • 遵守平台条款:下载自 GitLab,应尊重其服务条款。

6.10 常见故障排查(Troubleshooting)

使用 HF_Lung_V1 时可能遇到的典型问题及排查思路:

问题 1:解压后音频与标签数量不符。
排查:确认下载的是最新版(2022-01-18 重新打包后 zip 数增多);逐目录统计 .wav 与 _label.txt 数量;缺失文件重新下载对应 zip。

问题 2:文件名解析报「非法日期」。
排查:这是已知的历史遗留(坑 4,20190931);在解析器中加入非法日期容错,或直接跳过日期字段、只用同日期分组。

问题 3:某段音频能量分析异常(尾部大面积静音)。
排查:可能是补零段(坑 3);检查是否为 steth_20190507_14_34_58.wav,或对尾部静音做标注忽略。

问题 4:测试集指标异常高。
排查:极可能是同日文件跨集合泄漏(坑 7);核对 train/test 是否按日期整组划分。

问题 5:稀有类(喉鸣)召回极低。
排查:类别不均衡所致(686 vs 8,457);采用类加权、重采样或 PR-AUC 评估,勿只看整体准确率。

问题 6:找不到听诊位置信息。
排查:确认使用的是 trunc_(HF-Type-1)文件;steth_ 文件无位置信息(坑 5)。

6.11 标注格式解析的参考伪代码

标签文件为文本区间,解析逻辑可参考:

def parse_label(label_path):
    events = []
    for line in read_lines(label_path):
        parts = line.split()          # 视实际分隔符调整
        start, end, category = parse(parts)
        # category ∈ {inhalation, exhalation, CAS_*, DAS_*}
        events.append({"start": start, "end": end, "label": category})
    return sorted(events, key=lambda e: e["start"])

# 校验:区间应落在 [0, 15],起止有序
assert all(0 <= e["start"] < e["end"] <= 15 for e in events)

具体字段顺序与分隔符以实际标签文件为准,上例为示意骨架。建议首次接触时先人工查看若干标签文件,确认格式后再批量解析。

§5-§6 小结:HF_Lung_V1 采用 CC BY 4.0 全开放许可、GitLab 公开直链、无任何门禁,可及性在医学音频数据中属最优一类;其工程要点集中在文件名元数据解析、8 通道听诊位置编码、同日整组防泄漏划分、加载后对齐校验、以及常见故障排查五点。

§7 AI-Ready 评估:五维打分

7.1 评估框架说明

「AI-Ready」关注的不是「数据好不好」,而是「拿来做 AI 的摩擦有多大」。下面从可发现性、可获取性、互操作性、元数据、可持续性五个维度,对 HF_Lung_V1 逐项评估。

7.2 五维评估表

维度 评级 依据
可发现性(Discoverability) 高 论文(PLoS ONE/arXiv)与 GitLab 仓库相互索引,DOI 稳定;被多篇综述复用,检索路径清晰
可获取性(Accessibility) 极高 CC BY 4.0 + GitLab 公开直链,零门禁、零申请、可商用
互操作性(Interoperability) 中高 WAV 音频 + TXT 文本标签,格式通用无壁垒;但标签格式为自定义文本区间,无标准 schema(如 WebVTT/JSON),跨库联合需自行解析对齐
元数据(Metadata) 中 文件名承载设备/时间/位置/截取序等元数据,README 说明充分;但无结构化元数据文件(如 CSV/JSON 索引),且日期已去标识
可持续性(Sustainability) 中高 依赖 GitLab 单一托管点(社区平台非长期档案库);作者承诺 ground-truth 更新,但更新节奏无 SLA

7.3 优势侧:为什么它「AI-Ready」

HF_Lung_V1 的 AI-Ready 优势集中体现在可获取性与任务就绪度两点:

  1. 零摩擦获取:CC BY 4.0 + 公开直链,省去了医学数据常见的审批等待,研究者可即时实验。
  2. 标签即任务:吸气/呼气/CAS/DAS 四类时间标签直接对应检测任务,无需二次标注。
  3. 定长规格:全库严格 15 秒,方便批处理与固定输入尺寸建模。
  4. 双设备覆盖:内置设备域差异,便于做鲁棒性研究。

7.4 边界侧:使用前必须知道的不足

不足 影响 缓解建议
单标注者、非金标准 标签含噪声,稀有类性能可能被低估 报告标签来源;对噪声鲁棒训练
无官方验证集 需自建 val,且必须遵守同日整组划分 严格执行防泄漏分组
类别不均衡 喉鸣(686)等稀有类易过拟合 类加权/重采样/分层评估
无结构化元数据 需自行解析文件名 编写元数据抽取脚本并固化
人群偏重症 迁移到社区人群存在域偏移 明确报告人群,必要时域适应
单一托管点 GitLab 若下线则获取受限 及时本地存档

7.5 与库内可获取性光谱的对照

在本库的医学数据集图谱中,HF_Lung_V1 与 icbhi-2017(rid=407) 同属「呼吸音公开语料」,但可获取性略有差异:ICBHI 2017 采用更为宽松的 CC0(放弃著作权),HF_Lung_V1 采用 CC BY 4.0(需署名)。两者都是高可及性代表,与库内那些请求制/审批制的影像数据集形成鲜明对照。

7.6 逐维打分细则

为让评分可追溯,下面给出每一维度的加减分理由:

D 可发现性 = 8/10。 加分:PLoS ONE 与 arXiv 双收录、DOI 稳定、被多篇综述(PMC10521503、arXiv 2411.07547)引用。扣分:数据集名与 HuggingFace 缩写「HF」极易混淆,检索时存在认知摩擦(坑 1)。

A 可获取性 = 10/10。 满分理由:CC BY 4.0 + 公开直链 + 零门禁 + 可商用,在临床数据中罕见地完全无摩擦。

I 可互操作 = 6/10。 加分:WAV/TXT 通用格式。扣分:标签为自定义文本区间,无 JSON/VTT 等标准 schema,跨库联合需自写解析器;无官方到标准音频标注格式的转换脚本。

M 元数据 = 6/10。 加分:文件名承载丰富元数据、README 说明详尽、更新日志完整。扣分:无结构化索引文件、日期已去标识、L8 位置描述存疑(坑 6)。

S 可持续性 = 7/10。 加分:作者承诺 ground-truth 更新、有维护记录(2022-01-18)。扣分:单一 GitLab 托管点非长期档案库,若下线则获取受限。

7.7 一句话结论

HF_Lung_V1 是典型的「高可及、中结构」型数据集:进门几乎无门槛,但进门后的数据组织需要使用者自己补足结构化工作(元数据解析、防泄漏划分、格式转换)。对能自行承担这些工程成本的团队,它是极优质的原料;对期望「下载即用、开箱即评」的场景,则需预留预处理时间。

§8 生态与影响

8.1 在呼吸音数据集谱系中的位置

理解 HF_Lung_V1 的地位,需要把它放进呼吸音公开数据集的家族树中。以下是同域主要成员(含库内已收录与未收录者):

数据集 团队/地区 规模要点 许可 库内状态
HF_Lung_V1 Heroic-Faith / 台湾 9,765 段 × 15 秒;四类标签 CC BY 4.0 本条目
ICBHI 2017 葡萄牙/希腊等 920 段 / 126 受试者;呼吸周期标注 CC0 已收录(rid=407)
SPRSound 上海交大 2,683 段 / 292 受试者(儿科) CC BY 4.0 未收录
KAUH 约旦 呼吸音(Mendeley) CC BY 4.0 未收录
COUGHVID EPFL 众包咳嗽音(大规模) CC BY 4.0 已收录(rid=427)
UK COVID-19 UKHSA 咳嗽/呼吸音(COVID) OGL 3.0 未收录

在这张表中,HF_Lung_V1 的差异化定位是:成人为主、重症/呼吸照护人群、单段定长 15 秒、双任务标注(相位 + 异常音)、双设备采集。与 ICBHI 2017 相比,它的段更短更整齐、标签更偏「相位+异常音」;与 SPRSound 相比,它面向成人而非儿科。

8.2 后继版本 HF_Lung_V2

HF_Lung_V1 已有官方扩版 HF_Lung_V2:作者 Hsu 等在后续工作中新采集了 42 名受试者的肺音以扩充数据集。第三方综述(PMC10521503)明确记载了这一谱系:「Hsu 等人从 42 名新受试者采集肺音,将 HF_Lung_V1 扩展为名为 HF_Lung_V2 的新数据集。」

检索提醒:V1 与 V2 是不同规模的两个版本,引用时须写明版本号。本条目描述的是 V1。

8.3 下游复用:被当作数据源的实例

HF_Lung_V1 已被多个下游系统作为训练/验证数据源。一个代表性实例是 Resp-Agent 数据集(HuggingFace: AustinZhang/resp-agent-dataset)——该呼吸音分析/生成系统的数据集构建表明确列出 HF Lung V1 作为 train/valid 来源之一,并标注其来源为 Heroic-Faith Medical Science、许可 CC BY 4.0。

这种「被上游系统直接纳入训练语料」的事实,是数据集影响力的实证:它不再只是被引用的基准,而成为构建更大系统的原料。

8.4 学术影响与研究场景

HF_Lung_V1 的典型研究场景包括:

  • 呼吸相位分割:把连续听诊切成吸气/呼气区间,是呼吸率估计、呼吸模式分析的基础;
  • 异常音检测:喘鸣/爆裂音的自动识别,辅助哮喘、COPD、肺炎等的筛查与监测;
  • 远程呼吸监测:契合论文提出的「远程持续呼吸音监测器」目标,尤其在后疫情时代有现实意义;
  • 多通道声学定位:利用 HF-Type-1 的 8 通道结构研究声源定位。

8.5 伦理与合规背景

数据集的伦理基础清晰可查:

  • 伦理批件:亚东纪念医院研究伦理审查委员会(批件号 107052-F);
  • 知情同意:18 名 RCW/RCC 受试者均签署书面知情同意;
  • 去标识:文件名日期随机偏移,切断与真实日期的关联;
  • TSECC 部分:源自公开数据挑战赛库(CC BY 4.0),已具备再分发基础。

这种「伦理批件 + 知情同意 + 去标识 + 开源许可」的完整链条,是临床音频数据合规释出的范例。

8.6 为什么它会成为「常用基准」

一个数据集能成为基准,通常需要同时满足几个条件。HF_Lung_V1 在这几点上的表现:

成为基准的条件 HF_Lung_V1 是否满足 说明
获取门槛低 ✅ CC BY 4.0 + 直链
规模够用 ✅ 9,765 段,40+ 小时
标签直接可用 ✅ 四类时间标签
有配套论文 ✅ PLoS ONE 48 页详述
有基线结果 ✅ 八模型基准
规格统一 ✅ 全库 15 秒定长

这六项同时满足,使它成为「拿来即用」的基准语料——研究者无需自建数据即可开展对比实验,这正是它被广泛复用的根本原因。

8.7 使用者的典型工作流

综合前述,一个典型的使用工作流可归纳为:

  1. 获取:从 GitLab 下载解压(§5.1);
  2. 解析:提取文件名元数据(设备/日期/位置)(§6.1-6.2);
  3. 防泄漏划分:按日期整组划分 train/val/test(§6.5);
  4. 校验:对齐校验音频与标签(§6.7);
  5. 建模:选择架构(论文基线为 RNN 家族,现代可用 Transformer);
  6. 评估:相位用帧级 F1,异常音用事件级 F1 + 稀有类 PR-AUC(§4.6);
  7. 声明:如实报告版本、标签性质与局限(§3.8)。

§9 与库内条目的关系

9.1 家族图谱

HF_Lung_V1 在本库中的关系以呼吸系统 / 呼吸音 / 肺影像为纽带:

同域强相关(推荐互链):

  • icbhi-2017(rid=407):呼吸音异常音检测基准,与 HF_Lung_V1 同属「肺音语料」家族,是论文中的对照数据集之一,最强同域互链点;
  • coughvid(rid=427):众包咳嗽音数据集,同属呼吸系统音频域,可作「咳嗽音 vs 肺音」的互补对照。

呼吸系统疾病域相关(建议互链):

  • copdgene(rid=327):慢阻肺基因与 CT 影像队列——呼吸系统疾病域,可形成「影像 + 音频」的多模态互链。

肺部影像域(弱相关):

9.2 检索路径建议

  • 想找肺音/呼吸音音频数据集:以 HF_Lung_V1 + ICBHI 2017 为起点;
  • 想找呼吸系统疾病多模态:以 copdgene(影像)+ HF_Lung_V1(音频)组合检索;
  • 想找咳嗽音专题:转 coughvid(rid=427);
  • 想找胸部影像:转 lung-pet-ct-dx(rid=475)、rider-lung-ct(rid=267)。

9.3 消歧提示

  • HF_Lung_V1 ≠ HF_Lung_V2:前者 9,765 段,后者为新增 42 名受试者的扩版,引用须标版本(§8.2);
  • HF_Lung_V1 ≠ ICBHI 2017:两者是不同团队、不同规模的两个数据集,切勿混为一谈(§10 坑 2);
  • HF 前缀含义:源自开发方 Heroic-Faith 公司名,与 HuggingFace(HF)无关——这是极易误读的一点(§10 坑 1)。

9.4 建议互链点(库内条目 + rid)

供主会话在入库后回填或页面导航使用(按相关度排序):

目标条目 rid 关联类型 建议链由
icbhi-2017 407 同域强相关(呼吸音异常音检测基准) 双向互链
coughvid 427 同域(呼吸系统音频/咳嗽音) 双向互链
copdgene 327 呼吸系统疾病域(影像 + 音频跨模态) 单向或双向
rider-lung-ct 267 肺部影像域(弱相关) 弱链
lung-pet-ct-dx 475 肺部影像域(弱相关) 弱链

rid 使用注意:以上 rid 为写作时点从 DB(status=1 AND del_sign=0)实查结果。按 R018 教训,正文与 frontmatter 的 relatedLink 中不建议由写手猜测同批条目的 rid;上表 rid 均为已发布在架条目,可安全引用。若主会话后续统一回填,请以入库后 DB 实测值为准。

9.5 从本条目可迁移的三条方法学经验

HF_Lung_V1 的构建与释出,对「如何做一份好用的医学音频数据集」有几条可迁移的经验:

经验一:定长切分极大降低使用摩擦。 全库统一 15 秒,使批处理、固定输入建模、配比采样都变得简单。相比不等长语料(需 padding/裁剪),定长规格虽牺牲了原始录音的完整性,却换来了工程上的统一性——这是一个值得其他数据集借鉴的取舍。

经验二:文件名承载元数据是低成本方案。 把设备、时间、位置、截取序编码进文件名,无需额外索引文件即可自描述。代价是解析逻辑分散在文件名规则中、且去标识后会削弱信息——权衡在于「轻量自描述」vs「结构化索引」。

经验三:诚实披露数据局限能提升长期信任。 README 明说「标注不完美」「ground-truth 在建」「steth_ 不可推断位置」——这些自我暴露看似「减分」,实则让使用者能正确使用、避免误用,反而增强了数据集的可信度与复用意愿。

9.6 与「可获取性光谱」的对照定位

本库收录的医学数据集,可获取性从「完全封闭」到「完全开放」呈光谱分布。HF_Lung_V1 位于最开放端:

可及性档位 典型形态 代表
完全开放 公开直链 + 宽松许可 HF_Lung_V1(CC BY 4.0)
开放但需署名 公开直链 + BY 类许可 ICBHI 2017(CC0 更宽松)
注册后获取 需在平台注册/接受条款 部分 PhysioNet 数据
请求制 邮件申请 + 用途说明 panda-plus 掩码
审批制 伦理/DUA 审批 多数临床 EHR

这一定位解释了它为何常被选作「起点数据集」:在需要快速验证想法时,可及性最高的数据往往最先被选中。

§10 避坑清单:十个已核或易踩的坑

坑 1:「HF」不是 HuggingFace。数据集名的 HF 前缀源自开发方 Heroic-Faith Medical Science Co. Ltd. 公司名,与 HuggingFace(其缩写也常写作 HF)毫无关系。检索或引用时若误以为它托管在 HuggingFace,将找不到官方版本——官方托管点是 GitLab(gitlab.com/techsupportHF/HF_Lung_V1)。

坑 2:HF_Lung_V1 ≠ ICBHI 2017。两者常在同一篇论文的对照表里并排出现,极易混淆:ICBHI 2017 是更早、以呼吸周期标注著称的 920 段语料(库内 rid=407),持 CC0 许可;HF_Lung_V1 是 9,765 段、双任务标签、CC BY 4.0 的另一个数据集。不同团队、不同规模、不同许可,不可混引。

坑 3:存在尾部补零的音频。2022-01-18 更新日志说明音频 steth_20190507_14_34_58.wav 因录音未完成而不足 15 秒,已在尾部补 0(zero-padding)。做静音检测或能量分析时,勿把这段尾部补零误判为真实静音。

坑 4:早期版本可能有非法日期文件名。更新日志记载,去标识过程中曾有 5 个音频 + 5 个标签文件名显示 20190931(9 月 31 日不存在)。解析文件名的代码需对非法日期容错;使用早于 2022-01-18 的快照时尤其注意。

坑 5:steth_ 文件不能推断听诊位置。README 明确警告:并非每轮 Littmann 3200 的 8 个文件都入库,因此 steth_ 文件不可推断其听诊位置。只有 trunc_(HF-Type-1)文件才带 L1-L8 位置编码。

坑 6:L8 位置标示存疑。README 对 L8 的文字描述与 L1-L7 的对称规律不一致(对称应为左腋中线 MAL 第 10 肋间,原文却可出现"左 MCL"字样)。引用 L8 位置时建议以对称规律推断并注明原文存疑,必要时向作者核实。

坑 7:同日期文件必须整组划分。这是最容易被忽视、后果最严重的工程错误。同一日期的文件极可能来自同一受试者,必须整组归入同一数据集划分。随机按文件切分会造成受试者泄漏,得到虚高的测试性能。

坑 8:只有 train/test,没有官方验证集。仓库只提供 train 与 test 两个文件夹(作者研究所用划分),不含独立验证集。若需调参,须自建验证集,且同样遵守坑 7 的分组原则。

坑 9:标签是单标注者初版,非金标准。每份标签仅由一名标注者制作,作者自认"标注仍不完美",且多标注者 ground-truth 仍在建(under process)。引用时应说明标签来源与版本,对精细边界任务做标签噪声鲁棒性设计。

坑 10:HF_Lung_V1 与 HF_Lung_V2 是不同版本。作者后续采集 42 名新受试者扩展为 HF_Lung_V2。两者规模不同,引用时必须写明版本号,切勿把 V2 的数字安到 V1 头上,或反之。

§11 总结

11.1 三句话总结

  1. HF_Lung_V1 是「给机器听肺」的开放语料:9,765 段 15 秒肺音,配备吸气/呼气/连续异常音/间断异常音四类精细时间标签。
  2. 它的最大价值在于「零摩擦」:CC BY 4.0 + GitLab 公开直链,是少数可即时用于实验的临床音频数据集,并以八种 RNN 变体确立了呼吸音分析的基线。
  3. 它的边界同样清晰:单标注者初版标签、无官方验证集、人群偏重症、类别不均衡——用好它的前提是先内化这些不完美。

11.2 适合谁

  • 呼吸音/肺音算法开发者:直接拿来做相位检测与异常音检测训练;
  • 音频事件检测研究者:带精细时间标签的定长音频语料,适合检测模型;
  • 数字听诊器/可穿戴设备团队:双设备结构可直接研究设备域鲁棒性;
  • 生理信号处理教学:结构清晰、许可宽松,适合教学与课程项目;
  • 多通道声学研究者:HF-Type-1 的 8 通道布局提供了空间维度。

11.3 不适合谁

  • 需要金标准标签做严格临床验证者:初版单标注者标签不足以支撑临床级结论;
  • 需要社区健康人群泛化者:本库以重症/呼吸照护人群为主,域偏移明显;
  • 需要儿科数据者:本库面向成人(受试者均为 20 岁以上),儿科应转 SPRSound;
  • 需要影像者:本库纯音频,影像需求应转肺部 CT/胸片数据集。

11.4 30 秒决策卡

你的需求 结论
想做呼吸音 AI、要现成带标签数据 ✅ 用它,GitLab 直接下
要 CC BY 4.0(可商用) ✅ 符合
要儿科呼吸音 ❌ 转 SPRSound
要金标准多标注者标签 ⚠️ 现版本不够,留意后续更新
要独立验证集 ⚠️ 需自建,遵守同日分组
要社区人群泛化 ⚠️ 需域适应

FAQ(高频问答 20 问)

A. 基础认知

Q1:HF_Lung_V1 是什么?
A:一个开放获取的肺音数据库,含 9,765 段 15 秒录音,配有吸气/呼气相位标签与连续/间断异常音标签,由 Heroic-Faith Medical Science 与台湾团队构建。

Q2:HF 是 HuggingFace 吗?
A:不是。HF 源自开发方 Heroic-Faith 公司名,与 HuggingFace 无关(坑 1)。官方托管在 GitLab。

Q3:谁做的?
A:Heroic-Faith Medical Science Co. Ltd. 与台湾研究团队,通讯作者 Feipei Lai(赖飞罴,国立台湾大学)。

Q4:什么时候发的?
A:arXiv 预印本 2021-02-05;正式发表于 PLoS ONE 2021 年 16 卷 7 期(e0254134)。

B. 数据与规格

Q5:有多少段?
A:9,765 段,每段 15 秒。

Q6:有哪些标签?
A:吸气 34,095 条、呼气 18,349 条、连续异常音 13,883 条(喘鸣 8,457/喉鸣 686/干啰音 4,740)、间断异常音 15,606 条(全部爆裂音)。

Q7:数据从哪来?
A:TSECC 2020 数据挑战赛数据库(261 名患者)+ 台湾北部 RCW/RCC 18 名住院者录音。

Q8:用什么设备录的?
A:3M Littmann 3200 商用电子听诊器(单通道,steth_ 前缀)+ 自研 HF-Type-1 多通道设备(8 麦克风,trunc_ 前缀)。

Q9:受试者有多少?
A:来源受试者合计 279 名(261 + 18,见 §2.2)。

Q10:听诊位置怎么编码?
A:HF-Type-1 文件的 L1-L8 对应双肺八个听诊点,详见 §6.2(注意 L8 标示存疑,坑 6)。

C. 获取与许可

Q11:怎么获取?
A:GitLab 公开直链 https://gitlab.com/techsupportHF/HF_Lung_V1 直接下载,无需申请。

Q12:许可是什么?
A:CC BY 4.0,署名后可自由使用、再分发、商用。

Q13:能商用吗?
A:可以。CC BY 4.0 允许商用,但必须署名 Heroic-Faith Medical Science Co. Ltd. 及许可。

Q14:有 gated 或申请流程吗?
A:没有。公开直链、零门禁。

D. 使用与建模

Q15:有验证集吗?
A:没有官方验证集,只有 train/test 二分。需自建验证集并遵守同日分组(坑 8)。

Q16:怎么防止数据泄漏?
A:同日期文件整组划分,严禁跨集合(坑 7)。

Q17:标签可信吗?
A:单标注者初版、作者自认不完美、ground-truth 在建。做噪声鲁棒设计(坑 9)。

Q18:论文基准结论是什么?
A:GRU 略优 LSTM、双向全面优于单向、加 CNN 尤其在 CAS 检测上增益。

E. 生态与版本

Q19:和 ICBHI 2017 什么关系?
A:同域不同数据集,团队/规模/许可均不同,不可混引(坑 2)。库内 ICBHI 2017 为 rid=407。

Q20:V2 是什么?
A:作者新增 42 名受试者扩展的版本,与本条目描述的 V1 规模不同,引用须标版本(§8.2、坑 10)。

F. 深入问题

Q21:HF_Lung_V1 和 lung sound 数据库是一回事吗?
A:它是众多肺音数据库中的一个具体实例。「lung sound database」是类别名,HF_Lung_V1 是该类别下由 Heroic-Faith 团队构建的具名数据集。

Q22:为什么吸气标签比呼气多?
A:吸气 34,095 vs 呼气 18,349(约 1.86:1)。可能与吸气信号更强、边界更明确,而呼气尾部平缓不易界定有关——这是数据固有特性,不建议强行配平(§2.6)。

Q23:可以做多标签检测吗?
A:可以,而且建议。因为呼吸音与异常音可在同一时刻重叠,多标签建模能避免「强制单标签竞争」导致的混淆(§3.7 路径三)。

Q24:论文用了什么评估指标?
A:F1 分数与 ROC-AUC。对稀有类建议改用 PR-AUC(§4.6)。

Q25:能复现论文的八模型吗?
A:数据结构支持复现,但需自建验证集,且遵守同日分组(§4.5、坑 8)。

Q26:音频是原始 WAV 还是已特征化?
A:仓库分发的是原始 WAV + TXT 标签;论文的 MFCC/STFT 特征提取是作者实验流程,非仓库内容(§2.5)。

Q27:8 通道数据有什么用?
A:HF-Type-1 的 L1-L8 覆盖双肺八听诊点,可用于多通道声学定位、空间信息建模(§6.2)。

Q28:如何做数据增强?
A:常见做法有时移、加噪、增益扰动、时频掩蔽等,但务必只在训练集内增强,且增强不得跨越防泄漏分组边界。

Q29:标签文件是什么格式?
A:纯文本 .txt,同名加 _label 后缀,内含时间区间(§3.1)。

Q30:有没有官方 Python 加载器?
A:README 未提供官方加载脚本;使用者需自行编写解析器(§6.6-6.7 提供了参考骨架)。

Q31:人群的年龄范围?
A:第三方综述记载受试者「均为台湾地区、20 岁以上」(all patients were Taiwanese and over 20 years of age),即成人人群。

Q32:如果我要引用它,规范写法是什么?
A:建议写「HF_Lung_V1 (Hsu et al., 2021, PLoS ONE 16(7):e0254134),CC BY 4.0,Heroic-Faith Medical Science Co. Ltd.」,并注明获取日期与版本(§3.8、§5.4)。

附录 A:逐项证据链自证

关键数字 来源 位置
9,765 段 × 15 秒 论文摘要 + GitLab README arXiv 2102.03049 / GitLab
吸气 34,095 / 呼气 18,349 论文摘要 + GitLab README 同上
CAS 13,883(喘鸣 8,457/喉鸣 686/干啰音 4,740) 论文摘要 + GitLab README 同上
DAS 15,606(全爆裂音) 论文摘要 + GitLab README 同上
261 患者 + 18 住院者 GitLab README + PMC10521503 GitLab / PMC
伦理批件 107052-F GitLab README GitLab
CC BY 4.0 GitLab README GitLab
八模型基准三条结论 论文摘要 arXiv 2102.03049
PLoS ONE 16(7):e0254134 arXiv journal-ref + doi.org arXiv / DOI
HF_Lung_V2 扩 42 受试者 第三方综述 PMC10521503 PMC
L1-L8 听诊位置 GitLab README GitLab
2022-01-18 四则更新 GitLab README GitLab

附录 B:DAIMS 评估全表

维度 评分(1-10) 依据
D 可发现性 8 论文(PLoS ONE/arXiv)与 GitLab 相互索引,DOI 稳定;被多篇综述复用
A 可获取性 10 CC BY 4.0 + GitLab 公开直链,零门禁零申请可商用——本数据集最强项
I 可互操作 6 WAV + TXT 格式通用无壁垒;但标签为自定义文本区间、无标准 schema,且无结构化元数据文件
M 元数据质量 6 文件名承载设备/时间/位置/截取序元数据,README 说明充分;但日期已去标识、L8 描述存疑、无索引文件
S 可持续性 7 依赖 GitLab 单一托管点(非长期档案库);作者承诺 ground-truth 更新,更新节奏无 SLA
综合评级 7.4/10(中上偏高) 可获取性拉满,互操作与元数据为中等,是"高可及、中结构"型数据集

附录 C:数据获取与使用决策树

需求是什么?
├── 只想下载跑基线
│   └── GitLab 直链下载 → 解压 train/test → 直接训练
├── 要自建验证集
│   ├── 1) 按日期分组文件(同日=同受试者)
│   ├── 2) 以"组"为单位划分 train/val
│   └── 3) 严守不跨集合(坑 7)
├── 只关心异常音(喘鸣/爆裂音)
│   └── 取 CAS/DAS 标签作 event detection;注意类不均衡(坑 9 相关)
├── 需要儿科呼吸音
│   └── 转 SPRSound(上海交大,CC BY 4.0)
└── 需要金标准多标注者标签
    └── 关注作者 ground-truth 更新宣告;当前版本按单标注者使用

附录 D:标签类别与训练建议

标签类别 语义 训练建议
吸气(inhalation) 呼吸相位之吸气 相位二分类的一半,与呼气互补
呼气(exhalation) 呼吸相位之呼气 相位二分类的另一半
CAS - 喘鸣(wheeze) 高调持续哨音 多数类(8,457),基线良好
CAS - 喉鸣(stridor) 上气道粗糙呼吸音 稀有类(686),需类加权
CAS - 干啰音(rhonchi) 低调粗糙持续音 中等类(4,740)
DAS - 爆裂音(crackle) 短促爆裂样音 DAS 唯一子类,注意与呼吸能量假阳性区分(论文 FP 观察)

附录 E:文件名解析规范

模式 前缀 格式 可解析字段
Littmann 3200 steth_ steth_yyyymmdd_HH_MM_ss 日期(已去标识)、时间
HF-Type-1 trunc_ trunc_yyyy-mm-dd-HH-MM-ss-LX_N 日期(已去标识)、时间、听诊位置 L1-L8、截取序号 N

解析注意:① 日期为去标识后随机偏移值,勿当真实日期;② 需容错 20190931 类非法日期(坑 4);③ steth_ 文件无位置字段,勿臆测位置(坑 5)。

附录 F:术语中英对照

中文 英文 / 缩写
肺音 / 呼吸音 lung sound / respiratory sound
听诊 auscultation
呼吸相位 breath phase
吸气 inhalation / inspiration
呼气 exhalation / expiration
连续异常音 continuous adventitious sound (CAS)
间断异常音 discontinuous adventitious sound (DAS)
喘鸣 wheeze
喉鸣 stridor
干啰音 rhonchi
爆裂音 crackle
锁骨中线 midclavicular line (MCL)
腋中线 midaxillary line (MAL)
肋间 intercostal space (ICS)
循环神经网络 recurrent neural network (RNN)
长短时记忆网络 long short-term memory (LSTM)
门控循环单元 gated recurrent unit (GRU)
双向 bidirectional
卷积神经网络 convolutional neural network (CNN)
短时傅里叶变换 short-time Fourier transform (STFT)
梅尔频率倒谱系数 Mel-frequency cepstral coefficients (MFCC)
去标识 de-identification
知情同意 informed consent
域偏移 domain shift
类别不均衡 class imbalance

附录 G:常见错误速查表

常见错误 后果 正确做法
把 HF 当作 HuggingFace 找不到官方版本 记住 HF=Heroic-Faith,去 GitLab(坑 1)
与 ICBHI 2017 混引 数字张冠李戴 区分团队/规模/许可(坑 2)
随机按文件划分 train/test 受试者泄漏、指标虚高 同日整组划分(坑 7)
以为有验证集 调参污染测试集 自建 val 并遵守分组(坑 8)
把 steth_ 文件标位置 位置错误 只用 trunc_ 的位置信息(坑 5)
把尾部补零当真实静音 静音分析出错 注意零填充段(坑 3)
日期解析不容错 遇到 20190931 崩溃 加非法日期容错(坑 4)
把初版标签当金标准 结论过度自信 声明标签性质(坑 9)
V1/V2 混用 规模数字错乱 引用标版本(坑 10)

附录 H:一页纸速记

┌─────────────────────────────────────────────┐
│ HF_Lung_V1 速记                              │
├─────────────────────────────────────────────┤
│ 是什么:开放获取肺音数据库(9,765 段 × 15s) │
│ 谁做的:Heroic-Faith + 台湾团队(通讯 F. Lai)│
│ 论文:PLoS ONE 2021;16(7):e0254134           │
│ 许可:CC BY 4.0(可商用,需署名)             │
│ 在哪:gitlab.com/techsupportHF/HF_Lung_V1    │
│ 标签:吸气 34,095 / 呼气 18,349              │
│       CAS 13,883(喘鸣/喉鸣/干啰音)         │
│       DAS 15,606(全爆裂音)                 │
│ 设备:Littmann 3200 + 自研 HF-Type-1(8 通道)│
│ 任务:呼吸相位检测 + 异常音检测               │
│ 陷阱:HF≠HuggingFace;同日整组防泄漏          │
└─────────────────────────────────────────────┘

附录 I:与同类数据集的一句话对比

  • vs ICBHI 2017:HF_Lung_V1 段更短更整齐(15s 定长)、标签偏「相位+异常音」;ICBHI 更早、以呼吸周期标注著称、CC0 许可。
  • vs SPRSound:HF_Lung_V1 面向成人重症人群;SPRSound 面向儿科。
  • vs COUGHVID:HF_Lung_V1 是肺音听诊音;COUGHVID 是众包咳嗽音,任务与信号类型不同。
  • vs UK COVID-19:HF_Lung_V1 为通用肺音;UK COVID-19 聚焦新冠相关咳嗽/呼吸音(OGL 3.0)。

事实清单(硬事实 40 条)

  1. 数据集官方名称为 HF_Lung_V1,下划线连写。
  2. 开发方为 Heroic-Faith Medical Science Co. Ltd. 与台湾研究团队。
  3. 通讯作者为 Feipei Lai(国立台湾大学)。
  4. 论文 arXiv 编号 2102.03049,v1 提交于 2021-02-05。
  5. 正式发表于 PLoS ONE 2021, 16(7): e0254134。
  6. 论文 DOI 为 10.1371/journal.pone.0254134。
  7. 数据库含 9,765 个音频文件。
  8. 每段音频时长为 15 秒。
  9. 吸气标签 34,095 条。
  10. 呼气标签 18,349 条。
  11. 连续异常音(CAS)标签 13,883 条。
  12. CAS 含喘鸣 8,457 条。
  13. CAS 含喉鸣 686 条。
  14. CAS 含干啰音 4,740 条。
  15. 间断异常音(DAS)标签 15,606 条。
  16. DAS 标签全部为爆裂音(crackle)。
  17. 数据来源一为 TSECC 2020 数据挑战赛数据库(261 名患者,CC BY 4.0)。
  18. 数据来源二为台湾北部 RCW/RCC 18 名住院者录音(2018-08 至 2019-10)。
  19. 伦理批件为亚东纪念医院研究伦理审查委员会 107052-F。
  20. 采集设备一为 3M Littmann 3200(steth_ 前缀)。
  21. 采集设备二为自研 HF-Type-1 多通道设备(8 麦克风,trunc_ 前缀)。
  22. HF-Type-1 听诊位置编码为 L1-L8。
  23. 文件名日期已随机偏移以去标识。
  24. 许可为 CC BY 4.0。
  25. 官方托管点为 GitLab(gitlab.com/techsupportHF/HF_Lung_V1)。
  26. 仓库提供 train 与 test 两个文件夹。
  27. 标签格式为 TXT,同名加 _label 后缀。
  28. 每份标签仅由一名标注者制作。
  29. 论文基准结论:GRU 略优 LSTM、双向全面优于单向、加 CNN 尤其增益 CAS 检测。
  30. 后继版本为 HF_Lung_V2(扩增 42 名受试者)。
  31. 论文页数为 48 页、含 8 张图(arXiv comments 声明)。
  32. 论文被 PLoS ONE 接收(Accepted by PLoS One)。
  33. 数据集来源一的 261 名患者来自 TSECC 2020 数据挑战赛,许可 CC BY 4.0,提供方 TSECCM。
  34. 数据集来源二的 18 名受试者来自台湾北部 RCW/RCC。
  35. 受试者均为台湾地区、20 岁以上成人。
  36. README 明确建议同日期文件只归入训练/验证/测试之一。
  37. 2022-01-18 更新:5 个音频 + 5 个标签文件曾显示非法日期 20190931,已更正。
  38. 2022-01-18 更新:音频 steth_20190507_14_34_58.wav 尾部补 0 至 15 秒。
  39. 作者承诺 ground-truth 多标注者标签在建,完成后将更新数据库。
  40. 数据库由 Heroic-Faith Medical Science Co. Ltd. 释出。

附录 J:遗留疑点与后续跟进

本条目撰写时点(2026-10-16)尚存以下未完全厘清之处,供后续维护参考:

  1. train/test 各自文件数:README 仅给出总数 9,765,未分列 train 与 test 的具体文件数;如需精确配比,需下载后自行统计。
  2. HF_Lung_V2 的官方渠道与规模:本轮核验确认 V2 存在(扩增 42 名受试者),但其官方发布渠道、总规模、许可细则未深挖,建议后续单独核验并考虑立项。
  3. 多标注者 ground-truth 的发布进度:作者 2021 年即宣告「在建」,截至撰写时点未见公开更新宣告;建议关注官方 README 动态。
  4. L8 听诊位置的确切表述:README 原文描述与对称规律不一致,本条目按对称规律记录并标注存疑,建议以作者书面确认为准。
  5. 来源一与来源二在文件中的可区分性:文件名未直接编码来源,无法精确分离两源样本;若有分离需求,需联系作者获取映射。

以上疑点按「影响程度」排序:第 1-4 条为信息完整性层面,第 5 条为建模实用性层面。均属可接受的未知,不构成使用障碍。

以上疑点均不影响本条目主线结论。凡后续核验有果,请以官方 README 与论文更新为准同步修订本条目。

条目维护说明:本条目事实档案见同目录 FACTS.md,全部硬数字以论文(PLoS ONE 2021;16(7):e0254134)与官方 GitLab README 为准。凡涉双口径与存疑处(受试者计数、L8 位置、版本年份)均已在正文逐条标注。如发现数据集后续更新(作者宣告的 ground-truth 标签),请以官方 README 为准更新本条目。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • bridge2ai-voice — 共享标签:生理信号 / 语音信号 / 可穿戴传感
  • dreamt — 共享标签:生理信号 / 可穿戴传感 / 评测基准
  • speech-commands — 共享标签:生理信号 / 语音信号 / 评测基准
  • consumer-grade-wearables — 共享标签:生理信号 / 可穿戴传感 / 评测基准
  • icbhi-2017 — 共享标签:生理信号 / 语音信号 / 评测基准
  • speech-accessibility-project — 共享标签:生理信号 / 语音信号 / 评测基准
  • sprsound — 共享标签:生理信号 / 语音信号 / 评测基准
  • daic-woz — 共享标签:生理信号 / 语音信号 / 评测基准
  • covid-19-sounds — 共享标签:生理信号 / 语音信号 / 可穿戴传感
  • parkinsons-voice-uci — 共享标签:生理信号 / 语音信号 / 评测基准

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集