Ios 不同尺寸图像的核ML目标检测
我训练了模型从图像中识别矩形。我工作得很好,但只处理特定的图像(我认为这取决于特定的纵横比)。 例如: 在此处输入图像描述 但是,当我开始使用相同的图像,但大小不同,它不工作 有人能告诉我为什么会这样吗?我怎样才能修好它 我如何提出请求:Ios 不同尺寸图像的核ML目标检测,ios,machine-learning,coreml,Ios,Machine Learning,Coreml,我训练了模型从图像中识别矩形。我工作得很好,但只处理特定的图像(我认为这取决于特定的纵横比)。 例如: 在此处输入图像描述 但是,当我开始使用相同的图像,但大小不同,它不工作 有人能告诉我为什么会这样吗?我怎样才能修好它 我如何提出请求: let requestHandler = VNImageRequestHandler(cgImage: cgImage, orientation: image.cgImageOrientation, options: [:]) self.requ
let requestHandler = VNImageRequestHandler(cgImage: cgImage, orientation: image.cgImageOrientation, options: [:])
self.request = VNCoreMLRequest(model: model) { (request, error) in
guard let observations = request.results as? [VNRecognizedObjectObservation] else {
return
}
self.visualizeObservations(observations: observations)
print(observations)
}
request.imageCropAndScaleOption = .scaleFill
DispatchQueue.global(qos: .background).async {
do {
try requestHandler.perform([self.request])
} catch let error as NSError {
print("Error in performing Image request: \(error)")
}
}
另外,我想知道,在哪些情况下,模型可以在CreateMlGUI中检测到对象,但不能在屏幕上检测相同的图像
UPD:
我已经找到了解决办法。
根本原因是输出无效,当我更改时
let requestHandler = VNImageRequestHandler(cgImage: cgImage, orientation: image.cgImageOrientation, options: [:])
到
解决问题。UPD:我已经为解决方案提供了资金。根本原因是输出无效,当我更改时
let requestHandler = VNImageRequestHandler(cgImage: cgImage, orientation: image.cgImageOrientation, options: [:])
到
解决问题。UPD:我已经为解决方案提供了资金。根本原因是输出无效,当我更改时
let requestHandler = VNImageRequestHandler(cgImage: cgImage, orientation: image.cgImageOrientation, options: [:])
到
解决问题。您可以通过在许多不同大小的图像上训练模型来解决问题。@MatthijsHollemans感谢您的回复。也许您知道,在哪些情况下,模型可以在CreateML GUI中检测到对象,但不能使用VNImageRequest对同一图像进行检测?请确保在Vision请求中使用了正确的
imageCropAndScaleOption
(请参见VNCoreMLModel
)。您可以通过在许多不同大小的图像上训练模型来解决此问题。@MatthijsHollemans感谢您的回复。也许您知道,在这种情况下,模型可以在CreateML GUI中检测到对象,但不能在同一图像的VNImageRequest中检测到对象?请确保您在Vision请求中使用了正确的ImageCropandScaleOptions
(请参见VNCoreMLModel
)。我将在15小时内完成:)我将在15小时内完成:)
let requestHandler = VNImageRequestHandler(data: image.jpegData(compressionQuality: 1)!, orientation: image.cgImageOrientation, options: [:])