Projektaufbau – Entrasterungs-KI
Worum geht es in dem Projekt?
In diesem Projekt wird ein Denoising Convolutional Neural Network (DnCNN) in MATLAB implementiert, das zur Entfernung von Druckrastern eingesetzt wird. Anders als beim klassischen DnCNN-Ansatz wird kein Residual Learning verwendet. Stattdessen kommt ein Direct-Mapping-Ansatz zum Einsatz. Das Netzwerk wird direkt darauf trainiert, ein Bild, das durch ein amplitudenmoduliertes Raster (AM-Raster) geprägt ist, in ein sauberes, rasterfreies Bild zu überführen.
Damit dieser Ansatz funktioniert, müssen mehrere vorbereitende Schritte durchgeführt werden. Obwohl die KI die Transformation grundsätzlich kanonisch und bijektiv umsetzt (AM-Bild → normales Bild), ist ein Preprocessing erforderlich. Eine vollständig in die KI integrierte Lösung konnte bisher nicht gefunden werden, trotz intensiver Bemühungen.
Was ich damit genau meine, wird im weiteren Verlauf des Artikels noch ausführlich erläutert.
Technische Vorraussetzungen
Folgender Befehl in der Kommandozeile gibt immer alle Notwendigen Toolboxen zurueck.
[files, products] = matlab.codetools.requiredFilesAndProducts("Datei.mlx")
Stand 06.01.2026 sollten folgende Toolboxen installiert werden:
- Deep Learning Toolbox
- Image Processing Toolbox
- Parallel Computing Toolbox
- System Identification Toolbox
- Signal Processing Toolbox
Des weiteren sind Folgende Dateien wichtig und im SVN hochgeladen:
- Training.mlx
- Training_fortsetzen.mlx
- PatchDatastore.m
- combinedLoss.mlx
- Druckmuster_erstellen_function.mlx
- SynthetischeBilderErzeugen.mlx
- KI_Test_Fertig.mlx
Exemplarische Durchführung
Der Prozess läuft wie folgt ab: Zunächst muss aus einem beliebigen Bild ein synthetisches Bild erzeugt werden, das die Eigenschaften eines Druckrasters aufweist. Alternativ kann man auch ein Bild verwenden, das bereits ein Druckraster enthält.
Ein Problem dabei ist der mögliche Moiré-Effekt, der entstehen kann, wenn man auf einem bereits vorhandenen Druckmuster ein weiteres Druckmuster erstellt. Die KI ist derzeit noch nicht in der Lage, diesen Effekt zuverlässig zu vermeiden. Dies wäre ein Schritt für die Zukunft.
Am besten verwenden Sie ein buntes oder schwarz-weiß Bild. Wenn Sie ein buntes Bild verwenden, ist ein direkter Vergleich mit dem Endergebnis schwierig, da dieses ohnehin schwarz-weiß sein wird. Daher wird empfohlen, den Code zunächst mit dem gewählten Bild auszuführen, um die Ergebnisse zu überprüfen.
img = imread("Ergebnisse_VonSynthetischenDruckraster_ZuNormal\PommesPizza.jpg");
img = im2gray(img);
imwrite(img,"Ergebnisse_VonSynthetischenDruckraster_ZuNormal\BlackWhite_PommesPizza.jpg")
⬇ Am-Raster-Bild-Nach-KI-Anwendung herunterladen (25600×17040, 8,6 MB)
Abbildung 1 zeigt exemplarisch ein Bild mit typischer AM-Rasterung, wie sie im Druckprozess entsteht. Abbildung 2 stellt das gewünschte Ziel dar: ein Bild ohne sichtbare Rasterartefakte, bei dem feine Strukturen und Details erhalten bleiben. Klassische Verfahren zur Rasterentfernung arbeiten meist im Frequenzbereich, indem periodische Rasterstrukturen identifiziert, abgeschwächt oder gefiltert werden. Diese Ansätze sind regelbasiert und liefern in einfachen Fällen akzeptable Ergebnisse, stoßen jedoch bei komplexen Bildinhalten oder feinen Details schnell an ihre Grenzen. Im Gegensatz dazu lernt das eingesetzte DnCNN im Rahmen des Direct Mapping die Abbildung vom gerasterten Eingabebild (Abb. 1) auf das saubere Zielbild (Abb. 2) direkt aus Trainingsdaten. Da ein Druckraster nicht nur Störung, sondern auch Bildinformation enthält, ist dieser Ansatz besonders geeignet: Das Netzwerk erkennt typische Rasterstrukturen im Kontext des Bildinhalts und entfernt diese adaptiv, ohne relevante Details zu zerstören.
Weiter Ergänzungen und Ideen
Hier ist ein Text