Objekterkennung mit dem Raspberry Pi
In diesem Atikel beleuchte ich das Thema Objekterkennung mit dem Raspberry Pi näher. Algorithmen zur Künstlichen Intelligenz werden immer wichtiger und als Programmierer kommt man kaum noch daran vorbei. Mit der Raspberry Pi Kamera ist die Erkennung von Objekten auf Bildern und Video möglich. Ich habe mir die Technik genauer angesehen!
Objekterkennung mit dem Raspberry Pi
Der kleine Computer auf einer Platine kam 2012 auf den Markt und sollte als eine Art Lernmodul dazu beitragen, einer neuen Generation die Programmierung von Systemen näher zu bringen. Das hat die Raspberry Pi Foundation mit Sicherheit geschafft. Mittlerweile wurden nicht nur mehr als 17 Millionen Exemplare verkauft, sondern auch zahlreiche coole Erfindungen auf den Markt gebracht. Mittlerweile ist das Angebot an praktischem Zubehör, Sammlungen an Betriebssystemen und entwickelter Software bereits stark angestiegen und die Möglichkeiten sind tatsächlich beinahe grenzenlos geworden. Obwohl der kleine Computer gerade mal so groß wie eine Kreditkarte ist, kann er mithilfe einer Kamera bereits eine eigene Objekterkennung meistern. Das wird durch Deep Learning, einem Algorithmus der künstlichen Intelligenz (KI), ermöglicht.
Was kann der Raspberry Pi alles?
Online finden sich zahlreiche Open-Source-Codes für verschiedenste Anwendungen. Raspberry Pis sind für viele Programmierer die perfekte Hardware, um ausgeklügelte Projekte auf einem simplen System auszuprobieren. Unter anderem wurden sogar eigene Slot-Maschinen mit dem Einplatinencomputer gebaut. Wie bei modernen Geräten basieren diese gänzlich auf einer Software. Viele der Entwickler machten sich jedoch auch die Mühe, ein Gerüst um Bildschirm und Computer zu bauen, das an die herkömmlichen, mechanischen Geräte erinnert, die noch mit Hebeln und analogen Walzen ausgestattet waren. Andere Erfindungen reichen von elektrischen Skateboards bis hin zu elektronischen Schachbrettern und vieles mehr. Der Fantasie sind kaum Grenzen gesetzt.
Was ist Objekterkennung?
Das menschliche Gehirn benutzt einen Großteil seiner Neuronen dafür, unsere visuelle Wahrnehmung zu steuern. Der Sehsinn ist deutlich ausgeprägter als andere Sinne wie Hören und Fühlen. Unser Gehirn verarbeitet diese Daten extrem schnell und hat eine große „Datenbank“ an Vergleichsbeispielen. Gesichter und Objekte zu erkennen ist für das menschliche Gehirn eine absolute Selbstverständlichkeit. Ein Computer hat zu Beginn keine Vergleichsbeispiele und kann daher auch nicht erkennen, wo in einem Bild sich welches Objekt befindet. Erst durch das Einspielen von Daten, kann auch eine Maschine ähnliche Fähigkeiten erlernen. Diese sind aktuell noch nicht so akkurat wie das menschliche Gehirn. Für die Objekterkennung muss ein Computer verschiedene Fähigkeiten erlernen: Zuerst muss er ein Objekt oder ein Gesicht kategorisieren lernen. Weiß der Computer, was auf dem Bild abgebildet wurde, kann er damit beginnen, das Objekt zu lokalisieren. Befinden sich mehrere Objekte in einem Bild, so soll der Computer diese erkennen und in mehreren Boxen voneinander abgrenzen. Im letzten Schritt können Segmente gebildet werden, die klarere Umrisse abgrenzen. So wird ein Gesicht beispielsweise genau an den Außenkanten markiert, also in einer runden Form mit verschiedenen Kurven. Diese Segmentierung ist in vielen Fällen nicht unbedingt notwendig, sodass es oft reicht, die Objekte in Form von Boxen zu markieren. Dies benötigt deutlich weniger Zeit und Rechenaufwand.
Anwendungen der Objekterkennung
Einige der bekanntesten Anwendungen der Objekterkennung sind Kameras, die auf Gesichter scharf stellen. Ein selbstfahrenden Auto, das Hindernisse erkennen kann oder der Gesichtserkennung und automatischen Markierung von Freunden auf Plattformen wie Facebook. Die Objekterkennung hat auch im kommerziellen Bereich zahlreiche Vorteile. So kann eine Kamera in einem Warenhaus die Anzahl eines Produkts zählen, sofern diese gut sichtbar aufgestellt sind. Sie kann die Größe von Produkten messen, die in unterschiedlichen Variationen vorhanden sind, oder sogar den Ort von Produkten lokalisieren. Auch eine Qualitätskontrolle kann mit der Objekterkennung ermöglicht werden. Der Computer vergleicht, ob Produkte Abweichungen voneinander haben. Auch im privaten Bereich sind Objekterkennungen neben den bereits genannten Anwendungen sehr hilfreich. Eine Kamera mit Raspberry Pi kann beispielsweise Personen am Hauseingang erkennen und eine Software mit Gesichtserkennung kann beim Sortieren von Urlaubsfotos helfen.
Die KI trainieren mit dem Raspberry Pi
Um selbst an eine solche Programmierung heran zu schreiten, müssen einige wichtige Schritte bedacht werden. Um einem Computer etwas beizubringen, müssen im ersten Schritt Beispiele gesammelt werden. Im Fall der Objekterkennung müssen pro Objekt einige hunderte Bilder gesammelt werden, die per Hand markiert werden. Hier werden alle Objekte derselben Art in jedem Bild markiert, sodass der Computer auf eine Datenbank aus Vergleichsobjekten zurückgreifen kann. Solche Datenbanken sind bereits vorhanden, für jene, die sich diese Arbeit ersparen möchten. Von diesen „Erfahrungen“ kann der Computer nun lernen, wenn ein neues Bild aufgenommen wird. Sind die Ergebnisse nicht akkurat genug, werden weitere Lernerfahrungen benötigt.
Fazit
Die Objekterkennung mit einem Raspberry Pi und einer zugehörigen Kamera ist mittlerweile problemlos möglich und eine gute Möglichkeit, um sich mehr mit Deep Learning zu befassen. Anleitungen dafür findet man online!