CN111310156B - Automatic identification method and system for slider verification code - Google Patents

Automatic identification method and system for slider verification code Download PDF

Info

Publication number
CN111310156B
CN111310156B CN201911187735.9A CN201911187735A CN111310156B CN 111310156 B CN111310156 B CN 111310156B CN 201911187735 A CN201911187735 A CN 201911187735A CN 111310156 B CN111310156 B CN 111310156B
Authority
CN
China
Prior art keywords
slider
model
lstm
slide block
time sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911187735.9A
Other languages
Chinese (zh)
Other versions
CN111310156A (en
Inventor
王元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suning Financial Technology Nanjing Co Ltd
Original Assignee
Suning Financial Technology Nanjing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suning Financial Technology Nanjing Co Ltd filed Critical Suning Financial Technology Nanjing Co Ltd
Priority to CN201911187735.9A priority Critical patent/CN111310156B/en
Publication of CN111310156A publication Critical patent/CN111310156A/en
Application granted granted Critical
Publication of CN111310156B publication Critical patent/CN111310156B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The invention discloses an automatic identification method and system for a slider verification code. The method comprises two parts, namely model training under the line: constructing a target detection model based on deep learning, calculating the coordinates of the center position of a slide block notch, labeling a rectangular frame, and carrying out supervised target detection model training; and establishing an LSTM front-end model and an LSTM rear-end regression model according to the dragging track of the real slide block and carrying out model training. Online model service: executing the well-trained LSTM front-end model and the LSTM rear-end regression model to obtain a time sequence of a slider dragging track; and automatically controlling a mouse to click the slider, drag the slider and release the slider to the position of the notch according to the time sequence of the dragging track of the slider, thereby completing the automatic identification of the slider verification code. The invention also discloses an automatic identification system of the slider verification code, which comprises an X server starting module and a slider identification program module. The slider recognition pass rate is high, the stability is strong, and the advantages of universality and good ductility are achieved.

Description

Automatic identification method and system for slider verification code
Technical Field
The invention relates to the technical field of internet, in particular to an automatic identification method and system for a slider verification code.
Background
The verification code is a turing test for determining whether the object is a human. In the field of software testing, testers use software to carry out automatic testing, information rapid release and automatic transaction on websites, automatic identification of verification codes is beneficial to improving testing efficiency and testing coverage rate, and manual testing links are reduced, so that manual operation errors are avoided. The slider verification code is a specific implementation form of the turing test, and the implementation form is called Dynamic Cognitive Game (Dynamic Cognitive Game). At present, the technology of automatic identification of a complete end-to-end slider verification code is researched in the industry, and the technology comprises the research of a system architecture level and an algorithm level:
(1) in the system architecture level, a common method is to realize automatic identification of the slider verification code by cracking front-end and back-end interactive interface messages and input/output parameters of a slider verification code website, namely acquiring a slider picture, outputting displacement information and cracking the slider picture and the displacement information in a POST (POST position) and GET (GET) mode of http. However, different B/S front-end and back-end interaction mechanisms are generally adopted for the slider verification codes of different companies, and the encryption and parameter desensitization modes of http message transmission are different, so that the method needs to be cracked one by one, and is high in difficulty, poor in universality and low in technical feasibility.
(2) In the aspect of algorithm, the method comprises the calculation of the displacement of the sliding block and the generation of the dragging track of the sliding block, wherein:
the following method is generally adopted in the calculation step of the slider displacement: and obtaining background pictures without the sliding block gaps and background pictures with the sliding block gaps, calculating a difference value through 2 pictures to obtain the positions of the sliding block gaps, and further calculating the displacement distance. The precondition for the success of this approach is that pictures with no and with gaps in the slider background can be obtained, and therefore the use scenarios are limited. Still other methods employ image processing techniques in an attempt to remove background and locating gaps by texture, pixel value, shape, but such methods rely on the specific characteristics of the slider image employed by each slider captcha vendor, and the accuracy and versatility of the displacement calculation is insufficient, affecting the recognition throughput.
The slider dragging track generation link has 3 types in common practice: firstly, adding a small amount of random pixel offset and time delay into a track dragging a sliding block at a linear uniform speed to form certain randomness; secondly, generating a sliding track according to a fixed function model, such as a tanh function, and adding time delay and random pixel displacement on the basis; recording the slider dragging track of a real user through a line to form a database, and searching out the slider track set recorded under the displacement through the database when the specific displacement is known, and randomly extracting one example from the set. The 3 track generation modes are mainly based on fitting of a fixed mathematical model and track database retrieval, and the algorithm does not really learn essential characteristics of human slider dragging behaviors, so that the defects of insufficient randomness and possible repetition of generated tracks exist, particularly when a slider verifying party uses an artificial intelligence and big data technology, the 3 methods identify cliff-breaking type falling amplitude with the passing rate along with the increase of the test times.
Disclosure of Invention
The invention aims to provide an automatic identification method and system for a slider verification code, which have the advantages of high identification throughput rate, strong throughput rate stability, and good universality and ductility.
The technical solution for realizing the purpose of the invention is as follows: the automatic identification method of the slider verification code comprises two parts of off-line model training and on-line model service, wherein:
the model training under the line comprises the following steps:
positioning modeling of a slide block notch and training of a model under a line: constructing a target detection model based on deep learning, calculating the coordinates of the center position of a slide block gap according to a slide block gap background picture, marking a rectangular marking frame, and carrying out supervised target detection model training;
modeling a slider dragging track and training a model under a line: establishing an LSTM front-end model and an LSTM rear-end regression model which is suitable for non-uniform sampling input time sequence and variable-length time sequence data according to a real person slider dragging track, and training the established LSTM front-end model and the LSTM rear-end regression model;
the online model service comprises the following steps:
accessing a target website through a browser automation technology, and triggering a slider verification code;
screenshot is conducted on the screen, and the screenshot is processed to obtain a background picture containing a slider picture and a slider notch;
executing a trained target detection model by taking a background picture of the sliding block gap as input to obtain a central position coordinate of the sliding block gap; calculating to obtain the displacement distance of the sliding block by combining the initial position of the sliding block;
executing the trained LSTM front-end model and the LSTM rear-end regression model to obtain a slider dragging track time sequence, namely a mouse moving track sequence, which is as follows:
1) executing the well-trained LSTM front-end model of the online lower model training part by taking the slide block displacement distance D as input to obtain a non-uniform sampling time sequence t [ n ] with unit of millisecond;
2) preprocessing the time series t [ n ]: zero padding, normalization and data dimension conversion are included; wherein, normalization refers to normalizing the value of t [ n ] to the interval of [0,1 ];
3) executing the LSTM back-end regression model trained by the on-line lower model training part by taking preprocessed t [ n ] as input to obtain an initial slider dragging track time sequence (x [ n ], y [ n ], t [ n ]), wherein x [ n ], y [ n ] respectively represent horizontal and vertical coordinates of the central position of the slider at the time of t [ n ], and the unit is relative pixel;
4) the initial slide block dragging track time sequence (x n y n, t n) is reverse normalized, the central position coordinate unit of the slide block is converted into the pixel point of the input picture coordinate domain, and the unit of t n is converted into millisecond;
5) aligning the initial slider dragging track time sequence through a stretching or compressing sequence to enable the final abscissa position x [ N ] of the slider dragging track time sequence to be equal to the slider displacement distance D, wherein N represents the last sampling point;
6) approximating the time sequence numerical value of the aligned slider dragging track to an integer;
7) and returning a difference calculation result (x _ t, y _ t, t) as a final slider dragging track time sequence, wherein the difference calculation specifically comprises the following steps: x _ t ═ x [ n ] -x [ n-1], y _ t ═ y [ n ] -y [ n-1], t ═ t [ n ] -t [ n-1 ];
and automatically controlling a mouse to click the slider, drag the slider and release the slider to a notch position through an XTEST interface of the X server or a mouse event file of a Linux operating system according to the slider dragging track time sequence to finish the automatic identification of the slider verification code.
In one embodiment, before automatically controlling a mouse to click on a slider, drag the slider, and release the slider to a position of a gap through an XTEST interface of an X server or a mouse event file of a Linux operating system according to a slider dragging trajectory time sequence, the method for automatically identifying a slider verification code further includes:
and calling a sliding block track smoothing model for smoothing the generated sliding block dragging track time sequence.
In one embodiment, the slider notch position location modeling and the off-line model training are as follows:
constructing a target detection model based on deep learning, and intercepting a background picture of a slide block notch to respectively perform general image processing and specific image processing; the general image processing comprises operations of scaling the image to a fixed size and balancing pixel values, and the general image processing result is used for inputting a deep learning target detection model; the method comprises the steps of processing a targeted image for automatic labeling of data of supervised learning, calculating coordinates of the center position of a slide block notch according to a targeted image processing result, and automatically identifying and labeling a rectangular frame, namely providing a supervised label for a target detection model, so that supervised target detection model training without manual data labeling is carried out; and finally, the trained target detection model is used for outputting the coordinates of the positioning rectangular frame of the slide block gap position and the central coordinates of the rectangular frame, namely the coordinates of the slide block gap central position.
In one embodiment, the slider dragging trajectory modeling and the off-line model training are as follows:
recording a dragging track of a real person sliding block, and preprocessing the sliding block track; establishing an LSTM front-end model, and learning the incidence relation characteristics of the total displacement of the slide block track and the total track time consumption and the non-uniform time sampling sequence characteristics of the slide block track; establishing an improved LSTM back-end regression model to adapt to non-uniform sampling input time sequence and variable long-term sequence data; and training the established LSTM front-end model and LSTM rear-end regression model for generating a slider dragging track time sequence.
In one embodiment, the background picture of the sliding block gap is used as input, a trained target detection model is executed, and coordinates of the center position of the sliding block gap are obtained; and calculating to obtain the displacement distance of the sliding block by combining the initial position of the sliding block, wherein the formula is as follows:
Figure GDA0003626291400000041
wherein D represents the displacement distance of the slide block, x is the abscissa of the center position of the slide block notch, and x 0 As initial abscissa of slider, W elm Inputting the width of the picture, W, for the target detection model snap The width of the screenshot is the unit of the above variables which are pixels;
when the initial position of the slide block is an indeterminate value, a template matching algorithm is adopted to independently calculate the initial position coordinate (x) of the slide block according to the slide block 0 ,y 0 )。
In one embodiment, the deep learning-based target detection model specifically adopts a YOLO or SSD deep learning model to perform supervised target detection model training, where:
the general image processing comprises the steps of carrying out single-color gray-scale image conversion and histogram equalization processing on a background picture of a slide block notch, and carrying out normalization to enable image pixels to be in a [0,1] interval;
the targeted image processing comprises the steps of carrying out monochrome gray-scale image conversion, ROI limitation and binarization processing on a background picture of a slide block gap, adopting first-order image gradient calculation, then utilizing the continuity of edge white continuous pixel points and the counting median of the coordinate positions of the white continuous pixel points to calculate to obtain the coordinate of the center position of the slide block gap, and further labeling a rectangular labeling frame at the position of the slide block gap, namely providing a supervised label for a target detection model.
In one embodiment, the slider dragging trajectory modeling and the off-line model training are performed by using an LSTM model, which is as follows:
acquiring real sliding block operation data by using mouse screen recording software;
preprocessing the acquired data;
carrying out LSTM front end model modeling, comprising two modes: one is to adopt an independent model based on statistics, the other is to adopt an additional layer of LSTM to carry out modeling, and the additional layer of LSTM and an LSTM rear-end regression model are together used for carrying out back propagation model parameter learning;
an improved LSTM back-end regression model is established, and variable-length slider dragging tracks with different displacement distances and different dragging durations are generated by modifying a network architecture and a loss function.
In one embodiment, the preprocessing the acquired data includes the following steps:
extracting the processes of clicking, dragging and releasing the slider from the recorded mouse track, and converting the data format into a csv text file;
converting the absolute coordinate of the mouse movement into a relative coordinate of the mouse movement, wherein the coordinate of the first point is (0, 0);
converting time sampling into milliseconds from a system absolute clock period, wherein the sampling time point of a first point is 0 millisecond;
and counting the maximum mouse displacement value and the maximum time consumption value of the data set, and performing data normalization.
In one embodiment, the modeling of the LSTM front-end model is performed using a statistically based independent model, which is as follows:
modeling by utilizing a Burr statistical model aiming at the incidence relation between the displacement distance and the dragging time length, namely outputting the total time consumption A which accords with the Burr model by the model and has unit of millisecond;
analyzing the statistical relation of time sampling frequency aiming at the collected real person slider operation data set, and establishing a model for generating a time sampling sequence; in the step, firstly, a truncation method is adopted to select non-uniform sampling points of a time sequence, and then Gaussian random number generation of a specified mean value and variance is carried out according to specific sampling values of the selected sampling points; and finally, generating a non-uniform sampling time sequence with the total time consumption of A, and taking the non-uniform sampling time sequence as the input of an LSTM rear-end regression model.
In one embodiment, the LSTM front-end model modeling is performed, an additional layer of LSTM is used for modeling, and the additional layer of LSTM and the LSTM back-end regression model together perform back propagation model parameter learning, which is specifically as follows:
an additional layer of LSTM is adopted to directly establish a model of input-output non-uniform sampling time sequence, the input of the layer of LSTM is displacement distance and dragging duration, and all time step outputs of the layer of LSTM are used as the input of an LSTM rear-end regression model.
In one embodiment, the establishing of the improved LSTM back-end regression model is as follows:
firstly, the input of an LSTM model is forced to be brought into the length of an actual time sequence, and the output is full time step output;
secondly, before an output layer is accessed, a Dropout layer is added, the Dropout layer is in full connection with the output layer, a loss function is defined as MSE, the function is modified, and interference brought by zero-padding nodes to MSE calculation is eliminated according to the brought actual time sequence length information;
and finally, adding a Leaky Relu activation function to the output layer, and matching with an Adam optimizer to perform back propagation learning of model parameters.
An automatic identification system for a slider validation code, comprising:
the X server starting module is used for loading the configuration file of the X server, starting the X server and starting the access authority of the X client;
the sliding block identification program module is used for configuring a webpage browser starting option, loading a Selenium frame, operating a sliding block identification algorithm to obtain a mouse track sequence, and controlling a mouse to click a sliding block, drag the sliding block and release the sliding block to a gap position through an XTEST interface of an X server or a mouse event file of a Linux operating system;
the slider identification program module specifically includes:
the model training unit is used for positioning modeling of the position of a gap of the sliding block and training of the model under the line, the sliding block drags the track to model and train the model under the line,
the sliding block verification code triggering unit is used for accessing a target website and triggering a sliding block verification code;
the screen capture unit is used for capturing a screen to obtain a background picture containing a slider picture and a slider notch;
the sliding block displacement distance calculating unit is used for executing the trained target detection model to obtain the coordinates of the center position of the sliding block notch and calculating to obtain the sliding block displacement distance;
the slider dragging track sequence calculating unit is used for executing the trained LSTM front-end model and the LSTM rear-end regression model to obtain a slider dragging track sequence, namely a mouse track sequence, and the method specifically comprises the following steps:
1) executing the well-trained LSTM front-end model of the online lower model training part by taking the slide block displacement distance D as input to obtain a non-uniform sampling time sequence t [ n ] with unit of millisecond;
2) pre-processing the time series t [ n ]: zero padding, normalization and data dimension conversion are included; wherein, normalization refers to normalizing the value of t [ n ] to the interval of [0,1 ];
3) taking preprocessed t [ n ] as input, executing a trained LSTM back-end regression model of an on-line lower model training part to obtain an initial slider dragging track time sequence (x [ n ], y [ n ], t [ n ]), wherein x [ n ] and y [ n ] respectively represent horizontal and vertical coordinates of the central position of the slider at the time of t [ n ], and the unit is relative pixel;
4) the initial slide block dragging track time sequence (x [ n ] y [ n ], t [ n ]) is inversely normalized, the coordinate unit of the central position of the slide block is converted into a pixel point of an input picture coordinate domain, and the unit of t [ n ] is converted into millisecond;
5) aligning the initial slider dragging track time sequence through a stretching or compressing sequence to enable the final abscissa position x [ N ] of the slider dragging track time sequence to be equal to the slider displacement distance D, wherein N represents the last sampling point;
6) approximating the time sequence numerical value of the aligned slider dragging track to an integer;
7) and returning a difference calculation result (x _ t, y _ t, t) as a final slider dragging track time sequence, wherein the difference calculation specifically comprises the following steps: x _ t ═ x [ n ] -x [ n-1], y _ t ═ y [ n ] -y [ n-1], t ═ t [ n ] -t [ n-1 ];
and the mouse operation control unit is used for controlling the mouse to click, drag and release to the position of the gap of the slide block according to the slide block dragging track sequence so as to finish the automatic identification of the slide block verification code.
Compared with the prior art, the invention has the remarkable advantages that: (1) the method has the advantages that the anthropomorphic operation is realized by directly controlling the browser and simulating the movement of the mouse, different slider verification code suppliers can be supported without modification, the universality and the extensibility are good, and the method is used for the deployment of headless servers; (2) in the step of calculating the displacement of the sliding block, a deep learning method of closed-loop supervised target detection is utilized, so that the dependence on the special characteristics of the sliding block picture provided by a sliding block identification supplier is reduced, and manual labeling of a label is not needed; (3) in the step of generating the sliding block track, the modified LSTM model is used as a core, and auxiliary algorithms such as a statistical model, track smoothing and the like are utilized to realize deep learning of the dragging behavior of the human sliding block, so that the track containing the essential characteristics of dragging of the human sliding block is randomly generated, and the method has the advantages of high recognition passing rate and high stability of the passing rate.
Drawings
FIG. 1 is an architecture diagram of an automatic slider authentication code identification system in one embodiment.
FIG. 2 is a flow diagram illustrating modeling and training for slider notch position location in one embodiment.
FIG. 3 is a flow diagram illustrating modeling and training of a slider dragging trajectory according to an embodiment.
FIG. 4 is a flow diagram of a method for automatic identification of slider validation codes in one embodiment.
FIG. 5 is a flow diagram for on-line execution of the LSTM model in one embodiment.
FIG. 6 is a diagram of an example 1 of slider notch position output in one embodiment.
FIG. 7 is a diagram of an example 2 of slider notch position output in one embodiment.
FIG. 8 is a diagram illustrating the association of displacement distance and drag elapsed time in one embodiment.
FIG. 9 is a schematic diagram of a probability distribution of a temporally non-uniform sampling sequence in one embodiment.
FIG. 10 is a diagram illustrating an example of an anthropomorphic slider drag trajectory generation in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The automatic identification method of the slider verification code provided by the invention can be applied to an automatic identification system of the slider verification code shown in figure 1, the system comprises an X server starting module and a slider identification program module, wherein:
the X server starting module is used for loading the configuration file of the X server, starting the X server and starting the access authority of the X client;
and the slider recognition program module is used for configuring a webpage browser starting option, loading a Selenium frame, operating a slider recognition algorithm to obtain a mouse track sequence, and controlling a mouse to click a slider, drag the slider and release the slider to a gap position through an XTEST interface of an X server or a mouse event file of a Linux operating system.
In one embodiment, the slider recognition program module specifically includes:
the model training unit is used for positioning modeling of the position of the gap of the slide block and training of the model under the line, modeling of the dragging track of the slide block and training of the model under the line,
the sliding block verification code triggering unit is used for accessing a target website and triggering a sliding block verification code;
the screen capture unit is used for capturing a screen to obtain a background picture containing a slider picture and a slider notch;
the sliding block displacement distance calculating unit is used for executing the trained target detection model to obtain the coordinates of the center position of the sliding block notch and calculating to obtain the sliding block displacement distance;
the sliding block dragging track sequence calculating unit is used for executing the trained LSTM front-end model and the LSTM rear-end regression model to obtain a sliding block dragging track sequence, namely a mouse track sequence;
and the mouse operation control unit is used for controlling the mouse to click, drag and release to the position of the gap of the slide block according to the slide block dragging track sequence so as to finish the automatic identification of the slide block verification code.
In an embodiment, the system architecture of the automatic slider verification code identification system includes a web browser, an automatic browser test framework (Selenium), a Linux graphics display server (X server), an X server virtual graphics card driver, a real input/output driver, an X server encapsulation driver, an X server configuration file, and a slider identification application module, where:
the Selenium is used for automatically controlling the webpage browser by the slider recognition application program module;
the X server is used for realizing a virtual desktop, supporting the arrangement of a headless server and supporting the control operation of a slider recognition application program on a virtual mouse cursor;
the packaging driver of the X server is used for dynamically loading the real input and output driver through a Linux kernel when the X server is started;
the X server configuration file is used for configuring the X server, defining virtual desktop parameters, dynamically loading real input and output drivers, configuring relevant parameters of a virtual mouse and configuring relevant virtual display card settings;
and the slider recognition application program module is used for configuring a webpage browser starting option, loading a Selenium frame, operating a slider recognition algorithm to obtain a mouse track sequence, and controlling the mouse to click, drag and release the slider to a gap position through an XTEST interface or a mouse event file.
Specifically, the Web browser is a Chrome browser or a Firefox browser, or another Web browser supporting a Web Driver API.
Specifically, the browser control frame Selenium described above provides an API interface of a web browser, so that the web browser can be controlled by program software.
Specifically, the above-mentioned Selenium-installed library function corresponds to a programming language used by the slider recognition application module, so that the slider recognition application module written by the language can access the web browser and control the operation of the web browser.
Specifically, the X server configuration file is also used for configuring and deploying a headless service thread mode, including XTEST support, mouse driver, display resolution, DPI configuration, and keyboard configuration.
Specifically, the architecture construction process of the automatic identification system for the slider verification code is as follows:
(1.1) installing a web browser to be specifically used, such as a Chrome browser or a Firefox browser;
(1.2) installing a Selenium browser driver, such as a Chrome browser driver; the driving program provides a control interface of the web browser, so that the web browser can be automatically controlled by the program;
(1.3) selecting a corresponding Selenium library function to install according to the used programming language, so that a slider identification application program module written by the language can access a web browser and control the operation of the web browser;
the three steps (1.1) to (1.3) complete the automatic control of the slider recognition application program to the browser through the Selenium. The following steps are introduced to build an X server to realize a virtual desktop, which is used for supporting the arrangement of a headless server and more importantly for supporting the simulation operation of a slider application program on a virtual mouse. With reference to fig. 1, the slider application can control the virtual mouse in 2 different ways according to different requirements of the simulation degree of the mouse simulation operation: the slider verification code identification system using the framework can bypass the encryption and detection mechanisms of a slider verification code manufacturer on user interaction, a webpage coding form and a webpage application front-end and back-end interaction mechanism, is not limited by the input and output equipment control (such as a mouse) of a browser automation framework and the function limitation of the framework, and realizes the automatic control on the webpage at the level of a Linux operating system.
(1.4) installing an X server;
(1.5) installing an X server virtual display card driver;
and (1.6) installing real input and output drivers and packaging drivers of the X server, so that the X server can dynamically load the real input and output drivers through a Linux kernel when being started. Because these drivers are real physical hardware drivers, the maximum emulation of a virtual mouse can be achieved through these drivers.
(1.7) loading an X server configuration file: the configuration file needs to be written in advance, and the file is used for configuring the X server, defining virtual desktop parameters such as resolution, DPI and the like, loading input and output drivers and configuring mouse related parameters, and ensuring that the drivers are correctly loaded by a Linux kernel. The configuration file also needs to configure the relevant graphics card settings, such as disabling 3D hardware acceleration, etc., and the extended interface relevant settings, in this embodiment, open XTEST support.
(1.8) starting an X server;
(1.9) opening the access authority of the X client;
(1.10) setting an X protocol communication mode, such as a client (a sliding block identification application program module) to communicate with an X server by using a Unix port;
to this end, the system architecture shown in fig. 1 has been built and started, and the slider verification code identification procedure is started.
(1.11) starting the slider identification application program module, and controlling a mouse to click, drag and release the slider to a notch position, wherein the slider identification application program module is internally provided with the following steps:
firstly, configuring a web browser starting option;
secondly, configuring mouse driving options (optional);
thirdly, loading a Selenium frame;
running the slider recognition application program module to obtain a mouse track sequence; (Note: slider recognition application module details are detailed in the algorithm flow below);
and controlling the mouse to click, drag and release to the position of the gap of the sliding block by the program through an XTEST interface or a mouse event file according to the mouse track sequence.
By adopting the scheme of the embodiment, the anthropomorphic operation is realized by directly controlling the browser and simulating the movement of the mouse, so that the limitation of an http technology is technically bypassed, and meanwhile, the http encryption is completely transparent to the system architecture of the invention, which means that the system of the invention can support different sliding block verification code suppliers without modification, and the technology universality and the extensibility are high. In the form of system deployment, the system provided by the invention supports the deployment of headless servers, namely the system is deployed on a Linux server without a physical display card, a physical display terminal and a physical input/output device.
In an embodiment, as shown in fig. 2 to 5, an automatic identification method for a slider verification code is provided, which includes two parts, i.e. an off-line model training part and an on-line model service part, wherein:
the first part, off-line model training, includes the following steps:
positioning modeling of a slide block gap position and training of a model under a line: constructing a target detection model based on deep learning, calculating the coordinates of the center position of a slide block gap according to a background picture of the slide block gap, marking a rectangular marking frame, and performing supervised target detection model training;
modeling a slider dragging track and training a model under a line: according to the dragging track of the real person slider, an LSTM front-end model and an LSTM rear-end regression model which is suitable for non-uniform sampling input time sequence and variable-length time sequence data are established, and the established LSTM front-end model and the LSTM rear-end regression model are trained.
In one embodiment, the slider notch position location modeling and the off-line model training are specifically shown in fig. 2:
constructing a target detection model based on deep learning, and intercepting background pictures of a gap of a sliding block to respectively perform general image processing and specific image processing; the general image processing comprises operations of zooming a picture to a fixed size and balancing pixel values, and the general image processing result is used for inputting a deep learning target detection model; the method comprises the steps of processing a targeted image for automatic labeling of data of supervised learning, calculating coordinates of the center position of a slide block notch according to a targeted image processing result, and automatically identifying and labeling a rectangular frame, namely providing a supervised label for a target detection model, so that supervised target detection model training without manual data labeling is carried out; and finally, the trained target detection model is used for outputting the coordinates of a positioning rectangular frame of the position of the slide block gap and the central coordinates of the rectangular frame, namely the coordinates of the central position of the slide block gap.
In an embodiment, the target detection model based on deep learning specifically adopts a YOLO or SSD deep learning model to perform supervised target detection model training, where:
the general image processing comprises the steps of carrying out single-color gray-scale image conversion and histogram equalization processing on a background picture of a slide block notch, and carrying out normalization to enable image pixels to be in a [0,1] interval;
the targeted image processing comprises the steps of carrying out monochrome gray-scale image conversion, ROI limitation and binarization processing on a background picture of a slide block gap, adopting first-order image gradient calculation, then utilizing the continuity of edge white continuous pixel points and the counting median of the coordinate positions of the white continuous pixel points to calculate to obtain the coordinate of the center position of the slide block gap, and further labeling a rectangular labeling frame at the position of the slide block gap, namely providing a supervised label for a target detection model.
By adopting the scheme of the embodiment, in the step of calculating the displacement of the sliding block, the dependence on the sliding block to identify the special characteristics of the sliding block picture of the supplier is solved by using the closed-loop supervised target detection model deep learning method, and the problem that the supervised deep learning model needs to label the label manually is also solved.
In an embodiment, the coordinates of the center position of the notch of the slider are calculated according to the result of the targeted image processing, which is as follows:
(1) the method comprises the following steps that a channel A of RGBA is used for the slider picture characteristic, binarization is conducted on the channel to obtain pixel point positions covered by a slider, and other pixels are removed to obtain a slider template;
(2) converting the background picture of the sliding block notch into an int16 format, then respectively carrying out differential calculation on the horizontal direction and the vertical direction, assigning a negative value as 0, then superposing the horizontal calculation result and the vertical calculation result according to the size of the original image to obtain a characteristic picture of the sliding block notch, and further calculating the positions of continuous pixels at the edge to obtain the central position (C _ x1, C _ y1) of the notch; obtaining a transfer matrix of the picture, and obtaining the central position of the notch (C _ x2, C _ y2) by carrying out the calculation again;
(3) matching a slider template on the notch feature map, and taking the position with the highest matching degree to obtain another notch center position (C _ x0, C _ y 0);
(4) in order to further improve the positioning accuracy, the notch position and the notch size calculated by the above 2 ways are combined to obtain the final coordinate of the center position of the notch of the slide block, and the specific calculation method is as follows:
a) setting the notch center coordinates as the coordinate output of the matching template calculation (C _ x0, C _ y 0);
b) judging a matching degree value output by template matching calculation, judging whether the abscissa C _ x0 of the center of the notch is empty or not when the matching degree value is smaller than a set threshold, and setting the coordinates of the center of the notch to be (C _ x1 and C _ y2) as a final output result if the abscissa C _ x0 of the center of the notch is empty; if not, reserving (C _ x0, C _ y0) as a final output result of the notch center coordinate; wherein, the setting principle of the threshold value of the matching degree is to reserve the first 5 percent of the sequence of the matching degree.
In one embodiment, the slider dragging trajectory modeling and the off-line model training are as shown in fig. 3:
recording a dragging track of a real person sliding block, and preprocessing the sliding block track; establishing an LSTM front-end model, and learning the incidence relation characteristics of the total displacement of the slide block track and the total track time consumption and the non-uniform time sampling sequence characteristics of the slide block track; establishing an improved LSTM back-end regression model to adapt to non-uniform sampling input time sequence and variable long-term sequence data; and training the established LSTM front-end model and LSTM rear-end regression model for generating a slider dragging track time sequence.
In one embodiment, the slider dragging trajectory modeling and the model under line training are implemented by using an LSTM model, which is as follows:
acquiring real sliding block operation data by using mouse screen recording software;
preprocessing the acquired data;
carrying out LSTM front end model modeling, comprising two modes: one is to adopt an independent model based on statistics, the other is to adopt an additional layer of LSTM to carry out modeling, and the additional layer of LSTM and an LSTM rear-end regression model are together used for carrying out back propagation model parameter learning;
an improved LSTM back-end regression model is established, and variable-length slider dragging tracks with different displacement distances and different dragging durations are generated by modifying a network architecture and a loss function.
By adopting the scheme of the embodiment, in the step of generating the slider track, the advanced learning of the dragging behavior of the human slider is realized by using the specially modified LSTM model as the core, the statistical model, the track smoothing and other auxiliary algorithm technologies, so that the track containing the essential characteristics of the human slider dragging is randomly generated, and finally the high identification passing rate and the high passing rate stability of the slider verification code are obtained.
In an embodiment, the preprocessing the collected data includes the following steps:
extracting the processes of clicking, dragging and releasing the slider from the recorded mouse track, and converting the data format into a csv text file;
converting the absolute coordinate of the mouse movement into a relative coordinate of the mouse movement, wherein the coordinate of the first point is (0, 0);
converting time sampling into milliseconds from a system absolute clock period, wherein the sampling time point of a first point is 0 millisecond;
and counting the maximum mouse displacement value and the maximum time consumption value of the data set, and performing data normalization.
In one embodiment, the modeling of the LSTM front-end model is performed using a statistically based independent model, which is as follows:
modeling by utilizing a Burr statistical model aiming at the incidence relation between the displacement distance and the dragging time length, namely outputting the total time consumption A which accords with the Burr model by the model and has unit of millisecond;
analyzing the statistical relation of time sampling frequency aiming at the collected real person slider operation data set, and establishing a model for generating a time sampling sequence; in the step, firstly, a truncation method is adopted to select non-uniform sampling points of a time sequence, and then Gaussian random number generation of specified mean value and variance is carried out aiming at specific sampling values of the selected sampling points; and finally, generating a non-uniform sampling time sequence with the total time consumption of A, and taking the non-uniform sampling time sequence as the input of an LSTM back-end regression model.
In one embodiment, the above modeling of the LSTM front-end model is performed by using an additional layer of LSTM, and the additional layer of LSTM performs back propagation model parameter learning together with the LSTM back-end regression model, which is as follows:
an additional layer of LSTM is adopted to directly establish a model of input-output non-uniform sampling time sequence, the input of the layer of LSTM is displacement distance and dragging duration, and all time step outputs of the layer of LSTM are used as the input of an LSTM rear-end regression model.
In one embodiment, the above improved LSTM back-end regression model is established as follows:
firstly, the input of an LSTM model is forced to be brought into the length of an actual time sequence, and the output is full time step output;
secondly, before an output layer is accessed, a Dropout layer is added, the Dropout layer and the output layer are in full connection, a loss function is defined as MSE, the function is modified, and interference caused by zero-padding nodes in MSE calculation is eliminated according to the brought actual time sequence length information;
and finally, adding a Leaky Relu activation function to the output layer, and matching with an Adam optimizer to perform back propagation learning of the model parameters.
A second partial, online model service, comprising the steps of:
as shown in fig. 4, first, a target website is accessed through a browser automation technology, and a slider verification code is triggered;
screenshot is conducted on the screen, and the screenshot is processed to obtain a background picture containing a slider picture and a slider notch;
executing a trained target detection model by taking a background picture of the slide block gap as input to obtain a coordinate of the center position of the slide block gap; calculating to obtain the displacement distance of the sliding block by combining the initial position of the sliding block;
executing the trained LSTM front-end model and the LSTM rear-end regression model to obtain a slider dragging track time sequence, namely a mouse moving track sequence;
and automatically controlling a mouse to click the slider, drag the slider and release the slider to a notch position through an XTEST interface of the X server or a mouse event file of a Linux operating system according to the slider dragging track time sequence to finish the automatic identification of the slider verification code.
In an embodiment, before the automatically controlling the mouse to click the slider, drag the slider, and release the slider to the position of the gap according to the time sequence of the slider dragging trajectory and through an XTEST interface of the X server or a mouse event file of the Linux operating system, the method for automatically identifying the slider verification code further includes: and calling a sliding block track smoothing model for smoothing the generated sliding block dragging track time sequence.
In one embodiment, the above-mentioned background picture of the slide gap is used as input, and a trained target detection model is executed to obtain coordinates of the center position of the slide gap; and calculating to obtain the displacement distance of the sliding block by combining the initial position of the sliding block, wherein the formula is as follows:
Figure GDA0003626291400000141
wherein D represents the displacement distance of the slide block, x is the abscissa of the center position of the slide block notch, and x 0 As initial abscissa of slider, W elm Inputting the width of the picture, W, for the target detection model snap The width of the screenshot is the unit of the above variables which are pixels;
when the initial position of the slide block is an indeterminate value, a template matching algorithm is adopted to independently calculate the initial position coordinate (x) of the slide block according to the slide block 0 ,y 0 )。
In an embodiment, the above-mentioned executing the trained LSTM front-end model and the LSTM back-end regression model to obtain a time sequence of a slider dragging track, that is, a mouse moving track sequence, and with reference to fig. 5, the following details are as follows:
1) executing the well-trained LSTM front-end model of the online lower model training part by taking the slide block displacement distance D as input to obtain a non-uniform sampling time sequence t [ n ] with unit of millisecond;
2) preprocessing the time series t [ n ]: including zero-padding (zero-padding), normalization, and data dimension conversion; wherein, normalization refers to normalizing the value of t [ n ] to the interval of [0,1 ];
3) executing the LSTM back-end regression model trained by the on-line lower model training part by taking preprocessed t [ n ] as input to obtain an initial slider dragging track time sequence (x [ n ], y [ n ], t [ n ]), wherein x [ n ], y [ n ] respectively represent horizontal and vertical coordinates of the central position of the slider at the time of t [ n ], and the unit is relative pixel;
4) the initial slide block dragging track time sequence (x n y n, t n) is reverse normalized, the central position coordinate unit of the slide block is converted into the pixel point of the input picture coordinate domain, and the unit of t n is converted into millisecond;
5) aligning the initial slider dragging track time sequence through a stretching or compressing sequence to enable the final abscissa position x [ N ] of the slider dragging track time sequence to be equal to the slider displacement distance D, wherein N represents the last sampling point;
6) approximating the time sequence numerical value of the slider dragging track after the alignment treatment to be an integer;
7) and returning a difference calculation result (x _ t, y _ t, t) as a final slider dragging track time sequence, wherein the difference calculation specifically comprises the following steps: x _ t ═ x [ n ] -x [ n-1], y _ t ═ y [ n ] -y [ n-1], t ═ t [ n ] -t [ n-1 ].
The technical solutions in the embodiments of the present invention are clearly and completely described below, and of course, the embodiments described herein are not all embodiments. The components of embodiments of the present invention described and illustrated in the figures herein may be arranged and designed in a wide variety of different forms. Thus, the detailed description of the embodiments of the present invention provided below is not intended to limit the scope of the invention as claimed, but is merely representative of selected embodiments of the invention.
The technical implementation of the present invention is first described in detail in the following, where the technical implementation is deployed and executed on the Linux headless server on-line, and then the implementation of the model-off-line training environment related to the present invention is specifically described.
First, the implementation scheme of the slider verification code system architecture
1. Installing an X11 server, an X11 dummy driver (virtual video card driver) and an X11 library driver on a Linux server at one time;
2. installing a libinput input drive once;
3. writing a special conf file to be placed under/etc/x 11/xorg. conf.d/folder; the conf file is used for describing display related configurations such as desktop screen resolution, DPI (deep Power inspection), color depth and the like, loading a virtual display card driver and a real input driver (a mouse and a keyboard), and configuring keyboard and mouse driving parameters in detail; the configuration is used for filtering unnecessary input and output and driving, forbidding a display rendering engine and kernel library functions which need real hardware, such as hardware acceleration and the like;
4. starting the X server by using an Xorg command background;
5. using an xhost command to open the access authority of the X client so as to support the client access of the X protocol;
6. setting a DISPLAY parameter in a Unix port form (note that other transmission mechanisms supported by an X protocol can also be adopted);
7. starting the slider authentication code application program to begin automatically identifying the authentication code.
By adopting the general system architecture design of the embodiment, the architecture solves the system architecture bottleneck of the traditional slider verification code identification technology, namely the technology is not limited by the specially-made control of the front-end page of the slider and the encryption of the http transmission protocol, and the innovation of the system technical architecture is realized. Meanwhile, the framework realizes loading of a real mouse Linux kernel driver under the condition of no physical mouse hardware, eliminates the difference between the mouse control by a program and the mouse control by a real person, improves the robustness of dragging the mouse by a system anthropomorphic person, and further improves the slider identification passing rate.
Second, implementation scheme of application program of slider verification code
1. And configuring webdriver parameters of the Selenium, specifically the size of a browser window and the coordinates of a window starting position. In this embodiment, the specifically adopted web browser is a Chrome browser, and a-no-sandbox parameter needs to be used under the root permission. Meanwhile, because of the virtual graphics card used, the GPU acceleration is disabled using a disable-GPU and software rendering is used.
2. The browser will run within the X server by launching it through the Selenium framework.
3. And controlling the elements and the controls of the browser to enter the target website. The specific elements, CSS, class, differ from web site to web site.
4. And acquiring a screen shot of the slider verification code.
5. And only intercepting the slide block and the picture containing the slide block notch background according to the slide block verification code window position.
6. An offline trained target detection model is executed, which will output coordinates (x, y) of the center position of the slider, and corresponding coordinates (x _ left, y _ left, w, h) of the rectangular box bbox.
7. An initial slider position is located. The step is optional, the initial position of most verification code sliders is a fixed value, and the position coordinate (x) of the slider button can be searched by adopting a template matching algorithm aiming at the initial position of the slider with the fixed value 0 ,y 0 ) Wherein x is 0 And the method is used for calculating the displacement of the sliding block.
8. The displacement of the slide block is calculated by the formula
Figure GDA0003626291400000161
Wherein D represents the displacement distance of the slide block, x is the abscissa of the center position of the slide block notch, and x 0 As initial abscissa of slider, W elm Inputting the width of the picture, W, for the target detection model snap The units of the above variables are pixels for the width of the screenshot.
9. Generating a slider dragging track, which can be subdivided into the following links, as shown in fig. 5:
(9.1) generating a time sampling sequence, executing the model trained in the on-line lower model training link, and loading the parameters of the model to obtain a non-uniform sampling time sequence;
(9.2) LSTM model input preprocessing, including zero-padding, normalization and data dimension conversion;
(9.3) executing the LSTM model to obtain a generated slide block dragging track (x _ t, y _ t) sequence;
(9.4) sequence denormalization of (x _ t, y _ t, t);
(9.5) track alignment processing is carried out, the final position of the track is ensured to be the position of a slide block notch, and a sequence is stretched and compressed if necessary;
(9.6) approximating the sequence numbers as integers;
(9.7) returning a difference calculation result;
10. and calling a sliding block track smoothing model for smoothing the generated sliding block track sequence. The track sequence smoothing processing, which is a twening function adopted in this embodiment, may also use other difference functions, and this step is related to the training set data sampling period, and is an optional step. In the embodiment, track smoothing processing is used to improve the recognition passing rate.
11. And simulating mouse operation by using the event file or the XTEST interface to finish clicking, dragging and releasing of the slider button and finish automatic identification of the slider verification code.
The following describes the embodiment of the off-line training of the algorithm model referred to in this patent. This patent relates to 2 model training: and the sliding block notch position positioning model and the sliding block dragging track generation model.
Third, the slide block gap position positioning model
The offline training procedure of this model is shown in fig. 2, and the specific deep learning model is YOLO, but other deep learning models such as SSD may be used. As the actual input of the model, a background picture containing a slide block notch is converted into a monochrome gray scale image through a general image processing module, then histogram equalization processing is carried out, and normalization is carried out to enable the brightness of an image pixel to be in a [0,1] interval.
Fig. 2 is a processing flow for automatically labeling a model, and a background picture including a slider notch is specifically processed according to a specific slider verification code picture, which differs according to manufacturers. With reference to the steps shown in fig. 2, in the present embodiment, in the targeted image processing step, algorithms such as gray scale transformation, ROI limitation, and multi-level binarization of Ostu are used; in the step of positioning the position of the slide block notch, first-order image gradient calculation is adopted, then the continuity of white continuous pixel points at the edge of the slide block notch and the statistical median of the coordinate position of the slide block notch are used for calculation to obtain the coordinate of the center position of the slide block notch, and further rectangular frame marking (bbox) of the position of the slide block notch can be realized, so that a label is automatically provided for a target detection model for closed-loop supervised training.
The concrete steps of slider breach position location include:
1. obtaining background picture and slider picture of slider notch by screen capture mode
2. Respectively processing the pictures by using specific and universal image processing algorithms; the targeted image processing result is used for the subsequent automatic marking step of the position of the slide block gap, namely, a supervised label is provided for the target detection model; the result of the general image processing is used for model input of target detection, including scaling the image to a fixed size and pixel value equalization. The existing calculation method, for example, is used in the link by using the calculation mode of the pictures with gaps and without gaps on the background of the sliding block, so that the automatic label marking process is facilitated.
3. Under the automatic marking line of the label, a slide block notch positioning algorithm step is used for calculating the center position coordinate of the slide block notch; after the coordinates of the center position of the sliding block notch are obtained, the position (bounding box) of a rectangular marking frame can be calculated and used for training a target detection supervised model;
to facilitate understanding of the aspects of the present invention, a specific example will be described below.
Take the Tencent slider verification code test as an example. In combination with the automatic labeling line of the label of fig. 2, the invention simultaneously utilizes the specific characteristics of the slider picture, the specific characteristics of the background picture of the slider notch and the shape correlation characteristics of the slider picture and the slider notch picture to construct a slider notch positioning algorithm, and can accurately identify the position of the slider notch and label the position of the slider notch:
(1) the method comprises the following steps that (1) an A channel of RGBA is used for the characteristics of a sliding block picture, binarization is carried out on the channel to obtain pixel point positions covered by a sliding block, and other pixels are eliminated to obtain a sliding block template;
(2) converting the background picture of the sliding block notch into an int16 format, then respectively carrying out differential calculation on the horizontal direction and the vertical direction, assigning a negative value as 0, then superposing the horizontal calculation result and the vertical calculation result according to the size of the original image to obtain a characteristic picture of the sliding block notch, and further calculating the positions of continuous pixels at the edge to obtain the central position (C _ x1, C _ y1) of the notch; obtaining a transfer matrix of the picture, and obtaining the central position of the notch (C _ x2, C _ y2) by carrying out the calculation again;
(3) matching a slider template on the notch feature map, and taking the position with the highest matching degree to obtain another notch center position (C _ x0, C _ y 0);
(4) in order to further improve the positioning accuracy, the notch positions and the notch sizes calculated by the above 2 ways are combined to obtain the final coordinate of the center position of the notch of the slide block, and the specific calculation method is as follows:
a) setting the notch center coordinates as the coordinate output of the matching template calculation (C _ x0, C _ y 0);
b) judging a matching degree value output by template matching calculation, judging whether the abscissa C _ x0 of the center of the notch is empty or not when the matching degree value is smaller than a set threshold, and setting the coordinates of the center of the notch to be (C _ x1 and C _ y2) as a final output result if the abscissa C _ x0 of the center of the notch is empty; if not, reserving (C _ x0, C _ y0) as a final output result of the notch center coordinate; wherein, the setting principle of the matching degree threshold value is to keep the first 5% of the matching degree sequence.
(5) After the target detection model is trained, the coordinates of the center position of the notch of the sliding block and the rectangular marking frame can be output, and the example output is shown in fig. 6 and 7.
By adopting the slider notch position positioning algorithm, the general deep learning target detection enables the algorithm to really learn the essential characteristics of slider position identification, realizes the identification capability of one algorithm supporting a plurality of different slider verification code suppliers, realizes a closed-loop system of automatic label marking, and does not need manual intervention and marking data.
Fourth, slider dragging track generation model
The offline training step of the model is shown in fig. 3, and the specific deep learning model is LSTM:
1. acquiring the operation data of the real sliding block by using Mouse screen recording software (such as Mouse Controller); then, preprocessing the acquired data, specifically including the following steps:
(1) extracting the processes of clicking, dragging and releasing the slider from the recorded mouse track, and converting the data format into a csv text file;
(2) converting the absolute coordinate of the mouse movement into a relative coordinate of the mouse movement, wherein the coordinate of the first point is (0, 0);
(3) converting time sampling from a system absolute clock period to milliseconds, wherein the sampling time point of a first point is 0 millisecond;
(4) and counting the maximum mouse displacement value and the maximum time consumption value of the data set, and performing data normalization.
2. Establishing an incidence relation characteristic of a mathematical model learning track total displacement and a track total consumption
3. A mathematical model is established to learn the characteristics of the non-uniform time sampling sequence of the recording track, as shown in fig. 3 (note: step 2 and step 3 can be regarded as LSTM front-end models, and step 2 and step 3 can also be mixed into one model).
The step 2 and the step 3 are LSTM front-end models, and can be modeled by LSTM in a unified way or by LSTM alone. The LSTM modeling is that a single full-output LSTM layer is added, and the displacement distance is used as a single input; the independent modeling is to establish 2 serial statistical models, the first model takes the displacement distance as input and outputs the total dragging time, and as shown in fig. 8, according to the relation between the manual dragging time of the slider and the displacement distance of the slider, the offline statistical model can be used for realizing the anthropomorphic simulation of the track time consumption. The second model takes total time consumption as input and a time sampling sequence as output, as shown in fig. 9, which shows the probability of non-uniform sampling points appearing in the manual recording track, for example, the probability of a sampling point appearing at 500 milliseconds is about 50%. With this information, a non-uniform sampling model can be implemented to make a time series random generator for generating an anthropomorphic trajectory time series.
2 specific embodiments are described herein, and the difference between the 2 schemes is that scheme 1 is a statistically based independent model and does not participate in back-end LSTM back propagation model parameter learning; scheme 2 is to use an additional layer of LSTM for modeling, which together with the back-end LSTM model performs back-propagation model parameter learning.
(front end LSTM) embodiment 1
With reference to fig. 3, the method first uses a Burr statistical model to model the correlation between the displacement distance and the dragging time consumption, that is, the model outputs the total time consumption a in milliseconds according to the Burr model.
Secondly, aiming at the acquired real person slider dragging data set, analyzing the statistical relation of the time sampling frequency of the real person slider dragging data set, and establishing a model for generating a time sampling sequence. In this step, firstly, a truncation-Rejection Method (truncation-Method) is adopted to select non-uniform sampling points in a time sequence, and then, for the sampling points which are determined to be selected, gaussian random numbers with specified mean values and variances are generated for specific sampling values (unit is millisecond) of the sampling points. This step will finally generate a non-uniform sampling time series (the total time consumption of this series is a) as input to the LSTM back-end model.
② LSTM front end implementation 2
This embodiment utilizes a layer of LSTM to model directly the input (displacement distance, time-consuming duration) to the output non-uniform sampling time series. All time step outputs of the LSTM layer are used as input of the LSTM rear end, the time step number is 55, and zero padding is insufficient.
With reference to fig. 3, the LSTM regression model is written using a tensflow framework, and the network architecture and the loss function thereof are customized and modified to adapt to the generation of variable-length slider dragging trajectories with different displacement distances and different dragging durations in slider verification code identification application. Firstly, the input of an LSTM model is forced to be brought into the length of an actual time sequence, and the output is full time step output; secondly, before the output layer is accessed, a dropout layer is added. The Dropout layer and the output layer are in full connection (full connected), a loss function is defined as MSE, the function is modified, and interference caused by zero-padding nodes to MSE calculation is eliminated according to the brought actual time sequence length information; and finally, adding a Leaky Relu activation function to the output layer, and matching with an Adam optimizer to perform back propagation learning of the model parameters.
4. A modified LSTM back-end regression model is established that is adaptable to non-uniformly sampled input timing and variable length timing data.
5. The model is trained to generate a slider track sequence, an example of the generation of an anthropomorphic slider dragging track is shown in fig. 10, and according to fig. 10, the degree of approximation of the slider track generated by a machine is higher than that of a real human slider track.
By adopting the sliding block track generation algorithm based on the LSTM model, the random generation of the anthropomorphic sliding block track is realized by deep learning and combining with the smooth function processing after track generation. The algorithm is different from the traditional slider track generation algorithm in that the algorithm can ensure that the passing rate of the slider track generation algorithm does not decrease with the increase of the number of tests while achieving high recognition passing rate.
The embodiment realizes high identification passing rate and high passing rate stability of the slider verification code by effectively combining the advantages. The technology of the patent fundamentally solves the problem of smart dynamic perception game testing of slider verification code identification, the technical effect of the method is not influenced by a specific slider page control writing mode of a slider verification code manufacturer and a front-end encryption and transmission mode of webpage application, the slider identification passing rate can reach more than 95%, and the attenuation is not caused along with the increase of the testing number.
Further, in one embodiment, there is also provided a server including: the automatic identification program of the slider verification code is configured to realize the following steps:
and (3) model training under the wire:
positioning modeling of a slide block notch and training of a model under a line: constructing a target detection model based on deep learning, calculating the coordinates of the center position of a slide block gap according to a background picture of the slide block gap, marking a rectangular marking frame, and performing supervised target detection model training;
modeling a slider dragging track and training a model under a line: establishing an LSTM front-end model and an LSTM rear-end regression model which is suitable for non-uniform sampling input time sequence and variable-length time sequence data according to a real person slider dragging track, and training the established LSTM front-end model and the LSTM rear-end regression model;
online model service:
accessing a target website through a browser automation technology, and triggering a slider verification code;
screenshot is carried out on the screen, and the screenshot is processed to obtain a background picture containing a slider picture and a slider notch;
executing a trained target detection model by taking a background picture of the slide block gap as input to obtain a coordinate of the center position of the slide block gap; calculating to obtain the displacement distance of the sliding block by combining the initial position of the sliding block;
executing the trained LSTM front-end model and the LSTM rear-end regression model to obtain a slider dragging track time sequence, namely a mouse moving track sequence;
and automatically controlling a mouse to click the sliding block, drag the sliding block and release the sliding block to a gap position through an XTEST interface of an X server or a mouse event file of a Linux operating system according to the sliding block dragging track time sequence to finish the automatic identification of the sliding block verification code.
In one embodiment, a computer-readable storage medium is provided, on which an automatic identification program of a slider authentication code is stored, the automatic identification program of the slider authentication code implementing the following steps when executed by a processor:
model training under the line:
positioning modeling of a slide block gap position and training of a model under a line: constructing a target detection model based on deep learning, calculating the coordinates of the center position of a slide block gap according to a slide block gap background picture, marking a rectangular marking frame, and carrying out supervised target detection model training;
modeling a slider dragging track and training a model under a line: establishing an LSTM front-end model and an LSTM rear-end regression model which is suitable for non-uniform sampling input time sequence and variable-length time sequence data according to a real person slider dragging track, and training the established LSTM front-end model and the LSTM rear-end regression model;
online model service:
accessing a target website through a browser automation technology, and triggering a slider verification code;
screenshot is conducted on the screen, and the screenshot is processed to obtain a background picture containing a slider picture and a slider notch;
executing a trained target detection model by taking a background picture of the slide block gap as input to obtain a coordinate of the center position of the slide block gap; calculating to obtain the displacement distance of the sliding block by combining the initial position of the sliding block;
executing the trained LSTM front-end model and the LSTM rear-end regression model to obtain a slider dragging track time sequence, namely a mouse moving track sequence;
and automatically controlling a mouse to click the slider, drag the slider and release the slider to a notch position through an XTEST interface of the X server or a mouse event file of a Linux operating system according to the slider dragging track time sequence to finish the automatic identification of the slider verification code.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above may be implemented by hardware instructions of a computer program, which may be stored in a non-volatile computer-readable storage medium, and when executed, may include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), Rambus (Rambus) direct RAM (RDRAM), direct bused dynamic RAM (DRDRAM), and bused dynamic RAM (RDRAM).
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent application shall be subject to the appended claims.

Claims (12)

1. The automatic identification method of the slider verification code is characterized by comprising two parts of off-line model training and on-line model service, wherein:
the off-line model training comprises the following steps:
positioning modeling of a slide block notch and training of a model under a line: constructing a target detection model based on deep learning, calculating the coordinates of the center position of a slide block gap according to a slide block gap background picture, marking a rectangular marking frame, and carrying out supervised target detection model training;
modeling a slider dragging track and training a model under a line: establishing an LSTM front-end model and an LSTM rear-end regression model which is suitable for non-uniform sampling input time sequence and variable-length time sequence data according to a real person slider dragging track, and training the established LSTM front-end model and the LSTM rear-end regression model;
the online model service comprises the following steps:
accessing a target website through a browser automation technology, and triggering a slider verification code;
screenshot is conducted on the screen, and the screenshot is processed to obtain a background picture containing a slider picture and a slider notch;
executing a trained target detection model by taking a background picture of the slide block gap as input to obtain a coordinate of the center position of the slide block gap; calculating to obtain the displacement distance of the sliding block by combining the initial position of the sliding block;
executing the trained LSTM front-end model and the LSTM rear-end regression model to obtain a slider dragging track time sequence, namely a mouse moving track sequence, which is as follows:
1) executing the well-trained LSTM front-end model of the online lower model training part by taking the slide block displacement distance D as input to obtain a non-uniform sampling time sequence t [ n ] with unit of millisecond;
2) preprocessing the time series t [ n ]: zero padding, normalization and data dimension conversion are included; wherein, normalization means normalizing the numerical value of t [ n ] to the interval of [0,1 ];
3) executing the LSTM back-end regression model trained by the on-line lower model training part by taking preprocessed t [ n ] as input to obtain an initial slider dragging track time sequence (x [ n ], y [ n ], t [ n ]), wherein x [ n ], y [ n ] respectively represent horizontal and vertical coordinates of the central position of the slider at the time of t [ n ], and the unit is relative pixel;
4) the initial slide block dragging track time sequence (x n y n, t n) is reverse normalized, the central position coordinate unit of the slide block is converted into the pixel point of the input picture coordinate domain, and the unit of t n is converted into millisecond;
5) aligning the initial slider dragging track time sequence through a stretching or compressing sequence to enable the final abscissa position x [ N ] of the slider dragging track time sequence to be equal to the slider displacement distance D, wherein N represents the last sampling point;
6) approximating the time sequence numerical value of the slider dragging track after the alignment treatment to be an integer;
7) and returning a difference calculation result (x _ t, y _ t, t) as a final slider dragging track time sequence, wherein the difference calculation specifically comprises the following steps: x _ t ═ x [ n ] -x [ n-1], y _ t ═ y [ n ] -y [ n-1], t ═ t [ n ] -t [ n-1 ];
and automatically controlling a mouse to click the slider, drag the slider and release the slider to a notch position through an XTEST interface of the X server or a mouse event file of a Linux operating system according to the slider dragging track time sequence to finish the automatic identification of the slider verification code.
2. The method for automatically identifying a slider verification code according to claim 1, wherein before automatically controlling a mouse to click, drag and release a slider to a gap position through an XTEST interface of an X server or a mouse event file of a Linux operating system according to a slider dragging trajectory time sequence, the method for automatically identifying a slider verification code further comprises:
and calling a sliding block track smoothing model for smoothing the generated sliding block dragging track time sequence.
3. The automatic identification method of the slider verification code according to claim 1 or 2, wherein the slider notch position positioning modeling and the off-line model training are as follows:
constructing a target detection model based on deep learning, and intercepting a background picture of a slide block notch to respectively perform general image processing and specific image processing; the general image processing comprises operations of scaling the image to a fixed size and balancing pixel values, and the general image processing result is used for inputting a deep learning target detection model; the targeted image processing is used for automatically labeling data of supervised learning, coordinates of the center position of a gap of a sliding block are calculated according to the targeted image processing result, and a rectangular frame is automatically identified and labeled, so that a supervised target detection model is provided for a target detection model, and therefore, the training of the supervised target detection model without manual data labeling is carried out; and finally, the trained target detection model is used for outputting the coordinates of the positioning rectangular frame of the slide block gap position and the central coordinates of the rectangular frame, namely the coordinates of the slide block gap central position.
4. The automatic identification method of the slider verification code according to claim 1 or 2, wherein the slider dragging trajectory modeling and the off-line model training are as follows:
recording a dragging track of a sliding block of a real person, and preprocessing the track of the sliding block; establishing an LSTM front-end model, and learning the incidence relation characteristics of the total displacement of the slide block track and the total track time consumption and the non-uniform time sampling sequence characteristics of the slide block track; establishing an improved LSTM back-end regression model to adapt to non-uniform sampling input time sequence and variable long-term sequence data; and training the established LSTM front-end model and the LSTM rear-end regression model for generating a slider dragging track time sequence.
5. The method for automatically identifying the slider verification code according to claim 1 or 2, wherein the background picture of the slider notch is used as input, a trained target detection model is executed, and coordinates of the center position of the slider notch are obtained; and calculating to obtain the displacement distance of the sliding block by combining the initial position of the sliding block, wherein the formula is as follows:
Figure FDA0003626291390000021
wherein D represents the displacement distance of the slide block, x is the abscissa of the central position of the notch of the slide block, and x 0 As initial abscissa of slider, W elm Inputting the width of the picture, W, for the target detection model snap The width of the screenshot is the unit of the above variables which are pixels;
when the initial position of the slide block is an indeterminate value, a template matching algorithm is adopted to independently calculate the initial position coordinate (x) of the slide block according to the slide block 0 ,y 0 )。
6. The method of claim 3, wherein the deep learning-based target detection model specifically adopts a YOLO or SSD deep learning model for supervised target detection model training, wherein:
the general image processing comprises the steps of carrying out single-color gray-scale image conversion and histogram equalization processing on a background picture of a slide block notch, and carrying out normalization to enable image pixels to be in a [0,1] interval;
the targeted image processing comprises the steps of carrying out monochrome gray-scale image conversion, ROI limitation and binarization processing on a background picture of a slide block gap, adopting first-order image gradient calculation, then utilizing the continuity of edge white continuous pixel points and the counting median of the coordinate positions of the white continuous pixel points to calculate to obtain the coordinate of the center position of the slide block gap, and further labeling a rectangular labeling frame at the position of the slide block gap, namely providing a supervised label for a target detection model.
7. The method for automatically identifying the slider verification code according to claim 4, wherein the slider dragging track modeling and the model under line training are performed by using an LSTM model, which is as follows:
acquiring real sliding block operation data by using mouse screen recording software;
preprocessing the acquired data;
carrying out LSTM front end model modeling, comprising two modes: one is to adopt an independent model based on statistics, the other is to adopt an additional layer of LSTM to carry out modeling, and the additional layer of LSTM and an LSTM rear-end regression model are together used for carrying out back propagation model parameter learning;
an improved LSTM back-end regression model is established, and the variable-length slider dragging tracks with different displacement distances and different dragging durations are generated by modifying the network architecture and the loss function.
8. The method for automatically identifying a slider verification code according to claim 7, wherein the preprocessing of the collected data comprises the following steps:
extracting the processes of clicking, dragging and releasing the slider from the recorded mouse track, and converting the data format into a csv text file;
converting the absolute coordinate of the mouse movement into a relative coordinate of the mouse movement, wherein the coordinate of the first point is (0, 0);
converting time sampling into milliseconds from a system absolute clock period, wherein the sampling time point of a first point is 0 millisecond;
and counting the maximum mouse displacement value and the maximum time consumption value of the data set, and performing data normalization.
9. The method for automatically identifying a slider verification code according to claim 7, wherein the LSTM front-end model modeling is performed by using a statistically based independent model, and specifically comprises the following steps:
modeling by utilizing a Burr statistical model aiming at the incidence relation between the displacement distance and the dragging time length, namely outputting the total time consumption A which accords with the Burr model by the model and has unit of millisecond;
analyzing the statistical relation of time sampling frequency aiming at the collected real person slider operation data set, and establishing a model for generating a time sampling sequence; in the step, firstly, a truncation method is adopted to select non-uniform sampling points of a time sequence, and then Gaussian random number generation of a specified mean value and variance is carried out according to specific sampling values of the selected sampling points; and finally, generating a non-uniform sampling time sequence with the total time consumption of A, and taking the non-uniform sampling time sequence as the input of an LSTM back-end regression model.
10. The method for automatically identifying a slider verification code according to claim 7, wherein the modeling of the LSTM front-end model is performed by using an additional layer of LSTM, and the additional layer of LSTM performs back-propagation model parameter learning together with the LSTM back-end regression model, specifically as follows:
an additional layer of LSTM is adopted to directly establish a model of input-output non-uniform sampling time sequence, the input of the layer of LSTM is displacement distance and dragging duration, and all time step outputs of the layer of LSTM are used as the input of an LSTM rear-end regression model.
11. The method for automatically identifying a slider verification code according to claim 7, 9 or 10, wherein the establishing of the improved LSTM back-end regression model is as follows:
firstly, the input of an LSTM model is forced to be brought into the length of an actual time sequence, and the output is full time step output;
secondly, before an output layer is accessed, a Dropout layer is added, the Dropout layer and the output layer are in full connection, a loss function is defined as MSE, the function is modified, and interference caused by zero-padding nodes in MSE calculation is eliminated according to the brought actual time sequence length information;
and finally, adding a Leaky Relu activation function to the output layer, and matching with an Adam optimizer to perform back propagation learning of the model parameters.
12. An automatic identification system for a slider validation code, comprising:
the X server starting module is used for loading the configuration file of the X server, starting the X server and starting the access authority of the X client;
the slider recognition program module is used for configuring a webpage browser starting option, loading a Selenium frame, operating a slider recognition algorithm to obtain a mouse track sequence, and controlling a mouse to click a slider, drag the slider and release the slider to a gap position through an XTEST interface of an X server or a mouse event file of a Linux operating system;
the slider identification program module specifically includes:
the model training unit is used for positioning modeling of the position of the gap of the slide block and training of the model under the line, modeling of the dragging track of the slide block and training of the model under the line,
the sliding block verification code triggering unit is used for accessing a target website and triggering a sliding block verification code;
the screen capture unit is used for capturing a screen to obtain a background picture containing a slide block picture and a slide block notch;
the sliding block displacement distance calculating unit is used for executing the trained target detection model to obtain the coordinates of the center position of the sliding block notch and calculating to obtain the sliding block displacement distance;
the slider dragging track sequence calculating unit is used for executing the trained LSTM front-end model and the LSTM rear-end regression model to obtain a slider dragging track sequence, namely a mouse track sequence, and the method specifically comprises the following steps:
1) executing the well-trained LSTM front-end model of the online lower model training part by taking the slide block displacement distance D as input to obtain a non-uniform sampling time sequence t [ n ] with unit of millisecond;
2) preprocessing the time series t [ n ]: zero padding, normalization and data dimension conversion are included; wherein, normalization refers to normalizing the value of t [ n ] to the interval of [0,1 ];
3) executing the LSTM back-end regression model trained by the on-line lower model training part by taking preprocessed t [ n ] as input to obtain an initial slider dragging track time sequence (x [ n ], y [ n ], t [ n ]), wherein x [ n ], y [ n ] respectively represent horizontal and vertical coordinates of the central position of the slider at the time of t [ n ], and the unit is relative pixel;
4) the initial slide block dragging track time sequence (x n y n, t n) is reverse normalized, the central position coordinate unit of the slide block is converted into the pixel point of the input picture coordinate domain, and the unit of t n is converted into millisecond;
5) aligning the initial slider dragging track time sequence through a stretching or compressing sequence to enable the final abscissa position x [ N ] of the initial slider dragging track time sequence to be equal to the slider displacement distance D, wherein N represents the last sampling point;
6) approximating the time sequence numerical value of the aligned slider dragging track to an integer;
7) and returning a difference calculation result (x _ t, y _ t, t) as a final slider dragging track time sequence, wherein the difference calculation specifically comprises the following steps: x _ t ═ x [ n ] -x [ n-1], y _ t ═ y [ n ] -y [ n-1], t ═ t [ n ] -t [ n-1 ];
and the mouse operation control unit is used for controlling the mouse to click, drag and release to the position of the gap of the slide block according to the slide block dragging track sequence so as to finish the automatic identification of the slide block verification code.
CN201911187735.9A 2019-11-28 2019-11-28 Automatic identification method and system for slider verification code Active CN111310156B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911187735.9A CN111310156B (en) 2019-11-28 2019-11-28 Automatic identification method and system for slider verification code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911187735.9A CN111310156B (en) 2019-11-28 2019-11-28 Automatic identification method and system for slider verification code

Publications (2)

Publication Number Publication Date
CN111310156A CN111310156A (en) 2020-06-19
CN111310156B true CN111310156B (en) 2022-08-19

Family

ID=71160108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911187735.9A Active CN111310156B (en) 2019-11-28 2019-11-28 Automatic identification method and system for slider verification code

Country Status (1)

Country Link
CN (1) CN111310156B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112016077B (en) * 2020-07-14 2024-03-12 北京淇瑀信息科技有限公司 Page information acquisition method and device based on sliding track simulation and electronic equipment
CN112905967A (en) * 2021-03-05 2021-06-04 杭州费尔斯通科技有限公司 Identification method of slider verification code
CN113257008B (en) * 2021-05-12 2022-06-21 兰州交通大学 Pedestrian flow dynamic control system and method based on deep learning
CN116821885B (en) * 2023-07-19 2024-02-20 企查查科技股份有限公司 Data acquisition method, device, computer equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729729A (en) * 2017-09-18 2018-02-23 北京知道未来信息技术有限公司 It is a kind of based on random forest slip identifying code automatically by method of testing
CN108287989A (en) * 2018-01-18 2018-07-17 北京科技大学 A kind of man-machine recognition methods of sliding identifying code based on track
CN108985041A (en) * 2018-05-17 2018-12-11 厦门二五八网络科技集团股份有限公司 A kind of identifying code identification input method and system based on sliding verifying
CN110009057A (en) * 2019-04-16 2019-07-12 四川大学 A kind of graphical verification code recognition methods based on deep learning
CN110266497A (en) * 2013-12-04 2019-09-20 腾讯科技(深圳)有限公司 Auth method, device, server, user terminal and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10495725B2 (en) * 2012-12-05 2019-12-03 Origin Wireless, Inc. Method, apparatus, server and system for real-time vital sign detection and monitoring
CN108154148A (en) * 2018-01-22 2018-06-12 厦门美亚商鼎信息科技有限公司 The artificial synthesis of training sample and the method for recognizing verification code based on the sample
CN110188761A (en) * 2019-04-22 2019-08-30 平安科技(深圳)有限公司 Recognition methods, device, computer equipment and the storage medium of identifying code
CN110493261B (en) * 2019-09-16 2021-07-27 腾讯科技(深圳)有限公司 Verification code obtaining method based on block chain, client, server and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266497A (en) * 2013-12-04 2019-09-20 腾讯科技(深圳)有限公司 Auth method, device, server, user terminal and storage medium
CN107729729A (en) * 2017-09-18 2018-02-23 北京知道未来信息技术有限公司 It is a kind of based on random forest slip identifying code automatically by method of testing
CN108287989A (en) * 2018-01-18 2018-07-17 北京科技大学 A kind of man-machine recognition methods of sliding identifying code based on track
CN108985041A (en) * 2018-05-17 2018-12-11 厦门二五八网络科技集团股份有限公司 A kind of identifying code identification input method and system based on sliding verifying
CN110009057A (en) * 2019-04-16 2019-07-12 四川大学 A kind of graphical verification code recognition methods based on deep learning

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
[Python3 网络爬虫开发实战] 8.2 - 极验滑动验证码的识别;崔庆才;《网页在线公开: https://cuiqingcai.com/7037.html》;20190802;第2-11页 *
STOCK PRICE PREDICTION USING LSTM,RNN AND CNN-SLIDING WINDOW MODEL;Sreelekshmy Selvin等;《网页在线公开:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8126078》;20171204;第1-5页 *
利用深度学习识别滑动验证码缺口位置;崔庆才丨静觅;《网页在线公开:https://zhuanlan.zhihu.com/p/91383875》;20191113;第2-8页 *
滑块式验证码的破解方法研究;朱林果;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190615(第6期);第4-65页 *

Also Published As

Publication number Publication date
CN111310156A (en) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111309222B (en) Sliding block notch positioning and dragging track generation method for sliding block verification code
CN111310156B (en) Automatic identification method and system for slider verification code
CN111310155B (en) System architecture for automatic identification of slider verification code and implementation method
US10901740B2 (en) Synthetic depth image generation from cad data using generative adversarial neural networks for enhancement
CN109684803B (en) Man-machine verification method based on gesture sliding
EP3796112B1 (en) Virtual vehicle control method, model training method, control device and storage medium
CN111160569A (en) Application development method and device based on machine learning model and electronic equipment
CN111931179B (en) Cloud malicious program detection system and method based on deep learning
CN111428448B (en) Text generation method, device, computer equipment and readable storage medium
US20210165640A1 (en) Accelerating Application Modernization
CN111951154B (en) Picture generation method and device containing background and medium
CN111291773A (en) Feature identification method and device
JP2023526899A (en) Methods, devices, media and program products for generating image inpainting models
CN117132763A (en) Power image anomaly detection method, device, computer equipment and storage medium
CN114639152A (en) Multi-modal voice interaction method, device, equipment and medium based on face recognition
Wu Expression recognition method using improved VGG16 network model in robot interaction
CN111198815A (en) User interface compatibility testing method and device
CN113283388B (en) Training method, device, equipment and storage medium of living body face detection model
CN106355066A (en) Face authentication method and face authentication device
CN115713669B (en) Image classification method and device based on inter-class relationship, storage medium and terminal
US11755688B2 (en) Apparatus and method for generating training data for a machine learning system
KR20230096901A (en) Method and Apparatus for Data Augmentation for Learning Autonomous Vehicle
KR102348368B1 (en) Device, method, system and computer readable storage medium for generating training data of machine learing model and generating fake image using machine learning model
US20210056247A1 (en) Pose detection of objects from image data
CN113628077A (en) Method for generating non-repeated examination questions, terminal and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant