# US 10,121,074 B2 · System and methods for semi-automated editing of ortho-mosaics built from remotely-sensed imagery

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,121,074 B2
- Document ID: US10121074B2
- Status: Granted
- Kind: B2
- Application number: 15/465,581
- Filed: 2017-03-21
- Published: 2017-10-19
- Granted: 2018-11-06
- Earliest claimed: 2006-05-02
- Assignees: DigitalGlobe, Inc.
- Applicants: DigitalGlobe, Inc.
- Inventors: Matthew Tang; John Thiel; David Neckels
- Web page: https://patentgrep.com/patent/US10121074B2

## CPC

- G01C 21/3676: {Overview of the route on the road map}
- G01C 11/02: Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
- G01C 21/3602: {Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera}
- G01C 21/3614: {through interaction with a road map, e.g. selecting a POI icon on a road map}
- G06T 3/4038: Image mosaicing, e.g. composing plane images from plane sub-images
- G06T 17/05: Geographic models
- G06V 20/182: {Network patterns, e.g. roads or rivers}
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A system for automated mosaic-based vector editing comprising a mosaic imaging server that assembles image tiles to form larger image mosaics while correcting the image tiles for tonality and other visual characteristics, a vector analysis server that analyzes vector information, a routing calculation server that calculates routes from the vector information, and a rendering engine that produces visualizations from the routing information, and a method for image mosaic creation and correction.

## Claims

### Claim 1

A system for advanced vector editing, comprising:
a vector analysis server comprising at least a processor, a memory, and a plurality of programming instructions stored in the memory and operating on the processor, wherein the programming instructions, when operating on the processor, cause the processor to:
analyze a plurality of vector points retrieved from a storage; and
provide the results of analysis as output;
a vector storage database comprising at least a processor, a memory, and a plurality of programming instructions stored in the memory and operating on the processor, wherein the programming instructions, when operating on the processor, cause the processor to store and provide vector and raster data;
a vector routing calculation server comprising at least a processor, a memory, and a plurality of programming instructions stored in the memory and operating on the processor, wherein the programming instructions, when operating on the processor, cause the processor to:
receive vector analysis information from the vector analysis server;
calculate vector route information based at least in part on the received vector analysis information;
provide the vector route information as output; and
provide the vector route information to the vector database for storage; and
a rendering engine comprising at least a processor, a memory, and a plurality of programming instructions stored in the memory and operating on the processor, wherein the programming instructions, when operating on the processor, cause the processor to form visualizations based at least in part on the vector routing information received;
wherein the calculation of vector route information comprises:
calculating a three-dimensional vector path according to epipolar geometry;
determining a new three-dimensional location based at least in part on the raster data and the three-dimensional vector path calculation; and
updating a stored vector projection via the epipolar geometry.

### Claim 2 (depends on 1)

The system of claim 1, further comprising a viewer, wherein the rendering engine provides the visualizations to the viewer.

### Claim 3 (depends on 2)

The system of claim 2, wherein the viewer is a visual display screen, wherein the screen displays the visualizations for viewing by a human user.

### Claim 4 (depends on 1)

The system of claim 1, further comprising a plurality of user input devices, wherein the user input devices allow a human user to interact with the visualizations.

### Claim 5

A method for advanced vector editing, comprising the steps of:
positioning, using a rendering engine comprising at least a memory, a processor, and a plurality of programming instructions stored in the memory and operating on the processor thereof, a cursor on a raster image displayed on a viewer;
calculating, using a vector routing calculation server comprising at least a memory, a processor, and a plurality of programming instructions stored in the memory and operating on the processor thereof, a radius around the cursor;
positioning the radius in contact with a vector path on the raster image;
recalculating the vector path through the cursor location within the radius; and
storing the recalculated vector path in a vector storage database;
wherein the recalculation of the vector path comprises:
calculating a three-dimensional vector path according to epipolar geometry;
determining a new three-dimensional location based at least in part on the raster data and the three-dimensional vector path calculation; and
updating the vector path via the epipolar geometry.

### Claim 6 (depends on 5)

The method of claim 5, further comprising the step of resizing the radius prior to recalculating the vector path.

### Claim 7 (depends on 5)

The method of claim 5, further comprising the step of selecting additional points prior to recalculating the vector path.

### Claim 8 (depends on 7)

The method of claim 7, wherein the additional points are selected by a human user using a computer input device.

### Claim 9 (depends on 7)

The method of claim 7, further comprising the step of recalculating the vector path through each of the selected points.

### Claim 10 (depends on 5)

The method of claim 5, further comprising the steps of:
determining a three-dimensional location from the raster image;
determining a three-dimensional vector path;
recalculating the vector path according to a three-dimensional space; and
updating, using a rendering engine, the vector projection on the raster image.
