Как улучшить мой классификатор изображений для распознавания изображений реального мира - PullRequest
0 голосов
/ 19 июня 2020

Я хотел бы обучить классификатор жестов рук с помощью pytorch. Изображения набора данных выглядят так.

Я пытался использовать resnet34 и какое-то расширение данных. Я получил высокую точность на тестовом наборе, но низкую точность при попытке распознать собственный жест в реальном мире. Он отлично работает, когда фон белый, сходит с ума, когда другие объекты (мое лицо, стул, кровать и т. Д. c.) Появляются на заднем плане. Может быть, это потому, что тестовые изображения имеют чистый фон, так как я могу улучшить свой классификатор? Также я хочу добавить в свой классификатор категорию «без жестов». Как я могу это сделать? Это мои преобразования увеличения данных:

transform = torchvision.transforms.Compose([
         torchvision.transforms.Grayscale(3),
         torchvision.transforms.RandomHorizontalFlip(),
         torchvision.transforms.RandomRotation(20),
         torchvision.transforms.RandomResizedCrop(64, (0.6, 1.2)),
         torchvision.transforms.ToTensor(),
         torchvision.transforms.Normalize((0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5)),
    ])

Любые советы приветствуются. Спасибо!

1 Ответ

1 голос
/ 19 июня 2020

Помимо изменений в вашем классификаторе, вам следует посмотреть на данные по обучению:

Спросите себя:

  1. Достаточно ли велик размер моей выборки? Если у вас слишком мало изображений для тренировки, никакое увеличение данных в мире не восполнит этого. Стремитесь получить большой разнородный набор данных с равномерным распределением меток.

  2. Точно ли ваши обучающие данные отражают обстоятельства, в которых вы хотите использовать свой классификатор. Представленные вами изображения кажутся светлыми фон, возможно, попробуйте получить изображения жестов рук с разным фоном.

После этого вам следует взглянуть на свой классификатор и улучшить его. Поскольку вы не указали свою модель, я не могу это комментировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...