Berufsschule während der Coronazeit

Anfangs wurden die Klassen in zwei hälften aufgeteilt und parallel unterrichtet. Nachdem die Inzedenz etwas angestiegen ist, wurden alle Schüler ins HomeSchooling geschickt und dies vorerst ohne Teams und nur mit Arbeitsaufträgen. Nachdem eine längere Zeit schon vergangen ist, hat die Schule es geschafft MS Teams zum laufen zu bringen. Jedoch war dies eine totale Katastrophe, denn die Lehrer haben es leider nicht auf die Reihe bekommen den Schülern etwas wirklich beizubringen.

Der aktuelle Stand in der Berufsschule ist wie folgt, die Klasse wird in zwei Hälften geteilt. Eine Hälfte wird wöchentlich abwechselnd vor Ort unterrichtet und die andere Hälfte schaltet sich per Teams dazu. Vor Ort kann man gut lernen, jedoch ist es vom zugeschaltetem HomeSchooling eine noch größere Katastrophe.

Teile diesen Post:

Halbzeit – 1,5 Jahre Ausbildung bei CIB

Hallo zusammen, diesmal melde ich mich mit einem eher persönlicherem Beitrag und gebe ein kurzes Feedback zu meiner Ausbildung bisher.

Zuerst gehe ich auf meine Ausbildungsfachrichtung ein. Mich für den Berufsweg Fachinformatiker im Anwendungsbereich Anwendungsentwicklung zu entscheiden war ein richtige Entscheidung, da dieser Beruf eine vielfalt von Programmiersprachen mitsich bringt, mit denen man unendliche Möglichkeiten zum Arbeiten/Spielen/Entwickeln hat. Hinzu kommt noch dass meiner persönlichen Meinung nach der modere Fortschritt sehr interessat ist und noch viel interessanter wenn man den Background von den meisten Geräten/Dingen welche mit einem Code zum laufen gebracht werden versteht.

Der zweite Aspekt zu dem ich Heute etwas noch zu erwähnung ziehen möchte, ist die CIB als Ausbilder. Ich wurde von dem ganzen CIB Team sehr herzlich empfangen und das ganze Team ist sehr zuvorkommend. Meine Ausbilder sind super höfflich, erklären einem Themen sehr toll mit veranschaulichungen und lassen die Arbeit sehr viel Spaß machen. Falls man etwas neues lernen möchte oder eine abwechselung braucht, muss man nur offen kommunizieren und dann kümmern sich die Ausbilder ganz toll darum, dass man etwas neues (auch gezielt gewünschtes) lernt. Die CIB und Uli (Geschäftsführer) setzen sich stehts für einen ein, um ihn auf bestem Wege zu unterstützen und weiterzubilden. Hierzu muss ich einfach nochmal dass tolle Arbeitsklima erwähnen.

Teile diesen Post:

Technische Begutachtung von der MRC-Kompression

Die Mixed Raster Content (MRC) Kompression beschreibt eine Technik zur Darstellung eines PDF’s zum Zweck der Bildkompression. Dabei wird der Seiteninhalt durch eine Segmentierung in verschiedene Bestandteile zerlegt und die jeweils komprimierte Grafik verwendet. Die entsprechenden Bereiche werden dann auf der Seite in unterschiedlichen Ebenen platziert. Dabei können die Ebenen verschieden Größen und Auflösungen haben und sich unter Umständen auch überdecken. Die MRC-Kompression ermöglicht es farbigen Hintergrund zu finden und zu löschen oder stark zu komprimieren. Text und Bilder werden auf einem weißen Hintergrund dargestellt, wodurch die Dateigröße verringert wird.

Quelle: https://www.abbyy.com/media/20417/05-fre-pdfmrc-support.png

Die Fiducia & GAD IT hat ein Verhalten gemeldet, ein Dokument welches einen DataMatrix-Barcode pro Seite beinhaltet wird mit dem CIB pdf brewer gedruckt. Im nächsten Schritt werden die DataMatrix-Barcodes von der CIB pdf toolbox erfasst und die Barcodes werden erkannt. In diesem Fall hat die MRC-Kompression den Barcode jeweils einmal in zwei Ebenen übereinander gedruckt, was für das bloße Auge nicht sichtbar ist, aber von dem Scanner erkannt wird. Der Scanner hat bei dem Dokument zwei Barcodes pro Seite erkannt. Dabei ist dieses Verhalten kein Fehler sondern eine Besonderheit von der MRC-Kompression.

Teile diesen Post:

Projektarbeit im Zuge der Ausbildung

Da sich meine Ausbildung dem Ende zuneigt muss ich als Teil des IHK-Abschlusses ein eigenes Projekt ausführen und dokumentieren. Hierzu habe ich nun mit meinen Ausbildern gesprochen, welche Projekte momentan anstehen und interessant für mich sind. Dabei ist als Projekt die Erweiterung Deepers um die Erkennung von Schriftarten entstanden. Das Projekt muss selbstständig geplant und implementiert werden und währenddessen dokumentiert werden.
Zunächst muss ein Antrag an die IHK gestellt werden, in dem das Projekt detailliert beschrieben wird. Dabei muss die aktuelle Situation, der Grund für die Änderung als auch die Mittel, mit denen Gearbeitet wird genau beschrieben werden.
Außerdem muss eine vorläufige Zeitplanung erstellt werden.

Ich werde mein Projekt im April fertig stellen und werde dann nochmal genauer berichten.

Teile diesen Post:

Videokonferenz Anlage in Modul E

Wegen Corona konnten wir keine größeren Veranstaltungen in unserem Videokonferenz Raum machen, wir entschieden uns eine Videokonferenz Anlage in Modul E aufzubauen um mehr Leute im Bild zu haben.

Als die Videokonferenz Anlage ankam haben wir sie zusammen mit Mitarbeitern von Vistafon aufgebaut. Wir haben die Audio Einstellungen angepasst damit keine Rückkopplungen entstehen, haben die Kameras so positioniert, dass man jede Person die am Tisch sitzt zu sehen ist. Die höhe des Fernsehers haben wir so gemacht, damit auch wirklich jeder alles gut auf dem Bildschirm sehen kann.

Jetzt steht die Anlage in Modul E, ist voll Funktionsfähig und wird auch regelmäßig benutzt.

Teile diesen Post:

CIB deepER – Evaluation für Business Use Case

Im Rahmen der Ausbildungskooperation zwischen der PSD Bank Nürnberg und der CIB Software ergeben sich stets interessante Schnittmengen.
Im konkreten Use Case geht es um die Suche nach einer Lösung, um die papierhaften Formulareingänge (10 identifizierte Prozesse, die eine gewisse Häufigkeit aufweisen) der PSD Bank zu digitalisieren, den Inhalt zu extrahieren und die gewonnenen Daten im Anschluss machine-usable bereitzustellen, sodass diese per RPA weiterverarbeitet werden können.

Bei näherer Betrachtung des Anwendungsfalls ergab sich sogleich ein Match mit CIBs hauseigener OCR-Engine, CIB deepER.
Um einen Überblick über die Engine und die im Hintergrund arbeitenden neuronalen Netze zu erhalten, wurde ich im Rahmen meines 3. Ausbildungseinsatzes dem KI-Team zugeteilt und durfte den Spezialisten über die Schulter schauen.

Die Analyse und Extraktion von Text aus einem Dokument via OCR erfolgt durch verschiedene ineinandergreifende Segmente:
1) Die Segmentierung:
Hierbei werden die auf dem Dokument (PNG-Bild) befindlichen Wörter (für die Segmentierungs-Engine sind “Wörter” lediglich schwarze Pixel) algorithmisch identifiziert und pixelgenau bestimmt. Eine qualitative Segmentierung stellt den Grundstein für eine belastbare Textextratkion dar.
Da es sich beim Use Case der PSDN um statische Formulare handelt ist keine automatische Segmentierung notwendig. Stattdessen wird im Vorfeld für jedes Formular ein Layout erstellt (JSON-File), die Segmentierung also manuell durchgeführt. Das spart Zeit sowie Rechenleistung und ist weniger fehleranfällig.
Für den speziellen Anwendungsfall wurden außerdem Python-Skripte erstellt, welche das Vorhandensein einer Unterschrift auf dem Formular algorithmisch prüfen.

2) Die Extraktion des Textes:
Dies geschieht mittels der OCR-Engine (LSTM) und einem Zusammenspiel aus div. Frameworks (u.a. Tensorflow und Torch). Die

3) Bereitstellung des Ergebnisses:
Die identifizierten Daten stehen nun in einem JSON-File bereit.
Dieses soll unserem RPA-Robot mittels API-Call (POST-Request) bereitgestellt werden – dieser Task wird Gegenstand meiner kommenden zwei Wochen bei CIB sein.
– I’ll keep you updated.

Teile diesen Post:

Barcode-Erkennung in der CIB pdf toolbox funktioniert nicht richtig

Ich hatte derzeitig einen Fall von der Fiducia & GAD IT AG, in dem unsere CIB pdf toolbox 1.44.1 die Barcodes auf einem PDF Dokument nach drucken mit dem CIB pdf brewer nicht korrekt erkannt hat. Die DataMatrix-Barcodes wurden vor dem Druck einmal pro Seite erkannt was korrekt ist, aber wenn man das Dokument durch den CIB pdf brewer laufen lässt, werden die DataMatrix-Barcodes danach doppelt oder gar nicht mehr von der pdf toolbox erkannt. Ein Grund dafür liegt beim Adobe Reader welcher die Daten als einzelne Bereiche anzeigt oder nicht zusammenhängende Abschnitte zurück liefert. Die bisherige Erkennung liefert die Barcodes als Bilder in den PDF Objekten, die nach dem Druck über dem Adobe Reader, nicht mehr verfügbar sind.

Ich habe ein Testset für die CIB pdf toolbox 1.44.1 gebaut und konnte so das Geschehen von der Fiducia & GAD IT AG reproduzieren. Um Fehler ausschließen zu können habe ich ein CIB pdfModule Testset gebaut, welches die Komprimierung testet. Nachdem ich alle Kompressionsstufen getestet habe, konnte ich feststellen das alle Barcodes korrekt pro Seite erkannt wurden. Im CIB pdf toolbox Testset habe ich eine neue Property gesetzt (BarcodeRecognitionMode = “RecognizePages”) welches den Inhalt erst in ein Bild umwandelt und dann die Barcode-Erkennung startet, was den Vorteil hat dass alles eine Ebene ist und so nicht mehrere Barcodes auf einer Seite erkannt werden können, der Nachteil dabei ist dass die Erkennung von den Barcodes länger dauert. Dann habe ich auf allen komprimierten Dokumenten die Barcode-Erkennung gestartet und konnte feststellen, dass auf den Dokumenten welche mit der Kompressionsstufe: Hoch und Höchst komprimiert wurden, es bis zu 15 Minuten gedauert hat bis die Barcodes korrekt erkannt wurden, auf den anderen Dokumenten mit niedrigerer Kompressionsstufe ging die Erkennung wesentlich schneller.

Also habe ich ein neues CIB pdf toolbox Testset gebaut welches die neueste Version beinhaltet. In der Version wurde Laufzeit für die Erkennung der DataMatrix-Barcodes verbessert. In diesem Testset habe ich die gleiche Property wie im alten Testset gesetzt und dazu auch Koordinaten von den Barcodes angegeben damit es nur einen bestimmten Bereich in Anspruch nimmt und nicht lange mit dem suchen beschäftigt ist. Somit konnte die Zeit von der Erkennung der Barcodes auf bis zu unter einer Minute reduziert werden.

Die Lösung für dieses Auftreten wird in der neuen CIB pdf toolbox Version 1.46.0 beinhaltet sein. Das Release für die Version 1.46.0 wird Voraussichtlich ende Februar zur Verfügung stehen. Die Erkennung der Barcodes wird dadurch zuverlässiger und liefert die Barcodes korrekt pro Seite, aber nimmt etwas mehr Zeit in Anspruch.

Teile diesen Post:

Automatisches Festlegen von Treshhold in Segmentierung

Bei der Segmentierung der Zeilen für Deeper erkennt das neuronale Netz, das der Segmentierung zu Grunde liegt, immer wieder falsche Zeilen. Allerdings werden diese falsch gefundenen Zeilen mit einer geringen Confidence (Sicherheit der Erkennung) versehen, weshalb sie zum größten Teil rausgefiltert werden können indem man ab einem gewissen Schwellwert diese Zeilen nicht in das Segmentierungsergebnis übernimmt. Bisher wurde dieser Schwellwert bei einem neu trainierten Netz händisch ermittelt. Das soll jetzt automatisch passieren.

Vorbereitung

Um den Trashhold bestimmen zu können werden teile des Produkts Cibtextcompare verwendet um die Positionen der erkannten Boxen mit einer Ground Trouth zu vergleichen. Dadurch, dass die Zeilen anders erkannt werden, als sie in unserer Testmenge hinterlegt sind müssen die Referenzdokumente erst auf das Gleiche Format geändert werden bis man die Zeilen miteinander Vergleichen kann.

Außerdem müssen auch die erkannten Zeilen unbearbeitet gespeichert werden, sodass das Ergebnis nicht verfälscht wird.

Vergleich

Sobald die zu vergleichenden erkannten Ergebnisse vorbereitet sind wird überprüft wie weit sich die Boxen überschneiden, und sobald eine Genügend große Überschneidung vorliegt werden die erkannten Zeilen, die nicht aus der Groundtrouth stammen, als valide markiert. Die Zeilen, die nicht für valide erklärt wurden werden daraufhin auf ihre Confidence überprüft. Übersteigt die größte Confidence der als falsch markierten Zeilen keine einzige Confidence der validen Zeilen wird ein Trashhold minimal höher als die höchste Confidence der falsch erkannten Zeilen eingestellt und die falschen Zeilen werden künftig rausgefiltert.

Teile diesen Post:

Debugging in Comparelogik

Nachdem ein Fehler in einem Tool zum vergleichen von OCR-Ergebnissen entstanden ist musste dieser Fehler aus dem Code entfernt werden.

Zuerst musste der Fehler reproduziert werden. Als das getan war musste die Ursache für den Fehler erkannt werden.

Dazu habe ich den in PyCharm eingebetteten Debugger verwendet. Ein Debugger ist ein Programm, dass Code ausführt und den Status an einer bestimmten stelle des Codes zurückgeben kann.

Um den Fehler verstehen zu können habe ich einen Breakpoint vor der Stelle mit dem auftretenden Fehler gesetzt und mir den Inhalt des Dicts, bei dem ein Key-Error auftritt angeschaut. Dabei ist aufgefallen, dass ein Element aufgerufen wird obwohl es vorher gelöscht wurde.

Als Lösung werden Elemente, die bereits gelöscht sind aus der Liste der zu Löschenden Elemente gelöscht.

Teile diesen Post:

CIB flow – Eine Prozess Management Plattform

CIB flow ist eine BPMN (“Business Process Model and Notation”) basierte Plattform, welche Prozessabläufe vereinfacht und automatisiert.

Aufgrund von zahlreichen unserer Produkte, die angebunden werden können, ist der Abdeckungsbereich für automatisierte Abläufe/Prozesse riesengroß. Sei es mit Hilfe von zum Beispiel CIB doXiview, eine Dokumentbearbeitungs Plattform oder CIB deepER, unsere Hauseigene KI (Künstliche Intelligenz).

Wir von der CIB benutzen Camunda als Engine für unser Produkt CIB flow, was demnächst auf dem Markt erscheint. Durch die Verwendung von Camunda ist die Benutzung sowie Erstellung von Prozessen bzw. Prozessketten vereinfacht.

Teile diesen Post: