# US 2010/0166315 A1 · Method and apparatus for creating a pattern recognizer

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

- Number: US 2010/0166315 A1
- Document ID: US20100166315A1
- Status: Published application
- Kind: A1
- Application number: 12/344,347
- Filed: 2008-12-26
- Published: 2010-07-01
- Earliest claimed: 2008-12-26
- Assignees: Five Apes, Inc.
- Inventors: Williams J. F. Paquier
- Web page: https://patentgrep.com/patent/US20100166315A1

## CPC

- G06V 10/454: {Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]}
- G06F 18/24: Classification techniques
- G06V 10/764: using classification, e.g. of video objects
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An image-based pattern recognizer and a method and apparatus for making such a pattern recognizer are disclosed. By employing positional coding, the meaning of any feature present in an image can be defined implicitly in space. The pattern recognizer can be a neural network including a plurality of stages of observers. The observers are configured to cooperate to identify the presence of features in the input image and to recognize a pattern in the input image based on the features. Each of the observers includes a plurality of neurons. The input image includes a plurality of units, and each of the observers is configured to generate a separate output set that includes zero or more coordinates of such units.

## Claims

### Claim 1

A method comprising:
using a first plurality of observers in a network of observers, to identify a plurality of units, of an input image, that represent a feature;
using a second plurality of observers in the network of observers, to attempt to recognize, in the input image, a pattern from each of a plurality of pattern types, based on outputs of the first plurality of observers, each observer of the second plurality of observers being configured to recognize a different type of pattern; and
adding a new observer to the network of observers, to recognize a new pattern based on output of at least one observer of the second plurality of observers.

### Claim 2 (depends on 1)

A method as recited in claim 1, further comprising configuring the new observer to recognize the new pattern based on output of at least two observers of the second plurality of observers.

### Claim 3 (depends on 1)

A method as recited in claim 1, wherein said identifying a plurality of units of an input image as potentially representing a feature comprises, for each of the plurality of units:
computing a measure of contrast for the unit; and
identifying the unit as potentially representing a feature based on the measure of contrast.

### Claim 4 (depends on 3)

A method as recited in claim 3, wherein using a second plurality of observers in the network of observers, to attempt to recognize a pattern comprises:
using each of a plurality of weight patterns to integrate values for each of the identified units.

### Claim 5 (depends on 1)

A method as recited in claim 1, further comprising:
configuring the new observer by
specifying a set of upstream observers from which the new observer is to receive input; and
specifying a set of pattern filters using which the new observer is to process input from upstream observers.

### Claim 6 (depends on 5)

A method as recited in claim 5, wherein said configuring is performed responsive to input from a user.

### Claim 7 (depends on 6)

A method as recited in claim 6, wherein configuring the new observer further comprises:
selecting the size of a pattern filter based on a user selection of a subset of the image.

### Claim 8 (depends on 1)

A method as recited in claim 1, further comprising:
teaching the new observer in response to a user input, by adjusting a set of weights used by the new observer in recognizing the new pattern in response to the user input.

### Claim 9

A method comprising:
adding a new observer to a network of observers, the network including a plurality of observers operatively coupled to each other in successive stages, each stage including at least two observers, each of the plurality of observers configured to produce an output in response to recognizing a different type of pattern in an input image; and
configuring the new observer to recognize a pattern in the input image based on output of at least one observer of the plurality of observers.

### Claim 10 (depends on 9)

A method as recited in claim 9, further comprising configuring the new observer to recognize the pattern based on output of at least two observers of the plurality of observers.

### Claim 11 (depends on 9)

A method as recited in claim 9, wherein configuring the new observer comprises:
specifying a set of upstream observers from which the new observer is to receive input;
specifying a set of pattern filters using which the new observer is to process input from upstream observers.

### Claim 12 (depends on 11)

A method as recited in claim 11, wherein said configuring further comprises specifying a location in the input image to which to initialize each of the pattern filters.

### Claim 13 (depends on 12)

A method as recited in claim 12, wherein said specifying a set of one or more upstream observers, said specifying a set of pattern filters, and said specifying a location in an input image to which to initialize each pattern filter are performed responsive to input from a user.

### Claim 14 (depends on 12)

A method as recited in claim 12, wherein said configuring further comprises:
selecting the size of a pattern filter based on a user selection of a subset of the image.

### Claim 15 (depends on 9)

A method as recited in claim 9, further comprising:
teaching the new observer in response to a user input, by adjusting a set of weights used by the new observer in recognizing the new pattern in response to the user input.

### Claim 16

A processing system comprising:
a processor; and
a memory coupled to the processor and storing code which, when executed by the processor, causes the processing system to perform a set of operations for adding a new observer to a network of observers, the network including a plurality of observers operatively coupled to each other in successive stages, each stage including at least two observers, each of the plurality of observers configured to produce an output in response to recognizing a different type of pattern in an input image; the set of operations including
configuring the new observer to recognize a pattern in the input image based on output of at least two observers of the plurality of observers, wherein configuring the new observer includes, responsive to input from a user,
specifying a set of upstream observers from which the new observer is to receive input;
specifying a set of pattern filters using which the new observer is to process input from upstream observers,
specifying a location in the input image to which to initialize each of the pattern filters, and
selecting the size of a pattern filter based on a user selection of a subset of the image.

### Claim 17 (depends on 16)

A processing system as recited in claim 16, further comprising:
teaching the new observer in response to a user input, by adjusting a set of weights used by the new observer in recognizing the new pattern in response to the user input.

### Claim 18

An apparatus comprising:
a processor;
first logic to use a first plurality of observers in a network of observers, to identify a plurality of units, of an input image, that represent a feature;
second logic to use a second plurality of observers in the network of observers, to attempt to recognize, in the input image, a pattern from each of a plurality of pattern types, based on outputs of the first plurality of observers, each observer of the second plurality of observers being configured to recognize a different type of pattern; and
third logic to add a new observer to the network of observers, to recognize a new pattern based on output of at least one observer of the second plurality of observers.

### Claim 19 (depends on 18)

An apparatus as recited in claim 18, further comprising logic to configure the new observer to recognize the new pattern based on output of at least two observers of the second plurality of observers.

### Claim 20 (depends on 18)

An apparatus as recited in claim 18, wherein the first logic identifies a plurality of units of an input image as potentially representing a feature by, for each of the plurality of units:
computing a measure of contrast for the unit; and
identifying the unit as potentially representing a feature based on the measure of contrast.

### Claim 21 (depends on 20)

An apparatus as recited in claim 20, wherein the second logic attempts to recognize a pattern by:
using each of a plurality of weight patterns to integrate values for each of the identified units.

### Claim 22 (depends on 21)

An apparatus as recited in claim 21, further comprising logic to configure the new observer, based on user input, by
specifying a set of upstream observers from which the new observer is to receive input;
specifying a set of pattern filters using which the new observer is to process input from upstream observers; and
specifying the size of a pattern filter based on a user selection of a subset of the image.

### Claim 23 (depends on 22)

An apparatus as recited in claim 22, further comprising logic to teach the new observer in response to a user input, by adjusting a set of weights used by the new observer in recognizing the new pattern based on the user input.
