Ejemplo n.º 1
0
def visualize(relevances, images_tensor=None, name='', y_labels=''):
    n, w, h, dim = relevances.shape
    heatmaps = []
    #import pdb;pdb.set_trace()
    if images_tensor is not None:
        assert relevances.shape == images_tensor.shape, 'Relevances shape != Images shape'
    for h, heat in enumerate(relevances):
        if images_tensor is not None:
            input_image = images_tensor[h]
            maps = render.hm_to_rgb(heat, input_image, scaling=3, sigma=2)
        else:
            maps = render.hm_to_rgb(heat, scaling=3, sigma=2)
        heatmaps.append(maps)
    R = np.array(heatmaps)
    with tf.name_scope(name):
        if (y_labels != ''):

            rel_imgs = tf.cast(R, tf.float32).eval()

            for i, rel_img in enumerate(rel_imgs):

                cv2.putText(rel_img, str(y_labels[i]), (2, 30),
                            cv2.FONT_HERSHEY_SIMPLEX, 1, 255)

                rel_imgs[i] = cv2.cvtColor(
                    (np.asarray(rel_img, dtype='float32') * 255).astype(
                        np.uint8), cv2.COLOR_RGB2BGR)
                #output to directory:
                #cv2.imwrite(os.path.join("heat_maps",str(i)+".jpg"),rel_imgs[i])

            return tf.summary.image('relevance', tf.cast(rel_imgs, tf.float32),
                                    n).eval()
        else:
            img = tf.summary.image('relevance', tf.cast(R, tf.float32), n)
    return img.eval()
Ejemplo n.º 2
0
def visualize(relevances, images_tensor=None, name=''):
    n, w, h, dim = relevances.shape
    heatmaps = []
    #import pdb;pdb.set_trace()
    if images_tensor is not None:
        assert relevances.shape == images_tensor.shape, 'Relevances shape != Images shape'
    for h, heat in enumerate(relevances):
        if images_tensor is not None:
            input_image = images_tensor[h]
            maps = render.hm_to_rgb(heat, input_image, scaling=3, sigma=2)
        else:
            maps = render.hm_to_rgb(heat, scaling=3, sigma=2)
        heatmaps.append(maps)
    R = np.array(heatmaps)
    with tf.name_scope(name):
        img = tf.summary.image('relevance', tf.cast(R, tf.float32), n)
    return img.eval()
Ejemplo n.º 3
0
def visualize(relevances, images_tensor):
    n, dim = relevances.shape
    heatmap = relevances.reshape([n, 28, 28, 1])
    input_images = images_tensor.reshape([n, 28, 28, 1])
    heatmaps = []
    for h, heat in enumerate(heatmap):
        input_image = input_images[h]
        maps = render.hm_to_rgb(heat, input_image, scaling=3, sigma=2)
        heatmaps.append(maps)
    R = np.array(heatmaps)
    with tf.name_scope('input_reshape'):
        img = tf.summary.image('input', tf.cast(R, tf.float32), n)
    return img.eval()
Ejemplo n.º 4
0
def visualize(relevances,
              images_tensor=None,
              image_show=False,
              image_save=False):
    n, w, h, dim = relevances.shape
    heatmaps = []
    count = 0
    #import pdb;pdb.set_trace()
    if images_tensor is not None:
        assert relevances.shape == images_tensor.shape, 'Relevances shape != Images shape'
    for h, heat in enumerate(relevances):
        if images_tensor is not None:
            input_image = images_tensor[h]
            maps = render.hm_to_rgb(heat, input_image, scaling=3, sigma=2)
        else:
            maps = render.hm_to_rgb(heat, scaling=3, sigma=2)
        heatmaps.append(maps)
        if image_show:
            plt.imshow(maps)
        if image_save:
            plt.imsave('saved_image/' + str(count), maps, format="png")
            count += 1

    R = np.array(heatmaps)
Ejemplo n.º 5
0
def visualize(relevances, images_tensor):
    n = FLAGS.batch_size
    heatmap = np.sum(relevances.reshape([n, 224, 224, 3]),axis=3)
    input_images = images_tensor.reshape([n, 224, 224, 3])
    heatmaps = []
    for h, heat in enumerate(heatmap):
        input_image = input_images[h]
        maps = render.hm_to_rgb(heat, input_image, scaling=3, sigma=1,cmap = 'seismic')
        heatmaps.append(maps)
        imageio.imsave('./result/imgnet/'+FLAGS.relevance_method+'/heatmap' + str(h) + '.jpg', maps,vmax=1,vmin=-1)
        imageio.imsave(
            './result/imgnet/' + FLAGS.relevance_method + '/img' + str(h) + '.jpg', render.enlarge_image(input_image,3))
    np.save('./result/imgnet/' + FLAGS.relevance_method + '/' + '_heatmap.npy', relevances)
    R = np.array(heatmaps)
    with tf.name_scope('input_reshape'):
        img = tf.summary.image('input', tf.cast(R, tf.float32), n)
    return img.eval()
Ejemplo n.º 6
0
def visualize(relevances, images_tensor):
    n = len(relevances)

    for j in range(n):
        heatmaps = []
        for i in range(32):
            heatmap = relevances[j, i, :, :,  :]
            input_images = images_tensor[j, i, :, :, :]

            maps = render.hm_to_rgb(np.squeeze(heatmap), scaling=8, sigma=2, cmap='bwr')
            img = input_images
            if heatmaps == []:
                heatmaps = np.expand_dims(maps,0)
                imgs = np.expand_dims(img,0)
            else:
                heatmaps = np.concatenate([heatmaps,np.expand_dims(maps,0)],0)
                imgs = np.concatenate([imgs,np.expand_dims(img,0)],0)
        imageio.mimsave('./Demo_img/heatmap'+str(j)+'.gif', heatmaps)

    R = np.array(heatmaps)

    with tf.name_scope('input_reshape'):
        img = tf.summary.image('input', tf.cast(R, tf.float32), n)
    return img.eval()