we were very curious about the many computer vision algorithms out there, so we wanted to try our hands at implementing it! we decided to go with feature mapping since it is simple yet accurate enough.
we also realize that this is an important field in the coming future, what with self-driving cars and 3D modeling using multiple 2D images
What it does
we get the harris corners in the two images, and then use the sift algorithm to determine feature vectors for all these corners. we then use euclidean distance to calculate how 'far' every feature is from every feature in the other image. for evaluation, we hard-code the ground truth and then pick the top 100 matches by distance and check if they're accurate!
How we built it
we went through a lot of papers online since we knew nothing about how to do this. we found some very advanced papers on sift from which we took some things, and the same for harris corner. we could have just used libraries for them but we decided to actually understand how the math worked.
Challenges we ran into
understanding the math, for sure. matplotlib was very difficult to work with because we had to generate random colors for the lines/matches
Accomplishments that we're proud of
actually implementing all the algorithms by hand, and coming up with the evaluation metric as well.
What we learned
we learned how the sift and harris corner detection work, it was a lot of fun to understand that. we got better at using matplotlib and numpy. we also learned many more cool things about computer vision as we did the project!
What's next for pixmap
using machine learning algorithms to have more accurate results!