An advice for OpenCV : (outdoor) stereo vision, distance estimation and object tracking
Dear friends,
We are working in the development of a rover that will perform autonomous farming tasks such as pesticides spraying, and seed planting. For this, we are also developing a CV-perception module, for two specific tasks:
- Object detection (for example leaf-types or plague detection).
- Distance estimation (to identify the distance to a previously identified object, and for colission-avoiding manoeuvring).
I would like to ask you for suggestions on how to improve the work we have already have done. In particular there are two problems we are looking how to address:
We are trying to estimate the distance of an object by using stereoscopic vision (using two cameras) with a 'depth map' algorithm (StereoSGBM). With this algorithm both images are processed and a grey-scale map is generated, where a lighter point means a closer distance. However, (1) the generated map doesn't correspond to the captured objects (a basic test with several objects at different distances was performed), and we haven't found how to calibrate the algorithm's parameters to improve its precision. (2) we haven't found a good approach to extrapolate an approximate distance based on the grey tone of a certain point of the map (the robot will require approximate measures in centimetres).
We are also using ORB (Oriented FAST and Rotated BRIEF) to track objects. It worked well inside our lab, but performed poorly on the outside, given the changing light conditions. We tried an image pre-processing with histogram equalisation, but it didn't work well.
Any advice about these problems, or any suggestions to perform the same task with different approaches will be really appreciated.
Sincerely yours,
Héctor