Sie sind auf Seite 1von 54

Fuzzy Personenverfolgung mit Aktiven Kameras

Studienarbeit

Institut fr Logik, Komplexitt und Deduktionssysteme Prof. A. Waibel


Fakultt fr Informatik Universitt Karlsruhe (TH) von

Florian van de Camp

20. April 2006

Betreuer: Dipl.-Inf. Keni Bernardin Dr.-Ing. Rainer Stiefelhagen

Hiermit erklre ich, die vorliegende Arbeit selbstndig erstellt und keine anderen als die angegebenen Quellen verwendet zu haben.

Karlsruhe, 20. April 2006

.................................................................

ii

Inhaltsverzeichnis
1 Einfhrung
1.1 1.2 2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 Ziel dieser Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . Stand der Forschung . . . . . . . . . . . . . . . . . . . . . . . . . Kamerakalibrierung . . . . . . . . . . Kameraansteuerung . . . . . . . . . . Fuzzy Logik . . . . . . . . . . . . . . Tracking . . . . . . . . . . . . . . . . Einbettung in bergeordnetes System Systemarchitektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 2

2 Tracking System

5 12 16 21 28 29

3 Experimente

Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kamerabewegung . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

31 35

4 Zusammenfassung und Ausblick A Verwendete Parameterkongurationen

39 41

iii

Inhaltsverzeichnis

iv

1 Einfhrung
1.1 Ziel dieser Arbeit
Intelligente Rume versuchen die alltglichen Interaktionen zwischen Menschen zu untersttzen und zu optimieren indem sie Hilfestellungen oder Dienste anbieten ohne dass eine bewute Auorderung dazu notwendig wre. Ein diesen Raum steuerndes System mu also anhand der Informationen die ihm zu Verfgung stehen Entscheidungen darber treen, ob und wenn ja welche Aktionen fr eine Person ntzlich oder erwnscht wren. Diese Entscheidungen knnen umso einfacher und prziser getroen werden, umso mehr Informationen ber die Umgebung verfgbar sind. Eine dieser Informationen ist das Erkennen anwesender Personen. Dies beinhaltet nicht nur die Anzahl und jeweilige Position der Personen, sondern auch deren Identitt. Diese Kontextinformation ermglicht dem System eine ganz andere Dimension von Kommunikation mit seiner Umwelt. Genauso wie Menschen in ihrem Alltag gezielt mit jeweils relevanten Personen kommunizieren gibt die Personenidentikation dem System die Mglichkeit Dienste individuell abzustimmen sowie visuelle Informationen wesentlich dierenzierter auszuwerten. Technisch gesehen ist die Personenidentikation ein Programm, dass Kamerabilder mit den Bildern in einer eingelernten Datenbank vergleicht, um eine bereinstimmung zu nden. Die Qualitt dieses Verfahrens hngt stark von der Qualitt der Kamerabilder ab. In der Regel sind die zur Personenverfolgung hug eingesetzten statischen Kamerasysteme so ausgerichtet, dass eine bersicht des gesammten Raumes gewhrleistet ist. Dies hat allerdings zu Folge, dass die Aufnahmen von Personen im Raum nur selten eine ausreichende Ausung besitzen, um sie zuverlssig zu identizieren. Wrde man sie hingegen so ausrichten, dass hochausende Bilder der Personen aufgenommen werden knnen, wrden die statischen Kameras nur noch einen kleinen Bereich des Raumes abdecken, was die Mglichkeiten zur Personenverfolgung stark einschrnkt. Der Ansatz dieses Systems ist daher die Verwendung einer aktiven Kamera. Diese ist in der Lage sich entlang der horizontalen (Pan) und vertikalen Achse (Tilt) zu drehen, sowie in eine Szene hinein oder heraus zu zoomen (Zoom). Prinzipiell ist es so, durch entsprechende Ausrichtung, mglich fr jede Position im Raum hochausende Bilder von Personen zu erhalten. Um der Personenidentikation geeignete Bilder zu liefern mu dieses System jedoch einige Anforderungen erfllen:

KAPITEL 1. EINFHRUNG

Es mu in der Lage sein, im Livebetrieb zu arbeiten. Es mu fr eine ruhige Kamerafhrung sorgen. Es darf die Person nicht aus dem Kamerabild verlieren. Es mu mit einem bergeordneten System interagieren knnen, um den Fokus zwischen verschiedenen Personen im Raum zu wechseln. Es mu eigenstndig die Person im Kamerabild tracken und basierend darauf fr die Nachfhrung der Kamera sorgen.
Die gewnschte Arbeitsweise dieses Systems kann wie folgt beschrieben werden: Zunchst erhlt es einen externen Hinweis ber die Position einer zu verfolgenden Person im Raum in Form einer 3D Koordinate. Anhand dieser richtet sich die Kamera aus um sicherzustellen, dass die Person sich im Bild der Kamera bendet. Nachdem die Person nun im Bild der aktiven Kamera detektiert ist, wird die Ausrichtung der Kamera stndig an die Position und Bewegung der Person angepat. Gleichzeitig wird beim Eintreen eines weiteren externen Hinweises berprft, ob dieser mit der aktuellen Position der verfolgten Person bereinstimmt. Ist dies nicht der Fall erfolgt eine erneute Ausrichtung und der Ablauf wiederholt sich.

1.2 Stand der Forschung


Aktive Kameras werden in den verschiedensten Forrschungsprojekten eingesetzt. Tsuruoka et al. haben aktive Kameras verwendet [8] um Vortrge ansprechend Aufzuzeichen und entfernten Zuschauern zugnglich zu machen. Es kommt neben der aktiven Kamera, die allein der Aufzeichnung dient, eine statische Kamera zum Einsatz mit deren Hilfe smtliche Bildverarbeitung und die Ansteuerung der aktiven Kamera erfolgt. Entscheidungen ber die Ansteuerung werden durch einen Fuzzycontroller basierend auf erkannten Situationen getroen. Im Gegensatz zu diesem System erlaubt das hier vorgestellte, einen wesentlich greren Bewegungsfreiraum der zu verfolgenden Person und bentigt keine weitere Kamera zur Positionsbestimmung. Ein ganz anderes Level von Bewegungsfreiheit erreichen Castro et al. [12] die zur Steuerung eines mobilen Roboters Fuzzy Logik einsetzten. Zwar sind die Konzepte zur Ansteuerung eines mobilen Roboters nicht grundstzlich auf die zur Ansteuerung einer aktiven Kamera zu bertragen, aber es nden sich viele Gemeinsamkeiten im Aufbau des Fuzzycontrollers. Die Kombination von beidem setzten Cuevas et al. in ihrem System [11] um, indem sie eine aktive Kamera auf einem mobilen Roboter einsetzten. Bei der verwendeten Kamera kommt aufgrund dieser Besonderheit im Gegensatz zu dem hier vorgestellten System kein Zoom zum Einsatz, da sich der ganze Roboter Objekten nhern kann. Von diesem wird im System von Hampapur et al. [13] Gebrauch gemacht: Ihr fr berwachungszwecke konzipiertes System soll mglichst unaullig Nahaufnahmen von Personen in

KAPITEL 1. EINFHRUNG einem festegelegten Bereich machen. Es deckt somit einige der Ziele des hier vorgestellten Systems ab, verwendet allerdings um dies zu erreichen ein zustzliches Stereokamerasystem, das smtliche Personenpositionen liefert mit denen die aktive Kamera positioniert wird. Das hier vorgestellte System unterscheidet sich von den obigen in seiner Ausschpfung aller Freiheitsgrade der Kamera sowie insbesondere der Autonomie seiner Funktion - es ist fr die Fhrung der Kamera nicht auf andere Kameras oder andere Systeme angewiesen sondern arbeitet allein auf den Daten der aktiven Kamera.

KAPITEL 1. EINFHRUNG

2 Tracking System
Das im Folgenden beschriebene System verfolgt eine Person im Bild der aktiven Kamera unter Einsatz eines Farbtrackers und eines Merkmaltrackers. Die daraus resultierenden Messungen nutzt das System um die Kamera mit Hilfe eines Fuzzycontrollers ideal auf die Person auszurichten, sowie die Kamera anhand der Bewegungen der Person nachzufhren. Nachdem ein initialer Hinweis von einem bergeordneten System zur Ausrichtung der Kamera verwendet wurde, werden nachfolgende Hinweise nicht mehr zur Kamerasteuerung verwendet sondern lediglich zur Kontrolle. Die hierfr durchzufhrenden Berechnungen erfordern eine Kalibrierung der aktiven Kamera.

2.1 Kamerakalibrierung
In diesem Kapitel werden der Sinn und Zweck einer Kamerakalibrierung, sowie die Besonderheiten der Kalibrierung einer aktiven Kamera errtert.

2.1.1 Kalibrierung
Jede Kamera hat bestimmte physikalische und geometrische Eigenschaften die einen Einu darauf haben, wie eine Szene im Kamerabild dargestellt wird [3]. Eine solche Darstellung ist die Projektion einer 3-dimensionalen Szene auf eine 2-dimensionale Sensorche. Fr viele Berechnungen und Anwendungen ist es notwendig eine Beziehung zwischen Szenenpunkten und Bildpunkten herzustellen. Dies wird erreicht indem die Projektion mittels eines idealisierten Kameramodells nachgebildet wird, wobei die Qualitt der Ergebnisse von der Genauigkeit der verwendeten Kameraparameter abhngig ist. Die Bestimmung dieser Kameraparameter, also der physikalischen und geometrischen Eigenschaften der Kamera nennt man Kamerakalibrierung [4]. Das hier verwendete Kameramodell von Tsai [5] sieht 11 Kameraparameter vor (Tabelle 2.1), die in interne und externe Parameter unterteilt werden:

KAPITEL 2. TRACKING SYSTEM Typ extern extern extern extern extern extern intern intern intern intern intern Einheit [Grad] [Grad] [Grad] [mm] [mm] [mm] [mm] [Pixel] [Pixel] [] [1/mm2 ] Beschreibung Rotation um die x-Achse mit Winkel Rotation um die y-Achse mit Winkel Rotation um die z-Achse mit Winkel Translation in x-Richtung Translation in y-Richtung Translation in z-Richtung eektive Brennweite x-Wert des Bildhauptpunktes y-Wert des Bildhauptpunktes Skalierungsfaktor radialer Linsenfehlerkoezient

Rx Ry Rz Tx Ty Tz f Cx Cy sx

Tabelle 2.1: Kameraparameter des Kameramodells nach Tsai

Zur Kalibrierung wurden Aufnahmen eines Kalibrierungsmusters, welches Referenzpunkte in der 3-dimensionalen Szene bereitstellt, gemacht. Diese Referenzpunkte bilden zusammen mit den zugehrigen Bildpunkten die Grundlage zur Berechnung der Kameraparameter. Im Falle einer stationren, unbeweglichen Kamera ist eine einzige Kalibrierung ausreichend. Bei einer aktiven Kamera hingegen, sind die Kameraparameter von der aktuellen Ausrichtung der Kamera abhngig. Jede Vernderung einer der drei Freiheitsgrade (Pan / Tilt / Zoom) wrde eine erneute Kalibrierung erfordern. Da es allerdings alleine 1800 verschiedene Zoompositionen gibt, ist dies nicht realistisch durchfhrbar. Im Folgenden wird daher dargestellt, wie sich aus Messungen an wenigen Kameraorientierungen die Kalibrierungsdaten fr alle mglichen Orientierungen berechnen lassen.

Automatisierung
Obwohl bei weitem nicht fr jede Kameraausrichtung eine vollstndige Kalibrierung durchgefhrt werden mu, ist sie dennoch in mehreren verschiedenen Positionen notwendig. Um diesen Vorgang zu vereinfachen wurde ein Programm (Abbildung 2.1) entwickelt, das unter Benutzung vorhandener Funktionen aus der OpenCV Library [18] eben diesen automatisiert. Als Eingabe dienen die Verzeichnisse in denen die Aufnahmen des Kalibrierungsmusters zu nden sind, woraufhin das Programm selbstndig geeignete Bilder auswhlt und die internen Kameraparameter berechnet. Dies bedeutet eine deutliche Vereinfachung gegenber vergleichbaren Werkzeugen wie der Camera Calibration Toolbox for Matlab [19] bei denen manuelle Eingrie bei jeder einzelnen Aufnahme ntig sind.

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.1: Programm zur automatischen Berechnung von Kameraparametern aus Aufnahmen eines Kalibrierungsmusters.

2.1.2 Koordinatentransformationen
Die in diesem System wichtigsten Berechnungen unter Benutzung der Kameraparameter sind Koordinatentransformationen, nmlich die Transformation einer 3-dimensionalen Szenenkoordinate in eine 2 dimensionale Bildkoordinate und umgekehrt. Die Projektion von 3D2D ist notwendig um die Kamera anhand eines initialen 3-dimensionalen Hinweises auszurichten. Die Projektion von 2D3D ist notwendig um die intern bestimmte, 2-dimensionale Position zu jedem Zeitpunkt mit dem externen Hinweis vergleichen zu knnen.

Die Projektion von 3D2D erfolgt in 4 Schritten :

1. Szenenkoordinaten (Xs , Ys , Zs ) Kamerakoordinaten (Xk , Yk , Zk )


Zunchst wird die 3D-Koordinate durch eine Translation (Position der Kamera in der Szene) und eine Rotation (Ausrichtung der Kamera) aus dem Szenenkoordinatensystem in das Kamerakoordinatensystem berfhrt.

Tx Xs r1 r2 r3 Xk Yk = r4 r5 r6 Ys + Ty Tz Zs r7 r8 r9 Zk

(2.1)

KAPITEL 2. TRACKING SYSTEM Der Translationsvekor geht direkt aus den Kalibrierungsdaten hervor, die Rotationsmatrix berechnet sich aus den Achsenrotationen wie folgt:

R = Rx () Ry () Rz ()
mit

(2.2)

1 0 0 Rx () = 0 cos() sin() 0 sin() cos() cos() 0 sin() 0 1 0 Ry () = sin() 0 cos() cos() sin() 0 Rz () = sin() cos() 0 0 0 1

(2.3)

(2.4)

(2.5)

2. Kamerakoordinaten (Xk , Yk , Zk ) unverzerrte Sensorkoordinaten (Xu , Yu )


Da nun Kamerabild und Szene die gleiche Orientierung besitzen ist es mglich mittels einer Zentralprojektion den Szenenpunkt auf die Sensorebene abzubilden:

Xu = f

Xk Zk

Yu = f

Yk Zk

(2.6)

3. unverzerrte Sensorkoordinaten (Xu , Yu ) verzerrte Sensorkoordinaten (Xv , Yv )


Aufgrund der radialen Linsenverzerrung wird der projizierte Punkt entsprechend dieser verschoben.

KAPITEL 2. TRACKING SYSTEM

Xv =

Xu 1 + 2

Yv =

Yu 1 + 2

(2.7)

ist der euklidische Abstand zwischen Bildhauptpunkt und dem Bildpunkt mit = (Xv )2 + (Yv )2
(2.8)

4. verzerrte Sensorkoordinaten (Xv , Yv ) digitalisierte Bildkoordinaten (Xb , Yb )


Zuletzt ist noch eine Verschiebung in das zugehrige Koordinatensystem, mit Hilfe der aus den Kalibrierungsdaten bekannten Werten des Bildhauptpunktes (Cx , Cy ) und des Skalierungsfaktors (sx ) sowie der Gre der Sensorelemente des CCD-Chip (dx , dy ), ntig.

Xb =

1 Xv sx + Cx dx

Yb =

1 Yv + Cy dy

(2.9)

Eine Umkehrung der beschriebenen Schritte ermglicht die Projektion von 2D3D, wobei zu beachten ist, dass aufgrund der fehlenden dritten Dimension nicht ein Punkt sondern eine Gerade, bestehend aus mglichen Punkten, das Resultat ist. Der oben erwhnte Vergleich entspricht also der berprfung ob der externe Hinweis auf dieser Geraden liegt.

2.1.3 Kalibrierung einer aktiven Kamera


Wie bereits angedeutet hat jegliche Vernderung in Pan, Tilt oder Zoom zur Folge, dass initial gewonnene Kalibrierungsdaten ihre Gltigkeit verlieren. Da die Vielzahl mglicher Kamerazustnde eine Kalibrierung jeder dieser unmglich macht stellt sich die Frage, ob man die zum aktuellen Zustand gehrigen Kalibrierungsparameter anders gewinnen kann. Bei nherer Betrachtung der Kameraparameter fllt auf das sich hier fr Pan und Tilt eine direkte Reprsentation ndet: Die Rotationsmatrix. Es bietet sich daher die Mglichkeit - unter Kenntnis der aktuellen Pan und Tilt Position - eine Rotationsmatrix zu berechnen, die die Rotationen gegenber der Ausgangsposition reprsentiert [6]. Diese ermglicht es dann die aktuell gltige Rotationsmatrix zu berechnen. Der Zoom hingegen hat keine direkte Reprsentation, vielmehr hat

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.2: Interpolation der Fokalen Lnge in x-Richtung seine Vernderung Einu auf fast alle internen Parameter. Mehrere Versuche haben allerdings gezeigt, dass fr einige Parameter die Vernderungen selbst ber den gesamten Zoomspielraum keine relevanten Auswirkungen auf die Koordinatentransformationen haben. Entscheidend sind die Brennweite sowie die Position des Bildhauptpunktes. Da sich diese Werte nicht ebenso unmittelbar wie die Rotationsmatrix berechnen lassen, werden sie anhand einiger an verschiedenen Zoompositionen vollstndig durchgefhrter Kalibrierungen interpoliert [1] [2].

Interpolation der internen Parameter


Zur Bestimmung eines Interpolationspolynom wurden jeweils vollstndige Kalibrierungen an neun, gleichmig ber den genutzten Zoombereich (Zoompositionen 0-12) verteilten, Zoompositionen durchgefhrt. ber die Zoomposition 8 hinausgehende Kalibrierungen waren nicht mglich, da das Kalibrierungsobjekt aufgrund der starken Vergrerung nicht mehr vollstndig im Kamerabild zu platzieren war. Wie bereits erwhnt sind die relevanten Werte die Position des Bildhauptpunktes ( x und y Position ) sowie die Fokale Lnge ( in x und y Richtung). Fr jeden dieser 4 Werte wird ein Polynom berechnet, das die gewonnen Wertepaare mglichst gut angenhert (Abbildung 2.2 und 2.3). Unter Benutzung der mit Hilfe dieser Polynome interpolierten Werte wurden Koordinatentransformationen eines bekannten Punktes im Raum durchgefhrt und dieser in das 2-dimensionale Kamerabild eingezeichnet. Durch Abweichungen der eingezeichneten Position bei Variation der Zoomposition war eine Bewertung der Qualitt der Interpolation mglich. Dabei hat sich gezeigt, dass Polynome vierten Grades im relevanten Zoombereich von 0 bis 12 bereits Interpolationen liefern, deren Ungenauigkeit eine maximale Abweichung von wenigen Pixeln ergibt, was fr dieses System vllig ausreichend ist.

10

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.3: Interpolation der x-Position des Bildhauptpunktes

Berechnung der externen Parameter

Zunchst wurden durch eine Kalibrierung in der Ausgangsposition der Kamera (Pan 0 und Tilt 0 ) die extrinsischen Kameraparameter bestimmt. Dadurch erhlt man die Rotationsmatrix die die Rotationen des Kamerakoordinatensystems gegenber dem Raumkoordiantensystem in der Ausgangsposition der Kamera beschreibt. Um nun die zu einer beliebigen Position gehrige Rotationsmatrix zu berechnen ist es zunchst ntig die aktuelle Position der Kamera auszulesen. Da die Werte von der Kamera in Grad ausgegeben werden lsst sich aus ihnen direkt eine Rotationsmatrix berechnen die die Rotationen der Kamera gegenber der Ausgangsposition beschreibt. Durch Multiplikation der initialen Rotationsmatrix mit dieser Korrektur - Rotationsmatrix erhlt man die aktuelle Rotation des Kamerakoordinatensystems gegenber dem Raumkoordinatensystem - also die aktuell gltige Rotationsmatrix (Formel 2.10).

Ract

cos() sin() sin() cos() sin() 0 cos() sin() = Rinit sin() sin() cos() cos() cos() = P anwinkel, = T iltwinkel

(2.10)

11

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.4: Pan & Tilt Freiheitsgrade der EVI-D70P

2.2 Kameraansteuerung
2.2.1 Technische Daten
Hardware
Die in diesem System verwendete Kamera [7] ist eine SONY EVI-D70P. Der Panbereich betrgt 170 , bei einer maximalen Bewegungsgeschwindigkeit von 100 /s, der Tiltbereich umfasst +90 bis 30 bei maximal 90 /s (Abbildung 2.4).Die Linse bietet 18 Zoompositionen ber einem Brennweitenbereich von 4.1mm bis 73.8mm, wobei hier allerdings aufgrund der Grsse des Raumes der Zoom nur bis zur Zoomposition 12 genutzt wird. Die Kamera liefert ein PAL Videosignal, das durch eine Framegrabberkarte mit einer Ausung von 640 480 Pixeln digitalisiert wird. Die Pan,Tilt und Zoomparameter der Kamera lassen sich ber die serielle Schnittstelle mit Hilfe des VISCA-Befehlssatzes1 setzen und auslesen.

Software
Zur Ansteuerung der Kamera wurde die open-source Bibliothek EVILib [20] verwendet. Diese bietet einen einfachen Zugri auf den gesamten VISCA-Befehlssatz. Die hier bentigte Kommunikation mit der Kamera lsst sich dadurch mit nur vier Befehlen und deren Parameter realisieren. Diese sind das Auslesen und das Setzen der aktuellen Pan, Tilt und Zoom Position. Dabei werden Pan und Tilt jeweils gemeinsam in nur einem Befehl bergeben. Zum Setzen der Werte sind noch zustzliche Parameter ntig: die Ansteuerungsart und Geschwindigkeit. Sowohl fr Pan/Tilt als auch fr den Zoom gibt es drei verschiedene Ansteuerungsmodi. Es kann entweder eine Position angegeben werden oder eine Richtung. Die
1 VISCA

ist ein von SONY entwickeltes Protokoll zur Steuerung von Camcordern.

12

KAPITEL 2. TRACKING SYSTEM Angabe einer Position erfolgt entweder absolut oder realtiv zur aktuellen Kameraposition unter Zusatz einer Geschwindigkeitsangabe wodurch die Kamera sich mit angegebener Geschwindigkeit auf die neue Position einstellt. Bei einer Richtungsangabe wird neben der Richtung2 ebenfalls eine Geschwindigkeit angebeben, womit erreicht wird, da die Kamera sich bis zum Eintreen eines anders lautenden Befehls mit dieser Geschwindigkeit in die angegebene Richtung bewegt.

2.2.2 Auswahl der besten Ansteuermethode


Da es verschiedene Methoden gibt die Kamera anzusteuern, stellt sich die Frage welche fr die geforderten Ziele am geeignetsten ist. Bei den ntigen Kamerabewegungen handelt es sich zunchst einmal um Korrekturen der aktuellen Position um eine Bewegung der Person zu kompensieren. Es erscheint also sinnvoll die Kamera im Relativpositionsmodus (EVI_RELATIVE) anzusteuern, da man ohne notwendige Kenntnis der aktuellen Kameraausrichtung der gemessenen Personenbewegung entgegenwirken kann. Ausgiebige Versuche haben allerdings gezeigt, dass mit dieser Ansteuerungsmethode lngere monotone Bewegungen nicht ssig mglich sind. Theoretisch wre dies mit dieser Methode nur durch extrem viele, sehr kleine Korrekturen mglich, was aber durch die begrenzte Abarbeitungsgeschwindigkeit der Befehle in der Kamera nicht realisierbar ist. Flssige Bewegung bieten hingegen die Richtungsmodi, allerdings mu der Ansatz hier ein anderer sein. Anders als oben erwhnt geht es weniger um einzelne Korrekturen als vielmehr um die Imitation der Bewegung der Person. Es mssen also Messungen der Geschwindigkeit und Richtung vorliegen.

Initiales Ausrichten der Kamera


Bevor Entscheidungen ber die Kamerabewegung anhand von Messungen getroffen werden knnen, mu sich die Person berhaupt im Bild benden. Dies ist hug nach der bergabe des initialen, externen Hinweises nicht der Fall. Die Kamera mu also zunchst so ausgerichtet werden, dass die betreende Person im Kamerabild zu nden ist. Dazu werden die zu der 3-dimensionalen Raumkoordinate (Xinit , Yinit , Zinit ) gehrigen Werte fr Pan, Tilt und Zoom mit hilfe der Position der Kamera im Raum (Tx , Ty , Tz ) wie folgt berechnet:

P an = atan2(Xinit Tx , Yinit Ty )
2 Oben,

180

(2.11)

Rechts Oben, Rechts, Rechts Unten, Unten, Links Unten, Links, Links Oben, Stop

13

KAPITEL 2. TRACKING SYSTEM

T ilt = atan2(Zinit Tz ,

(Xinit Tx )2 + (Yinit Ty )2 )

180

(2.12)

(Xinit Tx )2 + (Yinit Ty )2 + (Zinit Tz )2 12 (2.13) 7000 Die Zahlen 7000 und 12 sind dabei wie folgt zu interpretieren: Die Distanz von Person zu Kamerabrennpunkt wird mit Hilfe der Division durch die Lnge des Raumes von 7000mm auf die maximale Entfernung normalisiert. Die anschlieende Multiplikation mit der aufgrund der Raumgre maximal verwendeten Zoomposition 12, erzeugt die gewnschte lineare Abhngigkeit zwischen Distanz und Zoom. Zoom =

Nachfhren der Kamera


Sobald die Person im Bild der Kamera gefunden ist, stellt sich die Frage, wie die Kamera reagieren soll, um im Falle einer Bewegung der Person diese nicht zu verlieren. Welche Merkmale sollen zum erfassen der Situation dienen? Welches Verhalten fhrt in der jeweiligen Situation zum gewnschten Ergebnis - einer mglichst ssigen Kamerafhrung? Zur Einschtzung der Situation haben sich drei Parameter als geeignet erwiesen: die Position der Person im Bild sowie die Bewegungsrichtung und Geschwindigkeit. Die Position ist ntig um zu erkennen, ob eine Korrektur ntig ist obwohl die Person sich nicht bewegt, die anderen Parameter ermglichen ein Anpassen der Kamerabewegung an die Personenbewegung. Die Entscheidung ber die Reaktion der Kamera in der jeweiligen Situation ist komplexer, da sich gute Kamerafhrung nur schwer przise denieren lsst. Versucht man immer die Person im Zentrum des Bildes zu halten, fhrt dies bei hugen, minimalen Bewegungen der Person zu einer unruhigen Fhrung der Kamera. Auch die Grenzen zwischen verschiedenen Reaktionen sind eher ieend, was sich aber durch die Eingabeparameter (Position (in Pixeln), Geschwindigkeit (in Pixeln/s) und Richtung) naturgem kaum darstellen lsst: Ist die Position x im Bild als zu weit rechts deniert, ist x 1 dann nicht mehr zu weit rechts? Es gilt also ieende bergnge zwischen den Reaktionsmglichkeiten zu schaen um die absoluten Angaben der Ein- und Ausgabewerte zu lockern.

2.2.3 Abhngigkeiten zwischen Zoom und Pan/Tilt


Um die Bewegung der Kamera perfekt auf die Bewegung der Person abzustimmen ist es ntig, diese vergleichen zu knnen. Die Bewegung der Person wird anhand von Positionsvernderungen im Kamerabild erkannt, lsst sich also in Pixeln/s angeben. Die natrliche Einheit der Kamerabewegung ist Grad/s. Mit einfachen Messungen

14

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.5: Illustration der Umrechnung von Pixeln im Kamerabild in Grad lsst sich natrlich ein Zusammenhang zwischen n Grad Kamerabewegung und m Pixeln resultierender Bewegung im Bild herstellen, dabei mu aber bercksichtigt werden, da dieses Verhltnis von der aktuellen Zoomposition der Kamera abhngig ist: Umso nher die Kamera an die Person heranzoomt, desto grer sind die Positionsnderungen im Kamerbild bei gleichbleibender Bewegung der Person. Der Kameracontroller liefert Bewegungsanweisungen in Pixeln/s die dann, abhngig von der aktuellen Zoomposition, in die Einheit Grad/s umgerechnet werden. Um zu berechnen, um wieviel Grad die Kamera sich in welche Richtung bewegen muss um der gewnschten Distanz in Pixeln zu entsprechen, muss eine Beziehung zwischen diesen Werten hergestellt werden, die vom Zoom der Kamera abhngig ist. Bei der Berechnung der Rckprojektion von Bildpukten iesst die aktuelle Zoomposition ber die Kameraparameter in die Berechnung mit ein. Ausserdem lsst sich ber zwei Bildpunkte (Bildzentrum und Bildzentrum verschoben um die gewnschte Abweichung in Pixeln) die geforderte Bewegungsanweisung dierekt darstellen. Um hieraus nun auf die Winkel der ntigen Kamerabewegung zu schlieen, wird jeweils die line of view vom Kamerabrennpunkt zum Bildzentrum (Zx , Zy , Zz ) sowie zum verschobenen Bildzentrum (Vx , Vy , Vz ) bestimmt. Der mit 2.14 zu berechnende Winkel zwischen den Geraden gibt den zur aktuellen Zoomposition notwenigen Winkel an, um eine Positionsnderung um die geforderten Pixel im Bild zu erreichen (Abbildung 2.5).

cos =

Z V = = acos ||Z|| ||V ||

(Zx Vx ) + (Zy Vy ) + (Zz Vz ) 2 2 2 Zx + Zy + Zz Vx2 + Vy2 + Vz2

180 (2.14)

15

KAPITEL 2. TRACKING SYSTEM

2.3 Fuzzy Logik


2.3.1 Einfhrung
Fuzzy Logik ist im wesentlichen eine Logik, die es erlaubt, unscharfe Ausdrcke mathematisch zu formulieren und somit die Verabeitung mittels Computern zu ermglichen [10]. So ist es mit Fuzzy Logik mglich Werte wie ziemlich schnell, relativ weit rechts oder ungefhr mittig zu verwenden. Es erlaubt also eher umgangsprachliche Beschreibungen fr Computer verstndlich zu machen. Fr jedes System, das mit Hilfe von Fuzzy Logik geregelt werden soll, werden zunchst Eingabemengen und Ausgabemengen erstellt. Die Eingabewerte die zur Regelung des Systems ntig sind, werden durch je eine Eingabemenge reprsentiert wobei einzelne Klassen dieser Menge die mglichen Zustnde des Wertes darstellen.Dabei werden unscharfe Grenzen durch berschneidungen der Klassen erreicht. Auf gleiche Weise werden die Ausgabemengen erstellt. Als Letztes werden sogenannte Fuzzyregeln erstellt, die jeder Kombination von Klassen der Eingabemengen eine geeignete Klasse in einer oder mehreren der Ausgabemengen zuordnen. Erreichen nun die ersten Werte das System, wird die sogenannte Fuzzizierung durchgefhrt: fr jeden Wert wird in seiner zugehrigen Eingabemenge bestimmt, wie stark seine Mitgliedschaft in jeder einzelnen Klasse ist. Danach ermglicht es die Fuzzy-Regelanwendung die Gewichtung der einzelnen Klassen der Ausgabemengen zu bestimmen. Durch Beschrnkung der Klassen einer Ausgabemenge auf ihre Gewichtung, entsteht bei grascher Reprsentation eine Flche, deren Schwerpunkt durch seine horizontale Position den defuzzizierten Ausgabewert liefert.

Anwendung auf die Kamerabewegung


Fuzzy Logik ermglicht eine vergleichsweise einfache Regelung komplexer Prozesse, daher ist die Bandbreite der Einsatzmglichkeiten enorm. Fr das hier vorgestellte Trackingsystem bietet sich Fuzzy Logik wegen des Problems der Kamerasteuerung an. Es ist schwierig zu denieren was gute Kamerafhrung eigentlich ist. Natrlich soll die Person zu jedem Zeitpunkt im Bild sein, aber wie soll die Kamera reagieren wenn die Person sich bewegt ? Reagiert die Kamera auf jede Bewegung fhrt dies unweigerlich zu einer eher hektischen Kamerafhrung. Es gibt unzhlige Situationen die nicht grundstzlich nur eine mgliche Kamerafhrung erfordern, allein schon weil gute Kamerafhrung ein zu gewissem Grad subjektives Ziel ist. Die Vielzahl von Situationen und Handlungsmglichkeiten ist kaum durch ein striktes, jeden Fall abdeckendes Regelwerk zu bewltigen. Zu dem Umfang kommt noch

16

KAPITEL 2. TRACKING SYSTEM hinzu, dass viele relevante Parameter, wie zum Beispiel die Position, sich kaum als konkrete Zahlenwerte angeben lassen: Ist eine Person in einem 640 Pixel breiten Bild nur bei 320 Pixeln mittig oder auch noch bei 330 oder 310 ? Das setzen eben solcher Grenzen ist nicht mglich, da nicht ein einzelnes Pixel den Unterschied zwischen zwei Positionen ausmacht - die bergnge sind vielmehr ieend und unscharf. Fuzzy Logik bietet sich hier also an, jedoch stellt sich aufgrund ihrer Variett die Frage, wie ein Fuzzy System zur Kamerasteuerung aufgebaut sein mu.

2.3.2 Ein Fuzzycontroller zur Kamerasteuerung


Beim Entwurf eines Fuzzycontrollers ist es zunchst notwendig zu berlegen, welche Werte sich als Ein- oder Ausgabewerte eignen. Fr die Ausgabewerte ist dies im Falle der Kamerasteuerung relativ einfach: Vom Fuzzy Controller wird je eine Anweisung fr Pan, Tilt und Zoom erwartet. Da die Kamera durch Richtungsund Geschwindigkeitsangaben gesteuert wird, sollte je ein Ausgabewert existieren der die neue Richtung und Geschwindigkeit dieses Parameters liefert(Abbildungen 2.6,2.7,2.8). Als Eingabewerte sind sicherlich die (x und y) Positionen im Bild sowie die Grsse der Person im Bild (Abbildungen 2.9,2.11,2.13) wichtig, aber sie allein reichen nicht aus. Eine Steuerung der Kamera allein anhand der Position und Gre der Person im Bild, kann nicht dynamisch genug reagieren sobald die Person sich bewegt anstatt still zu stehen, denn sobald die Person sich bewegt, wird von der Kamera mehr gefordert als eine Positionskorrektur: sie mu ihre Bewegung an die der Person anpassen. Um die Bewegung als Eingabewert verwenden zu knnen, wird jeweils die Dierenz der Position der Person im aktuellen Bild gegenber dem voherigen berechnet. Dies gibt einen Hinweis ber die Bewegungsgeschwindigkeit sowie die durch das Vorzeichen gegebene Richtung (Abbildungen 2.10,2.12,2.14). Nun, da Eingabemengen und Ausgabemengen deniert sind, mssen die Eingabemengen durch geeignete Fuzzyregeln mit passenden Ausgabemengen verknpft werden. Hier werden die gewnschten Eigenschaften der Kamerabewegung festgelegt. Den Situationen, dass sich die Person nicht in der Bildmitte bendet wird durch folgende Regeln Rechnung getragen:

IF Left AND NoneP THEN SlowLeft IF Right AND NoneP THEN SlowRight IF Top AND NoneT THEN SlowUp IF Bottom AND NoneT THEN SlowDown

17

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.6: Fuzzy Ausgabemenge der horizontalen Kamerabewegung durch Richtung und Geschwindigkeit. Auf Abstnde der Person vom Bildzentrum wird also durch langsame Bewegung in die entsprechende Richtung reagiert. Eine langsame Bewegung reicht hier aus, da die Person sich nicht bewegt und so lediglich eine Korrektur ausgefhrt werden muss und trgt gleichzeitig zu einer ruhigen Kamerafhrung bei. Bewegungen der Person knnen die Reaktion verstrken aber auch abschwchen:

IF Left AND MLeft THEN FastLeft SlowOut IF Right AND MLeft THEN NoneP ...
In der extremen Situation, dass die Person sich nicht nur zu weit links im Bild bendet sondern sich auch noch weiter in diese Richtung bewegt wird die Kamera schnell nachgefhrt, und um ein Verlieren der Person zu vermeiden leicht rausgezoomed. Ist den Eingabewerten hingegen zu entnehmen, dass die Bewegung der Person von selbst die Position korrigieren wird, reagiert die Kamera nicht oder nur minimal um eine ruhige Kamerafhrung zu gewhrleisten. Analog werden Regeln fr alle anderen Kombinationen von Pan- und Tilteingabeklassen erstellt. Auch die Zoomregeln basieren auf den gleichen berlegungen, zielen aber darauf ab den Zoom so einzustellen, dass die Person in optimaler Gre zu sehen ist:

IF Fine AND NoneZ THEN NoZoom IF Big AND NoneZ THEN SlowOut IF Small AND Approaching THEN NoZoom IF Small AND Departing THEN FastIn ...

2.3.3 Implementierung
Nicht nur die grasche Reprsentation der Fuzzymengen sowie die ntigen geometrischen Berechnungen machen eine Implementierung verhltnismig schwierig.

18

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.7: Fuzzy Ausgabemenge der vertikalen Kamerabewegung durch Richtung und Geschwindigkeit.

Abbildung 2.8: Fuzzy Ausgabemenge der Zoombewegung durch Richtung und Geschwindigkeit.

Abbildung 2.9: Fuzzy Eingabemenge der horizontalen (x) Position der Person im Bild in Pixeln

Abbildung 2.10: Fuzzy Eingabemenge der horizontalen (x) Positionsnderung der Person gegenber dem voherigen Bild in Pixeln

19

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.11: Fuzzy Eingabemenge der vertikalen (y) Position der Person im Bild in Pixeln

Abbildung 2.12: Fuzzy Eingabemenge der vertikalen (y) Positionsnderung der Person gegenber dem voherigen Bild in Pixeln

Abbildung 2.13: Fuzzy Eingabemenge der Breite des Gesichtes im Bild in Pixeln

Abbildung 2.14: Fuzzy Eingabemenge der Grennderung des Gesichtes gegenber dem voherigen Bild in Pixeln

20

KAPITEL 2. TRACKING SYSTEM Es gehrt auch zur Entwicklung eines Fuzzysystems, Mengen und Regeln unter stndigem Versuchen anzupassen [9]. Es ist daher ntig, die Implementierung so exibel und allgemein wie mglich zu gestalten um nachtrgliche Korrekturen und nderungen zu vereinfachen. Aus diesem Grund wurde ein Klasse entworfen die es ermglicht intuitiv beliebige Ein- und Ausgabemengen zu initialisieren sowie Fuzzyregeln schlicht natrlichsprachlich anzugeben. Danach gengt ein einziger Befehl um die aktuellen Werte zu bergeben und das Fuzzyergebnis zu erhalten. nderungen an Mengen und Regeln knnen zu jedem Zeitpunkt durch Reinitialisierung durchgefhrt werden.

2.4 Tracking
2.4.1 Einfhrung
Damit der Fuzzycontroller optimal arbeiten kann bentigt er aktuelle Eingabewerte. Diese sttzen sich ausschlielich auf Positionen der Person im Bild der aktiven Kamera, was es notwendig macht die Person in diesem zu tracken. Zwar lsst sich anhand eines externen Hinweises durch Koordinatentransformationen ebenfalls eine Position im Bild bestimmen, jedoch ist zum Einen die Ungenauigkeit dieses Wertes zu gro und zum Anderen gibt es keine Garantie fr das regelmige Erhalten eines Hinweises - was aber zum sauberen Nachfhren der Kamera ntig ist. Daher muss der verwendete Tracker in der Lage sein die Person, nach einem initialen Hinweis, nicht nur selbststndig zu verfolgen sondern sich auch von einem Verlust zu erholen. Das Tracken im Bild einer aktiven Kamera bringt ein besonderes Problem mit sich: Da die Kamera sich bewegen kann, knnen nderungen im Bild durch eine tatschliche Bewegung der Person hervorgerufen werden oder aber auch nur durch die Bewegung der Kamera oder sogar durch beides. Dies beschrnkt die Auswahl der mglichen Trackingmethoden. Hier wird eine Kombination von Feature- und Farbtrackern verwendet. Featuretracker versuchen markante Merkmale, wie Kanten, eines Bildes zu extrahieren und zu verfolgen. Fr sie ist es blich den optischen Flu zu verwenden [15]. Allerdings ist es fr den optischen Flu kaum mglich zu unterscheiden wo er herrhrt, von der Personenoder der Kamerabewegung. Da die Information aber zur Kamerasteuerung dienen soll wrde dies eine zirkulre Beeinussung zur Folge haben. Der hier verwendete Featuretracker arbeitet daher zwar wie [15] mit einem Modell von Features stellt die Korrelation zwischen den Features zweier Bilder allerdings mit Hilfe von Templatematching her [14]. Der Vorteil eines Modells liegt in der Tatsache begrndet, dass die Merkmale sich verschieden gut zum Tracken eignen. Eine Qualittsunterscheidung ermglicht es den Einu von schlechten, kurzzeitig auftauchenden Merkmalen zu minimieren. In einem Modell kann man mit der Zeit geeignete Merkmale erkennen, da Eigenschaften einzelner Merkmale im Modell gespeichert

21

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.15: Beispiele fr Haar-Features anstatt nach jedem Trackingschritt verworfen werden. Um den Nachteil des Featuretrackers - die fehlende Mglichkeit sicher zu entscheiden, ob ein Feature auf der Person oder auf dem Hintergrund liegt - zu kompensieren wird parallel ein weiterer Tracker eingesetzt der darauf basiert anhand von Farbhistrogrammen das Gesicht und den Oberkrper der Person im Bild zu nden. Um eine mglichst gute Initialisierung sowie das Reinitialisieren ohne externen Hinweis zu ermglichen, werden Objektdetektoren [16] eingesetzt, die darauf trainiert sind, Gesichter im Bild zu detektieren. Das Training besteht in der automatischen Analyse von hunderten Ansichten des zu trainierenden Objektes - so genannte positiv Beispiele - und einer ebenfalls groen Zahl von Ansichten die das Objekt nicht enthalten - so genannte negativ Beispiele. Einfache Objekte werden dabei durch die Kombination vieler grundlegender Muster, so genannter Haar-Features (Abbildung 2.15), reprsentiert. Jedes einzelne dieser Features reprsentiert ein bestimmtes Merkmal. Beispielsweise sind die Augenpartien dunkler als die dazwischenliegende Nasenpartie. Das nicht Vorhandensein eines Merkmals schliet bereits fast aus, dass es sich bei dem untersuchten Bereich um ein Gesicht handeln knnte. Auch das Vorhandensein eines Merkmals bietet allein keine Auskunft darber ob man ein Gesicht gefunden hat. Erst das Aunden vieler Merkmale liefert Sicherheit darber, dass man ein Gesicht gefunden hat. Diese Aneinanderreihung von Treern schwacher Merkmale bezeichnet man als HaarKaskade. Haar-Kaskaden knnen auch fr andere Bereiche benutzt werden, wie dem Oberkrper, aber die Verwendung mehrerer Kaskaden treibt die Rechenlast sehr in die Hhe. Der Grund hierfr liegt in der Arbeitsweise der Kaskaden - es wird jeweils in jedem Bild, zumindest in einem bestimmten Bereich, jede Position und Skalierung auf das Vorhandensein des gesuchten Objektes (z.B. Gesicht oder Oberkrper) untersucht. Auerdem haben sich die Kaskaden zum Aunden eines frontalen Gesichtes als die zuverlssigsten erwiesen.

2.4.2 Featuretracker
Um fr das Tracking geeignete Merkmale zu nden, wird eine in der OpenCV Bibliothek [18] enthaltene Funktion namens GoodFeaturesToTrack() verwendet. Sie

22

KAPITEL 2. TRACKING SYSTEM untersucht das Bild auf Gradientenverlufe und liefert die Punkte in denen sowohl in x als auch in y Richtung starke Verlufe vorhanden sind. Fr das Arbeiten mit Kanten ist es besonders wichtig, dass es keine Verzerrungen im Bild gibt. Da die Kamera die Bilder aber im Zeilensprungverfahren3 aufnimmt, kann es gearde bei Bewegungen zu starken Verzerrungen kommen. Um diesen Effekt zu eliminieren, wird jedes Bild vor der Verarbeitung des Featuretrackers bereinigt indem jede zweite Zeile und Spalte aus dem Bild gelscht wird. Um Nutzen aus der Tatsache zu ziehen, dass die Features sich qualitativ unterscheiden (aufgrund verschieden starker Gradientenverlufe) ist ein Modell entwickelt worden, das es erlaubt Features verschieden zu bewerten: Im Initialisierungsschritt (nachdem von den Haar-Kaskaden ein Rechteck ermittelt wurde, welches das Gesicht der Person enthlt) wird das Modell aufgebaut: An der Position des ermittelten Rechecks werden auf einer Flche der Gre des Rechtecks + 25%, alle Features bestimmt. Zu jedem dieser Features wird ein 10 10P ixel groes Rechteck an der Position des jeweiligen Features abgespeichert. Die initiale Bewertung der Features erfolgt entprechend ihres Abstandes vom Zentrum von 0 bis 100 wobei 100 das Zentrum und damit die beste Bewertung reprsentiert. Der Grund hierfr ist, dass es fr Features in der Nhe des Zentrums wahrscheinlicher ist, dass sie tatschlich auf der Person liegen und nicht auf dem Hintergrund. (Abbildung 2.16) Nachdem das erste Kamerabild zur Initialisierung genutzt wurde, folgt mit dem nchsten Bild der erste eigentliche Trackingschritt: In einem dreimal so groen Bereich wie dem voherigen Rechteck, werden alle Features bestimmt. Dadurch soll erreicht werden, dass egal in welche Richtung sich die Person wie schnell bewegt, sie in den neuen Bereich fllt, aber gleichzeitig die Zeit gespart wird die zur Berechnung der Features im ganzen Bild ntig wre. Bei einer Bildwiederholungsfrequenz von 15fps ist der dreifache Bereich in aller Regel vollkommen ausreichend. Nun wird fr jedes Feature des Modells das jeweilige Template mit denen der neu gefundenen Features verglichen, wobei die Reihenfolge der neuen Features vom kleinsten zum grssten Abstand zum aktuellen Modell-Feature geht. Sobald eine bereinstimmung von mehr als 80% gefunden ist, wird dies als die neue Position des Modell-Features gewertet. In diesem Fall ersetzt das Template des neuen Features das bisherige des Modell-Features und die Bewertung des Modell-Features wird um 10% erhht (Abbildung 2.17 Features 1 & 2). Wird fr ein Modell-Feature selbst beim Durchlauf aller neuen Features keine ausreichende bereinstimmung gefunden, wird angenommen, dass es nicht wiedergefunden wurde und seine Qualitt wird daher um 10% reduziert. Abschlieend ndet eine Konsolidierung des Modells statt: Features mit einer geringeren Qualitt als 20% werden aus dem Modell entfernt (Abbildung 2.17 Fea3 engl.

Interlace - ist ein Verfahren in dem zur Erhung der zeitlichen Ausung ein Vollbild aus zwei Halbildern - eines mit allen ungerade Zeilennummern das andere mit den geraden zusammengesetzt wird.

23

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.16: Initialisierung der Features deren Bewertung (0%-100%) durch ihre Helligkeit dargestellt ist. ture 3). Alle neu gefundenen Features, die nicht bereits im Modell vorhanden oder nicht zu weit vom Zentrum entfernt sind, werden diesem hinzugefgt, wobei ihre Qualitt wie bei der Initialisierung nach ihrem Abstand vom Zentrum berechnet wird (Abbildung 2.17 Feature 4). Letztendlich wird das Ergebnis des Trackingschrittes durch den Median der xund y-Positionen der Modell-Features bestimmt. Analog wird der Trackingschritt fr alle folgenden Bilder ausgefhrt.

2.4.3 Mean Shift Tracker


Der Mean Shift Tracker arbeitet parallel zum Feature Tracker, auch seine Initialisierung verluft parallel. Er nutzt ebenso das durch die Haar-Kaskaden ermittelte Rechteck zur Initialisierung: Das Wissen darber, dass sich in dem Rechteck das Gesicht, also im wesentlichen Hautfarbe bendet, wird genutzt um ein Histogramm aufzubauen, das Hautfarbe reprsentiert. Der verwendete Farbraum ist der HSV-Raum (Abbildung 2.18) in dem die Farbe eines Pixels durch den Farbton (Hue), die Sttigung (Saturation) und die Helligkeit (Value) reprsentiert wird, was eine bessere Anpassung an unterschiedliche Farbintensitten ermglicht. Zur Optimierung des Histogramms werden noch zwei weitere Schritte ausgefhrt: Zunchst wird der Bereich aus dem das Histogramm erstellt wird auf die Hlfte des ermittelten Rechtecks beschrnkt, um sicherzustellen, dass der Bereich keinen Hintergrund enthlt. Weiterhin gilt fr

24

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.17: Trackingschritt des Featuretrackers.

Abbildung 2.18: Komposition einer Farbe im HSV-Farbraum

25

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.19: Segmentierung von Gesicht und Oberkrper. das Histogramm H: H(x) = P (x|P erson). Durch Anwendung von Bayes' Regel P (P P (x|P erhlt man P (Person|x) P (x|Person) = HH(x) wobei Hneg ein Histogramm ist, erson|x) erson) neg (x) das gerade nicht die Farben der Person, sondern die des Hintergrundes modelliert. Daher wird das Vordergrundhistogramm durch ein weiteres Histogramm dividiert, welches aus dem Gesamtbild erstellt wird. So werden Histogrammbereiche, die im Hintergrund stark vertreten sind, abgeschwcht und das Histogramm wird so stark wie mglich vom Hintergrund abgegrenzt. Das resultierende Histogramm wird im folgenden Trackingschritt verwendet um festzustellen wo im nchsten Bild das Gesicht der Person zu nden ist. Dazu wird fr jedes Pixel im Bild anhand seiner Farbe bestimmt, wie wahrscheinlich es ist, dass es Haut darstellt (Abbildung 2.19). Um nun die wahrscheinlichste Position des Gesichtes zu bestimmen, wird der Mean-Shift Algorithmus [17] eingesetzt um die Ansammlung von hautfarbenen Pixeln zu nden, der seiner Grsse nach am ehesten das Gesicht darstellt. Es gengt leider nicht, stndig mit dem inital erstellten Histogram zu arbeiten. Durch Vernderungen der Lichtverhltnisse aufgrund von verschiedenen Tageszeiten, besonders aber durch die variierende Position der Person relativ zu den Lichtquellen, muss das Histogramm regelmssig angepasst werden. Um sicherzustellen, dass die Anpassung des Histogramms anhand eines geeigneten Bildbereiches erfolgt, wird diese immer dann vorgenommen, wenn durch eine Haar-Kaskade ein Gesicht in unmittelbarer Umgebung der aktuellen Position gefunden wird. Diese Gelegenheit wird zum einen genutzt, um die aktuell angenommene Position und

26

KAPITEL 2. TRACKING SYSTEM Gre des Gesichtes zu verizieren und zum anderen um das bestehende Histogram durch das in dem von der Haar-Kaskade bergegebenen Bereich erstellte, anzupassen. Dazu werden beide Histogramme zunchst normalisiert und anschlieend durch Formel 2.15 gewichtet addiert.

Historgramold+new = (1 ) Histrogramold + Histrogramnew

(2.15)

Dabei ist der Lernkoezient, durch den gesteuert werden kann mit welcher Geschwindigkeit sich das Histogramm an neue Verhltnisse anpasst. In dem hier vorgestellten System erfolgt eine dynamische Anpassung des Lernkoezienten. Dazu wird fr jedes neue Histrogramm eine Rckprojektion in den von der Haarkaskade bergebenen Bereich vorgenommen. Die Berechnung des Lernkoezienten erfolgt dabei nach Formel 2.16.

Ptotal 0.5 Phist

(2.16)

Phist

Ptotal = Gesamtzahl der Pixel im Bereich = Summe der Rckprojektionswerte fr Pixel innerhalb des Bereiches

Somit kann ein maximaler Adaptionswert von 0.5 erreicht werden und der Lernkoezent nimmt mit der Qualitt der Reprsentation der relevanten Pixel durch das neue Histogramm zu. Da es vorkommen kann, dass die Person nicht mit dem Gesicht der Kamera zugewandt ist oder aber dieses aufgrund der aktuellen Entfernung und Zoomposition zu klein ist, um verlssliche Ergebnisse zu liefern, wird analog zum oben beschriebenen Vorgehen ein weiteres Histogramm fr den Bereich initialisiert, der um die von der Haar-Kaskade geschtzten Hhe des Gesichtes nach unten verschoben ist. Der menschlichen Anatomie entsprechend erhlt man damit eine farbliche Reprsentation des Oberkrpers. Die Position von diesem ist zwar zur genauen Ausrichtung der Kamera nicht ausreichend, aber sie erlaubt eine Nachfhrung auch wenn das Gesicht gerade nicht verfolgbar ist. Dazu wird parallel zum Tracking mit dem Gesichtshistogramm ein Tracking mit dem Oberkrperhistogramm durchgefhrt. Das Vorgehen unterscheidet sich lediglich in einem Punkt: Der Division durch das Hintergrundhistogram. Da der Oberkrper einen deutlich grsseren Teil des Bildes einnimmt als das Gesicht kann es vorkommen, dass nach der Division durch das Gesamtbildhistogramm - das zu einem groen Teil auch den Oberkrper umfasst - die relevanten Werte des Oberkrperhistogramms so stark abeschwcht werden, dass diese in der Rckprojektion kaum noch auftauchen. Aus diesem Grund wird ein spezielles Histogramm des Hintergrundes erstellt, das den im letzten Bild als Oberkrper bestimmten Bereich ausblendet.

27

KAPITEL 2. TRACKING SYSTEM

2.4.4 Kombination
Bei der Verwendung von mehr als nur einem Tracker fr die gleiche Person ergibt sich das Problem auf welche Weise und zu welchem Zeitpunkt die beiden zu kombinieren sind. Im Laufe der Entwicklung wurden verschiedene Mglichkeiten erwgt, jedoch hat sich gezeigt, dass der Versuch einen Tracker in den anderen zu integrieren dazu fhrt, dass die Schwchen des einen Trackers nun auch die Qualitten des Anderen beinussen. Aus diesem Grund arbeiten alle Tracker vollkommen unabhngig und erst ihre Ergebnisse werden kombiniert. Grundstzlich ist der Mean Shift Tracker sehr verlsslich, solange sich nicht zu viele Objekte im Hintergrund benden deren Farbe in das Histogramm fllt. Hauptschlich wird daher der Mean Shift Tracker eingesetzt, wobei die Ergebnisse fr Gesicht und Oberkrper folgendermassen kombiniert werden: Zunchst wird die Position des Gesichtes verwendet, da dies eine optimale Ausrichtung der Kamera gewhrleistet. Fllt die Grsse der Rckprojektion allerdings unter einen Grenzwert werden die Ergebnisse fr den Oberkrper bevorzugt. Desweitern werden die Rckprojektionen auf Fehler (positive Bewertungen von Pixeln im Hintergrund) untersucht und unwahrscheinliche Situationen ( geschtzte Position des Oberkrpers liegt ber der des Gesichtes) erkannt um Fehler der Mean Shift Tracker zu erkennen. Ist dies der Fall, wird der Featuretracker verwendet. Dieser ist zwar nicht in der Lage sehr schnelle Bewegungen zu verfolgen, ist dafr aber viel weniger anfllig fr wechselnde Lichtverhltnisse.

2.5 Einbettung in bergeordnetes System


2.5.1 Personenwechsel
Das Trackingsystem selbst versucht stets die gleiche Person zu verfolgen und diese im Bild zu halten. Es ist also ein wichtiges Ziel, die Person gerade nicht zu wechseln. Dieses Verhalten muss sich aber ndern sobald ein Personenwechsel explizit gewnscht ist. Wie bereits erwhnt, wird das System anhand eines externen Hinweises initialisiert. Diesen externen Hinweis - die vom bergeordneten System bestimmte Position der zu verfolgenden Person - erhlt das System stndig in unregelmigen Abstnden. Wechselt das bergeordnete System den Fokus bergibt es kein spezielles Signal an dem ein Wechsel auszumachen wre, sondern beginnt nun einfach die Positionen der neuen Person zu bergeben. Ein Wechsel wird also durch eine starke Abweichung der vom System ermittelten Position von der vom externen System bergebenen Position erkannt. Dazu wird die ermittelte 2-dimensionale Position im Bild stndig in eine Gerade im 3-dimensionalen Raum umgerechnet und immer wenn ein externer Hinweis vorhanden ist mit diesem verglichen. Stellt sich dabei heraus, dass die Positionen sich zu stark unterscheiden, wird angenommen, dass nun eine andere Person verfolgt

28

KAPITEL 2. TRACKING SYSTEM werden soll und das System wird ganz analog der anfnglichen Initialisiereung anhand der vom externen System bergebenen Position reinitialisiert.

2.6 Systemarchitektur
Das Gesamtsystem ist von Anfang an modular konzipiert worden, indem zusammengehrige Funktionalitt zu Komponenten zusammengefasst worden ist, die nur ber denierte Schnittstellen mit anderen Komponenten kommunizieren. Der Vorteil dieses Aufbaus liegt neben der besseren bersicht in der Flexibilitt. Jede Komponente ist durch eine andere austauschbar solange sie die gleichen Schnittstellen bietet. So kann durch einfache Umstellung von Komponenten beispielsweise die Trackerkomponente mit einem Bildstrom einer beliebigen Kamera oder auch archiviertem Bildmaterial versorgt werden, ohne dass der Quelltext gendert werden msste. Desweiteren erlaubt der modulare Aufbau das Verteilen von Komponenten auf verschiedene Rechner um die insgesamt verfgbare Rechenleistung zu steigern. Aufgrund der verschiedenen Anforderungen an den Datenaustausch zwischen Komponenten wurden zwei Programme verwendet, die verschiedene Arten von Kommunikation erlauben.

2.6.1 NIST Smart Flow System


Das NIST Smart Flow System ist ein vom NIST (National Institute of Standards and Technology) [21] entwickeltes Programm, das es ermglicht Programme auf verschiedenen Rechnern auszufhren, und die notwendige Kommunikation zwischen diesen ber ein Netzwerk durch so genannte Data Flows zu ermglichen. So sendet beispielsweise eine Aufnahmekomponente einen stetigen Fluss von Kamerabildern die dann von einer, aber auch mehreren Komponenten auf anderen Rechnern entgegengenommen und verarbeitet werden knnen. Die wesentlichen Komponenten sind die Server, die Clienten und die Data Flows. Die Server sind dabei Teile des Smart Flow System, die auf jedem verwendeten Rechner fr die Annahme und Ausgabe der Data Flows sorgen. Die Clienten sind die eigentlichen Programme, die auf den einzelnen Rechnern laufen und die eingehenden Daten verarbeiten sowie die ausgehenden produzieren. Die Data Flows sind die Daten die von Komponente zu Komponente geschickt werden. Dabei gestatten diese Data Flows eine groe Vielfalt von Datentypen die von einfachen Datentypen und Parametern bis hin zu Audio oder Video Streams reicht. Fr viele Verbindungen im System ist Smart Flow daher die ideale Lsung, allerdings nicht fr alle: Smart Flow setzt einen stetigen Datenuss voraus, ist also nicht geeignet fr unregelmige, ereignisabhngige Kommunikation. Dies wird aber bentigt um bei einem Personenwechsel, der in der Fuzzycontrolerkomponente initiiert wird, die Trackerkomponente zu informieren damit diese sich re-initialisieren kann. Daher

29

KAPITEL 2. TRACKING SYSTEM

Abbildung 2.20: SmartFlow Application Map wird noch ein weiteres Programm eingesetzt, dass diese Art der Kommunikation ermglicht.

2.6.2 Koios
Koios ist ein sehr exibles System fr den Austausch von Nachrichten verschiedener Programme ber ein Netzwerk. Dazu wird auf einem beliebigen Rechner im Netz ein Koiosserver gestartet, an dem sich jeder Client anmelden muss bevor er Nachrichten an andere, angemeldete Clienten versenden kann. Die Nachrichten sind einfache Zeichenketten (Strings) und knnen weitestgehend beliebig aufgebaut sein. Der entscheidende Vorteil gegnber Smartow liegt darin, dass Koios keinen Nachrichtenuss verlangt. Wenn eine Nachricht eintrit, so kann der Empfnger diese abholen aber wenn keine Nachrichten gesendet werden beeintrchtigt oder blockiert dies in keinster Weise den Ablauf der Clienten. So kann frei von Beeintrchtigungen und mit minimalem Kommunikationsaufwand das nur gelegentlich Notwendige Initsignal vom Fuzzycontroller an den Tracker gesandt werden.

30

3 Experimente
Wie bereits erwhnt, ist die Qualitt des realisierten Systems kaum mit Zahlen zu beschreiben. Zu viele Parameter sind nicht Qualitativ zu erfassen. In den Experimenten dieses Kapitels wurden daher einige Szenarien / mgliche Einsatzgebiete nachgestellt um Schwchen und Strken des Systems zu erkennen.

3.1 Szenarien
3.1.1 Person im freien Raum / Vortrag
Ziel in diesem Szenario war es eine Person zu verfolgen die sich frei in einem Raum von 7100mm 5900mm bewegt. In dem Raum befanden sich dabei diverse Mbel und Gegenstnde jedoch keine weiteren Personen. Es gab keine Restriktionen bezglich der Orientierung, Position oder Geschwindigkeit der Person, allerdings sollte es dem System weder besonders leicht noch besonders schwer gemacht werden. Das Verhalten der Person sollte vielmehr ein alltgliches, das System nicht beachtendes Verhalten simulieren um dem tatschlichen Einsatz nahe zu kommen. In den allermeisten Fllen ist das System in der Lage die Person zu verfolgen und die Bewegungen der Kamera an die der Person anzupassen, so dass diese sich stets im Kamerabild bendet. Der Zoom stellt sich exibel auf die jeweilige Situation ein und sorgt fr eine optimale Grsse der Person im Bild. Es hat sich allerdings gezeigt, dass die Qualitt des Trackers groen Einuss auf die Qualitt der Kamerafhrung hat. Nur mit verllichen, stetigen Positionsangaben des Trackers ist eine saubere Kamerafhrung mglich. Dafr ist insbesondere eine gute Initialisierung der Histogramme notwendig. Ist dies der Fall, passt die Kamera sich ssig an die Bewegung der Person an. Das System ist in der Lage sich fr jede beliebige Position im Raum so einzustellen, dass die Person eine optimale Grsse im Bild einnimmt. In der Regel wird ein Verlust des Gesichttrackers zuverlssig erkannt und kann berbrckt werden (Abbildung 3.1). Der Zusammenhang der Qualitten von Tracker und Kamerafhrung hat allerdings auch negative Auswirkungen. So fhren grobe Fehler in einem der beiden Teilsysteme dazu, dass sich diese im anderen noch verstrken: Eine vllig falsche Positionsangabe des Trackers zieht in der Regel eine hektische Kamerabewegung nach sich, welche wiederum den Tracker irritieren

31

KAPITEL 3. EXPERIMENTE

Abbildung 3.1: berbrckung eine Ausfalls des Gesichttrackers. kann. Solche Fehler knnen bei sehr schlechten Histogrammen oder sehr schnellen Kamerabewegungen auftreten(Abbildung 3.2).

3.1.2 Passierende Personen


In diesem Szenario ging es darum, neben der zu verfolgenden Person noch weitere durch das Kamerabild laufen zu lassen um heraufzunden, wie schnell sich der Tracker irritieren lsst. Es hat sich gezeigt, dass der Tracker sehr robust gegenber Verwechslungen, selbst bei vollstndiger Verdeckung der Zielperson, ist (Abbildung 3.3). Dies ist vor allem auf die sich unterscheidenden Oberkrperfarben zurckzufhren. Nur wenn eine die Zielperson verdeckende Person diese lngere Zeit vollstndig verdeckt kann es dazu kommen, dass die Histrogramme soweit an diese Person adaptiert worden sind das der Tracker die Personen vertauscht. Voraussetzung hierfr ist allerdings auch, dass die verdeckende Person der Kamera zugewandt ist, da ohne Treer der Haarkaskaden ohnehin keine Adaptierung vorgenommen wird.

3.1.3 Wechsel zwischen verschiedenen Personen


In diesem Szenario sollte festgestellt werden, wie zuverlssig und schnell von einer Person zur nchsten gewechselt werden kann. Hier ist es schwierig ein Ergebnis festzulegen weil die Qualitt extrem Unterschiedlich ist in Abhngigkeit einer Bedingung : Der Initialisierung. Idealerweise ist die neue Person der Kamera zugewandt, so dass durch einen unmittelbaren Treer der Haarkaskaden die

32

KAPITEL 3. EXPERIMENTE

Abbildung 3.2: Strung des Systems durch zu schnelle Bewegung.

Abbildung 3.3: berbrckung einer Verdeckung der zu verfolgenden Person durch eine Andere.

33

KAPITEL 3. EXPERIMENTE

Abbildung 3.4: Wechsel der zu verfolgenden Person nach einem externen Hinweis. Histogramme initialisiert werden knnen. Ist dies der Fall wird die neue Person schnell von der Kamera eingefangen(Abbildung 3.4). Ist allerdings keine gute Initialisierung mglich, kommt es schnell zu dem bereits beschriebenen Eekt des gegenseitigen Strens von Tracker und Kamerasteuerung.

3.1.4 Meeting
Ziel dieser Aufnahme war es, die Abstnde der Personen zwischen denen gewechselt werden soll gegenber dem voherigen Szenario stark zu verkrzen. Hinzu kommt, dass die Personen nur einen sehr begrenzten Bewegungsspielraum haben, da sie zur Simulation eines Meetings um einen Tisch herum sitzen. Dabei behlt jede Person ihren Platz bei, so dass sie ber den gesamten Zeitraum, je nach Position, der Kamera zu- oder abgewandt ist. Hier macht sich das Problem der Initialisierung ganz deutlich(Abbildung 3.5). Whrend die der Kamera zugewandte Personen perfekt im Bild gehalten werden, dauert es fr die Personen, die seitlich zu Kamera sitzen, sehr lange bis ein Kaskadentreer ihre Verfolgung ermglicht. Fr die Person die der Kamera den Rcken zugewand hat ist dies ganz unmglich. Die beschriebenen Experimente haben sowohl Strken als auch Schwchen des Systems aufdecken knnen. Die ideale Position einer Person im Bild (Kopf mittig mit einer Breite von 200 Pixeln in einem 640 Pixeln breitem Bild) kann das

34

KAPITEL 3. EXPERIMENTE

Abbildung 3.5: Charakteristische Szenen aus dem Meetingvideo. System durch Anpassung von Pan, Tilt und Zoom fr jede Position im Raum zuverlssig erreichen. Auch Bewegungen, die in ihrer Geschwindigkeit alltglichen Ttigkeiten entsprechen, kann es unter Beibehaltung einer ssigen Kamerafhrung kompensieren. Vorraussetzung sind aber in jedem Fall gute Ergebnisse des Trackers. Dafr ist zum einen dessen erfolgreiche Initialisierung notwendig aber auch eine regelmige Adaption der Histogramme.

3.2 Kamerabewegung
Um eine Vorstellung von der Kamerabewegung zu bekommen, whrend diese eine Person verfolgt, wurden die Pan, Tilt und Zoom Bewegungen der Kamera aufgezeichnet, whrend eine von der Kamera verfolgte Person zweimal einen Tisch umrundet hat. Deutlich zu erkennen ist das hin- und zurckschwenken der Kamera anhand des Verlaufs des Pan. Die Tiltbewegung der Kamera verluft nach einer initialen Korrektur (Sekunde 0 - 7) weniger ausgeprgt. Aufgrund der Hhe auf der die Kamera angebracht ist, ist eine strkere Vernderung der vertikalen Kameraposition nur ntig wenn die Person der Kamera sehr nahe kommt. An dem Verlauf des Zoomes lsst sich erkennen, dass der Zoom durch die Fuzzyregeln nicht allein durch die Grsse der Person im Bild bestimmt wird sondern auch von den anderen Parametern beinusst wird. Zunchst wird der Zoom stetig vergrert (Sekunden 0-18) um die sich entfernende Person weiterhin in voller Grsse im Bild zu halten. Bei

35

KAPITEL 3. EXPERIMENTE

Abbildung 3.6: Aufzeichnung der Pan, Tilt und Zoom Bewegung der Kamera.

36

KAPITEL 3. EXPERIMENTE den Sekunden 18-21 ist eine ruckartige Bewegung abzulesen die von einer Notfallreaktion herrhrt, um die sich im Richtungswechsel bendliche Person nicht aus dem Kamerabild zu verlieren. Da die Person auch im folgenden nicht zur Ruhe kommt wird der Zoom nicht mehr betrchtlich verstrkt.

37

KAPITEL 3. EXPERIMENTE

38

4 Zusammenfassung und Ausblick


Hochausende Bilder einer Person sind eine Vorraussetzung fr eine erfolgreiche Personenidentikation. Um solche Bilder einer Person zu liefern erhlt das hier vorgestellte System einen Hinweis ber die Position der Person im Raum durch ein bergeordnetes System, anhand dessen die Kamera zunchst so ausgerichtet wird, dass die Person im Bild der Kamera zu sehen ist. Eine Kombination eines Featuretrackers und Farbtrackern sorgen dafr, dass die Position der Person im Bild jederzeit ohne externe Hinweise bekannt ist. Damit mglichst viele geeignete Aufnahmen der Person gemacht werden knnen, folgt die Kamera der Person nicht nur wenn diese sich bewegt, sondern nutzt einen Fuzzycontroller um die Kamerabewegungen mglichst ruhig durchzufhren. Die Modularisierung der Funktionen des Systems ermglicht seine Verteilung auf mehrere Rechner um die Leistung zu steigern. Durch die verschiedenen Anforderungen an die Kommunikation zwischen den Modulen werden zwei Programme eingesetzt, die gemeinsam den notwendigen Datenaustausch bewerkstelligen. Bei jedem weiteren Eintreen eines externen Hinweises ist das System, aufgrund seiner Fhigkeit Kalibrierungsparameter fr jede Kameraorientierung zu berechnen und zu interpolieren, in der Lage zu berprfen, ob vom bergeordneten System ein Fokuswechsel gewnscht ist und auf diesen zu reagieren. Unter Verwendung des Fuzzycontrollers zur Kamerasteuerung und der Kombination verschiedener Tracker konnte die Kamerafhrung und damit die Zahl der fr die Personenidentikation verwertbaren Aufnahmen gegenber einem direkten Umrechnen von Angaben externer Systeme in Kamerapositionen deutlich verbessert werden. Anders als bisher besteht das Ansteuern der Kamera nicht nur aus stndigen Korrekturen sondern aus einer Anpassung an die Bewegung der Person. Das Tracken im Kamerabild macht das System, mit Ausnahme der Personenwechsel, unabhngig von der Genauigkeit bergeordneter Systeme. Die Kombination mehrerer Tracker wirkt den variierenden Anforderungen durch wechselnde Bewegungsgeschwindigkeiten, unterschiedliche Grssen der Person im Kamerabild und sich im den Raum ndernden Lichtverhltnissen entgegen. Vorraussetzung fr den gewinnbringenden Einsatz dieser, ist jedoch eine erfolgreiche Initialisierung sowie eine regelmssige Adaption. Ist dies gegeben, so kann die ideale Gre und Position einer Person im Kamerabild an jeder Position im Raum erreicht werden.

39

KAPITEL 4. ZUSAMMENFASSUNG UND AUSBLICK Sich bewegende Personen knnen aufgrund der Fuzzyansteuerung mit ssigen Kamerabewegungen verfolgt werden. Zuknftige Arbeiten sollten daher folgende mgliche Verbesserungen zum Thema haben:

Histogramminitialisierung:

Eine erfolgreiche Initialisierung liefert sehr saubere Segmentierungen, aber sie setzt einen Treer einer Haarkaskade vorraus. Es wre zu berlegen ob der Einsatz weiterer Kaskaden helfen kann ohne durch den hheren Rechenaufwand das restliche System zu beeintrchtigen.

Histogrammadaption:

Fast genauso wichtig wie die Initialisierung ist das Adaptieren des Histrograms. Die ber den Raum verteilten Schwankungen der Lichtverhltnisse knnen massive Auswirkungen auf die Qualitt der Histogramme haben. Das hier vorgestellte System adaptiert lediglich im Falle eines Haarkaskadentreers. Es ist zu berlegen ob es Wege gibt, auch ohne diesen zu adaptieren, ohne Gefahr zu laufen Teile des Hintergundes mit einzulernen.

Verbesserung des Featuretrackers:

Der Featuretracker hat Probleme zwischen der Kamerabewegung und der Bewegung der Person zu Unterscheiden ist aber wesentlich robuster gegenber nderungen der Lichverhltnisse. Durch eine Verbesserung knnte der Featuretracker bei der Kombination aller Tracker eine bedeutendere Rolle spielen und so ausbleibende Historgrammadaptionen berbrcken.

Verhindern der Wechselwirkung zwischen Tracker und Kamerasteuerung:

Ebenso wie durch diverse Kriterien versucht wird zu erkennen ob einer der verwendeten Tracker verlssliche oder unbrauchbare Ergebnisse liefert wre es mglich, Fehler des Trackers sowie Fehler in der Kamerafhrung zu erkennen und die andere Komponente zu informieren, um eine wechselseitige Verstrkung des Fehlers zu verhindern.

40

A Verwendete Parameterkongurationen
Vollstndige Liste der Fuzzyregeln:

IF Small AND Desc THEN FastIn IF Fine AND Desc THEN SlowIn IF Big AND Desc THEN NoZoom IF Small AND NoneZ THEN FastIn IF Fine AND NoneZ THEN NoZoom IF Big AND NoneZ THEN SlowOut IF Small AND App THEN FastIn IF Fine AND App THEN SlowOut IF Big AND App THEN FastOut IF Left AND MLeft THEN SlowLeft IF HCenter AND MLeft THEN SlowLeft IF Right AND MLeft THEN SlowRight IF Left AND NoneP THEN SlowLeft IF HCenter AND NoneP THEN NoPan IF Right AND NoneP THEN SlowRight IF Left AND MRight THEN SlowLeft IF HCenter AND MRight THEN SlowRight IF Right AND MRight THEN SlowRight IF Top AND MUp THEN FastUp FastOut IF VCenter AND MUp THEN NoTilt IF Bottom AND MUp THEN NoTilt

41

ANHANG A. VERWENDETE PARAMETERKONFIGURATIONEN

IF Top AND NoneT THEN SlowUp IF VCenter AND NoneT THEN NoTilt IF Bottom AND NoneT THEN SlowDown IF Top AND MDown THEN NoTilt IF VCenter AND MDown THEN NoTilt IF Bottom AND MDown THEN FastDown FastOut

42

Abbildungsverzeichnis
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 3.1 3.2 3.3 3.4 Programm zur automatischen Berechnung von Kameraparametern aus Aufnahmen eines Kalibrierungsmusters. . . . . . . . . . . . . Interpolation der Fokalen Lnge in x-Richtung . . . . . . . . . . . Interpolation der x-Position des Bildhauptpunktes . . . . . . . . . Pan & Tilt Freiheitsgrade der EVI-D70P . . . . . . . . . . . . . . Illustration der Umrechnung von Pixeln im Kamerabild in Grad . Fuzzy Ausgabemenge der horizontalen Kamerabewegung durch Richtung und Geschwindigkeit. . . . . . . . . . . . . . . . . . . . . . . Fuzzy Ausgabemenge der vertikalen Kamerabewegung durch Richtung und Geschwindigkeit. . . . . . . . . . . . . . . . . . . . . . . Fuzzy Ausgabemenge der Zoombewegung durch Richtung und Geschwindigkeit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fuzzy Eingabemenge der horizontalen (x) Position der Person im Bild in Pixeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fuzzy Eingabemenge der horizontalen (x) Positionsnderung der Person gegenber dem voherigen Bild in Pixeln . . . . . . . . . . Fuzzy Eingabemenge der vertikalen (y) Position der Person im Bild in Pixeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fuzzy Eingabemenge der vertikalen (y) Positionsnderung der Person gegenber dem voherigen Bild in Pixeln . . . . . . . . . . . . Fuzzy Eingabemenge der Breite des Gesichtes im Bild in Pixeln . Fuzzy Eingabemenge der Grennderung des Gesichtes gegenber dem voherigen Bild in Pixeln . . . . . . . . . . . . . . . . . . . . . Beispiele fr Haar-Features . . . . . . . . . . . . . . . . . . . . . . Initialisierung der Features deren Bewertung (0%-100%) durch ihre Helligkeit dargestellt ist. . . . . . . . . . . . . . . . . . . . . . . . Trackingschritt des Featuretrackers. . . . . . . . . . . . . . . . . . Komposition einer Farbe im HSV-Farbraum . . . . . . . . . . . . Segmentierung von Gesicht und Oberkrper. . . . . . . . . . . . . SmartFlow Application Map . . . . . . . . . . . . . . . . . . . . . berbrckung eine Ausfalls des Gesichttrackers. . . . . . . . . . . Strung des Systems durch zu schnelle Bewegung. . . . . . . . . . berbrckung einer Verdeckung der zu verfolgenden Person durch eine Andere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wechsel der zu verfolgenden Person nach einem externen Hinweis. 7 10 11 12 15 18 19 19 19 19 20 20 20 20 22 24 25 25 26 30 32 33 33 34

43

Abbildungsverzeichnis 3.5 3.6 Charakteristische Szenen aus dem Meetingvideo. . . . . . . . . . . Aufzeichnung der Pan, Tilt und Zoom Bewegung der Kamera. . . 35 36

44

Tabellenverzeichnis
2.1 Kameraparameter des Kameramodells nach Tsai . . . . . . . . . . 6

45

Tabellenverzeichnis

46

Literaturverzeichnis
[1] R.G. Willson. Modeling and calibration of automated zoom lenses. Technical report, 3M Engineering Systems and Technology, 3M Center, Building 5181-01, Saint Paul, MN 55144-1000 USA. [2] R.G. Willson and S.A. Shafer. A perspective projection camera model for zoom lenses. Technical report, Robotics Institute, Carnegie Mellon University ,Pittsburgh, Pennsylvania 15213, U.S.A. [3] Richard Hardley and Andrew Zisserman. Multiple view geometry in computer vision. Cambridge Univ. Press, 2. ed., repr. edition, 2004. [4] Paul Grtz. Kalibrationsverfahren von videokamerasystemen. Proseminar, Universitt Karlsruhe, 2001. [5] Berthold K.P. Horn. Tsais camera calibration method revisited. Technical report, 2000. [6] P.M. Ngan and R.J. Valkenburg. Calibrating a pan-tilt camera head. Technical report, Machine Vision Team, Industrial Research Limited, P.O. Box 225, Auckland, New Zealand. [7] Sony Corporation. Sony EVI-D70P Technical Manual, 2003. [8] Shinji Tsuruoka Toru Yamaguchi Kenji Kato Tomohiro Yoshikawa and Tsuyoshi Shinogi. A camera control based on fuzzy behavior recognition of lecturer for distance lecturer. Technical report, Department of Electrical Engineering, Faculty of Engineering, Mie University, Japan. [9] Earl Cox. Fuzzy fundamentals. IEEE Spectrum, pages 5861, 1992. [10] Jan Jantzen. Tutorial on fuzzy logic. Technical report, Technical University of Denmark. [11] Ral Rojas Erik V. Cuevas, Daniel Zaldvar1. Intelligent tracking. Technical report, Freie Universitt Berlin, Institut fr Informatik und Universidad de Guadalajara, Guadalajara, Jal., Mxico, 2003. [12] M. Isabel Ribeiro Nuno de Castro, Rodrigo Matias. Target tracking using fuzzy control. 2003.

47

Literaturverzeichnis [13] Andrew Senior Ying-Li Tian Lisa Brown Ruud Bolle Arun Hampapur, Sharat Pankanti. Face cataloger: Multi-scale imaging for relating identity to location. Technical report, IBM T.J. Watson Research Center 19 Skyline Drive, Hawthorne, NY 10532 USA. [14] tienne Vincent and Robert Laganire. An empirical study of some feature matching strategies. Technical report, School of Information Technology and Engineering University of Ottawa, Ottawa, Canada. [15] Mathias Klsch and Matthew Turk. Fast 2d hand tracking with ocks of features and multi-cue integration. Technical report, Department of Computer Science, University of California, Santa Barbara, 2004. [16] Michael Jones Paul Viola. Rapid object detection using a boosted cascade of simple features. 2001. [17] Alain Crouzil Gael Jare. Non-rigid object localization from color model using mean shift. 2003. [18] Opencv 2001. [19] Jean-Yves library,

http://sourceforge.net/projects/opencvlibrary/,
matlab,

Bouguet. Camera calibration toolbox for http://www.vision.caltech.edu/bouguetj/calib_doc, 2001.

[20] Pic Mickael. Evilib, http://sourceforge.net/projects/evilib/, 2004. [21] Nist smart ow system, http://www.nist.gov/smartspace/nsfs.html.

48

Das könnte Ihnen auch gefallen