搜维尔科技:Faceware面部捕捉最佳实践!
视频源和分辨率:
-
我们的软件针对 RGB 彩色素材进行了优化,不支持使用红外摄像机。
-
我们建议视频分辨率为 720p 和 1080p。低于 720p 的分辨率可能会对跟踪质量产生负面影响,而高于 1080p 的分辨率会导致存储要求和传输时间增加,而不会带来明显的跟踪优势。
文件格式:
-
首选视频格式是 .mp4 和 .mov,首选编解码器是 h.264 和 ProRes。
-
我们建议帧速率为 60 fps,以实现高跟踪精度并减少运动模糊。
-
我们还接受标准帧速率,包括 24、25、29.97、30 和 59.94 fps。不建议帧速率超过 60 fps。
时间码:
-
我们的相机不记录时间码。为此,您将需要一个外部解决方案。
-
我们的数字录音机具有用于外部时间码解决方案的 LTC 输入。请确保时间码帧速率是相机帧速率的偶数倍。
准备 Mark IV 捕获会话
您的表演者:
-
确保表演者没有佩戴眼镜等遮挡物品。避免深色眼影、假睫毛和某些面部纹身。
-
有胡须的表演者应修剪面部毛发,以增强嘴部和下巴的可见度,以便有效跟踪。或者,如果修剪不可行,可以使用胡须蜡露出嘴唇。
-
让所有头发远离表演者的脸部;长发可以从头盔后面的马尾孔穿过。
-
为了便于跟踪,软件必须识别不同的面部群体。例如,浅肤色表演者的眉毛非常浅且细,可能无法很好地跟踪。
-
化妆可用于增强眉毛和嘴唇等面部特征的对比度。使用毛巾或粉末来减少油斑和汗水。
-
如果客户需要,可以在面部涂抹点。虽然 Faceware 的跟踪软件不需要面部点,但一些工作室选择将它们作为动画师参考。使用面部标记时,使其尽可能小。详情请参阅下图。

配件
-
使用套件中提供的泡沫垫来实现紧密贴合,优先考虑表演者的舒适度。
-
让表演者使用头盔后部的收紧机构来调整其贴合度,确保其不会太紧。
-
通过让表演者测试到位的快速动作来确认稳定性。
取景
-
安装杆应始终从头盔向下延伸,Faceware 徽标朝上。
-
首先调整安装杆,将摄像机放置在表演者视线下方,使鼻孔可见。
-
确保脸部的杠铃不要太低,因为眉毛和眼睛的清晰可见度至关重要。拧紧铝块以固定杆的位置。
-
接下来,调整相机的位置和旋转。保持表演者的脸部在画面中呈方形,相机大致指向正前方。
-
保持表演者的额头和下巴之间的平面一致,避免靠近镜头。
-
确保眉毛和头盔边缘之间有足够的空间,以防止跟踪程序造成混淆。
-
要求表演者短暂张开下巴,以确保其保持在画面内。
-
保持所有录制会话中的帧一致性。建议配备 HMC 技术人员在场,以确保生产范围内的一致性。

相机设置
-
确认相机配置了正确的分辨率和帧速率。
-
利用 QC 显示器上的对焦辅助功能来实现精确的相机对焦。

-
对相机进行白平衡,尤其是在拍摄区域中使用蓝色和绿色屏幕时。始终在主要拍摄空间内进行白平衡。
灯光
-
实现 HMC 光线在所有面部特征上的均匀分布。
-
确保相机的灯光作为主要或关键光源。
-
在整个录制过程中保持一致的照明条件。
-
避免在打开的窗户或自然光源附近录制。
-
录制之前,测试表演捕捉环境,以确保通过适当的照明实现均匀的面部曝光。
捕捉良好的中性表达
记录中性表情在离线和实时捕捉工作流程中都至关重要。中性框架用作校准参考,尤其是在跟踪阶段。校准可帮助系统了解您独特的面部特征,以实现准确跟踪。
为什么用中性面进行校准
-
Faceware 的技术可以识别通用人脸,但需要针对您的特定脸部进行校准。
-
捕获的中性帧的质量直接影响跟踪和动画数据的质量。
-
在 Faceware Portal 中,良好的中性框架对于 JSON 和 FWR Autosolve 工作流程至关重要。
捕捉中性表达
-
在每次会话中以及重新连接 HMC 后,记录每位表演者的中性表情。
-
要捕捉良好的中性表达:
-
指导表演者面朝前方,表情放松,闭上嘴。
-
要求表演者保持这个表情至少3秒。
-
确保表演者在此过程中不会张嘴或触摸脸部。
-
-
请记住遵循其他拍摄指南,尤其是有关取景和照明的指南。请参阅下图,了解良好的中性表达的示例:

绩效捕获清单
预拍摄
❏ 讨论客户接收素材的首选方法(例如,驱动器可用性)。
❏ 与音频团队协调与 Kipro 的任何硬件集成(如果适用)。
❏ 与客户确认命名约定。
❏ 验证硬盘驱动器上的可用空间。
❏ 确保手边有额外的充满电的电池和充电站。
❏ 确定是否需要运动范围 (ROM) 或面部点。
❏ 检查您的工作站是否有命名约定软件。
❏ 如果使用 PC 工作站,请准备好适用于 AJA Ki Pro 硬盘驱动器(Mac 格式)的 Mac 阅读器软件。
拍摄硬件设置
❏ 确保良好的照明,尤其是 VO 展位。
❏ 如果使用 VO 展位或有线表演采集 (pcap),请通过 pcap 皮带正确系住 BNC 电缆。
❏ 确认显示器显示网格覆盖和居中框架。
❏ 设置相机的白平衡。
❏ 验证相机的帧速率和分辨率(除非另有说明,否则为 720p)。
❏ 检查电池寿命。
❏ 确保 Shepherd 系统可运行,测试和回放已完成。
❏ 如果录制音频,请通过 Kipro 检查声音/音频表并验证音频质量。
❏ 管理 Faceware 站的电缆以防止危险。
❏ 在 Kipro 上设置并检查音频设置(例如线路电平要求)。
❏ 确认时间码接收 (LTC)(如果适用)。
❏ 在 Kipro 上监视 Super Out 以在监视器上查看录制状态/TC。
拍摄演员清单
❏ 确保演员已被取景并对焦(使用对焦辅助)。
❏ 如果需要,可以在演员的面部点上点。
❏ 组装后拧紧所有 HMC 设备。
❏ 如果需要,记录中性表达式(必要的)或 ROM。
❏ 确保演员了解电灯开关的位置以及何时打开。
❏ 管理演员的 HMC 电缆以防止它们松动。
拍摄后
❏ 对文件名进行必要的更正。
❏ 开始将文件下载到客户端的硬盘上。
❏ 安全地拆除人员身上的硬件,并在需要时提供化妆湿巾。
❏ 收拾好录音站。
❏ 仔细检查客户端的所有文件是否已正确存储。
❏ 确保所有 Faceware 硬件均已包装好。
回到办公室后,准备下一次拍摄的工具包。
使用静态摄像头进行工作室/实时面部捕捉
校准/中性文件
校准对于实现最佳跟踪结果至关重要。校准时,面向摄像头或跟踪设备,将面部放松至中立位置,同时看着摄像头或略低于摄像头。这为表达值建立了基线。校准不当可能会导致面部动画不准确或出现故障,因此建议在需要时重新校准。校准还可以补偿独特的面部特征。例如,如果您的眼睑比平均水平更遮盖,则通过轻微眯眼进行校准可以调整眨眼值。
闭塞
遮挡是指面部特征被遮挡而无法看到。当我们的跟踪技术能够清晰地看到眼睛、鼻子、嘴巴和下巴时,它的性能最佳。阻塞的常见来源包括:
-
面部毛发:跟踪可能会混淆上唇的胡须、抓住鼻子而不是嘴巴,或者校准失败。
-
眼镜:跟踪可能会将眼镜的顶部误认为是眉毛,或者由于反射而显示不正确的眼睛位置。
-
长发或刘海:眉毛前面的头发会阻碍跟踪,可能导致校准失败。
-
帽子:跟踪可能会将帽檐误认为是眉毛,而帽子投射的阴影会降低跟踪效果。
为了获得最佳效果,请修剪覆盖嘴唇的胡须或胡须,避免戴眼镜,并使长发远离面部特征。
肤色和色彩
肤色单色的人,例如白皙皮肤配浅色头发或深色皮肤配深色头发,可能会因对比度有限而面临跟踪挑战。化妆可以强调嘴唇、眼睛和眉毛。在这些情况下,调整照明也可能有所帮助。
取景(静态相机)
正确的取景对于准确的面部跟踪和动画至关重要。为了获得最佳效果,请确保您的脸部从上到下填满画面,留出空间让您的下巴完全张开,同时仍从前额顶部到下巴底部进行拍摄。过度转动头部(>30 度)可能会导致跟踪丢失。将大多数面部特征保留在框架内,以确保准确、自然的动画。
照明/环境
使用 Faceware 的跟踪时,适当的照明至关重要。虽然理想的场景涉及自然光,甚至是日光,但实际限制通常需要遵循以下最佳实践才能获得适当的照明:
-
自动曝光灵敏度:某些静态摄像机的自动曝光功能可能过于敏感。图像成分的快速变化会对跟踪产生负面影响,导致结果不稳定。如果抖动变得明显,请考虑禁用自动曝光。
-
弱光环境:跟踪依赖于面部的清晰可见度。漆黑的房间效果不佳。虽然最小的照明可能就足够了,但它可能会导致抖动增加或跟踪不准确。一般来说,监控灯不足以进行跟踪,可以从额外的照明中受益。
-
半阴影和定向照明:避免将强光聚焦在脸部的一侧,因为投射在另一侧的阴影会扰乱跟踪,导致错误的结果。自上而下的直接照明可能会在眼睛、眉毛和鼻子下方产生阴影,从而对跟踪质量产生负面影响。
-
后方照明:用户身后的明亮光源照射到相机的框架中会降低跟踪质量。只要有可能,将照明放置在用户前面,最好在脸部两侧提供均匀的照明。
-
明亮的窗户和灯光:极亮的灯光可能会导致“井喷”,无法准确跟踪皮肤上的亮白色反射。为了保持跟踪质量,请考虑调暗或改变任何过亮的定向灯的方向。
请记住,为了正确跟踪,您的脸部必须保持其自然外观。扭曲面部特征的灯光或阴影可能会导致意外或不可靠的跟踪结果,包括抖动动画。
相关文章:
搜维尔科技:Faceware面部捕捉最佳实践!
视频源和分辨率: 我们的软件针对 RGB 彩色素材进行了优化,不支持使用红外摄像机。 我们建议视频分辨率为 720p 和 1080p。低于 720p 的分辨率可能会对跟踪质量产生负面影响,而高于 1080p 的分辨率会导致存储要求和传输时间增加,而…...
如何使用ArcGIS Pro进行坐标转换
不同来源的数据坐标系可能是不同的,为了统一使用这些数据就需要进行坐标转换,ArcGIS Pro作为专业的GIS软件,坐标转换功能肯定也是包含的,这里为大家介绍一下ArcGIS Pro如何进行坐标转换,希望能对你有所帮助。 数据来源…...
Python----类对象和实例对象
目录 一.类和类的实例 二.类属性和实例属性 三.私有属性和公有属性 四.静态方法和类方法 五.__init__方法,__new__方法和__del__方法: 六.私有方法和公有方法 七.方法的重载 八.方法的继承 九.方法的重写 十.对象的特殊方法 十一.对象的引用&a…...
[23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
paper | proj | code 提出一种基于K-Planes的4D point cloud Representation;提出一种Hybrid appearance model,包含image blending model和SH model。其中,image blending model将3D点映射回原图中求得,SH model通过模型预测求得…...
MySQL错误之ONLY_FULL_GROUP_BY
报错信息: 翻译: 对该报错的解释 所以,实际上该报错是由于在SQL查询语句中有group by,而这个包含group by的SQL查询写的并不规范导致的,这个ONLY_FULL_GROUP_BY模式开启之后检查就会很严格,如果select列表…...
牛客 HJ106 字符逆序 golang实现
牛客题目算法连接 题目 golang 实现 package mainimport ("fmt""bufio""os" )func main() {str, _ : bufio.NewReader(os.Stdin).ReadString(\n)if len(str) 0 {return } else {newstr:""strLen:len(str)-1for i:strLen;i>0;i-…...
浏览器没收到返回,后端也没报错,php的json_encode问题bug
今天网站遇到个问题,后端返回异常,但是浏览器状态码200,但是看不到结果。经过排查发现,我们在返回结果的时候使用了json_encode返回给前端,结果里面的字符编码异常,导致json_encode异常,但是php…...
C#中的迭代器和分部类
目录 一、迭代器 1.示例源码 2.生成效果: 二、分部类 1.示例源码 2.生成效果 迭代器在集合类中经常使用,而分部类则提供了一种将一个类分成多个类的方法,这对于有大量代码的类非常实用。 一、迭代器 迭代器是可以返回相同类型的值的有…...
Java项目如何打包成Jar(最简单)
最简单的办法,使用Maven插件(idea自带) 1.选择需要打包的mudule,点击idea右侧的maven插件 2.clean操作 3.选择需要的其他mudule,进行install操作(如果有) 4.再次选择需要打包的module&#…...
快速掌握Pyqt5的三种主窗口
PyQt5是一个强大的跨平台GUI框架,它提供了多种不同类型的主窗口类,以满足不同的应用需求。下面是PyQt5中最常见的几种主窗口类型及其创建方式的简介: 1. QMainWindow QMainWindow是用于创建具有菜单栏、工具栏、状态栏和中心窗口部件&#…...
Linux vim操作教程(vim 基操、vim替换和查找、 vim改变文本颜色、判断和循环语句)
vim 基操 vim 是一个强大的文本编辑器,常用于在终端环境下编辑文件。下面是一些常用的 vim 操作: 打开文件:在终端中输入 vim 文件名 来打开一个文件,如果文件不存在,则会创建一个新文件。 模式切换: 按下 i 进入插入模式,在该模式下可以输入和编辑文本。按下 Esc 键返…...
mac添加Chrome插件的方法
如果是.crx的插件 更改后缀crx为zip 后续步骤同下文.zip文件 如果是.zip的插件 使用终端进行解压 注意不要用解压工具解压,一定要用终端,命令行解压 // 进入到“插件名.zip”文件的目录下,输入下面命令: unzip 插件名.zip -…...
智能优化算法 | Matlab实现金豺优化算法(GJO)(内含完整源码)
文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 智能优化算法 | Matlab实现金豺优化算法(GJO)(内含完整源码) 源码设计 %%clear clc close SearchAgents_no=30; % Number of search agents Max_iteration=1000...
6、信息打点——Web架构篇语言中间件数据库系统源码获取
1、信息搜集搜集哪些东西? 架构信息收集,主要包括:操作系统、开发语言、中间件容器、数据库类型、第三方软件等; web源码信息收集,CMS开源?闭源?售卖?自主研发? 进行web…...
flutter vscode gradle 配置
我这边主要改了如图两个文件,然后把Gradle的问题解决了 参考文章: flutter运行Runt imeException: Timeout of 120000问题-CSDN博客 flutter配置gradle(个人笔记,非教程)_flutter gradle_追寻着星星的方向的博客-CSD…...
tcp和 udp区别
相同点:都是传输层协议 不同点 是否面向连接 tcp:面向连接 三次握手,四次挥手端对端连接全双工通信(允许双端同时收发数据) udp:无连接 无三次握手,四次挥手支持一对一,一对多,多对多 数据传输方式 …...
深度学习之基于Pytorch的昆虫分类识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统架构技术亮点 二、功能三、系统四. 总结 一项目简介 # 深度学习基于 Pytorch 的昆虫分类识别系统介绍 深度学习在图像分类领域取得了显著的成就&#…...
mysql字符串转为数字的三种方法、字符串转日期
隐式转换 在MySQL中,使用0运算符可以将一个非数字的值隐式地转换为数字。这在进行数学运算或比较操作时非常有用。 需要注意的是,在使用0进行隐式转换时,MySQL会尽可能将字符串转换为数字。如果字符串不能转换为数字,则会返回0。…...
【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷5
1、随着对新冠肺炎研究的深入,多个国家都已经开始了针对新冠肺炎病毒的疫苗的开发。以下关于疫苗的描述中,不正确的是 A、灭活疫苗的基本原理是将经过处理的病原体注射进入人体内 B、大规模接种疫苗可以帮助达成“群体免疫“,阻断病毒传播 …...
PTA-6-45 工厂设计模式-运输工具
题目如下: 工厂类用于根据客户提交的需求生产产品(火车、汽车或拖拉机)。火车类有两个子类属性:车次和节数。拖拉机类有1个子类方法耕地,方法只需简单输出“拖拉机在耕地”。为了简化程序设计,所有…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
