FileMaker goes Deep – ML Model erstellen und in FileMaker nutzen

Deep Learning, Maschine Learning, KI, AI alles Bereiche und Begriffe der künstlichen Intelligenz und vielleicht “the next big thing”.

Durch künstliche Intelligenz schaffen es Algorithmen bestimmte Muster z.B. in Bildern zu erkennen. Hierzu muss man ein Model “trainieren”, also wir müssen dem Algorithmus beibringen was was ist.

Für Mac OS 10.14.x Anwender besteht nun die einfache Möglichkeit, sich ein solches Model selbst zu erstellen – ja richtig, wir können das selber!!!

Was man dafür benötigt:

  1. Mac OS 10.14.x
  2. xCode 10
  3. FileMaker
  4. MBS-Plugin 7.4 (besser 8.4)

Hier in meinem Beispiel soll die KI meinen Hund (Rottweiler) Namens “Iberius” auf Bildern erkennen.

Der Hintergrund: Auf meinem Handy befinden sich mehrere tausend Bilder und ich möchte die Bilder extrahieren, auf denen mein Hund zusehen ist.

Ich muss also der KI erst beibringen wie mein Hund aussieht und wie andere Sachen (hier andere Hunde z.B. Schäferhunde, Pudel) aussehen. Hierzu muss man ein “image_classifier_model” erstellen.

https://developer.apple.com/documentation/createml/creating_an_image_classifier_model

Damit diese Modell gut trainiert werden kann benötigt, man 80% Trainingsdaten (Bilder von Iberius) und 20% Testdaten (Bilder von Iberius). Ich habe nun 100 Bilder, die die KI erkennen soll, dann benötigte ich 80 Trainingsbilder und 20 Testbilder. Alle vom selben Dateiformat (jpg und png).

Das gilt für jede Kategorie an Bildern!

Die Bilder sollten alle in der gleichen Anzahl vorhanden sein, also nicht von Iberius 100 und von anderen Hunden 25, sondern 100, 100!

I. Was muss ich tun, um mein eigenes ML Model zu erstellen?

1. Ordner erstellen

  1. Erstelle einen Ordner z.B. “mein_ml_model”
  2. Erstelle einen Ordner z.B. “training_data” im Ordner “mein_ml_model
  3. Erstelle einen Ordner “test” im Ordner “training_data”
  4. Erstelle einen Ordner “training” im Ordner “training_data”

Nun kommt es darauf an, was deine KI erkennen soll. Wenn deine KI Hunde, Katzen, Elefanten erkennen soll, lege im Ordner “test” und “training” jeweils drei Ordner (Hunde, Katzen, Elefanten) an. Diese Ordnerbezeichnungen sind nachher der Begriff, der bei einem Treffer im Parameter “classLabel” ausgegeben wird.

Wichtig:

Im jeweiligen Test-Ordner dürfen nur Bilder liegen, die sich nicht im Ordner “training” befinden, die KI benötigt zum Test Bilder, die sie noch nie gesehen hat.

2. Mit xCode das Modell trainieren

  1. Öffne xCode und erstelle einen neuen Playground für macOS (Blank) und speichere die Datei mit dem Namen “ModelCreator” im Ordner “mein_ml_model”
  2. Schreibe folgenden Code in den Editor
    import CreateMLUI
    
    let builder = MLImageClassifierBuilder()
    builder.showInLiveView()

     

  3. Klicke anschließen auf das Play-Symbol

  4. Sollte ein Fehler erscheinen, führe den Code einfach nochmal aus.

  5. Rechts im Fenster siehst du nun eine Drop-Area. Hier musst du nun als erstes deinen Trainingsdaten-Ordner hineinziehen.

  6. Das Programm beginnt mit dem Trainieren der Daten, wartet bis Ihr aufgefordert werdet, die Testdaten einzugeben. Wenn das System die Bilder “gelernt” hat übergebt nun per Drag&Drop den Testordner.

  7. Das ML Model hat jetzt in meinem Beispiel eine Treffergenauigkeit von 95%. Wie man sieht erkennt das System einen anderen Rottweiler als meinen Hund Iberius. Es lernt also durch den Test-Ordner, dass ein Rottweiler nicht gleich Iberius ist.

  8. Nun Speichern wir das Model. Klappt hierzu bei “ImagerClassifier” das DropDown aus. Ihr könnt nun das Model beschriften und im Ordner “mein_ml_model” speichern (save). Ihr könnt danach xCode schließen.

II. Wie verwende ich mein Model in FileMaker?

Damit Ihr das Model in FileMaker benutzen könnt, benötigt Ihr das MBS-Plugin (https://www.mbsplugins.eu/).

Zu diesem Plugin gibt es mehrere Beispiel-Datenbanken.

Im Plugin-Ordner findet Ihr unter:

MBSFMPlugin84/Examples/Mac and iOS/Machine Learning/

die Datei CoreML.fmp12

  1. Öffnet die Datei CoreML aus dem Plugin-Ordner.
  2. Kopiert den Pfad zum generierten Modell in das Feld “Model Path”.
  3. Klickt den Button “Load Model”. Im Feld “Model Description” zeigt es Informationen zum Model als JSON an.
  4. Zieht nun ein Bild das Ihr testen wollt in den Container und drückt “Run”.

Ich habe noch zusätzlich einen Button eingefügt, der mir anzeigt, ob Iberius erkannt wurde oder nicht.

Ihr könnt die Code-Bestandteile aus der Beispiel-Datei des Plugins entnehmen und in euer Projekt einbauen.

Im Feld “Output” sieht man nun die Auswertung des Bildes.

Der Parameter “classLabel” zeigt, was die KI am wahrscheinlichsten gefunden hat. Hier “otherdogs” – unten sind die Wahrscheinlichkeiten der anderen Kategorien.

Hier noch der Test mit Iberius als Welpe:

Da ich das System mit sämtlichen Bilder vom Welpen bis zum ausgewachsenen Hund gefüttert habe, erkennt die KI auch meinen Hund im Welpenalter.

Je mehr Daten der KI zum Training bereitstehen, desto genauer arbeitet der Algorithmus.

Ich finde es erstaunlich und lobenswert, dass Apple diese tolle Technik für jeden mit wenigen Schritte verfügbar macht.

Mein Dank geht auch an den Entwickler des MBS-Plugins, der diese “New Technologie” in das Plugin integriert hat und wir somit in FileMaker nutzen können.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.