IP Library › Granted Patent US 11,042,992
Granted Patent B2
US 11,042,992 · App. 16/054,903 · Granted Jun 22, 2021

Method and system for detecting peripheral device displacement

Inventors: Nicolas Chauvin (Chexbres, CH); François Morier (Romanel-sur-Lausanne, CH); Helmut Grabner (Lausanne, CH)
Assignee: Logitech Europe S.A.
G06T7/248G06F3/03543G06K9/6202G06K9/623G06N3/08G06N20/00G06T2207/20081
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 11,042,992
App. No.
16/054,903
Granted
Jun 22, 2021
Kind
B2
Abstract

Methods and systems for determining a displacement of a peripheral device are provided. In one example, a peripheral device comprises: an image sensor, and a hardware processor configured to: control the image sensor to capture a first image of a surface when the peripheral device is at a first location on the surface, the first image comprising a feature of the first location of the surface; execute a trained machine learning model using data derived from the first image to estimate a displacement of the feature between the first image and a reference image captured at a second location of the surface; and determine a displacement of the peripheral device based on the estimated displacement of the feature.

Claims (64)

1. A method, comprising:

capturing, from an image sensor at a first location on a surface, a first image of a surface, the first image comprising a feature of the first location of the surface;

generating a cross-correlation values distribution between the first image and a reference image, the cross-correlation values distribution corresponding to a set of coarse candidate displacements each having a pixel precision and representing a comparison between the first image and the reference image;

selecting one of the coarse candidate displacements as a coarse displacement

providing the cross-correlation values distribution to a trained machine-learning model;

operating the trained machine-learning model to compute, based on the cross-correlation values distribution as an input, an estimated error displacement having a subpixel precision between an actual displacement of the image sensor and the coarse displacement;

determining an estimated displacement based on the coarse displacement and the estimated error displacement, the estimated displacement having the subpixel precision; and

determining a displacement of the image sensor based on the estimated displacement having the subpixel precision.

2. The method of claim 1 , wherein the image sensor is part of a computer mouse positioned on the surface; and

wherein the displacement is to be provided to a computer to update content displayed by the computer.

3. The method of claim 1 , wherein the cross-correlation values distribution is derived from a subset of pixels of the first image.

4. The method of claim 1 , wherein the trained machine-learning model is a first trained machine learning model;

wherein the displacement is a first displacement; and

wherein the method further comprises:

providing pixel data of the first image to a second trained machine-learning model; and

operating the second trained machine-learning model to perform:

computing, based on the pixel data, a cross-correlation values distribution between the first image and the reference image, the cross-correlation values distribution corresponding to a set of candidate displacements and representing the comparison between the first image and the reference image;

interpolating the set of candidate displacements based on the cross-correlation values distribution; and

estimating a second displacement based on a result of the interpolation.

5. The method of claim 1 ,

wherein the selected coarse candidate displacement corresponds to a peak cross-correlation value of the cross-correlation values distribution.

6. The method of claim 1 , wherein the machine-learning model comprises an artificial neural network.

7. The method of claim 6 , wherein the artificial neural network comprises a fully connected neural network.

8. The method of claim 6 , wherein the artificial neural network comprises a convolutional neural network.

9. The method of claim 6 , wherein the artificial neural network comprises a combination of a fully connected neural network and a convolutional neural network.

10. The method of claim 1 , further comprising:

selecting, based on an operation condition and from a plurality of machine-learning models, the machine-learning model to estimate the displacement of the feature,

wherein the cross-correlation values distribution is provided to the selected machine-learning model to estimate the displacement.

11. The method of claim 10 , wherein the operation condition comprises at least one of: a type of the surface, or a configuration of the image sensor.

12. The method of claim 1 , wherein the machine-learning model is trained based on a training data set comprising:

a set of reference images;

a set of displacement images paired with the set of reference images; and

a set of displacements of a feature between the set of reference images and the set of displacement images.

13. The method of claim 1 , wherein the machine-learning model is trained based on a training data set comprising:

a set of cross-correlation values between a set of reference images and a set of displacement images paired with the set of reference images; and

a set of displacements of a feature between the set of reference images and the set of displacement images.

14. The method of claim 1 ,

wherein the machine learning model is trained to minimize the error displacements output by the machine learning model for a training data set comprising a set of cross-correlation values distributions and a set of corresponding displacements.

15. A peripheral device, comprising:

an image sensor; and

a hardware processor configured to:

control the image sensor to capture a first image of a surface when the peripheral device is at a first location on the surface, the first image comprising a feature of the first location of the surface;

generate a cross-correlation values distribution between the first image and a reference image, the cross-correlation values distribution corresponding to a set of coarse candidate displacements each having a pixel precision and representing a comparison between the first image and the reference image;

select one of the coarse candidate displacements as a coarse displacement

provide the cross-correlation values distribution to a trained machine-learning model;

operate the trained machine-learning model to compute, based on the cross-correlation values distribution as an input, an estimated error displacement having a subpixel precision between an actual displacement of the image sensor and the coarse displacement;

determine an estimated displacement based on the coarse displacement and the estimated error displacement, the estimated displacement having the subpixel precision; and

determine a displacement of the peripheral device based on the estimated displacement having the subpixel precision.

16. The peripheral device of claim 15 , wherein the peripheral device is a computer mouse; and

wherein the displacement is to be provided to a computer to update content displayed by the computer.

17. The peripheral device of claim 15 , wherein the trained machine-learning model is a first trained machine-learning model;

wherein the displacement is a first displacement; and

wherein the hardware processor is further configured to:

provide pixel data of the first image to a second trained machine-learning model; and

operate the second trained machine-learning model to perform:

computing, based on the pixel data, a cross-correlation values distribution between the first image and the reference image, the cross-correlation values distribution corresponding to a set of candidate displacements and representing the comparison between the first image and the reference image;

interpolating the set of candidate displacements based on the cross-correlation values distribution; and

estimating a second displacement based on a result of the interpolation.

18. The peripheral device of claim 15 ,

wherein the selected coarse candidate displacement corresponds to a peak cross-correlation value of the cross-correlation values distribution.

19. The peripheral device of claim 15 , wherein the hardware processor is further configured to select, from the set of coarse candidate displacements, a coarse candidate displacement corresponding to a peak cross-correlation value of the cross-correlation values distribution; and

wherein the estimated displacement is generated based on the selected coarse estimated displacement and the estimated displacement having the subpixel precision.

20. The peripheral device of claim 15 ,

wherein the machine-learning model is trained to minimize the error displacements output by the machine-learning model for a training data set comprising a set of cross-correlation values distributions and a set of corresponding displacements.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2018
From: CHAUVIN, NICOLAS; MORIER, FRANCOIS; GRABNER, HELMUT
To: LOGITECH EUROPE S.A.
Reel/Frame 047670/0729 →
Continuity (1)
Related Publication 20200043179A1 · Feb 6, 2020