แอนิเมชั่นใบหน้าแบบเรียลไทม์ สแกนใบหน้าสำหรับอวตาร

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

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

แอนิเมชั่นใบหน้า

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

วิธี

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

การตรวจจับใบหน้า

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

FACS การถดถอย 

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

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

การฝึกอบรม

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

ขาดทุน

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

  • การสูญเสียตำแหน่ง สำหรับจุดสังเกต RMSE ของตำแหน่งถดถอย (L lmks ) และสำหรับตุ้มน้ำหนัก FACS คือ MSE (L facs ) 
  • การสูญเสียชั่วคราว สำหรับตุ้มน้ำหนัก FACS เราลดความกระวนกระวายใจโดยใช้การสูญเสียชั่วขณะเหนือลำดับแอนิเมชั่นสังเคราะห์ การสูญเสียความเร็ว (L v ) โดยได้รับแรงบันดาลใจจาก [ Cudeiro et al. 2019 ] คือ MSE ระหว่างเป้าหมายกับความเร็วที่คาดการณ์ไว้ ส่งเสริมความราบรื่นโดยรวมของการแสดงออกแบบไดนามิก นอกจากนี้ยังมีการเพิ่มเงื่อนไขการทำให้เป็นมาตรฐานในการเร่งความเร็ว (L acc ) เพื่อลดการกระวนกระวายใจของน้ำหนัก FACS (น้ำหนักของมันยังคงต่ำเพื่อรักษาการตอบสนอง) 
  • การสูญเสียความสม่ำเสมอ เราใช้ภาพจริงโดยไม่มีคำอธิบายประกอบในการสูญเสียความสอดคล้องแบบไม่มีผู้ดูแล (L c ) คล้ายกับ [ Honari et al. 2561 ]. สิ่งนี้สนับสนุนการคาดคะเนจุดสังเกตให้มีความเท่าเทียมกันภายใต้การแปลงภาพที่แตกต่างกัน ปรับปรุงความสอดคล้องของตำแหน่งจุดสังเกตระหว่างเฟรมโดยไม่ต้องใช้ป้ายกำกับจุดสังเกตสำหรับชุดย่อยของรูปภาพการฝึก

ประสิทธิภาพ

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

โมเดลสุดท้ายของเรามี 1.1 ล้านพารามิเตอร์ และต้องใช้ 28.1 ล้านคูณสะสมเพื่อดำเนินการ สำหรับการอ้างอิง vanilla Mobilenet V2 (ซึ่งอิงตามสถาปัตยกรรมของเรา) ต้องการการสะสมคูณ 300 ล้านเพื่อดำเนินการ เราใช้ เฟรมเวิ ร์ก NCNNสำหรับการอนุมานโมเดลบนอุปกรณ์ และเวลาดำเนินการแบบเธรดเดียว (รวมถึงการตรวจหาใบหน้า) สำหรับเฟรมของวิดีโอแสดงอยู่ในตารางด้านล่าง โปรดทราบว่าเวลาดำเนินการ 16ms จะรองรับการประมวลผล 60 เฟรมต่อวินาที (FPS) 

อะไรต่อไป

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

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

Face-sso (By K&O) หากท่านสนใจ เครื่องสแกนใบหน้ารุ่นต่างๆ หลากหลายรุ่น หรือ ติดตั้งระบบสแกนใบหน้า สามารถติดต่อสอบถามได้โดยตรง เรามีแอดมินคอยคอบคำถาม 24 ชั้วโมงที่ Line OA เครื่องสแกนใบหน้า สามารถ ขอราคาพิเศษได้ ตามงบประมาณที่เหมาะสม สอบถามได้สบายใจทั้ง เรื่องค่าบริการ ราคา และ งบประมาณ มั่นใจเพราะเป็นราคาที่สุด คุ้มค่าที่สุด

หากท่านมีความสนใจ บทความ หรือ Technology สามารถติดต่อได้ตามเบอร์ที่ให้ไว้ด้านล่างนี้
Tel.086-594-5494
Tel.095-919-6699

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *