Pattern recognition for identifying refractory entities

By generating gradients and using machine learning models to classify difficult-to-distinguish objects in the image, the difficulty in object recognition in the image caused by visual crowding is solved, and the rapid identification and concise description of difficult-to-distinguish entities are achieved.

CN119998850APending Publication Date: 2025-05-13INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380070936.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-10-05
Filing Date
2023-05-05
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

Visual crowding makes it difficult to identify objects in images to distinguish them, especially in images containing a large number of repeated characters or symbols, which human observers find difficult to correctly identify these objects.

Method used

Generate multiple gradients through image filters, search the images for possible repetitive patterns, generate data structures of probability-weighted eigenvectors, and classify these eigenvectors through machine learning models to output the identity of possible repetitive patterns.

Benefits of technology

Fast pattern recognition of difficult-to-distinguish entities in the image is realized, mitigating the ambiguity variance related to information entities, and providing a concise description of difficult-to-explain image patterns.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119998850A_ABST
    Figure CN119998850A_ABST
Patent Text Reader

Abstract

Identifying refractory entities within an image may include generating, by an image filter, a plurality of gradients, each gradient corresponding to one of a plurality of pixels of an image captured by an imager. Possible duplicate patterns may be searched in the image. In response to detecting a possible repeating pattern within the image based on the plurality of gradients, a data structure may be generated that includes a set of probability weighted feature vectors corresponding to the possible repeating pattern. A machine learning model may classify each of the set of probability weighted feature vectors. Identities of the possible repetitive patterns may be output, the identities being classified based on a machine learning model of the probability weighted feature vectors.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to machine-implemented pattern recognition, and more particularly to identifying indistinguishable objects within images. Background Art

[0002] Visual crowding is a perceptual phenomenon related to the inability to recognize objects in clutter. Clutter can cause objects to become indistinguishable, meaning that there is a non-negligible probability that an observer will not be able to correctly recognize or easily discern the presence of an object within a cluttered image. Visual crowding imposes fundamental limitations on conscious visual perception and object recognition within the human visual field by hindering the observer's ability to recognize objects presented away from the fovea (a tiny pit in the macula of the observer's retina) due to the presence of neighboring objects. Although sometimes associated with neuropsychiatric disorders (e.g., schizophrenia, autism), visual crowding also affects individuals who are not otherwise impaired by the underlying disorder.

[0003] The effects of visual crowding may be particularly pronounced if an individual attempts to identify characters within a group of objects (e.g., a string of zeros within a character sequence). For example, virtually everyone will try to count the number of zeros within a string of, for example, 100000000000000000000023, making it almost impossible to easily determine the value of the number represented. Too many zeros make it difficult to distinguish other numbers, that is, strings of integers are rendered as indistinguishable objects within the image. If the string is viewed on a computer display or a display of another electronic device, the problem is usually more serious. The farther the observer is from the object in the clutter, the more the problem of visual crowding worsens. Summary of the invention

[0004] In one or more embodiments, a method for identifying an entity within an image may include generating a plurality of gradients through an image filter, wherein each of the plurality of gradients corresponds to one of a plurality of pixels of an image captured by an imager. The method may include searching the image for possible repeating patterns. In response to detecting a possible repeating pattern within the image based on the plurality of gradients, the method may include generating a data structure including a set of probability weighted feature vectors corresponding to the possible repeating pattern. The method may include classifying each of the set of probability weighted feature vectors through a machine learning model. The method may include outputting the identity of the possible repeating pattern based on the classification.

[0005] In one or more embodiments, a system for identifying an entity within an image includes one or more processors configured to initiate operations. The operations may include generating a plurality of gradients through an image filter, wherein each of the plurality of gradients corresponds to one of a plurality of pixels of an image captured by an imager. The operations may include searching the image for possible repeating patterns. In response to detecting a possible repeating pattern within the image based on the plurality of gradients, the operations may include generating a data structure including a set of probability weighted feature vectors corresponding to the possible repeating pattern. The operations may include classifying each of the set of probability weighted feature vectors through a machine learning model. The operations may include outputting the identity of the possible repeating pattern based on the classification.

[0006] In one or more embodiments, a computer program product includes one or more computer-readable storage media having instructions stored thereon. The instructions are executable by a processor to initiate operations. The operations may include generating a plurality of gradients through an image filter, wherein each of the plurality of gradients corresponds to one of a plurality of pixels of an image captured by an imager. The operations may include searching the image for possible repeating patterns. In response to detecting a possible repeating pattern within the image based on the plurality of gradients, the operations may include generating a data structure including a set of probability weighted feature vectors corresponding to the possible repeating pattern. The operations may include classifying each of the set of probability weighted feature vectors through a machine learning model. The operations may include outputting the identity of the possible repeating pattern based on the classification.

[0007] This summary is provided only to introduce certain concepts, and is not intended to identify any key or essential features of the claimed subject matter. Other features of the arrangements of the present invention will become apparent from the accompanying drawings and the detailed description that follows. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The arrangement of the present invention is illustrated by way of example in the accompanying drawings. However, the accompanying drawings should not be interpreted as limiting the arrangement of the present invention to only the specific embodiments shown. After reading the following detailed description and referring to the accompanying drawings, various aspects and advantages will become apparent.

[0009] Figure 1 An example system for identifying indistinguishable entities in an image is shown.

[0010] Figure 2 Shows the use of Figure 1 certain methodological aspects of the system.

[0011] Figure 3 Illustration of the generation of Figure 1An example method for a data structure comprising a probability-weighted feature vector for a machine learning model of a computer program product.

[0012] Figure 4 Shows Figure 1 certain operational aspects of the system.

[0013] Figure 5 Shown is the method for implementing Figure 1 An example computing environment for various aspects of the system. DETAILED DESCRIPTION

[0014] Although the present disclosure ends with claims defining novel features, it is believed that the various features described within the present disclosure will be better understood by considering the description in conjunction with the accompanying drawings. The processes, machines, manufactures, and any variations thereof described herein are provided for illustrative purposes. The specific structural and functional details described within the present disclosure should not be construed as limiting, but merely as a basis for the claims and as a representative basis for teaching those skilled in the art to variously employ the features described in virtually any appropriate detailed structure. Furthermore, the terms and phrases used within the present disclosure are not intended to be limiting, but rather to provide an understandable description of the features described.

[0015] The present disclosure relates to machine-implemented pattern recognition, and more particularly to identifying indistinguishable objects within images.

[0016] According to the inventive arrangements disclosed herein, example methods, systems, and computer program products are provided that can identify indistinguishable entities within an image. The disclosed inventive arrangements can use a machine learning model trained to identify indistinguishable entities to achieve rapid pattern recognition. As defined herein, "indistinguishable entity" means that a visual image or a portion thereof includes characters that convey information but may be misunderstood or incomprehensible to a human observer.

[0017] The characters may include, for example, alphabetic characters drawn from a particular language such as English, Chinese (e.g., Pinyin), or other languages. For example, the characters may include particular types of numeric characters, such as Arabic numerals, Roman numerals, or other types of numerals. For example, the characters may include logograms (e.g., Chinese characters or Japanese Kanji) or other symbols that concisely convey information. For example, the characters may include coded representations, such as QR codes, two-dimensional barcodes, or other coded representations.

[0018] The likelihood of confusion for an observer increases with the amount of repetition of closely successive identical or similar characters, symbols, or objects within a string. As defined herein, "likelihood of confusion" refers to the probability that an observer will not understand or misunderstand a string of characters that is greater than a predetermined threshold, and is therefore related to the amount of repetition of identical or similar characters, symbols, or objects in the string. Thus, an image or portion of an image can be accurately characterized as an indistinguishable entity if the repetition exceeds a predetermined threshold. Thus, an indistinguishable entity is a repeating pattern for which there is a certain predetermined probability that an observer, or another machine depending on the application, will not understand or will incorrectly interpret the pattern.

[0019] The present invention arrangement is thus able to recognize characters of entities appearing within difficult to interpret images including repeating patterns, for example.In various arrangements, target entity information (eg, recognized characters) may be communicated as input to one or more systems, thereby enhancing the visualization capabilities of the system.

[0020] In certain arrangements, possible repeating patterns are detected within an image. An amount of repetition may be determined. The amount of repetition may be correlated to a likelihood of confusion. If the amount of repetition exceeds a predetermined threshold correlation, the arrangement is able to identify the repeating pattern. An identity may provide a concise description of the repeating pattern. The identity may be a textual description. For example, the inventive arrangement may output an identity such as "one trillion and twenty-three" in response to classifying the numeric string 1000000000023. Thus, the output identity provides an easily understood, mundane description of the numeric string.

[0021] One aspect of the inventive arrangements is a machine learning model having enhanced predictive accuracy for classifying one or more indistinguishable entities within an image. The enhanced predictive accuracy is obtained by training the model using a weighting approach. In some arrangements, the weighting approach is based on intra-class variances of similar entities and inter-class variances between different entity classes. The variances can be used to obtain a ratio (defined herein as a ψ-ratio) for weighting feature vectors input to the machine learning model.

[0022] According to some inventive arrangements, identifying indistinguishable entities may also be based on a determined context of the information entity.

[0023] Another aspect of the inventive arrangements is to mitigate the ambiguous variance associated with information entities. According to certain arrangements, the ambiguous variance is reduced and / or controlled based on determining the within-class variance and the within-class variance associated with the information entity.

[0024] Yet another aspect of the inventive arrangement is to generate a gradient for identifying an information entity. According to the inventive arrangement, the gradient can be constructed as an algebraic scalar. The algebraic scalar can be used to identify an information entity including an indistinguishable entity vector.

[0025] Other aspects of the inventive arrangements disclosed in the present disclosure will be described in more detail below with reference to the accompanying drawings. For the purpose of simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. For example, for clarity, the size of some elements may be enlarged relative to other elements. In addition, where deemed appropriate, reference numerals are repeated in the accompanying drawings to indicate corresponding, similar or identical features.

[0026] First reference Figure 1 and 2 , shows an example system 100 for identifying indistinguishable image entities (systems) and a method 200 for implementing certain operational aspects of the present disclosure. According to certain arrangements, the system 100 illustratively includes an image filter 102, a pattern recognition engine 104, a data structure generator 106, a machine learning model 108, and an entity identifier 110. Optionally, the system 100 includes a contextualizer engine 112. In various arrangements, the image filter 102, the pattern recognition engine 104, the data structure generator 106, the machine learning model 108, the entity identifier 110, and the optional contextualizer engine 112 can be implemented in hardware (e.g., dedicated hardwired circuitry), software (e.g., program code executed by one or more processors), or a combination thereof. For example, in some embodiments, the system 100 can be loaded into a computer such as a computing environment 500 ( Figure 5 ) is implemented in computer readable program instructions on a computer 501 of the computer.

[0027] In operation, at block 202, the image filter 102 can generate a plurality of gradients 114, each corresponding to a pixel of the image 116. In various arrangements, the image 116 can be an image captured by an imager, such as a camera or other device capable of generating an image. The image 116 is received by a device (e.g., a computer) in which the system 100 is implemented. Each gradient generated by the image filter 102 can measure the change in intensity and / or color at the corresponding pixel of the image 116. Mathematically, each gradient at the corresponding pixel is a binary vector whose components are the partial derivative in the horizontal direction of the image 116 and the partial derivative in the vertical direction of the image 116. The direction of the gradient at each pixel of the image 116 points to the direction of the maximum increase in intensity at the corresponding pixel, and the magnitude of the gradient indicates the rate of change of intensity at the pixel. Optionally, the image filter 102 can also be configured to normalize the image 116 by changing the intensity value of each pixel. The image filter 102 can also be optionally configured to remove the background of the image 116.

[0028] At box 204, the pattern recognition engine 104 can detect one or more possible occurrences of a repeating pattern that may occur within the image 116. The pattern recognition engine detects a possible repeating pattern within the image 116 based on the gradient 114. In some arrangements, the magnitude of the gradient 114 provides a histogram. The pattern recognition engine 104 can be configured to interpret the histogram as a discretized approximation of a probability density function (e.g., an approximate Gaussian distribution). The probability can indicate the possibility that a pixel is one of a group of pixels corresponding to a repeating pattern. The gradient of the image 116 indicates that the region of a particular pixel intensity (e.g., greater than a predetermined probability threshold) can be identified by the pattern recognition engine 104 as corresponding to a possible repeating pattern.

[0029] Possible repeating patterns may include character sequences of indistinguishable entities. If there is a possibility that the user misinterprets or fails to correctly understand the correct meaning of the characters of the repeating pattern (e.g., a probability greater than a predetermined threshold of 0.67 or higher), the repeating pattern may correspond to an indistinguishable entity, for example.

[0030] In some arrangements, at block 204, the pattern recognition engine 104 detects possible repeating patterns based on the magnitude and direction of the gradients 114 generated at block 202. Assuming the image data is discrete, the pattern recognition engine 104 may determine the magnitude of each gradient by taking the square root of the sum of the finite differences Δu and Δv, and determine as follows:

[0031]

[0032] where Δu=g(x+1,y+1)-g(x,y) and Δv=g(x+1,y)-g(x,y+1).

[0033] In some arrangements, the pattern recognition engine 104 determines the incidence direction of the repeating pattern based on the direction of the gradient at each pixel corresponding to the repeating pattern. The gradient direction ε(x,y) relative to the horizontal x-axis at the pixel position (x,y) is determined as follows:

[0034]

[0035] where Δu=g(x+1,y+1)-g(x,y) and Δv=g(x+1,y)-g(x,y+1).

[0036] System 100 may optionally include one or more image processing units (not explicitly shown) operating in conjunction with pattern recognition 104 and having the capability to normalize image 116. Image processing unit(s) may linearize any patterns that occur at an angle relative to the horizontal x-axis based on ε(x,y).

[0037] The pattern recognition engine 104 may be trained to detect possible categories (e.g., alphabetic characters, numeric characters) of discrete characters that may be present in possible repeating patterns within a region of the image 116. Information provided by the gradient of the region is extracted by the pattern recognition engine 104. Although the identification of possible repeating patterns by the pattern recognition engine 104 may be a false positive, the likelihood of such a false positive is mitigated by subsequent classification performed using the machine learning model 108, as described in more detail below.

[0038] If, at block 204, the pattern recognition engine 104 detects a possible repeating pattern based on the gradient 114, the pattern recognition engine 104 provides the extracted information to the data structure generator 106. The data structure generator 106 can generate a data structure including a set of probability weighted feature vectors, the feature vectors and weights being based on the information extracted from the gradient 114 by the pattern recognition engine 104.

[0039] At block 206, the data structure generator 106 generates a data structure including a probability weighted feature vector 118 corresponding to possible but not yet recognized characters for the possible repeating pattern detected at block 204. The probability weighted feature vector 118 is input to the machine learning model 108.

[0040] At block 208, the machine learning model 108 is capable of classifying each of the probability weighted feature vectors 118. The machine learning model 108 configured as a machine learning classifier is trained using the feature vectors modified by weighting each element of the feature vectors for training. Feature weighting enhances the predictive accuracy of the machine learning model 108.

[0041] At box 210, based on the classification of each of the probability weighted feature vectors by the machine learning model 108, the entity identifier 110 can output an identity 120. The identity 120 corresponds to a possible repeating pattern, now identified with a predetermined confidence level as a repeating sequence of characters that are almost certainly identical or visually similar. The identity 120 may include a text description. For example, the text description may trivially describe the repeating pattern of letters, numbers, or other characters. The identity 120 may be a concise description of the repeating pattern, a description that is easier for a user to understand. For example, the identity 120 may respond to a long string of characters such as "aaaaaaaaaaaaaaaaaaaaaaaaaaa" with a text description "The English letter "a" repeated 23 times."

[0042] Figure 3An example method 300 for generating a data structure including a probability weighted feature vector according to certain arrangements is shown. The method 300 may be performed by a data structure generator, such as the data structure generator 106, for generating a probability weighted feature vector input for a machine learning model, such as the machine learning model 108. A probability weighted feature vector is generated for each character that may be within a possible repeating pattern.

[0043] According to method 300, a data structure generator determines between-class variance and within-class variance based on the probability of each of a plurality of classification categories. The classification categories may, for example, include classification categories corresponding to alphabetic characters of a predetermined language. The classification categories may, for example, include numeric characters. In various arrangements, the plurality of classification categories may include different combinations of various classification categories, depending on the particular application or task.

[0044] At block 302, for example, a classification category Data structure generator based on probability To determine the between-class variance η of dimension a +i a ,in Represents multiple samples of possible repeating patterns. The between-class variance η +i a Determined as follows:

[0045]

[0046] in and and

[0047] At block 304, the data structure generator determines the classification category, for example, as follows is the intra-class variance η of dimension b wi + :

[0048]

[0049] in and

[0050] At block 306 , the system determines the ψ-ratio based on the between-class variance and the within-class variance:

[0051]

[0052] At block 308, the system converts each element z of the feature vector {Z} i Multiply by the ψ-ratio to obtain the corresponding weighted eigenvector {W}. Therefore,

[0053] {W} = {Z}·ψ. Formula (5)

[0054] At block 310, the system determines whether one or more other feature vectors remain for probability weighting. If so, the operation at block 308 is repeated. Otherwise, the method 300 continues at block 312 to input the probability weighted feature vector into the machine learning model.

[0055] A machine learning model (e.g., machine learning model 108) can be trained to classify a target feature vector (configured as a probability weighted feature vector). The target feature vector is classified based on the value assigned to the object, such as the ASCII value of an English letter. The classification value solved is the feature value, which is classified by the machine learning model according to the following function:

[0056]

[0057] where K is the number of eigenvalues; λ i is the i-th eigenvalue of the covariance matrix Σ that satisfies the sample eigenvector; n is the vector size (number of elements); σ 2 is the population variance, N0 is the number of feature vector samples of a particular class, and N is the total number of feature vector samples.

[0058] The covariance matrix Σ is a real symmetric matrix. Therefore, the eigenvalues ​​of the covariance matrix will be real numbers, and its eigenvectors can be selected to form an orthogonal normalized set. The eigenvalues ​​can be generated by eigendecomposition or Cholesky decomposition of the covariance matrix Σ.

[0059] The term α is the representation error determined as follows:

[0060]

[0061] where {W} is the weighted eigenvector and {M} is the mean vector.

[0062] The iterative training algorithm attempts to minimize the representation error α to achieve an acceptable level of classification accuracy for the machine learning model.

[0063] Reference again Figure 1 and 2 , the machine learning model 108 is trained using the training data 122. The training data 122 includes labeled feature vectors of repetitive patterns. The feature vectors used to train the machine learning model 108 are probability weighted feature vectors. According to certain arrangements, each element of the labeled feature vector comprising the training data 122 is weighted based on a ψ-ratio. The ψ-ratio is determined during training the machine learning model 108. The ψ-ratio is determined based on feature vectors belonging to similar classes and is calculated for each element of the labeled feature vector. The higher the ψ-ratio of an element, the greater the information content provided by the element for assigning repetitive patterns to classes.

[0064] In some arrangements, an optional contextualizer engine 112 can determine one or more contextual features of an image. The contextualizer engine 112 can add each identified contextual feature to a feature vector generated by the data structure generator 106 for input to the machine learning model 108. Contextual features can be generated by the contextualizer engine 112 based on individual characters or character strings having predetermined meanings. Illustratively, the contextualizer engine 112 can retrieve pre-stored contextual features from the context library 124. For example, the contextualizer engine 112 in some applications can determine whether a character may be an English letter, a Chinese character, a Roman numeral, an Arabic numeral, or another type of character.

[0065] Figure 4 Certain operational aspects of the system 100 are shown with respect to an example image 400. The system 100 uses the ψ-ratio modified feature vector to overlay weighted features to identify a sampled pattern. Illustratively, the repeating pattern 402 and the repeating pattern 404 are sampled patterns. The system 100 is able to identify box-enclosed entities corresponding to the repeating patterns 402 and 404. Entities are identified according to the above operations performed by the system 100.

[0066] In instances where pattern recognition 104 determines that a repeating pattern includes an integer string such as repeating pattern 402, entity identifier 110 outputs an identity that clarifies the repeating pattern or presents a more understandable version of the pattern. For example, based on the classification of the probability-weighted feature vector corresponding to repeating pattern 402 by machine learning model 108, entity identifier 110 outputs an identity "zero repeated twenty-five times" as a textual description. In other such instances, entity identifier 110 outputs a textual or exponential representation of the value corresponding to the integer string. For example, if the repeating pattern is identified as including a string such as 1000000000, entity identifier 110 outputs an integer that reads "one billion" or "1×10 9 ” identity.

[0067] If the possible repeating pattern includes a string of letters such as shown by repeating pattern 404, entity identifier 110 may output an identity that includes a single pattern of the possible repeating pattern plus an indication of the number of times the single pattern occurs within the repeating pattern. For example, with respect to repeating pattern 404, identity 120 may be the trivial description "er repeated nine times."

[0068] In other cases where the possible repeating pattern includes strings of alphabetic characters, entity identifier 110 may output an identity indicating the language from which the alphabetic characters were extracted.

[0069] Various aspects of the present disclosure are described by narrative text, flow charts, block diagrams of computer systems, and / or block diagrams of machine logic included in computer program product (CPP) embodiments. With respect to any flow chart, depending on the technology involved, the operations may be performed in an order different from the order shown in a given flow chart. For example, again depending on the technology involved, two operations shown consecutively in a flow chart block may be performed in reverse order, as a single integrated step, simultaneously, or in a manner that at least partially overlaps in time.

[0070] Computer program product embodiments ("CPP embodiments" or "CPP") are terms used in this disclosure to describe any collection of one or more storage media (also referred to as "media") collectively included in a collection of one or more storage devices that collectively include machine-readable code corresponding to instructions and / or data for performing the computer operations specified in a given CPP claim. A "storage device" is any tangible device that can hold and store instructions for use by a computer processor. Without limitation, a computer-readable storage medium may be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media include: magnetic disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), static random access memories (SRAM), compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanical encoding devices (such as punch cards or pits / land formed in a major surface of a disk), or any suitable combination of the foregoing. Computer-readable storage media, as the term is used in this disclosure, should not be construed as storing in the form of transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, light pulses through fiber optic cables, electrical signals transmitted through wires, and / or other transmission media. As will be appreciated by those skilled in the art, data is typically moved at certain occasional points in time during normal operation of the storage device, such as during access, defragmentation, or garbage collection, but this does not make the storage device transitory because the data is not transitory while it is stored.

[0071] The computing environment 500 includes an example of an environment for executing at least some of the computer code involved in performing the method of the present invention, such as identifying indistinguishable image entities shown at block 550. The method of the present invention performed with the computer code of block 550 may include generating a data structure including a set of probability weighted feature vectors corresponding to possible repeating patterns, classifying the probability weighted feature vectors with a machine learning model, and outputting the identity of the possible repeating pattern based on the classification, as described herein in the context of the system 100 and the method 200. In addition to block 550, the computing environment 500 includes, for example, a computer 501, a wide area network (WAN) 502, an end user device (EUD) 503, a remote server 504, a public cloud 505, and a private cloud 506. In this embodiment, computer 501 includes processor group 510 (including processing circuit 520 and cache 521), communication structure 511, volatile memory 512, persistent storage device 513 (including operating system 522 and frame 550, as described above), peripheral device group 514 (including user interface (UI) device group 523, storage device 524 and Internet of Things (IoT) sensor group 525) and network module 515. Remote server 504 includes remote database 530. Public cloud 505 includes gateway 540, cloud orchestration module 541, host physical machine group 542, virtual machine group 543 and container group 544.

[0072] Computer 501 may take the form of a desktop computer, laptop computer, tablet computer, smart phone, smart watch or other wearable computer, mainframe computer, quantum computer, or any other form of computer or mobile device now known or developed in the future that is capable of running programs, accessing a network, or querying a database such as remote database 530. As is well known in the art of computer technology, and depending on the technology, the performance of computer-implemented methods may be distributed among multiple computers and / or among multiple locations. On the other hand, in this presentation of computing environment 500, the detailed discussion focuses on a single computer, particularly computer 501, to keep the presentation as simple as possible. Computer 501 may be located in the cloud, even though it is not physically present. Figure 5 5. While not shown in the cloud, computer 501 need not be located in the cloud except to any extent that can be positively indicated.

[0073] Processor group 510 includes one or more computer processors of any type known now or developed in the future. Processing circuit 520 can be distributed on multiple packages, such as multiple coordinated integrated circuit chips. Processing circuit 520 can implement multiple processor threads and / or multiple processor cores. Cache 521 is a memory located in the processor chip package (one or more), and is generally used for data or code that should be available for fast access by threads or cores running on processor group 510. Cache memory is generally organized into multiple levels according to relative proximity to the processing circuit. Alternatively, some or all of the caches of the processor group may be located "off-chip". In some computing environments, processor group 510 may be designed to work with qubits and perform quantum computing.

[0074] Computer readable program instructions are typically loaded onto computer 501 to cause processor group 510 of computer 501 to perform a series of operating steps to implement a computer-implemented method, so that the instructions so executed will instantiate the method specified in the narrative description and / or flow chart of the computer-implemented method included in this document (collectively referred to as "the present method"). These computer readable program instructions are stored in various types of computer readable storage media, such as cache 521 and other storage media discussed below. The program instructions and related data are accessed by processor group 510 to control and direct the execution of the present method. In computing environment 500, in box 550, at least some of the instructions for executing the present method may be stored in persistent storage device 513.

[0075] Communications fabric 511 is the signal conduction path that allows the various components of computer 501 to communicate with each other. Typically, the fabric is made up of switches and conductive paths, such as those that make up a bus, a bridge, physical input / output ports, etc. Other types of signal communication paths may be used, such as fiber optic communication paths and / or wireless communication paths.

[0076] Volatile memory 512 is any type of volatile memory now known or developed in the future. Examples include dynamic random access memory (RAM) or static RAM. Typically, volatile memory is characterized by random access, but this is not required unless expressly stated. In computer 501, volatile memory 512 is located in a single package and is internal to computer 501, but, alternatively or additionally, volatile memory can be distributed in multiple packages and / or located externally relative to computer 501.

[0077] Persistent storage 513 is any form of non-volatile storage for computers known now or developed in the future. The non-volatility of the memory means that the stored data is maintained regardless of whether power is supplied to the computer 501 and / or directly to the persistent storage 513. Persistent storage 513 can be a read-only memory (ROM), but typically at least a portion of the persistent memory allows the writing of data, the deletion of data, and the rewriting of data. Some common forms of persistent storage include disks and solid-state storage devices. Operating system 522 can take several forms, such as various known proprietary operating systems or operating systems of the open source portable operating system interface type using a kernel. The code included in box 550 typically includes at least some of the computer codes involved in executing the method of the present invention.

[0078] The peripheral device group 514 includes a collection of peripheral devices of the computer 501. The data communication connection between the peripheral devices and other components of the computer 501 can be implemented in various ways, such as a Bluetooth connection, a near field communication (NFC) connection, a connection made by a cable (such as a universal serial bus (USB) type cable), a plug-in type connection (e.g., a secure digital (SD) card), a connection made through a local area communication network, and even a connection made through a wide area network such as the Internet. In various embodiments, the UI device group 523 may include components such as a display screen, a speaker, a microphone, a wearable device (such as goggles and a smart watch), a keyboard, a mouse, a printer, a touchpad, a game controller, and a tactile device. The storage device 524 is an external storage device, such as an external hard drive, or a pluggable storage device, such as an SD card. The storage device 524 can be permanent and / or volatile. In some embodiments, the storage 524 can take the form of a quantum computing storage device for storing data in the form of quantum bits. In embodiments where computer 501 needs to have a large amount of storage (e.g., where computer 501 locally stores and manages a large database), the storage may be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. IoT sensor set 525 consists of sensors that can be used in IoT applications. For example, one sensor may be a thermometer, while another sensor may be a motion detector.

[0079] The network module 515 is a collection of computer software, hardware, and firmware that allows the computer 501 to communicate with other computers via the WAN 502. The network module 515 may include hardware such as a modem or a Wi-Fi signal transceiver, software for packetizing and / or depacketizing data transmitted over a communication network, and / or web browser software for transmitting data over the Internet. In some embodiments, the network control function and the network forwarding function of the network module 515 are executed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing software defined networks (SDN)), the control function and the forwarding function of the network module 515 are executed on physically separated devices, so that the control function manages several different network hardware devices. Computer-readable program instructions for executing the method of the present invention can generally be downloaded to the computer 501 from an external computer or an external storage device via a network adapter card or a network interface included in the network module 515.

[0080] WAN 502 is any wide area network (e.g., the Internet) capable of transmitting computer data over non-local distances by any technology now known or developed in the future for transmitting computer data. In some embodiments, a WAN may be replaced and / or supplemented by a local area network (LAN) designed to transmit data between devices located in a local area, such as a Wi-Fi network. A WAN and / or LAN typically includes computer hardware, such as copper transmission cables, fiber optic transmission lines, wireless transmission, routers, firewalls, switches, gateway computers, and edge servers.

[0081] End-user device (EUD) 503 is any computer system used and controlled by an end-user (e.g., a customer of an enterprise operating computer 501), and may take any of the forms discussed above in connection with computer 501. EUD 503 typically receives useful and useful data from the operation of computer 501. For example, in the hypothetical case where computer 501 is designed to provide recommendations to an end-user, the recommendations would typically be transmitted from network module 515 of computer 501 to EUD 503 via WAN 502. In this manner, EUD 503 may display or otherwise present the recommendations to the end-user. In some embodiments, EUD 503 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, etc.

[0082] Remote server 504 is any computer system that provides at least some data and / or functionality to computer 501. Remote server 504 may be controlled and used by the same entity that operates computer 501. Remote server 504 represents a machine that collects and stores useful and useful data for use by other computers, such as computer 501. For example, in the hypothetical case where computer 501 is designed and programmed to provide recommendations based on historical data, then this historical data may be provided to computer 501 from remote database 530 of remote server 504.

[0083] The public cloud 505 is any computer system available to multiple entities that provides on-demand availability of computer system resources and / or other computer capabilities (particularly data storage (cloud storage) and computing capabilities) without direct active management by users. Cloud computing typically uses the sharing of resources to achieve consistency and economy of scale. The direct and active management of the computing resources of the public cloud 505 is performed by the computer hardware and / or software of the cloud orchestration module 541. The computing resources provided by the public cloud 505 are typically implemented by virtual computing environments running on various computers that constitute the host physical machine group 542, which is the entire domain of physical computers in the public cloud 505 and / or available for the public cloud. The virtual computing environment (VCE) is typically in the form of a virtual machine from the virtual machine group 543 and / or a container from the container group 544. It should be understood that these VCEs can be stored as images and can be transmitted between various physical machine hosts as images or after the instantiation of the VCE. The cloud coordination module 541 manages the transmission and storage of images, deploys new instantiations of VCEs, and manages active instantiations of VCE deployments. Gateway 540 is a collection of computer software, hardware, and firmware that allows public cloud 505 to communicate over WAN 502 .

[0084] Some further explanation of a virtualized computing environment (VCE) will now be provided. A VCE can be stored as an "image". A new active instance of the VCE can be instantiated from the image. Two common types of VCEs are virtual machines and containers. Containers are VCEs that use operating system-level virtualization. This refers to an operating system feature in which the kernel allows the existence of multiple isolated user space instances, called containers. From the perspective of the programs running in them, these isolated user space instances typically behave like actual computers. Computer programs running on a normal operating system can utilize all of the resources of the computer, such as connected devices, files and folders, network shares, CPU capabilities, and quantifiable hardware capabilities. However, programs running within a container can only use the contents of the container and the devices assigned to the container, a feature known as containerization.

[0085] Private cloud 506 is similar to public cloud 505, except that the computing resources are only available to a single enterprise. Although private cloud 506 is depicted as communicating with WAN 502, in other embodiments, the private cloud can be completely disconnected from the Internet and can only be accessed through a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), typically implemented by different vendors. Each of the multiple clouds remains a separate and discrete entity, but the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable coordination, management, and / or data / application portability between multiple constituent clouds. In this embodiment, public cloud 505 and private cloud 506 are both part of a larger hybrid cloud.

[0086] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. Nevertheless, several definitions that apply throughout this document will now be presented.

[0087] As defined herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0088] As defined herein, "another" means at least a second or more.

[0089] As defined herein, "at least one," "one or more," and "and / or" are open-ended expressions that are both conjunctions and disjunctions in operation unless expressly stated otherwise. For example, each of the expressions "at least one of A, B, and C," "at least one of A, B, or C," "one or more of A, B, and C," "one or more of A, B, or C," and "A, B, and / or C" means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together.

[0090] As defined herein, "automatically" means without user intervention.

[0091] As defined herein, “includes,” “comprising,” and / or “containing” specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0092] As defined herein, "if" means "in response to" or "in response to," depending on the context. Thus, the phrase "if it is determined" can be interpreted to mean "in response to determining" or "in response to determining," depending on the context. Similarly, the phrase "if [the condition or event] is detected" can be interpreted to mean "upon detection of [the condition or event]," or "in response to detecting [the condition or event]," or "in response to detecting [the condition or event]," depending on the context.

[0093] As defined herein, "one embodiment," "an embodiment," "in one or more embodiments," "in a specific embodiment," or similar language means that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment described within the present disclosure. Therefore, the above phrases and / or similar language appearing in the present disclosure may, but do not necessarily, all refer to the same embodiment.

[0094] As defined herein, the phrases "response" and "in response to" mean to readily respond to or react to an action or event. Thus, if a second action is performed "in response to" or "in response to" a first action, there is a causal relationship between the occurrence of the first action and the occurrence of the second action. The phrases "response" and "in response to" indicate a causal relationship.

[0095] As defined herein, an "end user" is a human being.

[0096] The terms first, second, etc. may be used herein to describe various elements. These elements should not be limited by these terms, as these terms are only used to distinguish one element from another element, unless otherwise stated or the context clearly indicates otherwise.

[0097] The inventive arrangement disclosed herein is proposed for the purpose of illustration, rather than to be exhaustive or limited to the disclosed specific arrangement. Without departing from the scope of the described inventive arrangement, many modifications and variations will be apparent to those of ordinary skill in the art. The terms used herein are selected to best explain the principles, practical applications, or technical improvements found in the market of the inventive arrangement, or to enable other persons of ordinary skill in the art to understand the inventive arrangement disclosed herein.

Claims

1. A computer-implemented method comprising: generating, by an image filter of a computer, a plurality of gradients, wherein each gradient of the plurality of gradients corresponds to one pixel of a plurality of pixels of an image captured by an imager and received by the computer; searching the image for possible repeating patterns within the image via a pattern recognition engine of the computer; In response to detecting a possible repeating pattern within the image based on the plurality of gradients, generating a set of probability weighted feature vectors corresponding to the repeating pattern; classifying each of the set of probability-weighted feature vectors by a machine learning model; and Based on the classification, an identity of the repeating pattern is output.

2. The computer-implemented method of claim 1 , further comprising: determining an amount of repetition of the possible repetitive pattern; as well as The outputting is performed in response to the amount of repetition exceeding a predetermined threshold associated with a likelihood of confusion.

3. The computer-implemented method of claim 1 , wherein: Generating a set of probability weighted vectors includes determining a set of feature weighted probabilities based on a ratio of between-class variance to within-class variance of the set of probability weighted feature vectors.

4. The computer-implemented method of claim 1 , wherein: The detecting includes detecting that the possible repeating pattern includes a sequence of characters, wherein the characters include at least one of alphabetical characters, numeric characters, or code-based characters.

5. The computer-implemented method of claim 1 , wherein: The possible repeating pattern comprises a string of integers, and the identity comprises a textual representation of a value corresponding to the string of integers.

6. The computer-implemented method of claim 1, wherein the possible repeating patterns comprise character strings and the identities comprise a single pattern in the possible repeating patterns plus an indication of the number of times the single pattern occurs within the possible repeating patterns.

7. The computer-implemented method of claim 1 , wherein: The possible repeating pattern comprises a string of alphabetic characters, and the identity indicates a language from which the alphabetic characters were extracted.

8. A system comprising: A processor is configured to initiate operations including: generating, by an image filter, a plurality of gradients, wherein each gradient of the plurality of gradients corresponds to one pixel of a plurality of pixels of an image captured by an imager; searching the image for possible repeating patterns within the image; In response to detecting the possible repeating pattern within the image based on the plurality of gradients, generating a set of probability weighted feature vectors corresponding to the possible repeating pattern; classifying each of the set of probability-weighted feature vectors by a machine learning model; and Based on the classification, the identity of the possible repeating pattern is output.

9. The system of claim 8, wherein the processor is configured to initiate operations further comprising: determining an amount of repetition of the possible repetitive pattern; as well as The outputting is performed in response to the amount of repetition exceeding a predetermined threshold, the predetermined threshold indicating that the possible repetitive pattern is associated with a likelihood of confusion.

10. The system according to claim 8, wherein: Generating a set of probability weighted vectors includes determining a set of feature weighted probabilities based on a ratio of between-class variance and within-class variance of the set of probability weighted feature vectors.

11. The system according to claim 8, wherein: The detecting includes detecting that the possible repeating pattern includes a sequence of characters, wherein the characters include at least one of alphabetical characters, numeric characters, or code-based characters.

12. The system according to claim 8, wherein: The possible repeating pattern comprises a string of integers, and the identity comprises a textual representation of a value corresponding to the string of integers.

13. The system of claim 8, wherein the possible repeating patterns include character strings and the identities include a single pattern in the possible repeating patterns plus an indication of the number of times the single pattern occurs within the possible repeating patterns.

14. A computer program product, the computer program product comprising: One or more computer-readable storage media and program instructions stored together on the one or more computer-readable storage media, the program instructions being executable by a processor to cause the processor to initiate operations, the operations comprising: generating, by an image filter, a plurality of gradients, wherein each gradient of the plurality of gradients corresponds to one pixel of a plurality of pixels of an image captured by an imager; searching the image for possible repeating patterns within the image; In response to detecting the possible repeating pattern within the image based on the plurality of gradients, generating a set of probability weighted feature vectors corresponding to the possible repeating pattern; classifying each of the set of probability-weighted feature vectors by a machine learning model; and Based on the classification, the identity of the possible repeating pattern is output.

15. The computer program product of claim 14, wherein: The program instructions are executable by the processor to cause the processor to initiate operations, the operations also including: determining an amount of repetition of the possible repetitive pattern; and The outputting is performed in response to the amount of repetition exceeding a predetermined threshold, the predetermined threshold indicating that the possible repetitive pattern is associated with a likelihood of confusion.

16. The computer program product of claim 14, wherein: Generating a set of probability weighted vectors includes determining a set of feature weighted probabilities based on a ratio of between-class variance to within-class variance of the set of probability weighted feature vectors.

17. The computer program product of claim 14, wherein: The detecting includes detecting that the possible repeating pattern includes a sequence of characters, wherein the characters include at least one of alphabetical characters, numeric characters, or code-based characters.

18. The computer program product of claim 14, wherein: The possible repeating pattern comprises a string of integers, and the identity comprises a textual representation of a value corresponding to the string of integers.

19. The computer program product of claim 14, wherein: The possible repeating patterns include character strings, and the identities include a single pattern in the possible repeating patterns plus an indication of the number of times the single pattern occurs within the possible repeating patterns.

20. The computer program product of claim 14, wherein: The possible repeating pattern comprises a string of alphabetic characters, and the identity indicates a language from which the alphabetic characters were extracted.