A vehicle re-identification method based on multi-branch enhanced discriminative feature extraction
By employing a multi-branch enhanced discriminative feature extraction method, the robustness and versatility issues of existing vehicle re-identification methods when migrating between different datasets are addressed. This enables high-precision vehicle identification under camera occlusion and lighting variations, thereby reducing identification costs.
Patent Information
- Application Number
- CN202210873517.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-22
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2042-07-22
AI Technical Summary
Existing vehicle re-identification methods rely on manually labeled data or specific datasets, which leads to misalignment of the region of interest when migrating between different datasets. This results in poor robustness and versatility, as well as low accuracy under camera occlusion and lighting changes.
A multi-branch enhanced discriminative feature extraction method is adopted, which uses shared convolutional layers to extract global features, combines global and local branch processing, and optimizes the network through cross-entropy and triplet loss functions to achieve end-to-end vehicle re-identification without relying on manual labeling or specific datasets.
It improves the robustness and generalization ability of vehicle re-identification, reduces the impact of lighting and angle changes, achieves high-precision vehicle identification, and reduces costs.
Smart Images

Figure CN115223111B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer vision and image classification and recognition analysis, and in particular to a vehicle re-identification method based on multi-branch enhanced discriminative feature extraction. Background Technology
[0002] Vehicle re-identification refers to the task of recognizing the same vehicle among numerous cameras (image sources). The technology of re-identifying target vehicles across different cameras has already been implemented in the field of intelligent transportation. In the real world, object images captured by cameras are affected by factors such as lighting, angle, and occlusion, making it very difficult and meaningful to find discriminative, nuanced features.
[0003] Most existing methods focus on extracting local features and combining them with global features for joint discrimination. Some methods utilize attention mechanisms to obtain local feature regions, guiding the model to acquire features from these local areas. However, attention mechanisms themselves rely on global information provided by global features, so they cannot effectively capture specific, subtle regions. Other methods attempt to introduce manually labeled information, such as headlights, front of the vehicle, and wheels, using keypoint information to guide the model to learn information from various key points for comprehensive discrimination. However, these methods do not consider the relationships between local features, and in practical applications, cameras are often constrained by occlusion, lighting, and viewing angle conditions. Manually labeled information may not be effective, resulting in poor robustness of extracted features and low retrieval accuracy.
[0004] Methods that utilize attention mechanisms to acquire local features or rely on manually labeled models to guide the acquisition of local features are typically highly dependent on the data itself. Transferring attention mechanisms from one dataset to another may cause misalignment of the regions of interest, while methods relying on manually labeled data can only be used with manually labeled data. However, a large amount of real-world data is unlabeled, and manual labeling is expensive. These methods generally lack universality and applicability when dealing with different datasets. Therefore, proposing a method with high universality and strong discriminative power is crucial. Summary of the Invention
[0005] This invention proposes a vehicle re-identification method based on multi-branch enhanced discriminative feature extraction, which can achieve satisfactory similarity results without relying on any manual labeling or specific datasets.
[0006] The present invention adopts the following technical solution.
[0007] A vehicle re-identification method based on multi-branch enhanced discriminative feature extraction is used to retrieve similar vehicles in an image source based on vehicle appearance, including the following steps;
[0008] Step S1: Select the network used for pedestrian re-identification as the backbone network of the vehicle re-identification network model to be trained, define the network optimizer and training parameters used for model training, and initialize the model to be trained.
[0009] Step S2: Integrate the vehicle images used for training the vehicle re-identification network model into a training dataset, and expand the dataset by transforming the images.
[0010] Step S3: Train the vehicle re-identification network model. Input the dataset images into the shared convolutional layer. The high-level global feature information of the input images is extracted through the shared convolutional layer to reduce the amount of repeated calculation. Then, the obtained features are input into the global branch, horizontal branch, and vertical branch for processing.
[0011] Step S4: The global branch extracts global features and global attention features, which are then input into the loss module to calculate the global loss.
[0012] Step S5: The horizontal branch divides the global feature map into four non-overlapping sub-feature maps of the same size along the width, and inputs the sub-feature maps into the loss module to calculate the local loss.
[0013] Step S6: The vertical branch divides the global feature map into four non-overlapping sub-feature maps of the same size along the channel dimension, and inputs the sub-feature maps into the loss module to calculate the local loss.
[0014] Step S7: Perform backpropagation based on the losses from steps S3 to S6, and adjust the parameters of the vehicle re-identification network.
[0015] Step S8: Repeat steps S2 to S7 until the maximum number of training iterations set for the network is reached;
[0016] Step S9: Save the model parameters with the highest classification accuracy, which will be used to retrieve the vehicle most similar to the target vehicle from the vehicle images provided by the image source.
[0017] The backbone network in step S1 is OSNet, which loads the ImageNet pre-trained model. The network optimizer is Adam and the adaptive gradient algorithm Amsgrad is enabled.
[0018] When initializing the model to be trained, the initial parameters are set with the following parameters: the first estimated exponential decay rate (beta1) is set to 0.9, the second estimated exponential decay rate (beta2) is set to 0.999, and the initial epsilon is set to 1x10⁻⁸ to prevent any numbers from being split by 0. In the initial configuration parameters, the maximum number of training iterations is set to 130, and the initial learning rate is 6x10⁻⁸. -4 The image size for the input model is fixed at 256x256.
[0019] In step S2, the training dataset is augmented by the following processes: the length and width of the input image are increased by 105%, images of the original length and width are randomly cropped, the images are randomly flipped horizontally, a small area of pixel values is randomly occluded in the image, and the images are standardized and averaged. The validation data of the training dataset is processed as follows: the length and width of the input image are modified to the given standard length and width, and the images are standardized and averaged.
[0020] Step S3 specifically includes the following steps: The image input to the network model first enters the shared convolutional layer, which consists of the first three layers of ResNet50, F(i). When the input image x... i Feature A is obtained through the shared layer. i A i =F(x) i ).
[0021] Step S4 specifically includes the following steps: Feature A i Global feature extractor F entering the global branch module global (A i ), and global attention feature extractor F drop (A i Furthermore, the global branch module uses the last two layers of OSNet as feature extraction layers. The features obtained through the two extractors are then processed by average pooling (Avgpool) and max pooling (Maxpool) to obtain 512-dimensional feature maps G and G'. drop ; G and G obtained from the global branch drop The features are fed into the batch normalization (BN) layer, and the results are fed into the loss module to calculate the loss value.
[0022] Step S5 specifically includes the following steps: Feature A i Enter horizontal branch module F h (A i First, max pooling is used to obtain the maximum feature h of the entire horizontal module with 512 dimensions. gThen, the entire feature map is divided into four sub-feature maps with equal number of channels, and average pooling (Avgpool) is used to extract the average features h0, h1, h2, h3 on the four sub-maps respectively.
[0023] Sub-features h0, h1, h2, and h3 are each fed into a 1x1 convolutional kernel to modify the dimensional space, resulting in a 512-dimensional feature vector. These vectors are then fed into a batch normalization (BN) layer, and the normalized results are fed into the loss module to calculate the loss value.
[0024] Step S6 specifically includes the following steps: The features enter the vertical branch module, and the obtained vector is divided into four groups of feature vectors v0, v1, v2, and v3 with a length of 128 dimensions by average pooling (Avgpool);
[0025] Sub-features v0, v1, v2, and v3 are modified in spatial dimension using 1x1 convolutional kernels to obtain 512-dimensional vectors, sharing convolutional parameters. These vectors are then sequentially fed into a batch normalization (BN) layer, and the normalized results are fed into the loss module to calculate the loss value. The batch normalization (BN) layer specifically includes the following steps: normalizing the input feature vectors using `nn.BatchNorm1d(dim=512)` to enhance data stability; and inputting the normalized feature vectors into a fully connected layer `nn.Linear(dim=512, num_classess)` for classification.
[0026] Step S7 specifically includes the following steps: calculating the classification loss value using cross-entropy loss (CE), incorporating all feature vectors obtained after batch normalization into the cross-entropy loss calculation, and defining the cross-entropy loss as L. ce The specific loss function formula is as follows:
[0027]
[0028] Here p i It is the predicted probability of the model classification, y i It's a real label.
[0029] Triplet loss is used to perform metric learning on the features, enabling the target object to narrow the distance between positive sample positions and narrow the distance between negative sample positions; the feature vector h before batch normalization is used. g G, G drop The loss value is calculated using the triplet loss function, and the triplet loss is defined as L. tri The specific formula is as follows:
[0030]
[0031] In the formula, n is the number of batches. The feature vector representing the current target, The feature vector representing the positive samples at a distance from the current anchor. The feature vector representing the negative sample distance from the current anchor. The distance is calculated using the L2 norm normalized method, with the initial value of α set to 0.7.
[0032] To balance the losses from cross-entropy loss and triplet loss, the coefficients of both loss functions are set to 0.5. The resulting minimum loss value is then used to update the gradient of the entire model, as shown in the following formula:
[0033] L = 0.5 * L ce +0.5*L tri Formula 3.
[0034] In step S9, the image of the target vehicle is transformed to obtain a four-dimensional vector input model, and the global branch yields the feature vector G. drop The horizontal branch yields the eigenvector H. g The three feature vectors are concatenated together to stretch the dimension of the verification vector: concat(G, G... drop H g ), concat is a concatenation operation;
[0035] The feature vectors of the obtained target vehicle image are used to calculate the similarity with the image vectors of the source vehicle images to be retrieved. Based on the similarity score, the image source vehicle image most similar to the target vehicle is then searched. Specifically, a distance matrix is generated from the feature vectors, and the similarity is calculated based on the distance matrix. The normalized features of the vehicle to be detected are denoted as f. i The features extracted from the test set are denoted as F. i The formula is as follows:
[0036]
[0037] The cosine similarity is calculated between two vectors. The vehicle most similar to the target vehicle is then searched based on this similarity.
[0038] This invention is based on a traditional convolutional neural network (CNN) model and is an end-to-end vehicle re-identification method. By learning to extract the most discriminative subtle features, the model has strong discriminative ability. Moreover, the method of extracting subtle features does not rely on any manual labeling or specific datasets to achieve satisfactory results.
[0039] This invention adopts a multi-branch design structure, which has higher robustness and generalization ability in feature extraction compared with a single-structure model. In addition, in the vehicle re-identification task, under the conditions of camera angle limitation and lighting influence, the most discriminative subtle surface features are sufficient to play a distinguishing role, further reducing the influence of conditions on classification and improving the overall vehicle re-identification effect.
[0040] Compared with the prior art, the present invention has the following beneficial effects:
[0041] (1) Achieve high-precision vehicle identification.
[0042] (2) Achieve cost savings in vehicle identification.
[0043] (3) The method proposed in this invention has high scalability and can be applied to other network structures. Attached Figure Description
[0044] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments:
[0045] Appendix Figure 1 This is a schematic flowchart of the identification process of the method described in this invention;
[0046] Appendix Figure 2 This is a schematic diagram of the vehicle re-identification network model in this invention. Detailed Implementation
[0047] As shown in the figure, a vehicle re-identification method based on multi-branch enhanced discriminative feature extraction is used to retrieve similar vehicles in an image source based on vehicle appearance, including the following steps;
[0048] Step S1: Select the network used for pedestrian re-identification as the backbone network of the vehicle re-identification network model to be trained, define the network optimizer and training parameters used for model training, and initialize the model to be trained.
[0049] Step S2: Integrate the vehicle images used for training the vehicle re-identification network model into a training dataset, and expand the dataset by transforming the images.
[0050] Step S3: Train the vehicle re-identification network model. Input the dataset images into the shared convolutional layer. The high-level global feature information of the input images is extracted through the shared convolutional layer to reduce the amount of repeated calculation. Then, the obtained features are input into the global branch, horizontal branch, and vertical branch for processing.
[0051] Step S4: The global branch extracts global features and global attention features, which are then input into the loss module to calculate the global loss.
[0052] Step S5: The horizontal branch divides the global feature map into four non-overlapping sub-feature maps of the same size along the width, and inputs the sub-feature maps into the loss module to calculate the local loss.
[0053] Step S6: The vertical branch divides the global feature map into four non-overlapping sub-feature maps of the same size along the channel dimension, and inputs the sub-feature maps into the loss module to calculate the local loss.
[0054] Step S7: Perform backpropagation based on the losses from steps S3 to S6, and adjust the parameters of the vehicle re-identification network.
[0055] Step S8: Repeat steps S2 to S7 until the maximum number of training iterations set for the network is reached;
[0056] Step S9: Save the model parameters with the highest classification accuracy, which will be used to retrieve the vehicle most similar to the target vehicle from the vehicle images provided by the image source.
[0057] The backbone network in step S1 is OSNet, which loads the ImageNet pre-trained model. The network optimizer is Adam and the adaptive gradient algorithm Amsgrad is enabled.
[0058] When initializing the model to be trained, the initial parameters are set with the following parameters: the first estimated exponential decay rate (beta1) is set to 0.9, the second estimated exponential decay rate (beta2) is set to 0.999, and the initial epsilon is set to 1x10⁻⁸ to prevent any numbers from being split by 0. In the initial configuration parameters, the maximum number of training iterations is set to 130, and the initial learning rate is 6x10⁻⁸. -4 The image size for the input model is fixed at 256x256.
[0059] In step S2, the training dataset is augmented by the following processes: the length and width of the input image are increased by 105%, images of the original length and width are randomly cropped, the images are randomly flipped horizontally, a small area of pixel values is randomly occluded in the image, and the images are standardized and averaged. The validation data of the training dataset is processed as follows: the length and width of the input image are modified to the given standard length and width, and the images are standardized and averaged.
[0060] Step S3 specifically includes the following steps: The image input to the network model first enters the shared convolutional layer, which consists of the first three layers of ResNet50, F(i). When the input image x... i Feature A is obtained through the shared layer. i A i =F(x) i ).
[0061] Step S4 specifically includes the following steps: Feature A i Global feature extractor F entering the global branch module global (A i ), and global attention feature extractor F drop (A i Furthermore, the global branch module uses the last two layers of OSNet as feature extraction layers. The features obtained through the two extractors are then processed by average pooling (Avgpool) and max pooling (Maxpool) to obtain 512-dimensional feature maps G and G'. drop ; G and G obtained from the global branch drop The features are fed into the batch normalization (BN) layer, and the results are fed into the loss module to calculate the loss value.
[0062] Step S5 specifically includes the following steps: Feature A i Enter horizontal branch module F h (A i First, max pooling is used to obtain the maximum feature h of the entire horizontal module with 512 dimensions. g Then, the entire feature map is divided into four sub-feature maps with equal number of channels, and average pooling (Avgpool) is used to extract the average features h0, h1, h2, h3 on the four sub-maps respectively.
[0063] Sub-features h0, h1, h2, and h3 are each fed into a 1x1 convolutional kernel to modify the dimensional space, resulting in a 512-dimensional feature vector. These vectors are then fed into a batch normalization (BN) layer, and the normalized results are fed into the loss module to calculate the loss value.
[0064] Step S6 specifically includes the following steps: The features enter the vertical branch module, and the obtained vector is divided into four groups of feature vectors v0, v1, v2, and v3 with a length of 128 dimensions by average pooling (Avgpool);
[0065] Sub-features v0, v1, v2, and v3 are modified in spatial dimension using 1x1 convolutional kernels to obtain 512-dimensional vectors, sharing convolutional parameters. These vectors are then sequentially fed into a batch normalization (BN) layer, and the normalized results are fed into the loss module to calculate the loss value. The batch normalization (BN) layer specifically includes the following steps: normalizing the input feature vectors using `nn.BatchNorm1d(dim=512)` to enhance data stability; and inputting the normalized feature vectors into a fully connected layer `nn.Linear(dim=512, num_classess)` for classification.
[0066] Step S7 specifically includes the following steps: calculating the classification loss value using cross-entropy loss (CE), incorporating all feature vectors obtained after batch normalization into the cross-entropy loss calculation, and defining the cross-entropy loss as L. ce The specific loss function formula is as follows:
[0067]
[0068] Here p i It is the predicted probability of the model classification, y i It's a real label.
[0069] Triplet loss is used to perform metric learning on the features, enabling the target object to narrow the distance between positive sample positions and narrow the distance between negative sample positions; the feature vector h before batch normalization is used. g G, G drop The loss value is calculated using the triplet loss function, and the triplet loss is defined as L. tri The specific formula is as follows:
[0070]
[0071] In the formula, n is the number of batches. The feature vector representing the current target, The feature vector representing the positive samples at a distance from the current anchor. The feature vector representing the negative sample distance from the current anchor. The distance is calculated using the L2 norm normalized method, with the initial value of α set to 0.7.
[0072] To balance the losses from cross-entropy loss and triplet loss, the coefficients of both loss functions are set to 0.5. The resulting minimum loss value is then used to update the gradient of the entire model, as shown in the following formula:
[0073] L = 0.5 * L ce +0.5*L tri Formula 3.
[0074] In step S9, the image of the target vehicle is transformed to obtain a four-dimensional vector input model, and the global branch yields the feature vector G. drop The horizontal branch yields the eigenvector H. g The three feature vectors are concatenated together to stretch the dimension of the verification vector: concat(G, G... drop H g ), concat is a concatenation operation;
[0075] The feature vectors of the obtained target vehicle image are used to calculate the similarity with the image vectors of the source vehicle images to be retrieved. Based on the similarity score, the image source vehicle image most similar to the target vehicle is then searched. Specifically, a distance matrix is generated from the feature vectors, and the similarity is calculated based on the distance matrix. The normalized features of the vehicle to be detected are denoted as f. i The features extracted from the test set are denoted as F. i The formula is as follows:
[0076]
[0077] The cosine similarity is calculated between two vectors. The vehicle most similar to the target vehicle is then searched based on this similarity.
[0078] In this example, the image source is a camera. Under environmental conditions where the camera angle is limited and lighting conditions are affected, the combination of vehicle reflection and other subtle surface features can also form the discrimination conditions for the vehicle re-identification task described in this invention.
Claims
1. A vehicle re-identification method based on multi-branch enhanced discriminative feature extraction, for retrieving similar vehicles in a search image source by vehicle appearance, characterized in that: Comprising the following steps; Step S1, select a network for pedestrian re-identification as the backbone network of the vehicle re-identification network model to be trained, define the network optimizer and training parameters for model training, and initialize the model to be trained; The backbone network of step S1 is the network OSNet loaded with the ImageNet pre-trained model, and the network optimizer selects Adam and opens the adaptive gradient algorithm Amsgrad setting; Step S2, integrate the vehicle pictures for vehicle re-identification network model training into a training data set, and expand the data set by transforming the pictures; Step S3, train the vehicle re-identification network model, input the data set pictures into the shared convolutional layer, extract the high-level global feature information of the input pictures through the shared convolutional layer to reduce the amount of repeated calculation, and then input the obtained features into the global branch, horizontal branch and vertical branch for processing; Step S4, the global branch inputs the extracted global feature and global attention feature into the loss module to calculate the global loss; Step S5, the horizontal branch cuts the global feature map into four non-overlapping sub-feature maps of the same size along the width, and inputs the sub-feature maps into the loss module to calculate the local loss; Step S6, the vertical branch cuts the global feature map into four non-overlapping sub-feature maps of the same size along the channel dimension, and inputs the sub-feature maps into the loss module to calculate the local loss; Step S7, according to the loss of steps S3 to S6, adjust the parameters of the vehicle re-identification network; Step S8, repeat steps S2 to S7 until the maximum number of network training settings is reached; Step S9, save the model parameters with the highest classification accuracy for retrieving the most similar vehicle to the target vehicle from the vehicle pictures provided by the image source; In step S3, specifically comprising the following steps: the picture input to the network model first enters the shared convolutional layer, which is composed of the first three layers of ResNet50 F(i), when the input picture x i Through the shared layer, the feature A is obtained i , A i =F(x i ); In step S4, the following steps are included: feature A i The global feature extractor F of the global branch module global (A i ), and the global attention feature extractor F drop (A i ), and the global branch module uses the last two layers of the OSNet as the feature extraction layer, and the features obtained by the two extractors enter the average pooling (Avgpool) and the maximum pooling (Maxpool) respectively to obtain 512-dimensional feature maps G and G drop ; the G and G drop features obtained by the global branch enter the batch normalization (BN) layer respectively, and the results obtained enter the loss module to calculate the loss value; In step S5, the following steps are specifically included: feature A i Enter the horizontal branch module F h (A i ), first use Maxpool to obtain the maximum feature h of the entire horizontal module 512 dimensions g , then cut the entire feature map into four groups of sub-feature maps with equal channel numbers and use Avgpool to extract the average features h0, h1, h2, h3 on the four sub-maps respectively; The sub-features h0, h1, h2, h3 enter the 1X1 size convolution kernel to modify the dimension space to obtain a 512-dimensional feature vector, and then sequentially enter the batch normalization BN layer, and the normalized results enter the loss module to calculate the loss value; In step S6, the following steps are included: the features enter the vertical branch module, and the obtained vectors are cut into four groups of 128-dimensional feature vectors v0, v1, v2, v3 through average pooling (Avgpool); The sub-features v0, v1, v2, v3 use a 1X1 size convolution kernel to modify the spatial dimension to obtain a 512-dimensional vector, and the convolution parameters are shared; then sequentially enter the batch normalization BN layer, and the normalized results enter the loss module to calculate the loss value; the batch normalization BN layer includes the following steps: normalize the input feature vector nn. BatchNorm1d, dim=512 to enhance the stability of the data; input the normalized feature vector into the full connection layer nn. Linear, dim=512, num_classess for classification. 2.The vehicle re-identification method based on multi-branch enhanced discriminative feature extraction of claim 1, characterized in that: When initializing the model to be trained, the exponential decay rate beta1 of the first estimate of the initial parameter is set to 0.9, the exponential decay rate beta2 of the second estimate of the initial parameter is set to 0.999, and the initial epsilon is set to 1x10-8 to prevent any number from being divided by 0; in the initial configuration parameter setting, the maximum number of training times is set to 130, the initial learning rate is 6x10 -4 , and the picture size of the input model is fixed to 256x256. 3.The vehicle re-identification method based on multi-branch enhanced discriminative feature extraction of claim 1, characterized in that: In step S2, the training data set is expanded by the following processing: increasing the length and width of the input picture by 105%, randomly cropping the picture to the original length and width, randomly flipping the picture horizontally, randomly masking a small area of pixel values in the picture, normalizing and averaging the picture. The validation data of the training data set is processed as follows: modifying the length and width of the input picture to a given standard length and width, normalizing and averaging the picture. 4.The vehicle re-identification method based on multi-branch enhanced discriminative feature extraction of claim 1, characterized in that: In step S7, the following steps are specifically included: using cross-entropy loss CE to calculate a classification loss value, and entering all the feature vectors after batch normalization into the cross-entropy loss to calculate the loss value, and the cross-entropy loss is defined as L ce The specific loss function formula is as follows: Here p i is the predicted probability of the model classification, y i is the true label; The feature is subjected to metric learning using a triplet loss, so that the target object can pull the distance between the positive samples position, and reduce the distance between the negative samples negative; the feature vector h before batch normalization g G, G drop into the triplet loss to calculate the loss value, and the triplet loss is defined as L tri The specific formula is as follows: n is a batch number in the formula, a feature vector representing a current target, a feature vector representing a positive sample distant from a current anchor, a feature vector representing a negative sample distant from a current anchor, L2 norm normalization is used to calculate a distance, and the value of a is initially set to 0.7; In order to balance the loss values of cross-entropy loss and triplet loss, the coefficients of the two loss functions are set to 0.5, and the final loss value is used to update the gradient of the entire model, and the specific formula is as follows: L = 0.5 * L ce + 0.5 * L tri Equation Three. 5.The vehicle re-identification method based on multi-branch enhanced discriminative feature extraction of claim 1, characterized in that: In step S9, the picture of the target vehicle is converted into a four-dimensional vector input model, and the global branch obtains a feature vector G, G drop The horizontal branch obtains a feature vector H g The three obtained feature vectors are spliced together to stretch the dimension of the verification vector: concat(G, G drop ,H g ), concat is a splicing operation; The feature vector of the obtained picture of the target vehicle is used to calculate the similarity with the image source vehicle picture vector to be retrieved, and the most similar image source vehicle picture of the vehicle object is queried according to the size of the similarity; specifically, a distance matrix is generated according to the feature vector, the similarity is calculated according to the distance matrix, and the normalized feature of the vehicle to be detected is denoted as f i , the feature extracted from the test set is denoted as F i , and the formula is as follows: Cosine is the cosine similarity of two vectors, and the similarity calculated by the above formula is used to find the most similar vehicle to the vehicle to be searched.