Skip to content
This repository has been archived by the owner on Jul 8, 2024. It is now read-only.

Latest commit

 

History

History
132 lines (108 loc) · 4.73 KB

FileFormat.md

File metadata and controls

132 lines (108 loc) · 4.73 KB

Input/Output files format

GMM

Input

D k n
α1
...
αk
μ1,1 ... μD,1
...
μ1,k ... μD,k
q1,1 ... qD,1 l1,1 ... l½D(D - 1),1
...
q1,k ... qD,k l1,k ... l½D(D - 1),k
x1,1 ... xD,1
...
x1,n ... xD,n
γ m

Definitions of all variables are given in the srajer-autodiff-screen.pdf, page 3. Note that if replicate point mode is enabled the benchmark expects only a line containing x1,1 ... xD,1 and duplicates that point n times.

Output

  1. ..._F_... file
    Contains only the value of the function in the specified point.
  2. ..._J_... file
    v1 ... vn where vi are components of the objective gradient.

BA

Input

n m p
p1 ... p11
x1 x2 x3
w1
feat1 feat2

n,m,p are number of cams, points and observations. Definitions of all other variables are given in the srajer-autodiff-screen.pdf, page 4.

Output

  1. ..._F_... file

    Reprojection error:
    reproj_err1
    ...
    reproj_err2p
    Zach weight error:
    w_err1
    ...
    w_errp

  2. ..._J_... file

    This file contains sparse Jacobian of nrows * ncols size in the CSR format where ncols=2p+p, nrows=11n+3*m+p. It suggests the use of three one-dimensional arrays (rows,cols,vals).

    • vals holds all the nonzero entries of the Jacobian in the left-to-right top-to-bottom order.
    • rows is of length nrows + 1. It is defined recursively as follows:
      rows[0] = 0
      rows[i] = rows[i-1] + the number of nonzero elements on the i-1 string of the Jacobian
    • cols[i] contains the column index in the Jacobian of each element of vals and that's why it has the same size

    The resulting file looks as follows:
    nrows ncols
    rows_size
    rows0 ... rowsrows_size-1
    cols_size
    cols0 ... colscols_size-1
    vals0 ... valsrows_size-1

Hand

Input

  1. model/bones.txt Contains a list of lines where each line contains such parameters separated by ":" delimiter:

    • bone_name
    • bone_parent
    • base_relative1 ... base_relative16
    • base_absolute1 ... base_absolute16
  2. model/vertices.txt Contains a list of lines where each line contains such parameters separated by ":" delimiter:

    • v1 ... v3
    • dummy1 ... dummy5
    • n
    • bone1:weightbone1,vert1: ... :bonen:weightbonen,vertn
  3. model/triangles.txt Contains a list of lines:

    • v1:v2:v3
  4. input.txt

    N n_theta
    correspondence1 point1,1 point1,2 point1,3
    ...
    correspondenceN pointN,1 pointN,2 pointN,3
    u1,1 u1,2
    ...
    un_pts,1 uN,2
    θ1
    ...
    θn_theta

Note that the benchmark expects "u" block only if complicated mode is enabled.

Definitions of all variables are given in the srajer-autodiff-screen.pdf, page 5.

Output

  1. ..._F_... file
    v1 ... vn where vi are components of the objective vector.

  2. ..._J_... file

    j1,1 ... j1,ncols
    ...
    jnrows,1 ... jnrows,ncols

    where ncols=(complicated ? 2 : 0) + n_theta, nrows=3*n_pts

LSTM

Input

l c b
main_param1 ... main_param2l·4b
extra_param1 ... extra_param3b
state1 ... state2l·b
seq1 ... seqc·b

Output

  1. ..._F_... file
    Contains only the value of the function in the specified point.
  2. ..._J_... file
    v1 ... vn where vi are components of the objective gradient.