Faculté informatique et communications IC, Section d'informatique, Institut des systèmes informatiques et multimédias ISIM (Laboratoire de communications audiovisuelles LCAV)

New support vector algorithms for multicategorical data applied to real-time object recognition

Borer, Silvio ; Gerstner, Wulfram (Dir.) ; Süsstrunk, Sabine (Dir.)

Thèse sciences Ecole polytechnique fédérale de Lausanne EPFL : 2003 ; no 2826.

Ajouter à la liste personnelle
    Summary
    Humans have the ability to learn. Having seen an object we can recognise it later. We can do this because our nervous system uses an efficient and robust visual processing and capabilities to learn from sensory input. On the other hand, designing algorithms to learn from visual data is a difficult task. More than fifty years ago, Rosenblatt proposed the perceptron algorithm. The perceptron learns from data examples a linear separation, which categorises the data in two classes. The algorithm served as a simple model of neuronal learning. Two further important ideas were added to the perceptron. First, to look for a maximal margin of separation. Second, to separate the data in a possibly high dimensional feature space, related nonlinearly to the initial space of the data, and allowing nonlinear separations. Important is that learning in the feature space can be performed implicitly and hence efficiently with the use of a kernel, a measure of similarity between two data points. The combination of these ideas led to the support vector machine, an efficient algorithm with high performance. In this thesis, we design an algorithm to learn the categorisation of data into multiple classes. This algorithm is applied to a real-time vision task, the recognition of human faces. Our algorithm can be seen as a generalisation of the support vector machine to multiple classes. It is shown how the algorithm can be efficiently implemented. To avoid a large number of small but time consuming updates of the variables limited accuracy computations are used. We prove a bound on the accuracy needed to find a solution. The proof motivates the use of a heuristic, which further increases efficiency. We derive a second implementation using a stochastic gradient descent method. This implementation is appealing as it has a direct interpretation and can be used in an online setting. Conceptually our approach differs from standard support vector approaches because examples can be rejected and are not necessarily attributed to one of the categories. This is natural in the context of a vision task. At any time, the sensory input can be something unseen before and hence cannot be recognised. Our visual data are images acquired with the recently developed adaptive vision sensor from CSEM. The vision sensor has two important features. First, like the human retina, it is locally adaptive to light intensity. Hence, the sensor has a high dynamic range. Second, the image gradient is computed on the sensor chip and is thus available directly from the sensor in real time. The sensor output is time encoded. The information about a strong local contrast is transmitted rst and the weakest contrast information at the end. To recognise faces, possibly moving in front of the camera, the sensor images have to be processed in a robust way. Representing images to exhibit local invariances is a common yet unsolved problem in computer vision. We develop the following representation of the sensor output. The image gradient information is decomposed into local histograms over contrast intensity. The histograms are local in position and direction of the gradient. Hence, the representation has local invariance properties to translation, rotation, and scaling. The histograms can be efficiently computed because the sensor output is already ordered with respect to the local contrast. Our support vector approach for multicategorical data uses the local histogram features to learn the recognition of faces. As recognition is time consuming, a face detection stage is used beforehand. We learn the detection features in an unsupervised manner using a specially designed optimisation procedure. The combined system to detect and recognise faces of a small group of individuals is efficient, robust, and reliable.
    Zusammenfassung
    Der Mensch besitzt die Fähigkeit zu lernen. Er kann Objekte wiedererkennen, die er zu einem früheren Zeitpunkt gesehen hat. Der Ursprung dieser Fähigkeit liegt in einer effizienten und robusten Verarbeitung der visuellen Information in unserem Nervensystem. Einen Algorithmus zu entwerfen, der von visuellen Daten lernen kann, ist dagegen eine schwierige Aufgabe. Vor über fünfzig Jahren entwickelte Rosenblatt den Perceptron Algorithmus. Das Perceptron lernt an Hand von Beispielen eine lineare Separation der Daten in zwei Klassen. Der Algorithmus diente als einfaches Modell des neuronalen Lernens. Zwei weitere wichtige Ideen wurden dazugefügt: Erstens sollten die gegebenen Beispiele maximal separiert werden. Zweitens versuchte man, die Beispiele in einem Merkmalsraum von möglicherweise grosser Dimension zu separieren, wobei die Daten nichtlinear in diesen Raum abgebildet werden. Dies ermöglicht ein nichtlineares Separieren der Daten. Wichtig ist dabei, dass man implizit, und deshalb effizient, im Merkmalsraum lernen kann. Dazu benutzt man einen Kern, ein Mass der Ähnlichkeit zwischen zwei Beispielen. Die Kombination dieser Ideen führte zur Support Vector Maschine, einem effizienten, leistungsfähigen Algorithmus. In der vorliegenden Dissertation entwickeln wir einen Algorithmus, der an Hand von Beispielen lernt, Daten zu klassifizieren. Der Algorithmus wird verwendet, um Gesichter in Echtzeit wiederzuerkennen. Unser Algorithmus kann als Verallgemeinerung der Support Vector Maschine gesehen werden. Es wird gezeigt, wie er effizient implementiert werden kann: Um eine grosse Anzahl kleiner aber zeitaufwändiger Änderungen der Variablen zu verhindern, rechnen wir mit beschränkter Genauigkeit. Wir beweisen eine obere Schranke für die benötigte Genauigkeit, um eine Lösung zu finden. Der Beweis motiviert den Gebrauch einer bestimmten Heuristik, die die Effizienz weiter steigert. Eine zweite Implementierung benützt eine stochastische Gradientenmethode. Diese ist deshalb interessant, da sie eine direkte Interpretation besitzt und in einer online Situation benützt werden kann. Im Unterschied zum üblichen Kontext fordern wir nicht, dass alle neuen Daten zu einer vorgegebenen Klasse gehören. Neue Daten können zurückgewiesen werden. Für die Anwendung zur Klassifizierung visueller Daten ist das eine natürliche Anforderung. Denn zu jedem Zeitpunkt können neue, zuvor ungesehene sensorielle Daten ankommen, die dann nicht wiedererkannt werden. Unsere visuellen Daten bestehen aus Bildern, aufgenommen mit einer neu entwickelten Kamera von CSEM. Das Herzstück der Kamera ist ein adaptiver Sensor, der sich durch die folgenden Eigenschaften von herkömmlichen Sensoren unterscheidet: Erstens adaptiert sich der Sensor lokal an die gegebenen Lichtverhältnisse und kann deswegen mit lokal sehr unterschiedlichen Lichtintensitäten umgehen. Zweitens wird der Gradient der Intensität des Lichtes, das auf den Sensor fällt, direkt im Sensorchip berechnet. Deswegen ist der Gradient in Echtzeit verfügbar. Diese Information wird zeitlich codiert. Der Sensor übermittelt erst die Information von starken und danach diejenige von schwachen Kontrasten. Damit Gesichter, die sich möglicherweise vor der Kamera bewegen, wiederekannt werden können, werden die Bilder entsprechend verarbeitet. Bilder so darzustellen, dass sie lokal invariant sind, ist ein bekanntes Problem im Gebiet der Computer Vision. Wir entwickeln die folgende Darstellung. Der Gradient der Bilder wird in lokale Histogramme zerlegt. Es wird gezeigt, dass daraus die Invarianz bezüglich kleinen Translationen, Rotationen und Massstabsänderungen folgt. Die Histogramme bezüglich dem Betrag des Gradienten können effizient berechnet werden, da der Sensor die Gradienteninformation in geordneter Reihenfolge ausgibt. Unser Algorithmus benützt die lokalen Histogramme als Merkmale. Er lernt mit Hilfe einer Menge von Bildern der Gesichter einer kleinen Gruppe von Personen, diese wiederzuerkennen. Da das Erkennen rechenaufwendig ist, wird zuerst eine Detektionsstufe benutzt. Ein speziell entwickeltes Optimierungsproblem wird gelöst, um die Gesichter zu detektieren. Das ganze System zur Detektion und Wiedererkennung von Gesichtern ist robust, effizient und zuverlässig.