Jaki jest związek między sigmą u Laplaciana Gaussa a dwoma sigmami w Różnicy Gaussów?

12

Rozumiem, że filtr Laplaciana-Gaussa może być aproksymowany przez filtr Difference-of-Gaussian i że stosunek dwóch sigm dla tego ostatniego powinien wynosić 1: 1,6 dla najlepszego przybliżenia. Nie jestem jednak pewien, w jaki sposób dwa sigmy w Różnicy Gaussów odnoszą się do sigmy Laplaciana Gaussa. Czy mniejszy sigma w pierwszym jest równy sigmie drugiego? Czy większy sigma? Czy związek jest czymś innym?

wizualno-kinetyczny
źródło
> Rozumiem, że filtr Laplaciana-Gaussa może być aproksymowany przez filtr Difference-of-Gaussian i że stosunek dwóch sigm dla tego ostatniego powinien wynosić 1: 1,6 dla najlepszego przybliżenia. przepraszam z jakim odniesieniem to wiedziałeś?
Cześć, myślę, że to pytanie pasowałoby tutaj - area51.stackexchange.com/propozycje/86832 /... Wsparłoby to także społeczność. Dziękuję Ci.
Royi,

Odpowiedzi:

11

Rozumiem, że filtr Laplaciana-Gaussa może być aproksymowany przez filtr Difference-of-Gaussian i że stosunek dwóch sigm dla tego ostatniego powinien wynosić 1: 1,6 dla najlepszego przybliżenia

Teoretycznie im mniejszy stosunek dwóch sigm, tym lepsze przybliżenie. W praktyce będziesz mieć błędy numeryczne w pewnym momencie, ale dopóki używasz liczb zmiennoprzecinkowych, wartości mniejsze niż 1,6 dadzą ci lepsze przybliżenie.

Aby to zilustrować, narysowałem przekrój LoG i DoG dla kilku wartości k w Mathematica:

wprowadź opis zdjęcia tutaj

Jak widać, k = 1,6 nie jest idealnym przybliżeniem. Na przykład k = 1,1 dałoby znacznie bliższe przybliżenie.

Ale zwykle chcesz obliczyć przybliżone wartości LoG dla szeregu sigm. (W przeciwnym razie, po co w ogóle zawracać sobie głowę aproksymacją DoG? Obliczanie pojedynczego przefiltrowanego obrazu LoG nie jest droższe niż obliczanie pojedynczego przefiltrowanego obrazu DoG.) Zatem wartość k jest zwykle wybierana tak, aby można było obliczyć serię filtru gaussowskiego obrazy z sigma s, s k, s k ^ 2, s * k ^ 3 ..., a następnie oblicz różnice między sąsiadującymi gaussami. Więc jeśli wybierzesz mniejszy k, będziesz musiał obliczyć więcej „warstw” gaussów dla tego samego zakresu sigma. k = 1,6 to kompromis między dążeniem do bliskiego przybliżenia a brakiem potrzeby obliczania zbyt wielu różnych gaussów.

Nie jestem jednak pewien, w jaki sposób dwa sigmy w Różnicy Gaussów odnoszą się do sigmy Laplaciana Gaussa. Czy mniejszy sigma w pierwszym jest równy sigmie drugiego?

Ze wzorów na stronie wiki @Libor, z którą linkujesz, możesz zobaczyć, że , więc w przybliżeniu LoG dla niektórych sigma potrzebujesz dwóch gaussów z sigmas i (przynajmniej w limicie ). Lub, w kategoriach k:t=σ2σ2+Δt Δt0σ2ΔtΔt0

σLaplace=σ1+k22

Niki Estner
źródło
przepraszam, jeśli się mylę, ale czyż nie jest tak, że obliczanie LoG jest w rzeczywistości droższe niż DoG. ponieważ gaussowski można podzielić na 2 filtry 1D, co oznacza, że ​​złożoność będzie liniowa O (2n) zamiast wielomianu O (n ^ 2)
1916182
@ user1916182: To prawda, że ​​filtr LoG nie jest sam w sobie możliwy do oddzielenia. Ale nie jest też filtrem DoG. Ale oba są sumami dwóch oddzielnych filtrów (dwóch gaussów o różnej skali dla DoG, dwóch filtrów pochodnych gaussowskich drugiego rzędu dla LoG). Ci zrobić Oszczędność czasu z psem, czy można korzystać z „większy” od dwóch gaussians do następnego poziomu skalę, więc trzeba obliczyć n + 1 gaussians do wag n, w przeciwieństwie do 2 * n gaussowskich filtry pochodnych dla N skalach zalogować .
Niki Estner
3

Może wzory tutaj mogą ci pomóc.

Ponieważ reprezentacja przestrzeni skali spełnia równanie dyfuzji, LoG można obliczyć jako różnicę między dwoma wycinkami przestrzeni skali.

Dlatego, wyprowadzając formułę DoG, najpierw przybliżamy LoG skończonym różnicowaniem. Myślę, że konkretny stosunek sigmy wynika z faktu, że krok w skali jest podejmowany w celu przybliżenia LoG.

Libor
źródło
Dzięki, ale już na nie spojrzałem. Nie wydają mi się mówić, czy sigma czy k * sigma jest wartością odpowiadającą parametrowi t (który jest taki sam, jak wartość sigma dla równania Laplaciana równania Gaussa).
wizualno-kinetyczny
1
Jest gdzieś pomiędzy: s <t <k * s. Ponieważ różnica (y (a) - y (b)) / (ba) jest zbliżona (gdy b - a -> 0) pochodna w (a + b) / 2. Ponieważ jednak nie przyjmujesz limitu k-> 1, jest to tylko przybliżenie i nie możesz tak naprawdę określić najlepszej sigmy (chyba że określisz konkretne kryterium optymalizacji).
nimrodm