Chris Pollett >
Students >
Wallun
( Print
View )
[Bio]
[Project Blog]
[CS297
Proposal]
[Del1]
[Del2]
[Del3]
[Del4]
[CS297Report-PDF]
[CS298Proposal]
[CS298Presentation-PDF]
[CS298Report-PDF]
[Project Source]
|
CS297-298 Project News Feed
Report turned in
(Posted on Wed, 07 Dec 2005 21:03:38 PST
.)
Just turned in report to
committee and front office.
Awaiting reservation of room for
thesis defense.
|
Draft completed
(Posted on Sat, 03 Dec 2005 00:01:49 PST
.)
Done with writing project draft.
Start working on presentation slides.
Need to talk to committee members
next Monday.
Probably schedule defense week after
next week.
|
Report 90% complete
(Posted on Thu, 01 Dec 2005 18:23:30 PST
.)
Turned in draft to Dr. Pollett
for prelim proofreading for
grammar and stuff.
Need to perform one last test
that assigns more than one
training for a given person. The
idea is to try and project an
image near a cluster of training
images that has the desired aged
traits.
Last thing to do is to complete
abstract and conclusion portion
of report and I'm done.
Awaiting proofreading corrections
by Dr. Pollett and need to make
changes accordingly.
|
75% done with project report
(Posted on Thu, 10 Nov 2005 13:07:06 PST
.)
Experimented with HSI encoding of
training images and determined
that it bought us no benefit;
this is because you cannot
separate the intensity values
from the hue and saturation
values; in other words, you
cannot just use saturation and
hue values with a fixed intensity
value.
Nearing completion of project
draft report.
Final thing to do is to generate
tests for program and have human
subjects evaluate the performance
of the program
|
40+ pages into cs298 report
(Posted on Sun, 06 Nov 2005 15:45:05 PST
.)
Continue to slog through 40+
pages of project report.
Need to generate experiments for
rgb and hsi image encoding and
get test results from 6 human
subjects
Generate results for colorization
application
|
Create experiments to test program
(Posted on Thu, 27 Oct 2005 11:34:58 PDT
.)
After discussion with Dr.
Pollett, will do the following:
1) Reduce size of eigenface
during training to reduce
computation time
2) Experiment with colorization
application where instead of
training with <original, aged>
image pairs, train with <gray,
colored> images; the idea is to
train the PCA classifier
to "colorize" grayscale images;
basically taking a gray image and
adding color to it
3) Add HSI color model research
and experimental data into report
4) Continue to slog away at the
report
|
CS298 program code complete
(Posted on Thu, 20 Oct 2005 21:35:42 PDT
.)
Completed code for CS298
1) Added convex hull code to
follow as closely as possible the
outline of the features (eyes,
nose, mouth).
2) Added edge detection, low pass
filtering (smoothing), and
principal components truncation.
3) Obtained sufficient number of
images to start testing program
and generating experiments,
results, and statistics.
4) Create tests where a set of
test and aged images are to be
matched up by human test
subjects; the goal is to see how
well the program performs
relative to human perception.
5) Start writing thesis report
|
Refine program and input data
(Posted on Thu, 29 Sep 2005 09:18:57 PDT
.)
Will also refine GUI to be more user-friendly.
Categorize training data with respect to comparable age ranges
|
Incorporated Reconstruction code
(Posted on Thu, 29 Sep 2005 09:15:26 PDT
.)
Results of reconstruction code
show that color is preserved. But
it is apparent that some sort of
smooting needs to be done to
reduce the outlines where the
trained features are put back in.
Will also attempt to try training
the whole face, taking the
features out of the whole trained
face, and then plugging those
back into a trained face with
features taken out (that is,
train on a face with selected
regions blackened out).
|
Title for BLOG entry.
(Posted on Tue, 20 Sep 2005 11:11:34 PDT
.)
Cleaned up code
"Object-orientized" code to be
more modular
Added code to calculate
eigenfeatures
Continue to work on code to
construct aged images
|
Updated PCA code
(Posted on Tue, 13 Sep 2005 11:19:24 PDT
.)
Updated code to incorporate
neural net to track face, eyes,
nose, and mouth; makes best
attempt to put boxes around these
features
Start working on code to train
eigen-eyes, eigen-nose, eigen-
mouth.
Neural net will do the bulk work
of tracking the features, but
will add code to allow user to
select specific features
|
Updates for PCA program after discussion with Dr. Pollett
(Posted on Thu, 08 Sep 2005 11:11:47 PDT
.)
After meeting with Dr. Pollett,
it was decided to use the
existing neural net code to
locate the features on faces, and
use that information to extract
the features to do PCA training.
Each feature will be edge
detected and a minimum bounding
box calculated to get the most
accurate bounding box around a
feature.
I have to scale back my progress
to about 25% functional
completion.
|
Started implementation of feature-based PCA code
(Posted on Tue, 06 Sep 2005 10:01:57 PDT
.)
About 75% done with PCA
reconstruction code for CS298.
Hopefully reconstructed face
comes out OK for feature-based program.
Right now the faces are not
aligned very well.
Need to look for methods of face
detection to locate eyes, nose,
and mouth; neural net maybe
(which requires a massive amount
of training data, which could be
a project in itself
Turn in CS 298 proposal
|
Work for CS 297 complete
(Posted on Thu, 19 May 2005 11:54:04 PDT
.)
1) Uploaded deliverables 1
through 4 with Dr. Pollett's help.
2) Turned in CS 297 report.
3) Need to look for committee
members.
4) Start research into feature-
based extraction, processing, and
reconstruction of faces.
5) Need a vacation; probably
going to Vegas shortly after
semester ends.
|
Working on Deliverable 3 and CS 297 report
(Posted on Wed, 04 May 2005 12:59:29 PDT
.)
1) Commenting code for
Deliverable 3.
2) Preparing template for
deliverable 3.
3) Gathering material for, and
finalizing CS 297 report.
4) Start working on Deliverable 4
simultaneously as material is
also in report.
|
Working on Deliverable 3
(Posted on Sun, 10 Apr 2005 17:05:41 PDT
.)
1) Currently working on
implementing shape context align
program.
2) The idea is to use edge
detection algorithms to strip an
image down to its boundaries.
3) Then randomly sample the edge
detected image. Then 2 images
are point matched by forming a
bipartite graph and solving the
point correspondence between the
2 sampled edge detected images
using the Hungarian algorithm.
4) The corresponded images are
then aligned through a least
squares method.
5) The bottom line is to take two
images and try to align them.
And in the case of face images,
we want to align a template face
image with a test face image to
try locate features on the test
face image.
|
Updated deliverable 1 and 2
(Posted on Sun, 27 Mar 2005 00:14:57 PST
.)
1) Haven't blogged for a while so
I thought I'd write something.
2) Updated face recognition
program by writing my own simple
image viewer. Before I was using
an image viewer that I downloaded
from the web. I figured that
later on I'm going to have to
write my own image viewer
anyway. So this was good
practice for me.
3) Commented Python scripts for
better readability.
4) Did some research on feature
extraction methods on face and
decided that one method is to use
edge detection methods to strip a
training image and test image
down to edges between image
regions. Then take samples of
pixels from the edges of both
images and form a bipartite
graph. Then solve the bipartite
graph using the Hungarian
algorithm for the best positional
match between the two images.
|
Updated Python scripts
(Posted on Wed, 16 Mar 2005 13:53:54 PST
.)
1) Updated Python scripts to
generated concatenated face
images.
2) The idea is to concatenate a
young face alongside an age
enhanced image to form a training
image. Then a test image is
created by concatenating a young
image with a blank dark image.
Hopefully through successful
training and image
reconstruction, an appropriate
image will appear in the blank
dark side of the image.
2) Used face recognition program
to train on concatenated images.
3) Results were varied. Some
images were well reconstructed,
while others were more blurry and
fuzzy.
|
Completed Deliverable 1
(Posted on Mon, 14 Mar 2005 11:45:58 PST
.)
1) Finished packaging deliverable
1 for turn-in.
2) Code for deliverable 2
complete.
3) Continue to test images
obtained from missing children's
website.
4) Package deliverable 2 up for
turn-in.
5) Start to look into age-
prediction with PCA.
|
Updated program to generate and recognize image differences
(Posted on Wed, 09 Mar 2005 12:14:44 PST
.)
1) Updated Python scripts to
generate square difference of
aged and un-aged .pgm image files
2) Updated face recognition
program to train and recognize on
squared difference of aged and un-
aged images
3) Commented code for face
recognition program and Python
scripts
4) Updated slides to reflect
changes to code and new test
results
4) Started to add stuff into
deliverable 1 and deliverable 2
templates
|
Meeting with Dr. Pollett
(Posted on Tue, 01 Mar 2005 21:23:25 PST
.)
1) Met with Dr. Pollett to
discuss current face recognition
results
2) Conclusion is that it should
not be surprising for results to
be so bad since we are
comparing "apples and oranges" by
trying to recognize original
faces from enhanced faces.
3) Dr. Pollett suggested that
instead of training the PCA
classifier on just the non-
enhanced images, train the
classifier with the squared
difference between the enhanced
and non-enhanced images to obtain
a kind of normalized image. And
then do pattern recognition with
image differences instead.
4) We also talked about improving
the image preprocessing portion
of the recognition process by
somehow doing PCA training with
the individual eyes, mouth, and
nose as a way of improving image
recognition. For example:
a) In plane rotation may be taken
out by measuring the angle
between the vertical and the line
going through the center of the
eyes and using that angle to
straighten the face; as a lot of
the downloaded images do have a
lot faces that are off kilter in
plane
b) Recognition may be improved
through the weighting of each
component of a face. For example,
some weight applied to the eyes
versus the nose. Basically,
instead of doing global pattern
recognition, we split it up into
feature pattern recognition.
5) Will modify face recognition
program to incorporate the
training of image differences and
test results in the next week
|
Updated webcrawler
(Posted on Sat, 26 Feb 2005 20:09:39 PST
.)
1) Updated webcrawler to be more
modular
2) Specifically, split program
into 3 different modules:
webcrawler.py, makecopy.py, and
converter.py.
3) webcrawler.py responsible for
the networking stuff; makecopy.py
makes a complete copy of the
downloaded images as well as the
directory structure; converter.py
incorporates a face detection
algorithm that crops the face to
maximize image space, and then
converts cropped image into
grayscale.
4) Need to download images again
and test with recognition
program; Hopefully I'll get
better recognition performance
with the cropped faces this
time
|
Crummy recognition performance from www.missingkids.com pictures
(Posted on Fri, 25 Feb 2005 02:34:21 PST
.)
1) Used webcrawler and downloaded
a whole bunch of pictures from
www.missingkids.com.
2) Manually preprocessed some of
the pictures to bring out the
faces.
3) Selected best representative
images from the lot of downloaded
images.
4) Ran face recognition program
and got really horrible results
in the vicinity of 7% recognition
of test images.
5) Conclusion: PCA performs
really poorly for non-normalized
images wrt to lighting, face to
image ratio, out of plane head
rotation, etc. May need to look
into a better image projection
and pattern classification
technique.
6) Start looking into Fisher
Linear Discriminant articles
7) May also look into Independent
Components Analysis (another
statistical technique)
|
Completed webcrawler
(Posted on Tue, 22 Feb 2005 00:40:32 PST
.)
1) Webcrawler is fully
implemented and fully tested
2) At present will not pursue
edge detection and face
cropping
3) It supports the following
functions:
- Goes through
www.missingkids.com and downloads
and sorts by state and gender
- Downloads information about
each missing child wrt age, time
of abduction, DOB, and specific
information about child
- Downloads all relevant images
(original as well as age
progressed)
- Creates directory structure
that works for face recognition
program
- Stores images in respective
directories
- Converts images to .pgm format
- Resizes image to specified size
|
Feb 15
(Posted on Tue, 15 Feb 2005 17:29:20 PST
.)
1) Fixed webcrawler so that it
works right for
www.missingkids.com.
2) Need to extend it to include
personal info about child in
image (in a readme file or
something). Maybe include
current age, DOB, age of
progressed picture, etc.
3) After image downloads, need to
normalize images WRT color, file
format, size, and cropping. Need
to convert to 8-bit grayscale.
Currently, downloaded images
are .jpg. Need to convert
to .pgm.
4) Need to extend mathematical
derivations in Deliverable slides
to make derivations clearer and
flow better.
|
Feb 14
(Posted on Tue, 15 Feb 2005 11:03:34 PST
.)
1) Attempted web crawler on
http://www.missingkids.com and
failed miserably.
2) Concluded that parsing rogue
HTML code is the culprit
3) Need to explore HTML
processing modules in Python
4) Apparently, Python has sgmllib
and HTMLParser, both modules
capable of parsing ugly HTML code
and sorting out the tags and data
|
Feb 10
(Posted on Fri, 11 Feb 2005 23:41:49 PST
.)
1) Continued to refine slides for
deliverable 1; cut it down to 35
slides; refined some of the
mathematical derivations; Added
in material for GUI screenshots
and runtime results
2) Downloaded some articles for
Fisher Linear Discriminants as a
possible alternative to Principal
components analysis; whereas PCA
might overlook small facial
differences, Fisher discriminant
looks for more minute features
|
Wed Feb 9
(Posted on Wed, 09 Feb 2005 10:32:32 PST
.)
1) Went to Borders to look for a
good book on general and network
programming in Python. Found a
relatively good Python book by
Beazley.
2) Python is pretty succinct, but
kinda weird at the same time.
It doesn't use braces but
indentation to delimit blocks of
code.
3) It is similar to Perl but a
lot less sloppy in grammar
(I can just picture the scowls on
the faces of Perl programmers
everywhere). But it does have
some very powerful modules for
various applications (text
processing, networking, GUI
development, web development,
etc.)
4) Wrote a little Python script
to download a page and all
embedded images into a
directory. And it only took like
8 lines of code.
|
Tue, 08 Feb 2005
(Posted on Tue, 08 Feb 2005 21:59:12 PST
.)
1) Met with Dr. Pollett to talk
about Face Recognition program
2) Unfortunately arrived late;
could not present slides
detailing Deliverable 1
3) Face Recognition program is
currently stable; albeit it runs
relatively slow due to the use of
Jacobian method of calculating
Eigenvectors and Eigenvalues,
which runs at 20n^3 maximum; may
look into QL method of shifting
tridiagonal matrix to cut run-
time to 3n^3
4) May look into upgrading image
viewer, as the current one is an
unmodifiable executable
downloaded from the web
5) Need to start looking into
implementing webcrawler to comb
Internet for missing children's
images; looking into using Python
as scripting language to do this
6) Continue to refine slides for
Deliverable 1
|
Really Simple Syndication (RSS) Feed...
|