The goal of the project is the research of solutions to recognize landscapes. The main solution we propose is to train a learner with sets of images preselected in some categories. Images come from Flicker with a database of tags describing each image.
This repository regroups projects to realize the complete workflow.
- Import the clean DataBase in PostGreSQL.
- Download images from flickers by using a project from the folder ImagesExtractors.
- Import the clean DataBase in PostGreSQL.
- Create the coocurrence table
CREATE TABLE cooccurrence AS
SELECT im1.tag tag1, im2.tag tag2, count(im1.imageid) cooccurrence
FROM imagetagfiltred im1, imagetagfiltred im2
WHERE im1.imageid = im2.imageid
GROUP BY im1.tag, im2.tag;
- Create the empty distance table
CREATE TABLE distancestags
(
tag1 text NOT NULL,
tag2 text NOT NULL,
distance numeric
)
- Execute the project DistanceTags to fill this table with distance between each tags using Jenson Shanon Divergence
- Create a second distance table lighter (eliminate the symmetry in the distance tags matrix)
CREATE TABLE distancestags2 AS
SELECT * FROM distancestags WHERE tag1 < tag2;
- Execute the project generateCategoryImagesSet to generate a csv file for each term wanted with images ok and not.
- Separate each csv in 2 (one to train, one to test) by using project splitterCSVFiles.
- Finally, you can use project imagesVisualisation to visualize images of a csv file in a html page.
- Compute descriptors for all images with the project LireDescriptorsComputation.
- TODO???
Projects can have it's own readme to describe how use it.
TODO???
TODO???
Folder with projects to extract and download images from Flicker. Each project have advantages and disadvantages (speed, language, ...)
TODO???
TODO???
TODO???
TODO???
Java project to compute distances between tags using Jenson Shanon Divergence. This project can generate csv file with the matrix of distance and fill the database distance table.
Java project to generate sets of images ok and not ok for each terme you want. Sets are saved in csv files.
HTML, CSS, Javascript project to visualize images of a csv file with tag cloud. The visualization with a simple html page.
Java project to split csv files in many others smaller but it can be useful to separate a trainning set and a set to test.
Small Java project to get synonyms of a word using Wordnet dictionnary.