我试图通过训练CRNN(CNN + LSTM + CTC)模型来识别来自文字裁剪图像的单词。我很困惑如何添加置信度分数和认可的单词。我正在跟随https://github.com/TJCVRS/CRNN_Tensorflow的实施。有人可以建议我如何修改网络的连接主义时间分类(CTC)层也给我们一个置信度分数?
答案 0 :(得分:0)
我现在可以想到两种解决方案:
解决方案(1)实现起来更快,更简单,但是,解决方案(2)更准确。但只要CRNN训练有素且光束搜索解码器的波束宽度足够大,差异就不会太大。
查看以下行中的TF-CRNN代码 - 该分数已作为变量log_prob返回:https://github.com/MaybeShewill-CV/CRNN_Tensorflow/blob/master/tools/train_shadownet.py#L62
这是一个自包含的代码示例,它说明了解决方案(2): https://gist.github.com/githubharald/8b6f3d489fc014b0faccbae8542060dc
答案 1 :(得分:0)
我自己的一个更新:
最终,我通过将预测标签传递回ctc损失函数,并对所得损失的负数取反对数,从而获得了一个分数。我发现此值比使用log_prob的反日志非常准确。