核心ML不同尺寸图像的对象检测

我已经训练模型从图像中识别矩形。我工作得很好,但只有特定的图像(因为我认为取决于特定的长宽比).例如。

有效的例子

在这里输入图片描述但是当我开始使用相同的图片,但是尺寸不同的时候,它就不能工作了。

无效的例子

谁能告诉我为什么会这样?我又该如何解决呢?

我该怎么做才能提出请求。

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)")
        }
    }

另外,我想知道,在哪些情况下,模型可以在CreateML GUI中检测到一个对象,但不能在屏幕上检测到相同的图像?

UPD:我已经找到了解决方法,根本原因是输出无效,当我改变了输出的方式后,我就可以在屏幕上检测到同一张图片了。

let requestHandler = VNImageRequestHandler(cgImage: cgImage, orientation: image.cgImageOrientation, options: [:])

let requestHandler = VNImageRequestHandler(data: image.jpegData(compressionQuality: 1)!, orientation: image.cgImageOrientation, options: [:])

解决这个问题。

解决方案:

更新:我已经资助了解决方案。根本原因是无效的输出,当我改变了

let requestHandler = VNImageRequestHandler(cgImage: cgImage, orientation: image.cgImageOrientation, options: [:])

let requestHandler = VNImageRequestHandler(data: image.jpegData(compressionQuality: 1)!, orientation: image.cgImageOrientation, options: [:])

解决这个问题。

给TA打赏
共{{data.count}}人
人已打赏
未分类

使用Python中的Selenium来查找YouTube视频中的评论数,CSS选择器应该是什么?

2022-9-9 8:04:19

未分类

在分片文字中,不能将基元.D文字(类型为基元.D)作为基元.E类型。

2022-9-9 8:04:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索