Plasmow/IMUsensor
GitHub: Plasmow/IMUsensor
通过将 IMU 传感器数据经信号处理与 CNN 模型推断来恢复口述数字序列,演示基于运动传感器的侧信道声学窃听攻击的完整机器学习 pipeline。
Stars: 0 | Forks: 0
# 感知安全实验室
本仓库展示了我的 KAIST Sensing Security CS492 实验室项目。目标是展示如何将原始 IMU 传感器数据转化为可用的特征,训练成分类器,并用于从连续录音中恢复口述的数字。
对于技术审阅者来说,主要思想很简单:该项目从充满噪声的时间序列传感器数据开始,应用信号处理使其具备模型就绪状态,在频谱图特征上训练 CNN,然后使用训练好的模型推断最终的数字序列。
这所展示的不仅仅是 notebook 工作流,而是一个完整的应用 ML pipeline:数据预处理、特征提取、模型训练、验证,以及对真实目标样本的推断。
## 项目文件
- [part1.ipynb](part1.ipynb) - 信号处理基础、FFT、频谱图以及 IMU 到音频的转换
- [part2.ipynb](part2.ipynb) - 基于 CNN 的口述数字分类和 16 位数字序列推断
- [part3.ipynb](part3.ipynb) - 最终的 notebook 和相关分析工作流
- [digit_classifier.pt](digit_classifier.pt) - 来自第 2 部分的训练好的模型 artifact
- [result_part2.txt](result_part2.txt) - 来自第 2 部分的预测的 16 位数字输出
- [result_part3.txt](result_part3.txt) - 来自第 3 部分的最终文本输出
## 用法
1. 如果可能,请在 Google Colab 中打开您想要查看的 notebook;这是运行 notebook 的首选环境。
2. 从上到下运行单元格以重现该工作流。
3. 在执行之前,请确保已安装所需的 Python 包。
## 重要性
- 它展示了在信号处理和时间序列分析方面的实践经验。
- 它展示了如何将传感器数据转换为用于深度学习的模型输入。
- 它展示了端到端的实现,从预处理到保存的模型和最终输出文件。
## 注意事项
- 该仓库采用扁平化布局,因此 GitHub 文件列表易于浏览。
- 这些 notebook 保持可执行状态,并且可以直接在 GitHub 上查看。
- 为方便起见,生成的 artifact 存储在仓库根目录中。
标签:IMU传感器, 侧信道攻击, 信号处理, 凭据扫描, 卷积神经网络, 概念验证, 语音识别, 逆向工具