Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -38,6 +38,17 @@ class_unlabeled = '#9B9B9B'
|
|
| 38 |
class_unlabeled = class_unlabeled.lstrip('#')
|
| 39 |
class_unlabeled = np.array(tuple(int(class_unlabeled[i:i+2], 16) for i in (0,2,4)))
|
| 40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
def jaccard_coef(y_true, y_pred):
|
| 43 |
y_true_flatten = K.flatten(y_true)
|
|
@@ -54,12 +65,12 @@ total_loss = dice_loss + (1 * focal_loss)
|
|
| 54 |
satellite_model = load_model('model/satellite_segmentation_full.h5', custom_objects=({'dice_loss_plus_1focal_loss' : total_loss, 'jaccard_coef': jaccard_coef}))
|
| 55 |
|
| 56 |
def process_input_image(image_source):
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
|
| 64 |
my_app = gr.Blocks()
|
| 65 |
|
|
|
|
| 38 |
class_unlabeled = class_unlabeled.lstrip('#')
|
| 39 |
class_unlabeled = np.array(tuple(int(class_unlabeled[i:i+2], 16) for i in (0,2,4)))
|
| 40 |
|
| 41 |
+
def label_to_rgb(mask):
|
| 42 |
+
rgb_mask = np.zeros((mask.shape[0], mask.shape[1], 3), dtype=np.uint8)
|
| 43 |
+
rgb_mask[mask == 0] = class_building
|
| 44 |
+
rgb_mask[mask == 1] = class_land
|
| 45 |
+
rgb_mask[mask == 2] = class_road
|
| 46 |
+
rgb_mask[mask == 3] = class_vegetation
|
| 47 |
+
rgb_mask[mask == 4] = class_water
|
| 48 |
+
rgb_mask[mask == 5] = class_unlabeled
|
| 49 |
+
return rgb_mask
|
| 50 |
+
|
| 51 |
+
|
| 52 |
|
| 53 |
def jaccard_coef(y_true, y_pred):
|
| 54 |
y_true_flatten = K.flatten(y_true)
|
|
|
|
| 65 |
satellite_model = load_model('model/satellite_segmentation_full.h5', custom_objects=({'dice_loss_plus_1focal_loss' : total_loss, 'jaccard_coef': jaccard_coef}))
|
| 66 |
|
| 67 |
def process_input_image(image_source):
|
| 68 |
+
image = np.expand_dims(image_source, 0)
|
| 69 |
+
prediction = satellite_model.predict(image)
|
| 70 |
+
predicted_image = np.argmax(prediction, axis=3)
|
| 71 |
+
predicted_image = predicted_image[0, :, :]
|
| 72 |
+
rgb_image = label_to_rgb(predicted_image)
|
| 73 |
+
return "Predicted Masked Image", rgb_image
|
| 74 |
|
| 75 |
my_app = gr.Blocks()
|
| 76 |
|