From 1b038de4696b4616a27912a0fa4fc441619529f8 Mon Sep 17 00:00:00 2001 From: Samim Zahoor Taray Date: Sat, 16 May 2020 17:04:24 +0200 Subject: [PATCH 1/2] Implementations of the custom layers i.e the Correlation layer, Resample2D layer and the ChannelNorm layer in native Pytorch and C++ to support inference on CPU. The main bottleneck is the Correlation Layer on which the FlowNetC architecture relies. This PR provides 2 implementations of the Correlation layer. -PyTorch native implementation. This requires no extra setup -Optimized C++ implementation for inference on CPU. Also provided are Pytorch native implementations for Resample2D and Channelnorm. Since the Pytorch implementation is quite efficient (compeletely vectorized) with no python for loops, C++ implementation is not needed. These layers also work by default on the GPU dependening on if the input tensors are on gpu and are slightly slower than the provided cuda implementation. See comments at the top of models.py and networks/FlowNetC.py for more details and how to switch to CPU mode. Backward passes are not yet implemented but will be added in the future. run_a_pair.py is replaced with a generic script called test.py to simply test functionality. run_a_pair.py had hardcoded paths. Also 2 frames from sintel added in test_images dir so that functionality and setup can be swiftly checked. Resolves: #190 --- .gitignore | 3 +- install.sh | 4 + models.py | 20 ++- networks/FlowNetC.py | 5 + networks/channelnorm.py | 39 +++++ networks/correlation.py | 121 +++++++++++++++ networks/correlation_cpp_package/.gitignore | 145 ++++++++++++++++++ .../correlation_cpp_package/correlation.cpp | 125 +++++++++++++++ .../correlation_cpp_package/correlation.py | 31 ++++ networks/correlation_cpp_package/setup.py | 19 +++ networks/resample2d.py | 135 ++++++++++++++++ run_a_pair.py | 45 ------ test.py | 84 ++++++++++ test_images/frame_0003.png | Bin 0 -> 601699 bytes test_images/frame_0006.png | Bin 0 -> 597366 bytes 15 files changed, 725 insertions(+), 51 deletions(-) create mode 100755 networks/channelnorm.py create mode 100644 networks/correlation.py create mode 100644 networks/correlation_cpp_package/.gitignore create mode 100644 networks/correlation_cpp_package/correlation.cpp create mode 100644 networks/correlation_cpp_package/correlation.py create mode 100644 networks/correlation_cpp_package/setup.py create mode 100755 networks/resample2d.py delete mode 100644 run_a_pair.py create mode 100644 test.py create mode 100755 test_images/frame_0003.png create mode 100755 test_images/frame_0006.png diff --git a/.gitignore b/.gitignore index e78a767..5d5c812 100755 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ _ext *.o work work/* -_ext/ \ No newline at end of file +_ext/ +model_weights \ No newline at end of file diff --git a/install.sh b/install.sh index 538b02e..264bfa4 100755 --- a/install.sh +++ b/install.sh @@ -11,4 +11,8 @@ cd ../channelnorm_package rm -rf *_cuda.egg-info build dist __pycache__ python3 setup.py install --user +cd ../correlation_cpp_package +rm -rf *_cuda.egg-info build dist __pycache__ +python3 setup.py install --user + cd .. diff --git a/models.py b/models.py index 8457d2f..3f5cc1e 100755 --- a/models.py +++ b/models.py @@ -6,8 +6,13 @@ import numpy as np try: - from networks.resample2d_package.resample2d import Resample2d - from networks.channelnorm_package.channelnorm import ChannelNorm + # from networks.resample2d_package.resample2d import Resample2d + # from networks.channelnorm_package.channelnorm import ChannelNorm + # PyTorch versions + # To use the CPU implementation of Resample2D and Channelnorm uncomment the + # two lines below and comment the two lines above. + from networks.channelnorm import ChannelNorm + from networks.resample2d import Resample2d from networks import FlowNetC from networks import FlowNetS @@ -16,9 +21,14 @@ from networks.submodules import * except: - from .networks.resample2d_package.resample2d import Resample2d - from .networks.channelnorm_package.channelnorm import ChannelNorm - + # from .networks.resample2d_package.resample2d import Resample2d + # from .networks.channelnorm_package.channelnorm import ChannelNorm + # PyTorch versions + # To use the CPU implementation of Resample2D and Channelnorm uncomment the + # two lines below and comment the two lines above. + from .networks.channelnorm import ChannelNorm + from .networks.resample2d import Resample2d + from .networks import FlowNetC from .networks import FlowNetS from .networks import FlowNetSD diff --git a/networks/FlowNetC.py b/networks/FlowNetC.py index 61e117a..e9628b3 100755 --- a/networks/FlowNetC.py +++ b/networks/FlowNetC.py @@ -6,6 +6,11 @@ import numpy as np from .correlation_package.correlation import Correlation +# To use CPU implementation of correlation in C++ comment line above and uncomment +# the line below. +# from .correlation_cpp_package.correlation import Correlation +# PyTorch Version +# from .correlation import Correlation from .submodules import * 'Parameter count , 39,175,298 ' diff --git a/networks/channelnorm.py b/networks/channelnorm.py new file mode 100755 index 0000000..4aff992 --- /dev/null +++ b/networks/channelnorm.py @@ -0,0 +1,39 @@ +import torch +from torch.autograd import Function, Variable +from torch.nn.modules.module import Module +# import channelnorm_cpp + +class ChannelNormFunction(Function): + + @staticmethod + def forward(ctx, input1, norm_deg=2): + assert input1.is_contiguous() + b, c, h, w = input1.size() + output = input1.new(b, 1, h, w).zero_() + output = torch.pow(input1, norm_deg) + output = torch.sqrt( torch.sum(output, dim=1)) + ctx.save_for_backward(input1, output) + ctx.norm_deg = norm_deg + return output.unsqueeze(0) + + @staticmethod + def backward(ctx, grad_output): + """ + Not Implemented! + """ + input1, output = ctx.saved_tensors + + grad_input1 = Variable(input1.new(input1.size()).zero_()) + + return grad_input1, None + + +class ChannelNorm(Module): + + def __init__(self, norm_deg=2): + super(ChannelNorm, self).__init__() + self.norm_deg = norm_deg + + def forward(self, input1): + return ChannelNormFunction.apply(input1, self.norm_deg) + diff --git a/networks/correlation.py b/networks/correlation.py new file mode 100644 index 0000000..9966400 --- /dev/null +++ b/networks/correlation.py @@ -0,0 +1,121 @@ +""" +Copyright 2020 Samim Taray + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 +""" + +import torch +from torch.nn.modules.module import Module +from torch.autograd import Function +from torch.nn import ZeroPad2d +# import correlation_cuda +import code + +class CorrelationFunction(Function): + + def __init__(self, pad_size=3, kernel_size=3, max_displacement=20, stride1=1, stride2=2, corr_multiply=1): + super(CorrelationFunction, self).__init__() + self.pad_size = pad_size + self.kernel_size = kernel_size + self.max_displacement = max_displacement + self.stride1 = stride1 + self.stride2 = stride2 + self.corr_multiply = corr_multiply + + def extractwindow(self, f2pad, i, j): + hindex = torch.tensor( range(i,i+(2*self.max_displacement)+1, self.stride2) ) + windex = torch.tensor( range(j,j+(2*self.max_displacement)+1, self.stride2) ) + # Advanced indexing logic. Ref: https://github.com/pytorch/pytorch/issues/1080 + # the way advance indexing works: + # ---> f2pad[:, :, hindex] chose value at f2pad at hindex location, then + # ---> appending [:, :, :, windex] to it only choses values at windex. + # ---> Thus it choses value at the alternative location of f2pad + # win = f2pad[:,:, i:i+(2*self.max_displacement)+1, j:j+(2*self.max_displacement)+1] + + win = f2pad[:, :, hindex][:, :, :, windex] + return win + + def forward(self, f1, f2): + self.save_for_backward(f1, f2) + f1b = f1.shape[0] #batch + f1c = f1.shape[1] #channel + f1h = f1.shape[2] #height + f1w = f1.shape[3] #width + + f2b = f2.shape[0] #batch + f2c = f2.shape[1] #channel + f2h = f2.shape[2] #height + f2w = f2.shape[3] #width + + # generate padded f2 + padder = ZeroPad2d(self.pad_size) + f2pad = padder(f2) + + # Define output shape and initialize it + outc = (2*(self.max_displacement/self.stride2)+1) * (2*(self.max_displacement/self.stride2)+1) + outc = int(outc) # number of output channel + outb = f1b # size of output batch + outh = f1h # size of output height + outw = f1w # size of output width + output = torch.ones((outb, outc, outh, outw)) + # this gives device type + output = output.to(f1.device) + + for i in range(f1h): + for j in range(f1w): + # Extract window W around i,j from f2pad of size (1X256X21X21) + win = self.extractwindow(f2pad, i, j) + # Extract kernel: size [1, 256, 1, 1] + k = f1[:, :, i, j].unsqueeze(2).unsqueeze(3) + # boradcasting multiplication along channel dimension + # it multiplies all the 256 element of k to win and keep the result as it is + # size of mult: 1, 256, 21, 21 + mult = win * k + # Sum along channel dimension to get dot product. size 1X21X21 + inner_prod = torch.sum(mult, dim = 1) + + # Flatten last 2 dimensions h,w to one dimension of h*w = no of channels in output + # size 1X1X1X441 + inner_prod = inner_prod.flatten(-2, -1).unsqueeze(1).unsqueeze(1) + output[:, :, i, j] = inner_prod + # return the average + return output/f1c + + def backward(self, grad_output): + """ + Not Implemented! + """ + input1, input2 = self.saved_tensors + with torch.cuda.device_of(input1): + rbot1 = input1.new() + rbot2 = input2.new() + + grad_input1 = input1.new() + grad_input2 = input2.new() + + correlation_cuda.backward(input1, input2, rbot1, rbot2, grad_output, grad_input1, grad_input2, + self.pad_size, self.kernel_size, self.max_displacement,self.stride1, self.stride2, self.corr_multiply) + + return grad_input1, grad_input2 + + +class Correlation(Module): + def __init__(self, pad_size=0, kernel_size=0, max_displacement=0, stride1=1, stride2=2, corr_multiply=1): + super(Correlation, self).__init__() + self.pad_size = pad_size + self.kernel_size = kernel_size + self.max_displacement = max_displacement + self.stride1 = stride1 + self.stride2 = stride2 + self.corr_multiply = corr_multiply + + def forward(self, input1, input2): + + result = CorrelationFunction(self.pad_size, self.kernel_size, self.max_displacement,self.stride1, self.stride2, self.corr_multiply)(input1, input2) + + return result + diff --git a/networks/correlation_cpp_package/.gitignore b/networks/correlation_cpp_package/.gitignore new file mode 100644 index 0000000..50180ed --- /dev/null +++ b/networks/correlation_cpp_package/.gitignore @@ -0,0 +1,145 @@ +*.pyc +.torch +_ext +*.o +work +work/* +_ext/ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ \ No newline at end of file diff --git a/networks/correlation_cpp_package/correlation.cpp b/networks/correlation_cpp_package/correlation.cpp new file mode 100644 index 0000000..965a78f --- /dev/null +++ b/networks/correlation_cpp_package/correlation.cpp @@ -0,0 +1,125 @@ +/* +Copyright 2020 Samim Taray + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 +*/ +#include +using namespace torch; + +#include + +#define WITHIN_BOUNDS(x, y, H, W) (x >= 0 && x < W && y >= 0 && y < H) +#define WITHIN_BOUNDS3(val1, val2, bound1, bound2) (val1 >= 0 && val1 < bound1 && val2 >= 0 && val2 < bound2) +#define WITHIN_BOUNDS2(x, bound) (x >=0 && x < bound) + + +template +static void correlate_patch( + TensorAccessor f1_acc, + TensorAccessor f2_acc, + TensorAccessor out_acc, + int n, /* batch number */ + int h, /* height cordinate number */ + int w, /* width cordinate number */ + int pad_size, + int kernel_size, + int max_displacement, + int stride1, + int stride2 +){ + /* + Algorithm: we are in the h,w position of both feature maps. Where do we go from here? + Let's see. + */ + int f1c = f1_acc.size(0); + int f1h = f1_acc.size(1); + int f1w = f1_acc.size(2); + + /* Indicies that define the extents of the window. */ + int win_starth, win_endh, win_startw, win_endw; + win_starth = h - max_displacement; + win_endh = h + max_displacement + 1; + win_startw = w - max_displacement; + win_endw = w + max_displacement + 1; + + int c, ph, pw, outpc = 0; + + for ( ph = win_starth; ph < win_endh; ph+=stride2){ + for ( pw = win_startw; pw < win_endw; pw+=stride2){ + if ( WITHIN_BOUNDS3(ph, pw, f1h, f1w /* better to have f2 here maybe */)){ + // We are in the window now. + scalar_t outval = 0.0; + for (c = 0; c < f1c; c++){ + outval += f1_acc[c][h][w] * f2_acc[c][ph][pw]; + } + // TODO: Optimization: We can get this from ph and pw. This should be ph * (win_endh - win_starth) + // outpc = (( ph - win_starth)/stride2) * max_displacement + (pw - win_startw)/stride2; // Output channel index. + // std::cout<<"outpc = "<(); + auto f2_acc = f2.accessor(); + auto out_acc = output.accessor(); + + correlate_patch( + f1_acc[n], + f2_acc[n], + out_acc[n], + n, + h, + w, + pad_size, + kernel_size, + max_displacement, + stride1, + stride2); + })); + } + } + } + return output; + } + + + +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { + m.def("forward", &correlation_cpp_forward, "Spatial Correlation Sampler Forward"); +// m.def("backward", &correlation_cpp_backward, "Spatial Correlation Sampler backward"); +} \ No newline at end of file diff --git a/networks/correlation_cpp_package/correlation.py b/networks/correlation_cpp_package/correlation.py new file mode 100644 index 0000000..289f4f1 --- /dev/null +++ b/networks/correlation_cpp_package/correlation.py @@ -0,0 +1,31 @@ +import torch +import correlation + +class CorrelationFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, f1, f2, pad_size=3, kernel_size=3, max_displacement=20, stride1=1, stride2=2): + output = correlation.forward(f1, f2, pad_size, kernel_size, max_displacement, stride1, stride2) + # ctx.save_for_backward(output) + return output + + @staticmethod + def backward(ctx): + """ + Not Implemented! + """ + output = None + +class Correlation(torch.nn.Module): + def __init__(self, pad_size=0, kernel_size=0, max_displacement=0, stride1=1, stride2=2, corr_multiply=1): + super(Correlation, self).__init__() + self.pad_size = pad_size + self.kernel_size = kernel_size + self.max_displacement = max_displacement + self.stride1 = stride1 + self.stride2 = stride2 + self.corr_multiply = corr_multiply + + def forward(self, input1, input2): + result = CorrelationFunction.apply(input1, input2, self.pad_size, self.kernel_size, self.max_displacement,self.stride1, self.stride2) + return result diff --git a/networks/correlation_cpp_package/setup.py b/networks/correlation_cpp_package/setup.py new file mode 100644 index 0000000..cbefe98 --- /dev/null +++ b/networks/correlation_cpp_package/setup.py @@ -0,0 +1,19 @@ +from setuptools import setup, Extension +from torch.utils import cpp_extension + +setup( + name='correlation', + ext_modules=[ + cpp_extension.CppExtension( + 'correlation', # Name of the module used in pybind + ['correlation.cpp'], # source files + extra_compile_args={'cxx': ['-fopenmp']}, + extra_link_args=['-lgomp']) + ], + author='Samim Zahoor Taray', + author_email='zsameem@gmail.com', + install_requires=['torch>=1.1', 'numpy'], + cmdclass={ + 'build_ext': cpp_extension.BuildExtension + } +) \ No newline at end of file diff --git a/networks/resample2d.py b/networks/resample2d.py new file mode 100755 index 0000000..3ea4e60 --- /dev/null +++ b/networks/resample2d.py @@ -0,0 +1,135 @@ +""" +Copyright 2020 Samim Taray + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 +""" + +import torch +from torch.nn.modules.module import Module +from torch.autograd import Function, Variable + + +class Resample2dFunction(Function): + + @staticmethod + def forward(ctx, input1, input2, kernel_size=1): + assert input1.is_contiguous() + assert input2.is_contiguous() + ctx.save_for_backward(input1, input2) + ctx.kernel_size = kernel_size + _, d, _, _ = input1.size() + b, _, h, w = input2.size() + output = input1.clone().detach() + # naive loop implementation from original flownet works well + image_data = input1 + warped_data = output + + # for x in range(w): + # for y in range(h): + + # fx = input2[0, 0, y, x] + # fy = input2[0, 1, y, x] + + # x2 = x + fx + # y2 = y + fy + + # if x2>=0 and y2>=0 and x2< w and y2 < h: + + # ix2_L = int(x2) + # iy2_T = int(y2) + # ix2_R = min(ix2_L+1, w-1) + # iy2_B = min(iy2_T+1, h-1) + + # alpha=x2-ix2_L + # beta=y2-iy2_T + + # for c in range(3): + # TL = image_data[:, c, iy2_T, ix2_L] + # TR = image_data[:, c, iy2_T, ix2_R] + # BL = image_data[:, c, iy2_B, ix2_L] + # BR = image_data[:, c, iy2_B, ix2_R] + + # warped_data[:, c, y, x] = \ + # (1-alpha)*(1-beta)*TL + \ + # alpha*(1-beta)*TR + \ + # (1-alpha)*beta*BL + \ + # alpha*beta*BR + + # else: + # for c in range(3): + # warped_data[:, c, y, x] = 0.0 + + # Vectorized implementation + for batch in range(b): + y, x = torch.meshgrid(torch.arange(h), torch.arange(w)) + x = x.to(input1.device) + y = y.to(input1.device) + fx = input2[batch, 0, y, x] + fy = input2[batch, 1, y, x] + + x2 = x.float() + fx + y2 = y.float() + fy + + ix2_L = x2.long() + iy2_T = y2.long() + ix2_L = torch.clamp(ix2_L, 0, w-1) + iy2_T = torch.clamp(iy2_T, 0, h-1) + ix2_R = torch.clamp(ix2_L + 1, 0, w-1) + iy2_B = torch.clamp(iy2_T + 1, 0, h-1) + + alpha = x2-ix2_L.float() + beta = y2-iy2_T.float() + # for c in range(3): + # TL = image_data[:, c, iy2_T, ix2_L] + # TR = image_data[:, c, iy2_T, ix2_R] + # BL = image_data[:, c, iy2_B, ix2_L] + # BR = image_data[:, c, iy2_B, ix2_R] + + # warped_data[:, c, :, :] = \ + # (1-alpha)*(1-beta)*TL + \ + # alpha*(1-beta)*TR + \ + # (1-alpha)*beta*BL + \ + # alpha*beta*BR + + TL = image_data[batch, :, iy2_T, ix2_L] + TR = image_data[batch, :, iy2_T, ix2_R] + BL = image_data[batch, :, iy2_B, ix2_L] + BR = image_data[batch, :, iy2_B, ix2_R] + #Interpolation + warped_data[batch, :, :, :] = (1-alpha) * (1-beta) * TL + \ + alpha * (1-beta) * TR + \ + (1-alpha) * beta * BL + \ + alpha * beta * BR + + + return warped_data + + @staticmethod + def backward(ctx, grad_output): + assert grad_output.is_contiguous() + + input1, input2 = ctx.saved_tensors + + grad_input1 = Variable(input1.new(input1.size()).zero_()) + grad_input2 = Variable(input1.new(input2.size()).zero_()) + + resample2d_cuda.backward(input1, input2, grad_output.data, + grad_input1.data, grad_input2.data, + ctx.kernel_size) + + return grad_input1, grad_input2, None + + +class Resample2d(Module): + + def __init__(self, kernel_size=1): + super(Resample2d, self).__init__() + self.kernel_size = kernel_size + + def forward(self, input1, input2): + input1_c = input1.contiguous() + return Resample2dFunction.apply(input1_c, input2, self.kernel_size) diff --git a/run_a_pair.py b/run_a_pair.py deleted file mode 100644 index 0e6aea2..0000000 --- a/run_a_pair.py +++ /dev/null @@ -1,45 +0,0 @@ -import torch -import numpy as np -import argparse - -from Networks.FlowNet2 import FlowNet2 # the path is depended on where you create this module -from frame_utils import read_gen # the path is depended on where you create this module - -if __name__ == '__main__': - # obtain the necessary args for construct the flownet framework - parser = argparse.ArgumentParser() - parser.add_argument('--fp16', action='store_true', help='Run model in pseudo-fp16 mode (fp16 storage fp32 math).') - parser.add_argument("--rgb_max", type=float, default=255.) - - args = parser.parse_args() - - # initial a Net - net = FlowNet2(args).cuda() - # load the state_dict - dict = torch.load("/home/hjj/PycharmProjects/flownet2_pytorch/FlowNet2_checkpoint.pth.tar") - net.load_state_dict(dict["state_dict"]) - - # load the image pair, you can find this operation in dataset.py - pim1 = read_gen("/home/hjj/flownet2-master/data/FlyingChairs_examples/0000007-img0.ppm") - pim2 = read_gen("/home/hjj/flownet2-master/data/FlyingChairs_examples/0000007-img1.ppm") - images = [pim1, pim2] - images = np.array(images).transpose(3, 0, 1, 2) - im = torch.from_numpy(images.astype(np.float32)).unsqueeze(0).cuda() - - # process the image pair to obtian the flow - result = net(im).squeeze() - - - # save flow, I reference the code in scripts/run-flownet.py in flownet2-caffe project - def writeFlow(name, flow): - f = open(name, 'wb') - f.write('PIEH'.encode('utf-8')) - np.array([flow.shape[1], flow.shape[0]], dtype=np.int32).tofile(f) - flow = flow.astype(np.float32) - flow.tofile(f) - f.flush() - f.close() - - - data = result.data.cpu().numpy().transpose(1, 2, 0) - writeFlow("/home/hjj/flownet2-master/data/FlyingChairs_examples/0000007-img.flo", data) diff --git a/test.py b/test.py new file mode 100644 index 0000000..fc90110 --- /dev/null +++ b/test.py @@ -0,0 +1,84 @@ +import torch +import torch.nn as nn +import numpy as np +import os +import models +import time +import argparse, os, sys, subprocess +import matplotlib.pyplot as plt +from PIL import Image +from utils import flow_utils + +""" +Test functionality by running flownet-2 on a pair of images provided in +./test_images Download the FN2 weight file and put it in ./model_weights +dir (or create) a new dir and pass it as argument. +""" +def load_sequence(img1, img2): + # Load images + leftimage = Image.open(img1) + rightimage = Image.open(img2) + + images = [leftimage, rightimage] + + frame_size = images[0].size[:2] + # resize images to the nearest multiple of 64 + render_size = list(frame_size) + render_size[0] = ((frame_size[0]) // 64) * 64 + render_size[1] = ((frame_size[1]) // 64) * 64 + for i in range(len(images)): + images[i] = images[i].resize((render_size[0], render_size[1])) + images[i] = np.asarray(images[i]).astype(np.float32) + + images_tensor = np.array(images).transpose(3, 0, 1, 2) + images_tensor = torch.from_numpy(images_tensor.astype(np.float32)) + # Add a dimension in the beginning for batch size + images_tensor = images_tensor.unsqueeze(0) + return images_tensor, images + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument("--rgb_max", type=float, default = 255.) + parser.add_argument('--weight_file', default='model_weights/FlowNet2_checkpoint.pth.tar', type=str, + metavar='PATH', help='path to latest checkpoint (default: none)') + parser.add_argument('--img1', default='test_images/frame_0003.png', type=str, + metavar='PATH', help='path to left stereo image') + parser.add_argument('--img2', default='test_images/frame_0006.png', type=str, + metavar='PATH', help='path to right stereo image') + parser.add_argument('--mode', + default='torch', + const='torch', + nargs='?', + choices=['cuda', 'cpp', 'torch'], + help='mode cuda, cpp, or torch (default: %(default)s)') + + # These arguments are used within the nvidia flownet models. + parser.add_argument('--fp16', action='store_true', help='Run model in pseudo-fp16 mode (fp16 storage fp32 math).') + parser.add_argument('--fp16_scale', type=float, default=1024., + help='Loss scaling, positive power of 2 values can improve fp16 convergence.') + + + args = parser.parse_args() + print ("Running in {} mode".format (args.mode)) + + net = models.FlowNet2(args) + checkpoint = torch.load(args.weight_file) + net.load_state_dict(checkpoint['state_dict']) + net.eval() + if args.mode == 'cuda': + net.cuda() + + images, image_list = load_sequence(args.img1, args.img2) + start_time = time.time() + if args.mode == 'cuda': + images = images.cuda() + output = net(images) + disps = output[0].data.cpu().numpy().transpose(1, 2, 0) + end_time = time.time() + print ("Inference took {:0.4f} seconds".format(end_time-start_time)) + # save the visualization of one disparity + flow = flow_utils.flow2img (disps) + plt.imshow(flow) + plt.show() + diff --git a/test_images/frame_0003.png b/test_images/frame_0003.png new file mode 100755 index 0000000000000000000000000000000000000000..8bc7c372731424f8f50e39349ce24260b3852900 GIT binary patch literal 601699 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