Automatic Artifact Detection
The computing device uses individual and ensemble classifiers to detect and classify glitches in images, addressing the lack of automated glitch detection in videos, thereby enhancing image quality and system performance.
Patent Information
- Application Number
- JP2022573218
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-23
- Filing Date
- 2021-06-01
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2041-06-01
AI Technical Summary
There is no known automated system capable of detecting glitches in videos, such as those generated by video games, which can affect image quality.
A computing device equipped with individual classifiers and an ensemble classifier to analyze images for various types of glitches, utilizing techniques like discrete Fourier transform, resizing, Histogram of Oriented Gradients, and Randomized Principal Component Analysis, and employing classifiers such as convolutional neural networks and support vector classifiers to identify and classify glitches.
Effectively detects and classifies different types of glitches in images, enabling corrective actions to improve image quality and system performance.
Smart Images

Figure 0007714585000010 
Figure 0007714585000011 
Figure 0007714585000012
Abstract
Description
Technical Field
[0001] (Cross - Reference to Related Applications) This application claims the benefit of U.S. Provisional Patent Application No. 63 / 035,345, filed Jun. 5, 2020, and entitled "AUTOMATED ARTIFACT DETECTION", and U.S. Patent Application No. 17 / 030,254, filed Sep. 23, 2020, and entitled "AUTOMATED ARTIFACT DETECTION", the entireties of which are incorporated herein by reference.
Background Art
[0002] Videos, such as sequences of frames generated by video games, may contain glitches. There is no known automated system capable of detecting whether such a video contains glitches.
[0003] A more detailed understanding can be obtained from the following description given by way of example in conjunction with the accompanying drawings.
Brief Description of the Drawings
[0004]
Figure 1A
Figure 1B
Figure 1C
Figure 2
Figure 3A
Figure 3B
Figure 4
[0005] Techniques are provided for detecting glitches in an image. The techniques include providing the image to a plurality of individual classifiers to generate a plurality of individual classifier outputs, and providing the plurality of individual classifier outputs to an ensemble classifier to generate a glitch classification.
[0006] FIG. 1A is a block diagram of an exemplary computing device 100 in which one or more features of the present disclosure may be implemented. The computing device 100 can be, for example, but not limited to, a computer, a gaming device, a handheld device, a set-top box, a television, a cellular phone, a tablet computer, or any other computing device. The device 100 includes one or more processors 102, a memory 104, a storage device 106, one or more input devices 108, and one or more output devices 110. The device 100 also includes one or more input drivers 112 and one or more output drivers 114. Each input driver 112 is embodied as hardware, a combination of hardware and software, or software, and serves to control the input device 108 (e.g., control its operation, receive input from the input driver 112, and provide data to the input driver 112). Similarly, each output driver 114 is embodied as hardware, a combination of hardware and software, or software, and serves to control the output device 110 (e.g., control its operation, receive input from the output driver 114, and provide data to the output driver 114). It should be understood that the device 100 can include additional components not shown in FIG. 1A.
[0007] In various alternative examples, one or more processors 102 include a central processing unit (CPU), a graphics processing unit (GPU), a CPU and a GPU located on the same die, or one or more processor cores, where each processor core may be a CPU or a GPU. In various alternative examples, memory 104 is located on the same die as one or more of the one or more processors 102 or is located separately from the one or more processors 102. Memory 104 includes volatile or non-volatile memory (e.g., random access memory (RAM), dynamic RAM, cache).
[0008] Storage device 106 includes a fixed or removable storage device (e.g., but not limited to, a hard disk drive, a solid state drive, an optical disk, a flash drive). Input device 108 includes, but is not limited to, a keyboard, a keypad, a touch screen, a touch pad, a detector, a microphone, an accelerometer, a gyroscope, a biometric scanner, or a network connection (e.g., a wireless local area network card for transmitting and / or receiving wireless IEEE802 signals). Output device 110 includes, but is not limited to, a display, a speaker, a printer, a tactile feedback device, one or more lights, an antenna, or a network connection (e.g., a wireless local area network card for transmitting and / or receiving wireless IEEE802 signals).
[0009] Input driver 112 and output driver 114 each include one or more hardware, software, and / or firmware components that interface with and drive input device 108 and output device 110, respectively. Input driver 112 communicates between one or more processors 102 and input device 108, enabling one or more processors 102 to receive input from input device 108. Output driver 114 communicates between one or more processors 102 and output device 110, enabling one or more processors 102 to transmit output to output device 110.
[0010] In various embodiments, device 100 includes one or both of an evaluation system 120 and a training system 122. The evaluation system 120 can detect graphical anomalies (glitches) within images generated by a video game. The training system 122 trains one or more machine learning components (sometimes referred to as "classifiers") of the network of the evaluation system 120 to recognize glitches.
[0011] Some embodiments of device 100 include a computer system configured to train one or more of the machine learning components. Some such embodiments include a computer system such as a server or another computer system associated with a server or server farm, and the computer system generates one or more trained classifiers. In some embodiments, the computer system that generates one or more trained classifiers uses a classifier trained to evaluate whether an input image contains a glitch or not. Other embodiments of device 100 include a computer system (such as a client) configured to store a trained network (generated by a different computer system) and evaluate input data (e.g., an image) via the trained network to determine whether the input data contains a glitch. Thus, device 100 generally represents an architecture of one or more computer systems that generate a trained network and use the trained network to determine whether one or more images contain a glitch.
[0012] Figure 1B is a diagram showing a training device 150 according to an example. In some embodiments, the training device 150 is implemented as the device 100 of FIG. 1A, and the training system 152 is software, hardware, or a combination thereof for performing the operations described herein. The training system 152 receives a training dataset 154 and trains a trained network 156. The training dataset 154 includes a plurality of images labeled as either including or not including glitches. The training system 152 trains the trained network 156 based on the training dataset 154 to recognize whether a subsequent input image includes a glitch.
[0013] Figure 1C is a diagram showing an evaluation device 160 including an evaluation system 162 for generating a classification 168 of input data 164 based on a trained network 156 (in some embodiments, a trained network 166 generated by the training system 152). The classification 168 includes an indication of whether the image of the input data 164 includes a glitch. In some examples, the evaluation system 162 alternatively or additionally generates an output indicating what type(s) of glitches are present in the input data 164.
[0014] FIG. 2 is a diagram showing a network 200 for classifying an input image 201 as either having or not having glitches, according to an example. The network 200 includes a plurality of individual classifiers 202 and an ensemble classifier 204. The individual classifier 202 includes a classifier such as a neural network that receives an input 201 (which is an image) and outputs an individual classifier output 203. The individual classifier output 203 is an indicator of whether the input 201 is considered to include glitches or not. The phrase "is considered to include glitches" may be replaced herein with "includes glitches", meaning that the classifier labels the input 201 as including glitches based on the classification mechanism of the individual classifier 202. Similarly, phrases such as "is considered not to include glitches" may be replaced with "does not include glitches", meaning that the classifier labels the input 201 as not including glitches based on the classification mechanism. Each individual classifier 202 outputs one individual classifier output 203. In some embodiments, each such individual classifier output 203 is a single indicator of whether the input 201 includes glitches. The ensemble classifier 204 consumes the individual classifier outputs 203 and generates a glitch classification 208 that is an indicator of whether the input 201 includes glitches.
[0015] Network 200 uses different types of classifiers to determine whether the input image 201 contains glitches. Each individual classifier 202 is designed with a specific architecture that is tuned to detect one or more specific types of glitches. More specifically, there are many different types of glitches that the input image 201 can contain. Some examples of glitches include shader artifacts, shape artifacts, discoloration artifacts, Morse code patterns, dotted line artifacts, parallel lines, triangulation, line pixelation, screen stuttering, screen tearing, square patch artifacts, blurring artifacts, and random patch artifacts. Each individual classifier 202 is tuned to recognize one or more specific types of glitches.
[0016] Shader artifacts include visible artifacts related to inappropriate shading. A "shader program" is a program that runs on a graphics processing unit and performs functions such as vertex coordinate transformation (vertex shader program) and pixel coloring (pixel shader program). Shader artifacts occur when one or more polygons are shaded inappropriately. Examples of such inappropriate shading visually appear in the image as polygons of different colors that blend together or gradually fade in a specific direction.
[0017] Shape artifacts are artifacts where random polygonal monochromatic shapes appear in the image. Color change artifacts are artifacts where bright spots are present in the image that are colored differently than expected. Morse code patterns appear when the memory cells of the graphics card stack, and instead of the true image being displayed, the stacked values are displayed. In various examples, a GPU operating at a speed higher than the designed speed or at a temperature higher than the designed temperature of the GPU results in Morse code patterns.
[0018] Dot - line artifacts typically include dotted lines with random gradients and positions, or radial lines emanating from a single point. Parallel - line artifacts include lines that are parallel, have a uniform color, and are not part of the true image. Triangular - segmentation artifacts appear as a triangular grid across the image, where a smoother and more natural - looking image is actually correct. Line pixelation is characterized by stripes (such as horizontal stripes) with random colors in the image. Screen bleeding occurs when adjacent columns and rows of the image are swapped with each other. Screen tearing occurs as two consecutive frames within a video rendered in the same image. One part of the image is a scene at one point in time, and another part of the image is a scene at a different point in time.
[0019] Square - patch artifacts are square patches of uniform or nearly uniform color that appear irregularly in the image. Blurring artifacts are blurring in parts of the image that should appear in focus. Random - patch artifacts are randomly - shaped patches of uniform or nearly uniform color that appear irregularly in the image.
[0020] As described above, each of the individual classifiers 202 has a specific underlying architecture. In some embodiments, this underlying architecture includes a "feature extraction" operation that includes one or more operations for modifying the raw input data to amplify specific qualitative features present therein. The underlying architecture is trainable and, in some embodiments, includes a classifier (sometimes referred to herein as a "classifier operation") that comprises a neural network with adjustable weights. These classifiers output a classification indicating whether a given input (e.g., modified by one or more feature extraction operations) contains a glitch.
[0021] Some exemplary feature extraction operations include the discrete Fourier transform, resizing (i.e., resolution adjustment), Pixel-Wise Anomaly Measure, Histogram of Oriented Gradients, and Randomized Principal Component Analysis.
[0022] The discrete Fourier transform converts a two-dimensional input image into a two-dimensional measurement of the characteristic frequencies. In one example, the discrete Fourier transform is obtained as follows.
[0023]
Number
[0024]
Number
[0025] The resize operation adjusts the size of an image by scaling the image with respect to the resolution. Anomaly measurement in terms of pixels includes the following. First, an approximation of the overall distribution of the intensities of red, green, and blue is obtained. Then, each pixel obtains an anomaly score based on how much the intensity of that pixel deviates from the overall distribution. In one example, this anomaly measurement is obtained in the following manner. First, a weighted graph G = (V, E) is generated that includes a set of vertices V = {r, g, b} corresponding to the three color intensities and a set of edges E specified by (a, b, wab), where a and b are elements of V and wab is the edge weight between vertices a and b. The edge weight is defined as follows.
[0026]
Number
[0027]
Number
[0028]
Number
[0029]
Number
[0030] The gradient direction histogram operation is a feature for detecting edges in an image. In this operation, an MxN color image is represented by three functions
[0031]
Number
[0032]
Number
[0033] [Number] is. The histogram is then normalized and concatenated to form a feature descriptor for the entire image.
[0034] Regarding the randomized principal component analysis feature, this feature attempts to find the direction or principal components that maximize the variance of the projected data. The data projected onto the space determined by the first few principal components is used as a low-dimensional representation of the original data matrix. Since the principal components are the normalized right singular vectors of the data matrix, they are often calculated via singular value decomposition (SVD). However, calculating the exact values of SVD requires O(mn min(m,n)) time, where (m,n) are the dimensions of the data matrix. Therefore, finding the exact one is computationally infeasible. Thus, in some embodiments, the randomized principal component analysis feature includes applying a randomized power iteration SVD algorithm. Since the most expensive operation in the randomized algorithm is matrix multiplication, the algorithm can be easily parallelized. Furthermore, the expected approximation error of the randomized algorithm converges exponentially to the optimal value as the number of iterations increases. Therefore, finding an acceptable accurate approximation of the principal components is done within a reasonable time.
[0035] As described above, each individual classifier 202 includes one or more classifier operations. Such classifier operations include one or more of convolutional neural networks, logistic regression, random forest, support vector classifier, and linear discriminant analysis.
[0036] As described above, each of the individual classifiers 202 is configured to be sensitive to one or more specific types of glitches. For this purpose, each individual classifier 202 includes one or more specific types of classification operations and, optionally, one or more feature extraction operations. An explanation of which feature extraction operations are useful for which glitch types is provided here, followed by an explanation of which classification operations are useful for which glitch types.
[0037] Fourier transform techniques are effective for images containing glitches with regular patterns such as Morse code glitches, pixelation glitches, and stuttering glitches. Thus, in some embodiments, the individual classifier 202 for detecting these types of glitches includes a feature extraction operation that implements Fourier transform techniques.
[0038] Histogram of oriented gradients techniques are useful for detecting edges in images. Glitches that inappropriately include edges include screen tearing, shape glitches, shader glitches, square patch glitches, and random patch glitches. Principal component analysis operations are useful for screen tearing glitches, shape glitches, shader glitches, square patch glitches, and random patch glitches. Statistical value search operations search for one or more various statistical values from an image.
[0039] A convolutional neural network is a neural network that can recognize image features at different image detail levels. Therefore, convolutional neural networks are useful for identifying parallel line glitches, shape glitches, shader glitches, blurring glitches, color change glitches, pixelation glitches, triangulation glitches, stuttering glitches, dotted line glitches, and Morse code glitches.
[0040] Support vector classifiers and logistic regression analysis are useful for all types of glitches described, but in some embodiments are not useful for triangulation or color change glitches. Random forest classifiers are useful for screen tearing glitches, shape glitches, shader glitches, square patch glitches, random patch glitches, pixelation glitches, stuttering glitches, dotted line glitches, and Morse code glitches. k-Neural Network classifiers and linear discriminant analysis classifiers are useful for shape glitches, shader glitches, pixelation glitches, stuttering glitches, dotted line glitches, and Morse code glitches.
[0041] In some embodiments, the network 200 includes the following individual classifiers 202: a parallel line glitch classifier including a resizing operation followed by a convolutional neural network; a parallel line classifier including a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm; a screen tearing glitch detector including either or both of a principal component analysis operation and a gradient direction histogram operation followed by one or more of a support vector classifier, a random forest classifier, and a linear regression classifier; a shape glitch detector including a resizing operation followed by a convolutional neural network; a shape glitch detector including a Fourier transform followed by a resizing operation followed by a convolutional neural network; a shape glitch detector including a Fourier transform followed by a resizing operation followed by one or more of a support vector classifier, a random forest classifier, a linear regression classifier, a k-neural network classifier, or a linear discriminant analysis detector; a shape glitch detector including a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm; a shape glitch detector including one or more of a principal component analysis operation and a gradient direction histogram operation followed by one or more of a support vector classifier, a random forest classifier, and a linear regression classifier; a square patch glitch detector including one or more of a principal component analysis operation and a gradient direction histogram operation followed by one or more of a support vector classifier, a random forest classifier, and a linear regression classifier; a blur glitch detector including a resizing operation followed by a convolutional neural network; a blur glitch detector including a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm; a random patch glitch detector including a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm; a random patch glitch detector including one or more of a principal component analysis operation and a gradient direction histogram operation followed by one or more of a support vector classifier, a random forest classifier, and a linear regression classifier; a discoloration glitch classifier including a resizing operation followed by a convolutional neural network.A pixelated glitch classifier that includes a Fourier transform followed by a resizing operation followed by a convolutional neural network, a pixelated glitch classifier that includes a Fourier transform followed by a resizing operation followed by one or more of a support vector classifier, a random forest classifier, a linear regression classifier, a k-neural network classifier, or a linear discriminant analysis detector, a pixelated glitch classifier that includes a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm, a triangular segmentation glitch classifier that includes a Fourier transform followed by a resizing operation followed by a convolutional neural network, a stuttering glitch classifier that includes a Fourier transform followed by a resizing operation followed by a convolutional neural network, a stuttering glitch classifier that includes a Fourier transform followed by a resizing operation followed by one or more of a support vector classifier, a random forest classifier, a linear regression classifier, a k-neural network classifier, or a linear discriminant analysis detector, a stuttering glitch classifier that includes a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm, a dotted line glitch classifier that includes a Fourier transform followed by a resizing operation followed by a convolutional neural network, a dotted line glitch classifier that includes a Fourier transform followed by a resizing operation followed by one or more of a support vector classifier, a random forest classifier, a linear regression classifier, a k-neural network classifier, or a linear discriminant analysis detector, a dotted line glitch classifier that includes a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm, a Morse code glitch detector that includes a Fourier transform followed by a resizing operation followed by a convolutional neural network, a Morse code glitch detector that includes a Fourier transform followed by a resizing operation followed by one or more of a support vector classifier, a random forest classifier, a linear regression classifier, a k-neural network classifier, or a linear discriminant analysis detector, a Morse code glitch detector that includes a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm, including one or more of them.,
[0042] In some embodiments, one or more individual classifiers 202 are configured and trained to detect multiple different types of glitches. In the above description enumerating a certain type of individual classifier 202 and the included classifier operations and feature extraction operations, various individual classifiers 202 have been described as including the same type of classifier and feature extraction operations. For example, the above description has described both a shape glitch detector and a shader glitch detector that include a Fourier transform operation, a resizing operation, and a convolutional neural network classifier. In some embodiments, network 200 includes at least one individual classifier 202 configured to detect several different glitch types. Such "sharing" is possible for glitch types that can be implemented as the same set of classifier operations(s) and feature extraction operations(s) according to the above disclosure. In some examples, network 200 includes the following five individual classifiers 202, namely: 1) a resizing operation followed by a convolutional neural network, 2) a Fourier transform following a resizing operation followed by a convolutional neural network, 3) a resizing operation followed by a Fourier transform followed by one or more of a support vector classifier, a random forest classifier, a linear regression classifier, a k-nearest neural network classifier, or a linear discriminant analysis detector, 4) a statistical value search operation followed by either or both of a support vector classifier or a logistic regression algorithm, and 5) one or more of a principal component analysis operation and a gradient direction histogram operation followed by one or more of a support vector classifier, a random forest classifier, and a linear regression classifier. Each of such individual classifiers 202 is trained and configured to detect one or more of the above-described glitch types. Alternatively, network 200 includes any number of individual classifiers 202 that perform classification for multiple glitch types and any number of individual classifiers 202 that perform classification for a single glitch type. The present disclosure contemplates a network 200 that includes any combination of individual classifiers 202 configured as described above and assigned to detect the above-described glitch types.
[0043] As described, each individual classifier 202 generates an output indicating whether that classifier 202 detected a glitch in the input 201. The ensemble classifier 204 combines this output to generate a glitch classification 208 indicating whether the input image 201 contains a glitch. In various examples, the ensemble classifier 204 is a simple OR function or a logistic regression function that is trained.
[0044] Figure 3A is a diagram showing the operation for training an individual classifier 202 according to an example. The training system 152 receives a labeled training set 302 and trains the individual classifier 202 based on the training set 302. The training set 302 includes images without defects and images with one or more defects. Further, each image is labeled as either containing a defect or not containing a defect. For each individual classifier 202, the training system 152 provides either an image containing a type of defect that the individual classifier 202 is sensitive to or an image without a defect from the labeled training set 302. The training system 152 trains a classifier 304 based on the labeled training set 302 to generate a further trained classifier 306. In various embodiments, the training system executes any technically executable means for training the individual classifier 202, such as by back propagation.
[0045] Figure 3B is a diagram showing the operation for training an ensemble classifier 204 according to an example. The training system 152 receives a labeled training set 350. The training system 152 applies the labeled training set 350 to the individual classifier 202, and the individual classifier provides the output to the ensemble classifier 204. The training system 152 trains the ensemble classifier 204 to accurately output a classification of whether the input contains a glitch based on the output from the individual classifier 202.
[0046] FIG. 4 is a flowchart of a method 400 for classifying an image as either including or not including glitches. Although described with respect to the systems of FIGS. 1A - 3B, any system configured to perform the steps of method 400 in any technically feasible order is within the scope of the present disclosure.
[0047] Method 400 begins at step 402 where an evaluation system 162 obtains an input image. The input image is obtained from any technically feasible source, such as the output from a video game. There may be input images that include glitches and input images that do not include glitches. At step 404, the evaluation system 162 provides the input image to a plurality of individual classifiers 202 for classification. Each individual classifier 202 performs respective operations including performing one or more feature extraction operations and one or more classification operations. The evaluation system 162 provides the output from the individual classifiers 202 to an ensemble classifier for classification. The ensemble classifier provides an output indicating whether the image includes glitches. The evaluation system 162 outputs the output of the ensemble classifier for use. In various examples, using the classifier includes, for example, storing the ensemble classifier in a system that generates or receives images from a video game and applying the generated images to the ensemble classifier to generate a classification. In some examples, a system that utilizes the classification of an image makes a decision regarding how the image is generated or received. In some examples, the system performs one or more corrective operations to remove glitches, such as reducing rendering complexity, improving processor performance, or through some other technique. In some examples, the system holds a record and reports one or more glitches to different systems for later use, such as for debugging. Any other technically feasible use for glitch classification is possible.
[0048] Any of the various elements of FIGS. 1A-4, such as the training system 152, the evaluation system 162, the individual classifier 202, and the ensemble classifier 204, is implemented in various embodiments as software executed on a processor, hardware (e.g., circuitry) hardwired to perform the various operations described herein, or any combination thereof.
[0049] It should be understood that many variations are possible based on the disclosure herein. Although features and elements are described above in specific combinations, each feature or element can be used alone without using other features and elements, or in various combinations with or without other features and elements.
[0050] The provided method can be implemented in a general-purpose computer, a processor, or a processor core. Suitable processors include, by way of example, general-purpose processors, dedicated processors, conventional processors, digital signal processors (DSPs), multiple microprocessors, one or more microprocessors associated with a DSP core, controllers, microcontrollers, application specific integrated circuits (ASICs), field programmable gate array (FPGA) circuits, any other type of integrated circuit (IC), and / or state machines. Such processors can be manufactured by configuring a manufacturing process using the results of other intermediate data such as processed hardware description language (HDL) instructions and netlists, which can be stored on a computer-readable medium. The result of such processing can be a mask work, which can then be used in a subsequent semiconductor manufacturing process to manufacture a processor implementing the features of the present disclosure.
[0051] The methods or flowcharts provided herein can be implemented in a computer program, software, or firmware incorporated in a non-transitory computer-readable storage medium for execution by a general-purpose computer or processor. Examples of non-transitory computer-readable storage media include read only memory (ROM), random access memory (RAM), registers, cache memory, semiconductor memory devices, magnetic media (e.g., internal hard disks and removable disks), magneto-optical media, and optical media (e.g., CD-ROM disks and digital versatile disks (DVDs)).
Claims
A method for detecting glitches in an image that are artifacts resulting from computer graphics processing when generating the image, comprising: providing the image to a plurality of individual classifiers to generate a plurality of individual classifier outputs based on the image; providing the plurality of individual classifier outputs to an ensemble classifier to generate a glitch classification, wherein the plurality of individual classifiers includes a first classifier and a second classifier, the first classifier being more sensitive than the second classifier to a first type of glitch, and the second classifier being more sensitive than the first classifier to a second type of glitch; A method. Claim 2 The plurality of individual classifiers includes a classification operation. The method of claim 1. Claim 3 The classification operation includes any one of a convolutional neural network classifier, a logistic regression classifier, a random forest classifier, a support vector classifier, and a linear discriminant analysis classifier. The method of claim 2. Claim 4 The plurality of individual classifiers includes a first feature extraction operation. The method of claim 1. Claim 5 The feature extraction operation includes any one of a discrete Fourier transform operation, a pixel-level anomaly measurement operation, a gradient direction histogram operation, a randomized principal component analysis operation, and a statistical value search operation. The method of claim 4. Claim 6 The second type of glitch includes any one of a shader artifact, a shape artifact, a color change artifact, a Morse code pattern, a dotted line artifact, parallel lines, triangle partitioning, line pixelation, screen stuttering, screen tearing, a square patch artifact, a blur artifact, and a random patch artifact. The method of claim 1. Claim 7 The first individual classifier includes a combination of one or more feature extraction operations and one or more classification operations, the combination being sensitive to the type of glitch associated with the individual classifier. The method of claim 1. Claim 8 The ensemble classifier includes a logistic regression classifier. The method of claim 1. A device for detecting glitches in an image that are artifacts resulting from computer graphics processing when generating the image, comprising: a plurality of individual classifiers of an evaluation system; and an ensemble classifier. The plurality of individual classifiers are configured to generate a plurality of individual classifier outputs based on the image, the ensemble classifier is configured to generate a glitch classification based on the plurality of individual classifier outputs, the plurality of individual classifiers include a first classifier and a second classifier, the first classifier is more sensitive than the second classifier to a first type of glitch, and the second classifier is more sensitive than the first classifier to a second type of glitch, device. **Claim 10** the plurality of individual classifiers include a classification operation, The device according to claim 9. **Claim 11** the classification operation includes any one of a convolutional neural network classifier, a logistic regression classifier, a random forest classifier, a support vector classifier, and a linear discriminant analysis classifier, The device according to claim 10. **Claim 12** the plurality of individual classifiers include a first feature extraction operation, The device according to claim 9. **Claim 13** the feature extraction operation includes any one of a discrete Fourier transform operation, a per-pixel anomaly measurement operation, a gradient direction histogram operation, a randomized principal component analysis operation, and a statistical value search operation, The device according to claim 12. **Claim 14** the second type of glitch includes any one of a shader artifact, a shape artifact, a color change artifact, a Morse code pattern, a dotted line artifact, parallel lines, triangle partitioning, line pixelation, screen stuttering, screen tearing, a square patch artifact, a blur artifact, and a random patch artifact, The device according to claim 9. **Claim 15** The first individual classifier includes a combination of one or more feature extraction operations and one or more classification operations, and the combination is sensitive to the type of glitch associated with the individual classifier, The device according to claim 9. **Claim 16** the ensemble classifier includes a logistic regression classifier, The device according to claim 1. **Claim 17** A computer-readable storage medium storing instructions, wherein when the instructions are executed by a processor, providing an image to a plurality of individual classifiers to generate a plurality of individual classifier outputs based on the image, Providing the plurality of individual classifier outputs to an ensemble classifier to generate a glitch classification, wherein the plurality of individual classifiers includes a first classifier and a second classifier, the first classifier being more sensitive than the second classifier to a first type of glitch, and the second classifier being more sensitive than the first classifier to a second type of glitch; Causing the processor to detect a glitch in the image, which is an artifact resulting from computer graphics processing during generation of the image; A computer-readable storage medium.
18. The plurality of individual classifiers includes a classification operation. The computer-readable storage medium of claim 17.
19. The classification operation includes any one of a convolutional neural network classifier, a logistic regression classifier, a random forest classifier, a support vector classifier, and a linear discriminant analysis classifier. The computer-readable storage medium of claim 18.
20. The plurality of individual classifiers includes a first feature extraction operation. The computer-readable storage medium of claim 17.
Citation Information
Patent Citations
Verification device, verification method and verification program
JP2018032071A