KinFu cleaning

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

KinFu cleaning

Antoine Rennuit
Hello Anatoly,

I am about to use KinFu for a robotics application and plan to use it
extensively. When attempting to edit the parameters (resolution, size of the
volume...) I had to go deep in the code and change the same value at
different locations to have the code behave properly.

As this is a bit problematic, it reminded me of this message of yours I have
read a while back, and which discusses about a cleaning of the KinFu code
(including access to the parameters, no longer hard coded). In this
discussion you mentioned that this refactor was planned for PCL 2.0. But as
PCL 2.0 is shelved for the time being, with no clear roadmap to revive it, I
was wondering whether you still had this KinFu refactor code of yours
available, and whether there was any way for users as me to get access to
it...

Thanks a lot,

Antoine.

PS: as a reminder (because this is a rather old discussion) I have copied
your messages below. They are also in the link below

http://www.pcl-developers.org/reorganization-of-kinfu-td5707424.html


----------------------------------------------------------------------------
--------------------------------------------------
Oh. Sorry, I am author of KinFu. But KinfuLS is not mine, it is supported
by Francisco and Raphael. But I don't want to support it. I'd better to
add volume shifting to the kinfu remake.

- Exporting looks not very difficult. If you send me a patch I can
integrate it (of course if Francisco/Raphael approve this).

- Adding possibility to change volume resolution can't be done quickly
without performance drop I guess.

My unfinished prototype of the remake already allows to change any of 22
parameters (no hardcoded parameters at all, even number of pyramid levels
is mutable) which are grouped to KinfuParams structure and which I'm going
to serialize to preset xml-file.

- Agree. But I don't who will fix this.


Best regards,
Anatoly Baksheev

----------------------------------------------------------------------------
--------------------------------------------------

Hi,

What reorganization of KinFu do you want? What functionality do you need
from internal.h?  Can easy do simple reorganization now.

Files <./tools/tsdf_volume.h*> is a Baastian's work. I don't know who is
he and why he disappeared. Many times I was close to delete this, but
probably someone use them.

Also you should kniw that, in PCL 2.0, kinfu will be completely
redesigned.


Best regards,
Anatoly Baksheev
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: KinFu cleaning

martyvona
Hi Antoine -

We work with kinfu for robotics as well.  We recently posted our code here:

http://www.ccs.neu.edu/research/gpc/rxkinfu/index.html

It is a modified version of pcl kinfu with some refactoring and with features added to remap the volume for mobile robot applications.  The page has details with just about everything we changed.  Have a look and let us know if it's useful to you.

Best,
Marty Vona
Reply | Threaded
Open this post in threaded view
|

Re: KinFu cleaning

Antoine Rennuit
Hello Marty,

This is really good news for the community! Thanks a lot.

Depending on how my project goes, I will need to use a large-scale SLAM in a few months, so I will definitely come back to your solution.

Thanks again ;)

Antoine.



> Date: Mon, 10 Feb 2014 08:41:17 -0800

> From: [hidden email]
> To: [hidden email]
> Subject: Re: [PCL-users] KinFu cleaning
>
> Hi Antoine -
>
> We work with kinfu for robotics as well. We recently posted our code here:
>
> http://www.ccs.neu.edu/research/gpc/rxkinfu/index.html
>
> It is a modified version of pcl kinfu with some refactoring and with
> features added to remap the volume for mobile robot applications. The page
> has details with just about everything we changed. Have a look and let us
> know if it's useful to you.
>
> Best,
> Marty Vona
>
>
>
> --
> View this message in context: http://www.pcl-users.org/KinFu-cleaning-tp4031510p4032214.html
> Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: KinFu cleaning

Antoine Rennuit
In reply to this post by Antoine Rennuit
Dear all,

Anatoly (the coder of KinFu) as kindly accepted to provide me with his rewrite of KinFu (he talks about it in one of his old posts). You will find the link in his message below.


Thanks,

Antoine.


Date: Mon, 17 Mar 2014 13:35:56 +0400
Subject: Re: [PCL-users] KinFu cleaning
From: [hidden email]
To: [hidden email]

Hi, 

Here is the code. OpenCV 2.4.9 will be released in 2 weeks, now you can use 2.4 branch from our repository.

Could you also post the link on PCL forum? I have unsubscribed from it.


On Thu, Jan 2, 2014 at 4:04 PM, Antoine Rennuit <[hidden email]> wrote:
Hello Anatoly,

I am about to use KinFu for a robotics application and plan to use it
extensively. When attempting to edit the parameters (resolution, size of the
volume...) I had to go deep in the code and change the same value at
different locations to have the code behave properly.

As this is a bit problematic, it reminded me of this message of yours I have
read a while back, and which discusses about a cleaning of the KinFu code
(including access to the parameters, no longer hard coded). In this
discussion you mentioned that this refactor was planned for PCL 2.0. But as
PCL 2.0 is shelved for the time being, with no clear roadmap to revive it, I
was wondering whether you still had this KinFu refactor code of yours
available, and whether there was any way for users as me to get access to
it...

Thanks a lot,

Antoine.

PS: as a reminder (because this is a rather old discussion) I have copied
your messages below. They are also in the link below

http://www.pcl-developers.org/reorganization-of-kinfu-td5707424.html


----------------------------------------------------------------------------
--------------------------------------------------
Oh. Sorry, I am author of KinFu. But KinfuLS is not mine, it is supported
by Francisco and Raphael. But I don't want to support it. I'd better to
add volume shifting to the kinfu remake.

- Exporting looks not very difficult. If you send me a patch I can
integrate it (of course if Francisco/Raphael approve this).

- Adding possibility to change volume resolution can't be done quickly
without performance drop I guess.

My unfinished prototype of the remake already allows to change any of 22
parameters (no hardcoded parameters at all, even number of pyramid levels
is mutable) which are grouped to KinfuParams structure and which I'm going
to serialize to preset xml-file.

- Agree. But I don't who will fix this.


Best regards,
Anatoly Baksheev

----------------------------------------------------------------------------
--------------------------------------------------

Hi,

What reorganization of KinFu do you want? What functionality do you need
from internal.h?  Can easy do simple reorganization now.

Files <./tools/tsdf_volume.h*> is a Baastian's work. I don't know who is
he and why he disappeared. Many times I was close to delete this, but
probably someone use them.

Also you should kniw that, in PCL 2.0, kinfu will be completely
redesigned.


Best regards,
Anatoly Baksheev
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users



--

Best regards,
    Anatoly Baksheev

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: KinFu cleaning

lionelconvent
Thanks a lot

Reply | Threaded
Open this post in threaded view
|

Re: KinFu cleaning

kwaegel
Administrator
In reply to this post by Antoine Rennuit
Say thanks to Anatoly for me! I just tried it and it's noticeably faster than the version in PCL (~17ms per frame).

If anyone is interested, I have a forked version that works with OpenNI 2 and Visual Studio 2012.

Antoine Rennuit wrote
Dear all,
Anatoly (the coder of KinFu) as kindly accepted to provide me with his rewrite of KinFu (he talks about it in one of his old posts). You will find the link in his message below.
https://github.com/Nerei/kinfu_remake
Thanks,
Antoine.

Date: Mon, 17 Mar 2014 13:35:56 +0400
Subject: Re: [PCL-users] KinFu cleaning
From: [hidden email]
To: [hidden email]

Hi,
Here is the code. OpenCV 2.4.9 will be released in 2 weeks, now you can use 2.4 branch from our repository.https://github.com/Nerei/kinfu_remake


Could you also post the link on PCL forum? I have unsubscribed from it.
Reply | Threaded
Open this post in threaded view
|

Re: KinFu cleaning

VictorLamoine
Administrator
Hey,

I have troubles compiling the cleaned KinFu app; I have CUDA Toolkit 5.5
cmake step doesn't work as it doesn't find CUDA_CUDA_LIBRARY

$ cmake ..
-- OpenNI found (include: /usr/include/openni, lib: /usr/lib/libOpenNI.so)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_CUDA_LIBRARY (ADVANCED)
    linked by target "kfusion" in directory /home/dell/Copy/kinfu_remake/kfusion

-- Configuring incomplete, errors occurred!
See also "/home/dell/Copy/kinfu_remake/build/CMakeFiles/CMakeOutput.log".
I deleted ${CUDA_CUDA_LIBRARY} from kfusion/CMakeLists.txt but the linking is now wrong :

Linking CXX executable ../bin/demo
../lib/libkfusion.a(core.cpp.o): In function `void (anonymous namespace)::getCudaAttribute<int>(int*, CUdevice_attribute_enum, int)':
core.cpp:(.text+0x1080): undefined reference to `cuDeviceGetAttribute'
collect2: ld returned 1 exit status
make[2]: *** [bin/demo] Error 1
make[1]: *** [apps/CMakeFiles/demo.dir/all] Error 2
make: *** [all] Error 2
$ sudo find /usr/ -iname "libcuda.so"                                          
/usr/lib/nvidia-331/libcuda.so
/usr/lib/nvidia-331-updates/libcuda.so
/usr/lib32/nvidia-331/libcuda.so
/usr/lib32/nvidia-331-updates/libcuda.so

$ sudo find /usr/ -iname "libcuda.so" -exec nm -D {} \; | grep "cuDeviceGetAttribute"
00000000001471e0 T cuDeviceGetAttribute
00000000001471e0 T cuDeviceGetAttribute
00083b30 T cuDeviceGetAttribute
00083b30 T cuDeviceGetAttribute
Any idea how to solve this ?

-- Off topic --
Note that if you use the latest versions of OpenCV you have to add an include to get getTickCount / getTickFrequency to work :
#include <opencv2/core/utility.hpp>
It is also described here https://github.com/kwaegel/kinfu_remake/pull/1