Patent Description:
Average speed monitoring systems are often implemented in order to determine the average speeds of vehicles travelling along a section of a road. Such systems can operate by capturing images of the vehicles at first and second locations along the road a known distance apart and determining, based on the times at which the images were taken, how long particular vehicles have taken to travel between the two locations.

The systems are typically capable of automatically recognising the vehicles in the images, so that vehicles in the images taken at the first location can be matched with the vehicles in the images captured at the second location. In this way, times that particular vehicles were at the first and second locations, can be determined automatically.

One option for recognising the vehicles, is to automatically determine the characters, e.g. letters and/or digits, on a number plate of the vehicle. A previously proposed system uses an optical character recognition algorithm to perform the number plate recognition function.

It is undesirable for the system to mistakenly match two different vehicles into a false pair and determine a speed based on the time of one vehicle at the first location and the time of another vehicle at the second location. However, such determinations can be made, for example, when other signs, such as safety or warning signs, comprising characters that could be read as a number plate, are affixed to the vehicles. For example, a heavy goods vehicle having a "long vehicle" warning sign affixed to the vehicle body may be undesirable matched with another vehicle having a similar warning sign.

It is desirable for an algorithm for automatically identifying road vehicles to be provided, which enables such incorrect matchings of vehicle signs to be reduced, without affecting the system's ability to match difficult to read number plates, e.g. which are dirty or otherwise obscured. Relevant prior art is for example : <NPL>.

According to an aspect of the present disclosure, there is provided a method for an.

Artificial Neural Network (ANN), the method comprising:
providing the artificial neural network, wherein the artificial neural network is trained to reduce the confidence of the artificial neural network in classifying inputs outside a desirable input distribution by:training the artificial neural network using a first set of inputs and associated labels, the labels correctly classifying the corresponding inputs, wherein the inputs within the first set are within the desirable input distribution of the artificial neural network, wherein the inputs within the first set comprises images of road vehicle number plates; andtraining the artificial neural network using a second set of inputs and associated labels, wherein the inputs within the second set are outside of the desirable input distribution of the artificial neural network, wherein the inputs within the second set comprise images of one or more predetermined signs, other than number plates, known to be affixed to road vehicles, and wherein the labels within the second set comprise randomly assigned classifications; andfeeding one or more inputs through the artificial neural network to determine classifications, classifying the inputs, and confidence values associated with the classifications.

In this way, the confidence values associated with the classification may indicate whether or not the corresponding input is within the desirable input distribution of the ANN. The method may comprise determining whether the input fed through the ANN is within the desirable input distribution based on the confidence value.

Providing the ANN comprises reading one or more parameters defining the ANN into a memory of a controller or operatively connecting a memory, in which the parameters defining the ANN are stored, to a controller. Additionally or alternatively, providing the ANN may comprise training the ANN.

According to another aspect of the present disclosure, there is provided a method of training an Artificial Neural Network (ANN), such as a convolutional neural network, to reduce the confidence of the ANN in classifying inputs outside a desirable, e.g. target/intended, input distribution, the method comprising:.

The desirable input distribution is a distribution or data space containing the training examples used to train the ANN. In other words, the desirable input distribution is a distribution of inputs that the ANN has been trained to recognise. When the ANN is for recognising vehicles, the desirable input distribution is images of vehicle number plates. Inputs outside of the desirable input distribution comprises images of vehicle signs other than number plates.

Training the ANN in this way can reduce the confidence with which the ANN classifies inputs outside the desirable input distribution of the ANN to less than the confidence values given to the classifications of inputs which are within the desirable input distribution but are difficult to classify. Classifications associated with confidence values below a predetermined confidence threshold can therefore be disregarded in order to disregard classifications of inputs outside the desirable input distribution of the ANN, without disregarding classifications of inputs that are within the intended input distribution but are difficult to classify.

Further, training the ANN in this way can minimise the additional training time required to train the ANN to increase the accuracy with which inputs outside the intended input distribution can be disregarded, compared to, for example, adversarial training.

The method may comprise providing, e.g. generating, the first set comprising inputs within the desirable input distribution of the ANN and labels correctly classifying the inputs.

The method may comprise providing, e.g. generating, the second set comprising inputs outside of the desirable input distribution of the ANN and randomly assigned labels.

The ANN may comprise an output layer, which outputs a classification of the input determined by the ANN, e.g. indicating a symbol recognised in a vehicle number plate visible in an image input to the ANN. For example, the output layer may implement a softmax function. The classification may be associated with, e.g. comprise, a confidence value. The confidence value may be a probability, determined by the ANN, that the input has been correctly classified by the ANN.

For example, the inputs within the second set may comprise images of one or more vehicle safety signs or hazard warning signs that are known to be displayed on vehicles.

The inputs within the first set comprises images of vehicle number plates. The labels within the first set comprises one or more symbols, e.g. letters and/or digits, visible within the corresponding image.

The inputs within the second set comprise images of one or more predetermined signs, other than number plates, known to be affixed to vehicles. Within the present specification, the term "vehicle signs" means any image, picture or message affixed to or displayed on a vehicle that are determined, by the ANN, to comprise one or more symbols, e.g. characters and/or numbers.

The ANN may be trained using a loss function, such as a cross-entropy loss function, free from an adversarial term. The ANN may be trained using the same loss function and training algorithm, e.g. back propagation algorithm, when training with both the first set and the second set of inputs.

Inputs from the second set may be interspersed with inputs from the first set during training of the ANN, e.g. in the inputs that are fed through or propagated forwards through the ANN during the training process.

The second set of inputs may comprise one or more augmented inputs comprising artificially manipulated versions of another input within the second set, e.g. manipulated using an image processing software or algorithm. Different random labels may be associated with each augmented input and the input from which the augmented input is derived. A different random label may be associated with each of the inputs in the second set, e.g. regardless of whether the particular input shows the same symbols as another of the inputs.

The number of inputs within the second set may be less than or equal to <NUM>%, be less than or equal to <NUM>%, less than or equal to <NUM>%, less than or equal to <NUM>% or less than or equal to <NUM>% of the total number of inputs used to train the ANN.

A method for an artificial neural network, e.g. a method of recognising a vehicle number plate, may comprise:.

The confidence values may represent the probabilities, determined by the artificial neural network, that the respective inputs (images of vehicles) are correctly classified, e.g. recognised, by the determined classifications, and may indicate whether the input is within the intended input distribution, e.g. is an image of a vehicle number plate.

The method may further comprise capturing an image of a vehicle to be used as the input image to be fed through the ANN. The method may further comprise determining whether the classification corresponds to a number of a vehicle plate (or another vehicle sign) based on the confidence value. The method may further comprise determining a location and/or speed of the vehicle based on the determined identity of the vehicle.

A method of determining average speeds of vehicles travelling along a road may comprise:.

According to another aspect of the present disclosure, there is provided a memory, e.g. a computer-readable storage medium, such as a non-transitory computer-readable storage medium, comprising computer-readable instructions, which, when executed by a processor, cause the processor to perform the above-mentioned method.

According to another aspect of the present disclosure, there is provided a memory, e.g. a computer-readable storage medium, such as a non-transitory computer-readable storage medium, storing one or more parameters, such as weights, e.g. kernels, and biases corresponding to nodes and/or connections, defining an Artificial Neural Network (ANN) trained according to the above-mentioned method. The memory may store computer-readable instructions, which, when executed by a processor, cause the processor to process an input using the ANN to determine a classification classifying the input and a confidence valve associated with the classification.

A system may comprise a processor and the above-mentioned memory operatively connected to the processor.

The system may further comprise a first camera, for capturing images of vehicles travelling along a road at a first location, and may further comprise a second camera, for capturing images of vehicles travelling along the road at a second location. The first and second location may be a known distance apart.

The computer-readable instructions stored by the memory may cause images captured by the first and second cameras to be processed by the ANN. The classifications determined by the ANN may correspond to an identity, e.g. symbols comprised in a number plate or a vehicle sign visible in the image. The confidence value may correspond to a probability that the image shows a number plate and that the number plate has been correctly recognised by the ANN.

The ANN may be an ANN trained using to the above-mentioned method. The method may comprise providing an ANN, e.g. a convolutional neural network, trained according to the above-mentioned method, e.g. by training an ANN according to the above-mentioned method.

The invention also provides a computer program or a computer program product for carrying out any of the methods described herein, and a computer readable medium having stored thereon a program for carrying out any of the methods described herein. A computer program embodying the invention may be stored on a computer-readable medium, or it could, for example, be in the form of a signal such as a downloadable data signal provided from an Internet website, or it could be in any other form.

In any of the above aspects, the various features may be implemented in hardware, or as software modules running on one or more processors.

To avoid unnecessary duplication of effort and repetition of text in the specification, certain features are described in relation to only one or several aspects or embodiments of the invention. However, it is to be understood that, where it is technically possible, features described in relation to any aspect or embodiment of the invention may also be used with any other aspect or embodiment of the invention. For example, the features described in relation to the first and second mentioned aspects may be combined with the features of any of the other aspects.

For a better understanding of the present invention, and to show more clearly how it may be carried into effect, reference will now be made, by way of example, to the accompanying drawings, in which:.

With reference to <FIG>, a system <NUM>, in which the average speeds of vehicles <NUM>, <NUM> travelling along a road <NUM> can be determined, will now be described. The system <NUM> comprises a first camera <NUM>, arranged to capture images of the vehicles at a first position P<NUM> along the road, a second camera <NUM>, arranged to capture images of the vehicles at a second position P<NUM> along the road. The first and second cameras <NUM>, <NUM> are arranged such that the first and second positions P<NUM>, P<NUM> are a known distance D apart from each other along the road.

The system <NUM> comprises a vehicle recognition and speed determination system <NUM>. The vehicle recognition and speed determination system <NUM> comprises a vehicle recognition controller <NUM> comprising one or more modules configured to identify vehicles within images captured by the first and second cameras <NUM>, <NUM>.

The terms "recognise a vehicle" and "identify a vehicle" are used in this specification to mean to determine one, more than one or each of the symbols, e.g. characters (letters) and/or digits (numbers), within a number plate (licence plate) of the vehicle, displayed in one or more rows. The term "identity of a vehicle" is used to mean the symbols of the vehicle number plate that have been identified or recognised.

The vehicle recognition controller <NUM> may be provided at the roadside. For example, the vehicle recognition controller <NUM> may be provided in the same housing together with one of the first and second cameras <NUM>, <NUM> and/or may be mounted on the same utility pole, structure or gantry as the first or second camera. Alternatively, the vehicle recognition controller <NUM> may be located remotely from the roadside, e.g. in a remote data centre, and may be configured to receive information from the first and second cameras via a wired or wireless connection, e.g. a network connection.

The system <NUM> may further comprise a speed determination controller <NUM> comprising one or more modules configured to match the vehicles identified in the images captured by the first camera <NUM> with the same vehicle identified in the images captured by the second camera <NUM>, e.g. based on the identities of the vehicles determined by the vehicle recognition controller <NUM>.

The speed determination controller <NUM>, e.g. one or more modules of the speed determination controller, may be further configured to determine an average speed of the matched vehicles based on the times at which the images of the matched vehicles were captured at the first and second locations P<NUM>, P<NUM> and the distance D between the first and second locations.

In other arrangements, the vehicle recognition controller <NUM>, e.g. one or more modules of the vehicle recognition controller <NUM>, may be configured to match the vehicles identified in the images captures by the first and second cameras, and may be configured to determine the average speed of the matched vehicles. In such arrangements, the speed determination controller <NUM> may be omitted.

With reference to <FIG>, the vehicle recognition controller <NUM> may comprise a memory <NUM>, e.g. a computer-readable storage medium, such as a non-transitory computer-readable storage medium, and a processor <NUM> operatively connected to the memory <NUM>. The memory <NUM> may be storing one or more parameters defining an Artificial Neural Network (ANN) <NUM> configured for recognising vehicles within the images captured of the vehicle.

In one or more arrangements, the memory <NUM> may be storing a plurality of weights, e.g. defining one or more kernels, and/or biases corresponding to nodes and/or connections between nodes forming the ANN. The weights and/or biases may be stored within one or more data structures defining an architecture of the ANN.

The memory <NUM> may further store computer-readable instructions <NUM>, which, when executed by a processor, such as the processor <NUM>, cause the processor to feed or propagate an input forwards through the ANN <NUM> and determine an output, e.g. a classification, from the ANN corresponding to the input. In the arrangement shown, the input may comprise an image captured by the first or second camera <NUM>, <NUM> and the output may comprise the identity of the vehicle. In particular the inputs may comprise matrices comprising values representing the pixels of the images captured by the first and second cameras <NUM>, <NUM>, and the outputs may comprise symbols in number plates of vehicles visible in the images.

In one or more arrangements, the ANN <NUM> is a Convolutional Neural Network (CNN). As depicted in <FIG>, the CNN may comprise between <NUM> and <NUM> convolutional layers, such as <NUM> convolutional layers. In one arrangement, the CNN comprises a first convolutional layer <NUM> comprising <NUM>5x5 kernels, a second convolutional layer <NUM> comprising <NUM>3x3 kernels, a third convolutional layer <NUM> comprising <NUM>3x3 kernels, a fourth convolutional layer <NUM> comprising <NUM>1x1 kernels and a fifth convolutional layer <NUM> comprising <NUM>1x1 kernels. In other arrangements, the fifth convolutional layer <NUM> layer may have <NUM>3x3 kernels.

The convolutional layers may operate with a stride of <NUM>. Alternatively, the convolutional layers may operate with a stride greater than <NUM>, such as <NUM>, and may implement valid or same packing, e.g. to preserve the image size. The convolutional layers may use a rectified linear activation function with a small negative slope (leaky ReLU activations).

The CNN may comprise pooling layers, such as max pooling layers, between one, more than one or each of the convolutional layers. For example, the CNN may comprise 2x2 max pooling layers <NUM> after the first, second and third convolutional layers, and may comprise a 1X2 (vertical only) may pooling layer <NUM> after the fifth convolutional layer <NUM>.

The CNN may further comprise one or more fully connected layers <NUM> following the convolutional layer. For example, the CNN may comprise <NUM>, <NUM>, <NUM> or more than <NUM> fully connected layers comprising, for example, <NUM>, <NUM>, or <NUM> nodes, following the convolutional layers.

In another arrangement, the convolutional neural network may comprise a first convolutional layer comprising <NUM><NUM> x <NUM> kernels, a second convolutional layer comprising <NUM><NUM> x <NUM> kernels, a third convolutional layer comprising <NUM>3x3 kernels, a fourth convolutional layer comprising <NUM>3x3 kernels, a fifth convolutional layer comprising <NUM><NUM> x <NUM> kernels, a first fully connected layer comprising <NUM> nodes, a second fully connected layer comprising <NUM> nodes and a third fully connected layer comprising <NUM> nodes.

As depicted in <FIG>, in one or more arrangements, the CNN may comprise two or more separate symbol identification and/or country identifying branches <NUM>, <NUM>, <NUM>, <NUM>, each of the symbol identification branches may be configured for identifying one of several symbols of the number plate. For example, each of the symbol identification braches may be configured to identify a symbol at a particular character position in the vehicle number plate. The country identifying branch may be for identifying the country having issued the number plate.

In the context of the present specification, separation of the branches of the ANN can be understood to mean that no information is transferred from the nodes or layers within one separated branch to the nodes or layers within another of the separated branches.

In the arrangement shown, the CNN comprises four separate branches comprising threes symbol identification branches <NUM>, <NUM>, <NUM> and one country identifying branch <NUM>. As depicted, each of the symbol identification branches may be comprise at least one fully connected layer 252a, 254a, 256a, 258a that is connected to the shared fully connected layers <NUM> following the convolutional layers of the CNN. The fully connected layer within each of the symbol identification branches may be configured to determine the respective symbol present at the characters position in the vehicle number plate that the symbol identification branch is concerned with. The fully connected layer within the country identifying branch may be configured to determine the country having issued the number plate.

The ANN <NUM> may comprise one or more output layers <NUM> configured to output the identity of the vehicle number plate determined using the ANN. The output from the ANN may comprise a series of probabilities of a particular symbol, e.g. letter, digit or space, appearing at a particular character position in the number plate. For example, the output may comprise <NUM> probabilities for each character position in the number plate corresponding to the probabilities of the <NUM> letters in the Latin alphabet, the <NUM> digits or a space appearing at the particular character position on the number plate. The classification may be considered to be the output associated with the highest probability, e.g. for a particular character position in the number plate.

The output layer may comprise <NUM> nodes for each character position in the number plate for outputting the corresponding probabilities. The output layer may implement one or more independent softmax functions (e.g. relating to respective character positions) in order to determine the respective probabilities.

When the ANN <NUM> comprises the plurality of symbol identification branches and/or the country identification branch, the output layers may be provided in the branches. For example, each of the symbol identification branches may comprise a separate output layer configured to output the probabilities of the symbol at the particular position in the number plate that the particular symbol identification branch is concerned with, being each one of the <NUM> possibilities of characters, digits or a space. The country identifying branch may comprise an output layer configured to output the probabilities of the country being issued by each of the countries the ANN is configured to distinguish between.

For example, in one arrangement, the ANN, e.g. the country identification branch of the ANN, is configured to determine whether the country having issued the number plate is the United Kingdom, Germany, France or the Netherlands. In such an arrangement, the output layer provided in the country identification branch comprises <NUM> nodes configured to output the probability of the number plate having been issued by each of the four countries of interest.

The probabilities output by the output layer or layers of the ANN may be referred to as confidence values, and may represent the confidence with which the symbol or country has been identified by the ANN. The confidence values may be affected by factors such as lighting of the number plate in the image and obstructions of the number plate, e.g. by dirt present on the number plate.

It is desirable for the ANN <NUM> to be configured, e.g. structured and/or trained, such that the confidence values of the identified characters are high, e.g. above a predetermined threshold, for substantially all lighting conditions and reasonable levels of obstructions of the number plate, so that a desirable proportion of the vehicles can be confidently identified. The confidence value of a vehicle identity may be defined as the product of more than one or each of the confidence values associated with the individual symbols within the vehicle identity.

When the vehicles identified in the first and second images are being matched, vehicle identities with low confidence value, e.g. less than a predetermined confidence threshold, may be disregarded, in order to avoid incorrectly matching vehicles. Alternatively, any matches made between vehicles relying on low confidence values, may be disregarded, e.g. not used to determine average speeds of the vehicles.

In addition to number plates, vehicles may comprise one or more other signs, such as warning or safety signs, which are similar in appearance to number plates. As noted above, it may be undesirable for vehicles within the first and second images to be matched using identifications of the vehicles determined from images of such other signs.

Accordingly, it may be desirable for the ANN to associate outputs resulting from feeding images of non-number plate signs through the neural network with low confidence values. In particular, it may be desirable for the outputs determined for non-number plate signs to be associated with confidence values that are less than the confidence values achieved by the ANN when the input comprises an image of a dirty number plate or an number plate that is poorly lit.

However, it is a property of ANNs that the network can ascribe a high confidence value to the classification of an input outside of an intended, or target, input distribution of the network, e.g. the distribution of inputs on which the ANN has been trained and is intended to operate on. This arises due to the input being far from any decision hyperplanes in the data space that have been established through training the ANN. This property is illustrated in <FIG>.

As shown in <FIG>, first inputs <NUM>, depicted as triangles, correspond to images having a first classification, second inputs <NUM>, depicted as circles, correspond to images having a second classification, third inputs <NUM> inputs, depicted as squares, correspond to images having a third classification and fourth inputs <NUM>, depicted as crosses, correspond to images having a fourth classification. Through training the ANN, decision hyperplanes <NUM> have been established in the dataspace between the first, second, third and fourth inputs enabling the ANN to correctly classify the first, second, third and fourth inputs.

As depicted in <FIG>, a further input <NUM> outside the intended input distribution of the ANN, such as an image of a non-number plate sign, would be classified by the ANN as being within the fourth classification, due to its location in the dataspace relative to the decision hyperplanes <NUM>. Furthermore, because the further input is far from the decision hyperplanes separating the inputs within the fourth classification from inputs in the other classifications, the ANN will ascribe a high confidence value to the classification of the further input <NUM>.

With reference to <FIG>, in order to reduce the confidence values ascribed to outputs from the ANN when processing images outside the intended input distribution of the ANN, e.g. when processing images of signs other than number plates, the ANN may be trained using a method <NUM>, according to the present disclosure.

The method comprises a first block <NUM>, at which the ANN is trained using a first set of inputs and associated labels, the associated labels correctly classifying the corresponding input. The first set of inputs comprises inputs within an intended input distribution of the ANN. For example, the inputs within the first set of inputs may comprise images of number plates of vehicles.

The ANN <NUM> may be trained using any desirable method. In one arrangement, the ANN is trained by determining a cross-entropy loss, based on a comparison between the output determined by the ANN and the label associated with the input in the training set, and updating the weights and biases of the ANN using a back propagation algorithm implementing gradient decent. The ANN may be updated using batch or stochastic updates. In other arrangements, the ANN may be trained using the first set of inputs following any other desirable training procedure.

When the ANN comprises the separate symbol identification branches and/or country identification branch, a separate loss may be determined for the output of each branch and the respective updates may be back propagated through each branch and combined in order to update the nodes within the shared layers of the ANN.

The method <NUM> comprises a second block <NUM>, at which the ANN <NUM> is trained using a second set of inputs and associated labels. The inputs within the second set of inputs may be outside of the intended input distribution of the ANN. For example, the inputs within the second set of inputs may comprise images of signs other than number plates, such as warning or safety signs, that may be affixed to road vehicles. More particularly, the inputs within the second set may comprise images of one or more predetermined signs, other than number plates, that are known to be affixed to road vehicles and which it is undesirable to confidently recognise using the ANN.

The labels within the second set may comprise randomly generated/assigned labels. A different random label may be associated with each of the inputs within the second set. In some arrangements, the inputs within the second set may comprise a plurality of images of the same sign, for example, the second set may comprise one or more augmented inputs comprising artificially manipulated versions of another input in the second set. A different label may be associated with the each of the inputs, e.g. regardless of whether the input image shows the same or a different sign.

The ANN <NUM> may be trained using the second set of inputs and associated labels using the same training method used when training the ANN using the first set of inputs and associated labels. In particular, the loss function and back propagation algorithm may be the same when training using the first and second sets. The loss function may be free from any adversarial term.

With reference to <FIG>, training the ANN using the second set of inputs and associated labels, in addition to the first set, may lead to the definition of a plurality of further decision hyperplanes <NUM> in the dataspace of inputs that are close to the inputs in the second set, e.g. closer to the inputs within the second set than the decision hyperplanes <NUM> between the inputs in the first set.

Following training of the ANN using the method <NUM>, feeding the input <NUM> through the ANN may no longer provide the same output as when an input corresponding to the fourth classification is input to the ANN. Further, the confidence value associated with the output resulting from the input <NUM> being fed through the ANN will be reduced, due to the presence of the further decision hyperplanes <NUM> defined by the ANN in the dataspace close to the input <NUM>.

Returning to <FIG>, the second block <NUM> may follow the first block <NUM>. In other words, the ANN may be trained using the first set and may subsequently be trained using the second set. Alternatively, the first and second blocks <NUM>, <NUM> may be substantially simultaneous. The inputs within the second set may be interspersed with the inputs within the first set when providing inputs to the ANN during training.

The number of inputs within the second set of inputs may be selected such that confidence values ascribed to outputs, which result from inputting images of the predetermined signs other than number plates into the ANN, are below a threshold confidence. In some arrangements, the number of inputs within the second set of inputs may be selected such that confidence values ascribed to outputs determined for inputs comprising images of the predetermined signs, other than number plates, are less than the confidence values ascribed to outputs determined for inputs comprising images of vehicle number plates that are poorly lit, dirty or otherwise partially obscured, but still able to be correctly recognised by the ANN.

For example, the number of inputs and associated labels in the second set may be approximately equal to or less than <NUM>% of the total number of inputs used to train the ANN. In other arrangements, the number of inputs and associated labels in the second set may be approximately equal to or less than <NUM>%, <NUM>%, <NUM>% or <NUM>% of the total number of inputs used to train the ANN <NUM>. The number of inputs and associated labels in the second set may be approximately equal to greater than <NUM>%, <NUM>%, <NUM>% or <NUM>% of the total number of inputs used to train the ANN <NUM>.

With reference to <FIG>, a system <NUM> for training an ANN, such as the ANN <NUM>, according to the method <NUM>, comprises a processor <NUM> and a memory <NUM>, the memory <NUM> storing computer readable instructions, which, when executed by the processor cause the processor to perform the method <NUM> to train the ANN.

In some arrangements, the ANN <NUM>, e.g. the parameters defining the ANN may be stored on the memory <NUM>. Alternatively, the processor <NUM> may be connected to a further memory <NUM> storing the parameters defining the ANN and may update the parameters stored in the further memory whilst performing the method <NUM>.

Similarly, the first and/or second sets of inputs and associated labels may be stored on the memory <NUM>. Alternatively, the first and/or second sets of inputs and associated labels may be stored on the further memory or another memory associated with the processor.

With reference to <FIG>, the vehicle recognition and speed determination system <NUM> shown in <FIG>, may be configured to recognise vehicles and may be configured to determine locations and/or speeds, e.g. average speeds, of vehicles travelling along the road <NUM>, within the system <NUM>, according to a method <NUM>.

The method <NUM> may comprise an initial block <NUM> at which an ANN trained according to the method <NUM> is provided. For example, the method <NUM> may comprise, at the initial block <NUM>, reading parameters defining the ANN into a memory, e.g. associated with a controller to perform one or more of the remaining steps of the method <NUM>. Alternatively, a memory having the parameters defining the ANN stored thereon may be associated with, e.g. operatively connected to, the controller to perform one or more of the remaining steps of the method <NUM>. In some arrangements, providing the ANN may comprise, at the initial block <NUM>, training an ANN using the method <NUM>.

The method <NUM> may comprise a first block <NUM> at which one or more images of vehicles are captured. For example, images may be captured of the vehicles at first and second locations P1, P2 along a road <NUM>, e.g. by the first and second cameras <NUM>, <NUM>.

The method <NUM> comprises a second block <NUM>, at which vehicle number plates within the images are recognised, e.g. using the ANN <NUM>. At the second block <NUM>, vehicle signs other than number plates may also be recognised by the ANN. However, due to the method by which the ANN <NUM> has been trained, confidence values associated with the outputs given by the ANN may be reduced when the input comprises an image showing a sign other than a number plate. In particular, the confidence value may be reduced when the input comprises an image of one of the predetermined signs that were shown in images within the second set of inputs, used to train the ANN.

The method <NUM> may comprise a third block <NUM>, at which one or more recognised vehicle identities associated, by the ANN, with confidence values that are less than a predetermined confidence threshold are disregarded.

The identity of the vehicle, e.g. determined by recognising the number plate of the vehicle using the ANN, may be used to determining a location and/or speed of the vehicle, e.g. based on the location in which the image used as the input to the ANN was captured and/or the time at which it was captured.

The method may further comprise a fourth block <NUM>, at which vehicles within the images captured at the first and second locations are matched based on the recognised vehicle identities that have not been disregarded.

In the arrangement described, the one or more vehicle identities associated with low confidence values are disregarded prior to the vehicle being matched based on the identities that have not been disregarded. However in other arrangement, the vehicles may be matched based on the determined identities and subsequently matches may be disregarded if the match was performed based on an identity associated with a low confidence value.

The method <NUM> may further comprise a fifth block, at which average speeds of vehicles having the matched identities are determined based on the times at which the images of the vehicles were captured at the first and second locations and the distance between the first and second locations.

Claim 1:
A method for an artificial neural network, the method comprising:
providing the artificial neural network, wherein the artificial neural network is trained to reduce the confidence of the artificial neural network in classifying inputs outside a desirable input distribution by:
training the artificial neural network using a first set of inputs and associated labels, the labels correctly classifying the corresponding inputs, wherein the inputs within the first set are within the desirable input distribution of the artificial neural network, wherein the inputs within the first set comprises images of road vehicle number plates; and
training the artificial neural network using a second set of inputs and associated labels, wherein the inputs within the second set are outside of the desirable input distribution of the artificial neural network, wherein the inputs within the second set comprise images of one or more predetermined signs, other than number plates, known to be affixed to road vehicles, and wherein the labels within the second set comprise randomly assigned classifications; and
feeding one or more inputs through the artificial neural network to determine classifications, classifying the inputs, and confidence values associated with the classifications.