1 / 67

เฟรมเวิร์กของส่วนต่อประสานกับผู้ใช้ผ่านศีรษะมนุษย์เสมือนโดยใช้โมโนสโกปิกฟิชแทงก์วีอาร์

เฟรมเวิร์กของส่วนต่อประสานกับผู้ใช้ผ่านศีรษะมนุษย์เสมือนโดยใช้โมโนสโกปิกฟิชแทงก์วีอาร์. นำเสนอโดย นาย อรรถกร พูนศิลป์ อาจารย์ที่ปรึกษาวิทยานิพนธ์ อ.ดร.อรรถวิทย์ สุดแสง ภาควิชาวิศวกรรมคอมพิวเตอร์ จุฬาลงกรณ์มหาวิทยาลัย. Outline. ความเป็นมาและความสำคัญของปัญหา งานวิจัยและทฤษฎีที่เกี่ยวข้อง

tate-quinn
Download Presentation

เฟรมเวิร์กของส่วนต่อประสานกับผู้ใช้ผ่านศีรษะมนุษย์เสมือนโดยใช้โมโนสโกปิกฟิชแทงก์วีอาร์

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • ความเป็นมาและความสำคัญของปัญหา • งานวิจัยและทฤษฎีที่เกี่ยวข้อง • รายละเอียดในการพัฒนา • การทดลองและผลการทดลอง • สรุป

  3. ความเป็นมาและความสำคัญของปัญหาความเป็นมาและความสำคัญของปัญหา

  4. ความเป็นมาและความสำคัญของปัญหาความเป็นมาและความสำคัญของปัญหา • User Interface ที่ใช้กันทั่วไปตั้งแต่อดีตถึงปัจจุบัน • ส่วนใหญ่จำกัดแค่แป้นพิมพ์และเมาส์ • ไม่เป็นธรรมชาติต้องใช้เวลาศึกษาเรียนรู้ • การนำเสนอขาดความน่าสนใจ • User Interface ที่นำเสนอ • ใช้ภาษาพูด และภาษาท่าทางประกอบ • เป็นธรรมชาติ คนที่ไม่เคยใช้มาก่อนก็สามารถใช้งานได้ทันที • ดึงดูดความสนใจได้มากกว่า

  5. ความเป็นมาและความสำคัญของปัญหาความเป็นมาและความสำคัญของปัญหา • แนวคิดของงานวิจัยนี้ • พูดคุย และมีปฏิกิริยาต่างๆ ไปยังผู้ใช้งานได้

  6. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง

  7. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง • Jun Rekimoto, A Vision-Based Head Tracker for Fish Tank Vitual Reality - VR without Head Gear.Proceedings of VRAIS'95 ,1995, Pages 94-100 • ตรวจจับตำแหน่งผู้ใช้งาน • นำตำแหน่งไปปรับมุมมองแบบฟิชแทงก์วีอาร์ของโมเดลสามมิติ

  8. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง

  9. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง • ข้อจำกัด • ผู้ใช้ต้องอยู่ห่างจากกล้องเป็นระยะที่คงที่ • ต้องเก็บภาพต้นแบบใบหน้าไว้ก่อน และไม่ทนทานต่อสภาพแสงที่เปลี่ยน

  10. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง • Paula Salgado Lucena, Marcelo Gattass, and Luiz Velho. Expressive Talking Heads: A Study on Speech and Facial Expression in Virtual Characters.Revista SCIENTIA, 2002. • Talking Head ที่สามารถพูดตามสคริปต์ และขยับปากสอดคล้องกับเสียงพูด • กรอกลูกตาไปมา และ แสดงอารมณ์ได้

  11. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง • ตัวอย่างใบหน้าที่ใช้

  12. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง • ข้อจำกัด • พูดตามข้อความที่ป้อนโดยผู้ใช้เท่านั้น • ไม่สามารถรับรู้ความเป็นไปของผู้ใช้งาน

  13. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง • Cynthia Breazeal, Brian Scassellati, How to build robots that make friends and influence people., IROS99, Kyonjiu, Korea, 1999. • มีลักษณะเป็นหุ่นยนต์ที่มีเฉพาะส่วนของศีรษะ • แสดงออกทางอารมณ์ได้ และพูดคุยง่ายๆ ได้ • รับรู้ปฏิกิริยาของผู้ใช้งานได้ • เป็นเพื่อนเล่นกับเด็กๆ ได้

  14. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง

  15. งานวิจัยที่เกี่ยวข้องงานวิจัยที่เกี่ยวข้อง • ข้อจำกัด • มีต้นทุนในการสร้างที่สูง • ลักษณะภายนอกเป็นหุ่นยนต์ที่ไม่เหมือนหน้าคนจริง

  16. รายละเอียดในการพัฒนา

  17. รายละเอียดในการพัฒนา • ความสามารถของระบบ • แสดงโมเดลสามมิติของศีรษะมนุษย์เสมือนจริง • สามารถมองไปยังผู้ใช้ได้ • สนทนาพูดคุยกับผู้ใช้ได้ • แสดงอารมณ์ ได้แก่ ปกติ ยิ้ม เศร้า ประหลาดใจ หวาดกลัว โกรธ และสะอิดสะเอียน • สามารถปรับมุมมองให้สอดคล้องกับตำแหน่งของผู้ใช้โดยใช้ฟิชแทงก์วีอาร์

  18. INPUT Text Input Speech Recognition Engine Pattern Tracker Main Process 3D Reconstructor A.L.I.C.E Bot Fish Tank VR AIML (ALICE Brain) Text Filter Text-to-speech Engine Lip Eyes Camera Perspective 3D Head Model OUTPUT โครงสร้างการทำงาน

  19. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • ผู้ใช้ต้องสวมหมวกที่ติดรูปแบบตรวจจับ เพื่อให้กล้องรับภาพเข้ามาประมวลผลหาตำแหน่ง

  20. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • เหตุผลที่ใช้รูปแบบตรวจจับแบบที่กล่าวมา • ประมวลผลหาตำแหน่งได้อย่างรวดเร็วกว่าการตรวจจับใบหน้าโดยตรง • ไม่จำเป็นต้องเทรนระบบให้รู้จำใบหน้าผู้ใช้แต่ละคน • การตรวจจับสี่เหลี่ยมสีดำบนพื้นขาวทำได้อย่างแม่นยำและคงทน (Robust) กว่ารูปแบบอื่นๆ • หากรูปสี่เหลี่ยมมีจำนวนมากกว่าสอง จะมีโอกาสเกิดความผิดพลาดมากขึ้น เพราะจุดมีจำนวนมากขึ้น • หากรูปสี่เหลี่ยมมีเพียงรูปเดียว อาจมีรูปร่างซ้ำกับวัตถุอื่นๆ เช่น จอมอนิเตอร์ทำให้การตรวจจับผิดพลาดง่าย

  21. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • เมื่อรับภาพมาจากกล้อง ขั้นตอนแรกคือการปรับแก้การบิดเบี้ยวในแนวรัศมีของภาพ (Undistortion)

  22. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • ตัวอย่างภาพที่ปรับแก้การบิดเบี้ยวในแนวรัศมีแล้ว

  23. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • แปลงจากภาพสีให้เป็นภาพระดับเทา (Gray Scale)

  24. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • ขยายขนาดจุดสว่าง (Dilation)

  25. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • แปลงให้เป็นภาพไบนารี โดยใช้ค่าเทรชโฮล (Threshold) จากค่าเฉลี่ยของความสว่างทั่วทั้งภาพ

  26. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • หาเส้นรอบรูป (Contour)

  27. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • ตัดเส้นที่ล้อมรอบของจุดสว่าง ให้เหลือแต่เส้นที่ล้อมรอบกลุ่มของจุดมืด • ตัดเส้นรอบรูปที่มีพื้นที่น้อยกว่าที่กำหนดออก

  28. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • เลือกเฉพาะเส้นที่คล้ายสี่เหลี่ยม • เลือกเฉพาะเส้นที่มีลักษณะนูนโค้ง (Convex)

  29. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • ในขั้นตอนนี้ อาจมีกรณีที่มีเส้นรอบรูปจากวัตถุอื่นที่ไม่ใช่รูปแบบตรวจจับก็ได้ แก้โดยการเลือกเอาเฉพาะเส้นสี่เหลี่ยมสองรูปที่มีมุมติดกัน

  30. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • เฉลี่ยค่าตำแหน่งจุดมุมทุกจุดจาก 4 เฟรมล่าสุดเพื่อลดการกระตุกและกระโดดของตำแหน่งที่ตรวจจับได้

  31. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • ภาพผลลัพธ์

  32. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • ตรวจจับตำแหน่งผู้ใช้ (x,y,z) จากตำแหน่ง (x,y) ของจุดมุมทั้ง 7 จุด • ใช้เทคนิค Camera Calibration • Intrinsic Camera Parameters • ความยาวโฟกัส (Focal length) • ตำแหน่งของจุดกึ่งกลางภาพ (Principal point) • ขนาดของแต่ละจุดภาพ (Effective pixel size) • สัมประสิทธิ์การบิดเบี้ยวในแนวรัศมีของเลนส์ (Radial distortion coefficient) • Extrinsic Camera Parameters • เมตริกซ์การหมุน (Rotation matrix) • เวกเตอร์การเคลื่อนที่ (Translation vector)

  33. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • จุดในพิกัดสามมิติ M และจุดที่ปรากฏบนภาพ m เป็นไปตามความสัมพันธ์ • ต้องการหา [Rt] เพื่อนำไปใช้งาน • m คือตำแหน่งในภาพของจุดมุมทั้งเจ็ด • M คือตำแหน่งจริงที่ได้จากการวัดแบบ Relative ของจุดมุมทั้งเจ็ด • A (Intrinsic parameters) หาได้จากการทำ Camera calibration โดยต้องหาให้เสร็จสิ้นก่อนที่ระบบจะเริ่มทำงาน

  34. การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพการตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ • Translation Vector ที่ได้คือตำแหน่ง (x,y,z) ของรูปแบบตรวจจับเทียบกับกล้อง • สามารถหาตำแหน่งของตาเทียบกับกล้อง (รูปแบบตรวจจับมีตำแหน่งที่คงที่เทียบกับตา) • สามารถหาตำแหน่งของตาเทียบกับกึ่งกลางจอภาพ • ตำแหน่งพิกัดสามมิติที่ได้มีหน่วยเป็นเซนติเมตร (cm)

  35. คำนวณหาพารามิเตอร์แบบภายในคำนวณหาพารามิเตอร์แบบภายใน รับภาพจากกล้อง ปรับแก้การบิดเบี้ยวตามแนวรัศมี ตรวจจับจุดมุมทั้ง 7 จุด คำนวณหาพารามิเตอร์แบบภายนอก คำนวณหาตำแหน่งตาผู้ใช้เทียบกับจอภาพ แล้วนำไปใช้งาน การตรวจหาตำแหน่งของผู้ใช้เทียบกับจอภาพ

  36. การปรับมุมมองให้สัมพันธ์กับตำแหน่งของผู้ใช้การปรับมุมมองให้สัมพันธ์กับตำแหน่งของผู้ใช้ • ใช้เทคนิค Fish-Tank VR • แสดงภาพกราฟฟิกผ่านจอมอนิเตอร์ธรรมดา • ใช้ระบบการติดตามตำแหน่งของศีรษะผู้ใช้ (Head Tracking) • ปรับมุมมองหรือเพอสเปกทีฟให้สัมพันธ์กับตำแหน่งดวงตาผู้ใช้ในขณะนั้น • ถ้าใช้ร่วมกับแว่นตาสามมิติจะเป็นแบบ stereoscopic แต่ถ้าไม่ได้ใช้ร่วมกับแว่น ก็จะเป็นแบบ monoscopic

  37. การปรับมุมมองให้สัมพันธ์กับตำแหน่งของผู้ใช้การปรับมุมมองให้สัมพันธ์กับตำแหน่งของผู้ใช้ • Fish-Tank VR

  38. การปรับมุมมองให้สัมพันธ์กับตำแหน่งของผู้ใช้การปรับมุมมองให้สัมพันธ์กับตำแหน่งของผู้ใช้ • กล้องในโลกสามมิติและการกำหนดเพอสเปกทีฟ

  39. +y Entire Screen Area (xmax, ymax, 0) (0,0,0) +x (xmin, ymin, 0) Camera Direction (trans[0], trans[1], trans[2]) การปรับมุมมองให้สัมพันธ์กับตำแหน่งของผู้ใช้ Window Area

  40. การทำให้โมเดลสบตาผู้ใช้การทำให้โมเดลสบตาผู้ใช้ • แยกชิ้นโมเดลระหว่างใบหน้าและดวงตาทั้งสองข้าง

  41. การทำให้โมเดลสบตาผู้ใช้การทำให้โมเดลสบตาผู้ใช้

  42. การพูดคุยโต้ตอบ • ใช้ A.L.I.C.E Bot • ติดต่อผ่านพอร์ต 2001 • ฐานข้อมูลประโยคสนทนาเก็บไว้ในไฟล์ AIML

  43. การพูดคุยโต้ตอบ • รูปแบบการติดต่อกับ A.L.I.C.E Bot • “text = ข้อความที่อยากจะพูดคุย” ส่งไปที่พอร์ต 2001 • จะได้รับการตอบกลับเป็นข้อความเช่นเดียวกัน • เมื่อได้ Output จาก A.L.I.C.E Bot ออกมาแล้ว ก็จำเป็นต้องนำเข้าสู่กระบวนการกรองข้อความก่อนที่จะสังเคราะห์เป็นเสียง

  44. ระบบกล้ามเนื้อบนใบหน้าระบบกล้ามเนื้อบนใบหน้า • แสดงจุดยอด, โพลีกอนและเส้นไวร์เฟรม

  45. ระบบกล้ามเนื้อบนใบหน้าระบบกล้ามเนื้อบนใบหน้า • จำลองระบบกล้ามเนื้อจากคนจริง • มีสองสถานะคือ ยืด (Relax) และ หด (Contract)

  46. V1 V2 V1 V2 V3 V3 ระบบกล้ามเนื้อบนใบหน้า

  47. ระบบกล้ามเนื้อบนใบหน้าระบบกล้ามเนื้อบนใบหน้า • ปรับกล้ามเนื้อเพื่อให้มีลักษณะการยิ้ม

  48. ระบบกล้ามเนื้อบนใบหน้าระบบกล้ามเนื้อบนใบหน้า • ปรับกล้ามเนื้อเพื่อให้มีลักษณะหน้าบึ้ง

  49. ระบบกล้ามเนื้อบนใบหน้าระบบกล้ามเนื้อบนใบหน้า • การปรับขากรรไกรเพื่อให้อ้าปาก

  50. การขยับปากให้สอดคล้องกับเสียงพูดการขยับปากให้สอดคล้องกับเสียงพูด • Text-to-speech จะส่ง “Viseme” ออกมาขณะทำงาน • Viseme คือรูปแบบปากที่สัมพันธ์กับหน่วยเสียงหนึ่งๆ • เก็บรูปแบบปากทั้งหมดไว้ในไฟล์ก่อน • ค่าการยืดหดกล้ามเนื้อแต่ละเส้น • ค่าองศาขากรรไกร • เรียกใช้รูปแบบปากที่ต้องการจากไฟล์

More Related