suggestion on implementation of visual odometry using monocular camera - camera

How to overcome scale problem in monocular visual odometery?
Can someone suggest me a good paper on the implementation?

Visual-inertial fusion is the most recent approach used for monocular odometry. You need to calculate the scale between world units and meters.
You can use an Extended Kalman Filter approach or optimization as you like. Try with this paper: http://www.ee.ucr.edu/~mourikis/papers/Li2012-ICRA.pdf

Related

Is TensorFlow the way to go for this optimization problem?

I have to optimize the result of a process that depends on a large number of variables, i.e. a laser engraving system where the engraving depth depends on the laser speed, distance, power and so on.
The final objective is the minimization of the engraving time, or the maximization of the laser speed. All the other parameters can vary, but must stay within safe bounds.
I have never used any machine learning tools, but to my very limited knowledge this seems like a good use case for TensorFlow or any other machine learning library.
I would experimentally gather data points to train the algorithm, test it and then use a gradient descent optimizer to find the parameters (within bounds) that maximize the laser travel velocity.
Does this sound feasible? How would you approach such a problem? Can you link to any examples available online?
Thank you,
Riccardo
I’m not quite sure if I understood the problem correctly, would you add some example data and a desired output?
As far as I understood, It could be feasible to use TensorFlow, but I believe there are better solutions to that problem. Let me expand on this.
TensorFlow is a framework focused in the development of Deep Learning models. These usually require lots of data (the number really depends on the problem) but I don’t believe that just you manually gathering this data would be enough unless your team is quite big or already have some data gathered.
Also, as you have a minimization (or maximization) problem given variables that lay within a known range, I think this can be a case of Operations Research optimization instead of Machine Learning. Check this example of OR.

Advise for camera buying

I am intending to buy a camera for my research about robotics. I am relatively new if I am ashamed to say that I am absolutely new to CV.
My job is detecting an objects and return the [x,y,z] coordinate. My platform is Ubuntu 12.04 and I intend to use python to program.
I read about some device on the internet like Kinect x360. But I have no ideas to choose the best one[price and suits my job (return x,y,z with precision < 5mm after caliberating, no entertainment needed)].
Please advice for the right one with suitable price or the best price.
Thanks so much.
With that few information about the problem I can just give you general advice.
The Kinect camera you mentioned not only captures images but can also give a rough estimation of the distance of every pixel from the camera. This can be very useful for determining the position of an object but I think you cannot obtain a 5mm precision with it.
I think your best bet is to go with two cameras and do stereo vision to obtain the distance. You can use normal cameras to do that but you'll need a high resolution to obtain the precision you want.
I hope it helps.

Kinect skeleton tracking

I am working with Kinect and I implemented a skeleton tracking mechanism to keep joint trajectories of a sequence of human gait with single kinect. The problem is with the accuracy of the mesurments. I want to overcome occlusion and jitter problems. I found some filter implementations to deal with jittering (more advanced than average filters). But occlusion is more difficult. Is there an good open source project for skeleton tracking with good results (more accurate). Microsoft sdk or openni it doesn't matter.
Thanks in advance
Actually I did a gait recognition using Kinect and I used microsoft official sdk. The accuracy of measurements is based on your calculation. Check this as example.

GPUImage equivalent of cv::findContours

My app uses opencv's cv::findContours on a binary image. I now need to make it realtime. GPUImage has a cannyedge filter but I couldn't find anything related to findContours. Does GPUImage have anything that closely resembles findContours? If not, can someone suggest an alternative?
Thanks
There was an issue reported in this regard in 2015.
https://github.com/BradLarson/GPUImage/issues/2094
The answer of that issue states that GPUImage does not offer any such alternative at the moment. So the best guess might be to feed the output from GPUImage's Canny or Sobel edge detection into a contour determination operation outside of the GPUImage framework.

looking for simulated annealing implementation in VB

Is anyone aware of a reasonably well documented example of simulated annealing in Visual Basic that I can examine and adapt?
This project looks pretty well documented: http://www.codeproject.com/KB/recipes/simulatedAnnealingTSP.aspx. It's C# but contains only one important source file (TravellingSalesmanProblem.cs) so it's pretty easy to run it through a converter. Maybe: http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx?
MSDN magazine also had an interesting article on neural networks. As I understand simulated annealing, you can add it to other function estimation methods (like neural nets). So you could add simulated annealing to the MSDN VB code by shrinking the Momentum over time. The network starts 'hot' by backpropagating error with a large Momentum and slowly 'cools' by shrinking the Momentum and thus reducing the effect of output error in backpropagation.
Cheers.
I generally refer to "Numerical recipes in C/C++" for all the pseudocode and adapt to my own later. That is the best documentation/implementation you could find. Sometimes you could even find better algorithms or an alternative way of solving. (In case Newton Raphshon is not the way to go)