作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经设置了一个工作正常的 VNCoreMLRequest
extension CameraVC : AVCaptureVideoDataOutputSampleBufferDelegate {
func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
print("Camera was able to capture a frame: ", Date())
guard let pixelBuffer : CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }
guard let model = try? VNCoreMLModel(for: Resnet50().model) else { return }
let request = VNCoreMLRequest(model: model) { (finishedReq, err) in
if err != nil { print(err?.localizedDescription) ; return }
guard let results = finishedReq.results as? [VNClassificationObservation] else { return }
guard let firstObservation = results.first else { return }
print(firstObservation.identifier, firstObservation.confidence)
}
try? VNImageRequestHandler(cvPixelBuffer: pixelBuffer, options: [:]).perform([request])
}
}
此请求返回请求认为它正在查看的内容的数组,列表中的第一项是最佳猜测。
我想知道是否有办法使用这项技术同时检测多个独特的物体?如果我要同时在画面中放一个苹果和一根香蕉,有没有一种方法可以检测这两个物体,而不是让相机试图弄清楚画面中可以找到一个突出的物体?
最佳答案
是的,您可以这样做,但不能使用 ResNet50。
ResNet50 是一个分类模型,它只能告诉你图像的“主题”。如果图像中有一个苹果和一个香蕉,它可能在其前 5 个预测中对苹果和香蕉有高分(比如 40% 的苹果和 35% 的香蕉和 25% 的其他东西)但这并不是你真正想要的正在寻找。
更好的解决方案是使用对象检测模型,它不仅可以告诉您图像中的各个对象是什么,还可以告诉您它们所在的位置。
关于ios - 使用 VNCoreMLRequest 一次检测多个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49582237/
我已经设置了一个工作正常的 VNCoreMLRequest extension CameraVC : AVCaptureVideoDataOutputSampleBufferDelegate {
我正在使用 swift ActivityIndicator : https://github.com/ninjaprox/NVActivityIndicatorView func runMLMod
我是一名优秀的程序员,十分优秀!