Creating A Multi-Sensor Setup For Full Body Scanning
With KScan3D and a multi-sensor setup, you can perform full body scans in a minute or less.
Depending on the speed of your computer and your experience level with KScan3D, processing the scans and finalizing the mesh typically takes from 30 minutes to 1 hour.
The following step-by-step guide can be adapted for use with many types of sensor rig, turntable, and stabilization platform configurations.
The requirements for a multi-sensor setup are greater than those of a typical computer. Here are the recommended specs:
- A desktop PC running Windows 7 64-bit or Windows 8 64-bit
- A quad core 2Ghz CPU or better
- 16GB of RAM or more
- A video card with at least 1GB Video RAM and a fast GPU
- 20GB hard drive space or more
- Enough USB 2.0 ports to support four sensors plus all other USB devices concurrently (see note below)
As with single-sensor scanning, KScan3D supports the following sensors:
- Microsoft Kinect for Windows
- Microsoft Kinect for Xbox 360
- ASUS Xtion PRO
- ASUS Xtion PRO LIVE
To run a multi-sensor setup, it is crucial that your computer have enough USB port throughput and power to support all connected devices simultaneously, including sensors, a keyboard, a mouse, and any other USB devices.
Most USB ports are powered and driven by USB controllers in pairs. For this reason, although your computer may have 6 USB ports, it will most likely not recognize one or more of the sensors.
When using a four-sensor setup, at least five pairs of USB 2.0 (or 3.0) ports - each independently powered and controlled - are recommended.
The computer pictured above has one pair of USB 2.0 ports in the front, with a keyboard and wireless mouse connected:
The back of the computer has four pairs of USB 2.0 and USB 3.0 ports. Three pairs are in the port panel and one pair is on a powered PCIe card.
Note that each pair of ports has only one sensor connected.
A custom rig can be used to mount the four sensors.
This sensor rig combines a camera tripod with aluminum 80/20 hardware to form a stable setup. Velcro is used to hold the sensors in place.
A turntable and stabilization platform can be used to support and rotate your subject during the scanning process.
As always, the surface qualities of the materials you plan to scan should be fairly neutral in colour, matte, and opaque.
Dark, reflective, and/or transparent/translucent clothing and props may be difficult or impossible to scan. Objects may be prepared as suggested here:
Also, due to the distance from the sensors to the platform, objects with small and/or thin features may not scan well. These types of objects should be scanned separately, up close.
KScan3D now provides improved multi-sensor scanning support. A new Eliminate Interference option allows sensors to capture overlapping scans without data corruption due to infrared pattern interference between sensors. You can also reorder the sensors so the live feeds reflect real-world sensor positions and even group sensors together to capture scans simultaneously.
Launch KScan3D and ensure that all four sensors are operating properly. If all four live feeds are not displayed, select the magnifying glass icon on the right hand side of the screen to hide the visible feed(s), then select the button again to show all four feeds. If all four feeds are not showing, see the Troubleshooting section below.
Select the New Project button in the Toolbar and create a new project.
Select the Devices tab at the top-left corner of the screen to access the Devices interface.
Select and move the sensor names up and down in the list until the left-to-right order of the live feeds corresponds to the top-to-bottom order of the sensors on the sensor rig.
For this application, all four sensors should remain at their default group settings.
For other applications, you may choose to group sensors together so they capture scans simultaneously. This can shorten scan times. However, keep in mind that data captured from sensors that are grouped together and aiming at the same target may result in corrupt data due to infrared interference.
Select the Eliminate Interference checkbox. This will trigger the sensors to capture scans one at a time in the order they are listed.
To ensure that the sensors properly accept all settings, close and relaunch KScan3D.
If necessary, select the Project tab to enter the Project interface.
Ensure that all four sensors are operating properly with active live feeds.
The distance from the sensor rig to the turntable is essentially determined by the field of view of the sensors. You want to be sure that the person's outstretched arms and hands fit within the width of the feed.
In the picture below, the turntable is positioned 66 centimeters (26 inches) from the front plane of the sensors.
Have your subject stand on the turntable stabilization platform.
Position the sensors so that there is enough overlapping data from one sensor feed to the next. This is important so that KScan3D can automatically align the meshes properly.
The vertical bar in the sensor rig pictured below is 2.4 meters (8 feet) long. The first sensor is mounted at the top of the bar. The remaining three sensors are positioned 64 centimeters (25 inches) apart. These are good sensor positions for scanning a person who is between 1.6 meters (5 1/2 feet) to 1.8 meters (6 feet) tall.
You should adjust the sensor positions to accommodate the height of the person you are scanning. As a general rule:
- The first sensor should be mounted approximately 45 centimeters (18 inches) higher than the person's head. Angle the sensor down to capture the top of the person's head and shoulders.
- The second sensor should be mounted at even height with the person's face, angled slightly down so the live feed shows the head and the top half of the person's chest and arms.
- The third sensor should be mounted even with the person's waist, angled slightly down so the live feed includes most of the person's chest and arms down to just below the person's knees.
- The fourth sensor should be mounted just below the person's knees, angled slightly down so the live feed includes most of the person's legs down to his or her feet, which should be near the center of the feed. Be sure this feed displays enough of the front of the turntable so that as it rotates, the sensor can capture the sides of the feet and legs.
Set the speed to complete a full rotation in about a minute.
The timing doesn't have to be exact. However, keep the following in mind:
- If the rotation speed is too fast, scans may not automatically align properly due to less overlapping data from scan to scan.
- If the rotation speed is slower, the final quality of the mesh may be slightly better due to the increased amount of overlapping scan data. However, the person will need to remain as still as possible that much longer, which increases the chances of body movement and mesh misalignment.
In this step, you will capture a set of four temporary scans to prepare KScan3D for the full body scan process.
In the Meshing panel, set Generate to Meshing and Alignment to None.
In the Scanning panel, be sure the Enable Batch Scanning option is not checked. Unless you need additional pre-scan time, set the Delay (in seconds) to 0.
With your subject standing on the turntable stabilization platform, press the SCAN button to capture a scan from all four sensors.
Manually align and lock the scans:
1. Deselect and uncheck all four scan thumbnails.
2. Select and check the first scan thumbnail.
3. Press the Lock button to lock this scan.
4. Select and check the second scan thumbnail.
5. Move and rotate this mesh roughly into alignment with the first scan.
6. Press the Align button to align and lock this mesh.
7. Repeat this process for the third and fourth meshes.
All four meshes should now be aligned and locked.
For more information about manually aligning scans, see the Manual Mesh Alignment section here: Aligning Data.
Be sure all of the scans in the Thumbnail panel are checked and selected, then press the Save All button to save all the scans.
Again, be sure all of the scans in the Thumbnail panel are checked and selected, then press the Set Preset button.
This will calculate and save the position and orientation of the sensors relative to one another.
All subsequent scans in all projects will now rely upon this preset to determine how generated meshes will be positioned and oriented.
Note that if any of the sensors are ever moved, steps 1 through 6 will need to be repeated.
Delete the scans, as they aren't needed for the actual full body scan.
You're moments away from capturing a full body scan!
Select the Scan button in the Toolbar to display the Meshing and Scanning panels.
In the Meshing panel, set Generate to Capture Only. Alignment will automatically default to None.
By setting Generate to Capture Only, KScan3D will capture scans as quickly as possible, saving mesh generation and alignment for later.
In the Scanning panel:
- Check the Enable Batch Scanning checkbox
- Set the Number of scans to 50 (see note below)
- Set the Delay between scans to 0
- Set the Delay (in seconds) to 0
Note: When using a multi-sensor setup, the scan number specifies how many scans will be captured per sensor. Depending on your computer specs, your computer may capture more or less scans per minute. Our computer captures approximately 80 scans (20 scans per sensor) per minute, so we typically set this number to 25. That said, you don't need to calculate how many scans your computer can capture in a minute. Simply set this to a high number such as 50, and once the turntable has performed a full rotation, you can abort the scanning process.
Start the turntable with the power switch or the remote.
Press the SCAN button to begin capturing scans.
KScan3D will immediately begin capturing scans in groups of four, one at a time from the top sensor to the bottom sensor, 50 times.
Once you've captured a full rotation of scans, press the Abort button in the scanning status pop-up overlay to stop the scanning process.
Once you've captured the scans, you need to process them into aligned meshes. Then you can delete unneeded data and finalize the mesh.
Select the Mesh Editor button in the Toolbar to display the Point Cloud Meshing, Operations, and Decimation panels.
Select all of the images in the Thumbnail panel. To do this quickly, first scroll through the Thumbnail panel and deselect any selected images. Then scroll to the top of the Thumbnail panel, select the first image, and press CTRL-A.
In the Point Cloud Meshing Panel, set Alignment to Mesh Geometry. Then press the Build button.
One by one, KScan3D will convert each point cloud into a mesh and align it with previously aligned meshes.
Select and delete portions of the mesh that are unneeded.
Be sure the combined mesh is selected, then select the Finalize button, adjust the sliders as desired, and finalize the mesh.
Congratulations! You've created a full body scan that's ready for export.
If scanning speed is crucial, multiple computers configured with multiple sensors and multiple copies of KScan3D can be used to capture data much more quickly. For instance, it is possible to set up three computers with three sensor rigs spaced 120 degrees apart around the turntable and capture a person in approximately 20 seconds. Scan data can then be copied to a single computer for finalization and export. To trigger each scan capture, you can press each SCAN button manually or write a program that uses the KScan3D API to trigger scans across a network.
If Windows does not recognize all of the connected sensors in a multi-sensor setup, the problem is likely caused by one or both of the following:
- One or more of the USB ports is sharing a USB controller, and there is a conflict with other connected USB devices that are also sharing the controller.
- One or more of the USB ports is insufficiently powered to handle the connected sensor(s) and/or device(s).
If you are using a desktop PC and you have a PCI card slot available, you can usually install a USB card to provide your computer with additional USB ports and controllers as needed.
We haven't found a laptop capable of supporting four sensors, so the use of a laptop is generally not recommended for any number of sensors more than two. Note that plugging a multi-port USB hub into an existing USB port will not be sufficient, as doing so simply shares the port's available throughput and USB controller with the added hub ports.
If there is not enough overlapping data from one scan to the next, KScan3D won't be able to properly align a mesh to a previous mesh. This can be caused for any of the following reasons:
- If your computer isn't fast or powerful enough, it may not be able to capture overlapping scans as quickly as it needs to. Be sure your computer has the minimum required specs listed above. Also be sure you've set Generate to Capture Only.
- If the turntable is rotating too quickly, there may not be enough overlap from scan to scan. If possible, adjust the turntable's rotation speed to a slower setting.
- If the person is wearing clothes or holding props that can't be properly scanned, there may be too many holes in the mesh for the alignment process to work properly. Try different clothes and/or prepare props as suggested here: Scanning Basics.
- If the person moves a body part during the scanning process (for instance, his or her arm moves or head tilts), either the automatic alignment process may be affected or you'll get inaccurate mesh results. If body part movement is an issue, you can use additional stabilization structures to help the person remain as still as possible. Remember, these objects can be deleted from the scans prior to finalizing the mesh.
Keep in mind, just because a mesh won't automatically align doesn't mean the mesh is unusable.
If you see the automatic alignment process start to fail as the point clouds are being converted to meshes, you can do the following:
- Abort the build/alignment process.
- Manually aligned the misaligned meshes.
- Combine the meshes.
- Continue building and automatically aligning the remaining meshes.
- Combine these meshes separately from the previously combined meshes.
- Combine this group of meshes with the previously combined group of meshes.
Depending on your scans, you may need to repeat steps 1-3 for several groups of meshes.