สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ติดตั้ง IDE และไลบรารีที่จำเป็น
- ขั้นตอนที่ 2: ต่อสาย Accelerometers เข้ากับ Feather
- ขั้นตอนที่ 3: แนบมาตรความเร่งกับเสื้อเชิ้ต
- ขั้นตอนที่ 4: การรันโค้ดบน Arduino
- ขั้นตอนที่ 5: การรันโค้ดบน Android
- ขั้นตอนที่ 6: ทดสอบการเชื่อมต่อสัญญาณ Bluetooth
- ขั้นตอนที่ 7: รวบรวมข้อมูลของคุณเอง
- ขั้นตอนที่ 8: ฝึกอบรมข้อมูลของคุณบน Jupyter Notebook
- ขั้นตอนที่ 9: การปรับเปลี่ยนแอปพลิเคชัน Android ด้วยโมเดลใหม่
วีดีโอ: เสื้อเชิ้ต: การตรวจจับท่าทางสวมใส่แบบเรียลไทม์: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
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
หากต้องการอ่านข้อมูลจาก 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
ในการเริ่มรวบรวมข้อมูลบน Feather ให้เริ่ม Arduino IDE และเปิดไฟล์ GestureDataSender ใต้ส่วน Arduino ของรหัสโครงการ เมื่อเปิดไฟล์นี้ ให้ตั้งค่าบอร์ดและพอร์ตที่ใช้ จากนั้นเลือก "ยืนยัน" และ "อัปโหลด" เพื่ออัปโหลดโค้ดไปที่ Feather
ขั้นตอนที่ 5: การรันโค้ดบน 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 และเปิด "PostureDetectorTrainer.ipynb" โน้ตบุ๊กนี้ได้รับการออกแบบให้แยกไฟล์ใดๆ ในโฟลเดอร์ข้อมูลโดยอัตโนมัติด้วยท่าทางที่ดีและไม่ดี จากนั้นจึงฝึก SVM เชิงเส้นสำหรับการจัดประเภทเพื่อฝึกโมเดล เพียงเลือกเมนูแบบเลื่อนลง "เซลล์" และเลือก "เรียกใช้ทั้งหมด" โน้ตบุ๊กอาจใช้เวลาสักครู่ในการทำงาน แต่เมื่อเสร็จสิ้นการเลื่อนไปยังจุดที่ให้ความแม่นยำในการคาดคะเนท่าทางสำหรับโมเดล หากความแม่นยำต่ำ คุณอาจต้องการให้แน่ใจว่าการบันทึกครั้งก่อนของคุณนั้นถูกต้องและเป็นข้อเท็จจริงพื้นฐานที่สอดคล้องกัน หากผลลัพธ์ออกมาดี ให้เลื่อนไปที่เซลล์ถัดไปที่จะสร้างคลาส Java เลื่อนไปที่ด้านล่างของเซลล์นี้จนกว่าคุณจะเห็นส่วนที่แสดงความคิดเห็นเป็นพารามิเตอร์ คัดลอกค่าเหล่านี้ตามที่คุณต้องการในขั้นตอนถัดไป
ขั้นตอนที่ 9: การปรับเปลี่ยนแอปพลิเคชัน Android ด้วยโมเดลใหม่
ในการเปลี่ยนรูปแบบในแอปพลิเคชัน Android ให้ใช้ Android Studio เพื่อนำทางไปยังไฟล์ "PostureDetectorFragment.java" ใต้ส่วน Java ของโครงสร้างโครงการ ในไฟล์นี้ ให้เลื่อนลงไปที่ส่วนที่แสดงความคิดเห็นว่า "Posture classifier" ซึ่งจะมีตัวแปรที่เกี่ยวข้อง 4 ตัวเหมือนกับ 4 ตัวที่สร้างใน Jupyter Notebook แทนที่ค่าของตัวแปร 4 ตัวนี้ด้วยค่าที่คัดลอกมาจาก Jupyter Notebook ตรวจสอบให้แน่ใจว่าชื่อตัวแปรไม่ได้เปลี่ยนจาก p_vectors, p_coefficients ฯลฯ เมื่อดำเนินการเสร็จแล้วให้บันทึกไฟล์และเลือกตัวเลือก Run อีกครั้งเพื่อสร้างแอปพลิเคชันให้กับคุณ อุปกรณ์. ทำตามขั้นตอนเดียวกันกับก่อนหน้านี้เพื่อเปิดโมดูล Posture Detector และคุณควรเห็นลักษณนามที่ทำงานกับโมเดลที่ได้รับการฝึกอบรมใหม่ของคุณ หากยังคงทำงานได้ไม่ดี คุณควรพิจารณาบันทึกข้อมูลเพิ่มเติมและสร้างแบบจำลองขึ้นใหม่ มิฉะนั้นขอแสดงความยินดี! คุณได้นำเข้าลักษณนามที่ได้รับการฝึกฝนมาเองใน Postshirt แล้ว!
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง