通过MediaPipe解决方案来为虚拟主播带来更逼真真实感

2023-07-12 18:10:34来源:YiVian


查看引用/信息源请点击:映维网Nweon

通过MediaPipeFaceLandmarker解决方案来为虚拟形象带来真实感

映维网Nweon2023年07月12日)如果熟悉Bilibili或YouTube,你应该不会对,虚拟UP主/虚拟主播/VTuber感到陌生。这是指使用虚拟形象在视频网站进行投稿活动的主播。

拥有4000多万客户的日本电信运营商KDDI正在利用5G网络实验一系列的技术,但团队发现实时获得准确的动作和类人表情是一项挑战。所以,他们与谷歌进行合作,通过MediaPipeFaceLandmarker解决方案来为虚拟形象带来真实感。

无我VR 聚合新闻

=1andlen(mp_result.face_blendshapes)>=1:self.landmarks=mp_result.face_landmarks[0]self.blendshapes=[b.scoreforbinmp_result.face_blendshapes[0]]defupdate(self,frame):t_ms=int(time.time()*1000)ift_ms<=self.latest_time_ms:returnframe_mp=mp.Image(image_format=mp.ImageFormat.SRGB,data=frame)self.model.detect_async(frame_mp,t_ms)self.latest_time_ms=t_msdefget_results(self):returnself.landmarks,self.blendshapes

FirebaseRealtimeDatabase数据库储储了52个blendshape浮动值的集合。每行对应一个特定的blendshape,按顺序列出。

_neutral,browDownLeft,browDownRight,browInnerUp,browOuterUpLeft,...

当摄像头开启和FaceMesh模型运行时,blendshape值会不断实时更新。在每一帧中,数据库都反映最新的blendshape值,捕获FaceMesh模型检测到的面部表情的动态变化。

无我VR 聚合新闻

提取blendshapes数据后,下一步是将其传输到FirebaseRealtimeDatabase。通过利用这种先进的数据库系统,这可以确保实时数据无缝地流向客户端,从而消除了对服务器可扩展性的担忧,并确保KDDI能够专注于交付简化的用户体验。

importconcurrent.futuresimporttimeimportcv2importfirebase_adminimportmediapipeasmpimportnumpyasnpfromfirebase_adminimportcredentials,dbpool=concurrent.futures.ThreadPoolExecutor(max_workers=4)cred=credentials.Certificate('your-certificate.json')firebase_admin.initialize_app(cred,{'databaseURL':'https://your-project.firebasedatabase.app/'})ref=db.reference('projects/1234/blendshapes')defmain():facemesh_detector=FaceMeshDetector()cap=cv2.VideoCapture(0)whileTrue:ret,frame=cap.read()facemesh_detector.update(frame)landmarks,blendshapes=facemesh_detector.get_results()if(landmarksisNone)or(blendshapesisNone):continueblendshapes_dict={k:vfork,vinenumerate(blendshapes)}exe=pool.submit(ref.set,blendshapes_dict)cv2.imshow('frame',frame)ifcv2.waitKey(1)&0xFF==ord('q'):breakcap.release()cv2.destroyAllWindows()exit()

无我VR 聚合新闻

为了继续这一进程,开发人员将blendshapes数据实时从FirebaseRealtimeDatabase数据库无缝传输到GoogleCloud的ImmersiveStreamforXR实例。作为说明,GoogleCloud的ImmersiveStreamforXR是一项托管服务,它可以在云中运行Unreal引擎项目,实时渲染沉浸式逼真3D和增强现实体验,并将其传输到智能手机和浏览器。

这种集成确保KDDI能够驱动面部动画,并以最小的延迟实现面部动画的实时流式传输。

无我VR 聚合新闻

在Unreal引擎端,团队使用FirebaseC++SDK从Firebase无缝接收数据。通过建立数据库侦听器,可以在FirebaseRealtime数据库表中发生更新时立即检索blendshape值。这种集成允许实时访问最新的blendshape数据,在Unreal引擎项目中实现动态和响应式面部动画。

无我VR 聚合新闻

从FirebaseSDK中检索blendshape值后,可以在Unreal引擎中使用动画蓝图中的“ModifyCurve修改曲线”节点来驱动人脸动画。每个blendshape值在每一帧单独分配给虚拟角色,允许对角色的面部表情进行精确和实时控制。

无我VR 聚合新闻

在虚Unreal擎中实现实时数据库侦听器的一个有效方法是利用GameInstanceSubsystem,而它可以作为一个备选的单例模式。这允许创建一个专用的BlendshapesReceiver实例,负责在后台处理数据库连接、身份验证和连续数据接收。

通过利用GameInstanceSubsystem,可以在游戏会话的整个生命周期中实例化和维护BlendshapesReceiver实例。当动画蓝图使用接收到的blendshape数据读取和驱动面部动画时,这确保了持久的数据库连接。

仅使用一台运行MediaPipe的本地PC,,KDDI成功捕获了真人演员的面部表情和动作,并实时创建了高质量的3D重定向动画。

无我VR 聚合新闻

团队表示,这个MediaPipe集成是KDDI消除真实世界和虚拟世界之间界限的一个例子。KDDI正在Web3时代提供服务,包括虚拟世界、虚拟直播和虚拟购物,塑造一个任何人都可以成为创造者的生态系统,并支持新一代用户在现实世界和虚拟世界之间轻松移动。若有兴趣了解更多信息,你可以查看官方文档。

新闻媒体更多>>
  • VR网
  • Yivian
  • 青亭网
  • 麦逗VR
  • VR陀螺
  • 魔多VR