
magicplan-AI, eine Reise in die wunderbare Welt des Deep Learning (Teil 1/3)
In der magicplan
5 Minuten Lesezeit
Teilen

Sam Miller
RevOps-Manager
Die Computer Vision durchläuft eine spektakuläre Revolution dank der Fortschritte in der KI, insbesondere im Bereich des Deep Learning. Jeden Tag zeigt ein neuer Artikel Fähigkeiten, die man sich vor 5 Jahren nicht hätte vorstellen können. Ob von den GAFA-Teams oder von den Spin-offs der besten Labore, es scheint, dass KI für das Verständnis von Bildern ihren Weg in die Unternehmen findet.
Was bedeutet das jedoch für ein kleines Unternehmen, dessen Produkt auf klassischer Computer Vision basiert?
Was braucht es, um den großen Sprung zum Deep Learning zu wagen? Wie robust ist dieser neue Ansatz in Bezug auf Produktionsanforderungen wie Genauigkeit und Geschwindigkeit in einer Smartphone-App?
Mein Name ist Pierre Pontevia. Ich bin Gründer und Chief Research Officer von magicplan. Heute möchte ich unsere Reise mit Ihnen teilen, wie wir ein auf Deep Learning basierendes Feature in unsere App implementieren.
In diesem Artikel werden wir nicht über die Singularität sprechen, noch darüber, einen Go-Meister zu schlagen oder über die neuesten Durchbrüche in den Generativen Netzwerken. Stattdessen werden wir die praktischen Schritte teilen, die notwendig sind, damit ein Team von Ingenieuren ein Deep Learning-Feature aus dem „Labor“ herausnimmt und in einer App integriert, die von Millionen von Smartphone-Besitzern genutzt wird.
Kurze Einführung in magicplan
Teil 1 — Entwicklung eines POC zur Prüfung der Machbarkeit
Das akademische Forschungsfeld
Deep-Learning-Frameworks
TensorFlow (im Besitz von Google) ist das am häufigsten verwendete Deep Learning-Framework heute. Das bedeutet, dass es eine hohe Wahrscheinlichkeit gibt, dass jede in einem Artikel beschriebene Arbeit mit TensorFlow implementiert oder reproduziert wurde. Als Anmerkung zur Auswahl des Frameworks ist Popularität ein wichtiges Kriterium, aber nicht das einzige. Benutzerfreundlichkeit und/oder Reife von Produktionswerkzeugen sind ebenfalls wichtig.
Zugriff auf vortrainierte Modelle
Das TensorFlow-Team pflegt einen Model Zoo in einem zusätzlichen Repository. Dort finden Sie mehrere Python-Module, die APIs bieten, um die beliebtesten Deep Learning-Modelle zu implementieren, einschließlich Objekterkennungsmodelle. Diese Modelle verfügen über vortrainierte Konfigurationen. Das Training wurde mit verfügbaren Datensätzen wie COCO durchgeführt. Das hat uns in den frühen Phasen der Evaluierung Zeit und Entwicklungen gespart.
Die Implementierung der ‚Objekterkennung‘ in der Bibliothek bietet die Möglichkeit, ‚Transfer Learning‘ durch Feinabstimmung zu verwenden. In diesem Ansatz beginnen Sie mit einem bestehenden Modell, das auf Millionen von Bildern (wie dem COCO-Datensatz) vortrainiert wurde, und Sie trainieren es erneut auf einem kleineren Satz von Bildern (ein paar hundert Bilder sind für erste Tests ausreichend) Ihrer Sub-Domain (Bilder von Fenstern und Türen, die in unserem Fall aus Innenräumen aufgenommen wurden).
Dieser Ansatz ersparte uns die Belastung durch zwei wesentliche Herausforderungen während des POC:
die Tatsache, dass Deep Learning normalerweise MASSEN von Daten benötigt, um auf ein gegebenes Problem korrekt zu generalisieren. Und es ist ziemlich unwahrscheinlich, dass Sie zu Beginn Ihrer Untersuchung über dieses Datenvolumen verfügen,
die Tatsache, dass das Training mit Millionen von Bildern viel Zeit (und Geld) in Anspruch nimmt, wenn Sie nicht über die richtigen Hardware-Ressourcen verfügen. Das ist wahrscheinlich der Fall, wenn Sie ein Anfänger in der Welt des Deep Learning sind.
Die Herausforderung, mehrere Tausend bereits annotierte Bilder von Türen und Fenstern zu finden, wurde durch die Verfügbarkeit des ImageNet-Trainingsdatensatzes überwunden.
ImageNet bietet Zugriff auf mehr als 16 Millionen Bilder, die mit einem semantischen Baum von über 35.000 verschiedenen Kategorien indiziert sind. Durch die Auswahl der Bilder, die die Schlüsselwörter ‚Tür‘ oder ‚Fenster‘ enthalten, konnten wir etwa 3500 Bilder sammeln, genug, um ein ordnungsgemäßes „Transfer Learning“ basiertes Training durchzuführen.
Testen unseres Anwendungsfalls
Im Hinblick auf die Echtzeitbeschränkungen des magicplan-Erfassungsszenarios haben wir uns entschieden, mit einem einfachen und beliebten Modell namens „SSD Inception V2“ (weitere Details im nächsten Teil) zu beginnen, um zu sehen, wie gut es mit der Aufgabe umgehen kann.
Wir haben das Modell mit 3300 Bildern neu trainiert, die in ein Trainingsdatenset und ein Validierungsdatenset aufgeteilt wurden, wie es für ein richtiges Training empfohlen wird. Die verbleibenden 200 Bilder wurden als Testdatensatz verwendet, um den Fortschritt unserer verschiedenen Iterationen zu messen.
Innerhalb von Wochen konnten wir ein erstes akzeptables Leistungsniveau mit dem trainierten Modell erreichen. Weit davon entfernt, perfekt zu sein, waren die Ergebnisse gut genug, um die Entscheidung zu treffen, mehr Zeit und Ressourcen in die deeplearningbasierte Objekterkennung für Fenster und Türen zu investieren.
Gelerntes aus Erfahrungen
Die wichtigste Lektion dieser ersten Phase ist, dass Sie, wenn es darum geht, Funktionen zu implementieren, die auf validierten Deep-Learning-Techniken (wie der Objekterkennung) basieren, alle bestehenden Deep-Learning-Ressourcen im Internet nutzen können und sollten, um die Effizienz bei der Entwicklung und dem Testen Ihres Prototyps zu maximieren.
Das gesagt, es ist eine Sache, einen funktionsfähigen Prototypen zu haben, der das Potenzial des Ansatzes zeigt. Es ist eine andere Sache, ihn Teil einer App zu machen, die täglich von Millionen von Benutzern heruntergeladen wird.
Kommende nächste
Im Teil 2 von 3 werden wir genauer beschreiben, welche Arbeiten erforderlich sind, um von einem Prototyp zu einem nutzbaren Feature in Bezug auf die Leistung zu wechseln.
Verwandte Artikel
Restaurierung
Wie man Feuchtigkeitskarten richtig erstellt (Wasserschadenjobs)
3 Minuten Lesezeit
Schadenregulierer
Xactimate®, Cotality™, QuickBooks, T&M: Wann und wie man jede effektiv nutzt
5 Minuten Lesezeit
Restaurierung
Lean führen: Wie 2-Personen-Rettungsteams wie Profis agieren können
5 Minuten Lesezeit






