DPP for diverse pixel sampling
Thanks for your great work on DPPy. I am new to DPPs and this framework and was wondering what would be the correct way of using it for a simple problem setup: Given is a 32 x 32 pixel image. I now want to sample pixels from this image such that they are as diverse as possible (I presume here diversity could be measured in terms of discrepancy when projected back onto the unit square). What would be the correct DPP to use here? I presume I have to use a k-DPP, since I only want subsets of cardinality 2 (i.e., pixel locations)? I am currently using the following approach:
r, N = 2, 32
Phi = np.random.randn(r, N)
DPP = FiniteDPP('likelihood', **{'L': Phi.T.dot(Phi)})
for i in range(nsamples):
DPP.sample_exact_k_dpp(size=2)
Unfortunately, this does not cover all pixels even when sampling more than 5000 samples (in contrast to uniform sampling of the pixels). In particular, it seems like it does not sample pixels of form (k,k) for any k=0,...,31 (i.e., on the diagonal of the image). I presume I'm doing something wrong here? Thanks for your help already in advance.