3D Body Scanning with D455
Hi everyone. I need to develop the POC for a 3D body scanning application that will run on an Android based single board computer, connected to a RealSense D455 camera.
The camera will be mounted vertically on a fixed support while the person will rotate on a motorized rotating platform. So far I have tested on Ubuntu the Open3D (Python) library for 3D reconstruction from RGB-D data captured by the camera, a file bag of a 360 degree turn (about 60 seconds) 848x480 60fps, but I am not satisfied with the result since the merged 3D point cloud is very noisy even after adjusting the reconstruction settings and acquisition parameters based on RealSense white papers and some suggestions collected on the forums. Also, the computations take hours on my office laptop. How to obtain a complete point cloud that is very accurate using only open source tools?
Thanks to anyone who wants to help me.
Martino
-
Hi Martino Lorusso The RealSense SDK's open-source rs-kinfu C++ / OpenCV tool may meet your requirements. It uses frame fusion to progressively build up a point cloud image with a single camera.
https://github.com/IntelRealSense/librealsense/tree/master/wrappers/opencv/kinfu
Once you are satisfied with the level of detail on the image then it can be exported to a pointcloud .ply file which in turn can be imported into 3D modelling tools such as the open-source MeshLab.
-
Hi MartyG, after a bit of difficulty to build everything needed, I managed to test the rs-kinfu app on my laptop (with Ubuntu 22.04) as you suggested but the real-time point cloud building breaks and resets after a bunch of frames. Also, as I delved deeper into the code I found that the app also uses the GPU to run the Kinect Fusion algorithm, but for my POC I cannot access the GPU on my Android-based board, at least for now. I am taking a look at BoofCV that is written entirely in JAVA (which would be helpful for my project) but using a smartphone's RGB camera for testing, I have not been able to get anything good so far. Furthermore, I wonder if BoofCV and the D455 can be used together on my Android device without too much trouble. Are there any other open source solutions to consider for this case as far as you know? Thanks.
-
Someone managed to use D455 with BoofCV and Android at the link below
In regard to further open source solutions, the 400 Series / Android scanning project Handy3DScanner may be useful.
Please sign in to leave a comment.
Comments
3 comments