2016-04-04 54 views
1

Ben opencv için yeni ve bir görüntüdeki bazı hareketli nesneleri (örneğin, arabalar) izlemeye çalışıyorum. Optik akışı hesapladım ve onu kıyıya sürmek için kullandım ve arka plan çıkarma gibi bir şey denedim, yani hareket eden nesneleri hareketsizden ayırdım. Daha sonra videonun yoğunluğunu bilgi olarak kullandım. Aşağıdaki ekran görüntüleri akışının sonucundan ve k sırasıyla segmentasyon anlamı:İyileştirilmiş nesne algılama için öneriler

enter image description here

sonuç iyi ama kötü de değil değil. Bundan sonra nasıl devam edebilirim? SURF özelliği çıkarma ve SURF dedektörünü denemeyi düşünüyorum. Herhangi bir fikir açığız.

+0

Gölgeler sorunlara neden oluyor, gölgeleri algılayabilen MOG2 detektörünü denediniz mi? Görüntüdeki araçları nerede tespit etmek istiyorsunuz? Cascade sınıflandırıcılarını denediniz mi? –

+0

Hayır Bu önerilerin hiçbirini kullanmadım. Ve işin nasıl dürüst olduğunu bile bilmiyorum. Genel olarak hareketi tespit etmek istiyorum. Araba sayılmaz ya da böyle bir şey. Sadece hareketi algılayın ve ardından bir arabayı örneğin belirli bir renkle izleyin. –

+0

Arkaplan çıkarma ile ilgili olarak, bkz. [This] (http://docs.opencv.org/3.1.0/db/d5c/tutorial_py_bg_subtraction.html#gsc.tab=0). Özellik tespitiyle ilgili sorun, tek bir eşleşme bulmak için uygun olmasıdır. [Bu soru] için onunla oynamaya çalışıyorum (http://stackoverflow.com/questions/36363397/issue-training-sift-or-surf-for-car-detection-in-video-with-opencv- python) ve biraz zor olduğunu kanıtlıyor. –

cevap

1

Yoğun optik akış kullanıyorsunuz. Bazı özellik tespiti (sörf, hızlı, her neyse) ve ardından seyrek optik akış takibi (deneyimimden bu görev için özellik eşleştirmesinden daha iyidir) denemenizi tavsiye ederim. Daha sonra, bazı kareler üzerinde özellik yazışmalarına sahip olduğunuzda, hareketli nesneleri algılamak için temel matris, trifokal tensör, düzlem + paralaks veya başka bir yöntem kullanabilirsiniz. Daha sonra, hareketli nesneleri farklı nesneleri temsil eden farklı hareket gruplarına ayırabilirsiniz.

Ayrıca fotoğraf makineniz sabit görünüyor. Bu durumda hareket algılama adımını bırakabilir ve sadece yeterli yer değiştirmeye sahip parçaları göz önünde bulundurabilir ve ardından kümelenmeyi hareket gruplarına dönüştürebilirsiniz.

+0

Cevabınız için teşekkür ederiz! Daha sonra hareketli kamera ile de deneyeceğim. İlk düşüncelerim kameranın hareketini telafi etmek için findHomography'yi kullanmak. Işe yarayacak mı –

+0

"Düz" gerçek arka planın nasıl olduğuna bağlıdır. Düzlem + paralaks bu yolu izler ve homografi telafisinden sonra bunlara artık paralaks denir. Hareketlerin bir genişleme odağını paylaşıp paylaşmadığını ve bu ölçüte göre segmenti – alexisrozhkov

+0

kontrol edebilirseniz, bana bazı kod veya öğreticiler sağlayabilir misiniz? Minnettar olurdum . –