brxerq commited on
Commit
9a0384b
1 Parent(s): de627a9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -18
app.py CHANGED
@@ -6,12 +6,12 @@ import os
6
 
7
  # Sample media paths and thumbnails
8
  sample_images = {
9
- "Unorganized": ("samples/unorganized.jpg", "samples/unorganized_thumb.jpg"),
10
- "Organized": ("samples/organized.jpg", "samples/organized_thumb.jpg")
11
  }
12
 
13
  sample_videos = {
14
- "Sample Video": ("samples/sample_video.mp4", "samples/sample_video_thumb.jpg")
15
  }
16
 
17
  def load_model(model_name):
@@ -27,13 +27,13 @@ models = {
27
  def detect_image(model_choice, input_image=None, sample_image_choice=None):
28
  model = load_model(models[model_choice])
29
  if sample_image_choice:
30
- input_image = Image.open(sample_images[sample_image_choice][0])
31
  return model.detect_image(input_image)
32
 
33
  def detect_video(model_choice, input_video=None, sample_video_choice=None):
34
  model = load_model(models[model_choice])
35
  if sample_video_choice:
36
- input_video = sample_videos[sample_video_choice][0]
37
  return model.detect_video(input_video)
38
 
39
  app = gr.Blocks()
@@ -42,32 +42,30 @@ with app:
42
  gr.Markdown("## Object Detection using TensorFlow Lite Models")
43
  with gr.Row():
44
  model_choice = gr.Dropdown(label="Select Model", choices=list(models.keys()))
45
-
46
  with gr.Tab("Image Detection"):
47
  with gr.Column():
48
- image_input = gr.Image(type="pil", label="Upload an image")
49
- gr.Markdown("### Or select a sample image")
50
- sample_image_choice = gr.Gallery(choices=list(sample_images.keys()), label="Sample Images")
 
 
 
51
  image_output = gr.Image(type="pil", label="Detection Result")
52
  gr.Button("Submit Image").click(
53
  fn=detect_image,
54
  inputs=[model_choice, image_input, sample_image_choice],
55
  outputs=image_output
56
  )
57
-
58
  with gr.Tab("Video Detection"):
59
  with gr.Column():
60
- video_input = gr.Video(label="Upload a video")
61
- gr.Markdown("### Or select a sample video")
62
  sample_video_choice = gr.Dropdown(
63
- label="Sample Videos",
64
- choices=list(sample_videos.keys()),
65
  value=None
66
  )
67
- video_thumbnails = gr.HTML(value="<div>" + "".join([
68
- f'<div style="display:inline-block; padding:10px;"><img src="{sample_videos[video][1]}" style="width:150px; cursor:pointer;" onclick="document.querySelector(\'select[name=sample_video_choice]\').value=\'{video}\';"></div>'
69
- for video in sample_videos
70
- ]) + "</div>")
71
  video_output = gr.Video(label="Detection Result")
72
  gr.Button("Submit Video").click(
73
  fn=detect_video,
 
6
 
7
  # Sample media paths and thumbnails
8
  sample_images = {
9
+ "Unorganized": "samples/unorganized.jpg",
10
+ "Organized": "samples/organized.jpg"
11
  }
12
 
13
  sample_videos = {
14
+ "Sample Video": "samples/sample_video.mp4"
15
  }
16
 
17
  def load_model(model_name):
 
27
  def detect_image(model_choice, input_image=None, sample_image_choice=None):
28
  model = load_model(models[model_choice])
29
  if sample_image_choice:
30
+ input_image = Image.open(sample_images[sample_image_choice])
31
  return model.detect_image(input_image)
32
 
33
  def detect_video(model_choice, input_video=None, sample_video_choice=None):
34
  model = load_model(models[model_choice])
35
  if sample_video_choice:
36
+ input_video = sample_videos[sample_video_choice]
37
  return model.detect_video(input_video)
38
 
39
  app = gr.Blocks()
 
42
  gr.Markdown("## Object Detection using TensorFlow Lite Models")
43
  with gr.Row():
44
  model_choice = gr.Dropdown(label="Select Model", choices=list(models.keys()))
45
+
46
  with gr.Tab("Image Detection"):
47
  with gr.Column():
48
+ image_input = gr.Image(type="pil", label="Upload an image (or use sample)")
49
+ sample_image_choice = gr.Dropdown(
50
+ label="Or select a sample image",
51
+ choices=[None] + list(sample_images.keys()),
52
+ value=None
53
+ )
54
  image_output = gr.Image(type="pil", label="Detection Result")
55
  gr.Button("Submit Image").click(
56
  fn=detect_image,
57
  inputs=[model_choice, image_input, sample_image_choice],
58
  outputs=image_output
59
  )
60
+
61
  with gr.Tab("Video Detection"):
62
  with gr.Column():
63
+ video_input = gr.Video(label="Upload a video (or use sample)")
 
64
  sample_video_choice = gr.Dropdown(
65
+ label="Or select a sample video",
66
+ choices=[None] + list(sample_videos.keys()),
67
  value=None
68
  )
 
 
 
 
69
  video_output = gr.Video(label="Detection Result")
70
  gr.Button("Submit Video").click(
71
  fn=detect_video,