cd /news/machine-learning/3d-spatial-transformer-network-2016 · home topics machine-learning article
[ARTICLE · art-118452] src=github.com ↗ pub= topic=machine-learning verified=true sentiment=· neutral

3D Spatial Transformer Network (2016)

A 3D Spatial Transformer Network implementation for Torch, derived from the 2D version by @qassemoquab, is released with modules for affine 3D grid generation and trilinear sampling in BTHWC layout. The code includes an optional constrained transform matrix generator supporting scale and translation parameters, and the repository requests citation if used in research.

read1 min views2 publishedSep 2, 2026
3D Spatial Transformer Network (2016)
Image: Michielbdejong (auto-discovered)
luarocks make stn3d-scm-1.rockspec

These are the basic modules (BTHWC layout) needed to implement a 3D variant of Spatial Transformer Network (Jaderberg et al.) http://arxiv.org/abs/1506.02025

require 'stn3d'

nn.Affine3dGridGeneratorBTHWC(depth, height, width)
-- takes B x 3 x 4 affine transform matrices as input,
-- outputs a height x width grid in normalized [-1,1] coordinates
-- output layout is B,T,H,W,3 where the first coordinate in the 5th dimension is z, and the second is y, third in x

nn.TrilinearSamplerBTHWC()
-- takes a table {inputVolumes, grids} as inputs
-- outputs the interpolated volumes according to the grids
-- inputImages is a batch of samples in BTHWC layout
-- grids is a batch of grids (output of Affine3dGridGeneratorBTWC)
-- output is also BTHWC

This module allows the user to put a constraint on the possible transformations. It should be placed between the localisation network and the grid generator.

require 'stn3d'

nn.Affine3dTransformMatrixGenerator(useScale, useTranslation)
-- takes a B x nbParams tensor as inputs
-- nbParams depends on the contrained transformation
-- The parameters for the selected transformation(s) should be supplied in the
-- following order: scaleFactor, translationZ, translationY, translationX
-- If no transformation is specified, it generates a generic affine transformation (nbParams = 12)
-- outputs B x 3 x 4 affine transform matrices

If this code is useful to your research, please cite this repository.

This code is derived from the excellent 2D Spatial Transformer implementation by @qassemoquab.

── more in #machine-learning 4 stories · sorted by recency
julin.ai · · #machine-learning
RMSNorm
── more on @torch 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/3d-spatial-transform…] indexed:0 read:1min 2026-09-02 ·