IP Library Granted Patent US 11,508,374
Granted Patent B2
US 11,508,374 · App. 16/719,291 · Granted Nov 22, 2022

Voice commands recognition method and system based on visual and audio cues

Inventors: Andrew Abou Antoun (Laval, CA); Andrew Osaro Idehen (Montreal, CA)
Assignee: KRYSTAL technologies
G10L15/25G06N3/04G06N3/08G06T17/00G06V40/171G10L15/16G10L15/22G10L25/24G10L2015/223
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,508,374
App. No.
16/719,291
Granted
Nov 22, 2022
Kind
B2
Abstract

A method and system for voice commands recognition. The system comprises a video camera and a microphone producing an audio/video recording of a user issuing vocal commands and at least one processor connected to the video camera and the microphone. The at least one processor has an associated memory having stored therein processor executable code causing the processor to perform the steps of: obtain the audio/video recording from the video camera and the microphone; extract video features from the audio/video recording and store the result in a first matrix; extract audio features from the audio/video recording and store the result in a second matrix; apply a speech-to-text engine to the audio portion of the audio/video recording and store the resulting syllables in a text file; and identify via a neural network the vocal commands of the user based on the first matrix, the second matrix and the text file.

Claims (78)

1. A method for voice commands recognition, the method comprising the steps of:

a) obtaining an audio/video recording of a user issuing vocal commands;

b) extracting video features from the audio/video recording, the video features extraction including the sub-steps of:

c) creating a 3D model of facial movements of the user from the video portion of the audio/video recording;

d) extracting a mouth area of the user from the 3D model;

e) isolating mouth movements of the mouth area;

f) extracting lip coordinates from the mouth movements;

g) storing the lip coordinates in a first matrix;

h) extracting audio features from the audio/video recording, the video features extraction including the sub-steps of:

i) extracting mel-frequency cepstral coefficients from the audio portion of the audio/video recording;

j) storing mel-frequency cepstral coefficients in a second matrix;

k) applying a speech-to-text engine to the audio portion of the audio/video recording and storing the resulting syllables in a text file;

l) identifying the vocal commands of the user based on the first matrix, the second matrix and the text file:

wherein sub-steps c) to f) and step l) are performed by a neural network consisting of fully connected layers, each of the connected layers representing a pre-trained syllable and every neuron representing corresponding lip coordinates, the neural network comparing each neuron with the stored lip coordinates in order to identify the syllable associated with the layer having the most neurons corresponding to the stored lip coordinates.

2. A method for voice commands recognition according to claim 1 , wherein in step a) a plurality of audio/video recordings are obtained and sub-steps c) to f) are performed for each of the audio/video recordings, and step g) storing the lip coordinates having the most datapoints in the first matrix.

3. A method for voice commands recognition according to claim 1 , wherein in sub-step i) the extracted mel-frequency cepstral coefficients include:

a sampling frequency of the audio portion;

a length each frame in seconds of the audio portion;

a step between successive frames in seconds;

a number of Fast Fourier Transform points;

a lowest band edge of mel filters in Hz;

a highest band edge of mel filters in Hz; and

a number of cepstral coefficients.

4. A method for voice commands recognition, the method comprising the steps of:

a) obtaining an audio/video recording of a user issuing vocal commands;

b) extracting video features from the audio/video recording, the video features extraction including the sub-steps of:

c) creating a 3D model of facial movements of the user from the video portion of the audio/video recording;

d) extracting a mouth area of the user from the 3D model;

e) isolating mouth movements of the mouth area;

f) applying a bilateral filter to the isolated mouth movements of the mouth and extracting lip coordinates from the filtered mouth movements until the extracted lip coordinates from the mouth movements correspond to reference lip coordinates from a reference lip coordinates data set within a predetermined confidence level;

q) storing the lip coordinates in a first matrix;

h) extracting audio features from the audio/video recording, the video features extraction including the sub-steps of:

i) extracting mel-frequency cepstral coefficients from the audio portion of the audio/video recording;

j) storing mel-frequency cepstral coefficients in a second matrix;

k) applying a speech-to-text engine to the audio portion of the audio/video recording and storing the resulting syllables in a text file;

l) identifying the vocal commands of the user based on the first matrix, the second matrix and the text file.

5. A system for voice commands recognition, the system comprising:

a video camera and a microphone for producing an audio/video recording of a user issuing vocal commands;

at least one processor operatively connected to the video camera and the microphone, the at least one processor having an associated memory having stored therein processor executable code that when executed by the at least one processor performs the steps of:

a) obtain the audio/video recording from the video camera and the microphone;

b) extract video features from the audio/video recording, the video features extraction including the sub-steps of:

c) create a 3D model of facial movements of the user from the video portion of the audio/video recording;

d) extract a mouth area of the user from the 3D model;

e) isolate mouth movements of the mouth area;

f) extract lip coordinates from the mouth movements;

g) store in the associated memory the lip coordinates in a first matrix;

h) extract audio features from the audio/video recording, the video features extraction including the sub-steps of:

i) extract mel-frequency cepstral coefficients from the audio portion of the audio/video recording;

j) store in the associated memory mel-frequency cepstral coefficients in a second matrix;

k) apply a speech-to-text engine to the audio portion of the audio/video recording and store in the associated memory the resulting syllables in a text file;

l) identify the vocal commands of the user based on the first matrix, the second matrix and the text file;

wherein sub-steps c) to f) and step l) are performed by a neural network consisting of fully connected layers, each of the connected layers representing a pre-trained syllable and every neuron representing corresponding lip coordinates, the neural network comparing each neuron with the stored lip coordinates in order to identify the syllable associated with the layer having the most neurons corresponding to the stored lip coordinates.

6. A system for voice commands recognition according to claim 5 , wherein the system includes a plurality of video cameras and wherein in step a) an audio/video recording is obtained from each of the plurality of video cameras and sub-steps c) to f) are performed for each of the audio/video recordings, and step g) storing the lip coordinates having the most datapoints in the first matrix.

7. A system for voice commands recognition according to claim 5 , further comprising a proximity sensor and wherein step a) is initiated once the presence of the user is detected by the proximity sensor.

8. A system for voice commands recognition according to claim 5 , wherein in sub-step i) the extracted mel-frequency cepstral coefficients include:

a sampling frequency of the audio portion;

a length each frame in seconds of the audio portion;

a step between successive frames in seconds;

a number of Fast Fourier Transform points;

a lowest band edge of mel filters in Hz;

a highest band edge of mel filters in Hz; and

a number of cepstral coefficients.

9. A system for voice commands recognition, the system comprising:

a video camera and a microphone for producing an audio/video recording of a user issuing vocal commands;

at least one processor operatively connected to the video camera and the microphone, the at least one processor having an associated memory having stored therein processor executable code that when executed by the at least one processor performs the steps of:

a) obtain the audio/video recording from the video camera and the microphone;

b) extract video features from the audio/video recording, the video features extraction including the sub-steps of:

c) create a 3D model of facial movements of the user from the video portion of the audio/video recording;

d) extract a mouth area of the user from the 3D model;

e) isolate mouth movements of the mouth area;

f) applying a bilateral filter to the isolated mouth movements of the mouth and extracting lip coordinates from the filtered mouth movements until the extracted lip coordinates from the mouth movements correspond to reference lip coordinates from a reference lip coordinates data set within a predetermined confidence level;

g) storing the lip coordinates in a first matrix;

g) store in the associated memory the lip coordinates in a first matrix;

h) extract audio features from the audio/video recording, the video features extraction including the sub-steps of:

i) extract mel-frequency cepstral coefficients from the audio portion of the audio/video recording;

j) store in the associated memory mel-frequency cepstral coefficients in a second matrix;

k) apply a speech-to-text engine to the audio portion of the audio/video recording and store in the associated memory the resulting syllables in a text file:

l) identify the vocal commands of the user based on the first matrix, the second matrix and the text file.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT Recorded Oct 14, 2022
From: ABOU ANTOUN, ANDREW; IDEHEN, ANDREW OSARO
To: KRYSTAL TECHNOLOGIES
Reel/Frame 061425/0574 →
Continuity (2)
Provisional Application 62781589 · Dec 18, 2018
Related Publication 20200193998A1 · Jun 18, 2020
Cited By (1)
US 12,482,468