WO2022213843A1 - 一种图像处理方法、训练方法及装置 - Google Patents
一种图像处理方法、训练方法及装置 Download PDFInfo
- Publication number
- WO2022213843A1 WO2022213843A1 PCT/CN2022/083614 CN2022083614W WO2022213843A1 WO 2022213843 A1 WO2022213843 A1 WO 2022213843A1 CN 2022083614 W CN2022083614 W CN 2022083614W WO 2022213843 A1 WO2022213843 A1 WO 2022213843A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature map
- feature
- layer
- neural network
- convolutional neural
- Prior art date
Links
- 238000012549 training Methods 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 169
- 238000012545 processing Methods 0.000 claims abstract description 157
- 238000000605 extraction Methods 0.000 claims abstract description 118
- 238000007906 compression Methods 0.000 claims abstract description 68
- 230000006835 compression Effects 0.000 claims abstract description 67
- 238000004891 communication Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 32
- 238000013528 artificial neural network Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 63
- 238000010586 diagram Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 12
- 238000011176 pooling Methods 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Definitions
- the present application relates to the field of image processing, and in particular, to an image processing method, training method and device.
- Images are the visual basis for human perception of the world. Humans can use images to obtain information, express information and transmit information. In order to quickly obtain image information, neural networks can be used to process images to achieve functions such as image classification, face recognition, and target detection. Usually, the device on the device side sends image data to the device on the cloud side where the neural network is deployed, and the device on the cloud side performs image processing. However, the amount of image data is large, resulting in high latency in device-cloud interaction.
- the current technical solution provides a device-cloud collaboration solution based on feature map transmission.
- the device on the device side extracts the original feature map of the image to be processed, and uses the principal components analysis (PCA) method to extract multiple features of the original feature map.
- PCA principal components analysis
- the terminal-side device sends the linear combination of the multiple principal components to the cloud-side device, and the cloud-side device obtains a reconstructed feature map according to the multiple principal components, and obtains an image processing result according to the reconstructed feature map.
- PCA principal components analysis
- the amount of data of the multiple principal components is still large, so that it takes a long time for the cloud-side device to receive the multiple principal components.
- the present application provides an image processing method, training method and device, which solve the problem of a large amount of transmitted data during image processing.
- the present application provides an image processing method, the method can be applied to a sending node, or the method can be applied to a communication device that can support a terminal device to implement the method, for example, the communication device includes a chip system, and the method includes :
- the sending node obtains the image to be processed, inputs the image to be processed into the convolutional neural network, and the feature extraction layer included in the convolutional neural network performs feature extraction on the image to be processed to obtain the first feature map, and the feature compression included in the convolutional neural network
- the layer compresses the first feature map to obtain a second feature map, the number of channels of the second feature map is smaller than the number of channels of the first feature map.
- the sending node sends the second feature map to the receiving node. Since the feature extraction layer is used to extract the features of the image to be processed to obtain the first feature map, the data volume of the first feature map is smaller than that of the to-be-processed image; in addition, the first feature map is compressed by the feature compression layer to obtain the second feature map, The number of channels of the second feature map is made smaller than the number of channels of the first feature map. Under the condition that the resolution of the first feature map is not increased, the data volume of the second feature map is smaller than the data volume of the first feature map, which is further reduced The data volume of the feature map sent by the sending node to the receiving node is reduced, and the transmission delay on the terminal side and the cloud side is reduced.
- the resolution of the first feature map is W ⁇ H
- the resolution of the second feature map is W ⁇ H ⁇ , where W ⁇ H ⁇ W ⁇ H.
- the data volume of the feature map is determined by the product of the resolution and the number of channels. For example, when the resolution of the second feature map is smaller than that of the first feature map, the number of channels of the second feature map is smaller than that of the first feature map. The number of channels in the graph, so the data volume of the second feature map is smaller than the data volume of the first feature map, which reduces the data volume of the feature map sent by the sending node to the receiving node, and reduces the transmission delay between the device side and the cloud side.
- the feature compression layer includes at least one convolutional layer.
- the convolutional layer can be used to downsample the first feature map to reduce the resolution of the first feature map.
- the convolutional layer can also be used to reduce the number of channels of the first feature map to obtain the second feature map.
- the method further includes: the sending node receives an image processing result of the image to be processed, where the image processing result is determined by the receiving node according to the second feature map.
- the sending node performs feature extraction and compression on the image to be processed to obtain a second feature map, and the receiving node uses the second feature map to determine the image processing result of the image to be processed, which realizes the end-cloud interaction of the image processing method, and overcomes the computing power of the sending node. Defects of insufficient storage.
- the method further includes: the sending node displays the image processing result.
- the sending node displays the image processing result.
- the present application provides an image processing method, the method can be applied to a receiving node, or the method can be applied to a communication device that can support a terminal device to implement the method, for example, the communication device includes a chip system, and the method includes :
- the receiving node receives the second feature map, and uses the feature reconstruction layer included in the convolutional neural network to reconstruct the second feature map to obtain the third feature map, and the receiving node uses the feature output layer and image included in the convolutional neural network.
- the processing layer processes the third feature map to obtain an image processing result, and the receiving node also sends the image processing result, where the image processing result indicates the information of the image to be processed.
- the second feature map is obtained by the sending node using the convolutional neural network to extract the features of the image to be processed to obtain the first feature map, and compress the first feature map; the number of channels of the second feature map is smaller than that of the third feature map The number of channels in the first feature map is the same as the number of channels in the third feature map.
- the receiving node only needs to determine the image processing result of the image to be processed according to the second feature map sent by the sending node, and the number of channels of the second feature map is smaller than the third feature map required for image processing. This reduces the amount of data received by the receiving node from the sending node without increasing the resolution of the second feature map, thereby reducing the transmission delay between the terminal side and the cloud side.
- the feature reconstruction layer includes at least one deconvolution layer.
- the deconvolution layer can be used to upsample the second feature map to increase the resolution of the second feature map.
- the deconvolution layer can also be used to increase the number of channels of the second feature map to obtain the third feature map.
- the resolution of the second feature map is W ⁇ H ⁇
- the resolution of the third feature map is W ⁇ H, where W ⁇ H ⁇ W ⁇ H.
- the data volume of the feature map is determined by the product of the resolution and the number of channels. For example, when the resolution of the second feature map is smaller than that of the first feature map, the number of channels of the second feature map is smaller than that of the first feature map. The number of channels in the map, so the data volume of the first feature map is smaller than the data volume of the second feature map.
- the receiving node receiving the second feature map includes: the receiving node receiving the second feature map sent by the sending node.
- Sending the image processing result by the receiving node includes: the receiving node sending the image processing result to the sending node.
- the present application also provides a method for training a convolutional neural network, and the training method can be applied to a communication device that can support a terminal device to implement the method, for example, the communication device includes a chip system, and the method includes: acquiring at least A training set of a training image, and according to the training set, the first feature extraction layer and the first feature output layer of the first convolutional neural network, the first bottleneck structure layer of the first convolutional neural network is trained to obtain the second convolutional neural network.
- a neural network the second convolutional neural network includes a first feature extraction layer, a second bottleneck structure layer and a first feature output layer; wherein, the first feature extraction layer is used to perform feature extraction on the image to be processed to obtain a first feature map, The feature compression layer in the second bottleneck structure layer is used to compress the first feature map to obtain a second feature map, and the number of channels of the second feature map is smaller than the number of channels of the first feature map.
- the convolutional neural network extracts the feature map of the image to be processed, the resolution of the image to be processed will be reduced or unchanged.
- the network can perform feature extraction and compression on the image to be processed, reducing the number of channels of the feature map of the image to be processed, thereby reducing the amount of feature map data sent by the sending node to the receiving node.
- the first convolutional neural network and the second convolutional neural network have the same first feature extraction layer and first feature output layer, only the bottleneck structure layer needs to be trained during the training process of the convolutional neural network, reducing The computational resources required to train a convolutional neural network.
- the first bottleneck structure layer of the first convolutional neural network is trained to obtain the second volume
- the convolutional neural network includes: inputting the training set into the third convolutional neural network to obtain the first set, and inputting the training set into the first convolutional neural network to obtain the second set, and further, according to the fourth feature map and A loss function is calculated for the fifth feature map in the second set, and the parameters of the first bottleneck structure layer are updated according to the loss function to obtain a second bottleneck structure layer, and a second convolutional neural network is obtained.
- the third convolutional neural network includes a second feature extraction layer and a second feature output layer, the parameters of the first feature extraction layer are the same as the parameters of the second feature extraction layer, and the parameters of the first feature output layer are the same as the second feature output layer.
- the parameters of the layers are the same.
- the fourth feature map included in the first set is obtained after the second feature extraction layer and the second feature output layer perform feature extraction on the training image; the fifth feature map included in the second set is the first bottleneck structure. layer and the first feature output layer are obtained by reconstructing and processing the second feature map.
- the training method provided by this application compares the distance between the corresponding multi-layer feature maps (the fourth feature map and the fifth feature map) in the first convolutional neural network and the third convolutional neural network Calculate the loss function to obtain the second convolutional neural network, which is beneficial to reduce the distance between the fourth feature map and the fifth feature map as small as possible, thereby reducing the error between the first feature map and the third feature map, Improve the accuracy of image processing.
- inputting the training set into the first convolutional neural network to obtain the second set includes: using the first feature extraction layer to perform feature extraction on the training image to obtain the first feature map; A feature compression layer included in the bottleneck structure layer compresses the first feature map to obtain a sixth feature map; also uses the feature reconstruction layer included in the first bottleneck structure layer to reconstruct the sixth feature map to obtain a third feature map, and then uses The second feature output layer processes the third feature map to obtain the fifth feature map included in the second set.
- the number of channels of the third feature map is the same as the number of channels of the first feature map; the number of channels of the sixth feature map is smaller than the number of channels of the first feature map.
- calculating the loss function according to the fourth feature map in the first set and the fifth feature map in the second set includes: acquiring the difference between the fourth feature map and the fifth feature map The first distance, and the second distance between the first feature map and the third feature map is obtained, and a loss function is calculated according to the first distance and the second distance.
- the second distance between the first feature map and the third feature map is added to calculate the loss function, which is beneficial to the fourth feature
- the distance between the feature map and the fifth feature map is as small as possible, and the distance between the first feature map and the third feature map is as small as possible, which reduces the processing error of the feature compression layer and feature reconstruction layer, and improves the The accuracy of image processing.
- the resolution of the first feature map is W ⁇ H
- the resolution of the second feature map is W ⁇ H ⁇ , where W ⁇ H ⁇ W ⁇ H.
- the present application further provides an image processing apparatus, and the beneficial effects can be found in the description of any aspect of the first aspect, which will not be repeated here.
- the image processing apparatus has the function of implementing the behavior in the method example of any one of the above-mentioned first aspects.
- the functions can be implemented by hardware, or can be implemented by hardware executing corresponding software.
- the hardware or software includes one or more modules corresponding to the above functions.
- the image processing apparatus is applied to a sending node, and the image processing apparatus includes: a transceiver unit for acquiring an image to be processed; a feature extraction unit for using a feature extraction layer included in a convolutional neural network to obtain an image to be processed Process the image to perform feature extraction to obtain the first feature map; the feature compression unit is used to use the feature compression layer included in the convolutional neural network to compress the first feature map to obtain a second feature map, and the number of channels of the second feature map is smaller than the first feature map. The number of channels of the feature map; the transceiver unit is also used to send the second feature map to the receiving node.
- the feature compression layer includes at least one convolutional layer.
- the resolution of the first feature map is W ⁇ H
- the resolution of the second feature map is W ⁇ H ⁇ , where W ⁇ H ⁇ W ⁇ H.
- the transceiver unit is further configured to receive an image processing result of the image to be processed, and the image processing result is determined by the receiving node according to the second feature map.
- the image processing apparatus further includes: a display unit, configured to display the image to be processed and/or the image processing result.
- the present application further provides another image processing apparatus, and the beneficial effects can be found in the description of any aspect of the second aspect, which will not be repeated here.
- the image processing apparatus has the function of implementing the behavior in the method example of any one of the above-mentioned second aspects.
- the functions can be implemented by hardware, or can be implemented by hardware executing corresponding software.
- the hardware or software includes one or more modules corresponding to the above functions.
- the image processing apparatus is applied to a receiving node, and the image processing apparatus includes: a transceiver unit, configured to receive a second feature map, where the sending node uses a convolutional neural network to process the image to be processed.
- the first feature map is obtained by feature extraction and obtained by compressing the first feature map; the feature reconstruction unit is used to reconstruct the second feature map by using the feature reconstruction layer included in the convolutional neural network to obtain the third feature map.
- feature map the number of channels of the second feature map is less than the number of channels of the third feature map, the number of channels of the first feature map and the number of channels of the third feature map are the same; the image processing unit is used to utilize the features included in the convolutional neural network
- the output layer and the image processing layer process the third feature map to obtain the image processing result, and the image processing result indicates the information of the image to be processed; the transceiver unit is used for sending the image processing result.
- the feature reconstruction layer includes at least one deconvolution layer.
- the resolution of the second feature map is W ⁇ H ⁇
- the resolution of the third feature map is W ⁇ H, where W ⁇ H ⁇ W ⁇ H.
- the transceiver unit is specifically configured to receive the second feature map sent by the sending node; the transceiver unit is specifically configured to send the image processing result to the sending node.
- the present application further provides a training device for a convolutional neural network.
- a training device for a convolutional neural network For beneficial effects, reference may be made to the description of any aspect of the third aspect, which will not be repeated here.
- the image processing apparatus has the function of implementing the behavior in the method example of any one of the above-mentioned third aspects.
- the functions can be implemented by hardware, or can be implemented by hardware executing corresponding software.
- the hardware or software includes one or more modules corresponding to the above functions.
- the training device includes: an acquisition unit for acquiring a training set, where the training set includes at least one training image; a processing unit for extracting the first feature according to the training set and the first convolutional neural network layer and the first feature output layer, train the first bottleneck structure layer of the first convolutional neural network to obtain the second convolutional neural network, and the second convolutional neural network includes the first feature extraction layer, the second bottleneck structure layer and the first Feature output layer; wherein, the first feature extraction layer is used to extract the features of the image to be processed to obtain the first feature map, the feature compression layer in the second bottleneck structure layer is used to compress the first feature map to obtain the second feature map, the second feature The number of channels of the feature map is smaller than the number of channels of the first feature map.
- the processing unit includes: a first training unit, configured to input the training set into a third convolutional neural network to obtain a first set, and the third convolutional neural network includes a second feature extraction layer and a third convolutional neural network.
- the parameters of the first feature extraction layer are the same as the parameters of the second feature extraction layer, the parameters of the first feature output layer are the same as the parameters of the second feature output layer, the first set includes the fourth feature map, the fourth feature map
- the feature map is obtained after the second feature extraction layer and the second feature output layer perform feature extraction on the training image;
- the second training unit is used to input the training set into the first convolutional neural network to obtain the second set, the second set Including a fifth feature map, the fifth feature map is obtained by the feature reconstruction and processing of the second feature map by the first bottleneck structure layer and the first feature output layer;
- the loss calculation unit is used to calculate according to the fourth feature in the first set.
- the feature map and the fifth feature map in the second set calculate the loss function;
- the third training unit is used to update the parameters of the first bottleneck structure layer according to the loss function, obtain the second bottleneck structure layer, and obtain the second convolutional neural network.
- inputting the training set into the first convolutional neural network to obtain the second set includes: using the first feature extraction layer to perform feature extraction on the training image to obtain the first feature map; using the first feature extraction layer
- the feature compression layer included in the bottleneck structure layer compresses the first feature map to obtain a sixth feature map, and the number of channels in the sixth feature map is less than the number of channels in the first feature map; using the feature reconstruction layer included in the first bottleneck structure layer, the The sixth feature map is constructed to obtain the third feature map.
- the number of channels in the third feature map is the same as the number of channels in the first feature map; the second feature output layer is used to process the third feature map to obtain the fifth feature map included in the second set.
- the loss calculation unit is specifically used to obtain the first distance between the fourth feature map and the fifth feature map; the loss calculation unit is specifically used to obtain the first feature map and the third feature The second distance between the graphs; the loss calculation unit is specifically configured to calculate the loss function according to the first distance and the second distance.
- the resolution of the first feature map is W ⁇ H
- the resolution of the second feature map is W ⁇ H ⁇ , where W ⁇ H ⁇ W ⁇ H.
- the present application further provides a communication device, comprising a processor and an interface circuit, the interface circuit is configured to receive signals from other communication devices other than the communication device and transmit to the processor or send the signals from the processor to the communication device.
- the processor is used to implement the first aspect and any one of the possible implementations of the first aspect, or any one of the second aspect and the second aspect through logic circuits or executing code instructions. manner, or operation steps of the method of any one of the third aspect and any possible implementation manner of the third aspect.
- the present application provides a computer-readable storage medium, in which a computer program or instruction is stored, and when the computer program or instruction is executed by a communication device, any one of the first aspect and the first aspect may be implemented. or any one of the possible implementations of the second aspect and the second aspect, or the operation steps of the method of the third aspect and any one of the possible implementations of the third aspect.
- the present application provides a computer program product that, when the computer program product runs on a computer, enables a computing device to implement any one of the possible implementations of the first aspect and the first aspect, or the second aspect and the second aspect Any one of the possible implementations, or the third aspect and the operation steps of the method of any one of the possible implementations of the third aspect.
- the present application provides a chip, including a memory and a processor, the memory is used for storing computer instructions, and the processor is used for calling and running the computer instructions from the memory, so as to execute the above-mentioned first aspect and any possibility of the first aspect.
- the method in the implementation manner of the or any one of the possible implementation manners of the second aspect and the second aspect, or the operation steps of the method in the third aspect and any one possible implementation manner of the third aspect.
- the present application may further combine to provide more implementation manners.
- FIG. 1 is a system schematic diagram of a device-cloud collaboration solution provided by the present application.
- FIG. 2 is a schematic flowchart of an image processing method provided by the present application.
- FIG. 3 is a schematic structural diagram of a convolutional neural network provided by the application.
- FIG. 4 is a schematic structural diagram of a convolutional neural network provided by the prior art
- FIG. 5 is a schematic display diagram of an image processing provided by the present application.
- FIG. 6 is a schematic flowchart of a training method provided by the application.
- FIG. 7 is a schematic diagram one of training of a convolutional neural network provided by the application.
- 8A is a second schematic diagram of training of a convolutional neural network provided by the application.
- 8B is a schematic diagram three of training of a convolutional neural network provided by the application.
- FIG. 10 is a schematic structural diagram of a training device and an image processing device provided by the application.
- FIG. 11 is a schematic structural diagram of a communication device provided by the present application.
- words such as “exemplary” or “for example” are used to represent examples, illustrations or illustrations. Any embodiments or designs described in the embodiments of the present application as “exemplary” or “such as” should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as “exemplary” or “such as” is intended to present the related concepts in a specific manner.
- FIG. 1 is a system schematic diagram of a device-cloud collaboration solution provided by the present application.
- the system includes a device-side device 110 , an edge device 120 , and a cloud-side device 130 .
- the end-side device 110 may be connected with the edge device 120 in a wireless or wired manner.
- the terminal-side device 110 may be connected with the cloud-side device 130 in a wireless or wired manner.
- the edge device 120 may be connected to the cloud-side device 130 in a wireless or wired manner.
- the terminal-side device 110, the edge device 120, and the cloud-side device 130 may all communicate through a network, and the network may be an internet network.
- the end-side device 110 may be a terminal device, a user equipment (UE), a mobile station (mobile station, MS), a mobile terminal (mobile terminal, MT), and the like.
- the end-side device 110 may be a mobile phone (the terminal 111 shown in FIG. 1 ), a tablet computer (the terminal 112 shown in FIG. 1 ), a computer with a wireless transceiving function (as shown in FIG. 1 ) terminal 113), virtual reality (Virtual Reality, VR) terminal equipment, augmented reality (Augmented Reality, AR) terminal equipment, wireless terminals in industrial control (industrial control), wireless terminals in self-driving (such as Terminal 114 shown in FIG.
- VR Virtual Reality
- AR Augmented Reality
- the terminal 114 may be a device for image processing in an automatic driving system
- the terminal 115 may be a camera device for road monitoring
- the terminal 116 may be a collection device (such as a camera) for face recognition.
- the embodiments of the present application do not limit the specific technology and specific device form adopted by the end-side device.
- the terminal-side device 110 may use an artificial intelligence (artificial intelligence, AI) neural network to perform image processing on the image to be processed.
- AI artificial intelligence
- the image to be processed may be collected by the terminal-side device 110 , and the image to be processed may also be realized by an image acquisition device communicatively connected to the terminal-side device 110 , and the image acquisition device may be a video camera, a camera, or the like.
- the image to be processed may be an image collected by a camera, and the image to be processed may also be a frame of image in a video collected by a camera.
- the terminal-side device 110 may transmit the image to the edge device 120 or the cloud-side device 130, and the edge device 120 or the cloud-side device 130 runs an AI neural network to process the image to obtain an image processing result.
- the terminal 116 on the road monitoring collects road images when the terminal 114 (such as a car or a truck) passes through the intersection, and sends the road image to the edge device 120.
- the edge device 120 runs an AI neural network to determine whether the license plate of the terminal 114 is a Local license plate, if the license plate of the terminal 114 is a foreign license plate, the edge device 120 sends the information of the license plate and the image of the terminal 114 to the terminal device of traffic management.
- the terminal-side device 110 may transmit the image to the edge device 120, the edge device 120 preprocesses the image, and sends the result obtained from the preprocessing to the cloud-side device 130, and the cloud-side device 130 Get the processing result of the image.
- the AI neural network is divided into two parts: the first part of the network is used to extract the original feature map of the image, and the second part of the network is used to obtain the image processing result of the image according to the original feature map.
- the edge device 120 runs the first part of the network and sends the original feature map of the image to the cloud-side device 130, and the cloud-side device 130 runs the second part of the network to process the original feature map to obtain an image processing result.
- the cloud-side device 130 may be a server for processing image data, such as the server 131 shown in FIG. 1 .
- the cloud-side device 130 may also be a plurality of virtual machines provided by the server 131 using a virtualization technology, and the virtual machines perform image processing.
- FIG. 1 is only a schematic diagram, and the system may also include other devices, which are not shown in FIG. 1 .
- the embodiments of the present application do not limit the number of terminal-side devices, edge devices, and cloud-side devices included in the system.
- the present application provides an image processing method.
- the method includes: sending a node to obtain an image to be processed, inputting the to-be-processed image into a convolutional neural network, and a feature extraction layer included in the convolutional neural network performs feature extraction on the to-be-processed image. , to obtain a first feature map, and the feature compression layer included in the convolutional neural network compresses the first feature map to obtain a second feature map, where the number of channels of the second feature map is smaller than the number of channels of the first feature map.
- the sending node sends the second feature map to the receiving node. Since the feature extraction layer is used to extract the features of the image to be processed to obtain the first feature map, the data volume of the first feature map is smaller than that of the to-be-processed image; in addition, the first feature map is compressed by the feature compression layer to obtain the second feature map, The number of channels of the second feature map is made smaller than the number of channels of the first feature map. Under the condition that the resolution of the first feature map is not increased, the data volume of the second feature map is smaller than the data volume of the first feature map, which is further reduced The data volume of the feature map sent by the sending node to the receiving node is reduced, and the transmission delay on the terminal side and the cloud side is reduced.
- FIG. 2 is a schematic flowchart of an image processing method provided by the present application, and the image processing method includes the following steps.
- the sending node acquires the image to be processed.
- the to-be-processed image may include at least one of a binary image, a grayscale image, an indexed image, or a true-color image.
- the image to be processed may be acquired by the sending node.
- the sending node if the sending node is any one of the terminal 111 to the terminal 116 , the sending node can use its own image collecting unit (such as a camera) to collect images.
- its own image collecting unit such as a camera
- the to-be-processed image may also be collected by an image collection device communicatively connected to the sending node.
- the image acquisition device may be a terminal 115 or a terminal 116
- the sending node may be a server connected to the terminal 115 or the terminal 116 , or the like.
- the sending node uses the feature extraction layer included in the convolutional neural network to perform feature extraction on the image to be processed to obtain a first feature map.
- CNN Convolutional neural network
- a convolutional neural network consists of a feature extractor consisting of convolutional and pooling layers. The feature extractor can be viewed as a filter, and the convolution process can be viewed as convolution with an input image or a convolutional feature map using a trainable filter.
- the convolutional layer refers to a neuron layer in a convolutional neural network that performs convolution processing on an input signal.
- the convolution layer can include many convolution operators.
- the convolution operator is also called the kernel. Its role in image processing is equivalent to a filter that extracts specific information from the input image matrix.
- the convolution operator can essentially is a weight matrix, which is usually pre-defined, during the convolution operation on the image, the weight matrix is usually one pixel by one pixel (or two pixels by two pixels) along the horizontal direction on the input image... ...it depends on the value of stride) to process, so as to complete the work of extracting specific features from the image. Different weight matrices can be used to extract different features in the image.
- one weight matrix is used to extract image edge information
- another weight matrix is used to extract specific colors of the image
- another weight matrix is used to extract unwanted noise in the image. Blur, etc.
- the multiple weight matrices have the same size (row ⁇ column), and the size of the feature maps extracted from the multiple weight matrices with the same size is also the same, and then the multiple extracted feature maps with the same size are combined to form a convolution operation. output.
- the weight values in these weight matrices need to be obtained through a lot of training in practical applications, and each weight matrix formed by the weight values obtained by training can be used to extract information from the input image, so that the convolutional neural network can make correct predictions.
- the initial convolutional layer often extracts more general features, which can also be called low-level features; as the depth of the convolutional neural network deepens.
- the features extracted by the later convolutional layers are more and more complex, such as features such as high-level semantics, and the features with higher semantics are more suitable for the problem to be solved.
- the convolutional neural network includes at least one convolutional layer, and the convolutional layer includes at least one convolutional unit.
- the convolutional layer can be used to extract various feature maps of the image to be processed, and the feature maps are convolutional layers.
- the three dimensions of the feature map are: height (height, H), width (width, W) and The number of channels (channel, C), the product of W and H can be called the resolution of the feature map (W*H).
- the feature map can represent various information of the image to be processed, such as edge information, lines, textures, etc. in the image.
- the resolution of the image to be processed is 96 ⁇ 96, which is divided into 144 8 ⁇ 8 image samples.
- the feature extraction layer convolves each 8 ⁇ 8 image sample, and convolves all the results obtained by the convolution. Perform aggregation to obtain the first feature map of the image to be processed.
- the convolutional neural network may also include an activation layer, for example, a rectified linear units layer (ReLU), or a parametric rectified linear unit (PReLU), etc.
- an activation layer for example, a rectified linear units layer (ReLU), or a parametric rectified linear unit (PReLU), etc.
- the convolutional neural network may also include other functional modules such as a pooling layer, a batch normalization layer (BN layer), a fully connected layer, and the like.
- BN layer batch normalization layer
- the convolutional neural network may also include other functional modules such as a pooling layer, a batch normalization layer (BN layer), a fully connected layer, and the like.
- BN layer batch normalization layer
- the relevant principles of each functional module of the CNN please refer to the relevant elaboration in the prior art, which will not be repeated.
- the sending node uses the feature compression layer included in the convolutional neural network to compress the first feature map to obtain the second feature map.
- the dimension of the first feature map is W 1 ⁇ H 1 ⁇ C 1
- the dimension of the second feature map is W 2 ⁇ H 2 ⁇ C 2 .
- the above feature compression layer includes at least one convolution layer, the convolution layer is used to reduce the number of channels of the first feature map, and the number of channels of the second feature map is smaller than the number of channels of the first feature map.
- the number of output channels is 1/K of the number of input channels, and K can be 2, 3, 4, 6, 8, 12, or 16, etc.
- the convolutional layer may also be used to downsample the first feature map.
- the convolution kernel of the above-mentioned convolution layer may be determined according to the actual computing power and image processing requirements of the sending node.
- the convolution kernel of the convolutional layer can be 3 ⁇ 3, 5 ⁇ 5, or 7 ⁇ 7, etc.
- the data dimensionality reduction of the neural network feature map often uses a pooling layer.
- the pooling operation of the pooling layer mainly reduces the parameters of the feature map through a pooling kernel, such as maximum pooling, average Value pooling and min pooling.
- the pooling layer will lead to an increase in the channel data of the feature map, such as the VGG (Visual Geometry Group Network) model in CNN.
- the VGG network consists of a convolutional layer module followed by a full connection
- the layer module is composed of several vgg_biocks in series with the VGG network, and its hyperparameters are defined by the variable conv_rach.
- This variable specifies the number of output channels of each VGG block in the VGG network.
- the height and width of the original feature map will be halved, and the channels of the original feature map will be halved. This will lead to the reduction of the total data volume of the feature map, but after the feature map is transmitted to the cloud-side device, the number of channels increases and the resolution decreases, resulting in the image information corresponding to each channel number in the feature map. If it is reduced, the reconstructed feature map reconstructed by the cloud-side device will lose more image information, resulting in a large difference between the image processing result and the information actually indicated by the image to be processed.
- the sending node uses a convolutional neural network including a feature compression layer to compress the first feature map to obtain the second feature map, and the difference between the two is mainly reflected in the second feature.
- the number of channels of the map is smaller than the number of channels of the first feature map.
- the second feature map corresponds to each channel
- the image information remains unchanged, and the image information lost in the reconstructed feature map obtained by the receiving node after reconstructing the second feature map is reduced.
- the image information corresponding to each channel in the second feature map is increased, and the reconstructed feature map obtained by the receiving node after reconstructing the second feature map is lost.
- the image information is reduced, and the difference between the image processing result obtained by the receiving node according to the second feature map and the information actually indicated by the image to be processed is reduced.
- the sending node sends the second feature map to the receiving node.
- the sending node may first encode the second feature map to obtain a code stream, and send the code stream to the receiving node.
- the encoding method may adopt a lossless encoding method, such as the LZMA (lempel-ziv-markov chain-algorithm) algorithm.
- the coding method can also adopt lossy coding methods, such as joint photographic experts group (JPEG) coding, advanced video coding (AVC), high efficiency video coding (high efficiency video coding, HEVC) and other image coding methods, etc.
- JPEG joint photographic experts group
- AVC advanced video coding
- HEVC high efficiency video coding
- other image coding methods etc.
- the encoding method may also adopt an entropy encoding method based on a convolutional neural network and arithmetic encoding, such as an entropy encoding method oriented to a variation auto encoder (VAE) feature map.
- VAE variation auto encoder
- the sending node may integerize the second feature map into 8 bits, form data in YUV400 format for each channel, and input the data into the HEVC or VVC encoder.
- the sending node may further compress the second feature map using a lossless encoding algorithm after integerizing the second feature map into N-bit data.
- the sending node may also use an encoder designed for feature map data to perform compression processing.
- the sending node may also not encode the second feature map, for example, the sending node sends the second feature map output by the feature compression layer to the receiving node.
- the interaction between the sending node and the receiving node may be through the network shown in FIG. 1 for data transmission.
- the sending node and the receiving node may transmit through a transmission control protocol (transmission control protocol, TCP), an Internet protocol (Internet Protocol, IP), a TCP/IP protocol, and the like.
- the receiving node reconstructs the second feature map by using the feature reconstruction layer included in the convolutional neural network to obtain a third feature map.
- the second feature map is obtained by the sending node using the feature extraction layer and the feature compression layer included in the convolutional neural network to perform feature extraction and compression on the image to be processed, but in some possible examples, the second feature map is The feature map may also be forwarded by a network device communicating with the sending node after another processing device performs feature extraction and compression on the image to be processed.
- the processing device may be a mobile phone, and the network device may be a router.
- the dimension of the third feature map is denoted as W 3 ⁇ H 3 ⁇ C 3 .
- the number of output channels can be K times the number of input channels, and K can be 2, 3, 4, 6, 8, 12, or 16, etc.
- the convolution kernel of the above-mentioned deconvolution layer may be determined according to the actual computing power and image processing requirements of the receiving node.
- the convolution kernel of the deconvolution layer can be 3 ⁇ 3, 5 ⁇ 5, or 7 ⁇ 7, etc.
- the receiving node can also decode the code stream.
- the decoding method of the receiving node and the encoding method of the sending node to the second feature map are as follows: matched.
- FIG. 3 is a schematic structural diagram of a convolutional neural network provided by the present application.
- the convolutional neural network 300 includes a first partial network 310 and a second partial network 320, wherein the sending node can use the first partial network 310 obtains a second feature map of the image to be processed, and the receiving node may process the second feature map by using the second partial network 320 to obtain an image processing result.
- the first partial network 310 includes a feature extraction layer 311 and a feature compression layer 312
- the second partial network 320 includes a feature reconstruction layer 321 and a feature output layer 322 .
- the present application also provides the following possible implementation manners.
- the feature compression layer 312 includes two convolutional layers, the first convolutional layer is used to downsample the first feature map, and the second convolutional layer is used to reduce the first feature The number of channels of the map to obtain the second feature map.
- the number of input channels of the first convolutional layer is denoted as C in
- the stride is 2
- the input feature map of the second convolutional layer is the first convolutional layer.
- Output feature map, step size stride 1, and the number of output channels C out2 ⁇ C in .
- the feature reconstruction layer 321 includes a convolution layer and a deconvolution layer.
- the convolution layer is used to increase the number of channels of the second feature map, and then the deconvolution layer realizes the upper and lower layers of the second feature map. Sampling to obtain a third feature map.
- the feature compression layer 312 includes two convolutional layers, the first convolutional layer is used to reduce the number of channels of the first feature map, and the second convolutional layer is used to realize the Downsampling of the graph to obtain a second feature map.
- the feature reconstruction layer 321 includes one convolution layer and one deconvolution layer.
- the deconvolution layer realizes upsampling of the second feature map, and then the convolution layer increases the channel of the second feature map.
- the feature compression layer 312 and the feature reconstruction layer 321 may be asymmetric structures.
- the feature compression layer may also include more convolutional layers
- the feature reconstruction layer may also include more convolutional layers and deconvolutional layers.
- the output of the above-mentioned convolutional layer or deconvolutional layer can also be processed by an activation layer such as ReLU, a BN layer, etc., and then input to the next convolutional layer or deconvolutional layer to improve feature compression.
- an activation layer such as ReLU, a BN layer, etc.
- the non-linearity of the output feature map of the layer and the feature reconstruction layer makes the image processing more accurate, which is not limited in this application.
- FIG. 4 is a schematic structural diagram of a convolutional neural network provided by the prior art.
- the convolutional neural network 400 includes a feature extraction layer 410 and a feature output layer 420, and the feature compression layer shown in FIG. 3 312 can implement the same function as the feature extraction layer 410 , and the feature reconstruction layer 321 shown in FIG. 3 can implement the same function as the feature output layer 420 .
- the feature extraction layer 410 may include a network layer conv1 and a network layer conv2, and both the network layer conv1 and the network layer conv2 may be convolutional layers.
- the parameters of the image to be processed are: W ⁇ H ⁇ 3
- the parameters of the output feature map of the network layer conv1 are: (W/2) ⁇ (H/2) ⁇ 64
- the output feature map of the network layer conv2 are: (W/4) ⁇ (H/4) ⁇ 256.
- the feature output layer 420 may include a network layer conv3, a network layer conv4, and a network layer conv5.
- the network layers conv3 to conv5 may be convolutional layers.
- the parameters of the output feature map of the network layer conv3 are: (W/8) ⁇ (H/8) ⁇ 512
- the output feature map of the network layer conv4 has the following parameters: The parameters are: (W/16) ⁇ (H/16) ⁇ 1024, and the parameters of the output feature map of the network layer conv5 are: (W/32) ⁇ (H/32) ⁇ 2048.
- the backbone network of the convolutional neural network 400 includes network layers conv1 to conv5, and the backbone network is used to extract multiple feature maps of the image to be processed.
- the convolutional neural network further includes a neck network layer 424 (neck network) and a head network layer 425 (head network).
- the neck network layer 424 can be used to further integrate the feature map output by the head network to obtain a new feature map.
- the neck network layer 424 may be a feature pyramid network (FPN).
- the head network layer 425 is used to process the feature map output by the neck network layer 424 to obtain an image processing result.
- the head network contains fully connected layers, softmax modules, etc.
- the present application introduces a feature compression layer and a feature reconstruction layer into the backbone network of the convolutional neural network, so that on the basis of ensuring image processing, the first feature map can be compressed, reducing the size of the first feature map.
- the number of channels thereby reducing the amount of data transmitted by the sending node and the receiving node.
- the receiving node processes the second feature map by using the feature output layer and the image processing layer included in the convolutional neural network to obtain an image processing result.
- the image processing layer may include the neck network layer 424 and the head network layer 425 shown in FIG. 4 .
- the image processing result indicates information of the image to be processed.
- the image processing result may be a result of object detection on the image to be processed, and the information may be a certain area in the image to be processed.
- the sending node may be the terminal 116 (such as a surveillance camera at an intersection), and the receiving node may be the server 131 .
- the terminal 116 collects the image to be processed when the terminal 114 (such as a car or a truck, etc.) passes through the intersection, and sends the feature map obtained after feature extraction and compression of the to-be-processed image to the server 131. If the server 131 determines the license plate of the terminal 114 If it is a foreign license plate, the server 131 sends the foreign license plate information to the central control device of traffic management in the form of a data message.
- the image processing result may be the result of performing face recognition on the image to be processed.
- the sending node may be the terminal 115 (such as a surveillance camera of the administrative building), and the receiving node may be the server 131 .
- the terminal 115 collects a face image when user 1 and user 2 enter the administrative building, and sends the feature map obtained after feature extraction and compression of the face image to the server 131, and the server 131 determines whether user 1 and user 2 are For a legal user registered in the administrative building, for example, the server 131 matches the facial features in the image to be processed with the facial comparison database.
- the server 131 sends the verification pass information to the terminal 115.
- the terminal 115 opens the entrance and exit gates according to the verification pass information, and the user 1 can enter the administrative building through the entrance and exit gates.
- the image processing result may be a result of classifying objects on the image to be processed, and the information of the image to be processed may be object classification information in the image.
- the sending node may be any one of the terminal 111 to the terminal 113
- the receiving node may be the server 131 .
- the terminal 111 collects various images in the house, including sofas, TVs, tables, etc., and sends the feature maps obtained after feature extraction and compression of this set of images to the server 131, and the server 131 according to the set of feature maps The classification of each object in the image and the shopping link corresponding to each type of image are determined, and the information is sent to the terminal 111 .
- the image processing result may be the result of geolocating the image to be processed.
- the sending node may be a terminal 114 (such as a driving recorder installed in a car or a truck), and the receiving node may be a server 131 .
- the terminal 114 performs feature extraction and compression on the to-be-processed image (such as a road image, the road image includes the relative position information of houses, trees, administrative buildings and reference objects shown in FIG. 1 ) taken when approaching an intersection to obtain a feature map , and send the feature map to the server 131 .
- the server 131 performs feature reconstruction and image processing on the feature map to obtain the geographic location corresponding to the image to be processed, and sends the geographic location to the terminal 114 .
- the image processing method further includes the following steps S270 and S280.
- the receiving node sends the image processing result.
- the receiving node may send the image processing result to the sending node shown in FIG. 2 .
- the receiving node can send the image processing results to other nodes.
- the other node may be the central control device of the traffic management system.
- the sending node only needs to send the second feature map to the receiving node, and the number of channels of the second feature map is smaller than the number of channels of the first feature map, so that the resolution of the first feature map is not
- the amount of data sent by the sending node to the receiving node is reduced, which reduces the transmission delay on the terminal side and the cloud side.
- the sending node displays the image processing result.
- the sending node may have a display area, for example, the display area may include a display panel.
- the display panel can be a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), an Active-Matrix Organic Light-Emitting Diode or an Active-Matrix Organic Light-Emitting Diode (Active-Matrix Organic Light).
- Emitting Diode, AMOLED flexible light-emitting diode
- FLED Flexible light-emitting diode
- Miniled MicroLed, Micro-oLed, quantum dot light-emitting diode (Quantum Dot Light Emitting Diodes, QLED) and so on.
- the sending node may include one or more display screens 194 .
- the sending node is a mobile phone and the image processing scene is object classification.
- the sending node only displays the image to be processed, as shown in (a) in Figure 5, the mobile phone displays the pending image. Process an image, which includes multiple graphics.
- the sending node only displays the image processing result, as shown in (b) in Figure 5, the mobile phone displays the types of objects in the image to be processed, such as water cups, pens, etc.
- the sending node displays the image to be processed and the image processing result, as shown in (c) in Figure 5, when the mobile phone displays the image to be processed, the type of each object is marked in the to-be-processed image Process the corresponding position of the image.
- the sending node may also perform other processing. For example, the name of the object in the image captured by the sending node is notified to the user; or, if the receiving node analyzes the second feature map and gives warning information, the sending node sends a warning voice prompt to remind the user in the environment corresponding to the sending node to pay attention to safety, etc. , which is not limited in this application.
- the sending node can implement the functions of the terminal-side device and/or edge device as shown in FIG. 1
- the receiving node can implement the functions of the cloud-side device as shown in FIG. 1 as an example.
- the sending node can implement the function of the end-side device as shown in FIG. 1
- the receiving node can also implement the function of the edge device as shown in FIG. 1 .
- the above-mentioned convolutional neural network can be obtained by adding a bottleneck structure layer to an existing image processing network (the convolutional neural network 400 shown in FIG. 4 ), and training the bottleneck structure layer according to the image processing network, Among them, the bottleneck structure is a multi-layer network structure, the number of input channels and the number of output channels of the bottleneck structure layer are the same, and the number of channels of the intermediate feature map of the bottleneck structure layer is smaller than the number of input channels.
- the input data of the bottleneck structure layer (such as the first feature map of the above image to be processed) first passes through one or more neural network layers to obtain intermediate data (such as the second feature map above), and then the intermediate data passes through 1 layer Or multi-layer neural network layers to obtain output data (such as the above-mentioned third feature map); wherein, the data volume of the intermediate data (ie the product of width, height and number of channels) is lower than the input data volume and the output data volume.
- the image processing network includes a feature extraction layer, a feature output layer and an image processing layer
- the bottleneck structure layer includes a feature compression layer and a feature reconstruction layer
- the convolutional neural network can be It is divided into two parts: the first part of the network includes a feature extraction layer and a feature compression layer, and the second part of the network includes a feature reconstruction layer, a feature output layer and an image processing layer.
- the first part of the network of the convolutional neural network is realized, and the above-mentioned function of the receiving node may be realized by the second part of the network of the convolutional neural network deployed on the receiving node.
- the present application also provides a training method for a convolutional neural network, as shown in FIG. 6 , which is a training method provided by the present application.
- FIG. 6 A schematic flowchart of the method, the training method can be executed by a sending node or a receiving node, or can be executed by other electronic devices, which is not limited in this application, and the training method includes the following steps.
- the training set includes at least one training image.
- the training set may include 50,000 to 100,000 training images, and the training images may be any of the following types: binary images, grayscale images, indexed images, and true-color images.
- the first feature extraction layer and the first feature output layer of the first convolutional neural network train the first bottleneck structure layer of the first convolutional neural network to obtain a second convolutional neural network.
- FIG. 7 is a schematic diagram 1 of training of a convolutional neural network provided by this application.
- the first convolutional neural network 710 includes a first feature extraction layer T701 , a first bottleneck structure layer 711 and a first feature
- the output layer P701 the second convolutional neural network 720 includes a first feature extraction layer T701, a second bottleneck structure layer 721 and a first feature output layer P701.
- the first feature extraction layer T701 can be used to implement the function of the feature extraction layer 311 shown in FIG. 3
- the first feature output layer P701 can be used to implement the function of the feature output layer 322 shown in FIG. 3
- the second bottleneck structure layer 721 It can be used to realize the functions of the feature compression layer 312 and the feature reconstruction layer 321 shown in FIG. 3 .
- the above-mentioned first bottleneck structure layer 711 and the second bottleneck structure layer 721 are both bottleneck structures, and the bottleneck structure is a multi-layer network structure.
- the input data of the second bottleneck structure layer 721 (such as the above-mentioned first feature map of the image to be processed) first passes through one or more neural network layers to obtain intermediate data (such as the above-mentioned second feature map), and then the intermediate data
- the output data (such as the above-mentioned third feature map) is obtained through one or more neural network layers; wherein, the data volume of the intermediate data (ie the product of the width, height and the number of channels) is lower than the input data volume and the output data volume.
- the second feature map FM2' is smaller than the number of channels of the first feature map FM1.
- the second feature map FM2' is obtained by performing feature extraction and compression on the training image by the first feature extraction layer T701 and the second bottleneck structure layer 721.
- the first feature extraction layer T701 performs feature extraction on the training image to obtain the first feature map FM1
- the feature compression layer 7211 in the second bottleneck structure layer 721 compresses the first feature map FM1 to obtain a second feature map FM2'.
- the first feature map FM1 is obtained by performing feature extraction on the training image by the first feature extraction layer T701.
- the number of channels of the second feature map FM2 is greater than or equal to the number of channels of the second feature map FM2 ′.
- the second feature map FM2 is obtained by performing feature extraction and compression on the training image by the first feature extraction layer T701 and the first bottleneck structure layer 711.
- the first feature extraction layer T701 performs feature extraction on the training image to obtain the first feature map FM1
- the feature compression layer 7111 in the first bottleneck structure layer 711 compresses the first feature map FM1 to obtain the second feature map FM2.
- the resolution of the image to be processed will be reduced or unchanged, and the first convolutional neural network is trained by using the training method provided in this application, and the obtained
- the second convolutional neural network can perform feature extraction and compression on the image to be processed, which reduces the number of channels of the feature map of the image to be processed, thereby reducing the amount of data of the feature map sent by the sending node to the receiving node.
- first convolutional neural network and the second convolutional neural network have the same first feature extraction layer and first feature output layer, only the bottleneck structure layer needs to be trained during the training process of the convolutional neural network, reducing The computational resources required to train a convolutional neural network.
- the third convolutional neural network 730 includes a second feature extraction layer T702 and a second feature output layer P702.
- the parameters of the first feature extraction layer T701 are the same as those of the first feature extraction layer T701.
- the parameters of the two feature extraction layers T702 are the same, and the parameters of the first feature output layer P701 are the same as the parameters of the second feature output layer P702.
- the third convolutional neural network 730 may be used to implement the functions of the convolutional neural network 400 shown in FIG. 4 .
- the above parameters may include the maximum number of iterations (max_batches) or the batch size (batch_size), etc.
- FIG. 8B is a third schematic diagram of training of a convolutional neural network provided by this application.
- the technical content of the first convolutional neural network 710 shown in FIG. 8B please refer to the first convolutional neural network shown in FIG. 7 above. 710, which will not be repeated here.
- a conventional approach is to use the training set (including the training image and the annotation information corresponding to the training image, such as object detection frame and feature category, etc.) used in training the third convolutional neural network 730, to The first convolutional neural network 710 is trained with the model parameters of the first bottleneck structure layer 711 .
- the training set used when training the third convolutional neural network 730 includes the label information of the training images, which causes the training of the first convolutional neural network 710 to consume enormous computing resources and the training speed is slow.
- FIG. 9 is a schematic flowchart of another training method provided by the present application.
- S620 it may include the training methods corresponding to the operation steps of S621 to S624 .
- the first set includes a fourth feature map
- the fourth feature map is obtained after the second feature extraction layer and the second feature output layer perform feature extraction and image processing on the training image.
- the second feature extraction layer T702 shown in FIG. 8A and FIG. 8B includes network layer conv1 and network layer conv2
- the second feature output layer P702 includes network layer conv3, network layer conv4 and network layer conv5 as an example for description.
- the first set may include a fourth feature map FM4_1 obtained by processing the first feature map FM1 by the network layer conv3, a fourth feature map FM4_2 obtained by processing the fourth feature map FM4_1 by the network layer conv4, and a fourth feature map FM4_2 obtained by processing the fourth feature map FM4_2 by the network layer conv5 Any one or more of the fourth feature maps FM4_3.
- the third convolutional neural network does not include the bottleneck structure layer for illustration.
- the third convolutional neural network may also include a bottleneck structure layer.
- the first The convolutional neural network has one more first bottleneck structure layer than the third convolutional neural network.
- the first convolutional neural network not only includes all the structures of the third convolutional neural network, but also includes the above-mentioned first bottleneck structure layer.
- the third convolutional neural network is used. The network trains the first bottleneck structure layer of the first convolutional neural network to obtain a second convolutional neural network.
- S622 Input the training set into the first convolutional neural network to obtain a second set.
- the second set includes a fifth feature map
- the fifth feature map is obtained by performing feature reconstruction and image processing on the second feature map by the first bottleneck structure layer and the first feature output layer.
- the first feature extraction layer T701 shown in FIG. 8B includes the network layer conv1 and the network layer conv2
- the first feature output layer P701 includes the network layer conv3, the network layer conv4 and the network layer conv5 as an example for description.
- the second set of It can include the fifth feature map FM5_1 obtained by the network layer conv3 processing the third feature map FM3, the fifth feature map FM5_2 obtained by the network layer conv4 processing the fifth feature map FM5_1, and the fifth feature map FM5_2 obtained by the network layer conv5 processing the fifth feature map FM5_2. Any one or more of the feature maps FM5_3.
- the loss function may be calculated according to the distance between the fourth feature map and the fifth feature map.
- the loss function may be calculated using the mean absolute error L1norm (1-norm) of the fourth and fifth feature maps.
- L1norm (1-norm) of the fourth and fifth feature maps.
- the loss function may also be calculated using the mean square error L2norm (2-norm) of the fourth feature map and the fifth feature map.
- L2norm (2-norm) the mean square error of the fourth feature map and the fifth feature map.
- Loss the loss function
- L2norm the mean square error L2norm (2-norm) of the fourth feature map and the fifth feature map.
- Loss w1 ⁇ L2(FM4_1, FM5_1)+ w2 ⁇ L2(FM4_2, FM5_2)+w3 ⁇ L2(FM4_3, FM5_3).
- L2(A, B) represents the L2norm (2-norm) that calculates the difference between the two three-dimensional data of A and B.
- a regularization term of the second feature map FM2 may also be used to calculate the loss function, and the regularization term may include any one of the following three items.
- the average amplitude of the second feature map FM2, the weighting coefficient of this item is a negative real number.
- the L1norm of the gradient of the feature element of the second feature map FM2 and its adjacent feature elements in the same channel, the weighting coefficient of this item is a negative real number.
- the coded bit estimation value of the second feature map FM2, the weighting coefficient of this item is a positive real number.
- the second feature map of the image to be processed is obtained by compressing the first feature map.
- the regularization term of the second feature map FM2 is added. According to the regularization term of the second feature map To train the first bottleneck structure layer, it is beneficial to reduce the error caused by compressing the first feature map.
- the second bottleneck structure layer is obtained, and then the second convolutional neural network is obtained.
- BP backward propagation
- the condition for obtaining the second convolutional neural network may be that the number of backpropagation times reaches a threshold, or the value of the loss function is less than or equal to the threshold, or it may be obtained by two adjacent calculations.
- the difference between the loss function values is less than or equal to the threshold, which is not limited in this application.
- the training method provided by this application compares the distance between the corresponding multi-layer feature maps (the fourth feature map and the fifth feature map) in the first convolutional neural network and the third convolutional neural network Calculate the loss function to obtain the second convolutional neural network, which is beneficial to reduce the distance between the fourth feature map and the fifth feature map as small as possible, thereby reducing the error between the first feature map and the third feature map, Improve the accuracy of image processing.
- the above S622 may include the following steps S622a to S622d.
- the first feature extraction layer T701 performs feature extraction on the training image to obtain a first feature map FM1.
- the feature compression layer 7111 compresses the first feature map FM1 to obtain a second feature map FM2 (such as the sixth feature map above), and the number of channels of the second feature map FM2 is smaller than that of the first feature map FM1 number of channels.
- the feature reconstruction layer 7111 reconstructs the second feature map FM2 to obtain a third feature map FM3.
- the first feature map FM1 and the third feature map FM3 have the same number of channels, and the first feature map FM1
- the resolution of the third feature map FM3 may also be the same.
- the first feature output layer 7112 processes the third feature map FM3 to obtain a fifth feature map (for example, any one of the fifth feature map FM5_1, the fifth feature map FM5_2, and the fifth feature map FM5_3 or multiple).
- a fifth feature map for example, any one of the fifth feature map FM5_1, the fifth feature map FM5_2, and the fifth feature map FM5_3 or multiple.
- the above-mentioned S623 may include the following steps S623a-S623c.
- the first distance may be L1norm or L2norm between the fourth feature map and the fifth feature map.
- the second distance may be L1norm or L2norm between the first feature map and the third feature map.
- the second distance may be L2norm of the first feature map FM1 and the third feature map FM3.
- S623c Calculate a loss function according to the first distance and the second distance.
- the loss function is based on the mean square error L2norm (2-norm) of the fourth feature map FM4 and the fifth feature map FM5, and the first feature map FM1 and the third feature map FM3.
- L2(A, B) represents the L2norm (2-norm) that calculates the difference between the two three-dimensional data of A and B.
- the second distance between the first feature map and the third feature map is added to calculate the loss function, which is beneficial to the fourth feature
- the distance between the feature map and the fifth feature map is as small as possible, and the distance between the first feature map and the third feature map is as small as possible, which reduces the processing error of the feature compression layer and feature reconstruction layer, and improves the The accuracy of image processing.
- the PCA method is often used to reduce the data dimension of the feature map.
- PCA is a multivariate statistical analysis method that selects a small number of important variables by linearly transforming multiple variables.
- the 128-channel original feature map corresponding to a group of images is obtained through the end-side device using the PCA method to obtain the principal component of each image.
- the group of images includes 3 images, the main The number of components is 47, 48, and 49 in sequence.
- the number of principal components of each image is different.
- the number of channels of the reconstructed feature map for each image may become 126, 127, and 128, resulting in a difference in the number of channels of the original and reconstructed feature maps.
- the first feature map before compression and the reconstructed feature map are considered.
- the distance between the third feature map of the second convolutional neural network obtained by training makes the process of compressing and reconstructing the first feature map in the second convolutional neural network, but the difference between the first feature map and the third feature map is significantly smaller than that of the PCA method.
- the PCA method can achieve a data reduction of about 3 times when the mean Average Precision (mAP) metric decreases by 2%.
- mAP mean Average Precision
- the 128-channel original feature map corresponding to a set of images is When the average number of principal components generated after PCA was 47.9, the mAP index decreased by about 2%.
- the second convolutional neural network obtained by using the training method of the present application can perform 64 times data reduction on the first feature map of 128 channels corresponding to a set of images (for example, the width, height, number of channels of the second feature map are respectively reduced to 1/4 of the width, height and number of channels of the first feature map), the code stream compressed by the second feature map after 64 times of data reduction is compared with the code stream compressed by the unreduced first feature map, The amount of data is reduced by 90%, and the loss of mAP is less than 1%.
- the training method provided in this application it is only necessary to input a large number of training images, and use the training images to stimulate the feature maps generated in the first convolutional neural network and the third convolutional neural network as a guide, without relying on artificial vision tasks. Labeling the data reduces the data dependence of the training images; and using the feature map as a training guide makes the training method provided in this application more versatile.
- the host includes corresponding hardware structures and/or software modules for executing each function.
- the units and method steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software-driven hardware depends on the specific application scenarios and design constraints of the technical solution.
- FIG. 10 is a schematic structural diagram of a training device and an image processing device provided by the present application.
- the structures and functions of the training device 1010 , the first image processing device 1020 and the second image processing device 1030 are described below with reference to FIG. 10 . It should be understood that this embodiment only describes the training device 1010 , the first image processing device 1020 and the second image processing device 1030
- the structure and functional modules of the image processing apparatus 1030 are exemplarily divided, and the present application does not make any limitation to the specific division.
- the training apparatus 1010 includes an acquisition unit 1011 and a processing unit 1012 , and the training apparatus 1010 is configured to implement the training method corresponding to each operation step in the method embodiment shown in FIG. 6 or FIG. 9 above.
- the acquisition unit 1011 is used to perform the above-mentioned S610
- the processing unit 1012 is used to perform the above-mentioned S620.
- the processing unit 1012 includes a first training unit 1012a, a second training unit 1012b, a loss calculation unit 1012c, and a third training unit 1012d .
- the first training unit 1012a is used to execute S621
- the second training unit 1012b is used to execute S622 and its possible sub-steps S622a-S622d
- the loss calculation unit 1012c is used to execute S623 and its possible sub-steps S623a-S623c
- the third training Unit 1012d is used to perform S624.
- the first image processing apparatus 1020 includes a first transceiver unit 1021 , a feature extraction unit 1022 , a feature compression unit 1023 and a display unit 1024 .
- the first image processing apparatus 1020 is configured to implement the image processing method corresponding to each operation step of the sending node in the method embodiment shown in FIG. 2 above.
- the first image processing apparatus 1020 When the first image processing apparatus 1020 is used to implement the function of the sending node in the method embodiment shown in FIG. 2, the first transceiver unit 1021 is used to perform the above-mentioned S210 and S240, the feature extraction unit 1022 is used to perform the above-mentioned S220, The feature compression unit 1023 is configured to perform the above-mentioned S230. Optionally, the display unit 1024 is configured to perform the above-mentioned S280.
- the second image processing apparatus 1030 includes a second transceiver unit 1031 , a feature reconstruction unit 1032 and an image processing unit 1033 .
- the first image processing device 1020 is configured to implement the image processing method corresponding to each operation step of the receiving node in the method embodiment shown in FIG. 2 above.
- the second image processing apparatus 1030 When the second image processing apparatus 1030 is used to implement the function of the receiving node in the method embodiment shown in FIG. 2 , the second transceiver unit 1031 is used to perform the above S270, the feature reconstruction unit 1032 is used to perform the above S250, and the image The processing unit 1033 is configured to execute the above-mentioned S260.
- the first image processing apparatus 1020 and the second image processing apparatus 1030 can be obtained directly by referring to the relevant descriptions in the method embodiments shown in FIG. 2 , FIG. 6 or FIG. 9 , which are not added here. Repeat.
- FIG. 11 is a schematic structural diagram of a communication apparatus provided by the present application.
- the communication apparatus 1100 includes a processor 1110 and a communication interface 1120 .
- the processor 1110 and the communication interface 1120 are coupled to each other.
- the communication interface 1120 can be a transceiver or an input-output interface.
- the communication apparatus 1100 may further include a memory 1130 for storing instructions executed by the processor 1110 or input data required by the processor 1110 to execute the instructions or data generated after the processor 1110 executes the instructions.
- the functions of the training apparatus 1010 , the first image processing apparatus 1020 , and the second image processing apparatus 1030 can be implemented, which will not be repeated here.
- the specific connection medium between the communication interface 1120, the processor 1110, and the memory 1130 is not limited in this embodiment of the present application.
- the communication interface 1120, the processor 1110, and the memory 1130 are connected through a bus 1140 in FIG. 11.
- the bus is represented by a thick line in FIG. 11, and the connection between other components is only for schematic illustration. , is not limited.
- the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 11, but it does not mean that there is only one bus or one type of bus.
- the memory 1130 may be used to store software programs and modules, such as program instructions/modules corresponding to the image processing method and the training method provided in the embodiments of the present application.
- the processor 1110 executes each software program and module stored in the memory 1130 by executing the functional applications and data processing.
- the communication interface 1120 can be used for signaling or data communication with other devices. In this application, the communication device 1100 may have a plurality of communication interfaces 1120 .
- the above-mentioned memory may be, but not limited to, random access memory (Random Access Memory, RAM), read-only memory (Read Only Memory, ROM), programmable read-only memory (Programmable Read-Only Memory, PROM), can Erasable Read-Only Memory (Erasable Programmable Read-Only Memory, EPROM), Electrical Erasable Programmable Read-Only Memory (EEPROM), etc.
- RAM Random Access Memory
- ROM Read Only Memory
- PROM programmable read-only memory
- EPROM Erasable Programmable Read-Only Memory
- EEPROM Electrical Erasable Programmable Read-Only Memory
- the above-mentioned processor may be an integrated circuit chip with signal processing capability.
- the processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; it may also be a digital signal processor (Digital Signal Processing, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- CPU Central Processing Unit
- NP Network Processor
- DSP Digital Signal Processing
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- the method steps in the embodiments of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
- the software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, PROM, EPROM, EEPROM, registers, hard disk, removable hard disk, CD-ROM or any other form of storage medium well known in the art .
- An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
- the storage medium can also be an integral part of the processor.
- the processor and storage medium may reside in an ASIC.
- the ASIC can be located in the communication device or in the terminal device.
- the processor and the storage medium may also exist in the communication device or the terminal device as discrete components.
- the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
- software it can be implemented in whole or in part in the form of a computer program product.
- the computer program product includes one or more computer programs or instructions.
- the processes or functions described in the embodiments of the present application are executed in whole or in part.
- the computer may be a general purpose computer, special purpose computer, computer network, communication device, user equipment, or other programmable device.
- the computer program or instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program or instructions may be downloaded from a website site, computer, A server or data center transmits by wire or wireless to another website site, computer, server or data center.
- the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server, data center, or the like that integrates one or more available media.
- the usable medium can be a magnetic medium, such as a floppy disk, a hard disk, and a magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); it can also be a semiconductor medium, such as a solid state drive (solid state drive). , SSD).
- a magnetic medium such as a floppy disk, a hard disk, and a magnetic tape
- an optical medium such as a digital video disc (DVD)
- DVD digital video disc
- it can also be a semiconductor medium, such as a solid state drive (solid state drive). , SSD).
- “at least one” means one or more, and “plurality” means two or more.
- “And/or”, which describes the association relationship of the associated objects, indicates that there can be three kinds of relationships, for example, A and/or B, which can indicate: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A, B can be singular or plural.
- the character “/” generally indicates that the related objects are a kind of "or” relationship; in the formula of this application, the character "/” indicates that the related objects are a kind of "division" Relationship.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Description
Claims (30)
- 一种图像处理方法,其特征在于,应用于发送节点,所述方法包括:获取待处理图像;利用卷积神经网络包括的特征提取层,对所述待处理图像进行特征提取,得到第一特征图;利用所述卷积神经网络包括的特征压缩层,压缩所述第一特征图得到第二特征图,所述第二特征图的通道数小于所述第一特征图的通道数;向接收节点发送所述第二特征图。
- 根据权利要求1所述的方法,其特征在于,所述特征压缩层包括至少一层卷积层。
- 根据权利要求1或2所述的方法,其特征在于,所述第一特征图的分辨率为W×H,所述第二特征图的分辨率为W`×H`,W`×H`<W×H。
- 根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:接收所述待处理图像的图像处理结果,所述图像处理结果为所述接收节点依据所述第二特征图确定的。
- 根据权利要求4所述的方法,其特征在于,所述方法还包括:显示所述图像处理结果。
- 一种图像处理方法,其特征在于,应用于接收节点,所述方法包括:接收第二特征图,所述第二特征图是发送节点利用卷积神经网络,对待处理图像进行特征提取得到第一特征图,并将所述第一特征图进行压缩得到的;利用所述卷积神经网络包括的特征重构层,对所述第二特征图进行重构,得到第三特征图,所述第二特征图的通道数小于所述第三特征图的通道数,所述第一特征图的通道数和所述第三特征图的通道数相同;利用所述卷积神经网络包括的特征输出层和图像处理层,对所述第三特征图进行处理得到图像处理结果,所述图像处理结果指示所述待处理图像的信息;发送所述图像处理结果。
- 根据权利要求6所述的方法,其特征在于,所述特征重构层包括至少一层反卷积层。
- 根据权利要求6或7所述的方法,其特征在于,所述第二特征图的分辨率为W`×H`,所述第三特征图的分辨率为W×H,W`×H`<W×H。
- 根据权利要求6-8中任一项所述的方法,其特征在于,所述接收第二特征图,包括:接收所述发送节点发送的第二特征图;所述发送所述图像处理结果,包括:向所述发送节点发送所述图像处理结果。
- 一种卷积神经网络的训练方法,其特征在于,所述方法包括:获取训练集,所述训练集包括至少一幅训练图像;依据所述训练集、第一卷积神经网络的第一特征提取层和第一特征输出层,训练所述第一卷积神经网络的第一瓶颈结构层得到第二卷积神经网络,所述第二卷积神经网络包括 所述第一特征提取层、第二瓶颈结构层和所述第一特征输出层;其中,所述第一特征提取层用于对待处理图像进行特征提取得到第一特征图,所述第二瓶颈结构层中的特征压缩层用于压缩所述第一特征图得到第二特征图,所述第二特征图的通道数小于所述第一特征图的通道数。
- 根据权利要求10所述的方法,其特征在于,依据所述训练集、第一卷积神经网络的第一特征提取层和第一特征输出层,训练所述第一卷积神经网络的第一瓶颈结构层得到第二卷积神经网络,包括:将所述训练集输入第三卷积神经网络,得到第一集合,所述第三卷积神经网络包括第二特征提取层和第二特征输出层,所述第一特征提取层的参数与所述第二特征提取层的参数相同,所述第一特征输出层的参数与所述第二特征输出层的参数相同,所述第一集合包括第四特征图,所述第四特征图为所述第二特征提取层和所述第二特征输出层对所述训练图像进行特征提取后得到的;将所述训练集输入所述第一卷积神经网络,得到第二集合,所述第二集合包括第五特征图,所述第五特征图为所述第一瓶颈结构层和所述第一特征输出层对所述第二特征图进行特征重构和处理得到的;依据所述第一集合中的第四特征图和所述第二集合中的第五特征图计算损失函数;依据所述损失函数更新所述第一瓶颈结构层的参数,获取所述第二瓶颈结构层,得到所述第二卷积神经网络。
- 根据权利要求11所述的方法,其特征在于,将所述训练集输入所述第一卷积神经网络,得到第二集合,包括:利用所述第一特征提取层,对所述训练图像进行特征提取得到所述第一特征图;利用所述第一瓶颈结构层包括的特征压缩层,压缩所述第一特征图得到第六特征图,所述第六特征图的通道数小于所述第一特征图的通道数;利用所述第一瓶颈结构层包括的特征重构层,重构所述第六特征图得到第三特征图,所述第三特征图的通道数和所述第一特征图的通道数相同;利用所述第二特征输出层,处理所述第三特征图得到所述第二集合包括的所述第五特征图。
- 根据权利要求12所述的方法,其特征在于,依据所述第一集合中的第四特征图和所述第二集合中的第五特征图计算损失函数,包括:获取所述第四特征图与所述第五特征图之间的第一距离;获取所述第一特征图和所述第三特征图之间的第二距离;依据所述第一距离和所述第二距离计算所述损失函数。
- 根据权利要求10-13中任一项所述的方法,其特征在于,所述第一特征图的分辨率为W×H,所述第二特征图的分辨率为W`×H`,W`×H`<W×H。
- 一种图像处理装置,其特征在于,应用于发送节点,所述装置包括:收发单元,用于获取待处理图像;特征提取单元,用于利用卷积神经网络包括的特征提取层,对所述待处理图像进行特征提取,得到第一特征图;特征压缩单元,用于利用所述卷积神经网络包括的特征压缩层,压缩所述第一特征图 得到第二特征图,所述第二特征图的通道数小于所述第一特征图的通道数;所述收发单元,还用于向接收节点发送所述第二特征图。
- 根据权利要求15所述的装置,其特征在于,所述特征压缩层包括至少一层卷积层。
- 根据权利要求15或16所述的装置,其特征在于,所述第一特征图的分辨率为W×H,所述第二特征图的分辨率为W`×H`,W`×H`<W×H。
- 根据权利要求15-17中任一项所述的装置,其特征在于,所述收发单元,还用于接收所述待处理图像的图像处理结果,所述图像处理结果为所述接收节点依据所述第二特征图确定的。
- 根据权利要求18所述的装置,其特征在于,所述装置还包括:显示单元,用于显示所述图像处理结果。
- 一种图像处理装置,其特征在于,应用于接收节点,所述装置包括:收发单元,用于接收第二特征图,所述第二特征图是发送节点利用卷积神经网络,对待处理图像进行特征提取得到第一特征图,并将所述第一特征图进行压缩得到的;特征重构单元,用于利用所述卷积神经网络包括的特征重构层,对所述第二特征图进行重构,得到第三特征图,所述第二特征图的通道数小于所述第三特征图的通道数,所述第一特征图的通道数和所述第三特征图的通道数相同;图像处理单元,用于利用所述卷积神经网络包括的特征输出层和图像处理层,对所述第三特征图进行处理得到图像处理结果,所述图像处理结果指示所述待处理图像的信息;所述收发单元,用于发送所述图像处理结果。
- 根据权利要求20所述的装置,其特征在于,所述特征重构层包括至少一层反卷积层。
- 根据权利要求20或21所述的装置,其特征在于,所述第二特征图的分辨率为W`×H`,所述第三特征图的分辨率为W×H,W`×H`<W×H。
- 根据权利要求20-22中任一项所述的装置,其特征在于,所述收发单元,具体用于接收所述发送节点发送的第二特征图;所述收发单元,具体用于向所述发送节点发送所述图像处理结果。
- 一种卷积神经网络的训练装置,其特征在于,所述装置包括:获取单元,用于获取训练集,所述训练集包括至少一幅训练图像;处理单元,用于依据所述训练集、第一卷积神经网络的第一特征提取层和第一特征输出层,训练所述第一卷积神经网络的第一瓶颈结构层得到第二卷积神经网络,所述第二卷积神经网络包括所述第一特征提取层、第二瓶颈结构层和所述第一特征输出层;其中,所述第一特征提取层用于对待处理图像进行特征提取得到第一特征图,所述第二瓶颈结构层中的特征压缩层用于压缩所述第一特征图得到第二特征图,所述第二特征图的通道数小于所述第一特征图的通道数。
- 根据权利要求24所述的装置,其特征在于,所述处理单元包括:第一训练单元,用于将所述训练集输入第三卷积神经网络,得到第一集合,所述第三卷积神经网络包括第二特征提取层和第二特征输出层,所述第一特征提取层的参数与所述第二特征提取层的参数相同,所述第一特征输出层的参数与所述第二特征输出层的参数相 同,所述第一集合包括第四特征图,所述第四特征图为所述第二特征提取层和所述第二特征输出层对所述训练图像进行特征提取后得到的;第二训练单元,用于将所述训练集输入所述第一卷积神经网络,得到第二集合,所述第二集合包括第五特征图,所述第五特征图为所述第一瓶颈结构层和所述第一特征输出层对所述第二特征图进行特征重构和处理得到的;损失计算单元,用于依据所述第一集合中的第四特征图和所述第二集合中的第五特征图计算损失函数;第三训练单元,用于依据所述损失函数更新所述第一瓶颈结构层的参数,获取所述第二瓶颈结构层,得到所述第二卷积神经网络。
- 根据权利要求25所述的装置,其特征在于,所述第一瓶颈结构层包括特征压缩层和特征重构层;将所述训练集输入所述第一卷积神经网络,得到第二集合,包括:利用所述第一特征提取层,对所述训练图像进行特征提取得到所述第一特征图;利用所述第一瓶颈结构层包括的特征压缩层,压缩所述第一特征图得到第六特征图,所述第六特征图的通道数小于所述第一特征图的通道数;利用所述第一瓶颈结构层包括的特征重构层,重构所述第六特征图得到第三特征图,所述第三特征图的通道数和所述第一特征图的通道数相同;利用所述第二特征输出层,处理所述第三特征图得到所述第二集合包括的所述第五特征图。
- 根据权利要求26所述的装置,其特征在于,所述损失计算单元,具体用于获取所述第四特征图与所述第五特征图之间的第一距离;所述损失计算单元,具体用于获取所述第一特征图和所述第三特征图之间的第二距离;所述损失计算单元,具体用于依据所述第一距离和所述第二距离计算所述损失函数。
- 根据权利要求24-27中任一项所述的装置,其特征在于,所述第一特征图的分辨率为W×H,所述第二特征图的分辨率为W`×H`,W`×H`<W×H。
- 一种通信装置,其特征在于,包括处理器和接口电路,所述接口电路用于接收来自所述通信装置之外的其它通信装置的信号并传输至所述处理器或将来自所述处理器的信号发送给所述通信装置之外的其它通信装置,所述处理器通过逻辑电路或执行代码指令用于实现如权利要求1至9中任一项所述的方法,或权利要求10-14中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被通信装置执行时,实现如权利要求1至9中任一项所述的方法,或权利要求10-14中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202280008179.8A CN116635895A (zh) | 2021-04-08 | 2022-03-29 | 一种图像处理方法、训练方法及装置 |
EP22783910.7A EP4303818A1 (en) | 2021-04-08 | 2022-03-29 | Image processing method and apparatus, and training method and apparatus |
US18/481,096 US20240029406A1 (en) | 2021-04-08 | 2023-10-04 | Image processing method, training method, and apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2021109673A RU2773420C1 (ru) | 2021-04-08 | Способ обработки изображений, способ и устройство обучения | |
RU2021109673 | 2021-04-08 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/481,096 Continuation US20240029406A1 (en) | 2021-04-08 | 2023-10-04 | Image processing method, training method, and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022213843A1 true WO2022213843A1 (zh) | 2022-10-13 |
Family
ID=83545031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/083614 WO2022213843A1 (zh) | 2021-04-08 | 2022-03-29 | 一种图像处理方法、训练方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240029406A1 (zh) |
EP (1) | EP4303818A1 (zh) |
CN (1) | CN116635895A (zh) |
WO (1) | WO2022213843A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3660785A1 (en) * | 2018-11-30 | 2020-06-03 | Laralab UG | Method and system for providing an at least 3-dimensional medical image segmentation of a structure of an internal organ |
CN111340901A (zh) * | 2020-02-19 | 2020-06-26 | 国网浙江省电力有限公司 | 基于生成式对抗网络的复杂环境下输电网图片的压缩方法 |
CN112203098A (zh) * | 2020-09-22 | 2021-01-08 | 广东启迪图卫科技股份有限公司 | 基于边缘特征融合和超分辨率的移动端图像压缩方法 |
-
2022
- 2022-03-29 EP EP22783910.7A patent/EP4303818A1/en active Pending
- 2022-03-29 WO PCT/CN2022/083614 patent/WO2022213843A1/zh active Application Filing
- 2022-03-29 CN CN202280008179.8A patent/CN116635895A/zh active Pending
-
2023
- 2023-10-04 US US18/481,096 patent/US20240029406A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3660785A1 (en) * | 2018-11-30 | 2020-06-03 | Laralab UG | Method and system for providing an at least 3-dimensional medical image segmentation of a structure of an internal organ |
CN111340901A (zh) * | 2020-02-19 | 2020-06-26 | 国网浙江省电力有限公司 | 基于生成式对抗网络的复杂环境下输电网图片的压缩方法 |
CN112203098A (zh) * | 2020-09-22 | 2021-01-08 | 广东启迪图卫科技股份有限公司 | 基于边缘特征融合和超分辨率的移动端图像压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116635895A (zh) | 2023-08-22 |
US20240029406A1 (en) | 2024-01-25 |
EP4303818A1 (en) | 2024-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3940591A1 (en) | Image generating method, neural network compression method, and related apparatus and device | |
US20230196117A1 (en) | Training method for semi-supervised learning model, image processing method, and device | |
WO2021042828A1 (zh) | 神经网络模型压缩的方法、装置、存储介质和芯片 | |
CN109711463B (zh) | 基于注意力的重要对象检测方法 | |
US11151447B1 (en) | Network training process for hardware definition | |
US11244191B2 (en) | Region proposal for image regions that include objects of interest using feature maps from multiple layers of a convolutional neural network model | |
WO2021155792A1 (zh) | 一种处理装置、方法及存储介质 | |
CN112990219B (zh) | 用于图像语义分割的方法和装置 | |
EP4090022A1 (en) | Image processing method and related device | |
CN116978011B (zh) | 一种用于智能目标识别的图像语义通信方法及系统 | |
CN112883887B (zh) | 一种基于高空间分辨率光学遥感图像的建筑物实例自动提取方法 | |
EP4283876A1 (en) | Data coding method and related device | |
CN117197727B (zh) | 一种基于全局时空特征学习的行为检测方法与系统 | |
CN115131634A (zh) | 图像识别方法、装置、设备、存储介质及计算机程序产品 | |
WO2022213992A1 (zh) | 一种数据处理方法及装置 | |
WO2023019444A1 (zh) | 语义分割模型的优化方法和装置 | |
WO2024160219A1 (zh) | 一种模型量化方法及其装置 | |
CN114913339A (zh) | 特征图提取模型的训练方法和装置 | |
WO2023174256A1 (zh) | 一种数据压缩方法以及相关设备 | |
CN114529750A (zh) | 图像分类方法、装置、设备及存储介质 | |
WO2024001653A1 (zh) | 特征提取方法、装置、存储介质及电子设备 | |
WO2022213843A1 (zh) | 一种图像处理方法、训练方法及装置 | |
CN116543338A (zh) | 一种基于注视目标估计的学生课堂行为检测方法 | |
CN111626298A (zh) | 一种实时图像语义分割装置及分割方法 | |
CN116703944A (zh) | 图像分割方法、图像分割装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22783910 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202280008179.8 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022783910 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2022783910 Country of ref document: EP Effective date: 20231005 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |