IP Library Granted Patent US 12,444,234
Granted Patent B2
US 12,444,234 · App. 18/383,292 · Granted Oct 14, 2025

System and method for age estimation

Inventors: Jordan Pleet (Montreal, CA); Jose Maria Mateos Perez (Montreal, CA); Jonathan Alexander Garry (Montreal, CA); Bertrand Chapleau (Montreal, CA); Olivier Hillman Beauchesne (Montreal, CA)
Assignee: Innovasoft Tech Holdings Ltd
G06V40/178G06V10/761G06V10/762G06V10/776G06V20/46G06V40/172G06V40/174
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,444,234
App. No.
18/383,292
Granted
Oct 14, 2025
Kind
B2
Abstract

Systems, methods, and computer-readable storage media for age estimation/classification, and more specifically to estimating/classifying the ages of people appearing within videos. Systems configured as disclosed herein can receive a video, then identify multiple facial images for each individual captured within the video. The system can create embeddings of the facial images, then cluster those images together based on distances between the corresponding embeddings. The system can also execute a matchability algorithm on those facial images, determining which of the images provides the clearest image of the individual(s), and can then estimate the age of the individual(s) using the best matchability images and/or send the best matchability image for each individual to a third party for analysis.

Claims (64)

1. A method comprising:

receiving, at a first computer system, a video, the video having a plurality of frames;

performing, via at least one processor of the first computer system, facial detection on the plurality of frames, resulting in a plurality of facial images;

executing, via the at least one processor, a matchability algorithm on the plurality of facial images, resulting in a plurality of matchability scores, each matchability score in the plurality of matchability scores corresponding to a likelihood that a matching image will be found within the plurality of facial images;

executing, via the at least one processor, an embedding algorithm on the plurality of facial images, resulting in a plurality of embeddings, each embedding in the plurality of embeddings corresponding to an image within the plurality of facial images;

calculating, via the at least one processor, distances between the plurality of embeddings, resulting in a Euclidean distance matrix;

clustering, via the at least one processor, the plurality of embeddings using the Euclidean distance matrix, resulting in at least one cluster of embeddings;

identifying, within the plurality of facial images, a best facial image for each cluster in the at least one cluster of embeddings based on the plurality of matchability scores;

transmitting, from the first computer system to a third party computer system which is distinct from the first computer system, an age estimation request, the age estimation request comprising the best facial image of an individual and a request to estimate an age of the individual corresponding to the best facial image;

receiving, at the first computer system from the third party computer system, in response to the age estimation request, an indication that the age of the individual corresponding to the best facial image is below a predetermined threshold age; and

flagging, via the at least one processor, the video for human review based on the indication.

2. The method of claim 1 , wherein the identifying of the best facial image for each individual captured in the video further comprises:

extracting, via the at least one processor of the computer system, at least two frames from the video, resulting in a plurality of frames; and

executing, via the at least one processor, the facial detection on each frame the plurality of frames, resulting in the plurality of facial images.

3. The method of claim 1 , wherein executing of the matchability algorithm comprises generating, for each facial image in the plurality of facial images, emotion scores, wherein the emotion scores are used to compute the plurality of matchability scores.

4. The method of claim 3 , wherein the emotion scores comprise, for each facial image in the plurality of facial images, a vector of scores for emotions comprising: happiness, surprise, sadness, anger, disgust, fear, and contempt.

5. The method of claim 1 , wherein executing of the matchability algorithm comprises generating, for each facial image in the plurality of facial images, a facial angle, wherein the facial angle is used to compute the plurality of matchability scores.

6. The method of claim 1 , further comprising:

executing, via the at least one processor, an internal age classification algorithm on the at least one cluster of embeddings, resulting in an age classification for each individual appearing in the video, prior to the transmitting of the age estimation request,

wherein the transmitting of the age estimation request is modified based on the age classification of each individual appearing in the video.

7. The method of claim 6 , wherein the internal age classification algorithm uses the plurality of embeddings to estimate an age of each individual appearing in the video.

8. A system comprising:

at least one processor; and

a non-transitory computer-readable storage medium having instructions stored which, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

receiving a video, the video having a plurality of frames;

performing facial detection on the plurality of frames, resulting in a plurality of facial images;

executing a matchability algorithm on the plurality of facial images, resulting in a plurality of matchability scores, each matchability score in the plurality of matchability scores corresponding to a likelihood that a matching image will be found within the plurality of facial images;

executing an embedding algorithm on the plurality of facial images, resulting in a plurality of embeddings, each embedding in the plurality of embeddings corresponding to an image within the plurality of facial images;

calculating distances between the plurality of embeddings, resulting in a Euclidean distance matrix;

clustering the plurality of embeddings using the Euclidean distance matrix, resulting in at least one cluster of embeddings;

identifying, within the plurality of facial images, a best facial image for each cluster in the at least one cluster of embeddings based on the plurality of matchability scores;

transmitting, to a third party computer system which is distinct from the system, an age estimation request, the age estimation request comprising the best facial image of an individual and a request to estimate an age of the individual corresponding to the best facial image;

receiving, from the third party computer system, in response to the age estimation request, an indication that the age of the individual corresponding to the best facial image is below a predetermined threshold age; and

flagging the video for human review based on the indication.

9. The system of claim 8 , wherein the identifying of the best facial image for each individual captured in the video further comprises:

extracting at least two frames from the video, resulting in a plurality of frames; and

executing, via the at least one processor, the facial detection on each frame the plurality of frames, resulting in the plurality of facial images.

10. The system of claim 8 , wherein executing of the matchability algorithm comprises generating, for each facial image in the plurality of facial images, emotion scores, wherein the emotion scores are used to compute the plurality of matchability scores.

11. The system of claim 10 , wherein the emotion scores comprise, for each facial image in the plurality of facial images, a vector of scores for emotions comprising: happiness, surprise, sadness, anger, disgust, fear, and contempt.

12. The system of claim 8 , wherein executing of the matchability algorithm comprises generating, for each facial image in the plurality of facial images, a facial angle, wherein the facial angle is used to compute the plurality of matchability scores.

13. The system of claim 8 , the non-transitory computer-readable storage medium having additional instructions stored which, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

executing an internal age classification algorithm on the at least one cluster of embeddings, resulting in an age classification for each individual appearing in the video, prior to the transmitting of the age estimation request,

wherein the transmitting of the age estimation request is modified based on the age classification of each individual appearing in the video.

14. The system of claim 13 , wherein the internal age classification algorithm uses the plurality of embeddings to estimate an age of each individual appearing in the video.

15. A non-transitory computer-readable storage medium having instructions stored which, when executed by at least one processor, cause the at least one processor to perform operations comprising:

receiving a video, the video having a plurality of frames;

performing facial detection on the plurality of frames, resulting in a plurality of facial images;

executing a matchability algorithm on the plurality of facial images, resulting in a plurality of matchability scores, each matchability score in the plurality of matchability scores corresponding to a likelihood that a matching image will be found within the plurality of facial images;

executing an embedding algorithm on the plurality of facial images, resulting in a plurality of embeddings, each embedding in the plurality of embeddings corresponding to an image within the plurality of facial images;

calculating distances between the plurality of embeddings, resulting in a Euclidean distance matrix;

clustering the plurality of embeddings using the Euclidean distance matrix, resulting in at least one cluster of embeddings;

identifying, within the plurality of facial images, a best facial image for each cluster in the at least one cluster of embeddings based on the plurality of matchability scores; and

transmitting, to a third party computer system which is physically separated from the at least one processor, an age estimation request, the age estimation request comprising the best facial image of an individual and a request to estimate an age of the individual corresponding to the best facial image;

receiving, from the third party computer system, in response to the age estimation request, an indication that the age of the individual corresponding to the best facial image is below a predetermined threshold age; and

flagging the video for human review based on the indication.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the identifying of the best facial image for each individual captured in the video further comprises:

extracting at least two frames from the video, resulting in a plurality of frames; and

executing the facial detection on each frame the plurality of frames, resulting in the plurality of facial images.

17. The non-transitory computer-readable storage medium of claim 15 , wherein executing of the matchability algorithm comprises generating, for each facial image in the plurality of facial images, emotion scores, wherein the emotion scores are used to compute the plurality of matchability scores.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the emotion scores comprise, for each facial image in the plurality of facial images, a vector of scores for emotions comprising: happiness, surprise, sadness, anger, disgust, fear, and contempt.

19. The non-transitory computer-readable storage medium of claim 15 , wherein executing of the matchability algorithm comprises generating, for each facial image in the plurality of facial images, a facial angle, wherein the facial angle is used to compute the plurality of matchability scores.

20. The non-transitory computer-readable storage medium of claim 15 , having additional instructions stored which, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

executing an internal age classification algorithm on the at least one cluster of embeddings, resulting in an age classification for each individual appearing in the video, prior to the transmitting of the age estimation request,

wherein the transmitting of the age estimation request is modified based on the age classification of each individual appearing in the video.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2024
From: 9219-1568 QUEBEC INC.
To: AYLO FREESITES LTD
Reel/Frame 068527/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2024
From: AYLO FREESITES LTD
To: INNOVASOFT TECH HOLDINGS LTD
Reel/Frame 068527/0326 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2023
From: PLEET, JORDAN; MATEOS PEREZ, JOSE MARIA; GARRY, JONATHAN ALEXANDER; CHAPLEAU, BERTRAND; HILLMAN BEAUCHESNE, OLIVIER
To: 9219-1568 QUEBEC INC.
Reel/Frame 065342/0328 →
Continuity (2)
Provisional Application 63419605 · Oct 26, 2022
Related Publication 20240144720A1 · May 2, 2024
References Cited (22)
US 7912246B1 · Moon et al. · 2011 [cited by applicant]
US 8831362B1 · Steffens · 2014 [cited by applicant]
US 9152886B2 · Sakai · 2015 [cited by applicant]
US 10558908B2 · Wang et al. · 2020 [cited by applicant]
US 11151386B1 · Aggarwal · 2021 [cited by examiner]
US 11216697B1 · Shen · 2022 [cited by examiner]
US 12087086B2 · Mittelstaedt · 2024 [cited by examiner]
US 20150332087A1 · Joshi et al. · 2015 [cited by applicant]
US 20170083753A1 · Friedland · 2017 [cited by applicant]
US 20180101540A1 · Stoop et al. · 2018 [cited by applicant]
US 20180150684A1 · Wang · 2018 [cited by examiner]
US 20200327311A1 · Xu · 2020 [cited by examiner]
US 20220189193A1 · Wang et al. · 2022 [cited by applicant]
US 20220383619A1 · Porat et al. · 2022 [cited by applicant]
US 20220383660A1 · Porat et al. · 2022 [cited by applicant]
US 20230069436A1 · Meng et al. · 2023 [cited by applicant]
US 20230317114A1 · Peer et al. · 2023 [cited by applicant]
WO 2020238321A1 · 2020 [cited by applicant]
WO 2021082087A1 · 2021 [cited by applicant]
Song, Z. et al. (2011). “Learning Universal Multi-view Age Estimator by Video Contexts,” International Conference on Computer Vision, IEEE; 8 pages. [cited by applicant]
Zhang, B. et al., (Apr. 25, 2022). “Age Estimation of Faces in Videos Using Head Pose Estimation and Convolutional Neural Networks,” Sensors, 22, 11: 4171; retrived at <https://www.mdpi.com/1424-8220/22/11/4171>; 12 pag… [cited by applicant]
International Search Report and Written Opinion mailed Dec. 6, 2023, directed to International Patent Application No. PCT/IB2023/060774; 9 pages. [cited by applicant]