SYSTEM AND METHOD FOR RECOGNIZING ONLINE HANDWRITING

- INVOXIA

A method for recognizing online handwriting comprising acquiring, by a handwriting instrument comprising a module comprising at least one motion sensor, motion data on the handwriting of the user when the user is writing a sequence of characters with the handwriting instrument, the handwriting instrument further including a body extending longitudinally between a first end and a second end, the first end having a writing tip which is able to write on a support, analyzing the motion data with a machine learning model trained in a multi-task way, the machine learning model being configured to deliver as an output the sequence of characters which was written by the user with the handwriting instrument.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
TECHNICAL FIELD

This disclosure pertains to the field of systems and methods for recognizing online handwriting. More precisely, the disclosure pertains to the field of systems and methods for online and continuous recognition of handwriting.

BACKGROUND ART

Currently, several systems or methods exist for recognizing the handwriting of a user. One type of handwriting recognition, called online handwriting recognition, consists of performing the recognition of a character, or a sequence of characters, while the user is writing it. Another type of handwriting recognition, called offline handwriting recognition, is based on the analysis of a picture showing text.

For example, it is know from patent document U.S. Ser. No. 10/126,825 to perform online handwriting recognition by using a device such as a mobile terminal and three sensors being an accelerometer, a gyroscope and a magnetometer. The method described in this document uses a neural network of BLSTM type (Bidirectional Long-short term memory). The data acquired by the three sensors are submitted to several pre-processes in order to be analyzed by the neural network. Moreover, the neural network is trained with a dictionary containing predetermined words. The neural network is trained such that it is able to recognize the beginning and the end of a word being written and, on this basis, the neural network is able to determine which word of the dictionary has been written. One drawback of this method is then the use of three sensors which leads to a device expensive to build. Another drawback of this document is that the neural network is trained to recognize predetermined words. The recognition is not made continuously

It is also known from the scientific publication Learning Spatial-Semantic Context with Fully Convolutional Recurrent Network for Online Handwritten Chinese Text Recognition, Xie et al. published in August 2018 in IEEE Transactions on Pattern Analysis and Machine Intelligence, a method for detecting online handwriting. The method uses four neural networks: MC-FCRN (multi-spatial-context fully convolutional recurrent network), FCN (fully convolutional network), LSTM (long-short term memory) and CTC (connectionist temporal classification). The neural networks are jointly trained. The method uses the path signature method, applied on reduced windows of data. This publication does not describe how the data are effectively acquired, however using path signature method implies to use positional sensors like a camera or a touchscreen. Another drawback is the need of using four neural networks, each being trained in chain with the entry of the preceding neural network.

It is also known from the publication Offline Handwritten Chinese Text Recognition with Convolutional Neural Networks, Liu et al., published in 2020 in ArXiv, a method for offline handwriting recognition which cut line-of-text images into small time-steps before feeding them in a feature extractor neural network. However, this publication performs offline handwriting recognition, which is not adapted for the online handwriting recognition.

SUMMARY

One purpose of this disclosure is to improve the situation.

It is proposed a system for recognizing online handwriting comprising:

    • a handwriting instrument including a body extending longitudinally between a first end and a second end, said first end having a writing tip which is able to write on a support, said handwriting instrument further including a module comprising at least one motion sensor configured to acquire motion data on the handwriting of a user when the user is writing a characters sequence with said handwriting instrument,
    • a calculating unit communicating with said at least one motion sensor and configured to analyze said motion data by a machine learning model trained in a multitask way, said machine learning model being configured to deliver as an output the sequence of characters which was written by the user with said handwriting instrument.

In an embodiment, the module is embedded in the second end of the handwriting instrument.

In an embodiment, the module is distinct from the handwriting instrument, said module being intended to be placed on the second end of the handwriting instrument.

In an embodiment, the module further comprises the calculating unit.

In an embodiment, the module further includes a short-range radio communication interface configured to communicate raw motion data acquired by the motion sensor to a mobile device comprising said calculating unit via a communication interface of said mobile device.

In an embodiment, the motion sensor is a three-axis accelerometer.

In an embodiment, the module further comprises a second motion sensor being a three-axis gyroscope.

In an embodiment, the characters of the characters sequence comprise numbers and/or letters.

It is also proposed a method for recognizing online handwriting comprising

    • acquiring, by means of a handwriting instrument comprising a module comprising at least one motion sensor, motion data on the handwriting of the user when said user is writing a sequence of characters with said handwriting instrument, said handwriting instrument further including a body extending longitudinally between a first end and a second end, said first end having a writing tip which is able to write on a support,
    • analyzing said motion data with a machine learning model trained in a multi-task way, said machine learning model being configured to deliver as an output the sequence of characters which was written by the user with said handwriting instrument.

In an embodiment, the method further comprises a prior step of multi-task training of the machine learning model, wherein the machine learning model is trained to perform:

    • a stroke segmentation task,
    • a character classification task.

In an embodiment, the stroke segmentation task comprises labelizing samples of the acquired motion data in at least one of the following classes:

    • on-paper stroke,
    • in-air movement.

In an embodiment, the acquired motion data are pre-processed before being used in the stroke segmentation task by:

    • windowing the raw motion data in time frames of N samples, each sample in the time frame being labelized in one of the on-paper stroke and/or in-air movement.

In an embodiment, the in-air movement label comprises at least two sub labels:

    • forward in-air movement,
    • backward in-air movement.

In an embodiment, once trained, the machine learning model is stored, the method further comprising the analysis of said acquired motion data continuously and in real time with the trained machine learning model.

BRIEF DESCRIPTION OF DRAWINGS

Other features, details and advantages will be shown in the following detailed description and on the figures, on which:

FIG. 1 is an illustration of a system for detecting handwriting problems according to a first embodiment.

FIG. 2 is a block schema of the system illustrated in FIG. 1.

FIG. 3 is an illustration of a system for detecting handwriting problems according to a second embodiment.

FIG. 4 is a block schema of the system illustrated in FIG. 3.

FIG. 5 is an illustration of a system for detecting handwriting problems according to a third embodiment.

FIG. 6 is a block schema of the system illustrated in FIG. 5.

FIG. 7 is a block diagram illustrating the multi-task training phase of the machine learning model according to an embodiment.

FIG. 8 is a block diagram illustrating the inference phase of the machine learning model after its multi-task training according to an embodiment.

FIGS. 9A and 9B illustrate a characters sequence written by a user using the handwriting instrument and the associated motion data.

DESCRIPTION OF EMBODIMENTS

It is now referred to FIGS. 1 to 6 illustrating embodiments of a system 1 for recognizing online handwriting. The same reference numbers are used to describe identical elements of the system 1.

FIGS. 1 and 2 generally illustrates a system 1 according to a first embodiment. The system 1 comprises a handwriting instrument 2. Typically, the handwriting instrument 2 can be a pen, a pencil, a brush or any element allowing a user to write with it on a support. Typically, the support can be paper, canvas, or any surface on which a user can write or draw.

The handwriting instrument 2 comprises a body 3 extending longitudinally between a first end 4 and a second end 5. The first end 4 comprises a writing tip 6 which is able to write on a support. Typically, the tip 6 can deliver ink or color.

The system 1 may comprise a module 17. In an embodiment, the module 17 comprises at least one motion sensor 7. In one embodiment, the motion sensor 7 can be a three-axis accelerometer.

In another embodiment, the module 17 may further comprise a second motion sensor 7. For example, the second motion sensor 7 is a three-axis gyroscope.

In an embodiment, the module 17 is embedded in the handwriting instrument 2. For example, the module 17 is embedded near or at the second end 5 of the handwriting instrument.

In another embodiment, the module 17 is distinct from the handwriting instrument 2. In this embodiment, shown FIGS. 3 and 4, the module 17 is able to be placed on the second end 5 of the handwriting instrument.

Hence, the module 17 may comprise a hole of a diameter D allowing the insertion of the second end 5 of the handwriting instrument in it.

In these configurations, at least one motion sensor 7 is then placed or at the second end 5 of the handwriting instrument 2. In this way, the user of the handwriting instrument is not bothered when he uses the handwriting instrument 2, since module 17 does not block his sight.

For all the embodiments described hereinafter, the module 17 can be embedded in the handwriting instrument 2, or distinct from the handwriting instrument 2.

In all the embodiments, at least one motion sensor 7 is able to acquire data on the handwriting of the user when the user is using the handwriting instrument 2. These data are communicated to a calculating unit 8 which is configured to analyze the data and perform the recognition of handwriting.

The calculating unit 8 can comprise a volatile memory to store the data acquired by the motion sensor 7 and a non-volatile memory to store a machine learning model enabling the handwriting recognition.

In the embodiment shown FIGS. 1 to 4, the module 17 further comprises the calculating unit 8.

In another embodiment shown FIGS. 5 and 6, the module 17 does not comprise the calculating unit 8.

In this embodiment, the calculating unit 8 may be comprised in a mobile device. The mobile device 11 can typically be an electronic tablet, a mobile phone or a computer.

The module 17 can also comprise a short-range radio communication interface 9 allowing the communication of data between the at least one motion sensor 7 and the calculating unit 8. In one embodiment, the short-range radio communication interface is using a Wi-Fi, Bluetooth®, LORA®, SigFox® or NBIoT network. In another embodiment, it can also communicate using a 2G, 3G, 4G or 5G network.

The mobile device 11 further comprises a short-range radio communication interface 12 enabling communication between the calculating unit 8 and the module 17 via the short-range radio communication interface 9.

In another embodiment, the calculating unit 8 may be comprised in the cloud. The calculating unit 8 may be accessible via the mobile device 11.

When the calculating unit 8 is comprised in the module 17, as shown on FIGS. 1 to 4, the module 17 may still comprise the short-range radio communication interface 9, in order to communicate results to a deported server (not shown), as a non-limitative example.

The module 17 may further include a battery 10 providing power to at least the motion sensor 7 when the user is using the handwriting instrument. The battery 9 can also provide power to all the other components that may be comprised in said module 17, such as the calculating unit 8, the short-range radio communication interface 9.

In all the embodiments described above, the calculating unit 8 receives motion data acquired from at least on motion sensor 7 to analyze them and perform handwriting recognition.

In a preferred embodiment, the motion data received by the calculating unit 8 are raw motion data.

More specifically, the calculating unit 8 can store a machine learning model able to analyze the motion data acquired by the motion sensor 7. The machine learning model can comprise at least one neural network. The machine learning model is trained to perform the recognition of a sequence of characters which has been written by the user while using the handwriting instrument 2.

In one embodiment the machine learning model is trained in a multi-task way.

More specifically, the machine learning model may be trained to perform two tasks being the recognition of a character which has been written by the user while using the handwriting instrument 2, which is designated as the first task, and the segmentation of strokes, which is designated as the second task.

The first and second tasks share the same backbone being a neural network, which extracts the hidden features of the motion data. This neural network is, in a non-limitative embodiment, a convolutional neural network such as an encoder. This encoding neural network is designated hereinafter as the shared backbone.

The first task may be performed, in a non-limitative embodiment, by the neural network being the shared backbone, together with a recursive neural network, such as a BLSTM or a Transformer, trained with the CTC loss function.

The second task may be performed, in a non-limitative embodiment, by an auto-encoder neural network, whose encoder is the shared backbone and decoder is an additional convolutional neural network with upsampling.

The machine learning model is trained in a multi-task way such that it is capable of performing at least these two tasks at the same time.

Reference is made to FIG. 7, illustrating steps of the training phases of the multi-task machine learning model.

In step S1, the calculating unit 8 receives the motion data acquired by at least one motion sensor 7 while the user is writing a character, or a sequence of characters with the handwriting instrument 2.

A step S2 of pre-processing is performed. The pre-processing step comprises the time windowing of the motion data such that the motion data is cut into time-steps.

For example, the motion data is windowed into time-steps of a size comprised between 1 and 5 seconds.

The windowed motion data, i.e. the time-steps, are then fed in the shared backbone. The shared backbone further receives labels at step S3.

In an embodiment, the labels correspond to on-paper and in-air time stamped labels. In other words, the labels correspond to whether the writing tip 6 of the handwriting instrument 2 touched the paper, which corresponds to the on-paper label, or not, which corresponds to the in-air label. The labels are time stamped and relative to each data sample.

Typically, when using a motion sensor 7 such as a three-axis accelerometer (or a three-axis accelerometer and a three-axis gyroscope), the motion data acquired by the motion sensor 7 is continuous and lacks positional information. More particularly, the motion data comprise both motion data corresponding to when the user is writing with it on a support and motion data corresponding to when the user is just moving the handwriting instrument 2 in the air, without writing.

At step S5, the shared backbone performs hidden features extraction to obtain intermediate features at step S6.

From these intermediate features, the segmentation task, or second task, is performed at step S7. This step allows finding the starting and ending time of each stroke. During this step, the segmentation task comprises the segmentation of the on-paper strokes and in-air movements.

At step S8, the on-paper strokes and in-air movements classes are obtained for each time sample in the signals.

The intermediate features of step S6 are also used in step S9. In step S9, the machine learning model performs the concatenation in time sequence of the on-paper strokes and in-air movements.

At step S10, other labels are sent to the machine learning model for performing the first task of sequence of characters recognition.

More specifically, these labels may be fed into the recursive neural network participating in the first task.

These labels may correspond to character labels or character sequence labels that are used in the character sequence classification step S11.

The labels may be individual characters, words, or even sentences.

The classification step S11 may be performed at least in part by the recursive neural network, such as a BLSTM or a Transformer, trained with a loss function such as the CTC loss function, as described above.

Finally, a characters sequence is obtained at step S12, which corresponds to the characters sequence written by the user while using the handwriting instrument 2, and to which the motion data was associated at step S1.

During the training of the machine learning model, the machine learning model learns to recognize both on-paper strokes and in-air movements from the motion data in addition to continuously recognize characters sequence.

The multi-task training of the machine learning model renders the system more efficient. Indeed, the learning of the second task and the first task, at the same time, makes the learning of the first task significantly more efficient.

Moreover, since the machine learning model acquires the knowledge to identify individual on-paper strokes and in-air movements from the motion data, it is able to learn any character of any language.

Steps S1 to S6 and S9 to S12 may be assimilated to the first task of characters sequence recognition.

Steps S1 to S8 may be assimilated to the second task of stroke segmentation.

Once the multi-task training is performed, the machine learning model can be stored in the calculating unit 8.

In an embodiment, only the weights of the first task are used during the inference phase, such that the machine learning model stored in the calculating unit only comprises the weights of the first task.

In another preferred embodiment, the machine learning model is further trained to differentiate forward in-air movement and backward in-air movement. Indeed, paper strokes are not always ordered such that it cannot be assumed that the most recent stroke belongs to the most recent character, as people can go back to finish a previous character.

This is for example illustrated on FIGS. 9A and 9B showing the characters sequence “written down” being written on paper and the associated motion data.

In this example the motion data corresponds to the acceleration signal acquired by a three-axis accelerometer. The graphic of FIG. 9B shows the amplitude of the acceleration signal according to the tree-axis x, y, z as a function of time.

The characters sequence of FIG. 9A comprises ten paper stroke, six forward jumps between letters, one forward jump between words and two backward jumps (before the “i” point and before the “t” bar).

The circled numbers are associated with each of the paper stroke and show the order in which they have been written.

It then appears that it may be important to consider also the direction of the in-air movements.

In particular, the detection of forward in-air movement may help the machine learning model to recognize the space between characters or words. The detection of backward in-air movement may help the machine learning model to recognize that a character is being finished (for example with the points on the i).

Then, in step S3 of FIG. 7, the labels can include on-paper time label, forward in-air movement and backward in-air movement, such that in step S7 the segmentation task is made to obtain on-paper stroke, forward in-air movement and backward in-air movement.

In another embodiment, the machine learning model is further trained with another label. This label may be other in-air movement.

This label can help the machine learning model to determine that a user is not writing anymore. For example, it detects that the user is thinking or simply wagging the handwriting instrument 2 in the air.

The trained machine learning model can then be stored in the calculating unit 8.

FIG. 8 illustrates the inference phase of the machine learning model.

At step S20, the motion data is obtained from at least one motion sensor 7.

Preferably, the motion data corresponds to the raw signals acquired by at least one motion sensor 7 while the user is writing a sequence of characters with the handwriting instrument 2.

The motion data are then pre-processed by windowing these motion data into time steps at step S21. This step corresponds to step S2 described in reference with FIG. 7.

The windowed motion data are then fed, at step S22, in the shared backbone which performs the features extraction such as described with reference to step S5 of FIG. 7.

From these features extraction, the machine learning model performs the concatenation in time sequence, such that the character sequence classification performed at step S24 is made on the on-paper strokes and in-air movement in the correct chronological order.

As already described, the in-air movement may comprise forward in-air movement and backward in-air movement.

At step S25, a character sequence is obtained as an output of the machine learning model, which corresponds to the character sequence written by the user with the handwriting instrument.

During the inference phase, the machine learning model does preferably not perform the segmentation task anymore since the shared backbone has already been trained with the weights corresponding to both the segmentation and the character classification task, due to the multi-task training.

This invention is not restricted to the embodiments described herein above. Other variants of the invention may be implemented.

In an embodiment, the machine learning model performs, after the segmentation task (step S7 of FIG. 7), a stroke acceleration regression and or/or in-air movement acceleration regression tasks. This enables the machine learning model to derive the coordinates of the writing tip, based on the motion data. In this way, the machine learning model may deliver as an output a replica of the sequence of characters written by the user, including the shape of the characters.

Claims

1.-8. (canceled)

9. A method for recognizing online handwriting comprising

acquiring, with a handwriting instrument comprising a module comprising at least one motion sensor, motion data on the handwriting of the user when said user is writing a sequence of characters with said handwriting instrument, said handwriting instrument further including a body extending longitudinally between a first end and a second end, said first end having a writing tip which is able to write on a support,
analyzing said motion data with a machine learning model trained in a multi-task way, said machine learning model being configured to deliver as an output the sequence of characters which was written by the user with said handwriting instrument.

10. The method according to claim 19, further comprising a prior step of multi-task training of the machine learning model, wherein the machine learning model is trained to perform:

a stroke segmentation task,
a character classification task.

11. The method according to claim 10, wherein the stroke segmentation task comprises labelizing samples of the acquired motion data in at least one of the following classes:

on-paper stroke,
in-air movement.

12. The method according to claim 14, wherein the acquired motion data are pre-processed before being used in the stroke segmentation task by:

windowing the raw motion data in time frames of N samples, each sample in the time frame step being labelized in one of the on-paper stroke and/or in-air movement.

13. The method according to claim 1, wherein the in-air movement label comprises at least two sub labels:

forward in-air movement,
backward in-air movement.

14. The method according to claim 1, wherein once trained, the machine learning model is stored, the method further comprising the analysis of said acquired motion data continuously and in real time with the trained machine learning model.

15. The method according to claim 1, wherein the module is embedded in the second end of the handwriting instrument.

16. The method according to claim 1, wherein the module is distinct from the handwriting instrument, said module being intended to be placed on the second end of the handwriting instrument.

17. The method according to claim 1, wherein the module further comprises the calculating unit.

18. The method according to claim 1, wherein the module further includes a short-range radio communication interface configured to communicate raw motion data acquired by the motion sensor to a mobile device comprising the calculating unit via a communication interface of the mobile device.

19. The method according to claim 1, wherein the motion sensor is a three-axis accelerometer.

20. The method according to claim 11, wherein the module further comprises a second motion sensor being a three-axis gyroscope.

Patent History
Publication number: 20220366713
Type: Application
Filed: Dec 23, 2021
Publication Date: Nov 17, 2022
Applicant: INVOXIA (lssy Les Moulineaux)
Inventors: Eric Humbert (ISSY LES MOULINEAUX), Arthur BELHOMME (ISSY LES MOULINEAUX), Amèlie CAUDRON (ISSY LES MOULINEAUX)
Application Number: 17/560,623
Classifications
International Classification: G06V 30/226 (20060101); G06V 30/19 (20060101);