GithubHelp home page GithubHelp logo

Comments (7)

Rockyzyk avatar Rockyzyk commented on June 2, 2024 2

I changed the first detection point to “lower left” in the image, and it works! Thanks so much for help!

from ilcc.

Rockyzyk avatar Rockyzyk commented on June 2, 2024 1

I just received you reply! Thanks a lot!
Perhaps, the first detection point is mean reason as we though. I will check now!

from ilcc.

mfxox avatar mfxox commented on June 2, 2024

It's highly possible that 3D corners may not be correctly detected due to a wrong detection of chessboard' point cloud.

Can you check whether 3D corners were correctly detected with the following code?

    from ILCC import utility
    utility.vis_ested_pcd_corners(ind=1)

And how many image-pcd pairs did you use?

from ilcc.

Rockyzyk avatar Rockyzyk commented on June 2, 2024

Thanks for reply and answer! Here is my figure after running the code:
from ILCC import utility
utility.vis_ested_pcd_corners(ind=1)
image 1
I think it can detect chessboard correctly.

My image-pcd pairs is 7 pairs, but the chessboard doesn't move, which is in same relative position between camera and VLP16 in these 7 pairs. it is OK?
And could you please explain more about jdc_thre_ratio and agglomerative_cluster_th_ratio in config.yaml. What is their scope? And how should I adjust them in this situation?

from ilcc.

mfxox avatar mfxox commented on June 2, 2024

From the image you uploaded, both the point cloud of chessboard and 3D corners are correctly detected as you thought.
I just noticed that the counting order of corners on the image differs from the request for running the program.
This will cause the mis-correspondence between image-pcd corners and further cause the failure of the optimization.
Currently, the counting order of 2D and 3D corners obeys to the rule: 1. starts from the lower left; 2. counts from lower left to upper right with the zigzag order.
You can check a sample image shown here.
Can you try to reorder the image corners and run the optimization again?

I am not sure why you didn't move the chessboard in 7 pairs. If you don' t change the relative position/pose of the chessboard to increase variation, what is the meaning to increase the image-pcd pairs.

As for jdc_thre_ratio and agglomerative_cluster_th_ratio, they relate to the segmentation of the point cloud to get the chessboard. As the chessboard seems to be segmented correctly, I think it's fine of these two parameters for your situation.

from ilcc.

Rockyzyk avatar Rockyzyk commented on June 2, 2024

By the way, I use OpenCV the detect image corners, and the first point is not “lower left” is “lower right”, maybe that is the reason, I will try to fix it and reply you.
Furthermore, the setting of corner size for OpenCV is different with MATLAB. For example, your checkboard size is (8,6) for MATLAB but is should be changed to (7,5) in OpenCV. I found the code doesn't deal with it. If you have time, you can fix it!

from ilcc.

nonlinear1 avatar nonlinear1 commented on June 2, 2024

@Rockyzyk I found that your checkerboard is different from the one which is given by mfxox. I think the program must changed according to your new partern checkerboard. And Could you tell me how can change your program? I was faced the same problem and I want change a different checkerboard different from the one given by mfxox. Thank you very much!

from ilcc.

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.