cnn_visualizer / src /kernels.ts
joel-woodfield's picture
Add refactored version of cnn visualizer
1f2f6bf
export const COLOR_KERNEL_PRESETS = {
Laplacian: [
[
[-1, -1, -1],
[-1, 8, -1],
[-1, -1, -1],
],
[
[-1, -1, -1],
[-1, 8, -1],
[-1, -1, -1],
],
[
[-1, -1, -1],
[-1, 8, -1],
[-1, -1, -1],
],
],
"Sobel X": [
[
[-1, 0, 1],
[-2, 0, 2],
[-1, 0, 1],
],
[
[-1, 0, 1],
[-2, 0, 2],
[-1, 0, 1],
],
[
[-1, 0, 1],
[-2, 0, 2],
[-1, 0, 1],
],
],
"Sobel Y": [
[
[-1, -2, -1],
[0, 0, 0],
[1, 2, 1],
],
[
[-1, -2, -1],
[0, 0, 0],
[1, 2, 1],
],
[
[-1, -2, -1],
[0, 0, 0],
[1, 2, 1],
],
],
"Box Blur": [
[
[0.04, 0.04, 0.04],
[0.04, 0.04, 0.04],
[0.04, 0.04, 0.04],
],
[
[0.04, 0.04, 0.04],
[0.04, 0.04, 0.04],
[0.04, 0.04, 0.04],
],
[
[0.04, 0.04, 0.04],
[0.04, 0.04, 0.04],
[0.04, 0.04, 0.04],
],
],
"AlexNet Conv1": [
[
[0.119, 0.094, 0.095, 0.105, 0.103, 0.067, 0.050, 0.050, 0.056, 0.022, 0.050],
[0.075, 0.039, 0.053, 0.076, 0.072, 0.073, 0.052, 0.027, 0.026, -0.011, 0.004],
[0.075, 0.039, 0.055, 0.056, 0.053, 0.050, 0.048, 0.025, 0.044, 0.010, 0.013],
[0.070, 0.053, 0.063, 0.062, 0.059, 0.039, 0.045, 0.038, 0.046, 0.002, 0.003],
[0.087, 0.075, 0.072, 0.083, 0.095, 0.065, 0.034, 0.021, 0.022, -0.011, -0.034],
[0.096, 0.099, 0.101, 0.109, 0.073, 0.036, -0.007, -0.043, -0.038, -0.057, -0.056],
[0.115, 0.115, 0.107, 0.091, 0.003, -0.090, -0.113, -0.139, -0.125, -0.084, -0.075],
[0.095, 0.110, 0.082, 0.042, -0.059, -0.159, -0.124, -0.158, -0.164, -0.115, -0.093],
[0.093, 0.104, 0.068, 0.024, -0.070, -0.184, -0.136, -0.185, -0.203, -0.128, -0.112],
[0.044, 0.065, 0.036, 0.005, -0.090, -0.194, -0.244, -0.244, -0.202, -0.114, -0.107],
[0.047, 0.063, 0.025, -0.020, -0.068, -0.117, -0.140, -0.163, -0.118, -0.096, -0.084],
],
[
[-0.073, -0.058, -0.081, -0.082, -0.068, -0.090, -0.071, -0.028, -0.001, -0.025, 0.025],
[-0.069, -0.068, -0.076, -0.047, -0.041, -0.065, -0.046, -0.032, -0.004, -0.030, 0.010],
[-0.100, -0.086, -0.105, -0.093, -0.086, -0.100, -0.086, -0.070, -0.027, -0.023, 0.007],
[-0.095, -0.078, -0.105, -0.111, -0.102, -0.124, -0.121, -0.086, -0.037, -0.037, -0.007],
[-0.102, -0.069, -0.123, -0.107, -0.099, -0.102, -0.109, -0.088, -0.055, -0.037, 0.000],
[-0.140, -0.095, -0.125, -0.121, -0.109, -0.086, -0.038, -0.050, -0.006, 0.023, 0.048],
[-0.189, -0.122, -0.157, -0.106, -0.099, -0.003, 0.137, 0.146, 0.116, 0.116, 0.092],
[-0.181, -0.134, -0.155, -0.090, 0.002, 0.174, 0.471, 0.449, 0.282, 0.189, 0.108],
[-0.151, -0.089, -0.097, -0.027, 0.101, 0.298, 0.572, 0.493, 0.309, 0.181, 0.084],
[-0.143, -0.076, -0.072, -0.012, 0.070, 0.165, 0.277, 0.253, 0.204, 0.164, 0.095],
[-0.086, -0.040, -0.051, -0.019, 0.035, 0.125, 0.170, 0.176, 0.164, 0.148, 0.102],
],
[
[-0.024, -0.002, -0.028, -0.008, -0.030, -0.060, -0.050, -0.001, 0.040, -0.007, 0.032],
[0.000, 0.022, 0.009, 0.048, 0.024, 0.001, 0.017, 0.024, 0.019, -0.014, 0.018],
[0.005, 0.029, 0.000, 0.001, -0.005, -0.035, -0.022, -0.028, 0.012, -0.003, 0.008],
[0.018, 0.047, 0.007, 0.001, -0.025, -0.043, -0.060, -0.053, -0.017, -0.024, -0.001],
[0.026, 0.050, -0.007, -0.013, -0.030, -0.044, -0.089, -0.098, -0.055, -0.044, -0.007],
[-0.020, 0.024, -0.024, -0.038, -0.077, -0.076, -0.061, -0.060, -0.047, -0.011, 0.025],
[-0.082, -0.014, -0.070, -0.069, -0.114, -0.054, 0.057, 0.069, 0.039, 0.043, 0.049],
[-0.096, -0.030, -0.110, -0.088, -0.057, 0.077, 0.355, 0.329, 0.143, 0.061, -0.021],
[-0.063, -0.012, -0.062, -0.029, 0.032, 0.165, 0.393, 0.312, 0.103, -0.009, -0.080],
[-0.046, 0.003, -0.040, -0.018, -0.028, 0.010, 0.072, 0.038, -0.026, -0.033, -0.076],
[-0.019, 0.011, -0.040, -0.042, -0.056, -0.034, -0.031, -0.076, -0.069, -0.041, -0.055],
],
],
Red: [
[
[0, 0, 0],
[0, 1, 0],
[0, 0, 0],
],
[
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
],
[
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
],
],
Green: [
[
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
],
[
[0, 0, 0],
[0, 1, 0],
[0, 0, 0],
],
[
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
],
],
Blue: [
[
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
],
[
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
],
[
[0, 0, 0],
[0, 1, 0],
[0, 0, 0],
],
]
};
export const GRAY_KERNEL_PRESETS = {
Laplacian: [
[-1, -1, -1],
[-1, 8, -1],
[-1, -1, -1],
],
'Sobel X': [
[-1, 0, 1],
[-2, 0, 2],
[-1, 0, 1],
],
'Sobel Y': [
[-1, -2, -1],
[0, 0, 0],
[1, 2, 1],
],
Sharpen: [
[0, -1, 0],
[-1, 5, -1],
[0, -1, 0],
],
'Box Blur': [
[0.11, 0.11, 0.11],
[0.11, 0.11, 0.11],
[0.11, 0.11, 0.11],
],
};
export const DEFAULT_COLOR_KERNEL = COLOR_KERNEL_PRESETS['Laplacian'];
export const DEFAULT_GRAY_KERNEL = GRAY_KERNEL_PRESETS['Laplacian'];