Pytorch Gridsample - Не получается заставить пример Toy работать - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь понять, как использовать функцию выборки сетки Pytorch. Я понимаю, что мы передаем [B * Channel * H * W] и поле потока [B * H * W * 2] УФ пикселей

Но, похоже, это не работает.

import numpy as np
import torch
import torch.nn.functional as F
from torch import nn
from torch.autograd import Variable
import time

import cv2

rgbimg = np.ones((100,100,3)).astype(np.float32)*0.5
rgbimg[0:50,0:50,:] = 0

rgbimg_tensor = torch.tensor(rgbimg.transpose(2,0,1)).unsqueeze(0)


flowfield = torch.ones((1,rgbimg.shape[0], rgbimg.shape[1], 2))*0

rgbimg_tensor_trans = F.grid_sample(rgbimg_tensor, flowfield)


rgbimg_trans = rgbimg_tensor_trans[0,:,:,:].numpy().transpose(1,2,0)

print(rgbimg_trans.shape)

cv2.namedWindow("fimage")
cv2.moveWindow("fimage", 2500, 50)
cv2.imshow("fimage", rgbimg_trans)
cv2.waitKey(0)

Здесь я установил поле потока на ноль, но кажется, что конечное изображение везде одинаково. Что я делаю не так

enter image description here

становится

enter image description here

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