2012-09-20 28 views
7

BackgroundSubtractorMOG2'ye arka plan modeline hangi piksellerin güncelleneceğini ve hangi piksellerin yapılmaması gerektiğini nasıl anlarım.Arka Plan için MaskeTakımlayıcıMOG2

Nesne bir nesneyi girip birkaç on saniye durduğunda sorunla karşılaşıyorum, nesne arka plan modeline çekilecek.

Öğrenme oranını azaltmak veya durdurulan nesne etrafındaki öğrenmeyi durdurmak istedim, ancak bunu nasıl yapabilirim? BackgroundSubtractorMOG2, güncelleme işlevinde maske kullanıyor mu?

OpenCV 2.4.1 kullanıyorum.

Teşekkürler, Alvin. Girdi maskelemeyi desteklemiyor.

+0

İyi soru ... Ben aynı sorunla karşı karşıya ediyorum. –

+0

OpenCV arka plan çıkarma algoritmalarına yüksek düzeyde geri bildirim için bir mekanizma yoktur. Biraz genel bir güncelleme işlevi için önerim, bir güncelleme maskesi içerecektir. – killogre

cevap

3

BackgroundSubtractorMOG2. Ancak, hangi pikselleri maskelemek istediğinizi biliyorsanız, çıktıyı maskeleyebilirsiniz: subtractor(input, fg, learningRate);'u aradınız ve bir şekilde nesnenin şimdi nerede olduğunu (bazen ortalama vardiya veya desen tanıma kullanarak izliyor olabilirsiniz)nerede mask nerede, bazı farklı kaynaklardan bildiğiniz gibi, nesne.

+0

, arka plana emilen ön izlemede yardımcı olur. ama bu aradığım cevap değil, eğer mümkünse arka plan modelimi temiz tutmak istiyorum. –

+1

Hatta ilk cümle aradığınız cevap değil mi? Nesneleriniz içeri girip duruyorsa, MOG2 modeli onları izlemek için yeterli değildir. İlk nesne tespiti için MOG2'yi ve daha sonra izlemek için bazı nesne izleme algoritmasını birleştirmeniz daha iyi olur. Yoksa problemini yanlış mı anladım? – artm

2

Aşağı gerçekten düşük bir öğrenme hızını ayarlayarak bunu başarabilirsiniz

yani:

mog(input, output, 0.00000001);