-
        

Ergebnis 1 bis 9 von 9

Thema: Mustererkennung

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780

    Mustererkennung

    Anzeige

    Hallo Leute,

    ich wollte mal etwas probieren...
    und zwar wollte ich zwei Bilder so überlagern, daß ich beide wieder aus dem resultierenden Bild rekonstruieren kann.

    Momentan benutze ich dafür diese Maske:
    (der rote Bereich periodisch wiederholt)


    dabei soll für jeden schwarzen Pixel der Maske "Bild A" und für jeden weißen Pixel "Bild B" angezeigt werden. (natürlich gehen dabei von beiden Bildern Informationen verloren, aber das ist nicht so schlimm)

    meine Überlegung ist folgende:
    wenn man sich die Maske mal genau betrachtet stellt man fest daß sie quasi aus liegenden(weißen) und stehenden(schwarzen) 'I' förmigen Symbolen zusammengesetzt ist. Wenn man genug davon findet, sollte es ja möglich sein die Maske zu rekonstruieren, und damit die Bilder wieder voneinander zu trennen.

    Jetzt stellt sich mir nur die Frage, wie ich diese Symbole im Bild finden kann. (erstmal unter Idealbedingungen, und wenn das klappt ist der nächste Schritt die Erkennung der Symbole auf einem abfotografierten Bild)


    Naja, ich bin mal auf Eure Vorschläge gespannt.
    (vielleicht ist das Muster an sich ja schon ungeeignet, und es gibt andere die sich besser erkennen lassen?)
    So viele Treppen und so wenig Zeit!

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    30
    Beiträge
    478
    jo, du wirst exakt 50% der Informationen verlieren...

    gehst du davon aus, dass die Maske bekannt ist, also immer die selbe...?
    Handelt es sich um eine Kombination von 2Fotos, oder um relativ eindeutige Zeichnungen?

    Dann sind das vllt 10 zeilen code.

    Was du machen könntest wäre die 2-3 niederwertigen Bits des gerade falschen Maskenanteils zu benutzen um darin Farb-Infos des Bildes zu speichern. Dann hast du etwas weniger Lücken, die du dann nicht mehr zwingend interpolieren müsstest, bzw besser interpolieren könntest.
    Das läfut schon in Richtung Steganographie, damit kann man sehr lustige Sachen machen

    Was willst du damit am Ende überhaupt bezwecken

    Benute doch solch ein Muster:

    Code:
    XXXOOO
    XXXOOO
    XXXOOO
    OOOXXX
    OOOXXX
    OOOXXX
    Dann kannst du nen Kanten-Filter drüberlaufne lassen. die meisten kanten werden wohl an den übergängen zwischen den masken auftreten.

    /mfg plusminus

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Zitat Zitat von plusminus
    jo, du wirst exakt 50% der Informationen verlieren...

    gehst du davon aus, dass die Maske bekannt ist, also immer die selbe...?
    Handelt es sich um eine Kombination von 2Fotos, oder um relativ eindeutige Zeichnungen?
    Also das können grundsätzlich mal 2 beliebige Bilder sein, was natürlich bedeutet daß das Muster auf dem resultierenden Bild an manchen Stellen wesentlich schlechter sichtbar sein wird als an anderen.


    Was du machen könntest wäre die 2-3 niederwertigen Bits des gerade falschen Maskenanteils zu benutzen um darin Farb-Infos des Bildes zu speichern. Dann hast du etwas weniger Lücken, die du dann nicht mehr zwingend interpolieren müsstest, bzw besser interpolieren könntest.
    Das läfut schon in Richtung Steganographie, damit kann man sehr lustige Sachen machen
    Ne, also in den niederwertigen Bitstellen kann ich keine zusätzlichen Informationen codieren, da die Geschichte auch dann noch funktionieren soll wenn das resultierende Bild z.B. ausgedruckt und dann abfotografiert wird.


    Benute doch solch ein Muster:

    Code:
    XXXOOO
    XXXOOO
    XXXOOO
    OOOXXX
    OOOXXX
    OOOXXX
    Dann kannst du nen Kanten-Filter drüberlaufne lassen. die meisten kanten werden wohl an den übergängen zwischen den masken auftreten.
    Ein einfaches Schachbrettmuster war auch mein erster Gedanke, aber da kann ich dann später nicht mehr feststellen welches der extrahierten Bilder das erste und welches das zweite ist. (diese Information könnte aber evtl. sinnvoll sein)

    Was willst du damit am Ende überhaupt bezwecken
    Also prinzipiell geht es mir hier erstmal um die Mustererkennung an sich. Diese konkrete Aufgabenstellung war eher eine spontane Idee, und ich weiss noch nicht ganz genau wie ich das dann tatsächlich einsetzen kann. (aber wenns funktioniert werde ich bestimmt irgendeine mehr oder weniger sinnvolle Verwendungsmöglichkeit dafür finden)
    So viele Treppen und so wenig Zeit!

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    30
    Beiträge
    478
    Zitat Zitat von Felix G
    Benute doch solch ein Muster:

    Code:
    XXXOOO
    XXXOOO
    XXXOOO
    OOOXXX
    OOOXXX
    OOOXXX
    Dann kannst du nen Kanten-Filter drüberlaufne lassen. die meisten kanten werden wohl an den übergängen zwischen den masken auftreten.
    Ein einfaches Schachbrettmuster war auch mein erster Gedanke, aber da kann ich dann später nicht mehr feststellen welches der extrahierten Bilder das erste und welches das zweite ist. (diese Information könnte aber evtl. sinnvoll sein)
    hm, bei deinem Bild weißt du das auch nicht genau wenns z.B. um 90° verdreht photographiert wird, dann geht das bei deinem Muster auch nicht.

    Also ich würde mal mit dem Schachbrett anfangen...

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Also ich habe inzwischen noch so einiges probiert, aber das Muster wird einfach nicht erkannt (egal wie das Muster aussieht). Bei dem auszuwertenden Bild ist ja leider erstmal nicht bekannt wie groß das Muster tatsächlich ist, und falls das Bild von der Seite aufgenommen wurde kann die Größe sogar je nach Position unterschiedlich sein.

    Was ich also wissen muss ist, wie ich ein beliebiges Muster auf einem Bild erkennen kann, obwohl dessen Größe und Ausrichtung unbekannt ist.


    Ach und ich habe noch eine Frage zu Matlab, falls sich damit wer auskennt:
    Angenommen ich habe tatsächlich eine Maske mit der ich die Bilder trennen kann, dann sind ja in beiden Bildern Lücken vorhanden (wobei die Position der Lücken natürlich bekannt ist). Wie kann ich jetzt unter Matlab diese Lücken weg interpolieren?
    So viele Treppen und so wenig Zeit!

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.08.2005
    Ort
    winterthur
    Beiträge
    115
    hi
    versuchs mal mit Neuralen Netzen
    Adaline-Net zum beispiel
    als attachement ein kleines beispiel
    da funzzt es mit zahlen.....
    gruss
    nomad
    Angehängte Dateien Angehängte Dateien

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    30
    Beiträge
    478
    Zitat Zitat von Felix G
    Also ich habe inzwischen noch so einiges probiert, aber das Muster wird einfach nicht erkannt (egal wie das Muster aussieht). Bei dem auszuwertenden Bild ist ja leider erstmal nicht bekannt wie groß das Muster tatsächlich ist, und falls das Bild von der Seite aufgenommen wurde kann die Größe sogar je nach Position unterschiedlich sein.

    Was ich also wissen muss ist, wie ich ein beliebiges Muster auf einem Bild erkennen kann, obwohl dessen Größe und Ausrichtung unbekannt ist.


    Ach und ich habe noch eine Frage zu Matlab, falls sich damit wer auskennt:
    Angenommen ich habe tatsächlich eine Maske mit der ich die Bilder trennen kann, dann sind ja in beiden Bildern Lücken vorhanden (wobei die Position der Lücken natürlich bekannt ist). Wie kann ich jetzt unter Matlab diese Lücken weg interpolieren?
    Hm, also ich denk du kommst nicht drum rum die Perspektive rauszurechnen... (Dazu musst du auch erstmal erkennen, wo sich das Bild im Bild überhaupt versteckt...)

    Zum Interpolieren, zur Not schreibst du dir einfach selber ne Funktion, die jeden Fehlenden Pixel aus seinen verfügbaren Nachbarn berechnet...
    Da gibts sicher was in Matlab...

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Zitat Zitat von plusminus
    Hm, also ich denk du kommst nicht drum rum die Perspektive rauszurechnen... (Dazu musst du auch erstmal erkennen, wo sich das Bild im Bild überhaupt versteckt...)
    Ja, ich muss das Bild finden, und erkennen wie es verzerrt ist. Dazu könnte ich ja das Muster nutzen, aber das geht natürlich auch wieder nur wenn ich es zumindest an einigen wenigen Stellen zuverlässig erkennen kann.

    Damit stehe ich wieder am Anfang, nämlich vor der Aufgabe dieses Muster irgendwo in einem Bild zu finden.


    versuchs mal mit Neuralen Netzen
    Adaline-Net zum beispiel
    Ich hatte gehofft es ginge auch ohne NN, aber ich versuchs mal.
    So viele Treppen und so wenig Zeit!

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    11.05.2004
    Beiträge
    17
    jetzt einfach mal ein schuss ins blaue: mach doch mit beiden bildern ne fouriertransformation und kodier das eine bild in hohen frequenzen, das andere in niedrigen. dann überlagern und zurücktransformieren. du wirst zwar wie schon angemerkt natürlich trotzdem informationen verlieren, aber zumindest sollte der verlust nicht so offensichtlich sein, ähnlich jpeg kompression halt...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •