Decreased epsilon step size to 0.025

This commit is contained in:
Aidan Sharpe 2024-04-10 12:23:55 -04:00
parent 56da2ea4eb
commit df7ac8b236
3 changed files with 135 additions and 13 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View File

@ -10,7 +10,9 @@ import cv2
from mnist import Net from mnist import Net
from pykuwahara import kuwahara from pykuwahara import kuwahara
epsilons = np.arange(0.0,0.35,0.05) MAX_EPSILON = 0.3
EPSILON_STEP = 0.025
epsilons = np.arange(0.0, MAX_EPSILON+EPSILON_STEP, EPSILON_STEP)
pretrained_model = "mnist_cnn_unfiltered.pt" pretrained_model = "mnist_cnn_unfiltered.pt"
use_cuda=False use_cuda=False
@ -135,7 +137,7 @@ def test(model, device, test_loader, epsilon):
snap_color_pred = output_snap_color.max(1, keepdim=True)[1] snap_color_pred = output_snap_color.max(1, keepdim=True)[1]
one_bit_pred = output_one_bit.max(1, keepdim=True)[1] one_bit_pred = output_one_bit.max(1, keepdim=True)[1]
predictions = [unfiltered_pred.item(), kuwahara_pred.item(), bilateral_pred.item(), gaussian_blur_pred.item(), random_noise_pred.item(), snap_color_pred.item(), one_bit_pred.item()] predictions = [unfiltered_pred.item(), kuwahara_pred.item(), bilateral_pred.item(), gaussian_blur_pred.item(), random_noise_pred.item(), snap_color_pred.item(), one_bit_pred.item()]
plurality_pred = stats.mode(predictions)[0] plurality_pred = stats.mode(predictions, keepdims=True)[0]
# Count up correct classifications for each case # Count up correct classifications for each case
if orig_pred.item() == target.item(): if orig_pred.item() == target.item():

View File

@ -80,6 +80,26 @@ Snapped Color Accuracy = 9913 / 10000 = 0.9913
Plurality Vote Accuracy = 9889 / 10000 = 0.9889 Plurality Vote Accuracy = 9889 / 10000 = 0.9889
====== EPSILON: 0.025 ======
Clean (No Filter) Accuracy = 9920 / 10000 = 0.992
Unfiltered Accuracy = 9796 / 10000 = 0.9796
Kuwahara Filter Accuracy = 8909 / 10000 = 0.8909
Bilateral Filter Accuracy = 9184 / 10000 = 0.9184
Gaussian Blur Accuracy = 9512 / 10000 = 0.9512
Random Noise Accuracy = 9786 / 10000 = 0.9786
Snapped Color Accuracy = 9823 / 10000 = 0.9823
1 Bit Accuracy = 8644 / 10000 = 0.8644
Plurality Vote Accuracy = 9746 / 10000 = 0.9746
====== EPSILON: 0.05 ====== ====== EPSILON: 0.05 ======
Clean (No Filter) Accuracy = 9920 / 10000 = 0.992 Clean (No Filter) Accuracy = 9920 / 10000 = 0.992
@ -98,7 +118,27 @@ Snapped Color Accuracy = 9781 / 10000 = 0.9781
1 Bit Accuracy = 8409 / 10000 = 0.8409 1 Bit Accuracy = 8409 / 10000 = 0.8409
Plurality Vote Accuracy = 9600 / 10000 = 0.96 Plurality Vote Accuracy = 9602 / 10000 = 0.9602
====== EPSILON: 0.07500000000000001 ======
Clean (No Filter) Accuracy = 9920 / 10000 = 0.992
Unfiltered Accuracy = 9260 / 10000 = 0.926
Kuwahara Filter Accuracy = 8447 / 10000 = 0.8447
Bilateral Filter Accuracy = 8533 / 10000 = 0.8533
Gaussian Blur Accuracy = 8939 / 10000 = 0.8939
Random Noise Accuracy = 9221 / 10000 = 0.9221
Snapped Color Accuracy = 9228 / 10000 = 0.9228
1 Bit Accuracy = 8174 / 10000 = 0.8174
Plurality Vote Accuracy = 9235 / 10000 = 0.9235
====== EPSILON: 0.1 ====== ====== EPSILON: 0.1 ======
@ -112,13 +152,33 @@ Bilateral Filter Accuracy = 8133 / 10000 = 0.8133
Gaussian Blur Accuracy = 8516 / 10000 = 0.8516 Gaussian Blur Accuracy = 8516 / 10000 = 0.8516
Random Noise Accuracy = 8696 / 10000 = 0.8696 Random Noise Accuracy = 8702 / 10000 = 0.8702
Snapped Color Accuracy = 8818 / 10000 = 0.8818 Snapped Color Accuracy = 8818 / 10000 = 0.8818
1 Bit Accuracy = 7919 / 10000 = 0.7919 1 Bit Accuracy = 7919 / 10000 = 0.7919
Plurality Vote Accuracy = 8799 / 10000 = 0.8799 Plurality Vote Accuracy = 8802 / 10000 = 0.8802
====== EPSILON: 0.125 ======
Clean (No Filter) Accuracy = 9920 / 10000 = 0.992
Unfiltered Accuracy = 8104 / 10000 = 0.8104
Kuwahara Filter Accuracy = 7751 / 10000 = 0.7751
Bilateral Filter Accuracy = 7656 / 10000 = 0.7656
Gaussian Blur Accuracy = 7989 / 10000 = 0.7989
Random Noise Accuracy = 8022 / 10000 = 0.8022
Snapped Color Accuracy = 8621 / 10000 = 0.8621
1 Bit Accuracy = 7646 / 10000 = 0.7646
Plurality Vote Accuracy = 8396 / 10000 = 0.8396
====== EPSILON: 0.15000000000000002 ====== ====== EPSILON: 0.15000000000000002 ======
@ -132,7 +192,7 @@ Bilateral Filter Accuracy = 7098 / 10000 = 0.7098
Gaussian Blur Accuracy = 7415 / 10000 = 0.7415 Gaussian Blur Accuracy = 7415 / 10000 = 0.7415
Random Noise Accuracy = 7119 / 10000 = 0.7119 Random Noise Accuracy = 7129 / 10000 = 0.7129
Snapped Color Accuracy = 8408 / 10000 = 0.8408 Snapped Color Accuracy = 8408 / 10000 = 0.8408
@ -140,6 +200,26 @@ Snapped Color Accuracy = 8408 / 10000 = 0.8408
Plurality Vote Accuracy = 7879 / 10000 = 0.7879 Plurality Vote Accuracy = 7879 / 10000 = 0.7879
====== EPSILON: 0.17500000000000002 ======
Clean (No Filter) Accuracy = 9920 / 10000 = 0.992
Unfiltered Accuracy = 6207 / 10000 = 0.6207
Kuwahara Filter Accuracy = 6816 / 10000 = 0.6816
Bilateral Filter Accuracy = 6410 / 10000 = 0.641
Gaussian Blur Accuracy = 6741 / 10000 = 0.6741
Random Noise Accuracy = 6096 / 10000 = 0.6096
Snapped Color Accuracy = 7794 / 10000 = 0.7794
1 Bit Accuracy = 7085 / 10000 = 0.7085
Plurality Vote Accuracy = 7176 / 10000 = 0.7176
====== EPSILON: 0.2 ====== ====== EPSILON: 0.2 ======
Clean (No Filter) Accuracy = 9920 / 10000 = 0.992 Clean (No Filter) Accuracy = 9920 / 10000 = 0.992
@ -152,13 +232,33 @@ Bilateral Filter Accuracy = 5683 / 10000 = 0.5683
Gaussian Blur Accuracy = 5983 / 10000 = 0.5983 Gaussian Blur Accuracy = 5983 / 10000 = 0.5983
Random Noise Accuracy = 4933 / 10000 = 0.4933 Random Noise Accuracy = 4927 / 10000 = 0.4927
Snapped Color Accuracy = 7496 / 10000 = 0.7496 Snapped Color Accuracy = 7496 / 10000 = 0.7496
1 Bit Accuracy = 6794 / 10000 = 0.6794 1 Bit Accuracy = 6794 / 10000 = 0.6794
Plurality Vote Accuracy = 6467 / 10000 = 0.6467 Plurality Vote Accuracy = 6459 / 10000 = 0.6459
====== EPSILON: 0.225 ======
Clean (No Filter) Accuracy = 9920 / 10000 = 0.992
Unfiltered Accuracy = 3894 / 10000 = 0.3894
Kuwahara Filter Accuracy = 5773 / 10000 = 0.5773
Bilateral Filter Accuracy = 5003 / 10000 = 0.5003
Gaussian Blur Accuracy = 5243 / 10000 = 0.5243
Random Noise Accuracy = 3828 / 10000 = 0.3828
Snapped Color Accuracy = 5289 / 10000 = 0.5289
1 Bit Accuracy = 6512 / 10000 = 0.6512
Plurality Vote Accuracy = 5421 / 10000 = 0.5421
====== EPSILON: 0.25 ====== ====== EPSILON: 0.25 ======
@ -172,13 +272,33 @@ Bilateral Filter Accuracy = 4381 / 10000 = 0.4381
Gaussian Blur Accuracy = 4591 / 10000 = 0.4591 Gaussian Blur Accuracy = 4591 / 10000 = 0.4591
Random Noise Accuracy = 2876 / 10000 = 0.2876 Random Noise Accuracy = 2855 / 10000 = 0.2855
Snapped Color Accuracy = 4301 / 10000 = 0.4301 Snapped Color Accuracy = 4301 / 10000 = 0.4301
1 Bit Accuracy = 6233 / 10000 = 0.6233 1 Bit Accuracy = 6233 / 10000 = 0.6233
Plurality Vote Accuracy = 4721 / 10000 = 0.4721 Plurality Vote Accuracy = 4716 / 10000 = 0.4716
====== EPSILON: 0.275 ======
Clean (No Filter) Accuracy = 9920 / 10000 = 0.992
Unfiltered Accuracy = 2149 / 10000 = 0.2149
Kuwahara Filter Accuracy = 4594 / 10000 = 0.4594
Bilateral Filter Accuracy = 3836 / 10000 = 0.3836
Gaussian Blur Accuracy = 3998 / 10000 = 0.3998
Random Noise Accuracy = 2101 / 10000 = 0.2101
Snapped Color Accuracy = 3992 / 10000 = 0.3992
1 Bit Accuracy = 5842 / 10000 = 0.5842
Plurality Vote Accuracy = 4110 / 10000 = 0.411
====== EPSILON: 0.30000000000000004 ====== ====== EPSILON: 0.30000000000000004 ======
@ -192,10 +312,10 @@ Bilateral Filter Accuracy = 3364 / 10000 = 0.3364
Gaussian Blur Accuracy = 3481 / 10000 = 0.3481 Gaussian Blur Accuracy = 3481 / 10000 = 0.3481
Random Noise Accuracy = 1560 / 10000 = 0.156 Random Noise Accuracy = 1544 / 10000 = 0.1544
Snapped Color Accuracy = 2091 / 10000 = 0.2091 Snapped Color Accuracy = 2091 / 10000 = 0.2091
1 Bit Accuracy = 5462 / 10000 = 0.5462 1 Bit Accuracy = 5462 / 10000 = 0.5462
Plurality Vote Accuracy = 3312 / 10000 = 0.3312 Plurality Vote Accuracy = 3287 / 10000 = 0.3287