AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bilderkennung

Ein Thema von Finki · begonnen am 27. Nov 2013 · letzter Beitrag vom 28. Nov 2013
Antwort Antwort
Seite 1 von 2  1 2      
Popov
(Gast)

n/a Beiträge
 
#1

AW: Bilderkennung

  Alt 28. Nov 2013, 00:41
Wenn man sich so anguckt was Google so bei seiner Bildersuche bietet - und die ist schon gut - dann könnte man sich da paar Ideen rauspicken. Also nochmal, ich weiß nicht wie sie das machen, aber man kann da schon was erkennen.

Zuerst einmal erkennt Google mehr oder weniger die Farbe des Bildes. Also ein Bild besteht natürlich aus vielen Farben, aber es tendiert in eine Richtung, z. B. da gibt es viel grün, oder gelb oder rot. Dann ist das Bild eben grün, gelb oder rot. Sucht man ein Gesicht und wählt die Farbe Lila, tendiert das Bild in diese Richtung.

Ein Baum hat zum Beispiel einen braunen und grünen Klecks. Der Braune ist unter dem Grünen. Das könnte schon mal ein Anzeichen für einen Baum sein. Es könnte aber auch ein Afrikaner mit einem grünen Pullover sein, der einen Handstand macht.

Ich denke (ich denke, ich weiß es nicht), dass Google die Bilder reduziert. So kann man schneller Bereiche erkennen. Nehmen wir an du hast ein Bild 1000 x 1000 Pixel und ein Bild 300 x 300 Pixel. Du vergleichst jetzt aber nicht die Pixel miteinander, sondern reduzierst das Bild zuerst auf 10 x 10 Pixel. Sind sich die Bilder ähnlich, sollten die reduzierten Bilder auch ähnlich sein. Evtl. sogar gleich.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Bilderkennung

  Alt 28. Nov 2013, 00:54
Ich glaube, dass Google mehrere Ansätze kombiniert.

1. Ein Algorithmus um identische ("pixelgleiche") Bilder (oder Teilbilder) zu finden.
2. Verschiedene Algorithmen um basierend auf Farbe, Helligkeitsverteilung usw. "ähnliche" Bilder zu erkennen. Da merkt man auch immer sofort, dass die Ergebnisse deutlich schlechter sind als bei 1.
Und 3. dürfte Google auch die Ergebnisse aus der "Vorwärts"-Bildersuche mitberücksichtigen. Das heißt, Google wird sich (bei bekannten Bildern) wohl angucken, bei welchen Suchworten das eingegebene Bild in der normalen Google-Bildersuche am häufigsten auftaucht und dann andere Bilder aus seiner Datenbank heraussuchen, die sich viele Suchworte mit dem Quellbild teilen.

Wenn es sehr eindeutig ist, gibt Google ja sogar einen vorgeschlagenen Suchbegriff aus, dann steht da z.B. "Vermutung für dieses Bild: Afrikaner, der Kopfstand macht".

Ich denke, dass Google vor allem durch den letzten Punkt deutlich bessere Ergebnisse liefern kann als Mitbewerber wie z.B. Tineye, obwohl es die schon länger gibt.

Geändert von Namenloser (28. Nov 2013 um 00:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#3

AW: Bilderkennung

  Alt 28. Nov 2013, 01:11
Wenn man sich so anguckt was Google so bei seiner Bildersuche bietet - und die ist schon gut - dann könnte man sich da paar Ideen rauspicken.
Das was die Google-Suche bietet, würde ich klar als Multimedia-Retrieval einstufen ... wenn man da ein Stichwort für die weitere Recherche sucht.

Die Frage von Finki würde ich eher als maschinelles Lernen einordnen (obwohl die Themen durchaus Berührungspunkte haben).
Allerdings ist die Aufgaben-Stellung ("Finde etwas, was auf beiden Bildern vorhanden ist und nenne es 'Baum'.") auch für einen Menschen nicht wirklich einfach
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: Bilderkennung

  Alt 28. Nov 2013, 09:53
Gerade bei derart generischen Begriffen wie "Baum", "Haus", "Auto" usw. wird es eher etwas für einen Science Fiction Autor als einen Entwickler. Namenlosers dritter Punkt erledigt dabei einen sehr wesentlichen Beitrag: Es stellt einen Kontext zu einem Bild her, ohne dass Objekte im Bild direkt erkannt werden müssen. Eine riesige Hürde die dort via Datamining geschickt genommen wird, für einen Nicht-Googleaner aber kaum erreichbar ist.

Das best mögliche, was man ohne Forschungsteam im Rücken imho noch ganz gut schaffen könnte, wäre eine Ähnlichkeitsanalyse zweier Bilder (bzw. Teilbilder). Das alleine ist schon richtig übel harter Tobak. Den Schwung zum gesprochenen/geschriebenen Wort würde ich mir weit hinten ans ToDo packen, noch hinter Doktor der Mathematik werden und solchen Dingen

Zu Fourierdeskriptoren: Die sind auch nicht immer so einfach einsetzbar. Man braucht schon einen gewaltigen Pre-Processing Schritt um gewünschte Objekte vorab zu isolieren, da man sie dann noch vektorisieren muss. Und aus Bitmaps dann noch z.B. einen generischen Baum heraus zu bekommen... ich glaube das ist nicht wirklich ein Königsweg, weil das Pre-Processing ja dann schon das erledigen müsste, was man mit dem FD erreichen will.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Bilderkennung

  Alt 28. Nov 2013, 10:23
okay das klingt ja alles schon ziemlich interessant. und ich verstehe auch das es schwer ist. ich will nur mal wissen wie es überhaupt im ansatz progtrammiert wird und was der hintergedanke/die logik ist. Sagen wir ich habe eine landschafts, mit sonnenuntergang, aufnahme und nun wioll ich das mir mein programm den horizont mit einer grünen linie nachfährt. wie wird das gemacht?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Bilderkennung

  Alt 28. Nov 2013, 10:32
Sagen wir ich habe eine landschafts, mit sonnenuntergang, aufnahme und nun wioll ich das mir mein programm den horizont mit einer grünen linie nachfährt. wie wird das gemacht?
Ich denke mal das sollte nicht mal so schwer sein wenn du dich auf Sonnenuntergänge bzw. Horizonte beschränkst. Mit einem Kantenerkennungsalgorithmus kann man da vllt was machen. Oder meistens hat der Himmel ja einen anderen Farbton als der Rest davor. Das sollte man sicher auch ganz gut abgrenzen können.

Kann dir aber ohne selbst nachzuschauen keine konkreten Algorithmen nennen.

Edit: Mir ist grad der "Zauberstab" aus Photoshop in den Sinn gekommen.
Floodfill eines Gebiets solange benachbarte Pixel sich vom Farbton nur zu einem gewissen Teil unterscheiden. Angefangen wird bei einem geeigneten Pixel im Horizont. Die Pixel bei denen das Floodfill terminiert weil ein benachbarter Pixel zu sehr abweicht ist dann wahrscheinlich die Grenze zum Horizont.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (28. Nov 2013 um 10:49 Uhr)
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Bilderkennung

  Alt 28. Nov 2013, 10:41
Sagen wir ich habe eine landschafts, mit sonnenuntergang, aufnahme und nun wioll ich das mir mein programm den horizont mit einer grünen linie nachfährt. wie wird das gemacht?
Ich denke mal das sollte nicht mal so schwer sein wenn du dich auf Sonnenuntergänge bzw. Horizonte beschränkst. Mit einen Kantenerkennungsalgorithmus kann man da vllt was machen. Oder meistens hat der Himmel ja einen anderen Farbton als der Rest davor. Das sollte man sicher auch ganz gut abgrenzen können.

Kann dir aber ohne selbst nachzuschauen keine konkreten Algorithmen nennen.
Okay, aber hier hab ich ja wieder das Problem das ich nicht weiß wie amn soetwas programmiert, bzw was es für möglichkeiten gibt!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Bilderkennung

  Alt 28. Nov 2013, 10:52
Siehe mein Edit oben:
Zitat:
Edit: Mir ist grad der "Zauberstab" aus Photoshop in den Sinn gekommen.
Floodfill eines Gebiets solange benachbarte Pixel sich vom Farbton nur zu einem gewissen Teil unterscheiden. Angefangen wird bei einem geeigneten Pixel im Horizont. Die Pixel bei denen das Floodfill terminiert weil ein benachbarter Pixel zu sehr abweicht ist dann wahrscheinlich die Grenze zum Horizont.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#9

AW: Bilderkennung

  Alt 28. Nov 2013, 11:26
Das best mögliche, was man ohne Forschungsteam im Rücken imho noch ganz gut schaffen könnte, wäre eine Ähnlichkeitsanalyse zweier Bilder (bzw. Teilbilder). Das alleine ist schon richtig übel harter Tobak.
Ich hab weiter vorne die Idee mit der Verkleinerung des Bildes erwähnt. Die Idee ist nicht aus den Fingern gesogen. Ich hab mal vor einiger Zeit Tests durchgeführt wie man Bilder am einfachsten vergleichen kann. Pixel für Pixel war die schlechteste Idee, da in Zeiten von Jpeg sich kaum ein Bild gleicht. Man muss die Bilder vereinheitlichen. Ich hab das gemacht in dem ich sie stark verkleinerte. Was bleib waren lediglich Abdrücke. Ich hab dann die Abdrücke verglichen. Und die waren bei mir 10 Pixel breit (oder hoch).

Hier ein Beispiel. Im Anhang gibt es zwei Bilder. Bild 1 ist das Originalbild, Bild 2 ist dem ersten Bild nachgezeichnet. Es ist ganz anders, hat aber eine gewisse Ähnlichkeit zum ersten Bild. Mit Pixelvergleich kommt man da nicht weiter. Dann gibt es da noch die Abdrücke (eigentlich 10 Pixel hoch, ich hab sie aber wieder vergrößert). Man erkennt die Ähnlichkeit der Abdrücke. Jetzt muss man noch eine gewisse Toleranz einbauen und schon erkennt man, dass Bild 2 dem Bild 1 ähnlich ist.

Wie gesagt, das Eine ist der Abdruck des einen Bildes, das Andere, die des zweiten Bildes. Eine gewisse Ähnlichkeit ist ja da.
Angehängte Grafiken
Dateityp: jpg bild1.jpg (15,8 KB, 12x aufgerufen)
Dateityp: jpg bild2.jpg (32,0 KB, 14x aufgerufen)
Dateityp: png bild1_10.png (1,5 KB, 11x aufgerufen)
Dateityp: png bild2_10.png (1,4 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Bilderkennung

  Alt 28. Nov 2013, 11:37
Jungs des sind viele informationen und auch echt gut. Aber mich würde auch interessieren wie man si was programmiert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz