Trusted-AI/adversarial-robustness-toolbox

Adversarial Patch Error in `PyTorchObjectDetector`

f4str opened this issue · 1 comments

f4str commented

Describe the bug
When running the adversarial patch attack for the PyTorchObjectDetector and PyTorchFasterRCNN, an error can occur when using any PyTorch-specific preprocessors.

To Reproduce
Steps to reproduce the behavior:
Run the adversarial patch attack on the PyTorchObjectDetector while using a Faster R-CNN model. When using additional PyTorch-specific preprocessors, the error above will occur.

Expected behavior
The attacks should run without error. It can be easily fixed by adding the following if-condition

if x_tensor.is_leaf:
    x_tensor.requires_grad = True
else:
    x_tensor.retain_grad()

when setting the gradients to true. This if-condition is already applied for the PyTorchYolo detector, it just needs to be copied to the PyTorchObjectDetector.

Screenshots
If applicable, add screenshots to help explain your problem.

System information (please complete the following information):

  • OS
  • Python version
  • ART version or commit number
  • TensorFlow / Keras / PyTorch / MXNet version

Hi @f4str Thank you very much for noticing and raising this issue!