0% fanden dieses Dokument nützlich (0 Abstimmungen)
7 Ansichten72 Seiten

Endbericht

Das Dokument beschreibt ein Projekt zur Anwendung von Deep Learning zur Erkennung von Müdigkeit und Schläfrigkeit bei Fahrern in Echtzeit. Es betont die Bedeutung der Gesichtserkennung und der automatischen Analyse von Gesichtsausdrücken zur Verbesserung der Verkehrssicherheit. Die Arbeit umfasst verschiedene Kapitel über künstliche Intelligenz, maschinelles Lernen und die Implementierung eines Algorithmus zur Überwachung des Fahrerverhaltens.

Hochgeladen von

ScribdTranslations
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
7 Ansichten72 Seiten

Endbericht

Das Dokument beschreibt ein Projekt zur Anwendung von Deep Learning zur Erkennung von Müdigkeit und Schläfrigkeit bei Fahrern in Echtzeit. Es betont die Bedeutung der Gesichtserkennung und der automatischen Analyse von Gesichtsausdrücken zur Verbesserung der Verkehrssicherheit. Die Arbeit umfasst verschiedene Kapitel über künstliche Intelligenz, maschinelles Lernen und die Implementierung eines Algorithmus zur Überwachung des Fahrerverhaltens.

Hochgeladen von

ScribdTranslations
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Universität Abdelmalek Essaadi

Fakultät für Physik

Master: Eingebettete Systeme und Robotik

PROJET: intelligence artificielle

Titel

ANWENDUNG VON DEEP LEARNING ZUR DETEKTIONS


SCHLAFLOSIGKEIT UND MÜDIGKEIT,

Echtzeit-Fahrer.

REALISIERT VON: EINGEKREIST VON:

• ABDLAOUI Hassna Herr: NCIR NOAMAN

• AZEROUAL Zineb PROFESSOR AN DER FSTH

• BEN AMAR YEDIR

• OU-ICHEN Mohamed

UNTERSTÜTZT AM 21.06.2023

2022/2023
Danksagungen

Zunächst möchten wir als Duo Allah für all das Gute, die Gesundheit und den Mut danken.
was uns gegeben wurde, um diese Arbeit zu erledigen.
Diese Arbeit ist das Resultat der Bemühungen verschiedener Personen. Aufrichtig gesagt, ist es uns unmöglich
d’exprimer à sa juste valeur notre reconnaissance et nos remerciements à toute personne qui a apporté sa
Beitrag und Mitarbeit an der Realisierung dieser Arbeit. Zunächst möchten wir danken
Sehr herzlich unser Betreuer Herr NCIR NOAMAN. Sie haben uns unter Ihre Fittiche genommen.
lernen und uns in der Forschung schulen. Ihr Wissen und Ihre wertvollen Ratschläge waren uns immer
eine sehr große Hilfe. Wir danken Ihnen für das Vertrauen, das Sie uns entgegengebracht haben, Ihre Nachverfolgung
Während der gesamten Vorbereitung dieses Projekts Ihre Rückmeldungen und Korrekturen, Ihr encouragement und all dies.
Wissenschaftliche Austausch sind immer sehr bereichernd. Wir haben es besonders geschätzt, mit Ihnen zu arbeiten.
Zu den Herausforderungen, mit denen Menschen konfrontiert sind, wenn sie in Gruppen arbeiten, gehört das Fehlen von
Verständnis, Zuhören, Respekt vor den Meinungen und Ideen anderer. Glücklicherweise haben wir gehabt
alle diese Vorteile, die die Teamarbeit von anderen unterscheiden, wie Respekt und Zusammenarbeit. ,
weil wir keine Schwierigkeiten hatten, harmonisch und verständnisvoll zusammenzuarbeiten. Wir
Wir verstehen, dass Sie uns unter Umständen nicht weiterarbeiten können.
für eine gewisse Zeit. Und wenn einer von uns frustriert ist, hilft der andere ihm und unterstützt ihn. Es ist ein Segen.
d’avoir de bonspartenaires.
Schließlich drücken wir unseren Dank an alle Dozenten der Abteilung für die Informa-
tique, und wir danken aufrichtig unseren Angehörigen für ihre ständige Unterstützung während unserer gesamten Karriere
universitär.
Widmung

An unsere sehr teuren Eltern, Quelle des Lebens, der Liebe und der Zuneigung, an unsere lieben Brüder, Quelle der Freude und des

Glück für alle unsere Familien, Quelle der Hoffnung und Motivation für alle unsere Freunde und alle Menschen, die
haben mich ermutigt, diese Arbeit zu beenden.
Wer von euch ist schon einmal am Steuer eingeschlafen?

Eine große Anzahl von Ihnen, leider.


Glücklicherweise ändern wir das, da wir hier sind.
Schnallen Sie sich an und schlafen Sie nicht ein.
ALLGEMEINE EINLEITUNG

Gesichtsbewegungen übermitteln nonverbale Signale, die eine wichtige Rolle spielen in der
Kommunikation zwischen den Menschen. Obwohl wir die Fähigkeit besitzen, zu extrahieren und zu erkennen
Diese Signale mühelos und ohne Verzögerung, diese Aufgaben stellen immer noch Herausforderungen für Maschinen dar. In der Tat,

Durch die Analyse des Bildes muss die Maschine das im Bild vorhandene Gesicht "sehen" und "verstehen".
auf die gleiche Weise wie das Gehirn, um eine Entscheidung über das Verhalten und den mentalen Zustand zu treffen
Das Individuum. Dank dieser Entscheidungsmerkmale fällt der Bereich der automatischen Analyse von Ausdrücken
Gesichtserkennung erlebt einen großen Aufschwung und stellt eine grundlegende Aufgabe für verschiedene Anwendungen dar, wie z. B. die

Robotik, Mensch-Maschine-Schnittstellen, Verhaltenswissenschaft, klinische Praxis und die


Überwachung des Fahrerverhaltens.
In der Tat, angesichts der zunehmenden Verkehrsunfälle aus vielen Gründen, insbesondere:
Übermäßige Geschwindigkeit, Schläfrigkeit oder Müdigkeit, es ist besser, jeden Fahrer mit der Ausrüstung auszustatten
notwendig, um solche Unfälle zu vermeiden. Eine der Möglichkeiten besteht darin, Algorithmen zu entwerfen, die können
Den Fahrer alarmieren und seine Wachsamkeit überwachen, um ihn wach zu halten, und somit die Müdigkeit zu reduzieren.
die Anzahl der Verkehrsunfälle. Daher schlagen wir einen Algorithmus vor, der auf Techniken von
Künstliche Intelligenz zur Erkennung bestimmter Gesichtsausdrücke mit dem Ziel, ein
möglicher Zustand der Müdigkeit bei Fahrern.
Inhaltsverzeichnis

Allgemeine Einführung ix

Inhaltsverzeichnis xi

Kapitel 1: Künstliche Intelligenz 1


1. 1 Künstliche Intelligenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1. 1. 1 Was ist künstliche Intelligenz? 1
1. 1. 2 Wie funktioniert künstliche Intelligenz? . . . . . . . . . . . . . . . . . . . . 2
1. 2 Maschinelles Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. 2. 1 Definition 2
1. 2. 2 Zutaten des maschinellen Lernens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. 2. 3 Und die künstliche Intelligenz, wo bleibt die ? . . . . . . . . . . . . . . . . . . . . . . 3
1. 2. 4 Grenzen des Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1. 3 Tiefes Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1. 3. 1 Definition 5
1. 3. 2 Die verschiedenen Algorithmen des Deep Learning . . . . . . . . . . . . . . . . . . . . . 5
1. 3. 3 Anwendungsbereiche des Deep Learning . . . . . . . . . . . . . . . . . . 6
1. 3. 3. 1 Automatische Verarbeitung natürlicher Sprachen . . . . . . . . . . . . . . . 7
1. 3. 3. 2 Autonomes Fahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1. 3. 3. 3 Diagnostic médical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1. 3. 3. 4 Erkennung von Malware oder Betrug . . . . . . . . . . . . . . . . . . . . 8
1. 3. 3. 5 Landwirtschaft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1. 3. 3. 6 Marketing und Vertrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1. 3. 3. 7 Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer . . . . . . . . 8
1. 3. 4 Die Grenzen des tiefen Lernens . . . . . . . . . . . . . . . . . . . . . . . . . 8
xii INHALTSVERZEICHNIS

1. 4 Fazit ..................................................................................................................................... 8

Kapitel 2: Die neuronalen Netze 9


2.1 Neuron natürlich zu künstlichem Neuron9
2. 1. 1 Neuronennaturl................................................................................................................. 9
2. 1. 2 Künstliches Neuron10
2. 2 Künstliche neuronale Netzwerke12
2. 2. 1 FunktionenAktivierungen................................................................................................... 12
2. 2. 2 Architektur von neuronalen Netzwerken15
2. 2. 3 Die Schichten von tiefen neuronalen Netzwerken16
2. 3 Faltungsneuronale Netzwerkes ............................................................................................... 16
2. 3. 1 Das Prinzip des CNN17
2. 3. 2 Arten von Schichten im CNN ....................................................................................... 17
2. 3. 3 Die Architekturen von CNN20
2. 3. 3. 1 LeNet-520
2. 3. 3. 2 AlexNet21
2. 3. 3. 3 VGG22
2. 3. 3. 4 Inception-V323
2. 3. 3. 5 ResNet ............................................................................................................ 23
2. 3. 3. 6 Xception ......................................................................................................... 24
2. 3. 3. 7 DenseNet ........................................................................................................ 25
2. 3. 3. 8 MobileNet-V126
2. 3. 3. 9 MobileNet-V228
2. 3. 3. 10 EffizientNet .................................................................................................... 29
2. 3. 3. 11 Lauter Schüler.................................................................................................29
2. 4 Lernen von neuronalen Netzwerken30
2. 4. 1 Das Lernenüberwacht30
2. 4. 2 Das Lernennicht überwacht31
2.5 Schlussfolgerung .......................................................................................................................31

Kapitel 3 : Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer: Stand der Technik 32
3.1 Definition von der Schläfrigkeit32
3. 2 Die Gesichtsausdrücke 33
3. 3 Methodender Analysevon Gesicht33
3. 3. 1 Globale Ansprache ohne Segmentierung34
3. 3. 2 Ansatz mit Segmentierung...........................................................................................35
xii TABLEDES MATIÈRES
3. 4 Nutzung von Gesichtsausdrücken zur Erkennung von Müdigkeit36
3. 5 Der Staatduconducteur .................................................................................................................... 37
3.6 Conclusion ................................................................................................................................... 40

Kapitel 4: Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Gestaltung und Implementierung 41
4.1 Konzept allgemeine der von uns vorgeschlagenen Algorithmus41
4. 2 Implementierung43
4. 2. 1 Software und Bibliotheken verwendets .......................................................................................... 43
4. 2. 1. 1 Colaboratory43
4. 2. 1. 2 Python43
4. 2. 1. 3 OpenCV44
4. 2. 1. 4 Keras ............................................................................................................... 44
4. 2. 1. 5 TensorFlow44
4. 2. 2 Beschreibung der Prozesse unseres Algorithmus45
4. 2. 2. 1 Methodologie zur Gesichtsdetektione .............................................................. 45
4. 2. 2. 2 Definitioneinerräumliche Segmentierung des Gesichts46
4. 2. 2. 3 Klassifikation mit CNN46
4. 2. 2. 4 Berechnung des Lippenaspektverhältnisseso ............................................................................... 51
4. 2. 3 Leistungen unseres Modells........................................................................................54
4. 2. 3. 1 Modellbildunge ...................................................................................... 54
4. 2. 3. 2 Leistungen des Modells................................................................................ 54
4. 2. 3. 3 Die Bewertungdu Modell55
4. 2. 3. 4 Rangbericht56
4. 2. 3. 5 Verwirrungsmatrix56
4. 2. 3. 6 Test des Modells.............................................................................................. 57
4. 2. 3. 7 Einen Pipeline für Vorhersagen über vollständige Bilder erstellen.............57
4. 3 Fazit60

Allgemeine Schlussfolgerung 61

Bibliographie 63
KAPITEL 1

DIE KÜNSTLICHE INTELLIGENZ

1. 1 Künstliche Intelligenz
1.1. 1 Was ist künstliche Intelligenz?

Künstliche Intelligenz (KI) ist ein Prozess, der die menschliche Intelligenz imitiert und auf der basiert
Erstellung und Anwendung von Algorithmen, die in einer dynamischen Computerumgebung ausgeführt werden. Sein Ziel
es ist, Computern zu ermöglichen, zu denken und zu handeln wie Menschen.

Um dies zu erreichen, sind drei Komponenten erforderlich:

Computersysteme.
Daten mit Verwaltungssystemen.
fortgeschrittene KI-Algorithmen (Code)
Um dem menschlichen Verhalten so nahe wie möglich zu kommen, hat die künstliche Intelligenz
benötigt eine große Menge an Daten und eine hohe Verarbeitungskapazität.

FIGURE 1.1 – Zeitachse für künstliche Intelligenz, maschinelles Lernen und das Lernen
tiefer Spruch [CM17]
2 KAPITEL 1— Die künstliche Intelligenz

1. 1. 2 Wie funktioniert künstliche Intelligenz?

Maschinen mit künstlicher Intelligenz speichern Verhaltensweisen. Diese Arbeit von


Die Erinnerung ermöglicht es ihnen anschließend, Probleme zu lösen und angemessen auf solche oder solche Situationen zu reagieren.

[Link] Lernen erfolgt mithilfe von Datenbanken und Algorithmen. Diese komplexe Arbeit hilft
die Maschine zur Messung der Bedeutung eines Problems, um mögliche Lösungen und Situationen zu prüfen
ähnliche Vorgänge, um richtig zu handeln. Es ist in der Tat ein hochentwickeltes und sehr leistungsfähiges statistisches System.
die die Maschine dazu bringen, eine Entscheidung zu treffen oder das erwartete Verhalten zu zeigen. Um dies zu messen
Degradierung der Intelligenz, eine Maschine wird dem Turing-Test unterzogen. Dieser Test trägt den Namen des Erfinders der KI.

Alan Turing. Dieser britische Mathematiker war einer der ersten, der sich 1950 fragte, ob eine Maschine
était capable de penser. Le test de Turing consiste à converser avec la machine et à lui demander de créer
etwas mit bestimmten Kriterien, die eingehalten werden müssen.

1. 2 Maschinelles Lernen

1.2. 1 Definition
Das maschinelle Lernen ist das wissenschaftliche Studium von Algorithmen und statistischen Modellen, die die
Computer verwenden, um eine Aufgabe ohne explizite Anweisung zu erfüllen, sondern sich vielmehr auf
Motive und Schlussfolgerungen.

1.2. 2 Zutaten des maschinellen Lernens


Das maschinelle Lernen basiert auf zwei grundlegenden Säulen:

[Link] sind die Daten, die die Beispiele sind, anhand derer der Algorithmus lernen wird.

[Link] ist der Lernalgorithmus, das Verfahren, das man mit diesen Daten ausführt
um ein Modell zu erstellen. Man nennt Training den Vorgang, einen Algorithmus auszuführen.
d'apprentissage auf einem Datensatz.

Diese beiden Säulen sind einander ebenso wichtig. Einerseits gibt es keinen Lernalgorithmus
kann kein gutes Modell basierend auf irrelevanten Daten erstellen, das ist das Konzept garbage in,
Müll raus, der besagt, dass ein Lernalgorithmus, dem schlechte Daten zur Verfügung gestellt werden, ...
wird nichts anderes als Vorhersagen von schlechter Qualität machen. Andererseits ein Modell, das mit
Ein ungeeignetes Algorithmus auf relevanten Daten kann nicht von guter Qualität sein. Dennoch wird er nicht
Man darf nicht vergessen, dass ein erheblicher Teil der Arbeit eines Machine Learners oder Data Scientist eine Arbeit ist
Ingenieurwesen, das darin besteht, Daten vorzubereiten, um Ausreißer zu eliminieren und Daten zu verwalten
fehlende, eine relevante Darstellung wählen, usw. [GB]
KAPITEL1— Die künstliche Intelligenz 3

1. 2. 3 Die künstliche Intelligenz, was ist damit?

Maschinelles Lernen kann als ein Zweig der künstlichen Intelligenz betrachtet werden. Tatsächlich ist ein System
Unfähig zu lernen, kann kaum als intelligent betrachtet werden. Die Fähigkeit zu lernen und zu
Die Nutzung seiner Erfahrungen ist in der Tat entscheidend für ein System, das dazu entworfen wurde, sich an eine Umgebung anzupassen.

veränderlich. Künstliche Intelligenz, definiert als die Gesamtheit der Techniken, die eingesetzt werden, um
Maschinen zu bauen, die ein Verhalten zeigen können, das man als intelligent qualifizieren kann,
beruft sich auch auf die Kognitionswissenschaften, die Neurobiologie, die Logik, die Elektronik, die Ingenieurwissenschaften und
viel mehr noch. Wahrscheinlich, weil der Begriff „künstliche Intelligenz“ die Vorstellungskraft mehr anregt, er
wird jedoch zunehmend oft anstelle von maschinellem Lernen verwendet.

1. 2. 4 Grenzen des maschinellen Lernens

Maschinelles Lernen benötigt Daten, um Muster zu identifizieren, aber es gibt Probleme hinsichtlich
Die Daten, die sich auf die Dimensionalität und die Stagnation der Leistungen beziehen, indem sie mehr einführen
von Daten über das Verhaltenslimit hinaus. Es wurde überprüft, dass es eine Leistungsminderung gibt.
signifikant, wenn dies geschieht. Die folgende Abbildung erklärt den Erfolg des Deep Learning aus der Perspektive
Leistung, die mit der Zunahme von Daten im Vergleich zu der von Maschinenalgorithmen zunimmt.
klassisches Lernen, das stagniert und seine Grenzen zeigt.

FIGUREN 1.2 – Leistung des maschinellen Lernens im Vergleich zum Deep Learning in Abhängigkeit von den Daten. [eYB]
4 KAPITEL 1 - Die künstliche Intelligenz

Wir können auch einen weiteren Vergleich zwischen dem ML-Prozess und dem DL-Prozess anstellen, durch
Das folgende Beispiel zeigt das Foto eines Autos, das in ein System eintritt, das die Entscheidung treffen wird, ob das
Foto ist ein Auto oder nicht. Im klassischen ML-Prozess fällt uns auf, dass die Aufgabe der Extraktion
Die Merkmale werden vom Menschen erstellt. Im Fall des DL-Prozesses hingegen wird die Aufgabe erledigt
Automatisch, das heißt, der DL-Prozess hat die Fähigkeit, die Daten so zu studieren, wie sie sind. Dies zeigt
dass der Ansatz DL leistungsfähiger ist und tiefere Analysen im Vergleich zu dem von ML durchführt.

FIGUREN 1.3 – Maschinelles Lernen vs. Deep Learning [Wol]

Deshalb ist es wichtig, grundlegende Kenntnisse über ML zu haben, um ein Intuitionsgefühl zu entwickeln.
im Bereich DL.

1. 3 Apprentissage profond
Der Begriff „Tiefes Lernen“ bezieht sich auf das Training von neuronalen Netzwerken, manchmal von sehr
große neuronale Netzwerke.
Woraus besteht genau ein neuronales Netzwerk?
Die detaillierte Antwort wird das Ziel des nächsten Kapitels sein. Aber an diesem Punkt können wir es als eine
intelligente Herangehensweise, genannt neuronales Netzwerk, das in einer schwarzen Box integriert ist und empfangt
Eingabedaten und erzeugt Ausgaben, um bestimmten Benutzerbedürfnissen zu entsprechen.
KAPITEL 1— Künstliche Intelligenz 5

1. 3. 1 Definition
Deep Learning oder tiefes Lernen ist eine der Haupttechnologien des maschinellen Lernens.
Mit dem Deep Learning sprechen wir von Algorithmen, die in der Lage sind, die Aktionen des menschlichen Gehirns nachzuahmen durch

von künstlichen neuronalen Netzen. Die Netze bestehen aus Dutzenden oder sogar Hunderten von "Schichten".
von Neuronen, die jeweils die Informationen aus der vorherigen Schicht empfangen und interpretieren. Die Modelle von
Deep Learning ne fonctionne in der Regel gut mit einer großen Menge an Daten, während die Modelle
Klassischere Methoden des maschinellen Lernens hören nach einem Sättigungspunkt auf, sich zu verbessern. [Emi22]

1.3. 2 Die verschiedenen Algorithmen des Deep Learnings

Es werden mehrere Arten von Algorithmen im Deep Learning verwendet. Jeder Algorithmus hat seine
eigene Spezifikationen und Anwendungen. [Emi22]

✓ Faltende neuronale Netze (CNN) werden zur Analyse und Objekterkennung eingesetzt.
können also beispielsweise dazu dienen, Satellitenbilder zu erkennen, medizinische Bilder zu verarbeiten, zu erkennen
Anomalien oder Zeitreihen vorhersagen.

✓ Recurrent Neural Networks (RNN) werden für die Bildunterschriftserstellung und die Verarbeitung von
Natürliche Sprache und maschinelle Übersetzung.

✓ Radiale Basisfunktion Netze (RBFN) werden in der Klassifikation und der Vorhersage verwendet.
Zeitreihen und lineare Regression.

✓ Langzeit- und Kurzzeitgedächtnisnetzwerke (LSTM) sind besonders nützlich, um vorherzusagen


Zeitreihen, da sie sich an vorherige Eingaben erinnern. Neben diesem Anwendungsfall sind die LSTM
werden auch verwendet, um Musiknoten zu komponieren und Stimmen zu erkennen.

✓ Generative Adversarial Networks (GAN) erzeugen neue Dateninstanzen, die ähnlich sind wie
tiefes Lernen. Sie haben zwei Hauptkomponenten: einen Generator und einen
discriminator. Wenn der Generator lernt, falsche Informationen zu produzieren, dann lernt der Diskriminator, was...
Lerne, diese Fehlinformationen auszunutzen. GANs werden allgemein von Schöpfern verwendet von
Videospiele zur Verbesserung von 2D-Texturen.

✓ Die eingeschränkte Boltzmannmaschine (RBM) ist eine Art von künstlichem neuronalen Netzwerk für
Das unüberwachte Lernen. Es wird häufig verwendet, um eine Schätzung der Verteilung zu erhalten.
Wahrscheinlichkeiten eines Datensatzes.
6 KAPITEL 1 – Die künstliche Intelligenz

1. 3. 3 Anwendungsbereiche des Deep Learning

Das tiefe Lernen und seit seiner Einführung haben mehrere Forscher versucht, verschiedene Probleme zu lösen oder
die Lösung anderer optimieren, indem man sie als Ansatz verwendet, und zwar in vielen und verschiedenen Bereichen
wie: künstliche Intelligenz, Sicherheit, Medizin, automatische Datenverarbeitung (Daten
temporale, räumliche Daten, raumzeitliche Daten). [Ret21]

1.3. 3. 1 Automatische Verarbeitung natürlicher Sprachen

►Die Sprachassistenten
Ohne Deep Learning wären die Sprachrecognition-Anwendungen Alexa oder Siri niemals entstanden.
Tag. In der Tat, es ist durch das tägliche Training, das diese künstlichen Systeme erhalten, dass sie sich peu à peu weiterentwickeln.
Ihr Vokabular erweitern und ihr Verständnis für alle Sprachen, die sie hören, stärken.

►Die Übersetzung
Bereits von einigen automatischen Übersetzungssoftwares verwendet, ermöglicht das Deep Learning das
Dank der Formenkennung die Sprache eines Textes erkennen und ihn übersetzen. Das kann zum Beispiel
Dienen auf Chat-Anwendungen zwischen zwei Personen, die nicht dieselbe Sprache sprechen. Magisch!

►Deep Learning im Dienste der Texterstellung


Dank des Deep Learnings ist ein Computer in der Lage, einen Text nicht nur korrekt zu verfassen ...
aus grammatikalischer und orthografischer Sicht, aber auch dem Stil eines bestimmten Autors treu. Systeme
Spezialisten für künstliche Intelligenz, die auf die Sprachverarbeitung spezialisiert sind, haben beispielsweise erfolgreich verfasst

Artikel für Wikipedia und Texte, die von Shakespeare inspiriert sind.

3. 3. 2 Autonomes Fahren

Sie haben sicher viel darüber gehört, aber wussten Sie, dass Deep Learning das System ist
intelligent, der autonomes Fahren ermöglicht?
Diese Technologie, die darauf abzielt, die Verkehrssicherheit zu verbessern, existiert bereits. Sie kombiniert mehrere
Algorithmen des Deep Learning, wie die zur Erkennung von Verkehrsschildern oder die
Fußgänger lokalisieren.
KAPITEL 1 – Künstliche Intelligenz 7

3. 3. 3. 3 Medizinische Diagnose

Künstliche Intelligenz und Deep Learning haben enorme Fortschritte bei der Interpretation gemacht.
Die medizinische Bildgebung, dank der Verfügbarkeit von hochwertigen Bildern und der Fähigkeit der CNNs zu klassifizieren
les images l’IA et le DL sont désormais capable de réaliser un diagnostic médical avec autant, voire plus
wie ein Mensch. [Cim19] zum Beispiel zwischen krebsartigen Tumoren und solchen die es nicht sind zu unterscheiden.
sind nicht oder noch um Krankheiten viel früher zu erkennen als es zuvor möglich war.

1. 3. 3. 4 Erkennung von Malware oder Betrug

Deep Learning zeigt deutlich bessere Ergebnisse bei der Betrugserkennung.


wenn sie von einem großen Datenvolumen gespeist werden. Daten werden gesammelt und bereitgestellt,
Es kann sich um Verhaltensdaten, technische Daten oder Informationen aus sozialen Netzwerken handeln, deren
was es ermöglicht, < Kundenprofile > zu erstellen, die regelmäßig aktualisiert werden und es ihnen ermöglichen, vorherzusagen oder

eine betrügerische Handlung basierend auf den gewohnten, normalen Verhaltensweisen des Kunden zu erkennen, um ...
ein anormales Verhalten erkennen. Malware ist die Zusammenziehung der englischen Begriffe schädlich und Software.
Es bezeichnet Schadsoftware, die Computer, mobile Endgeräte und vernetzte Objekte angreift. Die
Neue Techniken, die vom DL entwickelt wurden, erkennen Malware schnell.

3. 3. 5 Landwirtschaft

Im Bereich der biologischen Landwirtschaft verwenden heute einige intelligente Drohnen, die in der Lage sind
de reconnaître les mauvaises herbes en scannant au survol des hectares de culture. De quoi permettre aux
Landwirte sich auf die Bereiche konzentrieren, die Unkrautbekämpfung erfordern, ohne zu viel Zeit oder Energie zu verlieren.

1. 3. 3. 6 Marketing und Verkauf

Deep Learning kann auch genutzt werden, um die Empfindungen der Kunden zu erfassen und zu analysieren.
Nachrichten von Kunden, um ihr Zufriedenheitsniveau zu erkennen und daraus Schlüsse zu ziehen, sind sie somit in der Lage, ...
Maßnahme zur Vorbeugung der Kundenzufriedenheit und zur Ermöglichung der Umsetzung von Verbesserungen.

1. 3. 3. 7 Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer

Durch den Einsatz von Deep Learning-Techniken zur Analyse der Gesichtsausdrücke eines
Fahrer und seinen Zustand bestimmen, d.h. Müdigkeit und Schläfrigkeit usw. zu erkennen. Diese Anwendung ist unser
Hauptthema, über das wir in den nächsten Kapiteln detailliert sprechen werden.
8 KAPITEL 1 — Die künstliche Intelligenz

1.3. 4 Die Grenzen des tiefen Lernens


► Deep Learning erfordert eine hohe Rechenleistung
Wenn Deep Learning viele Vorteile hat, hat es auch seine Grenzen, darunter einen enormen Bedarf an
Rechenleistung. Einerseits zur Sicherstellung der Wartung von künstlichen neuronalen Netzen, aber auch
um die sehr große Menge an benötigten Daten zu verarbeiten.

► Eine kostspielige Technologie, die eingerichtet werden muss


Diese Rechenleistung ist relativ zur Komplexität und Schwierigkeit der zu lösenden Aufgabe und von der
Die verwendeten Datenmengen. Daher erweist sich Deep Learning als ein kostspieliges künstliches System, also
eher für die Forschung und die Giganten des Big Data reserviert.

►Schwierig oder gar nicht nachvollziehbare Entscheidungen


Ein weiterer Punkt ist, dass eine der Herausforderungen, die diese künstliche Intelligenz mit sich bringt, die Komplexität ist und

das Datenvolumen, das für den Betrieb erforderlich ist, und die Tatsache, dass es unmöglich ist, zu verstehen, in
Detailiert die Motivation der Entscheidungen, die sie trifft. Dieses Problem führt mit sich die Unfähigkeit (im Moment)
in Anwendungen integriert, in denen Rückverfolgbarkeit entscheidend ist.

► Es erfordert eine umfangreiche Datenbank


Schließlich muss das Deep Learning, um effektiv zu sein, auf einer großen Menge an Daten basieren. Ohne
In diesem Fall kann keine Maschine mit dieser Methode gute Ergebnisse erzielen. Obwohl es einige gibt
Bibliotheken für künstliche neuronale Netzwerke, die allen zur Verfügung stehen, um ihre Nutzung zu vereinfachen, sie
Es gibt in der Tat Grenzen für die Implementierung einer tiefen Intelligenz, insbesondere die erforderliche Zeit.
bei der Erstellung von Lernalgorithmen.

1. 4 Conclusion

FIGUREN 1.4 – Vergleich zwischen ML und DL

In diesem Kapitel haben wir den Unterschied zwischen künstlicher Intelligenz, maschinellem Lernen und
Deep Learning, um sie nicht zu verwechseln, und dann haben wir präsentiert, was Deep Learning ist, seine
verschiedene Algorithmen, ihre Anwendungsgebiete und ihre Grenzen.
KAPITEL 2

DIE NEURONENNETZE

Präambel

L Künstliche neuronale Netze sind mathematische Modelle, die von der Biologie inspiriert sind. Der Baustein
Der künstliche Neuron, der ursprünglich aus dem Wunsch nach Modellierung entstand, basiert auf diesen Netzwerken.n du
Funktion eines biologischen Neurons.

Wir werden in diesem Kapitel sehen, was ein künstliches Neuron ist, das die Netzwerke bildet.
Neuronen und ihr Funktionsprinzip. Wir werden anschließend den Unterschied zwischen einem
Perzeptron und mehrschichtige Netzwerke. Wir erklären auch den Algorithmus ihres Lernens, illustriert durch
ein detailliertes Beispiel.

2. 1 Natürliches Neuron zu künstlichem Neuron

2. 1. 1 Natürliche Neuronen

Das Gehirn besteht aus etwa 10^12 (tausend Billionen) miteinander verbundenen Neuronen, mit 1000 bis 10000
Synapsen (Verbindungen) pro Neuron (Abbildung 2.1). Die Neuronen sind nicht alle identisch, ihre Form und
Einige Merkmale ermöglichen es, sie in einige große Klassen zu unterteilen: [Tou16]
10 KAPITEL 2 — Die neuronalen Netze

ABBILDUNGEN2.1–Modell eines biologischen Neurons [Cht17]

Der Zellkörper enthält den Zellkern des Neurons und führt die notwendigen biochemischen Umwandlungen durch.
zur Synthese von Enzymen und anderen Molekülen, die das Leben der Zelle gewährleisten. Dieser Zellkörper hat
eine sphärische oder pyramidenförmige Form, ihre Größe beträgt einige Mikrometer Durchmesser. Die Dendriten sind von
feine, verzweigte Röhren, die sich um das Neuron herum verzweigen und eine Art umfangreiche Baumstruktur bilden.
Die Signale, die an das Neuron gesendet werden, werden von den Dendriten aufgefangen. Ihre Größe beträgt einige Dutzend Mikrometer.

de Länge.
Das Axon ist die Nervenfaser, die als Transportmittel für die von den Neuronen ausgesandten Signale dient. Es ist mehr
länger als die Dendriten und verzweigt sich an seinem Ende, wo es sich mit den Dendriten anderer Neuronen verbindet. Die
Verbindungen zwischen zwei Neuronen erfolgen an Stellen, die Synapsen genannt werden, wo sie durch ein wenig getrennt sind.
synaptischer Raum in der Größenordnung von einem Zehntel Mikrometern.

Jeder Neuron ist eine autonome Einheit im Gehirn. Das Neuron erhält kontinuierlich Eingaben.
Der Zellkörper des Neurons ist das Kontrollzentrum. Hier werden die empfangenen Informationen interpretiert. Die
Die Antwort, einzigartig, auf diese Signale wird über das Axon gesendet. Das Axon synaptisiert mit anderen Neuronen.
(ein Tausend). Das übertragene Signal kann eine erregende oder hemmende Wirkung haben.

2. 1. 2 Künstliche Neuronen
Ein formeller Neuron ist eine nichtlineare und beschränkte algebraische Funktion, deren Wert von den Para- abhängt.
Meter, die Gewicht genannt werden. Die Variablen dieser Funktion werden gewöhnlich "Eingaben" des Neurons genannt, und
Der Wert der Funktion wird als ihre "Ausgabe" bezeichnet. [Zha98]
KAPITEL 2 — Die neuronalen Netze 11

FIGUREN2.2–Neuronen: Formel von Mac Culloch und Pitts. [Ahm17]

Solche wie:
— Aus Beobachtungen biologischer Neuronen ergibt sich das von W. M. vorgeschlagene Modell des formalen Neurons.
Culloch und W. Pitts 1943: Die xi repräsentieren die Eingangsvektoren, sie stammen entweder von der
Ausgaben anderer Neuronen, sei es von sensorischen Stimuli (visueller, akustischer Sensor¦);
— Les wij sind die synaptischen Gewichte des Neurons j. Sie entsprechen der synaptischen Effizienz in den
biologische Neuronen ( wij > 0 : exzitatorische Synapse; wij < 0 : inhibitorische Synapse). Diese Gewichte
gewichten die Eingaben und können durch Lernen verändert werden;
— Bias: Der Eingang hat oft die Werte -1 oder +1, die es dem Netzwerk ermöglichen, Flexibilität hinzuzufügen.
ermöglicht die Variation der Schwelle der Neuronauslösung durch Anpassung der Gewichte und des Bias während
vom Lernen;
— Noyau: integriert alle Eingaben und den Bias und berechnet die Ausgabe des Neurons nach einer Funktion
d’Activation, die oft nichtlinear ist, um eine größere Lernflexibilität zu bieten.
— S : die gewichtete Summe der Eingaben (Aktivierungspotenzial).[Zha98]

s=wichxich+b (2.1)

--yˆ= f(S) : die Ausgabe des Neurons (Antwort des Neurons) yˆ= 1 wenn S> 0 Die neuronalen Netze sind
Kennzeichnen durch die Architektur (die Organisation der Neuronen), das Lernen (Methode von
Bestimmung der Verbindungsgewichte und durch ihre Aktivierungsfunktion.[Zha98]
12 KAPITEL 2 — Die neuronalen Netze

2. 2 Künstliche neuronale Netzwerke

Ein neuronales Netzwerk ist eine Ansammlung von miteinander verbundenen Neuronen; es ist ein gerichteter Graph.
Neuronales Netzwerke ermöglichen es, viele Probleme der künstlichen Intelligenz zu lösen. Schematisch,
Die Funktionsweise ist wie folgt:

— Die Neuronen sind in aufeinanderfolgende Schichten organisiert: Jeder Neuron erhält eine Information (ein
Eingang) stammt von den Neuronen der vorhergehenden Schicht.
— Jede dieser Informationen wird gewichtet: Sie wird mit einem Wert multipliziert, der ihr einen
Gewicht ist besonders.
— Die so gewichteten Eingaben werden addiert: Sie werden von einer Ziel-Funktion verarbeitet, deren
aber die Ausgabe an einen Wertebereich anzupassen. Der Ausgangswert, der aus dieser Funktion stammt
konstituieren den Eingang des gesamten Neuronennetzwerks der folgenden Schicht.

— Die Funktionsweise eines neuronalen Netzwerks besteht aus zwei verschiedenen Phasen:

✓ Eine Lernphase, während der die Gewichte der Verbindungen aktualisiert werden
dynamisch
✓ Eine Phase der Ausführung, während der das Netzwerk tatsächlich betriebsbereit ist.

Es gibt eine große Anzahl von Modellen oder Architekturen von neuronalen Netzen, die unterschieden werden können.
von :

✓ Die Regel- oder Aktivierungsfunktion ist lokal für jeden Neuronen und hängt von den Eingabewerten ab.
reçues d'autres neurones.
✓ Die Lernregel, die es erlaubt, die Gewichte der Verbindungen zwischen Neuronen zu verändern.
✓ Die Topologie, die beschreibt, wie die Neuronen miteinander verbunden sind.

2. 2. 1 Aktivierungsfunktionen

Bis jetzt haben wir die Art der Aktivierungsfunktion unseres Modells nicht spezifiziert. Es steht
Finde, dass mehrere Möglichkeiten existieren. Verschiedene Übertragungsfunktionen, die verwendet werden können wie
Die Aktivierungsfunktionen des Neurons sind in der Tabelle dargestellt, die in Abbildung (3.4) gezeigt wird. Die Funktionen
Die am häufigsten verwendeten Aktivierungsfunktionen sind die "Schwellenfunktion" (auf Englisch "hard limit"), "lineare" und "sigmoidale".
KAPITEL 2 — Die neuronalen Netze 13

ABBILDUNGEN 2.3 – Aktivierungsfunktionen: (a) des Schwellenneurons; (b) des linearen Neurons; und (c) des sigmoiden Neurons.
[GD02]

Die lineare Funktion ist sehr einfach, sie wendet ihren Eingang direkt auf ihren Ausgang an: y = s Angewendet in der
Im Kontext eines Neurons wird diese Funktion in Abbildung 2.2 veranschaulicht. In diesem Fall entspricht die Ausgabe des Neurons
auf seinem Aktivierungsniveau, wobei der Übergang zu null erfolgt, wenn

wTx=b (2.2)

Die Sigmoid-Übertragungsfunktion wird in Abbildung 2.2 dargestellt. Ihre Gleichung wird durch angegeben:

−S
y= 1/(1 +e) (2.3)

Sie ähnelt entweder der Schwellenfunktion oder der linearen Funktion, je nachdem, ob man sich weit oder nah an b befindet.
respektiv. Die Schwellenfunktion ist sehr nichtlinear, da es eine Diskontinuität gibt, wenn (2.2). Ihrerseits,
Die lineare Funktion ist ganz und gar linear. Sie weist keinen Pendentwechsel auf. Die Sigmoidfunktion ist
ein interessanter Kompromiss zwischen den beiden vorherigen. Lassen Sie uns schließlich feststellen, dass die Funktion "Tangente

hyperbolisch (tanh) ist eine symmetrische Version der Sigmoide.


14 KAPITEL 2 — Die neuronalen Netze

FIGURE 2.4 – Verschiedene Aktivierungsfunktionen, die in künstlichen neuronalen Netzwerken verwendet werden. [GD02]
KAPITEL 2 — Die neuronalen Netzwerke 15

FIGUREN2.5–Analogie zwischen dem biologischen Neuron und dem formalen Neuron. [GD02]

2. 2. 2 Architektur der neuronalen Netzwerke

Die Architektur eines neuronalen Netzwerks ist die Organisation der Neuronen untereinander innerhalb eines gleichen
Netzwerk. Mit anderen Worten, es geht darum, wie sie angeordnet und verbunden sind. Die Mehrheit der neuronalen Netzwerke
verwendet denselben Typ von Neuronen. Einige seltener Architekturen basieren auf speziellen Neuronen.
Die Architektur eines neuronalen Netzwerks hängt von der zu erlernenden Aufgabe ab. Ein neuronales Netzwerk ist im Allgemeinen
bestehend aus mehreren Schichten von Neuronen, von Eingängen bis Ausgängen. Man unterscheidet zwei Haupttypen
Architekturen von neuronalen Netzen: ungerichtete neuronale Netze und neuronale Netze
Locken.

FIGUREN 2.6 – Architektur der neuronalen Netzwerke. [Bel]


16 CHAPTER 2 —Les réseaux de neurones

2.2.3 Die Schichten der tiefen neuronalen Netze


Eine Schicht ist die grundlegende Komponente von neuronalen Netzwerken, bestehend aus einer bestimmten und gut definierten Anzahl.

Wähle gleichmäßige Neuronen mit der gleichen Aktivierungsfunktion. Die Schicht fungiert als Container, der
transformiere den erhaltenen Eingang mit Hilfe dieser Funktionen, die normalerweise nicht linear sind, und übertrage ihn an die Schicht

nächste.

Häufig verwendete Schichttypen

● Dicht
Eine Schicht, die jeden ihrer Neuronen mit allen Neuronen der vorherigen Schicht verbindet. Die Trans-
Die durchgeführte Ausbildung ist einfach, man muss nur den Ausgang der Aktivierungsfunktion für den Eingang berechnen.
um sie an die nächste Schicht weiterzuleiten.

● Abbrecher
Eine Schicht, die zufällig die Aktivierungsfunktion des Eingangs mit einer akzeptierten Wahrscheinlichkeit auf 0 setzt.
Daten. Wird verwendet, um den Trend des Netzwerks zum Überanpassen (Overfitting) zu behandeln.

● Abflachen
Konvertiere den Eingang (den Ausgang der vorherigen Schichten) in einen 1D-Vektor, den wir klassifizieren können, ohne
die Größe der Charge beeinflussen.

2. 3 Faltungsneuronale Netzwerke
Eine CNN ist ein Algorithmus für tiefes Lernen, der ein Eingangsbild aufnehmen und zuordnen kann
Die Wichtigkeit (Gewicht und erlernbare Verzerrungen) für verschiedene Aspekte / Objekte des Bildes und in der Lage sein, zu differenzieren.

einander. In den letzten Jahren sind CNNs zu einem zentralen Element aller Methoden geworden
Computer Vision.
1980 schlug Kunihiko Fukushima ein sehr einfaches neuronales Netzwerk zur Bilderkennung vor, das als
Néocognitron.
Die ConvNets wurden erstmals in den 1980er Jahren von Yann LeCun, einem Forscher, eingeführt.
postdoctoral en informatique. LeCun s’était appuyé sur le travail de Kunihiko Fukushima. La première
version de l’architecture ConvNet [YL89], appelée LeNet améliorée par LeCuN et al., pouvait reconnaître
die handschriftlichen Zahlen. Die CNNs haben einen Nischenmarkt im Bank-, Post- und
Bankwesen, wo sie die Postleitzahlen auf den Umschlägen und die Zahlen auf den Schecks lesen.
KAPITEL 2 — Die neuronalen Netze 17

2. 3. 1 Das Prinzip des CNN


CNNs sind ein Untertyp von künstlichen neuronalen Netzen (ANN). Die Innovation der CNNs ist die
Möglichkeit, automatisch eine große Anzahl von parallelen, spezifischen Filtern für eine Spielgruppe zu lernen.
Lernunterlagen unter den Bedingungen eines spezifischen Problems der prädiktiven Modellierung, wie
Die Klassifizierung von Bildern. Sie bestehen aus Neuronen mit lernbaren Gewichten und Verzerrungen. Jedes
spezifische Neuronen erhalten zahlreiche Eingänge und nehmen dann eine gewichtete Summe davon auf, wo es
geht durch eine Aktivierungsfunktion und antwortet mit einer Ausgabe.

FIGUREN2.7–Schema der CNNs [V.R17]

2. 3. 2 Arten von Schichten im CNN


Die ArchitekturCNN besteht aus mehreren Arten von Schichten. Eine typische Architektur besteht aus mehreren
Pétitionen aus einer Stapelung mehrerer Schichten der Faltung und einer Gruppierungsschicht, gefolgt von
von einer oder mehreren vollständig verbundenen Schichten. Obwohl die Faltungsvorgänge und die
Die in diesem Abschnitt beschriebenen Gruppierungen sind für 2D-CNN, insbesondere im Gegensatz zum Netzwerk
Neuronal regulär, die Schichten eines ConvNet haben Neuronen, die in 3 Dimensionen angeordnet sind: Breite, Höhe,
Tiefe.
Wie oben beschrieben, ist ein einfaches ConvNet eine Sequenz von Schichten, und jede Schicht
Ein ConvNet verwandelt ein Aktivierungsvolumen in ein anderes durch eine differenzierbare Funktion. Wir
Wir verwenden drei Haupttypen von Schichten, um ConvNet-Architekturen zu erstellen: die Faltungsschicht
(Convolutional layer), die Pooling-Schicht (Pooling layer) und die voll verbundene Schicht
(Vollständig verbundene Schicht) (genau wie in klassischen neuronalen Netzen). Wir werden diese stapeln
Schichten zur Bildung einer vollständigen ConvNet-Architektur.
18 KAPITEL 2 —Die neuronalen Netze

Die am häufigsten verwendeten Schichttypen zur Erstellung von CNNs sind: CONV - ReLU - POOL - FC - BN - DO.

[Link] konvolutional (Konvolutionale Schicht CONV)

Die Faltungs-Schicht hat Kerne (Filter), und jeder Kern hat eine Breite, eine Tiefe und eine
Höhe. Diese Schicht erzeugt die Merkmalskarten nach der Berechnung des Skalarprodukts zwischen den
Kerne und die lokalen Regionen des Bildes. Ihre Arbeit besteht darin, relevante Informationen zu extrahieren von
Das Bild (Merkmale) durch eine Faltung operation. Diese Operation gleitet über eine Gruppe von
Filter auf einem Bild. Das Gewicht dieser Filter wird während des Lernens aktualisiert und es ist dank ihnen, dass die
Das Netzwerk konnte die Bilder anschließend erkennen.

[Link]'une unité linéaire rectifiée (Rectified Linear Unit layer ReLU)

Die Schicht der rectifizierten linearen Einheit (auf Englisch rectified linear unit layer) (ReLU) ist eine Funktion
Die Aktivierung, die auf alle Elemente des Volumens angewendet wird, ermöglicht es, alle negativen Werte zu eliminieren.
und die positiven Werte beizubehalten. Sie dient dazu, nichtlineare Komplexitäten in das Netzwerk einzuführen.

[Link] de Pooling

Der Pooling-Schritt ist eine Technik zur Unterschichtung. In der Regel ist eine Pooling-Schicht
regelmäßig zwischen den Korrektur- und Faltungsschichten eingefügt. Durch die Verkleinerung der Größe der Karten von
Merkmale, also die Anzahl der Parameter des Netzwerks, beschleunigt die Rechenzeit und verringert die
Risiko der Überanpassung.
Es gibt viele Operationen in dieser Schicht, zum Beispiel Max-Pooling und Average-Pooling.

— Maximale Zusammenführung (Max-Pooling)


Es handelt sich um einen Pooling-Vorgang, der nur das Maximum eines Pools entnimmt. Dies geschieht tatsächlich mit
die Verwendung von gleitenden Filtern durch den Eingang; und mit jedem Schritt wird der maximale Parameter entfernt und das
Der Rest ist verlassen. Das untertaktet tatsächlich das Netzwerk.
— Durchschnittliche Zusammenlegung (Average pooling)
Ist eine Gruppierungsoperation, die den Durchschnittswert eines Pools berechnet und ihn verwendet, um ein Unter-
Das (gruppierte) Sampling extrahiert die Funktionen einfacher als Max Pooling.

Abbildung 2.13 zeigt ein Beispiel für Max-Pooling- und Average-Pooling-Operationen mit einer Filtergröße.
2x2 Pixel aus einem Eingangsbild von 4x4 Pixel.
KAPITEL 2 —Die neuronalen Netze 19

FIGURE2.8–Beispiel für die Funktionsweise von Max-Pooling und Average-Pooling [Soh20]

Vollständig verbundene Schicht (Fully-connected layer FC)

Diese Schicht befindet sich am Ende des Netzwerks. Sie ermöglicht die Klassifizierung des Bildes anhand der Merkmale.
Extrahiert durch die Folgen von Verarbeitungsblöcken. Sie ist vollständig verbunden, da alle Eingänge von
Die Schichten sind mit den Ausgangsneuronen verbunden. Sie haben Zugriff auf alle Informationen.
d’entrée. Jeder Neuron weist dem Bild einen Wahrscheinlichkeitswert für die Zugehörigkeit zur Klasse i zu unter den
C Klassen möglich. Jede Wahrscheinlichkeit wird mithilfe der Funktion "softmax" berechnet, wenn die
Die Klassen sind ausschließlich gegenseitig.

[Link] (Batch Normalization Layer BN)

Die Batch-Normalisierung ist eine Technik des tiefen neuronalen Lernens zur Verbesserung
die Geschwindigkeit, die Leistung und die Stabilität von künstlichen neuronalen Netzen. Sie wird verwendet, um zu normalisieren
das Eingangsvolumen, bevor es an die nächste Schicht des Netzwerks weitergeleitet wird.

[Link]’abandon (Dropout-Schicht DO)

Es ist eine Methode, um Überanpassung zu reduzieren und den Generalisierungsfehler in Netzwerken zu verbessern.
tiefe neuronale Netze, bei denen er die Eingaben der vorherigen Schicht zufällig mit einer
Wahrscheinlichkeit
20 KAPITEL 2 — Die neuronalen Netze

p, was Überanpassung verhindert. Insbesondere führen die Schichten CONV, FC und BN durch
Transformationen, die nicht nur von den Aktivierungen im Eingangsvolumen abhängen, sondern auch von den
Parameter (die Gewichte und Verzerrungen der Neuronen), andererseits werden die RELU/POOL-Schichten eine
feste Funktion. Beachten Sie, dass einige Schichten Parameter enthalten und andere nicht.

2. 3. 3 Die Architekturen von CNN


Heutzutage gelten CNNs als die am häufigsten verwendeten Algorithmen unter den
inspiriert von Techniken der Künstlichen Intelligenz (KI).
Die Geschichte von CNN beginnt mit den neurobiologischen Experimenten von Hubel und Wiesel (1959,
1962). [eQV19]
Ihre Arbeit hat eine Plattform für viele kognitive Modelle geschaffen, und CNN hat fast alle ersetzt.
Diese. Im Laufe der Jahrzehnte wurden verschiedene Versuche unternommen, um die Leistung der CNNs zu verbessern.
Es gibt viele renommierte CNN-Architekturen. Die beliebtesten CNN-Architekturen sind daher -
geboren in Abbildung 2.14.

FIGURES2.9–Histoire évolutive des CNNs montrant les innovations architecturales. [eQV19]

2. 3. 3. 1 LeNet-5
LeNet war das archetypische CNN, das 1990 von Yann LeCun entwickelt und anschließend verbessert wurde.
Ende 1998. Die effizienteste und bekannteste Architektur LeNet wurde verwendet, um die Codes zu lesen.
postale, die Zahlen, usw.

Diese Architektur besteht aus 4 abwechselnden Faltungsschichten (CONV) und Pooling-Schichten.


KAPITEL 2 — Die neuronalen Netzwerke 21

nach 3 vollständig verbundenen Schichten (fully-connected). LeNet war die erste CNN-Architektur,
der nicht nur die Anzahl der Parameter reduziert, sondern auch in der Lage war, die Eigenschaften roher Pixel zu lernen
automatisch.

FIGUREN 2.10 – Architektur LeNet-5.

2. 3. 3. 2 AlexNet

Die erste berühmte CNN-Architektur ist AlexNet, die das CNN in der Computer Vision populär macht.
(computer vision), développé par Alex Krizhevsky, Ilya Sutskever et Geoff Hinton [eQV19]. Plus tard, en
2012 wurde AlexNet bei der ImageNet ILSVRC-Challenge vorgestellt und hat die Leistungen erheblich übertroffen.
der zweite Finalist.
AlexNet enthält 5 convolutionale Schichten mit rectified linear units (ReLU) als Funktionen
d' Aktivierung, 3 Max-Pooling-Schichten und 3 vollständig verbundene Schichten (FC).

FIGUREN2.11–Architektur AlexNet.
22 KAPITEL 2 —Neuronale Netzwerke

2. 3. 3. 3 VGG

Die erfolgreiche Anwendung von CNNs in Aufgaben der Bildrecognition hat die Forschung in
architektonische Konzeption. In dieser Hinsicht haben Simonyan et al ein einfaches Entwurfsprinzip vorgeschlagen.
effizient für CNN-Architekturen. Ihre Architektur, genannt das VGG-Visuelle Geometrie-Gruppe
von der Universität Oxford, seine Hauptleistung war es, die 11x11 und 5x5 Filter durch einen Stapel zu ersetzen
3x3 Filterebene.
Die Verwendung von kleinen Filtern bietet einen zusätzlichen Vorteil einer geringen Rechenkomplexität.
Reduzierung der Anzahl der Parameter.

FIGUREN2.12–Architektur VGG16.

FIGUREN2.13–Architektur VGG19.
KAPITEL 2 — Die neuronalen Netzwerke 23

2. 3. 3. 4 Inception-V3

Inception-V3 ist eine verbesserte Version von Inception-V1 und V2, die von Christian Szegedy und anderen vorgeschlagen wurde.
[eQV19]
Die Idee von Inception-V3 war es, die Rechenkosten von tiefen Netzwerken zu senken, ohne die Leistung zu beeinträchtigen.
Die Verallgemeinerung. Zu diesem Zweck ersetzen Szegedy et al. die Filter großer Größe (5x5 und 7x7) durch
kleine und asymmetrische Filter (1x7 und 1x5) und die 5x5-Faltung wird in zwei Operationen umgewandelt.
Faltung 3x3.

FIGUREN2.14–Architektur Inception-v3.

2. 3. 3. 5 ResNet

Kaiming He et al. [eQV19] haben ein ResNet (Residual Network) entwickelt. Diese CNN-Architektur weist
einzigartige Sprungverbindungen und eine wesentliche Nutzung der Batch-Normalisierung
Normalisierung). Noch einmal, die Architektur hat am Ende des Netzwerks keine vollständig verbundenen Schichten.
Der Hauptnachteil dieses Netzwerks ist, dass es sehr teuer zu bewerten ist aufgrund der großen Bandbreite von
Parameter. Bis jetzt wird ResNet jedoch als ein führendes CNN-Modell betrachtet.
Technologie und stellt die Standardoption für die Verwendung von ConvNets in der Praxis dar. Er war der
Gewinner des ILSVRC2015.
24 KAIPITEL 2 — Die neuronalen Netze

FIGURE 2.15–Architektur ResNet.

FIGUREN 2.16 – Blockidentität und Konvolution von ResNet.

2. 3. 3. 6 Xception

François Chollet von Google [eQV19] hat die extreme Architektur Inception namens Xception vorgeschlagen, wo
Die Inception-Module wurden durch modifizierte Module "depthwise separable convolutions" ersetzt, die
wurden 2014 von Laurent Siphre vorgeschlagen.
CHAPTER 2 —Les réseaux de neurones 25

FIGUREN 2.17 – Architektur Xception.

FIGUREN 2.18 – Conv A, B, C von Xception.

2. 3. 3. 7 DenseNet
Das dichte konvolutionale Netzwerk (DenseNet), eingeführt von Huang et al., ist eine Netzwerkarchitektur, in der
Jede Schicht ist direkt mit allen anderen Schichten vorausschauend verbunden (in jeder
block dünn). Diese Art der Verbindung wird als dichte Konnektivität bezeichnet. Für jede Schicht sind die Entitätskarten
Von all den vorherigen Schichten werden als separate Eingaben behandelt, während ihre eigenen Karten
Die Entitäten werden als Eingaben an alle folgenden Schichten übermittelt.
26 KAPITEL 2 — Die neuronalen Netze

FIGUREN 2.19 – Architektur DenseNet-121.

2. 3. 3. 8 MobileNet-V1

MobileNet ist eine leichte Architektur, die von Howard et al. [eQV19] von Google entwickelt wurde, das Modell
MobileNet ist so konzipiert, dass es in mobilen Anwendungen verwendet wird. Diese Architektur nutzt...
tiefe separierbare Faltungen.
Es reduziert die Anzahl der Parameter erheblich im Vergleich zum Netzwerk mit regulären Faltungen.
mit der gleichen Tiefe in den Netzen. Dies führt zu leichten tiefen neuronalen Netzen.
Howard et al. führen zwei einfache globale Hyperparameter ein, die einen effektiven Kompromiss zwischen der ...
Präzision und Genauigkeit. Diese Hyperparameter ermöglichen es dem Modellbauer, das Modell auszuwählen.
gute Größe für ihre Anwendung auf die Einschränkungen des Problems.

Diese Parameter sind der Breitenmultiplikator ≪ α ≫ und der Auflösungsmultiplikator ≪ ρ ≫.


KAPITEL 2 — Die neuronalen Netze 27

FIGUREN2.20–Architektur MobileNet-v1.
28 KAPITEL 2 — Die neuronalen Netze

2. 3. 3. 9 MobileNet-V2

Die zweite Version von MobileNet, die von Sandler et al. [eQV19] vorgeschlagen wurde, basiert auf einer Struktur
umgekehrte Residualverbindungen, bei denen die Residualverbindungen zwischen den Flaschenhals-Schichten liegen
Die Zwischenerweiterungsschicht verwendet leichte Tiefenfaltungen, um zu filtern.
Entitäten als Quelle der Nichtlinearität.

FIGUREN 2.21 – Architektur MobileNet-v2.


KAPITEL 2 —Die neuronalen Netzwerke 29

2. 3. 3. 10 EfficientNet

Les CNNs sont couramment développés avec un budget deressources fixe, puis mis àl’échellepour une
bessere Genauigkeit, wenn mehr Ressourcen verfügbar sind.
Tan und Le haben daran gearbeitet, ein neues Basisnetzwerk zu entwerfen und es zu skalieren, um eine
Modellfamilie [eQV19] Im Jahr 2019, genannt EfficientNet.
Tan und Le schlagen eine neue Methode zur skalierenden Zusammensetzung vor (EfficientNet), die eine umfassende Nutzung von

posed um gleichmäßig die Tiefe, Breite und Auflösung des Tiefennetzwerks zu skalieren:

d = xz, (2.4)

Breite :

w = yz , (2.5)

Résolution :

r = cz. (2.6)

x, y et c sont des constantes déterminées par une petite recherche de grille avec la contrainte que : ( xy2.c2

≈ 2)und (x ≥ 1 , y ≥ 1 , c ≥ 1).

2. 3. 1. 11Laute Student

Noisy Student wurde 2020 von dem Forschungsteam von Google (Xie et al.) eingeführt. Noisy Student
Training ist ein halbüberwachter Lernansatz. Es erweitert die Idee des Selbstlernens und der Destillation.
Mit der Verwendung von Modellen gleichgroßer oder größerer Schüler und dem hinzugefügten Rauschen für den Schüler während des Lernens

Sage.
30 KAPITEL 2 —Die neuronalen Netze

FIGUREN2.23–Architektur Noisy Student.

2. 4 Lernen von neuronalen Netzwerken

Das Lernen ist eine Phase der Entwicklung eines neuronalen Netzwerks, in der...
Das Verhalten des Netzwerks wird bis zum Erreichen des gewünschten Verhaltens geändert. Das neuronale Lernen
Appell an Verhaltensbeispiele. Es gibt zwei Lernmodi: das Lernen
überwachtes und unüberwachtes Lernen.

2. 4. 1 Das überwachte Lernen

In dieser Art des Lernens werden die Eingaben und Ausgaben im Voraus bereitgestellt. Dann wird das Netzwerk
Behandeln Sie die Eingaben und vergleichen Sie die Ergebnisse mit den gewünschten Ausgaben. Die Gewichte werden dann angepasst durch

Fehler, die sich im System ausbreiten. Dieser Prozess findet mehrfach statt, solange die Gewichte ...
kontinuierlich verbessert. Der Datensatz, der das Lernen ermöglicht, wird als der Datensatz bezeichnet.
d’apprentissage.[k97]
KAPITEL 2 — Die neuronalen Netze 31

FIGURES2.24– Das überwachte Lernen

2. 4. 2 Das unüberwachte Lernen


Beim unüberwachten Lernen wird dem Netzwerk Eingaben zur Verfügung gestellt, aber nicht die gewünschten Ausgaben.
Das System selbst muss dann entscheiden, welche Funktionen es verwenden wird, um die Daten zu gruppieren.
Eingang. Das ist es, was man oft Selbstorganisation oder Anpassung nennt.

FIGURE 2.25 - Unbeaufsichtigtes Lernen

2. Fazit
In diesem Kapitel haben wir die grundlegenden Konzepte im Zusammenhang mit neuronalen Netzwerken vorgestellt. In unseren
In den letzten Tagen ist die Verwendung solcher Algorithmen stark angestiegen, und das liegt an den Ergebnissen, die sie liefern.
Wir werden es ebenso machen und dieses Konzept in dieser Arbeit verwenden, um einen Algorithmus zu entwerfen.
Müdigkeitserkennung. Wir geben die Entwurfdetails dieses Algorithmus im vierten Kapitel an.
KAPITEL 3

ERKENNUNG VON MÜDIGKEIT UND

SOMNOLENZ BEIM
FÜHRER: STATUS DER TECHNIK

Präambel

L Gesichtsausdrücke übertragen nonverbale Signale, die eine wichtige Rolle in der


Kommunikation zwischen den Menschen. Unser Gehirn ist in der Lagedurchzuführeneine Studie des Gesichts in
ein Bruchteil einer Sekunde, um die komplexen Beziehungen und Verbindungen zu bestimmen, die den Geisteszustand widerspiegeln
und das Verhalten eines Individuums. Diese Studie beginnt mit einer Analyse der grundlegenden Strukturen des Gesichts.
um einen allgemeinen Eindruck zu gewinnen, gefolgt von einer Analyse der Formen, dann eine Anerkennung der
räumliche Anordnung der Gesichtsmerkmale. In diesem Kapitel beschäftigen wir uns mit der Erkennung von
Die Müdigkeit und Schläfrigkeit des Fahrers durch die Analyse seiner Gesichtszüge.

3.1 Definition der Schläfrigkeit


Die Schläfrigkeit ist ein Zustand, der dem Schlaf vorausgeht, oder ein starkes Verlangen nach Schlaf. Die Schläfrigkeit
kann gefährlich sein, wenn ein bestimmtes Maß an Konzentration erforderlich ist, wie zum Beispiel beim Fahren
véhicules. La somnolence n’est pas seulement ressentie lorsqu’il y a de la fatigue, mais elle peut l’être
wenn die Person unter dem Einfluss von Drogen, Medikamenten oder Alkohol steht. Laut Dr. Fouzia Kadiri,
Präsidentin der SMSV, das Schläfnis und das Einschlafen am Steuer sind die Quelle für 1 tödlichen Unfall von 3.
Die Autobahn, die in der Mitteilung erwähnt wird, und dass neuere Studien, die 2013 und 2014 veröffentlicht wurden, berichten
dass 30 % der Unfälle auf Autobahnen durch Einschlafen am Steuer verursacht werden und dass die Müdigkeit die
Häufigste Todesursache im Straßenverkehr.
33 CHAPTER 3 —Détection de la fatigue et la somnolence chez le conducteur : État del’art

3.2 Die Gesichtsausdrücke


Zunächst ist es wichtig, zwischen der Erkennung von Gesichtsausdrücken und der
Die Erkennung von Emotionen. Emotionen resultieren aus mehreren Faktoren und können durch die Stimme offenbart werden.
die Haltung, die Gesten, die Blickrichtung und die Gesichtsausdrücke. Die Emotionen sind jedoch nicht vorhanden.
einzige Herkunft der Gesichtsausdrücke. Tatsächlich können diese aus dem Gemütszustand kommen (z.B. das Nachdenken),
der physiologischen Aktivität (Schmerz oder Müdigkeit) und der nonverbalen Kommunikation (simulierte Emotion)
Augenzwinkern, Stirnrunzeln.

FIGURE 3.1 – Gesichtsmodell basierend auf parametrisierten Kurven [YlT01] (a) Modell. (b) Maße
mit dem Modell verbunden

3. 3 Methoden der Gesichtsanalyse


Es gibt verschiedene computerbasierte Modellierungen des Gesichts, die in der Literatur verwendet werden. Es kann sich um
von Modellen, die sowohl zur Analyse der Identität als auch zur Analyse der Ausdrücke dienen. Wir haben
Unterscheidet zwei Arten von Methoden: solche, die auf einer expliziten Segmentierung des Gesichts in Komponenten basieren.
und eine Beschreibung der Merkmale dieser Gesichtskomponenten und derjenigen, die direkt auf ...
Merkmale des Bildes in seiner Gesamtheit. Darüber hinaus werden hybride Methoden vorgestellt.
KAPITEL 3—Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer: Stand der Technik 34

3. 3. 1 Globale Annäherung ohne Segmentierung

Die einfachste Modellierung des Gesichts besteht darin, eine Menge von Punkten im Gesicht zu berücksichtigen.
Vertreter des Zustands bestimmter Komponenten. Diese Punkte müssen visuellen Indizes entsprechen, die...
möglich, alle Beobachtungen der Studie in Beziehung zu setzen. Die zu analysierenden Punkte sind
anders, wenn es darum geht, die Identität zu analysieren, als wenn es darum geht, den Ausdruck zu analysieren. Ein Gesicht kann sein

gekennzeichnet durch die Koordinaten jedes Punktes des Modells sowie durch den Wert der Pixel darin
Nachbarschaft, die es ermöglicht, einen leistungsfähigeren Gesichtsbeschreiber als das rohe Bild zu definieren. Einige

Methoden betrachten eine spezielle Behandlung an jedem der Interessenspunkte: das Ergebnis der Behandlung in
Jeder der Punkte, die den Eingangsvektor des Analyse systems bilden [SB03].

LITTLEWORT et al. schlagen ein System zur automatischen Analyse von Gesichtsausdrücken vor. Es handelt sich um
eines Klassifizierungssystems, das das Vorhandensein von Einheitshandlungen sowie deren Intensität erkennen kann.
Der Verlauf eines Videos. Die Extraktion der für die Klassifizierung nützlichen Daten erfolgt anhand der Textur des Gesichts.
quasi roh: das Gesicht und die Augen werden durch Techniken erkannt, die den von
VIOLA und JONES [eMJJ04]. Das Bild des Gesichts wird dann in ein Fenster von 96x96 Pixeln normalisiert, wo die
Die Augen befinden sich in einer festen Position. Die extrahierten Merkmale sind die Antworten eines Satzes von Filtern von
Gabor in verschiedenen Skalen und Orientierungen an jedem Pixel des Bildes (insgesamt mehr als
650.000 Filter). Die Antworten der Gabor-Filter werden dann als Eingabe an SVMs gegeben (Ein SVM ist...
verwendet für jede Aktionseinheit, die zu erkennen ist). Jedes SVM wurde zuvor auf der Grundlage trainiert
COHNKANADE : die Anwesenheit der Aktionseinheit ist die positive Antwort, und eine negative Antwort wird zurückgesendet
in allen anderen Fällen.

Das System insgesamt ermöglicht eine Erkennungsrate von über 90%. Darüber hinaus,
Die Verwendung von SVM ermöglicht es, die Intensität der erkannten Aktionseinheit zu messen. Der Hauptvorteil
Die Tatsache, dass Lern- und Klassifikationstechniken generisch sind, macht es daher einfach.
neue Aktionen hinzuzufügen, um sie zu erkennen, vorausgesetzt, die entsprechende Lernbasis ist vorhanden.
Dennoch ist das System nur in der Lage, Gesichter von vorne und ohne Verdeckungen zu erfassen.
35 KAPITEL 3 — Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer: Stand der Technik

FIGURE 3.2 – Einige Beispiele für die Einheiten von Gesichtsausdruck, die vom FACS vorgestellt werden [SB03]

3. 3. 2 Ansatz mit Segmentierung


Der auf der Analyse von Gesichtskomponenten basierende Ansatz besteht darin, eine besondere Methode anzuwenden.
der Analyse für jede der Gesichtskomponenten. In dieser Kategorie finden sich Techniken, die auf
parametrische Modelle: Es handelt sich um eine Reihe von Punkten von Interesse der Gesichtskomponenten, die miteinander verbunden sind.
Sie durch gewisse Einschränkungen. Es handelt sich in der Regel um Einschränkungen, die an die Form der Komponente gestellt werden.

Zum Beispiel haben die Lippen, die sehr gut erforschte Komponenten sind, deutlich ausgeprägte Konturen und können
Also können sie durch Polynome oder auch durch freiere Formen modelliert werden. Die Analysetechniken
konsequent dann die Konturen des verwendeten Modells mit den tatsächlichen Konturen zu überlagern; es handelt sich in der Regel
von Optimierungsmethoden, die ein Ähnlichkeitskriterium maximieren (die Verteilung der Punkte mit hohem Kontrast)
über die Konturen des Modells zum Beispiel). [SB03]

MORIYAMA et al. [TM06] präsentieren eine präzise Methode zur Analyse der Augenbewegungen.
Die Methode basiert auf der Verwendung eines generativen Modells des menschlichen Auges: Es handelt sich um ein texturiertes 2D-Modell.

in mehr oder weniger transparenten Schichten organisiert. Das Auge ist in mehrere Unterkomponenten unterteilt:
Lider, Augenbrauen, Iris usw., denen eine Reihe von Form- und Erscheinungsparametern zugeordnet ist.
(Lichtintensität und Farbe). Die Parameter ermöglichen es, das Modell entsprechend weiterzuentwickeln.
besondere Morphologie (Strukturparameter) oder nach einem besonderen Ausdruck (Parameter von
Bewegung).
KAPITEL 3—Erkennung von Müdigkeit und Schlafiness beim Fahrer: Stand der Technik 36

Le but de l’algorithme est de trouver les paramètres du modèle à chaque image, afin que celui-ci
ähnelt so sehr wie möglich dem beobachteten Bild. Sobald das Gesicht in Form normalisiert ist (unter Berücksichtigung
die Rotationen und das Korrigieren des Bildes durch die Verwendung einer 3D-Halbzylinder-Nachverfolgungsmethode und
Helligkeit, die Autoren verwenden den Algorithmus von Lucas Kanade [SB03], modifiziert, um zu berücksichtigen
die möglichen Verformungen des Modells.
Obwohl die Position des Modells manuell auf dem ersten Bild jeder Sequenz initialisiert wird, um
Analysieren, die Ergebnisse sind hervorragend in Bezug auf Robustheit und Genauigkeit. Allerdings ist dieser Modelltyp
ist sehr schwierig zu entwickeln. Tatsächlich muss die Form jeder der Komponenten genau modelliert werden.
sowie ihre möglichen Variationen im Aussehen. Darüber hinaus müssen die Variationen in Form und Aussehen ebenfalls
differenziert, je nachdem, ob sie auf zwischenmenschliche Variationen (morphologische Variationen) oder auf
Intrapersonelle Variationen (expressive Variationen). [SB03]

FIGURE 3.3 – Generatives Modell des Auges, das im MORIYAMA-Modell [TM06] verwendet wird

3. 4 Nutzung von Gesichtsausdrücken zur Erkennung der


Erschöpfung
Gesichtsausdrücke sind eine der wichtigsten visuellen Auswahlen, unter den visuellen Auswahlen.
Existierende, findet man die Augenlidbewegung, die Erkennung der Blickrichtung, die Bewegung des
Kopf und Gesichtsausdrücke. So zeigen die Gesichtsausdrücke einer Person in einem Zustand der Müdigkeit oder auch einer
Personen am Anfang der Ermüdung sind oft durch Muskelverspannungen und Gähnen gekennzeichnet.
Die Entwicklung aktiver Systeme zur Warnung eines Fahrers und zur Überwachung seines Aufmerksamkeitsniveaus ist
Sehr wichtig, um die Fahrer wach zu halten und somit die Anzahl der Unfälle zu reduzieren. Einige
Es wurden in der Literatur Fortschritte bei der Entwicklung aktiver Systeme zur Überwachung von Müdigkeit berichtet.
in Echtzeit, aber die Mehrheit dieser Systeme verwendet eine einzige visuelle Auswahl, was unzureichend ist.
Man kann verschiedene Techniken verwenden, um die Erschöpfung des Fahrers zu analysieren:
37 KAPITEL 3 — Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer: Stand der Technik

— Ein Satz von Techniken platziert Sensoren auf Standardfahrzeugkomponenten, zum Beispiel
ein Lenkrad, ein Gaspedal, und analysiere die Signale, die von diesen Sensoren gesendet werden, um zu erkennen
die Somnolenz.
— Ein zweites Set von Techniken konzentriert sich auf die Messung physiologischer Signale wie
die Herzfrequenz, den Puls und die Elektroenzephalographie (EEG). Forscher haben berichtet
Je mehr das Wachsamkeitsniveau abnahm, desto mehr nahm die EEG-Leistung der Alpha- und Theta-Bänder zu.
erhöhte. Damit wurden Indikatoren für Müdigkeit gegeben. Diese Methode weist jedoch Nachteile auf
Nachteile auf praktischer Ebene, da sie eine Person zwingt, eine EEG-Kappe zu tragen, während
die Führung.
— Ein dritter Lösungsansatz konzentriert sich auf Computersichtsysteme, die in der Lage sind,
Gesichtsmovement und Erscheinungsänderungen erkennen und identifizieren
während der Schläfrigkeit.

3. 5 Der Zustand des Fahrers

Die Fähigkeit des Fahrers, zu fahren, kann durch sein/ihr Verhalten bestimmt werden.
am Steuer. Die Anzeichen für Müdigkeit oder andere gefährliche Fahrbedingungen, wie
dass die Ablenkung sich in Form von Gähnen, Augenblinzeln, Augen schließen, sich bewegen äußert
Kopf, ein mobiles Gerät verwenden oder einen freien Blick haben. Der erste Schritt zur Erkennung der
Somnolenz in Abhängigkeit von den Verhaltensmerkmalen besteht darin, das Gesicht des
Fahrer. In diesem Fall wird der Suchbereich für jedes Gesichtsmerkmal auf die Gesichtsregion beschränkt.
Es gibt viele Techniken zur Gesichtserkennung; Bilder, die enthalten
Gesichtserkennung wurde in verschiedenen Forschungsbereichen wie der Gesichtserkennung entwickelt.
Gesichter, die Verfolgung von Gesichtern, die Schätzung der Pose und die Erkennung des Ausdrucks. Um zu erstellen
ein System, das in der Lage ist, die Informationen zu analysieren, die in den Gesichtsabbildungen enthalten sind, ein Algorithmus zur

Robuste und effektive Gesichtserkennung ist erforderlich. Und das Ziel der Gesichtserkennung bleibt, dass
alle Bildbereiche mit einem Gesicht erkennen, ohne dabei auf die Position zu achten,
Orientierung und Lichtverhältnisse. Und für unsere Forschung konzentrieren wir uns auf diese drei
détections :

● Gesichtserkennung
Für die Gesichtserkennung selbst wurden in der entsprechenden Literatur mehrere Ansätze verwendet.
Wissensbasierte Methoden versuchen, menschliches Wissen über Merkmale zu kodieren.
eines typischen Gesichts, wie die Beziehungen zwischen den Gesichtszügen, und diese als Mittel zu verwenden
Gesichter in einem Bild erkennen. Das Ziel der invariant charakteristischen Ansätze ist es, zu finden.
strukturelle Merkmale des Gesichts, wie Augenbrauen, Augen, Nase, Mund und Haare, die
KAPITEL 3—Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer: Stand der Technik 38

Persistent unter verschiedenen Posen, Blickwinkeln oder Beleuchtungen und sie zu verwenden, um Gesichter zu erkennen. Diese
Merkmale werden hauptsächlich mithilfe von Borddetektoren extrahiert.

FIGUREN 3.4 – Gesichtsmerkmale. (a) Frontale Ansicht des Gesichtmodells. (b) Seitenansicht des Gesichtmodells.
[eMJJ04]

FIGURE3.5–Charakteristische Punkte des Gesichts gemäß [eMJJ04]

● Augenerkennung
Verschiedene Methoden zur Erkennung der Müdigkeit des Fahrers werden von anderen Forschern umgesetzt.
die sich auf Veränderungen und Augenbewegungen konzentrieren. Diese Techniken analysieren die
Änderungen in der Blickrichtung des Fahrers, das Schließen der Augen und die Frequenz von
Blinken.
39 KAPITEL 3 — Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer: Stand der Technik

FIGURE 3.6 – Einige Beispiele für die Einheiten von Gesichtsausdrücken, die vom FACS präsentiert werden [SB03]

● Erkennung des Gähnens


Die adaptive Schwellenwertmethode kann verwendet werden, um den bewegten Bereich zu segmentieren, in dem sich
finden die Konturen des Gesichts und des Kopfes für diesen Standort. Die Position des Kinns und der Nasenlöcher
wird in der nächsten Phase basierend auf der Position des Kinns in der unteren Hälfte der
Gesichtsregion. Die integrale gerichtete Projektion wird verwendet, um die Mitte der Nasenlöcher zu finden. Der Zustand
Der Gähnwinkel wird basierend auf der Berechnung des Abstands zwischen dem Kinn und dem Standort des Punktes bestimmt.
Median der Nasenöffnungen.

- Laut VIOLA-JONES [eMJJ04] wird die Phase des Gähnens bestimmt, indem das Ausmaß festgelegt wird.
Öffnung des Mundes in Abhängigkeit vom Formatverhältnis des den Mund umgebenden Rechtecks. Ein großes
Die Öffnung des Mundes über einer vordefinierten Schwelle für eine kontinuierliche Anzahl von Bildern bedeutet, dass der

Der Fahrer ist müde.

- Gemäß der Methode von ALIOUA et al. wird die kreisförmige Hough-Transformation auf die Regionen angewendet.
Extrahieren Sie aus den Augen und dem Mund, um die Situation des Gähnens zu bestimmen. Der Zustand des Gähnens
wird erkannt, wenn die große dunkle Zone mit einer kreisförmigen Form, die den Mund zeigt, weit geöffnet ist.
KAPITEL 3—Erkennung von Müdigkeit und Schläfrigkeit beim Fahrer: Stand der Technik 40

3. 6 Conclusion
In diesem Kapitel haben wir eine Übersicht über die wichtigsten Ansätze zur Durchführung der
Erkennung von Schläfrigkeit und Müdigkeit. Diese Ansätze haben uns inspiriert, unseren Ansatz zu entwickeln.
experimentell.
KAPITEL 4

DETEKTION VON SCHLAFNEIGUNG UND


ECHTRADE IN ECHTZEIT: ENTWURF
ET IMPLEMENTIERUNG

Präambel

D
In den vorherigen Kapiteln haben wir eine theoretische Untersuchung zur Analyse von Ausdrücken vorgestellt.
Gesichtserkennung und CNNs sowie die Möglichkeit, sie zur Erkennung von Schläfrigkeit zu verwenden und die
Müdigkeit bei Fahrern. In diesem Kapitel werden wir dieses Konzept in die Praxis umsetzen und einen Vorschlag unterbreiten.
Algorithmus zur Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit, der darauf abzielt, die zu überwachen.
Fahrer zur Erkennung eines möglichen Schläfrigkeitszustands.

4. 1 Allgemeines Konzept unseres vorgeschlagenen Algorithmus

Die Anzahl der Verkehrsunfälle aufgrund von Müdigkeit am Steuer steigt alarmierend an.
die Welt. Die Tatsache, dass man nicht gut schläft, ist der Hauptgrund für die Schläfrigkeit am Steuer. Allerdings,
andere Gründe wie Schlafstörungen, Medikamente, Alkoholkonsum oder das Fahren
Die Nachtarbeitszeiten können ebenfalls Müdigkeit am Steuer verursachen.
Das Ziel dieser Anwendung ist es, eine Lösung zur Erkennung der Müdigkeit des Fahrers zu präsentieren.
mit Hilfe eines CNN und dem Lips Aspect Ratio (LAR). Die Implementierung des Projekts verwendet eine CNN-Architektur
personalisierte mit weniger als 250.000 Parametern, die für eine einfache Bereitstellung trainiert werden können auf
Peripheriegeräte oder weniger effiziente Rechenmethoden. Daher kann der Fahrer ...
rechtzeitig gewarnt, wenn der Algorithmus erkennt, dass er eingeschlafen ist, bevor etwas Gefährliches passiert.
produziert werden. Der Eingang unseres Algorithmus ist eine Sequenz von Frames (Video), dann analysiert der Algorithmus
jedes Bild separat. Dieser Prozess erfolgt in vier Hauptschritten:
42 KAPITEL 4 —Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Entwurf und Implementierung

Zunächst erkennen wir das Gesicht in jedem Bild. Danach erkennen wir die beiden Augen (links und rechts) des
Gesicht. Anschließend erkennen wir den Zustand der Augen mithilfe unseres CNN-Modells sowie den Zustand des Mundes.
mit der Berechnung des LAR (ob es ein Gähnen gibt oder nicht). Schließlich wird der Zustand des Fahrers ermittelt.
der zuvor erzielten Ergebnisse (eine Benachrichtigung senden).
Dieses Organigramm (Abbildung 5.1) veranschaulicht alles, was wir oben behandelt haben.

FIGUREN 4.1 – Das Organigramm des Algorithmus


KAPITEL 4 — Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Design und Implementierung43

4. 2 Implementierung
4. 2. 1 Verwendete Software und Bibliotheken
4. 2. 1. 1 Colaboratory

Man braucht keinen leistungsstarken Computer mit einer guten Grafikkarte, denn man hat
arbeitete in Google Colaboratory, oft abgekürzt mit "Colab". Es ist ein Produkt von Google Research und
un service cloud, basé sur Jupyter Notebook et destiné à la formationet à la recherche dans l’apprentissage
automatisch. Diese Plattform ermöglicht es, Machine-Learning-Modelle direkt in der
Cloud. Man benötigt also nichts auf unserem Computer zu installieren, außer einem Browser.

FIGURES4.2–Logos des outils utilisés dans cette étude.

4. 2. 1. 2 Python
Python ist eine allgemeine Programmiersprache, die von GUIDO VAN ROSSUM eingeführt wurde und die geworden ist
sehr schnell sehr populär, hauptsächlich aufgrund seiner Einfachheit und Lesbarkeit des Codes. Es ermöglicht dem
Programmierer sollen Ideen in weniger Codezeilen ausdrücken, ohne die Lesbarkeit zu verringern. Im Vergleich zu
Sprachen wie C / C++, Python ist langsamer. Das gesagt, Python kann leicht mit C / C erweitert werden.
++, was es uns ermöglicht, rechenintensive Code in C / C ++ zu schreiben und ein
Python-Umgebung, die als Python-Module verwendbar ist. Das bietet uns zwei Vorteile:
Erstens ist der Code ebenso schnell wie der originale C / C++-Code (da es sich um echten C++-Code handelt)
im Hintergrund arbeitend) und zweitens ist es einfacher, in Python als in C / C++ zu programmieren. OpenCV-
Python ist eine Python-Hülle für die ursprüngliche Implementierung von OpenCV C++ und wir werden verwenden
diese Bibliothek, um unsere Arbeit zu erledigen.
44 KAPITEL 4 — Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Entwurf und Implementierung

4. 2. 1. 3 OpenCV

OpenCV « Open Source Computer Vision Library » ist eine in C++ geschriebene Bibliothek, die für
Die Probleme der Computer Vision lösen. OpenCV wurde ursprünglich 1999 von Intel entwickelt.
aber er wurde dann von WILLOW GARAGE übernommen. OpenCV kann mit einer großen Vielfalt verwendet werden
Programmiersprachen wie C++, Python, Java usw. Es kann auch auf mehreren ausgeführt werden
Plattformen, insbesondere Windows, Linux und MacOS. OpenCV-Python verwendet NumPy „Numeric Python
», was ist eine hochoptimierte Bibliothek für numerische Operationen mit einer Syntax, die nah dran ist an
cette MATLAB. Alle OpenCV-Array-Strukturen werden in und aus Arrays konvertiert.
NumPy. Es erleichtert auch die Integration mit anderen Bibliotheken, die NumPy verwenden, wie zum Beispiel SciPy.
„Wissenschaftliche Bibliothek“ und Matplotlib „Plotting-Bibliothek“.

4. 2. 1. 4 Keras

Jetzt kennen wir bereits das maschinelle Lernen, einen Zweig der Informatik, der studiert
die Entwicklung von Algorithmen, die lernen können. Hier werden wir uns auf das Lernen konzentrieren.
Tiefe, ein Unterfeld des maschinellen Lernens, das aus einer Reihe von inspirierten Algorithmen besteht
von der Struktur und den Funktionen des Gehirns. Diese Algorithmen werden allgemein als neuronale Netze bezeichnet.
Künstliche (RNA). Tiefes Lernen ist eines der am häufigsten angewendeten Bereiche für die Analyse der
Daten. Viele Fallstudien haben beeindruckende Ergebnisse in den Bereichen der
Robotik, Bilderkennung und künstliche Intelligenz. Keras ist eine der Bibliotheken
Python ist eine der leistungsstärksten und benutzerfreundlichsten Sprachen zur Entwicklung und Bewertung von Lernmodellen.
Sage en profondeur. Es umschließt die effektiven Bibliotheken für numerische Berechnungen, namentlich Theano.
et TensorFlow.
Der Vorteil seiner Nutzung liegt hauptsächlich darin, die Nutzung von neuronalen Netzen einfach zu gestalten.
und unterhaltsam.

4. 2. 1. 5 TensorFlow

TensorFlow ist eine Open-Source-Plattform für maschinelles Lernen von Ende zu Ende.
TensorFlow erleichtert es Anfängern und Experten gleichermaßen, Modelle für maschinelles Lernen zu erstellen.
Konsultieren Sie die folgenden Abschnitte, um loszulegen. Die hochgradigen TensorFlow-APIs basieren auf
Die Keras-API, die einen Standard für die Definition und das Training von neuronalen Netzwerken darstellt.
Keras ermöglicht schnelles Prototyping, Spitzenforschung und die Inbetriebnahme, alles mit APIs
gesellig.
45
KAPITEL 4 — Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Entwurf und Implementierung

4. 2. 2 Beschreibung der Prozesse unseres Algorithmus

4. 2. 2. 1 Methodik der Gesichtserkennung

Der Erkennungsprozess ermöglicht es, ausschließlich über die Existenz oder Nichtexistenz eines Gesichts in einem Bild zu entscheiden.

Wir benötigen also einen Gesichtsdetektor (Klassifizierer), der es ermöglicht, die Merkmale zu suchen.
Verwandte zu cedernier. Die Bibliothek OpenCV enthält die Methode zur Gesichtserkennung „VIOLA JONES“.
» die eine Liste von Dateien mit der Endung « .xml » liefert, die als Haar-Kaskadenklassifizierer bezeichnet werden. Wir haben

auch die Funktionen dieser gleichen Bibliothek verwendet, um das Gesicht in jedem Frame zu erkennen
Videosequenz. Die Koordinaten des erkannten Gesichts wurden an eine Funktion übergeben, die letztere umschließt.
In einem Rechteck, während die Video-Sequenzen bildweise bearbeitet werden. Diese Funktion ermöglicht es, zu verfolgen
Implizit die erkannte Gesichtbewegung. Wir haben auch das Zeichnen von Rechtecken synchronisiert.
Einbeziehend mit der Erkennung, damit sie alle Änderungen der Position und der Größe übernehmen.
der Gesicht Die Haarfunktion besteht darin, die Summe aller Pixelwerte des Rechtecks abzuziehen
Die Summe aller Pixelwerte des schwarzen Rechtecks in der untenstehenden Abbildung.

FIGURE 4.3 – Gesichtserkennung mit Haar-Kaskaden [Lu10]


46 KAPITEL 4 — Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Gestaltung und Implementierung

4. 2. 2. 2 Definition einer räumlichen Segmentierung des Gesichts

Nach der Gesichtserkennung haben wir die dlib-Bibliothek verwendet, um die Bereiche zu lokalisieren, die enthalten.
Die signifikanten Elemente des Gesichts wie der Mund, die Augen (die charakteristischen Punkte). Es ist die Methode, die
nutze das Vorwissen über die räumliche Verteilung des menschlichen Gesichts. Anders gesagt, die
Die Geometrie eines menschlichen Gesichts wird immer von unten nach oben durch eine Stirn, ein Kinn, einen Mund und eine Nase gebildet.

Augen und Augenbrauen. In der Abbildung zeigen wir, wie wir die Erkennung der Augen und des
Mund entsprechend dem Gesicht und die Koordinaten des Rechtecks bestimmen, das den Mund und die Augen umschließt, danach
die Gesichtsdaten abgerufen haben.

FIGUREN4.4–Räumliche Segmentierung des Gesichts.

4.2. 2. 3 Klassifikation mit CNN

● Modellarchitektur
Die Umsetzung verwendet ein maßgeschneidertes CNN, das folgende Merkmale aufweist:
►Drei Convolution-Blöcke mit jeweils 2, 3 und 3 Convolution-Schichten.
►Eine Batch-Normalisierungsschicht folgt jeder Convolution-Schicht.
►UnecoucheDropout suit chaquebloc de convolution pour éviter lesurajustement et une couche
Max Pool.

►3 vollständig verbundene Schichten folgen den Faltungsschichten zur Klassifikation


47
KAPITEL 4 — Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Gestaltung und Implementierung

FIGURE 4.5 – Definition des Modells mit Keras


48 CHAPTER 4 —Détection de la somnolence et la fatigue en temps réel : Conception et implémentation
KAPITEL 4 — Erkennung von Schläfrigkeit und Ermüdung in Echtzeit: Design und Implementierung49

Das Modell wurde mit dem Adam-Optimierer und einer Lernrate von 0,0001 kompiliert.

FIGURE 4.6–Architektur des vorgeschlagenen CNN-Modells.


50 KAPITEL 4 — Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Entwurf und Implementierung

● Datensatz zur Erkennung von Müdigkeit

Das Projekt verwendet den Drowsiness-Datensatz, der auf der Plattform Kaggle verfügbar ist. Der Datensatz
enthält vier Klassen zur Klassifizierung der Bilder in offene Augen, geschlossene Augen, Gähnen oder
ohne Gähnen. Allerdings wurde LAR verwendet, um das Gähnen zu erkennen.[kag20]. Also, wir
Wir werden nur zwei Klassen des Datensatzes "dataset" verwenden. Die Merkmale des Sets
Die Daten sind wie folgt:
— Der Datensatz enthält insgesamt 1452 Bilder in zwei Kategorien. Jede Kategorie
enthält 726 Bilder. Der Datensatz ist bereits ausgewogen, daher ist es nicht notwendig
d’équilibrer l’ensemblede données. Étiquettes de classe «Œilouvert » et «Œilfermé ».
— Die Klassenetiketten wurden so codiert, dass 0 das offene Auge und 1 das geschlossene Auge darstellt.
das geschlossene Auge.

FIGUREN 4.7 – Laden des Datensatzes

Bereiten Sie die Bilder so vor, dass die Größe jedes Bildes (32, 32, 3) beträgt. Danach, das Set
Die Daten werden in Trainings- und Testset im Verhältnis von 80% zu 20% aufgeteilt.
CHAPTER 4 —Détection de la somnolence et la fatigue en temps réel : Conception et implémentation51

4.2. 2. 4 Berechnung des Lippen-Aspektverhältnisses

In fast allen Algorithmen, in denen das Gähnen als Symptom von Müdigkeit erkannt wird, sind die
Die Erkennungsmethoden werden auf ähnliche Weise festgelegt. Die Kamera nimmt ein Bild des Gesichts auf.
Der Mund wird dann identifiziert und sein Zustand (geschlossen oder offen) wird durch Bildanalyse erkannt. Wenn der Mund ...
offen, wir müssen entscheiden, ob er gähnt. Dariusz Sawicki schlägt ein System vor, das zwischen den
häufiges Gähnen und das Öffnen des Mundes, während man spricht, singt oder lächelt. Dieses System ist
besteht aus drei Hauptschritten: der erste ist die Unterscheidung der Lippen, dies erfolgt mit dem Algorithmus von
Erkennung der Gesichtspunkte und der zweite Schritt ist die Schätzung des Zustands dieser Lippen nach der Berechnung von
Bericht über das Verhältnis von der Höhe des Mundes zu ihrer Breite d.h. LAR. In der letzten Phase, die Unterscheidung zwischen der
Das Wort, das Lachen und das Gähnen geschieht im Vergleich zu LAR mit seiner Schwelle.

FIGURE 4.8 – Die Punkte des Mundes identifiziert durch FIGUREN4.9–Die Formel des LAR. [OW]
der modifizierte Algorithmus zur Gesichtsanalyse[OW]

FIGURES4.10–Ein Beispiel für ein Diagramm, das die Änderung der Messung Dyx für die drei darstellt
verschiedene Arten des Mundöffnens.[OW]
52 KAPITEL 4 — Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Gestaltung und Implementierung

Importieren Sie zunächst die Bibliothek, die wir benötigen.

2. Ein Programm erstellen, um das Gesicht zu zielen oder zu erkennen

3. Fügen Sie das Modell ein, das wir benötigen

4. Ändern Sie den BGR in Graustufen

5. Erkennen Sie das Gesicht im Graustufenbild

6. Konvertiere die Koordinaten des Gesichtspunktes in ein numpy

7. Berechnen Sie die Koordinaten/Indizes für die obere und untere Lippe
KAPITEL 4 — Echtzeit-Erkennung von Schläfrigkeit und Müdigkeit: Gestaltung und Implementierung53

8. Bestimmen Sie das Verhältnis der Lippen beim Gähnen und die Anzahl der Bilder, die die Person hat.
eine Geste

9. Die Lippenindizes einfügen

FIGURE 4.11 – Das Ergebnis der Erkennung der charakteristischen Punkte aus dem Gesicht unter Verwendung von dlib.

10. Die Indizes im Numpy-Array ändern


54 CHAPTER 4 —Détection de la somnolence et la fatigue en temps réel : Conception et implémentation

11. Berechnen Sie das Verhältnis der Lippen

12. Erkennung von Gähnen

4. 2. 3 Leistungen unseres Modells

4. 2. 3. 1 Modellbildung

Das Training des Modells erfolgt über insgesamt 200 Epochen mit einer Batch-Größe von 128.
ImageDataGenerator wird verwendet, um die Trainingsbilder zu randomisieren, um die Leistung zu verbessern.
Leistungen des Modells.

4.2. 3. 2 Leistungen des Modells

Die folgenden Leistungskennzahlen werden verwendet für:

▪ Verlauf des Verlusts im Verhältnis zur Anzahl der Epochen


▪ Kurs der Genauigkeit im Verhältnis zur Anzahl der Epochen
▪ Rangbericht
▪ Konfusionsmatrix
CHAPTER 4 —Détection de la somnolence et la fatigue en temps réel : Conception et implémentation
55

Die Ergebnisse der oben genannten Messungen sind wie folgt:

FIGURE 4.12 – Präzisions- und Verlustkurven

4. 2. 3. 3 Die Bewertung des Modells

Die Bewertung ist ein Prozess während der Entwicklung des Modells, um zu überprüfen, ob das Modell der
besser an das gegebene Problem und die entsprechenden Daten angepasst. Das Karas-Modell bietet eine Funktion,
bewertet, wer die Bewertung des Modells durchführt.
56 KAPITEL 4 —Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Konzeption und Implementierung

4. 2. 3. 4 Rangbericht

Die Python-Funktion predict() ermöglicht es uns, die Etiketten der Datenwerte basierend auf...
des trainierten Modells. Die Funktion predict() akzeptiert nur ein einzelnes Argument, das normalerweise den entspricht
Testdaten.

4. 2. 3. 5 Verwirrungsmatrix

Im überwachten maschinellen Lernen ist die Konfusionsmatrix eine Matrix, die die Qualität misst
einem Klassifikationsalgorithmus. Jede Zeile entspricht einer tatsächlichen Klasse, jede Spalte entspricht
une classe estimée. La matrice de confusion est en quelque sorte un résumé des résultats de prédiction pour
ein spezifisches Klassifizierungsproblem. Sie vergleicht die tatsächlichen Daten für eine Zielvariable mit denen
von einem Modell vorhergesagt.
CHAPTER 4 —Détection de la somnolence et la fatigue en temps réel : Conception et implémentation 57

4. 2. 3. 6 Test des Modells

Die Vorhersagen des Modells für die Augenbilder sind in den folgenden Bildern zu sehen:

4. 2. 3. 7 Einen Pipeline für Vorhersagen auf vollständigen Bildern erstellen

Der letzte Schritt dieses Projekts besteht darin, eine Pipeline zu erstellen, um Vorhersagen über Bilder zu treffen.
Voll sichtbar. Der Kanal umfasst die Gesichtserkennung, die Ausrichtung der Gesichter, die Augenerkennung.
die Vorverarbeitung der Rendite der Investition in das Bild, der Übergang zum Modell für die Vorhersage und
Die Anzeige der Ergebnisse auf dem Bild. Die Umsetzung ist wie folgt:
58 KAPITEL 4 – Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Entwurf und Implementierung

Die Implementierung verwendet die Bibliothek 'dlib' zur Gesichtserkennung im Bild. Die Ausrichtung
Die Gesichtsvermessung erfolgt mit der Klasse FaceAlignment aus der Bibliothek imutils.face_utils für eine
bessere Augenerkennung. Die Augenerkennung erfolgt mithilfe von kaskadierten Klassifikatoren von
Haar.
KAPITEL 4 — Erkennung von Schläfrigkeit und Müdigkeit in Echtzeit: Entwurf und Implementierung
59

Schließlich können die Ergebnisse wie folgt visualisiert werden:

ABBIILDUNG 4.13-Schläfriger Mensch

FIGUREN4.14–Nicht schläfriger Mensch.


62 KAPITEL 4 — Echtzeit-Erkennung von Schläfrigkeit und Müdigkeit: Entwurf und Implementierung
Bezüglich der Ergebnisse der Echtzeiterkennung von Schläfrigkeit verwenden wir OpenCV aus dem folgenden Programm.
import cv2
import dlib
von [Link] import distance

def berechne_EAR(Auge):
A = [Link](auge[1], auge[5])
B = [Link](Auge[2], Auge[4])
C = [Link](auge[0], auge[3])
ear_aspect_ratio = (A+B)/(2.0*C)
Rückgabe Ohr-Aspektverhältnis

cap = [Link](0)
hog_Gesichtserkenner = dlib.get_frontal_face_detector()
dlib_facelandmark = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")

Während es wahr ist:

rahmen = [Link]()
gray = [Link](frame, cv2.COLOR_BGR2GRAY)

faces = hog_face_detector(gray)
für Gesicht in Gesichtern:

face_landmarks = dlib_facelandmark(gray, face)


leftEye = []
rightEye = []

für n in Bereich(36,42):
x = Gesicht_landmarken.teil(n).x
y = gesicht_landmarken.part(n).y
[Link]((x,y))
next_point = n+1
wenn n == 41:
next_point = 36
x2 = Gesicht_landmarken.teil(nächster_punkt).x
y2 = face_landmarks.part(nächster_punkt).y
[Link](frame,(x,y),(x2,y2),(0,255,0),1)

für n in Bereich(42,48):
x = face_landmarks.part(n).x
y = gesichts_landmarke.part(n).y
[Link]((x,y))
next_point = n+1
wenn n == 47:
next_point = 42
x2 = face_landmarks.part(nächster_Punkt).x
y2 = face_landmarks.part(next_point).y
[Link](frame,(x,y),(x2,y2),(0,255,0),1)

left_ear = calculate_EAR(leftEye)
right_ear = calculate_EAR(rightEye)

EAR = (linkes_Ohr + rechtes_Ohr) / 2


EAR = rund(EAR,2)
wenn EAR<0,26:
[Link](frame,"DROWSY",(20,100),
cv2.FONT_HERSHEY_SIMPLEX,3,(0,0,255),4)
62 CHAPTER 4 —Détection de la somnolence et la fatigue en temps réel : Conception et implémentation
[Link](frame,"Bist du schläfrig?",(20,400),
cv2.FONT_HERSHEY_SIMPLEX,2,(0,0,255),4)
Schläfrig
Druck(EAR)

[Link]("Bist du schläfrig", frame)

key = [Link](1)
wenn taste == 27:
pausieren
[Link]()
[Link]()

Schließlich kann das Endergebnis wie folgt visualisiert werden:

4. 3 Schlussfolgerung

In diesem Kapitel haben wir die Einzelheiten der Implementierung und Nutzung unseres
Vorgeschlagenen Algorithmus. Wir haben daher das Modell des verwendeten neuronalen Netzwerks zur Konstruktion präsentiert.

ein Modell zur Erkennung von Schläfrigkeit und Müdigkeit sowie ein Algorithmus für die Gesichtsausdrücke für die
Gähnen.
ALLGEMEINE FASSTUNG

Müdigkeit und Schläfrigkeit, die zu einer Verzögerung der physischen und mentalen Reaktion führen, sind immer gewesen
Risikofaktoren für Fahrer. Die erschreckenden Statistiken über die Auswirkungen von Schläfrigkeit und
Müdigkeit auf der Straße war unsere Motivation für die Entwicklung eines auf Lernen basierenden Algorithmus.
tief und warnt die Fahrer frühzeitig, was zu einer Verringerung der Sterblichkeitsrate führt.
Wir haben das CNN verwendet, um den Zustand der Augen zu erkennen, der Schläfrigkeit ausdrückt, und das LAR für die
Erkennung des Gähnens, das Müdigkeit ausdrückt.

Als Perspektive möchten wir die vorgeschlagene Arbeit auf einem eingebetteten System implementieren, um
die Berechnungszeit zu reduzieren und eine bessere Visualisierung seiner tatsächlichen Nutzung zu erhalten. So integrieren Sie ein

Infrarotbeleuchtungssystem, das nur nachts aktiviert wird, um die Akquisition zu verbessern.


Szene. Und schließlich das System bereichern, indem eine Analyse der Blickrichtung des Fahrers einbezogen wird, um
kontrolliert präziser sein Interessengebiet.
Bibliographie
H. M. Ahmed. Steuerung der doppelt gespeisten Asynchronmaschine - Beitrag der Technologien
Techniken der künstlichen Intelligenz. In Thesen, 2017.
[Axi19]Axiocode. Anwendungen der künstlichen Intelligenz. In[Link]
unbequemlichkeiten-künstliche-intelligenz/, 2019.1,2

[Bel] Djamel Belhaouci. Architektur von neuronalen Netzen. In


[Link]
de-neurones-artificiels.15
[Cht17] S. Chtita. Modellierung von biologisch aktiven heterozyklischen organischen Molekülen durch
QSAR/QSPR-Methoden zur Forschung neuer Medikamente. InTheses, 2017. 10
V. Cimino. Künstliche Intelligenz kann eine medizinische Diagnose präziser stellen als ein Mensch.
In [Link]
präzision-quun-mensch/, 2019.7
[CM17] Cheng P. P. M. MD Vorontsov M. E. Drozdzal B. E. S. M. Turcotte P. S. Pal M. C. J. Kadoury P.
S. Tang P. A. Chartrand, G. und MSc. Deep Learning: Ein Leitfaden für Radiologen. November 2017.
1
[Det15] T. Dettmers. Deep Learning in Kürze: Kernkonzepte | NVIDIA Entwicklerblog, NVIDIA.
[Link] 03 November 2015. 16
Myriam Emilion. Die verschiedenen Algorithmen des Deep Learning.n[Link]
algorithmen-des-deep-learnings, 2022.5
[eMJJ04] Paul Viola und Michael J. Jones. Robuste Echtzeit-Gesichtserkennung. In International Journal of
Computer Vision, Seiten 137–154, 2004.34,37,38
[eQV19] [Link] et Q. [Link]. Efficientnet: Überdenken der Modellskalierung für konvolutionale neuronale Netzwerke. In
arXiv Preprint arXiv:1905.11946, 2019.20,21,23,24,26,28,29

[eYB] Sandra Pietrowska und Yoann Benoit. Ichn[Link]


ghalia/dateien/[Link].3
[DE] Bernhard Schlkopf Alexander J. Smola Ben Taskar S.V.N Vishwanathan Gkhan BakIr, Tho-
mas Hofmann. InVorhersage strukturierter Daten. MIT Press, Cambridge, MA.
[GD02] M. Samuelides M. Gordon F. Badran S. Thiria L. Hérault G. Dreyfus, J. Martinez. Netzwerke von
Neuronen: Methodologie und Anwendung. InEyrolles, 2002.12,16

Das könnte Ihnen auch gefallen