Beruflich Dokumente
Kultur Dokumente
Studienarbeit
Hiermit erklre ich, die vorliegende Arbeit selbstndig erstellt und keine anderen als die angegebenen Quellen verwendet zu haben.
.................................................................
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
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.
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
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.
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.
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)
Xu = f
Xk Zk
Yu = f
Yk Zk
(2.6)
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)
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.
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].
10
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
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.
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
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 =
14
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 =
180 (2.14)
15
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.
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
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
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
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
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
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.
24
25
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.
(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.
(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
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.
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.
29
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).
32
KAPITEL 3. EXPERIMENTE
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
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.
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.
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
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,
[20] Pic Mickael. Evilib, http://sourceforge.net/projects/evilib/, 2004. [21] Nist smart ow system, http://www.nist.gov/smartspace/nsfs.html.
48