An eye-tracking trajectory analysis method and system based on hybrid clustering and time constraints
By employing a hybrid clustering and time-constrained eye-tracking trajectory analysis method, the problem of inaccurate gaze cluster identification in existing technologies is solved, enabling effective segmentation and labeling of gaze clusters and ensuring the accuracy and continuity of gaze events.
Patent Information
- Application Number
- CN202511958733.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-24
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2045-12-24
AI Technical Summary
Existing technologies struggle to effectively distinguish between multiple gazes that are spatially close but temporally discontinuous, resulting in the inability to accurately identify true gaze clusters and affecting the accuracy of gaze event segmentation.
A hybrid clustering and time-constrained approach is adopted. By calculating the movement speed and time difference of eye-tracking data points, and combining the OPTICS clustering algorithm, spatiotemporal feature vectors are standardized and weighted to identify and segment clusters with time gaps exceeding a threshold. Short-time clusters are filtered out to generate the final gaze cluster labels.
It achieves continuity constraints on the temporal dimension of fixation clusters, effectively separates candidate fixation points from saccades, ensures the temporal salience and accuracy of fixation clusters, and completes end-to-end eye movement trajectory analysis.
Smart Images

Figure CN121392948B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of computer vision technology, and in particular relates to a method and system for eye-tracking trajectory analysis based on hybrid clustering and time constraints. Background Technology
[0002] Eye-tracking technology, as a means of objectively and continuously recording visual behavior, has been widely applied in various fields such as psychology, human-computer interaction, medical diagnosis, marketing, and usability testing. This technology captures eye movements through image sensors, outputting a series of highly accurate temporal coordinates of gaze points and eye movement events (such as fixation, saccades, and blinks). The raw eye-tracking data is time-series data. The core challenge of eye-tracking data analysis is how to accurately and robustly identify meaningful visual behavior patterns from it, especially clustering discrete gaze points into gaze clusters representing areas of interest. This directly affects the accuracy of subsequent attention analysis, cognitive load assessment, and behavioral interpretation.
[0003] Currently, mainstream eye-tracking event detection and clustering analysis methods struggle to effectively distinguish between multiple gazes that are spatially close but temporally discontinuous, resulting in an inability to accurately identify true gaze clusters. Furthermore, they are prone to incorrectly grouping data points with excessively large time intervals into the same cluster, affecting the accuracy of gaze event segmentation. Summary of the Invention
[0004] This invention provides an eye-tracking trajectory analysis method and system based on hybrid clustering and temporal constraints, which at least solves the problem in the prior art that it is difficult to effectively distinguish multiple gazes that are spatially close but temporally discontinuous, resulting in the inability to accurately identify the true gaze clusters.
[0005] In a first aspect, embodiments of this application provide an eye-tracking trajectory analysis method based on hybrid clustering and time constraints. The method includes:
[0006] Obtain raw eye-tracking data points containing timestamps and gaze coordinates;
[0007] Calculate the time difference and movement speed between consecutive raw eye-tracking data points;
[0008] The movement speed is compared with a speed threshold, and the raw eye movement data points are classified into candidate fixation points and saccades.
[0009] Spatial and temporal features of candidate gaze points are extracted, standardized, and weighted and fused into a spatiotemporal feature vector.
[0010] The spatiotemporal feature vectors are clustered using the OPTICS clustering algorithm to obtain clusters. The clusters are then numbered to obtain preliminary cluster labels for candidate gaze points.
[0011] For each cluster, the time interval between adjacent original eye-tracking data points is calculated after sorting by its timestamp. Time gaps exceeding the maximum time gap threshold are identified, and the cluster is divided into two new clusters at the time gaps exceeding the maximum time gap threshold, thus obtaining the time-constrained clusters.
[0012] Calculate the duration of the clusters after time constraint processing, filter out clusters whose duration is shorter than the minimum gaze duration threshold, and define the remaining clusters as valid gaze clusters; renumber the valid gaze clusters to generate the final cluster labels for candidate gaze points;
[0013] Based on the gaze point classification results, the final classification label for each raw eye movement data point is output.
[0014] Furthermore, the time difference and movement speed between consecutive raw eye-tracking data points are calculated, specifically including:
[0015] The timestamps are standardized, and the time difference between consecutive raw eye-tracking data points is calculated. ;
[0016] Calculate the movement velocity of each raw eye-tracking data point in the pixel coordinate system. .
[0017] Furthermore, the movement velocity of each raw eye-tracking data point in the pixel coordinate system is calculated. Its expression is:
[0018]
[0019] in, This represents the continuous raw eye movement data points in the pixel coordinate system. The difference in coordinates of the axes, This represents the continuous raw eye movement data points in the pixel coordinate system. The difference in coordinates of the axes, Indicates time difference.
[0020] Furthermore, the movement speed is compared with a speed threshold to classify the raw eye-tracking data points into candidate fixations and saccades, specifically including:
[0021] A preset speed threshold is set;
[0022] Raw eye-tracking data points with movement speeds below a speed threshold are classified as candidate fixation points;
[0023] Raw eye-tracking data points with movement speeds higher than or equal to a speed threshold are classified as saccades.
[0024] Furthermore, the data is standardized and weighted to form a spatiotemporal feature vector, specifically including:
[0025] The spatial features are standardized using a normalizer to obtain the standardized spatial features.
[0026] The time features are weighted to obtain the weighted time features.
[0027] The standardized spatial features are concatenated with the weighted temporal features to generate a fused spatiotemporal feature vector.
[0028] Furthermore, the standardizer uses StandardScaler;
[0029] The spatial feature is the coordinates (X, Y), and the temporal feature is the time difference between adjacent raw eye-tracking data points. .
[0030] Furthermore, for each cluster, the time interval between adjacent original eye-tracking data points is calculated after sorting by their timestamps. Locations exceeding the maximum time interval threshold are identified, and at these locations, the cluster is split into two new clusters. Specifically, this includes:
[0031] For each cluster:
[0032] Extract the timestamps of all original eye-tracking data points within the cluster, and sort the original eye-tracking data points in chronological order based on the timestamps;
[0033] Calculate the time interval between adjacent raw eye-tracking data points after sorting;
[0034] The time interval for identifying time intervals that are greater than the preset maximum time interval threshold;
[0035] At the identified time gaps, the cluster is divided into two new clusters, resulting in time-constrained clusters, and a unique label is assigned to each new cluster.
[0036] Furthermore, the duration of the cluster after time constraint processing is calculated, and its expression is:
[0037]
[0038] in, This represents the duration of the cluster after time constraint processing. This represents the maximum timestamp of the cluster after time constraint processing. This represents the minimum timestamp of the cluster after time constraint processing.
[0039] Furthermore, the final classification label includes the saccade point, the fixation point, and the cluster number to which the effective fixation cluster belongs.
[0040] Secondly, embodiments of this application also provide a system for applying the eye-tracking trajectory analysis method based on hybrid clustering and time constraints as described in the above aspects, the system comprising:
[0041] The data acquisition module is used to acquire raw eye-tracking data points containing timestamps and gaze coordinates;
[0042] The calculation module is used to calculate the time difference and movement speed between consecutive raw eye-tracking data points;
[0043] The classification module is used to compare the movement speed with a speed threshold and classify the raw eye movement data points into candidate fixation points and saccades.
[0044] The spatiotemporal feature vector module is used to extract the spatial and temporal features of candidate gaze points, perform standardization processing on each feature, and then weightedly fuse them into a spatiotemporal feature vector.
[0045] The preliminary clustering label acquisition module is used to cluster the spatiotemporal feature vectors using the OPTICS clustering algorithm to obtain clusters, number the clusters, and obtain preliminary clustering labels for candidate gaze points.
[0046] The cluster acquisition module is used to sort each cluster by its timestamp, calculate the time interval between adjacent original eye-tracking data points, identify time gaps that exceed the maximum time gap threshold, and divide the cluster into two new clusters at the time gaps that exceed the maximum time gap threshold, thus obtaining the time-constrained clusters.
[0047] The final cluster label acquisition module is used to calculate the duration of the clusters after time constraint processing, filter out clusters whose duration is shorter than the minimum gaze duration threshold, and define the remaining clusters as valid gaze clusters; renumber the valid gaze clusters to generate the final cluster labels for candidate gaze points;
[0048] The final classification label output module is used to combine the gaze point classification results and output the final classification label for each raw eye-tracking data point.
[0049] As can be seen from the above technical solutions, the present invention has the following advantages:
[0050] The eye-tracking trajectory analysis method and system based on hybrid clustering and time constraints provided in this application solves the problem of erroneous aggregation of time discontinuities by sorting each cluster by timestamp and identifying and segmenting positions that exceed the maximum time gap threshold, thus realizing the continuity constraint of gaze clusters in the time dimension.
[0051] By calculating the movement speed between consecutive raw eye-tracking data points and combining it with a speed threshold for classification, the problem of coarse-grained initial data segmentation was solved, and the effective separation of candidate fixation points and saccades was achieved.
[0052] By extracting the spatial and temporal features of candidate gaze points, standardizing them, and then weighting and fusing them into a spatiotemporal feature vector, the problems of inconsistent feature scales and insufficient utilization of spatiotemporal information are solved, and a unified representation of multimodal features is achieved.
[0053] By employing the OPTICS clustering algorithm to cluster spatiotemporal feature vectors and obtain preliminary cluster labels, the problem that traditional clustering methods cannot adaptively identify clusters of arbitrary shapes is solved, and preliminary spatial aggregation of gaze points is achieved.
[0054] By calculating the duration of the time-constrained clusters and filtering out short-duration clusters, the problem of interference analysis of invalid short-duration gaze clusters is solved, ensuring that the gaze clusters in the final output have significant temporal significance.
[0055] By combining the gaze point classification results and outputting the final classification label for each data point, the problem of complete eye-tracking event annotation was solved, and an end-to-end eye-tracking trajectory analysis process was realized. Attached Figure Description
[0056] To more clearly illustrate the technical solution of this application, the accompanying drawings used in the description will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0057] Figure 1 This is a flowchart of the eye-tracking trajectory analysis method based on hybrid clustering and time constraints of the present invention. Detailed Implementation
[0058] To make the purpose, features, and advantages of this application more apparent and understandable, specific embodiments and accompanying drawings will be used to clearly and completely describe the technical solution protected by this application. Obviously, the embodiments described below are only some embodiments of this application, and not all embodiments. Based on the embodiments in this patent, all other embodiments obtained by those skilled in the art without inventive effort are within the scope of protection of this patent.
[0059] This application provides an eye-tracking trajectory analysis method and system based on hybrid clustering and temporal constraints, which solves the current urgent technical problem of effectively distinguishing multiple gazes that are spatially close but temporally discontinuous and accurately identifying the true gaze clusters.
[0060] The technical solutions proposed in the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0061] Figure 1 This is a flowchart illustrating an eye-tracking trajectory analysis method based on hybrid clustering and temporal constraints, provided as an embodiment of this application. Figure 1 As shown in the figure, the eye-tracking trajectory analysis method based on hybrid clustering and time constraints provided in this application embodiment specifically includes the following steps:
[0062] Step S1: Obtain raw eye-tracking data points containing timestamps and gaze coordinates.
[0063] It should be noted that raw eye-tracking data points can be acquired in real time using an eye-tracking device, or they can be read from a stored file. Raw eye-tracking data points include timestamps and gaze coordinates. During implementation, ensure a consistent sampling rate for data acquisition, i.e., acquire raw eye-tracking data points at a preset frequency to avoid timestamp jumps. After acquiring the raw eye-tracking data points, preprocessing is performed, including removing invalid data points. It should be noted that invalid data points here refer to missing values caused by blinking.
[0064] In this embodiment, the Tobii Pro Fusion eye tracker was used to collect eye movement data of the subjects while they viewed the screen at a sampling rate of 250Hz. The data output was a CSV file, with each row containing a timestamp (incrementing from 0), X coordinate, and Y coordinate. In Python, the pandas library was used to read the file, check the continuity of the timestamps, and handle possible missing values.
[0065] Step S2: Calculate the time difference and movement speed between consecutive raw eye movement data points.
[0066] Step S3: Compare the movement speed with the speed threshold and classify the raw eye movement data points into candidate fixation points and saccades.
[0067] Step S4: Extract the spatial and temporal features of the candidate gaze points, standardize them respectively, and then weight and fuse them into a spatiotemporal feature vector.
[0068] Step S5: Use the OPTICS clustering algorithm to cluster the spatiotemporal feature vectors to obtain clusters, number the clusters, and obtain preliminary cluster labels for candidate gaze points.
[0069] Step S6: For each cluster, sort by its timestamp and calculate the time interval between adjacent original eye-tracking data points. Identify time gaps that exceed the maximum time gap threshold and divide the cluster into two new clusters at the time gaps that exceed the maximum time gap threshold to obtain the time-constrained clusters.
[0070] Step S7: Calculate the duration of the clusters after time constraint processing, filter out clusters with durations shorter than the minimum gaze duration threshold, mark them as noise, and define the remaining clusters as valid gaze clusters; renumber the valid gaze clusters to generate the final cluster labels for candidate gaze points.
[0071] Step S8: Combine the gaze point classification results and output the final classification label for each raw eye movement data point.
[0072] The present invention provides another embodiment, the method comprising:
[0073] Step S1: Obtain raw eye-tracking data points containing timestamps and gaze coordinates.
[0074] Step S2: Calculate the time difference and movement speed between consecutive raw eye movement data points.
[0075] Calculating the time difference and movement velocity between consecutive raw eye-tracking data points, specifically including:
[0076] The timestamps are standardized, and the time difference between consecutive raw eye-tracking data points is calculated. ;
[0077] Calculate the movement velocity of each raw eye-tracking data point in the pixel coordinate system. .
[0078] Time difference It is obtained by subtracting the timestamps of adjacent data points, and its expression is:
[0079]
[0080] in, Represents raw eye-tracking data points timestamp, Represents raw eye-tracking data points Timestamp.
[0081] Calculate the movement velocity of each raw eye-tracking data point in the pixel coordinate system. Its expression is:
[0082]
[0083]
[0084]
[0085] in, This represents the continuous raw eye movement data points in the pixel coordinate system. The coordinate difference of the axes; Represents raw eye-tracking data points In pixel coordinate system The coordinates of the axis; Represents raw eye-tracking data points In pixel coordinate system The coordinates of the axis; This represents the continuous raw eye movement data points in the pixel coordinate system. The coordinate difference of the axes; Represents raw eye-tracking data points In pixel coordinate system The coordinates of the axis; Represents raw eye-tracking data points In pixel coordinate system The coordinates of the axis; Indicates time difference.
[0086] Step S3: Compare the movement speed with the speed threshold and classify the raw eye movement data points into candidate fixation points and saccades.
[0087] Step S4: Extract the spatial and temporal features of the candidate gaze points, standardize them respectively, and then weight and fuse them into a spatiotemporal feature vector.
[0088] Step S5: Use the OPTICS clustering algorithm to cluster the spatiotemporal feature vectors to obtain clusters, number the clusters, and obtain preliminary cluster labels for candidate gaze points.
[0089] Step S6: For each cluster, sort by its timestamp and calculate the time interval between adjacent original eye-tracking data points. Identify time gaps that exceed the maximum time gap threshold and divide the cluster into two new clusters at the time gaps that exceed the maximum time gap threshold to obtain the time-constrained clusters.
[0090] Step S7: Calculate the duration of the clusters after time constraint processing, filter out clusters with durations shorter than the minimum gaze duration threshold, mark them as noise, and define the remaining clusters as valid gaze clusters; renumber the valid gaze clusters to generate the final cluster labels for candidate gaze points.
[0091] Step S8: Combine the gaze point classification results and output the final classification label for each raw eye movement data point.
[0092] The present invention provides another embodiment, the method comprising:
[0093] Step S1: Obtain raw eye-tracking data points containing timestamps and gaze coordinates.
[0094] Step S2: Calculate the time difference and movement speed between consecutive raw eye movement data points.
[0095] Step S3: Compare the movement speed with the speed threshold and classify the raw eye movement data points into candidate fixation points and saccades.
[0096] The movement speed is compared with a speed threshold to classify the raw eye movement data points into candidate fixations and saccades, specifically including:
[0097] A preset speed threshold is set;
[0098] Raw eye-tracking data points with movement speeds below a speed threshold are classified as candidate fixation points;
[0099] Raw eye-tracking data points with movement speeds higher than or equal to a speed threshold are classified as saccades.
[0100] The velocity threshold is set based on empirical values, specifically depending on screen resolution and eye tracker accuracy. In practice, the velocity threshold is determined through a calibration experiment: subjects fixate on a single point, and the average velocity is calculated plus twice the standard deviation as the velocity threshold. During classification, all raw eye movement data points are traversed, and they are categorized according to movement speed. Data points with movement speeds below the velocity threshold are classified as candidate fixations; those with movement speeds at or above the velocity threshold are classified as saccades.
[0101] Step S4: Extract the spatial and temporal features of the candidate gaze points, standardize them respectively, and then weight and fuse them into a spatiotemporal feature vector.
[0102] The standardization process is followed by weighted fusion into a spatiotemporal feature vector, specifically including:
[0103] The spatial features are standardized using a normalizer to obtain the standardized spatial features.
[0104] The time features are weighted to obtain the weighted time features.
[0105] The standardized spatial features are concatenated with the weighted temporal features to generate a fused spatiotemporal feature vector.
[0106] The standardizer used is StandardScaler.
[0107] The spatial feature is the coordinates (X, Y), and the temporal feature is the time difference between adjacent raw eye-tracking data points. .
[0108] Spatial features (X, Y) are standardized using the StandardScaler, which subtracts the mean and divides by the standard deviation to achieve a mean of 0 and a variance of 1. Temporal features are the time differences between adjacent raw eye-tracking data points. The temporal features are weighted, with larger time differences resulting in lower weights to emphasize spatial consistency. After weighting, the temporal features are scaled to a range similar to that of the spatial features. During fusion, the standardized spatial features and the weighted temporal features are concatenated into a three-dimensional vector.
[0109] Assume the mean of the X-coordinate is 500 and the standard deviation is 100; the mean of the Y-coordinate is 300 and the standard deviation is 50. A point (600, 350) is standardized to (1.0, 1.0). Time difference =10ms, weighting coefficient 0.1, then the weighted result is 1.0. The fused vector is [1.0, 1.0, 1.0]. In Python, standardization is performed using sklearn's StandardScaler.
[0110] Step S5: Use the OPTICS clustering algorithm to cluster the spatiotemporal feature vectors to obtain clusters, number the clusters, and obtain preliminary cluster labels for candidate gaze points.
[0111] The OPTICS clustering algorithm is implemented using the scikit-learn library. The algorithm outputs cluster labels, where -1 represents noise points and other integers represent cluster numbers. The numbers start from 0 and increment sequentially, with each cluster having a unique ID.
[0112] Input 1000 spatiotemporal feature vectors, and OPTICS outputs a list of labels, such as [0,0,1,-1,1,...], indicating that the first two points belong to cluster 0, the third point belongs to cluster 1, and the fourth point is noise. The initial labels are used for subsequent processing.
[0113] Step S6: For each cluster, sort by its timestamp and calculate the time interval between adjacent original eye-tracking data points. Identify time gaps that exceed the maximum time gap threshold and divide the cluster into two new clusters at the time gaps that exceed the maximum time gap threshold to obtain the time-constrained clusters.
[0114] For each cluster, after sorting by its timestamp, the time interval between adjacent raw eye-tracking data points is calculated. Locations exceeding the maximum time interval threshold are identified, and at these locations, the cluster is split into two new clusters. Specifically, this includes:
[0115] For each cluster (except for noisy clusters):
[0116] Extract the timestamps of all original eye-tracking data points within the cluster, and sort the original eye-tracking data points in chronological order based on the timestamps;
[0117] Calculate the time interval between adjacent raw eye-tracking data points after sorting;
[0118] The time interval for identifying time intervals that are greater than the preset maximum time interval threshold;
[0119] At the identified time gaps, the cluster is divided into two new clusters, resulting in time-constrained clusters, and a unique label is assigned to each new cluster.
[0120] This ensures that all the original eye-tracking data points within each final cluster are not only spatially densely connected but also temporally continuous, conforming to the physiological definition of a sustained fixation.
[0121] For each cluster, the raw eye-tracking data points are sorted by timestamp, and the time interval between adjacent points is calculated. If the interval exceeds a threshold, the cluster is split at that point and a new label is assigned. This ensures that each new cluster is temporally continuous.
[0122] Step S7: Calculate the duration of the clusters after time constraint processing, filter out clusters with durations shorter than the minimum gaze duration threshold, mark them as noise, and define the remaining clusters as valid gaze clusters; renumber the valid gaze clusters to generate the final cluster labels for candidate gaze points.
[0123] Step S8: Combine the gaze point classification results and output the final classification label for each raw eye movement data point.
[0124] This invention also provides an eye-tracking trajectory analysis method based on hybrid clustering and time constraints, the method comprising:
[0125] Step S1: Obtain raw eye-tracking data points containing timestamps and gaze coordinates.
[0126] It should be noted that raw eye-tracking data points can be acquired in real time using an eye-tracking device, or they can be read from a stored file. Raw eye-tracking data points include timestamps and gaze coordinates. During implementation, ensure a consistent sampling rate for data acquisition, i.e., acquire raw eye-tracking data points at a preset frequency to avoid timestamp jumps. After acquiring the raw eye-tracking data points, preprocessing is performed, including removing invalid data points. It should be noted that invalid data points here refer to missing values caused by blinking.
[0127] In this embodiment, the Tobii Pro Fusion eye tracker was used to collect eye movement data of the subjects while they viewed the screen at a sampling rate of 250Hz. The data output was a CSV file, with each row containing a timestamp (incrementing from 0), X coordinate, and Y coordinate. In Python, the pandas library was used to read the file, check the continuity of the timestamps, and handle possible missing values.
[0128] Step S2: Calculate the time difference and movement speed between consecutive raw eye movement data points.
[0129] Step S3: Compare the movement speed with the speed threshold and classify the raw eye movement data points into candidate fixation points and saccades.
[0130] Step S4: Extract the spatial and temporal features of the candidate gaze points, standardize them respectively, and then weight and fuse them into a spatiotemporal feature vector.
[0131] Step S5: Use the OPTICS clustering algorithm to cluster the spatiotemporal feature vectors to obtain clusters, number the clusters, and obtain preliminary cluster labels for candidate gaze points.
[0132] Step S6: For each cluster, sort by its timestamp and calculate the time interval between adjacent original eye-tracking data points. Identify time gaps that exceed the maximum time gap threshold and divide the cluster into two new clusters at the time gaps that exceed the maximum time gap threshold to obtain the time-constrained clusters.
[0133] Step S7: Calculate the duration of the clusters after time constraint processing, filter out clusters with durations shorter than the minimum gaze duration threshold, mark them as noise, and define the remaining clusters as valid gaze clusters; renumber the valid gaze clusters to generate the final cluster labels for candidate gaze points.
[0134] The duration of the clusters after time constraints is calculated using the following expression:
[0135]
[0136] in, This represents the duration of the cluster after time constraint processing. This represents the maximum timestamp of the cluster after time constraint processing. This represents the minimum timestamp of the cluster after time constraint processing.
[0137] Step S8: Combine the gaze point classification results and output the final classification label for each raw eye movement data point.
[0138] The final classification label includes the saccade point, fixation point, and the cluster number to which the effective fixation cluster belongs.
[0139] This invention also provides an eye-tracking trajectory analysis system based on hybrid clustering and time constraints. The following are embodiments of the eye-tracking trajectory analysis system based on hybrid clustering and time constraints provided in this disclosure. This eye-tracking trajectory analysis system based on hybrid clustering and time constraints belongs to the same inventive concept as the eye-tracking trajectory analysis methods based on hybrid clustering and time constraints in the above embodiments. For details not described in detail in the embodiments of the eye-tracking trajectory analysis system based on hybrid clustering and time constraints, please refer to the embodiments of the eye-tracking trajectory analysis methods based on hybrid clustering and time constraints described above.
[0140] The system includes:
[0141] The data acquisition module is used to acquire raw eye-tracking data points containing timestamps and gaze coordinates;
[0142] The calculation module is used to calculate the time difference and movement speed between consecutive raw eye-tracking data points;
[0143] The classification module is used to compare the movement speed with a speed threshold and classify the raw eye movement data points into candidate fixation points and saccades.
[0144] The spatiotemporal feature vector module is used to extract the spatial and temporal features of candidate gaze points, perform standardization processing on each feature, and then weightedly fuse them into a spatiotemporal feature vector.
[0145] The preliminary clustering label acquisition module is used to cluster the spatiotemporal feature vectors using the OPTICS clustering algorithm to obtain clusters, number the clusters, and obtain preliminary clustering labels for candidate gaze points.
[0146] The cluster acquisition module is used to sort each cluster by its timestamp, calculate the time interval between adjacent original eye-tracking data points, identify time gaps that exceed the maximum time gap threshold, and divide the cluster into two new clusters at the time gaps that exceed the maximum time gap threshold, thus obtaining the time-constrained clusters.
[0147] The final cluster label acquisition module is used to calculate the duration of the clusters after time constraint processing, filter out clusters whose duration is shorter than the minimum gaze duration threshold, and define the remaining clusters as valid gaze clusters; renumber the valid gaze clusters to generate the final cluster labels for candidate gaze points;
[0148] The final classification label output module is used to combine the gaze point classification results and output the final classification label for each raw eye-tracking data point.
[0149] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0150] Any changes, modifications, substitutions, and variations made to the embodiments without departing from the principles and spirit of the present invention still fall within the protection scope of the present invention.
Claims
1. A method for eye movement trajectory analysis based on hybrid clustering and time constraints, characterized in that, The method comprises: obtaining original eye movement data points containing timestamps and line-of-sight coordinates; calculating the time difference and movement speed between consecutive original eye movement data points; comparing the movement speed with a speed threshold to classify the original eye movement data points into candidate fixation points and saccade points; extracting the spatial features and temporal features of the candidate fixation points, respectively, standardizing and weighting to fuse into a spatiotemporal feature vector; using an OPTICS clustering algorithm to cluster the spatiotemporal feature vector to obtain a cluster, and numbering the cluster to obtain a preliminary cluster label of the candidate fixation points; for each cluster, sorting the adjacent original eye movement data points according to their timestamps, calculating the time interval between the adjacent original eye movement data points, identifying the time interval exceeding the maximum time gap threshold, and splitting the cluster into two new clusters at the time interval exceeding the maximum time gap threshold to obtain a cluster after time constraint processing; calculating the duration of the cluster after time constraint processing, filtering out the cluster with a duration shorter than a minimum fixation duration threshold, defining the remaining cluster as an effective fixation cluster, renumbering the effective fixation cluster to generate a final cluster label of the candidate fixation points; combining the saccade point classification result to output the final classification label of each original eye movement data point.
2. The method of claim 1, wherein, The method comprises: standardizing the timestamps, calculating the time difference between consecutive raw eye movement data points ; calculating a movement speed of each raw eye movement data point in the pixel coordinate system .
3. The method of claim 2, wherein, calculating a movement speed of each raw eye movement data point in the pixel coordinate system whose expression is: wherein, represents the coordinate difference of the consecutive raw eye movement data points in the pixel coordinate system axis, represents the coordinate difference of the consecutive raw eye movement data points in the pixel coordinate system axis, represents the time difference.
4. The method of claim 3, wherein, calculating the time difference and movement speed between consecutive original eye movement data points, specifically including: comparing the movement speed with a speed threshold to classify the original eye movement data points into candidate fixation points and saccade points, specifically including: presetting a speed threshold; classifying the original eye movement data points with a movement speed lower than the speed threshold as candidate fixation points; 5. The method of claim 4, wherein, classifying the original eye movement data points with a movement speed higher than or equal to the speed threshold as saccade points. standardizing and weighting to fuse into a spatiotemporal feature vector, specifically including: using a standardizer to standardize the spatial features to obtain standardized spatial features; weighting the temporal features to obtain weighted temporal features; 6. The method of claim 5, wherein, splicing the standardized spatial features and the weighted temporal features to generate a fused spatiotemporal feature vector. The spatial feature is a coordinate (X, Y) and the temporal feature is a time difference between adjacent raw eye movement data points .
7. The method of claim 6, wherein, The standardizer uses StandardScaler; for each cluster, sorting the adjacent original eye movement data points according to their timestamps, calculating the time interval between the adjacent original eye movement data points, identifying the position exceeding the maximum time gap threshold, and splitting the cluster into two new clusters at the position, specifically including: for each cluster: extracting the timestamps of all original eye movement data points in the cluster, sorting the original eye movement data points according to the timestamps in chronological order; calculating the time interval between the adjacent original eye movement data points after sorting; identifying the time interval exceeding the preset maximum time gap threshold; 8. The method of claim 7, wherein, splitting the cluster into two new clusters at the identified time interval to obtain a cluster after time constraint processing, and assigning a unique label to the new cluster. wherein, represents a duration of the cluster after time constraint processing, represents a maximum timestamp of the cluster after time constraint processing, represents a minimum timestamp of the cluster after time constraint processing.
9. The method of claim 8, wherein, The duration of the cluster after time constraint processing is calculated, and the expression is:
10. A system for applying the eye movement trajectory analysis method based on hybrid clustering and temporal constraints according to any one of claims 1 to 9, characterized in that, The final classification label includes saccade points, fixation points, and the cluster number of the effective fixation cluster. The system comprises: a data acquisition module for obtaining original eye movement data points containing timestamps and line-of-sight coordinates; A computing module is configured to calculate the time difference and movement speed between consecutive raw eye movement data points; A classification module is configured to compare the movement speed with a speed threshold, and classify the raw eye movement data points as candidate fixation points and saccade points; A spatiotemporal feature vector module is configured to extract the spatial features and temporal features of the candidate fixation points, respectively, to perform standardization processing and weighted fusion into spatiotemporal feature vectors; A preliminary clustering label acquisition module is configured to perform clustering on the spatiotemporal feature vectors by using an OPTICS clustering algorithm to obtain clustering clusters, and to number the clustering clusters to obtain preliminary clustering labels of the candidate fixation points; A clustering cluster acquisition module is configured to, for each clustering cluster, sort the clustering cluster according to the time stamps, calculate the time intervals of adjacent raw eye movement data points, identify time intervals exceeding a maximum time gap threshold, and split the clustering cluster into two new clusters at the time intervals exceeding the maximum time gap threshold to obtain time-constrained clustering clusters; A final clustering label acquisition module is configured to calculate the duration of the time-constrained clustering clusters, filter out clustering clusters with a duration shorter than a minimum fixation duration threshold, define the remaining clustering clusters as valid fixation clusters, renumber the valid fixation clusters, and generate final clustering labels of the candidate fixation points; A final classification label output module is configured to combine the saccade point classification results to output final classification labels of each raw eye movement data point.
Citation Information
Patent Citations
Regard point cluster data processing method based on time domain constraint
CN102096757A
Eye movement track generation method and device, equipment and readable storage medium
CN119888853A