All Projects → StacyYang → Hzproc

StacyYang / Hzproc

torch data augmentation toolbox (supports affine transform)

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Hzproc

Gocv
Go package for computer vision using OpenCV 4 and beyond.
Stars: ✭ 4,511 (+7955.36%)
Mutual labels:  torch, cuda
Carlsim3
CARLsim is an efficient, easy-to-use, GPU-accelerated software framework for simulating large-scale spiking neural network (SNN) models with a high degree of biological detail.
Stars: ✭ 52 (-7.14%)
Mutual labels:  cuda
Paperspace Python
Paperspace API for python
Stars: ✭ 38 (-32.14%)
Mutual labels:  torch
Lyra
Stars: ✭ 43 (-23.21%)
Mutual labels:  cuda
Octree Slam
Large octree map construction and rendering with CUDA and OpenGL
Stars: ✭ 40 (-28.57%)
Mutual labels:  cuda
Singularity Tutorial
Tutorial for using Singularity containers
Stars: ✭ 46 (-17.86%)
Mutual labels:  cuda
Soul Engine
Physically based renderer and simulation engine for real-time applications.
Stars: ✭ 37 (-33.93%)
Mutual labels:  cuda
3d Ken Burns
an implementation of 3D Ken Burns Effect from a Single Image using PyTorch
Stars: ✭ 1,073 (+1816.07%)
Mutual labels:  cuda
Hungariangpu
An GPU/CUDA implementation of the Hungarian algorithm
Stars: ✭ 51 (-8.93%)
Mutual labels:  cuda
Docs Pytorch
Deep Object Co-Segmentation
Stars: ✭ 43 (-23.21%)
Mutual labels:  cuda
Cuda Convnet2.torch
Torch7 bindings for cuda-convnet2 kernels!
Stars: ✭ 42 (-25%)
Mutual labels:  cuda
Sixtyfour
How fast can we brute force a 64-bit comparison?
Stars: ✭ 41 (-26.79%)
Mutual labels:  cuda
Hornet
Hornet data structure for sparse dynamic graphs and matrices
Stars: ✭ 49 (-12.5%)
Mutual labels:  cuda
Nbody
N body gravity attraction problem solver
Stars: ✭ 40 (-28.57%)
Mutual labels:  cuda
Pamtri
PAMTRI: Pose-Aware Multi-Task Learning for Vehicle Re-Identification (ICCV 2019) - Official PyTorch Implementation
Stars: ✭ 53 (-5.36%)
Mutual labels:  cuda
Style Feature Reshuffle
caffe implementation of "Arbitrary Style Transfer with Deep Feature Reshuffle"
Stars: ✭ 38 (-32.14%)
Mutual labels:  cuda
Pytorch Cpp
C++ Implementation of PyTorch Tutorials for Everyone
Stars: ✭ 1,014 (+1710.71%)
Mutual labels:  torch
Slic cuda
Superpixel SLIC for GPU (CUDA)
Stars: ✭ 45 (-19.64%)
Mutual labels:  cuda
Dink
点云深度学习框架 | Point cloud Deep learning Framework
Stars: ✭ 56 (+0%)
Mutual labels:  cuda
Deformable conv2d pytorch
deformable_conv2d layer implemented in pytorch
Stars: ✭ 53 (-5.36%)
Mutual labels:  cuda

HzProc

Created by Hang Zhang

HzProc is a fast data augmentation toolbox supporting affine transformation with GPU backend. (PyTorch version is also provide.) The name of "HzProc" means high speed image processing, where "Hz" (hertz) is the unit of frequency and "Proc" is abbreviation of processing. HZ is also the initial of the author.

It contains the functions within the following subcategories:

Quick Start Example

Install

This package relies on torch7 and cutorch. Please note the package also relies on a NVIDIA GPU compitable with CUDA 6.5 or higher version.

On Linux

luarocks install https://raw.githubusercontent.com/zhanghang1989/hzproc/master/hzproc-scm-1.rockspec

On OSX

CC=clang CXX=clang++ luarocks install https://raw.githubusercontent.com/zhanghang1989/hzproc/master/hzproc-scm-1.rockspec

Quick Demo

Demo The demo script relies on qtlua and image package to load and display the images. The test script is also a good usage example. The documentations can be found in the link.

git clone https://github.com/zhanghang1989/hzproc
cd hzproc
qlua test/demo.lua

Fast Examples

  • online example:
function RandomCrop(size, pad)
  return function(input)
		-- avoid unnecessary opterations
    local w, h = input:size(3), input:size(2)
    if w == size and h == size then
      return input
    end
    local x1, y1 = torch.random(0, w + 2*pad - size), 
									torch.random(0, h + 2*pad - size)
    local out = hzproc.Crop.Pad(input, x1, y1, size, size, pad)
    assert(out:size(2) == size and out:size(3) == size, 'wrong crop size')
    return out
  end
end
  • offline example:
function Resize(inw, inh, ow, oh)
	-- generating the lookup map only once during init
	local map = hzproc.Table.Resize(inw, inh, ow, oh)
  return function(input)
		-- avoid unnecessary opterations
	  local w, h = input:size(3), input:size(2)
    if (w == ow and h == oh) then
      return input
    end	
		-- mapping
		return hzproc.Remap.Bilinear(input, map)
  end
end

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].