Ich habe mit verschiedenen Interpolationsalgorithmen gearbeitet, einschließlich linearer, kubischer (und bilinearer und bikubischer), anderer bezier- (und nurbs- usw.) Interpolationen, Lagrange-Interpolation und einiger anderer, aber ich konnte keine grundlegenden Informationen finden, die dies erklären Was ist bilaterales Upsampling?
Ich konnte Informationen über das gemeinsame bilaterale Upsampling finden, die, so gut ich kann, mehrere Daten parallel interpolieren und dabei Hinweise verwenden, um den anderen zu helfen, besser zu interpolieren, aber ich habe Probleme, die Informationen von BU und JBU zu trennen.
Kann jemand die Grundideen des bilateralen Upsamplings erklären?
image-processing
interpolation
image
Alan Wolfe
quelle
quelle
Antworten:
Es scheint, als würden Sie zwei Dinge fragen. Ich kann technisch nicht wirklich über JBU sprechen, aber ich kann einen Überblick über die notwendigen Konzepte und die bilaterale Filterung im Allgemeinen geben. Sie müssen wahrscheinlich selbst mehr Details finden, aber dies sollte eine kohärente Struktur ergeben, von der aus Sie beginnen können.
Fixieren von "Image" s
Viele Bildverarbeiter betrachten das Filtern entweder als Nachbearbeitung oder als Möglichkeit, Bilder zu skalieren. Die Perspektive des Mathematikers ist genauer, beschreibender und komplexer.
Wenn Sie eine Bilddatei haben, haben Sie kein echtes Bild. Sie haben Pixel „Werte“, die streng gültig sind nur in der Mitte der Pixel . Grob gesagt hat jedes Pixel einen Bereich , der diese Farbe annimmt. Mathematisch gesehen verwenden Sie einen Rekonstruktionsfilter für den nächsten Nachbarn, um das wahre Bild aus Pixelwerten zu rekonstruieren. Damit ein „Bild“ wirklich eine Reihe von Proben und einen Rekonstruktionsfilter, in der Regel nächste Nachbarn .
Resampling
Wenn Sie ein Bild hochskalieren, tun Sie wirklich Folgendes hochskalieren Resampling . Wie machst Du das? Sie nehmen Ihr Signal und generieren daraus einen neuen Satz von Samples. Aber für ein Bild, ich sagte nur , dass wir nicht haben das reale Bild; wir müssen es zuerst rekonstruieren. Ein typisches Resampling-Verfahren sieht also folgendermaßen aus:
Der entscheidende Punkt ist, dass der verwendete Rekonstruktionsfilter der "Filter" ist, der für das Resampling verwendet wird. Zum Beispiel würde ein "bikubisches Upsample" einen bikubischen Rekonstruktionsfilter verwenden.
Es stellt sich heraus, dass Sie (theoretisch) dasselbe Bild zurückerhalten, wenn Sie eine sinc-Funktion für den Rekonstruktionsfilter verwenden und das Bild nicht verkleinern. Wenn Sie das Bild vergrößern und dann wieder verkleinern, erhalten Sie dieselbe Antwort. Dies gilt im Allgemeinen nicht für andere Filter.
Die meisten Filter nähern sich einem Sinc-Filter mehr oder weniger an. Abweichungen führen zu Bildverlust.
Filtern
Wenn Sie dieselbe vor / nach der Abtastrate verwenden, führen Sie eine sogenannte "Filterung" durch. Formal wird die Filterung ohne Änderung der Abtastrate neu abgetastet. Das Filtern ist ein Sonderfall des Resamplings.
Der einzig mögliche Zweck, sie zu filtern, um Informationen wegzuwerfen (z. B. einen Gaußschen) oder möglicherweise auch falsche Informationen zu verzerren oder hinzuzufügen (z. B. einen Sobel).
Bilaterale Filterung
Sie können viele verschiedene Filter zum Filtern verwenden. Die bilaterale Filterung ist eine davon. Ich glaube nicht, dass es derzeit für irgendeinen Zweck als Stand der Technik angesehen wird (obwohl ich nicht weiß, was es ist; wahrscheinlich etwas Neues, was ich vom maschinellen Lernen erwarte).
Ein bilateraler Filter ist ein nichtlinearer Filter, dh er hat keine schöne Fourier-Darstellung. Konzeptionell ist es wie ein Gaußscher, aber die Quellfarben selbst berücksichtigen auch die "Entfernung" eines Pixels von anderen. Dies neigt dazu, flache Bereiche zu glätten, während Kanten erhalten bleiben.
Bilaterale Upscaling
Ich hoffe, Sie sehen jetzt, wohin ich damit gehe: Jeder Filter, den Sie zum Filtern verwenden können, kann zum Hoch- oder Herunterskalieren verwendet werden, was wirklich dasselbe ist (weil alles neu abgetastet wird).
Wenn Sie einen bilateralen Filter implementiert haben, sollten Sie in der Lage sein, einen bilateralen Filter-Resampler einfach zu implementieren. Wenn Sie einen Gauß-Filter implementiert haben, sollten Sie auch einen Gauß-Filter-Resampler implementieren können.
Die einzige Schwierigkeit können die Definitionen sein. Leider ist die Unterscheidung zwischen Filtern und Resampling in der Bildverarbeitungsliteratur systematisch durch gelegentliches Nichtvorhandensein getrübt. Für die Implementierung eines bilateralen Filters würde ich mich stark auf seine Ähnlichkeiten mit dem Gaußschen Resampling verlassen. IIRC (ich habe das Papier seit Jahren nicht mehr gelesen) bilaterale Filterung erfolgt in Pixel, nicht in Stichproben.
quelle
Dies untersucht wahrscheinlich nicht die gesamte Tiefe des Begriffs, aber das erste, was mir einfällt, wenn ich "bilaterales Upsampling" höre, ist das tiefenbewusste Mischen von Bildern mit niedriger Auflösung mit Bildern mit hoher Auflösung. Wenn Sie beispielsweise Alpha-Blended-Geometrie in einen Puffer mit halber Auflösung rendern (um Leistungseinsparungen zu erzielen) und diese dann wieder auf das Haupt-Rendering-Ziel zusammensetzen. Angelo Pesce hat einen Beitrag geschrieben , der es gut erklärt.
quelle