Alışverişlerinizi Robotistan’dan Yapın

Faydalı içerikler oluşturarak size yardımcı olmak istiyoruz. Aynı zamanda hızlı teslimat ve müşteri memnuniyetini ön planda tutarak malzeme satışı yapıyoruz. Alışverişlerini robotistan.com‘dan yaparak sen de bize yardımcı olabilirsin 🙂

Raspberry Pi ile Nesne Tanımlama(RecogPi)

Günümüzün en popüler konularından biri yapay zeka. Biz de bu projemizde Google’ın açık kaynak kodlu yapay zeka kütüphanesi Tensorflow’u kullanarak bir yapay zeka projesi yaptık.

Raspberry Pi’ye taktığımız kamera vasıtasıyla o an görüntülenen nesne Tensorflow’a analiz etmesi için gönderilir. Analiz sonucu daha önceden Tensorflow’a öğretilen nesnelerle karşlaştırılır. Karşılaştırma sonucu Tensorflow bize nesnenin ne olacağına dair beş tane tahmin sunar ve bu tahminleri gösterdiğimiz nesneye benzeme oranına göre puanlandırır.

Gerekli Malzemeler:

Butona bastığımızda kamera bir fotoğraf çeker. Çekilen fotoğraf TensorFlow a gönderilir ve görüntünün işlenmesi yapılır. Daha önce bahsettiğimiz gibi TensorFlow görüntüyü anlamlandırmaya çalışır ve  görüntünün ne olabileceğine dair 5 tane tahmin yapıyor. Genelde üstteki 2 tahmin en yakın tahminlerdir. Biz bu tahminlerden ilkini yazıdan sese çevirme uygulaması olan Flite ile yazıdan sese çevirip okutacağız. LCD Ekrana da tahminlerin hepsini veya istenilen kadarını yazdıracağız. Biz iki tane yazdırdık.

Raspberry Pi üzerinde ses çıkışı yapabilecek bir cihaz olmadığı için bir hoparlöre ihtiyacımız var. Biz de lehim yeteneklerimizi geliştirmek için Kendin Yap Hoparlör Kiti’ni kullandık. İsterseniz siz de bu kiti satın alabilirsiniz fakat herhangi bir hoparlör de işimizi görecektir. Hatta kulaklık bile takılabilir.

LCD Ekran’ımız da headerleri ayrı bir şekilde geliyor. Header’ı LCD Ekranın pinlerine lehimledikten sonra Dijital Metre yazımızda olduğu gibi LCD Ekranın 3. pinine 1k Ohm değerinde bir direnç lehimliyoruz.

Daha sonra Hoparlörün USB kablosunu Raspberry Pi’nin USB girişlerinden birine takıyoruz. Hoparlörümüz gücünü buradan alacak. Hoparlörümüzün 3.5mm jakını da Raspberry Pi’nin 3.5mm jak girişine takıyoruz.

Raspberry Pi Hoparlör Bağlantısı

Kameramızı da fotoğraftaki gibi şerit kablonun mavi bantlı tarafı USB portlara bakacak şekilde Raspberry Pi’ye takalım.

Raspberry Pi’ye Kamera Montajı

Daha sonra GPIO bağlantılarını aşağıdaki görsellere göre yapıyoruz ve yazılım kısmına geçiyoruz.

GPIO Bağlantıları (Kutusuz)

Projelerini bizim yaptığımız gibi kutuya koymak isteyen arkadaşlar yer kazanmak için bağlantıları aşağıdaki gibi yapabilirler.(NOT: LCD ekran boyutları farklı olsa da bağlantıları aynı yapılmaktadır. Ancak farklı boyutlarda ekran kullanmak için kod kısmında biraz değişiklik yapılması gerekir. Biz 20×4 LCD ekran kullandık.)

GPIO Bağlantıları(Kutulu)

Raspberry Pi’ye Tensorflow yüklemek:

  • Belirtmek isterim ki bu işlem yaklaşık 3 saat sürmektedir.
  • Terminale bu komutu girerek Tensorflow kütüphanesini cihazımıza indiriyoruz.
    git clone https://github.com/tensorflow/tensorflow.git
  • Daha sonra cd tensorflow komutuyla indirilen klasöre giriyoruz.
  • Tensorflow klasörüne girdikten sonra sırasıyla aşağıdaki komutları uyguluyoruz.

-tensorflow/contrib/makefile/download_dependencies.sh
-sudo apt-get install -y autoconf automake libtool gcc-4.8 g++-4.8
-cd tensorflow/contrib/makefile/downloads/protobuf/
-./autogen.sh
-./configure
-make
-sudo make install
-sudo ldconfig
-cd ../../../../..
-export HOST_NSYNC_LIB=`tensorflow/contrib/makefile/compile_nsync.sh`
-export TARGET_NSYNC_LIB="$HOST_NSYNC_LIB"
-make -f tensorflow/contrib/makefile/Makefile HOST_OS=PI TARGET=PI \ OPTFLAGS="-Os -mfpu=neon-vfpv4 -funsafe-math-optimizations -ftree-vectorize" CXX=g++-4.8

TensorFlow yüklenmesi bittiyse Tensorflow’u kullanacak programı yüklemeye geçelim.

Projemizin çalışması için gerekli kodlar çok uzun ve ayrı dosyalar halinde olduğu için dosyaları sıkıştırılmış klasör halinde paylaşmayı tercih ettik.

Dosyaları buradan indirebilirsiniz.

İndirdikten sonra sıkıştırılmış dosyaları Raspberry Pi’nin “/home/pi” klasörüne çıkartıyoruz.

Daha sonra terminalde sırasıyla
cd robot

sudo bash yukle.sh

komutlarını giriyoruz.

Projemizi “robot” klasörü içindeki “image.py” dosyasından çalıştırabilir(Python 2) üzerinde istediğiniz değişiklikleri yapabilirsiniz.

Projemiz bitti şimdi test edelim.

Başka bir projede görüşmek üzere..

Yorumları Görüntüle

  • Merhabalar projeniz çok güzel olmuş. Kendi veri setimi nasıl ekleyebilirim. Yardımcı olursanız çok sevinirim. Teşekkürler...

  • İyi günler thonny ekranına yazılacak kodların python 3 için olanları nereden bulabiliriz?

  • merhaba LÜTFEN YARDIMCI OLUN PROJE ÖDEVİM HEPSİ TAMAM FAKAT run_and_parse_inception.sh HATASI ALIYORUM YARDIMCI OLUN LÜTFEN KODLARDA EKSİKLER VAR HERALDE YARDIMCI OLUN

  • Merhabalar tüm kurumları yaptım devreyi oluşturdum butona basıldığında resim çekiyor img13 diye atıyor ama nesneyi tanımlamıyor şöyle bir hata veriyor run_and_parse_inception.sh: line 3: tensorflow/contrib/pi_examples/label_image/gen/bin/label_image: No such file or directory
    lcd ekranda böyle bir hata çıkıyor yardım edebilirmisiniz ?

  • Merhaba ,
    3 saatin sonunda böyle bir hata aldım fakat ne anlama geidiğini pek anlamadım.
    virtual memory exhausted: Cannot allocate memory
    tensorflow/contrib/makefile/Makefile:749: recipe for target '/home/pi/tensorflow/tensorflow/contrib/makefile/gen/obj/tensorflow/core/kernels/training_ops.o' failed
    make: *** [/home/pi/tensorflow/tensorflow/contrib/makefile/gen/obj/tensorflow/core/kernels/training_ops.o] Error 1

  • Merhabalar gösterilen her nesneyi tanıyor mu bu nesneleri kim ögretti Tensorflow'a yani ben mesala başka bir nesne tanıtmak istiyorum nasıl yapabilirim ? yazı için teşekkürler.

    • Merhaba, Tensorflow Google'ın geliştirmiş olduğu yapay zeka API'sidir. Dolayısıyla nesneleri öğreten herhangi birisi değildir, yapay zeka kendisi öğrenmektedir.

  • Herşeyi yaptım projeyi çalıştırdığımda
    >>>%Run image.py
    File"/home/pi/robot/image.py", line 205
    print "butona basildi"
    SyntaxError: Missing parentheses in call to 'print'
    Hatası alıyorum lütfen yardımcı olun.

    • kodu python 2 ile compile ediniz. pyhton 3 sürümlerinden sonra syntaxta değişiklikler oldu

      • kodu phyton 2 ile compile etmeye thonny izin vermiyor pyhton 3 ve sonrasını destekliyor lütfen şu yazıyı ya düzeltin ya da yayından kaldırın...

  • çok teşekkür ederiz güzel bilgi fakat yapım aşamasının videosu varmı varsa link alabilirmiyim

  • Merhaba robotistan ekibi arkadaşlar. Çalışmalarınızdan dolayı sizleri tebrik ederim. çok beğendim.

En Son İçerik

Arduino’nun Korkulu Rüyası: ESP8266

Herkese merhabalar! Daha önce hiç kablosuz internet bağlantısı ile proje yaptınız mı? IoT projelerine ilginiz var mı? Sizi bu yazımızda…

3 gün Önce

Arduino ve C# ile LCD Ekrana Yazı Gönderme – 7. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, bu dersimizde C# ile hazırlayacağımız form uygulaması üzerinden Arduino'ya bağlı LCD ekranımızı…

3 hafta Önce

3D Printer Yapımı – 553TL’ye Kendi 3D Yazıcını Yap

Herkese merhabalar! Bu yazımızda üç boyutlu yapımı için hangi adımları uygulamak gerekiyor, 3D yazıcı yapımı için gerekli olan malzemelerden ve…

4 hafta Önce

Arduino ile Nabız Ölçer

Herkese merhabalar, bu yazımızda medikal sensörlerden biri olan Pulse nabız sensörünü kullanarak nabız verisini okumayı ve elde ettiğimiz sonucu Nokia…

2 ay Önce

Lipo Pil Nedir? Çeşitleri ile Kapsamlı Lipo Batarya Rehberi

Birçok RC araçta ve robot projelerinde kullanılan Li-Po batarya çeşitlerini, güvenli kullanım ve şarj yöntemlerini bu videomuzu izleyerek öğrenebilirsiniz.

2 ay Önce

Arduino ve C# Haberleşmesi: Bluetooth ile Servo Motor Kontrolü – 6. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, bu derste hazırladığımız arayüz üzerinden seri haberleşmeyi kullanarak servo motor kontrolünü göreceğiz.…

2 ay Önce