WangWen-Believer / ORB_SLAM2-to-OpenMVS

实现SLAM与OpenMVS对接
61 stars 20 forks source link

Error OpenMVS-Invalid size #8

Open ddkats opened 1 year ago

ddkats commented 1 year ago

Hi @WangWen-Believer,

I extend your implementation from ORB-SLAM2 to ORB-SLAM3. However, when running OpenMVS as you suggested (readpose files + modified Densify Interface), I encountered an error regarding: malloc(): invalid size (unsorted), as described below:

We are using Keyframe from SLAM to achieve 3D reconstruction load mvs ok numViews 304 deal with feature points 13:03:05 [App ] Set the ROI by the estimated core points 13:03:05 [App ] Point-cloud composed of 11902 points with:

points info: 11901 points inside ROI (99.99%) inside ROI track length: 0 min / 7.48256 mean (5.24675 std) / 70 max outside ROI track length: 8 min / 8 mean (0 std) / 8 max visibility info (89058 views - 7.48 views/point): 4 points with 1- views (0.03%) 59 points with 2 views (0.50%) 1804 points with 3 views (15.16%) 10035 points with 4+ views (84.31%) 0 min / 7.48261 mean (5.24653 std) / 70 max 13:03:06 [App ] Preparing2 images for dense reconstruction completed: 304 images (474ms) malloc(): invalid size (unsorted) Aborted

zhangjd1029 commented 1 year ago

I have encountered the same problem as you. Have you resolved it? I guess it's related to the version of OpenMVS, but I've tried several versions and haven't resolved it yet. Please reply to me when you have time. Thank you very much.

ddkats commented 1 year ago

I have encountered the same problem as you. Have you resolved it? I guess it's related to the version of OpenMVS, but I've tried several versions and haven't resolved it yet. Please reply to me when you have time. Thank you very much.

I have attempted to run all available versions of OpenMVS, including the docker container, but none of them appear to be functioning, don't waste your time on this. The recommended approach, as suggested by the OpenMVS author in similar topics (there is an open topic in the OpenMVS repo about this, seeking suggestions from the author on this matter), is to create an interface that connects the output of ORBSLAM2/ORBSLAM3 to the DensifyPointCloud interface of OpenMVS.

I propose you to explore an end-to-end binocular solution if you have the suitable equipment (stereo, RGB-D cameras etc), rather than incorporating ORB-SLAM to impose a scale recovery factor or to obtain accurate odometry estimation. These MVS methods or NeRF-based approaches tend to perform better when coupled with SfM solutions like Colmap or OpenMVG, etc.

BR

zhangjd1029 commented 12 months ago

@ddkats I successfully ran it using orbslam2 and openmvs1.1.1。 Add valgrind before the command line。That is to say, running “valgrind ./bin/DensifyPointCloud -w /home/zjd/shujuji/ip24/data/ -i sfm.txt -o dense.mvs”。 If you have time, you can try it out。

ddkats commented 12 months ago

@zhangjd1029 Congrats, thanks for the update! I will test it when I find some time. Please share the result of your reconstruction. Did the scale recovery go well?