From fce10e6bc81132f3e14987c596fd7a957a718a2d Mon Sep 17 00:00:00 2001 From: Matthew Tancik Date: Wed, 3 Aug 2022 18:06:18 -0700 Subject: [PATCH] Tancik/docs 16 (#249) * update docs * add missing notebook Co-authored-by: Matthew Tancik --- docs/index.rst | 2 +- docs/models/imgs/models_nerf-field-dark.png | Bin 0 -> 29219 bytes docs/models/imgs/models_nerf-field-light.png | Bin 0 -> 24824 bytes docs/models/index.md | 25 +++++++++ docs/models/index.rst | 14 ----- docs/models/nerf.md | 14 +++++ .../imgs/samplers_stratified-dark.png | Bin 0 -> 12954 bytes .../imgs/samplers_stratified-light.png | Bin 0 -> 13803 bytes docs/notebooks/imgs/samplers_type-dark.png | Bin 0 -> 31692 bytes docs/notebooks/imgs/samplers_type-light.png | Bin 0 -> 30549 bytes docs/notebooks/index.md | 13 +++++ docs/notebooks/index.rst | 15 ------ docs/notebooks/visualize_samplers.ipynb | 48 ++++++++++++++++-- docs/tutorials/data_index.rst | 1 + 14 files changed, 97 insertions(+), 35 deletions(-) create mode 100644 docs/models/imgs/models_nerf-field-dark.png create mode 100644 docs/models/imgs/models_nerf-field-light.png create mode 100644 docs/models/index.md delete mode 100644 docs/models/index.rst create mode 100644 docs/notebooks/imgs/samplers_stratified-dark.png create mode 100644 docs/notebooks/imgs/samplers_stratified-light.png create mode 100644 docs/notebooks/imgs/samplers_type-dark.png create mode 100644 docs/notebooks/imgs/samplers_type-light.png create mode 100644 docs/notebooks/index.md delete mode 100644 docs/notebooks/index.rst diff --git a/docs/index.rst b/docs/index.rst index 1b852142d..5cb1f3026 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -46,7 +46,7 @@ Contents :caption: Guides - models/index.rst + models/index notebooks/index .. toctree:: diff --git a/docs/models/imgs/models_nerf-field-dark.png b/docs/models/imgs/models_nerf-field-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c178d7034a081ca2d690c1863f6a774dcbeca3 GIT binary patch literal 29219 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 KPx2p|`u`8$H8V019p`@k1 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 literal 0 HcmV?d00001 diff --git a/docs/models/index.md b/docs/models/index.md new file mode 100644 index 000000000..786d16c14 --- /dev/null +++ b/docs/models/index.md @@ -0,0 +1,25 @@ +# Models + +We provide a set of preimplemented nerfactory models. One of the goals of nerfactory is to modularize the various NeRF techniques as much as possible. As a result, many of the techniqes from these preimplemented models can be mixed. + +## Running a model + +It's easy! + +```bash +python scripts/run_train.py --config-name MODEL_CONFIG +``` + +## Guides + +In addition to their implementations, we have provided guides that walk through each of these method. + +```{toctree} + :maxdepth: 1 + NeRF + Mip-NeRF + Mip-NeRF 360 + Instan-NGP + NeRF-W + Semantic NeRF +``` diff --git a/docs/models/index.rst b/docs/models/index.rst deleted file mode 100644 index 30480f0c5..000000000 --- a/docs/models/index.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. _models: - -Models -======== - -.. toctree:: - :maxdepth: 1 - - NeRF - Mip-NeRF - Mip-NeRF 360 - Instan-NGP - NeRF-W - Semantic NeRF diff --git a/docs/models/nerf.md b/docs/models/nerf.md index b5813f7ad..8f11b1922 100644 --- a/docs/models/nerf.md +++ b/docs/models/nerf.md @@ -16,6 +16,20 @@ python scripts/run_train.py --config-name=graph_vanilla_nerf.yaml ## Method +### Pipeline + +```{image} imgs/models_nerf-field-light.png +:align: center +:class: only-light +:width: 500 +``` + +```{image} imgs/models_nerf-field-dark.png +:align: center +:class: only-dark +:width: 500 +``` + ### Overview If you have arrived to this site, it is likely that you have atleast heard of NeRFs. This page will discuss the original NeRF paper, _"NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis"_ by Mildenhall, Srinivasan, Tancik et al. (2020). For most tasks, using the original NeRF model is likely not a good choice and hence we provide implementations of various other NeRF related models. It is however useful to understand how NeRF's work as most follow ups follow a similar structure. diff --git a/docs/notebooks/imgs/samplers_stratified-dark.png b/docs/notebooks/imgs/samplers_stratified-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..59d7b9a5fafa071ae5ce90e7c575304d617ee1f5 GIT binary patch literal 12954 zcmeIZhgXwL7Y7(bDS{M1iZnq5q$5gif`~}(y;tcq^ztelr3liy^xgx6UZtay0HFv- zCxjLPp=2N4@B4Q5FW5b2&pzjb43n9;ckaD2bMNoY6Q!mi|KR@P`ydeLfx`Q@8Xyn> zKTs|rzytmciHGL{Uxcpj^*ul!o~O4T9G^ldFbMPnr118QmQN;P$+UuD(46T{JEc>( zr{%XQ?6X?VUr8Cw3P$|7Ah!1)brA2vTsb8vwVe$1Cr@JXLy{uaj`KoxBJQ-Q7MXl{ zPw-^7@`+)pAG_M$hXnU%?1&?4=Ni-*IX-yiKLcwdcv|W-JzuscoVROV^qA<(niqkt z;2U*OAth`l_V+Wh(pE;RoLpR}0XF}A0^u9P|0|1-S^Te9_oVNCMXNWFIR7pG{6vQP z-(vhd=Gz(HK2L~b{x^g)RVdAWDnTJ!{|e^c|MdU=f&VKN(ElT%;A<&F@o+#*-6-Gf#QIp_x6*m{ozl8;3uKf**wt})dnO$y_KD* z)74scK0704^x6Y9z~Vz{Ib?~0lP+vcGfvQPp|RMMrwpV(%lPrAQExWkPP6SlYBZg~ zHb=J<0?g3T!}%@tw@g?FQ?pi@s<#d$U0=%!NOo{~gwvEA#Y8-1qyTZbI!|L`5uyQmpY9#x;t(U@$C(Hc25((i)HLt zmwjBx{#wa7t|WBeSjAM*)HYvV+jtCL{`+Tq6Vnmj1#Pso961|gXsK^8Sth2e!X9Wj z+508}wR^K_lDat!rEZ~nrWp&&XswEPMROTUlxwh8&-(L{qo0ZZX^hra!#46B6sOQ^ zQ&W3;dsesG{@>ckBdoi8HH2!5k2Z#nJbwcjGoneam6>$q8#T)IGCMR8gD94mq6>Cf}0Y&#<&qTr2%T6s$&BT7qP{BryDFvt9 z#s!p%g$JIuAZ*XNRWrlSdSW11yHB8`u{46!2n*@;?%WH0_f-%T@6Vw#npY!WR_KU3 z9y)k$vYk_G(SPGlt?QSFp7VYRMaC)1a^bE%pXobwQp_-a6o=39lgNcU1uq%CK-3Hs z?ev2)jDF*p6IXbU$uv}4gqK*_V{t8Q($tu?oXlc7oeY5pi}33_FE4c<`tSD`2iMhgwM> zBM__aLYdAYJ*u$&VQ-KEL`GQN&{mGo$v@fAIKG9?*)baD&K?MFPBdAsjXGtg2(xe- z0W)45#X*!x=;5jg8VQqGISw#ICx6X7Rf)+jGsF7EJl~|o45=c?GOM(_WG21kLW4Fc zU=xMf$ee18OF`Dge%h&V#l}>-!g0mQ<*|kEGH*gVQkvY&=Ker92-|#kLw-2 zxsK5vN+w)%_@?$qBB8rmDT^j319nY{J|^O6BLnvkG?-lzSGXHcsfRhd&|19S*3zL+ zBbGlbcKhNve7Y{tPbmY_!588aG&Gb*w~7(^c>E^AFKB3~%Q-^9o3s9N>_Mps0S-S* zDv)#U1ZEi9T}8Y!BGEVb8kk}2+uZt;+_L%Ke$ILBA!G%uIG%<&1r=nP@K`ILYV54 zrOJqBlp5$BU@cKFw9gJlyQ+GP+DrQB9B>?CNFr)9IO$)q^?@X|x0fXp)S7xPg^1L^ zWHKzK#>dvq5tqUUBi0_3k13+fK{__IZz2%z+S)h;&*xuyv-WZ)QW3s8CCeXW#fl`% z{(v7teg=)oMB;!akIek7rxTqS@M(76iS1A^cd5}L3JgO*vewgY@SNmJrS3>9^Oc{?ecS5urn8shro04-8#n z-<8NZO)T#YFV}|2vZyxc4$w4+@td0#3;Klz!;ih=gnyKO7#YnZ=n+LltC9LY zm=0CLeh8?JRT{lyK;X2bSua|+=!F;^6eNwcr;*_{DAsBmmnL{kkIQ8{a>^|Dzv5i% z=~Ih#@{+H27xt{tR0@~KS}zNY)R@kbmrwQ#5^eD1M=;Ezf}gpE)V^#IoRN4W>&+?7 zW1&MD{?9+0A`gf`lplK{J)v*XxVZT_bebBr8n$p+S4^l@$~*;L75b3EW4`* z*Q&&KC(O@b42X1 znKxt1;XfyMR%P-fsoS4jn9PKaEBklRjEOm`FWYu99^CW4ms`X+K*< zxGCYPt>O=QmtC)GIFeh``RHwqdH7Q43ZEvM`yAEh8>ir{jlhJQu)sJ{?C*pX-srWs zhyV=i0J|N9fCR_yUxN|Xr)hbnQ&6U>HJ1*LbydxdjTDH>^~QW-U{0XeMn=);fe`i& zQ50J^y5n+8>Rc6ljX_@dVsj+RQsJ+cEzuJP#C?2%0~l@8u~ z5aoOBowd*Ip8_TZW@XR_iMwj5UpzmtTmS4dh+n(ptpilEU(Cdb%i%BBgxS9=Ffpoi zy%c=;0-k!@M!!&Bi~7)mR$2&8PCNk`G~`WvB&Df8Q50w0k2*Y&A=qw9$fpmZS@vde z+lo+f!sc|o4>I$1xfyc-+%-DcN(#7;3*`%3;zB5-(@-Tn;Pp-hYg3@@ul^v#<_l`N z{*H+%3%4<=%O&sMom*M(&a5kCiiM!-&f?$+rp{~ET|NW*+une5YrHQvzgAZvR7IJx zrq8mFY{3)IVAQTATH^41b&gmO0vRlH?Z13+lZz~+`Fbq2f5FGD7DkK5@XXRiet-52 z7aVePd^3%nga)5&4TBFRS%TrRATK0Tmp8K$dAP2C=OFOyReaD28+Wj+Wz+itJAjU0xtUj zGMAu?uQ$eglx0`Bg$#Fk5nDSBRX%UED*LGb0hx6@qQ2MPY=AS z9zmth<$(c<&kk<-u^+J6D|BZxdiu8CI&Dc|?><<=XJhKPnOq}RmpT@Xy? z{c;8FjdcN51OnNfeI;=@J*cN5B5Bk1v;!fDk(BrXx#{&s*P1!~iQ#Omx$bR%o+U5) z3M|;l+m=tb ztnux&{1yPGoTVHOfA}ptSZA)Q%jMG}H4 z8r=0^!R*m%-kAfx=7rAgn1zJKF}LIagH8{QQ%GlH7RWW5L&-Uq1dhJuvkzCc-}Jv^ zGL6KspH*T9JHv_@AJ4Jvt}ILhxb4gF(FERQ8!$t7bc&v_Y-cvL`8zPp3pB)?QiR`J zuwYt#5WJlj z5ICJCS@pHR&mQjQFha4j4)sB3=IrfE75y6AqQgi$`k{4zzG}>8Kckj&%V&?))xtG< zPxW9MUHfBc?oPS`(}kUsi}+z}CjA#gc1v8XNf8{S8m#_8&a5sVx}yVbM(-SP6f+Sf zuVA#hris+?UAE+lMDJrxw??={nN;*2J1|}LWtba&e{)|*HLmE&5h~e=L^NKagB(h% z4O)>D_(4ZmLZ-^1?)7JBrtBl9h$Lj%?}b6hi}`%^Z#+V#mw!K3Kax92X%9YsKP!1c zga+cR!X%{c3L8n1zZ}WgYP16y$qjGjUApeByiDvsZUv!$-%}QVF^(?Q#?}O0tbk#~ zQo&9?%k8}b_op_zwSFg*=B;QZwCC_duWgBm{&X;hgq^5}#mg{3ow+IAvU@i`Gkjvs z^YGO&z=4>Pp_O{#f|P3pixdxxw2EnYPE0nH?jm{!|6Au)+0Ik;?=QPNR&YtF`wOI$5|xME!LEDrd8ROA+l770W8_7si?1a@QwqyTxWe1Q6u3ucU5!B{AuoTp z1g>u%JjFKU;MYB`IV(kPx(`pF&C1XLTVuM|^@x?6bJ_~1RI_$aNAbg;4rWk1u+GI$tGKP2(!VwZ&mtFe7$>X!ZS=v~Rv$(F|8 zV`~Z*XA>nVKpB-gza zcpY`^tQ#n)aR^FDuBST1Y1N+n2gH>^0d9HJJY&#GRLk22!}TYe&Q`^N-Ucz#YOmv{`z~^!mmV3 zjWosTK70_~{wg_RPR(1R!3!eqb4|Jv=m!CS3Z?w6C4r~&VTG;5AIO_I@$o`wwx`;h zHeRpZdm_ZF6>op^hI$3w^DUvUio%lC`{&zX(Ja}J%YdH#N0x*Y-pm{MDSx-*=+Y~b z5dUQH{~W5l$Mgeh!QB=gAg&pSvrw4&Q<%RfBZkkM&Yxx7!E!Dv@8PcMKH-3axrK|8 z%G-{#_I9gXw~bIyPwrzkDTzA4M#sGlstYF*dUFf$vqoRb(9Z^{#m&XhSD2baSr5n0 zh9*R+;hp3rAonDeF25f!k~Tdc3~b<`bk>vpz}ZxA@Tg34kjDN%yj+ObuXBC!fk`EU zarVp<%IkH>3B_+nZKv)1hY)-j<-bsFW zZY(E-{L3_<8HakS@o+`QxVAbOe6daGv8V)+PYh9WMIC$t|9qOxlN5^jn3$<&YRJG zd{wZo6eXs-w&ypb*CB2hh~VeEWS%tQlV5Jjy>`nq&w2R{+w%J(;K~lNWT#NjW>P!Z zWdr;Uam9UWW*Cqq{SV9gxq{ov{nQJH!+U~7woNNPW)*fh5PB+RjF0`-UMa1C8yf@k zS4h8J+i)sVQ=q(n!hEo?G*G;H3kdUMiW3tJdf9` zTM6uHKer0eVQ+VhvoopR*(}`oL*0`a2#%?SH9;T{0pZxB*?|-Fonc^43S@qLF>}xK zxRBh1S?U*1L6K*knS95=XY-?vsR`Xf&;xnjFtKhx(;1 zrT*doY)mc!@z04&)iClL#zqhSTEnT(gaSX3A?EcG*JJMM>giFwo?>o!HS$bd#MgH@ z1!lGSZdH#RrZ1`p>v;=}YGSyZ-os(fWI8NeUZU%`^qAEuMoM7tOfjYBZ(&pup*>D5 zg+Nm&Z@A!$8H_|m+A&)Y6~L|w!`{tPmf*K62EeJCiIy8S57mB9(u%nd9n<=|k|`PR z5`aHthhFA-5UDt`l6vxxCwGv?&gk`0=BZ@r*BDbBPt46#<*21h@HUf4n@N0oPGz@9 z5}blMFA{vEx`2yUab<$_8yUPbu#2f{y3ZWm7*AQsDng}SJ0BpSXYl@li4ZqcS(mtO zf>+6o{=SrQb*Q_S0AB>3LV#UQz4*vbqi%&wj%jnP#I*bM%6;oyOpa#rOR#7cfK@C zv^cD_Jbu5hWfBDT>yM9o;2xh0-&FAL0=55cX6m3?$o@{#Y4n{;)_VC7e9Gh&Z{O5bE?XhN z1%U~p0s69!L{n|Ivh__!>nQI;UfOpb=-U5tu+JLb^H!a_>X+fn(fu4STj=jSDSa5B z4XimRdiU~U$(wa;hm`?~?Jc?Xk;Ic8P?8rK-WYeJlxk{9TTW$BV(95AeVg|Qk<*?? zYNL`l(^>9=a4?4tx5bU7pZNh?@WmaIi>X!~uf-VC()Z?9h03fjWiPo|zLvTL>N)@F z`7k2Laqw81A2IT3;F)x2Q1&a{zs(|q#sbk#gpL>br#1<{7V&MaA%2*SSh_BpgHqfLbo^3}~ zmH{XWbxN4OI3uQ(oa(-g3P5hh2xMu-hNoxDMpwFCsU$fx|6<2h2wpJVrc#!(u1GI? z^4iqn-N#z;pk@2g;0c3^P7M;64rZV7H;|Xi^`H4v+60p2|5H1#Zl2kQNjts3F^dnS z3E}yk75(EYj8n6Ri8tDU`%1j3Z>X!Dl_jdcPpNyJLB^P^x6}7aw|%pk|Eu4>4zW0( zbA<^Nf_U$v#B~V|l{dP1@K<+dptbJN!Z69sjBIa6&V-sQK3g*oGxYoJ&CDNq>uCMmF&k<57zD!s@kxr@GY)fJf2f6= zZ9{o2-_x{p=nS4j)jaj`_X%JEeP-zcd6uR*cT{)|%?&+g;>7uW{WW&2t;p%CLU4rv zFwqyqx#g2i;-7Yx3=2BOp=MH|bicv9`px~rkAL7(JkdN(dXx0FExfBh8k9edC0xmI0Aa)(Q4MWbP|uB)EsfyZ92 ziI*z~Ge97+zm%SjS`j+?xtN<8PAk+@K(%(=Pun!etz>pR5#mPP5?6O)_`)Xu(Xd0a zR6y@+1UwgZ8CGrCD(-*!n2yUKWGH$gHsquYq(k|PA9;?wQ5k%BcLZ-n==20k3GL8H zJYG~>Vw7CL@5-Hv!U^HGuL?lx5w^Z`a=6X(9X~G_S1W~sDkyI`-gck6Q+==>x^<^V zCEZZJOcrR-%lw}fR*GttK#zygw|4=QBXI^+H}ct=9HhJkdv!4IuQ^|nL!GB|)?Ly& zu?FiakfOHbp~H?bOJB|_^twl8WtQa0&_HdcVDDa`Xp{B$ph|26%%}XQwVL~U!8lnS z)v{7Hlel>X=FfCa3keeJzGQr0J>4cboI|v_vUzT!= zF6~x?WZ=I7mUaVXMqG=JfpqWP8Co7Mx{&XH>8`uhAH5(ACoHVwJNhNa?9n86K?y%P zG?@rTJ1sEXT!!(z5ExMg!)+yLZf@oW`jk(+_cRy`D^AoIuwjRf$D;Z^H^Msjdf!@p zIToJtLH=094uS>l((aPTSDeVpra6Yaw9jY|XS_jFstweuT=8hGWMG4XxwU>biS@4< zWR+s!zZOnb=el9-D=V>^=ikUIo^y|5XJH(zgG~(@})m^ zh=tg!kdVJi_*G)lOz1F|>5c8vmAASSs`bkthHSTQWe5S&R96r27k%-^a~7F#zHwL| z;TwfcrgHHG=fybIbXVxy@l~fnV!=p>sQgL6qH2>8m1><*pvw)Sg87@@`QL4N+;{aV zhf+|pYeer(vJ(w&=*yk_>o3|=E!mevDaD>`dn6I-X(%)_xh$}gZ_8})7cE%!4(O*g zbqpnj`2AKx%`;SOAMx^l0a*e^iDb2P^=ECpXOqP=G2mUnA|s+f2be*{&_a?IbPr=g z{tnI61F8ekd+Vo;2)wGy0K@WY@#U9<6qXtgy_Zk;k)ele@QPybCYmkFU+YrB=J}k~ zz6Idcje+)&!4Hl~+n@;x?57RL=u@gP%l3HS5-Sl7&dzp)aY38(P{dCq% zmB&*R02tPCBqr~`NkV0;olwW+E{t{>)SB5S=SChKF;uN~;M2yuNBF~^Ol_zwqhP@$ zZp$QSngb9>Z=epC8_B_h_tTytZndYGD0r~9KG;baIbl?`)BtR zrI*;dz%6Q=?v;@Jx30CnenlEHj-jh#y^03| zJa_y??jnB0inN9lBnQPQfQeBmM_D zzZD#+h?~XpIvT&j#0{}tJ2vN;#RjpZB{O0AO|SRMZ>6G)0!hRD7m2Zmb#CTwzPJ?p zo=Y7$jYfY-h{SNP|OZ%-U2MpSf@f8L}F-cBGZ5?wgQOh{QqKT-3#~ zBOVLQ%Wv%y7?D=jidcVYi?iH24rowLmy$I9wh(QI6CPzfL4iQ8L6m3g?gSl7L3 z+AMP ztID8GC?|pGLCoa=(pRiwOQxk7;+e@gBj{W2sGi!&g^@%%si>ZhD(`XUNJYGX@W9cV zTWN)k&P_=VKwTUeYzB4$gz$IDF{*-@HwEgNk^Z=;Z}7+_i+uC|o^DyQd*<2kZd+;N3XSh)9V>7h7if~&yuyoP&Si_#BM(&SNL|SaE&Wo{i z_j6)YcccQ;QK{UvbeJW@!_+%)03=&De{h<$7&qTxYFy_C0_n_G!pyjxPy|DW1*0JUcpDVI>L z7Uj+3>~i!?w&5(^-&xiVN}qV2f!aLV{gM?T8CyAW@~h1^)An0=WiMRb_p}gE`*1KN z^{!L$Qa|m4SD`Q0`g)gCzd|J!3bM3b8O&jHv_Rs3Z5$ zLa8xH`GW;U)0c`8G5S;@*_U#=?kA}h67rr@#!bjELFhJXeSm zEf`1iK0%D{&ZN9XdhsR6-7$`8w=2F_;hFH2CsJpqKF=?g zD*1!QJ_O8Kr~4Za?Tq|PL|ntJ3Nj!7kj$kMFWYSmte>UFY>+krSZGQx#U8CZ6uK z+$u4PvH8`74;(t8t8NdanbL)r<3hKpxG__OnQ=~3fLsJ?TX#2VOPaQ@W0!hSHuK!y z1YNQ_`4_vGT+$jkX~&0l7EV<5r1m5j_Uek9x`m4BQmqnjGV)kaP`ecm8W1k%{f<>? zfPgPNP7c#u{w*NX8t#d>Z_jbP z%oFD>s4KJnRp?ut@q>F~0jBfC*ueyA-0%Vfl4YgLT%P+3sTb#zd=Bffs-;GF*48{P zmJb}&fDD=di}So|u9GMv7Px2`Xs5#NH0ow)abkz{f=T=pNS4JLAt!E2@3a*8IC!#Lxy2>+Y8+y z@S3JQn*>|l&60V>2}40@JPjaJuYY)7#pQiBoaPN`+6XtXA8>R6uH~x2tf^U*AC^1E zwF7p0gag>E$}LyTbIoZlT=XC|%_1U3m+dJ}mqxb&9P8~EgUMM@MGO!amnwC7{M*Z;)_T%5tquo7BbxW;H2h)P*GF2aW3T!2Z#QsQ zj<>m@hy3TNz6!WywF{MbKo<*fE(H)TnWj@HYUBTzPtL&ft_~b*yo*?KEa-C{9~6vf zQt1ifi<-&&l^^GsIIgiinq!(Pgk7fy&B?6A{VD`%Wj_$9XB*oH27{;KGZGJ(#k` z;reD*RYnGd46XM3D|pgpvD?FHlJFk-DX_;4e2Ub2gZki6+uQwqUH(PYKUz7@!{=ha z3sqr60;gkT>yf`AV)P-6Ey#L;^+3RP$pS9jVvZL>hYIaqIz!K<1l_d##5Kw!wk$LH z`w4|Qw1v$Uj)bPRYDa!l_Ikhi5sU19&baRCD?_m6Gt%P2xi~2#<}2i1rCR!W1Y^dY zf*4RWj4Xe8#xIw~nqxoEa>!|9Ka#@tZE_=Ciu$2rl8pU`%OO7gbaU_t2 z7u6{G5?s)BqMECe#(&&rTCHk_jKu>?hs4b5__g}JhaSJi3mnWHdJZybWw&ehngr3f zROWi2IG%4Kaki&Q@3BRU(B+|i8ai$OmLuG5_6Z_-V`FOt?0)*iDXGLuMixR5d$=z; zeH$ctEYnepap;!kvaB;A&X<>fbZJz0^{~`V^*Y__M3QVLEjSXU6d*GyneOZNkJ`T0 zK4Af?wg28{h?tA{m0m2Hba0 zpnt$PVVC=z&4jlU{31+nE|m!p91{j?!AhJqqmxiWiU8C%M-aq6wt2@qbgL*cE-#(! zT;m=n9rfI+xVWO1lsi6sg*X^8wVQd%A!FJP$LjHm%X0g`alxHa5?mc%?LVhn%+Us1 zRpK(;qI*@)-NC|UJdMC)Jqz9i{ZoVH$9bl7P++wI-p9HLpln3|f^b(`E(sK0Y-m&- zUaV052|+w0)4a7`j`uYkvbGiii(2FESNy|2<_TNrW7&j8mZc}$d3eHuFVCel=jvM- zhj)(%#iF$~PSp^Z(Bu>p6Xuqv`4abBgNe*LyzXD5knP4rV__3TfxqCJa7##f?exkZiIZM!TQy ztewZij{G1PJUfatDR<7^v!XKgWPwUj_kTkLCUhD%7{NBLu45V%FduJGLP0Sebk=gQ zo;y0WsA?qt=hY&lWqDO3bIWVw0xMNH$2Ds18=c&zp?lafZ+QM+v&zGRp zDb!}-FL|XV(;ZlP02Pwa7lah&6b6g$WH+YYZ6{-ugqo1K)q{gO)%~*rHD}~AAUW z4u2^;f1FmQ8R!wv=Fnh~5Q$GPn`q?K4=$r?X%zFF2zy(y)oT&c? z^J2}?xo-=(Uy0F!TSD9Ef4D&%L?J5sI$r>+x4mxa20)=EsN~$-yFYW|67R{WFM77( zfFg76FEcu~o&GX72U7v#mX83(ETI^H#CGipKk6Z--V$G%T1DOkUNML)yuZv-kAnQ+ z?y^5I26+N$YEX!g5lJFqMistJ;nQiv2wW{&&&y=J_gJvEvs%9$fQ4oL%WEBQAG`7{ zFgJj;g_}d+hTc_?9pw!3{14kyde5!>!8PEv6z;yc1VA6o|F?G=#8vLx_5q&%7hic{ts$O;8XACJ}vO?l83h0YY<56#`zza-w#zE5Qq=-=z*HCUmAAKW|i9{gYD=w zWX=bwS2in^=q=c12Uohg#NYO6DaC>Ov)c8<#;TVUQd7asU!7pE$@?zq%>mjqbDNC0 zbGL4^(mqg+xkbIn*WV%2@avLP6>X(E3*>F^G`q8_sn4IUwib``PJBomO-~92tDj)% zk?1oc==!WhCc~-I^zoV7({zQE*}av(0e0Q|5n!|bv>~`wBiVoYd{kj<|LKN`P}}{d z3##CY{;wHbVSMM*o;N<4|3CTvZf?*DL_fE@+S#GG^Na-QJbV6>#=}isYF(=xThrd4UzU%TdNFvt?VNyTJ z0G%r-li!Wf4CFnI`1jf#2Sz;p@?xRth? z`Y(pmSWy7_{bSAB{6Gs$%df;tbrBp$CVeNNk&9JR-fzE^vBmc$)A=Uj7FjSK-)EA7yJ=Y?w>8fc;ets>Ggw^;=C06Fcnyb6c1A0 zz{f9ndQblxob~8^&BM9(kvq%-cbE~=ery;eD;<04jKrf1e=?Mx4)&aFhB&V9r8w7* ze(ef+Moeh;vJoe(k6xQqt=u!#8Oi79A%%NCC8ih^89DmjYuhDx>KI`{9=%>Sh6s7d z&cuJ;%xse3i0^3(9N%GTyCFW<@#4n2bAb)LovLm3T@?G2|H7lSgN@s7v)p-E_QZ$! zZ(WUwtFIJ$HQtO?FO4z4Atv;jSLC=RGsj;0rSA>{k-_45Yhz7Y{>;E0UMu8nT*t3a z?a*Me`92aBZqBUT>LFD#wmijzG@0fPgk5F5Lvrtweo8!K>?KXrs{5%r5Re?b$QZc1 z9YM8WUd;B;F8w%G0jdHKl9_Xo{&sQZ=^l>CQ~$mSWUBVITeZB{(3_PP9y4p7eclBD z>hm$73w%mcF}w7MVJE~9l3}*}ms5T=@Rq(8%S}Qx+fDYDYG)TtCX6nnsnlHZ4{L9a zq!e_)2)0$+rICTXu;>}QfS)O0s}d6zH1-$o6!Q0QLG|VZm(fQaheC!W+&snKo4M+s z<|6o_o?WuDz2=#X;Bq2u#qt_}8`H-mVUuTf6&+vHmsY5+g@4K8pt^Dvad+suJBgo)SbPl!)K>^REZA+?(+Ho((nFaVseLcxR86& z;U+#FDd*wq86Q(=@}mASV~kzu`U1yHp^MSS_+ck+DA*dNe}L^7%AljRJ2IgDyCDk8 z;G?WyI{8{AVnC03dch&_Al%O4MGa?9Hr6ig*5@j_493;ex@*0IR67VadqT|FYUPt< zOdQJvZWC=jpZG=9%FF|?U~S6l#?^x zu6bG?Tad={{zrcc4;LtQ<^`ke7V)oWEXdGt&I(6ascctwJD9kK5sd-cJ($Y5IqXZP z=Z3X~X?!XL;4{~urD_(Hb%00bnpo54BrP;^scg`{kYQnmDV((B-bzU!S*6QJZWawW zEOJRg=Dw*A-AC_79$q=&F`1Z!b}Youmat#tm4TH1&Kq;r7;aGyD@H$gLfFbysImeG znBrMv;Vc&p=cAm|aFv^TMGzTrp(?XfQ6BY9;6_=9>e>z@k<)cXDXpFJyfHbnsGfDi z`&YQEDA@KHUBDmR^l267E7{QkY#el56O#$K%Mp)4JN_bJb(MUjWW(6_5G>^N8nO4M zKF_#^-Quj8&EyQqydiivxM^wm;&7^dGu+sGE47h5Ty_a_ulm%w!eXDr*T(OKQIpBr zY|O#?<4_UoUAK?;FYPzjXUXjga=L5&_%6f}ey=%Ih_(%KZt~esB|`X@Pb?&vpdJdB zZEqu3R0E@(kB#3#*FR9P%}kGFuYWZqB5RH^T@#MD=bokq*k?HheevD* zq{RHTAc|x!&4FMV%%SMA-mGjyE%+Y3wyF_VTxCYejC!W}+hrU*kMp-13Vxr~wmb3+ zq_Gw#e>g0>s0_hi+UNqn!zCPhc@*6WAp+uFEe63E`~F4T0rz_`jwiRn@`7M60ugxKjO&KyEZGp z+)EE$7Vp)YCm-t+S5n=A$-+HF^b$MYPJS(+knnj*3~|hY2+a6cKk`eD%L@-Gh&UY${Xrw?Q(B=1*32SP1I$M~V6c3RKV?=rLQ%<=2m z-~8grASq|>B&LMZ*V7inr_`90BU~b;vMTpewT+vdvMzC4CrnetL3Oy4 zRXI8sA$F2vc9BzX6{qY-m4dm&HgoEeNp>$ei&#qQWq__{I_I~&LyTvf7kD2Jn7xZM zhrD)a_`dk!GJW;!^HO$7C_rS6B zTRUW*Nmrvr*;P{cLM7XtJ_@I%;9(Mf;itn+cj{>a)KcK6F-;^0x=By&is2h^`s zB%Im;+6J8L0sWm}Z1Zu3;4nJ7W@Yer-WRsZo?d<%CXd_b9b;p@Gjc*TzH&WgH!ST3iT_|I!Inta?j~x6NF97{Kymv#w6@ky^V5^88Sc$aX+sz7&V|_p z|9XVwcIp)Z&Su}0%y$oSih?iRrM3$de_U6+u}D5usEEHy|J+LsD(JC61+iPXKGxf8E3yVzcfzdyFeMvPu)06rjDSYeYE{DR=)>AS^&K9gJq+Z$xxd7yYKa;1$}G zn+EbPjcn5Ifsyn#mXn;7qA%WIXP>_CKIu^6OZuVthhs#p_5P=N`eYnS;w~a+CXk=i z<-J8vewi($8ZCc>oT)T^aitG^7Vo_9=-sw^?C{1+#=)hWbl#(pP9DNQP5v4$jPMct z=xZKkX^19d#oZnHjc7f2me}UZ(c|Lw`Wtb2Z%~hUt7W&D0lB-1bAA2ovueokW>j17Je^k^FG!jOku#SET0hQT{yQMEc$K_fk^kfZ&CXPLMkr-DLz5*s=2w#)g=@G@-lJwIxls z7lIcj*<~io*5${E-$E|mwSkEc?imFfblW_J_1h4p@`F{pR(k47iWdzxa>Vr3*2ohC zkjsBb3#`XMO9S|wpx{QW)viRzFMk(@o%SE29rZuG{lZFdm$0^!Piv}&$Xa}BK z<}y{nP^9hNgvQV7gn(n~r*F6Ra#XhO?q_mfqv`DV=g1(56`TcMLc6-rEqm zee`OB@#Xu>tv^jeL)aj{127nDJBEuAY>DA^UP#H+|{4ah}Sm0Q8K7{Y@G1) zP^WrJQiJ)yy{KLI`xyU$_~Xzweo|Yz+c3+};b}?3m#$=4`JrJd?=ONtGSi7WjTVlm z3!LsVzWVn5R7j;_Zt-J@D&S+%KkUp*dotc8;QASuJTLx1YbhuMK+A2A+Dxe zG2ERd%P52x^JuyT0q8Xj8<3@QdZIN_#zFjRl7>b_k`7y!w1nN1q4M`xP_+D~$KDFT zuN2ZR|C7;rRUhmy0lZj1WD-UEy-wF&%vjOlg1pO8Hc+H)y?{Em%OR(oAyw6bl#nAh z+zkRzICu)jKTXO1)9JgDj-1@u6FTv0g18$=nmSxOeMS8@b!2US33!CYGf+(=D0scb zUqp~q!{zRwUYoKxp8Eu_!u7MY@r7@^ei$^i?Y}QKvPAlbNXz70S#&{vwaqy-S z92*R;Zy>D=2G(uWBw&`Z60B~Mf)tAH{w3|b*>`SqCZ28C+(a%WktqfDNm3+Y?uYd3 z#G%h~JRlWofXsE1iR0f?LR?*bFQ0fToIRxe8=_0#v*C`1iAQWx&3p^)=@`)q!JCAT z%JuSW^q~E!Cx32`OsN0z=GR;E(no9qn+uV}{2;X>VP^zarYv%#w92+@tKbMp5_1oE z(6yQw!AO+A+%r06B^~3p2Z=;?A|K`+L&P>Rk`V?!e2W{(3|{+)CO%O;*++t*h)flQ z<6$HMx`D&*6c+?RrH|d!sY$^-E-;03A{;ZRTgHI;PO54+iI?DUF_OHw(z6J*@I%2h zs9CYKpxk}ii4qOum;G-W6xa95!+dAR^*4yf1YG2Ha`>aNIxN{*-ECHnAmLm(iU6FT zDi*uOD^jX$i98!lS;CwtQ71jN?98PNAcYWHLumh&5mVO0e$rcM^Wxv+L`-?5C)iNi zQS(=^Uu#)z2zi;$6&fTk7S2W35hV52loi*9yj;nA%h;5%9uTtTm}&hLoNvJ$5C8tVd`=k-wMh4-C2>}N0Q2#5F0W6}_K#<1TmS0l)iL#a>keU&~lYV!GU^_D# zD;{n?UkB~O-!g`p`vM}s0fI?g4?v%G=OZEC&6per@`)ZwYvCb&1RHC@+Z2+6J40GM zjM)@IS z_Hp?j72m7GAIhJeT-c}M=FB2W}cbl-} z5v#P{6B-6l&sN&^5n&Ez+^9cPfQ<)|3zINeYekpDlC$GKCSLVleM(Ng?;y<)4Czi* z;-$6*c_sPnsBvP$jmcJVbhkj&V#_gCv5S0s_v(x>f^ncNIpR0FQ<1LTxF@x%7;9eK zt)0WdAb6JCL1Li_Ti+KB&gWz8tOyG6KHy-cEWa}5poK+zzbCd3ffc%j$=;&#u)E#n zxK*)8SQvVy!PV$Ru-T_pxXX=0 z(a)Jz{T1_f6SH9_P4nwNpvt9J7D^Gph!kUV(fSZ3x65~(+^e$B*9*GRWxZFsOrf5qt|N|`vh?CcTOIiH*c&BAeXjlDXA)6yx_9)eRi&eE zKJ0iy$UnQNJL9+LZntKb?ILbvH2+;( zk%%YLs~HrKN~msBSU8a+F&O?x9A2*Rac6*51Pd$|;NV9eD?w4e=|wu;uOeEb=GhW-Z5cg!CtXuRwiLC?zT%@j1L#`)r9m)aRa z%vp(;0DJXH!1(iDJJno*+jgY7qGL#OgGNnuc=^It5f&zBtzv)1xR~P$J>uVC_PpEB+T+?_nnnaBnOJof@aFRDINz^C&8JghDtGh)npk!pL?_N3^L&lLtSo#A z?k=o2O+zKs90OpR*1}$?5i&VAF-{acoz;Hm1^o>fOtn9=mcar^zj=W8I(Y@)+Iw(^ z6P#OEYp#Z_fH&I$6p~83@Oo3950xMJD95h}qQD)QH(qlbV)#x<rZZwz&*6&JavjZhCtQ_qkM@1C4G|MM!6~VmObRw$ zA2s_nP-KLThZd5xUu=sxG^_vTlHk4FFeQ?0NYvXh$bZ(0RDkl*R27UC*b8UeA++|K zB@^(jZWiKhasNA%SD~)If;c)$SITN&5(y57={BVSP`pO~a!FTy+7=1QPwDG5S-iWk z2ff*pQu&19uIuQ62-GQK{3nB0fcO#sm0Ll+*r30(vrbV-_Jz@RXqG>|@oH-Yz`2`+ z9_ARxYah=Ythgah|N$D5ymy@gwZs~Ew5WY+5wFNzI@eOZ_l>7%)^{t0u97opS z-=hiJlRUT|#Wtw9(ZdQSZXxuKA1byMz_C)+?t^pXUw*jRq+czmM*9?~CDg6Yhw_~x z_2U4Jpz@xatPIfQN~TJSRK_+58U;4icBABrY(;L);^+0J(B$}sITd=x=BFp|mO(q` zpnug|_fq^^cka8ej&0b0qUdh8VeTS#eoG(fO5x;o!S@|LmJ?@rNDFZ z7be>uiZ@NJ@@GmA`hKqJcfk_U!3X|2^T4V94bG#<}Gy=;Fj5 zQtEtlKlF1X4=^yV4|Z0-Sc%y*noy<<*bY%%X_GLbr{4q%;8r|k zfv-TSvSP6#l39O?|KV+vtG?QKW%9h;Z{pc;`?m`U<@$fMz!y3IFbM-xvF?h+I%8G_ zYH!m&g8oZ&7MPKIsNU0nOEmnNI`xVMwU$d}h?B1rLA#K=puM^9mHt?-b&EtdAa+n{ zXV@JO+k0}2cQNRcz3cyJFOUKN!)hMoeNXFyflC4y z=ra8~Ie&; zJW>JG#Pd;R>Ec0AaDX1xLW_FH;(?oMu10mqq^&5Rv6enpO}b20UQmt1#?rPQ8ivT? zaS9+%l;A&0b2I%!)&JPtxJ;8bU;-ok+Lg#`L?j3Cf-E!vVdMpP?^zh8yu%j1E~e;f z>pIw=gU)C3xW?c4!2jf#C`e*A`IjPn;hhIe&l&Rj*AOE4={ zAo;nCC&)JcAdt6xK2n^vwC&N(%wqO!II{6-&Vo4LH^d)dT@j4vv0*vegO(^2D$spL zyFi~o8A#fG{eF7DQxNFd$MbgqjLzI8hkSFAAjh5tqbHvc6!pvA;ubH;Knpqd`$yo z-rnq5v#x3Dd9#kO->$uFJwBLPwsFcKIHBi_CvbvMD6b}lP{<2GN>J3#rrk4-DfUEW zr{6FO3!obOLHy0StFS+3X#DkPve4f#2FocfgTX2phg7{k-5u^Q0B+os;XhM~FWH5X z0cVHeV)mB-SfQShSgg@vcCGQ*;nCi1?d|m|_1_QRvM!kxq%+0p!N$756>QtaI1bZ# zgw_*1t~u~uPM=1g&F1$E=Vp3vFEU*+Vl#K1V_)Nncc&nES{UNXL!Y}DBNNrH>6nL7 z>YG+;Z@=%9E=)<-T?sga|HueQKeZ;!OjY-i;tvf;hrS2X)z^vr{qh9YABP;7e}gmv z`c>eA&2MIQXuH2^^e&Ses=l(wH=RTsMH-0c! zkZ5s_ZY56~Fo@9m(3<2%y5@&h+CZ)P>9(o56x^|D7bi5Rb(y7BUNEY!SZsF2q$_$} zAOy9RamA9(0@9MqazD=P_hAMVcN98T&fN44$GcB{&XVv)?D&|r*5tvaCiH_BtZP>U zaiu0(Sie(JdhE*0j3TQ=Clh}aO7SED?xjvn-lJZl9kj~3#P~SyaakgIgA^ijiS)cN zXgzco|}p$);@SU+QoHR!AsWL-eV@`&`mjz6wb4j``wiQ3nwLTFxJ_ z4Q0Z;8fJP}1D`@XIFotr&cDNr|R0(G@~q+Ej9S} z*5;Y_EDx%9ep=JDy+8X_*h;r1Rg&*-fw7$fg4fE;6q^YviF+G@Php?Ui~k&Cr$-HD zny{1#vW4r`Q{SkvSTT<%pH?=DAaj*gqm`h=YtLwSUWa}ZC+%6uWcNn7rcIhvk$Fpl z|6qM_x`RQ%;3Ur%j2a7pE@#2T9;Ez*Gg%_+?b`6DhiZmhi)hA~i7E+qT2C$w-ASLb zly{y7~MFU)D#HSwxjY% zezZE^^T)I~hOxz>+D4J5ccZ6Bh$&wahl33$_wVjvqg<3E%V-@Xy4Vy7(PgsU$Gwe* zhSu%>WIxUTulp||v`*odCo z?d(PMw+*y?dLQA6J?<>es|K&r@&y9<=$H2$^!=3$iQSQ}F1IDG4a!K{Hw{TlrR#u4 z1$5R!_Pp`vUUcS}hAZ{B>fXcPPx&&B@R8jaw@}vAf6ZXy%({nTBZ%rf18u8%oEp}I95 zLq2(Af6PQg)^@FHZf@5k-p8|u8q>>of4nbsi3MwE<6&64^@k(Q=wQSQ1^$8-X>rQb zWV`PJB)%TW@sR;bSaQ$ZBXz7QeC|sjcoP-RtRy}v=-<+sXskEEG1Zwe>$BlTTU`5V zkiwt$aD4g1>6>)O^MRWt>>}IhuEm2eoMqai`*Gv=$PMd_$j3K`B~jgf!0p}zzVqWM zhpz`3e6?lY@R9j zR5s2ep~c!B&96flO62Yj#qJ_HeEqV&FIom4?Ct3ED{qYR{K=m1Rqd?Hb9Ad6kBM3t zd_Gjte~ch1o#g4>YR=mMVsDutDYY4SN^LmD>bDuhP1;7Rx7vf$H|q|(ce3V62A=N z;pyq5Ur;tNu;5QlquW$;CiK1$wncx>5KH1UUu28+$1Oz4-9hBDnHq*T_R^bUQ_(B6 zi2E?tfT#d1C=xkU8Pqn=J3_NGmv@)D!Td+nFE&2!?=ozX?kVxgduA|=h$9!@++oWnG2E?3^N_-eS0Ge{a96a~ukJVsrd8Kr z@aD)^Z;MuPq$mTPTsW~7KZw&|^;h(SRZ`~!vpffxou4mN=!l-;=Y}{?^|dSJ?jY2= zVZ;eB$#Gze=ri1b#cB#91lGf4&{~L{+U=VYY4q;AYr}E!osZMZ7hUTErsqs;r78;9O73vUGR^j%H(Zl>QNc(4l&$OkKbNB7L%R~EHKxjSfNS9LAV znQXH1?R@xx_>^)gATsWwA~dY2u2IFUJHt047Uux6MC{Uko@wqbvI4Sr{H(Da|O9!r4JxIj|BEV)2 z`n@&pK+Q6y3QmfZptUB}&))vx;na_zj4WxMQ6c}B!X!A8!OhycNtC zYI=V6@v*2oJ{$dHuxHf;lZ}&UyP+foAtv^j_#7;TKEOwR$P+!PQ4u|mj8;Nsw+d58 zY3qS(IYq`OIsEiJUTM%bTFL1nZqekINDckm&{TvZMb3QX>aRCO@p!;0o#tNyid@3j z2HO9QqW1TRdA(Bqc@H6)4I^zl+;$5HD7N>NlArK^%@E|)8h-{%b6fN8*7A5Z;^~gQ zY~dfBBnYK1ia$8%#2&~jYsbVY!{<3o&HG+AMtW6>PX9!|W&@Ffv>)nw;3%2>8l18M zUiE-B%mv&Tl#pi95`eR9e$4aH^*+Nov!T3h;Zl%$+)r6*y^;gT%&Gl-)6OT=NKww& zm6W5#+_mt93Z>3t=Apf1#@UO3!H}s zoW?SvXzq!+nmq$+1#hOpG4SN|Qhw1E)6bf001%VKiof(DWpSyesRzvo#LvQDHnHm~ zfff(WYQu9Dvw!MEh`ksYdEv0Li9G%qsrW>?5y=Q*QuK~1q|ymW`t8YbM=7ZZQ_4nT zSvm1uSLB6*wT)bt!+`xsMtY;Jb{svIbp^ePknBuFpbkRCS_V=I4^jnz>X@&lp~fjt zK39Kce3O!}IoGC4^MKP)&N){C>^#?V8s6_|c>{gnH{L zBhsk@YmK+pO^r_fz*R#3^>>3nho#?WZ z-acozk>K9|T6#aHu*$#0GFfRMMcstSM~&7oO)43^1b@lLK_9^rO86Uh)O8j&=y2I- zP9lo^z8n|Wwq!OhmqYCWCKOv_Qxy~(j@xY$P`i)&Ncccu(#+c(E1nV(%*@S>@H6FY zFAyU+s)?t5X1SD>5dMHcnN&O*!MG(&3k#~!#Rx3ND;VDPK$TlQZ5151CvuA_R6s-7)n1t0fX(n`9C{rb_d@z}Un z|C~Gex7vIOU~ER&;93?sJyB0aKvcoF|4?gV(B_V;F24QA%rmzhQMr{-EiKOVB*p)x zEFtM%%B1uWdCp!9V?Kc`QbUAF@1K>Lih)UysgizKL_#{{ci(h?Du#0E*6Xxcw*cG$ z1*F*GC35nXG7(_!y7p%Shc(f)4l_bm8Y@rAd>_gvD4Tn@jY0Spa~BI6{ZcorvQs9(6u|)Hv%A>;O=k*~A=!~_WY6jm@P1`5k&u?DfqE+CZ+d~&J0Bib~2l&*}d zN6IV4&PFFz=$VAs7p~PE$p7pWLO%_1%sHZ8!A5wAp-yg7a$udAN3v-=ZP(V6dj{%E z6X*oC^J(7~F2VDDm%xSmA=WT1dv0=tz+)>Z9+$(!}$!Av-Lv*WbfCw@(K zZM=xpdcc*D%MO1Znk1fBEkn))p$k~Sxaa-#-!IK`6D63DM=8Wzan5`zBCHkvaV4hry?7Nkd)%5ra5fjEqXrK^;v>;zd<=EZBYqcfI&4+JrFk zbmShmR&4J?R_G1)$=OyV&FMg-%t&zNMg-Ic=XBKfY~;E0WA2DJ{qrp=G0ovm zLH=>@0au(QoM#k(Qb3ch%IOHMN(@A&R-bJL&J!Qe)jhYBkia`iLr0-qch0FEfXJO5w+f$VQkqExD0P32x|{&geqJSZ2kvtwUvwAW%A^A5AFkg00m#G|%@MKmx;A2TZnhov8mV1MjSN%tyTifM};v9B&lk z`fqwx*LG^qeO3z8h4}`MQ!7~kH3&4-z#Z~_+^vd>T24hQc8^BoK7pOJ5rF8YYqaJe zb+HE}K(hJW$BEsKbEZ-kV)h0O;_UJz8)7+!^gq;1I*0gJUQJP_Ruo1-*qc4<03^HX zgc6iRe!-n=+X__G;tBjp;TJz(pD8`IQH(9|w{SmlwC$jj_ z{Q4cl3W5M}G3dTnPszo>r!cp`yEavdUuRM2I@SQZd}ZX7_5IdJwnm9U_X%L@R#*N* zea@P<(3SH#3dm^;fZE#^hk79GdiR2S*j-OPW?9%KzKhE)9;7#MBb0dkev>lU=S%kM z^8YMJuy6_fb2D(iy&B_rN#wkJxcI-!IG5JH%?$8m|7rgxCX;}-gj63trMK+Qe1G$N O-A9_>2c_z^VgCb(H(Nje literal 0 HcmV?d00001 diff --git a/docs/notebooks/imgs/samplers_type-dark.png b/docs/notebooks/imgs/samplers_type-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..62fd90392d03fb281d4ff4b7e41d26513b041851 GIT binary patch literal 31692 zcmY&=1yq#L+Vvm;(jp=ypdg@hcM3=;-Q6i6AvrLJloBG+-7s`F44{B?hqQDF(#?NH z@4cTtYoRWf_r#NX?{i*5loX_KvB5D2cUjHC(#a)%uPLGihR4t^3zN2mt=!gQ3; zc7{M$XprA1?%ASmA&^H9SxIp<_oVGvTt~Huo z**-qzjG$U7_!-B5L$HbO&WMJFOMA3rI zCtjJ%E$I`fVBjfkrxBtN^S$^j**t>08a$Dm%7FJevnN+RqU!o)9V+u)19h9tCo}VB zsbUP#_rOB`^Hm#T^;9GG#<}Ub=DFm9l|d`7qn0M>a>J{LnB$zLiEAQ=k9aW3e?JXD z5Dh6YQM}YDG~_&LS$R;Yl#0jw@NT5SQ41z7+9Px9x^hHbI*;5S6srT+TAK_RCyT=#XeC9n%zve9Z}gUF66D|wqb>ag9hA0tis_Y2W} zc#oif!@wXTCQV5^(D0rWq|xs#>VJO?SrD)P*``nJ6rp&|OJU_+mfd7sf_jW0hKF?0 zf4?XRaKG6|nkD|q!j z9G6NACweX3zvHH7q-zBfH||*; zM&_SOF4Kc840xWBplCk&$E$5y?=r6>Ly~;?R6wvoW>CcUcotzt8<#!j0aLo$^^{x7IYVR&qLSU4+{HI|1VT{OU!7guw4 zVaosRhwfvb$(E!UCknbEbr*yrc;(6erhpJ`K-x`jlL!^)u`(;KodiNc#c2PD+b5(b z=%?)`An*+`O8jR2otX^<1>Ml|<%uBd;lCThc>!yk;E|Rn`{v_t`;jIS{r|0%l9PuM;3jo82#M>u{2UVET}*7a{lKEfYTdYu_u zn1TBS_XNy=VfD!9^*f{t+lb24pxSq|yJk1K5m^EDU9dOI4CGa|kx{uiZMHk$tecA1PHy?o`S^ z_CZ*z9fgMGpM(gN_!A6|f8cmb=Ec&Wu;Ki(IU{c^JjfZtn$WEmFaD`xUH5uq5Mr)O zj3|0x|HS1dw3tX3rk2Jnl7DmMQ?kRb0-F~98quEizk6o~262U7itgMdEChQ@(uMsy zMQtD`mFeBrBQMy79*_~A-u`D*3qL6DM#fhXyyQ~VynuK|{Idi$Ed78*lph!mCJP66 z5flGLYvwc)^-3i^lahiF`o9$+6d66iUBZ=kOoxy$k_ESa7a3`nrEkOzXGfg;J5>An z)Sj9#j3TcCV)(Bu^}?q1NwYE~s&~jgJK59jeHTQignPSL@*m3&f*O~cfTrk$K-mQU#HB!KdHjzvFIzo-+`@a# zjeh!X7%oIH;1E%lf2fA}JBqZq{kxM?CH&AHYiz!*mrY+W7s&tJx+2>ag~Hc+^m|1A zB*LC>%x9SY8-q4YFp6W9Bee>tg5-D*VI-O7e;ep049ffM`Q4f6By05EnZd>A3rsk=|FQFJMbkq%UWNyE5QU7K$(>DndzIac{eKO(OqG|U~ zAvFa9lfLR<#{R+H^hv?5@6c0M9kM`(6P{8hM*V)YHS_l|t%8)}K!1XAKZn~Y`S+V} z5z#I(#v>#bbIjCUqXk9Aw!Ff)h>g#`7uu=IWp-EJ5O~yQy;&m_!26SC2qDl}6eLqJ zLKYnjt*sq4v!WJU)l47@7E@U!j8a+3=9FzAT{(`_&p$tajWBmlwoFm)@0ba>3pV|& zXhsYj;fv^MrZCp~Lw%5$r%AzIRvne|8F)tn2?^9QpsB&z_O_F9CIqmN{DB4|4oW>1 z>VaskUyWiBf7ee^98MR2op*3Z?{dE}90Wm)&gV{_T-3Wqi;`KKrgb4G{pb+9>X(}4 zNmMGvoew)+p5K=?fT&y)q?e{p-x`6rh&WD)15Hk1nESW*2a}SgKjBui~H> zrH5$S+vtN87skf&Nnre4?sCA?jw2yay>b3)cQWLYk;>{MFEXFs3u9m

|#aAS7Th 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 literal 0 HcmV?d00001 diff --git a/docs/notebooks/imgs/samplers_type-light.png b/docs/notebooks/imgs/samplers_type-light.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3283f0c459e0edff3b55138fdd2d1d5b927682 GIT binary patch literal 30549 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 rji&zpodHq*dx7Zxm!vZ~0w1B6nHS+&2@ic8} literal 0 HcmV?d00001 diff --git a/docs/notebooks/index.md b/docs/notebooks/index.md new file mode 100644 index 000000000..42e8da330 --- /dev/null +++ b/docs/notebooks/index.md @@ -0,0 +1,13 @@ +# Components + +It can be difficult getting started with NeRFs. The field is still quite new and most of the key nuggets are burried in research papers. For this reason we can consoladated many of the key concepts into a series of guides. + +```{toctree} + :maxdepth: 1 + Cameras Models + Sample Representation + Ray Samplers + Spatial Distortions + Encoders + Viewer +``` \ No newline at end of file diff --git a/docs/notebooks/index.rst b/docs/notebooks/index.rst deleted file mode 100644 index c68884456..000000000 --- a/docs/notebooks/index.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. _notebooks: - -Components -========== - -.. toctree:: - :maxdepth: 1 - - visualize_cameras.ipynb - visualize_samples.ipynb - visualize_samplers.ipynb - visualize_spatial_distortions.ipynb - visualize_encoders.ipynb - visualize_viewer.ipynb - \ No newline at end of file diff --git a/docs/notebooks/visualize_samplers.ipynb b/docs/notebooks/visualize_samplers.ipynb index ff85f9a5d..92ece662c 100644 --- a/docs/notebooks/visualize_samplers.ipynb +++ b/docs/notebooks/visualize_samplers.ipynb @@ -4,7 +4,43 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Ray Samplers\n" + "# Ray Samplers\n", + "\n", + "## Overview\n", + "\n", + "Once we have a set of cameras, we want to cast camera rays associated with each pixel. Along these ray we will sample the _field_ and aggregate the samples to predict the pixels value (ie. color). The parameterization of the samples are described [here](./visualize_samples.ipynb) however we must decide where to place these samples along a ray. For this task we will use a [`Sampler`](../reference/api/graphs/modules/ray_sampler.rst).\n", + "\n", + "In the ideal world we would compute many dense samples along a ray. Unfortunatly each additional sample adds a computation cost to the system as it needs to be processed by the _field_ which is often a neural network. As a result it is common for NeRF methods to use on the order of 100 samples. Therefore we want to optimize where those samples are placed in the scene.\n", + "\n", + "For example, if the sene can be bounded by a box and the objects are all similar scales, uniform sampling along the ray may be a good option. On the other hand if the scene is unbounded (potential extending as far as the the eye can see) uniform sampling does not make sense as the samples would be very sparse for close objects. In this case a different sampling like _Uniform in Disparity_ may perform better.\n", + "\n", + "```{image} imgs/samplers_type-light.png\n", + ":align: center\n", + ":class: only-light\n", + "```\n", + "\n", + "```{image} imgs/samplers_type-dark.png\n", + ":align: center\n", + ":class: only-dark\n", + "```\n", + "\n", + "### Stratified Sampling\n", + "\n", + "Most samplers has the option to _stratify_ the samplers. When stratified, each sample is randomly perturbed. The magnitude of the pertubation is such that the sample ordering remains consistent and the overal distribution statistics are not changed. Using stratified samples during training generally improves the reconstructions as it help prevent overfitting. During inference stratified sampling should be disabled (nerfactory samplers will do this) as it can cause noisy artifacts when the camera moves.\n", + "\n", + "```{image} imgs/samplers_stratified-light.png\n", + ":align: center\n", + ":class: only-light\n", + "```\n", + "\n", + "```{image} imgs/samplers_stratified-dark.png\n", + ":align: center\n", + ":class: only-dark\n", + "```\n", + "\n", + "### Heirarchical Sampling\n", + "\n", + "It is important to sample the scene where it has content otherwise the reconstruction quality will be reduced. One trick that is often employed in NeRF methods is to do multiple round of sampling. The first round can use a predefined sampler (ie. Uniform) to generate an image. Once the space is sampled, we have an idea which samples contributed to the final color. We can use this information to sample more around those regions using a `PDFSampler`. The PDF sampler is described more below." ] }, { @@ -13,7 +49,7 @@ "source": [ "## Spaced Samplers\n", "\n", - "A basic sampler that spaces samples based on a predefined function.\n" + "These are the most basic samplers that spaces samples based on a predefined function. These samplers have all have a starting and ending distance (also known as a near/far plane). The plots below are histograms of points sampled from some predefined samplers. \n" ] }, { @@ -5137,7 +5173,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## PDF Sampler" + "## PDF Sampler\n", + "\n", + "The Probability Distribution Function (PDF) Sampler generates samples that match a given distribution. In the example below we first create a `UniformSampler` to generate a set of initial samples. We then assign weights to each of these samples to define the PDF (here it is an arbitrary funtion, but usually you would use the predicted weights from the field). The left plot the target PDF, on the right we plot a histogram of samples generated from the `PDFSampler`." ] }, { @@ -7251,7 +7289,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.8.12 ('nerfactory')", + "display_name": "Python 3.8.12 64-bit ('nerfactory')", "language": "python", "name": "python3" }, @@ -7269,7 +7307,7 @@ }, "vscode": { "interpreter": { - "hash": "34c28001ff35fb390494047002768a8182dcf55b1b11415165e62ea61557ab83" + "hash": "3271154905f6ca90bb0c3951bd3f2265caaa6ab68492eb831b8ba5f0e8deab4d" } } }, diff --git a/docs/tutorials/data_index.rst b/docs/tutorials/data_index.rst index 6c5d2e517..4a3d2e956 100644 --- a/docs/tutorials/data_index.rst +++ b/docs/tutorials/data_index.rst @@ -2,6 +2,7 @@ Data Setup ----------- .. toctree:: + :maxdepth: 1 data/choosing_dataset.md data/creating_dataset.md