GithubHelp home page GithubHelp logo

ps-dataset's People

Contributors

nehald99 avatar rmitra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ps-dataset's Issues

About intrinsics

May I ask where the camera intrinsics are stored? I couldn’t find them. Thanks so much.

Script for downloading

Hi,

Thank you for putting link to the dataset! May I ask also for some downloading script to get full dataset?

Rendering Correspondences

Hello Rahul,
Thank you for contributing this dataset.

Question for you -- I am looking at scene 31, where I see the following lines

397, 67, 425.00,604.00,1.440,1.968
397, 166, 422.00,614.00,1.436,1.981
397, 135, 430.00,622.00,1.482,2.095
397, 152, 451.00,689.00,1.396,1.998

in patchinfo.txt.
When I render these images, and plot the corresponding points, they do not seem to be associated with the same 3d point. I am ignoring occlusion of course, which would mean they could still be the same 3d point, but visually we can't easily know this. Am I reading in the data incorrectly? If so, how can I take into account the occlusion when associating pixels?

Screen Shot 2019-07-22 at 2 10 33 PM

Screen Shot 2019-07-22 at 2 10 37 PM

Screen Shot 2019-07-22 at 2 10 45 PM

Screen Shot 2019-07-22 at 2 10 50 PM

Another example in Scene 31 is

336, 67,306,480,1.563,2.026,
336,135,302,494,1.574,2.227,
336, 40,317,516,1.574,2.200,
336,152,315,550,1.573,2.783,
336, 46,305,599,1.550,1.999,
336,117,314,566,1.547,2.919,
336,207,315,639,1.578,2.713,

It doesn't seem possible that these 2d points could be associated the same 3d point:
Screen Shot 2019-07-22 at 2 16 03 PM
Screen Shot 2019-07-22 at 2 15 52 PM

Thanks very much,
John

Incorrect indices?

Hey, thanks for publishing your dataset.

In the pair_patch files, the pairs are written in this format: "3.2998e+05,3.2998e+05".
If I'm not wrong, this causes two problems:

  • Some of the indices are out-of-range, as in scene 20 for example (last pair).
  • The jumps are 10 patches, so we lose all the intermediate data (e.g 329981, 329982 ... ).

What do I miss?

Thanks!

Clarifying the training procedure

Hello, I am interested in using your data set and am reading through the Training Procedure section (section 4.1) of your paper. I hope that you can clarify some details for me.

Selecting nearest non-matching pairs

In it you describe a modified process for selecting valid candidates for the nearest non-matching pair. It sounds like, to do this, I would need to:

  • Find two 3D points from point_info.txt that have at least one image in common
  • Compute the image-footprint of a patch for each of those 3D points, based on the patch's reported scaling and rotation
  • See if the image footprints of the two patches from the respective 3D points overlap sufficiently (50% of the unnormalized patch size)
  • If they do, record them as a "valid mismatch"

Does this seem like I have a correct description of the process? Similar to pair_patch.txt do you have a valid_mismatch.txt where you have already curated these patches?

To clarify your instructions further, when you say:

and their projections in that common image differ by 50%

Do you mean by at least 50% or at most 50%?

Could you indicated a valid pair of non-matching patches from, say, sequence 4 for me? This might help me have more confidence that I understand this properly.

Forming batches

Regarding the way that you compose batches for training:

  • How do you ensure that there are a sufficient number of valid patches for nearest non-matching pairs in a given batch?
  • Do you only draw from a single sequence to create a given batch?
  • Do you have a sense for how important it is to use the valid-mismatch procedure in your training, as compared to the standard procedure in HardNet?

Thank you!

Thanks for publishing this paper! You guys did a great job describing your dataset creation algorithm and your PS-HardNet results are truly impressive 😄

Scenes 41, 49, and 71 contain patches with 180-deg rotations

Hi @rmitra I hope all is well.

I discovered that my model was doing anomalously-poorly on scenes 41, 49, and 71 from your data set.

After some probing, I discovered that these scenes contain a substantial number patch-pairs with relative rotations up to 180-deg - much larger than is documented, if I am not mistaken.

The following patches have not been augmented in any way.

Example from scene 41:
patch_00009

Example from scene 49:
patch_00002

Example from scene 71:
patch_00021

What's the meaning of file 'pair_patch.txt'?

Hi, I've download the dataset and transform all the bin into the regular jpg file so that we can visualize the data. Here I have a question.

In the folder index 11, the 0th to the 3rd patch look like they belong to the same pair (as we can also confirm this by seeing the patch_info.txt file, which the first to fourth line's first index are all 1). But in the pair_patch.txt file, I only see (0,2), (0,3) which means the 0th patch is paried with the 2nd and 3rg patch, but patch 1 should also be paired.

Is there anything wrong in the pair_patch.txt?

Thanks.

how to parse the bin file to get image?

Hi, thanks for the dataset!

I am trying to parse the bin file and display the images inside, but I notice that there the forntal 321 or 323 bytes seems not image data, am I right? and what do those bytes mean?

do those image patches for folder 11 look correct ?
0
1
2

4

Below are my script to parse bin file


from PIL import Image
import numpy as np
import os
import pdb

folder = "11"
infoFileName = "patch_info.txt"
binFileName = "patchImg.bin"
infoFilePath = os.path.join(folder, infoFileName)
filePath = os.path.join(folder, binFileName)

numOfImgs = 0
with open(infoFilePath, "r") as datasetInfo:
    for line in datasetInfo:
        numOfImgs += 1
    print("folder", folder, "has", numOfImgs, "images")

width = 48
height = 48
with open(filePath, "rb") as dataset:
    fileSizeInByte = os.stat(filePath).st_size
    biasInByte = fileSizeInByte - numOfImgs*height*width
    dataset.read(biasInByte)
    print("binFile", binFileName, "has", biasInByte, "unknown bytes in header")

    image = np.zeros((height,width,3), dtype=np.uint8)
    try:
        # for i in range(biasInByte):
        #     print(ord(dataset.read(1)))

        for idx in range(5):
            for h in range(height):
                for w in range(width):
                    image[h,w,0] = ord(dataset.read(1))
                    image[h,w,1] = image[h,w,0]
                    image[h,w,2] = image[h,w,0]

            img = Image.fromarray(image, 'RGB')
            img.save(str(idx) + ".jpg")
    except:
        pass

HardNet training

Hey,

Can you please upload your pytorch code for processing the dataset and use it to train the network with HardNet loss?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.