Hallo zusammen,
Wie man alte Hardware mit Unterstüzung von künstlicher Intelligenz zu neuem Leben erwecken kann? Es ist machbar. Wir werden uns verschiedene KI’s anschauen, die diese Aufgabe unterschiedlich bewältigen.
Wir beginnen mit dem Programmieren einer Kamera App, die es ermöglicht, eine Spiegelreflexkamera der Firma Canon aus dem Jahre 2014 mit neuen KI-Funktionen zu versehen und das ganze auch noch mobil nutzbar zu machen. Die Kamera, um die es hier geht ist eine Canon EOS 700D.
Die Kamera soll von einem Rechner aus steuerbar werden, … O.K. Das ist „old fashioned“, da heute die meisten DSLR oder DSLM Kameras per Smartphone oder per Internetbrowser bedient werden können. Da es aber sehr aufwändig (und auch sinnfrei) wäre, an der Kamerahardware direkt herum zu schrauben, gehen wir hier den Weg über die Software.
Die rasante Entwicklung von KI’s, die zum heutigen Zeitpunkt durchaus in der Lage sind, Computerprogramme zu schreiben, soll genutzt werden, um ein Programm zu schreiben, das moderne KI Anwendungen für die Kamera direkt verfügbar macht.
Das Interessante an der Sache: Es wird nur topaktuelle Software genutzt. Die Software, die wir speziell für dieses Projekt brauchen, wird aus den Github Quellen auf die Rechner heruntergeladen und kompiliert.
Was nutzen wir?
Hardware:
- Canon EOS 700D Spiegelreflexkamera
- Raspberry Pi 4 2GB
- Alter Laptop zum Erstellen der KI generierten Programme.
Software:
- Ubuntu 24.04 (Laptop und Raspberry Pi)
- PyTorch 2.6.0
- Ghoto2 (libgphoto2 Version 2.5.31.1 + gphoto2 Version 2.5.28.1 )
- OpenCV Version 4.12 (github master)
- QT5 (der einzige Teil der Software, die veraltet ist, aktuell wäre QT 6.8)
KI’s:
- DeepSeek (hier: NVidia Version, [noch] nutzbar ohne Anmeldung)
- Perplexity
Die kleinen, aber feinen Programme lassen wir uns komplett (naja, fast komplett) von den KI’s schreiben. Damit können wir später vom Raspberry Pi aus die Kamera fernsteuern und auch noch so schicke Sachen wie optische Konturenerkennung, Bewegungserkennung, manuelle Fokussteuerung und vieles mehr hinzu fügen. Es wird dazu keine Internetverbindung notwendig sein. Ein Programm wird sogar einen Kalmann Filter benutzen, um eine Augenerkennung zu erzeugen. Ein weiteres Programm nutzen wir, um (nicht nur) die EOS Kamera erraten zu lassen, in welchem Gemütszustand wir uns befinden. Das Modell dazu erzeugen wir selbst mi Hilfe von PyTorch 2.6.0 auf dem Raspberry Pi.
Alle Programme, die wir von der KI erzeugen lassen, sind, soweit möglich, in C++ geschrieben, da es sich um Kamerasoftware handelt. Software, die Hardware direkt ansteuert, sollte möglichst in Echtzeit ausführbar sein. Daher wird das meiste hier in C++ geschrieben. Man könnte es natürlich auch in Assembler schreiben, aber das sprengt den Rahmen dieser Studie, in der es in erster Linie um die Erprobung der Tauglichkeit von KI’s zum Unterstüzten von Programmierern geht. Hier habe ich ganz bewusst KI’s eingesetzt, die eigentlich nicht in erster Linie zu diesem Zweck entwickelt wurden. Man kann sie aber durchaus dazu nutzen. Wie das geht, beschreibe ich in den nächsten Tagen im Detail.