You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从4张及以上灰度注意力图提取最高激活像素生成最终热力图

最高激活注意力图生成实现方案

现有4张217×217的输入热力图如下:
heatmap1.png
heatmap2.png
heatmap3.png
heatmap4.png

实现逻辑

  • 逐像素对比4张图同一位置的激活值,仅保留最大值作为最终图对应位置的数值,保证最终图每个位置都是所有输入中激活最高的结果
  • 兼容原生float64数组输入和png图片读取两种场景

完整实现代码

import cv2
import numpy as np
from PIL import Image

# 读取png格式热力图得到灰度数组,若已有原生float64注意力数组可跳过本步,直接将四个数组存入im_list
im1 = np.array(Image.open("heatmap1.png").convert('L'))
im2 = np.array(Image.open("heatmap2.png").convert('L'))
im3 = np.array(Image.open("heatmap3.png").convert('L'))
im4 = np.array(Image.open("heatmap4.png").convert('L'))

im_list = [im1, im2, im3, im4]

# 核心计算:堆叠所有数组后沿输入维度取逐像素最大值
final_heatmap = np.max(np.stack(im_list, axis=0), axis=0)

# 可选步骤:若需要输出可视化png图,对float64数组做归一化转uint8
# final_heatmap = ((final_heatmap - final_heatmap.min()) / (final_heatmap.max() - final_heatmap.min()) * 255).astype(np.uint8)

# 保存结果,若要保留原始float64精度可改用np.save("final_heatmap.npy", final_heatmap)
cv2.imwrite("final_heatmap.png", final_heatmap)

内容的提问来源于stack exchange,提问作者shiva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:54:08