MediaPipe Selfie Segmentation对场景中突出的人进行了分割。它可以在智能手机和笔记本电脑上实时运行。预期的使用场景包括自拍效果和视频会议,即人们离相机很近(小于2米)。
在这个解决方案中,我们提供了两种模型:一般模型和景观模型。两种模型都基于 MobileNetV3,并进行了修改以提高效率。通用模型在 256x256x3 (HWC) 张量上运行,并输出代表分割掩码的 256x256x1 张量。景观模型类似于通用模型,但在 144x256x3 (HWC) 张量上运行。它比一般模型具有更少的 FLOP,因此运行速度更快。请注意,在将输入图像输入 ML 模型之前,MediaPipe Selfie Segmentation 会自动将输入图像的大小调整为所需的张量维度。
通用模型也为 ML Kit 提供支持,景观模型的一个变体为 Google Meet 提供支持。
管道被实现为一个 MediaPipe 图,它使用来自自拍分割模块的自拍分割子图。
4.2配置选项
- :如果设置为 false,该解决方案会将输入图像视为视频流。它将尝试检测第一张输入图像中的人脸,并在成功检测后进一步定位人脸地标。在随后的图像中,一旦检测到所有 max_num_faces 人脸并定位了相应的人脸地标,它就会简单地跟踪这些地标,而不会调用另一个检测,直到它失去对任何人脸的跟踪。这减少了延迟,非常适合处理视频帧。如果设置为 true,人脸检测会在每个输入图像上运行,非常适合处理一批静态的、可能不相关的图像。默认为false。
- :要检测的最大人脸数。默认为 1。
- :来自人脸检测模型的最小置信值 ([0.0, 1.0]),以便将检测视为成功。默认为 0.5。
- :来自地标跟踪模型的最小置信值 ([0.0, 1.0]),用于将被视为成功跟踪的人脸地标,否则将在下一个输入图像上自动调用人脸检测。将其设置为更高的值可以提高解决方案的稳健性,但代价是更高的延迟。如果 static_image_mode 为true,则忽略,人脸检测在每个图像上运行。默认为 0.5。
4.3输出
- :被检测/跟踪的人脸的集合,其中每个人脸被表示为468个人脸地标的列表,每个地标由x、y和z组成。x和y分别由图像的宽度和高度归一化为[0.0,1.0]。Z为地标深度,头部中心深度为原点,值越小,地标距离相机越近。z的大小与x的大小大致相同。
支持配置选项:
- static_image_mode
- max_num_faces
- min_detection_confidence
- min_tracking_confidence