Projects‎ > ‎

Stereo Scene Camera (Senior Project)

As a senior in the Imaging Science program at RIT, I am required to complete a substantial project related to my field. Since I have spent most of my undergraduate career working for the Multidisciplinary Vision Research Lab (MVRL), it was logical that my project would also be associated with this lab.

MVRL currently uses PositiveScience mobile eye trackers for a variety of experiments in the lab. These systems are great because they are highly portable (the entire system is contained in a backpack), and has an extremely lightweight headgear. They also have the ability to take advantage of offline processing to get more accurate tracking results.

The system works like many modern video-based eye trackers. There is an eye camera that looks at the subject's eyeball, and records a video stream. Separately, a scene camera mounted rigidly relative to the eye camera records a video of the world in front of the subject. Then, pixel correspondences between the pupil and world coordinates are established, and each gaze vector can then be plotted into the scene.

These lightweight trackers offer the ability to track in fully mobile, untethered situations. However, the lack of weight comes with a price: the tiny scene cameras used do not have very good image quality.

Currently, the lab employs workers to manually plot each fixation point in the scene video onto a high resolution panorama collected at the same time as the tracking video. Not only does this take a considerable amount of time and effort, but plotting fixations from mobile subjects onto a single-viewpoint panorama introduces significant parallax errors.

My senior project seeks to augment the current PositiveScience mobile eye tracker with an additional torso-mounted scene imaging system. Because the system will not be mounted on the user's head, size and weight restrictions are less severe, allowing for higher quality capture. Then, additional software will be written to plot gaze vectors from the current tracking system onto this new scene video.

The final system design will have two high definition, wide angle video cameras in a divergent configuration. This will allow for maximum field of view to be captured. Additionally, in the overlapping region of the two cameras, it should be possible to extract a depth map. Given enough camera viewpoints, a 3d reconstruction of the scene may even be possible.

A full PDF of my project proposal is available for download at the bottom of this post.

June 29, 2012 - Choice of Language

posted Jul 23, 2012, 6:21 AM by Domain Administrator

This will be one of the larger projects I will have ever worked on, and as a result it became clear to me that I needed to make a few design choices early on in order to make sure I wouldn't end up doing redundant work later. The first of these was deciding what programming language I wanted to write the body of my work in.

Currently, the Imaging Science program stresses the use of IDL and MATLAB as programming languages. These are great because they have very simple and powerful image input/output, as well as powerful array manipulation tools. I've spent the last two years of my life programming in MATLAB, but I feel as though I'm ready for something new. Also, learning to program in another language that isn't $3,000 or more for a license will be a great skill to have!

This is school and I'm supposed to be learning, right?

Finally, the ability to perform realtime video processing is an interest of mine, and learning a lower level language is the next step in that direction. So, for all of these reasons, I decided that I'm going to write my senior project in C++, using OpenCV and other third party open source libraries as necessary.

I already have a year's experience from High School with Java through my AP Computer Science class, and I've been programming since well before then. The move to C++ ought not to be too bad.

June 16, 2012 - Prototype Rig

posted Jul 23, 2012, 5:23 AM by Domain Administrator

Sadly, I'm writing this post well after the fact. The rig has already shipped out to New York, and I didn't think to take any pictures of it before I mailed it out. However, I'll do my best to grab a couple next time I'm back at school to include here.

My father and I did build a first-generation rig for the stereo GoPro cameras. Unlike the final version, this is a rigid camera rig that is primarily designed for camera calibration and initial testing.

Until I have pictures, here is the brief description of the rig:

Two GoPro tripod adapters (pieces of plastic that interface with the GoPro connector and have a 1/4"-20 female on the bottom) were purchased, and each was glued to the center of a CD. The CD had a score mark put across its diameter to be used as an indexer. Slightly larger sheets of paper with angle markings on them were spray mounted to a piece of 1x6 pine 14" apart. Holes were drilled through the center, and 1/4"-20 bolts passed through to attach the tripod mount/CD combination. Then, the center of the board was drilled out, and a 1/4"-20 tap installed.

it's a rough hack, but the CDs allow for accurate turning and positioning of each camera, and then the bolt is used to friction-lock it them in place. It actually came together very well!

Again, hopefully I can get some pictures up.

May 23, 2012 - Proposal Submission

posted Jul 22, 2012, 8:36 AM by Domain Administrator   [ updated Jul 22, 2012, 9:45 AM ]

This evening at 8:30pm I submitted my final project proposal. This nine page document summarizes exactly what I am going to be spending the next 30 weeks of my life working on. On the other side of this, I will have spent a summer and 7 credits working on the content described in this document.

It's available for download at the bottom of this page.

1-3 of 3