尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Deep-TEMPEST 合成数据生成教程:用 folder_simulation.py 模拟 HDMI 电磁泄漏捕获

Deep-TEMPEST 合成数据生成教程:用 folder_simulation.py 模拟 HDMI 电磁泄漏捕获 Deep-TEMPEST 合成数据生成教程用 folder_simulation.py 模拟 HDMI 电磁泄漏捕获【免费下载链接】deep-tempestRestoration for TEMPEST images using deep-learning项目地址: https://gitcode.com/gh_mirrors/de/deep-tempestDeep-TEMPEST 是一个基于深度学习的图像复原开源项目专门用于修复从 HDMI 电磁泄漏中捕获的 TEMPEST 图像。本教程将手把手教你使用项目自带的folder_simulation.py 合成数据生成脚本在本地批量模拟 HDMI 电磁泄漏捕获过程为训练 DRUNet 复原模型准备高质量数据集。什么是 Deep-TEMPEST 合成数据生成TEMPEST又称 Van Eck Phreaking是一种通过接收显示器线缆泄漏的电磁信号来隔空窥屏的技术。Deep-TEMPEST 在经典工具 gr-tempest 的基础上引入深度学习将模糊难辨的捕获图像修复成可读的屏幕内容。但深度学习模型需要大量原始图 退化捕获图配对数据真实电磁捕获成本高、耗时久。为此项目提供了folder_simulation.py 合成数据生成工具只需一个普通图片文件夹就能在本地模拟完整的 HDMI 电磁泄漏捕获链路自动生成大量配对数据。为什么需要模拟 HDMI 电磁泄漏捕获成本极低无需天线、SDR 接收机或屏蔽实验室普通电脑即可完成。批量高效对文件夹内所有图片自动处理且已生成的图片会被自动跳过支持增量续跑。参数可控可自由调整帧率、SDR 采样率、像素谐波、频率/相位误差、噪声强度等信道参数。配对天然原始图与模拟捕获图一一对应正是监督学习最需要的数据形态。环境准备最快配置方法首先克隆仓库git clone https://gitcode.com/gh_mirrors/de/deep-tempest然后安装 Python 依赖numpy、scipy、scikit-image、PIL 等推荐使用项目根目录的 requirements.txt 或 tempest_conda.yml 创建环境。脚本核心逻辑位于 end-to-end/folder_simulation.py信道仿真依赖 end-to-end/utils/DTutils.py 中的 TMDS 编码与串行化函数。配置模拟参数编辑 tempest_simulation.json所有模拟参数都集中在 end-to-end/options/tempest_simulation.json 中只需修改两个路径和若干信道参数{ paths: { folder_original_images: path/to/original_images, folder_simulated_images: path/to/simulated_images }, options: { blanking: true, frames_per_second: 60, sdr_rate: 50e6, interpolator: 10, differential_signaling: true, random: { harmonics: [3], sigma: null, freq_error: [0, 15], phase_error: [-1, 1] } } }参数含义新手建议folder_original_images原始图片输入目录放入任意 PNG/JPG 图片folder_simulated_images模拟捕获图输出目录会自动创建blanking是否模拟行/场消隐开启时图片需符合 VESA 分辨率frames_per_second视频帧率默认 60 即可sdr_rateSDR 采样率默认 50 MHzinterpolator模拟脉冲内插倍数越大越接近真实模拟信号differential_signaling差分信号模拟HDMI 实际使用差分建议开启harmonics像素谐波列表常用第 3 谐波324 MHzsigma高斯噪声标准差可设[a, b]随机取值null表示无噪声freq_error/phase_error频率/相位误差范围模拟接收机失准增强数据多样性一键运行 folder_simulation.py 生成捕获图在end-to-end/目录下执行python folder_simulation.py脚本会自动完成以下 HDMI 电磁泄漏捕获模拟流程读取图片遍历输入文件夹中所有 png、jpg、jpeg、tif、bmp 等格式图片。TMDS 编码将 RGB 像素按 HDMI 的 TMDS 协议编码含消隐处理。位串行化将编码后的比特流串行化叠加三通道信号。信道仿真按像素谐波频率进行 AM 调制叠加频率/相位误差与高斯噪声。SDR 采样用设定的采样率重采样模拟软件无线电接收。保存结果将信号实部与虚部归一化后保存为图像并写入logfiles/日志。生成的数据如何用于 DRUNet 训练合成数据生成完成后原始图片作为高分辨率参考H模拟捕获图作为退化输入L即可交给 DRUNet 训练编辑 end-to-end/options/train_drunet.json将datasets.train.dataset_type设为drunet合成数据模式若用真实捕获数据则设为drunet_finetune。将dataroot_H指向原始图片目录dataroot_L指向模拟捕获图目录。运行训练脚本python main_train_drunet.py![HDMI 电磁泄漏模拟捕获前后对比示例](https://raw.gitcode.com/gh_mirrors/de/deep-tempest/raw/096081cc8efeee393561a753b7b5012d130c5757/examples/Screenshot from 2023-08-29 18-26-35-gr-tempest_screenshot_05-09-2023_21_19_15.png?utm_sourcegitcode_repo_files)训练完成后可用 main_test_drunet.py 进行推理用 tempest_evaluation.py 评估复原质量。常见问题与排错技巧提示找不到输入文件夹检查 JSON 中folder_original_images路径是否正确、是否存在。blanking 开启后图片变形开启消隐模拟时图片需符合 VESA 标准分辨率。输出图看起来是彩色条纹这是模拟捕获图的正常形态实部与虚部分别映射到两个通道正是 DRUNet 要学习复原的退化样式。想批量生成多样化数据适当增大freq_error、phase_error范围或让sigma随机取值可显著提升数据多样性。结语通过 folder_simulation.py 合成数据生成脚本你可以零硬件成本地模拟 HDMI 电磁泄漏捕获为 Deep-TEMPEST 的图像复原研究源源不断地提供训练数据。从配置 tempest_simulation.json 到运行脚本、再到训练 DRUNet整个链路清晰且完全可复现。现在就动手生成你的第一批合成捕获数据吧【免费下载链接】deep-tempestRestoration for TEMPEST images using deep-learning项目地址: https://gitcode.com/gh_mirrors/de/deep-tempest创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表