Создать несколько изображений с разным соотношением PyTorch - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь выполнить некоторое распознавание цифр, используя PyTorch.Я реализовал сверточную версию скользящего окна размером 32х32.Что дает мне возможность идентифицировать цифры этого диапазона размеров на картинке.

Но теперь давайте представим, что у меня есть изображение размером 300x300 с цифрой, которая занимает все изображение.Я никогда не смогу идентифицировать это ...

Я видел людей, которые говорили, что изображение нужно изменить и изменить его размер.Это означает, что мне нужно создать различные версии моего исходного изображения в различных масштабах, а затем наполнить свою сеть этими «новыми» изображениями.

Кто-нибудь знает, как я могу это сделать?

Вот часть моего кода, если он может помочь ..

# loading dataset
size=200
height=200
width= 300

transformer_svhn_test = transforms.Compose([
    transforms.Grayscale(3),
    transforms.Resize((height, width)),
    transforms.CenterCrop((size, size)),
    transforms.ToTensor(),
    transforms.Normalize([.5,.5,.5], [.5,.5,.5])
])

SVHN_test = SVHN_(train=False, transform=transformer_svhn_test)
SVHN_test_loader = DataLoader(SVHN_test, batch_size=batch_size, shuffle=False, num_workers=3)

#loading network
model = Network()
model.to(device)
model.load_state_dict(torch.load("digit_classifier_gray_scale_weighted.pth"))

# loading one image and feeding the model with it
image = next(iter(SVHN_test_loader))[0]
image_tensor = image.unsqueeze(0) # creating a single-image batch
image_tensor = image_tensor.to(device)

model.eval()
output = model(image_tensor)

1 Ответ

0 голосов
/ 15 июня 2019

Пожалуйста, поправьте меня, если я правильно понял ваш вопрос:

Ваша сеть принимает изображения размером 300x300 в качестве входных данных и поддерживает ли скользящее окно 32x32 в вашей модели и выводит расположение любых цифр во входных изображениях? В этой настройке вы задаете эту проблему как задачу обнаружения объекта.

Я представляю, что цифры в ваших тренировочных данных имеют размеры, аналогичные 32x32, и вы хотели использовать оценку по нескольким шкалам, чтобы убедиться, что цифры на ваших тестовых изображениях также будут иметь размеры, аналогичные размерам в ваших тренировочных данных. Что касается сети обнаружения объектов, входной размер вашей сети не фиксирован.

Таким образом, то, что вам нужно, на самом деле называется многоуровневой оценкой / тестированием, и вы найдете это очень распространенным в задачах Computer Vision.

Хорошей отправной точкой будет ЗДЕСЬ

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