We use Support Vector Machine(SVM) with different feature extractors, deep forest and Convolutional Neural Network to train the classifier.
高斯滤波器+LBP+SVM(rbf核)
Use Gaussian filter and laplacian operator to denoise and extracts edges, then LBP(Local Binary Patt- ern) extract features of preprocessed images as the input of SVM.
CNN+SVM(rbf核)
Use VGG16 to extract features as the input of SVM., the weight of VGG16 is trained on ImageNet.
简单 CNN(3 Conv+1 FC)
Build a simple neural network to train. The network consists of three convolutional layers and a fully connected layer.
迁移学习(VGG16)
Use VGG16 to extract features as input of a simple network that consists of a fully-connected layer.
神经网络搜索
Use NNS to search a best network.
GC森林
Use deep forest(Only cascade forest structure/With multi-grained forests) to train the ensemble classifier.
结果
分类器
准确性
高斯滤波器+LBP+SVM(rbf核)
97.25%
CNN+SVM(rbf核)
71.25%
简单 CNN(3 Conv+1 FC)
72.50%
迁移学习(VGG16)
81.25%
神经网络搜索
82.28%
gcForest(无多粒森林)
80.00%
gcForest(多粒森林,i=8)
88.75%
安装依赖关系
pip install -r requirements.txt
运行
# read README.md in models folder and download weight file of pre-trained VGG on the ImageNet dataset.