diff --git a/docs/figs/example3D.gif b/docs/figs/example3D.gif new file mode 100644 index 0000000..b42714d Binary files /dev/null and b/docs/figs/example3D.gif differ diff --git a/docs/figs/lvl7_2D.png b/docs/figs/lvl7_2D.png deleted file mode 100644 index 4914ca8..0000000 Binary files a/docs/figs/lvl7_2D.png and /dev/null differ diff --git a/docs/figs/lvl7_2D_1.png b/docs/figs/lvl7_2D_1.png new file mode 100644 index 0000000..092bdc3 Binary files /dev/null and b/docs/figs/lvl7_2D_1.png differ diff --git a/docs/figs/lvl7_2D_2.png b/docs/figs/lvl7_2D_2.png new file mode 100644 index 0000000..712b95d Binary files /dev/null and b/docs/figs/lvl7_2D_2.png differ diff --git a/docs/figs/lvl7_2D_3.png b/docs/figs/lvl7_2D_3.png new file mode 100644 index 0000000..774ed2f Binary files /dev/null and b/docs/figs/lvl7_2D_3.png differ diff --git a/docs/figs/update.png b/docs/figs/update.png new file mode 100644 index 0000000..2a5158e Binary files /dev/null and b/docs/figs/update.png differ diff --git a/docs/figs/wikipedia_bottom.png b/docs/figs/wikipedia_bottom.png new file mode 100644 index 0000000..9f8eaba Binary files /dev/null and b/docs/figs/wikipedia_bottom.png differ diff --git a/docs/figs/wikipedia_top.png b/docs/figs/wikipedia_top.png new file mode 100644 index 0000000..810f148 Binary files /dev/null and b/docs/figs/wikipedia_top.png differ diff --git a/docs/package-lock.json b/docs/package-lock.json index f224785..e01fb1d 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -8,6 +8,9 @@ "@slidev/cli": "^0.38.5", "@slidev/theme-default": "^0.21.2", "slidev-theme-academic": "^1.1.1" + }, + "devDependencies": { + "playwright-chromium": "^1.30.0" } }, "node_modules/@ampproject/remapping": { @@ -4773,6 +4776,34 @@ "resolved": "https://registry.npmjs.org/plantuml-encoder/-/plantuml-encoder-1.4.0.tgz", "integrity": "sha512-sxMwpDw/ySY1WB2CE3+IdMuEcWibJ72DDOsXLkSmEaSzwEUaYBT6DWgOfBiHGCux4q433X6+OEFWjlVqp7gL6g==" }, + "node_modules/playwright-chromium": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.30.0.tgz", + "integrity": "sha512-ZfqjYdFuxnZxK02mDZtHFK/Mi0+cjCVn51RmwLwLLHA8PkCExk0odmZH2REx+LjqX8tDLGnmf6vDnPAirdSY0g==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.30.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/playwright-core": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.30.0.tgz", + "integrity": "sha512-7AnRmTCf+GVYhHbLJsGUtskWTE33SwMZkybJ0v6rqR1boxq2x36U7p1vDRV7HO2IwTZgmycracLxPEJI49wu4g==", + "devOptional": true, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/popmotion": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.5.tgz", @@ -9524,6 +9555,21 @@ "resolved": "https://registry.npmjs.org/plantuml-encoder/-/plantuml-encoder-1.4.0.tgz", "integrity": "sha512-sxMwpDw/ySY1WB2CE3+IdMuEcWibJ72DDOsXLkSmEaSzwEUaYBT6DWgOfBiHGCux4q433X6+OEFWjlVqp7gL6g==" }, + "playwright-chromium": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-1.30.0.tgz", + "integrity": "sha512-ZfqjYdFuxnZxK02mDZtHFK/Mi0+cjCVn51RmwLwLLHA8PkCExk0odmZH2REx+LjqX8tDLGnmf6vDnPAirdSY0g==", + "devOptional": true, + "requires": { + "playwright-core": "1.30.0" + } + }, + "playwright-core": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.30.0.tgz", + "integrity": "sha512-7AnRmTCf+GVYhHbLJsGUtskWTE33SwMZkybJ0v6rqR1boxq2x36U7p1vDRV7HO2IwTZgmycracLxPEJI49wu4g==", + "devOptional": true + }, "popmotion": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.5.tgz", diff --git a/docs/package.json b/docs/package.json index 21b3528..af84649 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,5 +3,8 @@ "@slidev/cli": "^0.38.5", "@slidev/theme-default": "^0.21.2", "slidev-theme-academic": "^1.1.1" + }, + "devDependencies": { + "playwright-chromium": "^1.30.0" } } diff --git a/docs/slides.md b/docs/slides.md index 6e5fd03..b6461fa 100644 --- a/docs/slides.md +++ b/docs/slides.md @@ -5,7 +5,7 @@ coverAuthor: Laurent Fainsin, Damien Guillotin, Pierre-Eliot Jourdan coverBackgroundUrl: https://images.unsplash.com/photo-1655720408861-8b04c0724fd9?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8 coverBackgroundSource: unplash coverBackgroundSourceUrl: https://unsplash.com/photos/Vc0CmuIfMg0 -coverDate: '2023-01-31' +coverDate: '2023-02-01' themeConfig: paginationX: r paginationY: t @@ -14,118 +14,277 @@ themeConfig: title: Bureau d'étude de PI3D --- -# Bureau d'étude de PI3D +

Bureau d'étude de PI3D

-Sujet 6 - Reformulation du MVS par level sets - ---- - -## Level sets ? - - - - - -$\mathcal{V}_t = \{ \textbf{Q} \in \mathbb{R}^3, u(\textbf{Q}) = t \}, \quad t\in [0,1], \quad u \colon \mathbb{R}^3 \to [0, 1]$ - -Wikipedia +

Sujet 6 - Reformulation du MVS par level sets

--- ## Exemple Level sets 2D - + + + + +--- + +## Définition du Level sets (2D) + + + + + + +$\mathcal{V}_t = \{ \textbf{Q} = (X, Y) \in \mathbb{R}^2, u(\textbf{Q}) > t \}, \quad t\in [0,1], \quad u \colon \mathbb{R}^2 \to [0, 1]$ + +Wikipedia + + --- ## Exemple Level sets 3D - + + + --- -## Approximation du volume +## Évolution de $u_t$ - + + +Variational principles, surface evolution, PDEs, level set methods, and the stereo problem - Olivier Faugeras, Renaud Keriven, 1998 + + + +--- + +## Évolution de $u_t$ + + + +Variational principles, surface evolution, PDEs, level set methods, and the stereo problem - Olivier Faugeras, Renaud Keriven, 1998 + + + +--- + +## Évolution de $u_t$ + + Variational principles, surface evolution, PDEs, level set methods, and the stereo problem - Olivier Faugeras, Renaud Keriven, 1998 --- -## Discrétisation de l'espace +## Plan du BE - +
-Wikipedia +- Discrétisation de l'espace +- Initialisation du volume +- Mise à jour du volume +- Résultats + +
+ + --- -## Mise à jour du volume +## Discrétisation de l'espace
Simplification du problème -- Sélection des voxels sur la bordure du "marbre" -- Vérification de la visibilité du voxel par toutes les caméras -- Récupération des couleurs / niveaux de gris visibles par les caméras -- Consensus sur la couleur / niveau de gris du voxel étudié -- Remplissage si consensus, creusage sinon + + + + +$\mathbb{R}^3 \to \mathbb{V} \newline \implies \mathcal{V} = \{ \textbf{v} = (x, y, z) \in \mathbb{V}, u(\textbf{v}) > 0 \}, \quad u \colon \mathbb{V} \to \{0, 1\}$ + + +Wikipedia + + --- ## Initialisation du volume -- Définition d'une taille limite: - - $x \in [-1, 1]$ - - $y \in [-1, 1]$ - - $z \in [-1, 1]$ -- Définition d'une résolution (un pas): $5.10^{-2}$ -- Initialisation des valeurs du marbre: - - Uniforme (`np.zeros` ou `np.ones`) - - Shape From Silouhette (BE4) +- Définition des bornes de notre grille de voxels: + - $x \in \llbracket x_{\min}, x_{\max} \rrbracket$ + - $y \in \llbracket y_{\min}, y_{\max} \rrbracket$ + - $z \in \llbracket z_{\min}, z_{\max} \rrbracket$ +- Définition d'une résolution de voxel: + - Pas trop grand, sinon un voxel projeté sur nos caméras comprends plusieurs pixels + - Pas trop petit, sinon plusieurs voxels se projetent sur le même pixel + - Exemple: $5.10^{-2}\ m$ +- Initialisation des valeurs des voxels: + - Uniforme: $\forall \textbf{Q} = (X, Y, Z) \in \mathbb{R}, u_0(\textbf{Q}) = 1$ + - Shape From Silhouette BE4 CHEH + + --- -## Principe du Shape from Silouhette +## Mise à jour du volume + + + + + +--- + +## Principe du Shape from Silhouette Implementation of a Shadow Carving System for Shape Capture, doi: 10.1109/TDPVT.2002.1024034 + + --- -## Example Shape from Silouhette +## Shape from Silhouette 3D + + + + + +--- + +## Résultat Shape from Silhouette 3D + + --- -## Raytracing +## Shape from Silhouette 2D + + + + +--- + +## Résultat Shape from Silhouette 2D + + + +--- + +## Lancer
de rayon --- -## Raytracing +## Lancer
de rayon --- -## Raytracing +## Lancer
de rayon --- -## Raytracing +## Lancer
de rayon --- -## Résultats +## Itération du Level Set + +
+ + +
+ +--- + +## Résultats (TODO) + +--- + +## Conclusion et axes de développement + +
+ +- Réalisation du SfS en 2D/3D +- Réalisation du MVS par level sets en 2D avec utilisation du SfS +- Résultat en 3D ? + +
diff --git a/torus.blend b/torus.blend index 38cd864..701bb99 100644 Binary files a/torus.blend and b/torus.blend differ