Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -75,12 +75,12 @@ def detect_objects(model_name,url_input,image_input,threshold):
|
|
75 |
|
76 |
return viz_img
|
77 |
|
78 |
-
def detect_objects2(model_name,url_input,image_input,threshold):
|
79 |
|
80 |
#Extract model and feature extractor
|
81 |
feature_extractor = AutoFeatureExtractor.from_pretrained(model_name)
|
82 |
|
83 |
-
|
84 |
|
85 |
model = DetrForObjectDetection.from_pretrained(model_name)
|
86 |
|
@@ -97,8 +97,33 @@ def detect_objects2(model_name,url_input,image_input,threshold):
|
|
97 |
viz_img = visualize_prediction(image, processed_outputs, threshold, model.config.id2label)
|
98 |
|
99 |
keep = processed_outputs["scores"] > threshold
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
def set_example_image(example: list) -> dict:
|
104 |
return gr.Image.update(value=example[0])
|
@@ -118,7 +143,7 @@ Links to HuggingFace Models:
|
|
118 |
"""
|
119 |
|
120 |
models = ["omarhkh/detr-finetuned-omar8"]
|
121 |
-
|
122 |
|
123 |
css = '''
|
124 |
h1#title {
|
@@ -135,6 +160,7 @@ with demo:
|
|
135 |
|
136 |
|
137 |
options = gr.Dropdown(choices=models,label='Select Object Detection Model',show_label=True)
|
|
|
138 |
slider_input = gr.Slider(minimum=0.1,maximum=1,value=0.7,label='Prediction Threshold')
|
139 |
|
140 |
with gr.Tabs():
|
@@ -151,10 +177,12 @@ with demo:
|
|
151 |
img_but = gr.Button('Detect')
|
152 |
|
153 |
with gr.Blocks():
|
154 |
-
name = gr.Textbox(label="
|
155 |
-
output = gr.Textbox(label="
|
156 |
greet_btn = gr.Button("Results")
|
157 |
-
greet_btn.click(fn=detect_objects2, inputs=[options,img_input,img_input,slider_input], outputs=output, queue=True)
|
|
|
|
|
158 |
|
159 |
|
160 |
|
|
|
75 |
|
76 |
return viz_img
|
77 |
|
78 |
+
def detect_objects2(model_name,url_input,image_input,threshold,type2):
|
79 |
|
80 |
#Extract model and feature extractor
|
81 |
feature_extractor = AutoFeatureExtractor.from_pretrained(model_name)
|
82 |
|
83 |
+
xxresult=0
|
84 |
|
85 |
model = DetrForObjectDetection.from_pretrained(model_name)
|
86 |
|
|
|
97 |
viz_img = visualize_prediction(image, processed_outputs, threshold, model.config.id2label)
|
98 |
|
99 |
keep = processed_outputs["scores"] > threshold
|
100 |
+
det_lab = processed_outputs["labels"][keep].tolist()
|
101 |
+
det_lab.count(1)
|
102 |
+
if det_lab.count(1) > 0:
|
103 |
+
total_text="Trench is Detected \n"
|
104 |
+
else:
|
105 |
+
total_text="Trench is NOT Detected \n"
|
106 |
+
xxresult=1
|
107 |
+
|
108 |
|
109 |
+
if det_lab.count(4) > 0:
|
110 |
+
total_text+="Measuring Tape (Vertical) for measuring Depth is Detected \n"
|
111 |
+
else:
|
112 |
+
total_text+="Measuring Tape (Vertical) for measuring Depth is NOT Detected \n
|
113 |
+
if type2=="Trench Depth Measurement":
|
114 |
+
xxresult=1
|
115 |
+
|
116 |
+
if det_lab.count(5) > 0:
|
117 |
+
total_text+="Measuring Tape (Horizontal) for measuring Width is Detected \n"
|
118 |
+
else:
|
119 |
+
total_text+="Measuring Tape (Horizontal) for measuring Width is NOT Detected \n"
|
120 |
+
if type2=="Trench Width Measurement":
|
121 |
+
xxresult=1
|
122 |
+
if xxresult==0:
|
123 |
+
text2 = "The photo is ACCEPTED"
|
124 |
+
else:
|
125 |
+
text2 = "The photo is NOT ACCEPTED"
|
126 |
+
return total_text, text2
|
127 |
|
128 |
def set_example_image(example: list) -> dict:
|
129 |
return gr.Image.update(value=example[0])
|
|
|
143 |
"""
|
144 |
|
145 |
models = ["omarhkh/detr-finetuned-omar8"]
|
146 |
+
types_class = ["Trench Depth Measurement", "Trench Width Measurement"]
|
147 |
|
148 |
css = '''
|
149 |
h1#title {
|
|
|
160 |
|
161 |
|
162 |
options = gr.Dropdown(choices=models,label='Select Object Detection Model',show_label=True)
|
163 |
+
options2 = gr.Dropdown(choices=types_class,label='Select Classification Type',show_label=True)
|
164 |
slider_input = gr.Slider(minimum=0.1,maximum=1,value=0.7,label='Prediction Threshold')
|
165 |
|
166 |
with gr.Tabs():
|
|
|
177 |
img_but = gr.Button('Detect')
|
178 |
|
179 |
with gr.Blocks():
|
180 |
+
name = gr.Textbox(label="Final Result")
|
181 |
+
output = gr.Textbox(label="Reason for the results")
|
182 |
greet_btn = gr.Button("Results")
|
183 |
+
greet_btn.click(fn=detect_objects2[0], inputs=[options,img_input,img_input,slider_input,options2], outputs=output, queue=True)
|
184 |
+
name.change(fn=detect_objects2[1], inputs=[options,img_input,img_input,slider_input,options2], outputs=name, queue=True)
|
185 |
+
|
186 |
|
187 |
|
188 |
|