Method and apparatus for generating quality score for image, device, and product

By training a first network to generate a probability distribution of candidate quality scores using hierarchical feature extraction and fusion, the method addresses the challenge of differentiating distortion levels in IQA, enhancing accuracy and performance in image quality assessment.

WO2026097563A1PCT designated stage Publication Date: 2026-05-15BAYERISCHE MOTOREN WERKE AG +1
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
BAYERISCHE MOTOREN WERKE AG
Filing Date
2024-11-11
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing image quality assessment (IQA) methods, particularly deep learning-based approaches, struggle with differentiating varying degrees of distortion in images, leading to overfitting issues and reduced accuracy in predicting quality scores.

Method used

A first network is trained to generate a probability distribution of candidate quality scores based on an image, using a second network's ground truth probability distribution for training, and employs hierarchical feature extraction and fusion to capture both low-level and high-level image details, enhancing the network's ability to learn correlations among distortion levels.

Benefits of technology

The proposed method improves the accuracy and performance of image quality scoring by learning correlations among different degrees of distortion, providing a more comprehensive and accurate quality assessment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024131239_15052026_PF_FP_ABST
    Figure CN2024131239_15052026_PF_FP_ABST
Patent Text Reader

Abstract

The embodiments of the present disclosure relate to a method and apparatus for generating a quality score for an image, a device, and a computer program product. The method comprises obtaining an image captured by a camera of a vehicle. The method further comprises generating, by a first network, a probability distribution of a plurality of candidate quality scores based on the image, wherein the first network is trained based on a probability distribution generated by a second network as a ground truth. In addition, the method further comprises determining a target quality score from the plurality of candidate quality scores based on the probability distribution. In this way, the performance of the first network can be improved, and the accuracy of the determined quality score for the image can be improved as well.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS FOR GENERATING QUALITY SCORE FOR IMAGE, DEVICE, AND PRODUCTFIELD

[0001] Embodiments of the present disclosure generally relate to image processing, and in particular, to a method and apparatus for generating a quality score for an image, a device, and a computer program product.BACKGROUND

[0002] Image Quality Assessment (IQA) is an area in computer vision and image processing that evaluates the quality of images based on human perception. IQA encompasses both subjective methods and objective methods. In subjective methods, human observers rate image quality through approaches like Mean Opinion Score (MOS) . In objective methods, algorithms are utilized to predict quality score without human input.

[0003] A quality score for an image is a numerical representation that indicates the perceived quality of that image based on various metrics and criteria. This score is essential in fields like image processing, computer vision, and digital content creation, as it helps evaluate how well an image meets certain quality standards. Quality scores can be derived from both subjective and objective measurements. Subjective assessments involve human ratings, while objective scores are calculated based on some algorithms.SUMMARY

[0004] In general, embodiments of the present disclosure provide a scheme for generating a quality score for an image.

[0005] In a first aspect according to some embodiments of the present disclosure, a method for generating a quality score for an image is provided. The method comprises obtaining an image captured by a camera of a vehicle. The method further comprises generating, by a first network, a probability distribution of a plurality of candidate quality scores based on the image, wherein the first network is trained based on a probability distribution generated by a second network as a ground truth. In addition, the method further comprises determining a target quality score from the plurality of candidate quality scores  based on the probability distribution. In this way, the first network can learn the correlations among different degrees of distortion through the probability distribution. Thus, the performance of the first network can be improved, and the accuracy of the determined quality score for the image can be improved as well.

[0006] In some embodiments of the first aspect, generating, by the first network, the probability distribution of the plurality of candidate quality scores based on the image comprises: generating a plurality of hierarchical features corresponding to a plurality of information levels based on the image; and generating the probability distribution of the plurality of candidate quality scores based on the plurality of hierarchical features. By generating hierarchical features from the image, the first network can capture information from different levels of abstraction including low-level features (such as edges and textures) and high-level semantic features (such as objects and context) . This comprehensive representation ensures that the quality evaluation considers both fine-grained and high-level aspects of the image.

[0007] In some embodiments of the first aspect, the plurality of hierarchical features comprises a first level feature corresponding to a first information level and a second level feature corresponding to a second information level, the second information level is more abstract than the first information level, and generating the plurality of hierarchical features corresponding to the plurality of information levels based on the image comprises: generating, by a first convolution block in the first network, the first level feature based on the image; and generating, by a second convolution block in the first network, the second level feature based on the first level feature. In this way, the first network can obtain hierarchical features for different information levels from the image.

[0008] In some embodiments of the first aspect, generating the probability distribution of the plurality of candidate quality scores based on the plurality of hierarchical features comprises: generating a fused feature by fusing the first level feature and the second level feature; and generating the probability distribution of the plurality of candidate quality scores based on the fused feature. In this way, fusing features in different levels allows the network to combine both basic (e.g., low-level) details and more abstract (e.g., high-level) information, creating a more informative representation.

[0009] In some embodiments of the first aspect, generating the fused feature by fusing the first level feature and the second level feature comprises: generating, by a third convolution block in the first network, a first extracted feature based on the first level  feature; generating, by a fourth convolution block in the first network, a second extracted feature based on the second level feature; and generating the fused feature by fusing the first extracted feature and the second extracted feature. By processing the first level feature and the second level feature through separate convolution blocks, the quality of each extracted feature can be enhanced, thereby allowing the feature fusion module to focus on capturing the most critical details in each level.

[0010] In some embodiments of the first aspect, generating the fused feature by fusing the first extracted feature and the second extracted feature comprises: generating a concatenated feature by concatenating the first extracted feature and the second extracted feature; and generating the fused feature based on the concatenated feature by using a spatial-based attention module. In this way, the spatial-based attention module selectively emphasizes the most relevant spatial regions within the concatenated feature, effectively highlighting key parts of the image for the quality assessment task. This selective focus is advantageous, particularly when certain regions are more important for achieving accurate predictions for quality assessment.

[0011] In some embodiments of the first aspect, the method further comprises: training the second network based on a training data set, the training dataset comprising a plurality of distorted images and a plurality of ground truth quality scores corresponding to the plurality of distorted images; generating, by the trained second network, a first probability distribution of the plurality of candidate quality scores based on a first training image; and training the first network based on the first training image and the first probability distribution. In this way, the first network can learn the correlations among different degrees of distortion from the first probability distribution generated by the trained second network.

[0012] In some embodiments of the first aspect, training the second network based on the training data set comprises: obtaining a first distorted image from the training data set and a first ground truth quality score corresponding to the first distorted image; converting the first ground truth quality score into a one-hot quality score label, the one-hot quality score label comprising values corresponding to the plurality of candidate quality scores, and a flag of the candidate quality score corresponding to the first ground truth quality score being set to a non-zero value; and training the second network based on the first distorted image and the one-hot quality score label. Converting the ground truth quality score into a one-hot label can enhance the ability of the network to differentiate between candidate  quality scores. This structured format makes it easier for the network to focus on the correct quality level, reducing ambiguity in training data representation and improving training accuracy.

[0013] In some embodiments of the first aspect, training the second network based on the first distorted image and the one-hot quality score label comprises: generating, by the second network, a second probability distribution of the plurality of candidate quality scores based on the first distorted image; determining a first loss between the second probability distribution and the one-hot quality score label; and training the second network based on the first loss. In this way, the second network can learn predicting probability distribution of quality scores from the one-hot quality score label.

[0014] In some embodiments of the first aspect, training the first network based on the first training image and the first probability distribution comprises: generating, by the first network, a third probability distribution of the plurality of candidate quality scores based on the first distorted image; determining a second loss between the first probability distribution and the third probability distribution; and training the first network based on the second loss. In this way, the first network can learn predicting probability of quality scores from the first probability distribution generated by the trained second network.

[0015] In some embodiments of the first aspect, determining the target quality score from the plurality of candidate quality scores based on the probability distribution comprises: calculating a weighted sum of the plurality of candidate quality scores based on the probability distribution; and determining the target quality score based on the weighted sum. By combining multiple candidate scores, the target quality score benefits from a more comprehensive assessment, thereby the accuracy of the target quality score can be improved.

[0016] In some embodiments of the first aspect, the method further comprises: in response to the target quality score being greater than a quality score threshold, storing the image into a database, the database being used for training a neural network for a computer vision task of vehicle. In this way, the performance of the neural network can be improved, and the accuracy of the result of the computing vision task can be improved as well.

[0017] In a second aspect according to some embodiments of the present disclosure, an apparatus for generating a quality score for an image is provided. The apparatus comprises an image obtaining module, configured to obtain an image captured by a camera of a vehicle. The apparatus further comprises a distribution generation module, configured to  generate, by a first network, a probability distribution of a plurality of candidate quality scores based on the image, where the first network is trained based on a probability distribution generated by a second network as a ground truth. In addition, the apparatus further comprises a quality score determination module, configured to determine a target quality score from the plurality of candidate quality scores based on the probability distribution.

[0018] In a third aspect according to some embodiments of the present disclosure, an electronic device is provided. The device comprises at least one processor and a memory coupled to the at least one processor. The memory has instructions stored therein which, when executed by the processor, cause the device to perform the method according to the first aspect of the present disclosure.

[0019] In a fourth aspect according to some embodiments of the present disclosure, a computer program product is provided. The computer program product is stored on a computer-readable medium and comprises machine-executable instructions. The machine-executable instructions, when executed by a processor, cause a machine to perform the method according to the first aspect of the present disclosure.

[0020] This Summary is provided to introduce a selection of concepts in a simplified form, which is further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Additional aspects, features, and / or advantages of examples will be set forth in part in the following description and, in part, will be apparent from the description, or may be learned by practice of the disclosure.BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Embodiments of the present disclosure may be understood from the following Detailed Description when read with the accompanying figures. In accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion. Some examples of the present disclosure are described with reference to the following figures.

[0022] Fig. 1 illustrates an example environment in which example embodiments of the present disclosure may be implemented;

[0023] Fig. 2 is a flow chart illustrating an example process of generating a quality score for an image according to some embodiments of the present disclosure;

[0024] Fig. 3 is a schematic diagram illustrating an example of an inference process for generating a probability distribution of quality scores by utilizing a first network according to some embodiments of the present disclosure;

[0025] Fig. 4 is a schematic diagram illustrating an example of the feature fusion module according to some embodiments of the present disclosure;

[0026] Fig. 5 is a schematic diagram illustrating an example of two stages of training the first network according to some embodiments of the present disclosure;

[0027] Fig. 6 is a flow chart illustrating an example process of the first stage of training the first network according to some embodiments of the present disclosure;

[0028] Fig. 7 is a flow chart illustrating an example process of the second stage of training the first network according to some embodiments of the present disclosure;

[0029] Fig. 8 is a flow chart illustrating an example process of determining whether to store an image into a parking database according to some embodiments of the present disclosure;

[0030] Fig. 9 is a block diagram illustrating an example apparatus for generating a quality score for an image according to some embodiments of the present disclosure; and

[0031] Fig. 10 is a block diagram illustrating physical components (for example hardware) of a device with which aspects of the present disclosure may be practiced.

[0032] Throughout all the drawings, the same or similar reference numerals represent the same or similar elements. It is to be understood that the drawings are provided only for illustration and may not be drawn to scale.DETAILED DESCRIPTION

[0033] The principle of the present disclosure will now be described with reference to some embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and to help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure.  The disclosure described herein can be implemented in various manners other than the ones described below.

[0034] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of the ordinary skills in the art to which this disclosure belongs.

[0035] References in the present disclosure to “one embodiment, ” “some embodiments, ” “an embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with some embodiments, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly described.

[0036] It shall be understood that although the terms “first” and “second” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.

[0037] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting to embodiments. As used herein, the singular forms “a, ” “an, ” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises, ” “comprising, ” “has, ” “having, ” “includes, ” and / or “including, ” when used herein, specify the presence of stated features, elements, and / or components, etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.

[0038] As used herein, a value that “satisfies a threshold” may mean, depending on the context, that the value is greater than the threshold, greater than or equal to the threshold, equal to the threshold, less than or equal to the threshold, less than the threshold, etc.

[0039] With the continuous development of autonomous driving technology, an increasing number of vehicles are equipped with autonomous driving systems, including advanced driver assistance systems, lane departure warnings, and automatic parking systems. These  efficient autonomous driving systems rely on deep learning technology to achieve intelligent functions. However, supervised deep learning methods require vast amounts of data to train deep neural network models. The quantity and quality of images in the database are crucial for effectively training these networks.

[0040] Currently, the Human Visual System (HVS) is used to assess image quality and perform data annotation for the training database. However, this process can be time-consuming and labor-intensive. Consequently, computer algorithms are developed to automatically predict image quality scores. Such algorithms would not only streamline the process but also play a significant role in establishing a comprehensive and reliable database for automatic parking systems.

[0041] IQA is a fundamental low-level computer vision task aimed at predicting image quality scores using computer algorithms. IQA methods can be categorized into two groups based on their feature extraction approaches: traditional IQA methods and deep learning-based methods. Traditional IQA methods employ carefully designed, hand-crafted features to extract preliminary characteristics, followed by shallow regression models (e.g., support vector machines) to map these features to quality scores. However, hand-crafted features are only able to detect specific types of distortions, such as blur and Gaussian noise. In real-world environments with more complex distortions, traditional IQA methods often struggle to deliver satisfactory accuracy.

[0042] With the advancement of deep learning technology, IQA methods have increasingly utilized deep learning to enhance prediction accuracy. The availability of large-scale training data and deep neural networks has further improved this accuracy. These deep learning-based methods typically extract image features through deep convolutional neural networks (DCNNs) and use fully connected layers to map the extracted features to a single-value score (e.g., mean opinion score or difference mean opinion score) .

[0043] However, training the network to generate a single-value score for the distorted images can easily lead to overfitting issues, making it difficult for the network to differentiate between varying degrees of distortion.

[0044] Therefore, the embodiments of the present disclosure provide a scheme for generating a quality score for an image. For example, a first network may be trained to predict a probability distribution of candidate quality scores based on an image. In a training process for the first network, ground truth probability distributions are generated  by a second network, and the second network is trained based on single-value quality scores. In the inference process, a computing device may obtain an image captured by a camera of a vehicle. The trained first network may generate a probability distribution of the candidate quality scores based on the image. Then, the computing device may determine a quality score from the candidate quality scores based on the probability distribution.

[0045] In this way, the single-value quality score can be smoothed to a probability distribution. Therefore, the first network can learn the correlations among the candidate quality scores through the probability distribution. Thus, the performance of the first network can be improved, and the accuracy of the determined quality score for the image can be improved as well.

[0046] Fig. 1 illustrates an example environment 100 in which example embodiments of the present disclosure may be implemented. As shown in Fig. 1, the environment 100 comprises a computing device 102. The computing device 102 may be any device having computing capabilities. For example, the computing device 102 may be a server, a desktop computer, a laptop computer, a tablet, a smart telephone, a personal assistant, etc. The environment 100 further comprises a vehicle 104 with a camera 106. The camera 106 may capture an image 108, and the image 108 may comprise objects or environment around the vehicle. In some embodiments, the vehicle 104 may be equipped with multiple cameras 106, and the multiple cameras 106 may capture multiple images with different views around the vehicle 104. In these implementations, the image 108 may be a panoramic view image generated by combining the images captured by the multiple cameras 106. Then, the image 108 may be transmitted to the computing device 102.

[0047] In the environment 100, after obtaining the image 108, the computing device 102 may feed the image 108 into a first network 110. The first network 110 may be a neural network trained to predict a probability distribution of quality scores for an input image. Compared to a single-value quality score (e.g., 50, 75, 90, etc. ) , the probability distribution of quality scores comprises multiple quality scores and multiple probabilities corresponding to the multiple quality scores.

[0048] For example, as shown in Fig. 1, the first network 110 may generate a probability distribution 112 based on the image 108. The probability distribution 112 comprises candidate quality scores 114-1, 114-2, 114-3, 114-4, and 114-5 (also referred to as candidate quality scores 114 collectively) . The probability distribution 112 also comprises  a probability 116-1 of the candidate quality score 114-1, a probability 116-2 of the candidate quality score 114-2, a probability 116-3 of the candidate quality score 114-3, a probability 116-4 of the candidate quality score 114-4, and a probability 116-5 of the candidate quality score 114-5 (also referred to as probabilities 116) . For example, the candidate quality scores 114 may be 20, 40, 60, 80, and 100, and the corresponding probabilities 116 may be 0.6, 0.8, 0.7, 0.3, and 0.1. It should be understand that, for clarity, only five candidate quality scores are shown in Fig. 1, however, more or less candidate quality scores may be included in the probability distribution 112. For example, in some embodiments, the probability distribution 112 may comprises eleven candidate quality scores (e.g., 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, and 100) .

[0049] In the environment 100, in a training process of the first network 110, the probability distribution predicted by the first network 110 may be compared to a ground truth quality score. However, as described above, a single-value quality score lacks information of correlations between different distortion degrees. Therefore, in the environment 100, a second network 120 may be used to generate a probability distribution of quality scores as a ground truth probability distribution. Then, the ground truth probability distribution generated by the second network 120 may be used to train the first network 110. For example, if the image 108 is a sample in a training dataset, the second network 120 may generate a probability distribution 122 based on the image 108. The probability distribution 122 may be compared to the probability distribution 112 generated by the first network 110, to optimize parameters of the first network 110.

[0050] In the environment 100, after generating the probability distribution 112, the computing device 102 may determine a quality score 118 based on the probability distribution 112. For example, the quality score 118 may be the candidate quality score 114 with a largest probability 116, or the quality score 118 may be a weighted sum of the candidate quality scores 114, etc.

[0051] In this way, the first network 110 can learn the correlations among different degrees of distortion through the probability distribution. Thus, the performance of the first network 110 can be improved, and the accuracy of the determined quality score 118 for the image 108 can be improved as well.

[0052] Fig. 2 is a flow chart illustrating an example process 200 of generating a quality score for an image according to some embodiments of the present disclosure. The process 200 may be implemented by a computing device (e.g., the computing device 102 in Fig.  1) . As shown in Fig. 2, at block 202, the computing device may obtain an image captured by a camera of a vehicle. For example, as shown in Fig. 1, the camera 106 may capture the image 108, and the image 108 may comprise objects or environment around the vehicle. For example, the image 108 may be a panoramic view image obtained by utilizing the camera 106. Then, the computing device 102 may obtain the image 108 from the vehicle 104 or a database.

[0053] At block 204, the computing device may generate, by utilizing a first network, a probability distribution of a plurality of candidate quality scores based on the image, where the first network is trained based on a probability distribution generated by a second network as a ground truth. For example, as shown in Fig. 1, the computing device 102 may feed the image 108 into a first network 110. The first network 110 may generate the probability distribution 112 based on the image 108. The probability distribution 112 comprises candidate quality scores 114 and the probabilities 116 of the candidate quality scores 114. For example, the candidate quality scores 114 may be 20, 40, 60, 80, and 100, and the corresponding probabilities 116 may be 0.6, 0.8, 0.7, 0.3, and 0.1. The second network 120 may be used to generate a probability distribution of quality scores as a ground truth probability distribution. Then, the ground truth probability distribution generated by the second network 120 may be used to train the first network 110. For example, if the image 108 is a sample in a training dataset, the second network 120 may generate a probability distribution 122 based on the image 108. The probability distribution 122 may be compared to the probability distribution 112 generated by the first network 110, to optimize parameters of the first network 110.

[0054] At block 206, the computing device may determine a target quality score from the plurality of candidate quality scores based on the probability distribution. For example, as shown in Fig. 1, the computing device 102 may determine a quality score 118 based on the probability distribution 112. For example, the quality score 118 may be the candidate quality score 114 with a largest probability 116, or the quality score 118 may be a weighted sum of the candidate quality scores 114, etc.

[0055] In this way, the first network can learn the correlations among different degrees of distortion through the probability distribution. Thus, the performance of the first network can be improved, and the accuracy of the determined quality score for the image can be improved as well.

[0056] In some embodiments, in order to generate the probability distribution of the candidate quality scores, the computing device may generate a plurality of hierarchical features corresponding to a plurality of information levels based on the image. Then, the computing device may generate the probability distribution of the plurality of candidate quality scores based on the plurality of hierarchical features. By generating hierarchical features from the image, the first network can capture information from different levels of abstraction including low-level features (such as edges and textures) and high-level semantic features (such as objects and context) . This comprehensive representation ensures that the quality evaluation considers both fine-grained and high-level aspects of the image.

[0057] In some embodiments, the plurality of hierarchical features comprises a first level feature corresponding to a first information level and a second level feature corresponding to a second information level, where the second information level is more abstract than the first information level. The computing device may generate the first level feature based on the image by utilizing a first convolution block, and generate the second level feature based on the first level feature by utilizing a second convolution block. In this way, the first network can obtain hierarchical features for different information levels from the image.

[0058] In some embodiments, the first network may generate a fused feature by fusing the first level feature and the second level feature. Then, the first network may generate the probability distribution of the plurality of candidate quality scores based on the fused feature. In this way, fusing features in different levels allows the network to combine both basic (e.g., low-level) details and more abstract (e.g., high-level) information, creating a more informative representation.

[0059] Fig. 3 is a schematic diagram illustrating an example 300 of an inference process for generating a probability distribution of quality scores by utilizing a first network according to some embodiments of the present disclosure. As shown in Fig. 3, the example 300 comprises a first network 302. For example, the first network 302 may be the first network 110 in Fig. 1. The first network 302 comprises a feature extraction network 306, configured to extract hierarchical features from an image. In some embodiments, the feature extraction network 306 may be an EfficientNet-B0-based backbone network. EfficientNet-B0 is a baseline model in the EfficientNet family, which scales both the width, depth, and resolution of the network using compound scaling. EfficientNet-B0 and its  variants are designed for high-performance image classification and feature extraction with optimal efficiency, using fewer parameters and less computation compared to traditional convolutional neural networks (CNNs) like ResNet or Inception. Compared to other models, EfficientNet-B0 has improved performance in hierarchical feature extraction by offering a superior balance of accuracy, efficiency, and adaptability.

[0060] As shown in Fig. 3, the feature extraction network 306 comprises convolution blocks 310, 312, 314, and 316. In some other embodiments, the feature extraction network 306 may have more or less convolution blocks. An image 304 (e.g., the image 108 in Fig. 1) may be fed into the feature extraction network 306. The convolution block 310 may generate a first level feature 320 for the image 304, the convolution block 312 may generate a second level feature 322 for the image 304, the convolution block 314 may generate a third level feature 324 for the image 304, and the convolution block 316 may generate a fourth level feature 326 for the image 304. These generated image features correspond to multiple information levels. In other word, these features capture information at various levels of detail or abstraction, enabling the model to understand both fine-grained details and high-level concepts within the image 304.

[0061] The first level feature 320 may be a low-level feature which is the most basic element extracted from the image. The low-level feature, for example, may comprise edges, textures, colors, and simple shapes. The low-level feature is crucial for identifying fine details in the image but do not provide much semantic meaning. The second level feature 322 and the third level feature 324 may be mid-level features. The mid-level features are formed by combining low-level features and begin to represent more complex patterns, such as parts of objects (e.g., wheels) . These features have more contextual information and allow the model to start identifying relationships within parts of an image. The fourth level feature 326 may be a high-level feature. The high-level feature captures complex and abstract patterns that correspond to entire objects or scenes (e.g., vehicles) , and holds the highest level of semantic meaning.

[0062] As shown in Fig. 3, the first network 302 further comprises a feature fusion module 328, configured to generate a fused feature based on the hierarchical features. In example 300, the feature fusion module 328 may generate a fused feature 330 based on the first level feature 320, the second level feature 322, the third level feature 324, and the fourth level feature 326. Therefore, the fused feature 330 can encapsulate both fine details and broader structural or semantic patterns. Furthermore, the fusion of these hierarchical  features can reduce computational redundancy, as it allows the network to operate on a single and informative representation rather than processing each feature independently for scoring.

[0063] As shown in Fig. 3, the first network 303 further comprises a fully connected layer 332, configured to generate a probability distribution of quality scores based on an image feature. In example 300, the fully connected layer 332 may generate a probability distribution 334 based on the fused feature 330. The probability distribution 334 may be the probability distribution 112 in Fig. 1. The probability distribution 334 may comprise multiple candidate quality scores and multiple corresponding probabilities.

[0064] In this way, the first network 302 can capture information from different levels of abstraction including low-level features and high-level semantic features, thereby improving the accuracy of the probability distribution 334.

[0065] In some embodiments, the feature fusion module may generate a first extracted feature based on the first level feature by utilizing a third convolution block in the first network, and generate a second extracted feature based on the second level feature by utilizing a fourth convolution block in the first network. Then, the feature extraction module may generate the fused feature by fusing the first extracted feature and the second extracted feature. By processing the first level feature and the second level feature through separate convolution blocks, the quality of each extracted feature can be enhanced, thereby allowing the feature fusion module to focus on capturing the most critical details in each level.

[0066] In some embodiments, the feature extraction module may generate a concatenated feature by concatenating the first extracted feature and the second extracted feature. Then, the feature extraction module may generate the fused feature based on the concatenated feature by using a spatial-based attention module. In this way, the spatial-based attention module selectively emphasizes the most relevant spatial regions within the concatenated feature, effectively highlighting key parts of the image for the quality assessment task. This selective focus is advantageous, particularly when certain regions are more important for achieving accurate predictions for quality assessment.

[0067] Fig. 4 is a schematic diagram illustrating an example 400 of the feature fusion module according to some embodiments of the present disclosure. As shown in Fig. 4, the example 400 comprises a feature fusion module 402 and a fully connected layer 454. For example, the feature fusion module 402 may be the feature fusion module 328 in Fig. 3,  and the fully connected layer 454 may be the fully connected layer 332 in Fig. 3. In example 400, the feature fusion module 402 is configured to fuse a first level feature 404, a second level feature 406, a third level feature 408, and a fourth level feature 410, to generate a fused feature 452.

[0068] As shown in Fig. 4, a convolution block 412 may generate an extracted feature 414 based on the first level feature 404. Furthermore, a convolution block 416 may generate an extracted feature 418 based on the second level feature 406. For example, the convolution blocks 412 and 416 may be convolution layers with kernel size of 3×3. Then, the feature fusion module 402 may concatenate the extracted features 414 and 418 to generate a concatenated feature 420. A feature fusion block 422 may generate a fused feature 424 based on the concatenated feature 420. Compared to fusing the first level feature 404 and the second level feature 406 directly, fusing the extract features 414 and 418 can improve the representation ability of the fused feature 424.

[0069] In the example 400, the feature fusion block 422 may be a spatial-based attention module. The spatial-based attention module may comprise multiple convolution blocks and a sigmoid layer. Therefore, the spatial-based attention module may calculate spatial weight scores of features through the convolutional blocks. In this way, the feature fusion module 402 can pay more attention to important regions and suppress non-important regions in the image.

[0070] As shown in Fig. 4, a convolution block 426 may generate an extracted feature 428 based on the fused feature 424. In addition, a convolution block 430 may generate an extracted feature 432 based on the third level feature 408. Then, the feature fusion module 402 may concatenate the extracted feature 428 and the extracted feature 432 to generate a concatenated feature 434. A feature fusion block 436 may generate a fused feature 438 based on the concatenated feature 434. Then, a convolution block 440 may generate an extracted feature 442 based on the fused feature 438.

[0071] In the example 400, because the fourth level feature 410 is a high-level feature with abstract information, the feature fusion module 402 may use a global average pooling block 448 to simplify the fourth level feature 410 and generate a pooled feature 450. Global average pooling block 448 may reduce the spatial dimensions of the high-level feature to a single vector per channel by averaging values across the spatial dimensions. This reduces the number of parameters and computations needed for the fusion, making the process more efficient and lightweight. Furthermore, by averaging each feature  channel, global average pooling block 448 can capture the high-level characteristics of the feature rather than localized details. In addition, another global average pooling block 444 may generate a pooled feature 446 based on the extracted feature 442. Then, the feature fusion module 402 may concatenate the pooled features 446 and 450 to generate the fused feature 452. The fused feature 452 may be input into the fully connected layer 454, and a probability distribution 456 may be generated.

[0072] In this way, the feature fusion module 402 can generate the fused feature based on the hierarchical features. Therefore, the accuracy of the probability distribution generated based on the fused feature can be improved.

[0073] In some embodiments, a training process of the first network may comprise two stages. In a first stage, the computing device may train the second network based on a training data set, where the training dataset comprises a plurality of distorted images and a plurality of ground truth quality scores corresponding to the plurality of distorted images. In a second stage, the trained second network may generate a first probability distribution of the plurality of candidate quality scores based on a first training image. The computing device may train the first network based on the first training image and the first probability distribution. In this way, the first network can learn the correlations among different degrees of distortion from the first probability distribution generated by the trained second network.

[0074] In some embodiments, in a training process of the second network the computer device may obtain a first distorted image from the training data set and a first ground truth quality score corresponding to the first distorted image. The computer device may convert the first ground truth quality score into a one-hot quality score label, where the one-hot quality score label comprises values corresponding to the plurality of candidate quality scores, and a flag of the candidate quality score corresponding to the first ground truth quality score is set to a non-zero value. Then, the computing device may train the second network based on the first distorted image and the one-hot quality score label. Converting the ground truth quality score into a one-hot label can enhance the ability of the network to differentiate between candidate quality scores. This structured format makes it easier for the network to focus on the correct quality level, reducing ambiguity in training data representation and improving training accuracy.

[0075] In some embodiments, the second network may generate a second probability distribution of the plurality of candidate quality scores based on the first distorted image.  The computing device may determine a first loss between the second probability distribution and the one-hot quality score label. Then, the computing device may train the second network based on the first loss. In this way, the second network can learn predicting probability distribution of quality scores from the one-hot quality score label.

[0076] In some embodiments, the first network may generate a third probability distribution of the plurality of candidate quality scores based on the first distorted image. The computing device may determine a second loss between the first probability distribution and the third probability distribution. Then, the computing device may train the first network based on the second loss. In this way, the first network can learn predicting probability of quality scores from the first probability distribution generated by the trained second network.

[0077] Fig. 5 is a schematic diagram illustrating an example of two stages of training the first network according to some embodiments of the present disclosure. Fig. 5 illustrates a first stage 500 of the training process of the first network and a second stage 520 of the training process of the first network. As shown in Fig. 5, in the first stage 500, a training dataset 508 may be used to train a second network 502. The training dataset 508 comprises distorted images and corresponding ground truth quality scores for the distorted images. The computing device may obtain an image 510 and a quality score 512 for the image 510, and feed the image 510 into the second network 502. The second network 502 may comprise a feature extraction network 504 and a fully connected layer 506. The feature extraction network 504 is configured to extract an image feature from an image.

[0078] In some embodiments, the feature extraction network 504 may be a VGG16 network. The VGG16 network is a convolutional neural network architecture developed for extracting features from images. The VGG16 network consists of 16 layers with learnable weights, including 13 convolutional layers and 3 fully connected layers. The convolutional layers use small 3×3 filters and are organized into blocks, typically with max pooling layers after each block to reduce spatial dimensions. The VGG16 network uses a consistent architecture throughout, with the same convolution filter size and stride, which simplifies the design and improves training stability. VGG16 has demonstrated strong performance in image classification tasks, particularly on benchmark datasets like ImageNet. Its ability to learn a wide range of features makes it suitable for image quality assessment task.

[0079] In the first stage 500, the feature extraction network 504 may generate an image feature from the image 510. The generated image feature may be fed into the fully connected layer 506. The fully connected layer 506 may generate a probability distribution 514 based on the image feature. In order to adapt to the image quality assessment task, the fully connected layer 506 can adjusted the dimension of the output from a large value (e.g., 1000) to an appropriate value (e.g., 11) . For example, the dimension of the probability distribution 514 may be 11, indicating that the probability distribution 514 has 11 quality scores (e.g., 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, and 100) and 11 corresponding probabilities (e.g., 0.4, 0.7, 0.75, 0.7, 0.6, 0.4, 0.3, 0.2, 0.15, 0.1, and 0.05) .

[0080] In addition, in the first stage 500, the computing device may convert the quality score 512 for the image 510 into a one-hot quality score label 516. The quality score 512 is a single value (e.g., 30) , and the one-hot quality score label 516 has same dimension (e.g., 11) with the probability distribution 514. For example, a single value 30 may be converted to (0, 0) , (10, 0) , (20, 0) , (30, 1) , (40, 0) , (50, 0) , (60, 0) , (70, 0) , (80, 0) , (90, 0) , and (100, 0) , where only a flag for the value 30 is a non-zero value, and flags for other values are zero.

[0081] In the first stage 500, the computing device may generate a loss 518 by comparing the probability distribution 514 generated by the second network 502 and the one-hot quality score label 516. Then, the parameters of the second network 502 may be optimized by minimizing the loss 518.

[0082] In this way, in the first stage 500, the second network 502 can be trained to generate probability distribution of quality scores for images by utilizing the images and single-value quality scores in the training dataset 508.

[0083] Fig. 5 also illustrates the second stage 520 of the training process of the first network. As shown in Fig. 5, in the second stage 520, a training dataset 508 may be used to train a first network 522. The training dataset 532 comprises multiple distorted images, for example, the distorted images in the training dataset 532 may be the distorted images in the training dataset 508 in Fig. 5. In the second stage 520, the computing device may obtain an image 534 from the training dataset 532, and feed the image 534 into the first network 522.

[0084] The first network 522 may comprise a feature extraction network 524 (e.g., the feature extraction network 306 in Fig. 3) , a feature fusion module 526 (e.g., the feature  fusion module 328 in Fig. 3) , and a fully connected layer 528 (e.g., the fully connected layer 332 in Fig. 3) . The first network 522 may generate a predicted probability distribution 536 based on the image 534. In addition, in the second stage 520, the computing device may utilize a trained second network 530 to generate ground truth probability distributions for the images in the training dataset 532. For example, the trained second network 530 may generate a probability distribution 538 based on the image 534, and the probability distribution 538 may be used as a ground truth for the probability distribution 536 generated by the first network 522.

[0085] In the second stage 520, the computing device may generate a loss 540 by comparing the predicted probability distribution 536 to the ground truth probability distribution 538. Then, the parameters of the first network 522 may be optimized by minimizing the loss 540.

[0086] In this way, in the second stage 500, the first network 522 can be trained to generate probability distribution of quality scores for images by utilizing the probability distributions generated by the trained second network. Therefore, the first network 522 can learn the correlations among different degrees of distortion.

[0087] Fig. 6 is a flow chart illustrating an example process 600 of the first stage of training the first network according to some embodiments of the present disclosure. As shown in Fig. 6, at block 602, the computing device may obtain an image and a corresponding single-value quality score from a training database. For example, in the first stage 500 as shown in Fig. 5, the computing device may obtain the image 510 and the corresponding quality score 512 from the training dataset 508, where the quality score 512 is a single value.

[0088] At block 604, the computing device may convert the single-value quality score into a one-hot quality score label. For example, in the first stage 500 as shown in Fig. 5, the computing device may convert the single-value quality score 512 into the one-hot quality score label 516.

[0089] At block 606, the computing device may extract an image feature from the image. For example, in the first stage 500 as shown in Fig. 5, the computing device may extract an image feature from the image 510 through the feature extraction network 504.

[0090] At block 608, the computing device may generate a probability distribution based on the image feature. For example, in the first stage 500 as shown in Fig. 5, the computing  device may generate, through the fully connected layer 506, the probability distribution 514 based on the image feature generated by the feature extraction network 504.

[0091] At block 610, the computing device may calculate a loss between the probability distribution and the one-hot quality score label. For example, in the first stage 500 as shown in Fig. 5, the computing device may calculate the loss 518 by comparing the probability distribution 514 to the one-hot quality score label 516.

[0092] At block 612, the computing device may update parameters of the second network based on the calculated loss. For example, in the first stage 500 as shown in Fig. 5, the computing device may update the parameters of the second network 502 by minimizing the loss 518.

[0093] Fig. 7 is a flow chart illustrating an example process 700 of the second stage of training the first network according to some embodiments of the present disclosure. As shown in Fig. 7, at block 702, the computing device may obtain an image from a training dataset. For example, in the second stage 520 as shown in Fig. 5, the computing device may obtain the image 534 from the training dataset 532.

[0094] At block 704, the computing device may generate, through the trained second network, a ground truth probability distribution based on the image. For example, in the second stage 520 as shown in Fig. 5, the trained second network 530 may generate a probability distribution 538 as a ground truth based on the image 534.

[0095] At block 706, the computing device may generate, through the first network, a predicted probability distribution based on the image. For example, in the second stage 520 as shown in Fig. 5, the first network 522 may generate a predicted probability distribution 536 based on the image 534.

[0096] At block 708, the computing device may calculate a loss between the ground truth probability distribution and the predicted probability distribution. For example, in the second stage 520 as shown in Fig. 5, the computing device may calculate the loss 540 by comparing the predicted probability distribution 536 to the ground truth probability distribution 538.

[0097] At block 710, the computing device may update parameters of the first network based on the calculated loss. For example, in the second stage 520 as shown in Fig. 5, the computing device may update the parameters of the first network by minimizing the calculated loss 540.

[0098] In some embodiments, the method for generating a quality score for an image may be used in a parking system. If the generated quality score is greater than a quality score threshold, the computing device may store the image into a database of the parking system, where the database of the parking system may be used for training a neural network for a computer vision task of vehicle. For example, these images with high quality may be used for training a deep neural network to detect a parking slot or a vehicle. In this way, the performance of the neural network can be improved, and the accuracy of the result of the computing vision task can be improved as well.

[0099] Fig. 8 is a flow chart illustrating an example process 800 of determining whether to store an image into a parking database according to some embodiments of the present disclosure. As shown in Fig. 8, at block 802, the computing device may receive a panoramic view image around a vehicle captured by a camera of the vehicle, where the image is captured during parking. At block 804, the computing device may generate a quality score for the image by using the trained first network (e.g., the first network 110 in Fig. 1) . At block 806, the computing device may determine whether the generated quality score is greater than a threshold. If the generated quality score is greater than the threshold, the process 800 may proceed to block 808. At block 808, the computing device may store the image into a database, where the database may be used for training a neural network for a computer vision task of vehicle. Return to block 806, if the generated quality score is not greater than the threshold, the process 800 may proceed to block 810. At block 810, the computing device may discard the image without storing the image into the database.

[0100] Fig. 9 is a block diagram illustrating an example apparatus 900 for generating a quality score for an image according to some embodiments of the present disclosure. The apparatus 900 comprises an image obtaining module 902, a distribution generation module 904, and a quality score determination module 906. The image obtaining module 902 is configured to obtain an image captured by a camera of a vehicle. The distribution generation module 904 is configured to generate, by a first network, a probability distribution of a plurality of candidate quality scores based on the image, wherein the first network is trained based on a probability distribution generated by a second network as a ground truth. The quality score determination module 906 is configured to determine a target quality score from the plurality of candidate quality scores based on the probability distribution.

[0101] In some embodiments, the distribution generation module 904 may comprise: a hierarchical feature generation module, configured to generate a plurality of hierarchical features corresponding to a plurality of information levels based on the image; and a hierarchical feature usage module, configured to generate the probability distribution of the plurality of candidate quality scores based on the plurality of hierarchical features.

[0102] In some embodiments, the plurality of hierarchical features comprises a first level feature corresponding to a first information level and a second level feature corresponding to a second information level, the second information level is more abstract than the first information level, and the hierarchical feature generation module may comprise: a first level feature generation module, configured to generate, by a first convolution block in the first network, the first level feature based on the image; and a second level feature generation module, configured to generate, by a second convolution block in the first network, the second level feature based on the first level feature.

[0103] In some embodiments, wherein the hierarchical feature usage module may comprise: a fused feature generation module, configured to generate a fused feature by fusing the first level feature and the second level feature; and a fused feature usage module, configured to generate the probability distribution of the plurality of candidate quality scores based on the fused feature.

[0104] In some embodiments, the fused feature generation module may comprise: a first extracted feature generation module, configured to generate, by a third convolution block in the first network, a first extracted feature based on the first level feature; a second extracted feature generation module, configured to generate, by a fourth convolution block in the first network, a second extracted feature based on the second level feature; and a extracted feature fusion module, configured to generate the fused feature by fusing the first extracted feature and the second extracted feature.

[0105] In some embodiments, the extracted feature fusion module may comprise: a concatenated feature generation module, configured to generate a concatenated feature by concatenating the first extracted feature and the second extracted feature; and a spatial-based attention module usage module, configured to generate the fused feature based on the concatenated feature by using a spatial-based attention module.

[0106] In some embodiments, the apparatus 900 may further comprise: a second network training module, configured to train the second network based on a training data set, the training dataset comprising a plurality of distorted images and a plurality of ground truth  quality scores corresponding to the plurality of distorted images; a first probability distribution generation module, configured to generate, by the trained second network, a first probability distribution of the plurality of candidate quality scores based on a first training image; and a first network training module, configured to train the first network based on the first training image and the first probability distribution.

[0107] In some embodiments, the second network training module may comprise: a training sample obtaining module, configured to obtain a first distorted image from the training data set and a first ground truth quality score corresponding to the first distorted image; a one-hot label generation module, configured to convert the first ground truth quality score into a one-hot quality score label, the one-hot quality score label comprising values corresponding to the plurality of candidate quality scores, and a flag of the candidate quality score corresponding to the first ground truth quality score being set to a non-zero value; and a one-hot label usage module, configured to train the second network based on the first distorted image and the one-hot quality score label.

[0108] In some embodiments, the second network training module may further comprise: a second probability distribution generation module, configured to generate, by the second network, a second probability distribution of the plurality of candidate quality scores based on the first distorted image; a first loss determination module, configured to determine a first loss between the second probability distribution and the one-hot quality score label; and a first loss usage module, configured to train the second network based on the first loss.

[0109] In some embodiments, the first network training module may comprise: a third probability distribution generation module, configured to generate, by the first network, a third probability distribution of the plurality of candidate quality scores based on the first distorted image; a second loss determination module, configured to determine a second loss between the first probability distribution and the third probability distribution; and a second loss usage module, configured to train the first network based on the second loss.

[0110] In some embodiments, the quality score determination module may comprise: a weighed sum calculating module, configured to calculate a weighted sum of the plurality of candidate quality scores based on the probability distribution; and a weighted sum usage module, configured to determine the target quality score based on the weighted sum.

[0111] In some embodiments, the apparatus 900 may further comprise: an image storing module, configured to, in response to the target quality score being greater than a quality  score threshold, store the image in a database, the database being used for training a neural network for a computer vision task of vehicle.

[0112] According to the above embodiments, the first network can learn the correlations among different degrees of distortion through the probability distribution. Thus, the performance of the first network can be improved, and the accuracy of the determined quality score for the image can be improved as well.

[0113] Fig. 10 is a block diagram illustrating physical components (for example hardware) of a device 1000 with which aspects of the present disclosure may be practiced. The device 1000 may be the device or apparatus described in the embodiments of the present disclosure, such as the computing device 102 in Fig. 1. As shown in Fig. 10, the device 1000 includes a processor 1001, which may be configured to execute various appropriate actions and processing to perform the methods (e.g., the method 200) of the present disclosure. The processor 1001 is implemented in hardware, firmware, or a combination of hardware and software. In addition, although not shown in Fig. 10, the device 1000 may also include a co-processor.

[0114] The processor 1001 may execute actions and processing to perform the methods of the present disclosure according to computer program instructions. The computer program instructions for performing the operations of the present disclosure may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages as well as conventional procedural programming languages. In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA) , or a programmable logic array (PLA) , is customized by utilizing status information of the computer-readable program instructions. The electronic circuit may execute the computer-readable program instructions so as to implement various aspects of the present disclosure.

[0115] These computer-readable program instructions may be provided to a processing unit of a general-purpose computer, a special-purpose computer, or a further programmable data processing apparatus, thereby producing a machine, such that these instructions, when executed by the processing unit of the computer or the further programmable data processing apparatus, produce means for implementing functions / actions specified in one or more blocks in the flow charts and / or block diagrams.  These computer-readable program instructions may also be stored in a non-transitory computer-readable storage medium, and these instructions cause a computer, a programmable data processing apparatus, and / or other devices to operate in a specific manner; and thus the computer-readable medium having instructions stored includes an article of manufacture that includes instructions that implement various aspects of the functions / actions specified in one or more blocks in the flow charts and / or block diagrams.

[0116] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatuses, or other devices, such that a series of operating steps may be executed on the computer, the other programmable data processing apparatuses, or the other devices to produce a computer-implemented process, such that the instructions executed on the computer, the other programmable data processing apparatuses, or the other devices may implement the functions / actions specified in one or more blocks in the flow charts and / or block diagrams.

[0117] The computer program instructions may be stored in a Read-Only Memory (ROM) 1002 or be loaded onto a Random Access Memory (RAM) 1003 from a storage unit 1008, for example. The processor 1001, the ROM 1002, and the RAM 1003 are connected to each other via bus 1004. An input / output (I / O) interface 1005 is also connected to bus 1004. The various methods or processes described above may be performed by the processor 1001.

[0118] A plurality of components in device 1000 are connected to the I / O interface 1005, including: an input unit 1006, such as a keyboard and a mouse; an output unit 1007, such as various types of displays and speakers; the storage unit 1008, such as a magnetic disk and an optical disc; and a communication unit 1009, such as a network card, a modem, and a wireless communication transceiver. The communication unit 1009 allows the device 1000 to exchange information / data with other devices via a computer network, such as the Internet, and / or various telecommunication networks.

[0119] In some embodiments, the methods and processes described above may be implemented as a computer program product. The computer program product may include a computer-readable storage medium on which computer-readable program instructions for performing various aspects of the present disclosure are loaded.

[0120] The computer-readable storage medium may be a tangible device that may retain and store instructions used by an instruction-executing device. For example, the computer-readable storage medium may be, but is not limited to, an electrical storage  device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or flash memory) , a static random access memory (SRAM) , a portable compact disc read-only memory (CD-ROM) , a digital versatile disc (DVD) , a memory stick, a floppy disk, a mechanical coding device, for example, a punch card or a raised structure in a groove with instructions stored thereon, and any suitable combination of the foregoing. The computer-readable storage medium used herein is not to be interpreted as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber-optic cables) , or electrical signals transmitted through electrical wires.

[0121] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to various computing / processing devices, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from a network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing / processing device.

[0122] The flow charts and block diagrams in the drawings illustrate the architectures, functions, and operations of possible implementations of the devices, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flow charts or block diagrams may represent a module, a program segment, or part of an instruction, and the module, program segment, or part of an instruction includes one or more executable instructions for implementing specified logical functions. In some alternative implementations, functions marked in the blocks may also occur in an order different from those marked in the accompanying drawings. For example, two consecutive blocks may in fact be executed substantially concurrently, and sometimes they may also be executed in a reverse order, depending on the functions  involved. It should be further noted that each block in the block diagrams and / or flow charts, as well as a combination of blocks in the block diagrams and / or flow charts, may be implemented using a dedicated hardware-based system that executes specified functions or actions, or using a combination of special hardware and computer instructions.

[0123] Various embodiments of the present disclosure have been described above. The foregoing description is illustrative rather than exhaustive, and is not limited to the disclosed various embodiments. Numerous modifications and alterations are apparent to persons of ordinary skill in the art without departing from the scope and spirit of the illustrated embodiments. The selection of terms as used herein is intended to best explain the principles and practical applications of the various embodiments or the technical improvements to technologies on the market, or to enable other persons of ordinary skill in the art to understand the various embodiments disclosed herein.

Claims

1.A method (200) for generating a quality score for an image, comprising:obtaining (202) an image captured by a camera of a vehicle;generating (204) , by a first network, a probability distribution of a plurality of candidate quality scores based on the image, wherein the first network is trained based on a probability distribution generated by a second network as a ground truth; anddetermining (206) a target quality score from the plurality of candidate quality scores based on the probability distribution.2.The method (200) according to claim 1, wherein generating (204) , by the first network, the probability distribution of the plurality of candidate quality scores based on the image comprises:generating a plurality of hierarchical features corresponding to a plurality of information levels based on the image; andgenerating the probability distribution of the plurality of candidate quality scores based on the plurality of hierarchical features.3.The method (200) according to claim 2, wherein the plurality of hierarchical features comprises a first level feature corresponding to a first information level and a second level feature corresponding to a second information level, the second information level is more abstract than the first information level, and generating the plurality of hierarchical features corresponding to the plurality of information levels based on the image comprises:generating, by a first convolution block in the first network, the first level feature based on the image; andgenerating, by a second convolution block in the first network, the second level feature based on the first level feature.4.The method (200) according to claim 3, wherein generating the probability distribution of the plurality of candidate quality scores based on the plurality of hierarchical features comprises:generating a fused feature by fusing the first level feature and the second level feature; andgenerating the probability distribution of the plurality of candidate quality scores based on the fused feature.5.The method (200) according to claim 4, wherein generating the fused feature by fusing the first level feature and the second level feature comprises:generating, by a third convolution block in the first network, a first extracted feature based on the first level feature;generating, by a fourth convolution block in the first network, a second extracted feature based on the second level feature; andgenerating the fused feature by fusing the first extracted feature and the second extracted feature.6.The method (200) according to claim 5, wherein generating the fused feature by fusing the first extracted feature and the second extracted feature comprises:generating a concatenated feature by concatenating the first extracted feature and the second extracted feature; andgenerating the fused feature based on the concatenated feature by using a spatial-based attention module.7.The method (200) according to claim 1, further comprising:training the second network based on a training data set, the training dataset comprising a plurality of distorted images and a plurality of ground truth quality scores corresponding to the plurality of distorted images;generating, by the trained second network, a first probability distribution of the plurality of candidate quality scores based on a first training image; andtraining the first network based on the first training image and the first probability distribution.8.The method (200) according to claim 7, wherein training the second network based on the training data set comprises:obtaining a first distorted image from the training data set and a first ground truth quality score corresponding to the first distorted image;converting the first ground truth quality score into a one-hot quality score label, the one-hot quality score label comprising values corresponding to the plurality of candidate quality scores, and a flag of the candidate quality score corresponding to the first ground truth quality score being set to a non-zero value; andtraining the second network based on the first distorted image and the one-hot quality score label.9.The method (200) according to claim 8, wherein training the second network based on the first distorted image and the one-hot quality score label comprises:generating, by the second network, a second probability distribution of the plurality of candidate quality scores based on the first distorted image;determining a first loss between the second probability distribution and the one-hot quality score label; andtraining the second network based on the first loss.10.The method (200) according to claim 7, wherein training the first network based on the first training image and the first probability distribution comprises:generating, by the first network, a third probability distribution of the plurality of candidate quality scores based on the first distorted image;determining a second loss between the first probability distribution and the third probability distribution; andtraining the first network based on the second loss.11.The method (200) according to claim 1, wherein determining (206) the target quality score from the plurality of candidate quality scores based on the probability distribution comprises:calculating a weighted sum of the plurality of candidate quality scores based on the probability distribution; anddetermining the target quality score based on the weighted sum.12.The method (200) according to claim 1, further comprising:in response to the target quality score being greater than a quality score threshold, storing the image in a database, the database being used for training a neural network for a computer vision task of vehicle.13.An apparatus (900) for generating a quality score of an image, comprising:an image obtaining module (902) , configured to obtain an image captured by a camera of a vehicle;a distribution generation module (904) , configured to generate, by a first network, a probability distribution of a plurality of candidate quality scores based on the image, wherein the first network is trained based on a probability distribution generated by a second network as a ground truth; anda quality score determination module (906) , configured to determine a target quality score from the plurality of candidate quality scores based on the probability distribution.14.An electric device (1000) comprising:one or more processors (1001) ; anda memory (1002) storing computer-executable instructions, the computer-executable instructions when executed by the one or more processors (1001) , cause the device (1000) to implement the method (200) according to any of claims 1-12.15.A computer program product tangibly stored on a computer-readable medium and comprising machine-executable instructions, wherein the machine-executable instructions, when executed, cause a machine to perform the method (200) according to any of claims 1 to 12.