This project builds a simple Image Search Engine using the Keras framework with ResNet-50 as the backbone network (pre-train model). This system is a computer system used for browsing, searching and retrieving images from a large database of digital images.
Convolutional Neural Network (ResNet50 backbone) + Cosine Similarity.
├── feature_extractor.py
├── offline.py
├── __pycache__
│ └── feature_extractor.cpython-37.pyc
├── README.md
├── server.py
├── static
│ ├── feature_database
│ │ ├── concat_all_feature.npz
│ │ ├── lion.npz
│ │ ├── pig.npz
│ │ ├── ...
│ ├── image_database
│ │ ├── lion
│ │ │ ├── 0209bbf635.jpg
│ │ │ ├── 05d42c9bd8.jpg
│ │ │ ├── ...
│ │ ├── pig
│ │ │ ├── 00ddea87ad.jpg
│ │ │ ├── 02b26f142c.jpg
│ │ │ ├── ...
│ │ ├── ...
│ └── image_uploaded
└── templates
└── index.html
- Memory: 8,0 GiB
- Processor: Intel® Core™ i5-8365U CPU @ 1.60GHz × 8
- OS: Ubuntu 22.04.1 LTS (64-bit)
Animal Image Dataset (90 different categories, 60 images per categories): 5400 Animal Images
- Python 3.7 is used in this repository.
- Clone the repository:
$ git clone https://github.com/danghieuan/image-retrieval-system.git
$ cd image-retrieval-system
$ python offline.py
$ python server.py
- Research Product Quantization algorithm for larger-scale indexing.
- CVPR 2020 Tutorial on Image Retrieval in the Wild, author: Yusuke Matsui and Takuma Yamaguchi and Zheng Wang.
- He, Kaiming, et al. "Deep residual learning for image recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
- Deep Learning with Python - François Chollet.
- Changing the contrast and brightness of an image! - OpenCV.