Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[GSoC] Point Cloud Object Fitting#2584

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
devanshbatra04 wants to merge8 commits intoopencv:4.x
base:4.x
Choose a base branch
Loading
fromdevanshbatra04:ptcloud

Conversation

@devanshbatra04
Copy link
Contributor

@devanshbatra04devanshbatra04 commentedJun 30, 2020
edited
Loading

This PR would contain the work done towards the GSoC 2020 project on Point Cloud object fitting.

This is a test to see whether the PR builds. I will continue adding changes.
cc:@mihaibujanca

Pull Request Readiness Checklist

See details athttps://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

  • I agree to contribute to the project under OpenCV (BSD) License.
  • To the best of my knowledge, the proposed patch is not based on a code under GPL or other license that is incompatible with OpenCV
  • The PR is proposed to proper branch
  • There is reference to original bug report and related work
  • There is accuracy test, performance test and test data in opencv_extra repository, if applicable
    Patch to opencv_extra has the same branch name.
  • The feature is well documented and sample code can be built with the project CMake

#include <vector>
#include <utility>
#include "opencv2/viz.hpp"
#define PLANE_MODEL 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

enums are a better choice than defines

alalek and pmh5050 reacted with thumbs up emoji
@mihaibujanca
Copy link

@devanshbatra04 Any update on this, please?


bool getSphereFromPoints(const Vec3f* &points, const std::vector<unsigned> &inliers, Point3d& center, double& radius) {
// assert that size of points is 3.
Mat temp(5,5,CV_32FC1);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

this should be a 4x4 Mat, with the last column set to 1

(as it is now, it has 10 uninitialized values, wrecking any determinant calculated later)


assert(normals_cld.cols == cloud.cols);

const Point3d* points = cloud.ptr<Point3d>(0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

this must be Point3f (the point cloud is in float format, not double)


double magnitude_abc = sqrt(ModelCoefficients[0]*ModelCoefficients[0] + ModelCoefficients[1]* ModelCoefficients[1] + ModelCoefficients[2] * ModelCoefficients[2]);

assert (magnitude_abc == 0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

for sure you want != 0 here

return result;
}

viz::WCylinder SACCylinderModel::WindowWidget () {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

probably, we should outsource any drawing functionality to the samples.

having a dependancy of thelibrary code to the viz module (which again depends on vtk) is some major bummer, this could/should be made optional

break;
}
vector<unsigned> latest_model_inliers = inliers.back();
num_segmented_points += latest_model_inliers.size();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

bail out, ifnum_segmented_points==0 ?

(since the rng is reseeded insidefit_once() it cannot do anything different, if the labels array wasn't changed, leading to an infinite loop)

}

if (model_type == CYLINDER_MODEL) {
assert(this->normals_available == true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

so, currently, normals are not optional here.

maybe we can add another method for adding a hypothesis based on 3 points (2 points parallel to the axis, just on the outer hull, and a 3rd, somewhat opposite) ?

generating normals from 12 (!) knn neighbours only seems to work nicely for very dense clouds, but not for sparse, synthetic or sfm generated clouds

@mihaibujanca
Copy link

Hi,@devanshbatra04 it's been quite some time without an update. Can you please refactor the code as suggested so we can merge the PR?

@berak
Copy link
Contributor

berak commentedFeb 23, 2021
edited
Loading

would there be a way to work on this (and still keep the original commits /@devanshbatra04 as author) ?

i think i gotsome improvements

@WanliZhong
Copy link
Member

would there be a way to work on this (and still keep the original commits /@devanshbatra04 as author) ?

i think i gotsome improvements

Hi, we notice that you are improving the object detection feature. Our group hopes to complete the feature. What do you think we can do for this feature? Thank you.

@berak
Copy link
Contributor

if it is aboutthe gsoc idea,
please applyto the mainling list

@WanliZhong
Copy link
Member

if it is aboutthe gsoc idea,
please applyto the mainling list

We really don't know that this project has been listed as GSoC project again. We will try to apply. Thank you.

@asenyaev
Copy link
Contributor

jenkins cn please retry a build

@berakberak mentioned this pull requestMay 25, 2021
6 tasks
@JoeHowse
Copy link
Contributor

Is this pull request superseded byopencv/opencv#21276 ?

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

2 more reviewers

@berakberakberak left review comments

@tompolloktompolloktompollok left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

8 participants

@devanshbatra04@mihaibujanca@berak@WanliZhong@asenyaev@JoeHowse@tompollok@alalek

[8]ページ先頭

©2009-2025 Movatter.jp