4/10/2017

Scan and 3D Print Yourself - XBOX Kinect - 3D Printer



How to scan yourself with an XBOX 360 Kinect camera and 3D print it.
cool 3d print idea, scan and print someone, scan and print yourself


Scan and 3D Print Yourself - XBOX Kinect 



https://youtu.be/f5tL_Zg_GYw

One of the first things that i did after getting a 3D printer was Google "cool things to 3D print".  And you see prosthetic arms for dogs and little action figures.  

cool things to 3d print, 3d print ideas

But i remember seeing someone that scanned themself and printed it.

how to scan yourself, how to 3d print yourself, how to scan someone

I tried this a little several years ago with a program called PhotoFly from AutoCAD.  The way it worked is you would take a series of photos with your camera from different angles.  
how to, photofly, 123d catch, autocad, images to 3d model

You could take pictures of a building face or rotate around a small object.  It was a huge pain, took a long time, and only worked about 20% of the time.  

how to, photofly, 123d catch, autocad, images to 3d model, scan object, scan house

You had to upload the files to the AutoCAD server and it would run the program and if it worked you would receive your video back.  If it did work there was usually voids and gaps where the pictures matched up.


I did this back in 2012 and was able to scan the front of my house and a small clay ocarina i made.



PhotoFly 3D - 3D Car and House


https://youtu.be/SKTYUFm0hXg



3D Clay Ocarina - Legend of Zelda


https://youtu.be/CZkHDvyMARc 


Recently AutoCAD came out with a new version of that program called 123Dcatch.  It worked the same way, but you could use your phone to take the pictures.

how to, photofly, 123d catch, autocad, images to 3d model, scan object, scan house, easy 3d generate



how to, photofly, 123d catch, autocad, images to 3d model, scan object, scan house, easy 3d generate, images to model

Unfortunately the results were the same.  It took a long time to process and most of the time it said that it Failed.


So when i saw that someone was able to get great reults scanning themselves with an XBOX Kinect camera, create a 3D model, and then 3D print it, i was excited.  The Kinect itself has 2 cameras and 1 infrared camera, so it is much more accurate at collecting 3D data, than just trying to stitch pixels together.




CAMERA

I went on Amazon and saw that a refurbished XBOX 360 Kinect camera was $40.
xbox kinect, amazon, ebay, craigslist, cost, xbox 360 kinect camera, scanner

Then i checked eBay, they had used camera's between $25 and $40.

xbox kinect, amazon, price, cost, ebay, craigslist, cost, xbox 360 kinect camera, scanner

Then i checked CraigsList and i saw that someone had one for sale for $20.  

how much for, value, xbox kinect, amazon, price, cost, ebay, craigslist, cost, xbox 360 kinect camera, scanner

So i called them and asked if they would take $10 if i came over right away to get it.  They said yes.  So here's what i got for just $10.

where to buy xbox 360 kinect scanner, camera, version 1, version 2


Here's the camera i got for $10.
xbox kinect, version 1, 360, original, scan, plug into computer


No it turns out that i got lucky with what i got.  I found out later that this only works with the Version 1 Kinect camera, which is what i got.  Also you have to have the correct USB plug and power cord, which i also got.  So make sure you get Version 1 (which is rounded) and not Version 2 (which is square).

xbox kinect 360 version 1 and version 2 comparison


CABLES

There is one cable that comes out of the back of the camera.
how to connect xbox 360 kinect into computer

This has an orange plug that sort of looks like a USB plug, but it isn't a USB.  It's orange and fits into an XBOX 360 splitter plug.

xbox kinect plug

The splitter goes to a power plug with one cable.

power block for xbox kinect 360

And the other end goes to a USB plug.

usb connector for xbox 360 kinect camera


All the cables from the camera.
all plugs for xbox kinect, 360, connect xbox to pc, computer

Plugged into the computer USB.
how to connect kinect to computer, pc, xbox 360

Now mine came with a short gray USB cable.  Not sure if i need it but so far it's worked fine.



DRIVERS

When you plug your Kinect into your computer it will say Device Not Recognized.  So you need to install the appropriate Drivers.  This took me a bit of time to install the correct ones.  Long story short you need to install Version 1.8 (as of March 2017).  Once the drivers are installed you should see 5 Kinect drivers show up in the Device Manager on your computer.  You won't know for sure if it worked until later when you run the scanning program - more on that in a second.
xbox 360 kinect, pc drivers, microsoft drivers, update

Website where you can download the KinectSDK.exe driver.
xbox kinect won't appear on computer, pc, driver


COMPUTER

Make sure that you are doing this on a somewhat powerful computer.  During the scanning process you will need 100% of your CPU or GPU (video card) to collect all the data points.  I tried installing everything on a cheap 10 year old computer i had and it didn't work.  But my main computer has an Intel i7 6700k CPU and that has worked perfectly.  You can also have it run off the video card if it has CUDA capabilities.  My video card is a cheap one so CUDA wasn't an option.


SCANNING SOFTWARE / PROGRAMS

Now you need to decide on what program to use to collect the data and make the 3D model.  The two most popular programs are called Skanect and ReconstructMe.  You can sort of think of these as MSPaint vs PhotoShop.  They both do the same thing, but one takes 5 seconds to learn and one takes a year.

Personally i ended up choosing Skanect.  ReconstrctMe never worked properly for me.  Also it had a steep learning curve.  But people have said that it has more features and you can do more things.


I though Skanect was great.  It had very intuitive menus and showed when the camera was connected.  It was very straight-forward in how you went from the scanning menu, to the clean-up menu, to the processing menu, to the exporting menu.

how to use skanect, skenect, kinect scanner program

ReconstructMe interface.
how to use reconstructme, reconstruct me 3d capture, kinect

How to set up your XBOX kinect scanner.


best resolution of kinect 360 scanner camera

Another free program you will need is called Sculptris.  This is a very easy to use program that will let you fill in areas you missed in the scanning process.

sculptris, fun sculpting program, warp, face, sculptris, screenshot, 3d program, easy to use modeling

Here's what it looked like after i imported my scan, to do touch-ups.
skanect, sculptris, scan face, person scan edit


SCANNING

First, make sure you are well lit.  More light will allow the camera and infrared camera pick up detail.

Now you have to decide how and what to scan.  There are options in Skanect on whether you want to scan a small object, person, or room.  This then sets the scanning area.  I only wanted to scan myself from the shoulders up so i selected the Body.  Had i wanted to scan my entire body i would have selected the next larges area.

skanect, area, small, large, room, menu, how to

Also i thought later that it might pick up more detail if i selected the smallest area, Object.  But i haven't tried it yet.

To do the scanning you can do it in two ways.  First is to sit perfectly still and have someone move the camera around you.  They can look at the screen and make sure all areas turn red, meaning the data is collected in that spot.  The advantage with this is that you can get a really good scan of every area.

The other option is to do it yourself.  Now i've seen where people hold the camera in one hand and wave it around their body, or put it on a stick and swing it around.  I tried that and it didn't work.  What did work was to set the camera at eye-level, sit in a chair and slowly spin around 360 degrees.  This way i could stay perfectly still but get all angles of my head and shoulders.  I went slowly back and forth a couple times when the camera was in front of my face to make sure it picked up all the detail.  I did miss some areas under my chin and on top of my head, but was able to fix them using the Sculptris program.  Obviously this wouldn't work if you wanted to scan your whole body.


Remember to go slowly, sit very still and make sure the scanned area turns from red to green, meaning that the data has been collected.


Here is the recording menu.  It has the 2 camera views and the combination of the two on the right.  Press the red record button at the top right and it will start collecting the 3D data.
how to scan, skanect

Here's what it looks like during the recording process.  You can see the green area means the data has been collected, the red is areas that need more info.
FPS of Skanect, how to scan yourself, 360, kinect, 3d model

Here's the result of the scan.  You can see that it did pretty well and the rough edges at the sides and bottom.
raw 3d model from skanect, 3 cameras, combine

After the scan is done you press Stop on Skanect and it will go to the next menu.  This is where you make the model Watertight, it takes a minute or two to process.  Then you decide how detailed you want the model to be, i selected Medium.  I decided on medium because the file size is much smaller, Sculptris can't open the high-detailed model, and there's no difference in 3D printing the medium vs high detail model.

Here's where you edit the raw scan, make it Watertight and smooth any lines.  It will guess at the surface and close any gaps in the scan.
watertight, smooth, skanect, fill in gaps in 3d model

After you make it watertight and everything it will colorize the scan.  This isn't really important for us, but could be useful for other reasons.
color 3d scan, skanect, reconstructme, action figure of yourself

Next you have to crop the 3D model.  You will be all jagged on the bottom and the chair you were sitting in will be recorded, so you have to crop that out.  

The cropping process is a little weird to get the hang of.  You have to move and rotate the model until the area you want removed is outside of the workplane, then you press crop and it's removed.  It takes a few minutes messing with the 3 sliders to get just the area you want.
skanect, crop 3d model, how to edit 3d model

The last step in Skanect is to save the 3d model.  

If it's all good, just save it to .STL and drag it into Cura.  If you need to fix some mistakes, as i've always had to do, save it as .OBJ.  You need to export to .OBJ if you need to fill in some holes with Scluptris.  Sculptris can only import .OBJ, and not .STL.  

Another important point is that Sculptris won't be able to load the Large file.  SO you have to lower the # of Faces to 50,000 or 25,000.  It doesn't affect the quality of the scan too much.  Plus it's not like the 3D printer can print at that super fine detail anyway.
export 3d model, export, faces, number of faces, obj, stl


EDIT

Like i said, i missed some areas on top of my head and under my chin.  The easiest software i found is Sculptris.  I've used it before to make weird faces and creatures.  It's kind of fun to use.

Also, it will only allow you to import the .OBJ if you have it set to medium detail with less than 50k - 25,000 data points, so you may have to re-process your file in Skanect if it's too large.
edit 3d scan in sculptris, best program for 3d editing, faces

But once it's open in Sculptris you use the Bulge tool to "fill out" the areas where the scan missed.

sculptris, edit 3d model, easy shape

Once you are done you can export to .OBJ.



SLICE / 3D PRINT

Now you are ready to prepare to 3D print.  I imported the .STL or .OBJ file to Cura.  It came in super tiny so i scaled it up to around 50mm in height.  Then i set my settings to somewhat high detail.  The main thing was my layer height, which i set to 0.175mm.  If you want it super detailed you can make that smaller, but even at 0.175mm it took around 3 hours to print.

I decided to not use any overhang and it turned out ok.
how to print in cura, simplify3d, 3d scan


RESULT

Here's the finished product.  Out of everything that i've printed, this is my favorite.  Although my sister described it as "creepy".
3d print of yourself, scan and 3d print

I still need to try scanning at the smallest area and see if it gets higher detail and resolution.
best resolution with 3d scanner, scan phone

Also i want to do a whole body scan and maybe print off some "action figures".
cool 3d scan of family, friend, yourself, how to

For $10 it was totally worth it.  It's perfect for when relatives or friends come over and want one of themselves, or if you want to make custom game pieces or action figures.  The only downside is that it does take some time to scan, crop, edit and print.  But i'm super happy with how it turned out.


5 comments:

  1. Hi David,

    I really enjoyed your tutorial on 3D scanning with a Kinect sensor. I have downloaded all the software, however I only seem to have four Kinect drivers installed - the missing one is the Kinect device one and as such my Skanect is not picking up the device. Please could you assist me?

    I would sincerely appreciate the help.

    Thanks
    Lianda Lambrechts

    ReplyDelete
  2. Hi Mr.Dave, Wow. It is really very good tutorial. Step by step and very detailed. I am a beginner and willing to work with 3D prints especially selfie 3d prints. I am kindly requesting you to help me with clarifying the following doubts, if possible...
    1. Can we make this print hollow (I mean not as full solid) and possible to reduce the printing time?
    2. How to make this with full detail / do we have printers available to print the details (like to print face with more detail to get eye brows, eyes/ eye balls...) at low price (less than 1000 USD)!
    3. Which material is suitable (PLA / ABS) if I am post processing like coloring .
    4. How extent it is possible to paint / draw the face details over the smooth/ post processed 3d prints (selfie)..
    by the way I am a artist and interested in this approach with 3d prints... (http://mywaterpaints.blogspot.com/)

    Thank you very much in advance!!! your suggestions will be really helpful for me...

    Kind regards,
    Rajaa, India

    ReplyDelete
  3. Hi Mr.Dave, Wow. It is really very good tutorial. Step by step and very detailed. I am a beginner and willing to work with 3D prints especially selfie 3d prints. I am kindly requesting you to help me with clarifying the following doubts, if possible...
    1. Can we make this print hollow (I mean not as full solid) and possible to reduce the printing time?
    2. How to make this with full detail / do we have printers available to print the details (like to print face with more detail to get eye brows, eyes/ eye balls...) at low price (less than 1000 USD)!
    3. Which material is suitable (PLA / ABS) if I am post processing like coloring .
    4. How extent it is possible to paint / draw the face details over the smooth/ post processed 3d prints (selfie)..
    by the way I am a artist and interested in this approach with 3d prints... (http://mywaterpaints.blogspot.com/)

    Thank you very much in advance!!! your suggestions will be really helpful for me...

    Kind regards,
    Rajaa, India

    ReplyDelete
  4. Rajaa,

    1. Hollow - Yes. That is determined in your slicer settings (Cura). You don't need it for strength, just support for your top layers.

    2. For more detail you might have to use the newer Kinect camera or scan at the smallest area. I was slightly disappointed about the lack of detail in the face. And the print size will also determine the face detail.

    3. Not sure about material and coloring. I used PLA for my prints.

    4. I've never painted on my 3d prints. There are some printers that will print in color. Some by using multiple color filaments, others will use a powder i think.

    ReplyDelete
  5. Ummm? $10? Skanect is like $129. How did you find that program for FREE? I can only find the trial version and all the full versions are laden with viruses.

    ReplyDelete