Vision for the Railroad
A 2006 Capstone Project by Josh Domina
Home Project Definition Journal Downloads CS Philosophy & Career Path My Resume


5/1/06
All documentation is finished. All code has been commented and finalizes. The code, documentation, video, images, and other content are available for download on my website.


4/29/06
My project is finished and has been presented to the class. Now I must finish my documentation and package it all for Dr. Pankratz. I will defend my project to my CS professors as my last task as a CS senior at St. Norbert.


4/21/06
For the last month I have been working on refining the track detection algorithm and making the point generation function run smoother. I have also been converting all psets (draw an image pixel by pixel) to Professor Blahnik's ShowImage function in converts.dll. I have been functioning off code and attempting to merge redundant functions into one function. I have also been trying to eliminate as much code as possible to speed up my algorithms. This has been successful so far as i have eliminated about one third of the total code size and shrunk it even further after functioning.

With the presentation approaching I am putting it all together (motion detection, track identification, video processing, and track processing) and creating output. So far I have had a mess of inexplicable errors and crashes, but I have been able to resolve them as I get them.


3/20/06
After consulting with Professor Blahnik, a number of new ideas were envisioned. Professor Blahnik and I discussed the problems associated with my project and determined that the scope would have to be altered. After discussing it with Dr. Pankratz, we have decided I will now focus on dealing with an area of the track that the camera does not have difficulty with.

I am nearly finished developing the track detection initialization that allows the user to click his/her way through the track and define what sections of track can link to another. The application will allow a user to auto link track points as they advance through the track and it will also allow for manual creation of a link. I am currently working on the algorithm to automatically fill the gaps in between the track points.


Week Four: 2/12/06 - 2/18/06
I met again with Dr. Pankratz and he proposed a way of learning the track that involved user input similar to what Colleen Koranda did in her senior project to "cut" out a piece of an image. The user clicks a series of dots which the program will connect as a logical track. To do this I need to learn how to do two things: 1) get the pixel coordinates of where the user clicked on the picture, 2) draw a small circle around where the user clicked.


Week Three: 2/5/06 - 2/11/06
I met with Dr. Pankratz to discuss my color segmentation algorithm. We refined it and made significant improvement to its performance. To identify a train I am going to use an pink colored identification sticker that will make the trains stand out. Color segmentation will be used to smooth the orange range and eliminate noise.


Week Two: 1/29/06 - 2/4/06
This week i got my keys to the PAC from Dr. Pankratz. He showed me how to operate the CCR manually and showed me the resources I have available to me at the PAC. I have been researching several algorithms to help me accomplish my task. Among these are edge detection, blurring, color segmentation, and motion detection. I need to come up with a realistic way of mounting my webcam over the CCR to allow for optimal visibility.


Week One: 1/22/06 - 1/28/06
- Received project description from Dr. Pankratz
- Received webcam from Dr. Pankratz
- Received webcam code from Dr. Blahnik
- Set up webcam equipment and experimented with code
- Designed website