Benzer görüntüleri tanımlamak için iyi bir yolu?

3 Cevap php

Ben benzerlik için görüntüleri karşılaştırmak için PHP hızlı ve basit bir algoritma geliştirdik.

Karma ve bir unoptimised arama algoritması başkalarına karşı her birini karşılaştırarak 22 dakika içinde 3.000 görüntüleri üzerinden gidebilirsiniz (~ saniyede 40 800x600 görüntü için), hızlı (3/sec).

Temel bakış, bir görüntü elde 8x8 için rescale ve sonra HSV için bu pikselleri dönüştürmek. Ton, Doygunluk ve Değer sonra 4 bit kesiliyor ve büyük bir onaltılık dize hale gelir.

Görüntüleri karşılaştırarak temelde iki dizeleri boyunca yürür, ve sonra bulduğu farklılıkları ekler. Toplam sayısı 64 daha sonra aynı görüntü altında ise. Farklı görüntüler genellikle yaklaşık 600 vardır -. 800 20 altında ve son derece benzer.

Are there any improvements upon this model I can use? I havent looked at how relevant the different components (hue, saturation and value) are to the comparison. Hue is probably quite important but the others?

Aramalarını hızlandırmak için muhtemelen yarısında her bölümü gelen 4 bit bölmek ve onay başarısız olursa o zaman lsb tüm kontrol edilmesi gerekmez yüzden ilk en önemli bit koyabilirsiniz. Ben böyle bit depolamak için verimli bir yol ama yine de onları aradı ve kolayca karşılaştırılabilir izin bilmiyorum.

Ben 3,000 fotoğrafları bir veri seti kullanarak oldum (çoğunlukla benzersiz) ve herhangi bir yanlış pozitif olmuştur sığınak. Onun boyutlandırır ve parlaklık ve kontrast değişikliklerine oldukça dayanıklı tamamen bağışık.

3 Cevap

Ne kullanmak istediğiniz sonra) özellik çıkarımı, daha sonra b) karma, c) lokal olarak farkında çiçek karma olduğunu.

Ben ölçek değişmeyen değil olanlar ile daha iyi deneyimler yaşadım rağmen) Çoğu kişi, özelliklerini SIFT kullanın. Temelde ilginç noktaları bulmak için bir kenar detektörü kullanın ve daha sonra bu noktaları etrafında görüntü yamaları merkezi. Bu şekilde, aynı zamanda alt görüntüleri algılayabilir.

b) Ne uygulanan bir karma yöntemdir. Orada denemek için ton var, ama seninki güzel :) çalışması gerekir

c) The crucial step to making it fast is to hash your hashes. You convert your values into unary representation and then take a random subset of the bits as the new hash. Do that with 20-50 random samples and you get 20-50 hash tables. If any feature matches 2 or more out of those 50 hash tables, the feature will be very similar to one you already stored. This allows you to convert the abs(x-y)

Eğer spratpix (nokta) com bana (at) Hajo bir mail damla, benim kendi geliştirdiği görüntü benzerlik aramayı denemek istiyorsanız, Umarım yardımcı olur

Sen konuyla ilgili literatür büyük miktarlarda bulacaksınız. Sadece makaleleri aramak için Google Scholar veya IEEE Xplore üzerine gitmek. Ben şekil tanıma ile ilgili bir proje yaptım (gürültü büyük ölçüde duyarsız, dönmeler ve boyutlandırır) ne zaman Ben üniversitede bu alanda bazı temas vardı - here is the article.