4
MNISTでトレーニングされたモデルの数字認識を改善するにはどうすればよいですか?
私は手書きの多桁認識に取り組んでいます JavaOpenCV、前処理とセグメンテーションのためのライブラリ、およびKeras認識のためにMNIST(精度0.98)でトレーニングされたモデルを使用、ます。 認識は、1つの点を除けば、かなりうまく機能しているようです。ネットワークでは、1(番号「1」)を認識できないことがよくあります。セグメンテーションの前処理/不適切な実装が原因で発生したのか、標準のMNISTでトレーニングされたネットワークが、テストケースのように見える一番のものが見当たらないのかわかりません。 以下は、前処理とセグメンテーション後の問題のある数字の様子です。 になり、として分類され4ます。 になり、として分類され7ます。 となり、次のように分類されます4ます。等々... これは、セグメンテーションプロセスを改善することで修正できるものですか?それとも、トレーニングセットを強化することによってですか。 編集:トレーニングセット(データ拡張)を強化することは間違いなく役立ちます。これは既にテストしていますが、正しい前処理の問題はまだ残っています。 私の前処理は、サイズ変更、グレースケールへの変換、2値化、反転、および膨張で構成されています。これがコードです: Mat resized = new Mat(); Imgproc.resize(image, resized, new Size(), 8, 8, Imgproc.INTER_CUBIC); Mat grayscale = new Mat(); Imgproc.cvtColor(resized, grayscale, Imgproc.COLOR_BGR2GRAY); Mat binImg = new Mat(grayscale.size(), CvType.CV_8U); Imgproc.threshold(grayscale, binImg, 0, 255, Imgproc.THRESH_OTSU); Mat inverted = new Mat(); Core.bitwise_not(binImg, inverted); Mat dilated …