A hotspot trajectory extraction method and related device

By acquiring multiple sets of trajectory data from racing games, using the feature data of segmented key points to form a simplified motion trajectory representation, and performing clustering processing, the problem of hot spot trajectories in racing games not accurately reflecting player operating habits is solved, and accurate and reliable automated testing is achieved.

CN117654047BActive Publication Date: 2026-05-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2022-09-06
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

In existing technologies, the hotspot trajectories determined in racing games cannot accurately and reliably reflect the player's actual operating habits, resulting in insufficient reliability of automated test results.

Method used

By acquiring multiple sets of trajectory data, the feature data of segmented key points are used to form simplified motion trajectory representation data, and clustering is performed on these data to determine hotspot trajectories.

Benefits of technology

To ensure that the identified hotspot trajectories accurately and reliably reflect the players' actual operating habits, reduce computational resource consumption, improve computational efficiency, and guarantee the reliability and accuracy of clustering processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117654047B_ABST
    Figure CN117654047B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a hotspot trajectory extraction method and related device, the method comprises: obtaining multiple sets of trajectory data; each set of trajectory data corresponds to the motion trajectory of a virtual vehicle controlled by a player in a target racing game, and includes feature data of multiple sampling points on the corresponding motion trajectory, the feature data including position data, direction data, speed data and acceleration data of the virtual vehicle; for each set of trajectory data, determining segmented key points in the multiple sampling points according to the feature data of the multiple sampling points; using the feature data of the segmented key points to form representation data of a simplified motion trajectory corresponding to the trajectory data; performing clustering processing based on the representation data of the simplified motion trajectory corresponding to each set of trajectory data to obtain multiple trajectory categories; and determining a hotspot trajectory according to the motion trajectories included in the multiple trajectory categories. The method can ensure that the determined hotspot trajectory accurately and reliably reflects the real operation habits of the player.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method and related apparatus for hotspot trajectory extraction. Background Technology

[0002] For racing games, identifying frequently used hotspot trajectories in the game scene and using this information to automate testing is an essential part of the game development and testing process.

[0003] In related technologies, hotspot trajectories in racing games are typically determined in the following ways: 1) Determining hotspot trajectories based on heatmaps; that is, identifying the hotspot locations where the player's car appears most frequently in the game scene, and then connecting these hotspot locations to obtain the hotspot trajectory. 2) Determining hotspot trajectories manually by relevant technical personnel based on their experience.

[0004] The hotspot trajectories determined through the above methods are based on relevant data analysis and do not represent the actual driving trajectories of the players' cars. In practical applications, such hotspot trajectories often fail to accurately and reliably reflect the players' real driving habits. Consequently, it is difficult to guarantee the reliability of test results obtained by automating game testing based on these hotspot trajectories. Summary of the Invention

[0005] This application provides a method and related apparatus for extracting hotspot trajectories, which can ensure that the determined hotspot trajectories accurately and reliably reflect the player's actual operating habits.

[0006] In view of this, the first aspect of this application provides a method for hotspot trajectory extraction, the method comprising:

[0007] Acquire multiple sets of trajectory data generated by the target racing game; each set of trajectory data corresponds to the motion trajectory generated by the player controlling the virtual vehicle in the target racing game, and the trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory. The feature data of the sampling points includes the position data, direction data, speed data and acceleration data of the virtual vehicle at the sampling point.

[0008] For each set of trajectory data, segmentation key points are determined from the multiple sampling points based on the feature data of the multiple sampling points included in the trajectory data; and the feature data of the segmentation key points are used to form the simplified motion trajectory representation data corresponding to the trajectory data.

[0009] Clustering is performed on the simplified motion trajectory representations corresponding to each of the multiple sets of trajectory data to obtain multiple trajectory categories; hotspot trajectories are determined based on the motion trajectories included in each of the multiple trajectory categories.

[0010] A second aspect of this application provides a hotspot trajectory extraction device, the device comprising:

[0011] The data acquisition module is used to acquire multiple sets of trajectory data generated by the target racing game; each set of trajectory data corresponds to the motion trajectory generated by the player controlling the virtual vehicle in the target racing game, and the trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory. The feature data of the sampling points includes the position data, direction data, speed data and acceleration data of the virtual vehicle at the sampling point.

[0012] The trajectory simplification module is used to determine segmentation key points among the multiple sampling points included in each set of trajectory data based on the feature data of the multiple sampling points included in the trajectory data; and to use the feature data of the segmentation key points to form the simplified motion trajectory representation data corresponding to the trajectory data.

[0013] The trajectory clustering module is used to perform clustering processing based on the simplified motion trajectory representation data corresponding to each of the multiple sets of trajectory data to obtain multiple trajectory categories; and to determine hotspot trajectories based on the motion trajectories included in each of the multiple trajectory categories.

[0014] Optionally, the trajectory simplification module is specifically used for:

[0015] Based on the position data, direction data, velocity data, and acceleration data included in the feature data of multiple sampling points in the trajectory data, the key point measurement threshold is determined;

[0016] For each pair of feature data corresponding to the trajectory data, the difference degree corresponding to the feature data pair is determined based on the position data, orientation data, velocity data and acceleration data included in each of the two feature data in the feature data pair; the sampling points corresponding to the two feature data in the feature data pair are adjacent on the motion trajectory, and the difference degree corresponding to the feature data pair is used to reflect the similarity of motion features between the sampling points corresponding to the two feature data.

[0017] The segmented key points are determined from the feature data pairs whose difference is greater than the key point measurement threshold.

[0018] Optionally, the trajectory clustering module is specifically used for:

[0019] By combining the simplified motion trajectories in pairs, multiple simplified motion trajectory pairs are obtained;

[0020] For each of the simplified motion trajectory pairs, the feature distance between the two simplified motion trajectories is determined based on the representation data of each of the two simplified motion trajectories included therein, and is used as the feature distance corresponding to the simplified motion trajectory pair;

[0021] Clustering is performed on the corresponding feature distances of the multiple simplified motion trajectories to obtain the multiple trajectory categories.

[0022] Optionally, the trajectory clustering module is specifically used for:

[0023] The representation data of the two simplified motion trajectories are mapped to Hilbert space respectively to obtain the mapping feature data of the two simplified motion trajectories.

[0024] Based on the Gaussian kernel function, the Gaussian kernel distance between the two simplified motion trajectories is determined according to their respective mapping feature data, and is used as the feature distance between the two simplified motion trajectories.

[0025] Optionally, the data acquisition module is specifically used for:

[0026] The feature data of the sampling points uploaded by the target plugin in the client of the target racing game are obtained. Based on the feature data of each sampling point uploaded by the target plugin in the same client in a racing game, a set of trajectory data is formed. The target plugin is used to collect the position data, direction data, speed data and acceleration data of the currently controlled virtual vehicle in the racing game.

[0027] Optionally, the target plugin collects the feature data in the following manner:

[0028] Determine the feature data acquisition function in the main game program of the client;

[0029] The next jump address of the feature data acquisition function is controlled to be the target plugin, so that the target plugin can obtain the position data, direction data, speed data and acceleration data of the virtual vehicle collected by the feature data acquisition function, and upload the position data, direction data, speed data and acceleration data of the virtual vehicle to the backend server;

[0030] The next jump address of the target plugin is controlled to return to the next jump address of the feature data acquisition function in the main game program.

[0031] Optionally, the trajectory clustering module body is used for:

[0032] The number of included motion trajectories that meets the preset conditions is determined as the hot spot trajectory category; the hot spot trajectory is determined based on the motion trajectories included in the hot spot trajectory category.

[0033] The device also includes a testing module, which is used to perform automated testing on the target racing game based on the hotspot trajectory.

[0034] A third aspect of this application provides a computer device, the device comprising a processor and a memory:

[0035] The memory is used to store computer programs;

[0036] The processor is configured to perform the steps of the hotspot trajectory extraction method as described in the first aspect above, according to the computer program.

[0037] A fourth aspect of this application provides a computer-readable storage medium for storing a computer program for performing the steps of the hotspot trajectory extraction method described in the first aspect.

[0038] A fifth aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps of the hotspot trajectory extraction method described in the first aspect.

[0039] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:

[0040] This application provides a method for extracting hotspot trajectories. The method includes: acquiring multiple sets of trajectory data generated by a target racing game, each set corresponding to the motion trajectory generated by a player controlling a virtual vehicle in the game; the trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory, with the feature data of the sampling points including the virtual vehicle's position, direction, speed, and acceleration data at that sampling point; for each set of trajectory data, determining segmented key points from the multiple sampling points based on their feature data, and using the feature data of these segmented key points to form a simplified motion trajectory representation; further, performing clustering processing based on the simplified motion trajectory representation data corresponding to each set of trajectory data to obtain multiple trajectory categories; and determining hotspot trajectories based on the motion trajectories included in each of the multiple trajectory categories. On the one hand, the above method uses trajectory data corresponding to the actual motion trajectory generated by the player in the target racing game to determine hotspot trajectories, ensuring that the determined hotspot trajectories accurately and reliably reflect the player's actual operating habits. On the other hand, before clustering the motion trajectories corresponding to multiple sets of trajectory data, the above method first determines the segmented key points on the motion trajectory corresponding to each set of trajectory data based on the feature data included in each set of trajectory data. Then, it uses the feature data of the segmented key points to form the corresponding simplified motion trajectory representation data, and performs clustering processing accordingly. In this way, the amount of data to be processed during clustering can be reduced, saving computing resources and improving computing efficiency. Moreover, because the segmented key points are extracted by referring to position data, direction data, velocity data, and acceleration data at the same time, the reliability of the extracted segmented key points is guaranteed. That is, the extracted segmented key points are the sampling points where the characteristics of racing car motion change, thereby ensuring the reliability of subsequent clustering processing. Attached Figure Description

[0041] Figure 1 This is a schematic diagram illustrating an application scenario of the hotspot trajectory extraction method provided in the embodiments of this application;

[0042] Figure 2 A flowchart illustrating the hotspot trajectory extraction method provided in this application embodiment;

[0043] Figure 3 A schematic diagram of the game interface of an exemplary target racing game provided in this application embodiment;

[0044] Figure 4 This application provides a schematic diagram of address jump principle based on hook technology in an embodiment of the present application.

[0045] Figure 5 A simplified schematic diagram of an exemplary motion trajectory provided for embodiments of this application;

[0046] Figure 6 This application provides schematic diagrams of hotspot trajectories in three game scenarios.

[0047] Figure 7 This is a schematic diagram of the hotspot trajectory extraction device provided in the embodiments of this application;

[0048] Figure 8 This is a schematic diagram of the structure of the terminal device provided in the embodiments of this application;

[0049] Figure 9 This is a schematic diagram of the server structure provided in an embodiment of this application. Detailed Implementation

[0050] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0051] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0052] To improve the accuracy of hotspot trajectories determined for racing games, and to ensure that the determined hotspot trajectories accurately and reliably reflect the operating habits of real players, this application provides a hotspot trajectory extraction method suitable for racing games.

[0053] Specifically, the hotspot trajectory extraction method includes: acquiring multiple sets of trajectory data generated by the target racing game, where each set of trajectory data corresponds to the motion trajectory generated by the player controlling a virtual vehicle in the target racing game. The trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory. The feature data of the sampling points includes the virtual vehicle's position data, direction data, speed data, and acceleration data at that sampling point. For each set of trajectory data, based on the feature data of the multiple sampling points included in the trajectory data, segmented key points are determined among the multiple sampling points included in the trajectory data, and the feature data of the segmented key points are used to form the simplified motion trajectory representation data corresponding to the trajectory data. Furthermore, based on the simplified motion trajectory representation data corresponding to each of the multiple sets of trajectory data, clustering processing is performed to obtain multiple trajectory categories; and based on the motion trajectories included in each of the multiple trajectory categories, hotspot trajectories are determined.

[0054] The aforementioned hotspot trajectory extraction method, on the one hand, utilizes trajectory data corresponding to the actual movement trajectories generated by players in the target racing game to determine hotspot trajectories, ensuring that the determined hotspot trajectories accurately and reliably reflect the players' actual operating habits. On the other hand, before clustering the movement trajectories corresponding to multiple sets of trajectory data, the method first determines the segmented key points on the movement trajectory corresponding to each set of trajectory data based on the feature data included in each set of trajectory data. Then, it uses the feature data of the segmented key points to form the corresponding simplified movement trajectory representation data, and performs clustering processing accordingly. In this way, it can reduce the amount of data to be processed during clustering, save computing resources, and improve computing efficiency. Furthermore, because it simultaneously references position data, direction data, velocity data, and acceleration data to extract segmented key points, it ensures the reliability of the extracted segmented key points, that is, it ensures that the extracted segmented key points are sampling points where the characteristics of racing car movement change, thereby ensuring the reliability of subsequent clustering processing, and thus ensuring the accuracy and reliability of the determined hotspot trajectories.

[0055] It should be understood that the hotspot trajectory extraction method provided in this application embodiment can be executed by a computer device with data processing capabilities, which can be a terminal device or a server. Terminal devices include, but are not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, and aircraft. Servers can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers.

[0056] To facilitate understanding of the hotspot trajectory extraction method provided in this application embodiment, the following example uses a server as the execution subject of the hotspot trajectory extraction method to illustrate its application scenarios.

[0057] See Figure 1 , Figure 1 This is a schematic diagram illustrating an application scenario of the hotspot trajectory extraction method provided in the embodiments of this application. For example... Figure 1 As shown, this application scenario includes terminal devices 110, 111, 112, ..., 11n, and server 120. Each terminal device can communicate with server 120 via a network. Terminal devices 110, 111, 112, ..., and 11n all run a client for the target racing game, meaning that each terminal device supports users controlling virtual vehicles to participate in the racing game through the target racing game client. Server 120 is used to execute the hotspot trajectory extraction method provided in this embodiment to determine the hotspot trajectory of the target racing game.

[0058] In practical applications, terminal devices 110, 111, 112, ... and 11n can upload trajectory data corresponding to the motion trajectory generated by the user controlling the virtual vehicle in the target racing game to server 120 via the network; the trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory, and the feature data of the sampling points include the virtual vehicle's position data, direction data, speed data and acceleration data at the sampling point.

[0059] For each set of received trajectory data, server 120 can determine segmented key points based on the feature data of multiple sampling points included in the trajectory data. These segmented key points are points on the motion trajectory corresponding to the trajectory data where the motion characteristics change significantly. Then, using the feature data of each segmented key point, a simplified motion trajectory representation is constructed; that is, the motion trajectory corresponding to the trajectory data is simplified using each segmented key point to obtain the corresponding simplified motion trajectory.

[0060] After determining the simplified motion trajectory representation data corresponding to each group of received trajectory data, server 120 can perform clustering processing based on the simplified motion trajectory representation data corresponding to each group of trajectory data to obtain multiple trajectory categories; that is, clustering processing is performed on the simplified motion trajectories corresponding to each group of trajectory data to obtain multiple trajectory categories. Furthermore, server 120 can determine the hotspot trajectories corresponding to the target racing game based on the motion trajectories included in each of the multiple trajectory categories; these hotspot trajectories are those where virtual vehicles in the target racing game travel with high frequency.

[0061] It should be understood that Figure 1The application scenarios shown are merely examples. In practical applications, the hotspot trajectory extraction method provided in this application embodiment can also be applied to other scenarios. No limitations are made here on the application scenarios of the hotspot trajectory extraction method provided in this application embodiment.

[0062] The hotspot trajectory extraction method provided in this application will be described in detail below through method embodiments.

[0063] See Figure 2 , Figure 2 This is a flowchart illustrating the hotspot trajectory extraction method provided in this application. For ease of description, the following embodiments will still use a server as the execution subject of this hotspot trajectory extraction method. Figure 2 As shown, the hotspot trajectory extraction method includes the following steps:

[0064] Step 201: Obtain multiple sets of trajectory data generated by the target racing game; each set of trajectory data corresponds to the motion trajectory generated by the player controlling the virtual vehicle in the target racing game, and the trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory. The feature data of the sampling points includes the position data, direction data, speed data and acceleration data of the virtual vehicle at the sampling point.

[0065] In this embodiment, the server can acquire multiple sets of trajectory data generated by the target racing game. Here, the trajectory data generated by the target racing game corresponds to the motion trajectory generated by the player controlling the virtual vehicle in the target racing game; it can also be understood as reflecting the motion trajectory generated by the virtual vehicle controlled by the player in the target racing game. The trajectory data includes feature data from multiple sampling points on the corresponding motion trajectory. The feature data of each sampling point includes the virtual vehicle's position data, direction data, speed data, and acceleration data at that sampling point. In other words, during the process of the player controlling the virtual vehicle through the target racing game, the terminal device running the target racing game can determine sampling points on the virtual vehicle's motion trajectory and correspondingly collect the virtual vehicle's position data, direction data, speed data, and acceleration data at those sampling points.

[0066] It should be noted that the target racing game in this application embodiment can be any game that allows players to control virtual vehicles in a virtual game environment. Figure 3 This is a schematic diagram of the game interface of an exemplary target racing game.

[0067] In related technologies, obtaining the aforementioned feature data from the target racing game requires project development support and separate reporting of specified data to the server. This increases the difficulty of obtaining feature data and fails to meet the timeliness requirements of automatic trajectory extraction. To solve this problem, this application embodiment develops a Software Development Kit (SDK) plugin (hereinafter referred to as the target plugin) using hook technology without relying on the game project. Simply deploying this target plugin on the client of the target racing game enables automatic collection and reporting of relevant game data. The hook technology here allows the hook program to capture the data required by the target function before the system calls it, thus gaining control of the data.

[0068] That is, the server can obtain the feature data of the sampling points uploaded by the target plugin in the client of the target racing game, and then form a set of trajectory data based on the feature data of each sampling point uploaded by the target plugin in the same client in a racing game; the target plugin is used to collect the position data, direction data, speed data and acceleration data of the currently controlled virtual vehicle in the racing game.

[0069] Specifically, in this embodiment, a target plugin can be installed in the client of the target racing game. When a player controls a virtual vehicle through the target racing game, the target plugin can capture the virtual vehicle's position, direction, speed, and acceleration data at sampling points, i.e., capture the feature data of those sampling points. Then, the target plugin can upload the captured feature data of the sampling points to a server via a network. For the server, the feature data of each sampling point uploaded by the target plugin in a client can be arranged according to the order in which the feature data is received, resulting in a set of trajectory data. This set of trajectory data corresponds to the motion trajectory generated by the player controlling the virtual vehicle through the client.

[0070] It should be noted that, in this embodiment, the target plugin's collection of feature data from sampling points on the virtual vehicle's trajectory and its uploading of this feature data to the server both require authorization from the user of the target racing game's client. That is, before the user participates in the racing game, the target racing game's client can display an authorization prompt, asking the user whether they allow the target plugin to collect feature data from sampling points on the virtual vehicle's trajectory during the game. If the user confirms permission for the target plugin to collect feature data, the target plugin can normally collect feature data from the virtual vehicle controlled by the user at each sampling point during the game and upload it to the server accordingly. If the user does not allow the target plugin to collect feature data, or if no confirmation from the user is detected, the target plugin will be unable to collect the relevant feature data.

[0071] In practical applications, the aforementioned target plugin can collect feature data in the following ways: A feature data collection function is determined in the client's main game program; the next jump address of this feature data collection function is controlled to be the target plugin, so that the target plugin can obtain the virtual vehicle's position data, direction data, speed data, and acceleration data collected by the feature data collection function, and upload the virtual vehicle's position data, direction data, speed data, and acceleration data to the backend server; then, the next jump address of the target plugin is controlled to return to the next jump address of the feature data collection function in the game's main program.

[0072] See Figure 4 , Figure 4 This is a diagram illustrating the address redirection principle based on hook technology, provided for an embodiment of this application. Figure 4 As shown, the left side represents the client's main game program, which includes a feature data acquisition function. This function collects position, direction, speed, and acceleration data of the virtual vehicle controlled by the player during gameplay. For clients with a target plugin installed, the next-hop address of this feature data acquisition function can be set to the target plugin. Correspondingly, the target plugin can obtain the position, direction, speed, and acceleration data of the virtual vehicle collected by this feature data acquisition function, and then send this data to the server over the network. To ensure that the insertion of the target plugin does not affect the normal operation of the main game program, the next-hop address of the target plugin can be set to the normal next-hop address of the feature data acquisition function in the main game program, i.e., returning to the main game program to continue normal execution.

[0073] In this way, without affecting the operation of the main game program, the target plugin can obtain the position data, direction data, speed data and acceleration data of the virtual vehicle during the game, thus ensuring the timeliness of the trajectory data.

[0074] The development process of the target plugin described above is illustrated below. Specifically, you can first rely on an open-source hook framework, create a new Android dynamic library project using VS2019, write the hook function in C, and finally configure the compilation file (.mk) to generate the dynamic link library (.so). Then, implement dynamic calling in the target plugin. In the header file of the hook's main function, you need to use `#define` to export the DLL, as shown in the following code:

[0075] #define EXPORT_DLL_declspec(dllexport) / / Export DLL declaration

[0076] Then, a C# project was created using VS (.NET 4.0), and a target plugin was written that references the Unity engine's DLL file. Within this target plugin, the corresponding functions in the .so file were called using dllimport. The specific code is as follows:

[0077] [DllImport(“NativeCode”)]

[0078] public static extern int MyAddFunc(int x,int y);

[0079] The following is an example of obtaining virtual vehicle location data using hook technology:

[0080] Hook( / / / .so,old_func,new_func)

[0081] Here, / / / .so uses regular expression matching to find the dynamic link library where old_func is located.

[0082] The logic for retrieving relevant data is implemented in the `new_func` function. For example, the game object can be retrieved by hooking the `update` function, and then the object's location information can be obtained.

[0083] Vector position=object.transform.position

[0084] Quaternion origin==object.transform.rotation

[0085] Here, `transform` is an `object` component that includes the object's position data. Using a similar approach, the direction, speed, and acceleration data of the virtual vehicle in the game can be obtained. The feature data collected by integrating the target component into the client can be illustrated in Table 1 below:

[0086] Table 1

[0087] Pos.x Pos.y Pos.z Rw Rx Ry Rz t v a 180.3 -9.31 220.1 -0.02 0.7 0.02 0.71 223.1 120.3 8.7

[0088] Among them, Pos.x, Pos.y, and Pos.z represent the position data of the virtual vehicle in the game scene, Rw, Rx, Ry, and Rz represent the orientation data of the virtual vehicle in the game scene, t represents the sampling time point of the feature data, v represents the velocity data of the virtual vehicle, and a represents the acceleration data of the virtual vehicle.

[0089] It should be understood that the above method of obtaining trajectory data generated by the target racing game is only an example. In practical applications, trajectory data can also be obtained through other methods. This application does not limit the method of obtaining trajectory data in any way.

[0090] Step 202: For each set of trajectory data, based on the feature data of multiple sampling points included in the trajectory data, determine segment key points among the multiple sampling points; and use the feature data of the segment key points to form a simplified motion trajectory representation data corresponding to the trajectory data.

[0091] After acquiring the trajectory data, the server can simplify the motion trajectory corresponding to each set of trajectory data to obtain a simplified motion trajectory. Specifically, for each set of trajectory data, segmented key points can be determined based on the feature data of multiple sampling points included in the set of trajectory data. These segmented key points are sampling points where the motion characteristics on the corresponding motion trajectory of the trajectory data change significantly. Furthermore, the feature data of each determined segmented key point can be used to compose the representation data of the simplified motion trajectory corresponding to the trajectory data, that is, the motion trajectory corresponding to the trajectory data is simplified using each segmented key point to obtain the simplified motion trajectory.

[0092] In related technologies, when clustering multiple trajectories, clustering is usually based on the position data of each sampling point on each trajectory. Typically, a trajectory includes a large number of sampling points, and traditional trajectory clustering algorithms have high time complexity, require significant computational resources, and are computationally inefficient. To address this issue, this application proposes a scheme that simplifies motion trajectories using segmented key points. In subsequent clustering processing of the motion trajectories, clustering is performed based on the feature data of these segmented key points. This reduces the amount of data to be processed during trajectory clustering, decreases the computational resources required, and improves computational efficiency.

[0093] In specific implementation, for each set of trajectory data, the server can determine the key point measurement threshold based on the position data, orientation data, velocity data, and acceleration data included in the feature data of multiple sampling points in the set of trajectory data; for each feature data pair corresponding to the set of trajectory data, the server can determine the difference degree corresponding to the feature data pair based on the position data, orientation data, velocity data, and acceleration data included in the two feature data pairs; the sampling points corresponding to the two feature data pairs in the feature data pair are adjacent on the motion trajectory, and the difference degree corresponding to the feature data pair is used to reflect the similarity of motion features between the sampling points corresponding to the two feature data pairs; then, in the feature data pairs whose corresponding difference degree is greater than the key point measurement threshold, segmented key points are determined.

[0094] For example, suppose the feature data of each sampling point in the trajectory data is represented as P, P = {p, ω, v, a}, where p is the position data of the sampling point, ω is the orientation data of the virtual vehicle at the sampling point, v is the velocity data of the virtual vehicle at the sampling point, and a is the acceleration data of the virtual vehicle at the sampling point.

[0095] In this embodiment, a random sampling method can be used to determine the key point measurement threshold based on the feature data included in the trajectory data. This key point measurement threshold is used to measure whether a sampled point on the motion trajectory corresponding to the trajectory data is a segmented key point. Specifically, the average difference threshold between sampled points on the same motion trajectory under a normal distribution can be obtained through random sampling, for example, by the following formula:

[0096] avg thresold =F sample (P)

[0097] Among them, avg thresold F represents the average difference between sampling points on the motion trajectory. sample () represents a function that calculates the average threshold based on a normal distribution.

[0098] Then, the above-mentioned average difference threshold is adjusted based on a preset scaling factor to obtain the key point measurement threshold, which is specifically obtained by the following formula:

[0099] segement thresold =scale*avg thresold

[0100] Among them, segement thresold Here, 'scale' is the threshold for keypoint measurement, and 'scale' is a scaling factor, which can be set by relevant technical personnel based on historical experience. Thus, the above formula modifies the average difference threshold under a normal distribution into a keypoint measurement threshold used to determine whether a sampling point is a segmented keypoint.

[0101] In addition to determining the keypoint measurement threshold, it is also necessary to iterate through and detect whether each sampling point on the motion trajectory is a segmented keypoint. Specifically, feature data of each pair of adjacent sampling points on the motion trajectory can be used to form a feature data pair. Based on the feature data of each of the two sampling points in the feature data pair, the difference between the two sampling points is determined. Then, this difference is compared with the previously determined keypoint measurement threshold to determine whether there is a segmented keypoint among the two sampling points.

[0102] For example, for each constructed feature data pair, the server can calculate the difference between the two feature data points included in the feature data pair based on the Hausdorf distance formula. More specifically, the server can calculate the difference between the position data, orientation data, velocity data, and acceleration data included in each of the two feature data points in the feature data pair based on the Hausdorf distance formula. Then, the server performs a weighted summation of the difference between the position data, orientation data, velocity data, and acceleration data to obtain the difference for the feature data pair. This difference reflects the similarity of motion features between the sampling points corresponding to the two feature data points in the feature data pair. The Hausdorf distance formula is shown below:

[0103] d H (X,Y)=max{sup x∈X inf y∈Y d(x,y),sup y∈Y inf x∈X d(x,y)}

[0104] Where, d H(X,Y) represents the difference based on the Hausdorf distance formula. X and Y can represent the position data, orientation data, velocity data, or acceleration data included in each of the two feature data in the feature data pair.

[0105] The method for calculating the dissimilarity of feature data pairs is as follows:

[0106] D = w1 * d H (p1,p2)+w2*d H (ω1,ω2)+w3*d H (v1,v2)+w4*d H (a1,a2)

[0107] Where D represents the difference degree corresponding to the feature data pair, and w1, w2, w3, and w4 are the weights of the difference degree of position data, orientation data, velocity data, and acceleration data, respectively, which can be set according to actual needs; d H (p1,p2),d H (ω1,ω2),d H (v1,v2) and d H (a1, a2) represent the differences between the position data, orientation data, velocity data, and acceleration data of the two feature data in the feature data pair, respectively.

[0108] For feature data pairs where the difference exceeds the keypoint measurement threshold, the server can determine segmented keypoints from the sampling points corresponding to each of the two feature data pairs. For example, the sampling point located later on the motion trajectory can be identified as a segmented keypoint. Furthermore, the feature data of each segmented keypoint determined in the above manner can be used to construct a simplified motion trajectory representation; that is, the motion trajectory corresponding to the trajectory data is simplified using each segmented keypoint to obtain a simplified motion trajectory. Figure 5 A simplified schematic diagram of an exemplary motion trajectory is provided for embodiments of this application, such as... Figure 5 As shown, for the curved trajectory represented by the solid line, the server determines the segmented key points A, B, C, D, and E on it through the above processing. By connecting the segmented key points A, B, C, D, and E in sequence, the desired result can be obtained. Figure 5 The simplified motion trajectory is shown by the dashed line.

[0109] Step 203: Perform clustering processing on the simplified motion trajectory representation data corresponding to each of the multiple sets of trajectory data to obtain multiple trajectory categories; determine hotspot trajectories based on the motion trajectories included in each of the multiple trajectory categories.

[0110] After determining the simplified motion trajectory representation data corresponding to each group of trajectory data in step 202, the server can perform clustering processing on the motion trajectories corresponding to each group of trajectory data based on the simplified motion trajectory representation data, thereby obtaining multiple trajectory categories. Furthermore, based on the motion trajectories included in each of these multiple trajectory categories, hotspot trajectories that can be used for automated testing of the target racing game can be determined.

[0111] Traditional trajectory clustering algorithms often only consider geometric similarity when clustering motion trajectories. This approach fails to meet the requirements of spatiotemporal similarity and motion feature similarity in racing games. This application's embodiment considers multi-dimensional features such as position, direction, velocity, and acceleration data of key points along the trajectory segments during trajectory clustering. This ensures that trajectories within the same clustered category meet the requirements for spatiotemporal similarity and motion feature similarity.

[0112] In one possible implementation, the server can perform trajectory clustering as follows: combine each simplified motion trajectory in pairs to obtain multiple simplified motion trajectory pairs; for each simplified motion trajectory pair, determine the feature distance between the two simplified motion trajectories based on the representation data of the two simplified motion trajectories included, and use this as the feature distance corresponding to the simplified motion trajectory pair; then, perform clustering processing based on the feature distances corresponding to each simplified motion trajectory pair to obtain multiple trajectory categories.

[0113] For each simplified motion trajectory determined in step 202, the server can combine these simplified motion trajectories in pairs to obtain multiple simplified motion trajectory pairs, each consisting of two simplified motion trajectories. For each simplified motion trajectory pair, the server can calculate the feature distance between the two simplified motion trajectories using a Gaussian kernel function.

[0114] Specifically, the server can map the representation data of each of the two simplified motion trajectories in the simplified motion trajectory pair to the Hilbert space respectively to obtain the mapping feature data of each of the two simplified motion trajectories; then, based on the Gaussian kernel function, the Gaussian kernel distance between the two simplified motion trajectories is determined according to the mapping feature data of each of the two simplified motion trajectories, and is used as the feature distance between the two simplified motion trajectories.

[0115] For example, assuming the representations of the two simplified motion trajectories in a simplified motion trajectory pair are X and Y, the server can map these two representations to Hilbert spaces respectively, that is, map low-dimensional inseparable features to a high-dimensional separable Hilbert space for subsequent calculation of Gaussian kernel distance; specifically, the mapping of Hilbert space can be achieved as follows:

[0116]

[0117] Where φ(x) represents the mapping result of data X in Hilbert space, and φ(y) represents the mapping result of data Y in Hilbert space.

[0118] Substituting φ(x) and φ(y) into the following distance calculation formula, we can obtain the distance between data representing X and data representing Y in Hilbert space:

[0119]

[0120] Decomposing the above distance calculation formula (1), we get the following formula (2):

[0121]

[0122] After transforming equation (2) above, we obtain equation (3) below:

[0123]

[0124] This application uses Gaussian kernel distance as a metric to simplify the feature distance between motion trajectories. The formula for Gaussian kernel distance is as follows:

[0125]

[0126] For formula (3) obtained by transforming the distance calculation formula, where K rbf (X,X)=1,K rbf (Y,Y)=1, therefore the Gaussian kernel distance formula shown in equation (4) can be derived as follows:

[0127]

[0128] Thus, the Gaussian kernel distance between the two simplified motion trajectories in each simplified motion trajectory pair can be calculated using the above method, that is, the feature distance corresponding to each simplified motion trajectory pair can be calculated.

[0129] Furthermore, algorithms such as DBSCN can be used to cluster simplified trajectory pairs into multiple trajectory categories based on their respective feature distances. Specifically, simplified trajectories in pairs with smaller feature distances are grouped into the same simplified trajectory category. Each simplified trajectory category corresponds to a single trajectory category, with each simplified trajectory within that category corresponding to the trajectories in the corresponding trajectory category. In other words, based on the feature distances of each simplified trajectory pair, multiple simplified trajectory categories can be clustered, with each category containing several simplified trajectories with small feature distances. Then, the corresponding trajectories within each simplified trajectory category are used to form the corresponding trajectory category.

[0130] Ultimately, the number of motion trajectories included can be determined to meet the preset conditions for trajectory categories, which are then identified as hotspot trajectory categories. Based on the motion trajectories included in these hotspot trajectory categories, hotspot trajectories are determined. Accordingly, based on the hotspot trajectories, the target racing game can be automatically tested.

[0131] For example, the server can sort the trajectory categories in descending order of the number of motion trajectories included in each category, and then determine the top n (n is an integer greater than or equal to 1) trajectory categories as hotspot trajectory categories. Furthermore, for each hotspot trajectory category, the server can perform normalization processing on the motion trajectories it includes, such as by performing a weighted average of the motion trajectories to obtain the hotspot trajectory. Figure 6 The diagram illustrates hotspot trajectories in three game scenarios provided in this application embodiment, where the bolded motion trajectories represent the hotspot trajectories in the game scenarios. Furthermore, the server can perform automated testing of the target racing game based on the hotspot trajectories determined in the above manner; for example, it can self-drive full-link map running under hotspot trajectories, and multiple terminal devices can automatically replay hotspot trajectories based on them, etc.

[0132] The aforementioned hotspot trajectory extraction method, on the one hand, utilizes trajectory data corresponding to the actual movement trajectories generated by players in the target racing game to determine hotspot trajectories, ensuring that the determined hotspot trajectories accurately and reliably reflect the players' actual operating habits. On the other hand, before clustering the movement trajectories corresponding to multiple sets of trajectory data, the method first determines the segmented key points on the movement trajectory corresponding to each set of trajectory data based on the feature data included in each set of trajectory data. Then, it uses the feature data of the segmented key points to form the corresponding simplified movement trajectory representation data, and performs clustering processing accordingly. In this way, it can reduce the amount of data to be processed during clustering, save computing resources, and improve computing efficiency. Furthermore, because it simultaneously references position data, direction data, velocity data, and acceleration data to extract segmented key points, it ensures the reliability of the extracted segmented key points, that is, it ensures that the extracted segmented key points are sampling points where the characteristics of racing car movement change, thereby ensuring the reliability of subsequent clustering processing, and thus ensuring the accuracy and reliability of the determined hotspot trajectories.

[0133] In response to the hotspot trajectory extraction method described above, this application also provides a corresponding hotspot trajectory extraction device, so that the above hotspot trajectory extraction method can be applied and implemented in practice.

[0134] See Figure 7 , Figure 7 This is consistent with the above text Figure 2 The diagram shows a schematic of a hotspot trajectory extraction device 700 corresponding to the hotspot trajectory extraction method shown. Figure 7 As shown, the hotspot trajectory extraction device 700 includes:

[0135] The data acquisition module 701 is used to acquire multiple sets of trajectory data generated by the target racing game; each set of trajectory data corresponds to the motion trajectory generated by the player controlling the virtual vehicle in the target racing game, and the trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory. The feature data of the sampling points includes the position data, direction data, speed data and acceleration data of the virtual vehicle at the sampling point.

[0136] The trajectory simplification module 702 is used to determine segmentation key points among the multiple sampling points included in the trajectory data for each group of trajectory data; and to use the feature data of the segmentation key points to form the simplified motion trajectory representation data corresponding to the trajectory data.

[0137] The trajectory clustering module 703 is used to perform clustering processing based on the simplified motion trajectory representation data corresponding to each of the multiple sets of trajectory data to obtain multiple trajectory categories; and to determine hotspot trajectories based on the motion trajectories included in each of the multiple trajectory categories.

[0138] Optionally, the trajectory simplification module 702 is specifically used for:

[0139] Based on the position data, direction data, velocity data, and acceleration data included in the feature data of multiple sampling points in the trajectory data, the key point measurement threshold is determined;

[0140] For each pair of feature data corresponding to the trajectory data, the difference degree corresponding to the feature data pair is determined based on the position data, orientation data, velocity data and acceleration data included in each of the two feature data in the feature data pair; the sampling points corresponding to the two feature data in the feature data pair are adjacent on the motion trajectory, and the difference degree corresponding to the feature data pair is used to reflect the similarity of motion features between the sampling points corresponding to the two feature data.

[0141] The segmented key points are determined from the feature data pairs whose difference is greater than the key point measurement threshold.

[0142] Optionally, the trajectory clustering module 703 is specifically used for:

[0143] By combining the simplified motion trajectories in pairs, multiple simplified motion trajectory pairs are obtained;

[0144] For each of the simplified motion trajectory pairs, the feature distance between the two simplified motion trajectories is determined based on the representation data of each of the two simplified motion trajectories included therein, and is used as the feature distance corresponding to the simplified motion trajectory pair;

[0145] Clustering is performed on the corresponding feature distances of the multiple simplified motion trajectories to obtain the multiple trajectory categories.

[0146] Optionally, the trajectory clustering module 703 is specifically used for:

[0147] The representation data of the two simplified motion trajectories are mapped to Hilbert space respectively to obtain the mapping feature data of the two simplified motion trajectories.

[0148] Based on the Gaussian kernel function, the Gaussian kernel distance between the two simplified motion trajectories is determined according to their respective mapping feature data, and is used as the feature distance between the two simplified motion trajectories.

[0149] Optionally, the data acquisition module 701 is specifically used for:

[0150] The feature data of the sampling points uploaded by the target plugin in the client of the target racing game are obtained. Based on the feature data of each sampling point uploaded by the target plugin in the same client in a racing game, a set of trajectory data is formed. The target plugin is used to collect the position data, direction data, speed data and acceleration data of the currently controlled virtual vehicle in the racing game.

[0151] Optionally, the target plugin collects the feature data in the following manner:

[0152] Determine the feature data acquisition function in the main game program of the client;

[0153] The next jump address of the feature data acquisition function is controlled to be the target plugin, so that the target plugin can obtain the position data, direction data, speed data and acceleration data of the virtual vehicle collected by the feature data acquisition function, and upload the position data, direction data, speed data and acceleration data of the virtual vehicle to the backend server;

[0154] The next jump address of the target plugin is controlled to return to the next jump address of the feature data acquisition function in the main game program.

[0155] Optionally, the trajectory clustering module 703 is specifically used for:

[0156] The number of included motion trajectories that meets the preset conditions is determined as the hot spot trajectory category; the hot spot trajectory is determined based on the motion trajectories included in the hot spot trajectory category.

[0157] The device also includes a testing module, which is used to perform automated testing on the target racing game based on the hotspot trajectory.

[0158] The aforementioned hotspot trajectory extraction device, on the one hand, utilizes trajectory data corresponding to the actual movement trajectories generated by players in the target racing game to determine hotspot trajectories, ensuring that the determined hotspot trajectories accurately and reliably reflect the players' actual operating habits. On the other hand, before clustering the movement trajectories corresponding to multiple sets of trajectory data, the device first determines the segmented key points on the movement trajectory corresponding to each set of trajectory data based on the feature data included in each set of trajectory data. Then, it uses the feature data of the segmented key points to form the corresponding simplified movement trajectory representation data, and performs clustering processing accordingly. In this way, it can reduce the amount of data to be processed during clustering, save computing resources, and improve computing efficiency. Furthermore, because it simultaneously references position data, direction data, speed data, and acceleration data to extract segmented key points, it ensures the reliability of the extracted segmented key points, that is, it ensures that the extracted segmented key points are sampling points where the characteristics of racing car movement change, thereby ensuring the reliability of subsequent clustering processing, and thus ensuring the accuracy and reliability of the determined hotspot trajectories.

[0159] This application also provides a computer device for extracting hotspot trajectories. This device may specifically be a terminal device or a server. The terminal device and server provided in this application will be described below from the perspective of hardware implementation.

[0160] See Figure 8 , Figure 8 This is a schematic diagram of the structure of the terminal device provided in the embodiments of this application. For example... Figure 8 As shown, for ease of explanation, only the parts related to the embodiments of this application are shown. For specific technical details not disclosed, please refer to the method section of the embodiments of this application. The terminal can be any terminal device including mobile phones, tablets, personal digital assistants (PDAs), point-of-sale (POS) terminals, in-vehicle computers, etc. Taking a computer as an example:

[0161] Figure 8 This is a block diagram illustrating a portion of the structure of a computer associated with the terminal provided in an embodiment of this application. (Reference) Figure 8 The computer includes: a radio frequency (RF) circuit 810, a memory 820, an input unit 830 (including a touch panel 831 and other input devices 832), a display unit 840 (including a display panel 841), a sensor 850, an audio circuit 860 (which can connect to a speaker 861 and a microphone 862), a wireless fidelity (WiFi) module 870, a processor 880, and a power supply 890, etc. Those skilled in the art will understand that... Figure 8The computer architecture shown does not constitute a limitation on the computer and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0162] The memory 820 can be used to store software programs and modules. The processor 880 executes various computer functions and data processing by running the software programs and modules stored in the memory 820. The memory 820 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the computer (such as audio data, telephone directory, etc.). In addition, the memory 820 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0163] The processor 880 is the control center of the computer, connecting various parts of the computer through various interfaces and lines. It performs various computer functions and processes data by running or executing software programs and / or modules stored in the memory 820, and by calling data stored in the memory 820. Optionally, the processor 880 may include one or more processing units; preferably, the processor 880 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into the processor 880.

[0164] In this embodiment of the application, the processor 880 included in the terminal is also used to execute the steps of any implementation of the hotspot trajectory extraction method provided in this embodiment of the application.

[0165] See Figure 9 , Figure 9This is a schematic diagram of the structure of a server 900 provided in an embodiment of this application. The server 900 can vary significantly due to different configurations or performance, and may include one or more central processing units (CPUs) 922 (e.g., one or more processors) and memory 932, and one or more storage media 930 (e.g., one or more mass storage devices) for storing application programs 942 or data 944. The memory 932 and storage media 930 can be temporary or persistent storage. The program stored in the storage media 930 may include one or more modules (not shown in the diagram), each module including a series of instruction operations on the server. Furthermore, the CPU 922 may be configured to communicate with the storage media 930 and execute the series of instruction operations in the storage media 930 on the server 900.

[0166] Server 900 may also include one or more power supplies 926, one or more wired or wireless network interfaces 950, one or more input / output interfaces 958, and / or one or more operating systems, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM etc.

[0167] The steps performed by the server in the above embodiments can be based on this Figure 9 The server structure shown.

[0168] The CPU 922 can also be used to execute any of the steps of the hotspot trajectory extraction method provided in the embodiments of this application.

[0169] This application also provides a computer-readable storage medium for storing a computer program that executes any one of the implementation methods for hotspot trajectory extraction described in the foregoing embodiments.

[0170] This application also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform any of the implementation methods for hotspot trajectory extraction described in the foregoing embodiments.

[0171] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0172] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0173] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0174] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0175] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing computer programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0176] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0177] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A method for extracting hotspot trajectories, characterized in that, The method includes: Acquire multiple sets of trajectory data generated by the target racing game; each set of trajectory data corresponds to the motion trajectory generated by the player controlling the virtual vehicle in the target racing game, and the trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory. The feature data of the sampling points includes the position data, direction data, speed data and acceleration data of the virtual vehicle at the sampling point. For each set of trajectory data, based on the feature data of multiple sampling points included in the trajectory data, segmentation key points are determined among the multiple sampling points. The segmentation key points are sampling points on the motion trajectory corresponding to the trajectory data where the motion characteristics change. Then, using the feature data of the segmentation key points, a simplified motion trajectory representation data corresponding to the trajectory data is formed. The simplified motion trajectory is a motion trajectory obtained by sequentially connecting each segmentation key point. Clustering is performed on the simplified motion trajectory representations corresponding to each of the multiple sets of trajectory data to obtain multiple trajectory categories; based on the motion trajectories included in each of the multiple trajectory categories, hotspot trajectories are determined, and the hotspot trajectories reflect the player's operating habits.

2. The method according to claim 1, characterized in that, The step of determining segmentation key points from among the multiple sampling points based on feature data included in the trajectory data includes: Based on the position data, direction data, velocity data and acceleration data of each of the multiple sampling points in the trajectory data, a key point measurement threshold is determined. The key point measurement threshold is used to measure whether the sampling points on the motion trajectory corresponding to the trajectory data are segmented key points. For each pair of feature data corresponding to the trajectory data, the difference degree corresponding to the feature data pair is determined based on the position data, orientation data, velocity data and acceleration data included in each of the two feature data in the feature data pair; the sampling points corresponding to the two feature data in the feature data pair are adjacent on the motion trajectory, and the difference degree corresponding to the feature data pair is used to reflect the similarity of motion features between the sampling points corresponding to the two feature data. The segmented key points are determined from the feature data pairs whose difference is greater than the key point measurement threshold.

3. The method according to claim 1 or 2, characterized in that, The simplified motion trajectory representations corresponding to each of the multiple sets of trajectory data are clustered to obtain multiple trajectory categories, including: By combining the simplified motion trajectories in pairs, multiple simplified motion trajectory pairs are obtained; For each of the simplified motion trajectory pairs, the feature distance between the two simplified motion trajectories is determined based on the representation data of each of the two simplified motion trajectories included therein, and is used as the feature distance corresponding to the simplified motion trajectory pair; Clustering is performed on the corresponding feature distances of the multiple simplified motion trajectories to obtain the multiple trajectory categories.

4. The method according to claim 3, characterized in that, The step of determining the feature distance between the two simplified motion trajectories based on their respective representation data includes: The representation data of the two simplified motion trajectories are mapped to Hilbert space respectively to obtain the mapping feature data of the two simplified motion trajectories. Based on the Gaussian kernel function, the Gaussian kernel distance between the two simplified motion trajectories is determined according to their respective mapping feature data, and is used as the feature distance between the two simplified motion trajectories.

5. The method according to claim 1, characterized in that, The acquisition of multiple sets of trajectory data generated by the target racing game includes: The feature data of the sampling points uploaded by the target plugin in the client of the target racing game are obtained. Based on the feature data of each sampling point uploaded by the target plugin in the same client in a racing game, a set of trajectory data is formed. The target plugin is used to collect the position data, direction data, speed data and acceleration data of the currently controlled virtual vehicle in the racing game.

6. The method according to claim 5, characterized in that, The target plugin collects the feature data in the following ways: Determine the feature data acquisition function in the main game program of the client; The next jump address of the feature data acquisition function is controlled to be the target plugin, so that the target plugin can obtain the position data, direction data, speed data and acceleration data of the virtual vehicle collected by the feature data acquisition function, and upload the position data, direction data, speed data and acceleration data of the virtual vehicle to the backend server; The next jump address of the target plugin is controlled to return to the next jump address of the feature data acquisition function in the main game program.

7. The method according to claim 1, characterized in that, The step of determining hotspot trajectories based on the motion trajectories included in each of the multiple trajectory categories includes: The number of included motion trajectories that meets the preset conditions is determined as the hot spot trajectory category; the hot spot trajectory is determined based on the motion trajectories included in the hot spot trajectory category. The method further includes: Based on the aforementioned hotspot trajectories, the target racing game is subjected to automated testing.

8. A hotspot trajectory extraction device, characterized in that, The device includes: The data acquisition module is used to acquire multiple sets of trajectory data generated by the target racing game; each set of trajectory data corresponds to the motion trajectory generated by the player controlling the virtual vehicle in the target racing game, and the trajectory data includes feature data of multiple sampling points on the corresponding motion trajectory. The feature data of the sampling points includes the position data, direction data, speed data and acceleration data of the virtual vehicle at the sampling point. The trajectory simplification module is used to determine segment key points among multiple sampling points in each set of trajectory data based on the feature data of the multiple sampling points included in the trajectory data. The segment key points are sampling points on the motion trajectory corresponding to the trajectory data where the motion characteristics change. The module also uses the feature data of the segment key points to form the representation data of the simplified motion trajectory corresponding to the trajectory data. The simplified motion trajectory is the motion trajectory obtained by sequentially connecting the segment key points. The trajectory clustering module is used to perform clustering processing based on the simplified motion trajectory representation data corresponding to each of the multiple sets of trajectory data to obtain multiple trajectory categories; based on the motion trajectories included in each of the multiple trajectory categories, hotspot trajectories are determined, and the hotspot trajectories reflect the player's operating habits.

9. A computer device, characterized in that, The device includes a processor and a memory; The memory is used to store computer programs; The processor is configured to execute the hotspot trajectory extraction method according to any one of claims 1 to 7 according to the computer program.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program for executing the hotspot trajectory extraction method according to any one of claims 1 to 7.

11. A computer program product, characterized in that, The computer program product includes computer instructions, and the processor of the computer device executes the computer instructions to cause the computer device to perform the hotspot trajectory extraction method according to any one of claims 1 to 7.