Marcel0123 commited on
Commit
33b01c1
·
verified ·
1 Parent(s): f83a852

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -3
app.py CHANGED
@@ -173,10 +173,48 @@ else:
173
  example_list = [[p] for p in example_paths]
174
  CACHE_EXAMPLES = bool(example_list)
175
 
176
- # CSS (groene emotietekst)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  custom_css = """
178
  #emotie-uitslag { color: #16a34a; }
179
  #emotie-uitslag h1, #emotie-uitslag h2, #emotie-uitslag h3 { margin: 0.25rem 0; }
 
 
 
 
 
 
 
 
 
 
 
 
180
  """
181
 
182
  with gr.Blocks(css=custom_css) as demo:
@@ -194,11 +232,11 @@ with gr.Blocks(css=custom_css) as demo:
194
  output_image = gr.Image(type="numpy", label="Resultaat gezichtsuitdrukking")
195
  emotion_md = gr.Markdown("## **Nog geen resultaat**", elem_id="emotie-uitslag")
196
 
197
- # Rij 2: Links mugshots (Examples), Rechts statistieken
198
  with gr.Row():
199
  with gr.Column():
200
  gr.Markdown("**Voorbeelden (klik om te testen):**")
201
- examples_component = gr.Examples(
202
  examples=example_list,
203
  inputs=input_image,
204
  outputs=[output_image, emotion_md], # <- 2 outputs
@@ -206,6 +244,9 @@ with gr.Blocks(css=custom_css) as demo:
206
  examples_per_page=20,
207
  cache_examples=CACHE_EXAMPLES
208
  )
 
 
 
209
  with gr.Column():
210
  stats_image = gr.Image(
211
  label="Statistieken",
 
173
  example_list = [[p] for p in example_paths]
174
  CACHE_EXAMPLES = bool(example_list)
175
 
176
+ # Uitlegblok (HTML) – netjes opgemaakt
177
+ INFO_HTML = """
178
+ <div>
179
+ <h3>Hoe werkt deze gezichtsuitdrukking-herkenner?</h3>
180
+ <p>Dit model kan automatisch acht emoties herkennen in een foto van een gezicht:</p>
181
+ <ul>
182
+ <li>neutraal</li>
183
+ <li>blij</li>
184
+ <li>verdrietig</li>
185
+ <li>verrast</li>
186
+ <li>boos</li>
187
+ <li>walging</li>
188
+ <li>angstig</li>
189
+ <li>minachting</li>
190
+ </ul>
191
+ <p>Je kunt hierboven een eigen foto uploaden of een voorbeeld aanklikken. Het systeem doorloopt twee stappen:</p>
192
+ <ol>
193
+ <li><b>Gezichtsdetectie</b> – met <i>YuNet</i> wordt het gezicht in de afbeelding gelokaliseerd.</li>
194
+ <li><b>Emotieherkenning</b> – het gevonden gezicht wordt door <i>MobileFaceNet</i> geanalyseerd om de meest waarschijnlijke emotie te voorspellen.</li>
195
+ </ol>
196
+ <p>Deze modellen zijn getraind met <b>machine learning</b>. Voor dit type taak <b>is supervised training gebruikt</b>:
197
+ er is gewerkt met een grote dataset van gezichten waarbij elke foto een label (zoals “blij” of “boos”) heeft. Tijdens het trainen leert het model welke combinaties van gezichtskenmerken bij welke emotie horen.</p>
198
+ <p>Door heel veel voorbeelden te zien, kan het model ook bij nieuwe foto’s een inschatting maken. Het kijkt niet naar één detail, maar naar patronen in het hele gezicht.</p>
199
+ </div>
200
+ """
201
+
202
+ # CSS (groene emotietekst + uitlegblok styling)
203
  custom_css = """
204
  #emotie-uitslag { color: #16a34a; }
205
  #emotie-uitslag h1, #emotie-uitslag h2, #emotie-uitslag h3 { margin: 0.25rem 0; }
206
+
207
+ /* Uitlegblok onder de mugshots */
208
+ #uitleg-blok {
209
+ background: #f3f4f6; /* lichtgrijs */
210
+ border: 1px solid #e5e7eb; /* subtiele rand */
211
+ border-radius: 10px;
212
+ padding: 12px 14px;
213
+ }
214
+ #uitleg-blok h3 { margin: 6px 0 8px 0; }
215
+ #uitleg-blok p { margin: 6px 0; }
216
+ #uitleg-blok ul { margin: 6px 0 6px 18px; }
217
+ #uitleg-blok ol { margin: 6px 0 6px 18px; }
218
  """
219
 
220
  with gr.Blocks(css=custom_css) as demo:
 
232
  output_image = gr.Image(type="numpy", label="Resultaat gezichtsuitdrukking")
233
  emotion_md = gr.Markdown("## **Nog geen resultaat**", elem_id="emotie-uitslag")
234
 
235
+ # Rij 2: Links mugshots (Examples + uitleg), Rechts statistieken
236
  with gr.Row():
237
  with gr.Column():
238
  gr.Markdown("**Voorbeelden (klik om te testen):**")
239
+ gr.Examples(
240
  examples=example_list,
241
  inputs=input_image,
242
  outputs=[output_image, emotion_md], # <- 2 outputs
 
244
  examples_per_page=20,
245
  cache_examples=CACHE_EXAMPLES
246
  )
247
+ # Uitlegblok onder de mugshots
248
+ gr.HTML(INFO_HTML, elem_id="uitleg-blok")
249
+
250
  with gr.Column():
251
  stats_image = gr.Image(
252
  label="Statistieken",