Warum reduziert der trennbare Filter die Kosten für die Berechnung des Bedieners?

8

Ein trennbarer Filter in der Bildverarbeitung kann als Produkt von zwei einfacheren Filtern geschrieben werden. Typischerweise wird eine zweidimensionale Faltungsoperation in zweidimensionale Filter unterteilt. Dies reduziert die Kosten für die Berechnung des Bedieners.

Warum sind die Rechenkosten niedriger, wenn ich einen trennbaren Filter verwende? Ich kann nicht verstehen, warum 2 Filter anstelle von einem die Leistung steigern

Iter Ator
quelle

Antworten:

9

Angenommen, Sie haben ein großes Bild.N.×M.

Wenn Sie wissen, was klassisch verwendet wird, einen Quadratfilterkern mit der Größe , müssen Sie das mit dem Bild falten - was Ihnen Pixel ergibt , die jeweils multiplizieren müssen. akkumuliert. Sie erhalten also Operationen.L.×L.N.×M.L.2EIN2D.=L.2M.N.

Nun, wenn Sie diese Filter in eine zersetzen können -groß horizontal und ein L-Größe vertikalen 1D-Filter, könnten Sie zunächst alle Zeilen tun - die - Wert pro Zeile, die jeweils um - Operationen, so für alle Zeilen - und dann Sie würden dasselbe mit dem vertikalen Filter tun, also für alle Spalten - und Sie erhalten , und Sie müssten nur das zeigenL.M.L.L.M.N.L.N.M.EIN1D.=2L.M.N.

EIN1D.<EIN2D.2L.M.N.<L.2M.N.||::L.M.N., legal seit L.,M.,N.>02<L.

Die meisten Filter sind größer als 2.

Marcus Müller
quelle