ypwhs / captcha_break

验证码识别
MIT License
2.72k stars 686 forks source link

CTC模型不定长输出问题 #66

Open ctzhang2008 opened 3 years ago

ctzhang2008 commented 3 years ago

背景: 楼主程序改动了两处,识别率可达到96%(因笔记本电脑性能,训练不到10个epoch)。

characters = string.digits + string.ascii_uppercase n_class = len(characters)

x = Dense(n_class, activation='softmax')(x) 改为: x = Dense(n_class+1, activation='softmax')(x)

out = K.get_value(K.ctc_decode(y_pred, input_length=np.ones(y_pred.shape[0])y_pred.shape[1], )[0][0])[:, :4] 改为: out = K.get_value(K.ctc_decode(y_pred, input_length=np.ones(y_pred.shape[0])y_pred.shape[1], )[0][0])[:, :]。

问题: 去掉后面的多个Z就是识别的不定长结果? 如果是ZZZZ,那有怎么办?

举例:输出结果为 image

image

image

image

ctzhang2008 commented 3 years ago

我搞清楚了, 可能是character没加空格,我再测试一下:

characters = string.digits + string.ascii_uppercase characters += ' ' n_class = len(characters)