You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提升ARKit面部追踪中捕获图像的分辨率?

ARKit人脸特征比对中captureImage分辨率过低的优化困境

在ARKit中使用ARFrame.captureImage生成人脸特征并进行相似度比对时,发现通过capturedDepthData获取到的captureImage分辨率仅为640x480,相比直接使用Vision框架处理的图像,人脸特征比对质量受到显著负面影响。

已尝试的优化方案及遇到的问题

方案1:设置最高分辨率视频格式

尝试通过排序ARFaceTrackingConfiguration.supportedVideoFormats选择分辨率最高的格式进行配置,代码如下:

let configuration = ARFaceTrackingConfiguration()
if let videoFormat = ARFaceTrackingConfiguration.supportedVideoFormats.sorted(by: { ($0.imageResolution.width * $0.imageResolution.height) < ($1.imageResolution.width * $1.imageResolution.height) }).last {
    configuration.videoFormat = videoFormat
}

实际效果:captureImage的分辨率并未得到提升。

方案2:使用captureHighResolutionFrame并设置推荐视频格式

尝试配置ARFaceTrackingConfiguration.recommendedVideoFormatForHighResolutionFrameCapturing,代码如下:

if let videoFormat = ARFaceTrackingConfiguration.recommendedVideoFormatForHighResolutionFrameCapturing {
    configuration.videoFormat = videoFormat
}

实际问题:

  • 根据官方文档,该方法会异步获取高分辨率帧,导致常规capturedImage与高分辨率图像频繁切换,需要针对不同尺寸手动调整displayTransform和CGAffineTransform,增加了开发复杂度;
  • 每秒会产生60次快门音,严重干扰用户使用体验。

寻求可行方案:希望找到既能有效提升captureImage分辨率以保证人脸特征比对质量,又能避免上述方案缺陷的解决办法。

内容的提问来源于stack exchange,提问作者Kevvv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 06:30:53