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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

论文阅读 - CRNN

發(fā)布時間:2024/7/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 论文阅读 - CRNN 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • 1 概述
    • 2 模型介紹
      • 2.1 輸入
      • 2.2 Feature extraction
      • 2.3 Sequence modeling
      • 2.4 Transcription
        • 2.4.1 訓練部分
        • 2.4.2 預測部分
    • 3 模型效果
    • 參考資料

1 概述

CRNN(Convolutional Recurrent Neural Network)是2015年華科的白翔老師團隊提出的,直至今日,仍舊是文本識別領域最常用也最好用的方法。CRNN主要由三部分組成,分別是feature extraction,sequence modeling和transcription,如下圖1-1所示。

圖1-1 CRNN總體結構圖

feature extraction用于按寬度抽取圖像特征,sequence modeling用于融合這些特征并輸出label的預測分布,transcription用于將這個特征序列轉化為文本。

CRNN強大的地方就是它只是一個框架,其中的feature extraction和sequence modeling部分都是可以替換成不同的模型的,比如feature extraction部分,可以換成任意的抽取圖像特征的模型,想要追求性能就換成小模型,想要追求效果就換成大模型,非常靈活。

2 模型介紹

2.1 輸入

輸入是一般是文本檢測的輸出,一個長條形的圖片,是橫向長條的,因為我們的文字都是橫著寫的。而且這一長條里只能有一行文字,不能多行。多行就得要切成多個單行的長條分別輸入。

文本有一些傾斜問題不大,但最好是在文本檢測部分調整,即在文本檢測部分檢測多邊形,再仿射變換成長條形,使得文本部分不傾斜。也有論文提出在CRNN的前面前置一個STN。STN要真的有效,需要有好的訓練數(shù)據(jù)。就算有好的數(shù)據(jù),也降低了模型的總體性能,增大了模型的訓練難度。STN可以看成一個極簡版的物體檢測模塊。

輸入的尺寸一般為h×w×c=32×280×3h \times w \times c = 32 \times 280 \times 3h×w×c=32×280×3,不是這個尺寸的就resize and pad成這個尺寸,盡量不要只resize,這會使得文字變形。輸入尺寸www會根據(jù)需求做調整,如果文本都是短文本,則可以考慮w=100w=100w=100

2.2 Feature extraction

Feature extraction就是對32×280×332 \times 280 \times 332×280×3的輸入進行特征抽取的一個deep convolutional neural networks,輸出1×w/4×d=1×70×5121 \times w/4 \times d=1 \times 70 \times 5121×w/4×d=1×70×512的向量。w/4w/4w/4表示對32×432 \times 432×4的一小塊圖片區(qū)域抽取一個512維的特征。這一小塊區(qū)域被稱為receptive field(感受野),或是幀。

圖2-1 特征抽取示意圖

幀的尺寸是可以變的,輸出的特征維度也是可以變的,這些都是超參數(shù)。也正是因為CRNN這種抽取特征的方式,使得它沒法辦法處理豎向的文本,所有高度上的像素都被壓到一個特征里了,分不開了。幀的尺寸決定了模型的精度,比如有兩個文字完全都在同一幀內,那模型就沒法把這兩個文字分開了,識別就有問題了。

要處理豎向的文本,需要訓練一個識別文本方向的分類網(wǎng)絡,然后根據(jù)文本的方向對豎向的文本進行旋轉或者切片拼接等不同的操作。目的就是變成CRNN可以處理的輸入。

2.3 Sequence modeling

我們令feature extraction部分的輸出為x=x1,x2,...,xT\bold{x}=x_1, x_2, ..., x_Tx=x1?,x2?,...,xT?T=70T=70T=70xtx_txt?表示第ttt幀的特征,為一個512維的向量。假設字典的長度為NNN,Sequence modeling就是一個雙向的LSTM,輸出y=y1,..,yT\bold{y} = y_1, .., y_Ty=y1?,..,yT?yty_tyt?表示第iii幀為每個字典中字符的概率,是一個N+1N+1N+1維的向量。

Sequence modeling部分的總輸出是一個T×(N+1)T \times (N+1)T×(N+1)的概率圖。

圖2-2 序列模型

使用雙向LSTM的好處是:
(1)文本是一個序列,抽取特征的CNN模型只能看到附近幾幀的圖片特征,而雙向LSTM可以融合更遠的特征,使得模型看到完整的整個字;
(2)LSTM可以和CNN使用Back-Propagation Through Time (BPTT)的方法拼接起來一起訓練;
(3)LSTM可以處理任意長度的輸入。

2.4 Transcription

這部分是使用CTC來做的,它在訓練和預測時有著不同的處理方法。2.3中的y\bold{y}y之所以維度為N+1N+1N+1就是因為CTC需要一個空白符"?\phi?"。CTC的對齊基于兩個規(guī)則:

(1)先合并所有的重復字符;
(2)再刪除所有的空白符。

比如,下面兩個序列s\bold{s}s經(jīng)過對齊之后,都是"Hello"。

H?eee?lll???lll?ooHee??lll??llll?oooH \phi eee \phi lll \phi\phi\phi lll \phi oo \\ H ee \phi\phi lll \phi\phi llll \phi ooo H?eee?lll???lll?ooHee??lll??llll?ooo

2.4.1 訓練部分

訓練時,我們是知道文本標簽的。

假設我們的訓練數(shù)據(jù)為{Ii,li}\{\bold{I}_i, \bold{l}_i\}{Ii?,li?}Ii\bold{I}_iIi?為第iii張訓練圖片,li\bold{l}_ili?為第iii張圖片的文本標簽,yi\bold{y}_iyi?為第iii張圖片的預測概率圖(序列都用粗體進行了表示)。我們的目標就是

argmin??∑ilogp(li∣yi)(2-1)arg\min -\sum_{i} log p(\bold{l}_i|\bold{y}_i) \tag{2-1} argmin?i?logp(li?yi?)(2-1)

其中,p(li∣yi)p(\bold{l}_i|\bold{y}_i)p(li?yi?)表示用概率圖yi\bold{y}_iyi?得到文本序列li\bold{l}_ili?的概率。

p(li∣yi)=∑s:B(s)=lip(s∣yi)(2-2)p(\bold{l}_i|\bold{y}_i) = \sum_{\bold{s} : \Beta(\bold{s})=\bold{l}_i} p(\bold{s}|\bold{y}_i) \tag{2-2} p(li?yi?)=s:B(s)=li??p(syi?)(2-2)

s\bold{s}s表示可以變成文本l\bold{l}l的一條路徑,B(s)\Beta(\bold{s})B(s)表示對s\bold{s}s進行CTC對齊操作。p(li∣yi)p(\bold{l}_i|\bold{y}_i)p(li?yi?)也就是所有可以從s\bold{s}s變?yōu)?span id="ozvdkddzhkzd" class="katex--inline">li\bold{l}_ili?的路徑概率和。

p(s∣yi)=∏t=1Tystt(2-3)p(\bold{s}|\bold{y}_i) = \prod_{t=1}^T y_{s_t}^t \tag{2-3} p(syi?)=t=1T?yst?t?(2-3)

要找到所有可以從s\bold{s}s變?yōu)?span id="ozvdkddzhkzd" class="katex--inline">li\bold{l}_ili?的路徑,用枚舉法是不行的,這里一般會用HMM中的前向后向算法,也就是動態(tài)規(guī)劃。

2.4.2 預測部分

預測時,我們是不知道文本標簽的。

這個時候要去計算所有可能的文本序列的概率,再找到最大的,簡直無法想象。所以預測時,我們只能寄希望于模型訓練的足夠好,每一幀都預測得很準。然后用greedy search或者beam search的方法來找到最有路徑。

greedy search是實際最常用的方法,就是取每幀概率最大的標簽。

beam search是在每幀去概率最大的前n條路徑,一直保留n條概率最大的路徑,直到最后一幀,當n取1時,beam search就退化為greedy search。

以上說的都是只有字典的情況,當我們有詞表lexicon時,我們可以根據(jù)結果,取編輯距離小于δ\deltaδ的所有詞,然后再看取這些詞時,概率最大的是哪個詞,以此確定最終的輸出。

3 模型效果

作者還對比了不同數(shù)據(jù)集下,CRNN對比其他模型的效果,不過這都是2015年的時候的了,看看即可。

不如看下百度開源的paddle-ocr里的對比結果。CRNN雖然不是準確率最高的,但是是paddle-ocr最推薦的算法。它的效果和性能的綜合優(yōu)勢是最高的。

參考資料

[1] An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition
[2] 一文讀懂CRNN+CTC文字識別
[3] PaddleOCR

總結

以上是生活随笔為你收集整理的论文阅读 - CRNN的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲精品乱码久久久久久按摩观 | 一起草国产 | 欧美一级α片 | 免费黄色在线 | 久久中文字幕人妻熟av女蜜柚m | 肉肉av福利一精品导航 | 丁香花电影免费播放在线观看 | 亚洲天堂久久久 | 中国三级黄色 | 一起草在线视频 | 精品国产区一区二 | 国产99在线观看 | 国产一级片毛片 | 69看片| 日韩精品一区二区三区 | 极品人妻videosss人妻 | 国产精品一二三四五区 | jizz中国少妇高潮出水 | 嫩草影院菊竹影院 | 欧美性潮喷xxxxx免费视频看 | 亚洲狼人伊人 | 天堂伊人| 日韩一区二区三区网站 | 暴操白虎 | 特级西西人体wwwww | 久久精品性 | 久久亚洲AV无码 | 日本不卡高清视频 | 秘密爱大尺度做爰呻吟 | 在线观看精品国产 | 成人a级网站 | 日本少妇喂奶漫画 | 免费一区二区三区视频在线 | av在线网址观看 | 欧美黄色三级 | 日韩三级中文字幕 | 在线欧美日韩 | 国产拍拍拍 | 51调教丨国产调教视频 | 中文无码日韩欧 | av午夜在线观看 | 99re视频精品| 亚洲精选一区二区三区 | 亚洲一区有码 | 日韩av黄色片 | 亚洲欧美999 | 高清国产一区二区 | 国产视频精品视频 | 日本一区二区视频在线 | 国产欧美久久一区二区三区 | 亚洲自拍偷拍精品 | 亚洲免费观看在线 | 日本午夜三级 | a免费在线 | 在线观看va | 亚洲精品在线观看av | 日本一区不卡 | 久草热视频| 亚洲香蕉一区 | 香蕉视频免费网站 | 无码人妻久久一区二区三区 | 精品国产一区二区视频 | 黄色一级片一级片 | 夜夜夜网站 | 日本免费不卡 | 性少妇xxxxx 亚洲一卡二卡在线观看 | 美女扒开腿让男人捅 | 国产成人av一区二区三区不卡 | 国产色在线视频 | 一级片免费的 | 91网址在线 | 久久久久久久久久99精品 | 中文字幕一区二区三区四区 | 欧美日韩a级 | 综合国产精品 | 成人免费视频视频 | 日本一区二区精品 | 色诱久久av| 草莓巧克力香氛动漫的观看方法 | 色狠狠一区二区 | 葵司av电影| 天天色天天 | 18禁免费观看网站 | 欧美性色视频 | 可以免费看的av毛片 | 九九日韩 | 欧美高清一区 | 欧美激情精品久久久久久变态 | 精品久久五月天 | 91福利一区 | 欧美大片高清免费观看 | 亚洲国产成人va在线观看天堂 | 成人h视频在线 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 好av| 亚洲91精品 | 日日操天天操夜夜操 | 午夜精品久久久内射近拍高清 | 国产精品午夜未成人免费观看 |