IP Library Patent Application 16411657
Patent Application
App. No. 16/411,657

USER GUIDED SEGMENTATION NETWORK

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
16/411,657
Abstract

Systems and methods for user guided iterative frame segmentation are disclosed herein. A disclosed method includes providing a ground truth segmentation, synthesizing a failed segmentation from the ground truth segmentation, synthesizing a correction input for the failed segmentation using the ground truth segmentation, and conducting a supervised training routine for the segmentation network. The routine uses the failed segmentation and correction input as a segmentation network input and the ground truth segmentation as a supervisory output.

Claims (76)

1 . A system comprising:

a display driver for displaying an image and an image segmentation on a display with the image segmentation overlaid on the image;

a user interface for accepting a correction input;

a segmentation network configured to: (i) accept the image segmentation and the correction input; and (ii) output a corrected segmentation from the image segmentation and the correction input; and

a trainer configured to: save the corrected segmentation, synthesize training data, and conduct a training routine for the segmentation network using the synthesized training data and the corrected segmentation.

2 . The system of claim 1 , wherein:

the training routine generates a loss function output based on at least the corrected image segmentation and the training data;

the segmentation network includes a convolutional neural network with a set of filter values; and

the trainer is configured to adjust the set of filter values in the convolutional neural network according to the loss function output.

3 . The system of claim 2 , wherein:

the trainer is configured to synthesize the training data using the image segmentation and the correction input; and

the trainer is configured to use the corrected segmentation as a supervisory output.

4 . The system of claim 1 , the trainer further comprises:

a perturbation engine configured to generate a synthesized failed segmentation using the corrected segmentation; and

a user input synthesis engine configured to generate a synthesized user correction using the synthesized failed segmentation; and

wherein the trainer is configured to use the corrected segmentation as a supervisory output and the synthesized failed segmentation and synthesized user correction as a corresponding input.

5 . The system of claim 4 , wherein the user input synthesis engine is configured to apply a distance transform to a synthesized user input to produce the correction input.

6 . A method comprising:

displaying an image and an image segmentation on a display with the image segmentation overlaid on the image;

accepting a correction input from a user interface;

applying the image segmentation and the correction input to a segmentation network;

generating a corrected segmentation using the segmentation network based on the application of the image segmentation and the correction input to the segmentation network;

saving the corrected segmentation;

synthesizing training data for the segmentation network using the corrected segmentation, the image segmentation; and the correction input; and

training the segmentation network using the training data.

7 . The method of claim 6 , further comprising:

displaying the image and the corrected segmentation on the display with the corrected segmentation overlaid on the image;

accepting a second correction input from the user interface;

applying the corrected segmentation and the correction input to the segmentation network; and

generating a second corrected segmentation using the segmentation network and based on the application of the corrected segmentation and the correction input to the segmentation network.

8 . The method of claim 6 , further comprising:

combining the image segmentation and the correction input into a single tensor;

wherein the applying of the image segmentation and the correction input to the segmentation network consists essentially of applying the single tensor as an input to the segmentation network; and

wherein the segmentation network includes a convolutional neural network.

9 . The method of claim 6 , wherein training the segmentation network further comprises:

generating a loss function output based on at least the corrected image segmentation and the training data, the segmentation network including a convolutional neural network with a set of filter values; and

adjusting the set of filter values in the convolutional neural network according to the loss function output.

10 . A computer-implemented method for training a segmentation network comprising:

providing a ground truth segmentation;

synthesizing a failed segmentation from the ground truth segmentation;

synthesizing a correction input for the failed segmentation using the ground truth segmentation; and

conducting a supervised training routine for the segmentation network using: (i) the failed segmentation and correction input as a segmentation network input; and (ii) the ground truth segmentation as a supervisory output.

11 . The computer-implemented method from claim 10 , wherein:

the synthesizing of the correction input for the failed segmentation also uses the failed segmentation.

12 . The computer-implemented method from claim 10 , wherein synthesizing the correction input comprises:

synthesizing a mark on a subject image of the ground truth segmentation; and

applying a distance transform to the mark.

13 . The computer-implemented method from claim 12 , wherein:

the mark is a line; and

the distance transform is applied on either side of the line; and

the correction input is a field of activations surrounding the line.

14 . The computer-implemented method from claim 12 , wherein:

the mark is a point; and

the point is located on the subject image within a delta between the ground truth segmentation and the failed segmentation; and

the correction input is a field of activations surrounding the point.

15 . The computer-implemented method from claim 12 , wherein:

the mark is a line and direction indicator;

the distance transform is applied on a side of the line, wherein the side is indicated by the direction indicator; and

the correction input is a field of activations on the side of the line.

16 . The computer-implemented method from claim 10 , wherein:

the ground truth segmentation is a first mask of an image;

the failed segmentation is a second mask of the image; and

synthesizing the failed segmentation consists essentially of stochastically altering the values of the first mask in a border region of the ground truth segmentation to create the second mask; and

the segmentation network includes a convolutional neural network.

17 . The computer-implemented method from claim 16 , wherein:

the first and second masks are both alpha masks of the image; and

stochastically altering the values includes distorting the values by a stochastic factor that is inversely proportional to a distance to a boundary of the ground truth segmentation.

18 . The computer-implemented method from claim 16 , wherein:

the first and second masks are both hard masks of the image; and

stochastically altering the values includes inverting the values with a probability function that is inversely proportional to a distance to a boundary of the ground truth segmentation.

19 . The computer-implemented method from claim 11 , wherein synthesizing the failed segmentation comprises:

perturbing a boundary of the ground truth segmentation using a random number generator.

20 . The computer-implemented method from claim 11 , wherein synthesizing the failed segmentation comprises:

breaking an image into a set of sub-units, the sub-units being equal to an input size of the segmentation network;

finding a boundary sub-unit in the set of sub-units, wherein the boundary sub-unit includes foreground pixels and background pixels; and

changing all segmentation values in the boundary sub-unit to one of foreground pixels and background pixels.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2019
From: ARRAIY, INC.
To: MATTERPORT, INC.
Reel/Frame 051396/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2019
From: BRADSKI, GARY
To: ARRAIY, INC.
Reel/Frame 049178/0774 →