Სარჩევი:

პოსტი: რეალურ დროში ტარებადი პოზის გამოვლენა: 9 ნაბიჯი
პოსტი: რეალურ დროში ტარებადი პოზის გამოვლენა: 9 ნაბიჯი

ვიდეო: პოსტი: რეალურ დროში ტარებადი პოზის გამოვლენა: 9 ნაბიჯი

ვიდეო: პოსტი: რეალურ დროში ტარებადი პოზის გამოვლენა: 9 ნაბიჯი
ვიდეო: 10 დამამტკიცებელი საბუთი იმისა, რომ დროში მოგზაურობა რეალურად არსებობს 2024, ივლისი
Anonim
Image
Image
პოსტი: რეალურ დროში ტარებადი პოზირების გამოვლენა
პოსტი: რეალურ დროში ტარებადი პოზირების გამოვლენა

Postshirt არის რეალურ დროში უკაბელო პოზირების გამოვლენის სისტემა, რომელიც გადასცემს და კლასიფიცირებს აქსელერომეტრის მონაცემებს Adafruit Feather– დან Android აპლიკაციაზე Bluetooth– ის საშუალებით. სრულ სისტემას შეუძლია რეალურ დროში აღმოაჩინოს, თუ მომხმარებელს აქვს ცუდი პოზა და ქმნის push შეტყობინებას, როდესაც მომხმარებელი იწყებს დუნე, გამოვლენა ასევე მუშაობს სიარულის დროს.

მარაგები

ელექტრონიკა

1 x Android სმარტფონი

1 x ადაფრუტის ბუმბული

1 x ლითიუმის იონური პოლიმერული ბატარეა - 3.7v 100mAh (სურვილისამებრ უკაბელო გამოყენებისთვის)

2 x ADXL335 სამ ღერძიანი ამაჩქარებელი

მასალები

დასაკავშირებელი მავთული

ფირის რულეტი

ნაბიჯი 1: დააინსტალირეთ საჭირო IDE და ბიბლიოთეკები

ადაფრუტის ბუმბული

ჯერ დააინსტალირეთ Arduino IDE და შემდეგ მიყევით Adafruit nRF51 BLE ბიბლიოთეკის ინსტალაციის ნაბიჯებს

იუპიტერის რვეული

ჯერ დააინსტალირეთ Jupyter Notebook და შემდეგ საჭირო ბიბლიოთეკები

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

Android

დააინსტალირეთ Android Studio

პროექტის კოდი

ჩამოტვირთეთ პროექტის ყველა კოდი GitHub– დან

ნაბიჯი 2: მიამაგრეთ ამაჩქარებლები ბუმბულზე

მიამაგრეთ აქსელერომეტრები ბუმბულზე
მიამაგრეთ აქსელერომეტრები ბუმბულზე
მიამაგრეთ აქსელერომეტრები ბუმბულზე
მიამაგრეთ აქსელერომეტრები ბუმბულზე

ADXL335– დან მონაცემების წასაკითხად დაუკავშირეთ მავთული Vin, ground, Xout, Yout და Zout ქინძისთავებს. ორივე ამაჩქარებლისთვის დააკავშირეთ Vin მავთულის მეორე ბოლოები ბუმბულის 3V პინთან და ბუმბულის მიწასთან გასასვლელი ქინძისთავები. შეაერთეთ პირველი ამაჩქარებლის Xout, Yout და Zout მავთულები ბუმბულის A0, A1 და A2 ქინძისთავებთან. შეაერთეთ მეორე ამაჩქარებლის Xout, Yout და Zout მავთულები ბუმბულის A3, A4 და A5 ქინძისთავებთან.

აქსელერომეტრების დაკავშირება შესაძლებელია ნებისმიერი გზით, მაგრამ მავთულხლართების შედუღება და შეერთების წერტილების გარშემო ელექტრული ლენტის გახვევა ან შემოხვევა რეკომენდებულია დაუცველი მონაკვეთების ერთმანეთთან კონტაქტის თავიდან ასაცილებლად.

ნაბიჯი 3: მიამაგრეთ აქსელერომეტრი პერანგს

მიამაგრეთ აქსელერომეტრი პერანგს
მიამაგრეთ აქსელერომეტრი პერანგს

ფირის გამოყენებით მიამაგრეთ ამაჩქარებლები პერანგის უკანა მხარეს. ამაჩქარებელი მავთულხლართები A0-2 უნდა იყოს მოთავსებული ჰორიზონტალურად ცენტრში, ქვედა უკანა ნაწილში. A3-5 ქინძისთავებზე დამაგრებული ამაჩქარებელი უნდა იყოს ჰორიზონტალურად ცენტრში კისრის უკანა ნაწილში. ორივე ამაჩქარებელი უნდა იყოს გასწორებული ისე, რომ ქინძისთავები იყოს ქვედა მხარეს და სენსორები იყოს მიბმული ბრტყელი და დაცული მაისურისგან.

შენიშვნა: უფრო მუდმივი ტარებისათვის, სენსორები შეიძლება იყოს შეკერილი ტანსაცმელზე, მაგრამ ისინი ჯერ უნდა იყოს მიბმული და შემოწმებული, რათა უზრუნველყოს სენსორების პოზიციონირება.

ნაბიჯი 4: გაუშვით კოდი Arduino– ზე

გაშვებული კოდი არდუინოზე
გაშვებული კოდი არდუინოზე

ბუმბულის შესახებ მონაცემების შეგროვების დასაწყებად დაიწყეთ Arduino IDE და გახსენით ფაილი GestureDataSender პროექტის კოდის Arduino განყოფილების ქვეშ. ამ ფაილის გახსნით დააყენეთ დაფა და პორტი, რომელიც გამოიყენება და შემდეგ შეარჩიეთ "გადამოწმება" და "ატვირთვა", რათა ატვირთოთ კოდი ბუმბულზე.

ნაბიჯი 5: გაუშვით კოდი Android- ზე

გაშვებული კოდი Android- ზე
გაშვებული კოდი Android- ზე

ანდროიდზე პროგრამის გასაშვებად ჯერ Android Studio დაიწყეთ და შემდეგ შეარჩიეთ არსებული Android პროექტის გახსნის ვარიანტი. გადადით პროექტის კოდზე და შეარჩიეთ საქაღალდე "Android". Android Studio– ს გარკვეული დრო დასჭირდება პროექტის ფაილების სინქრონიზაციისთვის და შეიძლება მოითხოვოს ზოგიერთი ბიბლიოთეკის დაყენება, მიიღოს ეს პარამეტრები. მას შემდეგ რაც პროექტი მზად იქნება შეაერთეთ Android მოწყობილობა კომპიუტერში და შეარჩიეთ გაშვების ვარიანტი ფანჯრის ზედა ნაწილში. შეარჩიეთ მოწყობილობა მოთხოვნის სიიდან, რომელიც გამოჩნდება და შემდეგ ნება მიეცით აპლიკაცია ააშენოს მოწყობილობაზე.

ნაბიჯი 6: Bluetooth სიგნალის კავშირის ტესტირება

Bluetooth სიგნალის კავშირის ტესტირება
Bluetooth სიგნალის კავშირის ტესტირება
Bluetooth სიგნალის კავშირის ტესტირება
Bluetooth სიგნალის კავშირის ტესტირება
Bluetooth სიგნალის კავშირის ტესტირება
Bluetooth სიგნალის კავშირის ტესტირება

მას შემდეგ, რაც აპლიკაცია გაიხსნება, დარწმუნდით, რომ ბუმბული ჩართულია და შემდეგ შეარჩიეთ Adafruit Bluefruit LE იმ მოწყობილობების სიიდან, რომელიც ტელეფონში ჩანს. დაელოდეთ მოწყობილობის დაკავშირებას, თუ კავშირი ვერ ხერხდება ხელახლა ხელახლა დაკავშირება სანამ გამართვის სხვა ნაბიჯებს გადადგამთ. მოწყობილობის შეერთების შემდეგ შეარჩიეთ მოდული "პოზის დეტექტორი", რომელიც სწორად მუშაობის შემთხვევაში გამოჩნდება ცოცხალი განახლების გრაფიკი, ასევე პოზა და მოძრაობის მიმდინარე პროგნოზები. იმის შესამოწმებლად, რომ arduino ავრცელებს სენსორულ მონაცემებს, გადაადგილეთ ორი ამაჩქარებელი შემთხვევითი მიმართულებით და შეამოწმეთ, იცვლება თუ არა გრაფაში ყველა ხაზი. თუ ზოგიერთი ხაზი მუდმივად ბრტყელი რჩება, დარწმუნდით, რომ ამაჩქარებლები სათანადოდ არის დაკავშირებული ბუმბულთან. თუ ყველაფერი მუშაობს, ჩაიცვი პერანგი და შეამოწმე, რომ პოზის გამოვლენა სწორად პროგნოზირებს შენს პოზას. გილოცავთ! თქვენ წარმატებით შექმენით პოზირების პოზირების პოზა. განაგრძეთ ამ ინსტრუქციის საშუალებით ისწავლეთ როგორ შექმნათ თქვენი მონაცემთა ნაკრები და დააკონფიგურიროთ თქვენი საკუთარი პოზა.

ნაბიჯი 7: საკუთარი მონაცემების შეგროვება

საკუთარი მონაცემების შეგროვება
საკუთარი მონაცემების შეგროვება
საკუთარი მონაცემების შეგროვება
საკუთარი მონაცემების შეგროვება

საკუთარი მონაცემების შესაგროვებლად დაბრუნდით მოდულის შერჩევის ეკრანზე და გახსენით მონაცემთა ჩამწერი მოდული. მას შემდეგ, რაც ეს ეკრანი გაიხსნება, შეავსეთ ეტიკეტი იმ მონაცემებისთვის, რომელსაც თქვენ შეაგროვებთ; იმისათვის, რომ მარტივად გაწვრთნათ თქვენს მონაცემებზე, თქვენ უნდა შეიყვანოთ სიტყვა "კარგი" ნებისმიერი ჩანაწერის სახელით, რომელსაც აქვს კარგი პოზა და "ცუდი" ნებისმიერ ჩანაწერში, რომელსაც აქვს პოზა. შეგროვების დასაწყებად შეეხეთ ღილაკს "მონაცემთა შეგროვება" და შეასრულეთ თქვენი მიზანმიმართული მოქმედება, დასრულების შემდეგ კვლავ შეეხეთ ღილაკს მონაცემების დასასრულებლად და შესანახად. ყველა ჩაწერილი მონაცემი შეინახება საქაღალდეში სახელწოდებით "GestureData" თქვენი ფაილური სისტემის დოკუმენტების საქაღალდეში. ყველა მონაცემის ჩაწერის დასრულების შემდეგ დააკოპირეთ ფაილები თქვენს კომპიუტერში მოდელის სწავლებისთვის.

ნაბიჯი 8: თქვენი მონაცემების მომზადება Jupyter ნოუთბუქზე

თქვენი მონაცემების მომზადება იუპიტერის რვეულში
თქვენი მონაცემების მომზადება იუპიტერის რვეულში
თქვენი მონაცემების მომზადება იუპიტერის რვეულში
თქვენი მონაცემების მომზადება იუპიტერის რვეულში

პროექტის საწყისი კოდი შეიცავს თავდაპირველ მონაცემებს, რომლებიც გამოიყენება Jupyter Notebook განყოფილების საქაღალდეში "მონაცემები", საკუთარი მონაცემების სწავლებისთვის წაშალეთ ამ საქაღალდის ყველა ფაილი და შემდეგ დააკოპირეთ თქვენი საკუთარი მონაცემები საქაღალდეში. შემდეგ გაუშვით Jupyter Notebook და გახსენით "PostureDetectorTrainer.ipynb". ეს ნოუთბუქი შექმნილია მონაცემების საქაღალდეში ნებისმიერი ფაილის ავტომატურად გამოყოფისთვის კარგი და ცუდი პოზით და შემდეგ წვრთნის ხაზოვანი SVM კლასიფიკაციისთვის, რომ მოდელი მოამზადოს, უბრალოდ შეარჩიეთ "Cell" ჩამოსაშლელი და აირჩიეთ "Run All". ნოუთბუქს შეიძლება ერთი წუთი დასჭირდეს გასაშვებად, მაგრამ ერთხელ გადახვევა იმ წერტილამდე, რომელიც უზრუნველყოფს მოდელის პოზის პროგნოზირების სიზუსტეს. თუ შედეგები კარგად გამოიყურება, გადადით შემდეგ უჯრედზე, სადაც შეიქმნება Java კლასი. გადაახვიეთ ამ უჯრედის ბოლოში, სანამ არ დაინახავთ პარამეტრების სახით გამოხმაურებულ ნაწილს. დააკოპირეთ ეს ღირებულებები, რადგან დაგჭირდებათ შემდეგ ეტაპზე.

ნაბიჯი 9: შეცვალეთ Android პროგრამა ახალი მოდელით

Android აპლიკაციის შეცვლა ახალი მოდელით
Android აპლიკაციის შეცვლა ახალი მოდელით

Android აპლიკაციის მოდელის შესაცვლელად გამოიყენეთ Android Studio ნავიგაცია ფაილზე "PostureDetectorFragment.java" პროექტის სტრუქტურის java განყოფილების ქვეშ. ამ ფაილში გადაახვიეთ ქვევით იმ განყოფილებაში, რომელიც გამოხმაურებულია როგორც „პოზის კლასიფიკატორი“, რომელსაც ექნება იგივე 4 შესაბამისი ცვლადი, როგორც 4 წარმოქმნილი Jupyter Notebook– ში. შეცვალეთ ეს 4 ცვლადის მნიშვნელობა Jupyter Notebook– დან გადაწერილი მნიშვნელობებით, დარწმუნდით, რომ ცვლადის სახელები არ შეიცვლება p_vectors, p_coefficients და ა.შ. ამის დასრულების შემდეგ შეინახეთ ფაილი და შეარჩიეთ ისევ Run ვარიანტი პროგრამის შესაქმნელად. მოწყობილობა ახლა მიჰყევით იგივე ნაბიჯებს, როგორც ადრე პოზირების დეტექტორის მოდულის გასახსნელად და თქვენ უნდა ნახოთ კლასიფიკატორი, რომელიც ახლა მუშაობს თქვენს ახლად მომზადებულ მოდელზე. თუ ის ჯერ კიდევ არ ჩანს კარგად, უნდა გაითვალისწინოთ დამატებითი მონაცემების ჩაწერა და მოდელის ხელახლა შექმნა. წინააღმდეგ შემთხვევაში გილოცავთ! თქვენ ახლა შემოიტანეთ თქვენი პერსონალურად გაწვრთნილი კლასიფიკატორი Postshirt- ში!

გირჩევთ: