Shawn Lankton Online
Archive for the 'Academic' Category
Once you get through the process of writing your paper, getting it reviewed, making revisions, and finally getting that ACCEPT email in your inbox, the work isn’t done. You must prepare the figures in the paper so that they can be easily used by the IEEE to make a nice, high-quality, correctly laid-out, final print version of the article. This process could be quite complex and time consuming.
This post will cover some tips, tricks, and scripts to get your journal submission ready to go quickly and easily. The big challenges are:
- Getting all figures into single eps files
- Creating a list of figure captions
The good news is that both of these are delightfully quick if you’ve been using LaTeX to compose your article. Read on to find out how Read the rest of this entry »
06 29th, 2008
I return today from a week-long trip to Anchorage, Alaska. I spent the week enjoying the beautiful mountains, and the exciting science being presentented at the Conference for Computer Vision and Pattern Recognition (CVPR 2008) [here are some links to lots of papers from the conference]. This was my first trip to this conference, and I must say that I was impressed with the quality of the work presented. Below, I list some of my favorite papers and give a (very) brief overview:
05 5th, 2008
I will be presenting “Tracking Through Changes in Scale” at the International Conference on Image Processing (ICIP) in San Diego in October, 2008. This tracker uses a two-phase template matching algorithm in conjunction with a novel template update scheme to keep track of objects as their appearance and size changes drastically over the course of a video sequence.
The pdf, presentation material, and citation information will be available on the publications page after the conference. Below are videos of the experiments shown in the paper:
LEAVES Sequence (High Resolution Download - 11.2Mb)
VEHICLE Sequence (High Resolution Download - 34.8Mb)
BOAT Sequence (Hi Resolution Download - 2.34Mb)
05 3rd, 2008
I took a special topics course in Spring 2008 at Georgia Tech, ECE 8893: Embedded Video Surveillance Systems. The course included three projects, each shown below. Detailed information about the algorithm is in the source code comments. (All the source is in Python)
Project 1: Activity Density Estimation
Use background subtraction to find moving foreground objects in a video sequence. Then, color-code regions with the most activity. Here is the result:
Source: p1.py
Project 2: Styrofoam Airplane Tracking
Find all white styrofoam planes in the scene and track them throughout the scene. We used color thresholding and simple dynamics to do the tracking.
Source: p2.py
Project 3: Pedestrian Tracking
Count and track the pedestrians that cross on a busy sidewalk. We use a combination of motion estimation via background subtraction and feature matching using the Bhattacharyya measure.
Most of this code is very hack-y because it was done quickly. However, it was
fun to learn Python, and the class was enjoyable overall.
04 9th, 2008
Everyone talks about like the brain like its a computer. Well, in some ways its similar. There are nerve cells that act like “wires” and run from one part of the brain to another. With the advent of a new kind of medical imaging technology called “Diffusion Weighted MRI” (DW-MRI), it is possible to find these wires using computer vision. Many people claim that it is important to find whole bundles of these wires in addition to the individual wires.
Recently, I’ve been working on a way to do this using partial differential equations (PDEs). Below you can see some of the results. First, thin white tubes are shown. These represent a single “wires” called fibers. From these single fibers, we determine the boundary of the whole bundle. We then show this as thick yellow tubes.
By studying the shape and size of these bundles, doctors may be able to detect mental illness early and improve the understanding of the brain! Hopefully I can help by making these pretty pictures : )
04 7th, 2008
Today, I added demo code for the Hybrid Segmentation project. This segmentation algorithm (in the publications section) can be used to find the boundary of objects in images. This approach uses localized statistics and sometimes gets better results than classic methods. For an example, see the video below: The contour begins as a rectangle, but deforms over time so that it finally forms the outline of the monkey.
This can be used to segment many different classes of image. To try it out, download the demo below and run >>localized_seg_demo
This code is based on a standard level set segmentation; it just optimizes a different energy. I’ve also made a demo which implements the well-known Chan-Vese segmentation algorithm. This technique is similar to the one above, but it looks at global statistics. This makes it more robust to initialization, but it also means that more constraints are placed on the image. Download it and see what you think! Again, unzip the file and run >>region_seg_demo
For another Matlab implementation of Active Contours check out: James Malcolm’s Webpage. He has some codes for very fast approximate implementations as well as a full numerical implementation.
03 8th, 2008
Matlab is a great programming language/environment because of its ease of use, great visualization, and rapid prototyping abilities. Raw speed is not one of its strong suits. MEX (Matlab Executables) are the answer. These functions allow you to program in C or C++ (ultra fast languages), but be able to call and use them from Matlab programs. This post is a short intro to mex files which should get you up and running.
What This Post Teaches
In this post, I show how to create a mex file, how to set up inputs and outputs, how to get access to Matlab objects, and how to manipulate them. I also give a skeleton mex program that might be helpful. There is a lot more to learn, and I’d refer you to the mex manual regardless.
02 18th, 2008
With the easy availability of scientific papers through the internet, it is easy to quickly get your hands on tons of pdfs. Then what? I look through the pile very quickly and pick out the one or two papers that look the most relevant. This quick pass consists of glancing at the abstract and the figures.
Knowing that this quick and dirty scan is probably becoming the norm, I’ve started including a telling graphic right in the Sweet Spot. This is a term my colleagues and I have come up with for the top of the right column on the first page. Check it out:
Including the Sweet Spot graphic may get your paper read more, it may get your paper read less. Either way, it helps the reader make a snap decision about whether or not your paper is of interest to them. I feel like it makes the paper visually more attractive and inviting, too.
Any other Sweet-Spotters out there?
10 8th, 2007
Recently I wrote about some startup companies in computer vision. However, this is only part of a good industry analysis. I also want to explore some of the interesting research going on in the field. Below is a list of some of the vision research that I’ve come across that seems most interesting (and applicable/marketable).
Seam Carving
This is brilliant (and brilliantly simple work). It solves a problem, and in doing so gives us tools to solve problems we didn’t even know we had! Its hard to explain, check the video out.
Dr. Ariel Shamir has a host of other interesting research as well: link.
Read on for more great research: Read the rest of this entry »
10 5th, 2007
I have spent some time researching startup companies involved in computer vision. This has largely been in an effort to understand the marketability of computer vision research (which I spend much of my time learning about and contributing to). In this post, you’ll find a list of some notable companies. Let me know if you know of some other good ones. (Of course this doesn’t include the big, big companies like Siemens, GE, Phillips, and HP that are working on medical image processing every day! Read the rest of this entry »