Read the introductory blogpost here. Read the final design report here.
First, install yarn and Python 3.5. Then install the Python and Javascript dependencies:
$ pip install -r requirements.txt
$ yarn install
Then set up the database:
$ ./manage.py migrate
Then, check out the instructions in data/README.md
to learn how to populate the database with the dataset.
- Artist pages
- Support artist images
- Scrape better bios from the collection
- Show list of artworks
- Convert artist 'A|B|C' -> three separate artists 'A', 'B', 'C'
- Similarity metrics
- Use
fasttext
to come up with document vectors for each artwork, reduced in dimensionality - Train VGGNet to predict document vectors based on images
- Similarity metrics for Artists as well as collections
- Spin off FALCONN tables into separate processes
- Update vectors with post-save triggers
- Implement vector updates in FALCONN: FALCONN-LIB/FALCONN#2
- Use
- Home Page
- Better description
- Artwork page
- Full-size image tiles with OpenSeadragon
- Account creation
- Log in with Facebook
- Centralized website that allows viewing collections in each museum participating?
- In-collection controls
- Ordering artworks
- Removing artworks
- Show a placeholder after deleting that allows for recovery in same edit-session
- Domain name?
- Set up
crtr.peterdowns.com
to demo in the meantime
- Set up
- Reach out
- Coordinate with the team
- Talk to the Barnes Foundation
- Backend
- Python
- Django because of past experience and ease of development.
- Postgres as primary data store.
- This supports some full text search concepts, which we will use as first stab at implementation. If more complex queries are needed, we'll use Elasticsearch.
- Django-Haystack can make this easy to implement.
- Fast R-CNN implementation for doing some feature extraction. Can hopefully also be used for similarity search.
- Instead of silly hand-rolled, maybe use FALCONN for cosine similarity search
- It would be dope to find a trained version of this model
- py-cooperhewitt for color extraction
- Minkowski distance metric for image similarity
- sk-learn for word vectors -> features
- fine-grained image similarity
- Frontend
- Frontend components will be created with React.
- Standard HTML/CSS