IP Library Granted Patent US 12,007,564
Granted Patent B2
US 12,007,564 · App. 18/315,766 · Granted Jun 11, 2024

Methods and apparatuses for corner detection using neural network and corner detector

Inventors: Anush Mohan (San Jose, CA); Guy Rosenthal (Tel Aviv, IL); Adi Perry (Tel Aviv, IL); Gilboa Sheveki (Shoham, IL)
Assignee: Magic Leap, Inc.
G02B27/017G06F18/214G06N3/08G06T3/18G06T7/13G06V10/25G06V10/44G06V10/454G06V10/764G06V10/7753G06V10/82G06V20/20G02B2027/0138G02B2027/014
View Patent ↗
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 12,007,564
App. No.
18/315,766
Filed
May 11, 2023
Granted
Jun 11, 2024
Kind
B2
Examiner
BAYAT, ALI
Art Unit
2664
USPC
382/199
Abstract

An apparatus configured to be head-worn by a user, includes: a screen configured to present graphics for the user; a camera system configured to view an environment in which the user is located; and a processing unit coupled to the camera system, the processing unit configured to: obtain locations of features for an image of the environment, wherein the locations of the features are identified by a neural network; determine a region of interest for one of the features in the image, the region of interest having a size that is less than a size of the image; and perform a corner detection using a corner detection algorithm to identify a corner in the region of interest.

Claims (104)

1. A method of training and using a neural network for image interest point detection, comprises:

generating a reference dataset comprising a plurality of reference sets, wherein each of the plurality of reference sets comprises:

an image, and

a set of reference interest points corresponding to the image; and

for each reference set of the plurality of reference sets:

generating a warped image by applying a homograph to the image,

generating a warped set of reference interest points by applying the homograph to the set of reference interest points,

calculating, by the neural network receiving the image as input, a set of calculated interest points and a calculated descriptor,

calculating, by the neural network receiving the warped image as input, a set of calculated warped interest points and a calculated warped descriptor,

calculating a loss based on the set of calculated interest points, the calculated descriptor, the set of calculated warped interest points, the calculated warped descriptor, the set of reference interest points, the warped set of reference interest points, and the homograph, and

modifying the neural network based on the loss; wherein the method further comprises: obtaining locations of features in an input image, wherein the locations of the features are identified by the neural network; determining a region of interest for one of the features in the input image, the region of interest having a size that is less than a size of the input image; and performing a corner detection using a corner detection algorithm to identify a corner in the region of interest.

2. The method of claim 1 , wherein the neural network comprises an interest point detector subnetwork and a descriptor subnetwork,

wherein the interest point detector subnetwork is configured to receive the image as input and calculate the set of calculated interest points based on the image, and

wherein the descriptor subnetwork is configured to receive the image as input and calculate the calculated descriptor based on the image.

3. The method of claim 1 , wherein modifying the neural network based on the loss comprises modifying one or both of the interest point detector subnetwork and the descriptor subnetwork based on the loss.

4. The method of claim 1 , further comprising prior to generating the reference dataset, training the interest point detector subnetwork using a synthetic dataset comprising a plurality of synthetic images and a plurality of sets of synthetic interest points,

wherein generating the reference dataset comprises generating the reference dataset using the interest point detector subnetwork.

5. The method of claim 1 , wherein generating the reference dataset comprises:

for each reference set of the plurality of reference sets:

obtaining the image from an unlabeled dataset comprising a plurality of unlabeled images,

generating a plurality of warped images by applying a plurality of homographs to the image,

calculating, by the neural network receiving the plurality of warped images as input, a plurality of sets of calculated warped interest points,

generating a plurality of sets of calculated interest points by applying a plurality of inverse homographs to the plurality of sets of calculated warped interest points, and

aggregating the plurality of sets of calculated interest points to obtain the set of reference interest points.

6. The method of claim 1 , wherein each of the plurality of reference sets further includes a reference descriptor corresponding to the image, and wherein generating the reference dataset includes:

for each reference set of the plurality of reference sets:

obtaining the image from an unlabeled dataset comprising a plurality of unlabeled images,

generating a plurality of warped images by applying a plurality of homographs to the image,

calculating, by the neural network receiving the plurality of warped images as input, a plurality of calculated warped descriptors,

generating a plurality of calculated descriptors by applying a plurality of inverse homographs to the plurality of calculated warped descriptors, and

aggregating the plurality of calculated descriptors to obtain the reference descriptor.

7. The method of claim 1 , wherein the set of reference interest points is a two-dimensional map having values corresponding to a probability that a particular pixel of the image has an interest point is located at the particular pixel.

8. A method comprising:

capturing a first image;

capturing a second image;

calculating, by a neural network receiving the first image as input, a first set of calculated interest points and a first calculated descriptor;

calculating, by the neural network receiving the second image as input, a second set of calculated interest points and a second calculated descriptor; and

determining a homograph between the first image and the second image based on the first and second sets of calculated interest points and the first and second calculated descriptors,

wherein the neural network includes: an interest point detector subnetwork configured to calculate the first set of calculated interest points and the second set of calculated interest points, and a descriptor subnetwork configured to calculate the first calculated descriptor and the second calculated descriptor, and

wherein the method further comprises:

obtaining locations of features in an input image, wherein the locations of the features are identified by the neural network;

determining a region of interest for one of the features in the input image, the region of interest having a size that is less than a size of the input image; and

performing a corner detection using a corner detection algorithm to identify a corner in the region of interest.

9. The method of claim 8 , wherein:

the interest point detector subnetwork is configured to calculate the first set of calculated interest points concurrently with the descriptor subnetwork calculating the first calculated descriptor; and

the interest point detector subnetwork is configured to calculate the second set of calculated interest points concurrently with the descriptor subnetwork calculating the second calculated descriptor.

10. The method of claim 8 , further comprising training the neural network by generating a reference dataset comprising a plurality of reference sets, wherein each of the plurality of reference sets includes an image and a set of reference interest points corresponding to the image; and

for each reference set of the plurality of reference sets:

generating a warped image by applying a homograph to the image,

generating a warped set of reference interest points by applying the homograph to the set of reference interest points,

calculating, by the neural network receiving the image as input, a set of calculated interest points and a calculated descriptor,

calculating, by the neural network receiving the warped image as input, a set of calculated warped interest points and a calculated warped descriptor,

calculating a loss based on the set of calculated interest points, the calculated descriptor, the set of calculated warped interest points, the calculated warped descriptor, the set of reference interest points, the warped set of reference interest points, and the homograph, and

modifying the neural network based on the loss.

11. The method of claim 10 , wherein modifying the neural network based on the loss includes modifying one or both of the interest point detector subnetwork and the descriptor subnetwork based on the loss.

12. The method of claim 10 , further comprising prior to generating the reference dataset, training the interest point detector subnetwork using a synthetic dataset including a plurality of synthetic images and a plurality of sets of synthetic interest points,

wherein generating the reference dataset includes generating the reference dataset using the interest point detector subnetwork.

13. The method of claim 10 , wherein generating the reference dataset includes:

for each reference set of the plurality of reference sets:

obtaining the image from an unlabeled dataset comprising a plurality of unlabeled images,

generating a plurality of warped images by applying a plurality of homographs to the image,

calculating, by the neural network receiving the plurality of warped images as input, a plurality of sets of calculated warped interest points,

generating a plurality of sets of calculated interest points by applying a plurality of inverse homographs to the plurality of sets of calculated warped interest points, and

aggregating the plurality of sets of calculated interest points to obtain the set of reference interest points.

14. The method of claim 10 , wherein each of the plurality of reference sets further includes a reference descriptor corresponding to the image, and wherein generating the reference dataset includes:

for each reference set of the plurality of reference sets:

obtaining the image from an unlabeled dataset comprising a plurality of unlabeled images,

generating a plurality of warped images by applying a plurality of homographs to the image,

calculating, by the neural network receiving the plurality of warped images as input, a plurality of calculated warped descriptors,

generating a plurality of calculated descriptors by applying a plurality of inverse homographs to the plurality of calculated warped descriptors, and

aggregating the plurality of calculated descriptors to obtain the reference descriptor.

15. An optical device comprising:

at least one camera configured to capture a first image and a second image; and

one or more processors coupled to the camera and configured to perform operations comprising:

receiving the first image and the second image from the at least one camera,

calculating, by a neural network using the first image as an input, a first set of calculated interest points and a first calculated descriptor,

calculating, by the neural network using the second image as an input, a second set of calculated interest points and a second calculated descriptor, and

determining a homograph between the first image and the second image based on the first and second sets of calculated interest points and the first and second calculated descriptors;

wherein the neural network includes:

an interest point detector subnetwork configured to calculate the first set of calculated interest points and the second set of calculated interest points\, and

a descriptor subnetwork configured to calculate the first calculated descriptor and the second calculated descriptor; and

wherein the one or more processors are configured to:

obtain locations of features in an input image, wherein the locations of the features are identified by the neural network,

determine a region of interest for one of the features in the input image, the region of interest having a size that is less than a size of the image, and

perform a corner detection using a corner detection algorithm to identify a corner in the region of interest.

16. The optical device of claim 15 , wherein:

the interest point detector subnetwork is configured to calculate the first set of calculated interest points concurrently with the descriptor subnetwork calculating the first calculated descriptor; and

the interest point detector subnetwork is configured to calculate the second set of calculated interest points concurrently with the descriptor subnetwork calculating the second calculated descriptor.

17. The optical device of claim 15 , wherein the neural network was previously trained by generating a reference dataset comprising a plurality of reference sets, wherein each of the plurality of reference sets includes an image and a set of reference interest points corresponding to the image; and

for each reference set of the plurality of reference sets:

generating a warped image by applying a homograph to the image,

generating a warped set of reference interest points by applying the homograph to the set of reference interest points,

calculating, by the neural network receiving the image as input, a set of calculated interest points and a calculated descriptor,

calculating, by the neural network receiving the warped image as input, a set of calculated warped interest points and a calculated warped descriptor,

calculating a loss based on the set of calculated interest points, the calculated descriptor, the set of calculated warped interest points, the calculated warped descriptor, the set of reference interest points, the warped set of reference interest points, and the homograph, and

modifying the neural network based on the loss.

18. The optical device of claim 17 , wherein modifying the neural network based on the loss includes modifying one or both of the interest point detector subnetwork and the descriptor subnetwork based on the loss.

19. The optical device of claim 17 , wherein generating the reference dataset includes:

for each reference set of the plurality of reference sets:

obtaining the image from an unlabeled dataset comprising a plurality of unlabeled images,

generating a plurality of warped images by applying a plurality of homographs to the image,

calculating, by the neural network receiving the plurality of warped images as input, a plurality of sets of calculated warped interest points,

generating a plurality of sets of calculated interest points by applying a plurality of inverse homographs to the plurality of sets of calculated warped interest points, and

aggregating the plurality of sets of calculated interest points to obtain the set of reference interest points.

Assignments (3)
SECURITY INTEREST Recorded Oct 24, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073255/0581 →
SECURITY INTEREST Recorded Oct 15, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073109/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2023
From: MOHAN, ANUSH; ROSENTHAL, GUY; PERRY, ADI; SHEVEKI, GILBOA
To: MAGIC LEAP, INC.
Reel/Frame 063614/0218 →
Continuity (3)
Continuation 16875499 · May 15, 2020
Provisional Application 62849386 · May 17, 2019
Related Publication 20230288703A1 · Sep 14, 2023