I’m new to machine vision, but have been doing embedded development for a long time (and work for a microcontroller semiconductor company - not ST.) I’m very impressed with OpenMV and recently purchased an M7. I’m very much looking forward to the H7 and am ready to dive in. I have some basic questions about MV - particularly how to approach certain MV problems:
I want to start with some basic detection type use cases to start learning the ropes, but could use some guidance on what MV techniques are relevant to what use cases. I get the impression that there are numerous techniques that could potentially be used to achieve the same result for uses cases such as:
I want to:
- Detect the presence of my car in the garage and know if it’s arriving or leaving.
Detect the state of my garage door - open/closed.
Detect someone in the vicinity of my door and capture the video
Detect in Touch and go type applications - various sports require lap counting or possibly timing
These all have some common themes - an object is arriving and departing from the field of view. But there are lots of variations on the theme like 1) detecting the tiniest indication of an arrival vs the full object being in view, vs final exit 2) how to filter out bogus stuff like a pet walking by or some other visual aberration that is not the focus of the use case 3) in the sports, lap counting use case, how to constrain the counting to a specific “lane” or range of “lanes” 4) in the sports case, at a finish line, competitors ‘mill around’ after it’s over and the MV application needs to sort of trigger one-shot or even automatically “reset” by determining that the competitor has “left the stage” (some sense of visual hysteresis) 5) dealing with lighting variations in a robust way.
I know all these things have been hammered out in some form or another by the MV experts and I’m looking for some good resources that discuss these issues both in general terms and, all the better, in terms of OpenMV APIs.
Which specific object types or algorithms would be most applicable to certain use cases? Even a “taxonomy” of MV use cases would be helpful, I think.
If you had one book, one article, one course (ie: udacity, coursera, etc) or one web site to read on MV, what would it be?
What have you found most helpful in terms of approaching MV use cases and problems associated with various techniques? With or without OpenMV in the picture.
Any suggestions would be greatly appreciated!