ObjectRecognition - Temple University

lemonadeviraginityAI and Robotics

Nov 6, 2013 (3 years and 9 months ago)

83 views

Tom McGrath

CIS 601, Fall 2004

Temple University



Object Recognition



Introduction:


This paper is a report for a project on object recognition, as presented in class.

The project includes a presentation in Microsoft powerpoint format, this report,
thre
e

matlab program
s, and a supply of sample images.


The three matlab programs perform
different tasks concerning object recognition: histograms, template matching with
correlation, and structural analysis.

The goal of the program experiments is to realize
the
ability of current object recognition techniques to find similar objects when input is
entirely in image form. As it turns out, barring natural language descriptors from an
object recognition approach creates significant limitations.


Conc
lusions:


Ob
ject recognition techniques used today require a controlled environment. The
theoretical limitations of object recognition using computer algorithms are very vague,
and considering the fact that the limitations of humans ability for object recognition is
still yet to be realized, there are many unanswered questions. This makes object
recognition, otherwise called pattern recognition, a live research topic.


Having experimented with the various object recognition techniques available in
matlab’s image proc
essing toolbox, I’ve found that

the problem of automatic extraction
and definition of objects given any input image is well beyond the various approaches
used for something application specific
. As a result, I conclude that the best approach to
implement
an image search engine
require
s

that humans maintain the database of images
,
assigning each image to the object classes of the objects it contains.

This way, we can
take input as text, and reduce the problem of object searching to searching a tree.





Pr
ogram Description and
Methods:


There are three matlab programs supplied with this project: HistSearch.m,
ObjectSearch.m, and BoundarySearch.m. I will discuss their details separately.




HistSearch.m:



This program is used to show images and their corre
sponding histograms. Since
preliminary analysis showed that this approach is ineffective when the target object in an
image is a small subset of the image, or when there is too much noise, I never adapted
this program to perform statistical analysis and f
ind best matching histograms. As the
user of this program can see, the histograms of the various images supplied show almost
no similarity whatsoever, so having the computer attempt to match them would be futile.


The design of the program is simple:


For

all images used in programs {



Display image and pause;



Display histogram and pause;


}


This program, like the others, require that the ‘source’ images supplied with the
program are in the current directory, and that the ‘target’ images are in their r
espective
directories: coins, flowers, and stapler off of the current working directory.


Some program results follow:

Sample A:






Sample B:






Sample C:




It was easy to see from these samples, and all others, that any histogram approach
to im
age similarity given my sample images would not work.




ObjectSearch.m:



This program performs template matching with correlation on 3 sample templates
and corresponding target images. The program design is as follows.


This
program
uses
template matchi
ng with correlation to find instances of a
template image in a target image.

The program uses 3 different objects as examples: a
coin, a flower, and a stapler. Templates for these images are supplied, as are several
example target images for each.

Each
set of target images must be in a subdirectory off
of the current working directory named “coins”, “flowers”, and “stapler.” The template
images should be place in the current working directory.

This program relies on
functions provided by our textbook,
and available on the web in .p file format at:
www.prenhall.com/gonzalezwoodseddins



The basic algorithm is:


For each template



For each target image supplied for that temple




Perform templa
te matching with correlation and show results;







Some program results follow:


Template:



Target:



Result:


The white dot is the point of closest match. This attempt failed. It found the brightest
coin instead.


Target:


Result:

This attempt w
orked, and the little white dot is in the position aligned with the center of
the coin.










Target:


Result:

This attempt failed, as the little white dot aligns with the LED on the phone.


Target:

Result:

This attempt worked. The little white dot

aligns with the coin.



Results with the flower example were not quite as good as the results from the
coin example. Coin success was about 50%, flower success was about 20%, and the
stapler, given its large template size, didn’t work at all.


Results we
re quite mixed, with fewer successes than failures. It turns out that the
right noise will invalidate template matching with correlation.





BoundarySearch.m:




This program finds the boundaries of 2 images, extracts a chain code for each, and
performs
a string similarity on the chain codes.

This program requires the libraries
supplied with the textbook for our course, mentioned earlier in this document.
Program
design is as follows.



Acquire image 1;


Segment image 1;


Compute boundary of image 1;


A
cquire image 2;


Segment image 2;


Compute boundary of image 2;


Compare the two boundaries;


Results:


This approach is not suitable for images with noise or various other object within
them, single it’s no possible to guarantee a good line of our desired

object. In order to
produce even vaguely similar character codes I had to use sample images with no noise.
The object I chose was the stapler.


First
stapler:

Second
stapler:


Boundaries:


The above two stapler boundaries were far more similar to ea
ch other than between
various other objects, but still were remarkably different given that they are both simple
stapler images.



References:

Digital Image Processing using Matlab

Prentice Hall, ISBN 0
-
13
-
008519
-
7

Michael Tarr, Brown University


http://www.cog.brown.edu/~tarr/pdf/Tarr02ECS.pdf#search='object%
20
recognition


3D Object Recognition by Neural Trees


http://csdl.computer.org/comp/proceedings/icip/1997/8183/03/818304
08abs.htm

Longjin Jan Latecki,

Temple University
CIS 601 Lecture notes



http://www
.cis.temple.edu/~latecki/CIS601
-
04/lectures_fall04.htm