63 lines
3.7 KiB
Markdown
63 lines
3.7 KiB
Markdown
## Projet:
|
|
|
|
Reprise du projet Fresque. Ce projet consiste à applicquer de l'apprentissage sur l'algorithme DeepMatching afin d'ameliorer les performances de reconstruction des freques à parti de fragments.
|
|
|
|
Ce dépot regroupe les codes utilisés. Les fresques (renomées pour être utiliser) et tout autre donnée utile sont disponible [ici](https://nextcloud.auro.re/s/7CPrMWWsX55yRZp)
|
|
|
|
## Étapes possibles:
|
|
|
|
- [ ] Ajouter des couches pour créer des descripteurs plus complexes.
|
|
- [ ] Etudier en parallèle les erreurs d'apprentissage et de test.
|
|
- [ ] Appliquer des defauts sur les données d'entrée (shift linéaire des couleurs) pour forcer le réseau à considerer des gradients.
|
|
- [ ] Ajouter des rotations (faibles car DM le fait déjà).
|
|
- [ ] S'assurer que la carte de correlation est assez précise/creusée.
|
|
- [ ] Potentielement changer la façon dont la vérité terrrain et la carte de correlation sont calculées et changer la fonction de coût (distance entre deux maximums par exemple).
|
|
- [ ] Réduire l'espace de recherche dans un premier temps (ne pas chercher dans toute la fresque mais aider un peu le réseau).
|
|
- [ ] Verifier la couche de MaxPooling et comment DM retrouve la position à la fin avec le backtracking.
|
|
- [ ] Ajouter de la régularisation (surtout si il y a sur-apprentissage).
|
|
- [ ] Verifier le sur-apprentissage en entrainant et testant sur des fresques différentes.
|
|
|
|
## Detail du code de Boyang:
|
|
|
|
Notre code comprend deux parties.
|
|
|
|
1.L'apprentissage de réseaux neuronaux
|
|
"Apprentissage_MSELoss_avec_GPU.ipynb"
|
|
|
|
2.La fonctionnement de réseaux neuronaux
|
|
"Frag_Match_avec_rotation.ipynb"
|
|
***************************************************************************
|
|
Ce programme.ipynb peut être exécuté avec jupyter-notebook.
|
|
|
|
1.Ctrl+Alt+T Ouvrir le terminal
|
|
2.Input "jupyter-notebook" peut ouvrir une interface
|
|
3.Cliquez sur le programme pour l'ouvrir.
|
|
|
|
Il est recommandé d 'utiliser le programme jupyter-Notebook, qui non seulement fonctionne par blocs, mais aussi est configuré pour tous les environnements.
|
|
***************************************************************************
|
|
Si vous voulez utiliser le programme.py
|
|
"Apprentissage_MSELoss_avec_GPU.py"
|
|
et
|
|
"Frag_Match_avec_rotation.py"
|
|
|
|
1.Ctrl+Alt+T Ouvrir le terminal,Vous pouvez voir un "(base)" devant la ligne de commande.
|
|
2.Input instruction “conda activate py37” ,alors (base) va devenir (py37).
|
|
3.J'ai configuré l' environnement de py37 pour qu 'il fonctionne directement dans cet environnement.
|
|
|
|
## Les fichiers et leur utilisation
|
|
|
|
* Apprentissage_initial_2021.ipynb: Code d'apprentissage. Les fonctions sont documentées. Le code attend un dataset généré avec gen_frags.ipynb et entraine un réseau puis le sauvegarde.
|
|
* gen_frags.ipynb: Code de génération des dataset de fragments. Plusieurs types de dataset peuvent être générés avec des paramètres différents. Le code est documenté.
|
|
* Benchmark.ipynb: Code d'évaluation. Le code attend un modèle et un dataset d'évaluation généré avec gen_frags.ipynb (gen_frags.ipynb génère à la fois les fragments de train et de test).
|
|
Ce code renvoit un fichier json comprenant tout les résultats de l'évaluation. Il faut interpreter ce fichier avec display_bench.ipynb.
|
|
* display_bench.ipynb: Affichage des résultats du benchmark. Le code permet de visualiser les résultats mais aussi d'appliquer une rectification (voir le rapport pour conprendre la corrélation
|
|
distance - erreur de placement).
|
|
* view_weight.ipynb: permet de visualier les poids d'un modèle.
|
|
* view_cartes.ipynb: permet de visualier les cartes de corrélation et les cartes de features d'un modèle.
|
|
|
|
|
|
## Contact:
|
|
|
|
Pour toute question relative aux données ou aux codes, vous pouvez contacter Arthur Grisel-Davy <gd@crans.org>.
|
|
|
|
Bon courage !
|