KI gestützte Programmierung – alte Hardware aufwerten

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:

Software:

KI’s:

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.

Open3D v.19.0

Today Open3D bumped to version 19.0 with some interesting new features and a lot of bugfixes.

and since some hours the official version has been released:

Open3d v.19

The most interesting commit is this one:

Integrated GPU / Intel GPU support through SYCL. (#7114)

which is documented here

https://raw.githubusercontent.com/isl-org/Open3D/refs/heads/main/docs/sycl.rst

Yesterday I published a video that was build with Open3d 18.0, but everything shown there also runs in the new 19.0 version, too.

One reason NOT to try this out is the outdated hardware that I use at the moment. Trying to install Intel’s OneAPI Base Toolkit with apt resulted in

There are 2,353 MB of archives to download. After this operation, an additional 12.9 GB of disk space is used.

Intel Realsense D435i, Open3D updates und Whisper AI

Zum Jahresbeginn gibt es ein kleines Video mit Neuerungen in Open3D v19.0 mit den aktuellen Updates aus Github.

Das System läuft auf einem Ubuntu 24.04.1 LTS (Noble Numbat), Python 3.12.3, CUDA Version 12.6.3.

Im Video ist zu sehen:

https://youtu.be/P4Ze4JBI5d0

Open3D 0.17 mit pytorch 2.1

Heute ist die neue Version von Intel’s Open3D veröffentlicht worden. Daher habe ich mir die aktuelle Version heruntergeladen und kompiliert. Da ich auch mit der Machine Learning -Variante experimentieren werde, habe ich mir auch die entsprechende Version der Open3D-ML heruntergeladen.

Als Besonderheit habe ich mir auch die neueste (Vorschau-)Version von Pytorch (2.1) heruntergeladen und ein Python wheel erzeugt und mit „pip“ installiert. CUDA läuft hier in der Version 11.8 auf Ubuntu 20.04. Diese Version wird vom Open3D-Team noch nicht offiziell unterstützt.

Im Video gibt es Einblicke in neue Features, die teilweise so nicht auf der Website dokumentiert und veröffentlicht sind. Interessant wird es bei der Online Rekonstruktion der Videodaten einer Realsense D435i 3D Tiefenkamera von Intel.

Hier ist das Video dazu:

CLINT©- der neue 3D Toolchanger aus dem Baumarkt

Bald schon kommt der Osterhase… und auch

CLINT©, ein 3D Drucker mit automatischer Werkzeugwechselfunktion, der fast ausschließlich mit Materialien aus dem Baumarkt und einem simpleren 3D Drucker gebaut wird.

Dies ist ein Open Source Projekt. Die Design Dateien (OpenSCAD) werden bald komplett hier zu finden sein

https://gitlab.com/chlorisdroid/clint-a-3d-printer-toolchanger.git

CLINT©, der 3D Drucker mit automatischem Wechselwerkzeug, kommt schon bald nach Ostern.