A method and system for automatically correcting game controller drift fault
By obtaining the handle joystick operation information and cursor detection image information, using cluster analysis and diagnostic models to automatically detect and proofread gamepad drift faults, solving the problems of low efficiency and low accuracy of existing methods, and achieving high efficiency and accuracy drift fault handling.
Patent Information
- Application Number
- CN202410189188.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-20
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2044-02-20
AI Technical Summary
The existing gamepad drift fault detection methods are inefficient and have low accuracy, and require manual operation, making it difficult to accurately diagnose whether the handle has drift faults.
By obtaining the handle joystick operation information and cursor detection image information, the cluster analysis method is used to divide it into images in the no-action state and operation state, calculating the static drift distance and the average cursor movement speed, and building a drift diagnostic model for automatic diagnosis and proofreading .
It realizes automatic detection and proofreading of gamepad drift faults, improves efficiency and accuracy, avoids human subjective judgment errors, and improves the gaming experience.
Smart Images

Figure CN118059461B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of game controller calibration, and in particular to a method and system for automatically calibrating a drift fault of a game controller. Background Art
[0002] With the development of electronic games, game controllers are important devices for game control, and their stability and accuracy are crucial to the gaming experience. However, due to frequent use and aging of the device, game controllers may experience drift failures, that is, the joystick cursor moves automatically without any operation or the joystick cursor deviates from the original screen center, seriously affecting the balance of the game and the player's experience.
[0003] Existing game controller drift calibration methods usually require manual operation, which is to detect the drift problem of the controller by observing the cursor position and testing. This method is not only inefficient, but also inaccurate. At the same time, the controller drift will also cause the cursor movement speed to change. It is difficult to accurately diagnose whether the controller has drift faults by only focusing on the position of the controller cursor.
[0004] Therefore, there is an urgent need for a method that can automatically, quickly and accurately detect and correct handle drift faults. Summary of the invention
[0005] In order to solve the above technical problems, the present invention provides a method for automatically correcting game controller drift failures, which can effectively improve the efficiency and accuracy of game controller drift correction and enhance the gaming experience of players.
[0006] In a first aspect, the present invention provides a method for automatically correcting a game controller drift fault, the method comprising:
[0007] Get the joystick operation information and the handle cursor detection image information;
[0008] Performing cluster analysis on the handle cursor detection image information according to the handle joystick operation information to obtain a cursor detection image set of the handle joystick in a non-action state and a cursor detection image set of the handle joystick in an operation state;
[0009] Based on the cursor detection image set of the joystick in the non-action state, the distance between the cursor and the image center in each image is calculated to obtain the static drift distance of the joystick;
[0010] The drift interval is divided into preset intervals, and the number of static drift distances falling within each drift interval is summarized to obtain the joystick drift feature vector;
[0011] Perform weighted calculation on the joystick drift feature vector to obtain the joystick drift parameter;
[0012] The average cursor moving speed is calculated based on the cursor detection image set of the joystick in the operating state;
[0013] Input the joystick drift parameters and the average cursor movement speed into a pre-built joystick drift diagnosis model to obtain a joystick drift diagnosis result;
[0014] Calibrate the handle according to the handle drift diagnosis results.
[0015] Furthermore, the cluster analysis method comprises:
[0016] According to the joystick operation information of the handle, the cursor detection images collected in the corresponding time period are divided into two groups, namely, a set of cursor detection images of the handle in a non-action state and a set of cursor detection images of the handle in an operation state;
[0017] Extract features from each set of images, including the cursor position, motion trajectory, and color distribution of the image, to quantify the image information;
[0018] A clustering algorithm is used to analyze each set of images, the images are divided into different clusters, and the clusters of cursor images in the non-action state and the action state are identified;
[0019] By analyzing the clustering results, a cursor detection image set in a non-action state and a cursor detection image set in an operation state are identified.
[0020] Furthermore, the method for obtaining the static drift distance of the handle includes:
[0021] Preprocess each cursor detection image, including denoising, adjusting brightness and contrast;
[0022] Use image segmentation and edge detection technology to locate the exact position of the cursor;
[0023] For each image, the static drift distance of the handle is calculated by measuring the distance between the cursor position and the center of the image;
[0024] The drift distance data calculated from all images are collated into one data set.
[0025] Furthermore, the method for obtaining the joystick drift feature vector includes:
[0026] According to the preset drift interval, the static drift distance is divided into corresponding intervals through a piecewise function;
[0027] Count the number of static drift distances that fall within each drift interval and establish the distribution of static drift distances within the drift interval;
[0028] The number of static drift distances in each drift interval is used as the element of the feature vector to construct the joystick drift feature vector.
[0029] Furthermore, the method for obtaining the joystick drift parameters includes:
[0030] Select drift characteristics, including the frequency distribution of static drift distance in different drift intervals, the mean value and variance of drift distance;
[0031] Use linear regression to learn the weight of each feature;
[0032] Perform weighted calculation on the drift feature vectors of the determined features and their weights; multiply each feature value by its corresponding weight, and then add the weighted values to obtain a comprehensive joystick drift parameter;
[0033] Use a test data set with known drift conditions for verification, and adjust and optimize the weights and calculation process based on the verification results.
[0034] Furthermore, the method for obtaining the average cursor movement speed includes:
[0035] Preprocess the cursor detection image set of the joystick in the operating state, including denoising and image enhancement technology;
[0036] Using image processing technology, the position information of the cursor in each image is extracted;
[0037] For every two consecutive images, the cursor displacement is calculated, and the accurate displacement value is obtained by comparing the cursor positions at two time points according to the mapping relationship between the scale factor in the image and the actual physical space;
[0038] Using the cursor displacement information, the cursor moving speed in each time period is calculated, and the speed is obtained by dividing the displacement value by the time interval;
[0039] For all the obtained cursor movement speed values, calculate their average value.
[0040] Furthermore, the handle drift diagnosis model construction method includes:
[0041] Collect historical data and divide the historical joystick drift parameters, average cursor movement speed, and corresponding drift diagnosis results into training sets and test sets; the training set is used for model training, and the test set is used to evaluate model performance;
[0042] Mark the samples in the training set to identify whether each sample is normal or has a drift fault;
[0043] According to the characteristics of the data, convolutional neural network is selected as the basis of the model;
[0044] Select the most relevant features from the joystick drift parameters and the average cursor movement speed and extract them;
[0045] The selected model is trained using the training set. The model learns patterns in the data based on the input features to distinguish between normal and drifting states.
[0046] Use the test set to evaluate the performance of the model, including accuracy, precision, recall, and F1 score metrics;
[0047] The trained model is integrated into the entire automatic proofreading system to ensure real-time performance and stability.
[0048] On the other hand, the present application also provides a game controller drift fault automatic correction system, the system comprising:
[0049] The information acquisition module is used to obtain the joystick operation information of the handle and the handle cursor detection image information, and send it;
[0050] A cluster analysis module is used to receive the joystick operation information and the joystick cursor detection image information, perform cluster analysis on the joystick cursor detection image information according to the joystick operation information, obtain a cursor detection image set of the joystick in a non-action state and a cursor detection image set of the joystick in an operation state, and send them;
[0051] The static drift calculation module is used to receive a set of cursor detection images of the joystick in a non-action state, calculate the distance between the cursor and the center of each image based on the set of cursor detection images of the joystick in a non-action state, obtain the static drift distance of the joystick, and send it;
[0052] The feature vector calculation module is used to receive the static drift distance, divide it according to the preset drift interval, summarize the number of static drift distances falling in each drift interval, obtain the joystick drift feature vector, and send it;
[0053] A parameter calculation module is used to receive a joystick drift feature vector, perform weighted calculation on the joystick drift feature vector, obtain a joystick drift parameter, and send it;
[0054] The speed calculation module is used to receive a set of cursor detection images of the joystick in the operating state, calculate the average cursor movement speed according to the set of cursor detection images of the joystick in the operating state, and send it;
[0055] A drift diagnosis module is used to receive the joystick drift parameters and the average cursor movement speed, input the joystick drift parameters and the average cursor movement speed into a pre-built joystick drift diagnosis model, obtain the joystick drift diagnosis result, and send it;
[0056] The calibration module is used to receive the handle drift diagnosis result and calibrate the handle according to the handle drift diagnosis result.
[0057] In a third aspect, the present application provides an electronic device, comprising a bus, a transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the transceiver, the memory, and the processor are connected via the bus, and the computer program, when executed by the processor, implements the steps of any one of the above methods.
[0058] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the steps in any one of the above-mentioned methods when executed by a processor.
[0059] Compared with the prior art, the present invention has the following beneficial effects: the method realizes the automatic drift fault detection and correction process by acquiring the joystick operation information and the cursor detection image information; the efficiency is greatly improved, so that the drift problem can be solved in a relatively short time without manual intervention by the user; the cursor detection image of the joystick in different states is analyzed by the cluster analysis method, and the image collection in the no-action state and the operation state is obtained; through the detailed image information analysis, the handle drift problem can be diagnosed more accurately, avoiding the subjective judgment error of human beings existing in the traditional method;
[0060] The method calculates the static drift distance of the handle in the non-action state and divides it into preset drift intervals to form a feature vector; comprehensive feature extraction helps to more fully understand the nature of the drift problem and provides a more accurate basis for subsequent parameter calculation and calibration;
[0061] By calculating the average cursor movement speed of the controller in operation, the impact of drift on cursor speed is taken into account. Dynamic analysis helps to more fully understand the impact of drift problems on the gaming experience and improves the system's perception of drift problems.
[0062] A pre-built controller drift diagnosis model is introduced. The drift parameters and average cursor movement speed are input into the model, and the output results of the model are used for diagnosis, which can improve the accuracy and stability of drift problems.
[0063] In summary, this method has the advantages of automation, accuracy, comprehensiveness and real-time performance in solving the problem of game controller drift failure. It can effectively improve the efficiency and accuracy of game controller drift correction and enhance the player's gaming experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Figure 1is a flow chart of the present invention;
[0065] Figure 2 is a flow chart of the method for constructing a handle drift diagnostic model;
[0066] Figure 3 The present invention is a structural diagram of an automatic correction system for a game controller drift fault. DETAILED DESCRIPTION
[0067] In the description of the present application, those skilled in the art should know that the present application can be implemented as a method, an apparatus, an electronic device, and a computer-readable storage medium. Therefore, the present application can be specifically implemented in the following forms: complete hardware, complete software (including firmware, resident software, microcode, etc.), a combination of hardware and software. In addition, in some embodiments, the present application can also be implemented in the form of a computer program product in one or more computer-readable storage media, and the computer-readable storage medium contains computer program code.
[0068] The above-mentioned computer-readable storage medium may adopt any combination of one or more computer-readable storage media. Computer-readable storage media include: electrical, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or devices, or any combination of the above. More specific examples of computer-readable storage media include: portable computer disks, hard disks, random access memories, read-only memories, erasable programmable read-only memories, flash memories, optical fibers, optical disc read-only memories, optical storage devices, magnetic storage devices, or any combination of the above. In the present application, computer-readable storage media can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device, or device.
[0069] The acquisition, storage, use, and processing of data in the technical solution of this application comply with the relevant provisions of national laws.
[0070] The present application describes the provided methods, devices, and electronic devices through flowcharts and / or block diagrams.
[0071] It should be understood that each box in the flowchart and / or block diagram and the combination of boxes in the flowchart and / or block diagram can be implemented by computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine, and these computer-readable program instructions are executed by a computer or other programmable data processing device to produce a device that implements the functions / operations specified by the boxes in the flowchart and / or block diagram.
[0072] These computer-readable program instructions may also be stored in a computer-readable storage medium that enables a computer or other programmable data processing device to work in a specific manner. In this way, the instructions stored in the computer-readable storage medium produce an instruction device product including functions / operations specified in the blocks in the flowchart and / or block diagram.
[0073] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby enabling the instructions executed on the computer or other programmable data processing apparatus to provide a process for implementing the functions / operations specified in the blocks in the flowchart and / or block diagram.
[0074] The present application is described below in conjunction with the drawings in the present application.
[0075] Embodiment 1: Figure 1 to Figure 2 As shown, a method for automatically correcting a game controller drift fault of the present invention specifically comprises the following steps:
[0076] S1, obtaining the joystick operation information of the controller and the handle cursor detection image information;
[0077] In step S1, the joystick operation information and the handle cursor detection image information are obtained to establish the basis for calibrating the handle drift. By obtaining these two types of information, the system can analyze and diagnose the state of the handle in subsequent steps. The following is a detailed introduction to step S1:
[0078] S11, connecting the game controller to the game console via the USB interface, and obtaining the joystick operation information of the controller in real time by monitoring the input device information on these interfaces;
[0079] S12, a sensor is arranged outside the game controller to track the cursor on the screen and obtain the position of the cursor on the screen;
[0080] S13, after acquiring the image collected by the sensor, performing processing operations on the image, including edge detection and color filtering, to extract the position information of the cursor;
[0081] S14, timestamp the joystick operation information and the handle cursor detection image information to ensure that they are recorded with the same timestamp;
[0082] S15. Use unit conversion and coordinate system conversion methods to integrate the formats of the two data sources.
[0083] In this step, the input device information of the game controller is monitored in real time through the USB interface to ensure the instant capture of the player's joystick operation and obtain the most accurate joystick status;
[0084] Tracking the cursor position using an external sensor allows the system to monitor the real-time position of the cursor on the screen and analyze the cursor movement pattern, speed and direction, providing a basis for subsequent drift detection.
[0085] Through image processing technologies such as edge detection and color filtering, the accurate position of the cursor on the screen is extracted to ensure the quality of the acquired cursor position data, providing reliable input for subsequent drift analysis; by adding the same timestamp to the joystick operation information and the cursor detection image information, the data synchronization between the two is ensured to ensure data consistency and accuracy; through unit conversion and coordinate system conversion, the formats of the two data sources are integrated together. This makes it easier to conduct a comprehensive study of joystick operation and cursor position in subsequent analysis and modeling, which helps to more fully understand the state of the handle;
[0086] In summary, this step provides a complete, real-time data foundation, provides accurate and reliable input for subsequent handle drift analysis and diagnosis, and provides a solid foundation for the effectiveness of the drift correction method.
[0087] S2. Performing cluster analysis on the handle cursor detection image information according to the handle joystick operation information to obtain a set of cursor detection images of the handle joystick in a non-action state and a set of cursor detection images of the handle joystick in an operation state;
[0088] Step S2 aims to obtain a set of cursor detection images of the handle in the non-action state and the operation state by clustering analysis of the joystick operation information of the handle, and then identify the drift phenomenon to provide targeted data for subsequent calibration;
[0089] The cluster analysis method comprises:
[0090] S21, according to the joystick operation information of the handle, dividing the cursor detection images collected in the corresponding time period into two groups, namely, a set of cursor detection images of the handle in a non-action state and a set of cursor detection images of the handle in an operation state;
[0091] S22, extracting features from each set of images, including the cursor position, motion trajectory, and color distribution of the image, quantifying the image information, and providing a data basis for subsequent drift analysis;
[0092] S23, using a clustering algorithm to analyze each set of images, dividing the images into different clusters, and then identifying the clusters of the cursor images in a non-action state and an action state;
[0093] S24. Identify a cursor detection image set in a non-action state and a cursor detection image set in an operation state by analyzing the clustering result.
[0094] In this step, the cursor detection images can be accurately divided into two groups, namely, the no-action state and the operation state, according to the operation information of the joystick, ensuring the pertinence and accuracy of the subsequent analysis; by extracting key features from each group of images, strong data support is provided, which can capture the specific manifestations of the joystick drift phenomenon and provide rich features for subsequent analysis;
[0095] By applying clustering algorithms to analyze features, images are successfully divided into different clusters. The clusters of cursor images in the non-action state and the operation state can be accurately identified, and the two states of the handle can be accurately distinguished in a complex data set. Through clustering result analysis, the cursor detection image set in the non-action state and the cursor detection image set in the operation state can be clearly identified, so as to locate the time period and situation where the drift problem occurs.
[0096] Through the above steps, the system can automatically obtain detailed information about the handle drift problem without manual intervention, improve the efficiency of proofreading, and enable the problem to be solved more quickly and accurately;
[0097] In summary, step S2 provides detailed data support for the subsequent correction of handle drift problems, while reducing the need for manual operation and improving the automation level of the system.
[0098] S3, according to the cursor detection image set of the joystick in the non-action state, calculate the distance between the cursor and the image center in each image to obtain the static drift distance of the joystick;
[0099] The method for obtaining the static drift distance of the handle includes:
[0100] S31, preprocessing each cursor detection image, including denoising, adjusting brightness and contrast, to improve the accuracy of subsequent processing;
[0101] S32, using image segmentation and edge detection technology to locate the exact position of the cursor;
[0102] S33, for each image, calculating the static drift distance of the handle by measuring the distance between the cursor position and the center of the image;
[0103] S34, organizing the drift distance data calculated from all images into a data set.
[0104] In this step, by preprocessing the cursor detection image, the image quality can be improved, noise interference can be reduced, and the accuracy of measuring the cursor position can be improved; by using image segmentation and edge detection technology, the cursor position can be accurately located to ensure that the measured cursor position is consistent with the actual position;
[0105] By measuring the distance between the cursor position and the center of the image, the static drift distance on each image can be obtained, which provides specific data about the controller drift and accurately diagnoses the controller drift problem;
[0106] The drift distance data calculated from all images are organized into one data set, which facilitates subsequent data analysis and modeling, and improves the automatic detection and calibration of handle drift problems.
[0107] In summary, step S3 improves the accuracy and reliability of the static drift distance of the handle, and provides a reliable data basis for the subsequent automatic detection and calibration of the handle drift problem.
[0108] S4, dividing the preset drift intervals, summing up the number of static drift distances falling within each drift interval, and obtaining a joystick drift feature vector;
[0109] In step S4, the acquisition of the joystick drift feature vector is to more accurately describe the characteristics of the joystick drift problem. The joystick drift feature vector acquisition method includes:
[0110] S41, dividing the static drift distance into corresponding intervals by a piecewise function according to a preset drift interval;
[0111] S42, counting the number of static drift distances falling within each drift interval, establishing the distribution of static drift distances within the drift interval, and comprehensively describing the drift of the handle;
[0112] S43, taking the number of static drift distances in each drift interval as an element of a feature vector, and constructing a joystick drift feature vector;
[0113] The influencing factors of the drift interval setting include:
[0114] A. Controller model and manufacturing differences. Game controllers from different manufacturers and models have manufacturing differences. These differences cause the drift phenomenon to show different characteristics on different controllers. Therefore, the setting of the drift range needs to take into account the differences in controller models and manufacturers.
[0115] B. Game requirements and scenarios. Different games have different tolerances for drift. The setting of the drift range needs to be combined with specific game requirements and scenarios to ensure the accuracy of the calibration.
[0116] C. User experience. The user's tolerance for controller drift is also an important consideration. Therefore, the setting of the drift range needs to take into account individual differences in user experience.
[0117] D. Diversity of drift phenomena. Drift problems can manifest as cursor offsets of different magnitudes and speeds. Considering the diversity of drift phenomena, more comprehensive coverage is provided when setting the drift interval to ensure that drifts of different degrees can be captured.
[0118] E. Actual test data: by collecting a large amount of static drift data of the handle under different conditions and analyzing the data distribution, the appropriate drift range can be determined.
[0119] In this step, the drift interval and eigenvector method can be used to describe the handle drift problem in more detail; the eigenvector contains the distribution information of the static drift distance in different drift intervals, which helps to fully understand and characterize the characteristics of handle drift;
[0120] Taking into account factors such as controller model, game requirements, and user experience, the drift range setting can be adjusted according to specific circumstances to achieve a more personalized calibration strategy, thereby meeting the needs of different users and games and improving the actual calibration effect;
[0121] Considering the diversity of drift phenomena, the setting of drift interval provides more comprehensive coverage, ensuring that drifts of different degrees can be captured, thereby coping with various drift manifestations and improving the applicability of detection and calibration;
[0122] By using a large amount of collected actual test data and analyzing the data distribution, the appropriate drift interval can be accurately determined, making the calibration method more practical and adaptable;
[0123] In summary, through the drift interval setting and feature vector construction in step S4, the description of the joystick drift problem is more accurate, the correction method is more targeted and practical, and can better serve the goal of improving the user experience of the game controller.
[0124] S5, performing weighted calculation on the joystick drift feature vector to obtain the joystick drift parameter;
[0125] The goal of step S5 is to extract effective features from the statistical data of the static drift distance so as to more accurately determine whether the handle has a drift fault; the method for obtaining the drift parameters of the handle rocker includes:
[0126] S51. Select appropriate drift features, including the frequency distribution of static drift distance in different drift intervals, the average value and variance of drift distance. The feature selection process needs to comprehensively consider the nature of the drift problem and the contribution of different features in drift diagnosis.
[0127] S52. Use the linear regression method to learn the weight of each feature so that the drift parameter better matches the actual drift situation and accurately reflects the importance of different features to the drift situation;
[0128] S53, performing weighted calculation on the determined features and the drift feature vectors of their weights; multiplying each feature value by its corresponding weight, and then adding the weighted values to obtain a comprehensive joystick drift parameter;
[0129] S54. Use a test data set with known drift conditions for verification, and adjust and optimize the weights and calculation process based on the verification results to improve the performance of the proofreading method.
[0130] In this step, by selecting appropriate drift features, the features that best describe the handle drift problem can be extracted, thereby more accurately determining whether the handle has a drift fault. The feature selection process comprehensively considers the nature of the drift problem, ensuring that the selected feature set is closer to the actual drift situation.
[0131] The linear regression method is used to learn the weight of each feature so that these features can better reflect the actual drift situation. Features with higher accuracy will be given higher weights, which improves the reliability of the drift parameters. The determined features are multiplied and summed with their corresponding weights to form a comprehensive joystick drift parameter, providing a comprehensive indicator to describe the drift situation.
[0132] The drift correction method was validated using a test data set with known drift conditions. The weights and calculation process were adjusted and optimized based on the verification results, ensuring the accuracy and reliability of the drift parameter calculation method in actual scenarios and improving the performance and robustness of the drift correction method.
[0133] In summary, step S5 can extract effective features from the static drift data of the joystick, and combine weight learning and weighted calculation to finally obtain more accurate and reliable joystick drift parameters, so as to more accurately determine whether the joystick has a drift fault.
[0134] S6, calculating an average cursor moving speed according to a set of cursor detection images of the joystick in an operating state;
[0135] In step S6, calculating the average cursor movement speed of the cursor detection image set of the joystick in the operating state helps to comprehensively consider the dynamic changes of the cursor, so as to more accurately judge the drift of the handle; the method for obtaining the average cursor movement speed includes:
[0136] S61, preprocessing a cursor detection image set of the joystick in the operating state, including denoising and image enhancement technology, to ensure the accuracy of subsequent analysis;
[0137] S62, extracting the position information of the cursor in each image using image processing technology;
[0138] S63, for every two consecutive images, calculating the displacement of the cursor, and obtaining an accurate displacement value by comparing the cursor positions at two time points according to the mapping relationship between the scale factor in the image and the actual physical space;
[0139] S64, using the cursor displacement information, calculating the cursor movement speed in each time period, where the speed is obtained by dividing the displacement value by the time interval;
[0140] S65. Calculate the average value of all the obtained cursor movement speed values; this average speed will be used as a key feature quantity to reflect the overall movement trend of the cursor when the handle is in the operating state.
[0141] In this step, by analyzing the cursor detection image set of the joystick in the operating state and calculating the average movement speed of the cursor, the overall movement trend of the cursor over a period of time can be comprehensively considered, and the dynamic change pattern of the cursor can be captured to provide more comprehensive and dynamic information; the average movement speed obtained by calculation can accurately evaluate the cursor movement of the joystick in the operating state. Drift failure will cause abnormal changes in the cursor movement speed. By quantifying these changes, it can be better judged whether the handle has a drift problem;
[0142] Image processing technology and computer vision algorithms are used to extract cursor position information and calculate displacement and speed, making the evaluation more objective and accurate, and improving the precision and credibility of cursor movement; the process of automatically detecting handle drift problems is realized, which improves proofreading efficiency, reduces manual intervention, and provides quantitative data support when diagnosing handle drift;
[0143] In summary, the method of calculating the average cursor movement speed in step S6 provides important quantitative features for automated handle drift fault correction, which can evaluate the handle drift problem more comprehensively and accurately, thereby providing key input data for the subsequent handle drift diagnosis model.
[0144] S7, inputting the joystick drift parameter and the average cursor movement speed into a pre-built handle drift diagnosis model to obtain a handle drift diagnosis result;
[0145] Step S7 is the decision-making core of the entire automatic calibration process. Through advanced data analysis and machine learning technology, it realizes the rapid and accurate diagnosis of game controller drift problems, thus providing a reliable basis for subsequent calibration steps and improving the efficiency and accuracy of game controller drift fault calibration.
[0146] The handle drift diagnosis model construction method comprises:
[0147] S71, collecting historical data, dividing historical joystick drift parameters, average cursor movement speed, and corresponding drift diagnosis results into a training set and a test set; the training set is used for model training, and the test set is used for evaluating model performance;
[0148] S72, marking the samples in the training set to identify whether each sample is normal or has a drift fault;
[0149] S73. According to the data characteristics, convolutional neural network is selected as the basis of the model;
[0150] S74, selecting the most relevant feature from the joystick drift parameter and the average cursor movement speed, and extracting it;
[0151] S75, training the selected model using the training set, where the model learns patterns in the data based on input features to distinguish between a normal state and a drift state;
[0152] S76. Use the test set to evaluate the performance of the model, including accuracy, precision, recall, and F1 score metrics;
[0153] S77. The trained model is integrated into the entire automatic proofreading system to ensure real-time performance and stability;
[0154] The joystick drift parameters and the average cursor movement speed are input into the pre-built handle drift diagnosis model. The model will output whether the handle has a drift fault, as well as the severity and type of drift.
[0155] In this step, through the machine learning model, the system can accurately determine whether the handle has drift failure in a short time, which speeds up the entire calibration process, allowing the drift problem to be detected and corrected early, improving the gaming experience; through automated drift diagnosis, the tedious process of manual observation and testing is avoided, and diagnosis can be performed quickly and continuously, greatly improving the efficiency of calibration, so that the drift problem can be handled in the shortest time;
[0156] The output of the model includes not only whether the handle has drift faults, but also the severity and type of drift, so that the proofreader can take more targeted measures, optimize the proofreading process, and maximize the maintenance effect;
[0157] The integration of the model into the entire automatic calibration system ensures real-time performance, allowing drift diagnosis to be performed even during the game, and the stability of the model ensures long-term reliable operation. Through the collection and analysis of historical data, the model learns the drift pattern of the controller, allowing it to adapt to different game environments and usage habits, thereby improving the robustness of drift diagnosis.
[0158] In summary, the S7 step improves the proofreading efficiency, enhances the intelligence and accuracy of drift diagnosis, and makes the entire game controller drift problem-solving process more efficient and reliable.
[0159] S8, calibrating the handle according to the handle drift diagnosis result;
[0160] The proofreading method comprises:
[0161] S81. Dynamically adjust the internal parameters of the controller according to the drift diagnosis results to ensure that the controller can more accurately reflect the player's input during operation;
[0162] S82, displaying the cursor position after proofreading on the screen, and showing the user the repair effect of the drift problem, providing real-time feedback, and guiding the proofreading process;
[0163] S83. Use an adaptive algorithm to adjust the calibration amplitude according to the severity of the drift to ensure the effectiveness of the calibration and minimize the interference with normal game play;
[0164] S84. Record the historical data of proofreading, including the status and effect before and after proofreading; it helps to analyze the effectiveness of proofreading and provide data support for subsequent improvements;
[0165] S85. The calibration parameters are saved persistently so that the calibration results are still valid after the device is restarted or powered off, ensuring that the user can enjoy accurate control in different game sessions.
[0166] In this step, by dynamically adjusting the internal parameters of the controller according to the drift diagnosis results, it is possible to adapt to changes in the controller state in real time, ensure that the player's input is more accurately reflected during operation, reduce the controller drift problem, and improve the accuracy and responsiveness of the game;
[0167] The corrected cursor position is displayed on the screen and the drift problem repair effect is shown to the user, providing real-time feedback. The user-friendly feedback mechanism helps players intuitively understand the effect of the correction, while guiding the correction process and improving the user experience.
[0168] Using an adaptive algorithm to adjust the correction amplitude according to the severity of drift, ensuring the effectiveness of the correction and minimizing interference with normal gameplay means that the system can intelligently adjust the degree of correction to balance solving drift problems and avoiding negative impacts on normal gameplay;
[0169] Recording historical data of proofreading, including the status and effect before and after proofreading, helps analyze the effectiveness of proofreading, provides developers with an opportunity to gain in-depth understanding of the performance of the controller, and provides strong data support for subsequent improvements;
[0170] Persistently saving the calibration parameters ensures that the calibration results are still valid after the device is restarted or powered off, providing a persistent calibration effect, ensuring that users can always enjoy accurate control in different game sessions, and enhancing the reliability of the system.
[0171] Embodiment 2: Figure 3 As shown, a game controller drift fault automatic correction system of the present invention specifically includes the following modules:
[0172] The information acquisition module is used to obtain the joystick operation information of the handle and the handle cursor detection image information, and send it;
[0173] A cluster analysis module is used to receive the joystick operation information and the joystick cursor detection image information, perform cluster analysis on the joystick cursor detection image information according to the joystick operation information, obtain a cursor detection image set of the joystick in a non-action state and a cursor detection image set of the joystick in an operation state, and send them;
[0174] The static drift calculation module is used to receive a set of cursor detection images of the joystick in a non-action state, calculate the distance between the cursor and the center of each image based on the set of cursor detection images of the joystick in a non-action state, obtain the static drift distance of the joystick, and send it;
[0175] The feature vector calculation module is used to receive the static drift distance, divide it according to the preset drift interval, summarize the number of static drift distances falling in each drift interval, obtain the joystick drift feature vector, and send it;
[0176] A parameter calculation module is used to receive a joystick drift feature vector, perform weighted calculation on the joystick drift feature vector, obtain a joystick drift parameter, and send it;
[0177] The speed calculation module is used to receive a set of cursor detection images of the joystick in the operating state, calculate the average cursor movement speed according to the set of cursor detection images of the joystick in the operating state, and send it;
[0178] A drift diagnosis module is used to receive the joystick drift parameters and the average cursor movement speed, input the joystick drift parameters and the average cursor movement speed into a pre-built joystick drift diagnosis model, obtain the joystick drift diagnosis result, and send it;
[0179] The calibration module is used to receive the handle drift diagnosis result and calibrate the handle according to the handle drift diagnosis result.
[0180] The system can automatically acquire, analyze and process joystick operation information and cursor detection image information without manual intervention, and can quickly diagnose drift problems, improve the speed of proofreading, and save users' time. By clustering and analyzing joystick operation information and cursor detection image information, it can more comprehensively understand the situation of the handle in the non-action state and the operation state, and improve the diagnostic accuracy of drift faults.
[0181] The system not only detects the static drift of the handle when it is not in motion, but also calculates the average cursor movement speed when it is in motion. Through the comprehensive analysis of drift parameters and speed, it can comprehensively and accurately diagnose the drift of the handle and find out the root cause of the fault.
[0182] The system obtains the handle drift parameters through the parameter calculation module, which provides a specific basis for subsequent calibration; the handle can be adjusted in a targeted manner to more accurately correct drift faults and improve calibration results;
[0183] The system can quickly respond to drift problems and perform corrections, which helps to deal with controller drift problems in a timely manner and reduces the inconvenience caused by controller failure during the game.
[0184] In summary, the system has the advantages of automation, accuracy, comprehensiveness and real-time performance in solving handle drift problems. It can effectively improve the efficiency and accuracy of game handle drift correction and enhance the player's gaming experience.
[0185] The various variations and specific embodiments of the method for automatically correcting game controller drift faults in the aforementioned embodiment 1 are also applicable to the automatic correction system for game controller drift faults in the present embodiment. Through the aforementioned detailed description of the method for automatically correcting game controller drift faults, those skilled in the art can clearly understand the implementation method of the automatic correction system for game controller drift faults in the present embodiment, so for the sake of brevity of the specification, it will not be described in detail here.
[0186] In addition, the present application also provides an electronic device, including a bus, a transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor. The transceiver, the memory, and the processor are respectively connected via a bus. When the computer program is executed by the processor, each process of the above-mentioned method for controlling output data is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0187] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the technical principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A method for automatically correcting a game controller drift fault, characterized in that: The method comprises: Get the joystick operation information and the handle cursor detection image information; Performing cluster analysis on the handle cursor detection image information according to the handle joystick operation information to obtain a cursor detection image set of the handle joystick in a non-action state and a cursor detection image set of the handle joystick in an operation state; Based on the cursor detection image set of the joystick in the non-action state, the distance between the cursor and the image center in each image is calculated to obtain the static drift distance of the joystick; The drift interval is divided into preset intervals, and the number of static drift distances falling within each drift interval is summarized to obtain the joystick drift feature vector; Perform weighted calculation on the joystick drift feature vector to obtain the joystick drift parameter; The average cursor moving speed is calculated based on the cursor detection image set of the joystick in the operating state; Input the joystick drift parameters and the average cursor movement speed into a pre-built joystick drift diagnosis model to obtain a joystick drift diagnosis result; Calibrate the handle according to the handle drift diagnosis results.
2. A method for automatically correcting a game controller drift fault as claimed in claim 1, characterized in that: The cluster analysis method comprises: According to the joystick operation information of the handle, the cursor detection images collected in the corresponding time period are divided into two groups, namely, a set of cursor detection images of the handle in a non-action state and a set of cursor detection images of the handle in an operation state; Extract features from each set of images, including the cursor position, motion trajectory, and color distribution of the image, to quantify the image information; A clustering algorithm is used to analyze each set of images, the images are divided into different clusters, and the clusters of cursor images in the non-action state and the action state are identified; By analyzing the clustering results, a cursor detection image set in a non-action state and a cursor detection image set in an operation state are identified.
3. A method for automatically correcting a game controller drift fault as claimed in claim 1, characterized in that: The method for obtaining the static drift distance of the handle includes: Preprocess each cursor detection image, including denoising, adjusting brightness and contrast; Use image segmentation and edge detection technology to locate the exact position of the cursor; For each image, the static drift distance of the handle is calculated by measuring the distance between the cursor position and the center of the image; The drift distance data calculated from all images are collated into one data set.
4. A method for automatically correcting a game controller drift fault as claimed in claim 1, characterized in that: The method for obtaining the joystick drift feature vector comprises: According to the preset drift interval, the static drift distance is divided into corresponding intervals through a piecewise function; Count the number of static drift distances that fall within each drift interval and establish the distribution of static drift distances within the drift interval; The number of static drift distances in each drift interval is used as the element of the feature vector to construct the joystick drift feature vector.
5. A method for automatically correcting a game controller drift fault as claimed in claim 1, characterized in that: The method for obtaining the joystick drift parameters comprises: Select drift characteristics, including the frequency distribution of static drift distance in different drift intervals, the mean value and variance of drift distance; Use linear regression to learn the weight of each feature; Perform weighted calculation on the drift feature vectors of the determined features and their weights; multiply each feature value by its corresponding weight, and then add the weighted values to obtain a comprehensive joystick drift parameter; Use a test data set with known drift conditions for verification, and adjust and optimize the weights and calculation process based on the verification results.
6. A method for automatically correcting a game controller drift fault as claimed in claim 1, characterized in that: The method for obtaining the average cursor moving speed comprises: Preprocess the cursor detection image set of the joystick in the operating state, including denoising and image enhancement technology; Using image processing technology, the position information of the cursor in each image is extracted; For every two consecutive images, the cursor displacement is calculated, and the accurate displacement value is obtained by comparing the cursor positions at two time points according to the mapping relationship between the scale factor in the image and the actual physical space; Using the cursor displacement information, the cursor moving speed in each time period is calculated, and the speed is obtained by dividing the displacement value by the time interval; For all the obtained cursor movement speed values, calculate their average value.
7. A method for automatically correcting a game controller drift fault as claimed in claim 1, characterized in that: The handle drift diagnosis model construction method comprises: Collect historical data and divide the historical joystick drift parameters, average cursor movement speed, and corresponding drift diagnosis results into training sets and test sets; the training set is used for model training, and the test set is used to evaluate model performance; Mark the samples in the training set to identify whether each sample is normal or has a drift fault; According to the characteristics of the data, convolutional neural network is selected as the basis of the model; Select the most relevant features from the joystick drift parameters and the average cursor movement speed and extract them; The selected model is trained using the training set. The model learns patterns in the data based on the input features to distinguish between normal and drifting states. Use the test set to evaluate the performance of the model, including accuracy, precision, recall, and F1 score metrics; The trained model is integrated into the entire automatic proofreading system to ensure real-time performance and stability.
8. A game controller drift fault automatic correction system, characterized in that: The system comprises: The information acquisition module is used to obtain the joystick operation information of the handle and the handle cursor detection image information, and send it; A cluster analysis module is used to receive the joystick operation information and the joystick cursor detection image information, perform cluster analysis on the joystick cursor detection image information according to the joystick operation information, obtain a cursor detection image set of the joystick in a non-action state and a cursor detection image set of the joystick in an operation state, and send them; The static drift calculation module is used to receive a set of cursor detection images of the joystick in a non-action state, calculate the distance between the cursor and the center of each image based on the set of cursor detection images of the joystick in a non-action state, obtain the static drift distance of the joystick, and send it; The feature vector calculation module is used to receive the static drift distance, divide it according to the preset drift interval, summarize the number of static drift distances falling in each drift interval, obtain the joystick drift feature vector, and send it; A parameter calculation module is used to receive a joystick drift feature vector, perform weighted calculation on the joystick drift feature vector, obtain a joystick drift parameter, and send it; The speed calculation module is used to receive a set of cursor detection images of the joystick in the operating state, calculate the average cursor movement speed according to the set of cursor detection images of the joystick in the operating state, and send it; A drift diagnosis module is used to receive the joystick drift parameters and the average cursor movement speed, input the joystick drift parameters and the average cursor movement speed into a pre-built joystick drift diagnosis model, obtain the joystick drift diagnosis result, and send it; The calibration module is used to receive the handle drift diagnosis result and calibrate the handle according to the handle drift diagnosis result.
9. An electronic device for automatically correcting drift faults of a game controller, comprising a bus, a transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the transceiver, the memory, and the processor are connected via the bus, and characterized in that: When the computer program is executed by the processor, the steps in the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps in the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Data processing method and device for gamepad and gamepad
CN107376341A
Calibration test method and system for rocker of gamepad
CN115738233A
Correcting device, control method thereof and main control terminal
CN116236771A
Method for estimating pose of handle and virtual display equipment
CN116430986A
Game device, game control program and game control method
JP2011160864A
