What Are the Best Algorithms for 2D to 3D Scene Extrapolation in Egomotion?

  • Thread starter Thread starter Superposed_Cat
  • Start date Start date
  • Tags Tags
    2d 3d
AI Thread Summary
The discussion focuses on developing an egomotion program and the challenges of extracting 3D information from 2D images. The term "egomotion" is linked to SLAM (Simultaneous Localization and Mapping), particularly Monocular SLAM, which utilizes algorithms like Bundle Adjustment for optimizing reprojection errors. The conversation highlights the limitations of using only 2D images compared to methods like Kinect, which employs laser points for 3D scene construction. An example of a 2D to 3D application is mentioned, showcasing an Android app that uses a single camera to derive depth data from focus variations. Additionally, a query about the spinning sensor on Boston Dynamics robots leads to insights about panoramic laser range finders, which create point clouds by spinning lasers to map environments. The discussion emphasizes the importance of advanced sensors and algorithms in achieving accurate 3D scene reconstruction.
Superposed_Cat
Messages
388
Reaction score
5
:ey all, I'm seeking to write an egomotion program and want to do research into existing algorithms and the math of it, but googling "egomotion algorithms" doesn't seem to turn anything up, is there a more popular name for extrapolating 3d scen from 2d scene? Or can anyone post a link? Any help apreciated,
 
Technology news on Phys.org
Do you have to extrapolate from just a 2D image? That puts some limitations on you that you wouldn't have if you used a solution like Kinect, that builds the 3D scene from laser points. In fact the best solutions are generally going to involve projecting light of some form.

As far as getting 3d info from 2d, Android has an interesting app, you can see its output here (if you have a browser with webgl)
https://www.chromeexperiments.com/experiment/android-lens-blur-depth-data-player
http://www.clicktorelease.com/code/depth-player/
That one uses no projection, a single camera (from phone) and refocuses it I believe to get depth data based on which areas are sharp and blurry at each point of focus. If you had a good robot, where its wheels never slip or anything, you could potentially add average in snapshots from other position if the environment is stationary, to get an even better picture.
 
Egomotion determination from 2D picture is call SLAM (simultanéous localisation and mapping), Monocular SLAM. The best class of these algorithm is BUNDLE ADJUSTEMENT which is an non linéar optimisation of reprojection error of feature. You can search for downloadable algorith on MRPT library, OpenSLAM, LSD Slam... I am an old computer vision PHD, if you have question, ask me.
 
kroni said:
Egomotion determination from 2D picture is call SLAM (simultanéous localisation and mapping), Monocular SLAM. The best class of these algorithm is BUNDLE ADJUSTEMENT which is an non linéar optimisation of reprojection error of feature. You can search for downloadable algorith on MRPT library, OpenSLAM, LSD Slam... I am an old computer vision PHD, if you have question, ask me.
A computer vision PhD? Actually I have a question: Do you know or have any educated guesses about what the spinning sensor on the Boston Dynamics robots is? Video here:

I can make guesses, that its maybe projecting some sort of plane and calculating depth by offset with a camera, but I don't know.
 
Yes, This spinning sensor is a panoramic laser range finder, may be a Riegl, or a Velodyne. It'is composed of 32 or 64 laser verticaly and when the sensor spin it give a point cloud représenting the scene. I work with this kind of sensor in my research.
 
  • Like
Likes Fooality
kroni said:
Yes, This spinning sensor is a panoramic laser range finder, may be a Riegl, or a Velodyne. It'is composed of 32 or 64 laser verticaly and when the sensor spin it give a point cloud représenting the scene. I work with this kind of sensor in my research.
Ah! If I'm not mistaken then, the principle behind it has actually been around for awhile, but it still must be best suited for the job, if they're using it. Fascinating, and thanks for your reply!
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top