首页 文章

如何学习鼠标移动?

提问于
浏览
44

在过去的几个星期里,我一直试图开发一种在我的应用程序中合成类似人类鼠标移动的方法 . 在开始时我使用了多项式和样条插值等简单技术,但即使有一点噪音,结果仍然不能像人类那样出现 .

为了解决这个问题,我一直在研究如何将机器学习算法应用于真实的人类鼠标移动生物识别技术,以便通过学习记录的真实人体来合成鼠标移动 . 用户将编辑记录的移动的概况,这将记录用于合成目的的程序 .

我已经搜索了几个星期并阅读了几篇关于逆生物识别技术应用于生成小鼠动力学的文章,例如Inverse Biometrics for Mouse Dynamics;然而,他们倾向于关注从动态生成实际时间,而我希望生成从 specifically A到B的路径 . 另外,我仍然需要提出一条路径,而不仅仅是一些动态测量从一个 .

有没有人有一些指针来帮助一个菜鸟?

目前,测试是通过记录动作并让我和其他几个开发人员观看回放来完成的 . 理想情况下,该机芯将能够欺骗自动生物识别分类器,以及真实的,现场呼吸的Homo sapien .

7 回答

  • 1

    首先,我猜你会记录从A到B的人体鼠标移动 . 因为否则,试图合成这种运动的模型对我来说似乎是不可能的 .

    第二,如何测量与“直接”路径的偏差,可能与时间有关 . 我实际上怀疑不同角度,路径长度等的动作看起来不同,但也许你可以先尝试一个标准化的模型,你只需要伸展(在空间和时间)并按需要旋转 .

    三,学习 . 最简单的方法就是拥有一系列真正的动作(我在上面讨论的形式),以及该系列的样本 . 评估它的外观 . 如果你真的想要一个概率模型,那么你必须评估哪种模型适合 . 是否足以模糊高斯噪声的直接路径,其参数是从训练集中学到的?或者一些(sin-)波浪偏差?或者单独模型“靠近按钮”和“最终修正” . Fitts法可能对评估有用 .

  • 1

    Fitt's law给出了定位鼠标指针所需时间的非常好的估计 . 在derivation部分中有一个简单的解释,我认为您可以将其用作应用程序的基本构建块之一 . 从大动作开始,在运动的方向和长度上都有一些不准确,然后进行较小的校正运动等等......

  • 2

    这个问题让我想起了几年前我所知道的一个网站,所以我访问了它,找到了this in-depth discussion on the topic .

    时机非常相似,让我觉得这个问题在某种程度上是相关的 . 事实上,线程中有人链接到您所做的同一篇文章 . 如果它没有关联,那么很多人都会链接到你正在考虑的内容 .

  • 0

    我不认为这个问题很明确 . 到目前为止还没有提到一个重要的概念,即背景 . 当Chrome具有焦点时,我的屏幕上的鼠标移动与Vim具有焦点时的移动大不相同 .

  • 14

    鼠标移动的方式因设备类型,操作类型,涉及的UI元素,熟悉UI,用户尝试完成任务的速度,用户技能,初始故障而异用户的情绪状态(例如,错失点击),用户的情绪状态(以及许多其他因素) . 您是否计划创建几种与不同背景相对应的路径策略?你也知道你试图愚弄的算法有多好?我没有广泛地假设,或者你只是直接针对该算法编程 .

    如果人正在查看路径,他们可能能够识别与路径策略相关联的状态,并且如果他们将其识别为人类状态,则可能更倾向于被愚弄(例如,用户匆忙,错失点击,快速关闭结果弹出,再次尝试慢一点) . 用户界面不仅仅是大小和位置 . 我经常快速指向工具栏,然后滑过选项直到我到达目标 . 另一个例子是,当我正在扫描我的目标或将鼠标悬停在我正在阅读的文本上时,我通常会暂停菜单项 . 你是试图模仿人类行为还是只是模仿他们的老鼠动作(因为我认为他们是在时尚界)?

  • 1

    您是否想要模拟类似人类的鼠标移动,因为您正在为您的游戏进行实时在线培训?如果您的训练序列是静态的,只需单击鼠标按钮即可记录鼠标移动并播放鼠标单击声音效果 . 没有任何鼠标移动对你来说比你的更加“真实”拥有 .

    就个人而言,我觉得软件专家在培训视频时过快地移动老鼠 . 我更喜欢我看过的截屏视频软件采用的方法,它总是从A点 - > B线性移动鼠标 . 诀窍是,视频中的每次鼠标移动总是花费相同的时间而不管距离,比如说3/4秒,然后鼠标点击声音效果 .

    我相信他们以这种方式移动鼠标,因为观察者可以通过鼠标在开始时移动的方向和速度来预测鼠标的着陆区域 . 在训练情况下,我认为像这样的常规动作对眼睛来说更温和,也许更容易保留/回忆 .

  • 9

    您是否考虑过将鼠标跟踪添加到应用程序中,以便基本记录用户如何移动鼠标然后分析录制内容?

    我最近没有看过这个,但我相信Swing应用程序中的MouseListener可以获得所需的信息 .

相关问题