waleko commited on
Commit
45bdc95
·
1 Parent(s): 6b7f843

test modified interface

Browse files
Files changed (1) hide show
  1. app.py +24 -71
app.py CHANGED
@@ -71,7 +71,7 @@ def overlay_masks_boxes_on_image(image, masks, boxes, labels, show_masks, show_b
71
  return output_image
72
 
73
 
74
- def detect_objects(image, prompt, show_masks, show_boxes, crop_options):
75
  image_source, image = load_image(image)
76
  predictor.set_image(image_source)
77
 
@@ -142,77 +142,30 @@ def detect_objects(image, prompt, show_masks, show_boxes, crop_options):
142
 
143
  return output_image_path
144
 
145
- block = gr.Blocks(css=".gradio-container {background-color: #f8f8f8; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif}")
146
-
147
- with block:
148
- gr.HTML("""
149
- <style>
150
- body {
151
- background-color: #f5f5f5;
152
- font-family: 'Roboto', sans-serif;
153
- padding: 30px;
154
- }
155
- </style>
156
- """)
157
-
158
- gr.HTML("<h1 style='text-align: center;'>Segment Any Image</h1>")
159
- gr.HTML("<h3 style='text-align: center;'>Zero-Shot Object Detection, Segmentation and Cropping</h3>")
160
- with gr.Row():
161
- with gr.Column(width="auto"):
162
- input_image = gr.Image(type='filepath', label="Upload Image")
163
- with gr.Column(width="auto"):
164
- output_image = gr.Image(type='filepath', label="Result")
165
- with gr.Row():
166
- with gr.Column(width="auto"):
167
- object_search = gr.Textbox(
168
  label="Object to Detect",
169
  placeholder="Enter any text, comma separated if multiple objects needed",
170
  show_label=True,
171
  lines=1,
172
- )
173
- with gr.Column(width="auto"):
174
- show_masks = gr.Checkbox(label="Show Masks", default=True)
175
- show_boxes = gr.Checkbox(label="Show Boxes", default=True)
176
- with gr.Column(width="auto"):
177
- crop_options = gr.Radio(choices=["None", "Crop", "Inverse Crop"], label="Crop Options", default="None")
178
- with gr.Row():
179
- submit = gr.Button(value="Send", variant="secondary").style(full_width=True)
180
-
181
- gr.Examples(
182
- examples=[
183
- ["images/tiger.jpeg", "animal from cat family", True, True],
184
- ["images/car.jpeg", "a blue sports car", True, False],
185
- ["images/bags.jpeg", "black bag next to the red bag", False, True],
186
- ["images/deer.jpeg", "deer jumping and running across the road", True, True],
187
- ["images/penn.jpeg", "sign board", True, False],
188
- ],
189
- inputs=[input_image, object_search, show_masks, show_boxes],
190
- )
191
- gr.HTML("""
192
- <div style="text-align:center">
193
- <p>Developed by <a href='https://www.linkedin.com/in/dekay/'>Github and Huggingface: Volkopat</a></p>
194
- <p>Powered by <a href='https://segment-anything.com'>Segment Anything</a> and <a href='https://arxiv.org/abs/2303.05499'>Grounding DINO</a></p>
195
- <p>Just upload an image and enter the objects to detect, segment, crop, etc. That's all folks!</p>
196
- <p>What's Zero-Shot? It means you can detect objects without any training samples!</p>
197
- <p>This project is for demonstration purposes. Credits for State of the Art models go to Meta AI and IDEA Research.</p>
198
- </div>
199
- <style>
200
- p {
201
- margin-bottom: 10px;
202
- font-size: 16px;
203
- }
204
- a {
205
- color: #3867d6;
206
- text-decoration: none;
207
- }
208
- a:hover {
209
- text-decoration: underline;
210
- }
211
- </style>
212
- """)
213
-
214
- submit.click(fn=detect_objects,
215
- inputs=[input_image, object_search, show_masks, show_boxes, crop_options],
216
- outputs=[output_image])
217
-
218
- block.launch(width=800)
 
71
  return output_image
72
 
73
 
74
+ def detect_objects(image, prompt, show_masks=True, show_boxes=True, crop_options="No crop"):
75
  image_source, image = load_image(image)
76
  predictor.set_image(image_source)
77
 
 
142
 
143
  return output_image_path
144
 
145
+
146
+ app = gr.Interface(
147
+ detect_objects,
148
+ inputs=[gr.Image(type='filepath', label="Upload Image"),
149
+ gr.Textbox(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  label="Object to Detect",
151
  placeholder="Enter any text, comma separated if multiple objects needed",
152
  show_label=True,
153
  lines=1,
154
+ )],
155
+ outputs=[
156
+ gr.JSON(label="Output JSON"),
157
+ gr.Gallery(label="Result"),
158
+ ],
159
+ examples=[
160
+ ["images/tiger.jpeg", "animal from cat family"],
161
+ ["images/car.jpeg", "a blue sports car"],
162
+ ["images/bags.jpeg", "black bag next to the red bag"],
163
+ ["images/deer.jpeg", "deer jumping and running across the road"],
164
+ ["images/penn.jpeg", "sign board"]
165
+ ],
166
+ title="Segment Anything",
167
+ description="Zero-Shot Object Detection, Segmentation and Cropping",
168
+ article="https://segment-anything.com",
169
+ )
170
+
171
+ app.launch()