A deep dive into the abstruse ocean of human hand biometrics. The project sets to unravel the buried secrets concealed behind the NeuroPhysiological basis of the human mouse movements.
MIMIC aims to synthesize human-like mouse movements, in their minute detail. Negligible was not a word we ever considered throughout our journey, we aspire to achieve perfection and consistency at any generation.
The project is built on human biometric theory, thus almost impossible to be recognized by any form of antibots nor human. In the image below, one is a real human generated movement(blue), the other is a synthesized trajectory from MIMIC. More images are avaible here.
Highly customizable in every aspect.
-
Customizable number of stops at each generation. Each stop increases the level of complexity of the overall trajectory. Stops are point of more noticeable change in velocity, and, for istance, can be overshooting positions or mouse clicks.
- Customizable starting and ending position of each stop
- Customizable time occurence of each stop
- Customizable bounding box between stops (soon)
-
Customizable Noise
Define the SNR of the signal. Look at examples here. -
Customizable Sampling Frequency of the movement
Choose the frequency you want MIMIC to sample at, all range admitted. It is also possible to randomize the frequency generation making it non uniform. In the example below, a non uniform frequency of 200Hz is used. -
Customizable Screen dimension
Define a custom screen dimension, so that the natural evolution of the mouse trajectory will be bounded to the choosen box dimension. In other terms, the mouse trajectory will not end outside the screen. In the example below the screen used was 1280x1280.
MIMIC is able to generate valid synthesized trajectory consistently, without being flagged by any type of algorithm. Particular attention was addressed to the stabilization of the system, so that the probability of generating unstable/inaccurate results is made very low.
Here's a short comparison with some common mouse synthesizers on the market.
Multiple amplitude spectrum from the X,Y positions of mouse data, sampled at a uniform frequency of 60Hz, were compared. The comparison is not accurate, since it assumes an uniform time, and each movement differs in terms of sampling size from the other (it was not normalized with PSD). However it is sufficient to draw based conclusion about the greatness of MIMIC compared to the other solutions.
Bot B
Bot B spectrum does not resemble real movements spectrum, with the content spectrum sharply fluctuating at different near frequencies. Although this solution is popular it underperforms, and could be flagged in a frequency-domain analysis.
Bot A performs better than bot B, however it generates a spectrum content spread over the whole signal bandwidth, resembling a white noise spectrum.
We may speculate that it was generated with some sort of Gaussian Algorithm and high-frequency noise, and has only some characteristic that resembles a real signal.
This spectrum may actually pass a spectrum analysis check, however, the fact that the movements synthesized are always the same could hurt an API generator after a few generations.
Mimic
Mimic outperforms every synthetizer, and propose an analogous spectrum to the real signal spectrum, making it indistinguishable in a frequency analysis. The spectrum is different and reliable at all generations.
Many thanks to M-NK-Y who has always been of great support and inspired me to make of this project what it is now.