Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -34,40 +34,30 @@ IMAGE_ID_PATTERN = r"(?P<image_id>[-a-z0-9]{36})"
|
|
34 |
CONFIDENCE_PATTERN = r"(?P<confidence>[0-9.]+)" # For line
|
35 |
TEXT_PATTERN = r"\s*(?P<text>.*)\s*"
|
36 |
LINE_PREDICTION = re.compile(rf"{IMAGE_ID_PATTERN} {CONFIDENCE_PATTERN} {TEXT_PATTERN}")
|
37 |
-
models_name = ["johnlockejrr/pylaia-heb_sam_v1"]
|
38 |
-
MODELS = {}
|
39 |
|
40 |
def get_width(image, height=DEFAULT_HEIGHT):
|
41 |
aspect_ratio = image.width / image.height
|
42 |
return height * aspect_ratio
|
43 |
|
44 |
-
def load_model(model_name):
|
45 |
-
if model_name not in MODELS:
|
46 |
-
MODELS[model_name] = Path(snapshot_download(model_name))
|
47 |
-
return MODELS[model_name]
|
48 |
-
|
49 |
def predict(model_name, input_img):
|
50 |
-
model_dir =
|
51 |
-
|
52 |
temperature = 2.0
|
53 |
batch_size = 1
|
54 |
|
55 |
-
weights_path = model_dir
|
56 |
-
syms_path = model_dir
|
57 |
language_model_params = {"language_model_weight": 1.0}
|
58 |
-
use_language_model =
|
59 |
if use_language_model:
|
60 |
-
language_model_params.update(
|
61 |
-
{
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
}
|
66 |
-
)
|
67 |
|
68 |
common_args = CommonArgs(
|
69 |
-
checkpoint=
|
70 |
-
train_path=
|
71 |
experiment_dirname="",
|
72 |
)
|
73 |
|
@@ -128,7 +118,7 @@ def process_image(image):
|
|
128 |
crop_pil = Image.fromarray(cv2.cvtColor(crop_img, cv2.COLOR_BGR2RGB))
|
129 |
|
130 |
# Recognize text using PyLaia model
|
131 |
-
predicted = predict(
|
132 |
texts.append(predicted[1]["text"])
|
133 |
|
134 |
bboxes.append((x1, y1, x2, y2))
|
|
|
34 |
CONFIDENCE_PATTERN = r"(?P<confidence>[0-9.]+)" # For line
|
35 |
TEXT_PATTERN = r"\s*(?P<text>.*)\s*"
|
36 |
LINE_PREDICTION = re.compile(rf"{IMAGE_ID_PATTERN} {CONFIDENCE_PATTERN} {TEXT_PATTERN}")
|
|
|
|
|
37 |
|
38 |
def get_width(image, height=DEFAULT_HEIGHT):
|
39 |
aspect_ratio = image.width / image.height
|
40 |
return height * aspect_ratio
|
41 |
|
|
|
|
|
|
|
|
|
|
|
42 |
def predict(model_name, input_img):
|
43 |
+
model_dir = 'pylaia-mcdonald_v2'
|
|
|
44 |
temperature = 2.0
|
45 |
batch_size = 1
|
46 |
|
47 |
+
weights_path = f"{model_dir}/weights.ckpt"
|
48 |
+
syms_path = f"{model_dir}/syms.txt"
|
49 |
language_model_params = {"language_model_weight": 1.0}
|
50 |
+
use_language_model = True
|
51 |
if use_language_model:
|
52 |
+
language_model_params.update({
|
53 |
+
"language_model_path": f"{model_dir}/language_model.binary",
|
54 |
+
"lexicon_path": f"{model_dir}/lexicon.txt",
|
55 |
+
"tokens_path": f"{model_dir}/tokens.txt",
|
56 |
+
})
|
|
|
|
|
57 |
|
58 |
common_args = CommonArgs(
|
59 |
+
checkpoint="weights.ckpt",
|
60 |
+
train_path=f"{model_dir}",
|
61 |
experiment_dirname="",
|
62 |
)
|
63 |
|
|
|
118 |
crop_pil = Image.fromarray(cv2.cvtColor(crop_img, cv2.COLOR_BGR2RGB))
|
119 |
|
120 |
# Recognize text using PyLaia model
|
121 |
+
predicted = predict('johnlockejrr/pylaia-samaritan_v1', crop_pil)
|
122 |
texts.append(predicted[1]["text"])
|
123 |
|
124 |
bboxes.append((x1, y1, x2, y2))
|