Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -30,15 +30,24 @@ xception_model = tf.keras.models.load_model(
|
|
| 30 |
|
| 31 |
def predict_fire(image):
|
| 32 |
img = Image.fromarray(image).convert("RGB")
|
| 33 |
-
img = img.resize((224, 224)) # Match model input size
|
| 34 |
-
img_array = np.array(img) / 255.0
|
| 35 |
-
img_array = np.expand_dims(img_array, axis=0)
|
| 36 |
|
| 37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
fire_status = "Fire Detected" if fire_pred[0][0] > 0.5 else "No Fire Detected"
|
| 39 |
|
|
|
|
| 40 |
if fire_status == "Fire Detected":
|
| 41 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
severity_level = np.argmax(severity_pred[0])
|
| 43 |
severity = ["Mild", "Moderate", "Severe"][severity_level]
|
| 44 |
else:
|
|
|
|
| 30 |
|
| 31 |
def predict_fire(image):
|
| 32 |
img = Image.fromarray(image).convert("RGB")
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
+
# Preprocess for vgg16_model (128x128 input size)
|
| 35 |
+
vgg16_img = img.resize((128, 128))
|
| 36 |
+
vgg16_img_array = np.array(vgg16_img) / 255.0
|
| 37 |
+
vgg16_img_array = np.expand_dims(vgg16_img_array, axis=0)
|
| 38 |
+
|
| 39 |
+
# Fire detection using vgg16_model
|
| 40 |
+
fire_pred = vgg16_model.predict(vgg16_img_array)
|
| 41 |
fire_status = "Fire Detected" if fire_pred[0][0] > 0.5 else "No Fire Detected"
|
| 42 |
|
| 43 |
+
# If fire is detected, preprocess for xception_model (224x224 input size)
|
| 44 |
if fire_status == "Fire Detected":
|
| 45 |
+
xception_img = img.resize((224, 224))
|
| 46 |
+
xception_img_array = np.array(xception_img) / 255.0
|
| 47 |
+
xception_img_array = np.expand_dims(xception_img_array, axis=0)
|
| 48 |
+
|
| 49 |
+
# Severity prediction using xception_model
|
| 50 |
+
severity_pred = xception_model.predict(xception_img_array)
|
| 51 |
severity_level = np.argmax(severity_pred[0])
|
| 52 |
severity = ["Mild", "Moderate", "Severe"][severity_level]
|
| 53 |
else:
|