2009-03-09 2 views
0

Ich möchte einen Algorithmus schreiben, der Teile eines Bildes aufnehmen und sie mit einem anderen Bild desselben Objekts abgleichen kann.So entwerfen Sie einen ungefähren Lösungsalgorithmus

Zum Beispiel, wenn ich dem Computer ein Bild von einer Vase und ein Bild einer Szene mit der Vase darin gab, würde ich erwarten, dass es bestimmt, wo im Bild die Vase ist. Wie würde ich anfangen, einen Algorithmus wie diesen zu entwickeln?

Die endgültige Verwendung für diesen Algorithmus wird eine Anwendung, die zum Beispiel mit einem Bild von jemandes Gesicht könnte sagen, ob sie in einer Menschenmenge waren. Dieser Algorithmus würde schließlich auf Videostreams angewendet werden.

bearbeiten: Ich erwarte keine tatsächliche Lösung für dieses Problem, da ich nicht hoffe, es bald zu lösen. Die wirkliche Frage war, wie man so etwas auf einem Computer definiert, damit man einen Algorithmus dafür machen kann.

Dank

+0

Sie fragen nach der Lösung eines sehr, sehr schwierigen Problems. Wenn jemand eine sofortige Antwort hätte, wären sie damit beschäftigt, es zu patentieren! –

+0

Bitte lassen Sie mich wissen, wenn Sie das lösen; da Regierungen von Ländern wie den USA, Großbritannien und China Milliarden dafür bezahlen würden. –

+0

@Rex M: du hast vergessen Australien –

Antwort

1

Das erste Problem, das Sie beschreiben, und das zweite sind beide ziemlich unterschiedlich.

Ein großer Teil von jedem wird durch die numerous verfügbaren Bildverarbeitungsbibliotheken gelöst. Möglicherweise benötigen Sie eine Kombination von Techniken, um bei beiden Aufgaben Erfolg zu haben.

In der ersten benötigen Sie etwas, das Objekte generisch erkennt. Wahrscheinlich würde ich eine Reihe von Algorithmen zusammen verwenden, um das Vordergrundobjekt im Modellbild zu identifizieren und dann eine Art gewichteten Vergleich des partitionierten Zielbildes durchzuführen.

Im zweiten Fall ist die Untersuchung von Gesichtern ein viel schwierigeres Problem im Vergleich zum obigen allgemeinen Erkenner. Gesichter sehen alle gleich oder fast gleich aus.Die Dinge, die ein allgemeiner Erkenner bemerken würde, sind wahrscheinlich nicht gut für differenzierende Gesichter. Sie benötigen einen Algorithmus, der bereits auf die Gesichtserkennung abgestimmt ist. Glücklicherweise ist dies ein schnell wachsendes Feld und Sie können dies wahrscheinlich genauso wie den ersten Fall tun, aber mit einer anderen Reihe von Funktionen.

2

Ein ehemaliger Lehrer von mir schrieb seine Doktorarbeit über eine ähnliche Art von Problem, außer seinem Eingang ein detailliertes 3D-Modell von etwas war, das er das Objekt zu finden, in 2D-Bildern verwenden würde. Dies ist ein SEHR nicht-triviales Problem, es gibt keine einzelne "Antwort", sicherlich nichts, was zum Stack-Overflow-Format passen würde.

Meine beste Antwort: Sammle eine Menge Geld und stelle einen sehr erfahrenen Programmierer ein.

Viel Glück für Sie.

+1

Ich hatte einen Professor, der das auch machte. Mein Favorit war, als der Computer sagte, ein Jet wäre eine Kaffeetasse. Silly-Kurven-Definitionen. – Drew

0

Ich denke, Sie werden feststellen, dass dies eine ziemliche Herausforderung ist. Dies ist ein extrem schwieriges Problem und gehört zu den vielen Bereichen der Informatik, die in den Bereich der künstlichen Intelligenz (KI) fallen. Gesichtserkennung wäre sicherlich die beliebteste Variante dieses Problems und trotz allem, was Sie in den Medien lesen können, sind alle behaupteten Erfolge nicht das, was sie sind. Ich denke, die nächsten Lösungen beinhalten neuronale Netze und sie erfordern normalerweise sehr klare und sorgfältig ausgewählte Bilder.

Sie könnten versuchen, lesen here obwohl. Viel Glück!

1

Die einfache Antwort ist, eine mathematische Methode zur Beschreibung von Gesichtern zu finden, die Winkel und teilweise fehlende Daten berücksichtigen und verfeinern und lehren kann.

Anscheinend hat Apple so etwas gemacht, aber es macht immer noch Fehler und muss gelehrt werden, wie es voranschreitet.

Ich erwarte, es wird mehr über die Mathematik, als über die Programmierung.