CN111260037B - Convolution operation method and device of image data, electronic equipment and storage medium - Google Patents

Convolution operation method and device of image data, electronic equipment and storage medium Download PDF

Info

Publication number
CN111260037B
CN111260037B CN202010088688.9A CN202010088688A CN111260037B CN 111260037 B CN111260037 B CN 111260037B CN 202010088688 A CN202010088688 A CN 202010088688A CN 111260037 B CN111260037 B CN 111260037B
Authority
CN
China
Prior art keywords
convolution
sub
convolution kernel
kernel
kernels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010088688.9A
Other languages
Chinese (zh)
Other versions
CN111260037A (en
Inventor
易立强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Intellifusion Technologies Co Ltd
Original Assignee
Shenzhen Intellifusion Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Intellifusion Technologies Co Ltd filed Critical Shenzhen Intellifusion Technologies Co Ltd
Priority to CN202010088688.9A priority Critical patent/CN111260037B/en
Publication of CN111260037A publication Critical patent/CN111260037A/en
Application granted granted Critical
Publication of CN111260037B publication Critical patent/CN111260037B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

The application provides a convolution operation method, a convolution operation device, electronic equipment and a storage medium of image data, wherein the convolution operation method comprises the following steps: under the condition of extracting a feature map of an input image, acquiring non-zero value distribution of a single convolution kernel in a convolution neural network; splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels; carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel; and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel. The embodiment of the application is beneficial to reducing the operand of the convolutional neural network, thereby reducing the power consumption of the edge equipment.

Description

Convolution operation method and device of image data, electronic equipment and storage medium
Technical Field
The present application relates to the field of machine learning technologies, and in particular, to a method and apparatus for convolution operation of image data, an electronic device, and a storage medium.
Background
With the continuous development of machine learning technology, convolutional neural networks are widely applied to various fields of society, and particularly have achieved remarkable achievements in the fields of image recognition, video analysis, natural language processing and the like. The characteristic of the convolutional neural network is high in calculation complexity and high in model parameters, in order to deploy the convolutional neural network on the edge equipment with limited resources, a model compression method is generally adopted in the prior art, and unimportant weights or convolution kernels in a convolutional neural network model are removed under the condition that model accuracy is not reduced, so that model parameter sparsification is realized. However, the parameter sparsification only has the effect of compressing the parameter storage amount of the model, the calculation amount of the model is not reduced, and the power consumption of the edge device cannot be effectively reduced.
Disclosure of Invention
In order to solve the problems, the application provides a convolution operation method, a convolution operation device, electronic equipment and a storage medium of image data, which are beneficial to reducing the operation amount of a convolution neural network, thereby reducing the power consumption of edge equipment.
To achieve the above object, a first aspect of an embodiment of the present application provides a convolution operation method of image data, including:
Under the condition of extracting a feature map of an input image, acquiring non-zero value distribution of a single convolution kernel in a convolution neural network;
splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels;
carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel;
and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
With reference to the first aspect, in a possible implementation manner, the splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel obtains a plurality of sub-convolution kernels, including one of the following:
splitting each non-zero value into the sub-convolution kernels according to the non-zero value distribution of the single convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the line priority is indicated in the memory, splitting each non-zero value which is not adjacent in the horizontal direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the horizontal direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels;
According to the non-zero value distribution of the single convolution kernel, if the column priority is indicated in the memory, splitting each non-zero value which is not adjacent in the vertical direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the vertical direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels.
With reference to the first aspect, in a possible implementation manner, before the convolving each of the sub-convolution kernels with data in a corresponding operation range on the feature map, the method further includes:
determining the initial positions of each sub-convolution kernel in the vertical direction and the horizontal direction in the single sub-convolution kernel, the moving step length of the single sub-convolution kernel in the vertical direction and the horizontal direction and the size of each sub-convolution kernel in the vertical direction and the horizontal direction;
and acquiring the operation range of each sub convolution kernel according to the starting position, the moving step length and the size.
With reference to the first aspect, in a possible implementation manner, the accumulating the convolution operation result of the single convolution kernel on the input channel includes:
determining the number C of input channels i
C, the convolution operation result of the single convolution kernel is C i The accumulation is performed on the input channels.
With reference to the first aspect, in a possible implementation manner, the convolving each of the sub-convolution kernels with data in a corresponding operation range on the feature map includes:
acquiring position indications of each sub convolution kernel in the vertical direction and the horizontal direction in the single convolution kernel according to the initial position and the size;
acquiring data in the operation range according to the position indication, the moving step length, the operation range, the batch processing number and an input channel;
and carrying out convolution operation on each sub convolution kernel and the data in the operation range by adopting a preset formula.
A second aspect of an embodiment of the present application provides a convolution operation apparatus for image data, the apparatus including:
the position acquisition module is used for acquiring the non-zero value distribution of a single convolution kernel in the convolution neural network under the condition that the feature map of the input image is extracted;
the convolution kernel splitting module is used for splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub convolution kernels;
the first convolution operation module is used for carrying out convolution operation on each sub-convolution kernel and the data in the corresponding operation range on the feature map, and accumulating the convolution operation results of each sub-convolution kernel to obtain the convolution operation result of the single convolution kernel;
And the second convolution operation module is used for accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
A third aspect of the embodiments of the present application provides an electronic device, including an input device and an output device, and further including a processor adapted to implement one or more instructions; and a computer storage medium storing one or more instructions adapted to be loaded by the processor and to perform the steps of:
under the condition of extracting a feature map of an input image, acquiring non-zero value distribution of a single convolution kernel in a convolution neural network;
splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels;
carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel;
and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
A fourth aspect of the embodiments of the present application provides a computer storage medium storing one or more instructions adapted to be loaded by a processor and to perform the steps of:
under the condition of extracting a feature map of an input image, acquiring non-zero value distribution of a single convolution kernel in a convolution neural network;
splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels;
carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel;
and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
The scheme of the application at least comprises the following beneficial effects: it can be seen that the embodiment of the application obtains the non-zero value distribution of a single convolution kernel in the convolution neural network; splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels; carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel; and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel. Therefore, all single convolution kernels in the convolution neural network are split into a plurality of sub-convolution kernels according to the non-zero value division, and the high image data operand originally executed by the single convolution kernels is decomposed onto the plurality of sub-convolution kernels to carry out convolution operation, so that the operand of the convolution neural network is reduced, and the power consumption of edge equipment is reduced.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of a network architecture according to an embodiment of the present application;
fig. 2 is a flow chart of a convolution operation method of image data according to an embodiment of the present application;
FIG. 3 is an exemplary diagram of a non-zero value distribution of a single convolution kernel provided by an embodiment of the present disclosure;
FIG. 4a is an exemplary diagram of a split sub-convolution kernel provided by an embodiment of the present disclosure;
FIG. 4b is an exemplary diagram of another split sub-convolution kernel provided by an embodiment of the present disclosure;
FIG. 4c is an exemplary diagram of another split sub-convolution kernel provided by an embodiment of the present disclosure;
FIG. 5 is an exemplary diagram of input channels and output channels provided by an embodiment of the present application;
FIG. 6 is a flowchart of another convolution operation method of image data according to an embodiment of the present disclosure;
Fig. 7 is a schematic structural diagram of a convolution operation device for image data according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order that those skilled in the art will better understand the present application, a technical solution in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present application without making any inventive effort, shall fall within the scope of the present application.
The terms "comprising" and "having" and any variations thereof, as used in the description, claims and drawings, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus. Furthermore, the terms "first," "second," and "third," etc. are used for distinguishing between different objects and not for describing a particular sequential order.
The network system architecture to which the scheme of the embodiment of the present application may be applied is first described by way of example with reference to the accompanying drawings. Referring to fig. 1, fig. 1 is a schematic diagram of a network architecture provided in an embodiment of the present application, as shown in fig. 1, the network architecture includes an image capturing device 101, a server 102 and a user terminal 103, wherein the image capturing device 101, the server 102 and the user terminal 103 communicate through a network, and networks that may be used for communication include, but are not limited to, a virtual network, a local area private network and a metropolitan area network. The image capturing device 101 may be any device in any scenario of a gate channel, building entrance, cell, traffic light intersection, etc., for example: video cameras, high definition snapshot cameras, etc., the collected images of which may be displayed on a display interface of the user terminal 103, may be processed and stored in association by the server 102, and optionally, the image collection device 101 may upload the collected images in real time or according to a time period set by the user through the user terminal 103. The server 102 may be a single server or a server cluster, and a processor or a built-in chip of the server is deployed with a convolutional neural network algorithm, and the convolutional neural network algorithm may be executed or automatically executed according to an instruction sent by the user terminal 103, so as to perform relevant processing such as image recognition, target detection or target tracking on an image acquired by the image acquisition device 101, and may return a final processing result to the user terminal 103. The user terminal 103 may be a desktop computer, a notebook computer, a tablet, a mobile phone, an interactive internet protocol television (Internet Protocol Television, IPTV), a wearable device, etc., and is mainly used for providing a man-machine interaction interface, displaying images collected by the image collecting device 101, displaying image recognition, object detection or object tracking results of the server 102, or any form of interaction between a user and the server 102.
Based on the network architecture shown in fig. 1, the convolution operation method of the image data provided by the embodiment of the present application is described in detail below with reference to other drawings.
Referring to fig. 2, fig. 2 is a flowchart of a convolution operation method of image data according to an embodiment of the present application, where the convolution operation method of image data is executed by the server 102, as shown in fig. 2, and includes steps S21 to S24:
s21, under the condition that the feature map of the input image is extracted, non-zero value distribution of a single convolution kernel in the convolution neural network is obtained.
In an embodiment of the present application, the input image is collected by the image collecting device 101 in fig. 1 and transmitted to the server 102, where the input image may be a snap shot picture, a shot video frame, etc., and the feature map may be pixel values of the input image, for example: the image acquisition device 101 of the cell gate channel acquires a face image of a pedestrian passing through the cell gate channel, sends the face image to the server 102, and the server 102 processes the face image to extract the value of each pixel of the face image. The convolutional layer of the convolutional neural network (Convolutional Neural Networks, CNN) typically has a plurality of convolutional kernels, which may or may not be uniform in size, a single convolutional kernel, i.e., the original convolutional kernel in the convolutional neural network, which for a single convolutional kernel may be generally denoted as K c,i,u,v Wherein C, i, u, v represent the position indications of the output channel, the input channel, the convolution kernel in the vertical direction and the horizontal direction, c=0, 1 0 -1;i=0,1,...,C i -1;u=0,1,...,K h -1;v=0,1,...,K w -1;C 0 ,C i ,K h ,K w The number of output channels, the number of input channels, the vertical size, and the horizontal size are indicated, respectively.
Non-zero value, i.e. K in a single convolution kernel c,i,u,v In short, the positions with 0's weight value in the single convolution kernel, i.e. the positions with non-zero values, and because the value distribution of the single convolution kernel is unknown, the server 102 needs to traverse the single convolution kernel to obtain the positions with non-zero values in the single convolution kernel, and these positions can just compose the corresponding patterns, as shown in fig. 3, (0, 0), (0, 2), (1, 1), (2, 0), (2, 1) are the convolution kernel units with non-zero values, and the data in the convolution kernel units with non-zero values represent the non-zero values in the horizontal direction and the vertical direction of the single convolution kernelTo a location, for example: (0, 0) means row 0, column 0 of the non-zero value in a single convolution kernel.
S22, splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels.
In a specific embodiment of the present application, after the non-zero value distribution of the single convolution kernel is obtained, the single convolution kernel may be split into a plurality of sub-convolution kernels. While splitting a single convolution kernel may specifically include three implementations: 1. splitting each non-zero value into one sub-convolution kernel, resulting in a plurality of sub-convolution kernels, such as (0, 0), (0, 2), (1, 1), (2, 0), (2, 1) five non-zero values in fig. 3, and splitting each non-zero value into one sub-convolution kernel, then five sub-convolution kernels as shown in fig. 4a would be obtained; 2. if the memory indicates that the memory stores with row preference, splitting each non-zero value which is not adjacent in the horizontal direction into a sub-convolution kernel, and aggregating the non-zero values which are adjacent in the horizontal direction into a sub-convolution kernel to obtain a plurality of sub-convolution kernels, such as (0, 0), (0, 2), (1, 1), (2, 0), (2, 1) five non-zero values in fig. 3, splitting (0, 0), (0, 2), (1, 1) three non-zero values into three independent sub-convolution kernels, (2, 0) and (2, 1) because of being adjacent in the horizontal direction, aggregating (2, 0) and (2, 1) into one sub-convolution kernel, then splitting into four sub-convolution kernels as shown in fig. 4 b; 3. if the memory is indicated to store with column preference, each non-zero value not adjacent in the vertical direction is split into one sub-convolution kernel, and the non-zero values adjacent in the vertical direction are aggregated into one sub-convolution kernel, resulting in multiple sub-convolution kernels, and then as in fig. 3, (0, 0), (0, 2), (1, 1), (2, 0), (2, 1) five non-zero values, the non-zero values not adjacent in the vertical direction are split into three separate sub-convolution kernels, and as (1, 1) and (2, 1) are vertically adjacent, (1, 1) and (2, 1) are aggregated into one sub-convolution kernel, four sub-convolution kernels as shown in fig. 4c are obtained.
Further, the splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels may further include:
and according to the non-zero value distribution of the single convolution kernel, if the line priority is indicated in the memory, all non-zero values which are not adjacent in the horizontal direction are aggregated into the sub-convolution kernels, and the non-zero values which are adjacent in the horizontal direction are aggregated into the sub-convolution kernels, so that a plurality of sub-convolution kernels are obtained. As in fig. 3, (0, 0), (0, 2), (1, 1) three non-zero values are not adjacent in the horizontal direction, and then the three non-zero values are aggregated into one sub-convolution kernel unit to be split, (2, 0) and (2, 1) are aggregated into one sub-convolution kernel to be split due to being adjacent in the horizontal direction, thereby obtaining a plurality of sub-convolution kernels.
Further, the splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels may further include:
and according to the non-zero value distribution of the single convolution kernel, if the column priority is indicated in the memory, all non-zero values which are not adjacent in the vertical direction are aggregated into the sub-convolution kernels, and the non-zero values which are adjacent in the vertical direction are aggregated into the sub-convolution kernels, so that a plurality of sub-convolution kernels are obtained. As in fig. 3, (0, 0), (0, 2), (2, 0) three non-zero values are not adjacent in the vertical direction, and then the three non-zero values are aggregated into one sub-convolution kernel to be split, and (1, 1) and (2, 1) are aggregated into one sub-convolution kernel to be split due to the (1, 1) and (2, 1) being adjacent in the vertical direction, thereby obtaining a plurality of sub-convolution kernels.
It should be noted that, in the implementation of the present embodiment, the specific implementation of the above splitting scheme may depend on the actual operational efficiency.
S23, carrying out convolution operation on each sub-convolution kernel and the data in the corresponding operation range on the feature map, and accumulating the convolution operation results of each sub-convolution kernel to obtain the convolution operation result of the single convolution kernel.
In the embodiment of the present application, after splitting a single convolution kernel by selecting one of the three splitting modes in step S22, a feature map (a map acquired by the image acquisition device 101) of each sub convolution kernel is first acquiredLike feature maps obtained through the input layer of convolutional neural networks), for example: the sub-convolution kernels (0, 0) have a corresponding operational range and the sub-convolution kernels (0, 2) have a corresponding operational range. The operation range of the nth sub-convolution kernel may specifically be: x is x (n) =q,q+1,...,S w ·X+q+Q-1,y (n) =p,p+1,...,S h And Y+p+P-1, wherein X represents the horizontal direction of the extracted feature map, Q represents the horizontal starting position of the nth sub-convolution kernel in the single convolution kernel, Q represents the horizontal direction of the nth sub-convolution kernel, Y represents the vertical starting position of the extracted feature map, P represents the vertical starting position of the nth sub-convolution kernel in the single convolution kernel, and P represents the vertical direction of the nth sub-convolution kernel.
After the operation range of each sub convolution kernel is determined, the sub convolution kernel is formed byDetermining data in an operation range corresponding to an nth sub convolution kernel, wherein b represents the batch number (S) h And S is w The moving steps in the vertical direction and the horizontal direction of a single convolution kernel are respectively represented, u (n) And v (n) Representing the position indications of the nth sub-convolution kernel in the vertical and horizontal directions, respectively, in a single convolution kernel. The convolution operation is carried out on each sub convolution kernel and the data in the corresponding operation range, and the formula of the convolution operation carried out on the nth sub convolution kernel and the data in the corresponding operation range is as follows:
wherein, the liquid crystal display device comprises a liquid crystal display device,representing the result of the operation of the nth sub-convolution kernel, < ->Representing the nth sub-convolution kernel. For each sub-convolution kernelThe operation results are accumulated to obtain the operation result of a single convolution kernel, and the operation formula is as follows:
wherein Y is b,c,i,y,x Representing the result of the operation of a single convolution kernel, N represents the number of sub-convolution kernels of the single convolution kernel.
S24, accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
In a specific embodiment of the present application, the number of input channels C i The result of the operation of the single convolution kernel is determined by the server 102 at C i The convolution operation result of each output channel of the convolution neural network is obtained by accumulating the input channels, and the operation formula is as follows:
as shown in fig. 5, when the target detection is performed on the image input by the image acquisition device 101, the convolutional neural network used has 32 input channels and 64 output channels, so that the number of single convolutional kernels is 32×64, and the convolution operation results of the 32×64 convolutional kernels are accumulated on the 32 input channels, so that the final convolution operation result of each output channel of the input image in the 64 output channels is obtained.
It can be seen that the embodiment of the application obtains the non-zero value distribution of a single convolution kernel in the convolution neural network; splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels; carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel; and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel. Therefore, all single convolution kernels in the convolution neural network are split into a plurality of sub-convolution kernels according to the non-zero value division, and the high image data operand originally executed by the single convolution kernels is decomposed onto the plurality of sub-convolution kernels to carry out convolution operation, so that the operand of the convolution neural network is reduced, and the power consumption of edge equipment is reduced.
Referring to fig. 6, fig. 6 is a flowchart of another convolution operation method of image data according to an embodiment of the present application, which can be implemented based on the network architecture shown in fig. 1, as shown in fig. 6, and includes steps S61-S66:
s61, under the condition that a feature map of an input image is extracted, acquiring non-zero value distribution of a single convolution kernel in a convolution neural network;
s62, splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels;
s63, determining initial positions of the sub-convolution kernels in the vertical direction and the horizontal direction in the single sub-convolution kernel, moving step lengths of the single sub-convolution kernels in the vertical direction and the horizontal direction and sizes of the sub-convolution kernels in the vertical direction and the horizontal direction;
s64, acquiring the operation range of each sub convolution kernel according to the starting position, the moving step length and the size;
in the embodiment of the application, after a single convolution kernel is split, the starting position Q of the single convolution kernel in the horizontal direction and the starting position P of the single convolution kernel in the vertical direction, the size Q of the single convolution kernel in the horizontal direction and the size P of the single convolution kernel in the vertical direction and the moving step S of the single convolution kernel in the vertical direction and the horizontal direction are determined for the nth sub convolution kernel h And S is w From q, p, S above h 、S w Q, P, the calculation range of the nth sub convolution kernel is calculated.
S65, carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the characteristic diagram to obtain a convolution operation result of each sub-convolution kernel;
s66, accumulating the convolution operation results of the sub-convolution kernels to obtain the convolution operation result of the single convolution kernel;
s67, accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
In a possible implementation manner, the convolving each of the sub-convolution kernels with data in a corresponding operation range on the feature map includes:
acquiring position indications of each sub convolution kernel in the vertical direction and the horizontal direction in the single convolution kernel according to the initial position and the size;
acquiring data in the operation range according to the position indication, the moving step length, the operation range, the batch processing number and an input channel;
and carrying out convolution operation on each sub convolution kernel and the data in the operation range by adopting a preset formula.
In this embodiment, the position of the nth sub-convolution kernel in the vertical direction in a single convolution kernel indicates u (n) =p..p+p-1, position in horizontal direction indicates v (n) =q..q+q-1, data in the operational range, namelyPreset formula, i.e. above->Is a calculation formula of (2).
The steps S61-S67 shown in fig. 6 are described in detail in the embodiments shown in fig. 2-5, and can achieve the same or similar advantages, and are not repeated here.
It can be seen that the embodiment of the application obtains the non-zero value distribution of a single convolution kernel in the convolution neural network; splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels; obtaining the corresponding operation range of each sub convolution kernel on the characteristic diagram; carrying out convolution operation on each sub-convolution kernel and the data in the corresponding operation range to obtain a convolution operation result of each sub-convolution kernel; accumulating the convolution operation results of the sub-convolution kernels to obtain the convolution operation result of the single convolution kernel; and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel. Thus, all single convolution kernels in the convolution neural network are split into a plurality of sub-convolution kernels according to the non-zero value division, the operation range of each sub-convolution kernel is calculated, each sub-convolution kernel is responsible for operating data in the corresponding operation range, the high image data operation quantity originally executed by the single convolution kernel is decomposed onto the plurality of sub-convolution kernels to carry out convolution operation, and the reduction of the operation quantity of the convolution neural network is facilitated, so that the power consumption of the edge equipment is reduced.
Referring to fig. 7, fig. 7 is a schematic structural diagram of a convolution operation device for image data according to an embodiment of the present application, as shown in fig. 7, the device includes:
a position obtaining module 71, configured to obtain a non-zero value distribution of a single convolution kernel in the convolutional neural network in the case of extracting a feature map of an input image;
a convolution kernel splitting module 72, configured to split the single convolution kernel according to a non-zero value distribution of the single convolution kernel, so as to obtain a plurality of sub-convolution kernels;
a first convolution operation module 73, configured to perform convolution operation on each of the sub-convolution kernels and data in an operation range corresponding to the feature map, and accumulate convolution operation results of each of the sub-convolution kernels to obtain a convolution operation result of the single convolution kernel;
and a second convolution operation module 74, configured to accumulate the convolution operation result of the single convolution kernel on the input channel, to obtain the convolution operation result of the input image on the output channel.
In a possible implementation manner, the first convolution operation module 73 is specifically further configured to:
determining the initial positions of each sub-convolution kernel in the vertical direction and the horizontal direction in the single sub-convolution kernel, the moving step length of the single sub-convolution kernel in the vertical direction and the horizontal direction and the size of each sub-convolution kernel in the vertical direction and the horizontal direction;
And acquiring the operation range of each sub convolution kernel according to the starting position, the moving step length and the size.
In one possible implementation, the convolution kernel splitting module 72 is specifically configured to perform one of the following in splitting the single convolution kernel according to a non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels:
splitting each non-zero value into the sub-convolution kernels according to the non-zero value distribution of the single convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the line priority is indicated in the memory, splitting each non-zero value which is not adjacent in the horizontal direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the horizontal direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the column priority is indicated in the memory, splitting each non-zero value which is not adjacent in the vertical direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the vertical direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels.
In one possible implementation, the second convolution operation module 74 is specifically configured to, in accumulating the convolution operation results of the single convolution kernel on the input channel:
Determining the number C of input channels i
C, the convolution operation result of the single convolution kernel is C i The accumulation is performed on the input channels.
In one possible implementation manner, in terms of performing a convolution operation on each of the sub-convolution kernels and data within an operation range corresponding to the feature map, the first convolution operation module 73 is specifically configured to:
acquiring position indications of each sub convolution kernel in the vertical direction and the horizontal direction in the single convolution kernel according to the initial position and the size;
acquiring data in the operation range according to the position indication, the moving step length, the operation range, the batch processing number and an input channel;
and carrying out convolution operation on each sub convolution kernel and the data in the operation range by adopting a preset formula.
According to an embodiment of the present application, each unit in the convolution operation device of image data shown in fig. 7 may be separately or completely combined into one or several additional units, or some unit(s) thereof may be further split into a plurality of units with smaller functions, which may achieve the same operation without affecting the achievement of the technical effects of the embodiment of the present application. The above units are divided based on logic functions, and in practical applications, the functions of one unit may be implemented by a plurality of units, or the functions of a plurality of units may be implemented by one unit. In other embodiments of the present application, the convolution operation device based on image data may also include other units, and in practical applications, these functions may also be implemented with assistance by other units, and may be implemented by cooperation of a plurality of units. It should be noted that, the convolution operation device of image data provided in the embodiment of the present application can be applied to image processing scenarios such as target detection, face recognition, target tracking, and the like.
According to another embodiment of the present application, a convolution operation apparatus device of image data as shown in fig. 7 may be constructed by running a computer program (including program code) capable of executing steps involved in the respective methods as shown in fig. 2 or 6 on a general-purpose computing device such as a computer including a processing element such as a Central Processing Unit (CPU), a random access storage medium (RAM), a read only storage medium (ROM), and the like, and a storage element, and a convolution operation method of image data of an embodiment of the present application is implemented. The computer program may be recorded on, for example, a computer-readable recording medium, and loaded into and executed by the above-described computing device via the computer-readable recording medium.
Based on the description of the method embodiment and the device embodiment, the embodiment of the application also provides electronic equipment. Referring to fig. 8, the electronic device includes at least a processor 81, an input device 82, an output device 83, and a computer storage medium 84. Wherein the processor 81, input device 82, output device 83, and computer storage medium 84 within the electronic device may be connected by a bus or other means.
The computer storage medium 84 may be stored in a memory of the electronic device, the computer storage medium 84 being for storing a computer program comprising program instructions, the processor 81 being for executing the program instructions stored by the computer storage medium 84. The processor 81, or CPU (Central Processing Unit ), is a computing core as well as a control core of the electronic device, which is adapted to implement one or more instructions, in particular to load and execute one or more instructions to implement a corresponding method flow or a corresponding function.
In one embodiment, the processor 81 of the electronic device provided in the embodiment of the present application may be configured to perform a series of convolution operations: under the condition of extracting a feature map of an input image, acquiring non-zero value distribution of a single convolution kernel in a convolution neural network; splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels; carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel; and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
In one embodiment, before convolving each of the sub-convolution kernels with data within a corresponding operation range on the signature, the processor 81 is further configured to:
determining the initial positions of each sub-convolution kernel in the vertical direction and the horizontal direction in the single sub-convolution kernel, the moving step length of the single sub-convolution kernel in the vertical direction and the horizontal direction and the size of each sub-convolution kernel in the vertical direction and the horizontal direction;
And acquiring the operation range of each sub convolution kernel according to the starting position, the moving step length and the size.
In yet another embodiment, the processor 81 is configured to perform said splitting of said single convolution kernel according to a non-zero value distribution of said single convolution kernel to obtain a plurality of sub-convolution kernels, including one of:
splitting each non-zero value into the sub-convolution kernels according to the non-zero value distribution of the single convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the line priority is indicated in the memory, splitting each non-zero value which is not adjacent in the horizontal direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the horizontal direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the column priority is indicated in the memory, splitting each non-zero value which is not adjacent in the vertical direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the vertical direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels.
In yet another embodiment, processor 81 executes
The step of accumulating the convolution operation result of the single convolution kernel on an input channel comprises the following steps:
Determining the number C of input channels i
C, the convolution operation result of the single convolution kernel is C i The accumulation is performed on the input channels.
In yet another embodiment, the processor 81 performs the convolution operation of each of the sub-convolution kernels with data in a corresponding operation range on the feature map, including:
acquiring position indications of each sub convolution kernel in the vertical direction and the horizontal direction in the single convolution kernel according to the initial position and the size;
acquiring data in the operation range according to the position indication, the moving step length, the operation range, the batch processing number and an input channel;
and carrying out convolution operation on each sub convolution kernel and the data in the operation range by adopting a preset formula.
By way of example, the electronic devices may be computers, servers, computers, etc., which may include, but are not limited to, a processor 81, an input device 82, an output device 83, a computer storage medium 84. It will be appreciated by those skilled in the art that the schematic diagram is merely an example of an electronic device and is not limiting of an electronic device, and may include more or fewer components than shown, or certain components may be combined, or different components.
It should be noted that, since the steps in the above-described convolution operation method of image data are implemented when the processor 81 of the electronic device executes the computer program, the above-described embodiments of the convolution operation method of image data are applicable to the electronic device, and the same or similar beneficial effects can be achieved.
The embodiment of the application also provides a computer storage medium (Memory), which is a Memory device in the electronic device and is used for storing programs and data. It will be appreciated that the computer storage medium herein may include both a built-in storage medium in the terminal and an extended storage medium supported by the terminal. The computer storage medium provides a storage space that stores an operating system of the terminal. Also stored in this memory space are one or more instructions, which may be one or more computer programs (including program code), adapted to be loaded and executed by the processor 81. The computer storage medium herein may be a high-speed RAM memory or a non-volatile memory (non-volatile memory), such as at least one magnetic disk memory; alternatively, it may be at least one computer storage medium located remotely from the aforementioned processor 81. In one embodiment, one or more instructions stored in a computer storage medium may be loaded and executed by processor 81 to implement the respective steps of the convolution operation method described above with respect to image data; in particular implementations, one or more instructions in a computer storage medium are loaded by processor 81 and perform the steps of:
Under the condition of extracting a feature map of an input image, acquiring non-zero value distribution of a single convolution kernel in a convolution neural network;
splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels;
carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel;
and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
In one example, one or more instructions in the computer storage medium, when loaded by the processor 81, further perform the steps of:
determining the initial positions of each sub-convolution kernel in the vertical direction and the horizontal direction in the single sub-convolution kernel, the moving step length of the single sub-convolution kernel in the vertical direction and the horizontal direction and the size of each sub-convolution kernel in the vertical direction and the horizontal direction;
and acquiring the operation range of each sub convolution kernel according to the starting position, the moving step length and the size. In one example, one or more instructions in the computer storage medium, when loaded by the processor 81, further perform one of the following:
Splitting each non-zero value into the sub-convolution kernels according to the non-zero value distribution of the single convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the line priority is indicated in the memory, splitting each non-zero value which is not adjacent in the horizontal direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the horizontal direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the column priority is indicated in the memory, splitting each non-zero value which is not adjacent in the vertical direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the vertical direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels.
In one example, one or more instructions in the computer storage medium, when loaded by the processor 81, further perform the steps of:
determining the number C of input channels i
C, the convolution operation result of the single convolution kernel is C i The accumulation is performed on the input channels.
In one example, one or more instructions in the computer storage medium, when loaded by the processor 81, further perform the steps of:
acquiring position indications of each sub convolution kernel in the vertical direction and the horizontal direction in the single convolution kernel according to the initial position and the size;
Acquiring data in the operation range according to the position indication, the moving step length, the operation range, the batch processing number and an input channel;
and carrying out convolution operation on each sub convolution kernel and the data in the operation range by adopting a preset formula.
The computer program of the computer storage medium may illustratively include computer program code, which may be in source code form, object code form, executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), an electrical carrier signal, a telecommunications signal, a software distribution medium, and so forth.
It should be noted that, since the steps in the above-mentioned convolution operation method of image data are implemented when the computer program of the computer storage medium is executed by the processor, all embodiments of the above-mentioned convolution operation method of image data are applicable to the computer storage medium, and the same or similar beneficial effects can be achieved.
The foregoing has outlined rather broadly the more detailed description of embodiments of the application, wherein the principles and embodiments of the application are explained in detail using specific examples, the above examples being provided solely to facilitate the understanding of the method and core concepts of the application; meanwhile, as those skilled in the art will have variations in the specific embodiments and application scope in accordance with the ideas of the present application, the present description should not be construed as limiting the present application in view of the above.

Claims (8)

1. A convolution operation method of image data, the method comprising:
under the condition of extracting a feature map of an input image, acquiring non-zero value distribution of a single convolution kernel in a convolution neural network;
splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels;
determining the initial position of each sub-convolution kernel in the vertical direction and the horizontal direction in the single convolution kernel, the moving step length of the single convolution kernel in the vertical direction and the horizontal direction and the size of each sub-convolution kernel in the vertical direction and the horizontal direction;
acquiring the operation range of each sub convolution kernel according to the starting position, the moving step length and the size;
Carrying out convolution operation on each sub-convolution kernel and data in an operation range corresponding to the feature map, and accumulating convolution operation results of each sub-convolution kernel to obtain convolution operation results of the single convolution kernel;
and accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel.
2. The method of claim 1, wherein said splitting said single convolution kernel from a non-zero value distribution of said single convolution kernel results in a plurality of sub-convolution kernels comprising one of:
splitting each non-zero value into the sub-convolution kernels according to the non-zero value distribution of the single convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the line priority is indicated in the memory, splitting each non-zero value which is not adjacent in the horizontal direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the horizontal direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the column priority is indicated in the memory, splitting each non-zero value which is not adjacent in the vertical direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the vertical direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels.
3. The method according to claim 1 or 2, wherein accumulating the convolution operation results of the single convolution kernel over an input channel comprises:
determining the number C of input channels i
C, the convolution operation result of the single convolution kernel is C i The accumulation is performed on the input channels.
4. The method of claim 1, wherein convolving each of the sub-convolution kernels with data within a corresponding range of operations on the signature, comprising:
acquiring position indications of each sub convolution kernel in the vertical direction and the horizontal direction in the single convolution kernel according to the initial position and the size;
acquiring data in the operation range according to the position indication, the moving step length, the operation range, the batch processing number and an input channel;
and carrying out convolution operation on each sub convolution kernel and the data in the operation range by adopting a preset formula.
5. A convolution operation device for image data, said device comprising:
the position acquisition module is used for acquiring the non-zero value distribution of a single convolution kernel in the convolution neural network under the condition that the feature map of the input image is extracted;
The convolution kernel splitting module is used for splitting the single convolution kernel according to the non-zero value distribution of the single convolution kernel to obtain a plurality of sub convolution kernels;
the first convolution operation module is used for carrying out convolution operation on each sub-convolution kernel and the data in the corresponding operation range on the feature map, and accumulating the convolution operation results of each sub-convolution kernel to obtain the convolution operation result of the single convolution kernel;
the second convolution operation module is used for accumulating the convolution operation result of the single convolution kernel on the input channel to obtain the convolution operation result of the input image on the output channel;
the first convolution operation module is specifically further configured to: determining the initial position of each sub-convolution kernel in the vertical direction and the horizontal direction in the single convolution kernel, the moving step length of the single convolution kernel in the vertical direction and the horizontal direction and the size of each sub-convolution kernel in the vertical direction and the horizontal direction; and acquiring the operation range of each sub convolution kernel according to the starting position, the moving step length and the size.
6. The apparatus of claim 5, wherein the convolution kernel splitting module is specifically configured to perform one of the following in splitting the single convolution kernel according to a non-zero value distribution of the single convolution kernel to obtain a plurality of sub-convolution kernels:
Splitting each non-zero value into the sub-convolution kernels according to the non-zero value distribution of the single convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the line priority is indicated in the memory, splitting each non-zero value which is not adjacent in the horizontal direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the horizontal direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels;
according to the non-zero value distribution of the single convolution kernel, if the column priority is indicated in the memory, splitting each non-zero value which is not adjacent in the vertical direction into the sub-convolution kernels, and aggregating the non-zero values which are adjacent in the vertical direction into the sub-convolution kernels to obtain a plurality of sub-convolution kernels.
7. An electronic device comprising an input device and an output device, further comprising:
a processor adapted to implement one or more instructions; the method comprises the steps of,
a computer storage medium storing one or more instructions adapted to be loaded by the processor and to perform the method of any one of claims 1-4.
8. A computer storage medium storing one or more instructions adapted to be loaded by a processor and to perform the method of any one of claims 1-4.
CN202010088688.9A 2020-02-11 2020-02-11 Convolution operation method and device of image data, electronic equipment and storage medium Active CN111260037B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010088688.9A CN111260037B (en) 2020-02-11 2020-02-11 Convolution operation method and device of image data, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010088688.9A CN111260037B (en) 2020-02-11 2020-02-11 Convolution operation method and device of image data, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111260037A CN111260037A (en) 2020-06-09
CN111260037B true CN111260037B (en) 2023-10-13

Family

ID=70952607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010088688.9A Active CN111260037B (en) 2020-02-11 2020-02-11 Convolution operation method and device of image data, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111260037B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113989169A (en) * 2020-07-08 2022-01-28 嘉楠明芯(北京)科技有限公司 Expansion convolution accelerated calculation method and device
CN113378862B (en) * 2021-07-09 2023-12-19 上海商汤科技开发有限公司 Image processing method and device, electronic equipment and storage medium
CN113642589B (en) * 2021-08-11 2023-06-06 南方科技大学 Image feature extraction method and device, computer equipment and readable storage medium
CN116306840A (en) * 2021-12-03 2023-06-23 中兴通讯股份有限公司 Neural network operation method, device, chip, electronic equipment and storage medium
CN117063182A (en) * 2021-12-27 2023-11-14 华为技术有限公司 Data processing method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107977704A (en) * 2017-11-10 2018-05-01 中国科学院计算技术研究所 Weighted data storage method and the neural network processor based on this method
CN109886400A (en) * 2019-02-19 2019-06-14 合肥工业大学 The convolutional neural networks hardware accelerator system and its calculation method split based on convolution kernel
CN110188795A (en) * 2019-04-24 2019-08-30 华为技术有限公司 Image classification method, data processing method and device
CN110473137A (en) * 2019-04-24 2019-11-19 华为技术有限公司 Image processing method and device
CN110533164A (en) * 2019-08-05 2019-12-03 西安交通大学 A kind of Winograd convolution method for splitting towards convolutional neural networks accelerator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107977704A (en) * 2017-11-10 2018-05-01 中国科学院计算技术研究所 Weighted data storage method and the neural network processor based on this method
CN109886400A (en) * 2019-02-19 2019-06-14 合肥工业大学 The convolutional neural networks hardware accelerator system and its calculation method split based on convolution kernel
CN110188795A (en) * 2019-04-24 2019-08-30 华为技术有限公司 Image classification method, data processing method and device
CN110473137A (en) * 2019-04-24 2019-11-19 华为技术有限公司 Image processing method and device
CN110533164A (en) * 2019-08-05 2019-12-03 西安交通大学 A kind of Winograd convolution method for splitting towards convolutional neural networks accelerator

Also Published As

Publication number Publication date
CN111260037A (en) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111260037B (en) Convolution operation method and device of image data, electronic equipment and storage medium
CN112528977B (en) Target detection method, target detection device, electronic equipment and storage medium
CN110321958B (en) Training method of neural network model and video similarity determination method
CN106713964A (en) Method of generating video abstract viewpoint graph and apparatus thereof
CN109766949A (en) Convolutional neural networks light weight method, device and electronic equipment
CN112215171B (en) Target detection method, device, equipment and computer readable storage medium
CN108875931B (en) Neural network training and image processing method, device and system
US20210342593A1 (en) Method and apparatus for detecting target in video, computing device, and storage medium
JP2022554068A (en) Video content recognition method, apparatus, program and computer device
CN111783712A (en) Video processing method, device, equipment and medium
US11232561B2 (en) Capture and storage of magnified images
CN105979283A (en) Video transcoding method and device
CN108154522B (en) Target tracking system
CN113628259A (en) Image registration processing method and device
CN110309790B (en) Scene modeling method and device for road target detection
CN111369557B (en) Image processing method, device, computing equipment and storage medium
CN114419322B (en) Image instance segmentation method and device, electronic equipment and storage medium
CN110197459B (en) Image stylization generation method and device and electronic equipment
CN111507245A (en) Embedded system and method for face detection
CN111582012A (en) Method and device for detecting small target ship
CN110781223A (en) Data processing method and device, processor, electronic equipment and storage medium
CN110633641A (en) Intelligent security pedestrian detection method, system and device and storage medium
WO2022127576A1 (en) Site model updating method and system
Guo et al. Speeding uplow rank matrix recovery for foreground separation in surveillance videos
CN113038055A (en) Image processing method and device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 1st floor, building 17, Shenzhen Dayun software Town, 8288 Longgang Avenue, Yuanshan street, Longgang District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Yuntian lifeI Technology Co.,Ltd.

Address before: 518000 1st floor, building 17, Shenzhen Dayun software Town, 8288 Longgang Avenue, Yuanshan street, Longgang District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN INTELLIFUSION TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant