Kawthar12h
commited on
Commit
•
2a7bf63
1
Parent(s):
5b3ec62
Update app.py
Browse files
app.py
CHANGED
@@ -29,35 +29,46 @@ translate = pipeline("translation",model="marefa-nlp/marefa-mt-en-ar")
|
|
29 |
|
30 |
def caption_and_translate(img, min_len, max_len):
|
31 |
# Generate English caption
|
32 |
-
|
|
|
|
|
33 |
inputs_blip = processor_blip(raw_image, return_tensors="pt")
|
34 |
-
|
35 |
-
out_blip = model_blip.generate(**inputs_blip, min_length=
|
36 |
english_caption = processor_blip.decode(out_blip[0], skip_special_tokens=True)
|
37 |
|
|
|
38 |
# Translate caption from English to Arabic
|
39 |
arabic_caption = translate(english_caption)
|
40 |
arabic_caption = arabic_caption[0]['translation_text']
|
|
|
|
|
41 |
translated_caption = f'<div dir="rtl">{arabic_caption}</div>'
|
42 |
|
43 |
-
|
|
|
44 |
return english_caption, translated_caption
|
45 |
|
46 |
|
47 |
# Gradio interface with multiple outputs
|
48 |
img_cap_en_ar = gr.Interface(
|
49 |
-
fn=caption_and_translate,
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
53 |
outputs=[gr.Textbox(label='English Caption'),
|
54 |
gr.HTML(label='Arabic Caption')],
|
|
|
55 |
title='Image Captioning | وصف الصورة',
|
56 |
description="Upload an image to generate an English & Arabic caption | قم برفع صورة وأرسلها ليظهر لك وصف للصورة",
|
57 |
-
examples =[["image_2.png"]]
|
58 |
)
|
59 |
|
60 |
|
|
|
61 |
# Load the model
|
62 |
text_rec = pipeline("image-to-text", model="jinhybr/OCR-Donut-CORD")
|
63 |
|
@@ -115,7 +126,7 @@ def recognize_handwritten_text(image2):
|
|
115 |
# Gradio interface with image upload input and text output
|
116 |
handwritten_rec = gr.Interface(
|
117 |
fn=recognize_handwritten_text,
|
118 |
-
inputs=gr.Image(
|
119 |
outputs=[gr.Textbox(label='English Text'),
|
120 |
gr.HTML(label='Arabic Text')],
|
121 |
title="Handwritten Text Extraction | | إستخراج النص المكتوب بخط اليد وترجمتة",
|
|
|
29 |
|
30 |
def caption_and_translate(img, min_len, max_len):
|
31 |
# Generate English caption
|
32 |
+
# It takes image and convert it to the RGB color
|
33 |
+
raw_image = Image.open(img).convert('RGB')
|
34 |
+
#prepares the image data for input to the Blip model
|
35 |
inputs_blip = processor_blip(raw_image, return_tensors="pt")
|
36 |
+
#generates an English caption for the image
|
37 |
+
out_blip = model_blip.generate(**inputs_blip, min_length=min_len, max_length=max_len)
|
38 |
english_caption = processor_blip.decode(out_blip[0], skip_special_tokens=True)
|
39 |
|
40 |
+
|
41 |
# Translate caption from English to Arabic
|
42 |
arabic_caption = translate(english_caption)
|
43 |
arabic_caption = arabic_caption[0]['translation_text']
|
44 |
+
|
45 |
+
# The Arabic caption is formatted with right-to-left directionality.
|
46 |
translated_caption = f'<div dir="rtl">{arabic_caption}</div>'
|
47 |
|
48 |
+
|
49 |
+
# Return both caption and translated caption
|
50 |
return english_caption, translated_caption
|
51 |
|
52 |
|
53 |
# Gradio interface with multiple outputs
|
54 |
img_cap_en_ar = gr.Interface(
|
55 |
+
fn=caption_and_translate, # The function that processes the image
|
56 |
+
#type='filepath'
|
57 |
+
#Users can upload an image and adjust the minimum and maximum caption lengths
|
58 |
+
inputs=[gr.Image(type='pil', label='Image'),
|
59 |
+
gr.Slider(label='Minimum Length', minimum=1, maximum=500, value=30),
|
60 |
+
gr.Slider(label='Maximum Length', minimum=1, maximum=500, value=100)],
|
61 |
+
|
62 |
outputs=[gr.Textbox(label='English Caption'),
|
63 |
gr.HTML(label='Arabic Caption')],
|
64 |
+
|
65 |
title='Image Captioning | وصف الصورة',
|
66 |
description="Upload an image to generate an English & Arabic caption | قم برفع صورة وأرسلها ليظهر لك وصف للصورة",
|
67 |
+
examples =[["image_0.png"], ["image_2.png"]]
|
68 |
)
|
69 |
|
70 |
|
71 |
+
|
72 |
# Load the model
|
73 |
text_rec = pipeline("image-to-text", model="jinhybr/OCR-Donut-CORD")
|
74 |
|
|
|
126 |
# Gradio interface with image upload input and text output
|
127 |
handwritten_rec = gr.Interface(
|
128 |
fn=recognize_handwritten_text,
|
129 |
+
inputs=gr.Image(type="pil"),
|
130 |
outputs=[gr.Textbox(label='English Text'),
|
131 |
gr.HTML(label='Arabic Text')],
|
132 |
title="Handwritten Text Extraction | | إستخراج النص المكتوب بخط اليد وترجمتة",
|