Görüntü İşleme İçin Donanım


#1

Ben telefonla kontrol edilebilen bir robot araba yaptım.Şimdi raspbeery pi ile görüntü işleyip sonra makina öğrenmesi(machine learning) ile gördüğü nesneleri tanımlayacak bir araba yapmaya çalışıyorum.Şuan sadace robot araba yaptım.Görüntü işleme kısmına geçmek için hazırlıklar yapıyorum.Cihaz olarak ne tavsiye edersiniz?Nvidia jetson gibi pahali cıhazlar olmazsa sevinirim.Öğrencıyım neticede.


#2

Merhabalar. Burada görüntü işlemeden kasıt eğer klasik bilgisayarlı görü uygulamalarıysa(örneğin OpenCV ile gerçekleştirilen uygulamalar) Nvidia Jetson’a pek ihtiyaç olmayabilir. Derin öğrenme uygulamaları için aynı şeyi söylemek pek mümkün değil.

  • Raspberry Pi 3 her ne kadar genel IoT uygulamaları ve basit işlemler için yeterli bir tek kartlı bilgisayar olsa da, belirli seviyenin üzerindeki OpenCV uygulamaları için yetersiz kalmaktadır. Nvidia destekli bir GPU barındırmadığından CUDA çekirdeği gerektiren işlemler yapmak malesef mümkün olmuyor, bu sebeple de derin öğrenme uygulamalarının hayata geçirilmesinde kullanılması pek mümkün görünmüyor. Klasik bilgisayarlı görü de derin öğrenme uygulamaları da CUDA kullanımı sayesinde inanılmaz hızlara taşınabiliyor. OpenCL kütüphaneleri kullanılarak bir paralelleştirme yapılabilir, fakat uygulamanın zorluğuna göre işlem gücü yeterli olmayacaktır.
  • Bütçeye uygun bir tek kart bilgisayar kullanılmak isteniyorsa bu durumda Raspberry Pi 3 muadili, fiyatı daha yüksek fakat CPU ve RAM olarak daha üstün bir tek kart bilgisayar olan Odroid XU4’ü öneririm. Raspberry Pi 3’ten daha endüstriyel olması sebebiyle de daha geç bozulacak ve daha az sorun çıkaracaktır. Tabii açık kaynak topluluğu bakımından Raspberry bu noktada daha üstün fakat diğer faktörlerde XU4 öne çıkıyor. Fiyatı 80 dolar civarında.
  • Jetson TX2 şu anda mobil robotik üzerinde yapılan görüntü işleme ve derin öğrenme uygulamalarında malesef 1 numara ve güç verimliliği, fiyat/performans açısından önüne geçebilen bir bilgisayar şu anda mevcut değil.
  • Intel Movidius isimli “Compute Stick” ise USB üzerinden arayüzlenerek ayrıca bir işlem gücüne gereksinim olmadan derin öğrenme algoritmalarının herhangi bir USB’si olan bilgisayarda (Raspberry, Odroid, Beaglebone, PC, vs.) çalıştırılabilmesini sağlıyor. Fiyatı 100 dolar civarında.
  • Burada kamera seçimi de çok önemli bir yer tutuyor. Logitech C920 ve türevleri webcam’ler USB üzerinden kolayca arayüzlenebildiği için tercih ediliyor. Aşağıda linkini paylaştığım OpenMVCam de farklı bilgisayarlı görü algoritmaları kullanarak basit objelerin tespit edilebilmesini sağlıyor.
  • Eğer ki video aktarım hızı yeterince hızlı olursa şöyle bir yöntem izlenebilir:
  1. Mobil robot üzerine yerleştirilen kameranın görüntüsü Nvidia kartı barındıran bir PC’ye aktarılarak bu PC üzerinde derin öğrenme algoritmaları işlenebilir.
  2. PC üzerinde işaretlenen görüntülerden yapılan çıkarımlar hangi amaçla kullanılacaksa araca bununla alakalı komutlar yine bilgisayar üzerinden yollanabilir. Bu resimdeki gibi bir sistem kurulabilir:

Bunun dışında, önereceğim kaynaklar şu şekildedir:

  • https://diyrobocars.com/ Raspberry Pi ve ucuz parçalar kullanılarak Python bazlı sinirsel ağlar yardımıyla şerit takibi vs. yapabilen arabaların yapıldığı topluluk
  • http://www.ros.org/about-ros/ ROS kullanmıyorsanız bakmanızı şiddetle tavsiye ederim
  • https: /openmv.io/products/openmv-cam-m7 (3. bağlantıyı ekleyemediğim için araya boşluk koydum)

#4

İlk önce bu kadar bilgi içerikli bir yorum yazdığınız için çok teşekkür ederim.Odraid XU4 çok güzel lakın 500 tl civarı olduğundan almam pek mümkün değil gibi.Orange pi ise çok ucuz ve güzel donanım,ama türkçe içerik olmamasından dolayı öğrenmede zorluk çekebilirim.Raspbeery pi 3’ 250 tl zaten biraz biriktirip Odraid XU4 almam daha mi doğru olur?Ya da daha uygun cihaz var mi?Şimdi ingilizcem yok.Ve aldigimda öğrenemezsem yazik olur paraya.Sizin tavsiyeniz nedir?

Ve kamera için baslanginc olarak go pro alsam olur muYa da daha kucuk butceli bir cihaz?

Direk yüksek kalite alip elimde kalmasini pek istemiyorumda.Ama eger dediginiz cihaz şartsa almanin bir yolunu bulacam artik.

Ve ben mobilden sadace araba kontrolunu yapacam.Eger mümkün olursa görüntüyü bilgisayara aktarmak istiyorum.Ve şuan deep learning ile yapacaklarimin sınırıni bilmiyorum.Ilk hedefim gordugu nesneleri tanimlayacak bir sistem olacak.Misal trafikte sürdüğüm zaman ağaçlari,insanlari,hayvanlari,levhalari…gibi cisimleri gördüğü zaman tanimlayacak bir sistem.Ve surekli gelistirmek için calismalara devam edecem.Sürekli giden bir nesneyi ve mesafe artikca pc ye aktarabilecek mi bilmiyorum.O konulari arastirmadim ama kapataslak böyle bir proje için adım attim.

Cevabinizi bekliyorum.Tekrardan cok tesekkur ederim.Böyle yardimci eden insanlar görmek beni cok mutlu etti.


#6

Merhabalar,

Donanım hakkında bir sorum olacaktı. Eğer bütçeyi biraz daha arttırma imkanı varsa araç üzerine mini bilgisayar konulmasını tavsiye eder misiniz? Mesela 1000 lira gibi fiyatlara 19V ile çalışan mini bilgisayar alınabilir. Bu konu hakkında bir kaç sorum olacaktı.

*Python dili ve open cv kullanarak kameradan alınan görüntünün gerçek zamanlı işlemesi yapılırken mini bilgisayarın hangi donanımı daha çok kullanılır bilginiz var mı? (Mini bilgisayarı alırken işlemci hızına mı dikkat etmeliyim yoksa grafik kartına mı? Mesela UHD Graphics 600 vs HD Graphics 500 ?)
*Mini bilgisayarda kullanılacak işletim sistemi konusunda bir bir tavsiyeniz bulunmakta mı? Windows10 kullanılırsa gerçek zamanlı görüntü işleme hızı konusunda sorun yaşanır mı?


#3

Mobil cihazlarda çalışması için özel olarak optimize edilmiş pre-trained modeller var. (MobileNet gibi) Bu gibi modellerden birini raspberry pi üzerinde doğrudan çalıştırabilirsin diye düşünüyorum. Bu sayede ekstra bir donanım kullanmadan robot aracının gördüğü nesneleri tanımasını sağlayabilirsin (Tek bir raspberry hem araç yönetip hem de classification yapmak için yeterince güçlü olmayabilir. Bu durumda ikinci bir raspberry alman yeterli olur).Modelle ilgili detaylı bilgiye şuradan ulaşabilirsin.


#5

Ben kontrol için arduino kulandim.Ve kontrol için telefon kulanacagim için.Goruntuleri bilgisayara aktarip islemesi daha dogru olur diye dusunuyorum.İlerleyen zamanlar da daha buyuk bir robot araba yapip onun üzerine lcd ekran koyup ona resimleri ışletebilirim.Ama maddi sıkıntıdan dolayi simdilik pc daha dogru bir secenek olur diye dusunuyorum.Fikirlerinizi aciğim.Ve yazi icin cok teşekkür ederim.