Aktif kontur modeli - Active contour model

Yılanlar olarak da adlandırılan aktif kontur modeli , Michael Kass , Andrew Witkin ve Demetri Terzopoulos tarafından muhtemelen gürültülü bir 2B görüntüden bir nesne anahattının çizilmesi için tanıtılan bilgisayar görüşünde bir çerçevedir . Yılan modeli bilgisayarla görme alanında popülerdir ve yılanlar nesne izleme, şekil tanıma, segmentasyon , kenar algılama ve stereo eşleştirme gibi uygulamalarda yaygın olarak kullanılmaktadır .

Yılan, onu nesne konturlarına doğru çeken kısıtlama ve görüntü kuvvetlerinden ve deformasyona direnen iç kuvvetlerden etkilenen , enerjiyi en aza indiren, deforme olabilen bir spline'dır . Yılanlar, enerji minimizasyonu yoluyla deforme olabilen bir modeli bir görüntüyle eşleştirme genel tekniğinin özel bir durumu olarak anlaşılabilir. İki boyutta, aktif şekil modeli , şekil aralığını bir eğitim setinden öğrenilen açık bir alanla sınırlamak için nokta dağıtım modelinden yararlanarak bu yaklaşımın ayrı bir versiyonunu temsil eder .

Yılanlar – aktif deforme olabilen modeller

Yöntem, istenen kontur şeklinin önceden bilinmesini gerektirdiğinden, yılanlar görüntülerde kontur bulma sorununun tamamını çözmez. Bunun yerine, bir kullanıcıyla etkileşim, bazı daha yüksek seviyeli görüntü anlama süreçleriyle etkileşim veya zaman veya mekanda bitişik görüntü verilerinden gelen bilgiler gibi diğer mekanizmalara bağlıdırlar.

Motivasyon

Bilgisayarla görmede, kontur modelleri bir görüntüdeki şekillerin sınırlarını tanımlar. Özellikle yılanlar, sınırın yaklaşık şeklinin bilindiği sorunları çözmek için tasarlanmıştır. Yılanlar deforme olabilen bir model olarak stereo eşleştirme ve hareket takibinde farklılıklara ve gürültüye uyum sağlayabilirler. Ek olarak, yöntem, eksik sınır bilgilerini yok sayarak görüntüdeki Hayali konturları bulabilir .

Klasik özellik çıkarma teknikleri ile karşılaştırıldığında, yılanların birçok avantajı vardır:

  • Asgari durumu özerk ve uyarlanabilir bir şekilde ararlar.
  • Dış görüntü güçleri, yılana sezgisel bir şekilde etki eder.
  • Gauss yumuşatmayı görüntü enerjisi işlevine dahil etmek, ölçek duyarlılığı sağlar.
  • Dinamik nesneleri izlemek için kullanılabilirler.

Geleneksel yılanların temel dezavantajları şunlardır:

  • Simüle edilmiş tavlama teknikleriyle etkisiz hale getirilebilecek yerel minimum durumlara duyarlıdırlar.
  • Tüm kontur boyunca enerji minimizasyonu sırasında dakika özellikleri genellikle göz ardı edilir.
  • Doğrulukları yakınsama politikasına bağlıdır.

Enerji formülasyonu

Basit bir elastik yılan, iç elastik enerji terimi ve dış kenar tabanlı enerji terimi için bir dizi n nokta ile tanımlanır . İç enerji teriminin amacı yılana yapılan deformasyonları kontrol etmek, dış enerji teriminin amacı ise konturun görüntüye uyumunu kontrol etmektir. Dış enerji genellikle görüntünün kendisinden kaynaklanan kuvvetlerin ve kullanıcı tarafından getirilen kısıtlama kuvvetlerinin bir kombinasyonudur.

Yılanın enerji işlevi, dış enerjisinin ve iç enerjisinin toplamıdır veya

İçsel enerji

Yılanın iç enerjisi, konturun sürekliliği ve konturun düzgünlüğünden oluşur .

Bu şu şekilde genişletilebilir

nerede ve kullanıcı tanımlı ağırlıklar; bunlar sırasıyla yılandaki gerilme miktarına ve yılandaki eğrilik miktarına karşı iç enerji fonksiyonunun duyarlılığını kontrol eder ve böylece yılanın şekli üzerindeki kısıtlamaların sayısını kontrol eder.

Pratikte, süreklilik terimi için büyük bir ağırlık , konturdaki noktalar arasındaki mesafelerdeki değişiklikleri cezalandırır. Pürüzsüzlük terimi için büyük bir ağırlık , konturdaki salınımları cezalandırır ve konturun ince bir plaka gibi davranmasına neden olur.

görüntü enerjisi

Görüntüdeki enerji, görüntünün özelliklerinin bir işlevidir. Bu, türev yöntemlerinde en yaygın modifikasyon noktalarından biridir. Görüntülerdeki özellikler ve görüntülerin kendileri birçok ve çeşitli şekillerde işlenebilir.

Görüntüde bulunan bir görüntü , çizgiler, kenarlar ve sonlandırmalar için, görüntüden kaynaklanan enerjinin genel formülasyonu şu şekildedir:

nerede , , bu belirgin özelliklerin ağırlıklarıdır. Daha yüksek ağırlıklar, göze çarpan özelliğin görüntü kuvvetine daha büyük bir katkısı olacağını gösterir.

Hat fonksiyonel

Çizgi işlevi, şu şekilde temsil edilebilen görüntünün yoğunluğudur:

İşareti , çizginin koyu çizgilere mi yoksa açık çizgilere mi çekileceğini belirler.

Görüntüde bazı yumuşatma veya parazit azaltma kullanılabilir, bu durumda çizgi işlevi şu şekilde görünür:

Kenar fonksiyonel

Kenar işlevi, görüntü gradyanına dayanır. Bunun bir uygulaması

İstenen nesne konturundan çok uzakta çıkan bir yılan, hatalı bir şekilde bazı yerel minimumlara yakınsayabilir. Bu yerel minimumlardan kaçınmak için ölçek uzayı devamı kullanılabilir. Bu, görüntü üzerinde bir bulanıklık filtresi kullanılarak ve yılanın uyumunu iyileştirmek için hesaplama ilerledikçe bulanıklık miktarını azaltarak elde edilir. Ölçek uzayı sürekliliğini kullanan enerji fonksiyoneli

standart sapması olan bir Gauss nerede . Bu fonksiyonun minimum düşmek sıfır geçişlerinin bir göre kenarlarını tanımlayan Marr-Hildred teori.

sonlandırma işlevi

Hafifçe yumuşatılmış bir görüntüdeki düz çizgilerin eğriliği, bir görüntüdeki köşeleri ve sonlandırmaları algılamak için kullanılabilir. Bu yöntemi kullanarak , görüntü şu şekilde düzleştirilsin:

eğim açısı ile

gradyan yönü boyunca birim vektörler

ve gradyan yönüne dik birim vektörler

Enerjinin sonlandırma fonksiyonu şu şekilde temsil edilebilir:

kısıtlama enerjisi

Orijinal yılan uygulaması da dahil olmak üzere bazı sistemler, kullanıcı etkileşiminin yalnızca ilk yerleşimde değil, aynı zamanda enerji açısından da yılanları yönlendirmesine izin verdi. Bu tür kısıtlama enerjisi , yılanları etkileşimli olarak belirli özelliklere doğru veya onlardan uzağa yönlendirmek için kullanılabilir.

Gradyan iniş yoluyla optimizasyon

Bir yılan için bir ilk tahmin verildiğinde, yılanın enerji fonksiyonu yinelemeli olarak en aza indirilir. Gradyan iniş minimizasyonu, yılan enerjisini en aza indirmek için kullanılabilecek en basit optimizasyonlardan biridir. Her yineleme, yerel minimumları bulmak için kontrollü adım boyutuna sahip noktanın negatif gradyanında bir adım alır . Bu gradyan iniş minimizasyonu şu şekilde uygulanabilir:

Enerji alanının gradyanının negatifi ile tanımlanan yılan üzerindeki kuvvet nerede .

Ağırlıkları varsayılarak ve ilgili sabit oldukları , bu yineleme yöntemi basitleştirilebilir

ayrık yaklaşım

Pratikte, görüntüler sonlu çözünürlüğe sahiptir ve yalnızca sonlu zaman adımları üzerinden entegre edilebilir . Bu nedenle, yılanların pratik uygulaması için ayrık yaklaşımlar yapılmalıdır.

Yılanın enerji fonksiyonu, yılan üzerindeki ayrık noktalar kullanılarak tahmin edilebilir.

Sonuç olarak, yılanın kuvvetleri şu şekilde tahmin edilebilir:

Gradyan yaklaşımı, Sonlu fark gibi, s'ye göre herhangi bir sonlu yaklaşım yöntemiyle yapılabilir .

Ayrık zaman nedeniyle sayısal kararsızlık

Algoritmaya ayrık zamanın eklenmesi, yılanın çekildiği minimumları aştığı güncellemeleri sunabilir; bu ayrıca minimumlar etrafında salınımlara neden olabilir veya farklı bir minimumun bulunmasına neden olabilir.

Bu, görüntü kuvvetleri nedeniyle adım boyutu asla bir pikselden büyük olmayacak şekilde zaman adımını ayarlayarak önlenebilir. Ancak, düşük enerjili bölgelerde, iç enerjiler güncellemeye hakim olacaktır.

Alternatif olarak, görüntü kuvvetleri, görüntü kuvvetleri yılanı yalnızca bir piksel güncelleyecek şekilde her adım için normalleştirilebilir. Bu şu şekilde formüle edilebilir

piksel boyutunun değerine yakın nerede . Bu, zaman adımının ayarlanmasından kaynaklanan içsel enerjilere hükmetme problemini ortadan kaldırır.

Ayrık alan nedeniyle sayısal kararsızlık

Sürekli bir görüntüdeki enerjiler, görüntüde piksel olarak var olmayan sıfır geçişe sahip olabilir. Bu durumda, yılandaki bir nokta, bu sıfır geçişe komşu olan iki piksel arasında salınır. Bu salınım, en yakın komşu yerine pikseller arasında enterpolasyon kullanılarak önlenebilir.

uygulama

Aşağıdaki sözde kod , yılan yöntemini genel bir biçimde uygular

function v = snakes (I, v)
  % INPUT: N by M image I, a contour v of n control points
  % OUTPUT: converged contour v of n control points

  E_image = generateImageEnergy (I);

  while not converged
    F_cont = weight.alpha * contourDerivative(v, 2);
    F_curv = weight.beta * contourDerivative(v, 4);
    F_image = interp2 (E_image, v(:,2), v(:,1));
    F_image_norm = weight.k * F_image ./ norm (F_image);
    F_con = inputForces();

    F_internal = F_cont + weight.external * F_curv;
    F_external = weight.external * (F_image + F_con);

    v = updateSnake(v, F_internal, F_external);

    checkConvergence ();
  end

end

createImageEnergy (I) şu şekilde yazılabilir:

function E_image = generateImageEnergy (I)
  [C, Cx, Cy, Cxx, Cxy, Cyy] = generateGradients (I);

  E_line = I;
  E_edge = -(Cx.^2 + Cy.^2)^0.5;
  E_term = (Cyy.*Cx.^2 - 2*Cxy.*Cx.*Cy + Cxx.*Cy.^2)./((1 + Cx.^2 + Cy.^2).^(1.5));

  E_image = weight.line * E_line + weight.edge * E_edge + weight.term * E_term;
end

Bazı yılan çeşitleri

Varsayılan yılan yöntemi, yakınsamanın kötü performans gösterdiği çeşitli sınırlamalara ve köşe durumlarına sahiptir. Varsayılan yöntemin sorunlarını ele alan, ancak kendi ödünleşimleriyle birlikte birkaç alternatif mevcuttur. Birkaçı burada listelenmiştir.

GVF yılan modeli

Gradyan vektör akış yılan (GVF) yılan modeli adresleri iki sorunu:

  • içbükey sınırlar için zayıf yakınsama performansı
  • yılan minimumdan çok uzakta başlatıldığında zayıf yakınsama performansı

2B'de, GVF vektör alanı , enerji fonksiyonelliğini en aza indirir.

kontrol edilebilir bir yumuşatma terimi nerede . Bu, Euler denklemlerini çözerek çözülebilir.

Bu, kararlı durum değerine doğru yineleme yoluyla çözülebilir.

Bu sonuç, varsayılan dış kuvvetin yerini alır.

GVF kullanımıyla ilgili birincil sorun, yumuşatma teriminin kontur kenarlarının yuvarlanmasına neden olmasıdır. Değerinin düşürülmesi yuvarlamayı azaltır ancak yumuşatma miktarını zayıflatır.

balon modeli

Balon modeli, varsayılan aktif kontur modeliyle bu sorunları giderir:

  • Yılan uzak kenarlara çekilmez.
  • Üzerine önemli bir görüntü kuvveti etki etmiyorsa, yılan içe doğru küçülür.
  • minimum konturdan daha büyük bir yılan sonunda küçülür, ancak minimum konturdan daha küçük bir yılan minimumu bulamaz ve bunun yerine küçülmeye devam eder.

Balon modeli, yılana etki eden kuvvetlere bir şişirme terimi getirir.

burada eğrinin normal üniter vektörüdür ve kuvvetin büyüklüğüdür. görüntü normalleştirme faktörü ile aynı büyüklüğe sahip olmalı ve görüntü kenarlarındaki kuvvetlerin şişirme kuvvetinin üstesinden gelmesine izin vermekten daha küçük bir değere sahip olmalıdır.

Balon modelini kullanmaktan üç sorun ortaya çıkar:

  • Yılan küçülmek yerine minimuma doğru genişler ve ondan daha küçük minimum konturları bulamaz.
  • Dışa doğru kuvvet, konturun gerçek minimumdan biraz daha büyük olmasına neden olur. Bu, kararlı bir çözüm bulunduktan sonra balon kuvveti azaltılarak çözülebilir.
  • Şişirme kuvveti, zayıf kenarlardan gelen kuvvetleri yenebilir ve bir görüntüdeki daha zayıf özellikleri görmezden gelen yılanlarla sorunu büyütebilir.

Difüzyon yılanları modeli

Difüzyon yılanı modeli, yılanların gürültüye, dağınıklığa ve tıkanıklığa duyarlılığını ele alır. Mumford-Shah fonksiyonelinin ve çizgi limitinin bir modifikasyonunu uygular ve istatistiksel şekil bilgisini içerir. Varsayılan görüntü enerjisi işlevi şu şekilde değiştirilir:

burada modifiye edilmiş Mumford'un-Shah fonksiyonel dayanır

etki alanı görüntüsünün parçalı düzgün modeli nerede . Sınırlar şu şekilde tanımlanır:

ikinci dereceden B-spline temel fonksiyonları nerede ve spline'ların kontrol noktalarıdır. Değiştirilen karikatür sınırı şu şekilde elde edilir ve geçerli bir yapılandırmadır .

İşlev , çeşitli konturların ikili görüntülerinden eğitime dayanır ve parametre tarafından kuvvet olarak kontrol edilir . Ortalama kontrol noktası vektörü ve kovaryans matrisi ile kontrol noktası vektörlerinin bir Gauss dağılımı için, Gauss olasılığına karşılık gelen ikinci dereceden enerji,

Bu yöntemin gücü, eğitim verilerinin gücüne ve değiştirilmiş Mumford-Shah fonksiyonelinin ayarlanmasına dayanır. Farklı yılanlar, farklı eğitim veri setleri ve ayarlamalar gerektirecektir.

Geometrik aktif konturlar

Geometrik aktif kontur veya jeodezik aktif kontur (GAC) veya uyumlu aktif konturlar, Öklid eğrisi kısaltma evriminden fikirler kullanır . Görüntüdeki nesnelerin algılanmasına bağlı olarak konturlar ayrılır ve birleşir. Bu modeller büyük ölçüde seviye kümelerinden esinlenmiştir ve tıbbi görüntü hesaplamada yaygın olarak kullanılmıştır .

Örneğin, GAC'nin gradyan iniş eğrisi evrim denklemi

burada durma işlevi, c bir Lagrange çarpanıdır, eğriliktir ve birim içe normaldir. Bu özel eğri evrim denklemi biçimi, yalnızca normal yöndeki hıza bağlıdır. Bu nedenle, seviye kümesi fonksiyonunu aşağıdaki gibi ekleyerek bir Euler formunda eşdeğer olarak yeniden yazılabilir.

Bu basit ama güçlü seviye seti reformasyonu, aktif konturların, gradyan iniş eğrisi evrimi sırasında topoloji değişikliklerini ele almasını sağlar. İlgili alanlarda muazzam bir ilerlemeye ilham verdi ve düzey kümesi reformülasyonunu çözmek için sayısal yöntemlerin kullanılması artık yaygın olarak düzey kümesi yöntemi olarak biliniyor . Seviye kümesi yöntemi, aktif konturları uygulamak için oldukça popüler bir araç haline gelmesine rağmen, Wang ve Chan, tüm eğri evrim denklemlerinin doğrudan onunla çözülmemesi gerektiğini savundu .

Aktif konturlardaki daha yeni gelişmeler, bölgesel özelliklerin modellenmesine, esnek şekil önceliklerinin dahil edilmesine ve tam otomatik segmentasyona vb. yöneliktir.

Yerel ve küresel özellikleri birleştiren istatistiksel modeller Lankton ve Allen Tannenbaum tarafından formüle edilmiştir .

Grafik kesimlerle ilişkiler

Grafik kesimler veya maksimum akış/min-kesme , Markov rastgele alan (MRF) enerjisi adı verilen belirli bir enerji biçimini en aza indirmek için genel bir yöntemdir. Grafik kesme yöntemi, görüntü segmentasyonuna da uygulanmıştır ve model MRF olduğunda veya MRF ile tahmin edilebildiğinde, bazen seviye kümesi yönteminden daha iyi performans gösterir.

Referanslar

Dış bağlantılar

Basit kod