# US 8,542,923 B2 · Live coherent image selection

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

- Number: US 8,542,923 B2
- Document ID: US8542923B2
- Status: Granted
- Kind: B2
- Application number: 13/493,620
- Filed: 2012-06-11
- Published: 2012-11-22
- Granted: 2013-09-24
- Earliest claimed: 2006-07-21
- Assignees: Adobe Systems Incorporated
- Applicants: Gregg D. Wilensky; Scott D. Cohen; Jen-Chan Chien
- Inventors: Gregg D. Wilensky; Scott D. Cohen; Jen-Chan Chien
- Web page: https://patentgrep.com/patent/US8542923B2

## CPC

- G06T 7/162: involving graph-based methods
- G06T 7/12: Edge-based segmentation
- G06T 7/194: involving foreground-background segmentation
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Methods, systems, and apparatus, including computer program products, feature receiving user input defining a sample of pixels from an image, the image being defined by a raster of pixels. While receiving the user input, the following actions are performed one or more times: pixels are coherently classified in the raster of pixels as being foreground or background based on the sample of pixels; and a rendering of the image is updated on a display to depict classified foreground pixels and background pixels as the sample is being defined.

## Claims

### Claim 1

A computer-implemented method comprising:
displaying an image comprising a plurality of pixels;
receiving a first portion of an unbroken stroke on the image, the first portion of the unbroken stroke defined by a user interaction and identifying a first sample of the pixels;
identifying a coherent foreground region of the image based on the first sample, wherein the coherent foreground region includes the first sample and first additional pixels;
providing output during the first portion of the unbroken stroke depicting that the first sample and the first additional pixels are identified as part of the coherent foreground region, wherein providing the output during the first portion of the unbroken stroke comprises providing a first lower-resolution preview of the displayed image depicting a classification of the first sample of pixels and the first additional pixels as part of the coherent foreground region;
receiving a second portion of the unbroken stroke after providing the output during the first portion of the unbroken stroke, the second portion of the unbroken stroke identifying a second sample of the pixels;
identifying a modified coherent foreground region based on the second sample, wherein the modified coherent foreground region includes the second sample and second additional pixels; and
providing output during the second portion of the unbroken stroke depicting that the
second sample and the second additional pixels are identified as part of the modified coherent foreground region, wherein providing the output during the second portion of the unbroken stroke comprises providing a second lower-resolution preview of the displayed image depicting a classification of the second sample of the pixels and the second additional
pixels as part of the modified coherent foreground region.

### Claim 2 (depends on 1)

The method of claim 1, wherein identifying the coherent foreground region includes coherently classifying pixels of a lower resolution version of the image to identify a coherent foreground region of the lower resolution version of the image.

### Claim 3 (depends on 2)

The method of claim 2, wherein identifying the coherent foreground region includes:
determining a border area based on the coherent foreground region of the lower resolution version of the image; and
coherently classifying the border area of the image at a full resolution.

### Claim 4 (depends on 1)

The method of claim 1, wherein identifying the coherent foreground region includes minimizing an objective cost function.

### Claim 5 (depends on 1)

The method of claim 1, wherein identifying the coherent foreground region includes:
segmenting the image into a plurality of segments, each segment in the plurality of segments containing a contiguous plurality of pixels; and
coherently classifying segments in the plurality of segments as being foreground or background based on the first sample.

### Claim 6 (depends on 1)

The method of claim 1, wherein providing the output to indicate the coherent foreground region includes one or more of:
highlighting either the coherent foreground region or a background region;
obfuscating either the coherent foreground region or a background region;
applying a filter to either the coherent foreground region or a background region;
rendering an image mask, the image mask depicting foreground or background pixels; or
rendering a border of areas of either the coherent foreground region or a background region.

### Claim 7 (depends on 1)

The method of claim 1,
wherein providing the output during the first portion of the unbroken stroke comprises updating the displayed image to indicate the coherent foreground region during the first portion of the unbroken stroke;
wherein providing the output during the second portion of the unbroken stroke comprises updating the displayed image during the second portion of the unbroken stroke to indicate the modified coherent foreground region.

### Claim 8 (depends on 1)

The method of claim 1,
wherein providing the output during the first portion of the unbroken stroke comprises:
obtaining a first solution minimizing a first objective cost function applied to the first sample of pixels; and
providing the output during the first portion of the unbroken stroke based on the first solution;
wherein providing the output during the second portion of the unbroken stroke comprises:
modifying the first solution based on the second sample of pixels;
obtaining a second solution minimizing a second objective cost function applied to the first solution as modified; and
providing the output during the second portion of the unbroken stroke based on the second solution.

### Claim 9 (depends on 1)

The method of claim 1,
wherein providing the output during the first portion of the unbroken stroke comprises:
obtaining a first graph cut by minimizing a first graph cut function applied to the first sample of pixels; and
providing the output during the first portion of the unbroken stroke based on the first graph cut;
wherein providing the output during the second portion of the unbroken stroke comprises:
modifying the first graph cut based on the second sample of pixels;
obtaining a second graph cut by minimizing a second graph cut function applied to the first graph cut as modified; and
providing the output during the second portion of the unbroken stroke based on the second graph cut.

### Claim 10

A computer program product, encoded on a non-transitory computer-readable medium, operable to cause data processing apparatus to perform operations comprising:
displaying an image comprising a plurality of pixels;
receiving a first portion of an unbroken stroke on the image, the first portion of the unbroken stroke defined by a user interaction and identifying a first sample of the pixels;
identifying a coherent foreground region of the image based on the first sample, wherein the coherent foreground region includes the first sample and first additional pixels;
providing output during the first portion of the unbroken stroke depicting that the first sample and the first additional pixels are identified as part of the coherent foreground region, wherein providing the output during the first portion of the unbroken stroke comprises providing a first lower-resolution preview of the displayed image depicting a classification of the first sample of pixels and the first additional pixels as part of the coherent foreground region;
receiving a second portion of the unbroken stroke after providing the output during the first portion of the unbroken stroke, the second portion of the unbroken stroke identifying a second sample of the pixels;
identifying a modified coherent foreground region based on the second sample, wherein the modified coherent foreground region includes the second sample and second additional pixels; and
providing output during the second portion of the unbroken stroke depicting that the
second sample and the second additional pixels are identified as part of the modified coherent foreground region, wherein providing the output during the second portion of the unbroken stroke comprises providing a second lower-resolution preview of the displayed image depicting a classification of the second sample of the pixels and the second additional
pixels as part of the modified coherent foreground region.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein identifying the coherent foreground region includes coherently classifying pixels of a lower resolution version of the image to identify a coherent foreground region of the lower resolution version of the image.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein identifying the coherent foreground region includes:
determining a border area based on the coherent foreground region of the lower resolution version of the image; and
coherently classifying the border area of the image at a full resolution.

### Claim 13 (depends on 10)

The computer program product of claim 10, wherein identifying the coherent foreground region includes minimizing an objective cost function.

### Claim 14 (depends on 10)

The computer program product of claim 10, wherein identifying the coherent foreground region includes:
segmenting the image into a plurality of segments, each segment in the plurality of segments containing a contiguous plurality of pixels; and
coherently classifying segments in the plurality of segments as being foreground or background based on the first sample.

### Claim 15 (depends on 10)

The computer program product of claim 10, wherein providing the output to indicate the coherent foreground region includes one or more of:
highlighting either the coherent foreground region or a background region;
obfuscating either the coherent foreground region or a background region;
applying a filter to either the coherent foreground region or a background region;
rendering an image mask, the image mask depicting foreground or background pixels; or
rendering a border of areas of either the coherent foreground region or a background region.

### Claim 16

A system comprising:
data processing apparatus operable to perform operations comprising:
displaying an image comprising a plurality of pixels;
receiving a first portion of an unbroken stroke on the image, the first portion of the unbroken stroke identifying a first sample of the pixels defined by a user interaction;
identifying a coherent foreground region of the image based on the first sample, wherein the coherent foreground region includes the first sample and first additional pixels;
providing output during the first portion of the unbroken stroke depicting that the first sample and the first additional pixels are identified as part of the coherent foreground region, wherein providing the output during the first portion of the unbroken stroke comprises providing a first lower-resolution preview of the displayed image depicting
a classification of the first sample of pixels and the first additional pixels as part of the coherent foreground region;
receiving a second portion of the unbroken stroke after providing the output during the first portion of the unbroken stroke, the second portion of the unbroken stroke identifying a second sample of the pixels;
identifying a modified coherent foreground region based on the second sample, wherein the modified coherent foreground region includes the second sample and second additional pixels; and
providing output during the second portion of the unbroken stroke depicting that the second sample and the second additional pixels are identified as part of the modified
coherent foreground region, wherein providing the output during the second portion of the unbroken stroke comprises providing a second lower-resolution preview of the displayed image depicting a classification of the second sample of the pixels and the second additional
pixels as part of the modified coherent foreground region.

### Claim 17 (depends on 16)

The system of claim 16, wherein identifying the coherent foreground region includes coherently classifying pixels of a lower resolution version of the image to identify a coherent foreground region of the lower resolution version of the image.

### Claim 18 (depends on 17)

The system of claim 17, wherein identifying the coherent foreground region includes:
determining a border area based on the coherent foreground region of the lower resolution version of the image; and
coherently classifying the border area of the image at a full resolution.

### Claim 19 (depends on 16)

The system of claim 16, wherein identifying the coherent foreground region includes minimizing an objective cost function.
