From 4a1afb41f8092577605e5deece89c3e829896c4a Mon Sep 17 00:00:00 2001
From: Hudelot <celine.hudelot@gmail.com>
Date: Thu, 15 Nov 2018 08:53:09 +0100
Subject: [PATCH] Update jour 3

---
 Facerecognition/.DS_Store                     | Bin 0 -> 6148 bytes
 Facerecognition/.idea/Facerecognition.iml     |  11 ++
 .../inspectionProfiles/Project_Default.xml    |  13 ++
 Facerecognition/.idea/misc.xml                |   4 +
 Facerecognition/.idea/modules.xml             |   8 +
 Facerecognition/.idea/workspace.xml           | 167 ++++++++++++++++++
 Facerecognition/Data/tetris_blocks.png        | Bin 0 -> 20782 bytes
 Facerecognition/face_recognition/__init__.py  |   0
 .../face_recognition/test_opencv.py           |  31 ++++
 .../face_recognition/tetris_blocks.png        | Bin 0 -> 20782 bytes
 Facerecognition_S2_database.md                |   3 +
 Facerecognition_S4_rasp.md                    |  36 ++++
 Facerecognition_S4_traitement_pi.md           |   6 +
 TemplateProject_Raspberry.md                  |   4 +-
 14 files changed, 281 insertions(+), 2 deletions(-)
 create mode 100644 Facerecognition/.DS_Store
 create mode 100644 Facerecognition/.idea/Facerecognition.iml
 create mode 100644 Facerecognition/.idea/inspectionProfiles/Project_Default.xml
 create mode 100644 Facerecognition/.idea/misc.xml
 create mode 100644 Facerecognition/.idea/modules.xml
 create mode 100644 Facerecognition/.idea/workspace.xml
 create mode 100644 Facerecognition/Data/tetris_blocks.png
 create mode 100644 Facerecognition/face_recognition/__init__.py
 create mode 100644 Facerecognition/face_recognition/test_opencv.py
 create mode 100644 Facerecognition/face_recognition/tetris_blocks.png
 create mode 100644 Facerecognition_S4_rasp.md
 create mode 100644 Facerecognition_S4_traitement_pi.md

diff --git a/Facerecognition/.DS_Store b/Facerecognition/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..81d06ff0065e6229d8d9652867f8295b1df17035
GIT binary patch
literal 6148
zcmeHK!A=`75FNt;PAb$rAi;4jm3qh_TOx6&Dy>2|a6{UvJ+xKWO#-a6U87{vsDz;X
z4EO~8gg@YO+BdcvmC%Y?)FO{Ge&g|sEx(oR9U>C#aX%#TiAX{jy*ipd2#>Qqk`?P&
z2MV6!Fju`aS1I~Dp%ce|W8mLrfX}W+9ZIOAWa0eYV(j$~EqW94xO6f)x99vWJ<qdI
z*=*j6l~r$TeM8E+tZ&x8#Aj*}mq|GuwUgl|?j0rNS!(U~O67AqNk3$RN!Q=nS4Ej*
z#bBtDv;F`fpFd_rUrpL-T=YkJp4bdXS(CM{zdfDqg^eKGoi&1K*lIN!!QPwJY*v%o
zuflhS$6vo+OfP3w*XA<_+*4X!TKok!Fy{OF77vSD6{qlVyiX_Kr$+<o(hzNr6rEB*
z892*e7Yn?-Mb7WMJ(>SZ`FwKU3p|51Crf0&o(1`0iEFy090QJl|APU(9|9<2WU(@+
zuMRZ21OR$)Yk{qQ{eb~HfRV+@AUqIZQh_E_*b+n7%0ZZPj7K)UGHB9C=#?>#U0K))
zMcBea1Uj5VWYD#a0mr~Y23Aei=lB2M@Adz~B-e8cI0l{-1H$XXoi?^)-_}Q)<F__|
r9z$6;t}>`o(Aei#8~haSK($~jU;`LgtPH{faX$i@2G=+Smde0S_|&$d

literal 0
HcmV?d00001

diff --git a/Facerecognition/.idea/Facerecognition.iml b/Facerecognition/.idea/Facerecognition.iml
new file mode 100644
index 0000000..6711606
--- /dev/null
+++ b/Facerecognition/.idea/Facerecognition.iml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="PYTHON_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+  <component name="TestRunnerService">
+    <option name="PROJECT_TEST_RUNNER" value="Unittests" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/Facerecognition/.idea/inspectionProfiles/Project_Default.xml b/Facerecognition/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..3dc583b
--- /dev/null
+++ b/Facerecognition/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,13 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
+      <option name="ignoredErrors">
+        <list>
+          <option value="W29" />
+          <option value="E501" />
+        </list>
+      </option>
+    </inspection_tool>
+  </profile>
+</component>
\ No newline at end of file
diff --git a/Facerecognition/.idea/misc.xml b/Facerecognition/.idea/misc.xml
new file mode 100644
index 0000000..8d00cef
--- /dev/null
+++ b/Facerecognition/.idea/misc.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (Facerecognition)" project-jdk-type="Python SDK" />
+</project>
\ No newline at end of file
diff --git a/Facerecognition/.idea/modules.xml b/Facerecognition/.idea/modules.xml
new file mode 100644
index 0000000..fd52b34
--- /dev/null
+++ b/Facerecognition/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/Facerecognition.iml" filepath="$PROJECT_DIR$/.idea/Facerecognition.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Facerecognition/.idea/workspace.xml b/Facerecognition/.idea/workspace.xml
new file mode 100644
index 0000000..211412b
--- /dev/null
+++ b/Facerecognition/.idea/workspace.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="8b276c94-c78f-4160-9bdc-2d5ce663a3c1" name="Default" comment="" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="TRACKING_ENABLED" value="true" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file leaf-file-name="test_opencv.py" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/face_recognition/test_opencv.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="296">
+              <caret line="27" column="8" selection-start-line="27" selection-start-column="8" selection-end-line="27" selection-end-column="8" />
+              <folding>
+                <element signature="e#100#137#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="Python Script" />
+      </list>
+    </option>
+  </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/face_recognition/test_opencv.py" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectFrameBounds" extendedState="1">
+    <option name="x" value="40" />
+    <option name="y" value="45" />
+    <option name="width" value="1400" />
+    <option name="height" value="790" />
+  </component>
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="Facerecognition" type="b2602c69:ProjectViewProjectNode" />
+              <item name="Facerecognition" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="Facerecognition" type="b2602c69:ProjectViewProjectNode" />
+              <item name="Facerecognition" type="462c0819:PsiDirectoryNode" />
+              <item name="face_recognition" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="Course" />
+    </panes>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="last_opened_file_path" value="$USER_HOME$" />
+    <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
+  </component>
+  <component name="RunDashboard">
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+  </component>
+  <component name="RunManager">
+    <configuration name="test_opencv" type="PythonConfigurationType" factoryName="Python" temporary="true">
+      <module name="Facerecognition" />
+      <option name="INTERPRETER_OPTIONS" value="" />
+      <option name="PARENT_ENVS" value="true" />
+      <envs>
+        <env name="PYTHONUNBUFFERED" value="1" />
+      </envs>
+      <option name="SDK_HOME" value="" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/face_recognition" />
+      <option name="IS_MODULE_SDK" value="true" />
+      <option name="ADD_CONTENT_ROOTS" value="true" />
+      <option name="ADD_SOURCE_ROOTS" value="true" />
+      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/face_recognition/test_opencv.py" />
+      <option name="PARAMETERS" value="" />
+      <option name="SHOW_COMMAND_LINE" value="false" />
+      <option name="EMULATE_TERMINAL" value="false" />
+      <option name="MODULE_MODE" value="false" />
+    </configuration>
+    <recent_temporary>
+      <list>
+        <item itemvalue="Python.test_opencv" />
+      </list>
+    </recent_temporary>
+  </component>
+  <component name="SvnConfiguration">
+    <configuration />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="40" y="45" width="1400" height="790" extended-state="1" />
+    <editor active="true" />
+    <layout>
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.24945612" />
+      <window_info anchor="bottom" id="GitLabIntegration" />
+      <window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.32886904" />
+      <window_info anchor="bottom" id="Version Control" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Python Console" weight="0.32886904" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <window_info anchor="bottom" id="Find" order="1" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
+      <window_info id="Structure" order="1" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
+      <window_info anchor="bottom" id="Message" order="0" />
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="TODO" order="6" />
+    </layout>
+  </component>
+  <component name="VcsContentAnnotationSettings">
+    <option name="myLimit" value="2678400000" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/face_recognition/test_opencv.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="296">
+          <caret line="27" column="8" selection-start-line="27" selection-start-column="8" selection-end-line="27" selection-end-column="8" />
+          <folding>
+            <element signature="e#100#137#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+  </component>
+  <component name="masterDetails">
+    <states>
+      <state key="ScopeChooserConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+    </states>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Facerecognition/Data/tetris_blocks.png b/Facerecognition/Data/tetris_blocks.png
new file mode 100644
index 0000000000000000000000000000000000000000..a794d0db0500a953b79af3367b22d41fc57a1330
GIT binary patch
literal 20782
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
CJ2vnD

literal 0
HcmV?d00001

diff --git a/Facerecognition/face_recognition/__init__.py b/Facerecognition/face_recognition/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/Facerecognition/face_recognition/test_opencv.py b/Facerecognition/face_recognition/test_opencv.py
new file mode 100644
index 0000000..d1785f8
--- /dev/null
+++ b/Facerecognition/face_recognition/test_opencv.py
@@ -0,0 +1,31 @@
+from __future__ import print_function
+import imutils
+import cv2
+
+
+def load_and_display_image(filename):
+    image = cv2.imread(filename)
+    cv2.imshow("Image", image)
+    cv2.waitKey(0)
+    return image
+
+
+
+
+def extract_edges(filename):
+    image = load_and_display_image(filename)
+
+    cnts = cv2.findContours(image.copy(), cv2.RETR_EXTERNAL,
+	cv2.CHAIN_APPROX_SIMPLE)
+    output = image.copy()
+
+    # loop over the contour
+    for c in cnts:
+	# draw each contour on the output image with a 3px thick purple
+	# outline, then display the output contours one at a time
+	    cv2.drawContours(output, [c], -1, (240, 0, 159), 3)
+	    cv2.imshow("Contours", output)
+	    cv2.waitKey(0)
+
+extract_edges("../Data/tetris_blocks.png")
+
diff --git a/Facerecognition/face_recognition/tetris_blocks.png b/Facerecognition/face_recognition/tetris_blocks.png
new file mode 100644
index 0000000000000000000000000000000000000000..a794d0db0500a953b79af3367b22d41fc57a1330
GIT binary patch
literal 20782
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
CJ2vnD

literal 0
HcmV?d00001

diff --git a/Facerecognition_S2_database.md b/Facerecognition_S2_database.md
index 81ecfcc..46c64d2 100644
--- a/Facerecognition_S2_database.md
+++ b/Facerecognition_S2_database.md
@@ -4,3 +4,6 @@
 Tout est dit dans le titre ! 
 Appliquez la méthodologie vue jusqu'alors pour developper cette fonctionnalité. Il faudra nous rendre un document avec votre découpage en étapes.
 
+Petite précision. Ici nous n'attendons pas une base de données de type SQL. Il faut reflechir à comment nommer et structurer vos fichiers sur disque pour pouvoir assicier une image à la personne qu'elle représente au moment de l'apprentissage.
+
+
diff --git a/Facerecognition_S4_rasp.md b/Facerecognition_S4_rasp.md
new file mode 100644
index 0000000..b88721a
--- /dev/null
+++ b/Facerecognition_S4_rasp.md
@@ -0,0 +1,36 @@
+# Fonctionnalité 6 : Un Raspberry Pi en ordre de marche pour la reconnaissance visuelle
+
+A ce stade de votre projet vous devriez avoir :
+
+ + Pris en main votre Raspberry 
+ + Réaliser une chaîne de traitement d'images à l'aide d'une bibliothèque de vision par ordinateur et d'apprentissage.
+ + Construit une petite base *structurée* de visage
+
+ 
+ L'objectif ici est de mettre tout cela en marche ensemble.
+ 
+ 
+ ## Etape 1 : Reconnaissance de visages sur Raspberry Pi
+ 
+ 
+Vous allez à nouveau suivre ici un tutorial d'A. Rosenbrock qui est [ici](https://www.pyimagesearch.com/2018/06/25/raspberry-pi-face-recognition/).
+
+Pour toutes les applications autour de la vision par ordinateur à base d'OPENCV, le site [https://www.pyimagesearch.com](https://www.pyimagesearch.com) est très intéressant.
+
+Nous vous avons fait utiliser des briques existantes et si vous voulez en savoir plus sur comment fonctionne ces briques et notamment les briques qui utilise de l'apprentissage profond, il y a de très bons cours en ligne comme :
+
+ + Le cours de Stanford [ici](http://cs231n.stanford.edu/)
+ + Les activités du site [Fast.ai](https://www.fast.ai/)
+
+
+
+Et vous aurez bien entendu un certain nombre de cours dans votre cursus qui vous permettront de comprendre les fondements et de les appliquer de ces disciplines dans le cursus de CentraleSupélec.
+
+
+Si vous avez fini le tutoriel, vous pouvez maintenant passer à la [**Fonctionnalité 7** : Effectuer une reconnaissance sur une image de votre base et afficher le résultat du traitement.](./Facerecognition_S4_traitement_pi.md)
+ 
+ 
+ 
+
+
+ 
\ No newline at end of file
diff --git a/Facerecognition_S4_traitement_pi.md b/Facerecognition_S4_traitement_pi.md
new file mode 100644
index 0000000..6841657
--- /dev/null
+++ b/Facerecognition_S4_traitement_pi.md
@@ -0,0 +1,6 @@
+# Fonctionnalité 7 : Effectuer une reconnaissance sur une image de votre base et afficher le résultat du traitement
+
+
+Nous sommes ici très proche d'avoir un premier porduit. L'objectif de cette fonctionnalité est d'intégrer l'ensemble des briques réalisées précedemment pour faire tourner un module de reconnaissance de visages sur un Raspberry pi et le tester et l'evaluer sur votre base et donc avec les élèves de la classe.
+
+**A vous de jouez !**
\ No newline at end of file
diff --git a/TemplateProject_Raspberry.md b/TemplateProject_Raspberry.md
index 7b21b25..65f2bfd 100644
--- a/TemplateProject_Raspberry.md
+++ b/TemplateProject_Raspberry.md
@@ -70,8 +70,8 @@ Ce concept de MVP a été introduit par Eric Ries, l'auteur de [The Lean Startup
 ### **Objectif 2 : (MVP) Reconnaitre un visage avec un Raspberry Pi** (JOUR 3)
 
  + **Sprint 4 : Prise en main de votre Raspberry Pi**
- 	+ [**Fonctionnalité 6** : Un Raspberry Pi en ordre de marche pour la reconnaissance visualle](./Facerecognition_S1_displayimage.md)
- 	+ [**Fonctionnalité 2** : Effectuer un traitement sur une image et afficher le résultat du traitement.](./Facerecognition_S1_traitement.md)
+ 	+ [**Fonctionnalité 6** : Un Raspberry Pi en ordre de marche pour la reconnaissance visuelle](./Facerecognition_S4_rasp.md)
+ 	+ [**Fonctionnalité 7** : Effectuer une reconnaissance sur une image de votre base et afficher le résultat du traitement.](./Facerecognition_S4_traitement_pi.md)
 
 ### **Objectif 3 : Ajouter des utilisateurs : reconnaître les visages du groupe projet** (JOUR 4)
 **<span style='color:red'>(A venir)</span>**
-- 
GitLab