rfabbri / recdev Goto Github PK
View Code? Open in Web Editor NEWrecognition datasets for the _development_ of machine learning algorithms
recognition datasets for the _development_ of machine learning algorithms
DESCRIPTION This is a collection of datasets built at increasing levels of complexity, aimed at iteratively building and evaluating recognizers from scratch. Images are all 100x100, in 4 levels of complexity: very easy, easy, medium and hard. See the README files inside the respective folders for the details. SOURCES We have used images from several sources: mainly a modified subset of the FEI face image dataset part 1, as well as cropped regions detected by Facebook on arbitrary photos. FILE NAMES Files are named in an uniform manner as follows <person number id>-<person photo-id>.{jpg,png} Example: 17-3.jpg means photo number 3 of person number 17. The mapping onto the original database image filenames is presented in a text file for each dataset (eg, FEI Face database) ITERATIVELY DEVELOPING A RECOGNITION ALGORITHM 1. Starting at the very-easy folder, write routines to read the image files into 2D arrays of pixels, and organize these into a list of 1D vectors of pixels 2. Write the simplest possible recognizer by direct image similarity (norm of image difference) 3. Write a cross-validation for your initial simple classifier. 3.1 Separate your images into test and training sets 3.2 Output a recognition score and running time. 4. Attempt to modify the way you compute the similarity in (2) as to increse the recognition score 5. Implement simple linear techniques such as PCA 5.1 stack the image vectors as columns of a data matrix 5.2 optionally subtract the mean vector from each column 5.3 compress the matrix using svd to n dimension using the top n singular values 5.4 project each new image to the space of columns in the matrix 5.5 compare image similarity based on: 5.5.1 distance between reduced dimension vectors 5.5.2 projection distance to each subspace of each face 5.5.3 distance between reconstructed vectors. do you get better quality? how about the drop in speed? is it significant? 5.6 change n in (5.3) 5.7 output recognition rates for each change you make. 7. Run your benchmarks on the very-easy dataset 8. Fine tune your algorithm and study failure cases. 9. Try to scale your code to the medium dataset 10. Implement a more complicated technique. Output recognition rates as you go. 11. Scale your algorithm to the hard dataset 12. Try the remaining datasets at extras/, possibly before going to the hard dataset AUTHOR Curated by Ricardo Fabbri (rfabbri at gmail) - IPRJ/UERJ Nova Friburgo
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.