## 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.

