Kontur ve alan, ham (uzamsal) ve merkezi görüntü momentleri


9

Yakın zamanda ikili görüntülerin görüntü işlenmesi için görüntü anlarını kullanmaya başladım. Bunu okudum0thsipariş kontur momenti çevre ve0thsipariş alanı anı alandır . Bu ham anların her ikisi de:

Mbenj=ΣxΣyxbenyj.

Bunun gibi bir görüntüm varsa (ancak mavi renkte gösterilen ikili, ön plan pikselleri), anı bir kontur görüntüsü olduğundan çevreye karşılık gelir :0th

Çevre img

Öte yandan, böyle bir görüntü varsa (ön plan süre olarak gösterilir), an olarak nesnenin alanını alırsınız :0th

Alan img

Daha fazla özellik elde etmek için konturları kullanmak istediğimden, daha yüksek sıra ( , , sırası) ham kontur momentini de hesaplıyorum . Bunları merkezi anları elde etmek için kullanmak istiyorum.1st2nd3rd

Merkezi anları almak için kullandığım formüller:

μ00=M00

μ01=0

μ10=0

μ11=M11M00-xc*yc=M11M00-(M10M00)*(M01M00)

Merkezi momentleri hesaplamak için formüller ham momentler kullanıyor . Sorum şu: Merkezi anları, alanı veya konturu hesaplamak için hangi ham anlar kullanılır ? . Tahminime göre alan anları,0th sipariş merkezi anı da, aslında 0th sipariş alanı anı.

Ayrıca, merkezi momentleri kontur ham momentlerine göre hesaplayabilir miyim ?



1
Evet, alan momentleri ve kontur momentleri arasındaki fark burada açıklığa kavuşturulmuştur. Şimdi merkezi anlar ve aralarındaki ilişki hakkında daha fazla bilgi iyi olurdu :).
Olivier_s_j

Kontur veya alanın merkezi anları?
Andrey Rubshtein

Merkezi kontur momentleri netleştirilmelidir. Kontur momentlerine göre merkezi anları nasıl alacağımı bilmek istiyorum. Çünkü eğer kontur ve merkezi alan üzerinde merkezi bir an hesaplarsam, bunların aynı olmadığını görürüm. Bu nedenle, şeklin yönünü veya eksantrikliğini doğru bir şekilde hesaplayamıyorum. ( en.wikipedia.org/wiki/Image_moment )
Olivier_s_j

İlk sentanse'nizde: "0. sıra kontur momentinin çevre ve 0. sıra alan momentinin alan olduğunu okudum." Bunun için lütfen kaynak sağlayabilir misiniz? (Kontur anlarında daha somut bir şey bulmak için kendimi öldürüyordum)
penelope

Yanıtlar:


3

Aslında, bir görüntünün "normal", kontur olmayan anlarına karşı konturun doğru bir tanımını ne kadar zorlaştırdığına şaşırdım . Bir sürü materyali okuduktan sonra, sonuçlarım geldi.


İlk olarak, anları ve özellikle mekansal (OP'nin "ham" olarak adlandırdığı şey), merkezi ve merkezi normalleştirilmiş anları farkını ve kullanımını anlamak için iki çok iyi malzeme buldum:

  • (manuel) Johannes Kilian: "Anlara Göre Basit Görüntü Analizi"

    Basit matematik ile mükemmel manuel. İntegrallerden korkmayın - hepsini özet olarak okuyabilirsiniz.

    Ayrıca, bu anlarla çalışmak için kullanılan OpenCV işlevleri hakkında küçük bir genel bakışa sahiptir. Çok eski bir malzeme (2001), bu yüzden bahsettiği OpenCV kılavuzu biraz eski, ama yine de yardımcı oluyor.

    Ve harika bir üçüncü bölüm var, bir anın hangi özelliğini tanımlamak için hangi anın kullanıldığını belirtin.

  • (görüntü işleme blogu) Utkarsh: Görüntü Anları

    Basit, kısa ve arkadaş canlısı. Daha önce bu blogda çok iyi materyaller buldum.

    Yasal Uyarı AI Shack bir noktada çevrimdışı görünüyordu. İşte AI Shack yazarının ana sayfası, bu projeden bahsediyor, bu yüzden hala destekleniyor gibi görünüyor. Umarım yakında tekrar çevrimiçi olur, ancak değilse yazarın web sayfasından takip edilebilir.


Kısaca, uzamsal momentler görüntüdeki nesne hakkında bilgi verir , yani nesne konumu ile ilgili (bağımlı) .

Merkezi momentler olan translasyon değişmezliği için ayarlanmış , söz konusu nesnenin ağırlık merkezi (ağırlık merkezi) hesaplamaları için kullanılan "koordinat sisteminin" kökeni taşıyarak.

Son olarak, merkezi normalize edilmiş momentler nesnenin alanı ile ölçeklendirilir ve dolayısıyla çeviri değişmezliğine ek olarak ölçek değişmezdir.


Şimdi asıl soru kısmı için: kontur anları ne olacak?

Bu kısımdan yapılan kesintiler çoğunlukla

Ve bu kaynaklardan en önemli alıntılar:

Bir konturun momentleri aynı şekilde tanımlanır, ancak Green'in formülü kullanılarak hesaplanır.

(OpenCV referans kılavuzu)

Düzlem geometrisinde ve özellikle alan incelemesinde, Green teoremi, yalnızca çevre üzerinde bütünleşerek düzlem şekillerinin alanını ve merkezini belirlemek için kullanılabilir .

(Yeşil için wiki)

Dahası, cvContourMomentsşimdi sadece bir takma addır cvMoments.

(Bradski Kaehler kitabı)

Buna dayanarak, kontur momentlerinin nesne konturlarının özel ölçülerine değil , sadece kontur bilgisini (tüm görüntü için piksel bilgisi yerine) kullanarak görüntü momentlerini hesaplamanın belirli bir yoluna atıfta bulunduğunu söyleyebilirim .

Temel durumda fark, her ikisinin de nasıl hesaplandığıdır.

  • Benim tahminim, doğrudan uygulamanın, formülü doğrudan uygulayarak piksel piksel toplamla çalışacağıdır. Nesnenin doldurulması bekleniyor.
  • Kontur anları için tahminim, görüntü konturlarının ilk önce belirlenmesi (OpenCV kılavuzuna bakın) ve daha sonra kontur verilerine Yeşil teoreminin uygulanması olacaktır.

Bu, ölçümlerin gerçek görüntüler için biraz farklı olmasını sağlar, çünkü yöntemler şu şekilde farklılık gösterir: duyarlılık: gürültü, ölçekleme, ayrıklaştırma (sürekli görüntü yerine piksel ızgarası). Ayrıca, hız : konturları kullanarak hesaplama, doğrudan yaklaşımı kullanmaktan daha hızlıdır. Gürültü olmadan (idealize) sürekli siyah beyaz bir görüntü için mükemmel eşit sonuçlar vereceklerini tahmin ediyorum.

Yani, sorularınızı cevaplamak için: anlar aynı olmalıdır (gürültüden dolayı farklı vb.). Merkezi momentleri belirlemek için her iki yöntemle hesaplanan uzamsal (ham) momentleri kullanabilirsiniz ( yine de aynı şeyi açıklar).

Bu iddiaların daha fazla desteklenmesi, 1994'ten bu makalenin varlığıdır (sadece özeti okudum, ancak çok alakalı olmalı ve hatta özet bilgilendirici olmalıdır):


Çevre ölçüsü alma hakkında not : Bence, aslında sadece kontur alanı olan "çevre" almak için, ben hesaplamak0thnesnelerin konturlarının görüntüsünün anıdır, ancak konturlara "bir nesnenin konturları" yerine gerçekten ince bir nesne gibi davranın .

Bu anı daha fazla kullanırsanız, tüm diğer ölçümler elbette farklı olacaktır.


bazı bağlantılar kopuk
nkint

@nkint İlk kopuk bağlantıyı düzelttim ... yazarın ve el yazmasının adı Google'da ilk hit olarak bulmak için yeterliydi, bu yüzden onları ilk etapta dahil ettim. Bir bağlantının tekrar koptuğunu fark ederse ve basit Google aramasıyla olduğu gibi düzeltilebilirse, doğru bilgilerde düzenleme yapan herkese teşekkür ederim. İkinci bağlantı olan AI Shack geçici olarak çevrimdışı görünüyor ... Yazarların ana sayfasına bir bağlantı ekledim ve durumu açıklayan küçük bir sorumluluk reddi beyanı ekledim. Umut ediyorum bu yardım eder.
penelope

0

Kontur veya alan momentleri ne olursa olsun, merkezi momentler ortalanmış bir referans çerçevesinde hesaplanan, yani fenomeninizin ortalamasına odaklanmış bir kare anlamına gelir.

Sizin durumunuzda, bu, birinci dereceden anları hesaplamanız gerektiği anlamına gelir (μ0,1,μ1,0) (kontur veya alan), ardından kullanarak anları hesaplayın μ=(μ01,μ10)kaynak olarak. Bu basit bir çeviridir (koordinatların çıkarılması).

Ayrıca, kelime ile ilgili bu soru .

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.