好久之后再次使用生成热力图的程序,居然忘记了怎么使用,摸索了一会才搞通。所以这次就简单记录一下使用过程,方便以后快速使用。
代码在之前都已经编好,可是借鉴的代码都忘了在哪了,只记得百度热力图的生成,找到一些自然图像的生成方式,分类得分的热力图还好说,但是回归的热力图因为涉及到旋转框IOU的计算,又找了一些旋转IOU计算的方法,网上不是所有的计算方法都可以,因为这里涉及到tensor的反向传播,后来找到了一个方法可使用。
具体的应用是在grad_cam中的__call__方法中,有一行代码是写明ground truth bounding box的,用来计算IOU。
在demo_grad_cam中,get_parser方法中指明了配置文件,图像名称,在save_image方法中指明了存储路径和存储的文件名。
运行文件还是需要在terminal中写运行代码,还要写明参数文件 --opts MODEL.WEIGHTS。不能直接用pycharm中的运行符号进行运行。
得分和回归的热力图需要在grad_cam的__call__中,对于得分还是IOU进行反向传播需要二选一。