First post in the IM forum here. If I'm in the wrong subforum, please let me know. Everyone hates being the clueless new guy.
I'm a recreation ecologist with a software background and I'm seeking to augment some machine vision work in my research group, using ImageMagick. The big picture view, no pun intended, is to use cellphones and other off the shelf imaging hardware to do structure-from-motion based 3D outdoor scene reconstruction and analysis. At this point, all the analyses are post-hoc, so there's no practical constraint on storage space, processor power, or batch processing length of time. I.e., no realtime optimization needed. We're using OpenCV for some parts of the process already.
Task: perform basic image content matching against a human-tagged large set of reference images.
- tag large sets of reference images for key attributes
- auto-upload files to local OSX Apache2 webserver (done),
- organize image files into directories using PHP (done),
- extract basic summary stats for each image using Imagick and PHP exec(ImageMagick via command line, OpenCV via command line) (done),
- compare each new image against tagged images to identify (working on it)
- presence/absence of color families (e.g., bark browns vs. soils, lichen greens vs. leaf greens, etc.
- presence/absence of human figures, generally viewed in profile/side-on angle
- generate report and display to user through email and/or web interface (done).
The fundamental question is: identifying what is the camera/remote-operated drone/unmanned vehicle looking at?
Our primary difficulty is irregular lighting. Many of our images are in woodland (i.e., full shade -> partial sun/hard shadow -> full sun with no way to predict. I suppose that could be another class of pre-trained images... We have only limited control over each photo/video frame's direction & orientation, so we're trying to grapple with shape recognition as well.
I'm familiar with Fred's excellent collection of scripts. Should I be doing histogram comparisons? the Similar script? Something else?
Thank you and I am happy to provide clarifications if I'm not explaining this well.