Spaces:
Sleeping
Sleeping
Commit
·
8b3c33c
1
Parent(s):
257a05d
Update app.py
Browse files
app.py
CHANGED
|
@@ -20,6 +20,7 @@ import cv2
|
|
| 20 |
from pytorch_grad_cam import EigenCAM
|
| 21 |
from pytorch_grad_cam.utils.model_targets import FasterRCNNBoxScoreTarget
|
| 22 |
from pytorch_grad_cam.utils.image import show_cam_on_image
|
|
|
|
| 23 |
|
| 24 |
|
| 25 |
# my files
|
|
@@ -145,12 +146,20 @@ with gr.Blocks() as demo:
|
|
| 145 |
objs = [b[1] for b in nms_boxes_output[0]]
|
| 146 |
bbox_coord = [b[2:] for b in nms_boxes_output[0]]
|
| 147 |
targets = [FasterRCNNBoxScoreTarget(objs, bbox_coord)]
|
| 148 |
-
|
| 149 |
target_layers = [inference_model.model]
|
| 150 |
cam = EigenCAM(inference_model, target_layers, use_cuda=False,reshape_transform=yolov3_reshape_transform)
|
| 151 |
grayscale_cam = cam(input_tensor = input_img_tensor, targets= targets)
|
| 152 |
grayscale_cam = grayscale_cam[0, :]
|
| 153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 154 |
|
| 155 |
return (visualization,sections)
|
| 156 |
else:
|
|
|
|
| 20 |
from pytorch_grad_cam import EigenCAM
|
| 21 |
from pytorch_grad_cam.utils.model_targets import FasterRCNNBoxScoreTarget
|
| 22 |
from pytorch_grad_cam.utils.image import show_cam_on_image
|
| 23 |
+
from pytorch_grad_cam.utils.image import show_cam_on_image, scale_cam_image
|
| 24 |
|
| 25 |
|
| 26 |
# my files
|
|
|
|
| 146 |
objs = [b[1] for b in nms_boxes_output[0]]
|
| 147 |
bbox_coord = [b[2:] for b in nms_boxes_output[0]]
|
| 148 |
targets = [FasterRCNNBoxScoreTarget(objs, bbox_coord)]
|
| 149 |
+
|
| 150 |
target_layers = [inference_model.model]
|
| 151 |
cam = EigenCAM(inference_model, target_layers, use_cuda=False,reshape_transform=yolov3_reshape_transform)
|
| 152 |
grayscale_cam = cam(input_tensor = input_img_tensor, targets= targets)
|
| 153 |
grayscale_cam = grayscale_cam[0, :]
|
| 154 |
+
|
| 155 |
+
renormalized_cam = np.zeros(grayscale_cam.shape, dtype=np.float32)
|
| 156 |
+
new_bboxes = [a[0] for a in sections]
|
| 157 |
+
|
| 158 |
+
for x1, y1, x2, y2 in new_bboxes:
|
| 159 |
+
renormalized_cam[y1:y2, x1:x2] = scale_cam_image(grayscale_cam[y1:y2, x1:x2].copy())
|
| 160 |
+
|
| 161 |
+
renormalized_cam = scale_cam_image(renormalized_cam)
|
| 162 |
+
visualization = show_cam_on_image(input_img_copy, renormalized_cam, use_rgb=False, image_weight=gradcam_opa)
|
| 163 |
|
| 164 |
return (visualization,sections)
|
| 165 |
else:
|