Introducción a la Fotografia 3D

advertisement
)0.*4$+)'*0*". I
?.9*HLA.$'GHHFGI
'/M=$.)/.$'GH
.$'4$)
.*6))$5./$08
Course Schedule
  Structured Lighting
  Projector Calibration / Structured Light Reconstruction
  Combining Point Clouds Recovered from Multiple Views
  Surface Reconstruction from Point Clouds
  Elementary Mesh Processing
  Related Projects
  Conclusion / Q & A
Elementary Mesh Processing
•  We will talk about a few simple algorithms which can be
applied interactively
•  Polygon mesh smoothing / denoising
•  Polygon mesh simplification
•  j3DPGP (Java 3D Photography and Geometry Processing)
Polygon Mesh Smoothing / Denoising
Laplacian Smoothing
N=10
N=40
N=240
Low Pass Filter
•  Laplacian smoothing is the simplest smoothing/denoising algorithm
•  Fix to shrinkage problem: toggle parameter sign at each iteration !
G. Taubin. A Signal Processing Approach To Fair Surface Design.
Siggraph, 1995
Poligon Mesh Simplification / Decimation
•  Algorithms to reduce the number of vertices and faces while
preserving geometric approximation to original shape
•  Vertex clustering (Rossignac & Borrel, 1993)
•  Edge Collapse (Garand Heckbert 1997; many others)
Vertex Clustering
•  Quantize coordinates with respect to a bounding box
•  Identify vertices with same coordinates
•  Remove empty triangles
Vertex Clustering Algorithm
• 
• 
• 
• 
• 
• 
Quantize coordinates with respect to bounding box
Assign a new vertex index to each occupied cell
Determine coordinates of new vertices
Construct new vertex index look-up table
Replace vertex indices in faces
Remove empty triangles from list of faces
Vertex Clustering
•  Advantages
–  Simple to implement
–  Works on large scenes with multiple objects
•  No manifold restriction
•  Disadvantages
–  Produces non-manifold meshes
–  Quality of simplified model is often not very good
Edge Collapse
• 
• 
• 
• 
• 
Identify endpoints
Determine vertex position
Remove incident triangles
Which edges to collapse ?
In which order ?
Non-existing edges
Basic Edge Collapse Algorithm
•  Put all collapsible edges in a priority queue according to
removal error
•  While queue is not empty
–  Delete minimum edge from queue
–  Collapse edge
–  Identify vertices
–  Remove all incident edges from the queue, determine if
collapsible, recompute removal error, re-insert in queue
•  Need dynamic data structures
Course Schedule
Session II
  Structured Lighting
  Projector Calibration / Structured Light Reconstruction
  Combining Point Clouds Recovered from Multiple Views
  Surface Reconstruction from Point Clouds
  Elementary Mesh Processing
  Related Projects
  Conclusion / Q&A
*"(%"%2(% *
**,.<$($<4$)<'*.<)./<$''$/
•  40*(0/0#0$*4/,.*///*0*''1*))
*4()01*)00#751*)/$0
•  .*5$/5$/4'$91*)0**'/0*7,'*.0#0*''0$)
0#0/
•  *'5//,$ ,.*'(/$).#*'*"84/$)"*(,40.
5$/$*)0#)$-4/
•  )0".04'1@$6@0.*BC,$,'$).*)/0.40/I
/#,/.*(,#*0*/,04.6$0##)@#'(./
•  ,$,'$))$)/0''$),))0'8*0#./0*0#
/8/0(
•  *!6.$/0.$40/,)*4.
http://sourceforge.net/projects/revealanalyze/
REVEAL Archaeological Data Acquisition
Assisted Data Acquisition, Algorithmic Reconstruction, Integrated multi-format analysis
*'.)+%$
/$"%(*#)
.*%#+""2%$/(*%*%)*%D%")
#&(%/
)&$
.(20*
%#&.*(
)))**
$*(2
#&%(*&%*%)6
/%)6$")(
)$)$
%$$**#*%
*)
% *)
#:.*%#+""2
))#"
(#$*)
$*%(+*)
#&%(*1*($"*
)($$
%")
*"$)
%0/=
.":)
%$)*(.+%$)
0/
.10/
751*)/
./
$0/
-&799)%.(%(8$*9&(% *)9(/"$"23
0=
70
#*0*/
$*
I*'/
REVEAL Archaeological Analysis
*$*(*$)2$(%$3$*."(6&"$(0$6D)&+"6#6$/%%(#*)
Typical Activity Sequence
)&"2%*%)%
"*(+*)
"*(+*)
%$*"$
1#$"+%$)&%(+*)$:)*.$.*%:
$(*D1/+%$%"
.10/
751*)/
./
$0/
#3,=??,#*0*0*4.>/>6/#$)"0*)>4?4)'.?
1&%(*
%(#-
(+**%(
$".)%$$*
."+%$
<$/"2*8"8CBBE=
<
" * " CBBE=
)%0(
0#@/4'1@$60.*BC
#3,=??".$'>/>6/#$)"0*)>4?/*!6.?,(5/?
<.(.!0$%$CBBF=
%$)*(.+%$%%"%(#))
(%#."+:0%#()
0
$*(&%"+%$(%#."+:0%#()
*!(%.$#$*+%$
$%$0%(!
.(*D%%*0(
#&())%$%/(2(%#%*%(&)6
>>)'*<>'&'$<>4$)<)>*')/0$)<
)0.)1*)'*).)*)("$)"*..$(01*))
.5)1*)B@HFGGC>
%#&("*%D)($$(
$"
$*(+/6
$(#$*"D *$$$
>$(E>4$)
•  /*)$)0/)/*.
•  *)1)4*4/*./,*/
/1(1*).*(*'*.
(.4/$)"
•  I/),/#*0/,04..*(
$.)0,*$)0/*5$6
4/$)",0#(.
•  '$")()0$(,.*6$0#
0.15'*//0*$)0/BC
'"*.$0#(
•  $/.4)*)'$")I
/),/#*0/
":#:$+%$*(%%$
.)$(%())/."+:)%".+%$&+/$%0)
>#*<)>4$)<(")$/$*)*(,41)"HFGG>
($)%*)%%.((":+#)*(%)2)*#0%(!$%$*"
":#:$+%$*(%%$
.)$(%())/."+:)%".+%$&+/$%0)
>#*<)>4$)<(")$/$*)*(,41)"HFGG>
)%".+%$$(%#%0*%
*(%(#
($
*(%
++%$
."+:)%".+%$
2(#$(+$
!(%.$%"$*%0#%/"
%((%.$*+%$0*"+%$?(%)%$
*(%*$)$&+/$%00*
(%)):!$
)&(*2$#$*
¼ Resolution
½ Resolution
Full Resolution
)%".+%$.(%$)*(.+%$(%#."+:/0("
#(2
8'&'$<'4/*8</0.,*<4)8E4$)<IHFGH
(%)%&D&&*.(
$.()E4$)B6*.&$),.*".//C
DH((
$/".+%$$%#&()%$%.(%$)*(.+%$
>.".<
>5$)<>*)0*<>$'5<)>4$)
.)/1*)/*).,#$/HFGIB$"".,#HFGIC
-&7990008)8.*8.9>((#9(%$;$9
D%$)*(.+%$?$"2))%*"*$./()
•  I*)/0.41*)*0'$"#0$)(1/.*(,./
4'1,'$6/<8>."*4<>6.09<)>4$)<)>
.4.<J<HFGG>
•  I*)/0.41*)))'8/$/*0'$"#0)45./.*(
,./4'1,'$6$*<8>."*4<>6.09<>>
.4.<>4$)<$*$/<HFGG>
•  ''$)"6$0#08'@#*'*$)").1$)0'$"#0
)45./<8>."*4<>$/&$)<>4$)<>6.09<)
>.4.<))4'1)"<*$08*.)0".15)
*(,.15$*'*"8<HFGG>
•  ''$)"6$0#08'@0'$"#0)45./<8>."*4<>
$/&$)<>4$)<>6.09<)>.4.<4''1)*0#
(.$)#8/$'*$08<*'>KK<HFGF>
%0%0#).(*)5
• 
• 
• 
• 
4'1,'/8)#.*)$9GFFF,/N(./
*)0.*'')5$.*)()0B&.*,E$''4($)1*)C
0/0.$)0*')*)')$)",
7,.$()0/6$0#/5.'/,$/
•  0/#5#$"#'8.14'06$)"/
•  .8*(,'76$)"(*1*)
•  4..)0"*'=0$'.*)/0.41*)*6$)")*8
&$)(1/).$515/.*(5$/4'0
•  &'0*)(*'6$0#KH"./*.*(
•  *(0.8,.(0.$98IL*)/0)0/
•  .*.(%"7%":"))2$#&%$)*(.+%$
Course Schedule
Session II
  Structured Lighting
  Projector Calibration / Structured Light Reconstruction
  Combining Point Clouds Recovered from Multiple Views
  Surface Reconstruction from Point Clouds
  Elementary Mesh Processing
  Related Projects
  Conclusion / Q & A
Download