SORU
9 Mayıs 2009, CUMARTESİ


Görüntü karşılaştırma - hızlı algoritması

Görüntülerin temel bir tablo oluşturmak ve buna karşı herhangi bir yeni görüntü yeni görüntü kesin (veya yakın) bir olup olmadığını belirlemek için karşılaştırın Bankası yinelenen sonra bakıyorum.

Eğer aynı görüntüyü kez 100 depolama azaltmak istiyorsanız, bunun bir kopyasını depolar ve referans bağlantılar sağlar. örneğin: Yeni bir resim girilir varolan bir görüntü için değil emin olmak için karşılaştırmak istediğiniz ... fikirlerini yinelenen zaman?

Benim bir fikrim minik azaltmak için ve daha sonra rasgele 100 piksel konumları seçin ve karşılaştırın.

CEVAP
9 Mayıs 2009, CUMARTESİ


Aşağıda sorun (ve daha birçok şey) çözmek için üç yaklaşım.

  • İlk bilgisayar görme standart bir yaklaşım, eli eşleşen. Bu biraz ön bilgi uygulamak gerekebilir, ve yavaş olabilir.

  • İkinci yöntem daha basit görüntü işleme kullanır ve ilk yaklaşım daha potansiyel olarak daha hızlı ve kolay uygulamak için. Ancak, tablo gibi duvara asılmak için de o kadar azalır, sağlamlık yoksun -- eşleştirme başarısız ölçeklenmiş, döndürülmüş veya resimler renksiz.

  • Üçüncü yöntem hem hızlı hem de sağlam, ama potansiyel olarak uygulanması en zor olanıdır.

Eli Eşleşen

100 rastgele puan toplama daha alarak 100önemlipuan. Görüntünün bazı bölümleri diğerlerine göre daha fazla bilgiye sahip (özellikle kenar ve köşelerde) ve bu Akıllı Görüntü eşleştirme için kullanmak isteyeceksiniz olanlardır. "keypoint extraction" ve "keypoint matching" ve bu konuyla ilgili birçok akademik makale bulabilirsiniz. Google Bu gün, SIFT keypoints farklı ölçeklerde, dönmeler ve ışık altında görüntüleri maç olabilir bu yana tartışmasız en popüler olanı. Bazı uygulamalar here bulunabilir ELEYİN.

Tek dezavantajı eli uygun olduğundan çalışan zaman saf bir uygulama: O(n^2), burada n sayısının bölümler her görüntüyü ve m sayısı görüntü veritabanı. Bazı akıllı algoritmalar en yakın eşleşme hızlı, dördün ağaçlar ya da ikili uzay bölümleme gibi bulabilirsiniz.


Alternatif çözüm: Histogram yöntemi

Daha az güçlü, ancak potansiyel olarak daha hızlı bir çözüm her resim için histogram özelliği oluşturmak ve giriş görüntünün histogram histogram en yakın görüntü seçmektir. Bir üniversite öğrencisi olarak bu hayata, ve 3 renkli histogram (kırmızı, yeşil ve mavi, ve iki doku çubuk, yön ve ölçek kullandık. Detayları aşağıda vereceğim, ama bu sadece iyi eşleşen görüntü veritabanı görüntüleri ÇOK benzer çalışan, dikkat etmelisiniz. Yeniden ölçeklenmiş, döndürülmüş veya renksiz görüntüleri bu yöntem ile başarısız olabilir, ama kırpma gibi küçük değişiklikler algoritma kırmayacak

Renk histogram hesaplama basit ... sadece her dizi için histogram kovaları ve aralığını seçin, bu aralıktaki bir renk ile piksel sayısını taksitli. Örneğin, "yeşil" histogram ve histogram sanırım bizim için 4 kova seçin: 0-63, 64-127, 128-191 ve 192-255. düşünün Her piksel için daha sonra yeşil değeri bakıyoruz ve uygun kova için bir çetelesini ekleyin. Sayım bitince, tüm görüntünün piksel sayısı ile her bir bölüm toplam yeşil kanal için normalize histogram almak için bölüyoruz.

Doku yönü için histogram, görüntü üzerinde kenar belirleme yaparak başladık. Her bir uç noktası normal vektörü yönünde kenarına dik olarak işaret etti. Biz pek kullanışlı normal vektör açısı içine bir 6 kova arasında 0 ve Pİ (beri kenarları 180 derecelik simetri, dönüştürdük açıları arasında -Pİ ve 0 arası 0 ile Pİ). Sonra toplanmasından sayısı kenar noktaları her yönü, bir un-normalize histogram temsil eden doku yönde, biz normalleştirilmiş ile bölerek her bir bölüme toplam sayısı kenar noktalarında görüntü.

Doku ölçeği histogram hesaplamak için, her bir kenar noktası için, aynı yönde bir sonraki en yakın kenar noktasına uzaklığı ölçtük. Eğer kenar Bir nokta 45 derecelik bir yönü varsa, örneğin, algoritma 45 derece makul bir sapma ile) bir yönü ile başka bir uç noktası bulana kadar bu yönde yürüyor. Her kenar için bu mesafe hesaplama sonra nokta, biz bir histogram içine bu değerleri dökümü ve kenar noktalarının toplam sayısına bölerek onu normalleştirmek.

Şimdi her resim için 5 çubuk var. İki görüntü karşılaştırmak için, her bir histogram kova arasındaki farkın mutlak değerini almak ve bu değerleri toplamını o zaman. Örneğin, resim A ve B karşılaştırmak, hesaplamak istiyoruz

|A.green_histogram.bucket_1 - B.green_histogram.bucket_1| 

yeşil histogramda her bir bölüm için, ve diğer çubuk için tekrarlayın ve sonuçları özetle o zaman. Küçük olursa sonuç o kadar iyi maç. Veritabanındaki tüm fotoğraflar için tekrarlayın ve en küçük sonuç ile maçı kazanır. Muhtemelen yukarıdaki algoritma eşleşme bulunamadı sonu bir eşik, sahip olmak istersin.


Üçüncü Seçim - Karar Ağaçları Bölümler

Muhtemelen diğer ikisi çok daha hızlı olan üçüncü bir yaklaşım semantic texton forests (PDF) kullanıyor. Bu basit bölümler çıkarma ve toplama görüntüsünü sınıflandırmak için karar ağaçları kullanarak içerir. Bu basit pahalı eşleştirme işlemi önler, çünkü eli eşleşen ELEMEK, ve bölümler ELEMEK çok daha basit daha hızlı, eli çıkarma çok daha hızlıdır. Ancak, döndürme, ölçek ve aydınlatma, histogram yöntemi olmayan önemli bir özelliği yöntemin değişmezliği ELEMEK korur.

Güncelleme:

Benim hatam Semantik Texton Ormanlar kağıt özellikle görüntü eşleştirme hakkında değil, daha ziyade bölge etiketleme--. Bu bir eşleştirme yapar orijinal kağıt: Keypoint Recognition using Randomized Trees. Ayrıca, kağıtları aşağıda yönelik fikirleri ve sanat devleti temsil etmeye devam (c. 2010):

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • FUzzyBUnnyBOoties

    FUzzyBUnnyBO

    3 EKİM 2007
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012