back to top

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.

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

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..

Raspberry Pi Hakkında Daha Fazlasını Öğrenmeye Devam Et

Raspberry Pi pek çok yönüyle avantaj sahibi ve geliştiriciler tarafından çok sevilen bir platform. Elektronik projelerinde, bilgisayar bilimlerinde ve robotik çalışmalarında sağladığı destek ve rahatlık ile öğrenmeyi sevdiren Raspberry Pi hergün daha da çok gelişiyor. Peki siz de daha fazla gelişmek istemez misiniz? Linux bilginizi geliştirmek, elektronik dünyasına atılmak ve eğlenceli projelere imza atmak için sizi Raspberry Pi ile yolculuğa çıkarıyoruz! Sizler için hazırladığımız Raspberry Pi eğitim serisine devam edin :

Raspberry Pi ile Amazon Alexa Kullanımı

Amazon Alexa, Amazon tarafından geliştirilen yapay zeka destekli sesli asistandır. Raspberry Pi ile Amazon Alexa Kullanımı yazımızda sizlere Raspberry Pi üzerinde Amazon Alexa’nın nasıl kurulabileceğini anlattık.

Son Çıkan Yazılar

25 YORUMLAR

  1. Merhaba robotistan ailesi,
    Bütün devreyi kurdum devrede hiçbir sıkıntı yok. Lakin tensorflow kurulumunu yaparken
    Son adimdaki

    -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
    Kodunu yazdıktan sonra 1 dk sonra ekran donuyor sonrasında raspberry pi da donuyor. Ve hiçbir işlem yapamıyorum .(bagladigim klavyedeki numlock tuşunu bile kapatamiyorum) Kurulup kurulmadağından emin olmadığım için size yazmak zorunda kaldım .Daha önce böyle bir sorunla karşılaştınız mı?
    Eğer karşılaşmadınız ise sorun sizce ne olabilir ..Anlayışınız Ve Yardımınız için şimdiden teşekkür ederim.

    • Merhaba Recep, Raspbian’ın güncel sürümlerine yüklerken biz de aynı hata ile karşılaştık. Raspberry Pi ayarlarından Raspberry Pi’nin komut satırında başlamasını sağlamak bizim için bu problemi çözdü. Daha sonra komut satırına “startx” yazarak tekrar masaüstü ortamının açılmasını sağlayabilirsin.

      • Merhaba Ali ALTUNTAŞ, bizde de aynı hatayı verdi dediğiniz gibi startx kodunu yazdıktan sonra ” failed …..” veriyor bize yardımcı olabilirmisiniz

        • Eğer Raspbian’ın masaüstü ortamına sahip olmayan Lite sürümünü kullanıyorsanız, “startx” komutu verdiğinizde masaüstü mevcut olmadığı için hata alırsınız.

          • İlginiz için teşekkür ederim. Tensorflow dosyasına Yüklenen dosyalar içine karekterlerle başlayan belgeleri yüklemiyor ya da görmüyor mesela .gitignore belgesini yükleyemiyor bu sorun için bize yardımcı olabilirmisiniz

  2. 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.

    • 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.

  3. 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

  4. 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 ?

  5. 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

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz