GitHub功能全览:含AI代码创作、多解决方案及汽车故障诊断音频ML项目
导航菜单
切换导航
[ ](/)
[ 登录 ](/login?return_to=https%3A%2F%2Fgithub.com%2Fadam-s%2Fcar-diagnosis)
外观设置
平台
-AI 代码创作
- GitHub Copilot:借助 AI 编写更优质代码
- GitHub Copilot 应用:从问题到合并的直接代理
- MCP Registry 新功能:集成外部工具
-开发者工作流
- Actions:自动化任何工作流
- Codespaces:即时开发环境
- Issues:规划和跟踪工作
- Code Review:管理代码变更
-应用程序安全
- GitHub Advanced Security:查找并修复漏洞
- 代码安全:在构建过程中保障代码安全
- 密钥保护:防患于未然
-探索
- 为何选择 GitHub
- 文档
- 博客
- 更新日志
- 市场
查看所有功能
解决方案
-按公司规模划分
- 企业版
- 中小团队版
- 初创企业版
- 非营利组织版
-按用例划分
- 应用现代化
- DevSecOps
- DevOps
- CI/CD
- 查看所有用例
-按行业划分
- 医疗保健
- 金融服务
- 制造业
- 政府部门
- 查看所有行业
查看所有解决方案
资源
-按主题探索
- AI
- 软件开发
- DevOps
- 安全
- 查看所有主题
-按类型探索
- 客户案例
- 活动与网络研讨会
- 电子书与报告
- 商业洞察
- GitHub 技能
-支持与服务
- 文档
- 客户支持
- 社区论坛
- 信任中心
- 合作伙伴
查看所有资源
开源
-社区
- GitHub Sponsors:资助开源开发者
-项目
- 安全实验室
- 维护者社区
- 加速器
- GitHub Stars
- 存档计划
-仓库
- 主题
- 热门项目
- 集合
企业版
-企业解决方案
- 企业平台:由 AI 驱动的开发者平台
-可用附加组件
- GitHub Advanced Security:企业级安全功能
- Copilot for Business:企业级 AI 功能
- 高级支持:企业级 24/7 支持
[定价]
搜索或跳转到...
搜索代码、仓库、用户、问题、拉取请求...
搜索
清除
搜索语法提示
提供反馈
我们会阅读每一条反馈,并认真对待您的意见。
包含我的电子邮件地址,以便能与我联系
取消 提交反馈
保存的搜索
使用保存的搜索可以更快地筛选结果
名称
查询
要查看所有可用的限定符,请参阅我们的文档。
取消 创建保存的搜索
[ 登录 ](/login?return_to=https%3A%2F%2Fgithub.com%2Fadam-s%2Fcar-diagnosis)
[ 注册 ](/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=adam-s%2Fcar-diagnosis)
外观设置
重置焦点
您在另一个标签页或窗口中登录了。[重新加载]()以刷新您的会话。
您在另一个标签页或窗口中注销了。[重新加载]()以刷新您的会话。
您在另一个标签页或窗口中切换了账户。[重新加载]()以刷新您的会话。 关闭提醒
{{ message }}
[ adam-s ](/adam-s) /[car-diagnosis](/adam-s/car-diagnosis)公开
- 通知 您必须登录才能更改通知设置
- 分叉 0
- 加星 6
- 代码
- 问题 0
- 拉取请求 0
- 操作
- 项目
- 安全与质量 0
- 洞察
其他导航选项
- 代码
- 问题
- 拉取请求
- 操作
- 项目
- 安全与质量
- 洞察
adam-s/car-diagnosis
主分支
[分支][标签]
转到文件
代码
打开更多操作菜单
文件夹和文件
| 名称 | 名称 | 最后提交消息 | 最后提交日期 |
| --- | --- | --- | --- |
最新提交
历史记录
仓库文件导航
- README
- MIT 许可证
更多项目
cardiag — 通过声音诊断汽车故障
`cardiag` 是一个端到端的音频机器学习(audio-ML)管道。它从 YouTube/TikTok 上抓取故障声音片段,对音频进行清理(将机械声音从语音、音乐和噪音中分离出来),使用预训练的 CLAP 模型进行嵌入,然后训练小型线性头部来对故障进行分类。它提供了命令行界面(CLI)和实时 Web 应用。
[cardiag-demo.mp4]
这是一个概念验证项目,并且明确说明了其局限性。通过手机录音诊断汽车故障确实很困难,因此 `cardiag` 被设计为一个经过校准的分类辅助工具,而非诊断工具:它能告诉你声音是否异常、大致在汽车的哪个部位出现问题,以及可能出现问题的部件的排名列表。当音频无法支持判断时,它会给出“不确定”的结果,而不是盲目猜测。
该项目真正的贡献在于音频清理和诚实训练的方法,这种方法可应用于其他音频数据集。这里的准确率不高反映了从粗糙的手机音频中解决问题的难度(我们达到了现有文献的上限);同样的方法在干净的发动机音频上可达到 0.93 的 AUROC。详情见 [docs/DEFENSE.md]。
交互式演示
有两个页面展示了管道的前两个阶段:
- [分离发动机音频] — 交互式展示 `clean()` 级联如何从嘈杂的 YouTube 音频(语音、音乐、道路噪音)中提取短机械片段。
- [可视化 CLAP] — 展示预训练的 CLAP 模型如何将这些片段转换为线性头部用于分类的 512 维嵌入。
实际效果
通过样本外测量,保证数据无泄漏(对 1031 个视频组进行按视频分组的交叉验证;排列检验p = 0.0005)。这些数据是真实可靠的,并非排行榜上的虚假数据。
| 能力 | 结果 | 与随机猜测对比 |
| --- | --- | --- |
| 是否有问题?(故障/正常) |AUROC 0.79[0.76, 0.83] | 0.50 |
| 问题出在汽车的哪个部位?(6 个区域) |前 3 名中包含正确区域的概率约为 75%| 2 倍 |
| 是哪个部件出了问题?(12 个以上类别) |前 3 名中包含正确部件的概率约为 45 - 65%| 3 - 4 倍 |
| 知道何时无法做出判断 | 校准良好(ECE ≈ 0.04),返回 `UNCERTAIN` | — |
完整细节以及我们因样本外表现不佳而降级的一个头部(敲击声),请见 [docs/MODEL_CARD.md]。
快速开始:克隆仓库并进行推理
新克隆的仓库可立即使用。`models/` 目录中包含一个小型预训练模型,并且捆绑了一个合成演示片段,因此无需下载或抓取任何数据。
git clone <此仓库> && cd car-diagnosis
uv venv && source .venv/bin/activate
uv pip install -e ".[scrape,web,dev,viz]" # Python 3.11
cardiag doctor # 预检:查看已安装的内容
cardiag train --fixtures # 在约 2 秒内离线训练一个可用的模型(无需抓取数据,无需下载 2GB 文件)
cardiag diagnose # 给出诊断结果、问题所在位置和部件排名
cardiag serve --model models # 启动实时 Web 应用:上传音频片段或粘贴链接,查看“解释原因”
在隔离的工作树中验证整个流程:`bash scripts/clone_verify.sh`。
工作原理
音频 ──► clean() 级联 ──► CLAP 嵌入 ──► 线性头部 ──► 诊断
(分离片段) (预训练,512 维) (故障/区域/ (经过校准,
部件/敲击声) 能识别“不确定”情况)
只有一条分割路径。抓取的片段、您自己的录音(`cardiag ingest`,任意长度)以及推理时上传的音频,都要经过相同的 `clean()` 级联,以分离出短机械片段。超过 10 秒的片段会被分割成窗口,确保 CLAP 不会静默截断数据。训练和推理使用相同的嵌入协议,因此不会出现训练和推理结果不一致的情况。
使用方法
cardiag diagnose clip.wav # 完整模型:给出诊断结果、区域和部件排名
cardiag triage clip.wav # 校准后的发动机与传动装置分类
cardiag clean clip.wav # 分离机械声音(无需模型)
cardiag inspect clip.wav -o r.html # 查看/聆听管道处理过程:片段、频谱图、分数
cardiag ingest ./my_audio --kind fault --cause wheel_bearing # 导入您自己的音频
cardiag scrape youtube|tiktok # 构建数据集(Reddit 已弃用 — 噪音太大)
cardiag train # 在您的数据集上进行训练
在任何推理命令后添加 `--json`,可获得机器可读的输出。
文档
- [docs/DEFENSE.md] — 阐述了一种故意采用的粗糙方法如何获得真实的分类结果。
- [docs/MODEL_CARD.md] — 每个头部的指标、预期用途和局限性。
- [docs/architecture.md] — 管道流程图。
- [docs/scraping-guide.md] — 完整的数据集构建指南。
适用范围与诚实性
该项目适用于社交风格或有针对性上传的音频(YouTube、TikTok 或用户故意录制的手机音频)。它不是一个安全关键或独立的诊断工具,而是一个分类辅助工具,能缩小问题排查范围,并诚实地表明其不确定性。模型文件是 joblib 工件,仅加载您信任的文件。
许可证:请参阅 [LICENSE]。
关于
通过声音诊断汽车故障 — 一个诚实的、端到端的音频机器学习管道(抓取 → 清理 → CLAP → 校准分类)。概念验证项目。
资源
Readme
许可证
MIT 许可证
哎呀!
加载时出现错误。[请重新加载此页面]
[ 活动]
加星数
[6颗星]
关注者
[0人关注]
分叉数
[0次分叉]
[ 举报仓库 ]
[发布版本]
未发布任何版本
[包 0]
[包 0]
哎呀!
加载时出现错误。[请重新加载此页面]
[贡献者]
- - -
哎呀!
加载时出现错误。[请重新加载此页面]
语言
- [ Python 90.8% ]
- [ HTML 8.3% ]
- [ Shell 0.9% ]
页脚
(C) 2026 GitHub, Inc.
页脚导航
- [条款]
- [隐私]
- [安全]
- [状态]
- [社区]
- [文档]
- [联系我们]
- 管理 Cookie
- 不分享我的个人信息
此时您无法执行该操作。
