The exterior of the scan looks fairly good but for some reason I'm getting meshes inside the outer mesh - like it's making a shell. This is a real problem because it even keeps the Poisson filter in Meshlab from working correctly. Usually the Poisson filter will ignore little holes and complete small areas of missing scan areas (i.e. top of head, under chin, etc.) but with the errant meshes the Poisson filter tries to go inside instead of smoothly bridging the holes. Since the normals on the redundant meshes are flipped,I was able to clean them out somewhat by splitting the mesh in half in Meshmixer, hiding one half and then paint selecting them from the inside. The problem however is that where they are really close to the outside mesh like at a hole for instance, the selection bleeds out onto the outside mesh.
On the attached scan I used the standard 1 cubic meter high res config with the integrate_truncation set to zero. This seemed to work better than anything else I've tried.
Does anyone know what could be causing the redundant meshes? Would it be the zero setting on the integrate_truncation? If it weren't for this one problem this thing would be working just about perfect.
Thanks,
K
Does anyone know what could be causing the redundant meshes? Would it be the zero setting on the integrate_truncation?
The scan is a full size mannequin torso so the mesh is quite thick all over. If you look at the second pic in my post you can see the extent of the redundant mesh - it covers a large portion of the exterior mesh. The pinkish color is the backface of the exterior mesh. If you look close you can see there was also a strange planar surface that got generated somehow kind of at an angle.
I will try this again tomorrow and look at doing the record.
Thanks,
K
Yesterday I was able to set up a simple scan scenario and run a record. Neat feature BTW!
Instead of using the mannequin which was a somewhat time consuming scan, I simply put a pillow in the middle of my sofa and did a 180 degree scan. This can be reproduced easily by anyone that owns a sofa and a pillow. The cloth folds give plenty of irregularities to keep tracking issues to a minimum - these should be clean scans.
Here is the Rapidshare link to a zip file containing the files and configs:
https://rapidshare.com/files/4190824627/reconstructme.zip
The zip file also includes the .obj files for the recorded scan and also the .obj file for the mannequin scan above which was a realtime 360 degree scan.
As MagWeb mentioned, the recorded scan seems to significantly reduce the amount of errant meshes, but as you can see in the attached pic "mesh-recordtest-IT5.jpg", there still remains some second skins in certain places. Setting the IT to different values gave different errant meshes. For example setting it to 10 gave less errors on the sofa part but more mesh debris inside the pillow.
Try running the playback with different IT settings and you will see.
In the atatched pic "paintselect.jpg" which was a realtime scan, you can see that the amount of second skin greatly increases with realtime scanning.
Christoph, to answer your question on the IT override, when using the hires 1m config with the IT set to zero, it plugged in the value 4.297.
Here is the log file from one of those scans:
[2012/07/22 14:35:43.921875][info ] Welcome to ReconstructMe
[2012/07/22 14:35:43.937500][info ] Running 0.6.0-405
[2012/07/22 14:35:43.937500][info ]
[2012/07/22 14:35:43.937500][info ] Licensed for non-commercial purposes only.
[2012/07/22 14:35:43.937500][info ] See 'Non-Commercial License of ReconstructMe.txt'
[2012/07/22 14:35:43.953125][info ]
[2012/07/22 14:35:49.750000][info ] Starting sensor
[2012/07/22 14:35:49.765625][info ] Testing OpenNI driver backend
[2012/07/22 14:35:56.953125][info ] Preparing environment for Device GeForce GT 630
[2012/07/22 14:35:56.968750][debug ] Preparing environment for Device GeForce GT 630
CL_DEVICE_VENDOR NVIDIA Corporation
CL_DEVICE_VERSION OpenCL 1.1 CUDA
CL_DEVICE_PROFILE FULL_PROFILE
CL_DRIVER_VERSION 301.42
CL_DEVICE_AVAILABLE 1
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 32768
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 2
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 128
CL_DEVICE_GLOBAL_MEM_SIZE 4294508544
CL_DEVICE_LOCAL_MEM_SIZE 49152
CL_DEVICE_LOCAL_MEM_TYPE 1
CL_DEVICE_IMAGE_SUPPORT 1
CL_DEVICE_MAX_CLOCK_FREQUENCY 1620
CL_DEVICE_MAX_COMPUTE_UNITS 2
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 65536
CL_DEVICE_MAX_PARAMETER_SIZE 4352
CL_DEVICE_MAX_WORK_GROUP_SIZE 1024
CL_DEVICE_MAX_WORK_ITEM_SIZES [1024, 1024, 64]
CL_DEVICE_EXTENSIONS cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_d3d9_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64
[2012/07/22 14:35:56.968750][info ] Settings successfully loaded from file.
[2012/07/22 14:35:56.968750][info ] Override - Setting integrate_truncation to 4.297
[2012/07/22 14:36:01.484375][info ] Press 'p' to reconstruct/pause recording
[2012/07/22 14:36:01.484375][info ] Press 'r' to reset volume
[2012/07/22 14:36:01.500000][info ] Press 'ESC' to stop recording
[2012/07/22 14:50:38.515625][info ] Content saved as mannequintest2.obj
If Netfabb can repair the mesh I would skip the Poisson filter and go right to Meshmixer to iron out the kinks and then back to Netfabb. The downside with the Poisson filter is that you lose a little detail in the scan.
If you have Rhino, you can use the mesh extract by part command which will separate out any loose errant meshes. Just select the outside scan surface to separate it then copy the resulting selected mesh and move the copy away from the original. Then delete the original mesh. Unfortunately this only works for the unconnected pieces of mesh though. Any second skins that are attached to the scan surface will still remain.
A couple of questions on the record/replay:
Without any video feedback on the scan, is there any way to know if you are off track, or does the replay automatically fix that?
Also, is it necessary to load the config settings on the record or just with replay?
Thanks everyone,
K
This image was based on four repeat scans taken quickly one after the other, merged down with no tidy up other than the poisson filter.
Ro