Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to learn mouse movement?

I've been attempting to develop a means of synthesizing human-like mouse movement in an application of mine for the past few weeks. At the start I used simple techniques like polynomial and spline interpolation, however even with a little noise the result still failed to appear sufficiently human-like.

In an effort to remedy this issue, I've been researching into ways of applying machine learning algorithms on real human mouse movement biometrics in order to synthesize mouse movements by learning from recorded real human ones. Users would be compiling a profile of recorded movements that would trainh= the program for synthesis purposes.

I've been searching for a few weeks and read several articles on application of inverse biometrics in generating mouse dynamics, such as Inverse Biometrics for Mouse Dynamics; they tend to focus, however, on generating realistic time from randomly-generated dynamics, while I was hoping to generate a path from specifically A to B. Plus, I still need to actually need to come up with a path, not just a few dynamics measured from one.

Does anyone have a few pointers to help a noob?

Currently, testing is done by recording movements and having I and several other developers watch the playback. Ideally the movement will be able to trick both an automatic biometric classifier, as well as a real, live, breathing Homo sapien, too.

like image 380
obataku Avatar asked Aug 14 '11 18:08

obataku


People also ask

What are the 3 types of mouse skills?

Mouse Action TerminologyPress and do not release the left mouse button. Same as click. Left-click clarifies the action when there might be confusion with right-click. Press and release the middle mouse button, without moving the mouse.

What are the five mouse skills?

The Five mouse actions are Left Click, Right Click, Double Click, Drag & Drop, and Scroll.


1 Answers

Fitt's law gives a very good estimation of the time needed to position the mouse pointer. In the derivation section there is a simple explanation I think you could use this as one of the basic building blocks of your app. Start with big movements, put some inacurracy both in the direction and the length of the movement, then do a smaller correction movement and so on...

like image 120
Karoly Horvath Avatar answered Sep 21 '22 15:09

Karoly Horvath