《發票識別算法基礎知識》

手裏的兩個OCR算法使用了類似的算法和框架,但是代碼看起來還是有細微的差別的。準備研究下該代碼,此篇文字記錄基本知識,權當筆記。


1.PIL.Image.convert("L")

python中的圖像處理庫PIL是用來實現不同圖像格式的轉換。

PIL處理正常的RGB、BMP、JPG格式的圖片,都是直接將其轉換爲"RGB"模式。

但是對於灰度圖,PIL進行的操作是將其轉換爲"L"型——模式"L"爲灰色圖像,它的每個像素用8個bit表示,0表示黑,255表示白,其他數字表示不同的灰度。在PIL中,從模式“RGB”轉換爲“L”模式是按照下面的公式轉換的:

L = R * 299/1000 + G * 587/1000+ B * 114/1000


"""
YOLO_v3 Model Defined in Keras.
Reference: https://github.com/qqwweee/keras-yolo3.git
"""

確定了手裏的兩個項目都是使用的該源碼。


3.並不是像我想象的整個模型都是使用Keras!!!

keras是keras-yolo3,是文字檢測用的!!!

ocr是ocr,是用pytorch實現的,屬於CRNN,是文字識別用的!!!

########################文字檢測################################################
##文字檢測引擎 
IMGSIZE = (608, 608)  ## yolo3 輸入圖像尺寸
yoloTextFlag = 'keras'  ##keras,opencv,darknet,模型性能 keras>darknet>opencv
############## keras yolo  ##############
keras_anchors = '8,11, 8,16, 8,23, 8,33, 8,48, 8,97, 8,139, 8,198, 8,283'
class_names = ['none', 'text', ]
kerasTextModel = os.path.join(pwd, "models", "text.h5")  ##keras版本模型權重文件


######################OCR模型###################################################
ocrFlag = 'torch'  ##ocr模型 支持 keras  torch opencv版本

4.yolo_v3.

yolo_v3是一個目前識別率較高的目標檢測深度學習算法,其對darknet-53進行了修改,只取其前52層。

發佈了47 篇原創文章 · 獲贊 10 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章