Inside the Tech - การแก้ปัญหาการแสดงออกทางสีหน้าของ Avatar - บล็อก Roblox

Inside the Tech – การแก้ปัญหาการแสดงออกทางสีหน้าของ Avatar – Roblox Blog

โหนดต้นทาง: 3039939

Inside the Tech เป็นซีรีส์บล็อกที่มาพร้อมกับเรา พอดคาสต์พูดคุยด้านเทคนิค. ในตอนที่ 20 ของพอดแคสต์ Avatars & Self-Expression David Baszucki CEO ของ Roblox ได้พูดคุยกับผู้อำนวยการอาวุโสฝ่ายวิศวกรรม Kiran Bhat ผู้อำนวยการอาวุโสฝ่ายผลิตภัณฑ์ Mahesh Ramasubramanian และผู้จัดการผลิตภัณฑ์หลัก Effie Goenawan เกี่ยวกับอนาคตของการสื่อสารที่ดื่มด่ำผ่านรูปประจำตัวและ ความท้าทายทางเทคนิคที่เรากำลังแก้ไขเพื่อให้สามารถเปิดใช้งานได้ ใน Inside the Tech ฉบับนี้ เราได้พูดคุยกับ Ian Sachs ผู้จัดการฝ่ายวิศวกรรมเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับหนึ่งในความท้าทายทางเทคนิคเหล่านั้น — การเปิดใช้งานการแสดงออกทางสีหน้าสำหรับอวตารของเรา — และวิธีที่ทีมงานสร้างอวาตาร์ (ภายใต้กลุ่มเครื่องยนต์) กำลังช่วยให้ผู้ใช้แสดงออกถึงความเป็นตัวเอง บนโรบ็อกซ์

อะไรคือความท้าทายทางเทคนิคที่ใหญ่ที่สุดที่ทีมของคุณกำลังเผชิญอยู่?

เมื่อเราคิดว่าอวตารเป็นตัวแทนของใครบางคนบน Roblox ได้อย่างไร เราจะพิจารณาสองสิ่ง: มันทำงานอย่างไรและมีลักษณะอย่างไร ดังนั้นสิ่งสำคัญประการหนึ่งสำหรับทีมของฉันคือการทำให้อวตารสามารถสะท้อนการแสดงออกของบุคคลได้ ตัวอย่างเช่น เมื่อมีคนยิ้ม อวาตาร์ก็จะยิ้มไปพร้อมๆ กัน 

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

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

แนวทางและโซลูชันที่เป็นนวัตกรรมบางส่วนที่เราใช้เพื่อรับมือกับความท้าทายทางเทคนิคเหล่านี้มีอะไรบ้าง

เราได้ทำสิ่งสำคัญสองสามประการเพื่อให้แน่ใจว่าเราได้รับข้อมูลที่ถูกต้องสำหรับการแสดงออกทางสีหน้า ที่เริ่มต้นด้วยการใช้ FACS (Facial Animation Control System) ที่เป็นมาตรฐานอุตสาหกรรม สิ่งเหล่านี้เป็นกุญแจสำคัญในทุกสิ่งเพราะเป็นสิ่งที่เราใช้ขับเคลื่อนการแสดงออกทางสีหน้าของอวาตาร์ เช่น ปากกว้างแค่ไหน ตาข้างไหนเปิด และเท่าไหร่ และอื่นๆ เราสามารถใช้ตัวควบคุม FACS ที่แตกต่างกันได้ประมาณ 50 รายการเพื่ออธิบายการแสดงออกทางสีหน้าที่ต้องการ 

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

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

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

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

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

สิ่งสำคัญที่คุณได้เรียนรู้จากการทำงานด้านเทคนิคนี้มีอะไรบ้าง

หนึ่งคือการทำให้ฟีเจอร์ใช้งานได้เป็นส่วนเล็กๆ ของสิ่งที่ต้องทำเพื่อเผยแพร่บางสิ่งให้ประสบความสำเร็จ งานจำนวนมากอยู่ในกระบวนการทางวิศวกรรมและการทดสอบหน่วย เราจำเป็นต้องตรวจสอบให้แน่ใจว่าเรามีวิธีที่ดีในการพิจารณาว่าเรามีท่อข้อมูลที่ดีหรือไม่ และเราต้องถามตัวเองว่า “เฮ้ โมเดลใหม่นี้ดีกว่ารุ่นเก่าจริงหรือ?”

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

ทีมของคุณสอดคล้องกับค่า Roblox ใดมากที่สุด?

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

อะไรทำให้คุณตื่นเต้นมากที่สุดเกี่ยวกับทิศทางของ Roblox และทีมของคุณ?

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

ประทับเวลา:

เพิ่มเติมจาก Roblox