Giter Site home page Giter Site logo

Comments (13)

plutoyuxie avatar plutoyuxie commented on July 22, 2024

Hi, the pairs of color images and depth images should be aligned.
You need to caculate the camera pose for each frame. ICP may be helpful.

from tsdf-fusion-python.

YJonmo avatar YJonmo commented on July 22, 2024

Hi, the pairs of color images and depth images should be aligned.
You need to caculate the camera pose for each frame. ICP may be helpful.

I used Kinect Fusion to align the depth images and got the camera pose form there. But when I use TSDF with the pose and depth it just doesn't work.

from tsdf-fusion-python.

Viky397 avatar Viky397 commented on July 22, 2024

Hi! I have my .pcd point clouds saved, and I use ICP to calculate the poses. However, running tsdf.py, the output mesh looks quite odd and elongated. Any tips would be welcome, thank you!

from tsdf-fusion-python.

YJonmo avatar YJonmo commented on July 22, 2024

Maybe try to scale your pose info, i.e., divide it by a 2 or 3 ..

from tsdf-fusion-python.

Viky397 avatar Viky397 commented on July 22, 2024

Hello. I tried dividing by 2 or 3 but this just makes the output mesh look more sparse, and doesnt help with the oddly elongated output shape.

from tsdf-fusion-python.

YJonmo avatar YJonmo commented on July 22, 2024

Did you divide the translation?
Only the translation should be divided or multiplied by a scaling coefdicient.
Keep in mind, the x axis is rightward, y is downward and z is outward.

from tsdf-fusion-python.

Viky397 avatar Viky397 commented on July 22, 2024

I used the following to get the transformation:

reg_p2p = o3d.registration.registration_icp(
            source, target, threshold, trans_init,
            o3d.registration.TransformationEstimationPointToPoint())

And then I save the following to a .txt file, and divide by a scaling factor:
reg_p2p.transformation/3

from tsdf-fusion-python.

YJonmo avatar YJonmo commented on July 22, 2024

I guess the reg_p2p.transformation is a 4*4 transformation matrix?

You only need to divide the last column of this matrix by a coefficient. The last column is a the translation:
reg_p2p.transformation[0:3,-1] = reg_p2p.transformation[0:3,-1]/Coeff

In my case, I chose changes in the movement when it was no rotation. Then I focused on finding the correct dividing coefficient.

from tsdf-fusion-python.

Viky397 avatar Viky397 commented on July 22, 2024

Hm still seems very odd. This is the resulting mesh.ply.
image

from tsdf-fusion-python.

YJonmo avatar YJonmo commented on July 22, 2024

It is hard to say what is going on just by looking at the image.
Also give some off set to your depth values. For example all the depth values should be added by some constant value. If you maximum depth is 255, then add 50 to the value of each pixel and see how it looks like. Play with the numbers.

from tsdf-fusion-python.

Ademord avatar Ademord commented on July 22, 2024

@Viky397 did you find a solution to this?

from tsdf-fusion-python.

Viky397 avatar Viky397 commented on July 22, 2024

@Ademord nope. I switched to Kimera-Semantics instead. Very easy repo to work with in ROS :)

from tsdf-fusion-python.

Ademord avatar Ademord commented on July 22, 2024

@Viky397 ahhh im working in unity so i need to do this by hand technically :(

from tsdf-fusion-python.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.