Doggo Breed Detector Chatbot
End-to-end dog breed image classification with machine learning
Report Bug
·
Request Feature
Note:
The class labels (dog breeds) are obtained from a website listing 209 dog breeds and are extracted using
a simple function utilising BeautifulSoup4 library.
The function is named scrape_for_scraps and its Python corresponding
script can be found here.
The image dataset (dog breed images) is gathered with the use of Google Image Search API.
Image links are retrieved from Google Image Search API (limit of 100 images per search)
and the images are downloaded using Python’s Requests library.
The Google Image Search API function can be found here.
The image downloader function can be found here.
A image processor was developed to handle basic image manipulation:
A simple convolution neural network architecture is developed and a model was trained with the image dataset.
A pre-trained image classification model trained on the ImageNet dataset was used and the chosen architecture was
Xception as it has the same number of parameters as Inception V3 but has better classification performance.
Only the last layer of weights are retrained to refit the model to be capable of performing dog breed classification.
The code for transfer learning can be found here.
The Telegram bot functionality is created by utilising Python’s requests library to interact with Telegram’s Bot API.
Some of the bot’s functionality includes:
The Telegram bot implementation can be found here.
Dog breed image classification bot was deployed on a AWS EC2 t3.small instance:
The gif below shows a sample usage of the bot when it was active.
Lim Jia Xiang - blakelimjiaxiang@gmail.com
Project Link: https://github.com/limjiaxiang/doggo-cv-chatbot
This project is licensed under the Apache License Version 2.0 - see the LICENSE.txt file for details