Bir videodan araç sayma


10

Yasal Uyarı : Bu soruyu StackOverFlow'a gönderdim ancak burada daha uygun olduğunu öğrendim.

Görüntü işleme konusunda biraz yeniyim, bu yüzden size sorunum için en uygun çözümü bulma konusunda sormak istiyorum, kod için yardım değil. Henüz iyi bir fikir düşünemedim, bu yüzden tavsiyenizi sormak istedim.

Bir video dosyasından veya canlı kameradan araçları saymak için OpenCV kullanan bir proje üzerinde çalışıyorum. Böyle bir projede çalışan diğer insanlar genellikle hareketli nesneleri izler ve sonra sayarlar, bunun yerine farklı bir bakış açısıyla çalışmak istedim; kullanıcıdan video penceresinde bir YG (ilgi çekici bölge) belirlemesini ve yalnızca bu bölge için çalışmasını istemek (bazı nedenlerle, tüm çerçeve ile uğraşmamak ve bazı performans artışı gibi). (Kullanıcı birden fazla ROI ayarlayabilir ve kullanıcıdan orantılı olarak ROI'nin yüksekliğini normal bir otomobilin yaklaşık iki katını ayarlaması istenir.)

resim1

Arka plan güncelleme, morfolojik filtreler, eşikleme ve hareketli nesneyi aşağıdaki gibi bir ikili görüntü olarak almak gibi şimdiye kadar bazı temel ilerlemeler yaptım.

Resim2

Onları yaptıktan sonra, son eşikli ön plan çerçevesinin beyaz piksellerini saymaya çalıştım ve toplam beyaz piksel sayısını kontrol ederek bir araba olup olmadığını tahmin ettim (ROI yüksekliğini bilerek statik bir hesaplama ile bir alt sınır ayarladım) . Göstermek için örnek bir grafik çizdim:

picture3

Gördüğünüz gibi, beyaz pikselleri hesaplamak ve zamana göre bir eğri çizip çizmediğini kontrol etmek ve bir arabanın veya gürültü gibi bir şeyin olup olmadığını belirlemek kolaydı.

Sorun

Aynı anda iki araba yatırım getirimden geçene kadar oldukça başarılıydım. Algoritmam yanlış bir şekilde bir araba olarak sayıldı. Bu sorun için farklı yaklaşımlar denedim ve buna benzer uzun araçlar gibi ama tatmin edici bir çözüm bulamadım.

Soru

Bu görevi piksel değer sayma yaklaşımıyla ele almak mümkün müdür? Değilse, ne önerirsiniz?


Sorununuz insanların izlemeyi kullanma nedenidir. Ayrıca, birlikte hareket eden arabaların (örneğin, römorklu bir araba) bir veya iki araç olarak sayılmasını ister misiniz?
Emre

İlk olarak, baskı için teşekkürler. % 100 doğruluk beklemiyorum, römorklu arabalar göz ardı edilebilir. ama eğer birbirine çok yakın iki ayrı araba varsa, programı her ikisini de birbirinden ayırmam gerekiyor, ama hiçbir fikrim yok.
Horizon1710

Yanıtlar:


5

Son 10-15 kareyi takip edebilir ve bu karelerin beyaz piksel sayısını sayabilirsiniz. Bir araç olup olmadığını ayırt edebilirsiniz, grafik 10-15 kare için yüksek olacağından, bir araç olduğunu söyleyebileceksiniz, aksi takdirde gürültü olduğunu.

Birden çok arabayı yan yana şeritlerde saymak için piksel sütununu akıllıca kontrol edebilirsiniz, yani dikey olarak. Şimdilik pikselleri beyaz pikseller için yatay olarak kontrol ediyor olmalısınız.


Evet dikey çizgileri kontrol etme konusunda haklısınız ama nasıl? YG'imin ilk satırını kontrol ederek araçların giriş noktasını belirleyebilir miyim?
Horizon1710
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.