gpt4 book ai didi

swift - MacOS:减少 VNFaceObservation 的 CPU 使用率

转载 作者:行者123 更新时间:2023-11-28 05:35:53 26 4
gpt4 key购买 nike

我正在尝试使用 Vision API 检测网络摄像头中的人脸。CPU 使用率非常高,大约 60% 或 80%。有什么办法可以减少吗?

我已经尝试减少从网络摄像头传输的每秒帧数。然而这并没有帮助。这是我尝试检测面孔的方式。这必须实时更新。

try? VNSequenceRequestHandler().perform([VNDetectFaceRectanglesRequest()], on: image)
if let results = VNDetectFaceRectanglesRequest().results as? [VNFaceObservation] {
DispatchQueue.main.async {
// update UI
}
}

最佳答案

愿景

  • 尝试在 VNDetectFaceRectanglesRequest 中定义一个 regionOfInterest
  • 使用 usesCPUOnly 属性验证您的请求“[…] 请求可以免费利用 GPU 加速其处理。
  • 如果您的使用允许,请尝试 preferBackgroundProcessing

AVFoundation

如果您正在使用 AVCapture,您还可以为您的捕获设备选择较低的质量

比如根据 ProcessInfo.processInfo.thermalState 选择正确的设置:

  • 'AVCaptureSession.sessionPreset'
  • 每秒分析最大数量的人脸
  • 如果您的 AVCaptureDevice 不需要,请禁用 HDR

其他

  • 减少 CVPixelBuffer 的更新次数
    • 为其分配固定大小
    • 如果给用户展示,只使用展示的部分
  • 如果您要进行一些后期图像处理,请考虑使用 Accelerate

Avoid as much work on the main thread

关于swift - MacOS:减少 VNFaceObservation 的 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58664586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com