大佬教程收集整理的这篇文章主要介绍了字符识别结果不佳,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从图像中读取六位数字。我使用 tensorflow/keras 进行训练。 这是我为此想出的模型:
@H_741_5@model = Sequential() model.add(Conv2D(20,(5,5),padding="same",input_shape=(20,20,1),activation="relu")) model.add(MaxPooling2D(pool_size=(2,2),StriDes=(2,2))) model.add(Conv2D(50,2))) model.add(Flatten()) model.add(Dense(500,activation="relu")) model.add(Dense(10,activation="softmax")) model.compile(loss="categorical_crossentropy",optimizer="adam",metrics=["accuracy"]) model.fit(X_Train,Y_Train,valIDation_data=(X_test,Y_test),batch_size=40,epochs=30,verbose=1)
我采集了 97,000 多个样本,其中 30% 用于测试。 训练后:
如您所见,样品上的结果非常好,但是当我使用相同的样品进行测试时,几乎每 10 个项目都会得到错误的结果。
我匹配了训练和测试样本,它们都是一样的。这是预处理部分:
letter_image = img_number[y: y + h,x: x + w]
letter_image = cv2.copymakeborder(letter_image,5,cv2.border_CONSTANT,value=(255,255,255))
letter_image = cv2.cvtcolor(letter_image,cv2.color_BGR2GRAY)
letter_image = Helper.resize_to_fit(letter_image,20)
raw = letter_image
letter_image = np.expand_dims(letter_image,axis=2)
letter_image = np.expand_dims(letter_image,axis=0)
preDiction = cheque_number_model.preDict(letter_imagE)
letter = cheque_number_label.inverse_transform(preDiction)[0]
如果有任何建议,我将不胜感激。 谢谢,也很抱歉我的英语。
我认为您应该考虑提高准确性的几点。
请查看这 4 点并进行相应的更改。 你会看到改善。请将结果回复给我。
@H_801_44@