如何提高在MNIST上训练的模型的数字识别能力?
我正在使用进行手印多位数识别Java,使用OpenCV库进行预处理和分割,并使用KerasMNIST训练的模型(精度为0.98)进行识别。 除了一件事之外,这种识别似乎效果很好。网络经常无法识别那些(数字“一”)。我不知道这是否是由于分割的预处理/不正确的实现而发生的,或者是否是在标准MNIST上训练的网络没有看到看起来像我的测试用例的第一名。 这是经过预处理和分割后出现问题的数字的样子: 成为并归类为4。 成为并归类为7。 成为并归类为4。等等... 通过改进细分过程,可以解决此问题吗?还是通过增强培训设置? 编辑:增强训练集(数据扩充)肯定会有所帮助,这已经在我测试中,正确预处理的问题仍然存在。 我的预处理包括调整大小,转换为灰度,二值化,反转和膨胀。这是代码: 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 = …