Stereo görüş sistemi için kameralar nasıl seçilir?


18

Bir UGV üzerinde kullanılacak bir stereo görüş sistemi oluşturma sürecindeyim. Sistem, büyük bir açık alanda nispeten küçük renkli kayalar bulmak için robotun yeniden çalıştırıldığı bir yarışmada kullanılacak bir robot içindir. Böyle bir sistemi nasıl kalibre edeceğimizi ve stereo görüş sistemi için verileri nasıl işleyeceğimizi anlıyorum. Ancak böyle bir sistem için kameraların nasıl seçileceğini bilmiyorum. Stereo görüş sistemi için kamera seçmek için en iyi uygulamalar nelerdir?

Yanıtlar:


11

Başımın üstünden aşağıdaki seçim kriterlerine göre giderdim

  • color / b & w - stereo algoritmalar yine de yalnızca bir kanal kullandığından genellikle siyah beyaz daha iyidir
  • taban çizgisi - bu gerçekten sahneye bağlı. Taban çizgisi ile mesafe ile ne kadar doğruluk elde edeceğinizi kontrol edersiniz. Daha geniş taban çizgisi daha yüksek eşitsizlik değerlerine ve dolayısıyla mesafe tahmininde daha az gürültüye neden olur. Daha yüksek taban çizgisi aynı zamanda görüş alanınız arasında daha az çakışma olacağı anlamına gelir. En önemlisi, taban çizgisi ne kadar geniş olursa, iki görünüm arasındaki eşleşme o kadar zor olur. Böylece sonucun kalitesi düşer.
  • deklanşör - mobil robotlarda bilgisayar vizyonu olan her şey için daima küresel bir deklanşör kullanın
  • çözünürlük - çoğu stereo algoritma hesaplama açısından pahalıdır. Ve muhtemelen bu kadar çok 3B noktaya ihtiyacınız olmayacak. Yakın alanda örnekleme yoğunluğu genellikle yeterlidir ve uzak alandaki düşük dengesizlikten kaynaklanan hata, örnekleme yoğunluğundan daha fazla bir sorundur. 640x480 çoğu durumda iyidir. Bazı çiplerin daha geniş bir en boy oranı vardır, bu da örtüşme için uygundur, ancak çipinizin bir alt penceresini kullanarak bunu elde edebilirsiniz.
  • hedefler / görüş alanı - mobil dış mekan robotları için dar hedeflere göre geniş bir görüş alanı tercih ediyorum. Çözümle aynı nedenlerden dolayı az çok. Hedeflerinizin sağlam olduğundan ve örneğin hareketli odak uzunluğu gibi hareketli parçaları sabitlemek için bir araca sahip olduğundan emin olun. Çoğu durumda sabit bir odak uzaklığı her durumda iyidir, çünkü taban çizginizin seçimiyle sınırlısınız.
  • tetik - kendi stereo teçhizatınızı oluşturduğunuzda, kameralarınız donanım tetikleyicisini desteklemeli ve ideal olarak biri diğerini tetiklemelidir.
  • framerate - Bence en az önemli olan. Çok fazla işlem gücünüz yoksa, zaten 5 Hz gibi bir şeyden daha fazlasını elde edemezsiniz. Dolayısıyla algoritmanızın çip veya bağlantıdan ziyade darboğaz olması daha olasıdır.
  • arayüz - Çoğu kamera Firewire / USB2 / USB3 / Ethernet ile birlikte gelir. USB2 çok fazla CPU tükettiği için işe yaramaz. Firewire, bir portunuz varsa iyidir, ancak bu günlerde USB3 lehine düşüş olduğunu düşünüyorum. USB3 ile ilgili henüz fazla deneyimim olmadı. Ethernet oldukça iyi çünkü şu anda Gig3thernet'e sahip gömülü sistemleri USB3'ten daha çok buluyorsunuz.
  • konut - mümkün olduğunca sert. Yeniden ayarlama can sıkıcı bir prosedürdür.

6

Saniyede kaç kareye ihtiyacınız olduğunu ve bu karede ne kadar kamera çözünürlüğü işleyebileceğinizi hesaplayarak başlamalısınız. Başka bir şey yoksa, bu da fazla harcama yapmanızı veya ihtiyaçlarınıza uygun olmayan bir kamera satın almanızı engelleyecektir.

Bunun ötesinde, seçimi daha zor / ilginç kılan çeşitli özellikler var. Farklı kameralar (özellikle Axis gibi ağ kameraları) görüntü kalitesini değiştirmenize veya görüntü akışı için bir maksimum bit hızı belirlemenize olanak tanır. Bazı kameralar aynı zamanda enstantane hızı seçenekleri sunarak görüntüdeki sabit pozlama süresini veya sabit ortalama aydınlatmayı tercih etmenizi sağlar. Bazı kameralar diğerlerinden daha hassastır (bununla en son 2009'da çalıştım ve PS3 Eye'ın düşük ışık koşullarında gerçekten iyi olduğunu fark ettik).

Muhtemelen yapabileceğiniz en iyi şey, görüntü işleme algoritmalarınızı bir DSLR ile çektiğiniz birkaç statik görüntü üzerinde çalıştırmak, ardından işlerin nerede bozulmaya başladığını görmek için çerçeve boyutunu ve kalitesini azaltmaya çalışmaktır.


6

Dikkat etmeniz gereken birkaç şey:

  • Global deklanşör, temel olarak tüm piksellerin bir satır tarama tarzında ardışık olarak yakalandıkları Yuvarlanan deklanşörün aksine, tüm piksellerin aynı anda yakalandığı anlamına gelir. UGV'niz çektiğiniz görüntüler üzerinde hareket edecek ve stereo algoritmalar gerçekleştireceğinden, aşağıdaki resimlerde görülenler ( Wikipedia'dan alınmıştır ) gibi kamera hareket ederken meydana gelen sapmalardan kaçınmanız önemli olabilir :

CMOS kameralı telefonla çekilen hareketli araba çarpıklık sergiliyor Kısmi pozlama gösteren bir fotoğraf.  Işık koşulları fotoğrafın üst ve alt kısımlarının pozlaması arasında değişti. Bir atış bir turboprop pervane

  • Donanımdaki kamera senkronizasyonu bazı kameralar, özellikle de AFWIK firewire kameraları ile gerçekleştirilebilir. Bu, işler hareket ederken stereo sonuçlarını büyük ölçüde artırabilir.

  • Montaj , stereo çifti için dış parametrelerde (kameralar arasındaki göreceli poz) değişikliklerin kalibrasyondan sonra değişme olasılığı olmayacak şekilde yapılmalıdır. Sisteminizde daha önemli olabilir, çünkü UGV açık havada düzensiz arazi ile karşılaşabilir ve işler titreşir.

  • Özel stereo donanımı , stereo görüntü sisteminizin çıkışı olarak doğrudan eşitsizlik görüntüleri elde etmeyi mümkün kılar, bu da gömülü bilgi işleminizden yükü kolaylaştırır. Ayrıca, aynı algoritmaları yazılımda çalıştırmaktan çok daha hızlı olma eğilimindedir.

Her zamanki gibi, daha fazla ödeme yapmaya istekli olursanız sonuçlar daha iyi olur. Dürüst olmak gerekirse, Bumblebee2 gibi tam bir stereo kamera satın alabiliyorsanız , bunu yapardım. Aksi takdirde, daha ucuz taraftaysanız, sadece bir Kinect ile giderdim : aynı fiyata daha iyi performans gösteren bir sistem elde etmeniz pek olası değildir.


Soru bir dış mekan sistemi içindi. Bu Kinect'i etkili bir şekilde ortadan kaldırır. Ayrıca, Bumblebee ile gelen algoritmaların optimal olmaktan uzak olduğunu gördük.
Jakob

Kinect yorumunda seninleyim, ama Bumblebee ile gelen stereo algoritmalar kendi kodunla değiştirilemez mi? İşaret ettiğim en büyük avantaj, birlikte gelen yazılımda değil, gerçek donanımdaydı.
georgebrindeiro

Evet bu doğru. İki normal kamera gibi kullanabilirsiniz ve sert bir muhafaza avantajına sahiptir.
Jakob

sadece bu değil, küresel çekim, iyi lensler ve diğer güzellikler
georgebrindeiro

4

Bu ilginç bir konu ve ilk denemede doğru bir şekilde elde etmek çok kolay değil. Bu deneyimden, en önemli şeyler.

  • Senkronizasyon . Kamera% 100 senkronize edilmelidir. Örneğin, UGV'nin mütevazı bir 36Km / sa (10m / s) hızda sürdüğünü ve saniyede 30 kare hızında kareleri kaydettiğini varsayalım. Yani, her çerçevede UGV 3m'yi kapsayacaktır. Şimdi, senkronizasyonunuzun 1 ms kapalı olduğunu, kameralardan birinin ~ 0,3 m kapalı olacağını, bu da kötü [kafamın üstünden]. Senkronizasyon sorunlarını tespit etmek çok zordur.

  • δZ=Z2BfδdδZBfδZδdδd1/2δd

  • Üst üste gel . Stereo almak için kameralar arasında çakışma olmasını istiyorsunuz. Bu nedenle, uygulama için yeterli çakışma olması için lens odak uzaklığı (görüş alanı) ve taban çizgisinin bir kombinasyonunu seçmeniz gerekir. Temel olarak, tahtada trigonometri çalışması veya hızlı bir matlab / python betiği.

UGV'ler için stereo için iki kullanım alanı vardır.

  1. Gezinme ve Poz Tahmini Bu durumda, büyük olasılıkla büyük bir taban çizgisi + uzun odak uzunluğuna ihtiyacınız vardır. Bu, stereonun derinliği daha iyi ve daha uzun menzilli görmesini ve çözmesini sağlar.

  2. Engel tespiti ve kaçınma Size daha yakın olan şeylere odaklanabilmeniz için muhtemelen daha kısa bir taban çizgisine ve daha geniş bir lense (daha küçük odak uzaklığı) ihtiyacınız olacaktır.

Bazı UGV'lerde her iki stereo kurulum da olabilir; navigasyon için geniş taban çizgisi dar görüş alanı ve engellerden kaçınma için bir veya iki görüş alanı olabilir.

Ne satın aldığınıza çok dikkat edin. Bazı şirketler önceden oluşturulmuş stereo kurulumları sunar. Bunlar, şeylerin sağlamlık tarafında harika, kalibrasyonu kolayca kaybetmezler ve her zaman senkronizedir. Sorun, piyasada bulunanların küçük bir taban çizgisine sahip olmasıdır. Eğer kendi inşa etmek istiyorsanız. Sonunda bunu yapacağınızı tahmin ediyorum, kameranın senkronize edilebilir olduğundan emin olun . Firewire bunun için harika, aynı veriyolundaki iki kamera kutudan 125 mikrosaniye doğrulukla senkronize edilecek! USB ve Gige kameralar senkronize edicidir. Her şeyi bir araya getirdiğinizde, lenslerin hiç hareket etmeyeceğinden ve taban çizgisinin uygulama için sert, çok sert olduğundan emin olmak istersiniz.

Lens seçiminde de dikkatli olun. Tüm lensler tüm kameralarla çalışmaz. Lenslerin de bir çözünürlüğü vardır. Bu başka bir konudur, işte bu http://www.qualitymag.com/articles/90642-qa--selecting-lenses-for-machine-vision-systems ile ilgili kısa bir makale


4
Senkronizasyon hesaplamanız yanlış. 10m / s'de 30 FPS, çerçeve başına 33cm (3m değil) mesafe verir. Ayrıca bu hızda 1 ms, 1 cm'lik mesafe anlamına gelir (FPS ne olursa olsun). Yani ms düzeyinde senkronizasyon aslında bu hızlar için süper bir sonuçtur!
Kozuch
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.