鼠标轨迹生成(基于LSTM 深度学习pytorch)
一个基于LSTM的鼠标轨迹生成项目,能够采集真实鼠标移动数据,并训练模型模拟人类鼠标移动轨迹。适用于用户行为模拟、人机交互研究等场景。
代码包:「鼠标模拟轨迹 (用LSTM pytorch)」
链接:https://pan.quark.cn/s/86556972e53a
项目结构 📁:
mouse-trajectory/
├── data_collector.py # 数据采集程序
├── mouse_lstm.py # 模型训练与生成程序
├── mouse_simulator.py # 轨迹模拟器
├── mouse_data.pkl # 采集的轨迹数据(运行时生成)
├── mouse_lstm.pth # 训练后的模型(训练后生成)
└── README.md
功能特点 ✨
数据采集:提供图形化界面采集从起点到终点的真实鼠标轨迹数据。
LSTM模型:使用PyTorch构建的LSTM神经网络,学习人类鼠标移动模式。
轨迹生成:训练后的模型可生成逼真的鼠标移动轨迹。
可视化模拟:提供GUI界面直观展示生成的轨迹
快速开始 🚀
环境要求
Python 3.7+
PyTorch
NumPy
Matplotlib
Tkinter(通常随Python自带)
安装所需依赖:
pip install torch numpy matplotlib pyautogui1. 数据采集
运行数据采集程序,采集至少100条轨迹数据:
python data_collector.py操作说明:
绿色圆圈为起点,红色圆圈为终点
从起点按住鼠标拖动到终点释放
程序会自动保存有效轨迹到
mouse_data.pkl2. 模型训练
使用采集的数据训练LSTM模型:
python mouse_lstm.py train训练过程将显示损失曲线,训练完成后生成
mouse_lstm.pth模型文件。3. 轨迹生成与模拟
运行模拟器可视化生成的鼠标轨迹:
python mouse_simulator.py在窗口内依次点击起点和终点,程序将自动生成并显示模拟轨迹。
技术细节 🔧
模型架构
输入特征:位移量(dx, dy)、时间间隔(dt)、当前位置到终点的向量
网络结构:两层LSTM,隐藏层维度64,全连接输出层
输出预测:下一步的位移量和时间间隔
数据预处理
坐标归一化处理
序列填充(Padding)处理变长轨迹
时间间隔标准化
使用方法 💡
基本使用
按照"快速开始"流程采集数据并训练模型
调整
mouse_simulator.py中的randomness参数控制轨迹平滑度可通过
pyautogui启用真实鼠标移动(代码中已注释)参数调整
在
mouse_lstm.py中可调整:
BATCH_SIZE:批处理大小
HIDDEN_SIZE:LSTM隐藏层维度
EPOCHS:训练轮数
LEARNING_RATE:学习率
训练300轮的损失图
预测效果:
更多推荐




所有评论(0)