matrixkerasneural-networkcomputer-visionartificial-intelligence# how to use a neural network to learn a matrix transformation?

Given an input image, predict an output image that has been altered by some matrix transformation.

The important part is given an input image the network has not seen before, be able to perform the same matrix transformation on that input image as if we performed the matrix transformation on that image.

I have tried experimenting with an autoencoder however I find it overfits quite significantly. The network essentially ends up learning mappings between pixels in the input and output rather than the transformation that turns the input to the output.

What's the best approach for this task identifying the matrix transformation?

Solution

This sounds like a task that is both eminently doable (you want to learn a linear warp from examples), and one for which a neural network is eminently redundant. Neural networks (particularly the deep variety) are useful for modeling transformations whose functional form is a-priori unknown, highly non-linear, very complex and changing significantly from one part of the input space to another. None of these conditions seem to apply to the problem you state.

The hard part of predicting a linear warp is not the warp itself - it's finding which output image points correspond to which input ones. When that is achieved, estimating the warp itself is a trivial application of linear least-squares.

The point correspondence problem can be as complex as you can make it - imagine matching an aerial photo of London today to one taken at ground level in 1940 during the Blitz - and it is very hard to express in functional or rule-based form.

- Convert dataframe to matrix and create chord diagram
- Solving a simple matrix differential equation
- What am I doing wrong when loading a skeleton and animation?
- Transpose/Unzip Function (inverse of zip)?
- How can I print a matrix using numpy without ellipsis in the middle?
- Rust Macro count repetitions of nested match
- Selecting a column vector from a matrix in Python
- How to Save a Matrix as a PNG Image and Reload it to Recover the Original Matrix
- Why do I divide Z by W in a perspective projection in OpenGL?
- Clustering with a distance matrix
- Efficiently Calculating a Euclidean Distance Matrix Using Numpy
- Confusion between C++ and OpenGL matrix order (row-major vs column-major)
- Generating all sequences and probabilities for a random process in R
- C code reading only part of a matrix correctly
- Assertion Failure in Eigen Matrix Broadcasting: Dimension Mismatch in Neural Network Forward Pass
- How to efficiently multiply all non-diagonal elements by a constant in a pandas DataFrame?
- Proving correctness of Matrix Addition
- How to send sparse vectors and matrices over ZeroMQ?
- Numpy array does not correctly update in Gaussian elimination program
- Spread not works for Array(16) _wgpuMatrix.mat4.invert return NUll filled array
- Concatenate a few row vectors into a matrix
- How to put ones in random places in matrix (or 2D array) of zeroes in C++
- Find column indices of a matrix entries that are repeated values
- How to easily perform this random matrix multiplication with numpy?
- Incorrect calculation in the list processing logic based on dependencies between the elements of these lists
- How Does CublasComputeType_t affect the input and output data types of the tensor core?
- How can I make the mean of 3d matrices in a cell in Matlab?
- How to make square into triangle by matrix3d?
- React Matrix with InputFields
- Finding the null space of a matrix