Skip to content

erwan-reinders/HAI927I-CNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Débruitage par CNN d’images chiffrées ou secrètes bruitées

Bienvenu dans le dépot de projet pour l'UE Images, Sécurité et Deeplearning. Ce dépot regroupe notre travail sur le débruitage d'images chiffrées.

Encadrants :

Participants :


Problématique

Nous avons vu en TP que si une image chiffrée était bruitée alors le déchiffrement était rendu difficile. L’objectif de ce projet de corriger une image chiffrée ou secrète qui a été bruitée par débruitage d’images. Nous nous intéresserons particulièrement aux chiffrements par bloc et au partage d’images secrètes basé sur la génération de polynômes comme proposé par Shamir en 1979. Le débruitage pourra se faire dans un premier temps à partir d’approches sans apprentissage profond, et dans un second temps en utilisant les réseaux de neurones convolutifs. Il s’agira d’évaluer et de comparer les résultats obtenus par différentes méthodes.

Missions

  1. Décrire un état de l'art sur le débruitage d’images avec ou sans apprentissage profond.
  2. Décrire un état de l’art sur le chiffrement d’images par bloc et sur le partage d’images secrètes.
  3. Choisir une méthode de débruitage sans apprentissage profond et l’implémenter.
  4. Tester et analyser les résultats obtenus sur une base de données. Proposer une évaluation des résultats obtenus.
  5. Choisir une méthode basée sur un réseau de neurones convolutifs et l’implémenter. Tester, analyser les résultats obtenus et effectuer une comparaison avec les résultats obtenus précédemment (en utilisant la même base de données).
  6. Appliquer la méthode sans apprentissage profond et celle utilisant les réseaux de neurones convolutifs (sans réentraîner le modèle) sur une nouvelle base de données et analyser les résultats obtenus.
  7. Créer une démonstration sous la forme d'un logiciel avec une interface.

Détails techniques

Ce projet est fait via Python. Nous avons utilisé GoogleColab comme principal environnement de dévelopement. Nous avons utilisé les librairies :

  • - Keras (TensorFlow)
  • - OpenCV 2

Explication du code

test_et_generation_autoencodeurs.ipynb

Ce fichier comporte nos travaux sur les autoencodeurs. En première partie, il y a les premiers jets sur la défiinition d'un modèle grâce à un tutoriel. Ensuite, nous avons effectué des tests nous permettant de mieux comprendre l'architecture et les capacités d'un autoencodeur. Enfin, dans la troisième partie, il y a nos travaux sur les autoencodeurs utilisés dans le projet, ainsi que leurs évaluations et leurs applications.

Pipeline_processing.ipynb

Dans ce fichier, nous avons mis en place dans un premier temps des fonctions de manipulation d'images [Initialisation] (affichage, chargement d'images, prétraitements potentiels, bruitage). Ensuite, nous avons réutilisé Pycriptodome pour le chiffrement. Nous avons ensuite mis en place des cellules d'exécution, pour enfin mettre en place un Pipeline de traitement [Scenarios > Working Pipeline] depuis lequel on peut définir des cellules d'exécution simplifiées.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published