Recruitment assisting method and system
By extracting gaze direction and calculating phase-locking index from interview videos, the problem of misjudgment in the final stage of the interview in the recruitment system is solved, achieving robust behavior differentiation and quantitative evaluation.
Patent Information
- Application Number
- CN202511613767.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-06
- Publication Date
- 2026-02-03
AI Technical Summary
Existing recruitment systems struggle to accurately distinguish between normal interview behavior and AI-assisted interview behavior at the end of the interview process, especially under conditions of unstable time and sparse sample size, resulting in a high misjudgment rate.
By acquiring continuous image frames and timestamps from the answering video, the gaze direction sequence is calculated, the final saccade events are filtered, the gaze direction is extracted using a convolutional neural network, and the phase lock index is calculated using circular statistical methods to evaluate the significance and determine the risk.
It has achieved robust and quantifiable differentiation between normal interview behavior and AI-assisted interview behavior under different device and network environments, reducing the false judgment rate.
Smart Images

Figure CN121459243A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of recruitment video analysis technology, and more specifically, to a recruitment assistance method and system. Background Technology
[0002] With the digitalization of corporate recruitment and university admission processes, online interview systems have widely replaced traditional face-to-face interviews. Candidates answer questions via webcam, and the platform automatically records the responses for review. To improve fairness, many systems display a visible countdown timer at the end of each question, a design that often leads candidates to naturally look at the time at the end of their answers. Researchers and manufacturers have attempted to utilize this eye movement rhythm to verify the candidate's focus and authenticity. However, early methods primarily relied on static images or simple inter-frame displacement calculations, ignoring instabilities and sampling jitter along the video timeline, thus making it difficult to obtain consistent results under different device or network conditions.
[0003] In recent years, with the widespread adoption of intelligent prompting tools and real-time voice suggestion systems, some test-takers are able to maintain a nearly uninterrupted forward gaze in front of the camera using assistive programs. Traditional detection algorithms typically identify anomalies by judging whether the candidate stares at the camera for an extended period, but this strategy often misjudges in the final stages of a real interview. This is because, influenced by countdown prompts, normal test-takers exhibit periodic eye movements, while AI-assisted individuals may maintain an extremely stable gaze. Due to inconsistent frame rates in the video, timestamp offsets, and insufficient sample size caused by the short duration at the end, the system often experiences phase misalignment or statistical shifts when extracting eye movements, making it difficult to distinguish between natural and unnatural behaviors.
[0004] When online interview videos are captured on different devices, their timelines often accumulate errors at the microsecond level. For example, if a camera at 30 frames per second loses a few frames, it may lead to misjudgment of the timing of the final behavior. Furthermore, the effective duration of the final segment of an interview is generally only about 10 seconds, limiting the number of eye movement events that can be analyzed. If traditional mean-based statistics or models based on full-process data are still used, the results will be amplified by noise, making the evaluation results overly sensitive to device and network conditions. Summary of the Invention
[0005] This invention provides a recruitment assistance method and system that solves the technical problem of how to robustly distinguish between normal interview behavior and AI-assisted interview behavior within a limited time window, under conditions of unstable time and sparse samples, without relying on multimodal information.
[0006] Firstly, a recruitment assistance method includes: Get consecutive image frames and timestamps of each frame from the answer video at fixed time intervals; The system processes consecutive image frames and outputs a gaze direction sequence for each frame; the gaze direction sequence contains the orientation information of the gaze. The azimuth change of adjacent frames is calculated based on the line-of-sight direction sequence. The peak value of the azimuth change is located and processed to obtain the occurrence time and main direction of the saccade event, forming a saccade event time series. The final segment of events is extracted from the time sequence of scanning events according to the preset final segment time window. Combined with the preset direction range, amplitude threshold and time interval conditions, the final segment target direction scanning event set is obtained. The event occurrence times in the final target direction scan event set are mapped to phases according to a preset period, and the concentration of the phases is calculated using the circular statistical method to obtain the phase locking index. The phase-locking index is corrected and its significance is evaluated under preset statistical conditions. Risk assessment is based on the modified phase-locking index and the corresponding significance evaluation.
[0007] Secondly, a recruitment assistance system, applied in any of the recruitment assistance methods described above, includes: The data acquisition module acquires continuous image frames and timestamps of each frame from the answer video at fixed time intervals. The orientation information extraction module processes consecutive image frames and outputs a gaze direction sequence corresponding to each frame; wherein, the gaze direction sequence contains the orientation information of the gaze. The orientation information processing module calculates the azimuth change of adjacent frames based on the line-of-sight direction sequence, locates the peak of the azimuth change, and processes it to obtain the occurrence time and main direction of the scanning event, forming a scanning event time series. The scanning event filtering module extracts the last segment of events from the scanning event time sequence according to the preset end segment time window, and obtains the final segment target direction scanning event set by combining the preset direction range, amplitude threshold and time interval conditions. The phase-locking calculation module maps the event occurrence times in the final target direction scanning event set to phases according to a preset period, and calculates the concentration of the phases using the circular statistical method to obtain the phase-locking index. The phase-locking correction module corrects the phase-locking index and performs a significance evaluation under preset statistics. The risk assessment module assesses risk based on the modified phase-locked index and the corresponding significance evaluation.
[0008] The beneficial effects of this invention include: by constructing a process from azimuth angle change to phase mapping and then to circular statistical significance determination based on the gaze direction extracted by a convolutional neural network within the final time window of the interview response video, a quantification process from video frame-level behavior to temporal statistics is realized. This invention solves the error accumulation problems caused by frame rate fluctuations, time drift, and insufficient sample size from different acquisition devices by using a modified phase-locking index, and provides significance levels and risk grades, thereby obtaining unified, robust, and quantifiable judgment results in scenarios preventing AI-assisted responses. Attached Figure Description
[0009] Figure 1 This is a flowchart of a recruitment assistance method according to the present invention; Figure 2 This is a module diagram of a recruitment assistance system according to the present invention. Detailed Implementation
[0010] The subject matter described herein will now be discussed with reference to exemplary embodiments. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and implement the subject matter described herein, and changes may be made to the function and arrangement of the elements discussed without departing from the scope of this specification. Various processes or components may be omitted, substituted, or added as needed in the examples. Furthermore, features described in some examples may be combined in other examples.
[0011] Example 1 like Figure 1 As shown, a recruitment assistance method includes: Get consecutive image frames and timestamps of each frame from the answer video at fixed time intervals; The system processes consecutive image frames and outputs a gaze direction sequence for each frame; the gaze direction sequence contains the orientation information of the gaze. The azimuth change of adjacent frames is calculated based on the line-of-sight direction sequence. The peak value of the azimuth change is located and processed to obtain the occurrence time and main direction of the saccade event, forming a saccade event time series. The final segment of events is extracted from the time sequence of scanning events according to the preset final segment time window. Combined with the preset direction range, amplitude threshold and time interval conditions, the final segment target direction scanning event set is obtained. The event occurrence times in the final target direction scan event set are mapped to phases according to a preset period, and the concentration of the phases is calculated using the circular statistical method to obtain the phase locking index. The phase-locking index is corrected and its significance is evaluated under preset statistical conditions. Risk assessment is based on the modified phase-locking index and the corresponding significance evaluation.
[0012] In one embodiment of the present invention, processing consecutive image frames and outputting a gaze direction sequence corresponding to each frame includes: The k-th frame image is acquired, and the face region in the k-th frame image is detected by the face detector. The left eye region and the right eye region in the k-th frame image are obtained by the eye detector based on the k-th frame image and the face region. In the k-th frame image, the corresponding image portions of the left and right eye regions are cropped out, and an affine transformation is performed on the cropped image portions to obtain the aligned eye images; The aligned eye image is input into a convolutional neural network regression model to obtain a three-dimensional gaze vector; the three-dimensional gaze vector is then normalized to obtain a unit three-dimensional gaze direction. Extract the planar component from the unit three-dimensional viewing direction. The planar component includes an x-direction component and a y-direction component. Calculate the projection direction based on the x-direction component and the y-direction component. Calculate the azimuth angle based on the projection direction. Associate the unit three-dimensional viewing direction and the azimuth angle to form the viewing direction information corresponding to the k-th frame image. The gaze direction information corresponding to each frame of the image is arranged in frame order to generate a gaze direction sequence.
[0013] The k-th frame is a single static image extracted from the answer video at fixed time intervals (e.g., one frame is extracted every 33 milliseconds, corresponding to a frame rate of 30 frames per second), where k is the frame number (incrementing from 1).
[0014] A face detector is an algorithmic model used to locate faces in an image. It needs to output the rectangular coordinates of the face region (x and y coordinates of the top left corner, width, and height). Specifically, MTCNN (Multi-Task Cascaded Convolutional Neural Network) is selected as the face detector. The first step is to scale the k-th frame image to generate image pyramids of different scales. The second step is to use the first-stage convolutional network to filter out possible face candidate boxes. The third step is to use the second and third-stage networks to correct the position of the candidate boxes and remove non-face boxes, finally outputting the rectangular coordinates of the face region (e.g., x=100, y=80, width=200, height=200, in pixels).
[0015] It should be noted that the training process of MTCNN (Multi-Task Cascaded Convolutional Neural Network) is optimized in three stages. First, a training dataset (such as the Wideface face dataset, containing labeled face bounding boxes and 5 facial landmarks) needs to be prepared, and the data needs to be augmented (such as random cropping, flipping, grayscale transformation, and increasing data diversity). The first stage trains P-Net (Proposal Network), which takes a scaled small image (such as 12×12 pixels) as input and performs face / non-face binary classification and face bounding box regression as dual tasks, outputting preliminary face candidate boxes. The second stage trains R-Net (Refine Network), which takes the candidate box image that has been filtered by P-Net and then resized as input. For example, a 24×24 pixel image is trained for classification and bounding box regression tasks. Overlapping candidate boxes are removed using non-maximum suppression (NMS) to further filter and correct box positions. In the third stage, the O-Net (OutputNetwork) is trained, taking the candidate box image output by R-Net (e.g., 48×48 pixels) as input. In addition to classification and bounding box regression, a new task of locating facial key points (corners of the eyes, tip of the nose, corners of the mouth) is added. After NMS optimization again, the final output is an accurate face bounding box and key point coordinates. The Adam optimizer is used in all three stages of training, with the goal of minimizing the multi-task loss (classification loss uses cross-entropy, regression loss uses L2 loss, and key point loss uses L2 loss, summed according to weights) and iterating until the loss converges.
[0016] The face region is a rectangular region in the k-th frame image that contains a complete face, and its coordinates are output by the face detector.
[0017] The eye detector is an algorithm model that locates the left and right eyes within a face region. It needs to output the rectangular coordinates of the left and right eye regions. Specifically, the 68-point face feature detector from the Dlib library is selected. The first step is to detect 68 face feature points within the face region (e.g., point 36 for the left eye corner, point 39 for the left eye tail, point 42 for the right eye corner, and point 45 for the right eye tail). The second step is to take a rectangle enclosed by points 36-41 for the left eye region (the x-coordinate of the top left corner is the x-coordinate of point 36 minus 5, the y-coordinate is the y-coordinate of point 37 minus 5, the width is the x-coordinate of point 39 minus the x-coordinate of point 36 plus 10, and the height is the y-coordinate of point 41 minus the y-coordinate of point 37 plus 10). The right eye region is to take a rectangle enclosed by points 42-47 (calculated in the same way as the left eye), with the unit being pixels.
[0018] The left / right eye region is a rectangular area within the face region that includes the complete left / right eye, and its coordinates are output by the eye detector.
[0019] The cropped eye image portion is an image block extracted from the k-th frame image according to the coordinates of the left / right eye region. The size is determined by the size of the eye region (e.g., the left eye is 60x30 pixels after cropping). It needs to be cropped before performing an affine transformation.
[0020] Affine transformation is a geometric transformation that adjusts the angle and scale of the cropped eye image to ensure uniformity of the eye's position and angle across different frames (e.g., unifying the left eye's corner to the left side of the image and the outer corner to the right side), thus ensuring consistent input to the CNN model. Specifically, the first step involves selecting three feature points from the cropped left eye image (point 36: left eye corner, point 39: left eye outer corner, point 37: midpoint of the left upper eyelid). The second step is to set the target alignment position (target coordinates at the eye corner: x1=10, y1=15, target coordinates at the eye outer corner: x1=10, y1=15). The coordinates of the target point at the midpoint of the upper eyelid are x2=50, y2=15, x3=30, y3=10 (in pixels). The third step is to calculate the affine transformation matrix (by solving a system of linear equations, the transformation matrix multiplied by the three original feature points equals the target coordinates; the matrix is 2 rows and 3 columns, and the element values are calculated based on the original and target coordinates). The fourth step is to multiply the cropped eye image with the transformation matrix to obtain the aligned eye image (uniformly 60x30 pixels). The affine transformation steps for the right eye image are the same as for the left eye.
[0021] The aligned eye image is an eye image block with uniform position, angle, and size after affine transformation (e.g., uniformly 60x30 pixel grayscale image), which is the input of the CNN regression model.
[0022] The convolutional neural network regression model is a deep learning model used to predict the gaze direction from aligned eye images. The input is the aligned eye image, and the output is a 3D gaze vector. Specifically, the model structure is set as follows: Input layer (60x30x1, grayscale image) → First convolutional layer (32 3x3 convolutional kernels, stride 1, ReLU activation function) → Max pooling layer (2x2 pooling kernels, stride 2) → Second convolutional layer (64 3x3 convolutional kernels, stride 1, ReLU activation function) → Max pooling layer (2... x2 pooling kernel, stride 2) → Third convolutional layer (128 3x3 convolutional kernels, stride 1, activation function ReLU) → Fully connected layer 1 (512 neurons, activation function ReLU) → Fully connected layer 2 (3 neurons, no activation function, outputs 3D gaze vector); The model was trained using the GazeCapture dataset (containing eye images and corresponding real gaze vectors), the optimizer was Adam, the learning rate was 0.001, and iterations stopped when the validation set loss (mean squared error) was less than 0.01.
[0023] The three-dimensional gaze vector is a set of three values (e.g., x=0.2, y=-0.1, z=0.9) output by the CNN model, which describe the direction of the gaze. These values correspond to the components of the x, y, and z axes in three-dimensional space, respectively.
[0024] Normalization transforms the 3D view vector into a vector of length 1, eliminating the influence of vector length on direction determination and ensuring that only direction information is retained. Specifically, let the x-component of the 3D view vector be a, the y-component be b, and the z-component be c. The first step is to calculate the vector length: the length equals the square root of a squared plus the square root of b squared plus the square root of c squared. The second step is to calculate the normalized components: the unit x-component equals a divided by the length, the unit y-component equals b divided by the length, and the unit z-component equals c divided by the length. The unit 3D view direction is (unit x-component, unit y-component, unit z-component), and its length is 1.
[0025] The unit 3D view direction is a normalized 3D vector that contains only view direction information (length is 1).
[0026] The planar component is the projection component of the unit three-dimensional viewing direction onto the plane of the screen (assuming it is the xy plane, with the z-axis perpendicular to the screen and pointing towards the user). Only the x and y components are retained, and they are used to calculate the two-dimensional projection direction.
[0027] The projection direction is a two-dimensional direction vector composed of planar components (x and y components), reflecting the direction of the view on the screen plane; specifically, the projection direction is the planar component itself, that is, (x component of the unit three-dimensional view direction, y component of the unit three-dimensional view direction).
[0028] The azimuth angle is the angle between the projection direction and the horizontal rightward direction of the screen (positive x-axis direction). It is used to quantify the direction of the line of sight on the screen plane, ranging from 0 degrees to 360 degrees. Specifically, let the x-component of the projection direction be d and the y-component be e. The first step is to determine the signs of d and e: if d is greater than 0 and e is greater than 0, the azimuth angle is in the first quadrant; if d is less than 0 and e is greater than 0, it is in the second quadrant; if d is less than 0 and e is less than 0, it is in the third quadrant; if d is greater than 0 and e is less than 0, it is in the fourth quadrant. The second step is to calculate the angle value: first, calculate the arctangent value (the angle is equal to the arctangent of the absolute value of e divided by d, the result is 0 degrees to 90 degrees); the third step is to adjust the angle according to the quadrant: the first quadrant is the calculated angle, the second quadrant is 180 degrees minus the calculated angle, the third quadrant is 180 degrees plus the calculated angle, and the fourth quadrant is 360 degrees minus the calculated angle; finally, the azimuth angle (in degrees) is obtained.
[0029] The gaze direction information is the core feature of the k-th frame image, which includes the unit three-dimensional gaze direction (three-dimensional direction) and azimuth angle (two-dimensional plane angle).
[0030] The gaze direction sequence is a collection of gaze direction information for all frames arranged from 1 to K (K being the total number of frames) according to frame number k, forming gaze change data in the time dimension.
[0031] In one embodiment of the present invention, the azimuth change of adjacent frames is calculated based on the gaze direction sequence, the peak value of the azimuth change is located and processed to obtain the occurrence time and main direction of the saccade event, forming a saccade event time series, including: Obtain the azimuth angle of the k-th frame and the azimuth angle of the (k-1)-th frame in the line-of-sight sequence, and calculate the corresponding azimuth angle difference; process the azimuth angle difference through a circular mapping function, and use the processing result as the azimuth angle change between adjacent frames; wherein, the circular mapping function is used to map any real number to a bounded angle range; The azimuth changes of adjacent frames are smoothed using linear weights with a preset half-window length, and the sum of all linear weights is 1, resulting in smoothed azimuth changes. The positions that meet the following conditions in the smoothed azimuth changes are selected as peak positions: the smoothed azimuth change value of this position is not less than the smoothed azimuth change value of the previous frame, and not less than the smoothed azimuth change value of the next frame, and the smoothed azimuth change value is greater than a preset amplitude threshold. For each peak position, obtain the smoothed azimuth angle change value of the previous frame, the smoothed azimuth angle change value of the peak position, and the smoothed azimuth angle change value of the next frame. Calculate the peak position offset using parabolic interpolation. Obtain the frame timestamp corresponding to the peak position and the timestamp of the next frame. Combine the peak position offset to calculate the occurrence time of the scanning event corresponding to the peak position. For each peak position, within the range of each preset window length before and after the peak position, calculate the cumulative difference of the cosine value of the azimuth angle and the cumulative difference of the sine value of the azimuth angle respectively to obtain the planar component of the vector difference; calculate the main direction of the scanning event corresponding to the peak position based on the planar component of the vector difference. By associating the occurrence time of each saccade event with its corresponding main direction and arranging them in the order in which the saccade events occur, a saccade event time sequence is formed.
[0032] The azimuth difference is the result of subtracting the azimuth of the (k-1)th frame from the azimuth of the kth frame. It may exceed the range of -180 degrees to 180 degrees and needs to be processed by a ring mapping. Specifically, the azimuth difference is equal to the azimuth of the kth frame minus the azimuth of the (k-1)th frame.
[0033] The circular mapping function corrects the azimuth difference to a range of -180 degrees to 180 degrees, avoiding misjudgments of the difference caused by angles crossing 0 degrees / 360 degrees (e.g., from 350 degrees to 10 degrees, the difference should be 20 degrees instead of -340 degrees). Specifically, if the azimuth difference is greater than 180 degrees, the circular mapping result is equal to the azimuth difference minus 360 degrees; if the azimuth difference is less than -180 degrees, the circular mapping result is equal to the azimuth difference plus 360 degrees; if the azimuth difference is between -180 degrees and 180 degrees, the circular mapping result is equal to the azimuth difference. This result represents the azimuth change between adjacent frames.
[0034] The azimuth change between adjacent frames is the azimuth difference after ring mapping (unit: degrees, range: -180 to 180 degrees), reflecting the angular change in the line of sight between two frames.
[0035] The smoothing process uses a linearly weighted average of the azimuth changes between adjacent frames to reduce noise and preserve peak features. Specifically, the first step is to set a preset half-window length of 2 (i.e., the window includes the current frame, the previous 2 frames, and the next 2 frames, for a total of 5 frames); the second step is to assign linear weights of 1, 2, 3, 2, and 1 (the closer to the current frame, the greater the weight); the third step is to calculate the total weights as 9, and then divide each weight by 9 (normalization) to obtain the normalized weights; the fourth step is to calculate the azimuth change after smoothing as the sum of the azimuth changes of each frame multiplied by their corresponding normalized weights.
[0036] The preset half-window length is the number of frames on one side of the current frame in the smoothing window (excluding the current frame), which determines the size of the smoothing window. A value of 2-3 is recommended (corresponding to a total of 5-7 frames in the window). If the value is too small, the noise reduction will be insufficient; if it is too large, the blur peaks will be too large.
[0037] Linear weights are weighting coefficients for each frame within the smoothing window. They are allocated according to a linear rule that the closer to the current frame, the greater the weight. After normalization, the sum is 1, ensuring that the smoothing result has a reasonable amplitude.
[0038] The smoothed azimuth change is the azimuth change value (in degrees) after linear weighting. After noise reduction, it is easier to locate the peak.
[0039] The peak position is the frame number in the smoothed azimuth change sequence that meets the condition of a local maximum plus an over-amplitude threshold, corresponding to the coarse positioning frame of the scan event.
[0040] The preset amplitude threshold is the angle threshold for distinguishing saccade events (large eye movements) from small eye movements / noise. A value of 3-5 degrees is recommended. Values less than 3 degrees are prone to misjudging noise, while values greater than 5 degrees are prone to missing small-amplitude saccades.
[0041] Peak position offset is the offset value (range -0.5 to 0.5) that refines the peak position from the frame level to the sub-frame level, used to improve the accuracy of the scan event timing; specifically, let the peak position be m, the smoothing value of the previous frame (m-1) be a, the smoothing value of the peak frame (m) be b, and the smoothing value of the next frame (m+1) be c; the peak position offset is equal to (a minus c) divided by (2 multiplied by (a minus 2 times b plus c)).
[0042] The occurrence time of a saccade event is a precise subframe time (in seconds), reflecting the actual time when the saccade begins; specifically, the occurrence time of a saccade event is equal to the frame timestamp corresponding to the peak position plus (peak position offset multiplied by (the timestamp of the next frame minus the frame timestamp corresponding to the peak position)).
[0043] The preset window length is the number of frames (excluding the peak frame) on both sides of the peak position when calculating the main direction. A value of 2-3 is recommended to ensure that the full directional change of the scan event is covered.
[0044] The cumulative difference of azimuth cosine and azimuth sine values are the cumulative values of the overall directional changes of the quantified scanning event, avoiding single-frame noise interference. Specifically, let the peak position be m, and the preset window length be 2 (range m-2 to m+2 frames). The cumulative difference of azimuth cosine values is equal to (azimuth cosine value of m-2 frames minus azimuth cosine value of m frames) plus (azimuth cosine value of m-1 frames minus azimuth cosine value of m frames) plus (azimuth cosine value of m+1 frames minus azimuth cosine value of m frames) plus (azimuth cosine value of m+2 frames minus azimuth cosine value of m frames). The calculation method of the cumulative difference of azimuth sine values is the same as that of cosine values, but the cosine values need to be replaced with sine values.
[0045] The planar component of the vector difference is a two-dimensional vector composed of the cumulative difference of the cosine values of the azimuth angle (x component) and the cumulative difference of the sine values of the azimuth angle (y component), reflecting the overall directional trend of the scanning event.
[0046] The main direction of a saccade event is the angle of the overall direction of the saccade (in degrees, ranging from 0 to 360 degrees), reflecting the final direction of the gaze. Specifically, the first step is to calculate the initial angle of the main direction: equal to the arctangent value (range -90 to 90 degrees) of the y-component (cumulative sine difference) divided by the x-component (cumulative cosine difference) in the planar components of the vector difference. The second step is to adjust the angle according to the positive and negative signs of the x and y components: if x>0 and y>0 (first quadrant), the main direction is equal to the initial angle; if x<0 and y>0 (second quadrant), the main direction is equal to 180 degrees minus the initial angle; if x<0 and y<0 (third quadrant), the main direction is equal to 180 degrees plus the initial angle; if x>0 and y<0 (fourth quadrant), the main direction is equal to 360 degrees minus the initial angle.
[0047] A scan of the event time series is a set of events ordered by their occurrence time and the main direction of association.
[0048] In one embodiment of the present invention, the final segment of events is extracted from the time sequence of scanning events according to a preset final segment time window. Combined with preset direction range, amplitude threshold, and time interval conditions, a set of final segment target direction scanning events is obtained, including: Obtain the timestamps of all frames in the answer video and determine the largest timestamp as the end time of the answer video; obtain the preset end time window length and calculate the start time of the extraction by subtracting the end time window length from the end time; from the saccade event time series, filter out saccade events whose occurrence time is within the range of the start time to the end time of the extraction to form the initial set of the final events, where each saccade event includes the occurrence time, main direction and amplitude of the saccade event, and the amplitude is the absolute value of the smoothed azimuth angle change value of the peak position corresponding to the saccade event; Obtain the preset direction center angle and preset direction half-width; calculate the direction center angle minus the direction half-width to obtain the lower limit of the direction range; calculate the direction center angle plus the direction half-width to obtain the upper limit of the direction range; from the initial set of events in the last segment, filter out the scanning events in the main direction within the range from the lower limit to the upper limit of the direction range to form the scanning event set after direction range filtering. Obtain a preset amplitude threshold, and filter out scanning events with amplitudes greater than or equal to the amplitude threshold from the scanning event set after filtering by direction range to form a scanning event set after amplitude filtering; arrange the scanning event set after amplitude filtering in ascending order of the occurrence time of the scanning events to obtain a sorted scanning event list. The first scan event in the sorted scan event list is retained. Starting from the second scan event, the difference between the occurrence time of the current scan event and the occurrence time of the previously retained scan event is determined. If the difference is greater than or equal to the preset lower limit of the time interval, the current scan event is retained. All retained scan events are combined into a final target direction scan event set.
[0049] The timestamps of all frames in the answer video are the corresponding times (in seconds) recorded when the video was captured. For example, the timestamp of the first frame is 0 seconds and the timestamp of the second frame is 0.033 seconds (30 frames / second), which is the basis for determining the end time.
[0050] The end time is the timestamp (in seconds) of the last frame of the answer video, reflecting the overall duration of the video; specifically, the end time is equal to the maximum value among all the timestamps of all frames in the answer video.
[0051] The preset end-segment time window length is the duration (in seconds) of the final video segment where time pressure is strongest. A value of 12-15 seconds is recommended, based on the behavioral characteristics of candidates paying attention to the countdown at the end of online interviews.
[0052] The start time of the truncation is the start time (in seconds) of the end time window, used to filter the scanning events at the end of the segment; specifically, the start time of the truncation is equal to the end time minus the preset length of the end time window.
[0053] The initial set of events in the final segment is a collection of scan events whose occurrence time falls within the final segment time window. Each event includes its occurrence time, main direction, and magnitude.
[0054] The amplitude of a saccade event is the absolute value (in degrees) of the smoothed azimuth change at the peak position corresponding to the saccade event, reflecting the size of the saccade angle.
[0055] The preset center angle is the azimuth angle (in degrees) corresponding to the target direction (such as the countdown in the upper left corner of the online interview screen). Based on the Kira platform UI design, a value of 135 degrees (corresponding to the upper left corner of the screen) is recommended.
[0056] The preset directional half-width is the allowable angular deviation range (in degrees) of the target direction, used to accommodate individual line-of-sight deviations. A value of 25-35 degrees is recommended.
[0057] The lower limit of the direction range is the minimum angle (in degrees) of the target direction range, used to filter events whose main direction matches the countdown. Specifically, the lower limit of the direction range is equal to the preset direction center angle minus the preset direction half-width.
[0058] The upper limit of the direction range is the maximum angle (in degrees) of the target direction range, used to filter events whose main direction matches the countdown. Specifically, the upper limit of the direction range is equal to the preset direction center angle plus the preset direction half-width.
[0059] The set of scan events after directional range filtering is the set of events at the end of the main direction that fall within the lower limit to the upper limit of the directional range, focusing on the scan behavior of the countdown.
[0060] The set of scan events after amplitude filtering is the set of events after direction filtering that meets the amplitude standard (≥ amplitude threshold), excluding small amplitude noise events.
[0061] The sorted list of scan events is a set of events filtered by magnitude and arranged in ascending order of occurrence time.
[0062] The preset lower limit of the time interval is a time threshold (in seconds) to avoid the same scan being misjudged as multiple events. A value of 0.10-0.12 seconds is recommended. Events with a time interval less than this value are judged as duplicate records of the same scan.
[0063] The final target direction scan event set is a set of events filtered by four factors: final window, direction, amplitude, and time interval.
[0064] In one embodiment of the present invention, the occurrence times of events in the final target direction scanning event set are mapped to phases according to a preset period, and the concentration of the phases is calculated using a circular statistical method to obtain a phase locking index, including: Obtain the end time of the answer video and the preset end time window length. Calculate the difference between the end time and the end time window length as the end time start time. Count the total number of saccade events in the target direction saccade event set as the event count. For each scan event in the final target direction scan event set, obtain the occurrence time of the scan event; calculate the difference between the occurrence time of the scan event and the start time of the final segment, divide the difference by a preset period, take the decimal part of the calculation result to obtain the period normalized time; multiply the period normalized time by 2 times pi to obtain the phase corresponding to the scan event. Calculate the cosine value of the phase corresponding to all scan events in the target direction scan event set of the final segment, and take the arithmetic mean of all cosine values to obtain the phase cosine mean; calculate the sine value of the phase corresponding to all scan events, and take the arithmetic mean of all sine values to obtain the phase sine mean; calculate the sum of the square of the phase cosine mean and the square of the phase sine mean, and take the square root of the sum to obtain the phase locking index.
[0065] The number of events is the total number of events in the event set of the final target direction scan.
[0066] The preset period is a time base (in seconds) that maps the event moment to the phase. Considering the rhythm of the countdown in online interviews, a value of 1 second is recommended.
[0067] The period normalization time converts the event time into a dimensionless value in the 0-1 range to eliminate the influence of absolute time and focus on the time distribution within the period. Specifically, the period normalization time is equal to the difference between the occurrence time of the scanned event and the start time of the final segment, divided by the preset period, and the decimal part of the calculation result is taken (e.g., if the difference is 3.7 seconds and the period is 1 second, the decimal part is 0.7, that is, the period normalization time is 0.7).
[0068] Phase is an angle value (in radians) that maps the period-normalized time to the range of 0-2 times pi, used for circular statistical analysis; specifically, phase is equal to the period-normalized time multiplied by 2 times pi (e.g., if the period-normalized time is 0.7, the phase is 0.7 multiplied by 2 times pi, i.e., 1.4 times pi).
[0069] The phase cosine mean is the average of the phase cosine values of all events, reflecting the central tendency of the phase in the cosine dimension. Specifically, the first step is to calculate the cosine value of the phase of each scan event; the second step is to add all the cosine values together to get the sum of the cosine values; the third step is to calculate the phase cosine mean, which is equal to the sum of the cosine values divided by the number of events.
[0070] The phase sinusoidal mean is the average of the phase sinusoidal values of all events, reflecting the central tendency of the phase in the sinusoidal dimension. Specifically, the first step is to calculate the sinusoidal value of the phase of each scan event; the second step is to add all the sinusoidal values together to get the sum of the sinusoidal values; the third step is to calculate the phase sinusoidal mean, which is equal to the sum of the sinusoidal values divided by the number of events.
[0071] The phase lock index is a scalar (value 0-1) that quantifies phase concentration. The closer the value is to 1, the more concentrated the phase (the event is driven by a periodic rhythm), and the closer it is to 0, the more dispersed the phase. Specifically, the first step is to calculate the square of the cosine mean of the phase; the second step is to calculate the square of the sine mean of the phase; the third step is to add the two squared values to get the sum; and the fourth step is to make the phase lock index equal to the square root of the sum.
[0072] In one embodiment of the present invention, the phase-locking index is corrected and a significance evaluation is performed under a preset statistical condition, including: Obtain the phase lock index and the number of terminal target direction scan events; calculate the square of the phase lock index, and calculate the quotient of 1 divided by twice the number of terminal target direction scan events; calculate the difference between the square of the phase lock index and the quotient, and take the larger value between the difference and 0; take the square root of the larger value to obtain the corrected phase lock index. Calculate the product of the number of terminal target direction scan events and the square of the corrected phase-locking index, and use it as the significance statistic; calculate the natural exponential function value, where the independent variable of the natural exponential function value is the negative value of the significance statistic; calculate the difference between twice the significance statistic and the square of the significance statistic, and divide this difference by four times the number of terminal target direction scan events to obtain the correction term; calculate the sum of 1 and the correction term, and multiply this sum by the natural exponential function value to obtain the significance probability.
[0073] The square of the phase-locking index is an intermediate value for the correction calculation, eliminating the square root effect of the original index; specifically, the square of the phase-locking index is equal to the phase-locking index multiplied by the phase-locking index.
[0074] The quotient of 1 divided by twice the number of terminal target direction scan events is a small sample correction term used to offset the positive bias of the original phase lock index (the fewer the number of events, the more obvious the positive bias); specifically, the quotient is equal to 1 divided by (2 multiplied by the number of terminal target direction scan events).
[0075] The difference between the square of the phase-locking index and this quotient is the core intermediate value of the correction calculation, reflecting the square basis of the index after eliminating positive bias; specifically, this difference is equal to the square of the phase-locking index minus (1 divided by 2 times the number of end-target direction scan events).
[0076] The larger of the difference and 0 is used to avoid imaginary numbers in the corrected exponent (when the difference is negative, it means that the original exponent is too positively biased, and taking 0 ensures that the result is reasonable); specifically, if the difference is greater than 0, then the difference is taken; if the difference is less than or equal to 0, then 0 is taken.
[0077] The corrected phase-locking index is a phase concentration index (value 0-1) after eliminating positive bias in small samples, and is more suitable for cross-sectional comparison than the original index; specifically, the corrected phase-locking index is equal to the square root of the larger value.
[0078] The significance statistic is the core indicator for testing whether the phase is randomly distributed. The larger the value, the more likely the phase concentration is not random. Specifically, the significance statistic is equal to the number of terminal target direction scanning events multiplied by (the corrected phase lock index multiplied by the corrected phase lock index).
[0079] The natural exponential function value is the fundamental term for calculating significance probability. The natural exponential function is an exponential function with the natural constant (approximately 2.718) as the base. Specifically, the natural exponential function value is equal to the result with the natural constant as the base and (the negative value of the significance statistic) as the exponent.
[0080] The difference between twice the significance statistic and the square of the significance statistic is the basis for calculating the significance probability correction term, which is used to improve the calculation accuracy in small samples; specifically, this difference is equal to (2 multiplied by the significance statistic) minus (significance statistic multiplied by the significance statistic).
[0081] The correction term is a compensation term for the significance probability under small sample conditions, used to correct the approximation error of the Rayleigh test; specifically, the correction term is equal to (the difference between 2 times the significance statistic and the square of the significance statistic) divided by (4 multiplied by the number of terminal target direction scanning events).
[0082] The sum of 1 and the correction term is an intermediate factor in the calculation of significance probability, used to integrate the compensatory effect of the correction term.
[0083] The significance probability is the result of testing whether the phases are randomly distributed (values range from 0 to 1). The smaller the value, the more significant (non-random) the phase concentration is. Specifically, the significance probability is equal to (1 plus the sum of the correction terms) multiplied by the value of the natural exponential function.
[0084] In one embodiment of the present invention, risk determination is performed based on a modified phase-locking index and the corresponding significance evaluation, including: Set a low threshold, a high threshold, and a significance threshold, where the low threshold is less than the high threshold, the low threshold and the high threshold are both in the range of 0 to 1, and the significance threshold is in the range of 0 to 1. Define an indicator function that outputs 1 when the input condition is true and 0 when the input condition is false; Obtain the corrected phase-locking index and significance probability; When the corrected phase-locking index is less than the low threshold and the significance probability is greater than the significance threshold, the first risk judgment result is output. When the corrected phase-locking index is greater than or equal to the low threshold and less than or equal to the high threshold, and the significance probability is less than or equal to the significance threshold, the second risk judgment result is output. When the corrected phase-locked index is greater than the high threshold and the significance probability is less than or equal to the significance threshold, the third risk judgment result is output.
[0085] The low threshold is a critical value (ranging from 0 to 1) that distinguishes between weak (abnormal) phase lock and normal lock, and is used to identify suspicious behavior of almost not looking at the countdown. A value of 0.20 is recommended. Specifically, when the corrected phase lock index is <0.20, the phase dispersion is extremely high, which is consistent with the behavior characteristics of AI-assisted respondents who keep their eyes fixed on the camera and do not look at the time. The value is determined based on the phase concentration statistics of 'naturally looking at the time' in online interview scenarios (normal behavior index is mostly ≥0.20).
[0086] The high threshold is a critical value (ranging from 0 to 1, and > the low threshold) used to distinguish between normal lock and excessively strong (abnormal) phase lock. It is used to identify suspicious behavior with excessively strong rhythmic traction. A value of 0.70 is recommended. Specifically, when the corrected phase lock index is > 0.70, the phase concentration is too high, which is consistent with the abnormal behavior characteristics of saccades induced by an external metronome (such as a stopwatch). The value is determined based on the upper limit of phase concentration of natural examinees' second-level saccades (normal behavior index is mostly ≤ 0.70).
[0087] The significance threshold is a critical value (ranging from 0 to 1) for judging whether a phase set is non-random, used to exclude false positives from random phase sets; a value of 0.05 is recommended, specifically, the significance level commonly used in the field of statistical testing (when P ≤ 0.05, the phase set is considered non-random and the result is reliable); the value selection logic is compatible with the general standard of circular statistical testing, balancing the false positive rate and the false negative rate.
[0088] The first risk assessment result corresponds to a suspicious AI-assisted response. The behavioral characteristics are that the AI assistant hardly looks at the countdown in the upper left corner. That is, the correction index is less than the low threshold (e.g., less than 0.20), which indicates that the phase is extremely dispersed (no second-level rhythm). The significance probability is greater than the significance threshold (e.g., greater than 0.05), which indicates that the phase is concentrated but not significant (random behavior). This is consistent with the abnormal behavior of the AI assistant relying on the prompting tool and staring steadily at the camera.
[0089] The second risk assessment result corresponds to natural interview behavior. The behavioral characteristics are normal countdown timer viewing. That is, the correction index between the low threshold (0.20) and the high threshold (0.70) indicates that the phase concentration is reasonable (with a second-level rhythm but not excessive). The significance probability ≤0.05 indicates that the phase concentration is significant (non-random, driven by the countdown), which is consistent with the natural pattern of normal candidates occasionally looking at the time. The core is to associate natural behavior with the combination of quantitative indicators.
[0090] The third risk assessment result corresponds to a suspicious external rhythm induction. The behavioral characteristics are excessive lock countdown, that is, the correction index > high threshold (e.g., >0.70) indicates extremely concentrated phase (excessive second-level rhythm), and the significance probability ≤0.05 indicates significant phase concentration (non-random). This is consistent with the abnormality of using an external metronome (e.g., stopwatch) to induce saccades (artificially reinforced 1Hz rhythm). The core is to associate the excessive lock behavior with the combination of quantitative indicators.
[0091] Example 2 like Figure 2 As shown, a recruitment assistance system, applied in any of the recruitment assistance methods described above, includes: The data acquisition module acquires continuous image frames and timestamps of each frame from the answer video at fixed time intervals. The orientation information extraction module processes consecutive image frames and outputs a gaze direction sequence corresponding to each frame; wherein, the gaze direction sequence contains the orientation information of the gaze. The orientation information processing module calculates the azimuth change of adjacent frames based on the line-of-sight direction sequence, locates the peak of the azimuth change, and processes it to obtain the occurrence time and main direction of the scanning event, forming a scanning event time series. The scanning event filtering module extracts the last segment of events from the scanning event time sequence according to the preset end segment time window, and obtains the final segment target direction scanning event set by combining the preset direction range, amplitude threshold and time interval conditions. The phase-locking calculation module maps the event occurrence times in the final target direction scanning event set to phases according to a preset period, and calculates the concentration of the phases using the circular statistical method to obtain the phase-locking index. The phase-locking correction module corrects the phase-locking index and performs a significance evaluation under preset statistics. The risk assessment module assesses risk based on the modified phase-locked index and the corresponding significance evaluation.
[0092] The embodiments of this example have been described above. However, this example is not limited to the specific implementation methods described above. The specific implementation methods described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms based on the guidance of this example, and all of them are within the protection scope of this example.
Claims
1. A recruitment assistance method, characterized in that, include: Get consecutive image frames and timestamps of each frame from the answer video at fixed time intervals; The system processes consecutive image frames and outputs a gaze direction sequence for each frame; the gaze direction sequence contains the orientation information of the gaze. The azimuth change of adjacent frames is calculated based on the line-of-sight direction sequence. The peak value of the azimuth change is located and processed to obtain the occurrence time and main direction of the saccade event, forming a saccade event time series. The final segment of events is extracted from the time sequence of scanning events according to the preset final segment time window. Combined with the preset direction range, amplitude threshold and time interval conditions, the final segment target direction scanning event set is obtained. The event occurrence times in the final target direction scan event set are mapped to phases according to a preset period, and the concentration of the phases is calculated using the circular statistical method to obtain the phase locking index. The phase-locking index is corrected and its significance is evaluated under preset statistical conditions. Risk assessment is based on the modified phase-locking index and the corresponding significance evaluation.
2. The recruitment assistance method according to claim 1, characterized in that, Process consecutive image frames to output the gaze direction sequence corresponding to each frame, including: The k-th frame image is acquired, and the face region in the k-th frame image is detected by the face detector. The left eye region and the right eye region in the k-th frame image are obtained by the eye detector based on the k-th frame image and the face region. In the k-th frame image, the corresponding image portions of the left and right eye regions are cropped out, and an affine transformation is performed on the cropped image portions to obtain the aligned eye images; The aligned eye image is input into a convolutional neural network regression model to obtain a three-dimensional gaze vector; the three-dimensional gaze vector is then normalized to obtain a unit three-dimensional gaze direction. Extract the planar component from the unit three-dimensional viewing direction. The planar component includes an x-direction component and a y-direction component. Calculate the projection direction based on the x-direction component and the y-direction component. Calculate the azimuth angle based on the projection direction. Associate the unit three-dimensional viewing direction and the azimuth angle to form the viewing direction information corresponding to the k-th frame image. The gaze direction information corresponding to each frame of the image is arranged in frame order to generate a gaze direction sequence.
3. The recruitment assistance method according to claim 2, characterized in that, Based on the gaze direction sequence, the azimuth change of adjacent frames is calculated, the peak value of the azimuth change is located, and the occurrence time and main direction of the saccade event are obtained through processing, forming a saccade event time series, including: Obtain the azimuth angle of the k-th frame and the azimuth angle of the (k-1)-th frame in the line-of-sight sequence, and calculate the corresponding azimuth angle difference; process the azimuth angle difference through a circular mapping function, and use the processing result as the azimuth angle change between adjacent frames; wherein, the circular mapping function is used to map any real number to a bounded angle range; The azimuth changes of adjacent frames are smoothed using linear weights with a preset half-window length, and the sum of all linear weights is 1, resulting in smoothed azimuth changes. The positions that meet the following conditions in the smoothed azimuth changes are selected as peak positions: the smoothed azimuth change value of this position is not less than the smoothed azimuth change value of the previous frame, and not less than the smoothed azimuth change value of the next frame, and the smoothed azimuth change value is greater than a preset amplitude threshold. For each peak position, obtain the smoothed azimuth angle change value of the previous frame, the smoothed azimuth angle change value of the peak position, and the smoothed azimuth angle change value of the next frame. Calculate the peak position offset using parabolic interpolation. Obtain the frame timestamp corresponding to the peak position and the timestamp of the next frame. Combine the peak position offset to calculate the occurrence time of the scanning event corresponding to the peak position. For each peak position, within the range of each preset window length before and after the peak position, calculate the cumulative difference of the cosine value of the azimuth angle and the cumulative difference of the sine value of the azimuth angle respectively to obtain the planar component of the vector difference; calculate the main direction of the scanning event corresponding to the peak position based on the planar component of the vector difference. By associating the occurrence time of each saccade event with its corresponding main direction and arranging them in the order in which the saccade events occur, a saccade event time sequence is formed.
4. The recruitment assistance method according to claim 3, characterized in that, The final segment of events is extracted from the time sequence of scan events according to a preset final segment time window. Combined with preset directional range, amplitude threshold, and time interval conditions, a set of final segment target direction scan events is obtained, including: Obtain the timestamps of all frames in the answer video and determine the largest timestamp as the end time of the answer video; obtain the preset end time window length and calculate the start time of the extraction by subtracting the end time window length from the end time; from the saccade event time series, filter out saccade events whose occurrence time is within the range of the start time to the end time of the extraction to form the initial set of the final events, where each saccade event includes the occurrence time, main direction and amplitude of the saccade event, and the amplitude is the absolute value of the smoothed azimuth angle change value of the peak position corresponding to the saccade event; Obtain the preset direction center angle and preset direction half-width; calculate the direction center angle minus the direction half-width to obtain the lower limit of the direction range; calculate the direction center angle plus the direction half-width to obtain the upper limit of the direction range; from the initial set of events in the last segment, filter out the scanning events in the main direction within the range from the lower limit to the upper limit of the direction range to form the scanning event set after direction range filtering. Obtain a preset amplitude threshold, and filter out scanning events with amplitudes greater than or equal to the amplitude threshold from the scanning event set after filtering by direction range to form a scanning event set after amplitude filtering; arrange the scanning event set after amplitude filtering in ascending order of the occurrence time of the scanning events to obtain a sorted scanning event list. The first scan event in the sorted scan event list is retained. Starting from the second scan event, the difference between the occurrence time of the current scan event and the occurrence time of the previously retained scan event is determined. If the difference is greater than or equal to the preset lower limit of the time interval, the current scan event is retained. All retained scan events are combined into a final target direction scan event set.
5. The recruitment assistance method according to claim 4, characterized in that, The event occurrence times in the final target direction scan event set are mapped to phases according to a preset period. The concentration of the phases is calculated using circular statistical methods to obtain the phase lock index, which includes: Obtain the end time of the answer video and the preset end time window length. Calculate the difference between the end time and the end time window length as the end time start time. Count the total number of saccade events in the target direction saccade event set as the event count. For each scan event in the final target direction scan event set, obtain the occurrence time of the scan event; calculate the difference between the occurrence time of the scan event and the start time of the final segment, divide the difference by a preset period, take the decimal part of the calculation result to obtain the period normalized time; multiply the period normalized time by 2 times pi to obtain the phase corresponding to the scan event. Calculate the cosine value of the phase corresponding to all scan events in the target direction scan event set of the final segment, and take the arithmetic mean of all cosine values to obtain the phase cosine mean; calculate the sine value of the phase corresponding to all scan events, and take the arithmetic mean of all sine values to obtain the phase sine mean; calculate the sum of the square of the phase cosine mean and the square of the phase sine mean, and take the square root of the sum to obtain the phase locking index.
6. The recruitment assistance method according to claim 5, characterized in that, The phase-locking index is corrected, and a significance evaluation is performed under preset statistical conditions, including: Obtain the phase lock index and the number of terminal target direction scan events; calculate the square of the phase lock index, and calculate the quotient of 1 divided by twice the number of terminal target direction scan events; calculate the difference between the square of the phase lock index and the quotient, and take the larger value between the difference and 0; take the square root of the larger value to obtain the corrected phase lock index. Calculate the product of the number of terminal target direction scan events and the square of the corrected phase-locking index, and use it as the significance statistic; calculate the natural exponential function value, where the independent variable of the natural exponential function value is the negative value of the significance statistic; calculate the difference between twice the significance statistic and the square of the significance statistic, and divide this difference by four times the number of terminal target direction scan events to obtain the correction term; calculate the sum of 1 and the correction term, and multiply this sum by the natural exponential function value to obtain the significance probability.
7. The recruitment assistance method according to claim 6, characterized in that, Risk assessment is based on the modified phase-locked index and the corresponding significance evaluation, including: Set a low threshold, a high threshold, and a significance threshold, where the low threshold is less than the high threshold, the low threshold and the high threshold are both in the range of 0 to 1, and the significance threshold is in the range of 0 to 1. Define an indicator function that outputs 1 when the input condition is true and 0 when the input condition is false; Obtain the corrected phase-locking index and significance probability; When the corrected phase-locking index is less than the low threshold and the significance probability is greater than the significance threshold, the first risk judgment result is output. When the corrected phase-locking index is greater than or equal to the low threshold and less than or equal to the high threshold, and the significance probability is less than or equal to the significance threshold, the second risk judgment result is output. When the corrected phase-locked index is greater than the high threshold and the significance probability is less than or equal to the significance threshold, the third risk judgment result is output.
8. A recruitment assistance system, applied in the recruitment assistance method according to any one of claims 1-7, characterized in that, include: The data acquisition module acquires continuous image frames and timestamps of each frame from the answer video at fixed time intervals. The orientation information extraction module processes consecutive image frames and outputs a gaze direction sequence corresponding to each frame; wherein, the gaze direction sequence contains the orientation information of the gaze. The orientation information processing module calculates the azimuth change of adjacent frames based on the line-of-sight direction sequence, locates the peak of the azimuth change, and processes it to obtain the occurrence time and main direction of the scanning event, forming a scanning event time series. The scanning event filtering module extracts the last segment of events from the scanning event time sequence according to the preset end segment time window, and obtains the final segment target direction scanning event set by combining the preset direction range, amplitude threshold and time interval conditions. The phase-locking calculation module maps the event occurrence times in the final target direction scanning event set to phases according to a preset period, and calculates the concentration of the phases using the circular statistical method to obtain the phase-locking index. The phase-locking correction module corrects the phase-locking index and performs a significance evaluation under preset statistics. The risk assessment module assesses risk based on the modified phase-locked index and the corresponding significance evaluation.