İçindekiler:

Postshirt: Gerçek Zamanlı Giyilebilir Duruş Algılama: 9 Adım
Postshirt: Gerçek Zamanlı Giyilebilir Duruş Algılama: 9 Adım

Video: Postshirt: Gerçek Zamanlı Giyilebilir Duruş Algılama: 9 Adım

Video: Postshirt: Gerçek Zamanlı Giyilebilir Duruş Algılama: 9 Adım
Video: Antik Mısır krallarının ve kraliçelerinin yüzlerini simüle edilmiş halleri 2024, Kasım
Anonim
Image
Image
Postshirt: Gerçek Zamanlı Giyilebilir Duruş Algılama
Postshirt: Gerçek Zamanlı Giyilebilir Duruş Algılama

Postshirt, bir Adafruit Feather'dan gelen ivmeölçer verilerini Bluetooth aracılığıyla bir Android uygulamasına ileten ve sınıflandıran gerçek zamanlı bir kablosuz duruş algılama sistemidir. Tüm sistem, kullanıcının kötü bir duruşu olup olmadığını gerçek zamanlı olarak algılayabilir ve kullanıcı eğilmeye başladığında bir push bildirimi oluşturur, algılama aynı zamanda yürürken de çalışır.

Gereçler

Elektronik

1 x Android Akıllı Telefon

1 x Adafruit Tüyü

1 x Lityum İyon Polimer Pil - 3.7v 100mAh (kablosuz kullanım için isteğe bağlı)

2 x ADXL335 üç eksenli ivmeölçer

Malzemeler

Bağlantı teli

Bant rulo

Adım 1: Gerekli IDE'leri ve Kitaplıkları Kurun

ada meyvesi tüyü

Önce Arduino IDE'yi kurun ve ardından Adafruit nRF51 BLE Kütüphanesini kurmak için adımları izleyin.

Jüpiter Defter

Önce Jupyter Notebook'u ve ardından aşağıdaki gerekli kitaplıkları kurun

  • https://scikit-learn.org/stable/
  • https://github.com/nok/sklearn-porter

Android

Android Studio'yu yükleyin

Proje Kodu

Tüm proje kodunu GitHub'dan indirin

Adım 2: İvmeölçerleri Tüy'e bağlayın

İvmeölçerleri Tüy'e bağlayın
İvmeölçerleri Tüy'e bağlayın
İvmeölçerleri Tüy'e bağlayın
İvmeölçerleri Tüy'e bağlayın

ADXL335'lerden veri okumak için, bağlantı kablosunu Vin, toprak, Xout, Yout ve Zout pinlerine bağlayın. Her iki ivmeölçer için de Vin tellerinin diğer uçlarını Tüy üzerindeki 3V pinine ve topraklama pinlerinin diğer uçlarını Feather üzerindeki topraklama pinine bağlayın. İlk ivmeölçerin Xout, Yout ve Zout kablolarını Feather üzerindeki A0, A1 ve A2 pinlerine bağlayın. İkinci ivmeölçerin Xout, Yout ve Zout kablolarını Feather üzerindeki A3, A4 ve A5 pinlerine bağlayın.

İvmeölçerler herhangi bir şekilde bağlanabilir, ancak açıkta kalan bölümlerin birbirine temas etmesini önlemek için tellerin lehimlenmesi ve bağlantı noktalarının etrafına ısıyla büzüşmesi veya elektrik bandı sarılması önerilir.

3. Adım: İvmeölçerleri Gömleğe Takın

İvmeölçerleri Gömleğe Takma
İvmeölçerleri Gömleğe Takma

Bant kullanarak ivmeölçerleri gömleğin arkasına yapıştırın. A0-2 pimlerine bağlanan ivmeölçer, orta-alt sırtın ortasına yatay olarak yerleştirilmelidir. A3-5 pimlerine bağlanan ivmeölçer, ensenin arkasına yatay olarak ortalanmalıdır. Her iki ivmeölçer, pimler alt tarafta olacak şekilde hizalanmalı ve sensörler düz bir şekilde bantlanmalı ve gömleğe sabitlenmelidir.

Not: Daha kalıcı bir giyilebilirlik için sensörler giysinin üzerine dikilebilir ancak sensör yerleşimlerinin etkili bir şekilde konumlandırıldığından emin olmak için önce bantlanmaları ve test edilmeleri gerekir.

Adım 4: Arduino'da Kod Çalıştırma

Arduino'da Kod Çalıştırma
Arduino'da Kod Çalıştırma

Feather üzerinde veri toplamaya başlamak için Arduino IDE'yi başlatın ve proje kodunun Arduino bölümünün altındaki GestureDataSender dosyasını açın. Bu dosya açıkken, kartı ve kullanılan portu ayarlayın ve ardından kodu Feather'a yüklemek için "Doğrula" ve "Yükle"yi seçin.

Adım 5: Android'de Kodu Çalıştırma

Android'de Kod Çalıştırma
Android'de Kod Çalıştırma

Uygulamayı android üzerinde çalıştırmak için önce Android Studio'yu başlatın ve ardından mevcut bir Android projesini açma seçeneğini seçin. Proje koduna gidin ve "Android" klasörünü seçin. Android Studio'nun proje dosyalarını senkronize etmesi biraz zaman alacak ve gerekli bazı kitaplıkları yüklemeyi talep edebilir, bu seçenekleri kabul edin. Proje hazır olduğunda, Android cihazını bilgisayara takın ve pencerenin üst kısmındaki çalıştır seçeneğini seçin. Görüntülenen komut isteminden cihazı seçin ve ardından uygulamanın cihazda oluşturulmasına izin verin.

6. Adım: Bluetooth Sinyal Bağlantısını Test Etme

Bluetooth Sinyal Bağlantısını Test Etme
Bluetooth Sinyal Bağlantısını Test Etme
Bluetooth Sinyal Bağlantısını Test Etme
Bluetooth Sinyal Bağlantısını Test Etme
Bluetooth Sinyal Bağlantısını Test Etme
Bluetooth Sinyal Bağlantısını Test Etme

Uygulama açıldığında Feather'ın açık olduğundan emin olun ve ardından telefonda görünen cihaz listesinden Adafruit Bluefruit LE'yi seçin. Aygıtın bağlanmasını bekleyin, bağlantı ilk kez başarısız olursa, diğer hata ayıklama adımlarını gerçekleştirmeden önce yeniden bağlanmayı deneyin. Cihaz bağlandıktan sonra, düzgün çalışıyorsa canlı bir güncelleme grafiğinin yanı sıra mevcut duruş ve hareket tahminlerini gösterecek olan "Posture Detector" modülünü seçin. Arduino'nun sensör verilerini doğru bir şekilde ilettiğini test etmek için iki ivmeölçeri rastgele yönlerde hareket ettirin ve grafikteki tüm çizgilerin değişip değişmediğini kontrol edin. Bazı çizgiler sürekli düz kalıyorsa, ivmeölçerlerin Tüy'e doğru şekilde bağlandığından emin olun. Her şey yolundaysa gömleği giyin ve duruş algılamanın duruşunuzu doğru bir şekilde tahmin edip etmediğini test edin. Tebrikler! Bir duruş algılama giyilebilir cihazını başarıyla kurdunuz. Kendi veri kümenizi nasıl oluşturacağınızı ve kendi duruş algılamanızı nasıl özelleştireceğinizi öğrenmek için bu talimata devam edin.

7. Adım: Kendi Verilerinizi Toplama

Kendi Verilerinizi Toplama
Kendi Verilerinizi Toplama
Kendi Verilerinizi Toplama
Kendi Verilerinizi Toplama

Kendi verilerinizi toplamak için modül seçim ekranına dönün ve Veri Kaydedici modülünü açın. Bu ekran açıldığında, toplayacağınız veriler için etiketi doldurun; Verilerinizi kolayca eğitmek için, duruşu iyi olan tüm kayıtların adına "iyi" ve duruş içeren tüm kayıtlara "kötü" kelimesini eklemelisiniz. Toplamaya başlamak için "Veri Topla" düğmesine dokunun ve istediğiniz eylemi gerçekleştirin, işiniz bittiğinde verileri bitirmek ve kaydetmek için düğmeye tekrar dokunun. Kaydedilen tüm veriler, dosya sisteminizin belgeler klasörü altındaki "GestureData" adlı bir klasörde saklanacaktır. Tüm verilerinizi kaydetmeyi bitirdiğinizde, model eğitimi için dosyaları bilgisayarınıza kopyalayın.

8. Adım: Verilerinizi Jupyter Notebook'ta Eğitin

Jupyter Notebook'ta Verilerinizi Eğitmek
Jupyter Notebook'ta Verilerinizi Eğitmek
Jupyter Notebook'ta Verilerinizi Eğitmek
Jupyter Notebook'ta Verilerinizi Eğitmek

İlk proje kodu, Jupyter Notebook bölümünün altındaki "data" klasöründe eğitim için kullanılan orijinal verileri içerir, kendi verilerinizi eğitmek için bu klasördeki tüm dosyaları silin ve ardından kendi verilerinizi klasöre kopyalayın. Ardından Jupyter Notebook'u çalıştırın ve "PostureDetectorTrainer.ipynb" dosyasını açın. Bu not defteri, veri klasöründeki herhangi bir dosyayı iyi ve kötü duruşa göre otomatik olarak ayırmak ve ardından modeli eğitmek için sınıflandırma için doğrusal bir SVM eğitmek için tasarlanmıştır, yalnızca "Hücre" açılır menüsünü seçin ve "Tümünü Çalıştır"ı seçin. Dizüstü bilgisayarın çalışması biraz zaman alabilir, ancak bir kez tamamlandığında model için duruş tahmini doğruluğunu sağlayan noktaya ilerleyin, doğruluk düşükse önceki kayıtlarınızın doğru ve tutarlı temel gerçekler olduğundan emin olmak isteyebilirsiniz. Sonuçlar iyi görünüyorsa, bir Java sınıfının oluşturulacağı sonraki hücreye gidin. Parametre olarak yorumlanmış bir kısım görene kadar bu hücrenin en altına gidin. Bir sonraki adımda ihtiyaç duyacağınız için bu değerleri kopyalayın.

9. Adım: Android Uygulamasını Yeni Modelle Değiştirme

Android Uygulamasını Yeni Modelle Değiştirme
Android Uygulamasını Yeni Modelle Değiştirme

Android uygulamasındaki modeli değiştirmek için proje yapısının java bölümünün altındaki "PostureDetectorFragment.java" dosyasına gitmek için Android Studio'yu kullanın. Bu dosyada, Jupyter Notebook'ta oluşturulan 4 ile aynı 4 karşılık gelen değişkene sahip olacak "Duruş sınıflandırıcı" olarak yorumlanan bölüme gidin. Bu 4 değişkenin değerlerini, değişken adlarının p_vektörler, p_katsayılar vb.'den değiştirilmediğinden emin olarak Jupyter Notebook'tan kopyalanan değerlerle değiştirin. Bu yapıldıktan sonra dosyayı kaydedin ve uygulamayı kendi cihazınıza oluşturmak için tekrar Çalıştır seçeneğini seçin. cihaz. Şimdi Duruş Detektörü modülünü açmak için önceki adımların aynısını izleyin ve sınıflandırıcının şimdi yeni eğitilmiş modeliniz ile çalıştığını görmelisiniz. Hala iyi performans göstermiyorsa, daha fazla veri kaydetmeyi ve modeli yeniden oluşturmayı düşünmelisiniz. Aksi takdirde tebrikler! Artık kişisel olarak eğitilmiş sınıflandırıcınızı Postshirt'e aktardınız!

Önerilen: