Practical Computer Vision with SimpleCV – Review
Coming from having worked in CV for many years in varying degrees, as well, knowing some rather heavy weights working within it today, I was interested in this book from a review perspective.
I found it encouraging that the author did dive right in with some high level informative definitions, common challenges and practical use case. Contrary to my encouragement is that it misses the mark with low level detail, theory and any real in depth explanation upon computer vision itself.
For a beginner, this is a decent title. Be aware though, if you are a beginner, you will need to embrace a quick rhythm and progression throughout. While it may lack in providing "an education in theory", it makes up for with "an education in application".
A few examples within the book did catch my attention such as the XBox Kinect material, which is quite relevant with the buzz surrounding the tech and its accessibility. A bonus here is the escape from Microsoft tools that some may feel make the Kinect undesirable. The clear examples in Python should address concerns with its use for practical training and application outside the Microsoft's Developer Tools ecosystem.
I enjoyed Chapter 7 (Drawing on Images) as this is where I spent a lot of time in the past with imaging annotations for medical applications. The ability to work with layers, objects, lines, etc. The author did a good job with describing the canvas but lacked in the actual drawing sections. The lollipop example was rather crude and SimpleCV's support for drawing is demonstrably more robust.
A lot of time was spent upon histograms which does make sense to me. I believe though, there was too much time spent on it. Which, will likely create some discontent with the quick progression I mentioned in a previous paragraph. I realize it is a vital concept/feature within CV and therefore the attention that was spent on it is good, however, not for this book.
I was disappointed to find there was very little in the book regarding SURF and SIFT, used for feature detection. (Arguably the most prominent CV industry application) Arguments regarding which algorithm's perform better or worse may have prevented their inclusion. As well, While SimpleCV doesn't have an implementation of SIFT, it does for SURF. In practice, within feature detection initiatives one of the two will typically be utilized. The following link is some open source SURF and SIFT with OpenCV work I and a friend worked on a few years back. Specific to feature detection around brand logos. LINK
Generally speaking, when you ask a beginner why they are interested in Computer Vision, most likely the answer will be something along the lines of: Facial Recognition and or Object Recognition. The author does provide examples and lesson within those more interesting facets. Therefore, it hits the mark for the intended reader.
This book was provided free, for purpose of review from O'Reilly Media