matcher.cpu_decompose — CPU Based Recursive Image Decomposition

The matcher.cpu_decompose module provides methods for recursive image decomposition to facilitate matching large images.

New in version 0.1.0.

autocnet.matcher.cpu_decompose.decompose_and_match(self, k=2, maxiteration=3, size=18, buf_dist=3, **kwargs)[source]

Similar to match, this method first decomposed the image into $4^{maxiteration}$ subimages and applys matching between each sub-image.

This method is potential slower than the standard match due to the overhead in matching, but can be significantly more accurate. The increase in accuracy is a function of the total image size. Suggested values for maxiteration are provided below.

Parameters
  • k (int) – The number of neighbors to find

  • method ({'coupled', 'whole'}) – whether to utilize coupled decomposition or match the whole image

  • maxiteration (int) –

    When using coupled decomposition, the number of recursive divisions to apply. The total number of resultant sub-images will be 4 ** maxiteration. Approximate values:

    Number of megapixels | maxiteration |

    |----------------------|————–| | m < 10 |1-2| | 10 < m < 30 | 3 | | 30 < m < 100 | 4 | | 100 < m < 1000 | 5 | | m > 1000 | 6 |

  • size (int) – When using coupled decomposition, the total number of points to check in each sub-image to try and find a match. Selection of this number is a balance between seeking a representative mid-point and computational cost.

  • buf_dist (int) – When using coupled decomposition, the distance from the edge of the (sub)image a point must be in order to be used as a partioning point. The smaller the distance, the more likely percision errors can results in erroneous partitions.