---
title: "Echtzeit-Menschliche Posenerkennung durch Computer Vision"
date: 2019-12-01
language: de
topics: ["art", "data", "experiment", "game", "people", "sensors", "work"]
source_url: https://willem.com/de/2019-12-01_echtzeit-menschliche-posenerkennung-durch-computer-vision/
---
# Echtzeit-Menschliche Posenerkennung durch Computer Vision

*TensorFlow und PoseNet auf einem Videostream*

> Für ein spannendes neues Projekt habe ich mit Computer Vision und TensorFlow experimentiert. Ich wollte menschliche Posen in Echtzeit erkennen, um interaktive Videoprojektionen und Spiele zu steuern. Zeit, in die Welt des maschinellen Lernens, der Tensoren und der Computer Vision einzutauchen!

## Computer Vision

Besonders spannend finde ich das interdisziplinäre Forschungsfeld der Computer Vision. Es beschäftigt sich damit, wie Computer aus digitalen Bildern und Videostreams ein höheres Verständnis gewinnen können. Dazu gehört, digitale Bilder aufzunehmen, zu verarbeiten und zu analysieren. Am Ende soll der Computer auf Grundlage dessen, was er von der (komplexen) Welt um sich herum versteht, Entscheidungen treffen.

## TensorFlow

TensorFlow ist eine Open-Source-Plattform für maschinelles Lernen, die ursprünglich von Google entwickelt wurde. Sie baut auf der Forschung verschiedener Wissenschaftler auf und ist inzwischen ein stabiles, robustes Ökosystem aus Tools, Bibliotheken und Community-Ressourcen.

Der Name "TensorFlow" kommt von der Idee eines "Flusses von Tensoren". Ein Tensor lässt sich am besten als ein "Ding" beschreiben: etwas, das der Computer erkannt hat oder gerade zu analysieren versucht. Technisch gesehen ist ein Tensor ein mehrdimensionales Array mit numerischen Werten. So kann der Computer verschiedene "Dinge" miteinander vergleichen und sehen, wie ähnlich (oder unterschiedlich) ihre Eigenschaften sind.

Die größte Herausforderung bei der Bildverarbeitung in Echtzeit ist, die Komplexität eines Bildes auf Häppchen zu reduzieren, die sich als Tensoren ausdrücken lassen. Meist sind dafür viele Schritte nötig, die zusammen den Algorithmus der Computer Vision bilden. Schritte wie: eine Form erkennen, auf diese Form zuschneiden, die Größe ändern, die Farbe entfernen, die Konturen vergleichen und so weiter. Die Tensoren fließen durch diese Schritte, von "unanalysiert" zu "erkannt". Daher der Name TensorFlow.

## Rechenleistung

Das Tolle am modernen maschinellen Lernen mit TensorFlow: Für Ergebnisse brauchst du in der Regel keine (sehr) teure Hardware. Die "schwere Arbeit" passiert nämlich beim Training der Modelle, die du dir ungefähr als "Referenztabellen" vorstellen kannst. Diese Modelle entstehen aus der Analyse bekannter Datensätze: Der Computer bekommt die "Antwort" vorgegeben und ermittelt selbst die Merkmale des Objekts. Das Training von Modellen kostet Zeit, Rechenleistung und Trainingsdaten.

## Trainingsdaten

Google hat etwas wirklich Cleveres gemacht: Es hat das Training seiner Modelle auf uns alle verteilt. Ja, auch auf dich!

### reCAPTCHA

Du bist bestimmt schon einmal auf "reCAPTCHA" gestoßen. Das ist die visuelle Aufgabe, die du lösen musst, wenn du online etwas bestellst oder dich irgendwo registrieren willst. Sie schützt Betreiber von Webshops und Websites vor (Spam-)Bots und soll Menschen von Bots unterscheiden. Dafür zeigt sie Menschen (komplexe) Bilder und bittet sie, darin Objekte zu erkennen. Verkehrsschilder, Kreuzungen, Autos und so weiter. Google nutzt_dieses_menschliche_Feedback (https://www.techradar.com/news/captcha-if-you-can-how-youve-been-training-ai-for-years-without-realising-it), um seine Modelle zu trainieren.

![reCAPTCHA: Du trainierst seit Jahren Googles KI!](https://willem.com/global/images/50568e89a5e8.webp)

Das Schöne ist, dass Google viele seiner Erkenntnisse öffentlich zugänglich macht. Es gibt jede Menge interessante Open-Source-Projekte, mit denen wir - ganz normale Entwickler - erstaunliche Dinge mit maschinellem Lernen anstellen können.

## Menschliche Posenerkennung mit PoseNet

Eines dieser frei verfügbaren Modelle ist PoseNet (https://www.tensorflow.org/lite/models/pose_estimation/overview). Es ist ein Bildmodell, das die Pose einer Person in einem Bild oder Video schätzen kann. Dazu bestimmt es, wo die wichtigsten Gelenke des Körpers sitzen: Ellbogen, Hände, Hüften, Knie, Knöchel und so weiter.

![Ich und Mini-Ich, erkannt vom PoseNet-Modell](https://willem.com/global/images/7953a7232386.webp)

### Single Shot MultiBox Detector (SSD) Algorithmus

Der Single Shot MultiBox Detector ist ein beliebter Algorithmus, um Objekte in Bildern und Videostreams zu erkennen. Beliebt ist er wegen seiner Geschwindigkeit. Das Prinzip ist relativ leicht zu verstehen: Der Algorithmus versucht, die Komplexität des Bildes so schnell wie möglich zu verringern und analysiert nur verkleinerte, vereinfachte Feature Maps wirklich gründlich.

Am besten funktioniert das bei großen Objekten, denn sie fallen schnell auf und liefern früh im Algorithmus genügend übergeordnete Merkmale für eine Vorhersage. Das passt gut zur Körpererkennung, einem der ersten Schritte, wenn du menschliche Posen bestimmen willst (erst schauen, *wo* eine Person ist, dann *welche* Pose sie hat).

![MobileNet-SSD-Algorithmus (Bild: hey-yahei.cn)](https://willem.com/global/images/567b618c7f65.webp)

Bild- und Personenerkennung können die Leute aus China (https://hey-yahei.cn/2018/08/08/MobileNets-SSD/index.html) aus verschiedenen Gründen ziemlich gut. Ihre Algorithmen laufen auch auf relativ schwacher Hardware gut. So funktioniert Computer Vision auf allen möglichen Geräten in Echtzeit!

## Coole Anwendungsfälle

Wenn Posen in Echtzeit erkannt werden, ist alles Mögliche denkbar. Du kannst - im wahrsten Sinne des Wortes - selbst zum Game-Controller werden oder zur Steuerung einer interaktiven Kunstinstallation!

### PomPom-Spiegel

Mit 928 kugelförmigen Puscheln aus Kunstfell ist diese Installation_von_Daniel_Rozin (https://vimeo.com/128375543) einfach umwerfend. Die Skulptur wird von Hunderten von Motoren gesteuert, die mithilfe von Computer Vision Silhouetten der Betrachter formen.

![PomPom-Spiegel aus Kunstfell von Daniel Rozin](https://willem.com/global/images/34fceca59e7a.webp)

### Du als Vogel: The Treachery of Sanctuary

Sich für einen Moment selbst zu vergessen, war nur möglich, weil verschiedene Disziplinen zusammengekommen sind. Diese beeindruckende interaktive_Installation_von_Chris_Milk (https://www.youtube.com/watch?v=I5__9hq-yas&feature=youtu.be) ist ein riesiges Triptychon, das die Betrachter mithilfe von Computer Vision durch verschiedene Phasen des Fliegens führt.

![Menschen mithilfe von Computer Vision in Vögel verwandeln](https://willem.com/global/images/e4956ea74e75.webp)

## Fazit

An kreativen und experimentellen Projekten zu arbeiten ist ein unglaubliches Privileg. Genau das macht meine Arbeit so spannend.

Bei immer größeren Datenmengen ist es eine große Zukunftsaufgabe, digital und autonom Sinn aus ihnen zu ziehen. Und genau daran arbeite ich gern!
