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:
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.
サホロール.ハムディ Hamdi SAHLOUL
> Date: Sun, 8 Nov 2015 12:12:58 +0100
> Subject: Re: KinFuLS remake
> From: firstname.lastname@example.org
> To: email@example.com
> CC: firstname.lastname@example.org
> 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.
> > On Nov 8, 2015 10:34 AM, "Hamdi Sahloul(太田研)" <email@example.com> 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: firstname.lastname@example.org
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. Don’t hesitate to contact if you have any questions.
PCL-developers mailing list
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 SAHLOUL
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...
PCL-developers mailing list
|Free forum by Nabble||Edit this page|