# US 11,461,683 B2 · Pattern recognition system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,461,683 B2
- Document ID: US11461683B2
- Status: Granted
- Kind: B2
- Application number: 16/844,849
- Filed: 2020-04-09
- Published: 2020-08-27
- Granted: 2022-10-04
- Earliest claimed: 2013-09-04
- Assignees: DataShapes, Inc.
- Applicants: Rokio, Inc.
- Inventors: Tyson J. Thomas; Kristopher Robert Buschelman; Frank G. Evans; Karl P. Geiger; Michael P. Kelley; Eric C. Schneider; Timothy J. Carruthers; Jeffrey Brian Adams
- Web page: https://patentgrep.com/patent/US11461683B2

## CPC

- G06N 20/00: Machine learning
- G06F 18/28: Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
- G06N 5/047: Pattern matching networks; Rete networks
- G06V 10/772: Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
- G06F 2218/10: by analysing the shape of a waveform, e.g. extracting parameters relating to peaks
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Methods, apparatuses and systems directed to pattern learning, recognition, and metrology. In some particular implementations, the invention provides a flexible pattern recognition platform including pattern recognition engines that can be dynamically adjusted to implement specific pattern recognition configurations for individual pattern recognition applications. In certain implementations, the present invention provides for methods and systems suitable for analyzing and recognizing patterns in biological signals such as multi-electrode array waveform data. In other implementations, the present invention also provides for a partition configuration where knowledge elements can be grouped and pattern recognition operations can be individually configured and arranged to allow for multi-level pattern recognition schemes. In other implementations, the present invention provides methods and systems for dynamic learning of patterns in supervised and unsupervised manners.

## Claims

### Claim 1

A system, comprising:
memory configured to store one or more knowledge elements, each knowledge element corresponding to a data vector representing a pattern of interest; and
one or more processors implementing logic configured to:
identify a dithered pattern entirely outside of a region of search in waveform data;
generate one or more dithered knowledge elements based on the dithered pattern;
search for occurrences of the pattern of interest in the waveform data by comparing input vectors derived from the waveform data to the one or more data vectors and by comparing the input vectors with the one or more dithered knowledge elements;
record, for each occurrence of the pattern of interest found in the waveform data, one or more measurements corresponding to one or more characteristics of the occurrence of the pattern of interest;
record, for each occurrence of the pattern of interest found in the waveform data, a point in the waveform data corresponding to the occurrence of the pattern of interest or a range of the waveform data corresponding to the occurrence of the pattern of interest; and
generate search results, the search results identifying at least some occurrences of the pattern of interest and, the corresponding one or more measurements.

### Claim 2 (depends on 1)

The system of claim 1, wherein, for each occurrence of the pattern of interest identified in the search results, the search results include or provide access to the corresponding point in the waveform data or the corresponding range of the waveform data.

### Claim 3 (depends on 2)

The system of claim 2, wherein, in response to user interaction with a representation of a particular occurrence of the pattern of interest in the search results, the logic is configured to display the corresponding point in the waveform data or the corresponding range of the waveform data.

### Claim 4 (depends on 2)

The system of claim 2, wherein, for each occurrence of the pattern of interest identified in the search results, the search results include a link to the corresponding point in the waveform data or the corresponding range of the waveform data.

### Claim 5 (depends on 1)

The system of claim 1, wherein the one or more measurements include one or more of a timing measurement, a location, an amplitude, a peak amplitude, a sample count, a mean, a median, a standard deviation, a global maximum, a global minimum, a local maximum, a local minimum, a slope, pattern statistics, a polynomial fit intercept, an inflection point, a point of maximum curvature, or a duration for a corresponding amplitude.

### Claim 6 (depends on 1)

The system of claim 1, wherein the logic is configured to record the one or more measurements for a particular occurrence of the pattern of interest with reference to at least one other occurrence of the pattern of interest.

### Claim 7 (depends on 1)

The system of claim 1, wherein the logic is configured to perform operations using the one or more measurements for multiple occurrences of the pattern of interest.

### Claim 8 (depends on 1)

The system of claim 1, wherein the waveform data correspond to a first data channel, and wherein the logic is configured to trigger processing of information associated with a second data channel in response to identification of each occurrence of the pattern of interest found in the waveform data.

### Claim 9 (depends on 8)

The system of claim 8, wherein processing the information in the second data channel includes taking one or more measurements in the second data channel.

### Claim 10 (depends on 8)

The system of claim 8, wherein processing the information in the second data channel includes searching for occurrences of a different pattern of interest in the second data channel.

### Claim 11 (depends on 1)

The system of claim 1, wherein the logic is configured to identify a pattern among the occurrences of the pattern of interest.

### Claim 12 (depends on 1)

The system of claim 1, wherein the logic is configured to search for the occurrences of the pattern of interest in the waveform data by applying weights or mask to at least some of the input vectors and the one or more data vectors.

### Claim 13 (depends on 1)

The system of claim 1, wherein the waveform data correspond to a first data channel, wherein the logic is configured to search for occurrences of a different pattern of interest in a second data channel, and wherein the logic is configured to combine one or more recognition results associated with the first data channel with one or more recognition results associated with the second channel to determine a result.

### Claim 14 (depends on 13)

The system of claim 13, wherein the first data channel corresponds to a first sensor type and the second data channel corresponds to a second sensor type.

### Claim 15 (depends on 13)

The system of claim 13, wherein the logic is configured to adjust a parameter associated with the comparing of the input vectors derived from the waveform data to the one or more data vectors.

### Claim 16 (depends on 1)

The system of claim 1, wherein the logic is configured to generate a particular knowledge element for a particular input vector in response to a comparison result of comparing the particular input vector to the one or more data vectors.

### Claim 17

A computer-implemented method, comprising:
identifying a dithered pattern entirely outside of a region of search in waveform data;
generating one or more dithered knowledge elements based on the dithered pattern;
searching for occurrences of a pattern of interest in the waveform data by comparing input vectors derived from the waveform data to the one or more data vectors and by comparing the input vectors with the one or more dithered knowledge elements;
recording, for each occurrence of the pattern of interest found in the waveform data, one or more measurements corresponding to one or more characteristics of the occurrence of the pattern of interest;
recording, for each occurrence of the pattern of interest found in the waveform data, a point in the waveform data corresponding to the occurrence of the pattern of interest or a range of the waveform data corresponding to the occurrence of the pattern of interest; and
generating search results, the search results identifying at least some occurrences of the pattern of interest and, the corresponding one or more measurements.

### Claim 18 (depends on 17)

The method of claim 17, wherein, for each occurrence of the pattern of interest identified in the search results, the search results include or provide access to the corresponding point in the waveform data or the corresponding range of the waveform data.

### Claim 19 (depends on 18)

The method of claim 18, further comprising, in response to user interaction with a representation of a particular occurrence of the pattern of interest in the search results, displaying the corresponding point in the waveform data or the corresponding range of the waveform data.

### Claim 20 (depends on 18)

The method of claim 18, wherein, for each occurrence of the pattern of interest identified in the search results, the search results include a link to the corresponding point in the waveform data or the corresponding range of the waveform data.

### Claim 21 (depends on 17)

The method of claim 17, wherein the one or more measurements include one or more of a timing measurement, a location, an amplitude, a peak amplitude, a sample count, a mean, a median, a standard deviation, a global maximum, a global minimum, a local maximum, a local minimum, a slope, pattern statistics, a polynomial fit intercept, an inflection point, a point of maximum curvature, or a duration for a corresponding amplitude.

### Claim 22 (depends on 17)

The method of claim 17, wherein recording the one or more measurements for a particular occurrence of the pattern of interest is done with reference to at least one other occurrence of the pattern of interest.

### Claim 23 (depends on 17)

The method of claim 17, further comprising performing operations using the one or more measurements for multiple occurrences of the pattern of interest.

### Claim 24 (depends on 17)

The method of claim 17, wherein the waveform data correspond to a first data channel, the method further comprising triggering processing of information associated with a second data channel in response to identification of each occurrence of the pattern of interest found in the waveform data.

### Claim 25 (depends on 24)

The method of claim 24, wherein processing the information in the second data channel includes taking one or more measurements in the second data channel.

### Claim 26 (depends on 24)

The method of claim 24, wherein processing the information in the second data channel includes searching for occurrences of a different pattern of interest in the second data channel.

### Claim 27 (depends on 17)

The method of claim 17, further comprising identifying a pattern among the occurrences of the pattern of interest.

### Claim 28 (depends on 17)

The method of claim 17, wherein searching for the occurrences of the pattern of interest in the waveform data includes applying weights or mask to at least some of the input vectors and the one or more data vectors.

### Claim 29 (depends on 17)

The method of claim 17, wherein the waveform data correspond to a first data channel, the method further comprising:
searching for occurrences of a different pattern of interest in a second data channel; and
combining one or more recognition results associated with the first data channel with one or more recognition results associated with the second channel to determine a result.

### Claim 30 (depends on 29)

The method of claim 29, wherein the first data channel corresponds to a first sensor type and the second data channel corresponds to a second sensor type.

### Claim 31 (depends on 29)

The method of claim 29, further comprising adjusting a parameter associated with the comparing of the input vectors derived from the waveform data to the one or more data vectors.

### Claim 32 (depends on 17)

The method of claim 17, further comprising generating a particular knowledge element for a particular input vector in response to a comparison result of comparing the particular input vector to the one or more data vectors.

### Claim 33

A computer program product, comprising one or more non-transitory computer-readable media having computer program instructions stored therein, the computer program instructions being configured such that, when executed by one or more computing devices, the computer program instructions cause the one or more computing devices to:
identify a dithered pattern entirely outside of a region of search in waveform data;
generate one or more dithered knowledge elements based on the dithered pattern;
search for occurrences of the pattern of interest in the waveform data by comparing input vectors derived from the waveform data to the one or more data vectors and by comparing the input vectors with the one or more dithered knowledge elements;
record, for each occurrence of the pattern of interest found in the waveform data, one or more measurements corresponding to one or more characteristics of the occurrence of the pattern of interest;
record, for each occurrence of the pattern of interest found in the waveform data, a point in the waveform data corresponding to the occurrence of the pattern of interest or a range of the waveform data corresponding to the occurrence of the pattern of interest; and
generate search results, the search results identifying at least some occurrences of the pattern of interest and, the corresponding one or more measurements.
