Computer Vision: Algorithms and Applications (2010)
szeliski.org
szeliski.org
Are there any good courses / books or other resources that would specifically help at getting up to speed with the maths knowledge required to understand a book like this?
Davies' book "Computer and Machine Vision" is the least math intensive CV text I've found. Its emphasis is more on MV (industrial vision) than CV, but it covers the basics of CV pretty well.
Klette's "Concise Computer Vision" recent (2014) has good coverage of CV, but it is concise (oft short explanations), and DO NOT buy the Kindle version. It fails to render a custom font used by the author, so some of the most important characters within are invisible.
Trucco and Verri's "Intro Techniques for 3D Vision" (1998) is clear and short though a bit dated, but it covers the basics well. Likewise Shapiro & Stockman (2001) is a well written survey but also dated. I like both.
Avoid the Forsyth & Ponce book unless you're a masochist. Very unclear exposition.
I like the GaTech CV video course (the free videos are part of their online MS in CS, OMSCS). Essa and Bobick's presentations are clear and lively, the coverage broad. They don't use a text. Also, the videos from Shah's course CV at Central Florida are available on Youtube. He offers good clear coverage of the topic, though without enthusiasm.
The level of maths required varies a lot. Linear algebra is used heavily everywhere, you see a lot of optimisation (e.g. Levenberg Marquadt) and in some places graph theory. However if you're just using tools like OpenCV then you can get by with a fairly poor understanding of the maths (say 2nd year undergrad of an engineering degree).
Part of the challenge is reading past the maths. If you read a paper from Pattern Analysis there's a lot of, frankly, obtuse notation. So you see images described as discrete mapping blah blah. A lot of it is fairly straightforward set theory. It's necessary for proving things, but when it comes to actually implementing this stuff it's nowhere near as complicated as it looks.
6.869: Advances in Computer Vision (Fall 2015)
http://6.869.csail.mit.edu/fa15/index.html
Or just jump right into the deep end with OpenCV:
Mostly what's changed is that what used to be heuristics and hand-crafted features is now getting replaced by proper learned models. Also some generative models are getting replaced discriminative models since deep learning does a very good job in creating those.
- considered obsolete (e.g. complicated and nasty, and still outclassed by NNs),
- building blocks of current techniques,
- provided inspiration for current techniques,
- are still state of the art.
SLAM using SfM (from monocular vision) using Deep Nets would be huge. Would reduce the specifications for LIDAR in SDC's for example.
Even if you don't go into computer vision - these have a wide range of applications, for example in sound or signal processing which are closely related.