Insight

Hybrid classification: What do you do when machine learning hits some limitations?

When talking about data and its analysis, machine learning comes to mind very quickly, and indeed machine learning has provided excellent solutions in many of our projects. However, we have sometimes hit some limitations as well, for instance when certain data are rare or difficult to obtain, or when computing power is scarce, such as in embedded applications. A possible solution is to combine different classification models – let’s call this hybrid classification – which I would like to present below based on an abstracted example.

In the following example, the system should recognized whether a robot arm has gripped a tool or not based on some pictures from a camera. This classification is the basis of further automation of the system. To classify these images successfully and reliably in all possible cases, a machine learning model that can distinguish between the cases of ‘a tool is present’ and ‘no tool present’ needs a large amount of training data, i.e. labelled images.

Geht es um Daten, ist der Begriff Machine Learning meist nicht weit weg, und in der Tat hat sich Machine Learning in vielen unserer Projekte als sehr nützlich erwiesen. Allerdings stossen wir auch gelegentlich an die Grenzen dieser Methode, beispielsweise in Fällen, in denen gewisse Datensätze selten oder schwer zu erheben sind oder die nötige Rechenleistung nicht zur Verfügung gestellt werden kann, was gerade im embedded Bereich durchaus vorkommt. Ein möglicher Ansatz besteht in der Kombination von unterschiedlichen Klassifikations-Modellen (wir nennen das jetzt mal Hybrid Klassifizierung), die ich anhand eines konstruierten aber umgesetzten Beispiels vorstellen möchte.

Für eine mögliche Automatisierung des Systems soll anhand der Bilder einer Kamera erkannt werden, ob ein Roboterarm ein Werkzeug im Greifer hat oder nicht. Um die Erkennung in allen möglichen Fällen verlässlich und korrekt hinzubekommen benötigt ein Machine-Learning-Modell, das die Klassifizierung zwischen ‘kein Werkzeug im Greifarm’ und ‘Werkzeug vorhanden’ durchführen kann, sehr viele Bilder (Trainingsdaten).
Als Modell könnte man beispielsweise ein künstliches neuronales Netzwerk verwenden. Angenommen der Klassifzierungsalgorithmus soll auf einem embedded System mit begrenzter Rechenleistung laufen, könnte so aber die Klassifizieurng nicht ausreichend schnell sein. Klassische Bildverarbeitung wie Template Matching hingegen bietet hier Chancen – kann aber nicht alle Bilder klassifizieren. Ich entscheide mich deshalb für eine Kombination dieser beiden Methoden: Zuerst klassische Bildverarbeitung, die die Mehrheit der Bilder in vernünftiger Zeit klassifiziert, und als zweiten Schritt ein neuronales Netzwerk, das die Bilder zuordnet, die im ersten Schritt nicht klassifiziert werden konnten.
In meinem Beispiel führte dies zu einer korrekten Klassifizierung von 99.9% der Bilder. Gleichzeitig lag damit die durchschnittliche Erkennungszeit zwischen 2 und 3 Sekunden. Ob das ausreichend ist, muss selbstverständlich für jede konkrete Anwendung neu definiert werden.

Dieses Beispiel zeigt, wie klassische Datenverarbeitungsmethoden gemeinsam mit maschinellem Lernen eingesetzt werden können. Komplexe neuronale Netzwerke können sehr vieles lernen, brauchen aber andererseits sehr viele, mit der Klassifizierung annotierte Daten. Mit Template Matching gelingt es, Informationen, die über das Problem bekannt sind, ins Modell einzubauen, und zwar bei geringerem Leistungsaufwand – was je nach Anwendung entscheidend sein kann. Ganz nach dem Motto: «Das Beste aus zwei Welten!»
When talking about data and its analysis, machine learning comes to mind very quickly, and indeed machine learning has provided excellent solutions in many of our projects. However, we have sometimes hit some limitations as well, for instance when certain data are rare or difficult to obtain, or when computing power is scarce, such as in embedded applications. A possible solution is to combine different classification models – let’s call this hybrid classification – which I would like to present below based on an abstracted example.

In the following example, the system should recognized whether a robot arm has gripped a tool or not based on some pictures from a camera. This classification is the basis of further automation of the system. To classify these images successfully and reliably in all possible cases, a machine learning model that can distinguish between the cases of ‘a tool is present’ and ‘no tool present’ needs a large amount of training data, i.e. labelled images.
I could select an artificial neuronal network as the machine learning model of choice. There is the possibility, however, that running such a model on an embedded system with limited computing power, would lead to slow performance. Using classical image processing approaches such as template matching offers some advantages here, as they incorporate known information about the classification into the model. However, template matching cannot deal with all images and leaves some images unclassified. I therefore decide to go for a hybrid approach: Classical image processing as the first step, which classifies the majority of the images in a reasonable time, and a neuronal net as a second step, which classifies only the remaining images.
In my example, this hybrid approach led to a correct classification of 99.9% of the images, while taking about 2 to 3 seconds per image to classify. Whether this is good enough of course depends on the individual requirements of the application.

This example demonstrates how classical data processing methods can be combined with machine learning, exploiting the advantages of both approaches: Complex neuronal networks can learn a great many things but need large amounts of annotated data. Template matching manages to incorporate known information about the classification into the model, using fewer computing resources. This way, we get the best of both worlds!

Author: Sara Hänzi

Contact

Fabian Kappeler

Hubstrasse 24
9500 Wil

Get in touch with us

Contact now