LeeMajors
13.05.2021, 21:56
Hallo zusammen,
Projektziel
bei meinem Projekt geht es darum, vollautomatisch die Aufnahmen für ein Kugelpanorama zu erstellen. Das ganze in hoher Qualität, bedienerfreundlich und trotzdem nicht übertrieben teuer.
Vorgeschichte
Bisher arbeite ich mit einer Ricoh Theta V. Die Kamera macht 2 Aufnahmen und fügt diese automatisch zusammen - allerdings ist die Auflösung mit 5K sehr bescheiden. Ebenso wirft die Kamera nur JPGs raus. Der Nachfolger hat einen größeren Chip, 6K und kann RAWs auswerfen, kostet aber EUR 1.000,-. Die Bilder im Netz sind qualitativ zwar besser als der Vorgänger - von professioneller Qualität ist diese aber trotzdem noch weit entfernt.
Die Profis machen solche Aufnahmen mit einer professionellen KB Kamera und einem Nodalpunktadapter. Je nach Auflösung werden dann viele oder sehr viele Aufnahmen gemacht. Ob die Profis vollautomatisch arbeiten, weiß ich nicht. Es gab mal eine Lösung von GigaPan, aber die Firma gibt es scheinbar nicht mehr und die Lösung war auch nicht sehr flexibel. Aktuelle Lösungen gibt es noch von dji, allerdings drehen die Ronin Modelle im Schwerpunkt und nicht im Nodalpunkt. D.h. das schreit nach Problemen, wenn Objekte mal nah an der Kamera sind. Nebenbei hab ich auch keine professionelle KB-Kamera...
Raspberry Pi High Quality Kamera + 16mm Teleobjektiv
Diese Kombi habe ich einmal ausprobiert und war sehr überrascht, wie gut die Qualität ist. Wenn man das Objektiv etwas abblendet, schaffen es meiner Meinung nach alle 12 Megapixel bis auf den Sensor. Dort kommt durch den etwas größeren Sensor (Kompaktkamera-Niveau) auch kein Matsch, sondern scharfe Pixel an. Das Tolle ist ja, dass man das alles mit dem Raspi steuern kann und voll Kontrolle hat.
Anbei meine derzeit professionelle Apparatur... und einem Testbild. Es wurde aus mehreren Belichtungen automatisch auf dem Raspi zusammengebaut. Rechts daneben ein 1:1 Ausschnitt. Das Ergebnis ist meilenweit besser, als z.B. mit meinem Huawei P30 Pro.
355013549935500
Nodalpunkt
Um Kugelpanoramen zu erstellen muss sich die Kamera, bzw. das Objektiv um den sogenannten Nodalpunkt drehen. (https://de.wikipedia.org/wiki/Knotenpunkt_(Fotografie)) Dreht das Objektiv woanders, können die Einzelaufnahmen, besonders wenn Objekte nah an der Kamera sind, nicht ordentlich zu einem großen Panorama zusammengefügt werden. Um den zu ermitteln hab ich dann Teile einer alten mechanischen Steadycam benutzt:
35502
nach meinen Berechnungen befindet sich der Nodalpunkt 25mm vom Objektivrand aus Richtung Kamera.
Software
Derzeit läuft die Software in Python und zur Bedienung gibt es ein Webinterface. Python unterhält sich mit der Website über eine Websocket-Verbindung. Ich steuere alles mit einem XBOX-Controller, damit ich später auch entfernt und berührungslos auslösen und bedienen kann. Die Kamera habe ich soweit im Griff. Ich kann jpgs oder 12Bit dngs aufnehmen, sowie auch Serienaufnahmen mit verschiednene Belichtungsstufen, um später daraus ein HDRI zu erstellen. Eine automatische HDRI Erstellung funktioniert zwar direkt auf dem Raspi, asynchron, allerdings lassen die Ergebnisse zu wünschen übrigen. (Mit HDRI stehe ich irgendwie auf Kriegsfuß - selbst mit Photoshop bekomme ich nur mäßige Ergebnisse raus.) Was prima funktioniert ist die Software https://www.picturenaut.de/.
Hardware
Außer Raspi 4B, HiQ-Cam, 16mm Tele setze ich eine schnelle 128GB SD Karte ein, weil bei kompletten Kugelpanoramen später 216 Aufnahmen erstellt werden müssen und die 12Bit-DNGs natürlich recht groß sind. Für die Bewegung werde ich 2 Dynamixel DYNAMIXEL XM430-W350-T einsetzen, weil ich da von einem anderen Projekt habe ;-) ...2 Dynamixel DYNAMIXEL XC430-W240-T würden es sicherlich auch tun - die kosten "nur" EUR 100,- / Stück. Als Spannungsversorgung nehme ich Turnigy 5200mAh Akku von Hobbyking. Die Servos werden direkt aus dem Akku versorgt, das Raspi bekommt seine 5V über einen Spannungsregler (https://www.reichelt.de/entwicklerboards-spannungsregler-6-40-v-dc-auf-2x-usb-5v-3a--debo-dc-2xusb-p242778.html?&nbc=1)
Und schließlich bekommt die Kamera ein 5 Zoll Touch-Display von Waveshare, welches direkt über DSI Interface mit dem Raspi verbunden wird. (HDMI-Adapter nehmen zu viel Platz weg und sind hier unnötig.)
Und ganz schließlich ;-) baue ich noch ein BNO055 Lagesensor ein, statt Wasserwaage.
Gehäuse
Ich wollte diesmal noch mal einen Versuch mit 3D Druck starten, nach einigen Hürden ist aber klar, dass ich doch wieder shapeways nehmen werde. Hier gibt es keine Fehldrucke, der Druckbereich darf viel größer sein und man kann frei konstruieren, ohne auf die Befindlichkeiten des 3D-Druckers eingehen zu müssen.
Die Konstruktion ist soweit durch, jetzt muss ich noch ein Bisschen prüfen, ob ich keinen Quatsch gemacht habe und dann geht die "ilumicam" in den Druck. :-D
Hier sind noch ein paar Bilder:
355033550435505355063550735508
Kommentare & Kritik sind wie immer erwünscht!
Grüße, Marcus
P.S.: Noch ein paar theoretische Berechnungen:
Bei der Optik und 30% Überlappung braucht es 18 Aufnahmen horizontal und 12 Reihen = 216 Aufnahmen. Wenn ich das in voller Auflösung aufnehme, käme da ein 1.2Gigapixel Panorama raus... das sollte ja reichen!
Projektziel
bei meinem Projekt geht es darum, vollautomatisch die Aufnahmen für ein Kugelpanorama zu erstellen. Das ganze in hoher Qualität, bedienerfreundlich und trotzdem nicht übertrieben teuer.
Vorgeschichte
Bisher arbeite ich mit einer Ricoh Theta V. Die Kamera macht 2 Aufnahmen und fügt diese automatisch zusammen - allerdings ist die Auflösung mit 5K sehr bescheiden. Ebenso wirft die Kamera nur JPGs raus. Der Nachfolger hat einen größeren Chip, 6K und kann RAWs auswerfen, kostet aber EUR 1.000,-. Die Bilder im Netz sind qualitativ zwar besser als der Vorgänger - von professioneller Qualität ist diese aber trotzdem noch weit entfernt.
Die Profis machen solche Aufnahmen mit einer professionellen KB Kamera und einem Nodalpunktadapter. Je nach Auflösung werden dann viele oder sehr viele Aufnahmen gemacht. Ob die Profis vollautomatisch arbeiten, weiß ich nicht. Es gab mal eine Lösung von GigaPan, aber die Firma gibt es scheinbar nicht mehr und die Lösung war auch nicht sehr flexibel. Aktuelle Lösungen gibt es noch von dji, allerdings drehen die Ronin Modelle im Schwerpunkt und nicht im Nodalpunkt. D.h. das schreit nach Problemen, wenn Objekte mal nah an der Kamera sind. Nebenbei hab ich auch keine professionelle KB-Kamera...
Raspberry Pi High Quality Kamera + 16mm Teleobjektiv
Diese Kombi habe ich einmal ausprobiert und war sehr überrascht, wie gut die Qualität ist. Wenn man das Objektiv etwas abblendet, schaffen es meiner Meinung nach alle 12 Megapixel bis auf den Sensor. Dort kommt durch den etwas größeren Sensor (Kompaktkamera-Niveau) auch kein Matsch, sondern scharfe Pixel an. Das Tolle ist ja, dass man das alles mit dem Raspi steuern kann und voll Kontrolle hat.
Anbei meine derzeit professionelle Apparatur... und einem Testbild. Es wurde aus mehreren Belichtungen automatisch auf dem Raspi zusammengebaut. Rechts daneben ein 1:1 Ausschnitt. Das Ergebnis ist meilenweit besser, als z.B. mit meinem Huawei P30 Pro.
355013549935500
Nodalpunkt
Um Kugelpanoramen zu erstellen muss sich die Kamera, bzw. das Objektiv um den sogenannten Nodalpunkt drehen. (https://de.wikipedia.org/wiki/Knotenpunkt_(Fotografie)) Dreht das Objektiv woanders, können die Einzelaufnahmen, besonders wenn Objekte nah an der Kamera sind, nicht ordentlich zu einem großen Panorama zusammengefügt werden. Um den zu ermitteln hab ich dann Teile einer alten mechanischen Steadycam benutzt:
35502
nach meinen Berechnungen befindet sich der Nodalpunkt 25mm vom Objektivrand aus Richtung Kamera.
Software
Derzeit läuft die Software in Python und zur Bedienung gibt es ein Webinterface. Python unterhält sich mit der Website über eine Websocket-Verbindung. Ich steuere alles mit einem XBOX-Controller, damit ich später auch entfernt und berührungslos auslösen und bedienen kann. Die Kamera habe ich soweit im Griff. Ich kann jpgs oder 12Bit dngs aufnehmen, sowie auch Serienaufnahmen mit verschiednene Belichtungsstufen, um später daraus ein HDRI zu erstellen. Eine automatische HDRI Erstellung funktioniert zwar direkt auf dem Raspi, asynchron, allerdings lassen die Ergebnisse zu wünschen übrigen. (Mit HDRI stehe ich irgendwie auf Kriegsfuß - selbst mit Photoshop bekomme ich nur mäßige Ergebnisse raus.) Was prima funktioniert ist die Software https://www.picturenaut.de/.
Hardware
Außer Raspi 4B, HiQ-Cam, 16mm Tele setze ich eine schnelle 128GB SD Karte ein, weil bei kompletten Kugelpanoramen später 216 Aufnahmen erstellt werden müssen und die 12Bit-DNGs natürlich recht groß sind. Für die Bewegung werde ich 2 Dynamixel DYNAMIXEL XM430-W350-T einsetzen, weil ich da von einem anderen Projekt habe ;-) ...2 Dynamixel DYNAMIXEL XC430-W240-T würden es sicherlich auch tun - die kosten "nur" EUR 100,- / Stück. Als Spannungsversorgung nehme ich Turnigy 5200mAh Akku von Hobbyking. Die Servos werden direkt aus dem Akku versorgt, das Raspi bekommt seine 5V über einen Spannungsregler (https://www.reichelt.de/entwicklerboards-spannungsregler-6-40-v-dc-auf-2x-usb-5v-3a--debo-dc-2xusb-p242778.html?&nbc=1)
Und schließlich bekommt die Kamera ein 5 Zoll Touch-Display von Waveshare, welches direkt über DSI Interface mit dem Raspi verbunden wird. (HDMI-Adapter nehmen zu viel Platz weg und sind hier unnötig.)
Und ganz schließlich ;-) baue ich noch ein BNO055 Lagesensor ein, statt Wasserwaage.
Gehäuse
Ich wollte diesmal noch mal einen Versuch mit 3D Druck starten, nach einigen Hürden ist aber klar, dass ich doch wieder shapeways nehmen werde. Hier gibt es keine Fehldrucke, der Druckbereich darf viel größer sein und man kann frei konstruieren, ohne auf die Befindlichkeiten des 3D-Druckers eingehen zu müssen.
Die Konstruktion ist soweit durch, jetzt muss ich noch ein Bisschen prüfen, ob ich keinen Quatsch gemacht habe und dann geht die "ilumicam" in den Druck. :-D
Hier sind noch ein paar Bilder:
355033550435505355063550735508
Kommentare & Kritik sind wie immer erwünscht!
Grüße, Marcus
P.S.: Noch ein paar theoretische Berechnungen:
Bei der Optik und 30% Überlappung braucht es 18 Aufnahmen horizontal und 12 Reihen = 216 Aufnahmen. Wenn ich das in voller Auflösung aufnehme, käme da ein 1.2Gigapixel Panorama raus... das sollte ja reichen!