Skip to content

Action Recognition đŸ‡©đŸ‡Ș Erkennung menschlicher Handlungen durch Auswertung der Körperhaltungen von Personen in einem Video mithilfe von Machine Learning und neuronalen Netzen im Rahmen einer Bachelorarbeit.

License

AlexanderMelde/Handlungserkennung

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

Erkennung menschlicher Handlungen durch Auswertung der Körperhaltungen von Personen in einem Video mithilfe von Machine Learning und neuronalen Netzen

Bachelorarbeit

AutorAlexander Melde (7939560)
BetreuerDr. M. Sieck, EnBW AG
Prof. Dr. M. Babilon, DHBW Stuttgart
Studiengang/KursB. Sc. Angewandte Informatik – Kommunikationsinformatik TINF15K
Titel der ArbeitErkennung menschlicher Handlungen durch Auswertung der Körperhaltungen von Personen in einem Video mithilfe von Machine Learning und neuronalen Netzen
AnlassBachelorarbeit, 3. Studienjahr
Bearbeitungszeitraum11.06.2018 - 31.08.2018
Abgabedatum03.09.2018

Kurzbeschreibung

Dank bedeutender Forschungsergebnisse in den Bereichen der kĂŒnstlichen Intelligenz und digitalen Bildverarbeitung ist es Computern mithilfe von kĂŒnstlichen neuronalen Netze möglich, Personen in Videos zu detektieren und deren Körperhaltungen abzuschĂ€tzen.

In dieser Arbeit wird geprĂŒft, ob durch Auswertung dieser Körperhaltungen menschliche Handlungen erkannt werden können.

Die selbststĂ€ndige Klassifikation von Videos oder gar Handlungen in Videos durch einen Computer ist ein noch nicht gelöstes Problem, zu dem noch viel geforscht wird. Um die komplexen ZusammenhĂ€nge, LösungsvorschlĂ€ge und Implementierungen zu verstehen, werden in dieser Arbeit zunĂ€chst einige Grundlagen aus den Bereichen VideoĂŒberwachung, digitale Bildverarbeitung und kĂŒnstliche Intelligenz erarbeitet. Anschließend werden zahlreiche AnsĂ€tze zur Handlungsklassifikation in Videos miteinander verglichen und bewertet.

Damit die kĂŒnstliche Intelligenz angelernt werden kann, werden darĂŒber hinaus zahlreiche DatensĂ€tze mit beschrifteten Handlungen aufgezeigt.

Ausgehend von den Ergebnissen dieser Untersuchung werden anschließend mehrere im Rahmen dieser Arbeit entwickelter Prototypen zur Handlungserkennung vorgestellt. FĂŒr einen produktiven Einsatz werden abschließend Erweiterungs- und Optimierungs-Möglichkeiten gezeigt.

In jedem Schritt wurden darĂŒber hinaus Optimierungen hinsichtlich des Anwendungsfall „Überwachung von öffentlichen PlĂ€tzen“ geprĂŒft. Durch die Haltungserkennung sollen Gewaltsituationen in VideoĂŒberwachungs-Streams erkannt und Aktionen wie SchlĂ€ge oder Tritte von normalen Alltagshandlungen unterschieden werden können.

Veröffentlichung

Der im Rahmen der Bachelorarbeit geschriebene Quelltext wurde nach Abschluss des PrĂŒfungsverfahrens unter der GNU v3 Lizenz in diesem GitHub Repository veröffentlicht.

Zur Dokumentation des Codes wurde auch der schriftliche Teil der Bachelorarbeit hier hochgeladen.

Inhalt dieses Repository:

  1. Quellcode zur Bachelorarbeit.
  2. Ordner "Beispiele", der Teile der wÀhrend der Arbeit generierten Bilder enthÀlt.
  3. Bachelorarbeit als PDF Datei

Video zu den Experimenten (Demo)

YouTube

Installation

  1. Python und Pip installieren
    1. Python 3.6 herunterladen und installieren (beinhaltet pip)
  2. Virtual Environment erstellen mit allen in der Datei requirements.txt genannten Modulen
    1. Das Modul "Virtual Environment" installieren mit pip install virtualenv
    2. Neue virtuelle Umgebung im Projektordner erstellen mit virtualenv venv
    3. Virtuelle Umgebung betreten, indem im Ordner venv/Scripts/ ausgefĂŒhrt wird:
      1. Unix (Bash): .\activate
      2. Windows (PowerShell): PowerShell.exe -ExecutionPolicy UNRESTRICTED und .\Activate.ps1
    4. Module in virtuelle Umgebung installieren mit pip install -r requirements.txt
  3. Die Bibliothek pafprocess kompilieren
    1. Compiler SWIG installieren
      1. Unix: sudo apt install swig
      2. Windows:
        1. SWIG herunterladen und Installieren Download
        2. Visual C++ Build Tools von Microsoft installieren via Direktlink oder Download-Website besuchen, "Tools fĂŒr Visual Studio 2017" auswĂ€hlen und bei "Build Tools fĂŒr Visual Studio 2017" auf "Herunterladen" drĂŒcken
    2. Im Ordner tpe/tf_pose/pafprocess die Befehle swig -python -c++ pafprocess.i und python setup.py build_ext --inplace ausfĂŒhren.

Schnellstart

Vortrainiertes Modell

Im Ordner pretrained befinden sich drei vortrainierte Modelle, die nach der Installation zum Test der Prototypen genutzt werden können:

  1. Prototyp 1, KTH-Datensatz: python main.py --folder_classification_files="pretrained/classification_files_proto1_kth" --classify_webcam=True
  2. Prototyp 2, KTH-Datensatz: python main.py --folder_classification_files="pretrained/classification_files_proto2_kth" --classify_webcam_asImgs=True
  3. Prototyp 2, zusammengesetzter Datensatz: python main.py --folder_classification_files="pretrained/classification_files_proto2_big" --classify_webcam_asImgs=True

Eigene Klassen & Trainingsdaten

Nach der Installation kann der zweite Prototyp in zwei Schritten mit einer Webcam und eigenen Klassen und Trainingsdaten getestet werden:

  1. Nach Handlungen sortierte Videos in Unterordner von training/input_videos legen, jeweils mindestens 20 Videos im .avi Format z.B. 30 Videos im Ordner training/input_videos/boxing und 25 Videos im Ordner training/input_videos/walking.
    1. z.B. Download des KTH-Datensatzes
    2. z.B. Download des Weizmann-Datensatzes
  2. Prototyp 2 testen mit verkettetem Ablauf python main.py --convertVideosToOneImage=True --retrain=True --train_with_vid_as_img=True --classify_webcam_asImgs=True oder einzeln:
    1. Generierung von Überlagerungen starten mit python main.py --convertVideosToOneImage=True
    2. Das Training des zweiten Prototypen starten mit python main.py --retrain=True --train_with_vid_as_img=True
    3. Anwendung auf Webcam starten mit python main.py --classify_webcam_asImgs=True

Weitere Aufrufe siehe Bachelorarbeit und Hilfe via python main.py -h

Kontakt

E-Mail: alexander@melde.net

About

Action Recognition đŸ‡©đŸ‡Ș Erkennung menschlicher Handlungen durch Auswertung der Körperhaltungen von Personen in einem Video mithilfe von Machine Learning und neuronalen Netzen im Rahmen einer Bachelorarbeit.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published