DS LAB MINIPROJECT IEEE Document
DS LAB MINIPROJECT IEEE Document
Abstract - Categorizing art images is an increasingly To this end, our project aims to automate the
relevant and challenging task, especially as the volume of categorization of over 9,000 high-resolution art images
digital art collections continues to grow. Our work builds in the Kaggle Art Images Dataset into one of five
on recent advances in deep learning techniques, which distinct categories: drawings, engravings, paintings,
have enabled automated image classification with high iconography, and sculptures.
accuracy and efficiency. Our approach involves using a
pre-trained CNN, we can leverage its ability to Our approach to automated art classification involves
distinguish fine-grained visual features such as edges, the use of convolutional neural networks (CNNs) and
textures, and shapes. To enhance the performance of our transfer learning. By utilizing transfer learning
model, we have also employed a variety of data techniques, our model can leverage pre-trained models
augmentation techniques in our pre-processing step. on similar problems and improve its accuracy.
These techniques help to create artificial variations in the Furthermore, we have employed data augmentation
original training dataset, making our model more robust techniques to enhance the size and generalizability of
to variations in image size, orientation, and color. our dataset, enabling our model to perform better on
Techniques like random flipping, rotation, and zooming, smaller, less varied datasets.
along with Gaussian noise injection, have been shown
to work effectively in many areas of computer vision, Through rigorous training of our custom models using
including art classification. Our model achieved high cross-entropy loss, we can classify art images based on
accuracy on both the training and validation sets, their visual features and style more accurately. Our
indicating that it can generalize well to new, previously models can significantly aid art historians, museum
unseen images. However, we acknowledge that some curators, and art enthusiasts alike, providing them with
degree of bias and variability may be present in the an efficient and reliable tool that accurately categorizes
dataset due to differences in artist styles, time periods, or art into five classes. The outcome of our project
image quality. Nonetheless, our model can provide highlights the power of CNNs and transfer learning to
valuable insights into the visual features and automate art classification and demonstrates the
characteristics that distinguish one art style from potential for these technologies to unlock new insights
another. Overall, our work contributes to the growing into art's diverse and captivating forms of expression.
field of art classification and demonstrates the
effectiveness of modern deep learning techniques in this
area. By categorizing art images into five distinct groups,
we can help art historians and enthusiasts to explore
art collections more efficiently, discover new trends
and connections between different styles, and gain a
deeper appreciation and understanding of the rich
diversity of artistic expression throughout history.
I. INTRODUCTION
The CNN architecture is defined using the Keras The code includes the visualization of training and
Sequential API. The first layer is a convolutional layer. validation accuracy and loss over epochs using
This is followed by a max-pooling layer. The output of matplotlib. Two subplots are created: one for accuracy
the max-pooling layer is flattened and connected to a and one for loss.
dense layer. The final layer is a dense layer with the
number of neurons equal to the number of output ResultMap and Pickle:
classes (determined by OutputNeurons) and softmax
activation, making it suitable for multi-class ResultMap is a dictionary that maps class indices to
classification. class names. This mapping is created based on the class
indices obtained from the training set. The mapping is
stored in a file named 'ResultMap.pkl' using the pickle
module. Pickle is a serialization module in Python.
Content:
Note: