Image Classification Using CNN

Project description

This project utilized Convolutional Neural Networks (CNNs) to classify hand-drawn images across 100 categories, each containing 5,000 images, employing TensorFlow and Keras frameworks and GPU acceleration for efficiency. Our methodology involved preprocessing steps like reshaping and normalizing images to standardize inputs, followed by constructing a sequential CNN architecture with convolutional layers activated by ReLU, batch normalization, and max pooling for feature extraction and learning. Dropout layers were employed to avoid overfitting. Data augmentation further enriched the training set, enhancing the model's generalization capabilities. The model was stringently evaluated using a validation set, with early stopping callbacks implemented to optimize training efficiency by terminating the process when performance gains diminished. Initial attempts using a KNN model provided a baseline accuracy of 44.54%, but after exploring various models, the CNN showed superior performance with a baseline accuracy of about 60% with the final model achieved an impressive accuracy of 72.84%, ranking second among 100 participants.