amznbin is a deep learning image recognition project using Amazon Bin Image Dataset.
We solve two tasks,
- Count: Predict the number of items in the image
- Classify: Predict what item is contained in the image
To reduce the complexity of the tasks and training time,
- We use images with only one kind of item. - this enables us to solve classify task as a single classification task
- We specify the minimum number of repetition of an item - most items appear only once in all images, when untreated it will make testing and validating unconvincing.
- We manually ruled out a number of invalid images. - check
dataset/invalid_images.json
to see which images are excluded.
- On root directory run
pip install -r requirements.txt
to install required libraries - Run
make image_dataset
andmake load_metadata
on command line to download the images and metadata (Using tmux would be a good idea) - After
make load_metadata
is finished, runmake prepare_train
and input the number of repetition you want (we recommend 20 or higher) and data augmentation mode. - When all above is finished you are ready to run our program!
- Run
make demo
to checkout our training demo - To run the demo of our pretrained model, openjupyter notebook
and runsrc/demo.ipynb
- our pretrained model was too big to upload on github, you can train the model and use your own trained model to use this file
We accomplished 68.5714% accuracy on count task, and 41.4286% accuracy on classify task