3D Scanning. Photogrammetry

I use a camera and a computer for 3D scanning.   Its called Photogrammetry. Structure from motion.  Photoscan from Agisoft is used to generate the scan. The 3D model is cut out of wood on a CNC router.

Laser scanning and Structured Light Scanning have proven to be too low in resolution and too complicated in execution to be useful for me.

For the images shown here a simple older 6 megapixel camera was used.  I took a led ring light off my microscope and glued it onto my Canon Powershot S3.



c1_CameraThis is my point and shoot camera with ring light.



ca5_Scanning_Strategy_1Pictures are taken around the object about every 15 degrees.  If the object is irregular in shape rings of pictures might be taken at low and high elevations.



ca4_Dueling pistolA historically important black power pistol.  The object of this effort is to model and then use a CNC router to duplicate the wooden stock of the pistol.



cc_Sparse_Close78 pictures were taken of the pistol.  The blue squares represent where the software thinks the position of the camera was for each shot used.  A sparse scan point cloud was generated for a rough idea of how well the software has aligned the photos and identified the points.



ce_DenseThe sparse scan was poor but no more photos were available.  Have to use what we got.  A dense point cloud is then generated.



cf_Dense2A closeup of of the dense point cloud generated.  The barrel end of the point cloud is poorly defined but enough of the wooden stock was represented that a model (a poor one) could be generated



cg_Raw_SolidThis is the model that Photoscan generated from the dense point cloud.



ch_Raw_TexturedThrew the texture map onto the model to show how much low quality modeling can be covered up with texture.  Unfortunately CNC operations don’t care how it looks.  Only thing that matters is the quality of the model.


The Photoscan model was OK to use for cleaning up.  And no better modeling data was available.   The hi poly mesh model was imported in Blender for cleanup.



ci_Initial_BlenderIn Blender the low quality barrel was cut off and the model smoothed.



cj_Mid_BlenderParts of the model representing the metal parts were removed.



ck_Final_BlenderMost of the holes were filled.


For movies or video games the next step would be to generate a low poly mesh from this damaged hi poly model.  And then use the texture map to display hi quality image on a low poly model.


But the CAM software I use, DeskProto 6.1 from Delft will take in a hi poly damaged mesh and use it to generate 3D toolpaths.  They say that as long as any holes in the model are smaller than the cutting tool itself then everything will turn out fine.



cl_Deskproto_ModelThe pistol stock model was successfully imported into DeskProto and machining tabs added to hold the part to a frame will the CNC router cuts the parts out.



cl_Roughcut_SimThis image represents the DeskProto simulation of the rough machining of one side of the pistol stock.  It is generated from the G Code that will be used to guide the CNC router.  For this part the 3D machining is accomplished by doing 2D machining on two different sides of the block the pistol stock will be machined from.  Each side gets a rough cut then a finish cut.


A CNC router is under construction that will be used to route out the pistol stock.

The procedure above represents about as rough and poor a photogrammetry session that can yield anything acceptable as a result.  The images were taken a a poorly lit garage under terrible conditions.  Below is a higher quality session on a different item.  Here only the wood of the pistol stock is imaged and conditions were a lot better.


The result of the session uses only Photoscan itself and no cleanup was performed on the model.



xa_StockThe pistol stock photographed.



xb_Sparse and PhotosSparse point cloud and pictures taken



xCamera_PositionAlignment of the photos



xd_Dense CloudDense point cloud



xe_Meshhi count poly mesh generated by Photoscan



xf_Solid modelPhotoscan solid model.  This model will be used to CNC route a duplicate stock.



xg_TexturedPhotoscan solid model with texture map applied.  The solid model was not bad but the textured model looks great!




Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>