yuragoithf commited on
Commit
3e7dbba
1 Parent(s): a611015

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -25
app.py CHANGED
@@ -1,8 +1,7 @@
1
  import gradio as gr
2
  import tensorflow as tf
3
  import gdown
4
- import numpy as np
5
- from PIL import Image, ImageDraw
6
 
7
  input_shape = (32, 32, 3)
8
  resized_shape = (224, 224, 3)
@@ -42,34 +41,15 @@ def predict_class(image):
42
  predicted_class = labels[class_index]
43
  return predicted_class
44
 
45
- # Perform object detection
46
- def detect_objects(image):
47
- img = image.copy()
48
- img = tf.image.resize(img, [input_shape[0], input_shape[1]])
49
- img = tf.expand_dims(img, axis=0)
50
- prediction = model.predict(img)
51
- boxes, scores, classes = prediction[0]['detection_boxes'], prediction[0]['detection_scores'], prediction[0]['detection_classes']
52
- height, width, _ = img.shape
53
- draw = ImageDraw.Draw(image)
54
- for box, score, _class in zip(boxes, scores, classes):
55
- if score > 0.5:
56
- ymin, xmin, ymax, xmax = box
57
- left, right, top, bottom = xmin * width, xmax * width, ymin * height, ymax * height
58
- draw.rectangle([(left, top), (right, bottom)], outline='red', width=2)
59
- draw.text((left, top - 10), labels[int(_class)], fill='red')
60
-
61
- return image
62
-
63
  # UI Design
64
  def classify_image(image):
65
  predicted_class = predict_class(image)
66
- image_with_box = detect_objects(image)
67
- return image_with_box, predicted_class
68
 
69
  inputs = gr.inputs.Image(label="Upload an image")
70
- outputs = gr.outputs.Image(label="Output Image"), gr.outputs.Textbox(label="Predicted Class", live=True)
71
 
72
- title = "Image Classifier with Object Detection"
73
- description = "Upload an image and get the predicted class with object detection."
74
 
75
  gr.Interface(fn=classify_image, inputs=inputs, outputs=outputs, title=title, description=description).launch(inline=True)
 
1
  import gradio as gr
2
  import tensorflow as tf
3
  import gdown
4
+ from PIL import Image
 
5
 
6
  input_shape = (32, 32, 3)
7
  resized_shape = (224, 224, 3)
 
41
  predicted_class = labels[class_index]
42
  return predicted_class
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  # UI Design
45
  def classify_image(image):
46
  predicted_class = predict_class(image)
47
+ return predicted_class
 
48
 
49
  inputs = gr.inputs.Image(label="Upload an image")
50
+ outputs = gr.outputs.Textbox(label="Predicted Class", live=True)
51
 
52
+ title = "Image Classifier"
53
+ description = "Upload an image and get the predicted class."
54
 
55
  gr.Interface(fn=classify_image, inputs=inputs, outputs=outputs, title=title, description=description).launch(inline=True)