In this project, we develop an original Convolutional Neural Network (CNN) combined with a linear regression component to accurately identify objects and draw bounding boxes around them within the CUB-200-2011 dataset. Our approach features a tailored CNN architecture designed specifically for object detection tasks, eliminating the need for popular yet computationally intensive pre-trained models such as YOLO or Faster R-CNN. By separating classification and localization responsibilities between our custom CNN and linear regression components, respectively, we achieve robust performance while maintaining computational efficiency.
- Jupyter notebook
- Python
- Scikit-Learn
- Tensorflow
- Keras
- Matplotlib
- Seaborn
- Scipy
- OpenCV
- Convolutional Neural Network
- Linear Regression
The Caltech-UCSD Birds-200-2011 (CUB-200-2011) dataset is the most widely used dataset for fine-grained visual categorization task. It contains 11,788 images of 200 subcategories belonging to birds, 5,994 for training and 5,794 for testing. Each image has detailed annotations: 1 subcategory label, 15 part locations, 312 binary attributes and 1 bounding box. The textual information comes from Reed et al.. They expand the CUB-200-2011 dataset by collecting fine-grained natural language descriptions. Ten single-sentence descriptions are collected for each image. The natural language descriptions are collected through the Amazon Mechanical Turk (AMT) platform and are required at least 10 words, without any information of subcategories and actions.
You can download this dataset from the link below https://data.caltech.edu/records/65de6-vp158