CIFaceFeature trackingID对于多个面总是相同的

我想在我的项目中检测多个面。 因此,我计划使用CIFaceFure的trackingID属性来保持面部的轨迹。 但是我发现每一次脸都是一样的。

所以我的问题是,当video帧中有多个人脸时,我怎样才能唯一地识别人脸。 我不想识别脸部,以便以后仅用于当前video帧的检测。 谢谢。

我使用与SqaureCam苹果示例项目中相同的代码。 在iOS 6中。

for ( CIFaceFeature *face in features ) { NSLog(@"face.trackingID %d",face.trackingID); } 

上面的代码是每个人脸都有相同的ID。

如果您还没有这样做,则需要确保在检测器的选项中指定CIDetectorTracking的用法。 如果我没有记错的话,应该是这样的:

 NSDictionary *detectorOptions = @{CIDetectorTracking: @YES}; CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions];