IP Library Granted Patent US 12,340,014
Granted Patent B1
US 12,340,014 · App. 18/584,856 · Granted Jun 24, 2025

User orientation detection using machine learning counter algorithm

Inventor: Carl Erik Larsen (Edinburgh, GB)
Assignee: STMicroelectronics International N.V.
G06F3/012G06F3/04845G06T7/73G06F2200/1614G06T2207/20084G06T2207/30201
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,340,014
App. No.
18/584,856
Granted
Jun 24, 2025
Kind
B1
Abstract

According to an embodiment, a method for determining an orientation of an object in a field-of-view of a time-of-flight sensor is proposed. The method includes receiving a sensor readout from the time-of-flight sensor; feeding the sensor readout as an input to a neural network, the neural network trained on a set of data with a binary output that classifies the input as being valid or invalid based on the orientation of the object with respect to the time-of-flight sensor; rotating the sensor readout for a set number of rotations and feeding each rotation as an input to the neural network to determine a valid orientation of the object; and rotating an image on a display interface based on the rotation corresponding to the valid orientation of the object as determined by the neural network.

Claims (35)

1. A method for determining an orientation of an object in a field-of-view of a time-of-flight sensor, the method comprising:

receiving a sensor readout from the time-of-flight sensor;

feeding the sensor readout as an input to a neural network, the neural network trained on a set of data with a binary output that classifies the input as being valid or invalid based on the orientation of the object with respect to the time-of-flight sensor;

rotating the sensor readout for a set number of rotations and feeding each rotation as an input to the neural network to determine a valid orientation of the object; and

rotating an image on a display interface based on the rotation corresponding to the valid orientation of the object as determined by the neural network.

2. The method of claim 1 , wherein the set number of rotations equals four.

3. The method of claim 1 , wherein the object is a head of a user, and the valid orientation of the object corresponds to an alignment of the orientation of the time-of-flight sensor and the head of the user.

4. The method of claim 1 , wherein the object is a parcel with an identifying feature on one corner, and the valid orientation of the object corresponds to an alignment of the orientation of the time-of-flight sensor and the parcel.

5. The method of claim 1 , further comprising detecting an invalid output for each rotation of the sensor readout and, based thereon, determining that the object is not positioned in the field-of-view of the time-of-flight sensor.

6. The method of claim 1 , wherein the set number of rotations is greater than four, and wherein the method further comprises detecting an angle of the orientation of the object based on a counter value corresponding to a valid output from the neural network.

7. The method of claim 1 , wherein the time-of-flight sensor is a multi-zone time-of-flight sensor, and wherein the sensor readout is a grid-based or a point cloud data set indicating distance measurements and spatial depth maps for each zone of the multi-zone time-of-flight sensor.

8. A system, comprising:

a time-of-flight sensor configured to measure a distance between it and an object in its field of view;

a non-transitory memory storage comprising instructions; and

a processor in communication with the non-transitory memory storage and the time-of-flight sensor, wherein the instructions, when executed by the processor, cause the system to:

receive a sensor readout from the time-of-flight sensor,

feed the sensor readout as an input to a neural network, the neural network trained on a set of data with a binary output that classifies the input as being valid or invalid based on an orientation of the object with respect to the time-of-flight sensor,

rotate the sensor readout for a set number of rotations and feed each rotation as an input to the neural network to determine a valid orientation of the object, and

rotate an image on a display interface based on the rotation corresponding to the valid orientation of the object as determined by the neural network.

9. The system of claim 8 , wherein the set number of rotations equals four.

10. The system of claim 8 , wherein the object is a head of a user, and the valid orientation of the object corresponds to an alignment of the orientation of the time-of-flight sensor and the head of the user.

11. The system of claim 8 , wherein the object is a parcel with an identifying feature on one corner, and the valid orientation of the object corresponds to an alignment of the orientation of the time-of-flight sensor and the parcel.

12. The system of claim 8 , wherein the instructions, when executed by the processor, cause the system to detect an invalid output for each rotation of the sensor readout and, based thereon, determine that the object is not positioned in a field-of-view of the time-of-flight sensor.

13. The system of claim 8 , wherein the set number of rotations is greater than four, and wherein the instructions, when executed by the processor, cause the system to detect an angle of the orientation of the object based on a counter value corresponding to a valid output from the neural network.

14. The system of claim 8 , wherein the time-of-flight sensor is a multi-zone time-of-flight sensor, and wherein the sensor readout is a grid-based or a point cloud data set indicating distance measurements and spatial depth maps for each zone of the multi-zone time-of-flight sensor.

15. A non-transitory computer-readable media storing computer instructions that, when executed by a processor, cause the processor to:

receive a sensor readout from a time-of-flight sensor for an object in a field-of-view of the time-of-flight sensor;

feed the sensor readout as an input to a neural network, the neural network trained on a set of data with a binary output that classifies the input as being valid or invalid based on an orientation of the object with respect to the time-of-flight sensor;

rotate the sensor readout for a set number of rotations and feed each rotation as an input to the neural network to determine a valid orientation of the object; and

rotate an image on a display interface based on the rotation corresponding to the valid orientation of the object as determined by the neural network.

16. The non-transitory computer-readable media of claim 15 , wherein the set number of rotations equals four.

17. The non-transitory computer-readable media of claim 15 , wherein the object is a head of a user, and the valid orientation of the object corresponds to an alignment of the orientation of the time-of-flight sensor and the head of the user.

18. The non-transitory computer-readable media of claim 15 , wherein the object is a parcel with an identifying feature on one corner, and the valid orientation of the object corresponds to an alignment of the orientation of the time-of-flight sensor and the parcel.

19. The non-transitory computer-readable media of claim 15 , wherein the instructions, when executed by the processor, cause the processor to detect an invalid output for each rotation of the sensor readout and, based thereon, determine that the object is not positioned in the field-of-view of the time-of-flight sensor.

20. The non-transitory computer-readable media of claim 15 , wherein the time-of-flight sensor is a multi-zone time-of-flight sensor, and wherein the sensor readout is a grid-based or a point cloud data set indicating distance measurements and spatial depth maps for each zone of the multi-zone time-of-flight sensor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2024
From: STMICROELECTRONICS (RESEARCH & DEVELOPMENT) LIMITED
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 068025/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2024
From: LARSEN, CARL ERIK
To: STMICROELECTRONICS (RESEARCH & DEVELOPMENT) LIMITED
Reel/Frame 067345/0885 →
References Cited (40)
US 7185818B2 · Salvato · 2007 [cited by examiner]
US 7726576B2 · Salvato · 2010 [cited by examiner]
US 8081844B2 · Steinberg · 2011 [cited by applicant]
US 8358321B1 · Weidner · 2013 [cited by examiner]
US 8471869B1 · Tseng · 2013 [cited by examiner]
US 9262999B1 · Froment · 2016 [cited by examiner]
US 9342143B1 · Rhodes · 2016 [cited by examiner]
US 9424798B2 · Park · 2016 [cited by examiner]
US 9565365B2 · Gardiner · 2017 [cited by examiner]
US 10228766B2 · Bhesania · 2019 [cited by examiner]
US 10346720B2 · Zhang · 2019 [cited by applicant]
US 11100608B2 · Rhodes · 2021 [cited by examiner]
US 11119638B2 · Ho · 2021 [cited by examiner]
US 11270668B1 · Raynor · 2022 [cited by examiner]
US 11402981B2 · Jang · 2022 [cited by examiner]
US 11586407B2 · Back · 2023 [cited by examiner]
US 11716300B2 · Ravine · 2023 [cited by examiner]
US 20040245334A1 · Sikorski · 2004 [cited by examiner]
US 20120057064A1 · Gardiner · 2012 [cited by examiner]
US 20130057571A1 · Harris · 2013 [cited by examiner]
US 20130120458A1 · Celebisoy · 2013 [cited by examiner]
US 20140062860A1 · Lee · 2014 [cited by examiner]
US 20160077592A1 · Bhesania · 2016 [cited by examiner]
US 20160274622A1 · Braun · 2016 [cited by examiner]
US 20190080498A1 · Horie · 2019 [cited by applicant]
US 20190156460A1 · Rhodes · 2019 [cited by examiner]
US 20200104033A1 · Ho · 2020 [cited by examiner]
US 20200380935A1 · Ignaszewski · 2020 [cited by examiner]
US 20210099505A1 · Ravine · 2021 [cited by examiner]
US 20210312646A1 · Legendre · 2021 [cited by applicant]
US 20220051440A1 · Fisch · 2022 [cited by applicant]
US 20220261567A1 · Rodriguez · 2022 [cited by applicant]
US 20220368793A1 · Xu · 2022 [cited by examiner]
US 20230063047A1 · Schmitt · 2023 [cited by examiner]
CN 111753596A · 2020 [cited by applicant]
WO 2021221614A1 · 2021 [cited by applicant]
Gossweiler, Rich et al., “What's up CAPTCHA? A CAPTCHA Based on Image Orientation,” In Proceedings of the 18th international conference on World wide web, Apr. 20, 2009, pp. 841-850. [cited by applicant]
Shima, Yoshihiro, et al., “Detecting Orientation of In-Plain Rotated Face Images Based on Category Classification by Deep Learning,” Proc. of the 2017 IEEE Region 10 Conference (TENCON), Malaysia, Nov. 5-8, 2017, 6 page… [cited by applicant]
Robert (https://stats.stackexchange.com/users/74274/robert), Neural Network: For Binary Classification use 1 or 2 output neurons?, Stack Exchange, URL (version: Apr. 13, 2017): https://stats.stackexchange.com/q/207049, … [cited by applicant]
Picaro, Elyse Betters, “How to use Android 12's new auto-rotate screen with face detection feature,” Pocket-lint, Updated Aug. 24, 2021, 5 pages. [cited by applicant]