diff --git a/README.md b/README.md index 2bf595a..813ef99 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,40 @@ -# 3nar +
+

+ 3NAR + (n nearest neighbor avrage rapid) +

+

+ par Ludovic CASTIGLIA +

+
+
+

+ Résumé du projet +

+

+ Le but de ce projet est de produire un code python qui implémente l'algorithme KNN naïf et 3nar (une version optimisé de l'algorithme KNN naïf). Comparer les performences de ces deux algorithmes. Puis uttiliser cette algorythme dans des cas réel d'uttilisation comme par exemple du traitement d'image (floutage, réduction de bruit ou autre). Pour trouver les valeurs RGB d'un nouveau pixel, nous calculons la moyenne ou la médiane des valeurs R G et B des n pixels voisins. Uttilisant donc l'algorithme KNN non plus pour de la classification mais pour de la régression. +

+
+ +
+

+ Principe de l'algorithme 3nar +

+

+ Le but de cette algorithme repose sur le fait de ne pas avoir à calculer la distance entre tout les points de l'espace et le point que l'on cherche pour trouver les n plus proches voisins. En effet, calculer la distance avec tout les autres points est un processus couteux et ce plus le nombre de points augmente dans notre espace. Ainsi pour 3nar, nous allons diviser l'espace en région. Lorsque nous voudrons trouver les voisins d'un point, nous trouvons dans quel espace il est situé (calculé en fonction de ses coordonées), puis nous calculons la distance avec tout les points de cette région, nous selectionnons ensuite tout les points qui sont à une distance inferieur à la distance entre le point et la bordure de cette espace. Puis si il n'y a pas assez de point sélectioné, on trouve les espaces voisins à notre espace et on recommence à selectioner les points mais dans notre nouvel espace. On répète ses opérations jusqu'a trouver les n plus proche voisins de notre point dans l'espace. Nous pouvons également enregister le résultat de certaine opérations récurente comme trouver les coordonées des espaces autour d'un espace en meimoire. Cela nous permet d'éviter de les calculers plusieurs fois et ainsi nous fait gagnier en complexité. Remplaçant ainsi une opération qui peut être en O(n²) ou pire en O(1) car nous n'avons à calculer qu'une seul fois ce résultat dans toutes l'éxecution de notre program. +

+
+ +
+

+ Calendirer du projet +

+

+ Dans un premier temps, je vais me concentrer sur la réalisation des deux algorithmes naïf et 3nar. J'héstime que j'aurais fini cette tâche autour du 29/01/2025. Puis une fois que j'aurais réalisé ces algorithmes, je vais développer les exemples d'uttilisations. En fonction de la complexité des exemples, celà peut prendre plus ou moins de temps mais je devrais être capable de finir avant le 31/01/2025 au soir. Enfin, durant le weekend du 01|02 fevrier, je vais réaliser le rapport final. Avant de soumettre mon code et mon rapport le 02/02/2025 au soir. +

+
+ + \ No newline at end of file diff --git a/sujet.pdf b/sujet.pdf new file mode 100644 index 0000000..cfa9933 Binary files /dev/null and b/sujet.pdf differ