如何解决Vision Framework 与 CVPixelBuffer 的 CoreML 性能成本?
将图像传递到 CoreML 模型有两个选项:
是否有关于使用 Vision 框架与将 CVPixelBuffer 直接传递给 CoreML 相关的内存和处理开销的数据?
基于我在调试时所见所闻的想法:
内存
假设我们已经在 CVPixelBuffer 中有数据,创建 CGImage 以传递给 Vision 似乎会使内存使用量增加一倍。看起来 Vision 正在从 createPixelBufferFromVNImageBuffer
在 CoreVideo/CoreImage 中创建一个新对象,这是有道理的,因为它需要创建图像的副本以进行裁剪/旋转/缩放。
处理
无论哪种方式,您都必须进行旋转和/或缩放。我认为 Vision 执行这些操作的效率至少与您使用 Accelerate 手动执行的效率一样高。所以这里不应该有任何开销。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。