Bug fix and evaluation request: KinFuLS remake‏

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

Bug fix and evaluation request: KinFuLS remake‏

Sahloul
This post was updated on .
Dear PCL Developers,

I am not sure if there is any KinectFusion large-scale remake existing by now, but judging by this post, I guess there is not yet!
To this extent, I have received approval from one author (see below), and I pushed a testing code here:
https://github.com/Sahloul/kinfu_remake

The current implementation works to some extent, but I still believe it could be much more improved.

Currently, I am disabling the rolling update in CyclicalBuffer class, which is obviously incorrect.
//buffer_.tsdf_rolling_buff_origin = buffer_.tsdf_memory_start + (buffer_.voxels_size.y * (buffer_.origin_GRID.z) + (buffer_.origin_GRID.y)) * buffer_.voxels_size.x + buffer_.origin_GRID.x;

and I do not find the address subtraction in shift_tsdf_pointer of any use
//if (*value > buffer.tsdf_memory_end) *value -= (buffer.tsdf_memory_end - buffer.tsdf_memory_start + 1);


I hope we could improve the current code to fix the glitch in it, and ultimately ask Mr. Anatoly Baksheev for a merge once we are satisfied with performance and results.

Sincerely,
Hamdi Sahloul

================================
サホロール.ハムディ Hamdi SAHLOUL
〒277-8568 千葉県柏市柏の葉5-1-5
東京大学柏キャンパス総合研究棟
人工物工学研究センター(人工物と人との相互作用研究部門)
太田研究室 修士2年
TEL: 04-7136-4276(内線64276)
E-mail: sahloul@race.u-tokyo.ac.jp

> Date: Sun, 8 Nov 2015 12:12:58 +0100
> Subject: Re: KinFuLS remake
> From: raphael.favier@gmail.com
> To: sahloul@race.u-tokyo.ac.jp
> CC: f.j.heredia.soriano@tue.nl
>
> Hello Hamdi,
> It is nice to see that people are working on that code. Speaking for myself I don't consider this code to belong to us so your are more than welcome to push any improvements or patch you come up with.
> You should get in touch with people maintaining the library by posting a message on www.pcl-developers.org so you can get your code reviewed and tested.
> Thanks for your efforts.
> Raphael
> > On Nov 8, 2015 10:34 AM, "Hamdi Sahloul(太田研)" <sahloul@race.u-tokyo.ac.jp> wrote:
> > Dear Mr. Francisco Heredia,
> > Dear Mr. Raphael Favier,
> >
> > I am sending my greetings as I would like to ask for your approval to push a large-scale patch to the KinFu remake (https://github.com/Nerei/kinfu_remake) made by Mr. Anatoly Baksheev.
> >
> > I am working on a private code imported from your PCL implementation, and it is almost there. But before taking it public, I would like to receive your permission.
> > Further, I would really appreciate it if you could give it a try, and possibly fix a small glitch in the shifted volume. I have not figured out yet where is the bug.
> >
> > Regards,
> > Hamdi Sahloul
> >
> >
> > ================================
> > サホロール.ハムディ Hamdi SAHLOUL
> > 〒277-8568 千葉県柏市柏の葉5-1-5
> > 東京大学柏キャンパス総合研究棟
> > 人工物工学研究センター(人工物と人との相互作用研究部門)
> > 太田研究室 修士2年
> > TEL: 04-7136-4276(内線64276)
> > E-mail: sahloul@race.u-tokyo.ac.jp
Reply | Threaded
Open this post in threaded view
|

Re: Evaluation request: KinFuLS remake‏

Thomas Wiemann
Dear Hamdi,

we implemented a new Kinfu Large Scale version that fixes these issues based on the remake code. More specifically, the volume shifting works properly and the topology of the generated meshes is consistent, i.e., no duplicate vertices and faces etc. The code is integrated in our reconstruction framework. You can find the current version at GitHub: https://github.com/lasvegasrc/Las-Vegas-Reconstruction The software has several interfaces to PCL, so you should be able to use both libraries. If you need details about or implementation, we have presented the method on this year’s ECMR[1]. Don’t hesitate to contact if you have any questions.

Regards,
Thomas
-------------------------------------------------------------------------------
Dr. Thomas Wiemann
Universität Osnabrück
Fachbereich Mathematik / Informatik
Institut für Informatik / AG Wissensbasierte Systeme
Albrechtstr. 28, D-49076 Osnabrück
Tel.: +49 541 969 2438 / Fax: +49 541 969 2799

[1] T. Igelbrink, T. Wiemann and Joachim Hertzberg. Generating Topologically Consistent Triangle Meshes from Large Scale Kinect Fusion. Proc. 7th European Conference on Mobile Robotics, IEEE, 2015, (to appear)

Am 17.11.2015 um 08:16 schrieb Hamdi Sahloul <[hidden email]>:

Dear PCL Developers, 

I am not sure if there is any KinectFusion large-scale remake existing by now, but judging by this post, I guess there is not yet! 
To this extent, I have received approval from one author (see below), and I pushed a testing code here: 

The current implementation works to some extent, but I still believe it could be much more improved. 

Currently, I am disabling the rolling update in CyclicalBuffer class, which is obviously incorrect. 
//buffer_.tsdf_rolling_buff_origin = buffer_.tsdf_memory_start + (buffer_.voxels_size.y * (buffer_.origin_GRID.z) + (buffer_.origin_GRID.y)) * buffer_.voxels_size.x + buffer_.origin_GRID.x;

and I do not find the address subtraction in shift_tsdf_pointer of any use 
//if (*value > buffer.tsdf_memory_end) *value -= (buffer.tsdf_memory_end - buffer.tsdf_memory_start + 1);


I hope we could evaluate and improve the current code, and ultimately ask Mr. Anatoly Baksheev for a merge once we are satisfied with performance and results. 

Sincerely, 
Hamdi Sahloul 

================================ 
サホロール.ハムディ Hamdi SAHLOUL 
〒277-8568 千葉県柏市柏の葉5-1-5 
東京大学柏キャンパス総合研究棟 
人工物工学研究センター(人工物と人との相互作用研究部門) 
太田研究室 修士2年 
TEL: 04-7136-4276(内線64276) 
E-mail: [hidden email] 

> Date: Sun, 8 Nov 2015 12:12:58 +0100 
> Subject: Re: KinFuLS remake 
> From: [hidden email] 
> Hello Hamdi, 
> It is nice to see that people are working on that code. Speaking for myself I don't consider this code to belong to us so your are more than welcome to push any improvements or patch you come up with. 
> You should get in touch with people maintaining the library by posting a message on www.pcl-developers.org so you can get your code reviewed and tested. 
> Thanks for your efforts. 
> Raphael 
> > On Nov 8, 2015 10:34 AM, "Hamdi Sahloul(太田研)" <[hidden email]> wrote: 
> > Dear Mr. Francisco Heredia, 
> > Dear Mr. Raphael Favier, 
> > 
> > I am sending my greetings as I would like to ask for your approval to push a large-scale patch to the KinFu remake (https://github.com/Nerei/kinfu_remake) made by Mr. Anatoly Baksheev. 
> > 
> > I am working on a private code imported from your PCL implementation, and it is almost there. But before taking it public, I would like to receive your permission. 
> > Further, I would really appreciate it if you could give it a try, and possibly fix a small glitch in the shifted volume. I have not figured out yet where is the bug. 
> > 
> > Regards, 
> > Hamdi Sahloul 
> > 
> > 
> > ================================ 
> > サホロール.ハムディ Hamdi SAHLOUL 
> > 〒277-8568 千葉県柏市柏の葉5-1-5 
> > 東京大学柏キャンパス総合研究棟 
> > 人工物工学研究センター(人工物と人との相互作用研究部門) 
> > 太田研究室 修士2年 
> > TEL: 04-7136-4276(内線64276) 
> > E-mail: [hidden email]
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org


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

Re: Evaluation request: KinFuLS remake‏

Sahloul
Dear Thomas,

I am really amazed by your smart and professional implementation. Congratulations on that!
I was able to run the KinFu module under Windows when I disabled the createMeshSlice functionality. Which is unfortunately deeply coupled with your Las Vegas code.

I have two questions regarding your implementation.

First, I wonder why createMeshSlice is so complicated. Perhaps just to provide the functionality you mentioned in your previous post. Is that so?

Second, if my understanding is correct, MaCuWrapper::createMeshSlice works as WorldModel<PointT>::addSlice in the original implementation.
If so, what about the functionality of TsdfVolume::pushSlice? Have you implemented it?

Thanks in advance,
Hamdi


================================
サホロール.ハムディ Hamdi SAHLOUL
〒277-8568 千葉県柏市柏の葉5-1-5
東京大学柏キャンパス総合研究棟
人工物工学研究センター(人工物と人との相互作用研究部門)
太田研究室 修士2年
TEL: 04-7136-4276(内線64276)
E-mail: sahloul@race.u-tokyo.ac.jp

Thomas Wiemann wrote
Dear Hamdi,

we implemented a new Kinfu Large Scale version that fixes these issues based on the remake code. More specifically, the volume shifting works properly and the topology of the generated meshes is consistent, i.e., no duplicate vertices and faces etc. The code is integrated in our reconstruction framework. You can find the current version at GitHub: https://github.com/lasvegasrc/Las-Vegas-Reconstruction The software has several interfaces to PCL, so you should be able to use both libraries. If you need details about or implementation, we have presented the method on this year’s ECMR[1]. Don’t hesitate to contact if you have any questions.

Regards,
Thomas
-------------------------------------------------------------------------------
Dr. Thomas Wiemann
Universität Osnabrück
Fachbereich Mathematik / Informatik
Institut für Informatik / AG Wissensbasierte Systeme
Albrechtstr. 28, D-49076 Osnabrück
Tel.: +49 541 969 2438 / Fax: +49 541 969 2799

[1] T. Igelbrink, T. Wiemann and Joachim Hertzberg. Generating Topologically Consistent Triangle Meshes from Large Scale Kinect Fusion. Proc. 7th European Conference on Mobile Robotics, IEEE, 2015, (to appear)
Reply | Threaded
Open this post in threaded view
|

Re: Evaluation request: KinFuLS remake‏

Thomas Wiemann
Dear Hamdi,

thanks for the appreciation! The LVR dependencies are in the code because we wanted to re-use our meshing module to create topologically consistent triangle meshes, i.e., without duplicate vertices and overlapping faces. Therefore we defined a TSDF-Interface that can handle Kinfu-Implementiations as well as other approaches like Hoppe’s signed distance function for unorganized point clouds etc. as a front end to work with our mesh optimization pipeline. Another reason why createMeshSlice become quite complicated is due to the fact that we try to detect and correct registration offsets from incorrect pose tracking and handle them when we integratethe slices into the meshes. But basically you are right, addMeshSlice is the analogue implementation in or framework.

I’m not sure about pushSlice, I have to check with the student (Tristan Igenbrink, cc’ed) who implemented this part of the software. I will see him on Monday and discuss that with him. If it may help you, I can try to compile a Windows version of the software. I have an installer ready for Windows 8 and Visual Studio 2013 (without the CUDA-denpendencies) and might be able to integrate the Kinfu-Code. Thats on my to do list anyway...

Regards,
Thomas

Am 28.11.2015 um 16:48 schrieb Sahloul <[hidden email]>:

Dear Thomas,

I am really amazed by your smart and professional implementation.
Congratulations on that!
I was able to run the KinFu module under Windows when I disabled the
createMeshSlice functionality. Which is unfortunately deeply coupled with
your Las Vegas code.

I have two questions regarding your implementation.

First, I wonder why createMeshSlice is so complicated. Perhaps just to
provide the functionality you mentioned in your previous post. Is that so?

Second, if my understanding is correct, MaCuWrapper::createMeshSlice works
as WorldModel<PointT>::addSlice in the original implementation.
If so, what about the functionality of TsdfVolume::pushSlice? Have you
implemented it?

Thanks in advance,
Hamdi


================================
サホロール.ハムディ Hamdi SAHLOUL
〒277-8568 千葉県柏市柏の葉5-1-5
東京大学柏キャンパス総合研究棟
人工物工学研究センター(人工物と人との相互作用研究部門)
太田研究室 修士2年
TEL: 04-7136-4276(内線64276)
E-mail: [hidden email]


Thomas Wiemann wrote
Dear Hamdi,

we implemented a new Kinfu Large Scale version that fixes these issues
based on the remake code. More specifically, the volume shifting works
properly and the topology of the generated meshes is consistent, i.e., no
duplicate vertices and faces etc. The code is integrated in our
reconstruction framework. You can find the current version at GitHub:
https://github.com/lasvegasrc/Las-Vegas-Reconstruction The software has
several interfaces to PCL, so you should be able to use both libraries. If
you need details about or implementation, we have presented the method on
this year’s ECMR[1]. Don’t hesitate to contact if you have any questions.

Regards,
Thomas
-------------------------------------------------------------------------------
Dr. Thomas Wiemann
Universität Osnabrück
Fachbereich Mathematik / Informatik
Institut für Informatik / AG Wissensbasierte Systeme
Albrechtstr. 28, D-49076 Osnabrück
Tel.: +49 541 969 2438 / Fax: +49 541 969 2799

[1] T. Igelbrink, T. Wiemann and Joachim Hertzberg. Generating
Topologically Consistent Triangle Meshes from Large Scale Kinect Fusion.
Proc. 7th European Conference on Mobile Robotics, IEEE, 2015, (to appear)





--
View this message in context: http://www.pcl-developers.org/Bug-fix-and-evaluation-request-KinFuLS-remake-tp5709989p5709995.html
Sent from the Point Cloud Library (PCL) Developers mailing list mailing list archive at Nabble.com.
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org


_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org