How should someone start to learn machine learning and computer vision for mobile applications?
For machine learning there is a very good free MOOC on Coursera that can give you the basics of machine learning, with a lot of examples. Prerequisites are basic maths and computer programming comprehension.

For computer vision I would advise you to first learn about DSP in general.
This book has had great reviews everywhere and although I haven't read it yet, I'm pretty sure it's a good start in the vast area of signal processing. There is also an online book, The Scientist &amp; Engineer's Guide to Digital Signal Processing, with plenty of information on digital filtering.

Once you have understood the fundamental theory of Machine Learning and DSP, you can start learning programming in C++. One very famous library for computer vision is OpenCV. You will be able to find many tutorials online.