Обучение модели, чтобы быть предвзятым по отношению к заданному фону - PullRequest
0 голосов
/ 31 мая 2018

Я переучиваю начальную модель Resnet v2 для распознавания последовательности из трехзначных чисел (определенного типа шрифта). Эта последовательность искусственно генерируется с черными буквами на белом фоне.Я придерживаюсь мнения, что при условии, что модель будет видеть только конкретный фон, я смогу устранить ложные обнаружения (в этом случае любые другие 3-значные последовательности, не на белом фоне), поскольку модель не будет предсказывать (с высокой вероятностью) последовательности, чьифон не белый. Это правильное предположение?

PS: я пытался использовать tesseract ранее для выполнения извлечения текста из изображения.Я использовал детектор восточного текста для обнаружения, который дал мне ограничивающие рамки для текста.Я следовал за этим с OCR, используя pytesseract, но он всегда возвращал пустую строку.Кроме того, при повороте цифр детектор восточного текста не смог распознать повернутую последовательность цифр.Поэтому у меня не было выбора, кроме как обучать и выполнять обнаружение и извлечение текста с использованием модели нейронной сети.

код для pytesseract:

import cv2
import numpy as np
import pytesseract
from pytesseract import  image_to_string
from PIL import Image
refPt=[(486,302),(540,308),(538,328),(484,323)] #the bbox returned by east
refpt = np.array(refPt,dtype=np.int32)
roi_corners=np.array(refPt[0:4],np.int32).reshape((-1,1,2))
inp_img=cv2.imread("1.jpg")
mask = np.zeros(inp_img.shape, dtype=np.uint8)
channel_count = inp_img.shape[2]
ignore_mask_color = (255,)*channel_count
mask = cv2.fillPoly(mask,   np.array(refPt[0:4],np.int32).reshape((-1,1,2))], ignore_mask_color)
masked_image = cv2.bitwise_and(inp_img, mask)
print (image_to_string(Image.fromarray(masked_image),lang='eng'))

This is a sample image on which OCR was performed following the text detectionThis is a rotated image on which east text detector fails to recognize the sequence of digits

...