Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,10 @@ docker-configurations/services/comfyui-qwen/ComfyUI/

# GenAI Notebooks Data
MyIA.AI.Notebooks/GenAI/data/
# Cache du dataset tiny_nerf (Lego 100x100, telecharge au runtime, provenance UCSD) -- serie 3D #19949
# (le second motif couvre une execution papermill --cwd . depuis la racine du depot)
MyIA.AI.Notebooks/GenAI/3D/data/
/data/tiny_nerf_data.npz

# GenAI Notebooks Outputs and Logs
MyIA.AI.Notebooks/GenAI/outputs/*
Expand Down
1,518 changes: 1,518 additions & 0 deletions MyIA.AI.Notebooks/GenAI/3D/3D-01-NeRF-From-Scratch.ipynb

Large diffs are not rendered by default.

1,675 changes: 1,675 additions & 0 deletions MyIA.AI.Notebooks/GenAI/3D/3D-02-NeRF-Critic.ipynb

Large diffs are not rendered by default.

44 changes: 44 additions & 0 deletions MyIA.AI.Notebooks/GenAI/3D/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# 3D - Neural Rendering : NeRF et représentations neuronales de scènes

[← Documentation GenAI](../README.md) | [→ NeRF from scratch (3D-01)](3D-01-NeRF-From-Scratch.ipynb)

Le rendu 3D neuronal a ouvert une voie différente de la géométrie discrète classique (maillages, voxels, nuages de points) : **paramétrer la scène entière par un réseau de neurones continu**, entraîné uniquement depuis des images 2D calibrées. Cette série introduit le geste fondateur — NeRF (Mildenhall et al., ECCV 2020) — entièrement from scratch, puis mesure ses limitations structurelles, celles-là mêmes qui ont motivé le champ suivant (Mip-NeRF, Instant-NGP, 3D Gaussian Splatting).

Elle comble la lacune « 3D (nuages de points, NeRF, splatting) : confirmé absent » identifiée par l'audit [EPIC #18220](https://github.com/jsboige/CoursIA/issues/18220) pli 3, et constitue le Pli 2 de l'[Epic origami #18605](https://github.com/jsboige/CoursIA/issues/18605) (coord-based neural representations).

## Fil rouge : construire, puis mettre à l'épreuve

L'objectif fil rouge de la série est de **comprendre NeRF de l'intérieur** — chaque équation du papier (§3-§5) devient du code auditable ligne à ligne — puis de **mesurer pourquoi le champ l'a remplacé** : chaque limitation est démontrée par une expérience courte et déterministe, pas par une affirmation.

## Acquis d'apprentissage

À l'issue de la série, l'apprenant sait :

- **Écrire un pipeline NeRF complet** : encodage positionnel $\gamma$ (pont avec les Fourier features de [`3.4d`](../../ML/DataScienceWithAgents/03-DeepLearning/3.4d-Fourier-Features-Biais-Spectral-Python.html)), MLP à sauts de connexion, échantillonnage stratifié le long des rayons, compositing alpha différentiable, quadrature de l'équation de rendu.
- **Relier représentation continue et biais spectral** : pourquoi un MLP brut ne peut pas apprendre les hautes fréquences d'une scène, et ce que l'encodage positionnel change.
- **Mesurer les limites d'une architecture** : temps d'entraînement par scène, effondrement sans Fourier features, sensibilité aux poses, échelle unique du rayon, coût de l'échantillonnage volumique.
- **Situer les successeurs** : Mip-NeRF (frustum conique), Instant-NGP (tables de hachage), 3DGS (gaussiennes explicites) — et pourquoi chaque correctif change de représentation plutôt que de régler le MLP.

## Notebooks

| Notebook | Contenu | Outils |
|----------|---------|--------|
| [3D-01-NeRF-From-Scratch](3D-01-NeRF-From-Scratch.ipynb) | Pipeline NeRF complet from scratch en PyTorch : scène jouet volumétrique analytique, entraînement, tranches de densité, évaluation MSE/PSNR sur la scène Blender Lego 100×100 du papier | PyTorch, matplotlib |
| [3D-02-NeRF-Critic](3D-02-NeRF-Critic.ipynb) | Les cinq limitations historiques de NeRF, chacune mesurée sur la scène jouet : paliers de qualité, ablation de l'encodage, bruit de pose, zoom multi-échelle, coût de l'échantillonnage | PyTorch, matplotlib |

## Prérequis et exécution

- **Prérequis conceptuel** : biais spectral et Fourier features ([`3.4d-Fourier-Features`](../../ML/DataScienceWithAgents/03-DeepLearning/3.4d-Fourier-Features-Biais-Spectral-Python.html), Pli 1 de l'Epic #18605).
- **Exécution** : PyTorch (CPU jouable pour la scène jouet ; GPU recommandé — ~2-3 min pour 3D-01, ~10-12 min pour 3D-02 sur RTX 3090). Les seeds sont fixés : les résultats sont reproductibles.
- **Dataset** : `tiny_nerf_data.npz` (scène Blender « Lego » 100×100, © les auteurs de NeRF) téléchargé au premier lancement depuis la page projet UCSD des auteurs, mis en cache dans `data/` (hors dépôt).

## Suite de la série (plis suivants de l'Epic #18605)

- **Pli 3 — R-gsplat** : la transition NeRF → 3D Gaussian Splatting (Kerbl et al., SIGGRAPH 2023) avec `nerfstudio-project/gsplat` comme moteur CUDA — du volume continu au nuage de gaussiennes explicites.

## Références

- Mildenhall, Srinivasan, Tancik, Barron, Ramamoorthi, Ng — *NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis*, ECCV 2020 ([arXiv:2003.08934](https://arxiv.org/abs/2003.08934)) — PDF archivé dans le gisement `G:\Mon Drive\MyIA\IA\Bibliographie IA`.
- Tancik et al. — *Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains*, NeurIPS 2020 ([arXiv:2006.10739](https://arxiv.org/abs/2006.10739)).
- Barron et al. — *Mip-NeRF*, ICCV 2021 ([arXiv:2103.13415](https://arxiv.org/abs/2103.13415)).
- Müller et al. — *Instant-NGP*, SIGGRAPH 2022 ; Kerbl et al. — *3D Gaussian Splatting*, SIGGRAPH 2023.
1 change: 1 addition & 0 deletions MyIA.AI.Notebooks/GenAI/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ L'IA générative a transformé la création de contenu en 2024-2026. Un dévelo
| 11 | Plateformes-Conversationnelles - OWUI & AI-Engine | [README catégorie](Plateformes-Conversationnelles/README.md) | ~14h+ | Tour OWUI + Playwright E2E (30+ tests) + AI-Engine WordPress |
| 12 | CaseStudies - Projets étudiants | [README complet](CaseStudies/README.md) | (durée libre) | Barbie/Shrek, recettes, chatbot médical, Fort Boyard |
| 13 | Security - Oversight, contrôle et surface d'attaque des outils | [README complet](Security/README.md) | (durée libre) | Scaling laws d'oversight, interprétabilité du refus, attaques/défenses MCP |
| 14 | 3D - Neural rendering : NeRF et ses limites | [README complet](3D/README.md) | ~3h | NeRF from scratch + cinq limitations mesurées (Pli 2 Epic #18605) |

## Activités de cours

Expand Down
6 changes: 5 additions & 1 deletion _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ project:
- "MyIA.AI.Notebooks/GameTheory/SocialChoice/README.md"
- "MyIA.AI.Notebooks/GameTheory/SocialChoice/social_choice_lean_peters/README.md"
- "MyIA.AI.Notebooks/GenAI/00-GenAI-Environment/README.md"
- "MyIA.AI.Notebooks/GenAI/3D/README.md"
- "MyIA.AI.Notebooks/GenAI/activites/README.md"
- "MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/README.md"
- "MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/README.md"
Expand Down Expand Up @@ -497,6 +498,7 @@ project:
- "scripts/genai-stack/_archive/ARCHIVE_README.md"
- "scripts/genai-stack/README.md"
- "scripts/genai-stack/workflows/qwen_image_2_1/README.md"
- "scripts/hashlife/README.md"
- "scripts/kernels/pyphi-iit/README.md"
- "scripts/lean/README.md"
- "scripts/notebook_tools/_archive/README.md"
Expand Down Expand Up @@ -721,7 +723,7 @@ project:
# Notebooks rendus en HTML (EPIC #10921, pilote Search #10923).
# Liste explicite — globs non etendus en Quarto 1.7.
# Execution desactivee + echo: true au niveau racine (_quarto.yml).
# Sous-arbres rendus : MyIA.AI.Notebooks/CaseStudies/, MyIA.AI.Notebooks/Complexity/, MyIA.AI.Notebooks/Compression/, MyIA.AI.Notebooks/GameTheory/, MyIA.AI.Notebooks/GenAI/00-GenAI-Environment/, MyIA.AI.Notebooks/GenAI/Audio/, MyIA.AI.Notebooks/GenAI/CaseStudies/, MyIA.AI.Notebooks/GenAI/FallacyDetection/, MyIA.AI.Notebooks/GenAI/FineTuning/, MyIA.AI.Notebooks/GenAI/Image/, MyIA.AI.Notebooks/GenAI/Integrations-DotNet/, MyIA.AI.Notebooks/GenAI/Integrations-DotNet/Aspire/, MyIA.AI.Notebooks/GenAI/Plateformes-Conversationnelles/, MyIA.AI.Notebooks/GenAI/PostTraining/, MyIA.AI.Notebooks/GenAI/RAG-et-Memoire-Semantique/, MyIA.AI.Notebooks/GenAI/Security/, MyIA.AI.Notebooks/GenAI/SemanticKernel/, MyIA.AI.Notebooks/GenAI/Texte/, MyIA.AI.Notebooks/GenAI/Vibe-Coding/, MyIA.AI.Notebooks/GenAI/Video/, MyIA.AI.Notebooks/IIT/, MyIA.AI.Notebooks/ML/, MyIA.AI.Notebooks/NLP/, MyIA.AI.Notebooks/Probas/, MyIA.AI.Notebooks/QuantConnect/, MyIA.AI.Notebooks/RL/, MyIA.AI.Notebooks/Search/, MyIA.AI.Notebooks/Sudoku/, MyIA.AI.Notebooks/SymbolicAI/, MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/, MyIA.AI.Notebooks/SymbolicAI/Lean/, MyIA.AI.Notebooks/SymbolicAI/Planners/, MyIA.AI.Notebooks/SymbolicAI/SMT/, MyIA.AI.Notebooks/SymbolicAI/SemanticWeb/, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/, MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/, MyIA.AI.Notebooks/SymbolicAI/Tweety/, MyIA.AI.Notebooks/cross-series/.
# Sous-arbres rendus : MyIA.AI.Notebooks/CaseStudies/, MyIA.AI.Notebooks/Complexity/, MyIA.AI.Notebooks/Compression/, MyIA.AI.Notebooks/GameTheory/, MyIA.AI.Notebooks/GenAI/00-GenAI-Environment/, MyIA.AI.Notebooks/GenAI/3D/, MyIA.AI.Notebooks/GenAI/Audio/, MyIA.AI.Notebooks/GenAI/CaseStudies/, MyIA.AI.Notebooks/GenAI/FallacyDetection/, MyIA.AI.Notebooks/GenAI/FineTuning/, MyIA.AI.Notebooks/GenAI/Image/, MyIA.AI.Notebooks/GenAI/Integrations-DotNet/, MyIA.AI.Notebooks/GenAI/Integrations-DotNet/Aspire/, MyIA.AI.Notebooks/GenAI/Plateformes-Conversationnelles/, MyIA.AI.Notebooks/GenAI/PostTraining/, MyIA.AI.Notebooks/GenAI/RAG-et-Memoire-Semantique/, MyIA.AI.Notebooks/GenAI/Security/, MyIA.AI.Notebooks/GenAI/SemanticKernel/, MyIA.AI.Notebooks/GenAI/Texte/, MyIA.AI.Notebooks/GenAI/Vibe-Coding/, MyIA.AI.Notebooks/GenAI/Video/, MyIA.AI.Notebooks/IIT/, MyIA.AI.Notebooks/ML/, MyIA.AI.Notebooks/NLP/, MyIA.AI.Notebooks/Probas/, MyIA.AI.Notebooks/QuantConnect/, MyIA.AI.Notebooks/RL/, MyIA.AI.Notebooks/Search/, MyIA.AI.Notebooks/Sudoku/, MyIA.AI.Notebooks/SymbolicAI/, MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/, MyIA.AI.Notebooks/SymbolicAI/Lean/, MyIA.AI.Notebooks/SymbolicAI/Planners/, MyIA.AI.Notebooks/SymbolicAI/SMT/, MyIA.AI.Notebooks/SymbolicAI/SemanticWeb/, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/, MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/, MyIA.AI.Notebooks/SymbolicAI/Tweety/, MyIA.AI.Notebooks/cross-series/.
- "MyIA.AI.Notebooks/CaseStudies/Diagnostic-Medical/solution/Diagnostic-Medical.ipynb"
- "MyIA.AI.Notebooks/CaseStudies/Diagnostic-Medical/student/Diagnostic-Medical.ipynb"
- "MyIA.AI.Notebooks/CaseStudies/Oncology-Planning/solution/Oncology-Planning.ipynb"
Expand Down Expand Up @@ -863,6 +865,8 @@ project:
- "MyIA.AI.Notebooks/GenAI/00-GenAI-Environment/00-5-ComfyUI-Local-Test.ipynb"
- "MyIA.AI.Notebooks/GenAI/00-GenAI-Environment/00-6-Local-Docker-Deployment.ipynb"
- "MyIA.AI.Notebooks/GenAI/00-GenAI-Environment/00-7-Terminal-Long-Runs.ipynb"
- "MyIA.AI.Notebooks/GenAI/3D/3D-01-NeRF-From-Scratch.ipynb"
- "MyIA.AI.Notebooks/GenAI/3D/3D-02-NeRF-Critic.ipynb"
- "MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-1-OpenAI-TTS-Intro.ipynb"
- "MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-2-OpenAI-Whisper-STT.ipynb"
- "MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-3-Basic-Audio-Operations.ipynb"
Expand Down
1 change: 1 addition & 0 deletions scripts/regen_quarto_render.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
"MyIA.AI.Notebooks/NLP/", # tranche 19 #18423 (5, TAL/TALN)
"MyIA.AI.Notebooks/QuantConnect/", # tranche 19 #18423 (203 rendus, 221 git-tracked - 18 sous /archive/ ; sous-familles : projects, Python, research, ML-Training-Pipeline, partner-course-quant-trading, kelly_lean)
"MyIA.AI.Notebooks/GenAI/00-GenAI-Environment/", # tranche 19 #18423 (6)
"MyIA.AI.Notebooks/GenAI/3D/", # serie 3D Pli 2 #19949 (2, NeRF from scratch + critique des limitations)
"MyIA.AI.Notebooks/GenAI/Integrations-DotNet/Aspire/", # tranche 18 #13581 (9, deplace depuis GenAI/Aspire/ en tranche T2 hub .NET) -- couvert aussi par Integrations-DotNet/ ci-dessous (dedup OK)
"MyIA.AI.Notebooks/GenAI/Integrations-DotNet/", # tranche 19 #18423 (15 sur 4 sous-familles : Aspire, CopilotSDK, EFCore, Orleans ; 9 deja couverts via Aspire ci-dessus, 6 nouveaux uniques)
"MyIA.AI.Notebooks/GenAI/Audio/", # tranche 15 #10923 (30)
Expand Down
Loading