Проблемы с классификацией изображений
Моя цель состоит в том, чтобы классифицировать изображения в одну из нескольких предопределенных категорий (спортивные туфли, рубашки, каблуки, часы...) из моего каталога (а затем вернуть похожие изображения из каталога).
Я использую Dense-SIFT для извлечения объектов, представляя каждое изображение, используя пакет визуальных слов и SVM для классификации. Все мои тренировочные образы взяты из каталога.
Проблема в том, что изображения, к которым я обращаюсь, являются фотографиями, снятыми с камеры, и они сильно отличаются от изображений в каталоге. Например, все каблуки / спортивные туфли в моем каталоге содержат только правую туфлю, взятую под одним конкретным углом, тогда как мое изображение запроса также содержит пятку и часть ступни, и угол, под которым снимается фото, может варьироваться (отклонение из каталога изображений).
Следовательно, классификация работает только тогда, когда мое изображение запроса (теста) является изображением из каталога (тех, которые я НЕ использовал для обучения), но не для изображений, снятых с камеры.
Как мне поступить? Это проблема с вектором элементов или самими данными обучения? Если я не могу изменить данные тренировки, могу ли я использовать что-нибудь еще? Должен ли я использовать совершенно другой подход (не мешок с словами)?
Спасибо