chaowang15 / rgbdplanedetection Goto Github PK
View Code? Open in Web Editor NEWRGBD plane detection and color-based plane refinement
RGBD plane detection and color-based plane refinement
What are the requirements for the images? I am currently trying with my own images, but I get an error message: vector subscript out of range
The error comes from plane_detection.cpp line 226. new_pidx
gets -1.
My images are 1280x720 and I have adjusted the corresponding constants (plane_detection.h lines 25-30). But even if I scale my images to 640x480 before, I get the error.
In addition the plane image looks very strange.
1280x720 without adjusted constants: (no change, cloned 25.05.2020)
1280x720 with adjusted constants (similar to the image when scaled to 640x480):
The only change I made to adjust constants:
diff --git a/RGBDPlaneDetection/plane_detection.h b/RGBDPlaneDetection/plane_detection.h
index 8e1d876..b58ebf8 100644
--- a/RGBDPlaneDetection/plane_detection.h
+++ b/RGBDPlaneDetection/plane_detection.h
@@ -22,12 +22,12 @@ const float kInfVal = 1000000; // an infinite large value used in MRF optimizati// Camera intrinsic parameters.
// All BundleFusion data uses the following parameters.
-const double kFx = 583;
-const double kFy = 583;
-const double kCx = 320;
-const double kCy = 240;
-const int kDepthWidth = 640;
-const int kDepthHeight = 480;
+const double kFx = 633.085;
+const double kFy = 633.085;
+const double kCx = 640.891;
+const double kCy = 356.606;
+const int kDepthWidth = 1280;
+const int kDepthHeight = 720;#if defined(linux) || defined(APPLE)
#define _isnan(x) isnan(x)
At last the original pictures:
(Recorded in an simulation, based on the Stanford data set)
Hi,
I am just a bit confused about your representation of the plane normal. They are three numbers, representing a vector in 3d space (correct me if I am wrong). But how is this of use to me if I don't know how the world coordinate system is defined?
So my question is: how does this vector relate in space?
Hi Everyone,
Can anyone guide how to configure the application to run on Win 10 and vs 2019 ?
Thanks so much !
Hi, I'm generating depth map images in .png from an Intel Realsense camera, but I can't seem to get the format to match the 16uc1 format. I originally had a uint8 format, did anybody else have issue getting the format correctly, or have advice how to ensure the data type is right? Is this a format that has to be created using C++ only? I was trying to do data streaming and processing using Python just to save the depth images, and then run the PlaneDetection code.
Thanks!
Eric
Thank you for the repo. but it is not clear to me how to run/test your repo. The followings are what I have tried.
Thank you
Peter.
Hello,
First of all, thank you very much to share your code.
In order that your code runs in Ubuntu, I had to done two small modifications:
On one hand, I had to add the Makefile on the include/MRF2.2 that you can find in the following library link (http://vision.middlebury.edu/MRF/code/).
On the other hand, you wrote in the readme.txt file that the following command is required to use the package:
RGBDPlaneDetection <-o> color_image depth_image
however, the arguments required in the main.cpp are almost 4, where you need to add the output path, for example, I use the directory path:
RGBDPlaneDetection <-o> color_image depth_image .
Thanks again!
Hi,
I have noticed that when I'm processing image sequences with release mode, it crashes after a while, and the plane-data is incorrect (the segment result is right). I have tested it in windows 10 and ubuntu. It is correct with a single image, but it fails to deal with image sequences (I mean the plane-data, especially the pixel numbers of plane ). The debug mode can work with image sequences, but the speed is very slow and almost stop after 100 images. So I wonder it may be some memory bug. Would you please test with image sequences? I think 10 images is enough. By the way, I didn't use MRF.
Thank you!
Hi,
I found the code always generates an exception when running mrf refinement.
Specifically, the exception is triggered in this function:
Graph::flowtype Graph::maxflow()
{
...
if (a_for->r_rev_cap)
}
where a_for is a NULL pointer.
Have you ever encountered this issue? Would you please give me some clue?
Thanks!
ps. I have set the cam. intrinsics correctly.
Hi, I'm running the codes on my own datasets. I know that the variable kScaleFactor in plane_detection.h
should be changed for different datasets. My question is how should I change this scale factor? It would be great if there is either a theoretical explaination or some empirical ways for tuning it.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.