Data classification method and associated method and devices

The data classification process addresses catastrophic forgetting in neural networks by using K-means partitioning and confidence indices to learn new classes from unannotated data, enhancing model adaptability and reducing manual annotation requirements.

WO2026132168A1PCT designated stage Publication Date: 2026-06-25THALES SA

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
THALES SA
Filing Date
2025-12-18
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Existing incremental class learning methods in neural networks suffer from catastrophic forgetting, where the model forgets old classes when trained with new data, and require perfect human annotation of datasets, which is unrealistic in real-world scenarios.

Method used

A data classification process that includes a neural network training phase with unannotated datasets, using techniques like K-means partitioning and confidence index calculation to dynamically learn new classes without external supervision, iteratively refining the model through multiple learning phases.

Benefits of technology

Enables neural networks to learn new classes from unannotated data, reducing catastrophic forgetting and eliminating the need for exhaustive manual annotation, thus improving model update efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025087894_25062026_PF_FP_ABST
    Figure EP2025087894_25062026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a computer-implemented data classification method comprising: - a phase of training an initial neural network comprising a step of initializing the initial neural network, of receiving a dataset of unannotated data, of applying the initial neural network to each datum of the received dataset, of partitioning the data thus processed into different partitions, of assigning identical labels to the data in the same partition, of calculating confidence indices for the labels of the partitioned data, of deducing the class of each datum and of training the initial neural network to obtain a trained neural network; and - an inference phase comprising a step of receiving data to be classified and a step of applying the trained neural network to the received data in order to obtain a classification of the received data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Data classification method, associated method and devices

[0002] The present invention relates to a data classification method. It also relates to a method for recognizing objects present in an environment. The invention also relates to associated devices.

[0003] The invention falls within the framework of online learning, where the aim is for an artificial intelligence model to be able to adapt dynamically to its environment.

[0004] Incremental class learning attempts to solve this challenge by allowing a model, already trained on a number of classes (base classes), to continually learn new classes from a dynamic data stream (incremental step).

[0005] However, when the model is trained with data from the new classes, it tends to forget the old classes. This is because the model's weights are updated with information from the new classes, and by default, the model does not retain knowledge from the previous classes.

[0006] This phenomenon, known as catastrophic forgetting, is resolved by implementing one or more of the following techniques:

[0007] - a data-driven technique in which saving or generating examples of previous classes is used.

[0008] - a technique aimed at modifying the model weights or the training procedure to counter the bias introduced by the new classes.

[0009] - a technique involving a modification of the model's architecture.

[0010] However, these techniques rely on the strong constraint that the datasets at each incremental stage are perfectly annotated by a human.

[0011] This assumption is unrealistic in practice, because in real-world scenarios, new datasets are often unknown and unannotated.

[0012] There is therefore a need for a classification process that allows a neural network to learn new classes from new data, without external supervision, limiting the phenomenon of catastrophic forgetting.

[0013] For this purpose, the description concerns a data classification process, the process being implemented by computer, the classification process comprising:

[0014] - a neural network training phase, to obtain a learned neural network, the training phase including an initialization step involving the reception of an initial neural network capable of classifying a dataset into an initial number of classes,

[0015] - receiving an unannotated dataset and a number of new classes to identify,

[0016] - For each piece of data in the received dataset, the initial neural network is applied to the data to obtain a projection of each piece of data into a representation space.

[0017] - partitioning of each data point projected into the representation space into a plurality of distinct partitions, each partition grouping the projected data points that are less than a threshold distance from the other projected data points in the same partition, the number of partitions being equal to the sum of the initial number of classes and the number of classes to be identified,

[0018] - assigning an identical label to all projected data that are part of the same partition,

[0019] - for each partition, calculation of a confidence index for the prediction of the label assigned to each projected data point of said partition,

[0020] - deduction of the class of each data point from the classes of the initial neural network, the assigned label, and a comparison of the confidence index to a reference confidence index, and

[0021] - training the neural network to classify the unannotated dataset according to the deduced classes, the neural network thus trained being the learned neural network,

[0022] - an inference phase, the inference phase comprising a step of:

[0023] - receiving data to be classified, and

[0024] - application of the learned neural network on the received data to obtain a classification of the received data.

[0025] According to other advantageous aspects of the invention, the classification method comprises one or more of the following features, taken individually or in all technically possible combinations:

[0026] - the learning phase is iterated k times, k being a natural number greater than or equal to 2.

[0027] - The learning phase is iterated several times, the classification process also including:

[0028] - a step of establishing a dictionary during the first implementation of a learning phase, said dictionary listing the associations between the classes received and the labels established during the first implementation of a learning phase,

[0029] - a dictionary update step at each learning phase, and

[0030] - a step to measure the performance level of the learned neural network as a function of the dictionary update, said measurement step being implemented during the inference phase.

[0031] - the partitioning step is implemented by a K-means algorithm.

[0032] - the confidence indices calculated during the calculation step are calculated from a distance matrix comprising the distances between a center of a partition and the projected data that are part of said partition.

[0033] - the confidence indices calculated during the calculation step are calculated by applying a softmax function on a vector comprising the inverse of the distances provided by the distance matrix.

[0034] The description also describes a method for recognizing objects present in an environment, the recognition method being implemented by an observation system comprising an environmental observation sensor and a computer, the recognition method including a step of:

[0035] - acquisition of environmental data by the sensor,

[0036] - implementation by the computer of the inference phase of a data classification process for environmental data, the classification process being as described above, to obtain a classification of environmental data whose classes correspond to the presence or absence of the objects to be recognized, and

[0037] - recognition by the computer of the presence of objects in the environment based on the classification obtained.

[0038] The description also relates to a computer specifically designed to classify data, the computer being specific to:

[0039] - receive data to be classified,

[0040] - apply a learned neural network to the received data to obtain a classification of the received data, the neural network having been learned by implementing a learning process including:

[0041] - an initialization process involving the reception of an initial neural network designed to classify a dataset into an initial number of classes, - the reception of an unannotated dataset and a number of new classes to be identified,

[0042] - for each piece of data in the received dataset, an application of the initial neural network to the data, to obtain a projection of each piece of data into a representation space,

[0043] - a partitioning of each data point projected into the representation space into a plurality of distinct partitions, each partition grouping the projected data points that are less than a threshold distance from the other projected data points in the same partition, the number of partitions being equal to the sum of the initial number of classes and the number of classes to be identified,

[0044] - assigning an identical label to all projected data that is part of the same partition,

[0045] - for each partition, a calculation of a confidence index for the prediction of the label assigned to each projected data point of said partition,

[0046] - a deduction of the class of each data point from the classes of the initial neural network, the assigned label, and a comparison of the confidence index to a reference confidence index, and

[0047] - training the neural network to classify the unannotated dataset according to the deduced classes, the neural network thus trained being the learned neural network.

[0048] The description also relates to a computer specifically designed to recognize objects present in an environment, the computer being specific to:

[0049] - to receive environmental data, the environmental data having been acquired by a sensor,

[0050] - apply a learned neural network to the received data to obtain a classification of the environmental data, the classes of which correspond to the presence or absence of the objects to be recognized,

[0051] - to recognize the presence of objects in the environment based on the classification obtained, the neural network having been learned by implementing a learning process including:

[0052] - an initialization process involving the reception of an initial neural network designed to classify a dataset into an initial number of classes,

[0053] - receiving an unannotated dataset and a number of new classes to be identified, - for each piece of data in the received dataset, applying the initial neural network to the data to obtain a projection of each piece of data into a representation space,

[0054] - a partitioning of each data point projected into the representation space into a plurality of distinct partitions, each partition grouping the projected data points that are less than a threshold distance from the other projected data points in the same partition, the number of partitions being equal to the sum of the initial number of classes and the number of classes to be identified,

[0055] - assigning an identical label to all projected data that is part of the same partition,

[0056] - for each partition, a calculation of a confidence index for the prediction of the label assigned to each projected data point of said partition,

[0057] - a deduction of the class of each data point from the classes of the initial neural network, the assigned label, and a comparison of the confidence index to a reference confidence index, and

[0058] - training the neural network to classify the unannotated dataset according to the deduced classes, the neural network thus trained being the learned neural network.

[0059] The description also relates to an environmental observation system comprising:

[0060] - an environmental observation sensor, the sensor being designed to acquire data relating to the environment, and

[0061] - a calculator as described above.

[0062] In this description, the expression "specific to" means interchangeably "suited for", "adapted to" or "configured for".

[0063] The invention will become clearer upon reading the following description, given solely by way of non-limiting example, and made with reference to the drawings in which:

[0064] - Figure 1 is a schematic representation of an observation system, and

[0065] - Figure 2 is a flowchart of an example of the implementation of a data classification process relating to the environment observed by the observation system of Figure 1.

[0066] An observation system 10 is schematically represented in Figure 1.

[0067] The observation system 10 is suitable for observing an environment 12. In this case, the observation system 10 is suitable for recognizing objects 14 in the environment 12.

[0068] As a specific example, for a monitoring application, the observation system 10 is designed to know if animals 14 are present in the environment 12 and to recognize the animal in question.

[0069] The observation system 10 includes a sensor 16 and a computer 18.

[0070] Sensor 16 is suitable for acquiring data relating to environment 12.

[0071] "Environmental data 12" means environmental measurement signals 12.

[0072] Sensor 16 is therefore an environmental observation sensor 12.

[0073] For example, sensor 16 is a sensor suitable for obtaining an image of environment 12 in any spectral band.

[0074] According to another example, sensor 16 is a sensor specifically designed to record a sound signal present in environment 12.

[0075] It should be noted that the observation system 10 can include as many sensors 16 as desired, thus facilitating recognition.

[0076] The computer 18 is suitable for implementing the inference phase of a data classification process relating to environment 12 which will be described later.

[0077] This implementation leads to obtaining a classification of environmental data whose classes correspond to the presence or absence of objects to be recognized.

[0078] As an example, environmental data is classified into three classes, namely a "cat" class, a "house" class and an "airplane" class.

[0079] Computer 18 is designed to recognize the presence of objects in the environment based on the classification obtained; that is to say, computer 18 provides two pieces of information: the presence of an object and its identification.

[0080] The calculator 18 is an electronic circuit designed to manipulate and / or transform data represented by electronic or physical quantities in registers of the calculator and / or memories into other similar data corresponding to physical data in register memories or other types of display devices, transmission devices or storage devices.

[0081] As specific examples, the calculator 18 is implemented as a programmable logic component, such as an FPGA (Field Programmable Gate Array), or as an integrated circuit, such as an ASIC (Application Specific Integrated Circuit). Alternatively, when the process is implemented as one or more software programs, that is, as a computer program, also called a computer program product, it is also capable of being stored on a computer-readable medium (not shown). A computer-readable medium is, for example, a medium capable of storing electronic instructions and being connected to a bus of a computer system. Examples of such a readable medium include an optical disc, a magneto-optical disc, ROM, RAM, any type of non-volatile memory (e.g., FLASH or NVRAM), or a magnetic card.A computer program containing software instructions is then stored on the readable medium.

[0082] An example of the implementation of the environmental data classification process 12 is now described with reference to the flowchart in Figure 2.

[0083] The classification process is implemented by computer 18.

[0084] According to the example described, the classification process includes a learning phase P1 and an inference phase P2.

[0085] The P1 learning phase is a learning phase of a neural network that allows a learned neural network to be obtained.

[0086] Before explaining the steps of the P1 learning phase, some general, non-exhaustive information on neural networks is given.

[0087] A neural network consists of an ordered succession of layers of neurons, each of which takes its inputs from the outputs of one or more other layers, notably the previous layer.

[0088] More specifically, each layer comprises neurons taking their inputs from the outputs of the neurons in the previous layer, or from the input variables for the first layer.

[0089] Alternatively, more complex neural network structures can be considered with a layer that can be linked to a layer further away than the immediately preceding layer.

[0090] Each neuron is also associated with an operation, that is, a type of processing, to be carried out by said neuron within the corresponding processing layer.

[0091] Each layer is connected to the other layers by a plurality of synapses. A synaptic weight is associated with each synapse, and each synapse forms a link between two neurons. This is often a real number, which takes on both positive and negative values. In some cases, the synaptic weight is a complex number.

[0092] Each neuron performs a weighted summation of the value(s) received from the neurons in the preceding layer. Each value is then multiplied by the respective synaptic weight of each synapse, or connection, between that neuron and the neurons in the preceding layer. Next, an activation function, typically a non-linear function, is applied to this weighted summation. The resulting value is then delivered to the neuron's output, particularly to the neurons in the next layer connected to it. The activation function introduces non-linearity into the processing performed by each neuron. The sigmoid function, the hyperbolic tangent function, and the Heaviside function are examples of activation functions.

[0093] As an optional complement, each neuron is also capable of applying, in addition, a multiplicative factor, also called bias, to the output of the activation function, and the value delivered at the output of said neuron is then the product of the bias value and the value from the activation function.

[0094] The learning phase P1 includes an initialization step E30, a reception step E32, an application step E34, a partitioning step E36, an allocation step E38, a calculation step E40, a deduction step E42 and a training step E44.

[0095] During the initialization step E30, the computer 18 receives an initial neural network designed to classify a dataset into an initial number of classes.

[0096] According to one embodiment, the computer 18 obtains the initial neural network at the initialization step E30.

[0097] In such a case, the computer 18 receives a neural network architecture (a neural network whose hyperparameters are either unknown or have been initialized to a value suitable for another task) and an annotated dataset.

[0098] Computer 18 then implements an initial training of the neural network architecture based on the annotated dataset.

[0099] Computer 18 thus obtains an initial neural network capable of classifying the received annotated dataset as well as a list including the classes relating to the annotated dataset.

[0100] The number of classes in the list is denoted P for the remainder of the description.

[0101] For example, during the initialization step E30, computer 18 receives a neural network architecture to be trained and 15 images of size 32 pixels x 32 pixels, including 5 images of cats, 5 images of houses and 5 images of airplanes.

[0102] By implementing learning, the computer 18 obtains an initial neural network capable of classifying the 15 images into 2 different classes, including a "cat" class and a "house" class, as well as the list of classes ("cat" and "house").

[0103] Alternatively, computer 18 receives this initial neural network and the list of classes ("cat" and "house") directly. During the reception step E32, computer 18 receives an unannotated dataset and a number of new classes to identify.

[0104] For the rest, the number of new classes to be identified is named C.

[0105] C is an integer greater than or equal to 1.

[0106] Following the example, during the reception step E32, the computer 18 receives 10 images Ji, J2, ... and J™, of size 32 pixels x 32 pixels, and 2 classes.

[0107] During the application step E34, for each data item in the dataset received at the reception step E32, the computer 18 applies the initial neural network to the data item to obtain a projection of each data item into a representation space.

[0108] For example, the calculator 18 successively applies the initial neural network to each piece of data in the dataset received during the reception step E32.

[0109] Thus, for each data, by this application of the neural network, the computer 18 forms a first vector of dimension Ni containing the parameters of said data, and applies a reduction operation to this first vector allowing to obtain a second vector, of dimension N2 < Ni, containing only the parameters relevant to the classification of this data.

[0110] The calculator 18 then projects this second vector into a representation space of dimension N2 containing the set of second vectors relating to the data of the dataset received during the reception step E32 and to the annotated dataset received during the initialization step E30.

[0111] Calculator 18 thus obtains at the output of the application step E34 a representation space of the second vectors relating to the set of data received during the previous steps.

[0112] Following the example, during the application step E34, the computer 18 applies the initialized neural network to each of the 10 images Ji, J2, ... , J10.

[0113] The application of the initial neural network then gives, for the first image J1, a vector including for example the red-green-blue values ​​(more commonly called RGB values ​​in reference to the corresponding English name Red-Green-Blue) of each pixel contained in the image J1.

[0114] The first vector thus has dimension Ni = 3072.

[0115] The application of the initial neural network then induces a reduction operation to this first vector, keeping for example the RGB values ​​of the central 8 x 8 pixels only, and thus delivers a second vector V1 of dimension N2 = 192.

[0116] Applying the initial neural network then leads to projecting this second vector into the representation space ]R 192including the 15 second vectors relating to the 15 images received during the initialization step E30. The neural network then applies these operations to the 9 remaining images J2, J10, and delivers a representation space ]R 192 including the 15 second vectors relating to the images received during the initialization step as well as the 10 second vectors Vi, V2, ... , V10 relating to the images received during the reception step E32.

[0117] During the E36 partitioning step, the calculator 18 performs a partitioning of each data projected in the representation space into a plurality of distinct partitions.

[0118] Each partition groups the projected data that are less than a threshold away from the other projected data in the same partition, the number of partitions being equal to the sum of the initial number of classes and the number of classes to be identified.

[0119] More specifically, the computer 18 receives the representation space delivered by the initial neural network and partitions the part of said representation space comprising the second vectors projected during the application step E34, by applying a K-means algorithm, into a number of partitions equal to P + C.

[0120] A K-means algorithm is a data partitioning technique more often referred to by the corresponding English name "K-Means".

[0121] In the example described, the K-means algorithm performs this partitioning by calculating the distances in the representation space between each second vector, and by grouping, into M+C distinct partitions, the sets of second vectors exhibiting the smallest mutual distances.

[0122] The K-means algorithm also provides as output a distance matrix M, comprising the distances, in the representation space, between each second vector and the center of its partition.

[0123] Calculator 18 thus obtains, at the output of the partitioning step E36, the P+C partitions, the set of second vectors included in each partition, as well as the distance matrix M.

[0124] Following the example, during the partitioning step E36, the K-means algorithm partitions the part of ]R 192 including the 10 second vectors Vi, V2, ... , V relating to the images received during the reception stage E32 in 4 distinct partitions Pi, P2, P3 and P4.

[0125] To do this, the K-means algorithm calculates, for example, the distance in ]R 192 between each pair of second vectors, by calculating for example, for the pair of second vectors V1 =(Ri,i, Gi,i, Bi.i, RI ,2, G-1,2, B1.2, ... , RI ,64, GI ,64, B-1,64) and V2 = (R2, G2, B2, R2,2, G2,2, 62,2, ■ ■, R2, 64, G2.64, 62,64), the absolute values ​​|Ri j - R2j|, |Gi,j - G2,j|, |Bi,j - B2.il, P our all j in Jl; 64], and then calculate the sum Si,2 = 2 i|Ri,j - R 2,j | + The K-means algorithm therefore calculates the sums S m ,n relative to the second vectors V m and V n for all distinct m and n in [1; 10], and groups in the partitions Pi, P2, P3 and P4 the second vectors such that the set of sums relating to 2 second vectors are minimal in each of the partitions Pi, P2, P3 and P4.

[0126] Advantageously, a sum relative to two second vectors is small if the two second vectors are close in ]R 192 , and high if the second two vectors are far apart in ]R 192 .

[0127] Thus, partitions Pi, P2, P3 and P4 group together second vectors with similar parameters, and therefore similar RGB values.

[0128] Furthermore, the K-means algorithm provides the distance matrix M = (rrn, m2, ... , m™) comprising the distances between V1, V2, ... and V and the center of the partition in which they are contained.

[0129] For example, if the first partition Pi centered at Ci contains V1, ... V5 and the second partition P2 centered at C2 contains Ve, ... , V , the distance matrix M established by the K-means algorithm provides the distances mi, m2, ... , ms between Ci and i, Ci and 2, ... , Ci and s, and me, m?, ... , m between C2 and Ve, C2 and V7, ... C2 and V10.

[0130] Thus, in the example described, at the output of the partitioning step E36, the computer 18 provides, for example, the information (V1, V2, ... , V5) e Pi and (Ve, V7, ... , V10) e P2 as well as the distance matrix M.

[0131] During the E38 assignment step, an identical label is assigned to all projected data that are part of the same partition.

[0132] Following the example, the calculator 18 advantageously assigns, during the assignment step E38, an identical index, for example 1, to all vectors (V1, V2) e Pi, and a distinct identical index, for example 2, to all vectors (V3, V4) e P2 and so on.

[0133] Calculator 18 thus provides as output, for example, a set of pairs {(V1, 1), (V2, 1), (V3, 2), (V4, 2), ... , (V10, 4)} allowing to associate a second vector of the representation set with its label assigned during the assignment step E38.

[0134] Calculator 18 thus has a list of associations between each second vector and its assigned label.

[0135] During the calculation step E40, for each partition, the calculator 18 calculates a confidence index of the prediction of the label assigned to each projected data of said partition.

[0136] More specifically, during a calculation step, the calculator 18 calculates a matrix I comprising confidence indices relating to the assignment of labels implemented during the assignment step E38. For each second vector, its confidence index is calculated as a function of its distance in the representation space from the center of its partition, said distance being provided by the distance matrix M.

[0137] Calculator 18 then applies a softmax function to a matrix N comprising the inverse of the distances provided by the distance matrix M.

[0138] The softmax function is a generalization of the logistic function. It converts a vector of K real numbers into a probability distribution over K choices.

[0139] More precisely, the softmax function transforms a vector z = (z 1; ..., z K ) into a vector of K strictly positive real numbers with a sum of 1. The softmax function can be written mathematically as follows:

[0140] Calculator 18 then associates each confidence index included in matrix I with its second vector and its label provided by the list of associations received.

[0141] Thus, the calculator 18 delivers at the output of the calculation step E40 a set of associations between each second vector, their assigned label and their calculated confidence index.

[0142] Following the example, the calculator 18 receives during the calculation step E40 the matrix M = (rm, m2, ... , m ) and the set of pairs {(Vi, 1), (V2, 1), (V3, 2), (V4, 2), ... , (Vw, 4)}.

[0143] Calculator 18 then establishes the matrix N = (1 / mi, 1 / rri2, ... , 1 / mw), calculates I = softmax(N) = (h, i2, ... , iw), and associates each confidence index with its pair included in the set of pairs.

[0144] Thus, at the output of the calculation step E40, the calculator 18 provides for example a set of triplets {(V1, 1 , h), (V2, 1 , i2), (V3, 2, is), (V4, 2, i4), ... , (Vw, 4, i )}, in which a triplet includes the second vector, the assigned label and the calculated confidence index.

[0145] During the deduction step E42, the calculator 18 deduces the class of each data point from the classes of the initial neural network, the assigned label, and a comparison of the confidence index to a reference confidence index.

[0146] More specifically, during this deduction step E42, the calculator 18 receives the set of associations established during the calculation step E40, as well as the list of initial classes.

[0147] Calculator 18 then compares the confidence indices included in the set of associations with a reference confidence index, and establishes a set of confident associations, including only the associations between the second vectors and their assigned label, including a confidence index higher than the reference confidence index.

[0148] Calculator 18 then adds to the received list of classes the distinct labels included in the set of trusted associations.

[0149] Thus, at the output of the deduction step E42, the computer 18 delivers the set of confident associations between the second vectors and their assigned label, as well as a list of classes including the classes developed during the initialization step, and the distinct labels included in the set of confident associations established during the deduction step E42.

[0150] Following the example, the calculator 18 receives during the deduction step the set of triplets {(Vi, 1 , h), (V2, 1 , i2), (V3, 2, is), (V4, 2, i4), ... , (Vw, 4, iw)}, and the list of classes (“cat”, “house”).

[0151] Calculator 18 reads each of the confidence indices h, i2, ..., i included in the set of received triplets, and for all j in [1; 10], checks if the condition ij > i re f is respected, i re f being the reference confidence index.

[0152] For each j in [1; 10], if the condition is met, the pair (Vj, L), L being the label assigned to the second vector Vj, is added to a set of trusting associations.

[0153] For example, the condition is met for all j in [1; 10], except for j = 5 and j = 10.

[0154] Thus, the calculator 18 develops the set of trusting associations {(V1, 1), (V2, 1), (V3, 2), (V4, 2), ... (Vw, 4)}, reads the labels included in this set, and adds the distinct labels to the list of classes ("cat", "house"), in order to form the list of classes ("cat", "house", 1, 2).

[0155] At the output of the deduction step E52, the information processing unit thus delivers the set {(V1, 1), (V2, 1), (V3, 2), (V4, 2), ... (Vw, 4)} and the list of classes ("cat", "house", 1, 2)

[0156] In a particular example, an operator then simply identifies classes 1 and 2 to assign them a realistic label such as "dog" and "man" to give a concrete example.

[0157] In this case, the list of classes becomes (“cat”, “house”, “dog”, “man”).

[0158] During the E44 training step, the computer 18 trains the neural network to classify the unannotated dataset according to the inferred classes.

[0159] The neural network thus trained is the learned neural network.

[0160] The P1 learning phase just described thus allows us to obtain a neural network capable of recognizing classes it does not know. This enables incremental learning of the neural network, giving it the ability to learn continuously.

[0161] For this reason, it is advantageous to implement the P1 learning phase several times.

[0162] According to a simple embodiment, the learning phase is iterated k times, where k is a natural number greater than or equal to 2.

[0163] This embodiment is shown in Figure 2, with the learning phase being repeated as long as a counter i, incremented at each implementation of a learning phase, is less than k.

[0164] The number k can be parameterized by an operator according to their knowledge of the application intended for the neural network to be learned.

[0165] According to a more elaborate embodiment, the learning phase is repeated as long as the performance level of the learned neural network is lower than a reference performance level.

[0166] Advantageously, the performance level is obtained by using a dictionary.

[0167] To achieve the performance level, the process includes, for example, an establishment step, an update step, and a measurement step.

[0168] During the establishment stage, the calculator 18 establishes a dictionary during the first implementation of a learning phase, said dictionary listing the associations between the classes received and the labels established during the first implementation of a learning phase.

[0169] During the update stage, calculator 18 updates the dictionary at each learning phase.

[0170] During these steps, the computer 18 applies a Hungarian algorithm to the learned neural network, which implements a correspondence between the labels and the classes of the unannotated dataset.

[0171] Each correspondence between a label and a class is then listed in the dictionary, and said dictionary allows the performance of the classification to be measured: for each data in the unannotated dataset, its assigned label is read and the dictionary thus allows the data to be associated with a class.

[0172] Calculator 18 therefore allows external supervision to check if each piece of data has been correctly classified by the learned neural network, and to establish a performance value corresponding to a ratio of the number of correctly classified data to the number of data included in the received dataset.

[0173] During the measurement step, the calculator 18 measures the performance level of the learned neural network based on dictionary updates. More specifically, in the described example, the dictionary is applied to the obtained labels to generate predicted classes, and a performance metric is calculated that represents the difference between the classes predicted after dictionary application and the actual classes.

[0174] One such metric is, for example, the metric measuring the rate of correct predictions out of all predictions to be made. This metric is more often referred to by its corresponding English term, "accuracy," which literally means "precision."

[0175] Advantageously, in the example described, learning is performed only once per learning phase P1, so the measurement step is preferably implemented during the inference phase P2.

[0176] As shown in Figure 2, the inference phase P2 includes a reception step E46 and an application step E48.

[0177] During the E46 reception stage, the calculator 18 receives data from the sensor 16.

[0178] Then, during the application step E48, the computer 18 then applies the learned neural network to the received data to obtain a classification of the received data.

[0179] In the example described, this classification has the advantage of including both the initial classes (“cat”, “house”) and the new classes (“dog”, “man”).

[0180] The process just described thus makes it possible to automatically generate quality annotations, thanks to a selection based on a confidence criterion, which can replace human annotations.

[0181] The process also allows for the efficient use of incremental learning methods with pseudo-labels (those corresponding to new classes), while limiting the loss of precision.

[0182] Robustness is also improved with the use of a confidence index threshold and a static dictionary in some embodiments.

[0183] Finally, the process offers an evaluation technique adapted to unsupervised incremental learning problems.

[0184] The described process is therefore a classification process allowing a neural network to learn new classes from new data, without external supervision, limiting the phenomenon of catastrophic forgetting.

[0185] Put another way, in the general context of deployment, the process allows for the implementation of incremental learning techniques without having to manually annotate all new data at each iteration. This reduces model update time from several days to a few minutes, thus eliminating the need for exhaustive manual annotation.

[0186] Such a process is advantageous for many applications. Among these applications, we can cite the designation of targets via a satellite or a designator pod for a satellite application, the recognition of new cars or road signs for the field of autonomous driving, the identification and recognition of new risky behaviors in security and surveillance systems as well as the identification of new diseases for the field of medical imaging.

[0187] Other alternative or complementary embodiments may be considered for the data classification process just described.

[0188] For example, a data augmentation technique can be used to enrich the unannotated dataset. Regenerating pseudo-labels is also beneficial for improving performance.

Claims

DEMANDS 1. Data classification method, the method being implemented by computer, the classification method comprising: a training phase (P1) of a neural network, to obtain a learned neural network, the training phase (P1) comprising an initialization step (E30) involving the reception of an initial neural network suitable for classifying a dataset into an initial number of classes, reception (E32) of an unannotated dataset and a number of new classes to be identified, for each data point in the received dataset, application (E34) of the initial neural network on the data, to obtain a projection of each data point into a representation space, partitioning (E36) of each data point projected into the representation space into a plurality of distinct partitions, each partition grouping the projected data points having a distance less than a threshold from the other projected data points of the same partition,the number of partitions being equal to the sum of the initial number of classes and the number of classes to be identified, assignment (E38) of an identical label to all projected data belonging to the same partition, for each partition, calculation (E40) of a confidence index for the prediction of the label assigned to each projected data of said partition, deduction (E42) of the class of each data from the classes of the initial neural network, the assigned label and a comparison of the confidence index to a reference confidence index, and training (E44) of the neural network to classify the unannotated dataset according to the deduced classes, the neural network thus trained being the learned neural network, an inference phase (P2), the inference phase (P2) comprising a step of: receiving (E46) data to be classified, and applying (E48) of the learned neural network to the received data to obtain a classification of the received data.

2. Data classification method according to claim 1, wherein the learning phase (P1) is iterated k times, k being a natural number greater than or equal to 2.

3. A data classification method according to claim 1, wherein the learning phase (P1) is iterated several times, the classification method further comprising: - a step of establishing a dictionary during the first implementation of a learning phase (P1), said dictionary listing the associations between the classes received and the labels established during the first implementation of a learning phase (P1), and - a dictionary update step at each learning phase (P1), and in which the process also includes a step of measuring a performance level of the learned neural network as a function of the dictionary update.

4. Data classification method according to any one of claims 1 to 3, wherein the partitioning step (E36) is implemented by a K-means algorithm.

5. Data classification method according to any one of claims 1 to 4, wherein the confidence indices calculated during the calculation step (E40) are calculated from a distance matrix comprising the distances between a center of a partition and the projected data forming part of said partition.

6. Data classification method according to claim 5, wherein the confidence indices calculated during the calculation step (E40) are calculated by applying a softmax function on a vector comprising the inverse of the distances provided by the distance matrix.

7. Method for recognizing objects (14) present in an environment (12), the recognition method being implemented by an observation system (10) comprising an environment observation sensor (16) (12) and a computer (18), the recognition method comprising a step of: - acquisition by the sensor (16) of data relating to the environment (12), - implementation by the computer (18) of the inference phase (P2) of a data classification process relating to the environment (12), the process of 19 classification being according to any one of claims 1 to 6, to obtain a classification of environmental data (12) whose classes correspond to the presence or absence of the objects (14) to be recognized, and - recognition by the computer (18) of the presence of objects (14) in the environment (12) according to the classification obtained.

8. A computer (18) suitable for classifying data, the computer (18) being suitable for: - receive data to be classified, - apply a learned neural network to the received data to obtain a classification of the received data, the neural network having been learned by implementing a learning process including: - an initialization process involving the reception of an initial neural network designed to classify a dataset into an initial number of classes, - receiving an unannotated dataset and a number of new classes to identify, - for each piece of data in the received dataset, an application of the initial neural network to the data, to obtain a projection of each piece of data into a representation space, - a partitioning of each data point projected into the representation space into a plurality of distinct partitions, each partition grouping the projected data points that are less than a threshold distance from the other projected data points in the same partition, the number of partitions being equal to the sum of the initial number of classes and the number of classes to be identified, - assigning an identical label to all projected data that is part of the same partition, - for each partition, a calculation of a confidence index for the prediction of the label assigned to each projected data point of said partition, - a deduction of the class of each data point from the classes of the initial neural network, the assigned label, and a comparison of the confidence index to a reference confidence index, and - training the neural network to classify the unannotated dataset according to the deduced classes, the neural network thus trained being the learned neural network. 20 9. A computer (18) capable of recognizing objects (14) present in an environment (12), the computer (18) being capable of: - receive environmental data (12), the environmental data (12) having been acquired by a sensor (16) - apply a learned neural network to the received data to obtain a classification of the data relating to the environment (12) whose classes correspond to the presence or absence of the objects (14) to be recognized, - recognize the presence of objects (14) in the environment (12) based on the classification obtained, the neural network having been learned by implementing a learning process including: - an initialization process involving the reception of an initial neural network designed to classify a dataset into an initial number of classes, - receiving an unannotated dataset and a number of new classes to identify, - for each piece of data in the received dataset, an application of the initial neural network to the data, to obtain a projection of each piece of data into a representation space, - a partitioning of each data point projected into the representation space into a plurality of distinct partitions, each partition grouping the projected data points that are less than a threshold distance from the other projected data points in the same partition, the number of partitions being equal to the sum of the initial number of classes and the number of classes to be identified, - assigning an identical label to all projected data that is part of the same partition, - for each partition, a calculation of a confidence index for the prediction of the label assigned to each projected data point of said partition, - a deduction of the class of each data point from the classes of the initial neural network, the assigned label, and a comparison of the confidence index to a reference confidence index, and - training the neural network to classify the unannotated dataset according to the deduced classes, the neural network thus trained being the learned neural network. 21 10. Observation system (10) of an environment (12) comprising: - an environmental observation sensor (16) (12), the sensor (16) being suitable for acquiring data relating to the environment (12), and - a calculator (18) according to claim 8 or 9.