大多数浏览器和
Developer App 均支持流媒体播放。
-
在 Vision 中检测动物体态
除了检测图片中的猫和狗,我们还将向你展示如何使用 Vision 实时检测动物的单个关节和它们的体态,以及如何实现一些令人激动的功能,例如使用相机 App 进行动物跟踪,为动物图片应用创意装饰等。我们还将深入探讨 Vision 框架中的其他重要更新,并与你分享最佳实践。想要了解更多有关 Vision 框架新技术的信息,欢迎观看“探索 Vision 中 3D 人体姿势及人像分割”以及“在 App 中提取图片主体”。此外,想要了解更多有关构建实时相机追踪的体验,欢迎观看“使用 DockKit 集成电动 iPhone 支架”。
资源
相关视频
WWDC23
-
下载
♪ ♪
Nadia Zouba:大家好 欢迎观看本次讲座 我是 Nadia Zouba 一名 Apple Vision 团队的成员 今天 我将谈谈 Vision 中一个 令人惊叹的新 API:Animal Body Pose 并对 Vision 中一些重要的更新 进行回顾 我们首先从 Animal Body Pose 开始 Animal Body Pose 可用于多种应用场景 想象一下 你将猫或狗单独留在家里 然后出门上班 在你下班回来的时候 发现家里一片狼藉 不用担心 Vision 框架可以帮你搞清楚 发生了什么 你的宠物一整天在干些什么 以及是谁让家里变得一团糟 但在深入探讨这个话题之前 我们先来谈谈姿势 三年前 Vision 引入了 Human Body Pose 来检测人体姿势 该请求可对多达 19 个 身体关节进行检测 然后生成一个人体关键点的集合 得益于该 API 世界各地的开发人员 得以在健康、健身等领域 创造出大量实用的 App 由于 Vision 会与现实世界发生交互 因此我们不仅关心人类 同时也很关心动物 如今 Vision 已具备了 用于识别动物的请求 并可以实现对猫和狗的检测和识别 该请求会生成一个包围盒 同时带有一个标签 表明识别到的动物及置信度 如果你想对动物进行定位和识别 该 API 的效果会相当不错 但如果你想要深入了解这只动物呢? 要推断出动物在做什么并不容易 例如 如果我在替邻居照顾狗 那么我便需要了解邻居家的狗 想吃零食或想要散步时的特定体态 你猜怎么样?Vision 不止可以 识别人类姿势 还可以拓展到识别动物的 这很棒
Animal Body Pose 是 Vision 中一个全新 API 在 Vision 中 其可通过 DetectAnimalBodyPoseRequest 发出请求 该请求一旦经过处理 便会返回一个观测结果 其中会包含一个 动物身体关节位置的集合 该请求可以支持猫和狗 并会对包括尾巴和耳朵在内的 25 个动物身体关键点进行检测
当前 Animal Body Pose API 在 iOS 17、iPadOS 17、 tvOS 17 及 macOS Sonoma 中均可使用 你可以向 Animal Body Pose 输入图片或者视频 该请求在 Vision 中 经过创建和处理后 便会产生一个关节集合 用于确定动物的骨架 Animal Body Pose 共定义了 6 组关节: Head 组包含了 耳朵、眼睛和耳朵;
Forelegs 组包含了前腿; 你猜对了 Hindlegs 组包含的是后腿; Trunk 组包含了颈部; Tail 组包含了 3 个尾关节; 最后 All 组 包含了所有的关节
为了形象展示以上全部内容 接下来 我会使用示例 App 根据关键点的位置来 绘制动物的骨架 我的桌子上有只可爱的 小吉娃娃玩具狗 因为该玩具狗可以移动 所以我会利用其呈现示例 App 的效果 接下来 我会把该玩具狗放到 手机摄像头前 然后启动示例 App 可以看到 App 在该动物身上 绘制了一幅骨架 我们打开电源 让玩具狗走起来
可以看到骨架便会随着该动物的 移动而移动 哎呀!玩具狗离摄像头越来越远了 我们将其重新放回到摄像头前
骨架仍然会随着玩具狗的移动 而移动 效果真的很不错 接下来 我会通过代码向你展示 示例 App 是如何编写的
首先 我们从捕捉输出开始 在这里我们会接收来自相机视频流的 CMSampleBuffers 第一步 创建请求 在这里 我会使用 VNDetectAnimalBodyPoseRequest
下一步 使用 imageRequestHandler 创建请求处理器
接着 调用执行向处理器提供请求 如果请求执行成功 VNAnimalBodyPoseObservations 将会在 请求结果属性中返回 并且每个返回都会包含关节位置 为了能够从 Animal Pose Observation 中访问这些关节 我会调用 .recognizedPoints 来请求获取关节组中 已识别关节点的字典 由于绘制动物的骨架需要所有关节 在这里我会使用 All 组 但如果你只需要访问部分动物关节 那么只使用你需要的关节组即可 最后 为了绘制动物的骨架 我会遍历所有已识别的关节点 并将关节进行连接 这里是一个连接头部关节 绘制头部骨架的例子
此外 你需要注意这样几点 在使用新 Animal Body Pose 时 你在一张图片中最多只能检测到 两只动物 输入图片的长宽都必须 至少为 64 像素 并且 使用神经网络引擎可以让 输出效果和实时捕捉保持同步 接下来 我们通过几个例子来看看 Animal Pose 可以做些什么 在使用新 Animal Pose API 处理静态图片时 你可以按照自己的方式分析关节 以识别自家动物的有趣体态 例如起床后的伸展……
站立 讨食……
遇到狗后的逃跑……
或是蜷缩起来打个小盹儿
正如我之前提到的 Animal Recognition 可让你 定位并识别动物 而 Animal Body Pose 则可以返回动物身上所有的关键点 结合这两个请求 你便可以在检测到动物之后 知晓动物的种类、所处的位置 以及当前的体态 现在 你便可以知道 打乱餐桌的是谁了 基于此 你还可以 为你的宠物 开发出许多有趣的 App; 例如 由动物识别 和动物体态检测共同 触发的狗粮喂食机 此外 Animal Pose API 也可用于处理视频 你可以在 App 中 引入自己的算法 来分析并确定动物当前的行为 甚至你还可以对动物体态 进行一段时间的跟踪 从而了解动物行为的意义 直到我使用了 Animal Body Pose 我才知道墙面上的痕迹 不是孩子留下的 而是猫尝试抓住激光点留下的
哇 这只狗的滑板技术比我的还好! 另外 你还可以利用该技术 借助摄像头实现对动物的跟踪 想要进一步了解有关 此类跟踪的信息 欢迎观看 “使用 DockKit 与电动 iPhone 支架集成”讲座 同时 你也可以为宠物 编写有趣的 App 例如 给狗戴上帽子和墨镜 使用这张图片为宠物的生日 制作可爱的卡片 并发送给家人和朋友 你难道不觉得非常有趣吗? 生日快乐 Frenchie 先生! 选择相关 Animal Body Pose 关节并贴上 表情符号 这张图片便可大功告成 我会用身边这只可爱的玩具狗 来演示一下这个表情符号 App 使用相同的示例 App 并将骨架视图切换为表情符号视图
因为这只小狗走得很慢 所以我在其爪子关节上 添加了一双溜冰鞋表情符号 为其移动进行加速 哦 等等 安全第一! 让我们回到代码为其添加一个头盔 我已经在这里给爪子关节 添加了溜冰鞋表情符号 接下来 让我们在耳朵关节上 添加一个头盔表情符号 我可以选择表情符号的大小和方向 我们还可以添加一副眼镜 让其滑起来更帅
在考虑完小狗的安全后 我再来运行一下该 App 小心点总是没错的 让我们切换到表情符号视图 现在 这只狗便有了安全滑行所需的 所有装备 看起来很酷 对吗? 快跑小狗 快跑! 你可以做到的! 以上就是 Animal Body Pose 的全部内容 我非常期待你可以利用 新 Animal Pose API 为 App 引入你想创造的 一切有趣内容 此外 Vision 中可能还有一些 对你有用的更新 所以我来为你介绍一下 新 Stateful 请求 便是其中之一 在 Vision 中 基于 VNTargetedImage 的请求可作为 Stateful 请求进行使用
Vision 共有 3 个新派生的 Stateful 请求 并均以 Track 动词命名 因此 利用其进行跟踪 会更加轻松简便 我很高兴向你宣布 Vision 现已支持 MLComputeDevice 使用新 Compute Device API 你可以查询请求执行的位置 并指定使用的设备 Core ML 和 Create ML Multilabel Classification 现在也可以 与 Vision 兼容 从而使你可以训练 支持多种标签的分类器 想要了解更多信息 欢迎观看 “了解 Create ML 中 机器学习的新技术”讲座 此外 现有的请求经过修订后 也得到了很大的改进 针对条形码 发布了新的修订版本 也就是 Revision 4 该新版本加入了 新 MSIPlessey 符号 并支持反色二维码 顺便提醒你一下 Revision 1 即将被弃用 并且 文本识别还将新增对 泰语和越南语的支持
最后 FaceCaptureQuality 也发布了新的修订版本 Revision 3 用于提高质量和准确性 想要了解更多有关 Vision 中的最新更新 请查看开发者文档 今天 我介绍了 新 Animal Body Pose 以及使用该 API 可以实现的奇妙功能 此外 我还介绍了 一些重要 API 的更新 以及 Vision 中对你的开发 可能有所帮助的新技术 但等等 还不止这些 欢迎观看“探索 Vision 中 3D 人体姿势及人像分割” 了解 Vision 中新的 3D 人体姿势和人像分割 API 如果你想对 任意选择的前景物体进行分割 欢迎观看 “从 App 中的图像中提取主题”讲座 感谢你的观看 期待你使用 Animal Pose
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。