บทที่ 7 การสร้างเทคโนโลยีเสมือนจริง หลักสูตรวิทยาศาสตรบัณฑิต สาขาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
ARToolKit Document AR-ToolKit เป็น SDK ที่พัฒนาขึ้นโดยภาษา C และ C++ เพื่อใช้เป็นแกนในการพัฒนา โปรแกรมประยกตุ ์ทางด้าน AR เครื่องมือ AR-ToolKit จะมีฟังก์ชั่นสำหรับสวนของการิวิเคราะห์ภาพ (Image Analysis) และ ส่วนคำนวณตำแหน่งเชิง 3 มิติ (Pose Estimation) ที่ค่อนข้างสมบูรณ์ การพัฒนา AR Application โดยใช้ ARToolKit นั้นประกอบไปด้วย2 สวนหลัก ด้วยกันคือ การเขียน Application และ ส่วนของการทำให้โปรแกรมรู้จักMarker ที่จะใช้กับโปรแกรม (Marker Training) โดยรูปแบบพื้นฐานของโปรแกรมในส่วนของ Application จะมีการทํางานดังภาพต่อไปนี้
หลักการทำงานของ ARToolKit โดยที่ขั้นตอนที่ 2 – 5 จะวนทํางานไปเรื่อยๆ จนกวาเราจะออกจาก Application ซึ่งกระบวนการเหลานี้อาจจะมีตองมีการรับคาจากผูใช้ (เม้าส, คียบอรด) หรือ Application อื่นๆที่เกี่ยวของ ในขณะที่ขั้นตอนที่ 1 จะเปนสวนของการเตรียมความพรอมกอนการทํางานและขั้นตอน 6 จะเปนสวนของการ สิ้นสุดการทํางานของ Application จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การเก็บข้อมูลของการรู้จำรูปแบบของ ARToolKit รูปแสดงลักษณะของ Pattern แบบ Id (ซ้าย) และ Template (ขวา) จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การเก็บข้อมูลของการรู้จำรูปแบบของ ARToolKit ลักษณะของ Pattern ที่ ARToolkit Plus ตรวจสอบได้จะมี 2 แบบ คือ Id – Markers และ Template – Marker โดย Id – Marker นี้จะเป็นรูปแบบมาตรฐานของ ARToolkit Plus ซึ่งไม่ต้องทําการเรียนรู้รูปแบบ (Train) โดยจะมีการทำงานและการประมวลผลที่เร็วกว่า่ Template – Marker ในการสร้างไฟล์ Pattern แบบ Template – Marker นี้จําเป็นต้องมีการเรียนรู้และจดจํา รูปแบบก่อน โดย ARToolKit จะเตรียมเครื่องมือที่ใช้สำหรับการแปลงรูปแบบ Pattern เป็นสัญลักษณ์ไว้ให้แล้ว หรือสามารถสร้างไฟล์ Pattern ผ่านWeb Application ก็ได้ โดยรูปแบบไฟล์ที่สร้างมาได้จากโปรแกรมดังกล่าว จะเป็นไฟล์ที่เก็บในลักษณะของ Binary Image ซึ่งอ้างอิงถึง Pattern ในรูปแบบที่ได้จัดทำเอาไว้ดงภาพ จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
แสดงรูปแบบของไฟล์ Pattern ที่สร้างขึ้นมาจากเครื่องมือของ ARToolKit จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างรหัสภาพ(Marker) แสดงขั้นตอนการทำงานที่ 1 ถึง 6 ของ Martin Hirzer Algorithm จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างรหัสภาพ(Marker) เป็นงานวิจัยในการนำเสนอแนวคิดใหม่ สำหรับการตรวจสอบหา มาร์คเกอร์ซงึ่จะมีพื้นฐาน จากการใช้อัลกอริทึมในการหาขอบเข้าช่วยซึ่งอัลกอริทึมนี้จะมีความทนต่อความบกพร่องของแสง เนื่องจากเป็นการแบ่งส่วนภาพและพิจารณาเป็นส่วนๆ แทนที่จะใช้อัลกอริทึม หาค่าขีดแบ่งอัตโนมัติ (Auto-Threshold) อีกด้วย จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างรหัสภาพ(Marker) โดยหลักการทำงานของการหามาร์คเกอร์นี้ สามารถแบ่งได้เป็น 7 ขั้นตอน คือ 1.) การแบ่งภาพเป็นส่วนๆ (Divide Image in Regions) เราจะทําการแบ่งภาพออกเป็นส่วนย่อยๆโดยจะมีความกว้างของแต่ละส่วนของรูปภาพเป็น 40 x 40 pixel และ ทำการแบ่งเส้นสำหรับตรวจหาขอบ หรือเรียกกว่า สแกนไลน์ (Scanline) เป็น 5 x 5 pixel ตลอดแนวรูปภาพ ซึ่งการแบ่งภาพออกเป็นส่วนๆนี้ จะช่วยให้การประมวลผลของ โปรแกรมมีความรวดเร็วยิ่งขน จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างรหัสภาพ(Marker) 2.) หาขอบในแต่ละบริเวณ (Detect edgels in regions) หลังจากการแบ่งพื้นที่ภาพเสร็จแล้ว เราจะนำการแปลงอนุพันธ์ ของเกาส์ (Derivative of Gaussian)มาใช้ในการหาขอบจากรูปภาพจากเส้นสแกนไลน์ (Scanline) ซึ่งการกระทำเช่นนี้จะ ช่วยลดเวลาในการประมวลผลของทั้งภาพลงไปได้อีกด้วย จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างรหัสภาพ(Marker) 3.) หาสวนของรูปภาพจากแต่ละบริเวณ (Find segmentes in regions) แสดงการตรวจสอบเส้นโดยใช้อัลกอริทึม RANSAC จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างรหัสภาพ(Marker) ในส่วนนี้จะใช้อัลกอริทึมในการจัดหมวดหมู่ คือ RANSAC-grouper algorithm (Random Sample Consensus) โดยมีวิธีการทํางานดังนี้ 3.1) ทำการเลือกสุ่มจุดใดๆสองจุด จากบริเวณเดียวกันเพื่อสันนิษฐานว่าเป็นเส้นตรง 3.2) นับจำนวนจุดที่ล้อมรอบในบริเวณของแต่ละเส้้น โดยจุดที่จะพิจารณาว่าอยู่ บนเส้น จะต้องมีตำแหน่งที่ใกล้เคียงกับเส้นที่กำหนดไว้ 3.3) ทำการวนซ้ำในข้อ 1 และ 2 ประมาณ 25 ครั้ง (สามารถกำหนดจำนวนครั้งเองได้ ตามต้องการ) 3.4) ทำการหาเส้นที่มีจุดบนเส้้นมากที่สุดขึ้นมา จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างรหัสภาพ(Marker) 4.) เชื่อมแต่ละส่วนของภาพเข้าด้วยกัน (Merge Segments to Lines) โดยจะเชื่อมสองสวนของภาพเข้าด้วยกันเมื่อ ส่วนของภาพ (จากขั้นตอนที่3) อยู่ในพื้นที่ ที่ใกล้เคียงกัน และจุดภาพตามแนวเส้้นตรงที่หามาได้อยู่บนขอบที่ได้มา(จากขั้นตอนที่ 2) 5.) ขยายเส้นไปตามแนวขอบ (Extend Lines Along Edge) จากการที่เราแบ่งเส้นในการหาขอบของภาพ (Scanlines) ออกเป็น 5 x 5 pixel ทําให้เส้นที่ทํา การเชื่อมในขั้นตอนที่ 4 นั้นอาจไม่ตรงกับมาร์กเกอร์ที่แท้จริง ดังนั้นเราจะทำการขยายเส้นนี้ออก จนกระทั่งเราตรวจสอบเจอมุม หรือจุดตัดกันของเส้นนี้ 6.) ทําการลบเส้นที่ตรวจสอบไม่พบมุมออกไปุ (Keep Lines With Corners) จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างรหัสภาพ(Marker) 7.) ทําการตรวจหามาร์คเกอร์ (Find Markers) (แสดงการตรวจสอบขอบของมาร์คเกอร์โดยใช้อัลกอริทึมของ Martin Hirzer) เราจะทําการหากลุ่มมของเส้นที่เชื่อมต่อกัน 4 เส้น โดยทำการใช้ Cross Product ของเส้นสองเส้น ในการหาว่าเป็นเส้นที่เชื่อมต่อกันหรือไม่จากนั้นเราจะได้เส้นกรอบของมาร์คเกอร์ซึ่งจะนำไปตรวจสอบเพื่อระบุชนิด หรือรูปแบบของ มาร์คเกอร์ต่อไป จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
เครื่องมือในการพัฒนา Augmented Reality ส่วน Software • คอมพิวเตอร์ส่วนบุคคล (Personal Computer, PC) ที่มีสมรรถนะสูงโดยเฉพาะความสามารถทางด้านการแสดงผล • กล้องวิดีโอเช่น Webcam ที่มีคุณภาพสูง (ควรจะมีความละเอียด 5 ล้าน พิกเซลขึ้นไป) • Laser Printer ที่มีความละเอียดสูงสำหรับการพิมพ์ Marker จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
เครื่องมือในการพัฒนา Augmented Reality ส่วน Software - Visual Studio 2008โดยใช้ภาษา C++ ในการพัฒนา - VideoInput Library ช่วยในการรับผลจาก กล้องเว็ปแคมเข้าคอมพิวเตอร์ - ARToolkit Plus เป็น Library ที่ใช้ในการตรวจสอบมาร์คเกอร์ - OGRE เป็น Graphic Engine ช่วยในการขึ้นรูปโมเดล - OGRE App Wizard ช่วยในการขึ้นโครงสำหรับการใช้ OGRE - CEGUI ใช้สาหรับสร้าง GUI ร่วมกับโปรแกรม OGRE จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การประยุกต์ใช้งาน Augmented Reality การประยุกต์ใช้ในอุตสาหกรรม เช่น อุตสาหกรรมสร้าง เครื่องบิน อุตสาหกรรมผลิตรถยนต์ โดยบริษัท BMW ได้ใช้ เทคโนโลยีเสมือนจริงมาช่วยในการผลิต โดยให้ผู้ใช้ได้เรียนรู้การ ทำงานด้วยการใส่แว่นตาที่จะมีคำแนะนำและจำลองการทำงาน แสดงให้เห็นแต่ละขั้นตอนก่อนปฏิบัติจริงแบบ 3 มิติ จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การประยุกต์ใช้งาน Augmented Reality การประยุกต์ใช้ทางด้านการแพทย์ เช่น การเรียบเรียง หลักการประยุกต์ใช้ภาพเสมือนจริงทางการแพทย์ โดยการเพิ่มตัว ต่อประสานระบบสัมผัสภาพ 3 มิติ เพื่อเพิ่มความสมจริงในการ รักษา และให้นักศึกษาแพทย์ได้ใช้เครื่องมือแพทย์รักษาหรือผ่าตัด ผู้ป่วยแบบไม่ต้องสัมผัสกับผู้ป่วยจริง มีการนำเทคโนโลยีเสมือน จริงจำลองการผ่าตัดผ่านระบบ ARI*SER โดยทางมหาวิทยาลัย แพทยศาสตร์ Ganz ได้แปลงให้เป็นระบบจำลองการผ่าตัดตับ เสมือนจริง
การประยุกต์ใช้งาน Augmented Reality สำหรับ Mobile AR มีการนำเสนอการแต่งบ้านด้วยมือ ถือจาก IKEA ที่ทำให้ลูกค้าเป็นสถาปนิกด้วยตัวเอง โดยไม่ต้องเสีย เงิน เพียงแค่ใช้โทรศัพท์มือถือแล้วเลือกรูปสินค้าในหมวด IKEA PS จากนั้นกดถ่ายรูป และเลื่อนตำแหน่งโทรศัพท์มือถือไปถ่ายในมุม ที่ต้องการวางเฟอร์นิเจอร์ จะเห็นมุมห้องที่มีเฟอร์นิเจอร์ตามที่ เลือกไว้ โดยสามารถบันทึกภาพและส่งต่อให้เพื่อนผ่าน MMS ได้ จัดทำและเรียบเรียงโดย นศ.หลักสูตรวิทยาการคอมพิวเตอร์ ม.สวนดุสิต
การสร้างเทคโนโลยีเสมือนจริง จบการนำเสนอ บทที่ 7 การสร้างเทคโนโลยีเสมือนจริง จัดทำและเรียบเรียงโดย จุฑาวุฒิ จันทรมาลี วันที่ 9 มี.ค. 59