How to optimally make a 3D model of an object using photos?

  • How to optimally make a 3D model of an object using photos? FarO

    I would like to obtain a 3D model of my insoles. I tried to scan it with 123D catch but finding reference points is difficult because the insole is black.

    How could I improve the scanning? I attach a photo of the insole to show its not easy shape.

    I thought about placing a grid of white spots on the surface, but will it be enough?

    Also, is it recommended to keep the camera still and rotate the object (I have a rotating stand) or should I move the camera? in the second case, the accuracy of the photos will be lower, while rotating 5-10 degrees the stand every time is extremely easy.

    As background should I use a checkerboard or something else not repetitive?

    I noticed that the insole has basically three different "levels", joined smoothly with each other. These "planes" are sloped the same way, so that if I change the pitch of the insole by about 10 degrees, they will be horizontal. Would it improve the accuracy?

    Edit: the insole is perfectly new, newer worn before.

    enter image description here


    I dotted the insole with white paint (the white eraser paint used in office and school) and I took a series of photos with the insole in top of a tripod, laying on a flat white cardboard support. 55 photos in total at 3 different elevations (side, medium, high). I also did a test with fixed camera and rotating object.

    Photoscan did not work well in general. Keeping the object fixed produces the best results, but poor.

    123D Catch did a much better job! again with fixed object and moving camera. Still, treating the resulting mesh was difficult and the accuracy could be improved.

    Autodesk Remake 2017 worked VERY well, as you can see in the attached screenshot, and it allows the editing of the mesh to remove useless parts of the model. I haven't tried yet to process the photos with the camera fixed and the rotating object. I did the processing locally (it's slow!) with maximum details and resolution.

    enter image description here

  • Usually, the largest variability in 3D imaging is lighting, closely followed by the color scheme. You'll probably want to heed some of the following points:

    • No colors in the background/stand, keep to shades (unless otherwise specified for scanner)
    • No gradients. This applies to poor lighting causing a "gradient" light effect
    • Set the backdrop beyond the range of the scanner if possible (like with Skanect w/ Microsoft Kinect)
    • Ideally set the backdrop and especially the stand in contrast with the color of the object.

    You're right, a typical 3D scanner will have a difficult time with darker colors due to physics. However, there are no rules that say you can't change the color of the object.

    In this application, I would suggest just going ahead and spray painting the object and scanning it. Scanning the insole is going to require super tight tolerances in scanning as I'm assuming the insole is naturally worn due to use.

    Completely alternatively from 3D scanning, you could try using a 3D touch probe like on a CMM (Coordinate Measuring Machine). It will take longer, but a touch probe doesn't care what color the object is.


    The touch probe comment seems to be a hit, so I'll elaborate. My experience with touch probes comes only from manufacturing technology and can be found and in a variety of different machine tools:

    • Mills
    • Lathes
    • CMMs
    • Vision Systems
    • "Romer" Arms (aka portable CMM)

    You could probably get away with searching for a local machine shop (or job shop) and asking if they have a machine for reverse engineering. The quickest and easiest machine for reverse engineering (in my experience) is a portable CMM, I recommend Googling it.

    Alternatively, I've heard of people adding touch probes to their 3D Printers, but I haven't seen it before. In theory, a basic touch probe can easily be achieved by using a momentary switch. If you're good with programming and maybe a bit of Arduino, you could do the following:

    • Add momentary (normally off) switch to Arduino
    • Find a way of attaching the switch (below nozzles)
    • Connect to your 3d printer in your preferred method and preferred programming language. I've used the provided libraries in Python that come with installing MakerWare in order to connect to my MakerBot.
    • Write your routine to sequentially move the new probe in a grid pattern and then incrementally move the Z up until you get a signal from your Arduino that the momentary has been switched on.
    • For each trigger, append a simple text file with a new line containing the coordinates.
    • once complete, you should have a "point cloud" of your insole which, if formatted correctly, will be able to import into CAD software

    There are a few file types off the top of my head that can be used including:

    • .pts
    • .XYZ
    • .CSV

  • I don't have enough reputation to comment.

    This is a short pointer to another webpage:
    It may be helpful.

Related questions and answers
  • believe this level of accuracy, speed and volume - not to mention the original cost being well over $100K - justifies a finer level of output and I believe Stereolithography (SLA) is what I'd like to concentrate on. With such a large printing surface/volume (37"X x 24"Y x 28"Z), I don't know how I would implement a DLP projector to cover such a large surface and still maintain the level..., the projector's output will have to "play a movie" of the model and instead of projecting still images, I believe it would require an animated output that exposes the resin to build models. Sort of like

  • I am trying to print a model I designed in Blender on Shapeways. The object has a hole in it: But when I upload it to Shapeways as a STL file, fixed the sizes, but the hole is filled up in the preview window for the object in Shapeways: What could cause this? Will the model print properly? (I cannot share the model here).

  • I have a strange issue with my heated bed. It has been working well for a long time, but recently it has developed an issue where the temperature reported by the thermistor will occasionally jump by around 10 degrees. My setup is a 600W, 240V silicone heater mat, with integrated 100k thermistor, that is switched with a solid state relay. The mat is fixed to a 4mm thick aluminium plate. It seems unlikely that these fluctuations are due to bad PID tuning since the reported temperature changes much more quickly than is physically possible. I've checked the wiring, tried using a different

  • The Sainsmart Endstops I picked up are different from the ones described in the RepRap Prusa i3 Rework electronics assembly wiki; they have 4 female plugs that go into the RAMPS 1.4 board instead of 3: Since these endstops are different, how do I hook them up, and what do the markings on them mean?

  • I was very excited to get my 3d printer but sadly I didn't realise I'd installed the z axis upside down. There's a plastic coupler that goes into the hole for the polished rods it broke then released 1 -2mm sized ball bearing all over my floor. Is it possible to just replace that coupler thingy? Or if I 3d print a replacement will it still need that coupler thingy? The first picture is the one that spilled it's guts all over my kitchen floor. The last image is an example of how it used to look like but on the left hand side. I know the image looks like it's the right but you can see

  • Tinkerine 3D Printer Akanksha Vishwakarma

    I am trying to print model for Prosthetic Hand (File Here: using Tinkerine 3D Printer. It went smooth for first hour and after that it started messing up(attached image). I checked the leveling of plate and it was fine. Also, the nozzle didn't get clogged anywhere. Can anyone suggest, what could be the reason for this or what should be inspected in order to overcome this? Expected Result Actual Result

  • clogs below. I have tried using temperature of 220 all the way down to 180 in increments of 5 degrees and seem to get the same result. it prints the base layer GREAT on the 70 degree heated bed.... It had been printing fine with ABS, but the ABS would peel up from the heated bed, so somebody suggested that I use PLA and hairspray. Hairspray is AWESOME !! It sticks really well and removes... that the filament inside of it won't melt. Any ideas??? Here is a picture of my heat tip. Note the shaft has about 1 inch sticking out of the heater. The top of that (above the white arrow

  • E3D Thermistor Alternative Tom van der Zanden

    where the thermistor is just loose in its respective hole, and kapton taped to the heater cartridge wires which holds it in place: This solution seems kind of ad-hoc, and I'm worried about the thermistor coming loose. One advantage is that it can be reassembled arbitrarily often, since just pulling out the heater cartridge also pulls out the thermistor without damaging it. Note that the picture shows PTFE sleeving which restricts the temperature, but you could easily use fibreglass in this situation as well. Another solution is the stud thermistor: It screws into the hole that is normally

  • would be set by the Marlin firmware (EEPROM?). But I also need to be able to do a little offset tweaking on the software side for when I need to replace the BuildTak mat. Edit: I tried M206 (home... a problem because, worst case scenario, my print would simply not be dead-center on the bed. But I've decided to try and fix it. Here are pictures of a test model in Cura, and the resulting physical print: What's the proper way to align the two? It seems I just got lucky with the x-axis here (though note that the BuildTak surface is a bit off center). But obviously the y-axis needs fixing

Data information