DanielBaay/MultimediaRetrieval
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Prerequisites: This project relies on several third-party Python libraries, First another prerequisite needs to be installed first, which is Visual Studio Build Tools for C++ (needed for annoy installation, which is needed to run the GUI) It can be found here: https://visualstudio.microsoft.com/visual-cpp-build-tools/ (this link will also be provided in the default error message if you forget to intall it first) You can install the necessary liberaries with: pip install numpy pandas trimesh tqdm matplotlib vedo scipy scikit-learn seaborn Pillow pymeshlab annoy To run the code, simply run the GUI file. Here you will find a couple of functions All necessary files are present, even the database under the name "BigDatabase" Settings: The settings for the visualisation tool Database dropdown in top left: select which database you want to view, objects can be selected in the file tree that will be presented, you can also search by the object name. This was mostly used for development reasons. "Run big DB pipeline" will run the remeshing and normalisation (this will take several hours, the files are already in the provided folders, so no need to run this) "Query Database object" This will make you able to choose a object in the database as query object and query it against the rest of the database (it doesn't support custom objects to be added, if you do upload a new object to the database and query it, the returned objects are indeed the closest, but the distance measure of the closest item is set to 0, which is why in the GUI it thinks that the closetst item is the query item, we are not sure why. But do also not have the time to fix this functionality) "Open t-SNE 2D scatterplot" will generate and show the Scatterplot, be aware, it will say that it is not responding, but if you wait it will show it. It only takes about 10 seconds. "Show avg object + outliers" will first show the most average object (a pistol), if you close the view of the pistol it will show you one by one outliers (these are hardcoded, so will be the same each time) Good to know: if you are viewing a object, you are not able to interact with the GUI, first close the object view, now you can interact with the GUI again. If you query an object item which has already be queried again, it will show the previous results again instead of recalculating the results. The provided files will not contain any precalculated queries Almost all plant related objects take a long time to query as the remeshing and repairing process takes a long time for these objects. If you are turning impatient, the terminal might provide some more insight what part of the pipeline the system is running at how far along it is with that part. (general updates are provided in the GUI itself) Not all code files are used for the pipeline, some are used to generate plots for the report or for development purposes. The main database should be called "BigDatabase" - it is already provided under that name Github: https://github.com/DappereDaniel/MultimediaRetrieval