Raspberry PI ile , Bu projede, görme engelli bir kişinin önündeki kişiyi tanımasına ve önündeki engelleri öğrenmesine yardımcı olabilecek akıllı bir gözlük camı prototipi yapacağız .
Bu yüz tanıma ve mesafe algılama özellikleri ile etkin olacaktır.
Malzeme Listesi
Ayrıca bir kulaklığa ihtiyacınız olacak, ancak çoğumuz olduğu için yukarıdaki listede bahsetmedim .
Önkoşul kurulumu
Önce, RPi SSH veya Terminal’i açın ve gerekli kitaplıkları ve modülleri yükleyin.
Ardından espeak modülünü ve ardından Python için espeak kütüphanesini kurun.
Kurulum için aşağıdaki pasajı takip edin (Bkz. Şekil 1,2).
Şimdi ‘opencv’, ‘numpy’, ‘dlib’ kütüphanesini kurun.
Yükleme için belleği değiştirmeniz gerekebilir .
İnternette bulunan opencv ve dlib kurulum talimatlarını takip edin .
Bundan sonra
terminalde aşağıdaki komutu kullanarak python 3 için yüz tanıma kütüphanesini kurun .
‘pip3 yüz tanıma kurulum’
Gerekli kütüphanemizi kurduğumuzda, kodlamaya başlayalım.
Kod;
Bu proje için Python3’te, biri önündeki diğeri engellerin yüz tanıma mesafesini anlatan iki farklı kod yapacağız . İlk kod engellerin mesafesini ölçer ve kullanıcıyı ses çıkışını kullanarak uyarır. Dokunsal geri bildirim için bir titreşim motoru da ekleyebiliriz .
Kod 1: Kodlamayı başlatmak için Python3 IDE’yi açın. Burada iki modüle ihtiyacımız var – zaman ve espeak. Her iki modülü de kod olarak içe aktarırız. Bundan sonra GPIO’yu içe aktardığımız ve mesafe algılayıcı pimlerini ayarlayacağımız bir mesafe işlevi yarattık .
Ardından mesafeyi sürekli kontrol eden bir süre döngüsü oluşturduk . Bu döngü sırasında , kullanıcı ile engel arasındaki mesafeyi kontrol etmek için bir if koşulu da ekledik . Nesneye yakın bir nesne algılarsakullanıcı, sesli ve dokunsal geribildirim vererek kişiyi otomatik olarak bilgilendirir.
(Bakınız şekil 3, 4).
Kod 2: Bu, kullanıcının önündeki kişiyi tanımaktır (bilinen veya bilinmeyen). Burada bu kodda 3 modülü içe aktaracağız: yüz tanıma, cv2 ve numpy. Biz bilinen yüzleri ve isimleri farklı diziler oluşturmak zorunda. Bu üyenin yüz tanıma için resim dosyası adını yazmalıyız (Bkz. Şekil 5,6).
Kodun bir sonraki bölümünde, kamera videosundaki yüzü bilinen yüz dizisiyle eşleştirmeye çalışacağız. Eğer yüz eşleşirse, kod aşağıdaki resimdeki ‘espeak.synth ()’ sözdizimini kullanarak bu kişinin adını çağırmak için espeak synthesizer’ı çalıştırır (Bkz. Şekil 7).
Not: – Çıktı dilini Türkçe olarak değiştirebilir ve sesi farklı modlara getirebilirsiniz; örneğin kodlama yapan satırları kodda açıklayarak, Wisher mod, Erkek sesi ve kadın sesi. (Bkz. Şekil 8).
Hepsi tamamlandıktan sonra, kodu yüz tanıma klasörüne kaydedin.
Bağlantılar;
Kodu oluşturduğumuzdan beri, şimdi tüm bileşenleri bağlamanın zamanı geldi.
Kamera şeridini kamera modülüne yerleştirin ve ultrasonik sensör tellerini aşağıda gösterildiği gibi lehimleyin.
Raspberry Pi | Ultrasonik sensör |
5V pin | VCC |
GND | GND |
BCM Pin 27 | TRIG |
BCM PIN 22 | ECHO |
Bağlantıdan sonra, tüm sensörleri ve bileşenleri aşağıdaki resimdeki gibi ayarlayın.
Test
Şimdi Raspberry Pi’ye pil veya güç bankası kullanarak güç verin. Ardından Pi masaüstü penceresini uzak masaüstünde veya VNC’de açın (Pi’de VNC ve uzak masaüstünü nasıl etkinleştireceğinizi bilmiyorsanız, çevrimiçi talimatları izleyin.) Sonra distance.py ve facerecogination.py kodunu çalıştırın ve kullanıma hazırsınız. Herhangi bir bilinen veya bilinmeyen kişi kullanıcının önüne geldiğinde (görsel olarak meydan okuyan kişi), yüzü algılar ve bunları söyler. Kullanıcı duvar veya başka bir nesne gibi herhangi bir engelle yaklaşırsa, kazadan kaçınmak için cihaz bu konuda uyaracaktır.
Not: – cv2, dlib ve yüz tanıma kütüphanesinin kurulumu sırasında Raspberry Pi’nin hafızasını değiştirmeniz gerekebilir. Kütüphanenin kurulumu sırasında herhangi bir hata veya sorunla karşılaşırsanız, bu python kütüphanesinin çevrimiçi rehberine bakın.
Bu makale buradan çevrilmiştir.