ARC3D User's Guide
Table of Contents
1. Quick Start
ARC3D is a tool for creating 3D models out of a set of images. To create
a 3D reconstruction with ARC3D you need to:
-
Download client tool and
obtain an user account from the ARC3D website.
-
Take some photos of an object to reconstruct. Take many images
with large overlap while moving around the
object. See section Taking Photos. for more details.
-
Upload the images with the client tool. See section Client Tool. for more details.
-
Obtain an e-mail with the result, this normally takes 30 min to 3 hours.
-
View the resulting model in a tool such as Meshlab: http://meshlab.sourceforge.net
2. Taking Photos
ARC3D is easy to use and can process casually taking images taken in
random order. However, to achieve a high quality result, please consider
the following guidlines.
-
Move between the photos. Do not pan (as is done for panorama shooting).
-
Take many photos, more than you might expect. For a facade, we
recommend 10-15 images. For a complete 360 degree sequence, we recommend
around 50 images. This means that the angle should be less than 10
degrees between the shots.
-
Ensure a large overlap between the images. Ideally 90% of the
previous image should be visible in the next. 3D reconstruciton is all
about finding the same object in multiple images and a large overlap
greatly aids this process.
-
Avoid blurry images due to motion blur or out-of-focus. Set the exposure
and focus such that all parts of the object stays sharp and use a tripod
if the lighting is dim.
-
Avoid noisy images by reducing the ISO setting of your camera. Use a
tripod if necessary.
-
For best result, use the same camera with the same focal length (zoom) and the same
resolution throughout the image sequence.
-
Do not process your images before upload. Our algorithms can make use of
information stored in the EXIF-tag of JPG images to improve the
reconstruction. Processing the images with an image editing program may
remove this information.
-
If you are unsure about your camera, use an
EXIF reader to find out if your images contains EXIF data. Check that the
Focal Length tag is present.
-
Not all surfaces can be reconstructed with ARC3D. In particular, the
surfaces have to be textured and non specular. This means that the
surface should have irregular intensity changes and not be too
reflective. For instance, A completely white plate, glass buildings,
shiny cars and chromed machine parts are difficult or impossible to
reconstruct. Brick, stone and other textured items are easier.
-
Turn table objects can be reconstructed as long as your camera provides
the focal length EXIF tag.
-
If you are inexperienced with ARC3D, try to reconstruct some simple
objects before moving on to larger projects.
3. Client Tool
The client tool is used to upload images to the ARC3D server.
3.1 Uploading images
-
Test connection. Make sure that the ARC3D server is online and that you have a
connection. See section Testing the connection for details.
-
Load images. Select open images on the file
menu. The images will appear in the left column of the tool.
-
Upload images on the file menu will start the
uploading process.
-
Subsampling. Subsampling (reducing the size) of your images
will make them faster to transfer but will give you a lower resolution
model. Change the default value of 100% only if the transfer is too slow.
-
User login. Provide your username and password.
-
Names. Provide a name for your scene (where the
object is) and the sequence (which specific
object). Optionally, provide your institution.
-
Start transfer. The images are uploaded to our server. You will
recieve a notification when the transfer is complete. If the connection
is lost, the upload can be resumed. Simply select the same images with
the same scene/sequence name as before.
3.2 Testing the connection
The Server status box in the bottom-left corner gives you
information about your connection to the ARC3D server. Messages will
appear here if the server is down for maintainance or if your computer
has problems to connect to ARC3D.
If you are behind a firewall, it might be necessary to setup the proxy
settings on the connection menu. Please ask your network
administrator for details.
You can also perform a connection test on the connection menu.
4. Using the Results
4.1 Mesh
The 3D model can be directly loaded in a mesh processing tool such as
Meshlab.
4.2 Depth maps
The individual depth maps can be loaded in
Meshlab by opening the
"model.v3d" file. In the ARC3D importer you may directly save the depth maps as
PLY or import them to the Meshlab workspace for furter processing.
4.3 Camera files
This is the format of the camera files (for advanced users)
fx 0 cx
0 fy cy
0 0 1
k1 k2 k3
R11 R12 R13
R21 R22 R23
R31 R32 R33
T_x T_y T_z
width height
- fx, fy: Focal length in x and y directions
- cx, cy: Principal point
- k1, k2, k3: Radial distortion parameters
- R: Rotation matrix from camera to model frame
- t: Translation vector of camera in world frame
To project a 3D point M to the image plane. Only formulas for the
x-coordinate is shown. (') denotes transpose.
- Compute normalized image coords: x_norm = R'(M - T)[0] / R'(M - T)[2]
- Apply distortion: x_dist = x_norm*(1 + k1*r^2 + k2*r^4 + k3*r^6), r = sqrt(x_norm^2 + y_norm^2)
- Project to image plane: x_img = fx*x_norm + cx
- Similar for the y coordinate
5. Troubleshooting
-
If you cannot load the resulting model, try to reduce the size of the
texure image (textured_mesh.jpg) using an image editing software.
Table of Contents