gokaygokay commited on
Commit
e8e2282
·
verified ·
1 Parent(s): ca16909

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +81 -22
app.py CHANGED
@@ -1,3 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
  from transformers import AutoProcessor, AutoModelForCausalLM
3
  import spaces
@@ -111,56 +156,70 @@ def draw_ocr_bboxes(image, prediction):
111
 
112
  def process_image(image, task_prompt, text_input=None):
113
  image = Image.fromarray(image) # Convert NumPy array to PIL Image
114
- if task_prompt == '<CAPTION>':
 
115
  result = run_example(task_prompt, image)
116
  return result, None
117
- elif task_prompt == '<DETAILED_CAPTION>':
 
118
  result = run_example(task_prompt, image)
119
  return result, None
120
- elif task_prompt == '<MORE_DETAILED_CAPTION>':
 
121
  result = run_example(task_prompt, image)
122
  return result, None
123
- elif task_prompt == '<OD>':
 
124
  results = run_example(task_prompt, image)
125
  fig = plot_bbox(image, results['<OD>'])
126
  return results, fig_to_pil(fig)
127
- elif task_prompt == '<DENSE_REGION_CAPTION>':
 
128
  results = run_example(task_prompt, image)
129
  fig = plot_bbox(image, results['<DENSE_REGION_CAPTION>'])
130
  return results, fig_to_pil(fig)
131
- elif task_prompt == '<REGION_PROPOSAL>':
 
132
  results = run_example(task_prompt, image)
133
  fig = plot_bbox(image, results['<REGION_PROPOSAL>'])
134
  return results, fig_to_pil(fig)
135
- elif task_prompt == '<CAPTION_TO_PHRASE_GROUNDING>':
 
136
  results = run_example(task_prompt, image, text_input)
137
  fig = plot_bbox(image, results['<CAPTION_TO_PHRASE_GROUNDING>'])
138
  return results, fig_to_pil(fig)
139
- elif task_prompt == '<REFERRING_EXPRESSION_SEGMENTATION>':
 
140
  results = run_example(task_prompt, image, text_input)
141
  output_image = copy.deepcopy(image)
142
  output_image = draw_polygons(output_image, results['<REFERRING_EXPRESSION_SEGMENTATION>'], fill_mask=True)
143
  return results, output_image
144
- elif task_prompt == '<REGION_TO_SEGMENTATION>':
 
145
  results = run_example(task_prompt, image, text_input)
146
  output_image = copy.deepcopy(image)
147
  output_image = draw_polygons(output_image, results['<REGION_TO_SEGMENTATION>'], fill_mask=True)
148
  return results, output_image
149
- elif task_prompt == '<OPEN_VOCABULARY_DETECTION>':
 
150
  results = run_example(task_prompt, image, text_input)
151
  bbox_results = convert_to_od_format(results['<OPEN_VOCABULARY_DETECTION>'])
152
  fig = plot_bbox(image, bbox_results)
153
  return results, fig_to_pil(fig)
154
- elif task_prompt == '<REGION_TO_CATEGORY>':
 
155
  results = run_example(task_prompt, image, text_input)
156
  return results, None
157
- elif task_prompt == '<REGION_TO_DESCRIPTION>':
 
158
  results = run_example(task_prompt, image, text_input)
159
  return results, None
160
- elif task_prompt == '<OCR>':
 
161
  result = run_example(task_prompt, image)
162
  return result, None
163
- elif task_prompt == '<OCR_WITH_REGION>':
 
164
  results = run_example(task_prompt, image)
165
  output_image = copy.deepcopy(image)
166
  output_image = draw_ocr_bboxes(output_image, results['<OCR_WITH_REGION>'])
@@ -183,11 +242,11 @@ with gr.Blocks(css=css) as demo:
183
  with gr.Column():
184
  input_img = gr.Image(label="Input Picture")
185
  task_prompt = gr.Dropdown(choices=[
186
- '<CAPTION>', '<DETAILED_CAPTION>', '<MORE_DETAILED_CAPTION>', '<OD>',
187
- '<DENSE_REGION_CAPTION>', '<REGION_PROPOSAL>', '<CAPTION_TO_PHRASE_GROUNDING>',
188
- '<REFERRING_EXPRESSION_SEGMENTATION>', '<REGION_TO_SEGMENTATION>',
189
- '<OPEN_VOCABULARY_DETECTION>', '<REGION_TO_CATEGORY>', '<REGION_TO_DESCRIPTION>',
190
- '<OCR>', '<OCR_WITH_REGION>'
191
  ], label="Task Prompt")
192
  text_input = gr.Textbox(label="Text Input (optional)")
193
  submit_btn = gr.Button(value="Submit")
@@ -197,8 +256,8 @@ with gr.Blocks(css=css) as demo:
197
 
198
  gr.Examples(
199
  examples=[
200
- ["image1.jpg", '<OD>'],
201
- ["image2.jpg", '<OCR_WITH_REGION>']
202
  ],
203
  inputs=[input_img, task_prompt],
204
  outputs=[output_text, output_img],
@@ -209,4 +268,4 @@ with gr.Blocks(css=css) as demo:
209
 
210
  submit_btn.click(process_image, [input_img, task_prompt, text_input], [output_text, output_img])
211
 
212
- demo.launch(debug=True)
 
1
+ Hugging Face's logo
2
+ Hugging Face
3
+ Search models, datasets, users...
4
+ Models
5
+ Datasets
6
+ Spaces
7
+ Posts
8
+ Docs
9
+ Solutions
10
+ Pricing
11
+
12
+
13
+
14
+ Spaces:
15
+
16
+ gokaygokay
17
+ /
18
+ Florence-2
19
+
20
+
21
+ like
22
+ 0
23
+
24
+ Logs
25
+ App
26
+ Files
27
+ Community
28
+ Settings
29
+ Florence-2
30
+ /
31
+ app.py
32
+
33
+ gokaygokay's picture
34
+ gokaygokay
35
+ Update app.py
36
+ ca16909
37
+ VERIFIED
38
+ 12 minutes ago
39
+ raw
40
+ history
41
+ blame
42
+ edit
43
+ delete
44
+ No virus
45
+ 8.31 kB
46
  import gradio as gr
47
  from transformers import AutoProcessor, AutoModelForCausalLM
48
  import spaces
 
156
 
157
  def process_image(image, task_prompt, text_input=None):
158
  image = Image.fromarray(image) # Convert NumPy array to PIL Image
159
+ if task_prompt == 'Caption':
160
+ task_prompt = '<CAPTION>'
161
  result = run_example(task_prompt, image)
162
  return result, None
163
+ elif task_prompt == 'Detailed Caption':
164
+ task_prompt = '<DETAILED_CAPTION>'
165
  result = run_example(task_prompt, image)
166
  return result, None
167
+ elif task_prompt == 'More Detailed Caption':
168
+ task_prompt = '<MORE_DETAILED_CAPTION>'
169
  result = run_example(task_prompt, image)
170
  return result, None
171
+ elif task_prompt == 'Object Detection':
172
+ task_prompt = '<OD>'
173
  results = run_example(task_prompt, image)
174
  fig = plot_bbox(image, results['<OD>'])
175
  return results, fig_to_pil(fig)
176
+ elif task_prompt == 'Dense Region Caption':
177
+ task_prompt = '<DENSE_REGION_CAPTION>'
178
  results = run_example(task_prompt, image)
179
  fig = plot_bbox(image, results['<DENSE_REGION_CAPTION>'])
180
  return results, fig_to_pil(fig)
181
+ elif task_prompt == 'Region Proposal':
182
+ task_prompt = '<REGION_PROPOSAL>'
183
  results = run_example(task_prompt, image)
184
  fig = plot_bbox(image, results['<REGION_PROPOSAL>'])
185
  return results, fig_to_pil(fig)
186
+ elif task_prompt == 'Caption to Phrase Grounding':
187
+ task_prompt = '<CAPTION_TO_PHRASE_GROUNDING>'
188
  results = run_example(task_prompt, image, text_input)
189
  fig = plot_bbox(image, results['<CAPTION_TO_PHRASE_GROUNDING>'])
190
  return results, fig_to_pil(fig)
191
+ elif task_prompt == 'Referring Expression Segmentation':
192
+ task_prompt = '<REFERRING_EXPRESSION_SEGMENTATION>'
193
  results = run_example(task_prompt, image, text_input)
194
  output_image = copy.deepcopy(image)
195
  output_image = draw_polygons(output_image, results['<REFERRING_EXPRESSION_SEGMENTATION>'], fill_mask=True)
196
  return results, output_image
197
+ elif task_prompt == 'Region to Segmentation':
198
+ task_prompt = '<REGION_TO_SEGMENTATION>'
199
  results = run_example(task_prompt, image, text_input)
200
  output_image = copy.deepcopy(image)
201
  output_image = draw_polygons(output_image, results['<REGION_TO_SEGMENTATION>'], fill_mask=True)
202
  return results, output_image
203
+ elif task_prompt == 'Open Vocabulary Detection':
204
+ task_prompt = '<OPEN_VOCABULARY_DETECTION>'
205
  results = run_example(task_prompt, image, text_input)
206
  bbox_results = convert_to_od_format(results['<OPEN_VOCABULARY_DETECTION>'])
207
  fig = plot_bbox(image, bbox_results)
208
  return results, fig_to_pil(fig)
209
+ elif task_prompt == 'Region to Category':
210
+ task_prompt = '<REGION_TO_CATEGORY>'
211
  results = run_example(task_prompt, image, text_input)
212
  return results, None
213
+ elif task_prompt == 'Region to Description':
214
+ task_prompt = '<REGION_TO_DESCRIPTION>'
215
  results = run_example(task_prompt, image, text_input)
216
  return results, None
217
+ elif task_prompt == 'OCR':
218
+ task_prompt = '<OCR>'
219
  result = run_example(task_prompt, image)
220
  return result, None
221
+ elif task_prompt == 'OCR with Region':
222
+ task_prompt = '<OCR_WITH_REGION>'
223
  results = run_example(task_prompt, image)
224
  output_image = copy.deepcopy(image)
225
  output_image = draw_ocr_bboxes(output_image, results['<OCR_WITH_REGION>'])
 
242
  with gr.Column():
243
  input_img = gr.Image(label="Input Picture")
244
  task_prompt = gr.Dropdown(choices=[
245
+ 'Caption', 'Detailed Caption', 'More Detailed Caption', 'Object Detection',
246
+ 'Dense Region Caption', 'Region Proposal', 'Caption to Phrase Grounding',
247
+ 'Referring Expression Segmentation', 'Region to Segmentation',
248
+ 'Open Vocabulary Detection', 'Region to Category', 'Region to Description',
249
+ 'OCR', 'OCR with Region'
250
  ], label="Task Prompt")
251
  text_input = gr.Textbox(label="Text Input (optional)")
252
  submit_btn = gr.Button(value="Submit")
 
256
 
257
  gr.Examples(
258
  examples=[
259
+ ["image1.jpg", 'Caption'],
260
+ ["image2.jpg", 'Detailed Caption']
261
  ],
262
  inputs=[input_img, task_prompt],
263
  outputs=[output_text, output_img],
 
268
 
269
  submit_btn.click(process_image, [input_img, task_prompt, text_input], [output_text, output_img])
270
 
271
+ demo.launch(debug=True)