doc: Rename 'localhost' subdirectory to more relevant 'html-original'.
[Ale.git] / doc / html-original / ALE / download / ale-0.8.x-user / 3d / index.html
blobf4a86e32f21dbeed4ce2f3a24aefffd57fb5f4f6
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <title>ALE User Manual: 3D Scene Reconstruction</title>
5 <style type="text/css">
6 TABLE.ba { max-width: 678; text-align: center; padding-bottom: 15; padding-top: 5}
7 TABLE.inline { padding-right: 300; clear: left}
8 TD.text_table {padding-left: 2; padding-right: 2; border-width: 1}
9 H2 {clear: left}
10 P {max-width: none; padding-right: 300; clear: left}
11 BLOCKQUOTE {padding-right: 400 }
12 LI {max-width: 640; clear: left}
13 P.footer {max-width: none; width: auto; padding-left: 0}
14 P.header {max-width: none; width: auto; padding-left: 0}
15 HR.main {max-width: 640; clear: left; padding-left: 0; margin-left: 0}
16 HR.footer {clear: both}
17 </style>
19 </head>
20 <body>
27 <table align=right valign=top width=160>
28 <td valign=top height=600 width=160>
29 <a href="http://auricle.dyndns.org/ALE/">
30 <big>ALE</big>
31 <br>
32 Image Processing Software
33 <br>
34 <br>
35 <small>Deblurring, Anti-aliasing, and Superresolution.</small></a>
36 <br><br>
37 <big>
38 Local Operation
39 </big>
40 <hr>
41 localhost<br>
42 2684415918<br>
43 </table>
48 <p><b>[ <a href="../">Up</a> ]</b></p>
49 <h1>ALE 3D Scene Reconstruction</h1>
51 <p>In general, 3D modeling of scenes may allow handling of cases that per-frame
52 projective transformations do not allow, such as registering frames having
53 different viewpoints over a non-flat or specular scene, or recovery of depth
54 from frames having different viewpoints. ALE's implementation of 3D scene
55 reconstruction is considered experimental in versions prior to 0.8.3.
57 <h2>Models</h2>
59 <p>The method of modeling used in 0.8.2 and later is spatial subdivision based on
60 regions of interest, followed by iterative update of the estimated occupancy
61 and color of each region of interest. (For a general discussion of occupancy,
62 see Hans Moravec's work on depth recovery.) In 0.8.1, the method of modeling
63 is decomposition and deformation of a surface. In earlier versions, a
64 per-frame, per-pixel model of depth is used.
66 <h2>Recovered Color and Depth Output</h2>
68 <p>The color and depth output options provide a reconstruction of the scene as
69 viewed from a particular frame's vantage point, or from an arbitrary camera
70 view [0.8.2 and later]. In 0.8.2 and later, normalization of output values by
71 accumulated occupancy can optionally be disabled for unfiltered views. Version
72 0.8.3 adds support for options --et and --3dpx, which can be useful for 3D
73 cropping applications. --et specifies the minimum accumulated weight required
74 for a pixel to be defined, allowing refinements of crops based on clip planes
75 (<code>--rc</code> and <code>--fc</code>) established prior to scene
76 reconstruction, whereas --3dpx specifies a region of space to be removed
77 after scene reconstruction. 0.8.3 uses depth image pixels to determine such spatial regions,
78 leaving the pixels undefined, whereas 0.8.4 removes scene geometry prior to
79 rendering, allowing rendering of background objects after the foreground has been removed.
81 <pre>
82 --3dv &lt;n> &lt;o> Render, to file &lt;o>, colors as viewed from frame &lt;n>.
83 --3dd &lt;n> &lt;o> Render, to file &lt;o>, depths as viewed from frame &lt;n>.
84 --3dvp &lt;args> &lt;o> Render, to file &lt;o>, colors viewed with projective &lt;args>. [0.8.2 and later]
85 --3ddp &lt;args> &lt;o> Render, to file &lt;o>, depths viewed with projective &lt;args>. [0.8.2 and later]
86 &lt;args> are W H V x y z P Y R:
87 W image width.
88 H image height.
89 V camera view angle.
90 x translation x component.
91 y translation y component.
92 z translation z component.
93 P rotation around x-axis.
94 Y rotation around y-axis.
95 R rotation around z-axis.
96 --occ-norm Normalize output with accumulated occupancy. [default] [0.8.2 and later]
97 --occ-nonorm Don't normalize output with accumulated occupancy. [0.8.2 and later]
98 --et &lt;x> Set encounter threshold &lt;x> for defined pixels. [default is 0] [0.8.3 and later]
99 --3dpx &lt;args> Exclude a specified spatial volume following full-scene [0.8.3]
100 reconstruction, assuming a single depth at each point
101 in the output. &lt;args> are:
102 &lt;xmin> &lt;xmax> &lt;ymin> &lt;ymax> &lt;zmin> &lt;zmax>
103 --3dpx &lt;args> Exclude a specified spatial volume following full-scene [0.8.4 and later]
104 reconstruction. &lt;args> are:
105 &lt;xmin> &lt;xmax> &lt;ymin> &lt;ymax> &lt;zmin> &lt;zmax>
106 </pre>
108 <h2>Filtering [0.8.4 and later]</h2>
110 Version 0.8.4 adds support for filtering color values from the inputs to
111 produce final color renderings. This is now the default. Determining surface
112 depth and gradient for filtering the inputs draws from a set of depth pixels
113 within a disc whose radius can be specified with the --3d-dmr and --3d-fmr
114 options.
116 Filtering color from views distributed on a disc (about the camera origin) of
117 specified aperture allows simulation of focus effects; such effects can be
118 controlled with the --focus option.
120 <pre>
121 --3d-filter Use filtering for 3D color output. [default]
122 --3d-nofilter Don't use filtering for 3D color output.
123 --3d-dmr &lt;x> Set radius for filtering median depth to &lt;x> [default 0]
124 --3d-fmr &lt;x> Set radius for filtering median diff to &lt;x> [default 0]
125 --focus &lt;ft> &lt;op> Create focus region with type &lt;ft> and options &lt;op>:
126 Focus type:
127 d &lt;d> focus at distance &lt;d>
128 p &lt;x> &lt;y> focus at point (x, y)
129 Space-separated options may include zero or more of:
130 ci=&lt;ci> camera index [default 0]
131 fr=&lt;fr> focal range [default 0]
132 ht=&lt;ht> horizontal tilt gradient [default 0]
133 vt=&lt;vt> vertical tilt gradient [default 0]
134 ap=&lt;ap> aperture diameter [default 3]
135 sc=&lt;sc> sample count [default 3]
136 sx=&lt;sx> start x coordinate [default -Inf]
137 ex=&lt;ex> end x coordinate [default Inf]
138 sy=&lt;sy> start y coordinate [default -Inf]
139 ey=&lt;ey> end y coordinate [default Inf]
140 sd=&lt;sd> start depth [default 0]
141 ed=&lt;ed> end depth [default Inf]
142 sr=&lt;sr> view sample randomization:
143 aperture per aperture [default]
144 pixel per pixel
145 fs=&lt;fs> focal statistic, one of:
146 mean mean of views [default]
147 median median of views
148 </pre>
151 <h2>Camera parameter adjustment</h2>
153 <p>In versions 0.8.1 and later, camera parameters can be adjusted according to
154 control points to decrease the error between points in different frames.
155 Perturbation bounds for adjustment can be specified, including an additional
156 upper bound on view angle perturbation, and a stereo threshold can be set for
157 discarding control points after adjustment is complete. An initial camera view
158 angle can also be specified. Versions 0.8.2 and later allow calculation of
159 error by median rather than mean, and also allow disabling of adjustment of
160 orientation and/or position.
162 <pre>
163 --view-angle &lt;x> Set the initial diagonal view angle to &lt;x> degrees.
164 (Default is 43.7 degrees or device-specific.)
165 --cpp-upper=&lt;x> Set upper bound &lt;x> for camera parameter perturbation, [0.8.1 and later]
166 in pixels or degrees [default is 32]
167 --cpp-lower=&lt;x> Set lower bound &lt;x> for camera parameter perturbation, [0.8.1 and later]
168 in pixels or degrees [default is 0.125]
169 --va-upper=&lt;x> View-angle perturbation upper bound in degrees [default is 32] [0.8.1 and later]
170 --st &lt;x> Control point stereo threshold is &lt;x> pixels. [default is 4] [0.8.1 and later]
171 --cpp-err-mean Use RMS error to determine camera parameters. [default] [0.8.2 and later]
172 --cpp-err-median Use median error to determine camera parameters. [0.8.2 and later]
173 --vp-adjust Adjust the view point [default] [0.8.2 and later]
174 --vp-noadjust Do not adjust the view point [0.8.2 and later]
175 --vo-adjust Adjust the view orientation [default] [0.8.2 and later]
176 --vo-noadjust Do not adjust the view orientation [0.8.2 and later]
177 </pre>
179 <h2>Transformation data files [0.8.2 and later]</h2>
181 Transformation data file options allow reading and writing of camera position,
182 orientation, and view angle information.
184 <pre>
185 --3d-trans-load=x Load initial transformation settings from file x [0.8.2 and later]
186 --3d-trans-save=x Save final transformation data in file x [0.8.2 and later]
187 </pre>
189 <h2>Transformation data file format [0.8.2 and later]</h2>
191 <p>The transformation data file uses the following format, starting with a version
192 command, and then describing view angle and euclidean transformation of each
193 frame in turn:
195 <pre>
197 V &lt;view angle>
198 E &lt;width> &lt;height> &lt;X> &lt;Y> &lt;Z> &lt;P> &lt;Y> &lt;R>
199 V &lt;view angle>
200 E &lt;width> &lt;height> &lt;X> &lt;Y> &lt;Z> &lt;P> &lt;Y> &lt;R>
204 V &lt;view angle>
205 E &lt;width> &lt;height> &lt;X> &lt;Y> &lt;Z> &lt;P> &lt;Y> &lt;R>
206 </pre>
208 <h2>Model costs [0.8.1 only]</h2>
210 <p>After the cameras are adjusted, a 2D surface is decomposed and deformed to
211 reduce local cost measures, calculated from angles between neighboring
212 triangles, edge lengths, and differences in color between different views.
213 Multipliers for edge length and angle costs can be specified on the
214 command line.</p>
216 <pre>
217 --ecm &lt;x> Set edge length cost multiplier &lt;x>. [default is 0.001] [0.8.1 only]
218 --acm &lt;x> Set angle cost multiplier &lt;x>. [default is 0.001] [0.8.1 only]
219 </pre>
221 <h2>Model rules [0.8.2 and later]</h2>
223 <p>In versions 0.8.2 and later, clip planes can be specified, and a color falloff
224 exponent for pairwise occupancy estimation can be specified. Larger exponents
225 are more forgiving of color differences between pixels in different frames.
226 In versions 0.8.3 and later, error contributions from cameras outside of the
227 generating pair can be assigned non-zero multipliers (<code>--tcem</code>), the
228 number of occupancy and color update iterations can be specified
229 (<code>--oui</code>), the number of points in space generated for each pixel
230 pair can be specified (<code>--pa</code>), and the type of frame pairings can
231 be specified (<code>--pc</code>).
233 <pre>
234 --di-upper &lt;x> Decimate primary input resolution by at most 2^x [default is 0] [0.8.4 and later]
235 --di-lower &lt;x> Decimate input resolutions by at least 2^x [default is 0] [0.8.4 and later]
236 --do-try &lt;x> Decimate output resolution by 2^x if possible [default is 0] [0.8.4 and later]
237 --oc Clip scene to output regions. [0.8.4 and later]
238 --no-oc Do not clip scene to output regions. [default] [0.8.4 and later]
239 --fc &lt;x> Set front-clip to &lt;x> (0 &lt; x &lt; 1) [default is 0] [0.8.2 and later]
240 --rc &lt;x> Set rear-clip to &lt;x> (1 &lt; x &lt; inf) [default is inf] [0.8.2 and later]
241 --fx &lt;x> Set falloff exponent to &lt;x> [default is 0] [0.8.2 and later]
242 --tcem &lt;x> Set third-camera error multiplier to &lt;x> [default is 0] [0.8.3 and later]
243 --oui &lt;x> Set occupancy update iterations to &lt;x> [default is 10] [0.8.3 and later]
244 --pa &lt;x> Set pairwise ambiguity to &lt;x> [default is 3] [0.8.3 and later]
245 --pc &lt;type> Set the type of pairwise comparisons: [0.8.3 and later]
246 auto Determine comparisons automatically. [default]
247 all Perform all comparisons.
249 </pre>
251 <br>
252 <hr>
253 <i>Copyright 2004, 2005, 2006 <a href="mailto:dhilvert@auricle.dyndns.org">David Hilvert</a></i>
254 <p>Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
257 </body>
258 </html>