motion_similar

class robot_mouse_track.risk_motion.motion_similar.SimilarMotion

路径重复的运动(防止一些未知的鼠标录制软件可以躲过以上防御,这里可以加最后一层防御)

变量

th_score_diff (float default=0.001) -- 差异阈值,低于这个值,则认为是风险

judge_risk(vec, lst_vec_bank)

风险判定

参数
  • vec (ndarray) -- 鼠标轨迹的特征向量

  • lst_vec_bank (list[ndarray]) -- 鼠标轨迹的特征向量列表,实践中可以为每个用户维护了一个向量池,防止用户使用多段录像交替攻击

返回

(have_risk, risk_level)

返回类型

(bool, float)

robot_mouse_track.risk_motion.motion_similar.calc_vec(mouse_track: MouseTrack, len_x=1920, len_y=1280, bin_split_nx=4, bin_split_ny=4)

计算鼠标轨迹的特征向量

参数
  • mouse_track (MouseTrack) -- 鼠标轨迹对象

  • len_x (int default=1920) -- 屏幕横向的像素点个数

  • len_y (int default=1280) -- 屏幕纵向的像素点个数

  • bin_split_nx (int default=4) -- 屏幕横向的像素点 分成几个等宽的桶(可以提升鲁棒性,但不能太大,太大就会损失精确性)

  • bin_split_ny (int default=4) -- 屏幕纵向的像素点 分成几个等宽的桶(可以提升鲁棒性,但不能太大,太大就会损失精确性)

返回

特征向量

返回类型

ndarray shape=(1,len_x/bin_split_nx+len_y/bin_split_ny)