目录

CCF2026 openvela 本地音频事件检测系统

面向 CCF2026 openvela03 赛题的离线端侧音频事件检测原型

CCF 2026 Track Pipeline openvela Port Verify

WAV/PCM 输入 | 19 维音频特征 | 模板/原型推理 | 阈值与误报抑制 | 本地告警 | openvela 迁移接口


演示视频

类型 链接
百度网盘演示视频 GoGoGo_openvela_audio演示视频,提取码:1017
提交包内硬字幕视频 media/openvela_audio_event_demo_5min_latest.mp4

作品简介

本项目聚焦 openvela 本地音频事件检测赛题,提供一套可在本机离线复现的音频事件检测系统。它不是页面原型,而是完整跑通了:

音频输入 -> 预处理/特征提取 -> 模型识别 -> 阈值和 debounce -> 事件输出 -> 告警日志/界面展示

当前支持 alarm、baby_cry、cough、doorbell、glass_break、knock、no_event 共 7 类标签,并提供 Python 主机 demo、Web Dashboard、TinyCC C host replay、PCM streaming 模拟、openvela C runtime、board hooks 和提交包校验脚本。

赛题对应

赛题要求 本仓库交付物 位置
离线本地闭环 WAV/PCM 输入、特征提取、模型推理、事件输出、告警日志 src/openvela_audio_event/
至少 2 类音频事件 6 类事件 + no_event,包含玻璃破碎、咳嗽等官方示例 data/samples/
可重复运行 一键构建、测试、验证、打包 scripts/build_preliminary_submission.py
工程化与异常处理 pytest、故障注入、zip 校验、fresh-extract smoke tests/, scripts/verify_submission_zip.py
文档与性能数据 指标、模型卡、测试报告、迁移说明、提交清单 docs/, reports/preliminary_latest/
openvela 迁移 C99 runtime、stream bridge、board weak hooks、Kconfig/Makefile openvela_port/
本地告警展示 Web Dashboard、CSV 日志、串口风格 transcript、LED/蜂鸣器映射 src/openvela_audio_event/dashboard.py, openvela_port/openvela_alerts.c

交付要求导航

初赛交付要求 本仓库证据
代码仓库 src/、scripts/、openvela_port/、tests/
可复现文档 docs/usage.md、docs/testing.md、docs/technical_solution.md
运行演示视频/日志 media/openvela_audio_event_demo_5min_latest.mp4(硬字幕版,已放入提交包)、reports/preliminary_latest/openvela_serial_transcript.txt
演示视频网盘备份 GoGoGo_openvela_audio演示视频,提取码:1017
方案文档/PPT docs/judge_packet.md、docs/preliminary_deck/openvela_audio_event_preliminary_deck.pptx
量化指标 reports/preliminary_latest/metrics.json、reports/preliminary_latest/tcc_host_wav_metrics.json
提交包信息 submission/FINAL_UPLOAD_SELECTION_LATEST.md,压缩包用于比赛平台文件上传

核心交付

模块 内容 价值
本地检测 pipeline WAV 读取、分帧、19 维特征、模板推理、阈值和 debounce 满足“采集 -> 识别 -> 告警”闭环演示
Web Dashboard 样例选择、检测结果、阈值调整、事件日志、低功耗估算 便于录制视频和现场解释
C/openvela 迁移层 C99 runtime、stream bridge、board hooks、Kconfig/Makefile 让算法能迁移到 openvela/NuttX app
量化报告 accuracy、macro recall、macro F1、false alarm、miss、latency、model size 对齐评分标准中的性能数据要求
复现与校验 verify_submission_zip.py、reviewer_one_command_verify.py、fresh-extract smoke 评委可快速验证不是静态材料

工作流概览

本地 WAV / PCM 音频流
        |
        v
采样率、通道、能量门限检查
        |
        v
19 维轻量音频特征
        |
        +-- RMS / ZCR / 频谱质心 / rolloff
        +-- 低中高频能量比 / spectral flux
        +-- active ratio / peak count / crest factor / flatness
        |
        v
模板/原型模型推理
        |
        v
置信度阈值 + debounce + no_event 抑制
        |
        v
事件输出
        |
        +-- CLI JSON / CSV 日志
        +-- Web Dashboard
        +-- openvela 串口风格日志
        +-- LED / 蜂鸣器 / 屏幕 / 串口 board hook

openvela 侧目标数据流:

数字麦克风 I2S/PDM
        |
        v
board PCM callback
        |
        v
ovae_stream_bridge_push()
        |
        v
ovae_process_pcm16_at()
        |
        v
ovae_board_emit_alert()
        |
        v
LED / 蜂鸣器 / 屏幕 / 串口 JSON

快速运行

在 Windows PowerShell 中运行:

cd C:\CCFOpenSourcepowershell
cd C:\CCFOpenSource\06_openvela_audio_event
python -m pip install -r requirements.txt
python scripts\build_preliminary_submission.py
6_openvela_audio_event
python -m pip install -r requirements.txt
python scripts\build_preliminary_submission.py

快速检测官方示例类别:

python -m openvela_audio_event.demo --input data\samples\test\glass_break\glass_break_000.wav --model model\model.json --json
python -m openvela_audio_event.demo --input data\samples\test\cough\cough_000.wav --model model\model.json --json

批量检测并生成事件日志:

python -m openvela_audio_event.demo --input data\samples\test --model model\model.json --log reports\demo_event_log.csv --alert-log reports\alert_output_log.csv

启动 Web Dashboard:

$env:PYTHONPATH="src"
python -m openvela_audio_event.dashboard --host 127.0.0.1 --port 8765

浏览器打开:

http://127.0.0.1:8765

验证结果

最终提交包以 submission/FINAL_UPLOAD_SELECTION_LATEST.md 为准;本次视频补强后的包路径如下。

当前推荐提交包:

submission/openvela_audio_event_submission_preliminary_20260710_223106.zip

SHA256:

生成后见 submission/FINAL_UPLOAD_SELECTION_LATEST.md
指标 结果 说明
本地测试样例 63 确定性、可复现
标签数 7 6 类事件 + no_event
本地 accuracy 1.0000 本地评估
本地 macro recall 1.0000 本地评估
本地 macro F1 1.0000 本地评估
false alarm / miss 0 / 0 本地评估
P95 latency 约 7.24 ms 主机侧 Python 运行
模型大小 8399 bytes JSON 模型
TinyCC C host accuracy / macro F1 0.9683 / 0.9679 C host replay
TinyCC streaming accuracy / macro F1 0.9206 / 0.9189 PCM 分块流式模拟

一键评审验证:

python scripts\reviewer_one_command_verify.py --zip submission\openvela_audio_event_submission_preliminary_20260710_223106.zip

该命令会串联 verify_submission_zip.py、judge_quick_smoke.py、cross-document consistency、评审卡和问答 gate,并写入 submission/REVIEWER_ONE_COMMAND_VERIFY_LATEST.json。

最近一次结果:

13 / 13 checks passed
zip verify: passed
zip failures: 0
zip warnings: 0

项目结构

路径 说明
src/openvela_audio_event/ Python 检测、特征、训练、评估、Dashboard
scripts/ 构建、验证、审计、打包、报告生成脚本
data/samples/ 本地合成音频样例
model/ 轻量模型和模型摘要
openvela_port/ C/openvela 迁移 runtime
openvela_app_bundle/ 可复制到 openvela apps/examples 的 app bundle
openvela_board_hooks/ 板级 hook 模板
docs/ 技术方案、使用说明、测试、迁移、提交材料
docs/project_reports/ 阶段报告、夜间报告、审计和强化报告归档
reports/preliminary_latest/ 最新量化结果和机器生成证据
submission/ 提交包选择说明、manifest、SHA256 和上传 gate
tests/ pytest 测试

交付材料

材料 文件
中文评委速读 docs/chinese_judge_summary.md
技术方案 docs/technical_solution.md
测试说明 docs/testing.md
使用说明 docs/usage.md
演示脚本 docs/demo_script.md
openvela 迁移说明 docs/openvela_migration.md
硬件选择建议 docs/hardware_selection_guide.md
真实板卡 bring-up 流程 docs/hardware_bringup_runbook.md
提交清单 docs/submission_checklist.md
评审证据包 docs/judge_packet.md
自动构建完成报告 PRELIMINARY_COMPLETION_REPORT.md
GitLink 上传检查 GITLINK_UPLOAD_CHECKLIST.md
报告归档索引 docs/project_reports/README.md

License

本项目按仓库内 LICENSE 和 NOTICE 声明使用。第三方依赖、数据来源和开源合规边界见 docs/originality_and_license.md 与 reports/preliminary_latest/open_source_sbom.md。

关于
162.0 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号