dcharatan / pixelsplat

[CVPR 2024 Oral, Best Paper Runner-Up] Code for "pixelSplat: 3D Gaussian Splats from Image Pairs for Scalable Generalizable 3D Reconstruction" by David Charatan, Sizhe Lester Li, Andrea Tagliasacchi, and Vincent Sitzmann
http://davidcharatan.com/pixelsplat/
MIT License
830 stars 56 forks source link

the acid data image size - more info required #83

Closed sumanttyagi closed 2 months ago

sumanttyagi commented 2 months ago

the sample dataset shared is in form of tensor can you add details what was the image size ? the image tensor shape is not of regular size is there any documentation which you can share ?


{'url': 'https://www.youtube.com/watch?v=KGOGz5oUjBM',
 'timestamps': tensor([415748667, 415782033, 415815400, 415848767, 415882133, 415915500,
         415948867, 415982233, 416015600, 416048967, 416082333, 416115700,
         416149067, 416182433, 416215800, 416249167, 416282533, 416315900,
         416349267, 416382633, 416416000, 416449367, 416482733, 416516100,
         416549467, 416582833, 416616200, 416649567, 416682933, 416716300,
         416749667, 416783033, 416816400, 416849767, 416883133, 416916500,
         416949867, 416983233, 417016600, 417049967, 417083333, 417116700,
         417150067, 417183433, 417216800, 417250167, 417283533, 417316900,
         417350267, 417383633, 417417000, 417450367, 417483733, 417517100,
         417550467, 417583833, 417617200, 417650567]),
 'cameras': tensor([[  0.5221,   0.9282,   0.5000,  ...,   0.0694,   0.7669,  -9.7881],
         [  0.5221,   0.9282,   0.5000,  ...,   0.0723,   0.7659,  -9.8114],
         [  0.5221,   0.9282,   0.5000,  ...,   0.0714,   0.7652,  -9.8429],
         ...,
         [  0.5221,   0.9282,   0.5000,  ...,   0.0772,   0.7794, -11.7697],
         [  0.5221,   0.9282,   0.5000,  ...,   0.0724,   0.7815, -11.8222],
         [  0.5221,   0.9282,   0.5000,  ...,   0.0699,   0.7819, -11.8600]]),
 'images': [tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   0, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   7, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  63, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   3, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   0, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  63, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   7, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   0, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   1, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   1, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  63, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   1, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   3, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   0, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  31, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   7, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   3, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   7, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   1, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   3, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   7, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  63, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   3, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  65, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 161, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  67, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  15, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  65, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  67, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 208, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 208, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   1, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  63, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   1, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   1, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  63, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ..., 127, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,   1, 255, 217], dtype=torch.uint8),
  tensor([255, 216, 255,  ...,  63, 255, 217], dtype=torch.uint8)],
 'key': '0618197a0b64b5b9'}
dcharatan commented 2 months ago

There's no official documentation, but you can deduce how the dataset can be used from the data loader here. The images have differing sizes because they're stored as encoded jpegs.