กลยุทธ์การรู้จำท่าทาง


12

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

คุณเคยใช้กลยุทธ์อะไรบ้างในอดีต? พวกเขาทำงานทำไม ทำไมพวกเขาไม่ทำงาน คุณจะทำอะไรที่แตกต่าง

คำตอบ:


5

แก้ไข Affine invariance ต้องการความโค้งรุ่นนี้
http://en.wikipedia.org/wiki/Affine_curvature#Affine_curvature
สมมติว่านั่นคือสิ่งที่ฉันหมายถึง (แม้ว่าความโค้งปกติฉันคิดว่าคงที่กับการหมุนซึ่งอาจดีพอ)
แก้ไขสำหรับรุ่นขนาดคงที่ของรูปลักษณ์โค้งนี่
/math/1329/what-is-the-form-of-curvature-that-is-invariant-under-rotations-and-uniform- Scali

ปัญหาการจดจำท่าทางเป็นปัญหาย่อยของปัญหาการรู้จำและปัญหาการรู้จำเป็นปัญหาการเปรียบเทียบแบบจำลอง

คุณพยายามปรับท่าทางให้เหมาะกับท่าทางบางท่าทางท่าทางที่ดีที่สุดจะเป็นผู้ชนะ

ฉันจะบันทึกท่าทางของคุณหลาย ๆ ครั้งและพยายามปรับให้พอดีกับข้อมูลการฝึกของคุณด้วยบางอย่างเช่น b-spline (เส้นโค้ง) คุณอาจต้องการให้ท่าทางของคุณคงที่เพื่อเลียนแบบการแปลง (การหมุนการปรับการแปล) ดังนั้นจัดเก็บเส้นโค้งเป็นตารางค่าความโค้ง (ไม่น่าจะมีรูปแบบปิดที่ดี) ซึ่งต่างจากพิกัดคาร์ทีเซียนของการควบคุม จุด

นั่นเป็นรูปแบบของท่าทาง สมมติว่าคุณมีหลายอย่าง

หากต้องการเปรียบเทียบพวกเขาเริ่มต้นด้วยการปรับข้อมูลอินพุตของคุณให้เหมาะสมจากนั้นประเมินความโค้ง x จำนวนครั้งที่ x ให้การแลกเปลี่ยนที่ดีระหว่างความแม่นยำและประสิทธิภาพ

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

เปรียบเทียบคำตอบของฉันกับ @ Olie's โดยทั่วไปพวกเขาจะเหมือนกันแม้ว่าเราจะเลือกรูปแบบที่แตกต่างกันสำหรับท่าทาง (สร้างตารางของความโค้งที่ลงนามและบันทึกการเปลี่ยนแปลงในมุมของแทนเจนต์เกือบจะเหมือนกันฉันคิดว่าข้อมูลถูกสร้างขึ้นโดยเรียบ แม้ว่าจะโค้งด้วยเสียงรบกวน) ความแตกต่างที่สำคัญคือ @Olie นั้นรวมถึงความเร็วด้วย

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


4

ในแง่กว้างมากคุณอาจต้องการกำหนดท่าทางเป็นทิศทางตามด้วยการหน่วงเวลา [อาจสั้นมาก] ตามด้วยอีกทิศทางหนึ่ง (และมุมสัมพัทธ์ระหว่างทิศทาง ฯลฯ จนกระทั่งสิ้นสุด

ตัวอย่างเช่นการทำ "t" ด้วยไม้เรียวของคุณ (และอย่าลืมว่าบางคนเป็นฝ่ายซ้ายดังนั้นคำจำกัดความของคุณไม่ควรขึ้นอยู่กับมือ!) คือแนวดิ่ง swoosh, ความล่าช้าในระยะสั้น, ความโค้งสั้น ๆ มุ่งหน้าไปในแนวนอนหยุดทันที [ใกล้]

เมื่อคุณอ่านท่าทางคุณต้องการดูว่ารูปแบบการอ่านนั้นตรงกับคำอธิบายรูปแบบมากน้อยเพียงใด

โดยทั่วไปคุณสามารถคัดพจนานุกรมคำจำกัดความด้วยการกำจัดข้อผิดพลาดที่เห็นได้ชัด (อันที่ยังไม่เริ่มอย่างถูกต้องหรือยาวเกินไปหรือสั้นเกินไป) จากนั้นให้ "ทำคะแนน" ท่าทางที่ขัดแย้งกับคำจำกัดความที่เหลืออยู่ ให้คะแนนรูปแบบลายเส้นโดยการจัดเรตแต่ละส่วนว่าตรงกับคำจำกัดความ (0-100%) และ RMS ได้ดีเพียงใด (ใช้ข้อผิดพลาดกำลังสองบวกผลรวมแล้วนำสแควร์รูทของผลรวมนั้น)

การใช้ RMS เน้นความแตกต่างขนาดใหญ่ (ส่งผลให้คะแนนต่ำกว่า) ในขณะที่มีแนวโน้มที่จะปัดเศษความแตกต่างเล็ก ๆ (ทำให้ได้ผลลัพธ์ที่ดีขึ้น)

มีเนื้อหามากมายในเรื่องนี้ - การจดจำท่าทางของ Google ไม่ต้องกังวลหากเป็นสไตลัสหรือสิ่งอื่น ๆ ที่ไม่ใช่ของ Wii หลักการก็ปรับตัวได้ดี


0

ฉันทำได้แค่ใช้เม้าส์เท่านั้น แต่วิธีการแก้ปัญหาของฉันก็ใช้ได้ดีจริงๆ ฉันสร้างรูปแบบจุดรวมของจุดเพื่อแสดงท่าทาง - นี่คือรูปร่างที่จะวาด จากนั้นฉันก็เก็บเส้นทางของเคอร์เซอร์ขณะที่มันเคลื่อนที่ไปรอบ ๆ ต่อไปฉันปรับขนาดเส้นทางเมาส์นี้เพื่อให้มีความกว้างและความสูงเท่ากับรูปแบบเป้าหมาย การอัปเดตทุกครั้งที่ฉันวนลูปผ่านทุกจุดของเส้นทางเคอร์เซอร์ของฉันทำให้แน่ใจว่าพวกมันอยู่ในระยะทางที่กำหนดของโหนดท่าทางท่าทางโดยดูที่จุดเส้นทางท่าทางแต่ละจุด


0

ฉันสอน Game AI โดยหนึ่งในผู้พัฒนานำของAiLive (เขาอยู่ในวิดีโอ) และคำตอบสั้น ๆ ก็คือการพยายามจดจำความรู้สึกด้วยท่าทางเหล่านี้มันเจ็บปวดเกินกว่าจะใช้ชีวิตของคุณ ฉันขอแนะนำให้ไปที่เส้นทางมิดเดิลแวร์และรับชุด LiveMove ของ AiLive

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.