ML Kit 正式版现已发布!新增自拍人像抠图功能

文 / ML Kit 产品经理 Kenny Sulaimon;ML Kit 软件工程师 Chengji Yan、Suril Shah、Buck Bourdon;ML Kit 技术主管 Shiyu Hu;ML Kit 技术主管 Dong Chen

2020 年年末,我们在 ML Kit SDK 中加入实体抽取 API,简化了针对移动应用内文本的检测和执行操作过程。此后,在 ML Kit 抢先体验计划合作伙伴的帮助下,我们一直在努力为现有 API 更新功能,同时不断优化自拍人像抠图功能。

  • 实体抽取
    https://developers.google.com/ml-kit/language/entity-extraction

  • 抢先体验计划
    https://developers.google.com/ml-kit/early-access

今天,我们很高兴宣布:ML Kit 将正式加入自拍人像抠图功能,并在我们热门的姿态检测 API 中加入若干增强功能,而 ML Kit 正式版也随之发布!

  • 自拍人像抠图
    https://developers.google.com/ml-kit/early-access/selfie-segmentation

  • 姿态检测
    https://developers.google.com/ml-kit/vision/pose-detection

正式版

ML Kit 正式版现已发布

2018 年,为了便于 Android 及 iOS 开发者在其应用中使用机器学习技术,我们推出了 ML Kit。过去两年,我们迅速扩展 API 集,以便在基于视觉和自然语言处理的用例中提供协助。

ML Kit 获得了非常积极的反响和开发者反馈,并在 Android 和 iOS 上得到大量采用,因此,我们决定撕下它的 Beta 版标签,正式宣布推出 ML Kit 系列 API 的正式版。我们的所有 API(自拍人像抠图、姿势检测和实体提取 API 除外)均已推出正式版!

自拍人像抠图

ML Kit 自拍人像抠图示例

如今,随着自拍相机和网络摄像头的用户越来越多,众多应用开发者必须开发出一些功能,让用户在拍照时能够快捷添加特效。

借助 ML Kit 的自拍人像抠图 API,开发者可以轻松将场景内的用户和背景分离,专注处理真正重要的事情。无论是在自拍照中添加酷炫特效,还是将您的用户插入到有趣的背景中,现在都能轻而易举地做到。不管拍摄的是实时图像和静态图像,还是半身照和全身照,该模型都能适用。

工作原理

自拍人像抠图 API 示意图

自拍人像抠图 API 接收输入图像,然后生成输出蒙版。API 为此蒙版的每个像素分配一个浮点数,数值区间为 [0.0, 1.0]。数值越接近 1.0,像素表示一个人的置信度就越高,反之亦然。

此 API 适用于静态图像和直播视频用例。在直播视频(串流模式)中,此 API 利用上一帧的输出返回更流畅的分割结果。

我们还实现了“RAW_SIZE_MASK”选项,为开发者提供更多蒙版输出选项。默认情况下,生成的蒙版尺寸与输入图像相同。启用“RAW_SIZE_MASK”选项后,蒙版的尺寸将与模型输出 (256x256) 一致。此选项不仅简化了自定义缩放逻辑的应用,当您的用例不需要缩放到输入图像的尺寸时,它也有助于减少延迟时间。

姿态检测更新

更新的姿态检测 API 示例;颜色代表 Z 值

上个月,我们为技术领先的姿态检测 API 更换了新模型,并新增一系列功能。以下是这些增强功能的简要概述:

  • 加入更多姿态:此 API 现在可识别更多健身和瑜伽姿势,尤其是当用户面朝相机时,识别效果更出色。

  • 占用空间缩减一半:基础和精确姿态模型显著变小。这种变化不会影响模型质量。

  • 新增 Z 坐标用于深度分析:此 API 现在输出深度坐标 Z,有助于判断用户的身体部位在其臀部的前方还是后方。

Z 坐标

Z 坐标是针对每个点(面部除外)计算的实验性功能。通过 GHUM模型(关节点 3D 人体形状模型),我们可以获取合成数据,进而得出这类估计值。

  • GHUM 
    https://openaccess.thecvf.com/content_CVPR_2020/papers/Xu_GHUM__GHUML_Generative_3D_Human_Shape_and_Articulated_Pose_CVPR_2020_paper.pdf

  • 模型
    https://github.com/google-research/google-research/tree/master/ghum

我们可根据 X 坐标和 Y 坐标等“图像像素”测量该值。Z 轴垂直于相机,穿过拍摄对象的臀部。Z 轴的原点大约是臀部之间的中心点(前后左右均是相对于相机而言)。负 Z 值指向相机,正值指向相反方向。Z 坐标没有上限和下限。

如需详细了解姿态检测功能的变化情况,请参阅我们的 API 文档。

  • API 文档
    https://developers.google.com/ml-kit/vision/pose-detection

姿态分类

姿态检测功能发布后,许多开发者纷纷要求我们帮助他们实现其应用内特定姿态的分类。为了解决此问题,我们与 MediaPipe (https://mediapipe.dev/) 团队联合发布了姿态分类教程和 Google Colab。在该分类教程中,我们演示了如何在 ML Kit Android 示例应用中构建和运行自定义姿态分类器,同时还使用分类器演示了一个简单的俯卧撑和下蹲重复次数计数器。

使用 MLKit Pose 进行姿态分类和重复次数计数的示例

  • 姿态分类教程
    https://google.github.io/mediapipe/solutions/pose_classification#pose-classification

  • Colab 
    https://google.github.io/mediapipe/solutions/pose_classification#colabs

  • ML Kit Android 示例应用
    https://github.com/googlesamples/mlkit/tree/master/android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/java/posedetector/classification

若要深入了解如何针对不同相机角度、环境条件、体型等因素构建自己的姿态分类器,请参阅姿态分类教程。

  • 姿态分类教程
    https://solutions.mediapipe.dev/pose_classification

有关更多常见分类技巧,请参阅 ML Kit 网站的姿态分类选项页面。

正式版推出后

过去两年,我们一直在努力打造 ML Kit 正式版,而这一切也离不开您的帮助和反馈。随着我们继续推出更多新 API,如自拍人像抠图和姿态检测 API,您的反馈将更为重要。请继续将您的增强功能请求和问题反馈给我们的开发团队,或通过社区频道联系我们。让我们携手,共建更智能的未来。

  • 增强功能请求
    https://issuetracker.google.com/issues/new?component=897785&template=1457328

  • 问题
    https://stackoverflow.com/questions/tagged/google-mlkit

  • 社区频道
    https://developers.google.com/ml-kit/community

更多 AI 相关阅读:

相关推荐