3D Reconstruction


Segmentation, Silhouette and Background

In order to reconstruct 3D volumetric objects, we need to using the following tools: "Bluescreen", "BluescreenUI", "Voxelcarve" and "Triview".
The binaries can be used directly in the directory: "/vol/vssp/cvssp3d/Users/ees1js/ProjectOut/lib/RAVL/linux/bin/".
The binary can also be built by downloading the original source from CVSSP SW Repository under "Applications/StudioTools" (PS: you need to contact with Simon Alcott for the access permission), and compiled using "qm" command in RAVL.

We assume that you have captured the backgroud images without any objects using all the cameras in your own studio setup. The examples of the background images are given bellow:








Assume the directory of your data repository is "/vol/captureX/Studio/VBPA/costume1/", to segment 100 frames of your grab images of all the cameras, and to output the segmented images and the segmented silhouette images, you can use:

bluescreenall.csh 0 100 /vol/captureX/Studio/VBPA/costume1/

The output segmented images will be: "bgs.#camera_number.#frame_number.png". The output silhouette images will be: "sil.#camera_number.#frame_number.png". An example of the segmented image (left) and the silhouette image (right) is given bellow:


The following image shows the definition of the commandline parameters of the binary tool "BlueScreen"


Bayesian Classifier

Assume the directory of your data repository is "/vol/captureX/Studio/VBPA/costume1/". The grab images, the segmented images and the silhouette images are saved into this directory as well. To eliminate the artefacts such as spikes, isolated floating point swarms, and zigzag edges of silhouette images, you can use the binary tool "BlueScreenUI" by using Bayesian Classifier implemented inside. The mouse tool is provided in the GUI to let you smooth edges and select appropriate forground or background areas. You can use the commandline of "BlueScreenUI" like this:

BlueScreenUI -i grab.%d.%05d.png -b ./background/grab.%d.00000.png -o ./%02d.%05d.png

The following image shows the definition of the commandline parameters of the binary tool "BlueScreenUI"

The GUI of the binary tool "BlueScreenUI" is given bellow:

Now you should have the following files generated by the binary tools "BlueScreen" and "BlueScreenUI".
bgs.#camera_number.#frame_number.png
sil.#camera_number.#frame_number.png


Volume and Mesh Reconstruction

We assume that you have already finished cameras calibration by defining world coordinate frames.

We assume that you have already generated the following segmented files:

"bgs.#camera_number.#frame_number.png" and "sil.#camera_number.#frame_number.png".

Both of these files are saved in the same directory, for instance, "/vol/captureX/Studio/VBPA/costume1/"

Now we can use CSH script "voxelcarveall.csh", "voxelcarve.csh", or the binary tool "VoxelCarve" to build the volumetric object and its associate mesh model. Note that the volumetric objects and the mesh modles are constructed frame by frame, in the directory "./SFS/", for instance, "/vol/captureX/Studio/VBPA/costume1/SFS/".

You might use:
voxelcarveall.csh

or:
voxelcarve.csh #start_frame #end_frame /vol/captureX/Studio/VBPA/costume1


The data file of volumetri objects are "voxels.#frame_number" and the data file of the mesh models are "voxels.#frame_number.tri". There files are saved into the directory "./SFS/".


View Tool

To view the constructed mesh model of the volumetric objects, we can use the binary tool "TriViewer"

The commandline of the tool is given bellow:
TriViewer -i voxels.%05d.tri

The following image shows the GUI of the tool "TriViewer":