Ios 无法从请求VNCoreMLRequest的结果中获取boundingBox

Ios 无法从请求VNCoreMLRequest的结果中获取boundingBox,ios,swift,coreml,vision,Ios,Swift,Coreml,Vision,我尝试将Vision与我训练的自定义模型一起使用,但我没有找到一种方法来获取Vision在帧中检测到的边界框 模型:我使用CreateML训练了模型,它可以检测2个特定的项目。 我在CreateML中用各种图像测试了模型,它正确地检测了这两个项目,并在它们周围放置了一个框。那么,Vision不应该也给我一个边界框吗 func prepare(){ 做{ 让vnModel=try VNCoreMLModel(for:modelFile.model) 让coreMlRequest=VNCoreMLR

我尝试将Vision与我训练的自定义模型一起使用,但我没有找到一种方法来获取Vision在帧中检测到的边界框

模型:我使用CreateML训练了模型,它可以检测2个特定的项目。 我在CreateML中用各种图像测试了模型,它正确地检测了这两个项目,并在它们周围放置了一个框。那么,Vision不应该也给我一个边界框吗

func prepare(){
做{
让vnModel=try VNCoreMLModel(for:modelFile.model)
让coreMlRequest=VNCoreMLRequest(型号:vnModel,
completionHandler:{(请求,错误)在
警卫
让results=request.results
as?[VnClassionObservation]//这是正确的演员阵容吗?
else{return}
//如何从结果中获取边界框?
})
VNLequests=[coreMlRequest]
}
抓住{
打印(错误)
}
}
func运行(arFrame:arFrame){
做{
让requestHandler=VNImageRequestHandler(cvPixelBuffer:arFrame.capturedImage,
选项:[:])
尝试requestHandler.perform(self.vnRequests)
}
抓住{
打印(错误)
}
}

你真的训练过物体检测模型吗?还是分类模型

您只获得对象检测模型的边界框,而不是分类器的边界框


假设你训练了一个物体探测器,正确的类别是
vnecrognitizedobjectobservation
,而不是
VNClassificationObservation

我对CoreML很陌生,这是我的第一个型号。可能是我做得不对。我标记了50张图片,在我想训练的项目周围放置了一个矩形。当我在CreateML中尝试该模型时,它会找到项目并在其周围放置一个精确的矩形,因此我猜它是为对象检测而训练的。这听起来是正确的。:-)您应该会得到
vncogragnizedObjectObservation
结果,然后,“vncogragnizedObjectObservation”就成功了。非常感谢。