)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