สารบัญ:

เสื้อเชิ้ต: การตรวจจับท่าทางสวมใส่แบบเรียลไทม์: 9 ขั้นตอน
เสื้อเชิ้ต: การตรวจจับท่าทางสวมใส่แบบเรียลไทม์: 9 ขั้นตอน

วีดีโอ: เสื้อเชิ้ต: การตรวจจับท่าทางสวมใส่แบบเรียลไทม์: 9 ขั้นตอน

วีดีโอ: เสื้อเชิ้ต: การตรวจจับท่าทางสวมใส่แบบเรียลไทม์: 9 ขั้นตอน
วีดีโอ: ต้องดู!! ทำไมอยู่ๆถึงรู้สึกคันมือ? 2024, พฤศจิกายน
Anonim
Image
Image
Postshirt: การตรวจจับท่าทางสวมใส่แบบเรียลไทม์
Postshirt: การตรวจจับท่าทางสวมใส่แบบเรียลไทม์

Postshirt คือระบบตรวจจับท่าทางไร้สายแบบเรียลไทม์ที่ส่งและจัดประเภทข้อมูลมาตรความเร่งจาก Adafruit Feather ไปยังแอปพลิเคชัน Android ผ่าน Bluetooth ระบบที่สมบูรณ์สามารถตรวจจับได้แบบเรียลไทม์หากผู้ใช้มีท่าทางที่ไม่ดีและสร้างการแจ้งเตือนแบบพุชเมื่อผู้ใช้เริ่มงอ การตรวจจับยังทำงานขณะเดิน

เสบียง

อิเล็กทรอนิกส์

1 x สมาร์ทโฟน Android

1 x ขนอดาฟรุต

1 x แบตเตอรี่ลิเธียมไอออนโพลิเมอร์ - 3.7v 100mAh (ตัวเลือกสำหรับการใช้งานแบบไร้สาย)

2 x ADXL335 มาตรความเร่งสามแกน

วัสดุ

สายเชื่อมต่อ

ม้วนเทป

ขั้นตอนที่ 1: ติดตั้ง IDE และไลบรารีที่จำเป็น

ขนอดาฟรุต

ขั้นแรกให้ติดตั้ง Arduino IDE จากนั้นทำตามขั้นตอนเพื่อติดตั้ง Adafruit nRF51 BLE Library

Jupyter Notebook

ขั้นแรกให้ติดตั้ง Jupyter Notebook จากนั้นจึงติดตั้งไลบรารีที่จำเป็นต่อไปนี้

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

Android

ติดตั้ง Android Studio

รหัสโครงการ

ดาวน์โหลดรหัสโครงการทั้งหมดจาก GitHub

ขั้นตอนที่ 2: ต่อสาย Accelerometers เข้ากับ Feather

ต่อสาย Accelerometers เข้ากับ Feather
ต่อสาย Accelerometers เข้ากับ Feather
ต่อสาย Accelerometers เข้ากับ Feather
ต่อสาย Accelerometers เข้ากับ Feather

หากต้องการอ่านข้อมูลจาก ADXL335 ให้เชื่อมต่อสายเชื่อมต่อเข้ากับหมุด Vin, กราวด์, Xout, Yout และ Zout สำหรับมาตรความเร่งทั้งสองให้เชื่อมต่อปลายอีกด้านของสาย Vin กับพิน 3V บน Feather และปลายอีกด้านของหมุดกราวด์กับพินกราวด์บน Feather เชื่อมต่อสาย Xout, Yout และ Zout ของมาตรความเร่งตัวแรกกับหมุด A0, A1 และ A2 บน Feather เชื่อมต่อสาย Xout, Yout และ Zout ของมาตรความเร่งตัวที่สองกับหมุด A3, A4 และ A5 บน Feather

สามารถเชื่อมต่อเครื่องวัดความเร่งด้วยวิธีใดก็ได้ แต่แนะนำให้บัดกรีสายไฟและการหดด้วยความร้อนหรือพันเทปไฟฟ้ารอบจุดเชื่อมต่อเพื่อป้องกันไม่ให้ส่วนที่สัมผัสสัมผัสกัน

ขั้นตอนที่ 3: แนบมาตรความเร่งกับเสื้อเชิ้ต

ติดมาตรความเร่งกับเสื้อเชิ้ต
ติดมาตรความเร่งกับเสื้อเชิ้ต

ใช้เทปติดมาตรความเร่งที่ด้านหลังของเสื้อ มาตรความเร่งที่ต่อกับหมุด A0-2 ควรวางไว้ในแนวนอนตรงกลางด้านหลังส่วนล่าง มาตรความเร่งที่ต่อกับหมุด A3-5 ควรวางในแนวนอนตรงกลางด้านหลังคอ มาตรวัดความเร่งทั้งสองควรอยู่ในแนวเดียวกัน โดยให้หมุดอยู่ด้านล่าง และเซ็นเซอร์ควรติดเทปให้เรียบและยึดเข้ากับเสื้อเชิ้ต

หมายเหตุ: สำหรับการสวมใส่แบบถาวรมากขึ้น เซ็นเซอร์สามารถเย็บเข้ากับเสื้อผ้าได้ แต่ควรติดเทปและทดสอบก่อนเพื่อให้แน่ใจว่าตำแหน่งเซ็นเซอร์อยู่ในตำแหน่งที่มีประสิทธิภาพ

ขั้นตอนที่ 4: การรันโค้ดบน Arduino

การรันโค้ดบน Arduino
การรันโค้ดบน Arduino

ในการเริ่มรวบรวมข้อมูลบน Feather ให้เริ่ม Arduino IDE และเปิดไฟล์ GestureDataSender ใต้ส่วน Arduino ของรหัสโครงการ เมื่อเปิดไฟล์นี้ ให้ตั้งค่าบอร์ดและพอร์ตที่ใช้ จากนั้นเลือก "ยืนยัน" และ "อัปโหลด" เพื่ออัปโหลดโค้ดไปที่ Feather

ขั้นตอนที่ 5: การรันโค้ดบน Android

รันโค้ดบน Android
รันโค้ดบน Android

หากต้องการเรียกใช้แอปพลิเคชันบน Android ให้เริ่ม Android Studio ก่อน จากนั้นเลือกตัวเลือกเพื่อเปิดโครงการ Android ที่มีอยู่ ไปที่รหัสโครงการและเลือกโฟลเดอร์ "Android" Android Studio จะใช้เวลาสักครู่ในการซิงค์ไฟล์โปรเจ็กต์และอาจขอติดตั้งไลบรารีที่จำเป็นบางตัว ยอมรับตัวเลือกเหล่านี้ เมื่อโปรเจ็กต์พร้อมแล้ว ให้เสียบอุปกรณ์ Android เข้ากับคอมพิวเตอร์และเลือกตัวเลือกการเรียกใช้ที่ด้านบนของหน้าต่าง เลือกอุปกรณ์จากข้อความแจ้งที่ปรากฏขึ้น จากนั้นให้แอปพลิเคชันสร้างไปยังอุปกรณ์

ขั้นตอนที่ 6: ทดสอบการเชื่อมต่อสัญญาณ Bluetooth

กำลังทดสอบการเชื่อมต่อสัญญาณบลูทูธ
กำลังทดสอบการเชื่อมต่อสัญญาณบลูทูธ
กำลังทดสอบการเชื่อมต่อสัญญาณบลูทูธ
กำลังทดสอบการเชื่อมต่อสัญญาณบลูทูธ
กำลังทดสอบการเชื่อมต่อสัญญาณบลูทูธ
กำลังทดสอบการเชื่อมต่อสัญญาณบลูทูธ

เมื่อเปิดแอปแล้ว ตรวจสอบให้แน่ใจว่าได้เปิด Feather แล้ว จากนั้นเลือก Adafruit Bluefruit LE จากรายการอุปกรณ์ที่ปรากฏบนโทรศัพท์ รอให้อุปกรณ์เชื่อมต่อ หากการเชื่อมต่อล้มเหลวในครั้งแรก ให้ลองเชื่อมต่ออีกครั้งก่อนดำเนินการตามขั้นตอนการแก้ไขข้อบกพร่องอื่นๆ หลังจากเชื่อมต่ออุปกรณ์แล้ว ให้เลือกโมดูล "Posture Detector" ซึ่งหากทำงานอย่างถูกต้อง จะแสดงกราฟการอัปเดตสดตลอดจนการคาดการณ์ท่าทางและการเคลื่อนไหวในปัจจุบัน เพื่อทดสอบว่า Arduino กำลังสื่อสารข้อมูลเซ็นเซอร์อย่างถูกต้อง ให้ย้ายมาตรความเร่งทั้งสองในทิศทางแบบสุ่ม และตรวจสอบว่าเส้นทั้งหมดบนกราฟเปลี่ยนแปลงหรือไม่ หากเส้นบางเส้นยังคงแบนตลอดเวลา ตรวจสอบให้แน่ใจว่าได้เชื่อมต่อมาตรวัดความเร่งกับ Feather อย่างถูกต้อง หากทุกอย่างทำงานได้ดีสวมเสื้อและทดสอบว่าการตรวจจับท่าทางทำนายท่าทางของคุณได้อย่างถูกต้อง ยินดีด้วย! คุณตั้งค่าอุปกรณ์สวมใส่การตรวจจับท่าทางสำเร็จแล้ว ดำเนินการต่อผ่านคำแนะนำนี้เพื่อเรียนรู้วิธีสร้างชุดข้อมูลของคุณเองและปรับแต่งการตรวจจับท่าทางของคุณเอง

ขั้นตอนที่ 7: รวบรวมข้อมูลของคุณเอง

การรวบรวมข้อมูลของคุณเอง
การรวบรวมข้อมูลของคุณเอง
การรวบรวมข้อมูลของคุณเอง
การรวบรวมข้อมูลของคุณเอง

หากต้องการรวบรวมข้อมูลของคุณเอง ให้กลับไปที่หน้าจอการเลือกโมดูลและเปิดโมดูลเครื่องบันทึกข้อมูล เมื่อหน้าจอนี้เปิดขึ้น ให้กรอกป้ายกำกับสำหรับข้อมูลที่คุณจะเก็บรวบรวม เพื่อให้ฝึกข้อมูลของคุณได้ง่าย คุณควรใส่คำว่า "ดี" ไว้ในชื่อรายการบันทึกที่มีท่าทางที่ดีและ "ไม่ดี" ในการบันทึกที่มีท่าทาง ในการเริ่มรวบรวม ให้แตะปุ่ม "รวบรวมข้อมูล" และดำเนินการตามที่ต้องการ เมื่อคุณทำเสร็จแล้ว ให้แตะปุ่มอีกครั้งเพื่อเสร็จสิ้นและบันทึกข้อมูล ข้อมูลที่บันทึกไว้ทั้งหมดจะถูกเก็บไว้ในโฟลเดอร์ชื่อ "GestureData" ใต้โฟลเดอร์เอกสารของระบบไฟล์ของคุณ เมื่อคุณบันทึกข้อมูลทั้งหมดของคุณเสร็จแล้ว ให้คัดลอกไฟล์ไปยังคอมพิวเตอร์ของคุณเพื่อการฝึกโมเดล

ขั้นตอนที่ 8: ฝึกอบรมข้อมูลของคุณบน Jupyter Notebook

ฝึกข้อมูลของคุณบน Jupyter Notebook
ฝึกข้อมูลของคุณบน Jupyter Notebook
ฝึกข้อมูลของคุณบน Jupyter Notebook
ฝึกข้อมูลของคุณบน Jupyter Notebook

รหัสโครงการเริ่มต้นประกอบด้วยข้อมูลดั้งเดิมที่ใช้สำหรับการฝึกอบรมในโฟลเดอร์ "ข้อมูล" ใต้ส่วน Jupyter Notebook สำหรับการฝึกข้อมูลของคุณเองจะลบไฟล์ทั้งหมดในโฟลเดอร์นี้แล้วคัดลอกข้อมูลของคุณเองลงในโฟลเดอร์ จากนั้นเรียกใช้ Jupyter Notebook และเปิด "PostureDetectorTrainer.ipynb" โน้ตบุ๊กนี้ได้รับการออกแบบให้แยกไฟล์ใดๆ ในโฟลเดอร์ข้อมูลโดยอัตโนมัติด้วยท่าทางที่ดีและไม่ดี จากนั้นจึงฝึก SVM เชิงเส้นสำหรับการจัดประเภทเพื่อฝึกโมเดล เพียงเลือกเมนูแบบเลื่อนลง "เซลล์" และเลือก "เรียกใช้ทั้งหมด" โน้ตบุ๊กอาจใช้เวลาสักครู่ในการทำงาน แต่เมื่อเสร็จสิ้นการเลื่อนไปยังจุดที่ให้ความแม่นยำในการคาดคะเนท่าทางสำหรับโมเดล หากความแม่นยำต่ำ คุณอาจต้องการให้แน่ใจว่าการบันทึกครั้งก่อนของคุณนั้นถูกต้องและเป็นข้อเท็จจริงพื้นฐานที่สอดคล้องกัน หากผลลัพธ์ออกมาดี ให้เลื่อนไปที่เซลล์ถัดไปที่จะสร้างคลาส Java เลื่อนไปที่ด้านล่างของเซลล์นี้จนกว่าคุณจะเห็นส่วนที่แสดงความคิดเห็นเป็นพารามิเตอร์ คัดลอกค่าเหล่านี้ตามที่คุณต้องการในขั้นตอนถัดไป

ขั้นตอนที่ 9: การปรับเปลี่ยนแอปพลิเคชัน Android ด้วยโมเดลใหม่

การปรับเปลี่ยนแอปพลิเคชัน Android ด้วยโมเดลใหม่
การปรับเปลี่ยนแอปพลิเคชัน Android ด้วยโมเดลใหม่

ในการเปลี่ยนรูปแบบในแอปพลิเคชัน Android ให้ใช้ Android Studio เพื่อนำทางไปยังไฟล์ "PostureDetectorFragment.java" ใต้ส่วน Java ของโครงสร้างโครงการ ในไฟล์นี้ ให้เลื่อนลงไปที่ส่วนที่แสดงความคิดเห็นว่า "Posture classifier" ซึ่งจะมีตัวแปรที่เกี่ยวข้อง 4 ตัวเหมือนกับ 4 ตัวที่สร้างใน Jupyter Notebook แทนที่ค่าของตัวแปร 4 ตัวนี้ด้วยค่าที่คัดลอกมาจาก Jupyter Notebook ตรวจสอบให้แน่ใจว่าชื่อตัวแปรไม่ได้เปลี่ยนจาก p_vectors, p_coefficients ฯลฯ เมื่อดำเนินการเสร็จแล้วให้บันทึกไฟล์และเลือกตัวเลือก Run อีกครั้งเพื่อสร้างแอปพลิเคชันให้กับคุณ อุปกรณ์. ทำตามขั้นตอนเดียวกันกับก่อนหน้านี้เพื่อเปิดโมดูล Posture Detector และคุณควรเห็นลักษณนามที่ทำงานกับโมเดลที่ได้รับการฝึกอบรมใหม่ของคุณ หากยังคงทำงานได้ไม่ดี คุณควรพิจารณาบันทึกข้อมูลเพิ่มเติมและสร้างแบบจำลองขึ้นใหม่ มิฉะนั้นขอแสดงความยินดี! คุณได้นำเข้าลักษณนามที่ได้รับการฝึกฝนมาเองใน Postshirt แล้ว!

แนะนำ: