日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CRNN中英文字符识别

發布時間:2024/3/12 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CRNN中英文字符识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼地址如下:
http://www.demodashi.com/demo/13870.html

參考GitHub源碼:https://github.com/YoungMiao/crnn

應demo大師文章要求,我再補充下,推薦下,這個平臺挺好

1.環境搭建

1.1 基礎環境

  • Ubuntu14.04 + CUDA
  • opencv2.4 + pytorch + lmdb +wrap_ctc

安裝lmdb apt-get install lmdb

1.2 安裝pytorch

pip,linux,cuda8.0,python2.7:pip install http://download.pytorch.org/whl/cu80/torch-0.1.12.post2-cp27-none-linux_x86_64.whl
參考:http://pytorch.org/

1.3 安裝wrap_ctc

git clone https://github.com/baidu-research/warp-ctc.git` cd warp-ctc mkdir build; cd build cmake .. make

GPU版在環境變量中添加
export CUDA_HOME="/usr/local/cuda"

cd pytorch_binding python setup.py install

參考:https://github.com/SeanNaren/warp-ctc/tree/pytorch_bindings/pytorch_binding

1.4 注意問題

  • 缺少cffi庫文件 使用pip install cffi安裝
  • 安裝pytorch_binding前,確認設置CUDA_HOME,雖然編譯安裝不會報錯,但是在調用gpu時,會出現wrap_ctc沒有gpu屬性的錯誤
  • 2. crnn預測(以21類中英文為例)

    模型地址:鏈接:https://eyun.baidu.com/s/3dEUJJg9 密碼:vKeD

    運行/contrib/crnn/demo.py

    原始圖片為:

    識別結果為:

    # 加載模型 model_path = './samples/netCRNN_9_112580.pth' # 需識別的圖片 img_path = './data/demo.png' # 識別的類別 alphabet = 'ACIMRey萬下依口哺攝次狀璐癌草血運重' # 設置模型參數 圖片高度imgH=32, nc, 分類數目nclass=len(alphabet)+1 一個預留位, LSTM設置隱藏層數nh=128, 使用GPU個數ngpu=1 model = crnn.CRNN(32, 1, 22, 128, 1).cuda()

    替換模型時,注意模型分類的類別數目

    3、程序實現(crnn 訓練(以21類中英文為例))

    注意:--------------------------------------

    請補充完整個實現過程,以下實現,沒有說到具體的實現過程,應該把具體的代碼說清楚,思路說清楚。數據怎樣清洗的,怎樣建模的等等

    ###1. 數據預處理

    運行/contrib/crnn/tool/tolmdb.py

    # 生成的lmdb輸出路徑 outputPath = "./train_lmdb" # 圖片及對應的label imgdata = open("./train.txt")

    ###2. 訓練模型

    運行/contrib/crnn/crnn_main.py

    python crnn_main.py [--param val] --trainroot 訓練集路徑 --valroot 驗證集路徑 --workers CPU工作核數, default=2 --batchSize 設置batchSize大小, default=64 --imgH 圖片高度, default=32 --nh LSTM隱藏層數, default=256 --niter 訓練回合數, default=25 --lr 學習率, default=0.01 --beta1 --cuda 使用GPU, action='store_true' --ngpu 使用GPU的個數, default=1 --crnn 選擇預訓練模型 --alphabet 設置分類 --Diters --experiment 模型保存目錄 --displayInterval 設置多少次迭代顯示一次, default=500 --n_test_disp 每次驗證顯示的個數, default=10 --valInterval 設置多少次迭代驗證一次, default=500 --saveInterval 設置多少次迭代保存一次模型, default=500 --adam 使用adma優化器, action='store_true' --adadelta 使用adadelta優化器, action='store_true' --keep_ratio 設置圖片保持橫縱比縮放, action='store_true' --random_sample 是否使用隨機采樣器對數據集進行采樣, action='store_true'

    示例:python /contrib/crnn/crnn_main.py --tainroot [訓練集路徑] --valroot [驗證集路徑] --nh 128 --cuda --crnn [預訓練模型路徑]

    修改/contrib/crnn/keys.py中alphabet = 'ACIMRey萬下依口哺攝次狀璐癌草血運重'增加或者減少類別

  • 注意事項
  • 訓練和預測采用的類別數和LSTM隱藏層數需保持一致

    4、項目結構

    從上往下大概說明下

    1.crnn.py是crnn網絡結構模塊
    #雙向的LSTM
    class BidirectionalLSTM(nn.Module)
    #CRNN網絡
    class CRNN(nn.Module)
    crnn網絡設計:
    CRNN由CNN+BiLSTM+CTC構成:

    網絡結構:

    • input: 輸入文字塊,歸一化到32*w 即height縮放到32,寬度按高度的比率縮放,也可以縮放到自己想要的寬度,訓練時為批次訓練,縮放到[32,Wmax]),示例為(32,128)

    • 經過兩個conv層和兩個poling層,conv3層時數據大小為256*8*32,兩個pooling層步長為2

    • pooling2層步長為(2,1),(個人看法:作者使用的英文訓練,英文字符的特征是高大于寬的特征,倘若使用中文訓練,建議使用(2,2),我的代碼中默認為(2,2),示例以(2,1)為例,所以此時輸出為256*4*33

    • bn層不改變輸出的大小(就是做個歸一化,加速訓練收斂),p3層時,w+1,所以pooling3層時,輸出為512*2*34

    • conv7層時,kernel 為22,stride(1,1) padding(0,0)
      Wnew = (2 + 2 * padW - kernel ) / strideW + 1 = 1
      Hnew = 33
      所以conv7層輸出為5121*33

    • 后面跟兩個雙向Lstm,隱藏節點都是256
      Blstm1輸出33*1256
      Blstm2輸出 33*1*5530 5530 = 字符個數 + 非字符 = 5529 + 1
      最終的輸出結果直觀上可以想象成將128分為33份,每一份對應5530個類別的概率

    2.tolmdb.py生成訓練lmdb數據模塊

    • 輸入圖片list的文檔,大概格式如下

    3.crnn_main.py主程序模塊

    • 增加了對類別增刪的增量訓練,line104~line117
      4.dataset.py數據加載模塊
    • class alignCollate:按照比例縮放w
    • class randomSequentialSampler:隨機采樣batch
      5.utils.py編解碼模塊
      ##5、數據部分
      數據獲取方法有兩種:
  • 生成自然場景文本
    GitHub:https://github.com/ankush-me/SynthText
  • 生成常規文本:
    GitHub:https://github.com/YoungMiao/synthdata-zh
    有時間在記錄兩種方法
  • CRNN中英文字符識別

    代碼地址如下:
    http://www.demodashi.com/demo/13870.html

    注:本文著作權歸作者,由demo大師發表,拒絕轉載,轉載需要作者授權

    總結

    以上是生活随笔為你收集整理的CRNN中英文字符识别的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲色图50p | 国产这里有精品 | 美女啪啪无遮挡 | 精品中文字幕视频 | 欧美xxxx日本和非洲 | 麻豆av一区二区三区久久 | 国产一级一级国产 | 亚洲av无码国产在丝袜线观看 | 蜜桃视频成人 | 最近中文字幕在线视频 | 日本免费成人 | 中文字幕在线1 | 91操碰| 日本伦理一区 | 国产亚洲精品自拍 | 亚洲欧美日韩在线不卡 | 中文字幕在线观看视频一区 | 成年人av在线播放 | 蜜桃久久一区二区三区 | 亚洲欧美日韩另类 | 一区二区三区www | 黄色激情在线观看 | 国产精品一 | 久久久精品中文字幕麻豆发布 | 夜福利视频 | 中文字幕第9页 | 伊人精品国产 | 久久久久网站 | 成片免费观看视频 | 超级黄色录像 | 日韩h在线| 国产精品系列在线 | 337p粉嫩色噜噜噜大肥臀 | 99热在线这里只有精品 | 剧情av在线| 久久在线播放 | 国产愉拍 | 伊人影院在线观看视频 | 国模私拍在线观看 | 亚洲熟女一区二区 | 黄色在线观看视频网站 | 在线观看污污视频 | 日韩视频不卡 | 野外性满足hd| 哺乳期喷奶水丰满少妇 | 国产综合久久 | 牲欲强的熟妇农村老妇女视频 | 午夜激情视频在线播放 | 色久av | 日韩精品一区二区三区网站 | 欧美激情国产精品免费 | 国产精品久久久久久久久免费相片 | 亚洲成年人 | 亚洲综合在线视频 | 特级西西444www大精品视频 | 美国黄色网址 | 精品国产中文字幕 | 国产一区二区免费视频 | 国产精品一国产精品 | 欧美一级黄色片子 | 97国产精品人人爽人人做 | 双性人妖互交localhost | 最新中文在线视频 | 性感美女毛片 | 日韩毛片网站 | 国产女人爽到高潮a毛片 | 夜夜躁狠狠躁日日躁 | 深爱激情综合网 | 毛片一区二区三区 | 亚洲黄色av| 国产一二区在线观看 | 日韩在线精品强乱中文字幕 | 国产在线播放一区二区 | 欧美在线观看视频 | 欧美日韩成人一区二区 | 成人午夜精品福利免费 | 秋霞毛片| 天天插av| 亚洲 欧美 日韩 在线 | 一区二区三区四区在线观看视频 | 欧美又粗又深又猛又爽啪啪九色 | 成年人晚上看的视频 | 久久狠狠高潮亚洲精品 | 欧美激情视频网站 | 涩涩涩涩涩涩涩涩涩涩 | 极品淫少妇 | 中文字幕亚洲日本 | 鲁一鲁一鲁一鲁一av | 精品久久久精品 | 涩久久 | 国模少妇一区二区三区 | 亚洲综合成人av | 久久国产精品网站 | 先锋影音av中文字幕 | 久久亚洲精品视频 | 999精品 | 中文字幕少妇 | 日本日皮视频 | 国产精品一区二区麻豆 |