Funktion für die Antwort über Bildskalen

  • Ich möchte Code in Matlab schreiben, um eine charakteristische Skala eines Image-Patches zu finden. Ich habe einen Image-Patch X, ich muss die Funktion F(X,sigma) maximieren, damit Sigma die Eigenschaft ist Sigma.

    Für meine Experimente kann F der Laplace-Operator des Bildes sein. Sigma ist die "Stärke" eines Gaußschen Filters im Bild. F(x,sigma) sollte für jedes x (Image Patch) seine Antwort über Skalen zunehmender Sigmas zurückgeben (dh einen diskreten Wert für jedes X und Sigma). Meine Fragen sind:

    1. Der Laplacianer wird erhalten, indem der Laplace-Kern mit dem Bild gefaltet wird, wo das Sigma stattfindet? (Glätten Sie das Bild vor (dem Laplace) mit G(sigma)?)
    2. Wie kann ich F(X,sigma) definieren, um einen diskreten Wert zurückzugeben (X ist nXm)? dh was macht diese Funktion genau.

    Dima und Jean, Danke für Antworten, der Grund, warum ich Ich frage diese Frage, weil ich etwas Ähnliches mit 3D-Daten machen muss (wahrscheinlich / möglicherweise mit einigen anderen normalisierten Ableitungen), und ich möchte zuerst sehen, wie es mit 2D-Daten (dh Bildern) funktioniert. verstehe ich jetzt Was ich für den Aufbau des Skalenraums tun muss, gibt es immer noch eine Sache, bei der ich nicht sicher bin, und es ist das Finden der lokalen Maxima über F. Für jedes Bild (x, y) und σ - F ist eigentlich die Ableitung des Bild. Was ist das lokale Maximum von F über x, y und σ? nach lokalen Maxima für jede Skala suchen? gibt es mehrere lokale Maxima auf jeder Skala, entsprechen diese lokalen Maxima (in Position) über alle Skalen? Wenn ja, verstehe ich, dass ich für jede dieser Positionen das σ finden muss, das über alle Skalen das beste Maxima ergibt. Ist es das, was Sie Jungs meinten? Es tut mir leid, wenn ich zu viel gehe In Details möchte ich nur sicherstellen, dass ich vollständig verstehe, DANKE!

    01 February 2012
    PhononDeepak kumar Jha
2 answers
  • Konzeptionell funktioniert das wie folgt: Zuerst konstruieren Sie einen Gaußschen Skalenraum, indem Sie das angegebene Bild mit den Gaußschen Filtern falten, um $ \ sigma $ zu erhöhen. Hier kommt das Sigma her. Somit haben Sie ein 3D-Skalierungsvolumen, bei dem jede Ebene eine zunehmend unscharfe Version des Originalbilds ist. Dann bewerten Sie Ihre Funktion $ F $, die in Ihrem Fall ein Laplace-Operator wäre, über jede Skalenebene, d. H. e. bei jedem $ \ sigma $. Dann finden Sie lokale Maxima von $ F $ über $ x, y $ und $ \ sigma $.

    Beachten Sie, dass Sie in der Praxis die Tatsache verwenden können, dass die Faltung eine lineare Operation ist auf verschiedene Arten. Sie können beispielsweise jede Skalierebene aus der vorherigen Ebene und nicht aus dem Originalbild generieren. Auf diese Weise können Sie denselben Filter verwenden, anstatt mehrere Filter zu verwenden, wobei $ \ sigma $ zunimmt. Oder Sie können $ F (\ sigma) $ direkt aus dem Originalbild generieren, indem Sie den Laplacian-of-Gaussian-Filter des entsprechenden $ \ sigma $

    verwenden
    31 January 2012
    Dima
  • Wahrscheinlich möchten Sie den Begriff des Skalieraums und die daraus folgenden Links überprüfen: http://en.wikipedia.org/wiki/Scale_space

    Angenommen, $ X $ (Entschuldigung, die Art und Weise, in der die Frage gestellt wird, ist mir etwas unklar) das Bild, nach dem Sie die Skala suchen möchten: Was Sie wahrscheinlich mit der $ F $ -Funktion beginnen möchten, ist der Laplace-Filter von Gauß. Sie können zeigen, dass er auch bei weißem Rauschen der optimale Detektor für Gaußsche Flecken ist ( Daniel Sage-Papier )

    Die Skala erscheint dann mit dem $ \ sigma $ des LoG-Filters. Dieser Filter hat die beste Reaktion, wenn die Größe des Blobs, auf den Sie ihn anwenden, mit dem $ \ sigma $ des Filters übereinstimmt.

    Sie können jedoch mit dieser Methode feststellen, dass dies nicht der Fall ist genug, um ein Maximum von $ F $ auf der Zielskala zu haben, wenn $ \ sigma $ alle möglichen Werte umfasst. Dies liegt daran, dass beim Filtern das Integral des Filters zum Tragen kommt und die Reaktion skaliert. Sie möchten also Ihren LoG-Filter normalisieren. Sie können zeigen, dass der korrekte Ausdruck für einen einzelnen Blobskalen-Detektor

    $$ L (\ sigma) = \ sigma ^ 2 \ left (\ frac {\ partial ^ 2 G) ist } {\ partial x ^ 2} + \ frac {\ partial ^ 2 G} {\ partial y ^ 2} \ right) $$

    wobei $ G $ der Gaußsche ist Filter der Skala $ \ sigma $.


    Ok Ich habe gerade Ihre Bearbeitung der Frage gesehen. Ich bin etwas anders vorgegangen als Dima, aber am Ende hoffe ich, dass die Ergebnisse die gleichen sein werden. Ich muss mit den Notationen von vorne beginnen.

    Nehmen wir an, dass $ I (x, y) $ Ihr Bild ist, dass $ L (\ sigma) $ der Laplace-Filter des Gaußschen Filters der Skala $ \ sigma $ ist.

    Wenn Sie $ L (\ sigma) $ auf $ I (x, y) $ anwenden, erhalten Sie ein neues Bild F mit folgendem Befehl: $$ F (x y, \ sigma) = L (\ sigma) \ stern I (x, y) $$

    Was ist cool an $ F (x, y, \ sigma) $? ? Nicht viel, wenn Sie sich für Mädchen interessieren, aber wenn Sie inte sind

    02 February 2012
    Simon Gillbee