0

XCode で CreateML 開発者ツールを使用して、トレーニング済みの「画像分類」モデルを作成しました。ユーザーの顔を認識するために使用したいと考えています。

私は実際にモデルを評価しており、モデルが実際に物事を見たいと思っており、Label1 を非常に好んでいることがわかりますが、見るべきもののほとんどは 3 つのラベルの 1 つではありません (したがって、"他の")。

私はいくつかのラベルを定義しています:

  • ラベル1 600枚の写真
  • Label2 200枚の写真
  • Label3 200枚の写真
  • 「その他」100枚

「画像分類」モデルは常にラベルの 1 つを報告するように設定されていますか?

** オブジェクト検出という別のタイプのモデルが必要ですか?"

特定のラベルの誤検知を減らすには、どこから始めればよいですか? 「その他」の例を 1k ~ 2k ほど用意する必要がありますか?

これが私のコードの要点です:

let model: VNCoreMLModel

coreMLRequest = VNCoreMLRequest(model: self.model) { [weak self] request, error in
    guard let self = self,
          let results = request.results as? [VNClassificationObservation],
          let topResult = results.first
    else {
        fatalError("Unexpected results")
    }
    
    self.outputRelay.accept(topResult.identifier)
    
}
coreMLRequest.imageCropAndScaleOption = .scaleFit

// Get the camera image cropped to be analyzed

let requestHandler = VNImageRequestHandler(cvPixelBuffer: croppedFaceImageBuffer, options: [:])
try? requestHandler.perform([self.coreMLRequest])
4

0 に答える 0