GaussianBlur in PyTorch (3)

Buy Me a Coffee☕ *Memos: My post explains GaussianBlur() about kernel_size argument. My post explains GaussianBlur() about sigma argument. My post explains OxfordIIITPet(). GaussianBlur() can randomly blur an image as shown below: from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import GaussianBlur origin_data = OxfordIIITPet( root="data", transform=None ) ks1_1s50_data = OxfordIIITPet( # `ks` is kernel_size and `s` is sigma. root="data", transform=GaussianBlur(kernel_size=[1, 1], sigma=50) ) ks1_5s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 5], sigma=50) ) ks1_11s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 11], sigma=50) ) ks1_51s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 51], sigma=50) ) ks1_101s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 101], sigma=50) ) ks1_501s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 501], sigma=50) ) ks1_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 1], sigma=50) ) ks5_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[5, 1], sigma=50) ) ks11_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[11, 1], sigma=50) ) ks51_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[51, 1], sigma=50) ) ks101_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[101, 1], sigma=50) ) ks501_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[501, 1], sigma=50) ) 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=ks1_1s50_data, main_title="ks1_1s50_data") show_images1(data=ks1_5s50_data, main_title="ks1_5s50_data") show_images1(data=ks1_11s50_data, main_title="ks1_11s50_data") show_images1(data=ks1_51s50_data, main_title="ks1_51s50_data") show_images1(data=ks1_101s50_data, main_title="ks1_101s50_data") show_images1(data=ks1_501s50_data, main_title="ks1_501s50_data") print() show_images1(data=origin_data, main_title="origin_data") show_images1(data=ks1_1s50_data, main_title="ks1_1s50_data") show_images1(data=ks5_1s50_data, main_title="ks5_1s50_data") show_images1(data=ks11_1s50_data, main_title="ks11_1s50_data") show_images1(data=ks51_1s50_data, main_title="ks51_1s50_data") show_images1(data=ks101_1s50_data, main_title="ks101_1s50_data") show_images1(data=ks501_1s50_data, main_title="ks501_1s50_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, ks=None, s=(0.1, 2.0)): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) if ks: for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) gb = GaussianBlur(kernel_size=ks, sigma=s) plt.imshow(X=gb(im)) plt.xticks(ticks=[]) plt.yticks(ticks=[]) else: 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_images2(data=origin_data, main_title="origin_data") show_images2(data=origin_data, main_title="ks1_1s50_data", ks=[1, 1], s=50) show_images2(data=origin_data, main_title="ks1_5s50_data", ks=[1, 5], s=50) show_images2(data=origin_data, main_title="ks1_11s50_data", ks=[1, 11], s=50) show_images2(data=origin_data, main_title="ks1_51s50_data", ks=[1, 51], s=50) show_images2(data=origin_data, main_title="ks1_101s50_data", ks=[1, 101], s=50) show_images2(data=origin_data, main_title="ks1_501s50_data", ks=[1, 501], s=50) print() show_images2(data=origin_data, main_title="origin_data") show_images2(data=origin_data, main_title="ks1_1s50_data", ks=[1, 1], s=50) show_images2(data=origin_data, main_title="ks5_1s50_data", ks=[5, 1], s=50) show_images2(data=origin_data, main_title="ks11_1s50_data", ks=[11, 1], s=50) show_images2(data=origin_data, main_title="ks51_1s50_data", ks=[51, 1], s=50) show_images2(data=origin_data, main_title="ks101_1s50_data", ks=[101, 1], s=50) show_images2(data=origin_data, main_title="ks501_1s50_data", ks=[501, 1], s=50)

Feb 16, 2025 - 13:17
 0
GaussianBlur in PyTorch (3)

Buy Me a Coffee

*Memos:

GaussianBlur() can randomly blur an image as shown below:

from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import GaussianBlur

origin_data = OxfordIIITPet(
    root="data",
    transform=None
)

ks1_1s50_data = OxfordIIITPet( # `ks` is kernel_size and `s` is sigma.
    root="data",
    transform=GaussianBlur(kernel_size=[1, 1], sigma=50)
)

ks1_5s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[1, 5], sigma=50)
)

ks1_11s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[1, 11], sigma=50)
)

ks1_51s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[1, 51], sigma=50)
)

ks1_101s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[1, 101], sigma=50)
)

ks1_501s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[1, 501], sigma=50)
)

ks1_1s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[1, 1], sigma=50)
)

ks5_1s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[5, 1], sigma=50)
)

ks11_1s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[11, 1], sigma=50)
)

ks51_1s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[51, 1], sigma=50)
)

ks101_1s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[101, 1], sigma=50)
)

ks501_1s50_data = OxfordIIITPet(
    root="data",
    transform=GaussianBlur(kernel_size=[501, 1], sigma=50)
)

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=ks1_1s50_data, main_title="ks1_1s50_data")
show_images1(data=ks1_5s50_data, main_title="ks1_5s50_data")
show_images1(data=ks1_11s50_data, main_title="ks1_11s50_data")
show_images1(data=ks1_51s50_data, main_title="ks1_51s50_data")
show_images1(data=ks1_101s50_data, main_title="ks1_101s50_data")
show_images1(data=ks1_501s50_data, main_title="ks1_501s50_data")
print()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=ks1_1s50_data, main_title="ks1_1s50_data")
show_images1(data=ks5_1s50_data, main_title="ks5_1s50_data")
show_images1(data=ks11_1s50_data, main_title="ks11_1s50_data")
show_images1(data=ks51_1s50_data, main_title="ks51_1s50_data")
show_images1(data=ks101_1s50_data, main_title="ks101_1s50_data")
show_images1(data=ks501_1s50_data, main_title="ks501_1s50_data")

# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, ks=None, s=(0.1, 2.0)):
    plt.figure(figsize=[10, 5])
    plt.suptitle(t=main_title, y=0.8, fontsize=14)
    if ks:
        for i, (im, _) in zip(range(1, 6), data):
            plt.subplot(1, 5, i)
            gb = GaussianBlur(kernel_size=ks, sigma=s)
            plt.imshow(X=gb(im))
            plt.xticks(ticks=[])
            plt.yticks(ticks=[])
    else:
        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_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="ks1_1s50_data", ks=[1, 1], s=50)
show_images2(data=origin_data, main_title="ks1_5s50_data", ks=[1, 5], s=50)
show_images2(data=origin_data, main_title="ks1_11s50_data", ks=[1, 11], s=50)
show_images2(data=origin_data, main_title="ks1_51s50_data", ks=[1, 51], s=50)
show_images2(data=origin_data, main_title="ks1_101s50_data", ks=[1, 101],
             s=50)
show_images2(data=origin_data, main_title="ks1_501s50_data", ks=[1, 501],
             s=50)
print()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="ks1_1s50_data", ks=[1, 1], s=50)
show_images2(data=origin_data, main_title="ks5_1s50_data", ks=[5, 1], s=50)
show_images2(data=origin_data, main_title="ks11_1s50_data", ks=[11, 1], s=50)
show_images2(data=origin_data, main_title="ks51_1s50_data", ks=[51, 1], s=50)
show_images2(data=origin_data, main_title="ks101_1s50_data", ks=[101, 1], 
             s=50)
show_images2(data=origin_data, main_title="ks501_1s50_data", ks=[501, 1],
             s=50)

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description