鼠标轨迹生成(基于LSTM 深度学习pytorch)
本项目开发了一个基于LSTM的鼠标轨迹生成系统,通过采集真实鼠标移动数据训练神经网络模型,模拟人类自然的鼠标移动轨迹。系统包含数据采集、模型训练和轨迹生成三个核心模块,采用PyTorch实现双层LSTM网络结构。用户可通过GUI界面采集轨迹数据,训练后模型能生成逼真的移动路径,适用于用户行为模拟等场景。项目提供完整的代码实现和参数调整接口,支持轨迹平滑度控制等功能,为人机交互研究提供了实用工具。
一个基于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轮的损失图
预测效果:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐




所有评论(0)