AUTOENCODR - Deep Learning
AUTOENCODR - Deep Learning
input_img = Input(shape=input_shape)
# Encoder
x = Conv2D(32, (3, 3), activation='relu', padding='same')(input_img)
x = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(16, (3, 3), activation='relu', padding='same')(x)
x = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(8, (3, 3), activation='relu', padding='same')(x)
x = MaxPooling2D((2, 2), padding='same')(x)
# Bottleneck
x = Conv2D(8, (3, 3), activation='relu', padding='same')(x)
# Decoder
x = UpSampling2D((2, 2))(x) # First upsampling, from 8x8 to 16x16
x = Conv2D(8, (3, 3), activation='relu', padding='same')(x)
x = UpSampling2D((2, 2))(x) # Second upsampling, from 16x16 to 32x32
x = Conv2D(16, (3, 3), activation='relu', padding='same')(x)
x = UpSampling2D((2, 2))(x) # Third upsampling, from 32x32 to 64x64
x = Conv2D(32, (3, 3), activation='relu', padding='same')(x)
import numpy as np
plt.figure(figsize=(15, 5))
for i, idx in enumerate(selected_indices):
frame = data[idx] # Reshape frame to 64x64 for visualization
plt.subplot(1, num_frames, i + 1)
plt.imshow(frame, cmap='gray')
plt.title(f"Anomalous Frame {idx} - Error: {errors[idx]:.4f}")
plt.axis('off')
plt.show()
import cv2
import matplotlib.pyplot as plt
plt.tight_layout()
plt.show()