Pooling method and device, pooling system, computer-readable storage medium
AssigneeThinkforce Electronic Technology Co., Ltd
InventorsJinchi Cai, Xiaopeng Li, Liang Chen
Life of this patent
Estimating the term…
Loading patent…
AssigneeThinkforce Electronic Technology Co., Ltd
InventorsJinchi Cai, Xiaopeng Li, Liang Chen
Estimating the term…
Described herein is a pooling method and device, pooling system, computer-readable storage. The pooling method comprises: acquiring pixel data of each column in a pooling window column by column, each time after the pooling window is moved; performing a pooling operation on all of the pooling data in the pooling window when the last column of pixel data in the pooling window is acquired; and outputting a pooling result of the pooling operation. The technical solution of the invention may improve the pooling efficiency and the system performance.
A pooling method, comprising:
A pooling system, comprising:
A non-transitory computer readable storage medium having computer instructions stored thereon, wherein when the computer instructions being executed, a processor is configured to perform a pooling method, the pooling method comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
No references of this kind are recorded.
Extraction of image or video features: by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients…
Using pattern recognition or machine learning: using classification, e.g. of video objects
Using pattern recognition or machine learning: using neural networks
Arrangements for image or video recognition or understanding: hardware or software architectures specially adapted for image or video understanding
About 12 years 9 months of term left · ends 2 Aug 2039 (estimated)
This invention relates generally to the field of image processing. More particularly, the invention relates to a pooling method and device, pooling system, computer-readable storage medium.
In image processing, a pooling operation is usually performed, in order to reduce the data volume to be processed or stored. For example, after the features are obtained by convolution, the next step is to use these features for classification. However, this operation faces the challenge of large amount of computation. Therefore, in order to describe a larger image, aggregation statistics, that is, pooling, may be performed on features at different locations.
The pooling scheme common used in neural network is a software-based scheme. The pooling computing involves three parts: input data, pooling operations, and output results. Specifically, the central processing unit (CPU) or the convolution hardware accelerator saves the two-dimensional image data structure to be pooled on the main memory; the two-dimensional array of the data structure is denoted as img[height][width], wherein height is the height of the two-dimensional array and width is the width of the two-dimensional array. The CPU, when performing the pooling operation, requires to fetch the pixel data from the memory row by row.
FIG. 1 is a flow diagram of a pooling method according to an embodiment of the present invention.
FIG. 2 is a schematic diagram of one specific application scenario of the pooling method according to an embodiment of the present invention.
FIG. 3 is a schematic diagram of the other specific application scenario of the pooling method according to an embodiment of the present invention.
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention described below. It will be apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form to avoid obscuring the underlying principles of the embodiments of the invention.
As described in the background, in the prior art, it is required to occupy a large amount of CPU time to prepare the pooling data, read the pooling data and write the pooling result by the master CPU. Furthermore, when the CPU is fetching pixel data row by row, the pooling data fetched may be not in a same pooling window, which may further lengthen the waiting time of the CPU, so that the time allocated by the CPU to other tasks may be less, causing the completion time of other tasks to be delayed, and the overall performance of the system may decline. In addition, in the current mainstream processor architecture, if a Cache Miss or Cache Flush operation is encountered, the CPU needs a large amount of waiting time when performing the pooling operation, thereby reducing the pooling efficiency.
In the technical solution of the present invention, the pixel data in the pooling window will be acquired column by column after the window is moved, when the pixel data need to be acquired; avoiding the shortage in the prior art that the pixel data in the pooling window cannot be obtained until a period of time has lapsed when reading the pixel data row by row. Consequently, all the pixel data in the pooling window may be acquired more quickly, and the pooling operation can be performed more quickly, thereby improving the pooling efficiency. In addition, the acquired data are all pixel data in the pooling window with no additional pixel data outside the pooling window, therefore no memory or cache is required to temporarily store the pixel data, which is beneficial to the hardware implementation of the pooling device.