- Зачем смотреть на данные:
- Классы не равномерно распределены
- Изображения различного размера
- Colored and gray-style images
- Не влазит в память:
- Можно ужать через PCA
- Batch processing решит эту проблему(когда появятся сетки)
- А что все-же делать с неравномерностью классов:
- Аугментируем недастоющие классы
- Используем взешанную матрицу ошибки
- Subsampling из большего класса
- вообще есть paper - Survey of resampling techniques for improving classification performance in unbalanced datasets
- Некоторые картинки graystyle:
- Пока что самый простой вариант размножить изображение в 3 раза, что бы было в 3 канала
- Иногда в выборке попадаются папки не с изображеними:
- Да, такие папки есть - они начинаются на
.
. Просто проверяйтеif not f_name.startswith('.'); continue
- Еще попадаются внутри не изображения - проверяйте как
if not f_name.endswith('.jpg'); continue
- Да, такие папки есть - они начинаются на
- Какой вариант data augmentation использовать? Вообще все методы хороши после которых изображение идентефицируемо, но я начал бы с самых простых:
- Horizontal flip
- Random horizontal/vertical shift
- Rotation up-to 20-30 degrees
- Если используется pretrained сеть, какую выбрать:
- Прочитать это сравнение сетей для images classification
- Взять что-то из относительно нового(Inception, ResNet, Xception) что есть в вашем фреймворке
- Для Keras - думаю лучше попробовать Xception