Parallelized generation of substantially seamless image mosaics
First Claim
1. A method for generating a substantially seamless mosaic tile, comprising:
- receiving a mosaic tile comprising one or more images intersecting the mosaic tile;
composing the mosaic tile, comprising;
for pairs of intersecting images, executing pair-wise image segmentation upon a pair of intersecting images to generate a seam line between the pair of intersecting images based upon a node to pixel location assignment, the executing pair-wise image segmentation comprising;
generating a graph comprising;
assigning nodes within the graph to respective pixel locations of an intersection area of the pair of intersecting images; and
for respective adjacent node pairings within the graph, generating an edge comprising a cost between a first node and a second node of a node pairing; and
cutting the graph to generate seam lines comprising;
for respective nodes, assigning a node to either a first image node or a second image node based upon a maxflow/mincut algorithm; and
generating seam lines between respective pairs of intersecting images based upon node to pixel location assignments; and
composing the mosaic tile to generate a composed mosaic tile based upon seam lines of respective pairs of intersecting images; and
executing an alpha-expansion algorithm upon hole regions within the composed mosaic tile to generate a substantially seamless mosaic tile, comprising;
for unassigned nodes within a hole region of the composed mosaic tile, assigning an unassigned node to either a first image adjacent the unassigned node, where the first image is within the composed mosaic tile, or a second image adjacent the unassigned node, where the second image is within the composed mosaic tile, based upon one or more costs to mitigate hole regions, where, prior to the executing an alpha-expansion algorithm, the unassigned nodes are not assigned to any images,at least some of the method implemented at least in part via a processing unit.
1 Assignment
0 Petitions
Accused Products
Abstract
Many computing services incorporate large mosaics of geo-located images. For example, a user may access and interact with a digital image map comprising thousands of digital images mosaiced together. It may be advantageous to parallelize mosaic creation by splitting the mosaic into tiles, and processing the tiles independently from one another. Unfortunately, visual artifacts between image boundaries may result because of the independent processing. Accordingly, one or more systems and/or techniques for generating a substantially seamless mosaic tile are disclosed herein. A mosaic tile comprising one or more intersecting images may be received. Pair-wise image segmentation may be executed upon pairs of intersecting images within the mosaic tile to generate seam lines between the pair of intersecting images. The seam lines are used to compose the mosaic tile. A constrained alpha-expansion algorithm is executed upon hole regions within the composed mosaic to generate a substantially seamless mosaic.
-
Citations
20 Claims
-
1. A method for generating a substantially seamless mosaic tile, comprising:
-
receiving a mosaic tile comprising one or more images intersecting the mosaic tile; composing the mosaic tile, comprising; for pairs of intersecting images, executing pair-wise image segmentation upon a pair of intersecting images to generate a seam line between the pair of intersecting images based upon a node to pixel location assignment, the executing pair-wise image segmentation comprising; generating a graph comprising; assigning nodes within the graph to respective pixel locations of an intersection area of the pair of intersecting images; and for respective adjacent node pairings within the graph, generating an edge comprising a cost between a first node and a second node of a node pairing; and cutting the graph to generate seam lines comprising; for respective nodes, assigning a node to either a first image node or a second image node based upon a maxflow/mincut algorithm; and generating seam lines between respective pairs of intersecting images based upon node to pixel location assignments; and composing the mosaic tile to generate a composed mosaic tile based upon seam lines of respective pairs of intersecting images; and executing an alpha-expansion algorithm upon hole regions within the composed mosaic tile to generate a substantially seamless mosaic tile, comprising; for unassigned nodes within a hole region of the composed mosaic tile, assigning an unassigned node to either a first image adjacent the unassigned node, where the first image is within the composed mosaic tile, or a second image adjacent the unassigned node, where the second image is within the composed mosaic tile, based upon one or more costs to mitigate hole regions, where, prior to the executing an alpha-expansion algorithm, the unassigned nodes are not assigned to any images, at least some of the method implemented at least in part via a processing unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system, implemented at least in part via a processing unit, configured to generate a substantially seamless mosaic tile, comprising:
-
one or more processing units; and memory comprising instructions that when executed by at least one of the one or more processing units implement at least some of; a segmentation component configured to; receive a mosaic tile comprising one or more images intersecting the mosaic tile; for pairs of intersecting images, execute a pair-wise image segmentation upon a pair of intersecting images to generate a seam line between the pair of intersecting images based upon a node to pixel location assignment, the pair-wise segmentation configured to; generate a graph by;
assigning nodes within the graph to respective pixel locations of an intersection area of the pair of intersecting images; and
for respective adjacent node pairings within the graph, generating an edge comprising a cost between a first node and a second node of a node pairing; andcut the graph to generate seam lines by;
for respective nodes, assigning a node to either a first image node or a second image node based upon a maxflow/mincut algorithm; and
generating seam lines between respective pairs of intersecting images based upon node to pixel location assignments; andcompose the mosaic tile to generate a composed mosaic tile based upon seam lines of respective pairs of intersecting images; and a node assignment component configured to; execute an alpha-expansion algorithm upon hole regions within the composed mosaic tile to generate a substantially seamless mosaic tile, the alpha-expansion algorithm configured to, for unassigned nodes within a hole region of the composed mosaic tile, assign an unassigned node to either a first image adjacent the unassigned node, where the first image is within the composed mosaic tile, or a second image adjacent the unassigned node, where the second image is within the composed mosaic tile, based upon one or more costs to mitigate hole regions, where, prior to the executing an alpha-expansion algorithm, the unassigned nodes are not assigned to any images. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer readable device comprising instructions that when executed perform operations for generating a substantially seamless mosaic tile, comprising:
-
receiving a mosaic tile comprising one or more images intersecting the mosaic tile; composing the mosaic tile, comprising; for pairs of intersecting images, executing pair-wise image segmentation upon a pair of intersecting images to generate a seam line between the pair of intersecting images based upon a node to pixel location assignment, the executing pair-wise image segmentation comprising; generating a graph comprising; assigning nodes within the graph to respective pixel locations of an intersection area of the pair of intersecting images; and for respective adjacent node pairings within the graph, generating an edge comprising a cost between a first node and a second node of a node pairing; and cutting the graph to generate seam lines comprising; for respective nodes, assigning a node to either a first image node or a second image node based upon a maxflow/mincut algorithm; and generating seam lines between respective pairs of intersecting images based upon node to pixel location assignments; and composing the mosaic tile to generate a composed mosaic tile based upon seam lines of respective pairs of intersecting images; and executing an alpha-expansion algorithm upon hole regions within the composed mosaic tile to generate a substantially seamless mosaic tile, comprising; for unassigned nodes within a hole region of the composed mosaic tile, assigning an unassigned node to either a first image adjacent the unassigned node, where the first image is within the composed mosaic tile, or a second image adjacent the unassigned node, where the second image is within the composed mosaic tile, based upon one or more costs to mitigate hole regions, where, prior to the executing an alpha-expansion algorithm, the unassigned nodes are not assigned to any images. - View Dependent Claims (19, 20)
-
Specification