Git Product home page Git Product logo

fastfusion's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fastfusion's Issues

Run Error

Hi I successfully completed all the process. When I try to run the program I got this error

"*** Error in `./bin/onlinefusion': realloc(): invalid pointer: 0x00007f541ff83840 ***
Aborted (core dumped)"

run without rgb image

Hi, is there any way to run this program without rgb image? I checked the code but did not find any function to fuse just depth map.

(win10 + vs2010) cmake error: "string sub-command REGEX, mode MATCHALL needs at least 5 arguments total to command"

I come across an error as the title says, and the full cmake output is as following:

OpenCV ARCH: x86
OpenCV RUNTIME: vc10
OpenCV STATIC: OFF
Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v6.5 (found suitable exact version "6.5") 
Found OpenCV 2.4.9 in D:/sdk/opencv249/x86/vc10/lib
You might need to add D:\sdk\opencv249\x86\vc10\bin to your PATH to be able to run your applications.
CMake Error at CMakeLists.txt:39 (string):
  string sub-command REGEX, mode MATCHALL needs at least 5 arguments total to
  command.


Number of avx2 occurrences in /proc/cpuinfo: 0
Compiling without AVX2 support
PROJECT_SOURCE_DIR is E:/Github/fastfusion
Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
Did not find qglviewer2, linking qglviewer-qt4
Configuring incomplete, errors occurred!
See also "E:/Github/fastfusion/_build.vc10/CMakeFiles/CMakeOutput.log".
See also "E:/Github/fastfusion/_build.vc10/CMakeFiles/CMakeError.log".

In file CMakeError.log, I find msg like:

CheckSymbolExists.cxx(8): error C2065: 'Q_WS_X11' : undeclared identifier [E:\Github\fastfusion\_build.vc10\CMakeFiles\CMakeTmp\cmTryCompileExec2372179826.vcxproj]

    0 Warning(s)
    1 Error(s)

I've no idea what's the exact error, could someone help me out? Thx in advance~

Window fusion volume black

There aren't error but the window fusion volume is black. It doesn't contain the reconstruction.
Thank you.

schermata 2015-10-29 alle 17 39 00

make error!

hi, i am a newbie. i followed the installtion course to install the fastfusion.when i run make,there were several errors as follows:

[ 10%] Built target geometryfusion_mipmap_cpu
[ 15%] Built target camerautils
[ 40%] Built target auxiliary
[ 80%] Built target geometryfusion_aos
[ 85%] Building CXX object src/CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o
In file included from /home/exbot/fastfusion/src/fusion/treeandbrick.hpp:48:0,
from /home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:15,
from /home/exbot/fastfusion/src/onlinefusionviewer.hpp:14,
from /home/exbot/fastfusion/src/onlinefusionviewer.cpp:8:
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:54:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:85:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:86:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:86:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:87:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:87:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:88:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:88:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
In file included from /home/exbot/fastfusion/src/fusion/treeandbrick.hpp:48:0,
from /home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:15,
from /home/exbot/fastfusion/src/onlinefusionviewer.hpp:14,
from /home/exbot/fastfusion/src/onlinefusionviewer.cpp:8:
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp: In member function ‘void MCNSplit::print() const’:
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:406:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:412:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:418:67: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:427:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:434:67: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:439:52: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
In file included from /home/exbot/fastfusion/src/onlinefusionviewer.hpp:14:0,
from /home/exbot/fastfusion/src/onlinefusionviewer.cpp:8:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameD(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:77:40: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameR(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:82:40: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameG(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:87:40: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameB(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:92:40: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameRGB(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:97:38: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::init()’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:463:55: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘void OnlineFusionViewerManipulated::setScenePosition(CameraInfo)’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:533:20: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:534:20: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::draw()’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:557:35: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::fastDraw()’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:587:35: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In function ‘void fusionWrapper(std::vectorstd::vector<std::basic_string >, std::vectorstd::vector<std::basic_string >, std::vectorstd::vector, FusionParameter, volatile long int_, volatile long int_, volatile bool_, volatile bool_, volatile bool_)’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:981:45: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:981:45: warning: format ‘%li’ expects argument of type ‘long int’, but argument 4 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:981:45: warning: format ‘%li’ expects argument of type ‘long int’, but argument 5 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1041:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1047:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘void OnlineFusionViewerManipulated::updateSlot()’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1173:48: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1173:48: warning: format ‘%li’ expects argument of type ‘long int’, but argument 4 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1217:98: warning: format ‘%li’ expects argument of type ‘long int’, but argument 4 has type ‘std::vectorstd::vector<std::basic_string >::size_type {aka unsigned int}’ [-Wformat]
make[2]: *_* [src/CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
make: *** [all] Error 2

have someone had this problem? i need help! thank you very much !
ubuntu 12.04 and i had installed libQGLViewer-2.5.3.

GTK+ 2 & GTK 3 mix error

There is an error under Ubuntu 14.04 64-bit:

Creating Viewer
(onlinefusion:25209): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Trace/breakpoint trap

Could you please clarify - is it possible to use the application under Ubuntu 14.04?

Best regards,
Vitaly

Build error.

cmake says:
Did not find qglviewer2, linking qglviewer-qt4

While libqglviewer-qt4-2, libqglviewer-qt4-dev are installed.
During the build the following error occurs:

./fastfusion-master/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::init()’:
./fastfusion-master/src/onlinefusionviewer.cpp:463:55: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
./fastfusion-master/src/onlinefusionviewer.cpp: In member function ‘void OnlineFusionViewerManipulated::setScenePosition(CameraInfo)’:
./fastfusion-master/src/onlinefusionviewer.cpp:533:20: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
./fastfusion-master/src/onlinefusionviewer.cpp:534:20: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
./fastfusion-master/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::draw()’:
./fastfusion-master/src/onlinefusionviewer.cpp:555:35: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
./fastfusion-master/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::fastDraw()’:
./fastfusion-master/src/onlinefusionviewer.cpp:585:35: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
make[2]: *** [src/CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
make: *** [all] Error 2

CMake Error at CMakeLists.txt:27 (list): list index: 1 out of range (-1, 0)

jensen@jensen-ThinkPad-T480:~/fastfusion-master/build$ cmake ..
CMake Error at CMakeLists.txt:27 (list):
list index: 1 out of range (-1, 0)

-- GCC Major Version is 7
-- GCC Major Version is
-- Number of avx2 occurrences in /proc/cpuinfo: 8
-- Compiling with AVX2 support
-- PROJECT_SOURCE_DIR is /home/fcl/fastfusion-master
-- Found qglviewer2, linking QGLViewer
-- Configuring incomplete, errors occurred!
See also "/home/jensen/fastfusion-master/build/CMakeFiles/CMakeOutput.log".
See also "/home/jensen/fastfusion-master/build/CMakeFiles/CMakeError.log".

Has anyone encountered the same problem as me?

Running this online

Are there any pointers to run this code for online volumetric reconstruction? For example receive rgb and depth images from kinect sensor and build the dense map online.

BOOST_JOIN failed

Hi does anyone know how to deal with the following installation problem?

When I run the 'make', it got the BOOST error. My desktop is Ubuntu 14.04 with Boost 1.58.0, cmake 3.5.1, and qt 4.8.7. Any advise would be appreciated.

[ 24%] Built target auxiliary
[ 36%] Built target geometryfusion_mipmap_cpu
[ 72%] Built target geometryfusion_aos
[ 80%] Built target camerautils
[ 84%] Generating moc_onlinefusionviewer.cxx
usr/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN"
src/CMakeFiles/onlinefusion.dir/build.make:62: recipe for target 'src/moc_onlinefusionviewer.cxx' failed
make[2]: *** [src/moc_onlinefusionviewer.cxx] Error 1
CMakeFiles/Makefile2:96: recipe for target 'src/CMakeFiles/onlinefusion.dir/all' failed
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Compiling error : cannot find -lqglviewer-qt4

I have install libqglviewer-dev libqglviewer-dev-qt4 libqglviewer-doc
but still not work
could you recommand a library package for me?

The error list is as follow:
[ 36%] Built target geometryfusion_aos
[ 44%] Built target camerautils
[ 68%] Built target auxiliary
[ 80%] Built target geometryfusion_mipmap_cpu
[ 84%] Linking CXX executable ../bin/onlinefusion
/usr/bin/ld: cannot find -lqglviewer-qt4
collect2: error: ld returned 1 exit status
src/CMakeFiles/onlinefusion.dir/build.make:174: recipe for target 'bin/onlinefusion' failed
make[2]: *** [bin/onlinefusion] Error 1
CMakeFiles/Makefile2:96: recipe for target 'src/CMakeFiles/onlinefusion.dir/all' failed
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Error at make step

Hi,
I am getting the following error while running make-
....
[ 84%] Generating moc_onlinefusionviewer.cxx
Scanning dependencies of target onlinefusion
[ 88%] Building CXX object src/CMakeFiles/onlinefusion.dir/onlinefusionviewer_main.cpp.o
In file included from /usr/local/include/QGLViewer/vec.h:32:0,
from /usr/local/include/QGLViewer/quaternion.h:26,
from /usr/local/include/QGLViewer/keyFrameInterpolator.h:29,
from /usr/local/include/QGLViewer/camera.h:27,
from /usr/local/include/QGLViewer/qglviewer.h:26,
from /home/initial/fastfusion/src/onlinefusionviewer.hpp:11,
from /home/initial/fastfusion/src/onlinefusionviewer_main.cpp:29:
/usr/local/include/QGLViewer/config.h:43:34: error: too many decimal points in number
: Use a version prior to 2.7.0 to remove this constraint
^
/usr/local/include/QGLViewer/config.h:80:25: fatal error: QOpenGLWidget: No such file or directory
compilation terminated.
src/CMakeFiles/onlinefusion.dir/build.make:67: recipe for target 'src/CMakeFiles/onlinefusion.dir/onlinefusionviewer_main.cpp.o' failed
make[2]: *** [src/CMakeFiles/onlinefusion.dir/onlinefusionviewer_main.cpp.o] Error 1
CMakeFiles/Makefile2:128: recipe for target 'src/CMakeFiles/onlinefusion.dir/all' failed
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Does anyone know how to resolve it?
Thanks in advance

How to deal with outliers?

Hi Frank and others,

the "fastfusion" project is awesome! Thank you very much for sharing.
How do you deal with outliers, e.g. sparse point measurements away from an object? I am looking for a solution to be used with stereo cameras, which are not as precise as the pattern systems aka. Kinect.

Is there a process reducing the "occupancy probability" of a node (=Brick, or Voxel) if no measurements are put into it after some time?

Thanks again!

CUDA support

I see commented out cuda includes in the Makefiles. Does that mean CUDA support is possible? Is the CUDA support functional?

/bin/onlinefusion only works once

/bin/onlinefusion only worked once after running make. At that time, it correctly displayed the map generated from the RGBD dataset. Since then, nothing is displayed in the viewer anymore (there are no errors shown in the terminal).

Saving the 3D Model

Hi @franksteinbruecker @christiankerl ,
Great work with the project, though I am 3 years behind you guys.I could be technically wrong since I just have a gist of how algorithm works. I just wanted to ask, how to finally save the 3d model onto the disk. I am really not sure if QGLViewer is capable to do that, since it is used directly to view 3D scenes but not saving the scene(correct me if I am wrong). May be saving the complete octree?
Thanks in advance.

error in make phase

when i try to run make cmd in Ubuntu 16.04,the following errors are shown. I do not know why this happen. My OpenCV version is 3.4.8
/home/ubuntu/fastfusion/src/auxiliary/plywriter.cpp: In function ‘bool writePLYBinary(const string&, const cv::Mat&, cv::Mat, const cv::Mat&, const cv::Mat&)’:
/home/ubuntu/fastfusion/src/auxiliary/plywriter.cpp:172:63: error: ‘type’ is not a member of ‘cv::DataType<cv::Vec<float, 3> >’
cv::Mat _posImage(disparityImage.rows,disparityImage.cols,cv::DataType<cv::
^
/home/ubuntu/fastfusion/src/auxiliary/plywriter.cpp: In function ‘bool writePLY(const string&, const cv::Mat&, cv::Mat, const cv::Mat&, const cv::Mat&)’:
/home/ubuntu/fastfusion/src/auxiliary/plywriter.cpp:380:63: error: ‘type’ is not a member of ‘cv::DataType<cv::Vec<float, 3> >’

Segmentation Error when doing the image preprocessing

Hi all,

I am using your code with a different data set in which the depth images are in 16bit without any scaling. I tried to use the addMap function that receives the image already pre processed and the rgb image as a slpit. This will always create a segmentation error. I also tried to add the #define PREPROCESS_IMAGES in the onlinefusionviewer.cpp and use the test data set in the example and also gives segmentation error in the same place. I will try to overcome this by scaling my images and using the other addMap function that works correctly, but it would be nice if this error was corrected.

Best Regards,
Pablo Aponte

opencv2 dependencies (?)

Greeting. I'm trying to build fast fusion on a host with ROS kinetic installed. The instructions seem pretty straightforward, however I ran into what looks like an opencv (v2 vs v3) mismatch that I could use a few pointers on to resolve

following the readme:

cmake .

rosuser@rosvm:~/Documents/Git/fork/fastfusion$ cmake .
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /opt/ros/kinetic (found version "3.2.0") 
-- GCC Major Version is 5
-- GCC Major Version is 4
-- Number of avx2 occurrences in /proc/cpuinfo: 0
-- Compiling without AVX2 support
-- PROJECT_SOURCE_DIR is /home/rosuser/Documents/Git/fork/fastfusion
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
-- Did not find qglviewer2, linking qglviewer-qt4
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake (found version "4.8.7") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rosuser/Documents/Git/fork/fastfusion

and then make

rosuser@rosvm:~/Documents/Git/fork/fastfusion$ make
Scanning dependencies of target geometryfusion_aos
[  4%] Building CXX object src/fusion/CMakeFiles/geometryfusion_aos.dir/geometryfusion_aos.cpp.o
In file included from /home/rosuser/Documents/Git/fork/fastfusion/src/fusion/geometryfusion_aos.cpp:8:0:
/home/rosuser/Documents/Git/fork/fastfusion/src/fusion/geometryfusion_aos.hpp:13:30: fatal error: opencv2/opencv.hpp: No such file or directory
compilation terminated.
src/fusion/CMakeFiles/geometryfusion_aos.dir/build.make:62: recipe for target 'src/fusion/CMakeFiles/geometryfusion_aos.dir/geometryfusion_aos.cpp.o' failed
make[2]: *** [src/fusion/CMakeFiles/geometryfusion_aos.dir/geometryfusion_aos.cpp.o] Error 1
CMakeFiles/Makefile2:300: recipe for target 'src/fusion/CMakeFiles/geometryfusion_aos.dir/all' failed
make[1]: *** [src/fusion/CMakeFiles/geometryfusion_aos.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Looking online for this error, it appears to be fairly common when the host has a newer version of opencv. my search also revealed that it's non-trivial to install both versions alongside each other without breaking lots of stuff.

Is there a path here to either updating fast fusion to work out of the box with a newer version of opencv or guidance on how to satisfy the requirements withouth breaking a hosts other opencv dependencies?

I can help update the readme so that other running ros can be aware of a solution.

Error make

This is the error during make:

[ 90%] Building CXX object src/CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o
Linking CXX executable ../bin/onlinefusion
CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o: nella funzione "OnlineFusionViewerManipulated::init()":
onlinefusionviewer.cpp:(.text+0x533): riferimento non definito a "qglviewer::Camera::setPosition(qglviewer::Vec const&)"
onlinefusionviewer.cpp:(.text+0x571): riferimento non definito a "qglviewer::Camera::setFieldOfView(double)"
CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o: nella funzione "OnlineFusionViewerManipulated::fastDraw()":
onlinefusionviewer.cpp:(.text+0x909): riferimento non definito a "QGLViewer::drawAxis(double)"
CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o: nella funzione "OnlineFusionViewerManipulated::setScenePosition(CameraInfo)":
onlinefusionviewer.cpp:(.text+0x299a): riferimento non definito a "qglviewer::Frame::setPosition(double, double, double)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o: nella funzione "QGLViewer::setSceneRadius(double)":
moc_onlinefusionviewer.cxx:(.text._ZN9QGLViewer14setSceneRadiusEd[_ZN9QGLViewer14setSceneRadiusEd]+0x5): riferimento non definito a "qglviewer::Camera::setSceneRadius(double)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[ZTV29OnlineFusionViewerManipulated]+0xd0): riferimento non definito a "QGLViewer::keyReleaseEvent(QKeyEvent)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x230): riferimento non definito a "QGLViewer::drawLight(unsigned int, double) const"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x2e8): riferimento non definito a "QGLViewer::setKeyFrameKey(unsigned int, int)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x2f0): riferimento non definito a "QGLViewer::setPlayKeyFramePathStateKey(unsigned int)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x2f8): riferimento non definito a "QGLViewer::setPlayPathStateKey(unsigned int)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x300): riferimento non definito a "QGLViewer::setAddKeyFrameStateKey(unsigned int)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[ZTV29OnlineFusionViewerManipulated]+0x308): riferimento non definito a "QGLViewer::setPathKey(int, unsigned int)"
collect2: error: ld returned 1 exit status
make[2]: *
* [bin/onlinefusion] Errore 1
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Errore 2
make: *** [all] Errore 2

Thank you for your attention.

How accurate is the algorithm?

Hi,
Great work with the project. I was trying out the code and it worked perfectly fine. However I was wondering about the accuracy of the algorithm. I mean compared real measurements, how precise is the algorithm? Does everything depends on how accurate the depth maps and poses are?
Thanks in advance.

Regards
Abhay

_meshCells.size() == 0

I ported fastfusion to Windows 8.1, and tried to run it with rgbd_dataset_freiburg2_large_with_loop

but a exception occurred in void FusionMipmapCPU::pushMeshCellQueue()
relative code is

 for (LeafNeighborhood::iterator j = _meshCellIndicesLeaf[leaf].begin(); j != _meshCellIndicesLeaf[leaf].end(); j++){
    if ((*j) >= _meshCells.size()) 
    fprintf(stderr, "\nERROR: Leaf Queue Index %li >= _meshCells.size() of %li",*j, _meshCells.size());
if (!(*_meshCellIsQueuedNext)[*j]){
    if (*j >= MAXCELLINDEX){
        fprintf(stderr, "\nERROR: Wrong Index at Leaf %i: ", leaf);
        for (LeafNeighborhood::iterator k = _meshCellIndicesLeaf[leaf].begin(); k != _meshCellIndicesLeaf[leaf].end(); k++){
            fprintf(stderr, " %li", *k);
        }
    }
 /*....and so on*/

i put a breakpoint at if(!(*_meshCellIsQueuedNext)[*j]) and notice that *j==862 while _meshCellIsQueuedNext.size() == 0 and _meshCells.size() == 0.

I couldn't find any _meshCells.push_back() in this geometryfusion_mipmap_cpu.cpp

Error compilation

I show my error of compilation:

michele@michele-VirtualBox:~/fastfusion$ make
[ 5%] Building CXX object src/fusion/CMakeFiles/geometryfusion_mipmap_cpu.dir/geometryfusion_mipmap_cpu.cpp.o
In file included from /home/michele/fastfusion/src/fusion/geometryfusion_mipmap_cpu.cpp:14:0:
/home/michele/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:19:28: fatal error: boost/thread.hpp: File o directory non esistente
#include <boost/thread.hpp>
^
compilation terminated.
make[2]: *** [src/fusion/CMakeFiles/geometryfusion_mipmap_cpu.dir/geometryfusion_mipmap_cpu.cpp.o] Errore 1
make[1]: *** [src/fusion/CMakeFiles/geometryfusion_mipmap_cpu.dir/all] Errore 2
make: *** [all] Errore 2

Thank you for your attention.

Running on my own dataset

Hi,
First of all Great work. It really helped me to understand things about fusion and 3D reconstruction. It was running very well on TUM-Dataset, then I tried running on my own data set. Data is not very accurate but it is good enough to give decent results.
Unfortunately it is not working, it gives me the error "Erroneous Bounding Box of first frame: [1000000 1000000 1000000]-[-1000000 -1000000 -1000000]U[Q:0]" . I looked up in the code and understood how its working but still I was not able to rectify it.
Can someone please tell me what all things needed to be taken care of while running the program on personal dataset. Had someone tried it?

Thanks in Advance

Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

Hi,
I am using fastfusion on Ubuntu 16.04, and when i run fastfusion after building, I get the following error:

Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

I cannot delete either of the two because both are needed by basic OS applications.
Is fastfusion direcly importing GTK libraries, or could it be OpenCV importing symbols from both GTK versions?
Any hints how I can get pass it will be greatly appreciated.

Thanks.

Error at cmake . step

I am getting the following error when I run cmake . command-

-- OpenCV ARCH:
-- OpenCV RUNTIME:
-- OpenCV STATIC: ON
CMake Warning at /home/aryastark/opencv-3.1.0/cmake/OpenCVConfig.cmake:166 (message):
Found OpenCV Windows Pack but it has no binaries compatible with your
configuration.

You should manually point CMake variable OpenCV_DIR to your build of OpenCV
library.
Call Stack (most recent call first):
CMakeLists.txt:11 (find_package)

CMake Error at CMakeLists.txt:11 (find_package):
Found package configuration file:

/home/aryastark/opencv-3.1.0/cmake/OpenCVConfig.cmake

but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.

-- Configuring incomplete, errors occurred!
See also "/home/aryastark/fastfusion/CMakeFiles/CMakeOutput.log".

How should I resolve this?

please let know the dependent library

I would to run this code. But I can't find any detail about the dependent library. Such as the version of opencv. Pls let know. That will help me a lot.

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.