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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

keras优化算法_自然场景文本识别(OCR),keras-yolo3-densenet-ocr

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 keras优化算法_自然场景文本识别(OCR),keras-yolo3-densenet-ocr 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自然場景文本識別

我之前是做自然語言的,但公司有個ocr的項目必須要做,因此開始學習ocr相關知識,邊學邊做兩個多月,還有很多不太明白的地方,只能大概講一講經驗教訓。

自然場景文本分類包括兩個步驟,1、文本檢測:識別出文本框,2、文本識別:識別出字或者字符。

1、 文本檢測:

文本檢測和目標檢測類似但又有不同,目標檢測的物體形狀一般是不固定的,而文本框一般是矩形,另外文本檢測是二分類,而目標檢測是多分類。成熟的文本檢測算法有很多,我嘗試了ctpn,east以及yolo3(包括yolo3-tiny)等三種文本檢測算法。(目前只考慮水平文本,有很多其他算法可以檢測非水平文本,包括east)

2、 文本識別:

文本識別嘗試了crnn和densenet,總體來看性能差不多。

由于對qps有要求,因此嘗試使用tensorrt對模型進行推理優化,keras轉trt模型較好的路徑還是keras→onnx→trt,而不是keras→uff→trt,因為有很多操作uff都不支持。使用tensorrt后時延從120ms降到了90ms,可以說達到了目的。但是tensorrt只支持定長,只能將圖片壓縮到固定值(例如608*608),會損失一定精度,tensorrt6以后應該是支持變長的,后面有時間會研究一下這個問題。

因為要綜合考慮性能和效率,最終使用yolo3+densenet作為解決方案(從時延和性能上看yolo3都是遠遠好于ctpn和east(只考慮水平文本),這和我看到的一些信息不符,ctpn和east都是工業界運用比較多的算法了,但這里我沒看到任何優勢,如果有大神了解歡迎指正)。

使用tensorrt進行推理優化,平均時延大約90ms左右。程序是由python實現,改成c++,時延應該會更低一些。使用了10000條數據進行測試,使用hmean和編輯距離作為評價指標(https://github.com/liuheng92/OCR_EVALUATION.git),最好模型(yolo3-608-densenet)結果為:

"recall": 0.7576752977446645,

"precision": 0.7358534281487819,

"hmean": 0.7466049438527332

"distance": 28.814918508149184,

附代碼地址:https://github.com/zhaogangthu/keras-yolo3-ocr-tensorrt.git

另外我對推理加速問題很感興趣,如果有大神有過研究,歡迎指教。有其他問題也可一起討論。

——————————————————————————————————————

2020年9月25日更新

tensorrt已經支持動態輸入,請查看:

趙剛:tensorRT動態輸入(python)?zhuanlan.zhihu.com

總結

以上是生活随笔為你收集整理的keras优化算法_自然场景文本识别(OCR),keras-yolo3-densenet-ocr的全部內容,希望文章能夠幫你解決所遇到的問題。

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