Görüntü işlemede evrişim sezgisi


9

Görüntü işlemede evrişim hakkında birçok belge okudum ve çoğu formülü hakkında bazı ek parametreler söylüyor. Hiç kimse bir görüntü üzerinde evrişim yapmanın ardındaki sezgiyi ve gerçek anlamı açıklamaz. Örneğin, grafikte türetmenin sezgisi, onu daha doğrusal hale getirmektir.

Bence tanımın kısa bir özeti şudur: evrişim, görüntü ve çekirdek arasındaki üst üste binen kare ile çarpılır, bu toplamdan sonra tekrar çapaya konur. Ve bu benimle bir anlam ifade etmiyor.

Evrişim ile ilgili bu makaleye göre evrişimin neden "inanılmaz" şeyler yapabileceğini hayal edemiyorum. Örneğin, bu bağlantının son sayfasında çizgi ve kenar algılama. Sadece uygun evrişim çekirdeği seçin güzel efektler yapabilirsiniz (çizgi tespit veya kenar tespit).

Herkes bunu nasıl yapabileceğine dair bazı sezgiler sağlayabilir mi (düzgün bir kanıt olması gerekmez)?

Yanıtlar:


13

Convolution'u düşünmenin en basit yolunun, bir pikselin değerini yakındaki piksellerin ağırlığına göre yeni bir değere değiştirmenin bir yöntemi olduğunu düşünüyorum.

Box Blur'un neden olduğunu görmek kolaydır:

_____________
|1/9|1/9|1/9|
|1/9|1/9|1/9|
|1/9|1/9|1/9|
-------------

İşler. Bu çekirdeği birleştirmek, bir fotoğrafın her pikselinden geçmek ve yeni piksel değerini kendi ortalamasını ve çevresindeki sekiz pikseli yapmakla aynıdır.

Bunu alırsanız, Gauss Bulanıklığı'nın neden işe yaradığını görebilirsiniz:

_____________________
|.01|.04|.07|.04|.01|
|.04|.16|.26|.16|.04|
|.07|.26|.41|.26|.07|
|.04|.16|.26|.16|.04|
|.01|.04|.07|.04|.01|
---------------------

Temelde aynı şeydir, ancak ortalamalar daha yakın olan piksellere karşı daha güçlü bir şekilde tartılır. Uzaklaştıkça ağırlıkların ne kadar hızlı düştüğünü tanımlayan işlev Gauss Fonksiyonudur , ancak bulanıklaştırma için kullanmak için işlevin ayrıntılarını bilmenize gerek yoktur.

Bağlantılı makaledeki kenar algılama çekirdeği de ona yeterince uzun bakarsanız mantıklıdır:

__________
|-1|-1|-1|
|-1|.8|-1|
|-1|-1|-1|
----------

Temel olarak, herhangi bir pikselin değerinin orijinal değerinin 8 / 9'unda başladığını söyler. Daha sonra yeni pikselinize ulaşmak için çevresindeki her pikselin değerlerini çıkarırsınız.

Bu nedenle, bir pikselin değeri yüksekse ve etrafındaki piksellerin değeri de yüksekse, birbirlerini iptal ederler. Pikselin değeri düşükse ve etrafındaki tüm pikseller de düşükse, birbirlerini de iptal ederler. Pikselin değeri yüksekse ve çevresindeki piksellerin değeri düşükse (bir nesnenin kenarındaki pikselde olduğu gibi) yeni piksel değeri yüksek olacaktır.


6

Evrişim / çapraz korelasyon hakkında düşünmenin bir yolu, verilerinizde bir sinyal arıyormuşsunuz gibi. Veriler ne kadar çok çekirdeğe benziyorsa, elde edilen değer o kadar yüksek olur. Aslında çekirdeğin tersini alıyorum, yani çapraz korelasyonda olduğu gibi, ama temelde aynı şey.

Örneğin, 1d verilerinizde yönlü bir adım aradığınızı varsayalım.

Çekirdek,

[-1 1]

ve bunu verilere uygulayalım

[2 2 2 2 2 1 1 1 1 1]

Sonuç

[0 0 0 0 0 1 0 0 0 0]

Hangi adımın yerini algılar. Daha büyük bir adım daha büyük bir değer verecektir.

Bu çalışır çünkü bir deseni çekirdeğin içinde görünen desenle çarptığınızda yüksek bir değer elde edersiniz.

Kenar algılama (veya başka bir desen algılama), örneğin çekirdek ile aynı şekilde çalışır

[-1 2 -1]

Bu şekilde daha yüksek boyutlara genişletmeler de düşünülebilir.

Bu, en azından evrişim görüntü işlemenin bazı uygulamaları hakkında sezgi vermelidir.


4

Evrişimin anlaşılmasının biraz zor olduğunu düşünüyorsanız, görüntü işlemeye uygulanan Matematiksel Morfolojiyi araştırmaya başlamanızı öneririm, Matematiksel Morfolojinin arkasındaki büyük fikir, evrimi "değiştirmek" için, evrime çok yakın bir işlem yapmanızdır. Görüntünün morfolojisi, ancak topoloji bilgilerini koruyarak, bu şekilde, duran bir insanın, neredeyse bir sopa insanı olan bir iskeletin görüntüsünü yapabilir, erozyon işlemini uygulamayı deneyebilir, ardından operasyonu genişletebilir, sonra açabilirsiniz. / close işlemiyle, her görüntü pikseline uygulanan bir maskenin neler yapabileceğini ve büyük sonuçlar elde etmek için büyük bir senaryoda nasıl kullanılabileceğini anlamaya başlayacaksınız (son erozyonu kullanarak bir şey başlatmak için bir yer bulmak gibi) Matematiksel Morfolojiyi anlıyorsunuz, evrişim biraz daha zor,çünkü analize dayanır ve entegre olduktan sonra tanımlanır, ancak yine de, medyan bulanıklık, gauss bulanıklığı, keskinleştirme, kenar algılama, laplace, gradyan, vb.Gibi anlaşılması kolaydır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.