Harris köşelerinde konumlandırılmış görsel özellikler için oktav ve boyut nasıl tahmin edilir?


9

Şu anda görsel özellik eşleşmesi için OpenCV tarafından sağlanan birkaç özellik dedektörü ile çalışıyorum ve performansını karşılaştırıyorum.

SIFT tanımlayıcıları kullanıyorum . MSER ve DoG (SIFT) özelliklerini tespit ederken tatmin edici eşleştirme (kötü eşleşmeleri reddettikten sonra) gerçekleştirdim .

Şu anda, bir karşılaştırma elde etmek için kodumu GFTT (Track - Harris köşelerinde iyi özellikler) ile test ediyorum ve ayrıca son uygulamada, görsel özellik izleme işleminden bir dizi GFTT özelliği sunulacak.

Ben tespit özellikleri / anahtar noktaları / ilgi alanları ile dolu cv::FeatureDetector::detect(...)bir bana sağlayan kullanıyorum . Yapı , özelliğin konumu hakkında temel bilgilerin yanı sıra , kilit noktanın algılandığı ve içinde bulunduğu bilgiler içerir.std::vector<cv::KeyPoint>cv::KeyPointsizeoctave

GFTT ile ilk sonuçlarım , farklı özellik türlerindeki tipik sizeve octaveparametreleri karşılaştırana kadar korkunçtu :

  • MSER boyutu (10 ile 40 piksel arasında) ayarlar ve oktavı 0 olarak bırakır
  • DoG (SIFT) hem boyutu hem de oktavı ayarlar ( boyut / oktav oranı 20 ile 40 arasında)
  • GFTT parametreleri daima : size = 3 , octave = 0

Bunun nedeni, GFTT özelliklerinin temel amacının eşleştirme değil, yalnızca izleme için kullanılması gerektiğidir. Bu, eşleşen sonuçların düşük kalitesini açıklar, çünkü bu tür küçük özelliklerden çıkarılan tanımlayıcılar , küçük, 1 piksel kaymaları da dahil olmak üzere birçok şeye ayrımcı ve değişmez olmayı bırakır .

El ile ayarlanırsa sizeait GFTT için 10 - 12 , ben kullanırken çok benzer iyi sonuçlar almak Mser veya köpek (SIFT) .

Benim sorum şudur: Eğer işe yarıyorsa 10 ile gitmekten daha fazla size(ve / veya octave) artırmanın daha iyi bir yolu var mı? Mümkünse artışı kodlamaktan kaçınmak ve programlı olarak belirlemek istiyorum , ancak yeni / artış / tahmin algoritması seçimlerimi yedekleyen bazı sağlam argümanlara sahip olduğum sürece kodlama tamam .sizesizesizesize


1
Hey @ penelope: bu adam zaten iyi bir iş yaptı bu bağlantıyı kontrol edin. [ Computer-vision-talks.com/2011/08/…

@Sistu hey, genel bir durumda ve düzlemsel bir nesne ile tanımlayıcıların çok iyi bir genel karşılaştırmasına benziyor, ancak belirli türdeki görüntüler üzerinde çalışıyorum ve kendi testimi yapmam gerekiyor. Bunun yanı sıra, "Çeşitli şifre çözücülerin performanslarını karşılaştıran referans malzemelere ihtiyacım var" sorusundan çok daha spesifikti. Güzel bir bağlantı olsa da, kontrol edecek.
penelope

Yanıtlar:


4

Kesin sorunuza gerçekten iyi bir yanıt olduğundan emin değilim: SIFT ve SURF'un ölçek alanı şey aslında köşe benzeri bir anahtar noktasında "iyi" ilgili mahalle boyutunu otomatik olarak tahmin etmek için geliştirildi (bu iyi özellikler izlemek için).

Şimdi, daha olumlu cevaplar:

  • anahtar noktaları ve iyi eşleşmelerden oluşan bir veritabanı oluşturun (örn. kare kalibrasyon kalıpları kullanarak) ve doğru boyutu bulmak için bu veritabanında otomatik bir performans değerlendirmesi oluşturun. Bu görev gerçekten otomatikleştirilebilir (Mikolajczyk ve Schmid'in nokta eşleştirme değerlendirmesi hakkındaki çalışmasına bakın)

  • iyi özelliklerinizi bir görüntü piramidine gömün ve onlarla ilişkili bir tür ölçeğe sahip olun. Bu prosedüre çok benzer bir şey yapan çok ölçekli FAST ve Harris ilgi noktalarında referanslar arayabilirsiniz.

Sezgisel olarak maksimum blok boyutunu bulmak için, resimlerinizin tahminlerini bir kutu bulanıklığıyla (blockSize operatörünün yaptığı aşağı yukarı budur) hesaplayabilir ve köşenin ne zaman kaybolduğunu görebilirsiniz. Ancak daha fazla bulanıklığın köşeyi gerçek konumundan uzaklaştırdığını unutmayın.

Gerçekten hızlı ve kirli bir düzeltme arıyorsanız, 5x5 ile 11x11 arasındaki boyutları deneyin (stereo blok eşlemede kullanılan tipik boyutlar). Entelektüel olarak tatmin edici bir kriter arıyorsanız, gürültü seviyeniz altındaki iki özellik noktasının iyi eşleşme olasılığını en üst düzeye çıkarmaya çalışın.


Biraz daha hızlı ve kirli bir çözüm arıyordum. Ayrıca, anahtar noktalarımı bir şeyle eşleştirip eşleştirdikten sonra sadece bir maçın iyi veya kötü bir hava olduğunu belirleyebilirim. Onları tamamen rastgele eşleştirsem bile, bazı iyi eşleşmeler alıyorum - bu yüzden ilk öneriniz bu kadar faydalı değil. İkinci kısma gelince, daha hızlı ve kirli: Mükemmel bir parametre olmadığını biliyorum, ama dediğim gibi, boyutu 12'ye çıkarmak yardımcı oldu - kalite SIFT ve MSER eşleşmesi ile karşılaştırılabilirdi. 100 veya 34'ün üzerinde 12 seçecek hiçbir fikrim yok ...
Penelope

0

Dedektörler için en iyi parametreleri belirlemenize yardımcı olmak için OpenCV'de bu amaç için AjusterAdapter bulunur . Hiç kullanmadım ama muhtemelen parametreleri programlı olarak belirlemenin standart yoludur. Ayrıca, Anahtar Noktaların çeşitli özelliklere sahip olmasına rağmen, tüm algoritmaların hepsinin anlamlı olmadığını unutmayın. Keypoint yapısı farklı algoritmalar için kullanıldığından, tüm bu alanlara sahiptir, ancak bazen kullanılmazlar, bu yüzden bu oktav = 0 elde edersiniz; IMO.


Bazı özellik türlerinin bazen bir amaç için en iyi tür olmadığını biliyorum , ancak son çalışmalar 1'den fazla v.features / ilgi alanı kullandıkları ve kombinasyonla herhangi bir türden daha iyi sonuçlar elde ettikleri yaklaşımları deniyorlar. kendi başınıza (eğer ilgileniyorsanız eserlere bağlantılar ekleyebilirim). Ayrıca, yaptığım şey en azından kısmen araştırma yapmaktır, bu yüzden farklı anahtar nokta türleriyle elde edilen sonuçları denemek ve değerlendirmek, bu sonuçlardan bazıları en iyi durum kadar iyi olmasa bile yapmam gereken şeydir. Sanat. AdjusterAdapter'e bakacağım, teşekkür ederim.
penelope

Sadece arayüzün sağladığı fonksiyona baktım. Yalnızca dedektörün algıladığı özellik sayısını artırabilir veya azaltabilir. Ayrıca, tespit edilen özelliklerle ilgili herhangi bir sorunum yok. Boyutlarını ayarlamak için bir yol istiyorum, böylece eşleştirmede daha iyi kullanılabilirler (boyutu 10'a çıkarmak bunu yapar, ancak bu seçim için herhangi bir somut (yeterli) argümanım yok)
Penelope
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.