A method and system for testing the latency of an eye tracker based on motion trajectories
Patent Information
- Application Number
- CN202610735881.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-26
- Publication Date
- 2026-08-18
AI Technical Summary
[0003]鉴于以上技术问题,本发明提供了一种基于运动轨迹的眼动追踪器延迟测试方法及系统,解决现有眼动追踪器延迟测试中眼动类型单一、真实运动轨迹与追踪输出轨迹采样不一致、以及静止与运动状态切换阶段延迟难以准确评价的问题
本发明通过人眼模拟设备生成包含注视与运动转换过程的可控运动轨迹,并在统一时间基准下同步采集真实轨迹数据和待测眼动追踪器输出轨迹数据,能够减少不同设备采样不同步对延迟计算的影响。通过对轨迹数据进行状态识别和配对分段,使延迟计算围绕同一运动转换过程展开,避免不同轨迹段之间误匹配,提高测试结果的稳定性。通过将二维位置转换为能够表征位移进程的一维轨迹量,并分别计算运动边界延迟和运动过程延迟,既能反映眼球从静止进入运动、从运动回到静止时的响应滞后,也能反映持续运动过程中的追踪滞后,从而使测试结果更加贴近眼动追踪器的实际工作场景。通过对运动边界延迟和运动过程延迟进行一致性评价,可以区分待测设备在状态转换阶段和持续运动阶段的延迟表现是否一致,在差异较大时分别输出不同阶段的延迟指标,避免用单一平均延迟掩盖设备在关键状态切换时的响应缺陷,从而提高眼动追踪器延迟测试的准确性、可重复性和评价完整性。
Smart Images

Figure CN122594924A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of eye-tracking technology, and in particular to a method and system for testing the delay of an eye tracker based on motion trajectory. Background Technology
[0002] Eye trackers are used to acquire the fixation point position or gaze direction during eye movements. Their output typically exhibits a time delay relative to actual eye movements, which affects the response accuracy of interactive displays, virtual reality, human-computer interaction, visual training, and detection systems. Existing delay testing methods include two approaches: one relies on subjects performing saccades in a specific direction and using external physiological signals or auxiliary equipment to estimate the time difference. However, this method is significantly affected by individual differences, movement stability, and eye movement type limitations, making it difficult to comprehensively reflect the delay performance of eye trackers in different motion scenarios. Another approach uses eye simulation devices to provide controllable motion trajectories, improving test repeatability. However, in actual testing, the sampling frequency, sampling time, and spatial location of the actual trajectory data and the eye tracker output data are often inconsistent. Relying solely on identical locations for time difference calculation can easily lead to insufficient matching points or significant fluctuations in the calculation results. Meanwhile, some eye trackers may predict, smooth, or compensate for the gaze point during movement, so that the delay they exhibit during continuous movement is not consistent with the delay when moving from rest to movement and when returning to rest from movement. This makes it difficult for a single delay metric to accurately reflect the true response characteristics of the device. Summary of the Invention
[0003] In view of the above technical problems, the present invention provides a method and system for testing the delay of an eye tracker based on motion trajectory, which solves the problems of single eye movement type, inconsistent sampling between the actual motion trajectory and the tracked output trajectory, and difficulty in accurately evaluating the delay during the transition between static and dynamic states in existing eye tracker delay tests.
[0004] Other features and advantages of the invention will become apparent from the following detailed description, or may be learned in part by practice of the invention.
[0005] According to one aspect of the present invention, a method for delay testing of an eye tracker based on motion trajectory is proposed, the method comprising: A communication connection is established between the human eye simulation device, the eye tracker under test, the time signal synchronization unit and the processing host. The time signal synchronization unit provides a unified time reference to the human eye simulation device and the eye tracker under test, and a test task is established in the processing host. The human eye simulation device is controlled to execute a calibration trajectory, causing the eye tracker under test to enter the tracking state; Generate a preset motion trajectory containing multiple gaze positions and multiple motion transition segments. The preset motion trajectory is used to control the mechanical eye of the human eye simulation device to sequentially and alternately perform static gaze and preset motion, so that each motion transition segment has a state structure that transitions from a gaze state to a motion state and then back to a gaze state. During the execution of the preset motion trajectory, the first trajectory data output by the human eye simulation device and the second trajectory data output by the eye tracker under test are synchronously collected with the unified time reference. Both the first trajectory data and the second trajectory data include the sampling time and two-dimensional position. The first trajectory data and the second trajectory data are respectively identified in terms of state. Based on the position and velocity change characteristics, the first trajectory data and the second trajectory data are divided into gaze segments and motion segments. Based on the time center of adjacent gaze segments and the motion segments sandwiched between adjacent gaze segments, the first trajectory data and the second trajectory data belonging to the same motion transition segment are paired into segments. For each of the paired segments, the two-dimensional position is transformed into a one-dimensional trajectory quantity that monotonically represents the displacement process along the current motion direction. The real motion start time, the tracking motion start time, the real motion end time, and the tracking motion end time are extracted from the one-dimensional trajectory quantity corresponding to the first trajectory data and the one-dimensional trajectory quantity corresponding to the second trajectory data. The motion boundary delay is calculated accordingly, and the motion boundary delay includes the motion start delay and the motion end delay. For each of the paired segments, multiple common displacement process positions are extracted between the actual motion start time and the actual motion end time. The first time when the first trajectory data arrives at each common displacement process position and the second time when the second trajectory data arrives at the same common displacement process position are determined respectively. The motion process delay is obtained by calculating the corresponding time difference. The consistency between the motion boundary delay and the motion process delay is evaluated, and the comprehensive delay test result of the eye tracker under test is output based on the consistency evaluation.
[0006] Furthermore, the preset motion trajectory is formed by combining motion primitives in the trajectory library. The trajectory library includes fixed-point gaze trajectory, horizontal straight-line saccade trajectory, vertical straight-line saccade trajectory, oblique straight-line saccade trajectory, curved continuous follow trajectory, and closed continuous follow trajectory. The motion primitives are configured according to the target position, dominant motion direction, motion amplitude, motion speed, and dwell time, so that the eye tracker under test can be tested for delay in scenarios of stationary to motion, motion to stationary, low-speed follow, and high-speed saccade.
[0007] Furthermore, the state recognition process includes: Obtain the lateral velocity component and the longitudinal velocity component, and then sum and take the square root of the square of the lateral velocity component and the longitudinal velocity component to obtain the composite velocity. Based on the velocity change and time interval between adjacent sampling moments, the lateral acceleration component and the longitudinal acceleration component are obtained respectively. The lateral acceleration component and the longitudinal acceleration component are squared respectively, summed and squared to obtain the composite acceleration. When identifying the motion segment, firstly, a continuous sampling interval in which the synthesized velocity meets a preset velocity condition is selected as a candidate interval. Then, adjacent candidate intervals in which the time interval meets a preset proximity condition are merged. The interval boundary is then expanded along the time direction based on the synthesized velocity and the synthesized acceleration. Finally, the interval in which the displacement change meets a preset distance threshold is identified as the motion segment. Valid continuous sampling intervals that are not identified as the motion segment are identified as the gaze segment.
[0008] Furthermore, the method also includes: Perform drift correction before the start of each test task; When coordinate sampling is lost in any of the paired segments and the proportion of missing samples exceeds the preset quality condition, the corresponding paired segment is marked as a low-confidence segment and excluded from the delay statistics summary.
[0009] Furthermore, the method also includes: For each of the paired segments, the one-dimensional trajectory quantity is obtained by projecting the two-dimensional position onto the current direction of motion, calculating the distance of the two-dimensional position relative to the reference gaze position, calculating the cumulative progress of the two-dimensional position along the preset trajectory, or calculating the normalized progress relative to the target trajectory, so that the first trajectory data and the second trajectory data can be compared in time at the common displacement process position.
[0010] Furthermore, the motion start delay is obtained by the lag between the tracked motion start time and the actual motion start time, and the motion end delay is obtained by the lag between the tracked motion end time and the actual motion end time. The start time of the actual motion, the start time of the tracked motion, and the end time of the actual motion are determined by the changing trend of the one-dimensional trajectory quantity; The motion process delay is obtained by selecting multiple common displacement process positions within the motion segment and performing mean, weighted mean, median, truncated mean, or robust statistical fusion on the time difference of each common displacement process position.
[0011] Furthermore, the consistency evaluation includes: When the difference between the motion boundary delay and the motion process delay meets the preset consistency condition, the average value of the two is used as the comprehensive delay performance index of the eye tracker under test. When the difference deviation exceeds the preset consistency condition, it is determined that the eye tracker under test has adopted a motion state prediction or trajectory smoothing algorithm, and its motion boundary delay in the state transition stage and motion process delay in the continuous motion stage are output independently respectively.
[0012] Furthermore, upon obtaining the comprehensive latency test results, a hardware performance extended evaluation process is executed; the extended evaluation extracts feature parameters reflecting the response accuracy of the eye tracker, including: the positional deviation between the device tracking output trajectory and the actual trajectory of the robotic eye, the ratio gain of the tracking speed to the set speed of the robotic eye, and the overshoot of the tracking trajectory at the moment of stopping motion; the feature parameters are used to comprehensively evaluate the spatial tracking fidelity of the eye tracker under test under different motion directions and speeds.
[0013] Furthermore, after executing the preset motion trajectory multiple times, the processing host groups the comprehensive delay test results according to trajectory type, motion direction, motion speed level, and trajectory amplitude level, and evaluates the significant differences in delay distribution between different speed and amplitude groups based on the nonparametric statistical test method of rank difference, generating a test report that includes segmented delay, boundary delay, process delay, consistency results, and delay fluctuation stability in different scenarios.
[0014] According to a second aspect of the present invention, a delay testing system for an eye tracker based on motion trajectory is provided, the system comprising: An initialization module is used to establish a communication connection between the human eye simulation device, the eye tracker under test, the time signal synchronization unit and the processing host, provide a unified time reference to the human eye simulation device and the eye tracker under test through the time signal synchronization unit, and establish a test task in the processing host. The device calibration module is used to control the human eye simulation device to execute the calibration trajectory, so that the eye tracker under test enters the tracking state; The trajectory control module is used to generate a preset motion trajectory containing multiple gaze positions and multiple motion transition segments. The preset motion trajectory is used to control the mechanical eye of the human eye simulation device to sequentially and alternately perform static gaze and preset motion, so that each motion transition segment has a state structure that transitions from a gaze state to a motion state and then back to a gaze state. The data acquisition module is used to synchronously acquire the first trajectory data output by the human eye simulation device and the second trajectory data output by the eye tracker under test at the same time reference during the execution of the preset motion trajectory. Both the first trajectory data and the second trajectory data include the sampling time and two-dimensional position. The identification and pairing module is used to identify the state of the first trajectory data and the second trajectory data respectively, divide the first trajectory data and the second trajectory data into gaze segments and motion segments according to the position and velocity change characteristics, and form paired segments of the first trajectory data and the second trajectory data belonging to the same motion transition segment according to the time center of adjacent gaze segments and the motion segments sandwiched between adjacent gaze segments. The boundary delay calculation module is used to transform the two-dimensional position of each paired segment into a one-dimensional trajectory quantity that monotonically represents the displacement process along the current motion direction. It extracts the real motion start time, the tracking motion start time, the real motion end time, and the tracking motion end time from the one-dimensional trajectory quantity corresponding to the first trajectory data and the one-dimensional trajectory quantity corresponding to the second trajectory data, and calculates the motion boundary delay accordingly. The motion boundary delay includes the motion start delay and the motion end delay. The process delay calculation module is used to extract multiple common displacement process positions between the actual motion start time and the actual motion end time for each of the paired segments, determine the first time when the first trajectory data arrives at each common displacement process position and the second time when the second trajectory data arrives at the same common displacement process position, and calculate the motion process delay by calculating the corresponding time difference. The evaluation and output module is used to evaluate the consistency between the motion boundary delay and the motion process delay, and output the comprehensive delay test result of the eye tracker under test based on the consistency evaluation.
[0015] The technical solution of the present invention has the following beneficial effects: This invention generates a controllable motion trajectory encompassing gaze and motion transitions using a human eye simulation device. It simultaneously collects real trajectory data and the output trajectory data of the eye tracker under test under a unified time reference, reducing the impact of asynchronous sampling from different devices on latency calculations. By performing state recognition and pairing segmentation on the trajectory data, latency calculations are centered around the same motion transition process, avoiding mismatches between different trajectory segments and improving the stability of test results. By converting two-dimensional positions into one-dimensional trajectory quantities that characterize the displacement process, and calculating motion boundary delay and motion process delay separately, it reflects both the response lag when the eye transitions from rest to motion and from motion back to rest, as well as the tracking lag during continuous motion, thus making the test results closer to the actual working scenario of the eye tracker. By evaluating the consistency of motion boundary delay and motion process delay, it distinguishes whether the latency performance of the device under test is consistent during the state transition phase and the continuous motion phase. When there are significant differences, delay indicators for different stages are output separately, avoiding the use of a single average delay to mask response defects during critical state transitions, thereby improving the accuracy, repeatability, and evaluation completeness of eye tracker latency testing. Attached Figure Description
[0016] Figure 1 This is a flowchart of a delay testing method for an eye tracker based on motion trajectory, as described in the embodiments of this specification. Figure 2 This is an example diagram of gaze point movement in the embodiments of this specification; Figure 3 This is a schematic diagram of the coordinate system for the first trajectory data and the second trajectory data in the embodiments of this specification; Figure 4 This is a structural block diagram of an eye-tracking delay testing system based on motion trajectory, as described in an embodiment of this specification. Detailed Implementation
[0017] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make the invention more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a full understanding of embodiments of the invention. However, those skilled in the art will recognize that the technical solutions of the invention may be practiced with one or more of these specific details omitted, or other methods, components, apparatus, steps, etc., may be employed. In other instances, well-known technical solutions are not shown or described in detail to avoid obscuring various aspects of the invention.
[0018] Furthermore, the accompanying drawings are merely illustrative of the invention. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0019] This invention provides a method for testing the latency of an eye tracker based on motion trajectory. (Refer to...) Figure 1 The diagram shown is a flowchart illustrating a motion trajectory-based eye tracker delay testing method according to an embodiment of the present invention. This method can be applied to electronic devices such as personal computers, servers, controllers, and display control boards. The method can be executed by a device, which can be implemented in software and / or hardware. Specifically, the method may include the following steps S101-S108: In step S101, a communication connection is established between the human eye simulation device, the eye tracker under test, the time signal synchronization unit and the processing host. The time signal synchronization unit provides a unified time reference to the human eye simulation device and the eye tracker under test, and a test task is established in the processing host.
[0020] After the human eye simulation device, the eye tracker under test, the time signal synchronization unit, and the processing host establish a communication connection, the processing host detects the communication status, data transmission channel, and time reference reception status of each device. The human eye simulation device generates mechanical eye movements according to the test task. The eye tracker under test collects the gaze point output formed during the mechanical eye movements. The time signal synchronization unit provides a unified time reference to both the human eye simulation device and the eye tracker under test, ensuring that the real trajectory data output by the human eye simulation device and the tracking trajectory data output by the eye tracker under test can be recorded in the same time frame. When establishing a test task, the processing host configures the test object identifier, trajectory execution parameters, sampling recording parameters, data storage path, and delay calculation parameters, and assigns task numbers for subsequent trajectory generation, synchronous acquisition, status recognition, pairing segmentation, and delay calculation. A unified time reference can be achieved using synchronization pulses, a unified clock signal, or timestamp calibration, ensuring that the sampling time generated by the human eye simulation device corresponds directly to the sampling time output by the eye tracker under test, or corresponds after conversion by the processing host, thereby reducing time deviations caused by independent timing by the devices. After the test task is established, the processing host records the operating status of the human eye simulation device, the tracking status of the eye tracker under test, and the synchronization status of the time signal synchronization unit as the initial state of the task, which serves as the basis for subsequent judgment of data validity and calculation of delay results.
[0021] In step S102, the human eye simulation device is controlled to execute a calibration trajectory, so that the eye tracker under test enters the tracking state.
[0022] The processing host sends calibration control commands to the human eye simulation device according to the test task, causing the mechanical eye of the simulation device to sequentially reach preset calibration positions and maintain a stable gaze at each position. The eye tracker under test (DUT) collects corresponding gaze point outputs when the mechanical eye is in a stable gaze state, and establishes a spatial mapping relationship between the actual gaze position of the mechanical eye and the gaze point positions it has collected, thus completing the tracking calibration before the test. The calibration trajectory can include the center position, horizontal boundary position, vertical boundary position, and oblique boundary position, or it can be set to multiple discrete gaze points according to the calibration requirements of the DUT, enabling the DUT to cover the detection area involved in the subsequent preset motion trajectory. During the calibration process, the processing host records the stabilization time and dwell time of the human eye simulation device at each calibration position, as well as the output validity of the DUT. When the DUT can continuously output valid gaze point data, and the deviation between the output position and the corresponding calibration position meets the preset calibration conditions, the DUT is determined to have entered the tracking state. If the output position deviation exceeds the preset calibration conditions, the processing host can re-control the human eye simulation device to execute the calibration trajectory, or update the calibration parameters and then check the tracking status again.
[0023] In step S103, a preset motion trajectory is generated, which includes multiple gaze positions and multiple motion transition segments. The preset motion trajectory is used to control the mechanical eye of the human eye simulation device to sequentially and alternately perform static gaze and preset motion, so that each motion transition segment has a state structure that transitions from a gaze state to a motion state and then back to a gaze state.
[0024] The preset motion trajectory is formed by combining motion primitives in the trajectory library. The trajectory library includes fixed-point gaze trajectory, horizontal straight-line saccade trajectory, vertical straight-line saccade trajectory, oblique straight-line saccade trajectory, curved continuous follow trajectory, and closed continuous follow trajectory. The motion primitives are configured according to the target position, dominant motion direction, motion amplitude, motion speed, and dwell time, so that the eye tracker under test can be tested for delay in scenarios of stationary to motion, motion to stationary, low-speed follow, and high-speed saccade.
[0025] like Figure 2 As shown, Figure 1This is one example of the process. In this process, the gaze position and timestamp recorded by a high-precision human eye simulation device and the gaze position and timestamp recorded by an eye tracker are sent to the processing host for storage via a time signal synchronization unit. The processing host generates a preset motion trajectory according to the test task and converts the preset motion trajectory into mechanical eye control commands executable by the human eye simulation device. The preset motion trajectory includes multiple gaze positions and multiple motion transition segments. Each motion transition segment uses one gaze position as the starting point and another gaze position as the ending point, with dwell times set at the starting and ending points respectively. This allows the mechanical eye to enter the preset motion state after maintaining a static gaze at one position, and then return to a static gaze state after reaching the target position. Through this trajectory structure, data on the static-to-motion, motion-to-static, and continuous motion stages can be generated during the same test process, providing a trajectory basis for subsequent calculations of motion boundary delay and motion process delay.
[0026] Preset motion trajectories can be formed by combining multiple motion primitives from a trajectory library. Motion primitives are basic trajectory units that can be directly executed by human eye simulation devices, including fixed-point gaze trajectories, horizontal straight-line scan trajectories, vertical straight-line scan trajectories, oblique straight-line scan trajectories, continuous curved follower trajectories, and closed continuous follower trajectories. Fixed-point gaze trajectories are used to keep the robotic eye stable at a specified gaze position; horizontal, vertical, and oblique straight-line scan trajectories are used to form rapid position transitions under different dominant motion directions; continuous curved follower trajectories are used to form following motions with continuously changing direction and velocity; and closed continuous follower trajectories are used to form periodic or cyclical motion processes. By combining different motion primitives, insufficient testing scenarios can be avoided by using only a single direction or a single motion form.
[0027] When configuring motion primitives, the processing host can set the target position, dominant motion direction, motion amplitude, motion speed, and dwell time for each motion primitive. The target position determines the spatial location the robotic eye needs to reach during the fixation phase or the end of the motion phase; the dominant motion direction characterizes whether the motion primitive primarily changes along a horizontal, vertical, oblique, or curved direction; the motion amplitude characterizes the displacement range of the robotic eye from the starting point to the ending point; the motion speed controls the rate of displacement change of the robotic eye within the motion segment; and the dwell time controls the duration the robotic eye remains stationary at the fixation position. By adjusting these parameters, test scenarios such as low-speed follow-up, high-speed saccades, small-amplitude movements, large-amplitude movements, and multi-directional movements can be created.
[0028] When generating a preset motion trajectory, the processing host can arrange multiple motion primitives sequentially according to the test task, and set the gaze position and dwell time between adjacent motion primitives, so that there is a clear static gaze interval between adjacent motion segments. This static gaze interval is used on the one hand to enable the eye tracker under test to form a stable output, and on the other hand to determine the time center of adjacent gaze segments in subsequent state recognition, thereby dividing the motion segment sandwiched between adjacent gaze segments into an independent motion transition segment. Thus, each motion transition segment has a recognizable starting gaze state, motion state, and ending gaze state, which facilitates the subsequent pairing and segmentation of the first trajectory data and the second trajectory data.
[0029] For linear scanning motion primitives, the processing host can determine the execution duration of the robotic eye's motion based on the starting position, ending position, motion amplitude, and motion speed, and enable the robotic eye to complete the displacement change along the current motion direction within that execution duration. For curved continuous follower trajectories and closed continuous follower trajectories, the processing host can generate a continuous target position sequence based on a preset trajectory shape, trajectory period, motion speed, and sampling interval, enabling the robotic eye to perform smooth motion according to the continuous target position sequence. The trajectory shape can cover horizontal, vertical, oblique, arc, and closed path forms, so as to observe the delay performance of the eye tracker under test under different motion directions and speed change conditions.
[0030] After the preset motion trajectory is generated, the processing host can assign a segment number to each motion transition segment and record the trajectory type, motion direction, motion amplitude, motion speed level, starting gaze position, ending gaze position, and dwell time corresponding to that motion transition segment. The above information serves as the basic parameters for subsequent synchronous acquisition, state recognition, pairing and segmentation, delay statistics, and report generation, enabling different motion transition segments in the same test task to be distinguished, compared, and summarized.
[0031] In step S104, during the execution of the preset motion trajectory, the first trajectory data output by the human eye simulation device and the second trajectory data output by the eye tracker under test are synchronously collected with the unified time reference. Both the first trajectory data and the second trajectory data include the sampling time and two-dimensional position.
[0032] The processing host initiates a synchronous data acquisition process when the preset motion trajectory begins execution, recording the output data of the human eye simulation device and the eye tracker under test using a unified time reference. The first trajectory data output by the human eye simulation device characterizes the actual motion trajectory formed by the robotic eye under the preset motion trajectory, while the second trajectory data output by the eye tracker under test characterizes its tracking result of the robotic eye's motion process. Both the first and second trajectory data include the sampling time and two-dimensional position. The two-dimensional position can be the lateral and longitudinal position of the gaze point in the test coordinate system, or it can be the unified coordinate position transformed by the processing host.
[0033] When collecting the first and second trajectory data, the processing host writes a timestamp for each sampling point under a unified time reference, enabling the sampling times in the first and second trajectory data to be compared on the same time axis. Since the human eye simulation device and the eye tracker under test may have different sampling frequencies, the number of sampling points and sampling times formed by them during the same movement need not be exactly the same. The processing host only requires that the data from both devices correspond to a unified time reference, thus providing a data foundation for subsequent time-based comparisons according to the trajectory progress.
[0034] The first trajectory data may include the target control position of the robotic eye, the actual feedback position, the sampling time, and a data validity marker. The target control position characterizes the desired motion position sent by the processing host to the human eye simulation device, and the actual feedback position characterizes the actual position of the robotic eye fed back by the human eye simulation device at the corresponding sampling time. When the human eye simulation device can output the actual feedback position, the processing host prioritizes using the actual feedback position as the two-dimensional position in the first trajectory data; when the human eye simulation device only outputs the target control position, the processing host can use the target control position as a reference position for the actual trajectory of the robotic eye.
[0035] The second trajectory data may include the gaze point position, sampling time, and data validity markers output by the eye tracker under test. Data validity markers are used to distinguish between normal tracking points, invalid tracking points, missing points, or low-confidence points, facilitating subsequent judgment of sampling loss and low-confidence segments. When saving the second trajectory data, the processing host can transform the coordinates of the original output of the eye tracker under test to a test coordinate system consistent with the first trajectory data, ensuring that both types of trajectory data have the same spatial representation basis.
[0036] During the execution of the preset motion trajectory, the processing host continuously receives and caches the first and second trajectory data according to the motion transition segments, and saves the sampling time, two-dimensional position, trajectory type, motion direction, motion speed level, and trajectory amplitude level in association. For the same test task, the processing host maintains consistency in the records of the data acquisition start time, trajectory execution start time, and trajectory execution end time to avoid missing motion transition segments due to delayed acquisition start or premature end. After the acquisition is completed, the processing host forms a trajectory dataset corresponding to the test task. This trajectory dataset serves as the data source for subsequent state recognition, pairing and segmentation, one-dimensional trajectory quantity conversion, and delay calculation.
[0037] In step S105, the first trajectory data and the second trajectory data are respectively identified in terms of state. Based on the position and velocity change characteristics, the first trajectory data and the second trajectory data are divided into gaze segments and motion segments. Based on the time center of adjacent gaze segments and the motion segments sandwiched between adjacent gaze segments, the first trajectory data and the second trajectory data belonging to the same motion transition segment are paired into segments.
[0038] The state recognition process includes: acquiring lateral velocity components and longitudinal velocity components; summing and taking the square root of the squares of the lateral velocity components and longitudinal velocity components to obtain a composite velocity; acquiring lateral acceleration components and longitudinal acceleration components based on the velocity changes and time intervals between adjacent sampling moments; summing and taking the square root of the squares of the lateral acceleration components and longitudinal acceleration components to obtain a composite acceleration; when identifying the motion segment, first selecting continuous sampling intervals where the composite velocity meets a preset velocity condition as candidate intervals; then merging adjacent candidate intervals where the time interval meets a preset proximity condition; expanding the interval boundaries along the time-sequential direction based on the composite velocity and composite acceleration; finally, confirming the intervals where the displacement changes meet a preset distance threshold as the motion segment; valid continuous sampling intervals not confirmed as the motion segment are confirmed as the gaze segment.
[0039] The processing host performs state recognition on the first trajectory data and the second trajectory data respectively, dividing the actual motion trajectory of the robotic eye and the output trajectory of the eye tracker under test into a fixation segment and a motion segment respectively. The fixation segment represents a continuous sampling interval in which the two-dimensional position remains relatively stable within a certain period of time, while the motion segment represents a continuous sampling interval in which the two-dimensional position changes continuously over time and the displacement changes reach a preset requirement. Since the sampling frequency, sampling time, and sampling quantity of the first trajectory data and the second trajectory data may be different, state recognition is performed independently for the two types of trajectory data, and then a pairing relationship is established under the same motion transition segment based on the time-position relationship.
[0040] During state recognition, the processing host obtains the lateral velocity component and the longitudinal velocity component based on the two-dimensional position of continuous sampling points or the velocity information output by the device, and calculates the synthesized velocity according to the following formula: ; in, Represents the lateral velocity component. The longitudinal velocity component is represented by v, which represents the synthesized velocity corresponding to the sampling point. The synthesized velocity is used to characterize the overall speed of motion of the robotic eye or tracking output at the current sampling moment, avoiding the omission of oblique or curvilinear motion processes when judging the motion state based on velocity in only a single direction.
[0041] The processing host calculates the lateral acceleration component and the longitudinal acceleration component based on the velocity change and time interval between adjacent sampling moments. The calculation method is as follows: ; ; in, This represents the change in the lateral velocity component between adjacent sampling times. This represents the change in the longitudinal velocity component between adjacent sampling times. Indicates the time interval between adjacent sampling times. Represents the lateral acceleration component. This represents the longitudinal acceleration component. The processing host further calculates the composite acceleration using the following formula: ; in, This represents the composite acceleration corresponding to the sampling point. Composite acceleration is used to characterize the intensity of change in the trajectory when it transitions from a stationary state to a moving state or from a moving state back to a gaze state, which helps to determine the boundary region of the motion segment.
[0042] When identifying motion segments, the processing host selects continuous sampling intervals where the synthesized velocity meets a preset velocity condition as candidate intervals. The preset velocity condition can be that the synthesized velocity is greater than a preset velocity threshold, or that the synthesized velocity continuously meets the motion determination requirements within a preset time period. For adjacent candidate intervals that are segmented due to short-term sampling fluctuations, trajectory jitter, or local loss of data, if the time interval between them meets a preset proximity condition, the processing host merges the adjacent candidate intervals into the same candidate interval to avoid the same motion process being incorrectly split.
[0043] After the candidate intervals are determined, the processing host expands the boundaries of the candidate intervals along the temporal direction. When expanding forward, the processing host searches from the starting point of the candidate interval towards earlier sampling points, combining the synthesized velocity and synthesized acceleration to determine the transition region before the start of the motion state; when expanding backward, the processing host searches from the ending point of the candidate interval towards later sampling points, combining the synthesized velocity and synthesized acceleration to determine the transition region after the end of the motion state. Through boundary expansion, the start-up and stop transition phases, which are difficult to cover by velocity thresholds alone, can be included within the motion segment range, making the subsequent motion boundary delay calculations more closely resemble the actual state transition process.
[0044] After the candidate interval is expanded by its boundaries, the processing host calculates the displacement change between the start and end points of the interval. When the displacement change meets a preset distance threshold, the interval is confirmed as a motion segment. The preset distance threshold is used to exclude pseudo-motion intervals caused by minor jitter, local noise, or invalid drift. Intervals that are not confirmed as motion segments but have continuous and valid sampling are confirmed as gaze segments. Gazing segments can include stable intervals where the robotic eye is in the target gaze position, or intervals where the output position of the eye tracker under test remains stable within a certain range.
[0045] After the first and second trajectory data are used to divide the fixation segment and motion segment respectively, the processing host determines the temporal position of the motion transition segment based on the temporal center of adjacent fixation segments. The temporal center of adjacent fixation segments can be calculated from the start and end times of the corresponding fixation segments and is used to characterize the stable center of the fixation segment on the time axis. For a motion segment sandwiched between two adjacent fixation segments, the processing host identifies it as a motion process corresponding to a motion transition segment and searches for a fixation segment and motion segment with corresponding temporal order and trajectory position in the first and second trajectory data.
[0046] The first and second trajectory data belonging to the same motion transition segment are grouped into paired segments. In a paired segment, the first trajectory data corresponds to the actual trajectory of the robotic eye from the previous gaze position into a motion state and to the next gaze position, while the second trajectory data corresponds to the tracking output of the eye tracker under test for the same motion transition process. Through paired segmentation, subsequent one-dimensional trajectory quantity conversion and delay calculation can be limited to the same motion transition segment, avoiding mismatches between different motion segments and reducing the impact of inconsistent sampling times on delay calculation.
[0047] In step S106, for each of the paired segments, the two-dimensional position is transformed into a one-dimensional trajectory quantity that monotonically represents the displacement process along the current motion direction. The real motion start time, the tracking motion start time, the real motion end time, and the tracking motion end time are extracted from the one-dimensional trajectory quantity corresponding to the first trajectory data and the one-dimensional trajectory quantity corresponding to the second trajectory data. Based on this, the motion boundary delay is calculated, which includes the motion start delay and the motion end delay.
[0048] Specifically, for each of the paired segments, the one-dimensional trajectory quantity is obtained by projecting the two-dimensional position onto the current direction of motion, calculating the distance of the two-dimensional position relative to the reference gaze position, calculating the cumulative progress of the two-dimensional position along the preset trajectory, or calculating the normalized progress relative to the target trajectory, so that the first trajectory data and the second trajectory data can be compared in time at the common displacement process position.
[0049] In this process, the processing host takes paired segments as the processing object and converts the two-dimensional positions in the first and second trajectory data into one-dimensional trajectory quantities, respectively. The two-dimensional positions include lateral and longitudinal positions, and the one-dimensional trajectory quantities are used to characterize the displacement process of the robotic eye or tracking output along the current direction of motion. For the same paired segment, the first and second trajectory data adopt the same one-dimensional transformation rule, making them comparable at the same displacement process scale.
[0050] In one implementation, when the current direction of motion can be determined by the starting gaze position and the ending gaze position, the processing host projects the two-dimensional position onto the current direction of motion. Let the unit vector of the current direction of motion be: ; in, This indicates the reference gaze position corresponding to the starting point of the movement. This indicates the target gaze position corresponding to the end point of the movement. The unit vector represents the current direction of motion. For any sampling point, its two-dimensional position is denoted as... The corresponding one-dimensional trajectory quantity can be represented as: ; in, This represents the one-dimensional trajectory formed by the i-th sampling point along the current direction of motion. In this way, horizontal, vertical, and diagonal linear motion can all be converted into a displacement process that changes monotonically along the direction of motion.
[0051] In another implementation, the processing host can calculate the distance of the two-dimensional position relative to the reference gaze position to obtain a one-dimensional trajectory. Let the two-dimensional position of the i-th sampling point be... The reference gaze position is Then the one-dimensional trajectory quantity can be represented as: ; in, and These represent the horizontal and vertical positions of the i-th sampling point, respectively. and These represent the lateral and longitudinal positions of the reference gaze position, respectively. This represents the displacement distance of the i-th sampling point relative to the reference gaze position. This method is suitable for trajectories where the direction of motion does not change in the opposite direction within each motion transition segment.
[0052] For continuous curved or closed continuous tracking trajectories, the processing host can generate a one-dimensional trajectory quantity based on the cumulative progress of the two-dimensional position along the preset trajectory. Let the continuous trajectory points corresponding to the sampling points on the preset trajectory be... Then the cumulative process can be represented as: ; in, This represents the k-th trajectory point on the preset trajectory. This represents the cumulative displacement progress from the starting position of the trajectory to the i-th trajectory point. By using the cumulative progress representation, curvilinear motion with continuously changing direction can also be converted into a one-dimensional trajectory quantity that progresses over time.
[0053] When it is necessary to eliminate the influence of different motion amplitudes on the results, the processing host can calculate the normalization progression relative to the target trajectory. Let the one-dimensional trajectory quantity corresponding to the current sampling point be... If the total displacement progress of the current motion transition segment is L, then the normalization progression can be expressed as: ; in, This represents the normalization progress level of the i-th sampling point, and its value characterizes the proportion of progress completed by the robotic eye or tracking output within the current motion transition segment. This method enables time comparison of motion transition segments of different magnitudes at a unified progress scale.
[0054] After obtaining the one-dimensional trajectory quantities corresponding to the first and second trajectory data, the processing host extracts the true motion start time, the tracking motion start time, the true motion end time, and the tracking motion end time based on the curve formed by the change of the one-dimensional trajectory quantities with the sampling time. The true motion start time is the boundary time when the one-dimensional trajectory quantity of the first trajectory data enters the motion state from the gaze state, and the tracking motion start time is the boundary time when the one-dimensional trajectory quantity of the second trajectory data enters the motion state from the gaze state. The true motion end time is the boundary time when the one-dimensional trajectory quantity of the first trajectory data returns from the motion state to the gaze state, and the tracking motion end time is the boundary time when the one-dimensional trajectory quantity of the second trajectory data returns from the motion state to the gaze state.
[0055] In one embodiment, after obtaining the one-dimensional trajectory quantity corresponding to the first trajectory data and the one-dimensional trajectory quantity corresponding to the second trajectory data, the processing host extracts four boundary moments based on the curve formed by the change of the one-dimensional trajectory quantity with the sampling time, such as... Figure 3 The data shown are a, b, c, and d. Let the actual start time of motion in the first trajectory data be... The starting time of the tracking motion in the second trajectory data is The actual end time of motion in the first trajectory data is The tracking motion in the second trajectory data ends at the time specified in the original text. The four boundary moments mentioned above can be determined based on the gradient changes of the one-dimensional trajectory quantities of adjacent sampling points, or by combining the boundaries of the gaze segment and motion segment obtained from state recognition. and The corresponding boundary for the actual movement initiation of the robotic eye and the boundary for the movement initiation recorded by the eye tracker under test. and The boundary between the actual end of movement of the mechanical eye and the boundary between the end of movement recorded by the eye tracker under test.
[0056] The motion start delay is expressed as: ; The delay in the end of the exercise is expressed as: ; The motion boundary synthesis delay is expressed as: ; Right now ; in, Indicates a delayed start to movement. Indicates a delayed end to the exercise. This represents the combined motion boundary delay. Using this calculation method, the response lag of the eye tracker under test during the transition from a stationary state to a moving state and back to a stationary state can be comprehensively included in the boundary delay evaluation, avoiding the need to evaluate the delay performance of the state transition phase based solely on a single start or end boundary.
[0057] In step S107, for each of the paired segments, multiple common displacement process positions are extracted between the actual motion start time and the actual motion end time. The first time when the first trajectory data arrives at each common displacement process position and the second time when the second trajectory data arrives at the same common displacement process position are determined respectively. The corresponding time difference is calculated to obtain the motion process delay.
[0058] The motion start delay is obtained by the lag between the tracking motion start time and the actual motion start time, and the motion end delay is obtained by the lag between the tracking motion end time and the actual motion end time. The actual motion start time, the tracking motion start time, the actual motion end time, and the tracking motion end time are determined by the changing trend of a one-dimensional trajectory quantity. The motion process delay is obtained by selecting multiple common displacement process positions within the motion segment and performing mean, weighted mean, median, truncated mean, or robust statistical fusion on the time difference of each common displacement process position. Drift correction is performed before the start of each test task. When coordinate sampling is lost in any of the paired segments and the proportion of missing samples exceeds the preset quality condition, the corresponding paired segment is marked as a low-confidence segment and excluded from the delay statistics summary.
[0059] In this process, the processing host determines the motion process delay between the start and end times of the actual motion, taking each paired segment as a unit. The motion process delay is used to characterize the time lag between the output trajectory of the eye tracker under test and the actual trajectory of the eye tracker when the robotic eye is in a continuous motion phase. Together with the motion boundary delay in step S106, it reflects the response characteristics of the eye tracker under test under different motion states.
[0060] The processing host selects the range between the actual start and end times of the motion within the one-dimensional trajectory corresponding to the first trajectory data, and sets multiple common displacement process positions within this range. These common displacement process positions can be selected at equal intervals according to the one-dimensional trajectory data, or proportionally according to the normalized progress level. By selecting comparison positions on the displacement process scale, the problem of not being able to directly calculate the time difference between the first and second trajectory data based on the same sampling points due to differences in sampling frequency and sampling time can be avoided.
[0061] Let N be the number of common displacement process positions selected within a paired segment, and let the i-th common displacement process position be... The first trajectory data arrived. The first moment is The second trajectory data arrives at the same The second moment is Then the time difference corresponding to the position of the i-th common displacement process can be expressed as: ; in, This represents the local process delay at the location of the i-th common displacement process. If A positive value indicates that the output time of the eye tracker reaching the displacement process position is later than the actual arrival time of the mechanical eye; if... A negative value indicates that the output of the eye tracker being tested is ahead of the actual movement of the mechanical eye.
[0062] When the location of the common displacement process does not coincide with the actual sampling point, the processing host can interpolate based on the one-dimensional trajectory data and sampling time of the adjacent sampling points on both sides of the common displacement process location to determine the first and second time points. Let a certain common displacement process location... Located in adjacent one-dimensional trajectory quantity and Between, the corresponding sampling times are t_m and Then the time of reaching the position of this common displacement process can be expressed as: ; in, Indicates the position where the trajectory reaches the common displacement process. The estimated arrival time can be determined using this interpolation method for both the first and second trajectory data, ensuring that time comparison does not depend on complete overlap of sampling points.
[0063] After obtaining the time differences corresponding to the positions of multiple common displacement processes, the processing host can calculate the motion process delay using the average method, expressed as: ; It can also be written as: ; in, This indicates the motion delay of the paired segment. This calculation method summarizes the time differences of multiple displacement processes within the continuous motion phase, which can reduce the impact of single sampling point errors, local noise, or instantaneous jitter on the delay result.
[0064] In one implementation, the processing host can further set weights based on the stability of the common displacement process position, sampling quality, or motion speed, and calculate the motion process delay using a weighted average. Let the weight corresponding to the i-th common displacement process position be... Then the delay in motion can be expressed as ; in, This is used to characterize the reliability of the corresponding time difference in statistical fusion. Locations with high sampling quality, stable trajectory changes, or velocity changes that meet the test conditions can be assigned higher weights; locations that are close to abnormal sampling, have local jitter, or have low-confidence outputs can be assigned lower weights.
[0065] In another implementation, the processing host can obtain the motion process delay using the median, truncated mean, or robust statistical fusion method. The median method is suitable for situations with a small number of abnormal time differences; the truncated mean method can average the time differences after removing the larger and smaller abnormal time differences; the robust statistical fusion method can reduce the impact of local missing points, short-term drift, or individual abnormal outputs on the motion process delay. All of the above statistical fusion methods are performed within the same paired segment of the motion segment, without changing the time comparison basis of the common displacement process position.
[0066] Before each test task begins, the processing host can perform drift correction. Drift correction is used to correct the fixed deviation of the eye tracker under test relative to the reference gaze position before the test begins, so that the subsequent first and second trajectory data are under a consistent spatial reference. The processing host can control the robotic eye to reach the preset reference gaze position and compare the deviation between the output position of the eye tracker under test and the reference gaze position. When the deviation meets the correction conditions, the deviation is used as a drift compensation amount for the subsequent second trajectory data; when the deviation exceeds the allowable correction range, the calibration trajectory can be re-executed or the current test task can be terminated. This processing is used to reduce the impact of spatial offset on the determination of the common displacement process position and the calculation of time difference.
[0067] After completing the pairing and segmentation, the processing host also performs a sampling quality assessment on each pairing segment. Coordinate sampling loss includes invalid coordinates, missing coordinates, continuous empty sampling, or low-confidence output in the first or second trajectory data. The processing host calculates the ratio between the number of coordinate sampling losses and the number of samples that should have been sampled within a pairing segment, obtaining the sampling loss ratio. When the sampling loss ratio exceeds a preset quality condition, the corresponding pairing segment is marked as a low-confidence segment and excluded from the latency statistics summary. Low-confidence segments can still be recorded in the test report to illustrate data quality, but they are not included in the statistical calculation of motion process latency, motion boundary latency, and overall latency test results, thereby avoiding distortion of latency results due to tracking loss or sampling anomalies.
[0068] In step S108, the consistency evaluation of the motion boundary delay and the motion process delay is performed, and the comprehensive delay test result of the eye tracker under test is output based on the consistency evaluation.
[0069] The consistency evaluation includes: when the difference between the motion boundary delay and the motion process delay meets the preset consistency condition, the average of the two is used as the comprehensive delay performance index of the eye tracker under test; when the difference exceeds the preset consistency condition, it is determined that the eye tracker under test uses a motion state prediction or trajectory smoothing algorithm, and its motion boundary delay in the state transition stage and motion process delay in the continuous motion stage are output independently respectively.
[0070] The processing host evaluates the consistency between motion boundary delay and motion process delay. Motion boundary delay characterizes the time difference between the output of the eye tracker under test and the actual motion when the robotic eye transitions from a stationary gaze state to a motion state and back to a stationary gaze state. Motion process delay characterizes the time difference between the output of the eye tracker under test and the actual motion when the robotic eye is in a continuous motion phase. By comparing the two types of delay, it can be determined whether the eye tracker under test exhibits consistent delay performance during state transition phases and continuous motion phases.
[0071] The processing host calculates the difference deviation based on the motion boundary delay and the motion process delay. The difference deviation is expressed as: ; Where D represents the difference deviation. Indicates motion boundary delay, This indicates a delay in the motion process. The difference deviation is used to measure the consistency between the delay of the state transition phase and the continuous motion phase. The smaller the difference deviation, the closer the delay performance of the two types of phases is; the larger the difference deviation, the more obvious the difference in delay performance between the two types of phases is.
[0072] When the difference in deviation meets the preset consistency condition, the processing host fuses the motion boundary delay and the motion process delay to obtain the comprehensive delay performance index of the eye tracker under test. When using the averaging fusion method, the comprehensive delay performance index is expressed as: ; in, This represents the overall latency performance index. This index considers latency performance during both the state transition phase and the continuous motion phase, and is suitable for test scenarios where the latency results for both types of events are similar.
[0073] When the discrepancy exceeds a preset consistency condition, the processing host no longer combines the motion boundary delay and motion process delay into a single delay index. Instead, it outputs the motion boundary delay during the state transition phase and the motion process delay during the continuous motion phase independently. This processing indicates that the response characteristics of the eye tracker under test when the mechanical eye transitions from a stationary gaze to a motion state and back to a stationary gaze state differ significantly from its response characteristics during the continuous motion phase. In this case, the processing host can generate state difference prompts to characterize whether the eye tracker under test may be affected by motion state prediction, trajectory smoothing algorithms, or state-related processing strategies, thereby avoiding masking delay changes during the state transition phase with a single average value.
[0074] When outputting the comprehensive latency test results, the processing host can record the motion start latency, motion end latency, motion boundary latency, motion process latency, difference deviation, and consistency evaluation results separately for each paired segment. For paired segments that meet the preset consistency conditions, the comprehensive latency performance index is output; for paired segments that do not meet the preset consistency conditions, the motion boundary latency during the state transition phase and the motion process latency during the continuous motion phase are output. Through this output method, the test results can provide both the overall latency level of the eye tracker under test and reflect its latency differences under different motion states.
[0075] In one embodiment, upon obtaining the comprehensive latency test results, a hardware performance extended evaluation process is executed; the extended evaluation extracts characteristic parameters reflecting the response accuracy of the eye tracker, including: the positional deviation between the device tracking output trajectory and the actual trajectory of the robotic eye, the ratio gain of the tracking speed to the set speed of the robotic eye, and the overshoot of the tracking trajectory at the moment of stopping motion; the characteristic parameters are used to comprehensively evaluate the spatial tracking fidelity of the eye tracker under test under different motion directions and speeds.
[0076] After obtaining the comprehensive latency test results, the processing host executes a hardware performance extended evaluation process. This process does not change the aforementioned latency calculation results, but rather, based on the first and second trajectory data generated by the same test task, further extracts feature parameters that reflect the response accuracy of the eye tracker under test, so that the test results can simultaneously reflect temporal response capability and spatial tracking capability.
[0077] The positional deviation between the output trajectory tracked by the device and the actual trajectory of the robotic eye can be calculated based on the corresponding sampling times or common displacement processes within the same motion transition segment. It characterizes the degree of spatial deviation between the output position of the eye tracker under test and the actual position of the robotic eye. A smaller positional deviation indicates that the eye tracker under test is more closely tracking the actual trajectory of the robotic eye; a larger positional deviation indicates a more significant offset between its output trajectory and the actual trajectory.
[0078] The ratio gain of the tracking speed to the set speed of the robotic eye is used to characterize the response ratio of the speed of change of the output trajectory of the eye tracker under test to the set motion speed of the robotic eye. When the ratio gain is close to the preset ideal value, it indicates that the eye tracker under test can reflect the speed change of the robotic eye well; when the ratio gain deviates from the preset ideal value, it indicates that its output trajectory may have insufficient speed response, speed response amplification, or speed change distortion caused by smoothing processing.
[0079] The overshoot of the tracking trajectory at the instant of motion cessation characterizes the degree to which the output trajectory of the eye tracker under test deviates from the target gaze position or stable position when the mechanical eye returns from a motion state to a gaze state. This characteristic parameter reflects the dynamic convergence capability of the eye tracker under test near the motion cessation boundary and is suitable for evaluating whether there are problems such as output overshoot, swayback, or long settling time during the state transition phase.
[0080] The processing host can statistically analyze the aforementioned characteristic parameters according to the direction and speed of motion. For example, it can calculate the corresponding positional deviation, ratio gain, and overshoot in scenarios such as horizontal linear saccades, vertical linear saccades, oblique linear saccades, continuous curve tracking, and closed continuous tracking. Through this hardware performance extension evaluation process, in addition to the comprehensive latency test results, the spatial tracking fidelity of the eye tracker under test under different motion directions and speeds can be obtained, thus enabling the test results to more completely reflect its dynamic response performance.
[0081] In one embodiment, after executing the preset motion trajectory multiple times, the processing host groups the comprehensive delay test results according to trajectory type, motion direction, motion speed level, and trajectory amplitude level, and evaluates the significant differences in delay distribution between different speed and amplitude groups based on the nonparametric statistical test method of rank difference, generating a test report that includes segmented delay, boundary delay, process delay, consistency results, and delay fluctuation stability in different scenarios.
[0082] After executing the preset motion trajectory multiple times, the processing host summarizes the latency data obtained from each test. The summarized objects can include the motion start latency, motion end latency, motion boundary latency, motion process latency, difference deviation, and comprehensive latency performance index for each paired segment. The processing host establishes group labels according to trajectory type, motion direction, motion speed level, and trajectory amplitude level, so that latency data in the same test scenario are grouped together, and latency data in different test scenarios are statistically analyzed separately.
[0083] The trajectory type distinguishes between fixed-point gaze trajectories, horizontal straight-line saccade trajectories, vertical straight-line saccade trajectories, oblique straight-line saccade trajectories, curved continuous follower trajectories, and closed continuous follower trajectories. The motion direction distinguishes between horizontal, vertical, oblique, curved, and closed-path directions. The motion speed level distinguishes between different speed scenarios such as low-speed follower, medium-speed motion, and high-speed saccade. The trajectory amplitude level distinguishes between small-amplitude, medium-amplitude, and large-amplitude motion scenarios. Through this grouping method, the processing host can determine whether the delay of the eye tracker under test is stable under different motion conditions, avoiding the acquisition of one-sided delay results from a single test or a single trajectory.
[0084] The processing host can assess the significant differences in delay distributions between different speed and amplitude groups based on a nonparametric statistical test of rank differences. This method does not require the delay data of each group to follow a normal distribution and is suitable for test scenarios where the delay data has a skewed distribution, outliers, or inconsistent sample sizes. In one implementation, the Kruskal-Wallis rank difference test is used, and the statistic is expressed as: ; Where H represents the rank difference statistic, G represents the number of groups, and N represents the total number of delayed data points included in the test. Indicates the first The number of delayed data in each group Indicates the first The processing host merges the delay data of each group, sorts them by rank, and calculates the statistic based on the average rank of each group. When the statistical test result meets the preset significance condition, it indicates that there is a significant difference in the delay distribution between different speed groups or amplitude groups; when the statistical test result does not meet the preset significance condition, it indicates that the difference in delay distribution between the corresponding groups has not reached the preset significance level.
[0085] When generating the test report, the processing host writes the segment delay, motion boundary delay, motion process delay, and consistency results for each paired segment into the corresponding test scenario. For test scenarios that meet the consistency conditions, the report records the comprehensive latency performance index; for test scenarios that do not meet the consistency conditions, the report records the motion boundary delay during the state transition phase and the motion process delay during the continuous motion phase, respectively. The processing host can also calculate the mean, median, dispersion, and fluctuation range of latency based on multiple test results within the same group, to characterize the latency fluctuation stability under different scenarios. Through this test report, the latency distribution characteristics of the eye tracker under test under different trajectory types, motion directions, motion speeds, and motion amplitudes can be displayed, providing a more complete data basis for evaluating the device's latency performance.
[0086] Based on the same line of thought, such as Figure 4The diagram shown is a structural block diagram of a motion trajectory-based eye tracker delay testing system according to an embodiment of the present invention. The system includes: The initialization module 201 is used to establish a communication connection between the human eye simulation device, the eye tracker under test, the time signal synchronization unit and the processing host, provide a unified time reference to the human eye simulation device and the eye tracker under test through the time signal synchronization unit, and establish a test task in the processing host. The device calibration module 202 is used to control the human eye simulation device to execute the calibration trajectory, so that the eye tracker under test enters the tracking state; The trajectory control module 203 is used to generate a preset motion trajectory containing multiple gaze positions and multiple motion transition segments. The preset motion trajectory is used to control the mechanical eye of the human eye simulation device to sequentially and alternately perform static gaze and preset motion, so that each motion transition segment has a state structure that transitions from a gaze state to a motion state and then back to a gaze state. Data acquisition module 204 is used to synchronously acquire the first trajectory data output by the human eye simulation device and the second trajectory data output by the eye tracker under test at the same time reference during the execution of the preset motion trajectory. The first trajectory data and the second trajectory data both include the sampling time and two-dimensional position. The identification and pairing module 205 is used to identify the state of the first trajectory data and the second trajectory data respectively, divide the first trajectory data and the second trajectory data into gaze segments and motion segments according to the position and velocity change characteristics, and form paired segments of the first trajectory data and the second trajectory data belonging to the same motion transition segment according to the time center of adjacent gaze segments and the motion segments sandwiched between adjacent gaze segments. The boundary delay calculation module 206 is used to transform the two-dimensional position of each paired segment into a one-dimensional trajectory quantity that monotonically represents the displacement process along the current motion direction, extract the real motion start time, the tracking motion start time, the real motion end time, and the tracking motion end time from the one-dimensional trajectory quantity corresponding to the first trajectory data and the one-dimensional trajectory quantity corresponding to the second trajectory data, and calculate the motion boundary delay accordingly. The motion boundary delay includes the motion start delay and the motion end delay. The process delay calculation module 207 is used to extract multiple common displacement process positions between the actual motion start time and the actual motion end time for each of the paired segments, determine the first time when the first trajectory data arrives at each common displacement process position and the second time when the second trajectory data arrives at the same common displacement process position, and calculate the motion process delay by calculating the corresponding time difference. The evaluation and output module 208 is used to evaluate the consistency between the motion boundary delay and the motion process delay, and output the comprehensive delay test result of the eye tracker under test based on the consistency evaluation.
[0087] The specific details of the above system have been described in detail in the method section of the implementation plan. For any undisclosed details, please refer to the implementation plan of the method section, and therefore will not be repeated here.
[0088] This system generates controllable motion trajectories encompassing gaze and motion transitions using a human eye simulation device. It synchronously collects real trajectory data and output trajectory data from the eye tracker under test under a unified time reference, reducing the impact of asynchronous sampling from different devices on latency calculations. By performing state recognition and pairing segmentation on the trajectory data, latency calculations are centered around the same motion transition process, avoiding mismatches between different trajectory segments and improving the stability of test results. By converting two-dimensional positions into one-dimensional trajectory quantities that characterize the displacement process, and calculating motion boundary delay and motion process delay separately, the system reflects both the response lag when the eye transitions from rest to motion and back to rest, as well as the tracking lag during continuous motion, making the test results closer to the actual working scenario of the eye tracker. Consistency evaluation of motion boundary delay and motion process delay distinguishes whether the latency performance of the device under test is consistent during state transitions and continuous motion. When significant differences exist, latency indicators for different stages are output separately, avoiding the use of a single average delay to mask response defects during critical state transitions, thereby improving the accuracy, repeatability, and completeness of eye tracker latency testing.
[0089] The above figures are merely illustrative of the processes included in the method according to exemplary embodiments of the present invention and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Furthermore, it is also readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0090] It should be noted that although several modules or units of the system have been mentioned in the detailed description above, this division is not mandatory. In fact, according to exemplary embodiments of the present invention, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0091] Other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of the invention are indicated by the claims.
[0092] It should be understood that the present invention is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A delay testing method for eye trackers based on motion trajectories, characterized in that, The method includes: A communication connection is established between the human eye simulation device, the eye tracker under test, the time signal synchronization unit and the processing host. The time signal synchronization unit provides a unified time reference to the human eye simulation device and the eye tracker under test, and a test task is established in the processing host. The human eye simulation device is controlled to execute a calibration trajectory, causing the eye tracker under test to enter the tracking state; Generate a preset motion trajectory containing multiple gaze positions and multiple motion transition segments. The preset motion trajectory is used to control the mechanical eye of the human eye simulation device to sequentially and alternately perform static gaze and preset motion, so that each motion transition segment has a state structure that transitions from a gaze state to a motion state and then back to a gaze state. During the execution of the preset motion trajectory, the first trajectory data output by the human eye simulation device and the second trajectory data output by the eye tracker under test are synchronously collected with the unified time reference. Both the first trajectory data and the second trajectory data include the sampling time and two-dimensional position. The first trajectory data and the second trajectory data are respectively identified in terms of state. Based on the position and velocity change characteristics, the first trajectory data and the second trajectory data are divided into gaze segments and motion segments. Based on the time center of adjacent gaze segments and the motion segments sandwiched between adjacent gaze segments, the first trajectory data and the second trajectory data belonging to the same motion transition segment are paired into segments. For each of the paired segments, the two-dimensional position is transformed into a one-dimensional trajectory quantity that monotonically represents the displacement process along the current motion direction. The real motion start time, the tracking motion start time, the real motion end time, and the tracking motion end time are extracted from the one-dimensional trajectory quantity corresponding to the first trajectory data and the one-dimensional trajectory quantity corresponding to the second trajectory data. The motion boundary delay is calculated accordingly, and the motion boundary delay includes the motion start delay and the motion end delay. For each of the paired segments, multiple common displacement process positions are extracted between the actual motion start time and the actual motion end time. The first time when the first trajectory data arrives at each common displacement process position and the second time when the second trajectory data arrives at the same common displacement process position are determined respectively. The motion process delay is obtained by calculating the corresponding time difference. The consistency between the motion boundary delay and the motion process delay is evaluated, and the comprehensive delay test result of the eye tracker under test is output based on the consistency evaluation.
2. The delay testing method for eye trackers based on motion trajectories according to claim 1, characterized in that, The preset motion trajectory is formed by combining motion primitives in the trajectory library. The trajectory library includes fixed-point gaze trajectory, horizontal straight-line saccade trajectory, vertical straight-line saccade trajectory, oblique straight-line saccade trajectory, curved continuous follow trajectory, and closed continuous follow trajectory. The motion primitives are configured according to the target position, dominant motion direction, motion amplitude, motion speed, and dwell time, so that the eye tracker under test can be tested for delay in scenarios of stationary to motion, motion to stationary, low-speed follow, and high-speed saccade.
3. The delay testing method for eye trackers based on motion trajectories according to claim 1, characterized in that, The state recognition process includes: Obtain the lateral velocity component and the longitudinal velocity component, and then sum and take the square root of the square of the lateral velocity component and the longitudinal velocity component to obtain the composite velocity. Based on the velocity change and time interval between adjacent sampling moments, the lateral acceleration component and the longitudinal acceleration component are obtained respectively. The lateral acceleration component and the longitudinal acceleration component are squared respectively, summed and squared to obtain the composite acceleration. When identifying the motion segment, firstly, a continuous sampling interval in which the synthesized velocity meets a preset velocity condition is selected as a candidate interval. Then, adjacent candidate intervals in which the time interval meets a preset proximity condition are merged. The interval boundary is then expanded along the time direction based on the synthesized velocity and the synthesized acceleration. Finally, the interval in which the displacement change meets a preset distance threshold is identified as the motion segment. Valid continuous sampling intervals that are not identified as the motion segment are identified as the gaze segment.
4. The delay testing method for eye trackers based on motion trajectories according to claim 1, characterized in that, The method further includes: Perform drift correction before the start of each test task; When coordinate sampling is lost in any of the paired segments and the proportion of missing samples exceeds the preset quality condition, the corresponding paired segment is marked as a low-confidence segment and excluded from the delay statistics summary.
5. The delay testing method for eye trackers based on motion trajectories according to claim 1, characterized in that, The method further includes: For each of the paired segments, the one-dimensional trajectory quantity is obtained by projecting the two-dimensional position onto the current direction of motion, calculating the distance of the two-dimensional position relative to the reference gaze position, calculating the cumulative progress of the two-dimensional position along the preset trajectory, or calculating the normalized progress relative to the target trajectory, so that the first trajectory data and the second trajectory data can be compared in time at the common displacement process position.
6. The delay testing method for eye trackers based on motion trajectories according to claim 1, characterized in that, The motion start delay is obtained by the lag between the tracked motion start time and the actual motion start time; the motion end delay is obtained by the lag between the tracked motion end time and the actual motion end time. The start time of the actual motion, the start time of the tracked motion, and the end time of the actual motion are determined by the changing trend of the one-dimensional trajectory quantity; The motion process delay is obtained by selecting multiple common displacement process positions within the motion segment and performing mean, weighted mean, median, truncated mean, or robust statistical fusion on the time difference of each common displacement process position.
7. The delay testing method for eye trackers based on motion trajectories according to claim 1, characterized in that, The consistency evaluation includes: When the difference between the motion boundary delay and the motion process delay meets the preset consistency condition, the average value of the two is used as the comprehensive delay performance index of the eye tracker under test. When the difference deviation exceeds the preset consistency condition, it is determined that the eye tracker under test has adopted a motion state prediction or trajectory smoothing algorithm, and its motion boundary delay in the state transition stage and motion process delay in the continuous motion stage are output independently respectively.
8. The delay testing method for eye trackers based on motion trajectories according to claim 1, characterized in that, Upon obtaining the comprehensive latency test results, a hardware performance extended evaluation process is executed. The extended evaluation extracts characteristic parameters that reflect the response accuracy of the eye tracker, including: the positional deviation between the device's tracked output trajectory and the robot eye's actual trajectory, the ratio gain of the tracking speed to the robot eye's set speed, and the overshoot of the tracking trajectory at the moment of stopping. These characteristic parameters are used to comprehensively evaluate the spatial tracking fidelity of the eye tracker under test under different motion directions and speeds.
9. The delay testing method for eye trackers based on motion trajectories according to claim 1, characterized in that, After executing the preset motion trajectory multiple times, the processing host groups the comprehensive delay test results according to trajectory type, motion direction, motion speed level, and trajectory amplitude level, and evaluates the significant differences in delay distribution between different speed and amplitude groups based on the nonparametric statistical test method of rank difference, generating a test report that includes segmented delay, boundary delay, process delay, consistency results, and delay fluctuation stability in different scenarios.
10. A delay testing system for an eye tracker based on motion trajectory, the system comprising: An initialization module is used to establish a communication connection between the human eye simulation device, the eye tracker under test, the time signal synchronization unit and the processing host, provide a unified time reference to the human eye simulation device and the eye tracker under test through the time signal synchronization unit, and establish a test task in the processing host. The device calibration module is used to control the human eye simulation device to execute the calibration trajectory, so that the eye tracker under test enters the tracking state; The trajectory control module is used to generate a preset motion trajectory containing multiple gaze positions and multiple motion transition segments. The preset motion trajectory is used to control the mechanical eye of the human eye simulation device to sequentially and alternately perform static gaze and preset motion, so that each motion transition segment has a state structure that transitions from a gaze state to a motion state and then back to a gaze state. The data acquisition module is used to synchronously acquire the first trajectory data output by the human eye simulation device and the second trajectory data output by the eye tracker under test at the same time reference during the execution of the preset motion trajectory. Both the first trajectory data and the second trajectory data include the sampling time and two-dimensional position. The identification and pairing module is used to identify the state of the first trajectory data and the second trajectory data respectively, divide the first trajectory data and the second trajectory data into gaze segments and motion segments according to the position and velocity change characteristics, and form paired segments of the first trajectory data and the second trajectory data belonging to the same motion transition segment according to the time center of adjacent gaze segments and the motion segments sandwiched between adjacent gaze segments. The boundary delay calculation module is used to transform the two-dimensional position of each paired segment into a one-dimensional trajectory quantity that monotonically represents the displacement process along the current motion direction. It extracts the real motion start time, the tracking motion start time, the real motion end time, and the tracking motion end time from the one-dimensional trajectory quantity corresponding to the first trajectory data and the one-dimensional trajectory quantity corresponding to the second trajectory data, and calculates the motion boundary delay accordingly. The motion boundary delay includes the motion start delay and the motion end delay. The process delay calculation module is used to extract multiple common displacement process positions between the actual motion start time and the actual motion end time for each of the paired segments, determine the first time when the first trajectory data arrives at each common displacement process position and the second time when the second trajectory data arrives at the same common displacement process position, and calculate the motion process delay by calculating the corresponding time difference. The evaluation and output module is used to evaluate the consistency between the motion boundary delay and the motion process delay, and output the comprehensive delay test result of the eye tracker under test based on the consistency evaluation.