sanjanatule commited on
Commit
8b3c33c
·
1 Parent(s): 257a05d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -2
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
- visualization = show_cam_on_image(input_img_copy, grayscale_cam, use_rgb=False, image_weight=gradcam_opa)
 
 
 
 
 
 
 
 
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: