Update app.py
Browse files
app.py
CHANGED
@@ -114,28 +114,27 @@ def predict(input_image):
|
|
114 |
|
115 |
# Filter results by score and class
|
116 |
segments_info = []
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
label_id = labels[i]
|
125 |
label_name = model.config.id2label[label_id]
|
126 |
|
127 |
-
# Filter out low-confidence scores and unwanted classes
|
128 |
if score > 0.9 and label_name in TARGET_CLASSES:
|
129 |
-
mask
|
130 |
-
|
|
|
131 |
# Calculate bounding box from mask
|
132 |
pos = np.where(mask)
|
133 |
-
if pos[0].size > 0 and pos[1].size > 0:
|
134 |
xmin = np.min(pos[1])
|
135 |
xmax = np.max(pos[1])
|
136 |
ymin = np.min(pos[0])
|
137 |
ymax = np.max(pos[0])
|
138 |
-
|
139 |
segments_info.append({
|
140 |
"score": score,
|
141 |
"label": label_name,
|
@@ -158,9 +157,21 @@ def predict(input_image):
|
|
158 |
# Load some example images
|
159 |
# Note: You must upload these images to your Hugging Face Space repository in a folder named 'examples'
|
160 |
example_paths = [
|
161 |
-
"
|
162 |
-
"
|
163 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
]
|
165 |
|
166 |
|
|
|
114 |
|
115 |
# Filter results by score and class
|
116 |
segments_info = []
|
117 |
+
segmentation = result["segmentation"].cpu().numpy()
|
118 |
+
segments_info_raw = result["segments_info"]
|
119 |
+
|
120 |
+
for segment in segments_info_raw:
|
121 |
+
score = segment["score"]
|
122 |
+
label_id = segment["label_id"]
|
123 |
+
segment_id = segment["id"]
|
|
|
124 |
label_name = model.config.id2label[label_id]
|
125 |
|
|
|
126 |
if score > 0.9 and label_name in TARGET_CLASSES:
|
127 |
+
# Create a binary mask for this segment
|
128 |
+
mask = (segmentation == segment_id)
|
129 |
+
|
130 |
# Calculate bounding box from mask
|
131 |
pos = np.where(mask)
|
132 |
+
if pos[0].size > 0 and pos[1].size > 0:
|
133 |
xmin = np.min(pos[1])
|
134 |
xmax = np.max(pos[1])
|
135 |
ymin = np.min(pos[0])
|
136 |
ymax = np.max(pos[0])
|
137 |
+
|
138 |
segments_info.append({
|
139 |
"score": score,
|
140 |
"label": label_name,
|
|
|
157 |
# Load some example images
|
158 |
# Note: You must upload these images to your Hugging Face Space repository in a folder named 'examples'
|
159 |
example_paths = [
|
160 |
+
"examples/street1.jpeg",
|
161 |
+
"examples/street2.jpeg",
|
162 |
+
"examples/street3.jpeg",
|
163 |
+
"examples/street4.jpeg",
|
164 |
+
"examples/street5.jpeg",
|
165 |
+
"examples/street6.jpeg",
|
166 |
+
"examples/street7.jpeg",
|
167 |
+
"examples/street8.jpeg",
|
168 |
+
"examples/street9.jpeg",
|
169 |
+
"examples/street10.jpeg",
|
170 |
+
"examples/catsanddogs1.jpeg",
|
171 |
+
"examples/catsanddogs2.jpeg",
|
172 |
+
"examples/catsanddogs3.jpeg",
|
173 |
+
"examples/catsanddogs4.jpeg",
|
174 |
+
"examples/catsanddogs5.jpeg",
|
175 |
]
|
176 |
|
177 |
|