ESP32-Cam Webserver für 3D-Experimente

ESP32 ist ein Microchip von der chinesischen Firma Espressif. Produktmerkmale sind die 32-Bit CPU mit 240 Mhz Taktfrequenz und 520 KB RAM sowie WiFi und Bluetooth. Das ESP32-Cam Board ist mit einem OV 2640 Sensor, einer 2MP Kamera mit 1600 x 1200 px, und einem Slot für Micro-SD Karten ausgestattet.

Da dem Board ein USB-Zugang fehlt, muss die Verbindung zum Rechner mit einem USB zu serial Konverter überbrückt werden. Mit female Jumper-Kabel stellt man die Verbindung entsprechend der Beschriftungen auf den Chips her: GND > GND, TxD > U0R, RdX > U0T, 3,3V > VCC. Eine Brücke auf dem ESP32-Cam zwischen IO0 und GND signalisiert den Empfangsmodus. Die Ausgangsspannung auf dem Konverter kann durch einen Jumper auch von 3,3 V auf 5V eingestellt werden. Vorsicht beim Anschluss an das ESP32-Board, das Eingänge für beide Spannungen hat. Die farbigen Kabel in den Abbildungen zeigen die korrekte USB Verbindung.

USB-serial Bridge
FDTI 232 USB – serial Bridge
ESP32-Cam

Programmiert wird mit der Arduino IDE. Für unserer Anwendung existiert bereits ein Webserver, in dem lediglich noch SSID und das Passwort für das WLan einzutragen sind. Im Boardverwalter der IDE wählt man Al Thinker ESP32-Cam aus. Unter Datei > Beispiele > ESP32 > Camera > Webserver gelangt man zum Webserver und überträgt diesen dann über > Sketch > Hochladen auf den Chip. Prinzipiell hat man auch Zugriff auf den HTML-Code des Servers, doch hier wollen wir nicht eingreifen. Lediglich das Interface bauen wir durch eine lokale Website, welche die Webinterfaces der ESP32-Cams in Iframes integriert, etwas um. Die Quellen der Iframes entsprechen den IPs der Kameras. Diese bekommen wir vom Portal des lokalen Routers und können sie dort als permanent registrieren.

Webinterface 3D-Kamera
Breadboard mit Netzteiladapter und 2 x ESP32-Cam

Die vorgestellte Laborlösung ist ein Steckbrett mit einem Breadboard Netzteiladapter, der über einen 9 V Akku versorgt wird. Fotografisch wird sicher kein high-end Ergebnis geliefert. Aber darauf kommt es hier auch nicht an. Zum Einstieg in die Technologie aber unbedingt empfehlenswert. Auch wird das Budget geschont. Wer Zeit hat, bestellt in China und bekommt alle Komponenten für um 25 Euro. Viel Spaß beim Basteln!

Testbild im universellen 3D-Format

DIY Kameras jetzt feldtauglich

Im Post Infrarotfotografie wurden die Kameras Backbord/Steuerbord schon vorgestellt. Nun haben diese eine sichere Transportbox bekommen, die leicht im Rucksack zu transportieren ist. Infrarot-NW, WW und Tele können als Objektive eingesetzt werden.

Transportbox
Transportbox für die DIY-Stereokamera

Es existiert jetzt auch eine Light-Version der Kameras, die für den Test der Raspi-Zero Kameras gebaut wurde. Eine Bastelplatte einfach in eine Handyhalterung eingeschoben. 1/4 Zoll Stativgewinde inklusive.

DIY 3D-Kamera Light-Version
Light-Version der 3D-Kamera
Graugaense
Graugänse bei der Nahrungssuche. RPi Kamera V1 mit RPi Zero synchron

Die Kameras laufen innerhalb eines Netzwerks, getriggert durch einen Master. Bildvorschau (Live-View) und Kameraeinstellungen sind individuell nutzbare Module. Die Synchronisation ist hier akzeptabel. Ein Point-and-shoot System haben wir nicht. Ausrichten und Kameraeinstellungen benötigen Zeit. Sobald aber die Kameraserver laufen, kann über das Smartphone oder scriptgesteuert ‘geschossen’ werden.

Wer meinen Blog bisher verfolgt hat, mag bemerken, dass es nun in die Produktionsphase geht. Infrarotbilder, Raumbilder, Zeitreihen, Subtraktion des Hintergrunds, Histogrammausgleich und weitere Techniken stehen zur Verfügung. Mit der neuen 12 MP HQ-Kamera der Raspberry Pi Foundation wird auch die Bildqualität höheren Ansprüchen gerecht werden.

Tiny People Photography

Eine fotografische Anregung für den kommenden Frühling: Interessante 3D-Motive können Figuren für die Modelleisenbahn im Maßstab 1:87 in der realen Welt liefern. Es muss also nicht immer die komplette Miniaturwelt sein. Hier sind es Hafenarbeiter aufgenommen mit Weitwinkel und großer Blende zur Erzielung des unscharfen Hintergrundes. Teilweise befindet sich die Kamera in Bodennähe. Die Basislänge liegt bei etwa 10 mm. Vordergrundschärfe erhält man durch Fokusstacking. Das universelle Stereoformat l-r-l ist für die freie Betrachtung vorgesehen. Aufgenommen mit der Olympus Pen FourThirds.

Feuerwehr mit Schutzanzug
Feuerwehrmänner mit Schutzanzug
Hafenarbeiter
Hafenarbeiter

Infrarotfotografie mit dem Raspberry Pi NoIR Kameramodul

Nachdem die im Post zuvor vorgestellten Kameras separat kalibriert wurden, gilt nun der erste Feldeinsatz der Infrarotfotografie. Natürlich ist man wetterabhängig, besonders Anfang November.

Das für den Menschen sichtbare Lichtspektrum liegt zwischen Wellenlängen von 380 -780 nm. Darüber hinaus, bis etwa 900 nm, wird der Bereich als Infrarot bezeichnet. Zur Vermeidung von Farbverfälschungen ist ein RGB-Sensor mit einem Sperrfilter für diesen Bereich ausgestattet. Verzichtet man auf diesen Sperrfilter, wie beim NoIR Kameramodul, dann erhält das Bild komplett eine violette Tönung. Nun ist das NoIR Kameramodul wohl eher als Night Vision Lösung konzipiert, also in der Dunkelheit bei Infrarotlicht Aufnahmen zu erstellen. Wir versuchen nun die spannenden Farbeffekte der Infrarotfotografie zu erzielen, indem wir Filter verschiedener Wellenlängen einsetzen, die eben das RGB Spektrum sperren und nur den Infrarotbereich ab dieser Wellenlänge zulassen. Auf das Kameragehäuse ist ein sog. Stepup-Ring geklebt, dadurch wird ein einfacher Filterwechsel ermöglicht.

Raspberry Pi Kamera NoIR mit 650 nm Filter. Nachfolgend 720 nm mit Nachbearbeitung durch Kanalmix und verstärkter Sättigung

Verwendet man einen 650 nm Filter, so erzielt man bei der Vegetation Goldtöne. Als Standard gilt ein 720 nm Filter, der eher zum schwarzweiß Bereich neigt. In der folgenden Bildbearbeitung ist es üblich, den Himmel mehr herauszuarbeiten. Dafür nimmt man einen Kanaltausch blau gegen rot vor. Erhöh­t man die Sättigung, kommt wieder etwas Farbe ins Spiel. Es folgen hier erste Aufnahmen, die aber eher der Pflege des Softwarehandlings dienten. Fotografische Meisterwerke sind es (noch) nicht.

Parallel View 650 nm Filter
Parallel View 720 nm Filter

DIY-Kamera für Stereoaufnahmen mit beliebiger Basis

Als Faustregel für Stereoaufnahmen gilt 1/30 der Nahentfernung. Klassische Stereokameras haben einen Objektivabstand von 65 mm. Da liegt die Nahentfernung bei ca. 2m. Heute benutzen wir gekoppelte Kameras auf einem Stereoschlitten und sind in der Wahl der Basis variabel. In der Landschaftsfotografie z.B. liegen aber Aufnahmeentfernungen vor, bei denen die notwendige Länge des Stereoschlittens nicht sinnvoll zu realisieren ist. Hyperstereos fertigt man auch bei Flugzeugaufnahmen, da ergibt sich die Basislänge aus Flugzeuggeschwindigkeit und Bildfolge. Im terrestrischen Fall kann man auf das Prinzip des Phototheodoliten zurückgreifen. Man stellt zwei Kameras im entsprechenden Abstand auf, richtet diese gegeneinander aus und dreht die Aufnahmerichtung rechtwinklig gegeneinander. Der Normalfall der Stereoskopie wird so näherungsweise erreicht. Digitale Korrekturen führen zum störungsfreien Raumbild.

DIY Stereokamera mit Raspberry Pi Zero und Kameramodulen V2

Ein derartiges Kamerasystem konstruieren wir aus zwei von Raspberry Pi Zeros gesteuerten Kameramodulen und einer Python-Software unterstützt durch die OpenCV-Bibliothek. Das Gehäuse bekommen die Kameras aus dem 3D-Drucker. Da wir mit den Kameramodulen großzügig umgehen können, werden gleich jeweils zwei eingebaut. Eines mit M12-Mounts für Wechselobjektive und eines mit NoIR Modulen für Infrarotaufnahmen. Zur hinreichenden synchronen Kameraauslösung gilt es eine geeignete Softwarestrategie zu finden. Die Bedienung der Kameras erfolgt über ein Mobilgerät ( Tablet, Smartphone) ohne Tastatureingaben. Mit einem mobilen Router hat man Zugang zu einem lokalen Netz und kann sich über einen VNC-Viewer die Desktops der ‘headless’ Rechner auf das Display des Mobilgerätes holen.

Selfie mit der 3D-Photo Box

Was ist eigentlich aus der Photo Booth (vgl. Post August/September 2018) geworden? Die Kiste ist für eine Vorführung auf dem ISU World Congress 2019 in Lübeck gerüstet. Dafür wurde die Software getrimmt und auch der Datenschutz findet Berücksichtigung. Der Benutzer drückt den roten Button, positioniert sich und bekommt auf dem kleinen Quittungsdrucker einen sechstelligen Code in die Hand.

Quittungsdrucker
QR-Code dient der Berücksichtigung der Privacy.

Nun kann man über das lokale Netz von einem Notebook die Stereoformate direkt auf das eigene Handy übertragen. Alternativ werden die Bilder über ein Webinterface für einige Zeit im Internet zum Download angeboten. Wer es auspropieren möchte: imagefact.de3DFun und exemplarisch der Code datr6t für ein S-b-S-Format.
Webinterface
Webinterface : Eingabe der Authentifizierung und Auswahl des Stereoformats

n]
Selfie im Side-by-Side Format

Es wird jetzt mit einem kalibrierten Stereorig aufgenommen. Die Bildpaare werden rektifiziert und in den Stereoformaten Anaglyphe, SbS oder Cross ausgegeben. Was ist noch zu tun? Depth Maps für 3D-Fotos liegen im Hintergrund bereit. Helligkeitsanpassung und Bildmontage sind in Arbeit. Aber die Synchronisation ist noch nicht ausgereizt. High-Speed Szenen werden wir nicht einfrieren können. Trotzdem bleibt im Vergleich zur augenblicklichen Lösung noch Luft.

Vorschau Maker Faire 2019

Vom 17.-18. August 2019 findet im Congress Centrum Hannover wieder díe Maker Faire statt. Auf dieser Messe für Kreative und technisches Do-It-Your-self-Wissen werden am Wochenende etwa 20.000 Besucher erwartet.

Die Regionalgruppe Hannover der Deutschen Gesellschaft für Stereoskopie beteiligt sich mit einem Themenstand Stereoskopie und Virtuelle Realität. Auf einem 3D-Fernseher werden ausgewählte Raumbilder und 3D-Videos gezeigt. Weitere Exponate sind Anaglyphen, Phantogramme, VR und, dem Charakter der Messe entsprechend, Webcam-Aufnahmen mit dem Raspberry Pi.

Die URL der Messe ist: https://maker-faire.de/hannover. Hier finden Sie demnächst die aktuellen Informationen.

3D-Foto und Video mit der Webcam?

Eine Webcam kommt mit deutlichen Unterscheidungsmerkmalen gegenüber einer konventionellen Digitalkamera daher. Bei stereoskopischen Aufnahmen bewegter Objekte schränkt die mangelnde Synchronisierung das Anwendungsfeld ein. Zieht man jedoch die nahe Fokusdistanz, die Programmierbarkeit, Netzeinbindung u.a. in Betracht, dann bietet sich schon ein interessantes Aufgabengebiet für diesen Kameratyp. Bei anspruchsvollen Webcams liegt auch bereits eine beachtliche Bildqualität vor. Hier ist mal eine Box mit den Komponenten Kameras, Rechner, HDMI-Monitor, Funktastatur und Power Bank abgebildet. Ein autarkes System, das in ein lokales Netz eingebunden werden kann.

Webcam 3D out of the box

Unter Linux und Windows stehen etliche Werkzeuge zur Kamerasteuerung bereit u.a.: VLC Media Player, fswebcam, ffmpeg, OpenCV. Einen Einstieg in den Umgang mit diesen Werkzeugen bietet der Artikel 3D-Videoaufzeichnung mit der Webcam? aus dem Stereo Journal 1/2019, den Sie hier per Download erhalten.
Side-by-Side Paya Blechkarussell, Webcam Aufnahme mit Microsoft Lifecam Studio und Focus Stacking

Maker Faire Hannover 2018

Zur diesjährigen Maker Faire fanden 21.000 Besucher den Weg in das HCC. Besonders aufgefallen ist mir ein Zeitsprung am Stand des Fotografen Thilo Nass. Silberbilder nannte sich das Projekt. Portraits werden nach dem historischen Kollodium-Nassverfahren auf Metall- oder Glasplatten hergestellt. Das Aufnahmesystem ist eine Holzkamera von 1900. Als ich vorbei kam hatte sich gerade Shiroku für die Portraitsitzung bereit gemacht. Shiroku, eine Cosplay-Künstlerin, war selbst ein Projekt der Maiker Faire. Ich zeige hier ein Anaglyphenbild von der Portraitaufnahmen.

Portraitsitzung beim Fotografen Nass

Die Folien meines Vortrages 3D-Fotografie mit dem Raspberry Pi stehen hier zum Download bereit.
Download Vortragsfolien PDF