For thousands of years dogs are the best friends of humans and humans are servants to cats. Seeing a four-legged animal, we can say in no time which of those two classes we are looking at. Let's teach computers to do the same!
$ git clone --recurse-submodules https://github.com/dkoguciuk/woof-or-meow
$ cd woof-or-meow
$ pip install -r requirements.txt
We are using The Oxford-IIIT Pet Dataset, but no worry, download script is provided here. Just type:
$ python dataset_download.py
Now, you can take a look on the data with simple visualization script:
$ python dataset_visualize.py
There are two seperate feature extraction methods implemented: HOG and CNN. To extract HOG featrues one can use the following:
$ python dataset_extract_features_hog.py
Features will be saved under features/hog directory. Similarly, one can use InceptionV3 CNN to extract features with:
$ python dataset_extract_features_cnn.py
There are olso two dimensionality reduction methods implemented: PCA and t-SNE:
$ python dataset_decompose.py -f hog
There are two classifiers implemented: SVM and MLP, which can be specified via -c param:
$ python dataset_classify.py -f hog -c svm