The project's goal is to grasp fundamental concepts and methods in constructing a straightforward query-by-example retrieval system tailored for locating paintings within a museum image collection. Image retrieval will encompass the utilization of colour, texture, text details, key points, and local descriptors. Additionally, various techniques, including morphological filters to identify and eliminate superimposed text in images, as well as filtering to eradicate noise, will be implemented. The resultant system is versatile and applicable to any modest query-by-example scenario.
- Anna Oliveras
- Guillem Capellera
- Marcos Frías
- Àngel Herrero
- Create a new environment (Highly recommended)
- Use Python 3.9.13
- Install dependencies with: pip install -r requirements.txt
Top level directory layout
├── Team5 → Our repository with the code
├── db → Folder with the database
├── qsd1_w1 → Folder with the query1 images
├── qsd2_w2 → Folder with the query2 images and masks
- py → python py (args) to execute it
- First: Query name → (qsd1_w1, qsd2_w1, qst1_w1, qst2_w1)
- Second: Method to search most similar painting → (1, 2)
- Third: Method to generate the masks → (1, 2)
- Four: Images have backgrounds → (True, False)
- Five: Images have text box → (True,False)
- Six: Images may have two paintings → (True, False)
- Seven: Solutions are available (to compute scores) → (True, False)
Boolean values can be defined in several ways:
- True → {1, 't', 'true', 'yes'}
- False → else
- python py qsd2_w1 1 2 True True:
- Query 1 with method 1 to search the painting, method 2 to generate the masks, images with background and solutions available to calculate score.
- python py qst1_w2 1 1 no no:
- Test query 2 with method 1 to search the painting, method 1 to generate the masks, images without background and no solutions available to calculate score.
Important: It's mandatory to define all the arguments even when they are not needed. (i.e when searching for coincidences with images without background it's necessary to include a mask method even though it's not used)