One of the purposes of this project is to apply what I’ve learned on a project that has no clear solution and or outcome devised by a teacher. Sometimes I hear people complain that they never use anything they learned as a Computer Science student. I don’t think that’s true. It’s just a matter of creating opportunities where this knowledge becomes relevant and useful. While working on this project, I’ve had to go through a lot of resources to help solve various problems, so I thought I’d list them here.
- Read Lowe’s SIFT paper multiple times with a focus “scale-space extrema detection” and “keypoint localization” sections
- Ideally, I want to implement SIFT from the ground up
- Link to Lowe’s SIFT Paper
- Reread Section 4.1.1 - 4.1.3 in Szeliski book
- Read Chapter 6 in Davies CMV book
- Research on various SIFT implementations
- Source code for Open CV SIFT implementation
- Open CV SIFT is based off of this implementation
- Yet another Open CV SIFT implementation
- SIFT implementation using VXL
- AI Shack implementation based off of this implementation
- Simple Matcher sample code
- Helpful explanation of SIFT steps from aishack.in
- Wikipedia article on Gaussian Blur
- Wikipedia article on Difference of Gaussians
- Linear interpolation for scaling up images.
- Some futile research on Eigenvalues and Eigenvectors. Need to learn Linear Algebra and Calculus III material.
- X11 for automating Linux UI and Screenshots
- Wolfenstein 3D
- Game AI Techniques (Specifically chapter 1: State Machine based AI)
- Particle Filters
- SLAM
- SLAM as described in Wikipedia
- Briefly described in Udacity Artificial Intelligence for Robotics course also
- Kinect (Most of this research was done earlier in the year)