vision
vision copied to clipboard
Setting `0` and `1` to `p` argument of `RandomAutocontrast()` gets the same results
🐛 Describe the bug
Setting 0 and 1 to p argument of RandomAutocontrast() gets the same results as shown below:
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import RandomAutocontrast
origin_data = OxfordIIITPet(
root="data",
transform=None
)
p0_data = OxfordIIITPet(
root="data",
transform=RandomAutocontrast(p=0)
)
p1_data = OxfordIIITPet(
root="data",
transform=RandomAutocontrast(p=1)
)
import matplotlib.pyplot as plt
def show_images1(data, main_title=None):
plt.figure(figsize=[10, 5])
plt.suptitle(t=main_title, y=0.8, fontsize=14)
for i, (im, _) in zip(range(1, 6), data):
plt.subplot(1, 5, i)
plt.imshow(X=im)
plt.xticks(ticks=[])
plt.yticks(ticks=[])
plt.tight_layout()
plt.show()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=p0_data, main_title="p0_data")
show_images1(data=p1_data, main_title="p1_data")
I expected the results of ColorJitter() as shown below:
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import ColorJitter
origin_data = OxfordIIITPet(
root="data",
transform=None
)
contrast06_06_data = OxfordIIITPet(
root="data",
transform=ColorJitter(contrast=[0.6, 0.6])
)
contrast4_4_data = OxfordIIITPet(
root="data",
transform=ColorJitter(contrast=[4, 4])
)
import matplotlib.pyplot as plt
def show_images1(data, main_title=None):
plt.figure(figsize=[10, 5])
plt.suptitle(t=main_title, y=0.8, fontsize=14)
for i, (im, _) in zip(range(1, 6), data):
plt.subplot(1, 5, i)
plt.imshow(X=im)
plt.xticks(ticks=[])
plt.yticks(ticks=[])
plt.tight_layout()
plt.show()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=contrast06_06_data, main_title="contrast06_06_data")
show_images1(data=contrast4_4_data, main_title="contrast4_4_data")
Versions
import torchvision
torchvision.__version__ # '0.20.1'
Thanks for the report - can you try to produce a more minimal example that doesn't depend on OxfordIIITPet? Also, can you try to assert that images are effectively the same at the pixel level? It's possible that the effect of AutoContrast is there but just not immediately visible at the naked eye.
The images here also look identical to the original: https://docs.pytorch.org/vision/stable/auto_examples/transforms/plot_transforms_illustrations.html#randomautocontrast