[[user_manual:Shape Fusion|{{user_manual:flag_english.gif|Switch to English}}]] [[Benutzeranleitung:Shape Fusion|{{user_manual:flag_german.gif|Wechseln zu Deutsch}}]] [[mode_emploi:shape_fusion|{{user_manual:flag_french.gif|Switch to French}}]] [[instrukcja_obslugi:Zespalanie skanow|{{user_manual:flag_polish.gif|Switch to Polish}}]] ====== User Manual Pages ====== - [[Getting Started]] - [[Camera Calibration]] - [[3D Laser Scanning]] - **Shape Fusion** - [[Frequently Asked Questions]] - [[General Hints]] ====== Shape Fusion ====== {{user_manual:screenshot_software_shapefusion.jpg|}} DAVID-Shapefusion allows a convenient alignment and combination of 3D scans from different viewing directions. It is more than just an ordinary stitching tool, since it combines * an easy-to-use user-driven outlier removal, * an automatic and semi-automatic surface registration, * and a noise reducing surface and texture fusion method, which is very robust against outliers. The result is a smoothed 360 degree textured triangle mesh of your 3D model. The following steps will guide you through the shape fusion dialog of DAVID: - First of all you must add one or more scans of your model to the input list by clicking the "Add..." button:\\ {{user_manual:screenshot_fusion_addbutton.jpg|}} \\ Alternatively, you can fill this list by "Forward"ing your scan results from the [[3D Laser Scanning|scanning dialog]]. \\ \\ - After adding all your scans to the input list, you can use the 'Arrange' button to arrange them side by side:\\ {{user_manual:screenshot_fusion_arranged.jpg|}} \\ \\ - By activating/deactivating the checkboxes in the name list, you can toggle the scans in the 3d view. \\ \\ - If you want, you clean your scans with the [[manual cleaning tool]]. At this time, you should only delete surface parts that are not helpful for the following alignment steps! \\ \\ - The next step is the alignment of your scans. Press the 'Align' button to open the 'Registration Dialog' window of DAVID-Shapefusion:\\ {{user_manual:screenshot_fusion_registrationdialog.jpg|}}\\ Here you can choose between six different registration modes for pairwise surface alignment: 'Free rotation', 'Rotation around x-axis', 'Rotation around y-axis', 'Rotation around z-axis', 'Manual alignment', and 'Only fine registration'. Using the first 'Free rotation' mode, the computer performs a coarse registration between two scans at a time, without any constraints regarding rotation or translation. More precisely, the software searches for the relative pose between two scans that provides the largest contact area. This unconstrained contact area maximization works in many cases, but not in every case. The next three registration modes are quite similar to the first one, except that the relative pose between two scans is constrained. For example the 'Rotation around y-axis' mode assumes that your object was rotated around an axis parallel to the y-axis of the reference coordinate system (the y-axis is the upright axis if you used DAVID for scanning) and furthermore assumes that the object was not translated along the y-axis. But the center of rotation remains unconstrained, which means that you don't have to use a turn-table, just rotate your object manually. After you have chosen the registration mode, the registration dialog will guide you through the alignment process. \\ \\ - In the case of our Beethoven bust, we have rotated the bust around the y-axis and therefore we choose the 'Rotation around y-axis' mode. \\ \\ - Now step 1 instructs to click on the scan that we want to align. After clicking on that scan in the 3D window, you will see a red bounding box around the chosen scan:\\ {{user_manual:screenshot_fusion_align1.jpg|}} \\ \\ - Click on a second scan to which you want to attach the first one...\\ {{user_manual:screenshot_fusion_align2.jpg|}}\\ Coarse registration will take place. After a few seconds both scans are aligned:\\ {{user_manual:screenshot_fusion_align3.jpg|}} \\ \\ - Just repeat the same procedure for the other scans. After that, you 3D model should look like this:\\ {{user_manual:screenshot_fusion_alignedfront.jpg|}}{{user_manual:screenshot_fusion_alignedback.jpg|}}\\ Note that the surface alignment must be very precise in order to get an adequate result in the fusion process. A precise alignment is characterized by many surface penetration points (the color of the overlapping surfaces in the 3D window should flicker if you rotate the object). \\ \\ - If the registration process did not find a good alignment, just try it again. Since the method is based on an randomized algorithm, you have a good chance that it will work at the second or third time. If this doesn't help you can use the 'manual alignment' mode or you can manually align the scans in the 3D window (move/rotate scans with the left/right mouse button while you press the Ctrl key) and use the 'Only fine registration' mode afterwards. The 'manual alignment' mode allows you to specify three ore more corresponding point pairs, which should get in contact after alignment:\\ {{user_manual:screenshot_fusion_correspondence.jpg|}}\\ In some cases it might be difficult to identify three corresponding surface point pairs. In these cases it helps if you consult the texture of the object (see last section of [[3D Laser Scanning]] for an instruction of how to grab a texture). DAVID-Shapefusion loads and displays the texture when you add a scan with texture. If the texture does not contain unique identifiable surface points, you can stick your own markers onto the object before grabbing the texture. \\ \\ - After some registration steps it might be a good idea to combine two ore more already aligned scans. Just select two or more scans in the Input Scan list (press and hold CRTL-key while clicking on the list) and press 'Combine'. This allows you to group scans together and use them as if they were a single scan. For example, in the case of our Beethoven bust, we can combine the first three scans after aligning them, just before matching the last one. By this way the last scan can be matched to all other scans simultaneously, which gives better results than matching with only the first or the third one. \\ \\ To un-combine scans, click on the entry in the list with your right mouse button, and choose "Un-combine". \\ \\ - If necessary, you should clean your scans from all unwanted surface parts with the [[manual cleaning tool]]. \\ \\ - After you have aligned and cleaned your scans precisely, the mesh fusion can take place. Just press the 'Fuse' button and after some seconds or minutes you will see the result.\\ {{user_manual:screenshot_fusion_fusebutton.jpg|}} \\ {{user_manual:screenshot_fusion_resultfront.jpg|}}{{user_manual:screenshot_fusion_resultback.jpg|}} \\ DAVID will not include invisible scans in the fusion (those that are deactivated in the list). \\ \\ - The result heavily depends on the fusion parameters called 'Resolution', 'Smoothness' and 'Removal'. We would therefore recommend to try different parameter settings. Start with a low resolution (e.g. 100) because at a low resolution the fusion process is much more robust against inaccurate alignments, noise and outliers. A higher resolution means a longer processing time and much more triangles. If your fusion result gets holey and untight at a higher resolution you have to increase the 'Smoothness' parameter. Again start with a small 'Smoothness' value and increase it step by step until the result is satisfactory. \\ \\ - Since DAVID-Shapefusion Version 1.5, we have integrated an alternative 'Poisson' fusion method, which has some advantages over the 'Simple' fusion method: * no need to adjust 'Smoothness' and 'Removal', * ALL holes get closed, fusion result is water-tight, * better approximation of sharp edges, * and higher robustness in the case of noise and scan alignment inaccuracies.\\ Some minor drawbacks are the higher running time and a slightly increased blurring of small details (at a comparable number of triangles). \\ \\ - If you have used the simple fusion method, you can click on the 'Shrink' button multiple times to reduce unclean borders. \\ \\ - If your scans have textures, the textures will be fused as well. Surface areas with no texture (e.g. holes closed by the Poisson method) will obtain a pink color. \\ \\ - If necessary, you can also clean the fused mesh with the [[manual cleaning tool]]. \\ \\ - The 'Save' button opens a new dialog window where you can choose between the *.OBJ, *.PLY, and *.STL file format. You can choose whether to save your fusion result or your aligned and filtered 3d scans. However, the saving feature is not activated in the Free Edition of DAVID. ===== Command File Interpreter ===== For Experts:\\ Instead of using the graphical user interface of DAVID-Shapefusion, you can write a script and try to automate this process.\\ Call DAVID-Laserscanner.exe //// \\ where //// specifies a command file (a plain text script including a sequence of commands). Use "regid" instead of filename to get the Registration ID Debug text will be written to 'out.log'. Errors will be written to 'err.log'. ==== Main commands ==== **Add ////**\\ Loads a scan (OBJ file). The first scan gets index 0 the second scan gets index 1... **Align // [ [] ]//**\\ Automatic alignment (registration) of two scans.\\ //idA//: index of scan A (will be aligned to B)\\ //idB//: index of scan B\\ //useTexture//: percentage of texture filter (0-99) (not before DAVID Version 2.1) \\ //x y z//: optional axis of rotation\\ //angle//: optional known rotation angle\\ **FineAlign // //**\\ Automatic fine alignment (fine registration) of two scans.\\ //idA//: index of scan A (will be aligned to B)\\ //idB//: index of scan B\\ //useTexture//: percentage of texture filter (0-99) (not before DAVID Version 2.1)\\ **GlobalFineAlign // //**\\ Global Fine Registration (not before DAVID version 2.1)\\ //useTexture//: percentage of texture filter (0-99)\\ //numLoops//: number of loops\\ //highPrecisionMode//: 0 (off) or 1 (on)\\ **FuseSimple // //**\\ Simple Fusion of all scans.\\ **FusePoisson ////**\\ Poisson Fusion of all scans.\\ **SaveMesh // //**\\ Save a triangle mesh (OBJ, PLY or STL file).\\ The following parameters exist only since DAVID Version 2.1:\\ //id//: Which scan to save (0,1,2,... = single scan, -1 = fusion result, -2 = all scans in one file)\\ //scale//: Scale factor (1.0 for no scaling)\\ ==== Command file example ==== Add scan0.obj Add scan1.obj Add scan2.obj Add scan3.obj Align 1 0 0 0 1 0 90 Align 2 1 0 0 1 0 90 Align 3 0 0 0 1 0 -90 FusePoisson 300 SaveMesh result.stl -1 1.0 ==== More commands (not before DAVID Version 2.1) ==== **AdvancedSettings_SetParam // //**\\ Change one of the AdvancedSettings.\\ //path//: Absolute path and name of the value, e.g. //ShapeFusion\GlobalFineRegistration\CompensateDrift// \\ //value//: The new value (String, Double, Int, or Bool: 1 for true, 0 for false)\\ **Combine // //**\\ Combine to scans. Scan will be added to .\\ Note: The indices of all scans behind idB will be decreased by 1!\\ **Duplicate ////**\\ Duplicate a scan. The copy will be put at the end of the list.\\ **InvertNormals ////**\\ Invert the surface normals of scan \\ **MakeInvisible ////**\\ Make scan "invisible", i.e. it will be ignored in Fusion and GlobalFineAlign\\ **MakeVisible ////**\\ Make scan "visible" again, i.e. it will be included in Fusion and GlobalFineAlign\\ **ReflectOnMirrorPlanes ////**\\ Reflect parts of the scan which are beyond the mirror planes (defined in AdvancedSettings). The reflections are added as new scans to the end of the list.\\ **RemoveTexture ////**\\ Remove the texture of scan \\ **ResetPose ////**\\ Set the position and rotation of scan back to its initial pose.\\ **Shrink**\\ Shrink the fusion result (must be called AFTER fusion)\\ **Uncombine ////**\\ Separate previously combined scans.\\ ====== User Manual Pages ====== - [[Getting Started]] - [[Camera Calibration]] - [[3D Laser Scanning]] - **Shape Fusion** - [[Frequently Asked Questions]] - [[General Hints]]