Holmeyoung / crnn-pytorch

Pytorch implementation of CRNN (CNN + RNN + CTCLoss) for all language OCR.
MIT License
377 stars 105 forks source link

測試資料不同長度圖片,但預測字數都是固定 #42

Closed ekils closed 4 years ago

ekils commented 4 years ago

請問, 我在訓練時給圖片長度是固定imgw= 160, 圖片裡面的字是4字含空白(標籤就是4個字), 或是圖片裡面是5個字沒有空白(標籤就是5個字)。 為什麼我將訓練好的模型,拿不同長度,比如說imgh=300 裡面有約10個字, 預測出來的字也是4-5個字,想當然是全錯, 是為什麼?

  1. 我在預測時候有等比例縮放圖片,就是固定高度32, 長度就等比例縮放
  2. 訓練和預測時候發現: 零健里改狹------------------------------------ => 零健里改狹 , gt: 腎健員步狹 而不是像一般看到: 零-----健---里---改---------------------狹 ----=> 零健里改狹 , gt: 腎健員步狹

會是這地方出問題嗎?或是跟keep-ratio=True有關嗎

Holmeyoung commented 4 years ago

这和你上一个问题很像。训练模型一个很重要的point就是你希望预测的时候是什么场景,那么你就应该用什么样的数据去训练它。就好像训练的时候用完美的生成的数据,可是预测的时候却用从任意地方切割出来的文字;就好像训练的时候label的长度全部为4,但是预测的时候希望变长。神经网络很容易过拟合,用更多的、更富于变化的、更贴近真实工作场景的数据去训练才是正确的打开方式。

ekils commented 4 years ago

所以你的訓練集有不同長度的資料摟? 因為我看你的demo.png 是五個字 但你在dataset裡面有7個字 ?

Holmeyoung commented 4 years ago

那只是demo,如果你希望工业应用,达到自由的变长识别,那就用变长的数据集让它学习。