WO2019159419A1 - 処理方法およびそれを利用した処理装置 - Google Patents
処理方法およびそれを利用した処理装置 Download PDFInfo
- Publication number
- WO2019159419A1 WO2019159419A1 PCT/JP2018/036248 JP2018036248W WO2019159419A1 WO 2019159419 A1 WO2019159419 A1 WO 2019159419A1 JP 2018036248 W JP2018036248 W JP 2018036248W WO 2019159419 A1 WO2019159419 A1 WO 2019159419A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- processing
- layer
- neural network
- learning
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 210
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000011176 pooling Methods 0.000 claims abstract description 93
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 56
- 238000000034 method Methods 0.000 claims description 108
- 230000008569 process Effects 0.000 claims description 89
- 238000003384 imaging method Methods 0.000 claims description 14
- 238000007689 inspection Methods 0.000 claims description 10
- 230000007547 defect Effects 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 description 20
- 238000012937 correction Methods 0.000 description 12
- 238000005530 etching Methods 0.000 description 9
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000010422 painting Methods 0.000 description 5
- 230000002950 deficient Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010027146 Melanoderma Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000003776 cleavage reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000007017 scission Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/0008—Industrial image inspection checking presence/absence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30148—Semiconductor; IC; Wafer
Definitions
- the present disclosure relates to a processing technique, particularly a processing method for executing processing on an image, and a processing apparatus using the processing method.
- Deep Learning is used for the image recognition process.
- Deep learning is known as a machine learning methodology using a multilayer neural network, and for example, a convolutional neural network is used as the multilayer neural network.
- the convolutional neural network is formed by a multilayer neural network that repeats the convolution and pooling of a local region.
- there has been proposed a structure of a complete convolutional neural network in which all concatenated layers constituting the convolutional neural network are convolutional layers see, for example, Non-Patent Document 1).
- the present disclosure has been made in view of such a situation, and an object thereof is to provide a technique for suppressing a decrease in accuracy of image recognition processing while suppressing an increase in the amount of learning work.
- a processing device includes an input unit that inputs an image to be processed, and a convolutional neural network in which a whole connection layer is excluded from an image input to the input unit.
- a processing unit that executes processing and an output unit that outputs a processing result of the processing unit are provided.
- the convolution neural network in the processing unit includes a convolution layer and a pooling layer.
- the convolutional layer filter is learned for the processing result having a 1 ⁇ 1 spatial dimension, and the size of the image input to the input unit is learned by the convolutional layer filter.
- the learning image is input to the convolutional neural network at the time, and is larger than the size of the learning image corresponding to the processing result when learning the filter of the convolution layer.
- Another aspect of the present disclosure is a processing method.
- This method includes a step of inputting an image to be processed, a step of executing a process of a convolutional neural network in which all the connection layers are excluded from the input image, and a step of outputting a processing result.
- the convolutional neural network includes a convolution layer and a pooling layer.
- a convolutional layer filter is learned for a processing result having a spatial dimension of 1 ⁇ 1, and the size of an input image is determined when the convolutional layer filter is learned. Is larger than the size of the learning image corresponding to the processing result when learning the convolutional layer filter.
- FIGS. 1A to 1C are diagrams illustrating processing targets of the embodiment. It is a figure which shows the outline
- FIGS. 4A to 4B are diagrams illustrating the configuration of the processing apparatus according to the embodiment.
- FIG. 5 is a diagram showing an outline of processing in the processing unit of FIGS. 4 (a)-(b). It is a figure which shows the outline
- FIGS. 7A to 7C are diagrams showing images processed by the processing apparatus of FIG. 4B.
- FIGS. 8A and 8B are diagrams showing output images output from the output unit of FIG. 4B.
- FIGS. 9A to 9B are flowcharts showing a processing procedure in the processing apparatus of FIGS. 4A and 4B.
- the embodiment relates to a processing device that executes an inspection of a solar battery cell by executing an image recognition process on an image obtained by imaging the solar battery cell.
- An example of the inspection of the solar battery cell is the presence or absence of internal cracks in the solar battery cell, and the solar battery cell in which the internal crack is generated is considered defective because it is easily broken when subjected to an impact.
- Such internal cracks occur at an angle of 45 degrees when the solar cell is single crystal silicon. Even if the angle at which the internal crack occurs is determined, it is difficult to detect the internal crack if the internal crack overlaps with etching unevenness or the like. Therefore, an image recognition process is used for the inspection of the solar battery cell.
- the convolutional neural network uses a convolutional layer that extracts features by convolution processing using a plurality of filters, a pooling layer that acquires local data invariance by pooling processing that collects reactions in a certain region, and a probability based on a Softmax function or the like. And all connected layers that perform recognition. Due to all of these layers, it is difficult to process an image of any size in a convolutional neural network. In order to solve these problems, a complete convolution neural network is used in which the entire connection layer of the convolution neural network is changed to a convolution layer.
- the upsampling process in which the process of the convolutional layer and the uppooling layer is repeated is performed.
- the spatial dimension of the image is reduced by the downsampling process, and the spatial dimension of the image is increased by the upsampling process.
- an image output from the complete convolution neural network (hereinafter referred to as “output image”) has a spatial dimension equivalent to an input image (hereinafter referred to as “input image”).
- input image In the output image, the object in the image is segmented by color painting.
- learning is required before executing image recognition processing.
- the filter data of the convolutional layer is learned using the teacher data.
- the amount of work for generating teacher data is large.
- the work amount for generating the teacher data further increases.
- a convolutional neural network excluding upsampling processing in a complete convolutional neural network is used.
- learning teacher data whose output image has a 1 ⁇ 1 spatial dimension and an input image corresponding to the teacher data are used.
- the input image corresponding to the teacher data may be referred to as a “learning image”.
- the teacher data as a result of segmentation, for example, only OK, internal cracks, color unevenness and the like are shown, and the position information is deleted. Thereby, since it becomes easy to generate teacher data, an increase in the amount of work for generating teacher data is suppressed even if the number of teacher data is increased.
- the image recognition process it is only necessary to be able to specify the position where the internal crack is generated in the solar battery cell to be defective, and if the processing result is obtained as a similar shape of the solar battery cell, the position can be specified. Also in this embodiment, a decrease in the accuracy of the image recognition process is suppressed.
- FIG.1 (a) is a perspective view which shows the structure of the photovoltaic cell 10 used as a test object, ie, an image recognition process object.
- the solar battery cell 10 is made of, for example, single crystal silicon and has a plate shape including a light receiving surface 12 and a back surface 14.
- the light receiving surface 12 is a surface on which sunlight is mainly incident
- the back surface 14 is a surface facing the opposite side of the light receiving surface 12.
- FIG.1 (b) shows the image 20 which imaged the photovoltaic cell 10 of Fig.1 (a) with the infrared rays from the light-receiving surface 12 side or the back surface 14 side.
- the suction pad 22, the etching unevenness 24, the electrode reinforcement line 26, the saw mark 28, and the wafer thickness distribution 30 are shown in a pattern on the solar battery cell 10. Since these are known techniques, description thereof is omitted here, but these are not defective patterns but good patterns.
- FIG. 1 (c) shows an image 20 obtained by imaging the solar battery cell 10 of FIG. 1 (a) with infrared rays from the light receiving surface 12 side or the back surface 14 side.
- FIG.1 (c) is corresponded to the image 20 which imaged the photovoltaic cell 10 different from FIG.1 (b).
- an internal crack 32 marked with “x” is shown on the solar cell 10 where a line segment extending in the direction of 45 degrees intersects with a line segment extending in the direction of 135 degrees. This is a defective product pattern.
- the internal crack 32 is shown for clarity of explanation. However, actually, the internal crack 32 is mixed in the image 20 as shown in FIG.
- the suction pad 22 the internal crack 32 is buried in the etching unevenness 24. Therefore, it is not easy to accurately determine whether or not the internal crack 32 is included in the image 20.
- FIG. 2 shows an outline of processing in the processing apparatus 50 to be compared with the embodiment.
- the processing device 50 has a configuration of a convolutional neural network including the above-described all connection layers.
- the processing device 50 includes a first convolution layer 42a, a second convolution layer 42b, a third convolution layer 42c, a fourth convolution layer 42d, a fifth convolution layer 42e, a sixth convolution layer 42f, and a pooling layer 44, which are collectively referred to as a convolution layer 42.
- Such a convolution layer 42, a pooling layer 44, and a total coupling layer 46 show images of blocks that execute each process.
- the input image 40 is an image to be processed by the image recognition process in the processing device 50, and corresponds to at least a part of the image 20 described above.
- the input image 40 is input to the first convolution layer 42a.
- Each convolutional layer 42 is shown as a rectangular parallelepiped, which is composed of two square first surfaces 52 having a depth direction and a height direction, and four second surfaces 54 sandwiched between the two first surfaces 52. Is done. For clarity of illustration, the first surface 52 and the second surface 54 are shown only in the first convolution layer 42a.
- the size of the first surface 52 indicates the size of the spatial dimension of the image processed in the convolution layer 42, that is, the size of the image.
- the convolution layer 42 performs spatial filtering on the image while shifting a spatial filter having a size smaller than the size of the image.
- Spatial filtering is a well-known technique, and a description thereof is omitted here.
- this spatial filtering corresponds to a convolution process, and a feature amount of an image is extracted by the convolution process. Padding or the like may be performed in the convolution layer 42.
- the convolution layer 42 may perform a plurality of spatial filtering on the image in parallel by using a plurality of spatial filters in parallel. Such parallel use of a plurality of spatial filters increases the image.
- the number of spatial filters used in parallel in the convolutional layer 42 is called the number of channels, which is indicated by the length of the second surface 54 in the left-right direction.
- Each pooling layer 44 is configured similarly to the convolution layer 42.
- the pooling layer 44 reduces the size of the image by collecting a plurality of pixels included in an arbitrary region in the image into one pixel.
- average pooling or maximum pooling is performed to combine a plurality of pixels into one pixel.
- average pooling an average value of a plurality of pixel values in a region is used for one pixel
- maximum pooling a maximum value of a plurality of pixel values in the region is used for one pixel.
- the pooling process is performed to enhance the robustness with respect to the translation of the representative value or the average value in the region of interest.
- the process is executed in the order of the fifth convolution layer 42e, the fifth pooling layer 44e, and the sixth convolution layer 42f. That is, the convolution process and the pooling process are repeatedly executed.
- the size of the image is reduced in order
- the sixth convolution layer 42f has an 1 ⁇ 1 spatial dimension and displays an image having one or more channels as a fully connected layer. Output to 46.
- the number of channels is “8”.
- the all combined layer 46 receives the image from which the feature amount is extracted from the sixth convolutional layer 42f.
- the total connection layer 46 identifies the image by performing classification into a plurality of classes based on the feature amount. Since a known technique may be used for the processing in all the coupling layers 46, the description is omitted here, but the classification result in the all coupling layers 46, that is, the identification result is the output 48.
- Output 48 shows the probabilities for each of the eight classes: “OK”, “Internal Crack”, “Etching Unevenness”, “Pinhole”, “Black Spot”, “Cleavage”, “Suction Pad”, and “Bus Bar”. It is. In this case, since the probability of “internal crack” is as high as “0.9”, it is identified that the internal crack 32 exists in the input image 40.
- learning processing is performed on the processing device 50.
- the teacher data to be the known output 48 and the learning image corresponding to the teacher data are input to the processing device 50, and the coefficients in all the coupling layers 46 and the coefficients of the spatial filter in each convolution layer 42 are learned.
- the learning image has the same size as the input image 40 and is an original image from which teacher data is output when the image recognition process is correctly executed.
- a known technique may be used for such learning processing.
- the learning process as the combination of the teacher data and the learning image is used in large quantities, the accuracy of these coefficients is improved, and the accuracy of the image recognition process is also improved.
- the processing apparatus 50 receives an input image 40 that is a cut-out image 20 that is an original image. For example, the processing device 50 performs dual image recognition processing to determine whether or not the internal crack 32 or the like exists in the input image 40. If the internal crack 32 exists in the input image 40, the presence of the internal crack 32 is present. Generate the output 48 shown. This corresponds to classification into eight classes by the image recognition processing.
- the convolutional neural network used in the processing device 50 includes the total connection layer 46. Since the size of the output 48 from the total coupling layer 46 is fixed, the size of the input image 40 that can be processed by the convolutional neural network is also fixed. That is, the processing device 50 can only recognize and process the input image 40 having a certain size. Therefore, the processing device 50 places a limit on the size of the input image 40.
- FIG. 3 shows an outline of processing in the processing device 70 to be compared with the embodiment.
- the processing device 70 has a configuration of a complete convolution neural network.
- the processing device 70 includes a first convolution layer 62a, a second convolution layer 62b, a third convolution layer 62c, a fourth convolution layer 62d, a fifth convolution layer 62e, a sixth convolution layer 62f, and a seventh convolution.
- a first pooling layer 64a collectively referred to as a layer 62g, an eighth convolution layer 62h, a ninth convolution layer 62i, a tenth convolution layer 62j, an eleventh convolution layer 62k, a twelfth convolution layer 62l, a thirteenth convolution layer 62m, and a pooling layer 64.
- Second pooling layer 64b, third pooling layer 64c, fourth pooling layer 64d, fifth pooling layer 64e, first up pooling layer 66a, second up pooling layer 66b, and third up pooling layer 66b. Includes a pooling layer 66c, a fourth up pooling layer 66d, and a fifth up pooling layer 66e.
- Such a convolution layer 62, a pooling layer 64, and an up pooling layer 66 show the image of the block which performs each process.
- the input image 60 is an image to be processed by the image recognition process in the processing device 70. Since the complete convolution neural network does not include the above-described total connection layer, there is no restriction on the size of the input image 60. Therefore, the input image 60 may be the image 20 described above.
- the input image 60 is input to the first convolution layer 62a.
- the convolution layer 62 performs the same process as the above-described convolution layer 42, and the pooling layer 64 performs the same process as the above-described pooling layer 44.
- the up pooling layer 66 executes a process opposite to the process in the pooling layer 64. That is, the image size is reduced in the pooling layer 64, but the image size is increased in the up pooling layer 66. Since a known technique may be used for the processing in the up pooling layer 66, the description is omitted here.
- a downsampling processing unit 72 and an upsampling processing unit 74 are arranged in this order.
- a fourth pooling layer 64d, a fifth convolution layer 62e, a fifth pooling layer 64e, and a sixth convolution layer 62f are sequentially arranged. That is, the convolution process and the pooling process are repeatedly executed. Further, the image size is sequentially reduced by repeating the convolution process and the pooling process.
- 66c, an eleventh convolution layer 62k, a fourth up pooling layer 66d, a twelfth convolution layer 62l, a fifth up pooling layer 66e, and a thirteenth convolution layer 62m are arranged in this order. That is, the convolution process and the up pooling process are repeatedly executed.
- output image 68 an image having a size close to that of the input image 60 (hereinafter referred to as “output image 68”). To do.
- an output image 68 is acquired.
- each object included in the output image 68 is colored according to the class. That is, in the output image 68 that is the result of the image recognition process, the object is segmented by color painting.
- the output image 68 includes the internal crack region 34.
- the internal crack region 34 is a region recognized as the internal crack 32, and is painted in a color different from other regions in the output image 68.
- the output image 68 includes an area recognized as etching unevenness (hereinafter referred to as “etching unevenness region”) and an area recognized as suction pad (hereinafter referred to as “etching unevenness region”). "Suction pad area”). In that case, the internal crack region 34, the etching unevenness region, the suction pad region, and other regions are painted in different colors.
- the output image 68 is also called a feature map.
- teacher data to be a known output image 68 and a learning image corresponding to the teacher data are input to the processing device 70 to learn the coefficients of the spatial filter of each convolution layer 62.
- the teacher data is an image in which an object is segmented by coloring.
- Such teacher data is generally generated manually. Therefore, the amount of work for generating teacher data increases as the number of teacher data increases. If the number of teacher data is reduced in order to reduce the amount of work, the accuracy of the image recognition process is reduced. Under such circumstances, in order to suppress a decrease in the accuracy of image recognition processing while suppressing an increase in the amount of work, it is necessary to reduce the amount of work for generating one teacher data. Since there is no restriction on the size of the input image 60, the learning image and the input image 60 may have different sizes.
- FIG. 4A to 4B show the configuration of the processing apparatus 100.
- FIG. 4A shows a configuration for learning processing
- FIG. 4B shows a configuration for image recognition processing.
- the processing apparatus 100 in FIG. 4A and the processing apparatus 100 in FIG. 4B may be the same apparatus or different apparatuses.
- the processing apparatus 100 includes a first input unit 110, a second input unit 112, and a processing unit 114 as a configuration for learning processing, and an input unit 132, a correction unit 134, and a processing unit 114 as configurations for image recognition processing. , Including an output unit 136.
- the processing device 100 is connected to the imaging device 130. That is, the processing unit 114 is learned in the learning process, and the processing unit 114 is used in the image recognition process. Before describing the configuration of the processing apparatus 100, the configuration of the processing unit 114 will be described as in FIGS.
- FIG. 5 shows an outline of processing in the processing unit 114.
- the processing unit 114 includes a first convolution layer 142a, a second convolution layer 142b, a third convolution layer 142c, a fourth convolution layer 142d, a fifth convolution layer 142e, a sixth convolution layer 142f, and a pooling layer 144, which are collectively referred to as a convolution layer 142.
- a convolution layer 142 includes a first pooling layer 144a, a second pooling layer 144b, a third pooling layer 144c, a fourth pooling layer 144d, and a fifth pooling layer 144e.
- Such a convolution layer 142 and a pooling layer 144 show an image of a block that executes each process.
- the input image 140 is an image to be processed by the image recognition process in the processing apparatus 100. Since the neural network in the processing unit 114 does not include a fully connected layer as in the case of the complete convolution neural network, there is no restriction on the size of the input image 140. Therefore, the input image 140 may be the image 20 described above.
- the input image 140 is input to the first pooling layer 144a.
- the convolution layer 142 executes processing similar to that of the convolution layer 42 and convolution layer 62 described above, and the pooling layer 144 executes processing similar to that of the pooling layer 44 and pooling layer 64 described above.
- the processing unit 114 arranges the downsampling processing unit 152 in the same manner as the complete convolution neural network. However, unlike the complete convolution neural network, the processing unit 114 does not include an upsampling processing unit.
- the 4 pooling layer 144d, the fifth convolution layer 142e, the fifth pooling layer 144e, and the sixth convolution layer 142f are sequentially arranged. That is, the convolution process and the pooling process are repeatedly executed.
- FIG. 6 shows an outline of processing in the convolution layer 142.
- the image 200 is an object to be processed in the convolutional layer 142, and here is configured by 10 ⁇ 10 pixels as an example. Each pixel has a pixel value.
- the convolution layer 142 generates the extended image 204 by expanding the periphery of the image 200 with the padding 202. Each padding 202 is also a pixel, and the extended image 204 is composed of 12 ⁇ 12 pixels.
- the convolution layer 142 performs convolution with respect to the extended image 204 while shifting the filter 210 having a size smaller than the size of the extended image 204.
- the filter 210 has a size of 3 ⁇ 3, for example.
- the pixel value of the padding 202 is determined as follows.
- the processing unit 114 uses a part of the image associated with the filter 210, that is, any pixel value of the pixel for the padding 202.
- any pixel value of the pixel for the padding 202 As shown in FIG. 6, when the filter 210 is associated with the upper left portion of the extended image 204, five paddings 202 and four pixels are included.
- one of the pixel values of the four pixels is used as the pixel value of each padding 202.
- the pixel value of the pixel closest to the padding 202 is set as the pixel value of the padding 202.
- the processing unit 114 uses a part of the image associated with the filter 210, that is, the statistical value of the pixel value of the pixel for the padding 202. .
- the statistical value includes an average value and a median value.
- the sixth convolution layer 142f outputs an image having the number of channels of 1 or more (hereinafter referred to as “output image 148”).
- the pooling layer 144 may be disposed at the final stage, and the pooling layer 144 may output the output image 148. Again, as an example, the number of channels is “8”. That is, when an image recognition process in the downsampling processing unit 152 is performed on the input image 140, an output image 148 is acquired. The output image 148 will be described later.
- the first input unit 110 receives teacher data to be a known output image 148
- the second input unit 112 receives a learning image corresponding to the teacher data received by the first input unit 110.
- the processing unit 114 has the configuration of FIG. 5, and the spatial filter of each convolutional layer 142 is based on the teacher data received by the first input unit 110 and the learning image received by the second input unit 112. Train the coefficients.
- the size of the teacher data has a 1 ⁇ 1 spatial dimension. Therefore, the teacher data does not have the position information of the object included in the learning image, and the teacher data for one channel only indicates the presence of any of the eight classes of objects in the output 48 described above. .
- the teacher data of the “internal crack” class indicates the presence of the internal crack. Since the same applies to the other classes, the teacher data for the eight channels only indicates the presence of objects of each class. That is, the teacher data for one channel need only indicate whether or not one class of object exists, and does not have to be an image in which the object is segmented by color painting. Therefore, the amount of work for generating one teacher data is reduced as compared with the case of generating an image in which an object is segmented by color painting. As a result, it is possible to increase the number of teacher data while suppressing an increase in the work amount.
- the learning image is an original image in which teacher data is output when the image recognition process is correctly executed, and the size thereof is determined so that the teacher data has a 1 ⁇ 1 spatial dimension.
- the learning image and the input image 140 may have different sizes.
- a known technique may be used for learning the coefficients of the spatial filter in a situation where such teacher data and learning images are used, and the description thereof is omitted here.
- FIG. 4A and FIG. 4B are different devices, the coefficients of the spatial filter derived by learning for the processing unit 114 in FIG. 4A are shown in FIG. Is set in the processing unit 114.
- the imaging device 130 is, for example, an infrared camera, and images the inspection target, that is, the solar battery cell 10 of FIG. For example, imaging with 8 bits and 9M pixels is performed.
- the imaging device 130 outputs the captured image to the processing device 100.
- the input unit 132 of the processing apparatus 100 receives an image captured by the imaging apparatus 130 (hereinafter referred to as “image 120”).
- FIGS. 7A to 7C show an image 120 processed by the processing apparatus 100.
- FIG. 7A shows an image 120 input to the input unit 132.
- FIG. The image 120 shows the light receiving surface 12 or the back surface 14 of the solar battery cell 10. In general, in the image 120, the solar battery cell 10 is tilted.
- FIGS. 7B to 7C will be described later, and the processing returns to FIG. 4B.
- the input unit 132 outputs the image 120 to the correction unit 134.
- the correction unit 134 receives the image 120 from the input unit 132.
- the correction unit 134 corrects the inclination of the solar battery cell 10 in the image 120.
- the correction unit 134 applies the first corner side L ⁇ b> 1, the second corner side L ⁇ b> 2, the third corner side L ⁇ b> 3, the fourth corner to the photovoltaic cell 10 in the image 120 of FIG.
- the corner side L4 is specified.
- the correction unit 134 derives a first intersection point P1 that intersects by extending the first corner side L1 and the second corner side L2.
- the correction unit 134 derives the second intersection point P2, the third intersection point P3, and the fourth intersection point P4 in the same manner as the first intersection point P1.
- the correction unit 134 deforms the image 120 so that the first intersection P1, the second intersection P2, the third intersection P3, and the fourth intersection P4 are moved to the set coordinates using perspective projection transformation. To do.
- the result of deformation is shown in FIG.
- the correction unit 134 outputs the corrected image 120 to the processing unit 114.
- the processing unit 114 receives the corrected image 120 from the correction unit 134.
- the processing unit 114 has the configuration shown in FIG. 5, and the received image 120 corresponds to the input image 140. Therefore, hereinafter, the corrected image 120 is referred to as an input image 140.
- the processing unit 114 performs the process of the convolutional neural network from which the entire connection layer 46 is excluded from the input image 140.
- the convolutional neural network in the processing unit 114 includes a downsampling processing unit 152, and the downsampling processing unit 152 includes a plurality of convolution layers 142 and a plurality of pooling layers 144. For this reason, the processing unit 114 executes the downsampling process but does not execute the upsampling process.
- the spatial filter of the convolutional layer 42 is learned for a processing result having 1 ⁇ 1 spatial dimension and 8 channels, that is, teacher data.
- the learning of the spatial filter of the convolution layer 42 is performed for the presence / absence of an object of 8 classes corresponding to 8 channels on a one-to-one basis.
- One of the eight classes of objects is an internal crack 32.
- the output image 148 that is the processing result or the inspection result is acquired by the image recognition processing by the processing unit 114 after the learning processing, and the output image 148 indicates whether or not there are eight classes of objects.
- the size of the output image 148 is smaller than the size of the input image 140, for example, accurate position information of the internal crack 32 is deleted in the output image 148.
- the output image 148 has a spatial dimension larger than 1 ⁇ 1 unlike the teacher data.
- the processing unit 114 outputs the output image 148 to the output unit 136, and the output unit 136 outputs the output image 148 to the outside.
- the learning image and the input image 140 may have different sizes.
- the size of the input image 140 may be larger than the size of the learning image.
- the learning image is input to the complete convolution neural network when learning the convolution layer filter 210 and also corresponds to the teacher data.
- the output image 148 output from the output unit 136 has a spatial dimension smaller than the size of the input image 140 and larger than 1 ⁇ 1.
- FIG. 8A to 8B show an output image 148 output from the output unit 136.
- FIG. 8A the output image 148 is shown in almost the same color as a whole. From this, it is clear that the solar cell 10 does not have the internal crack 32.
- FIG. 8B color painting is performed according to the class, and the central portion of the output image 148 is shown in a darker color than the other portions. From this, it is clear that the internal crack 32 exists in the center part of the photovoltaic cell 10. That is, since the output image 148 has a spatial dimension larger than 1 ⁇ 1, not only the presence or absence of the internal crack 32 but also the relative position in the solar battery cell 10 is specified by the feature map. This feature map is also called a heat map.
- the subject of the apparatus, system, or method in the present disclosure includes a computer.
- the computer executes the program, the main function of the apparatus, system, or method according to the present disclosure is realized.
- the computer includes a processor that operates according to a program as a main hardware configuration.
- the processor may be of any type as long as the function can be realized by executing the program.
- the processor includes one or a plurality of electronic circuits including a semiconductor integrated circuit (IC) or an LSI (Large Scale Integration).
- the plurality of electronic circuits may be integrated on one chip or provided on a plurality of chips.
- the plurality of chips may be integrated into one device, or may be provided in a plurality of devices.
- the program is recorded on a non-transitory recording medium such as a ROM, an optical disk, or a hard disk drive that can be read by a computer.
- the program may be stored in advance in a recording medium, or may be supplied to the recording medium via a wide area communication network including the Internet.
- FIGS. 9A and 9B are flowcharts showing a processing procedure in the processing apparatus 100.
- FIG. FIG. 9A is a flowchart showing the procedure of the learning process.
- the first input unit 110 inputs teacher data
- the second input unit 112 inputs learning images (S10).
- the processing unit 114 learns the coefficient of the spatial filter of each convolutional layer 42 using the teacher data and the learning image (S12). If the combination of the teacher data and the learning image remains (Y in S14), the process returns to Step 10, and if the combination of the teacher data and the learning image does not remain (N in S14), the process ends. Is done.
- FIG. 9B is a flowchart showing the procedure of the image recognition process.
- the input unit 132 inputs the image 120 (S50).
- the correction unit 134 corrects the inclination of the image 120 (S52).
- the processing unit 114 executes image recognition processing using the corrected image 120 as the input image 140 (S54).
- the output unit 136 outputs an output image 148 that is a result of the image recognition process (S56).
- a convolutional neural network in which the spatial filter of the convolution layer 142 is learned is used for teacher data having a 1 ⁇ 1 spatial dimension, so that the workload for creating teacher data is reduced. it can.
- the workload for creating teacher data is reduced, an increase in the workload for learning can be suppressed.
- the number of teacher data can be increased.
- the accuracy of learning can be improved.
- the convolutional neural network in which the spatial filter of the convolution layer 142 is learned is used for the teacher data having the 1 ⁇ 1 spatial dimension, the presence or absence of the target object can be detected. Moreover, since the presence or absence of the target object is detected, it is possible to suppress a decrease in the accuracy of the image recognition process. Further, since the convolutional neural network in which the spatial filter of the convolution layer 142 is learned is used for teacher data having a 1 ⁇ 1 spatial dimension, image recognition processing is performed while suppressing an increase in learning workload. The decrease in accuracy can be suppressed.
- the convolutional neural network performs the downsampling process by the convolutional layer 142 and the pooling layer 144 and does not execute the upsampling process, it is possible to use teacher data having a 1 ⁇ 1 spatial dimension when learning.
- the image which imaged the photovoltaic cell 10 is input in the condition where learning of the spatial filter of the convolution layer 142 is made
- an output image 148 having a spatial dimension of 1 ⁇ 1 or more can be acquired.
- the output image 148 having a spatial dimension of 1 ⁇ 1 or more is acquired, relative position information can be acquired.
- the pixel value of the pixel included in the image is used as the pixel value of the padding 202, it is possible to suppress deterioration in detection accuracy due to the padding 202.
- the statistical value of the pixel value of the pixel included in the image is used as the pixel value of the padding 202, it is possible to suppress deterioration in detection accuracy due to the padding 202.
- a processing apparatus (100) includes an input unit (132) that inputs an image to be processed, and a convolutional neural network in which all connection layers are excluded from the image input to the input unit (132).
- a processing unit (114) that executes the process of (2), and an output unit (136) that outputs a processing result of the processing unit (114).
- the convolutional neural network in the processing unit (114) includes a convolutional layer (142) and a pooling layer (144). In the convolutional neural network in the processing unit (114), the filter (210) of the convolutional layer (142) is learned for the processing result having a 1 ⁇ 1 spatial dimension.
- the size of the image input to the input unit (132) is a learning image input to the convolutional neural network when learning the filter (210) of the convolutional layer (142), and the size of the convolutional layer (142). It is larger than the size of the learning image corresponding to the processing result when learning the filter (210).
- the convolutional neural network in the processing unit (114) may execute the downsampling process by the convolutional layer (142) and the pooling layer (144) and may not execute the upsampling process.
- the processing result output from the output unit (136) has a spatial dimension smaller than the size of the image input to the input unit (132) and larger than 1 ⁇ 1, and represents a feature map.
- the convolution layer (142) included in the convolutional neural network in the processing unit (114) expands the periphery of the image by padding (202), and the expanded image has a size smaller than the size of the expanded image.
- the processing unit (114) performs convolution while shifting the filter (210). Any value may be used for padding (202).
- the convolution layer (142) included in the convolutional neural network in the processing unit (114) expands the periphery of the image by padding (202), and the expanded image has a size smaller than the size of the expanded image.
- the processing unit (114) performs convolution while shifting the filter (210). Value statistics may be used for padding (202).
- the image input to the input unit (132) is an image obtained by capturing an object to be inspected.
- the filter of the convolutional layer (142) is at least detected for the presence or absence of defects. (210) has been learned, and the output unit (136) may output the processing result of the processing unit (114) as the inspection result.
- the image input to the input unit (132) is an image obtained by imaging an object to be inspected.
- each of one or more elements that can be included in the object is displayed.
- the filter (210) of the convolution layer (142) has been learned, and the output unit (136) may output the processing result of the processing unit (114) as the inspection result.
- Another aspect of the present disclosure is a processing method.
- This method includes a step of inputting an image to be processed, a step of executing a process of a convolutional neural network in which all the connection layers are excluded from the input image, and a step of outputting a processing result.
- the convolutional neural network includes a convolutional layer (142) and a pooling layer (144).
- the filter of the convolutional layer (142) is learned for the processing result having a 1 ⁇ 1 spatial dimension.
- the size of the input image is a learning image input to the convolutional neural network when learning the filter (210) of the convolution layer (142), and the filter (210) of the convolution layer (142) is learned. This is larger than the size of the learning image corresponding to the processing result at the time.
- the processing unit 114 In the configuration of the processing unit 114 in the present embodiment, a plurality of convolution layers 42 and a plurality of pooling layers 44 are alternately arranged.
- the present invention is not limited to this, and for example, the processing unit 114 may have a configuration such as a GoogleLeNet system, a DenseNet system, or the like. According to this modification, the degree of freedom of configuration can be improved.
- the processing apparatus 100 in the present embodiment executes processing for detecting the presence or absence of the internal crack 32 from the input image 140 obtained by imaging the solar battery cell 10.
- an input image 140 obtained by imaging an object other than the solar battery cell 10 may be a processing target.
- the process for detecting the presence or absence of defects other than the presence or absence of the internal crack 32 may be performed.
- processing for detecting one or more elements that can be included in the object, instead of the presence or absence of defects in the object may be performed. According to this modification, the application range of the processing apparatus 100 can be expanded.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
入力部132は、処理対象の画像を入力する。処理部114は、入力部132に入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行する。この処理部114における畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含む。出力部136は、処理部114の処理結果を出力する。ここで、処理部114における畳み込みニューラルネットワークでは、1×1の空間次元を有する処理結果に対して、畳み込み層のフィルタの学習がなされている。
Description
本開示は、処理技術、特に画像に対する処理を実行する処理方法およびそれを利用した処理装置に関する。
画像認識処理には、例えば、Deep Learningが使用される。Deep Learningは、多層のニューラルネットワークを使った機械学習の方法論として知られ、多層ニューラルネットワークには例えば畳み込みニューラルネットワークが使用される。畳み込みニューラルネットワークは、局所領域の畳み込み(Convolution)とプーリング(Pooling)とを繰り返す多層のニューラルネットワークによって形成される。さらに、畳み込みニューラルネットワークを構成する全結合層を畳み込み層にする完全畳み込みニューラルネットワークの構造が提案されている(例えば、非特許文献1参照)。
Jonathan Long,Evan Shelhamer,Trevor Darrell,"Fully Convolutional Networks for Semantic Segmentation",The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 3431-3440
完全畳み込みニューラルネットワークを画像認識処理に使用するためには、教師データを使用して完全畳み込みニューラルネットワークを予め学習させておく必要がある。完全畳み込みニューラルネットワークの場合、教師データには、色塗りによるセグメンテーションがなされた画像が使用される。一般的に、色塗りによるセグメンテーションがなされた画像は手作業により生成される。このような手作業による作業量は、教師データの数が多くなるほど増加する。一方、学習に使用される教師データの数が多くなるほど、画像認識処理の精度は向上する。
本開示はこうした状況に鑑みなされたものであり、その目的は、学習の作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制する技術を提供することにある。
上記課題を解決するために、本開示のある態様の処理装置は、処理対象の画像を入力する入力部と、入力部に入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行する処理部と、処理部の処理結果を出力する出力部とを備える。処理部における畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含む。処理部における畳み込みニューラルネットワークでは、1×1の空間次元を有する処理結果に対して、畳み込み層のフィルタの学習がなされており、入力部に入力される画像のサイズは、畳み込み層のフィルタを学習する際に畳み込みニューラルネットワークに入力される学習用画像であって、かつ畳み込み層のフィルタを学習する際の処理結果に対応した学習用画像のサイズよりも大きい。
本開示の別の態様は、処理方法である。この方法は、処理対象の画像を入力するステップと、入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行するステップと、処理結果を出力するステップとを備える。畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含む。畳み込みニューラルネットワークでは、1×1の空間次元を有する処理結果に対して、畳み込み層のフィルタの学習がなされており、入力される画像のサイズは、畳み込み層のフィルタを学習する際に畳み込みニューラルネットワークに入力される学習用画像であって、かつ畳み込み層のフィルタを学習する際の処理結果に対応した学習用画像のサイズよりも大きい。
なお、以上の構成要素の任意の組合せ、本開示の表現を方法、装置、システム、コンピュータプログラム、またはコンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本開示の態様として有効である。
本開示によれば、学習の作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制できる。
本開示の実施例を具体的に説明する前に、本実施例の概要を説明する。実施例は、太陽電池セルを撮像した画像に対して画像認識処理を実行することによって、太陽電池セルの検査を実行する処理装置に関する。太陽電池セルの検査の一例は、太陽電池セルにおける内部クラックの有無であり、内部クラックが生じている太陽電池セルは、衝撃を受けると割れやすくなるので不良品とされる。このような内部クラックは、太陽電池セルが単結晶シリコンである場合45度の角度に生じる。内部クラックが生じる角度が決まっていても内部クラックがエッチングムラ等と重なる場合には内部クラックの検出が困難である。そのため、太陽電池セルの検査には画像認識処理が使用される。
これまでは、太陽電池セルを撮像した画像に対してガボールフィルタ処理を実行して45度の線分を鮮鋭化させてからDeep Learningがなされていた。しかしながら、太陽電池セルの表面に45度の電極が形成されるようになると、このような電極もガボールフィルタ処理によって鮮鋭化されてしまうので、ガボールフィルタ処理の使用が困難である。このような状況下において、太陽電池セルを撮像した画像に対する畳み込みニューラルネットワークの使用が有力である。畳み込みニューラルネットワークは、複数のフィルタによる畳み込み処理により特徴を抽出する畳み込み層と、一定領域の反応をまとめるプーリング処理により局所的なデータの不変性を獲得するプーリング層と、Softmax関数等による確率を用いて認識を行う全結合層とを含む。これらのうちの全結合層により、畳み込みニューラルネットワークでは、任意のサイズの画像に対する処理が困難である。これらを解決するために、畳み込みニューラルネットワークの全結合層を畳み込み層に変えた完全畳み込みニューラルネットワークが使用される。
完全畳み込みニューラルネットワークでは、畳み込み層とプーリング層の処理が繰り返されるダウンサンプリング処理が実行された後、畳み込み層とアッププーリング層の処理が繰り返されるアップサンプリング処理が実行される。ここで、ダウンサンプリング処理によって画像の空間次元が小さくなり、アップサンプリング処理によって画像の空間次元が大きくなる。このような処理によって、完全畳み込みニューラルネットワークから出力される画像(以下、「出力画像」という)は、入力される画像(以下、「入力画像」という)と同等の空間次元を有する。また、出力画像には、画像中の物体に対して色塗りによるセグメンテーションがなされている。完全畳み込みニューラルネットワークを含むニューラルネットワークでは、画像認識処理を実行する前の学習が必要である。完全畳み込みニューラルネットワークの場合、教師データを使用して、畳み込み層のフィルタ係数が学習される。しかしながら、前述のごとく、教師データを生成するための作業量が大きい。画像認識処理の精度を向上させるために教師データの数を多くする必要があり、教師データの数が多くなると、教師データを生成するための作業量がさらに増加する。
教師データを生成するための作業量の増加を抑制するために、本実施例では、完全畳み込みニューラルネットワークにおけるアップサンプリング処理を除外した畳み込みニューラルネットワークを使用する。ここで、学習の際には、出力画像が1×1の空間次元となる教師データと、当該教師データに対応した入力画像とが使用される。本実施例において、教師データに対応した入力画像は「学習用画像」と呼ばれることもある。教師データでは、セグメンテーションの結果、例えば、OK、内部クラック、色ムラ等のみが示され、位置情報が削除されている。これにより、教師データを生成しやすくなるので、教師データの数を多くしても、教師データを生成するための作業量の増加は抑制される。一方、画像認識処理においては、不良とすべき太陽電池セルにおいて内部クラックが生じている位置を特定できればよく、太陽電池セルの相似形として処理結果が得られれば位置の特定が可能であるので、本実施例によっても画像認識処理の精度の低下は抑制される。
図1(a)-(c)は、実施例の処理対象を示す。図1(a)は、検査対象、つまり画像認識処理対象となる太陽電池セル10の構成を示す斜視図である。太陽電池セル10は、例えば、単結晶シリコンで形成され、受光面12と裏面14とを含む板形形状を有する。受光面12は主として太陽光が入射される面であり、裏面14は受光面12の反対側を向いた面である。図1(b)は、図1(a)の太陽電池セル10を受光面12側あるいは裏面14側から赤外線で撮像した画像20を示す。画像20には、吸着パッド22、エッチングムラ24、電極補強線26、ソーマーク28、ウエハ厚み分布30が太陽電池セル10上に模様のように示されている。これらについては公知の技術であるので、ここでは説明を省略するが、これらは、不良品のパターンではなく、良品のパターンである。
図1(c)は、図1(a)の太陽電池セル10を受光面12側あるいは裏面14側から赤外線で撮像した画像20を示す。図1(c)は、図1(b)とは異なった太陽電池セル10を撮像した画像20に相当する。図示のごとく、45度の方向に延びる線分と、135度の方向に延びる線分とが交差する「×」印の内部クラック32が太陽電池セル10上に示されている。これは、不良品のパターンである。ここでは、説明を明瞭にするために内部クラック32だけを示している。しかしながら実際には、図1(b)のような画像20に内部クラック32が混ざっている。例えば、吸着パッド22の中、エッチングムラ24の中に内部クラック32が埋もれている。そのため、画像20の中に内部クラック32が含まれているか否かを正確に判定することは容易でない。
図2は、実施例の比較対象となる処理装置50における処理の概要を示す。処理装置50は、前述の全結合層を含んだ畳み込みニューラルネットワークの構成を有する。処理装置50は、畳み込み層42と総称する第1畳み込み層42a、第2畳み込み層42b、第3畳み込み層42c、第4畳み込み層42d、第5畳み込み層42e、第6畳み込み層42f、プーリング層44と総称される第1プーリング層44a、第2プーリング層44b、第3プーリング層44c、第4プーリング層44d、第5プーリング層44e、全結合層46を含む。このような畳み込み層42、プーリング層44、全結合層46は、各処理を実行するブロックのイメージを示す。入力画像40は、処理装置50における画像認識処理の処理対象となる画像であり、前述の画像20の少なくとも一部に相当する。入力画像40は、第1畳み込み層42aに入力される。
各畳み込み層42は、直六面体で示され、それは、奥行き方向と高さ方向とを有する正方形の2つの第1面52と、2つの第1面52に挟まれる4つの第2面54で構成される。図面を明瞭にするために、第1面52と第2面54は第1畳み込み層42aだけに示される。第1面52の大きさは、畳み込み層42において処理される画像の空間次元の大きさ、つまり画像のサイズを示す。畳み込み層42は、画像に対して、画像のサイズよりも小さいサイズの空間フィルタをずらしながら空間フィルタリングを実行する。
空間フィルタリングは公知の技術であるので、ここでは説明を省略するが、この空間フィルタリングが畳み込み処理に相当し、畳み込み処理によって画像の特徴量が抽出される。畳み込み層42においてパディング等が実行されてもよい。さらに、畳み込み層42は、画像に対して、複数の空間フィルタを並列に使用して、複数の空間フィルタリングを並列して実行してもよい。このような複数の空間フィルタの並列使用によって、画像が増加する。畳み込み層42において並列に使用される空間フィルタの数は、チャンネル数と呼ばれ、これは第2面54の左右方向の長さによって示される。
各プーリング層44も畳み込み層42と同様に構成される。プーリング層44は、画像内の任意の領域に含まれた複数の画素を1つの画素にまとめることによって、画像のサイズを小さくする。ここで、複数の画素を1つの画素にまとめるために、平均プーリングあるいは最大プーリングが実行される。平均プーリングでは、領域内の複数の画素値の平均値が1つの画素に対して使用され、最大プーリングでは、領域内の複数の画素値のうちの最大値が1つの画素に対して使用される。プーリング処理は、着目領域における代表値あるいは平均値の並進移動に対してロバスト性を強化するためになされる。
ここでは、第1畳み込み層42a、第1プーリング層44a、第2畳み込み層42b、第2プーリング層44b、第3畳み込み層42c、第3プーリング層44c、第4畳み込み層42d、第4プーリング層44d、第5畳み込み層42e、第5プーリング層44e、第6畳み込み層42fの順に処理が実行される。つまり、畳み込み処理とプーリング処理とが繰り返し実行される。また、畳み込み処理とプーリング処理とが繰り返されることによって、画像のサイズが順に小さくされ、第6畳み込み層42fは、1×1の空間次元となり、かつ1以上のチャンネル数を有する画像を全結合層46に出力する。ここでは、一例として、チャンネル数を「8」とする。
全結合層46は、特徴量が抽出されている画像を第6畳み込み層42fから受けつける。全結合層46は、特徴量に基づいて、複数のクラスへの分類を実行することによって、画像を識別する。全結合層46における処理には公知の技術が使用されればよいので、ここでは説明を省略するが、全結合層46における分類結果、つまり識別結果が出力48である。出力48では、「OK」、「内部クラック」、「エッチングムラ」、「ピンホール」、「黒点」、「割欠け」、「吸着パッド」、「バスバー」の8つのクラスのそれぞれに対する確率が示される。この場合は、「内部クラック」に対する確率が「0.9」と高いので、入力画像40には内部クラック32が存在すると識別される。
このような画像認識処理を実行する前に、処理装置50に対して学習処理が実行される。学習処理は、既知の出力48となる教師データと、当該教師データに対応した学習用画像を処理装置50に入力して、全結合層46における係数、各畳み込み層42の空間フィルタの係数を学習させる。学習用画像は、入力画像40と同一のサイズを有しており、画像認識処理が正確に実行された場合に教師データが出力されるような元の画像である。このような学習処理には公知の技術が使用されればよい。学習処理において、教師データと学習用画像の組合せが大量に使用されるほど、これらの係数の精度が向上し、画像認識処理の精度も向上する。
学習処理が終了した後、前述の画像認識処理が実行される。処理装置50には、元画像である画像20を切り出して一定のサイズにされた入力画像40が入力される。処理装置50は、例えば内部クラック32などが入力画像40に存在するか否かを2元的に画像認識処理し、入力画像40に内部クラック32が存在していれば、内部クラック32の存在が示された出力48を生成する。これは、画像認識処理によって、8つのクラスに分類されることに相当する。
ここで、処理装置50において使用される畳み込みニューラルネットワークは、全結合層46を含む。全結合層46からの出力48のサイズは固定されているので、当該畳み込みニューラルネットワークが処理可能な入力画像40のサイズも固定される。つまり、処理装置50は、一定のサイズの入力画像40しか認識処理できない。そのため、処理装置50では、入力画像40のサイズに制限が設けられる。
図3は、実施例の比較対象となる処理装置70における処理の概要を示す。処理装置70は、完全畳み込みニューラルネットワークの構成を有する。処理装置70は、畳み込み層62と総称する第1畳み込み層62a、第2畳み込み層62b、第3畳み込み層62c、第4畳み込み層62d、第5畳み込み層62e、第6畳み込み層62f、第7畳み込み層62g、第8畳み込み層62h、第9畳み込み層62i、第10畳み込み層62j、第11畳み込み層62k、第12畳み込み層62l、第13畳み込み層62m、プーリング層64と総称する第1プーリング層64a、第2プーリング層64b、第3プーリング層64c、第4プーリング層64d、第5プーリング層64e、アッププーリング層66と総称される第1アッププーリング層66a、第2アッププーリング層66b、第3アッププーリング層66c、第4アッププーリング層66d、第5アッププーリング層66eを含む。このような畳み込み層62、プーリング層64、アッププーリング層66は、各処理を実行するブロックのイメージを示す。
入力画像60は、処理装置70における画像認識処理の処理対象となる画像である。完全畳み込みニューラルネットワークには、前述の全結合層が含まれないので、入力画像60のサイズに対する制限が設けられない。そのため、入力画像60は、前述の画像20であってもよい。入力画像60は、第1畳み込み層62aに入力される。
畳み込み層62は、前述の畳み込み層42と同様の処理を実行し、プーリング層64は、前述のプーリング層44と同様の処理を実行する。アッププーリング層66は、プーリング層64における処理とは逆の処理を実行する。つまり、プーリング層64では画像のサイズが小さくされるが、アッププーリング層66では画像のサイズが大きくされる。アッププーリング層66における処理には公知の技術が使用されればよいので、ここでは説明を省略する。
完全畳み込みニューラルネットワークは、ダウンサンプリング処理部72、アップサンプリング処理部74を順に配置する。ダウンサンプリング処理部72では、第1畳み込み層62a、第1プーリング層64a、第2畳み込み層62b、第2プーリング層64b、第3畳み込み層62c、第3プーリング層64c、第4畳み込み層62d、第4プーリング層64d、第5畳み込み層62e、第5プーリング層64e、第6畳み込み層62fが順に配置される。つまり、畳み込み処理とプーリング処理とが繰り返し実行される。また、畳み込み処理とプーリング処理とが繰り返されることによって、画像のサイズが順に小さくされる。
アップサンプリング処理部74では、第7畳み込み層62g、第8畳み込み層62h、第1アッププーリング層66a、第9畳み込み層62i、第2アッププーリング層66b、第10畳み込み層62j、第3アッププーリング層66c、第11畳み込み層62k、第4アッププーリング層66d、第12畳み込み層62l、第5アッププーリング層66e、第13畳み込み層62mが順に配置される。つまり、畳み込み処理とアッププーリング処理とが繰り返し実行される。また、畳み込み処理とアッププーリング処理とが繰り返されることによって、画像のサイズが順に大きくされ、第13畳み込み層62mは、入力画像60と近いサイズの画像(以下、「出力画像68」という)を出力する。
入力画像60に対して、ダウンサンプリング処理部72とアップサンプリング処理部74における画像認識処理を実行すると、出力画像68が取得される。出力画像68では、出力画像68に含まれた物体のそれぞれに対してクラスに応じた色塗りがなされている。つまり、画像認識処理の結果である出力画像68では、物体に対して色塗りによるセグメンテーションがなされている。例えば、入力画像60に内部クラック32が含まれている場合、出力画像68には内部クラック領域34が含まれる。内部クラック領域34は、内部クラック32と認識される領域であり、出力画像68における他の領域と異なった色で塗られている。また、入力画像60にエッチングムラ、吸着パッドが含まれる場合、出力画像68には、エッチングムラと認識される領域(以下、「エッチングムラ領域」という)、吸着パッドと認識される領域(以下、「吸着パッド領域」という)とが含まれる。その場合、内部クラック領域34、エッチングムラ領域、吸着パッド領域、その他の領域は、互いに異なった色で塗られている。出力画像68は特徴マップとも呼ばれる。
このような画像認識処理を実行する前に、処理装置70に対しても学習処理が実行される。学習処理は、既知の出力画像68となる教師データと、当該教師データに対応した学習用画像を処理装置70に入力して、各畳み込み層62の空間フィルタの係数を学習させる。ここで、教師データは、物体に対して色塗りによるセグメンテーションがなされた画像である。このような教師データは、一般的に手作業により生成される。そのため、教師データを生成するための作業量は、教師データの数が多くなるほど増加する。作業量を低減するために、教師データの数を少なくすると、画像認識処理の精度は低減する。このような状況下で、作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制するためには、1つの教師データを生成するための作業量を低減する必要がある。入力画像60のサイズに対する制限が設けられないので、学習用画像と入力画像60は異なったサイズでもよい。
図4(a)-(b)は、処理装置100の構成を示す。特に、図4(a)は、学習処理のための構成を示し、図4(b)は、画像認識処理ための構成を示す。図4(a)における処理装置100と図4(b)における処理装置100とは、同一の装置であってもよいし、別の装置であってもよい。処理装置100は、学習処理ための構成として、第1入力部110、第2入力部112、処理部114を含み、画像認識処理のための構成として、入力部132、補正部134、処理部114、出力部136を含む。また、処理装置100は撮像装置130に接続される。つまり、学習処理において処理部114が学習され、画像認識処理において処理部114が使用される。処理装置100の構成を説明する前に、図2、図3と同様に、処理部114の構成を説明する。
図5は、処理部114における処理の概要を示す。処理部114は、畳み込み層142と総称する第1畳み込み層142a、第2畳み込み層142b、第3畳み込み層142c、第4畳み込み層142d、第5畳み込み層142e、第6畳み込み層142f、プーリング層144と総称する第1プーリング層144a、第2プーリング層144b、第3プーリング層144c、第4プーリング層144d、第5プーリング層144eを含む。このような畳み込み層142、プーリング層144は、各処理を実行するブロックのイメージを示す。
入力画像140は、処理装置100における画像認識処理の処理対象となる画像である。処理部114におけるニューラルネットワークには、完全畳み込みニューラルネットワークと同様に、全結合層が含まれないので、入力画像140のサイズに対する制限が設けられない。そのため、入力画像140は、前述の画像20であってもよい。入力画像140は、第1プーリング層144aに入力される。畳み込み層142は、前述の畳み込み層42、畳み込み層62と同様の処理を実行し、プーリング層144は、前述のプーリング層44、プーリング層64と同様の処理を実行する。
処理部114は、完全畳み込みニューラルネットワークと同様にダウンサンプリング処理部152を配置する。しかしながら、処理部114は、完全畳み込みニューラルネットワークとは異なり、アップサンプリング処理部を配置しない。ダウンサンプリング処理部152では、第1畳み込み層142a、第1プーリング層144a、第2畳み込み層142b、第2プーリング層144b、第3畳み込み層142c、第3プーリング層144c、第4畳み込み層142d、第4プーリング層144d、第5畳み込み層142e、第5プーリング層144e、第6畳み込み層142fが順に配置される。つまり、畳み込み処理とプーリング処理とが繰り返し実行される。
図6は、畳み込み層142における処理の概要を示す。画像200は、畳み込み層142における処理対象であり、ここでは、一例として10×10の画素により構成される。各画素は画素値を有する。畳み込み層142は、画像200の周囲をパディング202により拡張させることによって、拡張画像204を生成する。各パディング202も画素であり、拡張画像204は、12×12の画素により構成される。畳み込み層142は、拡張画像204に対して、拡張画像204のサイズよりも小さいサイズのフィルタ210をずらしながら畳み込みを実行する。フィルタ210は、例えば、3×3のサイズを有する。
ここで、パディング202の画素値は次のように決定される。処理部114は、パディング202を含むように拡張画像204とフィルタ210を対応付けた場合に、フィルタ210に対応付けられる画像の一部分、つまり画素のいずれかの画素値をパディング202に使用する。図6のごとく、拡張画像204の左上の部分にフィルタ210を対応付けた場合、5つのパディング202と4つの画素が含まれる。ここで、各パディング202の画素値には、4つの画素の画素値のいずれかが使用される。例えば、パディング202に最も近い画素の画素値が、当該パディング202の画素値とされる。また、処理部114は、パディング202を含むように拡張画像204とフィルタ210を対応付けた場合に、フィルタ210に対応付けられる画像の一部分、つまり画素の画素値の統計値をパディング202に使用する。図6のごとく、拡張画像204の左上の部分にフィルタ210を対応付けた場合、4つの画素の画素値の統計値が各パディング202の画素値とされる。統計値は、平均値、中央値を含む。図5に戻る。
畳み込み処理とプーリング処理とが繰り返されることによって、画像のサイズが順に小さくされ、第6畳み込み層142fは、1以上のチャンネル数を有する画像(以下、「出力画像148」という)を出力する。プーリング層144が最終段に配置され、プーリング層144が出力画像148を出力してもよい。ここでも、一例として、チャンネル数を「8」とする。つまり、入力画像140に対して、ダウンサンプリング処理部152における画像認識処理を実行すると、出力画像148が取得される。出力画像148については後述する。
このような処理部114の構成を元にして、ここでは、図4(a)を使用しながら、処理装置100における学習処理を説明する。第1入力部110は、既知の出力画像148となる教師データを受けつけ、第2入力部112は、第1入力部110において受けつけた教師データに対応した学習用画像を受けつける。処理部114は、図5の構成を有し、第1入力部110において受けつけた教師データと、第2入力部112において受けつけた学習用画像とをもとに、各畳み込み層142の空間フィルタの係数を学習させる。
本実施例において、教師データのサイズは1×1の空間次元を有する。そのため、教師データは、学習用画像に含まれた物体の位置情報を有さず、1つのチャンネルに対する教師データは、前述の出力48における8つのクラスのいずれかの物体の存在を示すだけである。例えば、学習用画像に内部クラック32が含まれている場合、「内部クラック」のクラスの教師データは、内部クラックの存在を示す。他のクラスについても同様であるので、8チャンネルに対する教師データは、各クラスの物体の存在を示しているだけである。つまり、1つのチャンネルに対する教師データは、1つのクラスの物体が存在するか否かだけを示せばよく、物体に対して色塗りによるセグメンテーションがなされた画像でなくてよい。そのため、物体に対して色塗りによるセグメンテーションがなされた画像を生成する場合と比較して、1つの教師データを生成するための作業量が低減する。その結果、作業量の増加を抑制しながら、教師データの数を多くすることが可能である。
一方、学習用画像は、画像認識処理が正確に実行された場合に教師データが出力されるような元の画像であり、そのサイズは教師データが1×1の空間次元となるように定められる。ここで、入力画像140のサイズに対する制限が設けられないので、学習用画像と入力画像140は異なったサイズでもよい。このような教師データと学習用画像を使用する状況下における空間フィルタの係数の学習自体には公知の技術が使用されればよいので、ここでは説明を省略する。
次に、図4(b)を使用しながら、処理装置100における画像認識処理を説明する。図4(a)と図4(b)における処理装置100とが別の装置である場合、図4(a)における処理部114に対する学習によって導出された空間フィルタの係数が、図4(b)における処理部114に設定される。
撮像装置130は、例えば、赤外線カメラであり、検査対象、つまり画像認識処理対象となる図1(a)の太陽電池セル10を赤外線で撮像する。例えば、8ビット、9Mピクセルによる撮像がなされる。撮像装置130は、撮像した画像を処理装置100に出力する。処理装置100の入力部132は、撮像装置130において撮像された画像(以下、「画像120」という)を受けつける。図7(a)-(c)は、処理装置100において処理される画像120を示し、特に、図7(a)は、入力部132に入力される画像120を示す。画像120には、太陽電池セル10の受光面12あるいは裏面14が示されている。一般的に、画像120において太陽電池セル10は傾いて配置される。図7(b)-(c)は後述し、図4(b)に戻る。入力部132は、画像120を補正部134に出力する。
補正部134は、入力部132から画像120を受けつける。補正部134は、画像120における太陽電池セル10の傾きを補正する。補正部134は、図7(a)の画像120における太陽電池セル10に対して、図7(b)のごとく、第1角辺L1、第2角辺L2、第3角辺L3、第4角辺L4を特定する。また、補正部134は、第1角辺L1と第2角辺L2とを延長させることによって交わる第1交点P1を導出する。さらに、補正部134は、第1交点P1と同様に、第2交点P2、第3交点P3、第4交点P4を導出する。これに続いて、補正部134は、透視投影変換を使用して、第1交点P1、第2交点P2、第3交点P3、第4交点P4を設定した座標へ移動するように画像120を変形する。変形した結果が図7(c)のように示される。補正部134は、補正した画像120を処理部114に出力する。
処理部114は、補正した画像120を補正部134から受けつける。処理部114は、図5に示される構成を有しており、受けつけた画像120は入力画像140に相当する。そのため、以下では、補正した画像120を入力画像140と呼ぶ。処理部114は、前述のごとく、入力画像140に対して、全結合層46が除外された畳み込みニューラルネットワークの処理を実行する。ここで、処理部114における畳み込みニューラルネットワークは、ダウンサンプリング処理部152を含み、ダウンサンプリング処理部152は、複数の畳み込み層142と複数のプーリング層144とを含む。そのため、処理部114は、ダウンサンプリング処理を実行するが、アップサンプリング処理を実行しない。
また、処理部114における畳み込みニューラルネットワークでは、1×1の空間次元を有し、かつ8チャンネルを有する処理結果、つまり教師データに対して、畳み込み層42の空間フィルタの学習がなされている。特に、畳み込み層42の空間フィルタの学習は、8チャンネルと1対1で対応する8クラスの物体の有無に対してなされている。8クラスの物体の1つが内部クラック32である。
学習処理後の処理部114による画像認識処理によって、処理結果あるいは検査結果である出力画像148が取得されるが、出力画像148では、8つのクラスの物体の有無が示される。一方、出力画像148のサイズは入力画像140のサイズよりも小さいので、出力画像148では、例えば内部クラック32の正確な位置情報が削除されている。しかしながら、処理装置100における検査では、内部クラック32の有無が検出できればよいので、内部クラック32の正確な位置情報は不要である。そのため、内部クラック32の正確な位置情報が削除されていても、画像認識処理の精度の低下にはならない。学習用画像と入力画像140が異なったサイズである場合、出力画像148は、教師データと異なり、1×1よりも大きい空間次元を有する。処理部114は、出力画像148を出力部136に出力し、出力部136は出力画像148を外部に出力する。
前述のごとく、学習用画像と入力画像140は異なったサイズであってもよいが、特に、入力画像140のサイズは学習用画像のサイズより大きくてもよい。ここで、学習用画像は、畳み込み層のフィルタ210を学習する際に完全畳み込みニューラルネットワークに入力されるとともに、教師データに対応する。このような入力画像140が処理装置100に入力されると、出力部136から出力される出力画像148は、入力画像140のサイズより小さく、かつ1×1よりも大きい空間次元を有する。
図8(a)-(b)は、出力部136から出力される出力画像148を示す。図8(a)では、出力画像148が全体的にほぼ同一の色で示される。これより、太陽電池セル10には内部クラック32が存在しないことが明確である。一方、図8(b)では、クラスに応じた色塗りがなされており、出力画像148の中央部分が他の部分よりも濃い色で示される。これより、太陽電池セル10の中央部分に内部クラック32が存在することが明確である。つまり、出力画像148が1×1よりも大きい空間次元を有するので、内部クラック32の有無だけではなく、太陽電池セル10中の相対的な位置が特徴マップにより特定される。この特徴マップはヒートマップとも呼ばれる。
本開示における装置、システム、または方法の主体は、コンピュータを備えている。このコンピュータがプログラムを実行することによって、本開示における装置、システム、または方法の主体の機能が実現される。コンピュータは、プログラムにしたがって動作するプロセッサを主なハードウェア構成として備える。プロセッサは、プログラムを実行することによって機能を実現することができれば、その種類は問わない。プロセッサは、半導体集積回路(IC)、またはLSI(Large Scale Integration)を含む1つまたは複数の電子回路で構成される。複数の電子回路は、1つのチップに集積されてもよいし、複数のチップに設けられてもよい。複数のチップは1つの装置に集約されていてもよいし、複数の装置に備えられていてもよい。プログラムは、コンピュータが読み取り可能なROM、光ディスク、ハードディスクドライブなどの非一時的記録媒体に記録される。プログラムは、記録媒体に予め格納されていてもよいし、インターネット等を含む広域通信網を介して記録媒体に供給されてもよい。
以上の構成による処理装置100の動作を説明する。図9(a)-(b)は、処理装置100における処理手順を示すフローチャートである。図9(a)は学習処理の手順を示すフローチャートである。第1入力部110は教師用データを入力し、第2入力部112は学習用画像を入力する(S10)。処理部114は、教師用データと学習用画像とを使用して、各畳み込み層42の空間フィルタの係数を学習させる(S12)。教師用データと学習用画像との組合せが残っていれば(S14のY)、ステップ10に戻り、教師用データと学習用画像との組合せが残っていなければ(S14のN)、処理は終了される。
図9(b)は、画像認識処理の手順を示すフローチャートである。入力部132は画像120を入力する(S50)。補正部134は画像120の傾きを補正する(S52)。処理部114は、補正した画像120を入力画像140として画像認識処理を実行する(S54)。出力部136は、画像認識処理の結果である出力画像148を出力する(S56)。
本実施例によれば、1×1の空間次元を有する教師データに対して、畳み込み層142の空間フィルタの学習がなされている畳み込みニューラルネットワークを使用するので、教師データの作成の作業量を低減できる。また教師データの作成の作業量が低減されるので、学習の作業量の増加を抑制できる。また教師データの作成の作業量が低減されるので、教師データの数を多くできる。また、教師データの数が多くなるので、学習の精度を向上できる。
また、1×1の空間次元を有する教師データに対して、畳み込み層142の空間フィルタの学習がなされている畳み込みニューラルネットワークを使用するので、対象となる物体の有無を検出できる。また、対象となる物体の有無が検出されるので、画像認識処理の精度の低下を抑制できる。また、1×1の空間次元を有する教師データに対して、畳み込み層142の空間フィルタの学習がなされている畳み込みニューラルネットワークを使用するので、学習の作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制できる。
また、畳み込みニューラルネットワークは、畳み込み層142とプーリング層144によるダウンサンプリング処理を実行し、アップサンプリング処理を実行しないので、1×1の空間次元を有する教師データを学習の際に使用できる。また、少なくとも内部クラック32の有無に対して、畳み込み層142の空間フィルタの学習がなされている状況下において、太陽電池セル10を撮像した画像を入力するので、内部クラック32の有無を検査できる。
また、学習用画像のサイズよりも大きいサイズの入力画像140を入力するので、1×1以上の空間次元を有する出力画像148を取得できる。また、1×1以上の空間次元を有する出力画像148が取得されるので、相対的な位置情報を取得できる。また、画像に含まれる画素の画素値をパディング202の画素値として使用するので、パディング202による検出精度の悪化を抑制できる。また、画像に含まれる画素の画素値の統計値をパディング202の画素値として使用するので、パディング202による検出精度の悪化を抑制できる。
本開示の一態様の概要は、次の通りである。本開示のある態様の処理装置(100)は、処理対象の画像を入力する入力部(132)と、入力部(132)に入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行する処理部(114)と、処理部(114)の処理結果を出力する出力部(136)とを備える。処理部(114)における畳み込みニューラルネットワークは、畳み込み層(142)とプーリング層(144)とを含む。処理部(114)における畳み込みニューラルネットワークでは、1×1の空間次元を有する処理結果に対して、畳み込み層(142)のフィルタ(210)の学習がなされている。入力部(132)に入力される画像のサイズは、畳み込み層(142)のフィルタ(210)を学習する際に畳み込みニューラルネットワークに入力される学習用画像であって、かつ畳み込み層(142)のフィルタ(210)を学習する際の処理結果に対応した学習用画像のサイズよりも大きい。
処理部(114)における畳み込みニューラルネットワークは、畳み込み層(142)とプーリング層(144)によるダウンサンプリング処理を実行し、アップサンプリング処理を非実行であってもよい。
出力部(136)から出力される処理結果は、入力部(132)に入力される画像のサイズよりも小さく、かつ1×1よりも大きい空間次元を有し、特徴マップを示す。
処理部(114)における畳み込みニューラルネットワークに含まれる畳み込み層(142)は、画像の周囲をパディング(202)により拡張させるとともに、拡張した画像に対して、当該拡張した画像のサイズよりも小さいサイズのフィルタ(210)をずらしながら畳み込みを実行し、処理部(114)は、パディング(202)を含むようにフィルタ(210)を対応付けた場合に、フィルタ(210)に対応付けられる画像の一部分のいずれかの値をパディング(202)に使用してもよい。
処理部(114)における畳み込みニューラルネットワークに含まれる畳み込み層(142)は、画像の周囲をパディング(202)により拡張させるとともに、拡張した画像に対して、当該拡張した画像のサイズよりも小さいサイズのフィルタ(210)をずらしながら畳み込みを実行し、処理部(114)は、パディング(202)を含むようにフィルタ(210)を対応付けた場合に、フィルタ(210)に対応付けられる画像の一部分の値の統計値をパディング(202)に使用してもよい。
入力部(132)に入力される画像は、検査対象となる物体を撮像した画像であり、処理部(114)における畳み込みニューラルネットワークでは、少なくとも不良の有無に対して、畳み込み層(142)のフィルタ(210)の学習がなされており、出力部(136)は、処理部(114)の処理結果を検査結果として出力してもよい。
入力部(132)に入力される画像は、検査対象となる物体を撮像した画像であり、処理部(114)における畳み込みニューラルネットワークでは、物体に含まれうる1つ以上の要素のそれぞれに対して、畳み込み層(142)のフィルタ(210)の学習がなされており、出力部(136)は、処理部(114)の処理結果を検査結果として出力してもよい。
本開示の別の態様は、処理方法である。この方法は、処理対象の画像を入力するステップと、入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行するステップと、処理結果を出力するステップとを備える。畳み込みニューラルネットワークは、畳み込み層(142)とプーリング層(144)とを含む。畳み込みニューラルネットワークでは、1×1の空間次元を有する処理結果に対して、畳み込み層(142)のフィルタの学習がなされている。入力される画像のサイズは、畳み込み層(142)のフィルタ(210)を学習する際に畳み込みニューラルネットワークに入力される学習用画像であって、かつ畳み込み層(142)のフィルタ(210)を学習する際の処理結果に対応した学習用画像のサイズよりも大きい。
以上、本開示を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
本実施例における処理部114の構成は、複数の畳み込み層42と複数のプーリング層44とが交互に並んでいる。しかしながらこれに限らず例えば、処理部114は、GoogLeNet系、DenseNet系等の構成を有していてもよい。本変形例によれば、構成の自由度を向上できる。
本実施例における処理装置100は、太陽電池セル10を撮像した入力画像140から内部クラック32の有無を検出するための処理を実行する。しかしながらこれに限らず例えば、太陽電池セル10以外の物体を撮像した入力画像140が処理対象とされてもよい。また、内部クラック32の有無以外の不良の有無を検出するための処理がなされてもよい。さらに、物体における不良の有無ではなく、物体に含まれうる1つ以上の要素を検出するための処理がなされてもよい。本変形例によれば、処理装置100の適用範囲を拡大できる。
10 太陽電池セル、 32 内部クラック、 100 処理装置、 110 第1入力部、 112 第2入力部、 114 処理部、 120 画像、 130 撮像装置、 132 入力部、 134 補正部、 136 出力部、 140 入力画像、 142 畳み込み層、 144 プーリング層、 148 出力画像、 152 ダウンサンプリング処理部。
本開示によれば、学習の作業量の増加を抑制しながら、画像認識処理の精度の低下を抑制できる。
Claims (8)
- 処理対象の画像を入力する入力部と、
前記入力部に入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行する処理部と、
前記処理部の処理結果を出力する出力部とを備え、
前記処理部における前記畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含み、
前記処理部における前記畳み込みニューラルネットワークでは、1×1の空間次元を有する処理結果に対して、前記畳み込み層のフィルタの学習がなされており、
前記入力部に入力される画像のサイズは、前記畳み込み層のフィルタを学習する際に前記畳み込みニューラルネットワークに入力される学習用画像であって、かつ前記畳み込み層のフィルタを学習する際の処理結果に対応した学習用画像のサイズよりも大きいことを特徴とする処理装置。 - 前記処理部における前記畳み込みニューラルネットワークは、前記畳み込み層と前記プーリング層によるダウンサンプリング処理を実行し、アップサンプリング処理を非実行であることを特徴とする請求項1に記載の処理装置。
- 前記出力部から出力される処理結果は、前記入力部に入力される画像のサイズよりも小さく、かつ1×1よりも大きい空間次元を有し、特徴マップを示すことを特徴とする請求項2に記載の処理装置。
- 前記処理部における前記畳み込みニューラルネットワークに含まれる前記畳み込み層は、画像の周囲をパディングにより拡張させるとともに、拡張した画像に対して、当該拡張した画像のサイズよりも小さいサイズのフィルタをずらしながら畳み込みを実行し、
前記処理部は、パディングを含むようにフィルタを対応付けた場合に、フィルタに対応付けられる画像の一部分のいずれかの値をパディングに使用することを特徴とする請求項1から3のいずれかに記載の処理装置。 - 前記処理部における前記畳み込みニューラルネットワークに含まれる前記畳み込み層は、画像の周囲をパディングにより拡張させるとともに、拡張した画像に対して、当該拡張した画像のサイズよりも小さいサイズのフィルタをずらしながら畳み込みを実行し、
前記処理部は、パディングを含むようにフィルタを対応付けた場合に、フィルタに対応付けられる画像の一部分の値の統計値をパディングに使用することを特徴とする請求項1から3のいずれかに記載の処理装置。 - 前記入力部に入力される画像は、検査対象となる物体を撮像した画像であり、
前記処理部における前記畳み込みニューラルネットワークでは、少なくとも不良の有無に対して、前記畳み込み層のフィルタの学習がなされており、
前記出力部は、前記処理部の処理結果を検査結果として出力することを特徴とする請求項1から5のいずれかに記載の処理装置。 - 前記入力部に入力される画像は、検査対象となる物体を撮像した画像であり、
前記処理部における前記畳み込みニューラルネットワークでは、物体に含まれうる1つ以上の要素のそれぞれに対して、前記畳み込み層のフィルタの学習がなされており、
前記出力部は、前記処理部の処理結果を検査結果として出力することを特徴とする請求項1から5のいずれかに記載の処理装置。 - 処理対象の画像を入力するステップと、
入力した画像に対して、全結合層が除外された畳み込みニューラルネットワークの処理を実行するステップと、
処理結果を出力するステップとを備え、
前記畳み込みニューラルネットワークは、畳み込み層とプーリング層とを含み、
前記畳み込みニューラルネットワークでは、1×1の空間次元を有する処理結果に対して、前記畳み込み層のフィルタの学習がなされており、
入力される画像のサイズは、前記畳み込み層のフィルタを学習する際に前記畳み込みニューラルネットワークに入力される学習用画像であって、かつ前記畳み込み層のフィルタを学習する際の処理結果に対応した学習用画像のサイズよりも大きいことを特徴とする処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020500261A JP6952268B2 (ja) | 2018-02-16 | 2018-09-28 | 処理方法およびそれを利用した処理装置 |
US16/969,838 US11315235B2 (en) | 2018-02-16 | 2018-09-28 | Processing method for performing process on image and processing device using the processing method |
CN201880089349.3A CN111712853B (zh) | 2018-02-16 | 2018-09-28 | 一种处理方法及利用了它的处理装置 |
EP18905937.1A EP3754593A4 (en) | 2018-02-16 | 2018-09-28 | TREATMENT PROCESS AND TREATMENT DEVICE USING IT |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/005494 WO2019159324A1 (ja) | 2018-02-16 | 2018-02-16 | 処理方法およびそれを利用した処理装置 |
JPPCT/JP2018/005494 | 2018-02-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019159419A1 true WO2019159419A1 (ja) | 2019-08-22 |
Family
ID=67620971
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/005494 WO2019159324A1 (ja) | 2018-02-16 | 2018-02-16 | 処理方法およびそれを利用した処理装置 |
PCT/JP2018/036248 WO2019159419A1 (ja) | 2018-02-16 | 2018-09-28 | 処理方法およびそれを利用した処理装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/005494 WO2019159324A1 (ja) | 2018-02-16 | 2018-02-16 | 処理方法およびそれを利用した処理装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11315235B2 (ja) |
EP (1) | EP3754593A4 (ja) |
JP (1) | JP6952268B2 (ja) |
CN (1) | CN111712853B (ja) |
WO (2) | WO2019159324A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6789460B1 (ja) * | 2020-05-14 | 2020-11-25 | ポリプラスチックス株式会社 | 破面解析装置、学習済みモデル生成装置、破面解析方法、破面解析プログラム、および、学習済みモデル |
WO2021060068A1 (ja) * | 2019-09-27 | 2021-04-01 | ブラザー工業株式会社 | 機械学習モデル、生成装置、コンピュータプログラム |
JP2021061546A (ja) * | 2019-10-08 | 2021-04-15 | キヤノン株式会社 | 撮像装置、撮像装置の制御方法、及びプログラム |
JP2021070136A (ja) * | 2019-11-01 | 2021-05-06 | 株式会社東芝 | 制御装置、制御方法およびプログラム |
CN112926688A (zh) * | 2021-03-30 | 2021-06-08 | 太原理工大学 | 一种基于DenseNet进行激光芯片缺陷分类的方法 |
WO2022074878A1 (ja) | 2020-10-08 | 2022-04-14 | パナソニックIpマネジメント株式会社 | 処理方法およびそれを利用した処理装置 |
WO2022074877A1 (ja) | 2020-10-08 | 2022-04-14 | パナソニックIpマネジメント株式会社 | 処理方法およびそれを利用した処理装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11265540B2 (en) * | 2018-02-23 | 2022-03-01 | Sk Telecom Co., Ltd. | Apparatus and method for applying artificial neural network to image encoding or decoding |
US11538158B2 (en) * | 2018-10-26 | 2022-12-27 | National Cheng Kung University | Convolutional neural network and associated method for identifying basal cell carcinoma |
JP2021012570A (ja) * | 2019-07-08 | 2021-02-04 | 株式会社日立製作所 | 破面解析装置及び破面解析方法 |
CN111368684A (zh) * | 2020-02-27 | 2020-07-03 | 北华航天工业学院 | 一种基于可变形全卷积神经网络的冬小麦自动解译方法 |
CN111429415B (zh) * | 2020-03-18 | 2020-12-08 | 东华大学 | 基于网络协同剪枝的产品表面缺陷高效检测模型构建方法 |
JP7481956B2 (ja) * | 2020-08-26 | 2024-05-13 | 株式会社東芝 | 推論装置、方法、プログラムおよび学習装置 |
CN113936028B (zh) * | 2021-10-19 | 2024-09-06 | 深圳市金视电子科技有限公司 | 一种结合自动产生三元图与深层空洞卷积网络之数字抠像系统 |
US20240161270A1 (en) * | 2022-11-14 | 2024-05-16 | Kla Corporation | System and method for enhancing defect detection in optical characterization systems using a digital filter |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10726560B2 (en) * | 2014-10-31 | 2020-07-28 | Fyusion, Inc. | Real-time mobile device capture and generation of art-styled AR/VR content |
US10650508B2 (en) * | 2014-12-03 | 2020-05-12 | Kla-Tencor Corporation | Automatic defect classification without sampling and feature selection |
JP2016146174A (ja) * | 2015-02-06 | 2016-08-12 | パナソニックIpマネジメント株式会社 | 決定方法およびプログラム |
CN106548127B (zh) * | 2015-09-18 | 2022-11-04 | 松下电器(美国)知识产权公司 | 图像识别方法 |
JP2017059207A (ja) * | 2015-09-18 | 2017-03-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 画像認識方法 |
US11074492B2 (en) * | 2015-10-07 | 2021-07-27 | Altera Corporation | Method and apparatus for performing different types of convolution operations with the same processing elements |
US10380479B2 (en) * | 2015-10-08 | 2019-08-13 | International Business Machines Corporation | Acceleration of convolutional neural network training using stochastic perforation |
EP3380859A4 (en) * | 2015-11-29 | 2019-07-31 | Arterys Inc. | AUTOMATED SEGMENTATION OF CARDIAC VOLUME |
US10115040B2 (en) * | 2016-09-14 | 2018-10-30 | Kla-Tencor Corporation | Convolutional neural network-based mode selection and defect classification for image fusion |
US10402688B2 (en) * | 2016-12-07 | 2019-09-03 | Kla-Tencor Corporation | Data augmentation for convolutional neural network-based defect inspection |
CN106709568B (zh) * | 2016-12-16 | 2019-03-22 | 北京工业大学 | 基于深层卷积网络的rgb-d图像的物体检测和语义分割方法 |
CN106910161B (zh) * | 2017-01-24 | 2020-06-19 | 华南理工大学 | 一种基于深度卷积神经网络的单幅图像超分辨率重建方法 |
US20180218254A1 (en) * | 2017-02-02 | 2018-08-02 | International Business Machines Corporation | Solar power forecasting with volumetric convolutional neural network |
CN107220980B (zh) * | 2017-05-25 | 2019-12-03 | 重庆师范大学 | 一种基于全卷积网络的mri图像脑肿瘤自动分割方法 |
CN107657257A (zh) * | 2017-08-14 | 2018-02-02 | 中国矿业大学 | 一种基于多通道卷积神经网络的语义图像分割方法 |
CN107578054A (zh) * | 2017-09-27 | 2018-01-12 | 北京小米移动软件有限公司 | 图像处理方法及装置 |
-
2018
- 2018-02-16 WO PCT/JP2018/005494 patent/WO2019159324A1/ja active Application Filing
- 2018-09-28 WO PCT/JP2018/036248 patent/WO2019159419A1/ja unknown
- 2018-09-28 CN CN201880089349.3A patent/CN111712853B/zh active Active
- 2018-09-28 EP EP18905937.1A patent/EP3754593A4/en active Pending
- 2018-09-28 US US16/969,838 patent/US11315235B2/en active Active
- 2018-09-28 JP JP2020500261A patent/JP6952268B2/ja active Active
Non-Patent Citations (5)
Title |
---|
JONATHAN LONGEVAN SHELHAMERTREVOR DARRELL: "Fully Convolutional Networks for Semantic Segmentation", THE IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR, 2015, pages 3431 - 3440 |
KIMURA, TAKATO ET AL.: "Automatic Crack Detection in Infrastructure Inspection Using Fully Convolutional Network", RESEARCH REPORT OF INFORMATION PROCESSING SOCIETY OF JAPAN : MATHEMATICAL MODELING AND PROBLEM SOLVING(MPS, vol. 2017 -MP, no. 2, 18 September 2017 (2017-09-18), pages 1 - 6, XP055723550, Retrieved from the Internet <URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=183573&file_id=l&file_no=1> * |
KRIZHEVSKY, ALEX ET AL.: "Learning multiple layers of features from tiny images", MASTER'S THESIS, DEPARTMENT OF COMPUTER SCIENCE, 8 April 2009 (2009-04-08), pages FP - 58, XP055632229, Retrieved from the Internet <URL:https://www.semanticscholar.org/paper/Learning-Multiple-Layers-of-Features-from-Tiny-Krizhevsky/5d90f06bb70a0a3dced62413346235c02b1aa086> * |
LIN, MIN ET AL.: "Network In Network", ARXIV.ORG, 4 March 2014 (2014-03-04), pages 1 - 10, XP055632227 * |
OKATANI, TAKAYUKI: "Research Frontiers in Neural Network, Research Trend of Deep Learning for Visual Recognition-Advances of Convolutional Neural Networks and Their Use", JOURNAL OF THE JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE, vol. 31, no. 2, 1 March 2016 (2016-03-01), pages 169 - 179, XP009522339 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021060068A1 (ja) * | 2019-09-27 | 2021-04-01 | ブラザー工業株式会社 | 機械学習モデル、生成装置、コンピュータプログラム |
JPWO2021060068A1 (ja) * | 2019-09-27 | 2021-12-23 | ブラザー工業株式会社 | 機械学習モデル、生成装置、コンピュータプログラム |
JP7160211B2 (ja) | 2019-09-27 | 2022-10-25 | ブラザー工業株式会社 | 機械学習モデル、生成装置、コンピュータプログラム |
JP2021061546A (ja) * | 2019-10-08 | 2021-04-15 | キヤノン株式会社 | 撮像装置、撮像装置の制御方法、及びプログラム |
JP7401246B2 (ja) | 2019-10-08 | 2023-12-19 | キヤノン株式会社 | 撮像装置、撮像装置の制御方法、及びプログラム |
JP2021070136A (ja) * | 2019-11-01 | 2021-05-06 | 株式会社東芝 | 制御装置、制御方法およびプログラム |
JP7273692B2 (ja) | 2019-11-01 | 2023-05-15 | 株式会社東芝 | 制御装置、制御方法およびプログラム |
JP6789460B1 (ja) * | 2020-05-14 | 2020-11-25 | ポリプラスチックス株式会社 | 破面解析装置、学習済みモデル生成装置、破面解析方法、破面解析プログラム、および、学習済みモデル |
WO2021229745A1 (ja) * | 2020-05-14 | 2021-11-18 | ポリプラスチックス株式会社 | 破面解析装置、学習済みモデル生成装置、破面解析方法、破面解析プログラム、および、学習済みモデル |
WO2022074878A1 (ja) | 2020-10-08 | 2022-04-14 | パナソニックIpマネジメント株式会社 | 処理方法およびそれを利用した処理装置 |
WO2022074877A1 (ja) | 2020-10-08 | 2022-04-14 | パナソニックIpマネジメント株式会社 | 処理方法およびそれを利用した処理装置 |
CN112926688A (zh) * | 2021-03-30 | 2021-06-08 | 太原理工大学 | 一种基于DenseNet进行激光芯片缺陷分类的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111712853A (zh) | 2020-09-25 |
JPWO2019159419A1 (ja) | 2020-12-03 |
EP3754593A4 (en) | 2021-04-28 |
JP6952268B2 (ja) | 2021-10-20 |
WO2019159324A1 (ja) | 2019-08-22 |
US20200380665A1 (en) | 2020-12-03 |
CN111712853B (zh) | 2023-11-07 |
EP3754593A1 (en) | 2020-12-23 |
US11315235B2 (en) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019159419A1 (ja) | 処理方法およびそれを利用した処理装置 | |
TWI706485B (zh) | 光學晶粒對資料庫檢查 | |
US7590277B2 (en) | Pattern inspecting method | |
JP7087397B2 (ja) | 基板の欠陥検査装置、基板の欠陥検査方法及び記憶媒体 | |
CN101996398B (zh) | 用于晶圆对准的图像匹配方法及设备 | |
US8045789B2 (en) | Method and apparatus for inspecting defect of pattern formed on semiconductor device | |
US10964014B2 (en) | Defect detecting method and defect detecting system | |
CN111382785B (zh) | 一种gan网络模型及实现样本自动清洗、辅助标记的方法 | |
US20180341829A1 (en) | Image classification system and method, classification data creation system and method, and storage medium | |
CN108369915B (zh) | 减少配准及设计附近所引发的裸片内检验的噪声 | |
CN112368569A (zh) | 半导体检查中的多模式缺陷分类 | |
US20030197857A1 (en) | Defect inspection apparatus | |
CN117274258B (zh) | 主板图像的缺陷检测方法、系统、设备及存储介质 | |
JP2008051617A (ja) | 画像検査装置、その方法、及びその記録媒体 | |
WO2022230338A1 (ja) | 欠陥を検出するシステム、及びコンピュータ可読媒体 | |
CN112200790A (zh) | 布料缺陷检测方法、设备和介质 | |
CN114565684A (zh) | 一种基于一致性采样算法的标靶单应性矩阵计算方法 | |
JPH04169803A (ja) | 検査方法及びその装置 | |
JP4629086B2 (ja) | 画像欠陥検査方法および画像欠陥検査装置 | |
CN116228637A (zh) | 基于多任务多尺寸网络的电子元器件缺陷识别方法及装置 | |
TWI770883B (zh) | 影像處理系統及其方法 | |
Lavrik et al. | Advanced methods for the optical quality assurance of silicon sensors | |
TWI573098B (zh) | Wafer defect detection method | |
WO2023238384A1 (ja) | 試料観察装置および方法 | |
JP4977123B2 (ja) | 試料検査装置、試料検査方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18905937 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020500261 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018905937 Country of ref document: EP Effective date: 20200916 |