Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -11,6 +11,7 @@ from PIL import Image
|
|
11 |
import numpy as np
|
12 |
from detectron2.data import MetadataCatalog, DatasetCatalog
|
13 |
from detectron2.utils.visualizer import Visualizer
|
|
|
14 |
|
15 |
# Define configuration parameters
|
16 |
output_directories = {
|
@@ -42,6 +43,9 @@ def run_instance_segmentation(im, predictor, num_classes):
|
|
42 |
# Calculate the total area of Inorganic Material masks
|
43 |
total_inorganic_area = np.sum(inorganic_material_masks)
|
44 |
|
|
|
|
|
|
|
45 |
elif num_classes == 4:
|
46 |
|
47 |
# Create masks for Nest and Inorganic Material
|
@@ -60,19 +64,27 @@ def run_instance_segmentation(im, predictor, num_classes):
|
|
60 |
rope_cloth_area = np.sum(rope_cloth_masks)
|
61 |
total_inorganic_area = np.sum([plastic_area, fishing_net_area, rope_cloth_area])
|
62 |
|
63 |
-
|
|
|
|
|
|
|
64 |
|
65 |
def click_instance_segmentation(image, model_selection, predictor):
|
66 |
im = np.array(image)[:, :, ::-1]
|
67 |
|
68 |
if st.button("Run Instance Segmentation"):
|
69 |
num_classes = 2 if model_selection == "2 Classes" else 4
|
70 |
-
total_nest_area, total_inorganic_area = run_instance_segmentation(im, predictor, num_classes)
|
71 |
|
72 |
# Calculate the percentage of inorganic material within the Nest
|
73 |
percentage_inorganic_in_nest = (total_inorganic_area / total_nest_area) * 100
|
74 |
|
75 |
st.write(f"Percentage of Inorganic Material in Nest: {percentage_inorganic_in_nest:.2f}%")
|
|
|
|
|
|
|
|
|
|
|
76 |
|
77 |
|
78 |
def app():
|
|
|
11 |
import numpy as np
|
12 |
from detectron2.data import MetadataCatalog, DatasetCatalog
|
13 |
from detectron2.utils.visualizer import Visualizer
|
14 |
+
from collections import Counter
|
15 |
|
16 |
# Define configuration parameters
|
17 |
output_directories = {
|
|
|
43 |
# Calculate the total area of Inorganic Material masks
|
44 |
total_inorganic_area = np.sum(inorganic_material_masks)
|
45 |
|
46 |
+
# Contar la cantidad de máscaras por categoría
|
47 |
+
mask_counts = Counter(classes)
|
48 |
+
|
49 |
elif num_classes == 4:
|
50 |
|
51 |
# Create masks for Nest and Inorganic Material
|
|
|
64 |
rope_cloth_area = np.sum(rope_cloth_masks)
|
65 |
total_inorganic_area = np.sum([plastic_area, fishing_net_area, rope_cloth_area])
|
66 |
|
67 |
+
# Contar la cantidad de máscaras por categoría
|
68 |
+
mask_counts = Counter(classes)
|
69 |
+
|
70 |
+
return total_nest_area, total_inorganic_area, mask_counts
|
71 |
|
72 |
def click_instance_segmentation(image, model_selection, predictor):
|
73 |
im = np.array(image)[:, :, ::-1]
|
74 |
|
75 |
if st.button("Run Instance Segmentation"):
|
76 |
num_classes = 2 if model_selection == "2 Classes" else 4
|
77 |
+
total_nest_area, total_inorganic_area, mask_counts = run_instance_segmentation(im, predictor, num_classes)
|
78 |
|
79 |
# Calculate the percentage of inorganic material within the Nest
|
80 |
percentage_inorganic_in_nest = (total_inorganic_area / total_nest_area) * 100
|
81 |
|
82 |
st.write(f"Percentage of Inorganic Material in Nest: {percentage_inorganic_in_nest:.2f}%")
|
83 |
+
|
84 |
+
# Mostrar la cantidad de máscaras por categoría
|
85 |
+
st.write("Mask Counts by Category:")
|
86 |
+
for category, count in mask_counts.items():
|
87 |
+
st.write(f"Category {category}: {count} masks")
|
88 |
|
89 |
|
90 |
def app():
|