Patent Description:
Deep Convolutional Neural Networks (Deep CNNs) are the heart of the remarkable development in the field of deep learning. CNNs have already been used in the <NUM> to solve the problem of character recognition, but the reason of becoming as famous as it is now is thanks to recent research. The deep CNNs won the ILSVRC-<NUM> competition. Then, the convolutional neural network became a very useful tool in the field of machine learning.

Image segmentation, on the other hand, takes a training image or a test image as an input and produces a label image as an output. The deep learning has recently become popular. For example, the deep learning is used for the image segmentation.

Meanwhile, various methods for improving a performance of such segmentation are currently presented.

As one of such methods, when performing the segmentation, a user may desire to enhance the accuracy of the segmentation by using several CNNs. Namely, after the same input data is inputted to a plurality of CNN devices, respective outputs of the CNN devices are combined to generate a combined output, but in this case, there may be problems that initial values of parameters of the plurality of CNN devices should be randomly set every time, and in order to obtain a result of the image segmentation, the plurality of CNN devices should be individually learned.

<NPL> discloses that incorporating multi-scale features in fully convolutional neural networks (FCNs) has been a key element to achieving state-of-the-art performance on semantic image segmentation. One common way to extract multi-scale features is to feed multiple resized input images to a shared deep network and then merge the resulting features for pixelwise classification. CHEN LIANG-CHIEH ET AL propose an attention mechanism that learns to softly weight the multi-scale features at each pixel location. CHEN LIANG-CHIEH ET AL adapt a state-of-the-art semantic image segmentation model, which they jointly train with multi-scale input images and the attention model. Moreover, CHEN LIANG-CHIEH ET AL show that adding extra supervision to the output at each scale is essential to achieving excellent performance when merging multi-scale features.

<NPL> consider the application of convolutional neural networks (CNNs) for pixel-wise labeling (a. , semantic segmentation) of remote sensing imagery (e.g., aerial color or hyperspectral imagery). Remote sensing imagery is usually stored in the form of very large images, referred to as "tiles", which are too large to be segmented directly using most CNNs and their associated hardware. As a result, during label inference, smaller subimages, called "patches", are processed individually and then "stitched" back together to create a tile-sized label map. There are many variants of stitching in the literature involving, for example, averaging overlapping labels, or clipping labels near the edges of the output label image. There is relatively little explanation or justification offered for these variants in the literature, and little experimental evidence of the impact or superiority of any particular approach. To address these limitations, BOHAO HUANG ET AL provide a survey of existing stitching approaches, and then explain how all approaches are fundamentally motivated by translational variance of segmentation networks - that is, the label predicted for a particular pixel depends upon its relative position in the input patch. BOHAO HUANG ET AL explore the primary causes of translational variance in modern CNNs, and support this with experimental evidence. BOHAO HUANG ET AL recommend a stitching strategy to maximize label accuracy and minimize computational costs. Further relevant features are known from <CIT>.

It is an object of the present invention to solve all the aforementioned problems.

It is another object of the present invention to acquire various information from one input image while using only one convolutional neural network (CNN) device to thereby improve a performance of segmentation.

The above and other objects and features of the present invention will become apparent from the following description of preferred embodiments given in conjunction with the accompanying drawings, in which:.

Detailed explanations of the present invention explained below refer to attached drawings that illustrate specific embodiment examples of this present that may be executed. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that the various embodiments of the present invention, although different, are not necessarily mutually exclusive. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.

In the drawings, like numerals refer to the same or similar functionality throughout the several views.

To make it easy for those who have common knowledge in the art to which the present invention pertains to implement the present invention, detailed explanation on desirable embodiment examples of the present invention will be made by referring to attached drawings.

<FIG> is a flowchart illustrating a learning method using a plurality of image sets acquired through modification of an input image in accordance with the present invention. Further, <FIG> is a diagram illustrating a process of performing segmentation by using the plurality of image sets acquired through the modification of the input image in accordance with the present invention. Furthermore, <FIG> are diagrams illustrating respective steps of the segmentation process illustrated in <FIG>. In addition, <FIG> is a diagram illustrating the whole process of convolutional neural network (CNN) in accordance with the present invention.

By referring to <FIG>, a CNN learning method in accordance with the present invention includes (i) receiving an input image and applying a plurality of modification functions to the input image to thereby generate a plurality of modified input images at a step of S01, (ii) applying convolution operations to each of the modified input images to thereby obtain each of modified feature maps corresponding to each of the modified input images at a step of S02, (iii) applying each of reverse transform functions, corresponding to each of the modification functions, to each of the corresponding modified feature maps, to thereby generate each of reverse transform feature maps corresponding to each of the modified feature maps at a step of S03, (iv) integrating at least part of the reverse transform feature maps to thereby obtain an integrated feature map at a step of S04, (v) acquiring a result of segmentation by referring to the integrated feature map at a step of S05, and (vi) calculating a loss based on a difference between an output value, i.e., a result of segmentation, and a ground truth (GT) value to thereby perform a learning process for the CNN at step of S06. Here, the step of S06 is not essential but the process of obtaining the result of segmentation through the steps S01 to S05 is an important characteristic of the present invention.

Such a process can be performed in a CNN device. A communication part of the CNN device receives an input image, and a processor of the CNN device performs processes of (<NUM>) applying a plurality of modification functions to the input image to thereby generate a plurality of modified input images; (<NUM>) applying convolution operations to each of the modified input images to thereby obtain each of modified feature maps corresponding to each of the modified input images; (<NUM>) applying each of reverse transform functions, corresponding to each of the modification functions, to each of the corresponding modified feature maps, to thereby generate each of reverse transform feature maps corresponding to each of the modified feature maps; and (<NUM>) integrating at least part of the reverse transform feature maps to thereby obtain an integrated feature map.

As another example, a processor of a learning device (not shown) capable of learning the CNN device performs processes of (<NUM>) receiving an input image as a training image and applying a plurality of modification functions to the input image for training to thereby generate a plurality of modified input images for training; (<NUM>) applying convolution operations to each of the modified input images for training to thereby obtain each of modified feature maps for training corresponding to each of the modified input images for training; (<NUM>) applying each of reverse transform functions, corresponding to each of the modification functions, to each of the corresponding modified feature maps for training, to thereby generate each of reverse transform feature maps for training corresponding to each of the modified feature maps for training; and (<NUM>) integrating at least part of the reverse transform feature maps for training to thereby obtain an integrated feature map for training, then calculating a loss based on a difference between an output value, e.g., a result of segmentation, and a ground truth (GT) value and performing backpropagation to minimize the loss, to thereby optimize one or more parameters of the CNN device.

As still another example, a CNN testing method in accordance with the present invention uses the CNN device having one or more parameters optimized by the above-described learning method and may perform the above-mentioned steps S01 to S05.

Specifically, according to the CNN testing method of the present invention, on condition that the one or more parameters of the CNN device having been optimized by performing backpropagation to reduce a loss are acquired, if a test device, which includes the optimized parameters of the CNN device, acquires an input image for testing, the test device (i) applies a plurality of modification functions to the input image for testing to thereby generate a plurality of modified input images for testing, (ii) applies convolution operations to each of the modified input images for testing to thereby obtain each of modified feature maps for testing corresponding to each of the modified input images for testing, and (iii) applies each of reverse transform functions, corresponding to each of the modification functions, to each of the corresponding modified feature maps for testing, to thereby generate each of reverse transform feature maps for testing corresponding to each of the modified feature maps for testing. Then the test device integrates at least part of the reverse transform feature maps for testing to thereby obtain an integrated feature map for testing, and obtains a result of segmentation. A communication part of the test device plays a role of receiving the input image for testing and a processor of the test device performs processes as mentioned above.

Hereinafter, the segmentation process by using the CNN and the learning process and the testing process using the same will be specifically described by referring to <FIG>.

By referring to <FIG> and <FIG>, at the step S01, if the CNN device obtains one input image (or if the test device obtains a test image), the CNN device may apply the plurality of modification functions Ti to the input image I to thereby generate the plurality of modified input images Ti(I). For example, by referring to <FIG>, it is understood that <NUM> modified input images Ti(I) have been generated by modifying the input image I by <NUM> different methods. As such, the modification function Ti is a function which modifies the input image I to n modified input images Ti(I). Herein, i is a natural number from <NUM> to n, and the modification function Ti is preferably a function having its corresponding reverse transform function T-<NUM>i. That is, T-<NUM>i(Ti(I))=<NUM>.

Herein, the modification function Ti may be a scaling function or a transition function and may be various algorithms such as affine transform algorithm and thin-plate spline interpolation algorithm. In the present invention, the modification function Ti is a transition function.

In addition, the respective modification functions may use different algorithms but, in another case, the respective modification functions may use the same algorithm with different detailed parameters.

If the modified input images Ti(I) generated through the modification function Ti are compared, it is seen that locations and sizes of respective objects to be segmented are somewhat different.

By referring to <FIG>, at the step S02, the CNN device may apply convolution operations to each of the modified input images Ti(I) to thereby obtain each of modified feature maps Si=CNN(Ti(I)) corresponding to each of the modified input images.

<FIG> illustrates a process of generating feature maps through CNN operations.

Hereinafter, the step of S02 will be described in detail. The plurality of modified input images Ti(I) are inputted to the CNN device and thus a plurality of convolution operations are applied to each of the modified input images Ti(I) by using a plurality of convolution filters to thereby generate each of outputs of Conv. Thereafter, deconvolution operations are applied to each of the outputs of Conv. K by using a plurality of deconvolution filters to thereby generate each of outputs of Deconv. <NUM>, i.e., each of modified feature maps Si. In addition, each result of segmentation is obtained from each of the modified feature maps Si through additional operations. Herein, the additional operations are not explained in this specification because it is known to those skilled in the art. Meanwhile, <FIG> illustrates only one modified input image for the convenience of description, but the present invention should have the plurality of modified input images.

Next, the segmentation process is performed after the step S03 and the step S04. Herein, a structure of CNN capable of encoding an image with at least one convolution operation to thereby obtain a feature map and then decoding the feature map to thereby obtain a segmentation image is called an encoding-decoding network or a U-Net. Whenever each convolution operation is applied in the encoding process, the size of the input image is reduced to, for example, <NUM>/<NUM>, but this is for reducing the amount of operations by reduction of the image size. Furthermore, the number of channels of the image inputted through the convolution filter increases in the encoding process, but this is for obtaining a complicated pattern through the increased channels while utilizing an advantage of the reduction in the amount of operations. For example, whenever each convolution filtering is performed in the encoding process, if the image size is reduced to <NUM>/<NUM> and the number of channels increases to a double, high frequency portions in the size-reduced feature maps is reduced so that the feature maps may have mostly information on low frequency portions. Herein, such low frequency portions mean meaningful parts of the image, e.g., the sky, roads, buildings, automobiles, etc. The result of segmentation of such meaningful parts is obtained through the feature maps outputted through the deconvolution operation, that is, the decoding operation.

Next, by referring to <FIG>, at the step S03, the CNN device may apply each of the reverse transform functions T-<NUM>i, corresponding to each of the modification functions, to each of the corresponding modified feature maps Si, to thereby generate each of the reverse transform feature maps T-<NUM>i(Si) corresponding to each of the modified feature maps. Herein, each of the reverse feature maps T-<NUM>i(Si) has each segmentation score for each pixel. This step is a process of moving each pixel of the modified feature maps Si, generated as a result of segmentation of the modified input images Ti(I), to its corresponding location on the result of segmentation of the input image I by using the reverse transform function T-<NUM>i, to thereby generate the plurality of reverse transform feature maps T-<NUM>i(Si). Namely, in a state that a location of a pixel of an object in the input image is (x, y), if the transform function Ti is applied the location (x, y) to thereby acquire a changed location (x', y'), its corresponding location of the pixel in the modified feature map Si is also a particular location corresponding to (x', y'). Then, the CNN device applies the reverse transform function T-<NUM>i to the particular location to move the location of its corresponding pixel back to (x, y).

At the step S04, at least part of the reverse transform feature maps T-ii(Si) is integrated to thereby obtain the integrated feature map, as shown in <FIG>. For example, at this step, an operation of summing up each score of each of the pixels of each of the reverse transform feature maps T-<NUM>i(Si) is performed, which may be expressed as the following equation.

Furthermore, at this step, an average value of each of the scores of each pixel of each of the reverse transform feature maps T-<NUM>i(Si) may be obtained. In another case, a median value of each of the scores of each pixel may be obtained. In still another case, the maximum value of each of the scores of each pixel may be obtained. Herein, the median value means (n/<NUM>)-th value among n values.

Through such a process, the CNN device can add each of the scores of each of the pixels corresponding to each of the reverse transform feature maps by referring to each of relative locations of each of the pixels of the reverse transform feature maps.

Herein, a label, corresponding to a highest channel value among channel values per pixel in the integrated feature map, may be assigned to its corresponding pixel, to thereby obtain a segmentation label. Namely, at the step of S04, a segmentation score map is obtained for each image by integrating the feature maps, and the segmentation score map includes channels corresponding to classes intended to be obtained (e.g., if there are N classes, the segmentation score map may include N+<NUM> channels, i.e., N channels corresponding to respective classes and one channel corresponding to the background), and a label corresponding to a specific channel having the highest value among the N+<NUM> channels for each pixel is assigned to its corresponding pixel to thereby generate the segmentation output image. Further, a plurality of linear or non-linear operations required to obtain the segmentation output image can be further performed.

Additionally, at the step S06, the CNN device calculates the loss based on the difference between the output value, i.e., the segmentation result, obtained by referring to the integrated feature map, and the ground truth (GT) value and performs backpropagation to minimize the loss, thereby optimizing one or more parameters of the CNN device. By referring to <FIG>, the CNN device acquires an input image as a training image to calculate the loss between the obtained segmentation image and the GT image in the learning process. Then the parameters of the CNN device are optimized through the backpropagation process.

In accordance with the present invention, by using only one CNN device, if one image is modified to acquire many modified input images and results from the modified input images are combined, many feature maps can be obtained and thus various results can be obtained from one input image. As such, the performance of the CNN device such as the performance of segmentation of the CNN device can be improved. For example, when input image A is used, a segmentation result may be good, but when input image A' is used, a segmentation result may not be good. That is, when different input images are used, segmentation results may be somewhat different. Thus, if an integrated feature map is obtained by considering a plurality of a little different images, a more accurate segmentation result can be obtained.

Such a process may be applied in the same manner in the actual testing process after the CNN learning process. As described above, the test device (i) applies a plurality of modification functions to an input image for testing to thereby generate a plurality of modified input images for testing, (ii) applies convolution operations to each of the modified input images for testing to thereby obtain each of modified feature maps for testing corresponding to each of the modified input images for testing, (iii) applies each of reverse transform functions, corresponding to each of the modification functions, to each of the corresponding modified feature maps for testing, to thereby generate each of reverse transform feature maps for testing corresponding to each of the modified feature maps for testing, and (iv) integrates at least part of the reverse transform feature maps for testing to thereby obtain an integrated feature map for testing. Herein, if a result of segmentation is obtained after obtaining the integrated feature map for testing, a more accurate result of segmentation can be obtained.

It would be understood by those skilled in the art that (i) transmission/reception of the above-described image data such as the training image and the testing image can be performed by the communication part of the CNN device, the learning device, and the testing device, (ii) various feature maps and their corresponding data may be held/maintained by the processor (and/or memory) of the CNN device, the learning device and the testing device, and (iii) the process of convolution operation, the deconvolution operation and the operation of acquiring loss value may be mainly performed by the processor of the CNN device, the learning device and the testing device, but the present invention is not limited to these examples.

The present invention has an effect of obtaining many different feature maps from one input image while using only one CNN device, only one learning device or only one testing device.

The present invention has another effect of obtaining and integrating various results from one input image to thereby implement a high performance of the CNN device, the learning device or the testing device.

The objects of the technical solution of the present invention or parts contributing to the prior art can be implemented in a form of executable program command through a variety of computer means and can be recorded to computer readable recording media. The computer readable media may include solely or in combination, program commands, data files, and data structures. The program commands recorded to the media may be components specially designed for the present invention or may be usable to a skilled person in a field of computer software. Computer readable record media include magnetic media such as hard disk, floppy disk, and magnetic tape, optical media such as CD-ROM and DVD, magneto-optical media such as floptical disk and hardware devices such as ROM, RAM, and flash memory specially designed to store and carry out programs. Program commands include not only a machine language code made by a complier but also a high-level code that can be used by an interpreter etc., which is executed by a computer. The aforementioned hardware devices can work as more than a software module to perform the action of the present invention and they can do the same in the opposite case. The hardware devices may be combined with memory such as ROM and RAM to store program commands and include a processor such as CPU or GPU composed to execute commands stored in the memory and also include a communication part for sending and receiving signals with external devices.

Claim 1:
A computer-implemented method for performing segmentation of an input image by using a plurality of images acquired through modification of the input image , the method comprising the steps of:
a) receiving the input image and applying a plurality of modification functions to the input image to thereby generate a plurality of modified input images, wherein the modification functions are transition functions configured to alter locations of objects in the modified input images by moving each pixel according to a predetermined algorithm in the input image, such that locations of the same object in the modified input images are different from each other, and wherein the modification functions are configured to keep a scale of each of the plurality of modified input images as in the input image;
b) processing each modified input image of the plurality of modified input images by an encoding-decoding convolutional neural network and obtaining in output each of modified feature maps corresponding to said each modified input image, wherein each of the modified feature maps have a segmentation score for each pixel ;
c) applying each of reverse transform functions, corresponding to each of the modification functions, to each of the corresponding modified feature maps, wherein the reverse transform functions move each pixel of the modified feature maps to its corresponding location of the input image, to thereby generate each of reverse transform feature maps corresponding to each of the modified feature maps;
d) integrating the reverse transform feature maps to thereby obtain an integrated feature map, wherein said integrated feature map is obtained by calculating, for each pixel location of the reverse transformation feature maps, one of a sum, mean, median or maximum value of the segmentation score of each of the reverse transform feature maps at said pixel location; and
e) acquiring a result of segmentation by referring to the integrated feature map.