Closed HJMGARMIN closed 10 months ago
Hi, I am glad you liked PLVS. Thanks.
As you understood, to enable segmentation, you need to set PointCloudMapping.type: "octree_point"
and Segmentation.on: 1
These are the parameters I normally use
This is what I normally get (in an intermediate frame) as shown in the videos
Thanks for your reply, but it seems does not work on my device. And I notice that the color of the same objects in "connected components" is changing. My yaml file of TUM3 is below: `%YAML:1.0
Viewer.on: 1
Viewer.KeyFrameSize: 0.05 Viewer.KeyFrameLineWidth: 1.0 Viewer.GraphLineWidth: 0.9 Viewer.PointSize: 2.0 Viewer.LineSize: 1.0 Viewer.CameraSize: 0.08 Viewer.CameraLineWidth: 3.0 Viewer.ViewpointX: 0.0 Viewer.ViewpointY: -0.7 Viewer.ViewpointZ: -1.8 Viewer.ViewpointF: 500.0
Viewer.ViewpointYtop: -4.0
File.version: "1.0"
Camera.type: "PinHole"
Camera1.fx: 535.4 Camera1.fy: 539.2 Camera1.cx: 320.1 Camera1.cy: 247.6
Camera1.k1: 0.0 Camera1.k2: 0.0 Camera1.p1: 0.0 Camera1.p2: 0.0
Camera.width: 640 Camera.height: 480
Camera.fps: 30
Camera.RGB: 1
Stereo.ThDepth: 40.0 Stereo.b: 0.0747
RGBD.DepthMapFactor: 5000.0
ORBextractor.nFeatures: 1000
ORBextractor.scaleFactor: 1.2
ORBextractor.nLevels: 8
ORBextractor.iniThFAST: 20 ORBextractor.minThFAST: 7
Line.on: 1
Line.nfeatures: 100
Line.nLevels: 3
Line.scaleFactor: 1.2
Line.sigma: 2
Line.minLineLength: 0.02
Line.lineTrackWeigth: 2
Line.minLineLength3D: 0.01
Line.muWeightForLine3dDist: 0.3
Line.LSD.on: 0
MapObject.on: 0
MapObject.imgs: "teddy.png" MapObject.numMinInliers: 20 MapObject.maxReprojectionError: 1 MapObject.maxSim3Error: 0.01
KeyFrame.fovCentersBasedGeneration.on: 0 KeyFrame.maxFovCentersDistance: 0.4
SparseMapping.filename: "sparse_map_rgbd.atlas"
SparseMapping.reuseMap: 0
SparseMapping.freezeMap: 0
SparseMapping.saveMap: 0
SparseMapping.forceRelocalization: 1
Depth.sigmaZfactor: 6
PointCloudMapping.on: 1
PointCloudMapping.type: "octree_point"
PointCloudMapping.resolution: 0.01 PointCloudMapping.numKeyframesToQueueBeforeProcessing: 1 PointCloudMapping.downSampleStep: 2 PointCloudMapping.minDepth: 0.1 PointCloudMapping.maxDepth: 5 PointCloudMapping.removeUnstablePoints: 1
PointCloudMapping.resetOnSparseMapChange: 1 PointCloudMapping.cloudDeformationOnSparseMapChange: 0
PointCloudMapping.pointCounterThreshold: 3
PointCloudMapping.voxbloxIntegrationMethod: "fast"
PointCloudMapping.useCarving: 0
PointCloudMapping.filterDepth.on: 0 PointCloudMapping.filterDepth.diameter: 7 PointCloudMapping.filterDepth.sigmaDepth: 0.02 PointCloudMapping.filterDepth.sigmaSpace: 5
PointCloudMapping.loadMap: 0
PointCloudMapping.loadFilename: "volumetric_map_0.ply"
Segmentation.on: 1
Segmentation.maxDepth: 2
Segmentation.erosionDilationOn: 1 Segmentation.minFi: 0.92 Segmentation.maxDelta: 0.01 Segmentation.singleDepth.minComponentArea: 80 Segmentation.lineDrawThinckness: 2 Segmentation.maxAngleForNormalAssociation: 20 Segmentation.labelsMatchingMinOverlapPerc: 0.2 Segmentation.labelsMatchingMinOverlapPoints: 0 Segmentation.globalLabelsMatchingMinOverlapPerc: 0.2
GlObjects.on: 0
GlObjects.list:
` and my results are below. The segmentation results are worse than yours. The colors split on the same object are very messy.
Hi, Thanks for sharing your pics. I have some questions for you:
git diff >& /tmp/log.txt
and share the generated log file as an attachment?I tested PLVS on different laptops and desktop computers (with NVIDIA GPUs). I have never seen such a result ... unless you change the parameters.
It seems you are also getting a different volumetric map with much fewer points than normal. Can you share a pic of the volumetric map you are getting?
OS: Ubuntu 18.04 CPU: i7-11700 GPU: RTX2080 I installed PLVS using the script you perovided. Because I can not upload .sh file, I comvert them to .txt. run_tum_rgbd.txt config.txt I did not change any part of the main code. log.txt I just open "Show Segments" in the GUI and do not touch other GUI slider. The volumetric map on my computer is : When I run PLVS with segments, the state of GPU is as below.
I see you are using Ubuntu 18. I tested the procedures and the code under Ubuntu 20.
Can you test the code under docker with Ubuntu 20? For instance, you can use https://github.com/luigifreda/rosdocker
Update. I got PLVS working back on Ubuntu 18. Indeed, i was not able to build PLVS with C++17 under Ubuntu 18. I am wondering how you got it built with C++17?? (You didn't reply to my GCC question) Moreover, you are not using a local opencv install. Please, install a local opencv.
What I recommend on Ubuntu 18:
CPP_STANDARD_VERSION=11
(here https://github.com/luigifreda/plvs/blob/master/config.sh#L14) ./clean.sh
./install_local_opencv.sh
(as suggested in the main README) ./build.sh
(as suggested in the main README)I have bad result form segmentation:
And when segmentation off:
Also: PointCloudMapping.type: "octree_point" Segmentation.on: 1
Another GUI screenshots: P.S. Tried without touching sliders in GUI, same result.
Look's like something broken i normals
In file included from /home/techinao/catkin_ws/src/plvs/Thirdparty/volumetric_mapping/volumetric_mapping/volumetric_map_base/src/world_base.cc:40:0: /usr/include/pcl_conversions/pcl_conversions.h:42:10:fatal error: ros/ros.h: No such file or directory。Do you have this question? If so, how was it resolved?
Did you run the script install_dependencies.sh? What is your OS and configuration?
Did you run the script install_dependencies.sh? What is your OS and configuration?
I ran it one by one./clean. sh, ./install_dependency. sh, ./Install_local_opencv.sh and./build.sh, Ubuntu 18.04.6
Hey @CQnancy,
thanks for your feedback. I worked to improve PLVS support under Ubuntu 18.04.
You can now pull, run clean.sh
, install deps, and repeat the build procedure (no need to reinstall local opencv if you already did it).
Great work! How can I make the same segmentation results on TUM dataset? Which param should I change in the yaml file? The second picture is my result on "rgbd_dataset_freiburg3_long_office_household" with
PointCloudMapping.type: "octree_point"
andSegmentation.on: 1