PCL KinectFusion opensource binary download

As you may know the amazingly clever people at pointclouds.org haven been working on an opensource implementation of the Kinect Fusion algorithm.

 

The original Microsoft Research implementation:

 

The open source Pointclouds.org PCL implementation:

 

It’s still in development and experimental, and only available as part of their unstable PCL coding libraries.

But out of curiosity I tried compiling the latest code from their svn repository to see it in real life. And I thought I’d provide it here for any non coders that are interested in it.

 

Keep in mind a few things though:

  • I have not coded this, it’s the clever work of the people at pointclouds.org
  • I currently don’t have any plans to integrate this with Brekel Kinect (yet)
  • It may not be very useful at the moment, besides a technology preview
  • As this is CUDA (GPU) accelerated, you NEED an Nvidia graphics card (probably of the 400 or 500 series), with recent drivers
  • You need the very latest OpenNI drivers installed and working (try my 1.4.0.2 auto installer)
  • No guarantees or support from me if it doesn’t work 🙂
Here’s the binaries, simply unpack and run:

Download KinFu

Sunday, December 11th, 2011 Kinect, Ranting

69 Comments to PCL KinectFusion opensource binary download

  • Mike says:

    I want to buy a NVidia graphics card to run this program on my computer. what is the best option? what series…
    Thanks in advance

    • brekel says:

      Keep in mind this is totally unsupported since it’s created and maintained as part of the PCL pointclouds library at pointclouds.org

      This is a fairly old version, I remember running it on a GTX470 card so it’ll probably work on anything from the 400 series and up.

      Btw, nowadays you may also want to look at Skanect and ReconstructMe.

  • Passed says:

    Can we use it for multiple kinects?
    How can we specify which kinect to use?

  • Joe says:

    Could anyone tell me why only the kinfu_app_release.exe works while the debug version gives a very annoying error ‘Application error: The application is unable to start correctly……’. I have installed and compiled every thing in PCL from the trunk with 0 error and after the exe’s are created in the bin folder, only the release versions work but not the debug. Any of you got rid of this error?..

    Thanks

  • Lakshmi says:

    I have Nvidia Geforce 9400M
    and Nvidia Geforce 9600M GT in my laptop, Kinfu is compatible with this.

  • Mason Bogert says:

    Do you have to have OpenNI for can you use the SDK?

  • Kanti says:

    Hi Brekel,

    Did you try to reconstruct any deformable/moveable object (not static object like chair)? By deformable object I mean for example, hand and finger movement.

    Thanks…

  • shri says:

    Hello guys,

    I have struggling build PCL
    to get KinFu working.
    I was finally able to compile PCL in the trunk.
    But I dont see GPU or Kinfu projects.

    Could you any pointers.

    -cheers
    shri

  • Caspar says:

    Thank you 1000x for providing this!
    This tech is looking extremely promising.

    Best regards/ Caspar Forsberg

  • zwsjink says:

    how to compile kinfu? I also get the source code from the trunk folder and find the kinfu folder under gpu. But how to just compile it to see whether it works? Do I need to compile the entire pcl with its dependencies? It seems takes a lot of time to finish the compile of the dependencies. I’m still getting stuck here.

    Any convenient way or shortcut if I only want to compile the kinfu? Thank you.

    • zwsjink says:

      well,I use the installer of the dependencies and follow the tutorials on the official website of PCL. Now I come to the final step. I could see so many (about 120) projects in this solution. Could I only build (under both debug and release mode) the kinfu_app part? Where should the executable locate after I build it?

    • andross says:

      lot of dependencies, but works fine

  • Tamash says:

    I’ved installed the KinFu application and previously installed the required drivers, but when I open the kinfu_app.exe I get : “The procedure entry point XN_LOGGER_RETVAL_CHECKS could not be located in the dynamic link library OpenNI.dll” and other similar dialog boxes like this, but with xnOSGetFileSize64 messagge. The OpenNI samples dont work either yielding with the same issue.
    In device manager I have the following dirvers:

    PrimeSense: Kinect Audio and Kinect Motor
    Prime Sensor: Kinect Camera

    Does anyone know what to do??

  • Yueqi says:

    Hi brekel,
    Do you have the binary for 64bit OS? i just bought a kinect and an Alienware laptop with GTX580 for this. But i cannot run your bin since it is for x86 system. Can you help me? Thanks!

    • Yueqi says:

      Finally i went to the svn website and downloaded all the trunk code of PCL 1.5.0. After reading the instructions from PCL’s official website, i managed to generate the msvc project for 64bit version. In case someone else want to build your own 64bit kinfu_app, you need to download boost, eigen, flann, vtk, qhull from the PCL website. The gtest and other optional 3rd party libs are no use for kinfu, so you do not have to download it. You need to download cuda toolkit, cuda sdk, and the latest driver to make sure you can get the best performance.
      Cheers!

      • Luke says:

        Could you upload that? I can’t find it anywhere and it would save a lot of hassle.

      • Ali says:

        Yueqi, did you install openni? I spent the whole day to install/build pcl 1.5.0 in my 64bit OS win7 alienware using the steps you’ve mentioned and this website http://www.razorvision.tumblr.com, but I was unable to compile with Cmake, I’d appreciate if you can help
        error 1: project files maybe invalid
        CMake Error at apps/modeler/CMakeLists.txt:89 (QT4_WRAP_UI):
        Unknown CMake command “QT4_WRAP_UI”.

        • Ali says:

          I finally got it working, I had many errors while compiling in the debug mode, but got no errors when I change it to release, results are not good though with ~8fps in GTX660M

        • Joe says:

          Hi Ali…..i have faced exactly the same error like yours a lot of times. The problem for this particular error is that you have to set the path for the qmake.exe.

          In the CMake gui, select ‘Ungrounded entries’ then iin ‘QT_EXECUTABLE’ option, set the path to like ‘C:\Qt\4.8.0\bin\qmake.exe’. Then click Configure again.

          Hope it helps you somehow,
          Cheers

  • azer says:

    Hi, i’m interested in Kinfu source code, would you tell me the svn address
    Thank you

  • Dwayne Ellis says:

    I tried it on my new Alienware Aurora which has dual 460’s and it didn’t work. Not really sure why not just thought that i would report back here. Was really, really looking forward to messing around with this! Thanks for the effort though!!!!

    • GVdB says:

      Hello Dwayne,
      Maybe you can post the error log on the pointclouds.org user forum. Sure they can help you. Without any error report, it’s difficult to solve the problem. Kinfu is just “born”, it needs often some patience and efforts to make it run.
      GVdB

      • Dwayne Ellis says:

        The thing is….when i double click the executable it looks like it pops up a dos window really quick then goes away. Is there a set location where i can find the error report?

        • VdB says:

          Hello Dwayne,

          Go to the command prompt under the windows start button en with some old DOS commands like change dir … you get to the dir where the kinfu executable is locateted. Type “Dir” to check the files and if you find the kinfu executable, type “kinfu_app.exe” behind the command prompt (I think thats the name from the executable but I can’t verify for the moment). This will start up the kinfu application and generate the error without closing the command screen.
          GVdB

          • Dwayne Ellis says:

            I’m getting the following error:

            C:\kinfu x86>kinfu_app.exe
            Error: initialization error D:\PCL\cuda\containers\src\initialization.cpp:75

            • VdB says:

              Hello Mr.Ellis,

              This means that your drivers for your nVidia card are not matching with the CUDA runtime version you installed. Anyway, I noticed that you found your way to “ReconstructMe” already that is a lot easier to install and I wonder how you can ran into problems with your high end machines? I hope you can solve one of the problems because the results are worth the trouble!

              GVdB

  • Blooper says:

    Hi there. I went out and spent about $244 on a kinect.
    Now I’m also getting this error:

    Error: Init failed: Can’t create any node of the requested type!
    D:\PCL\cuda\kinfu\tools\capture.cpp:121

    Any assistance would be greatly appreciated.

    • Blooper says:

      PS.. I’m running a GeForce GTX 580

    • brekel says:

      Kinfu is still based on the older OpenNI drivers and probably won’t work with the latest.

      You’ll need to install the “Brekel OpenNI Kinect Auto Installer – Developer Editionv1.4.0.2.exe” which can be found under “Download – Old Versions” on the right column of this site.

      You may also wanna check out Skanect:
      http://manctl.com/products.html

      • Blooper says:

        Thanks for the reply. I did install the 1402 version last night, this was a clean install. I will double check everything again and let you know. 🙂

      • Geka says:

        Hi. I have same problem. i had install openNI 1402. But i have same error.
        Error: Init failed: Can’t create any node of the requested type!
        D:\PCL\cuda\kinfu\tools\capture.cpp:121

  • Blooper says:

    Super thanks for this I’m going to buy a kinect just to test this out!!

  • newemla says:

    Awesome! many thanks! It seems to work good on a laptop with nvidia GTX 560M.

  • Marc says:

    Thank you for this binary

  • cheind says:

    At PROFACTOR we’ve been working on a similar system implemented in OpenCL, thus cross-hardware compatible.

    You might want to check out our videos at

    http://cheind.wordpress.com/2012/01/19/reconstructme-first-official-videos-online/

    Best,
    Christoph

  • Chris says:

    I’m going to buy a new graphics card just for this…
    Any recommendations for a compatible model?

    • Chris says:

      Duh… Sorry for double post – I didn’t realise posts went up to the top here. In the future I hope to learn to edit or delete redundant posts…

  • Chris says:

    This looks great!
    I’m going to buy a new graphics card just for this –
    Any recomemndations for a good, compatible card?

    • brekel says:

      To be honest I’m not sure how useful and productive it is currently, more a tech preview with not too many features.
      It should work with an Nvidia 4xx or 5xx series card, I’ve tried it myself on a 470 and a 560.

    • GVdB says:

      Hi Chris,

      In the beginning, the GTX470 was sufficient, but as a lot of features are already added (as RGB), even the GTX560_Ti doesn’t do the job at 30f/s anymore. Meanwhile people are looking for capturing the frames and processing them not in real time. This would avoid the necessity of the high end and very expensive card.
      GVdB

  • Ben says:

    Does anyone know what the hot keys mean??? I figured out that you needed to “T” before “P” would export a .ply but what are M,S,B,C,and N for????

    • VdB says:

      T switches to PLY save and has to be pressed again right before saving the PLY (=pressing P). N is for showing the normals in the visualisation window. C is for resetting the point cloud=empty voxel grid. B is for saving a binary pointcloud *.pcd, S is for saving the pointcloud in ASCII format *.pcd, (forgot about M). This is for the binary Mr. Brekel build. As KinFu is modified almost every day in the trunc, these commands are not the same anymore in case you would do today a compilation from the trunc.

      Regards,

      Geert

      • Ben says:

        thank you, this is very helpful. Especially the press “T” a second time bit. Couldn’t understand why it would dump so much of my scan.

  • kahwatikid says:

    Oooh…so excited….and then this happened…wah wahhhhh 🙁

    Device 0: “GeForce GTX 480” 1536Mb, sm_20, 480 cores, Driver/Runtime ver.4.10
    /4.0
    Error: Init failed: Can’t create any node of the requested type!
    D:\PCL\cuda\kinfu\tools\capture.cpp:121

    any thoughts?

    • kahwatikid says:

      ahh…nm…the direct auto installer didn’t work(fresh install) for me, so the primesense drivers weren’t even installing. I followed your manual method…and it worked just fine.

      KinFu….F’in Fun!

      when compiling, was there an option to be able to save out another file format other than the .pcd? Not sure what app can read .pcd

      Thanks for doing this!

      • kahwatikid says:

        ha..nm figured it out.

        Though, is there a way to output the meshed data? or just the point cloud? (unless I’m missing something again?)

        • brekel says:

          I’m not one of the code contributors, I just compiled it so some more people can check it out.
          And it still is all under heavy development so things will change in the future.

        • VdB says:

          I think KinFu doesn’t detect the kinect.
          You probably need to install sensorkinect which, I think, is not included in Mr. Brekel his auto installer. Also be aware of the installation sequence for OpenNi, Sensorkinect and Nite as indicated by Mr. Burrus and Mr. Tisserand from Manctl and the versions.

          • brekel says:

            Sensorkinect is part of the auto installer.

            I’m not sure if KinFu still works with the latest drivers, you may need to try to roll back the drivers with the 1.4.0.2 auto installer.

            You could run the 1.5.2.7 auto installer and just tick the “Cleanup” box, then run the 1.4.0.2 installer to download & install the older drivers.

            If you want the latest drivers, simply run 1.5.2.7 again with all options checked.

            • VdB says:

              Hello Mr. Brekel,

              We got the same error in december and we had to install the sensorkinect after Openni and before Nite. We also got the error about the D:drive but everything works fine now. This was solved by installing the NITE version Mr. burrus used in his RGBDemo6.1. We tried to compile the trunc ourselves to be able to change the setting from Voxel grid and depth of depth view but we can’t make ik work. Can I ask you whether you compiled it with Visual Studio 2010 Express on Windows7 for 323bit appl or with the professional VS2010? We would like to bild the x64 application if possible.

              Thanks,
              Geert

              Geert

            • VdB says:

              Hello Mr. Brekel,

              FYI, we just installed your auto-installer again on another machine Windows7_x64 this time instead of the previous WinXP_x64 and again, it skipped the sensorkinect installation. After installing the sensorKinect en Nite again, it works fine. Trying to run 2 KinFu apps to check the interferrence of the IR. Can you inform us about the way you build and compiled the KinFu app? Thanks.

              Geert

        • VdB says:

          It’s just point cloid in PCD or PLY. To make a pointcloud with the KinFu app (press P after 2xT, 1st time to go to PLY format when saving before starting with scanning the stuff you want to scan, second time right before you press P to save the point cloud (make sure the KinFu app didn’t reset right before you press T because you will caputure a small point cloud in that case). The ply will be saved under the Kinfu dir from the application and has a standard name cloud.ply. Move it or rename it to avoid overwriting. To make the mesh download meshlab,load the PLY you saved. Use [Filters],[Remeshing, simplification and reconstruction] and then use [surface reconstruction]. Depending on the type of body you scanned, there are several possibilities, we use ball_pivoting. Change settings depending on the point cloud density.
          Regards,

          Geert

    • brekel says:

      It could be that you have different OpenNI drivers installed than KinFu expects. You may want to try running the newest (or the one before that) auto driver installer from my download page.

  • You’re a hard guy to get a hold of! Any chance we could have an email discussion? I have a proposition you may be interested in. It relates to this – http://shop.oreilly.com/product/0636920022657.do

  • Colin says:

    Dang, it didn’t work for me. I updated my Nvidia graphics Driver and used the ‘Auto Installer’. Plus Brekel Kinect works fine. Well, it was worth a try.

    It said “Error: invalid device function D:/PCL/cuda/kinfu/src/cuda/tsdf_volume.cu:67”

    …and I don’t even have a D Drive.

    Did this binary work for anyone else??

  • feeling says:

    Very cool.

  • Leave a Reply