Improving class activation maps for weakly supervised semantic segmentation