|
Todd Wittman |
PhD student Department of Mathematics University of Minnesota | |||
|
|
|
|
|
|
|
My research interests lie in applied math, specifically image processing. But that still isn't very specific, since image processing pulls together theories from numerical analysis, differential equations, Riemannian geometry, optimization, computer science, electrical engineering, etc. Image processing is a fascinating subject with a wealth of open problems and important applications to industry, medicine, astronomy, and artificial intelligence. The best part of doing research on images is that I can actually see the the effects of mathematical theory. Unlike most mathematicians, when a non-mathematician asks how I do research in math, I actually have an answer for them.
|
I have
been fortunate to have been awarded summer industrial internships at three
different corporations: Symbol, Honeywell, and
Loram. These internships were arranged by my advisor Dr. Fadil
Santosa through the Minnesota Center for
Industrial
Mathematics (MCIM). Minnesota was one of the first schools to
develop an applied math program that had students
working on real math problems in industry. It's a fantastic program
and
I have nothing but good things to say about it,
although I can't say the same for the rest of Minnesota's math department.
The list below describes some of the internships I've had, as well as some
interesting course projects I've worked on
in graduate school. The list starts with the most recent project. The
Word and PowerPoint files may appear strange,
because Microsoft products aren't as portable as one would hope. If you
are
interested in any of these projects and would like more information, please
contact
me at wittman@math.umn.edu.
|
|
|
Image Super-Resolution Preliminary Oral Exam Advisor: Fadil Santosa, University of Minnesota Summer 2005 |
|
|
At the University of Minnesota, before we start writing the PhD thesis we have to undergo a little hazing procedure called the "oral exam." Since my PhD research will focus on image super-resolution, for my oral exam I wrote a survey of mathematical approaches to image interpolation. Most surveys list many different approaches and really amount to a bibliography. My approach was to pick 5 methods that represent the 5 basic approaches to image processing: PDEs, variational, wavelets, machine learning, and statistical methods. I then critiqued each method, compared their performance, and suggested areas for future research (for myself). I passed the oral exam on July 1, 2005.
In August 2005, I attended a 3-week summer school / workshop on computer vision at the
Lotus Hill Institute
in EZhou, China. While there, I thought about extending Mumford-Shah interpolation to multiple images. I took
some photos from around the institute, wrote some code to super-resolve them, and gave a talk about this week-old
work at the conference.
| |
|
MANI: Manifold Learning Matlab Demo Math 8600: Geometric Data Analysis Course Instructor: Gilad Lerman, University of Minnesota Spring 2005 |
|
|
In the last few years, there have
been many techniques developed for Non-Linear Dimensionality Reduction (NLDR): ISOMAP, LLE, Hessian eigenmaps, Local
Tangent Space Alignment, etc. But there hasn't been any work to compare and evaluate the techniques. Nor is there
an understanding of how the NLDR methods perform under different data set properties such as
dimensionality, curvature, noise, clustering, non-convexity, and non-uniform sampling. My
course project was to explore NLDR techniques and determine under what circumstances they performed best.
I proceeded
experimentally, gathering code for 8 different NLDR methods and devloping a suite of 9 examples to test the data.
Significantly,
the code for the NLDR methods was provided by the original authors, so I can't be blamed for a poor implementation
of the algorithm. I put the code into a single Matlab GUI m-file and called it "MANI", short for manifold
learning Matlab demonstration. MANI can execute NLDR on the provided data examples or data supplied by the user, subject
to algorithm parameters that can be set by the user. I hope this simple program will serve as a useful demonstration
and instruction tool for the manifold learning community.
| |
|
iPAWS: Image Processing and Analysis Working Seminar Institute for Mathematics and its Applications (IMA) University of Minnesota Fall 2004 - Spring 2005 |
|
|
Imaging and vision are important topics not only for mathematicians, but also for electrical engineers, computer scientists, radiologists, and psychologists. In an effort to bring together researchers studying imaging in various disciplines, I organized the Image Processing and Analysis Working Seminar (iPAWS). My initial idea for the seminar was to bring together my advisor Fadil Santosa's research group in mathematics and Guillermo Sapiro's research group in EE, since we appeared to be working on very similar problems in image processing. Between the two small research groups, we would have enough people for a small weekly seminar. Once I started soliciting interest in the seminar, I was amazed to find how many people were interested in participating in an imaging seminar, from the computer graphics division in computer science to the vision laboratories in psychology to the MRI labs in radiology. So iPAWS quickly ballooned in size from a handful of grad students to more than 5 departments. Seeing how the seminar was growing, I asked the Institute for Mathematics and its Applications (IMA) if they would be willing to support and advertise the seminar. I was extremely pleased that the IMA agreed to host IPAWS, thanks to the support of the IMA Associate Director Deb Lewis.
iPAWS fits nicely with the IMA's
goal of bringing researchers from different disciplines together and
iPAWS serves as a lead-in to the IMA's annual theme in 2004-05 on imaging.
We are fortunate to have speakers from across the university come to the
seminar, with talks
ranging from computer graphics to MRI to the psychology of human vision.
The faculty speaking at this seminar seemed to have
immediately picked up on the intention of the seminar and many have tried
to aim their talks at reaching an audience outside their department.
Because of the interdisciplinary nature of IPAWS, not all talks hit home
with all the particpants. This is when it's nice to be a
mathematician, because I know that no matter where the speaker is from
their work will be based on mathematics.
| |
|
Barcode Image Processing Symbol Technologies Industrial Advisor: Miroslav Trajkovic, Symbol Technologies Academic Advisor: Fadil Santosa, University of Minnesota Summer 2003, Summer 2004 |
|
|
In the summer of 2003, I worked with Dr. Santosa on a signal processing problem in barcode signal deblurring for laser scanners. We treat the barcode as a 1D 0-1 signal that has been blurred by a Gaussian kernel of unknown width and amplitude. Our approach to solving this partially blind deconvolution was a minimization of the Total Variation (TV) norm. The technique recovers the correct signal in the presence of large amounts of blur, but the computation time is far too slow to be practical for real-time barcode scanning. I presented my results as a poster at the 2004 SIAM Imaging Conference. An editor for SIAM News saw my poster and was interested in the problem, for the precise reason that she didn't think barcode reading was a problem. She asked me to write a short piece for SIAM News and I published my first math article under the title of a Clash song.
Hearing about my initial work on barcode deblurring, I was hired as a
summer intern by Symbol Technologies, the worlds' largest manufacturer of
handheld barcode scanners. After relocating to Long Island, I worked with
Dr. Miroslav Trajkovic at Symbol on developing image processing
techniques to improve the resolution of barcode imaging scanners. We
developed an interesting geometric projection techniques and demonstrated
very favorable initial results. I can honestly say that Symbol can now
read barcodes that they couldn't read before. But the technique is simple
enough to run very quickly and with little memory usage, which is important
for the scanner's modest CPU power. I believe Symbol will develop the
technique to work with their current imaging scanner software.
| |
|
Fundamentals of Image Processing EE 8541: Image Processing Course Instructor: Guillermo Saprio, University of Minnesota Fall 2002 |
|
|
In Fall 2002, I took a graduate course in the Electrical Engineering
department on image processing. The course was taught by Guillermo Sapiro, one
of the most prominent researchers in the field. We learned the basic
problems and operations of image processing. For our two homework
assignments, we had to code the operations in Matlab, create webpages
displaying our results, and post them online. I've had a couple random
people contact me, asking to use one of my online Matlab files for their
work. They were welcome to use them of course, but I found this funny
because Matlab has all of these operations already built-in and optimized
for performance. Plus it seems odd that typing, say, "median filter" into
a search engine would turn up my old homework of all things. The three
images above show the result of applying anisotropic diffusion to a
painting by Botticelli.
| |
|
Data Mining the Stock Market CS 8980: Data Mining Course Instructor: Vipin Kumar, University of Minnesota Fall 2002 |
|
|
For the final project for CS 8980, I wrote a report on data mining the
stock market. I gathered several years of NYSE stock data and performed
clustering algorithms and association analysis. The first goal of the
project was to attempt to cluster the stocks into groups based on their
stock behavior. The clusters found matched well to the industrial
groupings set by the NYSE: software, pharmaceuticals, internet,
defense, etc. It was
interesting to see where cross-over stocks such as WebMD (internet or
medical?) and AOL-Time Warner (internet or entertainment?) were placed.
The
internet stocks were the hardest to track, since they are so volatile.
Really, the best way to tell if a time series corresponds to an
internet stock is just the fact that it's
very volatile. The
second part of the project was to try to perform association analysis to
determine the relationships, if any, between movements of different types
of stocks. Tracking the group index over several years, I generated a set
of rules based on the frequency with which stocks moved in certain
directions in the same week. Some rules were obvious, like software and
hardware stocks moving together. Other rules were less obvious, like
pharmaceutical stocks rising occuring with a decline in automative stocks.
An interesting project in the future might be to determine which stock
within a group is the "leader." That is, finding a particular stock whose
movement predicts the behavior of a group. Since stocks tend to move in
groups, this might require a look at hourly or even minute-to-minute data.
| |
|
Optimization of Cellphone Networks Institute for Mathematics and its Applications Industrial Advisor: David Shallcross, Telcordia Technologies May 26 - June 3, 2002 |
|
|
The University of Minnesota is host to the Institute for Mathematics and it Applications (IMA), an NSF-funded research center dedicated to the study of mathematics in industry, science, and technology. In the twentieth century, mathematics grew increasingly isolated from the physical world, which seems ironic given that the great mathematical ideas of the nineteenth century were developed specifically as tools to solve physical problems. Doug Arnold, the IMA's current director, said that the goal of the IMA is to renew mathematics' historical connection to science. Every summer, the IMA hosts the Mathematical Modeling in Industry Workshop for graduate students to give young mathematicians experience in industrial research. Over the course of 10 days, a six-member team of students from around the world work with an industrial mentor on a real problem from the mentor's field.
In 2002, I participated in the modeling workshop. My team worked with
David Shallcross from Telcordia
Technologies on a problem in cellphone network management. In a
cellular network, several transceiver stations (towers) are assigned to a
limited number of station controllers (switchboards). Handover traffic
refers to a call being transferred from one station to another station in a
different controller, which is due to a caller being in motion while on the
phone. If a controller becomes overloaded with handover traffic, the
cellular signal would be lost. Also, each controller has a call capacity
that will cause new calls not to go through when the capacity is exceeded.
The goal is to assign stations to controllers so that we minimize the
handover traffic between controllers while also not exceeding a
controller's call capacity. Dr. Shallcross phrased this problem as a
quadratic integer programming problem. Our team explored various
optimization techniques, including simulated annealing, genetic algorithms,
and greedy methods. It was certainly an interesting experience to work
intently with a group for 10 days on a research problem, but quite frankly
I like the summer internships better. It seems like we just started to get
some promising results when the ten days were up. Our team consisted of
Ben Cooke (Duke), Kwon Darongsae (Seoul National University), Dmitry Glotov
(Purdue), Dan Taylor (Washington State), and myself.
| |
|
Neural Network Face Detection Math 8600: Mathematical Image & Vision Analysis Course Intsructor: Jianhong Shen, University of Minnesota Fall 2001 - Spring 2002 |
|
|
My two semester projects for the year-long course in image analysis
involved face detection by neural networks. My approach was based on the
color
histogram, so really most of my work was a "flesh tone detector" rather
than a "face detector". But it does a suprisingly good job given its
naive approach, since flesh tones are fairly unique in natural images.
With a large data set of faces and not-faces, the neural network was
able to learn what portions of the color space correspond to flesh. I
obtained better results in the YIQ color space than in the standard
RGB space.
| |
|
Mathematical Modeling of Laser Diodes Honeywell Industrial Supervisor: Allen Cox, Honeywell Academic Supervisor: Fadil Santosa, University of Minnesota Summer 2001 |
|
|
A Vertical Cavity Surface Emitting Laser (VCSEL) is a microscopic laser diode used extensively in communications and computing. The laser beam is focused by a series of dozens of tiny mirrors, creating a large amount of heat in a small volume about 5 microns across. The laser can only stay on for a few milliseconds, since the heat build-up causes the mirrors to bend and the device stops lasing. Due to the microscopic level of the equipment, it is difficult to measure the heat build-up experimentally or devise experiments to test the conditions affecting it. In the summer of 2001, I was hired by Honeywell to mathematically model the thermo-electric properties of their VCSEL diode. Using the VCSEL blueprints provided by Honeywell and the finite element solver FEMLAB, I solved the 3D heat equation within the VCSEL diode. Our numerical results agreed well with the few experimental temperature readings available. This gave Honeywell a theoretical basis for explaining the heat build-up and a way to experiment with changing different parameters affecting the heat flow, such as die size, materials, cavity placement, etc.
Several people have written to me asking for the FEMLAB source files.
Unfortunately due to corporate confidentiality
restrictions, I cannot release the FEMLAB files since they contain specific
information about Honeywell's VCSEL design. The website
listed below contains a tutorial I wrote for setting up the 3D heat
equation on a VCSEL-like structure.
| |
|
Pattern Recognition in Railroad
Maintenance Loram Maintenance of Way, Inc. Industrial Advisor: Kenneth Iverson, Loram Maintenance of Way, Inc. Academic Advisor: Fadil Santosa, University of Minnesota Summer 1997, Summer 1998 |
|
|
My first internship through the MCIM was with Loram Maintenance of Way, a
railroad maintenance company. My project involved the automation
of the rail grinding procedure for smoothing rail tracks to an ideal shape.
In the summer of 1997, I developed
a pattern recognition technique based on geometric moments for quick and
accurate identification of the rail type. I also developed simple
search routines, including a genetic algorithm, for choosing the best
combination of rail grinding patterns to achieve a desired metal removal.
As a graphical proof of concept to the Loram engineers, I coded the
routines in Java using basic test data. The Java applets are available in
the
link below. In the summer of 1998, I was hired back by Loram to write C++
versions of these routines to work with the Loram class library. In that
summer, I wrote over 4,000 lines of C++ code. I am still amazed by the
extensive amount of exception handling that is written into corporate
software.
| |