Providing Solutions to Common Technical
Problems
Clustering Similar Patterns in High
Dimensional Noisy Raw Data
Any particular pattern could have a large number of
descriptive attributes (i.e. dimensions). In the PMT Demo example, each
of the 100 digits in the pattern could represent the status of a
specific attribute that could define 10 to the 100th possible patterns .
Using conventional methods, the computation time to cluster similar
patterns grows rapidly (exponentially) with the number of the
dimensions. This is a common clustering or pattern search problem and
named more than 50 years ago as "The curse of dimensionality".
PMT solves this problem. PMT clusters similar patterns simply by
sampling them. It does not directly compare any one pattern to another
and does not store them. Given a larger dimension pattern PMT simply
samples more points. As a result PMT performance is largely independent
of pattern dimensionality.
Real Time Tracking of Movement in Video
Images
The common problem is to find a set of points in
one image frame that can be identified as the same points in another
frame, even though the two images are somewhat different between
different camera views or between sequential frames from the same
camera. This problem has existed since video has existed and as a result
has been given the name; "The Correspondence Problem".
PMT Solution:
Distribute an overlapping grid of 10X10 pixel sub
images over a given region of a video frame. PMT is processes each sub
image and the coordinates of its current grid location is stored at the
memory locations generated. The sub images in this frame are the
training set. With movement in the image, subsequent frames will have
some of the same 10X10 sub images (with some distortion) displaced to a
different grid position. The grid is again processed with PMT and any of
the same displaced sub images will be recognized and provide the grid
coordinates of where it was in the previous frame. New unrecognized sub
images are assigned their current grid coordinates. Sub images
recognized with the same grid position as its current position have not
moved. The process continues at speeds of more than 250,000 sub images
per second to track objects or background movement. PMT's simplicity and
performance opens the potential to build optical flow cameras that are
critical to motion visual guidance solutions.
Real Time Signal Processing Using Vector
Quantization
Vector Quantization is commonly used in Signal Processing for
compression and recognition. The problem is building the codebook which
identifies a single pattern that represents each similar cluster. This
process is slow and restricted by the technical problems above. PMT can
build the codebook in real time simply by sampling the patterns. It can
also update the codebook with any new clusters as they occur.
Hierarchical Machine Learning
Pattern Integration in Time
Continuous speech recognition is an example of using PMT for
hierarchical machine learning in time. First, speech sounds are
preprocessed and represented as a spatial frequency map similar to the
cochlear of our ear. PMT monitors the continuous speech patterns in
real time as clusters are identified that represent the basic sounds of
the language (e.g. phones). The clusters emerge because the phones occur
more frequently and because they present more stable patterns in time
separated by plosives. The process generates a continuous stream of IDs
which is also a pattern consisting of a stream of numbers. A second
level PMT process the ID stream and identifies clusters of sounds at a
higher level (e.g. phonemes) and produces another ID stream. Ultimately,
in a supervised learning mode, higher level clusters (phrases) are
assigned meaning. This process occurs automatically in real time simply
by monitoring continuous speech and its success relies only on the
existence of similar clusters. No patterns are stored, no patterns are
directly compared, and no complex mathematical representations of speech
are needed. Cluster IDs become the common processing language.
Spatial Pattern Integration
The above example relates to building higher level clusters in time
(temporal integration). Cluster ID,s can also be integrated
simultaneously from multiple real time sensors of different types (e.g.
visual and audio). Or, equivalently from different regions of a single
very high dimensional pattern (an entire image). Again, cluster IDs
become the common processing language throughout the hierarchy and
independent from the pattern source.