Yukarıdan insanlar algılama


16

Zeminden 3 metre yüksekte sadece bir kamera kullanan insanları tespit etmek için bir yöntem bulmaya çalışıyorum. Bu kamera tarafından döndürülen bir çerçeve:

resim açıklamasını buraya girin

GÜNCELLEME: Video testi -> http://dl.dropbox.com/u/5576334/top_head_shadow.avi

Bunu yapmak için, önce bir arka plan ön plan segmentasyonu yapmam gerektiğini anlıyorum. Bu kolay kısmı.

Ön plan maskesi ile Hough dönüşümü gibi basit işlemler yapabiliyorum, ancak bu şekilde birçok yanlış pozitif de dahil olmak üzere kafaların sadece% 60'ını tespit ediyor.

Renk segmentasyonu gibi başka basit teknikler de kullanabilirim, ancak insanların kafalarının saç stilleri, renkleri, saç miktarları nedeniyle yukarıdan çok farklı olduğunu gördüm ...

Bu konuda sahip olduğum diğer seçenek, HOG Tanımlayıcıları veya Haar benzeri özellikleri kullanma olasılığıdır, ancak modelleri eğitmek için yukarıdan görülen geniş bir veritabanına ihtiyacım var. Ben böyle bir şey bulamadım.

Bunun çok tekrarlayan bir sorun olacağını düşündüm, ancak literatürde veya internette çok fazla bulamıyorum. Bu görevi çözmek için herhangi bir yardım takdir edilecektir :-)

GÜNCELLEME: Daha fazla bilgi için amaç, yaya akışını takip etmek için bazı genel yöntemler uygulamaktır. İlk prototip bir AVM'de test edilecektir.


1
Bazı videolar gönderebilirseniz, birinin prototip yazması ihtimali vardır. Lütfen gönderebilir misiniz?
Andrey Rubshtein

@Andrey, sorunu gösteren bir video testi yükledim.
emepetres

@emepetres Bu sorunu test etmek için kaynaklarınız varsa, ikincil bir kamera bulmak için kaynaklarınız da olabilir mi? İki kameradan (bir üstten görünüm ve bir önden veya bir açıdan) görünümleri birleştirmek ve her iki sesten gelen bilgileri ilginç ve yaya akışı izlemeye mantıklı bir yaklaşım gibi kullanmak (ihtiyacınız olan doğruluğa bağlı olarak)
penelope

4
bu göreve edebiyatta "sayma" denir.
mrgloom

Bu video için bağlantı sağlayabilir misiniz? Artık sağlanan bağlantıda mevcut değil
Garvita Tiwari

Yanıtlar:


11

İnsanların yanına taşınabilecek başka nesneler var mı? Eğer yoksa, ön plan maskenizdeki lekeleri (bağlı bileşenler) bulabilirsiniz ve bunlar sizin insanlarınızdır.

Ayrıca iki yerine bir damla oluşturarak birbirleriyle "çarpışabilirler". Bu durumda, yörüngenin ve hızın düzgün olduğu gerçeğini kullanarak bir hareket takibi yapabilir ve belirsizliği giderebilirsiniz.

Başka nesneler (köpekler, arabalar gibi) varsa, blob parametrelerini alan bir sınıflandırıcı oluşturmalısınız:

  • Leke istatistikleri (boyut, sağlamlık vb.)
  • Renk
  • Kenar bilgileri
  • Hız (izleme durumunda)

Ve doğru sınıfı döndürür (İnsan / İnsan Yok).


1
İnsan / insan olmayanı da ayırabilecek sağlam bir yöntem arıyorum. Bu şekilde, cevabınızı düşündükten sonra, önerdiğiniz gibi blob parametrelerini kullanmanın, bazı özelliklerin izlenmesi ve blobun bazı istatistiksel bilgileri ile birlikte yeterince sağlam olması gerektiğini düşünüyorum.
emepetres

8

Ben "iyi test edilmiş yöntemleri kullanmak için ben" göze alamazdı "çok küçük bir şirkette konumu olmayan geniş bir örnek veritabanı gerekir olurdu. Mümkün olduğunca çok veri elde etmek için gerekli olan her şeyi yapmadığım için çok üzgünüm. Sanırım sonunda onlar için bir dünya yaratacaktı.

Her türlü gerçek dünya görme algılaması, denemeden ve başarısız olana kadar düşünmediğiniz bir milyon şeye sahiptir. Göründüğünden çok, çok daha zor eski bir sorundur. Newton'un "devlerin omuzlarında durmak" (ya da neredeyse aynı derecede büyük bir cüce yığınının üstünde) yöntemine bağlı kalmanızı tavsiye ederim. Yani, zaten çalıştığını ve sağlam olduğunu bildiğiniz bir yöntemi kullanın. Kulağa ses gibi gelen tüm şeyler "yeterince iyi" olacak, bunun yerine sefil bir şekilde başarısız olacaktır.

Yaya tespiti konusunda son teknoloji ürünü, en başta tam olarak bu ortamda test edilen HOG olduğunu biliyordum. Bunu bulmak için Google Akademik'te biraz oynamanız gerekecek şekilde takip etmek istiyorsunuz . Benim ana nokta al, benzer bir pozisyonda olmuştur ve bundan ben zaten bilinen bir başarısızlık oranı ile test edilir sizin yapmanız gereken neyse veritabanı ve kullanımını çalıştığını bildiğiniz bir şey, olsun öneriyoruz değil bir şey olduğunu kulağa hoş geliyor. Bilgisayarlı çalışma algoritmalarının 40 yıllık ölüm yürüyüşü, "işleyecekleri gibi ses" parçası olmak istediğiniz bir şey değil.

PS Bilgisayar görüşünü eleştirmeye çalışmıyorum. Benim en sevdiğim alanlardan biri. Ancak tarih, atılacak binlerce yanlış adım olduğunu ve çok fazla doğru adım olmadığını gösteriyor. Bu doğru adımlardan bazılarını zaten bulan birini takip etmek daha iyidir.


Belki haklısınız ve bir HOG tanımlayıcısını eğitmek ve test etmek için iyi bir veritabanı yapmak için biraz zaman harcamalıyım. Bu şekilde, eğitimi doğru yapmak için bu veritabanının hangi minimum boyuta sahip olacağını biliyor musunuz?
emepetres

1
Bilmiyorum. Mümkün olduğunca geniş bir çeşitlilik. Ayrıca, HOG bir dedektördür, bir görüntü için "evet bir kişi var" veya "hiç kimse" yanıtı döndürür ve başka bir şey döndürmez. Kişinin nerede (konum) olduğu veya kişinin hangi piksellerin (segmentasyon) olduğu veya bir kişiye karşı birden fazla kişinin olup olmadığı hakkında hiçbir şey söylemez. Ben HOG bazı uyarlamalar yapılmış olduğunu düşünüyorum (bazı patentli) ama asıl mesele, kişi izleme ve HOG olduğu gibi konum sadece algılama değil, sadece algılama hakkında olmasıdır . Bunu hiç yapmadım ama kişi takibi uzun süredir devam eden bir konudur. Kişi takibi ile ilgili makalelere göz atın.
John Robertson

1
John Robertson HOG sadece tanımlayıcıdır ve bazı sınıflayıcılarla (örneğin SVM + HOG) kullanılır ve nesnenin konumunu döndürebilir.
mrgloom

1
@mrgloom Haklısın. Pencereli bir arama yaparak konumu döndürür. Bu sadece büyük bir şirket tarafından patentli bir yöntem kullanarak hızlıdır. Dedektör kelimesini burada teknik anlamda kullanmak anlamında değildim. Sadece bu pencerede, pencerenin ölçeğinin kabaca% 80-90'ında, ancak pencerenin hangi bölümlerinin bulunduğuna dair herhangi bir tanımlama yapılmadan kişiye ait olabileceği gevşek bir konum sağlar. Tanımlayıcı / dedektör teknik ayrımına aşinayım.
John Robertson

3

Sana olabileceğini düşünüyorum Başlamak buradan bir kaç cevapları birleştirerek.

Bu cevapta bahsedilen iki farklı yaklaşım vardır, büyük fark, yüzleri görmediğiniz için yüz algılama yapmanın imkansız olmasıdır. Ancak diğer yaklaşım hala uygulanabilir: hava durumuna bir şeyin yaya olduğuna karar verin veya eylemlerine (hareketlerine) dayanmayın .

Bu, tahmin ettiğiniz gibi, bir tür ön plan arka plan segmentasyonu kullanmanızı önerir. Çok hızlı bir googling, bu son derece umut verici görünen bu makaleyi buldu , ancak bunu hiç kişisel olarak yapmadığım için, siz veya başka biri, bu adımda kullanılacak belirli algoritma için daha iyi önerilere sahip olabilir.

Şimdi, ilk bağladığım cevap çok genel bir yaklaşım fikri veriyor. Ancak bu cevap size bir sonraki adımlarınız hakkında fikir verebilir: nesneleri takip edin ve hız veya hareket yönüne göre aralarında ayrım yapmaya çalışın .

Son olarak, yaşadığınız problemle hiç başa çıkmadım, bu yüzden muhtemelen çok fazla yardım etmiyorum, ancak bağlandığım cevaplar size nereden başlayacağınıza dair genel bir fikir verebilir. Ayrıca, sorunun cevabını ararken önceki işleri ve makaleleri bulamadığım için beni şaşırttı, ancak daha sonra, belki de bu sorunu tanımlamak için size doğru anahtar kelimeleri söyleyecek birine ihtiyacınız var .


Cevabınız için teşekkür ederim. Ön plan segmentasyonu ile ilgili makale çok ilginç görünüyor. Siz ve @Andrey'in önerdiği gibi, her bir blobdaki insan sayısını belirlemek için blob analizi yaklaşımını takip edeceğim.
emepetres

@emepetres Sonuçlarınızı ve bunu denedikten ve test ettikten sonra yaklaşımın ne kadar başarılı olduğunu bize bildirirseniz iyi olur
penelope

1

Burada anlatıldığı gibi insanları sayarak bir tür görevim var. Ama benim gereksinimim kamera, başın değil, sol / sağ taraftan insanlarla karşı karşıya olmalı.

Bununla birlikte, benim durumum için olası çözümü keşfederek, davanız için ilginç bir yöntemle karşılaşıyorum (tepegöz tespiti). Bu çözümler stereo kamera kullanır, böylece derinliği görerek lekeleri (birbirine çok yakın hareket eden insanlar) idare edebilirsiniz (örneğin sadece ortalama insan kafa seviyesindeki lekeleri görün).

Bu ürün size daha iyi bir açıklama verebilir: digiop . Daha fazla teknik açıklama için broşüre bakınız.

PS Şirketi temsil etmiyorum, sadece iyi belgelenmiş bir çözüme işaret ediyorum


Paylaştığınız için teşekkür ederiz, Sorunu çözmek için ilginç bir yol gibi görünüyor.
emepetres
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.