WO2014104151A1 - 画像処理装置及び特徴検出方法 - Google Patents
画像処理装置及び特徴検出方法 Download PDFInfo
- Publication number
- WO2014104151A1 WO2014104151A1 PCT/JP2013/084785 JP2013084785W WO2014104151A1 WO 2014104151 A1 WO2014104151 A1 WO 2014104151A1 JP 2013084785 W JP2013084785 W JP 2013084785W WO 2014104151 A1 WO2014104151 A1 WO 2014104151A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- image processing
- filter
- tree structure
- filters
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 295
- 238000001514 detection method Methods 0.000 title claims description 8
- 238000003860 storage Methods 0.000 claims abstract description 59
- 238000000034 method Methods 0.000 claims description 74
- 230000008569 process Effects 0.000 claims description 64
- 230000002068 genetic effect Effects 0.000 claims description 16
- 230000035772 mutation Effects 0.000 claims description 14
- 238000003384 imaging method Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 46
- 238000012795 verification Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 238000012950 reanalysis Methods 0.000 description 11
- 238000007689 inspection Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 7
- 230000007613 environmental effect Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 241001377084 Actites Species 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 230000004083 survival effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000009466 transformation Effects 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2111—Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/457—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/771—Feature selection, e.g. selecting representative features from a multi-dimensional feature space
-
- 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/20072—Graph-based 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Definitions
- the present invention relates to efficiently searching for a filter structure related to image processing according to a target image.
- an appearance inspection an appearance of a product is photographed using an image sensor such as a camera to determine the presence or absence of a defect.
- an image sensor such as a camera
- noise, shadows, brightness fluctuations, etc. depending on the shooting environment in the field often occur in the shot image, and the image processing algorithm for extracting defective portions is robust against environmental changes. Processing is desired.
- the appearance inspection apparatus when the inspection object is changed or the apparatus is improved, an environmental change caused by the change may occur, and the image processing algorithm may need to be reconstructed. Therefore, the ease of constructing an image processing method is also required.
- a tree-structured image conversion automatic generation method in which genetic programming is applied to image processing has been proposed as an automatic generation method for image processing algorithms.
- This method considers the image processing method to be configured as a tree structure, prepares an input image and an image of the target processing result (target image), and uses genetic programming to provide a highly adaptable image for the target processing This is a technique for optimizing the tree structure of the processing filter group.
- an object of the present invention is to search for a filter structure by preliminarily specifying a flow of image processing according to a target image, limiting the types of image filters for each hierarchy of the tree structure.
- an image processing apparatus is an image processing apparatus that obtains a target image showing characteristics for a plurality of input images in different environments by arranging a plurality of image filters in a tree structure.
- a storage unit storing a filter table for managing information related to a plurality of image filters, and for each layer hierarchized by a plurality of image processing, by selecting a different type of image filter for each layer from the filter table
- An individual generation unit that generates an individual group in which the plurality of image filters are arranged in the tree structure.
- an image processing apparatus that applies a processing program in which a plurality of filters are configured in a tree structure to an image captured by the imaging apparatus is used for the feature amount of the image during initial learning.
- a selection unit that selects learning data based on the data; and an automatic configuration unit that generates the processing program by learning using genetic programming.
- a feature detection program executed by a computer a recording medium on which the feature detection program is recorded, and a feature detection method may be used.
- FIG. 1 is a diagram for explaining robust image processing against environmental changes.
- FIG. 2 is a diagram illustrating an example of a tree-structured image processing algorithm.
- FIG. 3A and FIG. 3B are diagrams for explaining the outline of the feature detection processing in the first embodiment.
- FIG. 4 is a diagram illustrating a functional configuration example of the image processing apparatus according to the first embodiment.
- FIG. 5 is a diagram illustrating a hardware configuration of the image processing apparatus according to the first embodiment.
- FIG. 6A and FIG. 6B are diagrams for explaining an initial individual generation process in the first embodiment. It is a figure for demonstrating the production
- FIG. 7 is a flowchart for explaining an example of the initial individual generation process in the first embodiment.
- FIG. 7 is a flowchart for explaining an example of the initial individual generation process in the first embodiment.
- FIG. 8 is a diagram illustrating a data configuration example of the filter table in the first embodiment.
- FIG. 9 is a diagram illustrating a filter structure example represented by the population information in the first embodiment.
- FIG. 10 is a diagram for explaining the evolution process in the first embodiment.
- FIG. 11 is a diagram for explaining comparison of transition of fitness during learning in the first embodiment.
- FIG. 12 is a diagram for explaining the comparison of the number of combinations with respect to the depth of the tree structure in the first embodiment.
- FIG. 13 is a diagram illustrating an example of fitness between two individuals in the second embodiment.
- FIG. 14 is a diagram illustrating an example when the target image cannot be obtained.
- FIG. 15 is a diagram illustrating a functional configuration example of the image processing apparatus according to the second embodiment.
- FIG. 15 is a diagram illustrating a functional configuration example of the image processing apparatus according to the second embodiment.
- FIG. 16 is a diagram illustrating a hardware configuration of the image processing apparatus according to the first embodiment.
- FIG. 17 is a flowchart for explaining image processing algorithm generation processing in the second embodiment.
- FIG. 18 is a diagram illustrating an amplitude image.
- FIG. 19A, FIG. 19B, and FIG. 19C are diagrams illustrating examples of feature amounts.
- FIGS. 20A and 20B are diagrams illustrating examples of initial feature information and clustering in the second embodiment.
- FIG. 21 is a diagram illustrating an example of an image processing algorithm updated by the first learning in the second embodiment.
- 22A and 22B are diagrams illustrating examples of feature information and clustering during the first learning in the second embodiment.
- FIG. 23 is a diagram illustrating an example of the image processing algorithm updated by the second learning in the second embodiment.
- FIGS. 24A and 24B are diagrams showing examples of feature information and clustering of the target image processing algorithm in the second embodiment.
- FIG. 25 is a diagram showing the transition of the recognition rate of the image
- FIG. 1 is a diagram for explaining robust image processing against environmental changes.
- a target image 4 is obtained by performing robust image processing 1 on an input image 2 having different environmental changes depending on brightness, position, and the like. That is, the robust image processing 1 performs optimum processing for obtaining the target image 4 for a plurality of input images 2 having different environmental changes.
- the target image 4 is an image for extracting a defective part of a product in, for example, FA (factory automation). It can be said that the defective portion is a feature portion to be extracted.
- FIG. 2 is a diagram illustrating an example of a tree-structured image processing algorithm. As shown in FIG. 2, image processing F 1, F 2, F 3, F 4, and F 5 configured for each input image 2 forms a tree structure processing 1 a to obtain a target image 4. In the tree structure processing 1a, optimization by genetic programming is performed.
- the image processing F2, F3, and F5 is applied to the upper input image 2 in FIG.
- Image processing F1, F2, F3, and F5 is applied to the middle input image 2 to obtain the target image 4.
- Image processing F4 and F5 are applied to the lower input image 2 to obtain the target image 4.
- the tree-structured image processing algorithm shows a tree structure having the target image 4 as a root.
- FIG. 3 (A) and 3 (B) are diagrams for explaining the outline of the feature detection process in the first embodiment.
- a tree-structured image processing filter group is an individual 9, crossover processing and mutation processing are performed from a plurality of initial individuals, and a new individual group 1b ′ is created.
- the optimal individual group 1b ′ is searched by updating the individual group 1b while generating and replacing the highly adaptive individual group 1b ′ (image processing filter group). For example, by selecting an individual 9 representing two image processing filter groups in a tree structure from the individual group 1b as a crossover target, and replacing each of the two individual images 9 with one image processing filter as a new mutation.
- the optimum individual group 1b ′ is searched from the obtained individual group.
- the fitness is obtained by processing the captured image (input image 2) using each individual 9 of the individual group 1b, and the output image 3 that is the processing result and the target image that is teacher data. 4 is calculated.
- an optimal image processing algorithm can be automatically constructed by preparing a set of a captured image that is the input image 2 and a target image 4 that is a target of the processing result.
- a robust image processing algorithm can be automatically configured.
- FIG. 4 is a diagram illustrating a functional configuration example of the image processing apparatus according to the first embodiment.
- the image processing apparatus 100 includes an initial individual generation unit 41, an evolution process processing unit 42, an individual adaptation calculation unit 43, a survival selection unit 44, and an individual replacement unit 45. These processing units 41 to 45 are realized by processing by the CPU 11 described later executing a corresponding program.
- the storage unit 130 stores a filter table 31, individual information 1b-2, replacement individual information 1d, an input image 2, an output image 3, a target image 4, and the like.
- the initial individual generation unit 41 uses different types of image filters for each hierarchy layered by a plurality of image processes. Is a processing unit that generates a tree-structured filter structure.
- the initial individual generation unit 41 considers the target image 4 as a root according to the initial individual generation rule 5r (FIG. 6B) using genetic programming, and configures each node according to the hierarchy from the filter table 31.
- the image group classified by type is appropriately selected to generate the population 1b.
- the individual group 1b forms a tree structure and is stored as individual information 1b-2 in the storage unit 130.
- the evolution process processor 42 is a processor that performs an evolution process on the individual group 1b.
- the evolution process processing unit 42 has a crossing processing unit 42-1 and a mutation processing unit 42-2.
- the crossing processing unit 42-1 takes out two individuals from the individual group 1b, performs crossover processing, and performs mutation. Mutation processing is performed by replacing the newly added two individuals with the processing unit 42-2.
- the evolution process processor 42 updates the population information 1b-2 as the population 1b evolves.
- the individual adaptation calculation unit 43 is a processing unit that calculates the fitness of each individual.
- the fitness is obtained by the difference between the output image 3 obtained for each input image 2 and the target image 4 prepared in advance in the tree-structure filter structure.
- the survival selection unit 44 is a processing unit that selects the best individual based on a predetermined rule.
- a predetermined rule for example, a roulette rule that leaves an individual with the highest degree of fitness is used.
- the individual replacement unit 45 is a processing unit that selects, from the filter table, two new individuals to be replaced with two individuals to be mutated for the individual group 1b.
- the replacement individual information 1 d indicating the two external entities to be replaced is stored in the storage unit 130.
- the best individual is removed from the individual group 1b, the two individuals to be crossed and the two individuals to be mutated are selected, and the crossover process and the mutation are selected.
- Each process is executed. This iterative process may be terminated when, for example, the individual fitness calculation unit 43 calculates the fitness of the individual group 1b as a whole, and when the fitness reaches a predetermined value or more.
- the final population 1b (filter structure) obtained in this way is used to detect features such as scratches in quality inspections of LSIs and the like.
- FIG. 5 is a diagram illustrating a hardware configuration of the image processing apparatus according to the first embodiment.
- an image processing apparatus 100 is a terminal controlled by a computer, and includes a CPU (Central Processing Unit) 11, a main storage device 12, an auxiliary storage device 13, an input device 14, and a display device 15.
- the output device 16, the communication I / F (interface) 17, and the drive 18 are connected to the bus B.
- the CPU 11 controls the image processing apparatus 100 according to a program stored in the main storage device 12.
- the main storage device 12 uses a RAM (Random Access Memory) or the like, and stores a program executed by the CPU 11, data necessary for processing by the CPU 11, data obtained by processing by the CPU 11, and the like.
- a part of the main storage device 12 is allocated as a work area used for processing by the CPU 11.
- the auxiliary storage device 13 uses a hard disk drive and stores data such as programs for executing various processes. A part of the program stored in the auxiliary storage device 13 is loaded into the main storage device 12 and executed by the CPU 11, whereby various processes are realized.
- the storage unit 130 includes the main storage device 12 and / or the auxiliary storage device 13.
- the input device 14 includes a mouse, a keyboard, and the like, and is used for a user to input various information necessary for processing by the image processing device 100.
- the display device 15 displays various information required under the control of the CPU 11.
- the output device 16 has a printer or the like and is used for outputting various types of information in accordance with instructions from the user.
- the communication I / F 17 is a device that is connected to, for example, the Internet, a LAN (Local Area Network), and the like and controls communication with an external apparatus. Communication by the communication I / F 17 is not limited to wireless or wired.
- the program for realizing the processing according to the first embodiment performed by the image processing apparatus 100 is provided to the image processing apparatus 100 by a storage medium 19 such as a CD-ROM (Compact Disc Read-Only Memory). That is, when the storage medium 19 storing the program is set in the drive 18, the drive 18 reads the program from the storage medium 19, and the read program is installed in the auxiliary storage device 13 via the bus B. . When the program is activated, the CPU 11 starts its processing according to the program installed in the auxiliary storage device 13.
- the medium for storing the program is not limited to a CD-ROM, and any medium that can be read by a computer may be used.
- a computer-readable storage medium in addition to a CD-ROM, a portable recording medium such as a DVD disk or a USB memory, or a semiconductor memory such as a flash memory may be used.
- FIG. 6A and FIG. 6B are diagrams for explaining an initial individual generation process in the first embodiment.
- the output image dst is considered as a root, and when configuring each node, image filters classified according to the hierarchy are appropriately selected.
- the original image src (corresponding to the input image) is selected as the end node.
- binary image processing is selected as processing immediately before the output image dst.
- the filter for image enhancement processing is simply represented by F
- the filter for threshold processing is T
- the filter for binary image processing is represented by B.
- the depth of the entire node in the entire process and the attribute of the process is defined in advance for each of the image enhancement processing, threshold processing, and binary image processing.
- the depth of the entire node is defined as 20 or less (the maximum depth of the entire node is up to 20), and the breakdown of the depth 20 of each layer (each process) is for image enhancement processing in the processing order of the input image 2
- These filters are assigned with a depth of 5, a threshold processing filter with a depth of 1, and a binary image processing filter with a depth of 14.
- the initial individual generation process in which the initial individual generation unit 41 generates a tree structure filter structure based on the depth definition of each layer will be described with reference to FIG.
- FIG. 7 is a flowchart for explaining an example of the initial individual generation process in the first embodiment.
- the initial individual generation unit 41 initially sets the route identification information (target image 4) to the parent node and the depth counter to 1 (step S10).
- the initial individual generation unit 41 determines whether or not the parent node (target image 4) is a root (step S11). When the parent node is the root (YES in step S11), the initial individual generation unit 41 refers to the filter table 31 and randomly selects a filter whose attribute is binary image processing (step S12). The initial individual generation unit 41 sets the identification information of the selected filter in the selected node. Further, the initial individual generation unit 41 concatenates the output of the selected node and the input of the parent node and records them in the individual group information 1b-2. At this time, the depth counter value is also stored in association with the selected node. Then, the process proceeds to step S20.
- the initial individual generation unit 41 determines whether or not the attribute of the parent node is binary image processing (step S13). In the case of binary image processing (YES in step S13), the initial individual generation unit 41 determines whether the depth of the node indicated by the depth counter is 14 or less (step S14). When the depth of the node is 14 or less (YES in step S14), the initial individual generation unit 41 refers to the filter table 31 and randomly selects from the filters whose attributes are binary image processing or threshold processing. The selected node is set (step S15). Further, the initial individual generation unit 41 concatenates the output of the selected node and the input of the parent node and records them in the individual group information 1b-2. At this time, the depth counter value is also stored in association with the selected node. Then, the process proceeds to step S20.
- the initial individual generation unit 41 refers to the filter table 31 and randomly selects from the filters whose attributes are threshold processing, (Step S16).
- the initial individual generation unit 41 sets the identification information of the selected filter in the selected node. Further, the initial individual generation unit 41 concatenates the output of the selected node and the input of the parent node and records them in the individual group information 1b-2. At this time, the depth counter value is also stored in association with the selected node. Then, the process proceeds to step S20.
- the initial individual generation unit 41 determines whether or not the node depth indicated by the depth counter is 20 or less (step S17). . If the depth of the node is 20 or less (YES in step S17), the initial individual generation unit 41 selects at random from a filter or an original image whose attribute is image enhancement processing, and sets the selected node (step S18). ). The initial individual generation unit 41 sets the identification information of the selected filter in the selected node. Further, the initial individual generation unit 41 concatenates the output of the selected node and the input of the parent node and records them in the individual group information 1b-2. At this time, the depth counter value is also stored in association with the selected node. Then, the process proceeds to step S20.
- the initial individual generation unit 41 selects the original image and sets it as the selected node (step S19).
- the initial individual generation unit 41 sets the identification information of the selected filter in the selected node. Further, the initial individual generation unit 41 concatenates the output of the selected node and the input of the parent node and records them in the individual group information 1b-2. At this time, the depth counter value is also stored in association with the selected node. Then, the process proceeds to step S20.
- the initial individual generation unit 41 increments the depth counter by 1 (step S20), and determines whether the selected node is an original image (step S21). When the selected node is not an original image (NO in step S21), the initial individual generation unit 41 performs a process of moving to the next node (step S22). The selected node is set as the parent node. The initial individual generation unit 41 returns to step S11 and performs the same processing as described above.
- the initial individual generation unit 41 determines whether there is an undetermined node (step S23).
- the determination of the undetermined node may be performed by determining whether or not there is a selected node having an input not connected from the population information 1b-2 in the storage unit 130.
- the initial individual generation unit 41 moves from the selected node to the undetermined node to be connected (step S24).
- the selected node is set as the parent node.
- the depth of the selected node is set in the depth counter. The initial individual generation unit 41 returns to step S11 and performs the same processing as described above.
- the initial individual generation unit 41 ends this process.
- the node depth determination values “14” and “20” in steps S14 and S17 may be set as appropriate by the user.
- the filter table 31 referred to in the flowchart of FIG. 7 has a data structure as shown in FIG.
- FIG. 8 is a diagram illustrating a data configuration example of the filter table in the first embodiment.
- the filter table 31 has items such as attribute, depth, process name, identification information, input, and output.
- Attribute indicates information that identifies the hierarchy. For example, image enhancement processing, threshold processing, binary image processing, etc. are designated.
- the depth is indicated by a value obtained by accumulating the depth assigned to the hierarchy in the processing order of the input image.
- the process name indicates the function of the filter.
- the identification information is information for identifying the filter.
- the input indicates the number of inputs to the filter, and the output indicates the number of outputs from the filter.
- FIG. 9 is a diagram illustrating a filter structure example represented by the population information in the first embodiment.
- values in parentheses indicate values obtained from the depth counter.
- a binary image processing filter Bdil at depth 1 from the target image dst set as the root, a binary image processing filter Bdil at depth 1, a binary image processing filter Band at depth 2, a threshold processing filter T192 at depth 3, and a depth.
- the threshold processing filter FsoX7 and the original image src are connected.
- the filter band of depth 2 has two inputs, when a filter band having unconnected inputs is detected by determining whether or not there is an undetermined node in step S23 of FIG. 7, in the population information 1b-2
- the depth 2 associated with the filter Band is set in the depth counter. Then, by repeating the processing of steps S11 to S22, the binary image processing filter Bdil at the depth 6, the binary image processing filter BopC at the depth 7, the threshold processing filter Tcan7 at the depth 8, and the depth.
- the filter FsoX7 for image enhancement processing, the filter Flap3 for binary image processing at depth 10 and the original image src are connected.
- the filter Bnc for binary image processing at a depth of 6 and the threshold processing at a depth of 7 are performed.
- a filter Tcan7, a filter FsoY3 for image enhancement processing at a depth of 8, a filter Fsub for image enhancement processing at a depth of 9, a filter Fsm9 for image enhancement processing at a depth of 10, and the original image src are connected.
- the original image src is connected by detecting the filter Fsub having a depth of 9 having an unconnected input in step S23 of FIG.
- FIG. 10 is a diagram for explaining the evolution process in the first embodiment.
- each process is performed based on the restriction rule 10r.
- the restriction rule 10r restricts the selection of a crossing pair and the type of mutation for each hierarchy.
- the node selection of a pair of subtrees is selected according to the output type of the node.
- image enhancement processing F
- the other must be image enhancement processing (F)
- one of them is threshold processing (T) or binary image processing
- T threshold processing
- B binary image processing
- the same type of node (filter) is selected. This makes it possible to perform generational changes in the evolution process without disrupting the flow of image processing.
- FIG. 11 is a diagram for explaining the comparison of the transition of fitness during learning in the first embodiment.
- FIG. 11 shows the transition of the maximum fitness at the time of learning up to 1000 generations where the depth limit of the tree structure is 20 and the initial number of individuals is 30.
- the first embodiment can quickly search for an image processing algorithm with high fitness.
- the search range in the related technology for example, ACTIT
- a highly adaptive image processing algorithm can be used at high speed. It becomes possible to search.
- genetic programming In the image processing algorithm in the first embodiment described above, genetic programming (GP) is used.
- GP genetic programming
- an individual 9 representing a tree-structured image processing filter group is automatically generated based on learning data. Therefore, the automatically generated individual group 1b may not exhibit performance with respect to an input image of a type different from the learning data.
- FIG. 13 is a diagram illustrating an example of fitness between two individuals in the second embodiment.
- FIG. 13 shows an example of fitness of the two individuals 9a and 9b obtained in the first embodiment.
- the learning data 232 includes an input image 2 corresponding to a plurality of pre-selected original images and a target image 4 corresponding to each of the plurality of input images 2.
- the individual 9a and the individual 9b are tree structure filters.
- the individual 9 a has image processing filters (hereinafter simply referred to as “filters”) F 1 , F 2 , F 3 , and F 5 .
- a filter is also called a node.
- An output result obtained by subjecting the input image 2 of the learning data 232 to image processing by the individual 9a is an output image 3-1. Further, an output result obtained by performing image processing on the input image 2 by the individual 9b is an output image 3-2.
- the output 3-1 shows the fitness “0.9”, and the output 3-2 shows the fitness “0.6”. Show.
- the fitness is better when the image processing is performed on the same input image 2 by the filter group of the individual 9a than the individual 9b. Accordingly, the tree-like filter of the individual 9a is employed.
- the tree structure filter is automatically generated based on the learning data 232.
- the automatically generated tree structure filter may not be able to obtain a target image for an input image of a type different from the learning data 232.
- the input image refers to an image from which a target image is obtained.
- FIG. 14 is a diagram illustrating an example in which a target image cannot be obtained.
- a case where a tree structure filter of the individual 9a is employed will be described.
- an algorithm based on a tree-like filter of the individual 9a is generated.
- the generated algorithm is referred to as an image processing algorithm 8a.
- the sample data 231 includes a plurality of input images 2 taken in the past, a target image 3 to be detected, and the like.
- a target image 4 corresponding to each input image 2 is prepared, and each input image 2 and a corresponding target image 3p are associated with each other.
- Sample data 231 includes input images 2a, 2b and 2c.
- the target images 4 corresponding to the input images 2a, 2b, and 2c are the target images 4a, 4b, and 4c.
- Learning data 232 indicates that the input image 2 selected from the sample data 231 is the input images 2a, 2b, and 2c.
- the learning data 232 designates target images 4a, 4b, and 4c corresponding to the selected input images 2a, 2b, and 2c.
- the image 2a ′, 2b ′ and 2e taken for the image processing algorithm 8a are input as the input image 2in, thereby obtaining an output result 3out.
- the output result 3out indicates that the output image 3a ′ is obtained for the image 2a ′, the output image 3b ′ is obtained for the image 2b ′, and the output image 3e is obtained for the image 2e ′.
- the image 2e ′ is not similar to any of the target images 4a to 4c of the learning data 232.
- the output image 3e is an image obtained as a result of performing image processing by the image processing algorithm 8a on the image 2e ′. In the output image 3e, it can be seen that feature extraction has failed.
- an error may occur.
- a general-purpose image processing algorithm 8a is acquired by reviewing the learning data 232 with a tree-structured filter that is being learned as appropriate.
- FIG. 15 is a diagram illustrating a functional configuration example of the image processing apparatus according to the second embodiment.
- the image processing apparatus 200 mainly includes a generation unit 210 and an inspection unit 230.
- the storage unit 230 of the image processing apparatus 200 stores data such as sample data 231, learning data 232, input image 232, input image 2in, image processing algorithm 8a, and output result 3out.
- the generation unit 210 generates a versatile image processing algorithm 8a.
- the generation unit 210 further includes a feature analysis unit 71, a clustering unit 72, a learning data selection unit 73, an automatic configuration unit 74, a filter verification unit 75, and a feature maximum analysis unit 76.
- the feature analysis unit 71 analyzes the feature of the sample data 231.
- the sample data 231 includes a plurality of input images 2 and target images 3 that are original images.
- the feature analysis unit 71 acquires the image feature amount by analyzing each input image 2 of the sample data 231.
- the image feature parameter acquired by the feature analysis unit 71 includes the average luminance, luminance histogram, spatial frequency information, and the like of the input image 2.
- the spatial frequency information includes an angle component and a frequency component.
- the clustering unit 72 classifies the sample data 231 from a plurality of components obtained by the feature analysis unit 71 based on the feature amount of the main component.
- the main components are frequency components, average luminance, contrast, and the like.
- a classification method a k-means method or the like may be used in which the average of clusters is used for each feature space and the number of clusters is given to K.
- the input image 2 in the sample data 231 is classified based on the feature amount.
- the learning data selection unit 73 selects learning data from each class classified by the clustering unit 72. What is necessary is just to select the input image 2 close
- Learning data 232 specifying the input image 2 selected as the representative sample is stored in the storage unit 232.
- the learning data 232 stores a feature amount analyzed for each selected input image 2 (representative sample).
- the automatic configuration unit 74 generates the image processing algorithm 8a using the learning data 232 selected by the learning data selection unit 73.
- the generation method of the image processing algorithm 8a is according to the first embodiment described above.
- the image processing algorithm 8a is created by combining a plurality of image processing filters in a tree structure according to a given processing flow.
- the filter verification unit 75 performs filter verification using the automatically generated image processing algorithm 8a. If the target processing accuracy is not satisfied, the image processing algorithm 8a is reconfigured.
- the feature reanalysis unit 76 applies the image processing algorithm 8a to each input image 2 in the sample data 231 and acquires intermediate feature information 233.
- the intermediate feature information 233 indicates the feature amount of the intermediate processed image obtained by each filter of the image processing algorithm 8a.
- the clustering unit 72 clusters the input image 2 of the sample data 231 again. Then, the input image 2 serving as a representative sample becomes the learning data 232.
- the automatic configuration unit 74 regenerates the image processing algorithm 8a using the learning data 232, and the filter verification unit 75 verifies the regenerated image processing algorithm 8a.
- the image processing algorithm 8a is ready to be used by the inspection unit 230.
- the inspection unit 230 performs image processing on the input image 2in captured by the imaging device 9a using the image processing algorithm 8a, and extracts features of the input image 2in from the output result 3out.
- the inspection unit 230 further includes an image input unit 81, an image processing unit 82, and a feature extraction unit 83.
- the image input unit 81 captures the input image 2in captured by the imaging device 9 into the image processing device 200.
- the input image 2in is stored in the storage unit 230.
- the image processing unit 82 performs image processing by applying the image processing algorithm 8a to the input image 2in, and outputs the output result 3out to the storage unit 230.
- the feature extraction unit 83 outputs an extraction result 239 obtained by extracting a region indicating a feature corresponding to the target image 4 from the output result 3out to the storage unit 230.
- FIG. 16 is a diagram illustrating a hardware configuration of the image processing apparatus according to the first embodiment.
- an image processing apparatus 100 is a terminal controlled by a computer, and includes a CPU (Central Processing Unit) 11, a main storage device 12, an auxiliary storage device 13, an input device 14, and a display device 15.
- the output device 16, the communication I / F (interface) 17, the drive 18, and the interface 9f are connected to the bus B.
- the CPU 211 controls the image processing apparatus 200 according to a program stored in the main storage device 12.
- the main storage device 212 uses a RAM (Random Access Memory) or the like, and stores a program executed by the CPU 211, data necessary for processing by the CPU 211, data obtained by processing by the CPU 211, and the like. Further, a part of the area of the main storage device 12 is allocated as a work area used for processing by the CPU 211.
- the auxiliary storage device 213 uses a hard disk drive and stores data such as programs for executing various processes. A part of the program stored in the auxiliary storage device 213 is loaded into the main storage device 212 and executed by the CPU 211, whereby various processes are realized.
- the storage unit 230 includes a main storage device 212 and / or an auxiliary storage device 213.
- the input device 214 includes a mouse, a keyboard, and the like, and is used for a user to input various information necessary for processing by the image processing device 200.
- the display device 15 displays various information required under the control of the CPU 211.
- the output device 216 includes a printer or the like, and is used to output various types of information according to instructions from the user.
- the communication I / F 217 is a device for controlling communication with an external device connected to, for example, the Internet or a LAN (Local Area Network). Communication by the communication I / F 17 is not limited to wireless or wired.
- the interface 9f connects the imaging device 9a and the image processing device 200. Images 2a ′, 2b ′ and the like captured by the imaging device 9a are stored as an input image 2in in the storage unit 230 under the control of the CPU 211 via the interface 9f.
- the imaging device 9a may be a CCD (Charge Coupled ⁇ ⁇ ⁇ Devices) camera or the like.
- a program for realizing the processing according to the second embodiment performed by the image processing apparatus 200 is provided to the image processing apparatus 200 by a storage medium 219 such as a CD-ROM (Compact Disc Read-Only Memory). That is, when the storage medium 219 storing the program is set in the drive 218, the drive 18 reads the program from the storage medium 219, and the read program is installed in the auxiliary storage device 213 via the bus B. . When the program is activated, the CPU 211 starts its processing according to the program installed in the auxiliary storage device 213.
- the medium for storing the program is not limited to a CD-ROM, and any medium that can be read by a computer may be used.
- a computer-readable storage medium in addition to a CD-ROM, a portable recording medium such as a DVD disk or a USB memory, or a semiconductor memory such as a flash memory may be used.
- the generation unit 210 and the inspection unit 230 in FIG. 15 are realized by processing performed by the CPU 211 executing a corresponding program.
- FIG. 17 is a flowchart for explaining image processing algorithm generation processing in the second embodiment.
- the generation unit 210 generates an initial filter structure group (step S211).
- An image processing algorithm 8a is created in the storage unit 130 by the initial filter structure group.
- the feature analysis unit 71 analyzes the image feature of each input image 2 that is the original image in the sample data 231 (step S212). After analyzing the image characteristics of each input image 2 in the sample data 231, the initial image processing algorithm 8a may be generated.
- the clustering unit 72 obtains the average of the clusters for each feature space of the principal component among the image features obtained by the feature analysis unit 71, and classifies the input image 2 in the sample data 231 into a plurality of classes (steps). S213).
- the learning data selection unit 73 selects a representative sample as the learning data 232 from each sample group into which the input image 2 is classified by the clustering unit 72 (step S214).
- the automatic composition unit 74 updates the image processing algorithm 8a through the evolution process (step S215). Since the update of the filter structure group is the same as the evolution process in the first embodiment, the description thereof is omitted.
- the automatic configuration unit 74 calculates the fitness of the generated image processing algorithm 8a (step S216).
- the fitness calculation method may use the following formula 2, but is not limited to formula 2.
- the applicability is calculated every time the image processing algorithm 8a is updated, and stored in the work area of the storage unit 130. It is determined whether or not the maximum adaptability of the applicability stored in the storage unit 130 is greater than the adaptability threshold (step S217).
- the maximum fitness is larger than the fitness threshold, that is, a learning end condition by repeating steps S215 to S217.
- step S215 If the maximum fitness is less than or equal to the fitness threshold, it is determined that sufficient accuracy has not been obtained, and the automatic configuration unit 74 proceeds to step S215 and repeats the process of evolving and updating the image processing algorithm 8a.
- the filter verification unit 75 calculates the degree of coincidence with the sample data 231 and makes a good / bad determination (step S219).
- the degree of coincidence with the sample data 231 is represented by a correlation value between the output result 3out obtained by inputting each input image 2 of the sample data 231 to the generated image processing algorithm 8a and the target image 4. The degree of coincidence is calculated using Equation 3 below.
- the match threshold value for good / bad determination is determined by the processing accuracy of the target algorithm.
- the region extraction error is within 10%, 0.9 is set as the coincidence threshold.
- the coincidence threshold the number of good judgments among all the input images 2 of the sample data 231 is counted.
- the filter verification part 75 calculates the ratio of the good result with respect to the sample data 231, and makes it a recognition rate (step S220).
- the ratio may be obtained by calculating the number of good judgments with respect to the total number of all input images 2 in the sample data 231.
- the filter verification unit 75 determines whether the recognition rate is larger than the recognition rate threshold (step S221).
- the feature reanalysis unit 76 reanalyzes the image feature by the generation algorithm 8a (step S218).
- the feature reanalysis unit 76 inputs each input image 2 of the sample data 231 to the generation algorithm 8a, and obtains a feature amount from each filter.
- Intermediate feature information 223 indicating the feature amount obtained from each filter is stored in the storage unit 130.
- the clustering unit 72 refers to the intermediate feature information 233 including the feature amount for each filter of each input image 2 and classifies the input images 2 again (step S231). Then, the learning data selection unit 214 selects the representative sample of each class as the learning data 232 as described above. Since the subsequent processing is as described above, the description thereof is omitted. Such a reanalysis process is repeated until the recognition rate becomes larger than the recognition rate threshold.
- the generation unit 210 ends the generation processing of this image processing algorithm.
- FIG. 18 is a diagram illustrating an amplitude image.
- An amplitude image 7a illustrated in FIG. 18 is an image obtained by performing two-dimensional Fourier transform on the input image 2.
- the spatial frequency information includes a frequency component 7b and an angle component 7c.
- the frequency component 7b is obtained by dividing the region by the distance from the center of the amplitude image 7a.
- the feature amount of the frequency component 7b is represented by the average amplitude of the divided areas.
- the angle component 7c is obtained by dividing the region by the angle from the center of the amplitude image 7a.
- the feature amount of the angle component 7c is represented by the average amplitude of the divided areas.
- FIGS. 19A to 19C are diagrams illustrating examples of feature amounts.
- FIGS. 19A to 19C show a comparative example of feature amounts of two input images 2.
- FIG. 19A shows a luminance histogram. The average brightness
- FIG. 19B shows angle components. An amplitude average for each region obtained by dividing the amplitude image 7a by 10 at an angle from the center of the amplitude image 7a is shown.
- FIG. 19C shows frequency components. The amplitude average for each region obtained by dividing the amplitude image 7a into 10 by the distance from the center of the amplitude image 7a is shown.
- the luminance histogram, angle component, and frequency component are a part of multiple parameters.
- the feature analysis unit 71 and the feature reanalysis unit 76 analyze each input image 2 of the sample data 231 using several tens of types of parameters.
- FIGS. 20A and 20B are diagrams illustrating examples of initial feature information and clustering in the second embodiment.
- FIG. 20A shows an example of initial feature information of one input image 2 before processing by the image processing algorithm 8a.
- values for each parameter such as average luminance, luminance histogram, angle component, frequency component and the like are stored.
- the average luminance indicates an average of the entire luminance of the input image 2.
- the luminance histogram, angle component, and frequency component indicate values for each divided region.
- Feature information is acquired for each input image 2 in the sample data 231.
- FIG. 20B shows an example of the result of principal component analysis performed by the clustering unit 72 based on the initial feature information.
- the input image 2 in the sample data 231 is classified into eight sample groups G1, G2, G3, G4, G5, G6, G7, and G8.
- the number of sample groups is not limited to eight and can be set arbitrarily.
- the learning data selection unit 73 selects representative samples of the sample groups G1 to G8 as the learning data 232.
- the original image G1r located around the center is a representative sample.
- representative samples are selected in the same manner.
- the image processing algorithm 8a is updated by the automatic construction unit 74 using the initial learning data 232, and the image processing algorithm 8a is verified by the filter verification unit 75 (first learning).
- feature reanalysis is determined to be necessary.
- the feature reanalysis 76 acquires the feature amount of each input image 2 that is the original image of the sample data 231 by the updated image processing algorithm 8a.
- FIG. 21 is a diagram showing an example of the image processing algorithm updated by the first learning in the second embodiment.
- the image processing algorithm 8a updated by the first learning has filters F1, F2, F3, and F4.
- the corresponding output image 3 is obtained by applying the image processing algorithm 8a to each input image 2.
- the feature amount B1 is acquired after the processing by the filter F1, and the feature amount B2 is acquired after the processing by the filter F2. Further, the feature amount B3 is acquired after the processing by the filter F3, and the feature amount B4 is acquired after the processing by the filter F4. Intermediate feature information 233 indicating the feature amounts B1 to B4 is stored in the storage unit 130.
- the image processing algorithm 8a is applied to all the input images 2 of the sample data 231, and the feature amounts B1 to B4 obtained by the filters F1 to F4 are acquired.
- 22A and 22B are diagrams illustrating examples of feature information and clustering during the first learning in the second embodiment.
- FIG. 22 (A) shows an example of the intermediate feature information 233 by the image processing algorithm 8a of FIG. 21 in addition to the feature information of the input image 2.
- the feature amounts B1, B2, B3, and B4 of the intermediate image after the processing of the filters F1 to F4 are stored as intermediate feature information 233.
- the feature amounts B1 to B4 are the brightness of the intermediate image.
- FIG. 22B shows the result of clustering in the feature space based on the output component, average luminance, and frequency component of the image processing algorithm 8a.
- intermediate feature information 233 is used as an output component of the image processing algorithm 8a.
- FIG. 22B shows that the lower sample group G1 is a sample group with a remarkably low degree of coincidence. That is, it is possible to cluster sample groups that are not good at the image processing algorithm 8a shown in FIG.
- the representative samples of the sample groups G1 to G8 are used as the learning data 232, the image processing algorithm 8a is updated by the automatic configuration unit 74, and the image processing algorithm 8a is verified by the filter verification unit 75 (second learning) ). With the updated image processing algorithm 8a, the recognition rate becomes equal to or higher than the recognition threshold value, and the target image processing algorithm is acquired.
- FIG. 23 is a diagram showing an example of the image processing algorithm updated by the second learning in the second embodiment.
- the image processing algorithm 8a updated by the second learning includes filters F1, F2, F3, F4, and F5.
- the image processing algorithm 8a becomes the target image processing algorithm, and the generation processing in the generation unit 210 in the second embodiment ends.
- feature reanalysis is performed by the image processing algorithm 8a updated by the second learning.
- the feature amount B1 is acquired after the processing by the filter F1
- the feature amount B2 is acquired after the processing by the filter F2.
- the feature amount B3 is acquired after the processing by the filter F3
- the feature amount B4 is acquired after the processing by the filter F4.
- the feature amount B5 is acquired after the processing by the filter F5.
- Intermediate feature information 233 indicating the feature amounts B1 to B5 is stored in the storage unit 130.
- FIGS. 24A and 24B are diagrams showing examples of feature information and clustering of a target image processing algorithm in the second embodiment.
- FIG. 24A shows an example of the intermediate feature information 233 by the image processing algorithm 8a of FIG. 23 in addition to the feature information of the input image 2.
- the feature amounts B1, B2, B3, B4, and B5 of the intermediate image after the processing of the filters F1 to F5 are stored as intermediate feature information 233.
- the feature amounts B1 to B5 are the brightness of the intermediate image.
- FIG. 24B shows the result of clustering in the feature space based on the output component, average luminance, and frequency component of the image processing algorithm 8a.
- intermediate feature information 233 is used as an output component of the image processing algorithm 8a.
- the sample groups G1 to G5, G7, and G8 are gathered above the feature space in substantially the same manner. Although there is a sample group G6 protruding downward, the input image 2 classified into the sample group G6 is very small.
- the output image 3 can be obtained with high accuracy for any input image 2 in the sample data 231 by the image processing algorithm 8a generated in the second embodiment.
- FIG. 25 is a diagram showing the transition of the recognition rate of the image processing algorithm 8a indicating the maximum fitness in the second embodiment.
- the transition of the recognition rate by the related technology to which the second embodiment is not applied is also shown.
- the related technique to which the second embodiment is not applied is that the user arbitrarily selects learning data 232 from the sample data 231 and uses the learning data 232 selected by the user to perform the learning process using genetic programming. This is a technique for generating the processing algorithm 8a.
- the sample data 231 is clustered and the representative samples of the respective sample groups G1 to G8 are included in the learning data 232, the characteristics of the plurality of input images 2 included in the sample data 231 are comprehensively covered. Can learn. Therefore, a highly versatile image processing algorithm 8a can be generated, and image processing that cannot detect features such as the output image 3e shown in FIG. 14 can be prevented.
- the learning speed can be increased.
- the learning data 232 that captures the image characteristics of the application destination is selected and sequentially re-learned to efficiently search for the desired image processing algorithm 8a with good performance. Yes, the learning speed is increased and the learning accuracy is improved.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Quality & Reliability (AREA)
- Physiology (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置において、前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に前記複数の画像フィルタを配列した個体群を生成する個体生成部とを有することを特徴とする画像処理装置により達成される。
Description
本発明は、目的画像に応じた画像処理に係るフィルタ構造を効率的に探索することに関する。
従来より、外観検査では、カメラなどの撮像素子を用いて製品の外観を撮影し、欠陥の有無を判定することが行われている。特に、FA(ファクトリーオートメーション)分野においては、現場の撮影環境に応じたノイズや影、明るさの変動などが撮影画像に発生することが多く、欠陥部を抽出する画像処理アルゴリズムは環境変化にロバストな処理が望まれている。また、外観検査装置を運用していく中で、検査対象の変更や装置の改良を行った際、それに起因した環境の変化が発生し、画像処理アルゴリズムの再構築が必要となる場合がある。そのため、画像処理方法構築の容易性も求められている。
一方、画像処理アルゴリズムの自動生成手法として、遺伝的プログラミングを画像処理に適用したツリー構造状画像変換自動生成法が提案されている。この手法は、構成する画像処理手法を木構造と考え、入力画像と目的となる処理結果の画像(目的画像)を用意し、遺伝的プログラミングを用いて、目的の処理に対し適応度の高い画像処理フィルタ群の木構造を最適化する手法である。
ACTIT: Automatic Construction of Tree-structural Image Transformation、情報メディア学会誌53、6、pp888-894、1999
従来技術となるACTITにおいて、複雑な処理を木構造により表現するためには、フィルタ構造の基となる画像フィルタの種類と木構造の深さを大きくする必要がある。しかしながら、種類と深さが大きくなれば、フィルタ構造の組合せが爆発的に大きくなり、探索範囲が広くなることから目的の画像処理手法の探索性能が悪くなると言った問題があった。
1つの側面において、本発明の目的は、目的画像に応じた画像処理の流れを予め指定して、木構造の階層毎に画像フィルタの種類を制限し、フィルタ構造の探索を行うことである。
本実施例の一態様によれば、画像処理装置は、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置において、前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に前記複数の画像フィルタを配列した個体群を生成する個体生成部とを有する。
また、本実施例の一態様によれば、撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置は、初期学習時に前記画像の特徴量に基づいて学習データを選択する選択部と、遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部とを有する。
また、上記課題を解決するための手段として、コンピュータによって実行される特徴検出プログラム、その特徴検出プログラムを記録した記録媒体、及び特徴検出方法とすることもできる。
本実施例の一態様によれば、目的画像に応じた画像処理に係るフィルタ構造を効率的に探索することができる。
以下、本発明の実施の形態を図面に基づいて説明する。
[第1実施例]
図1は、環境変化に対するロバストな画像処理を説明するための図である。図1において、明るさ、位置等によって環境変化の異なる入力画像2に対して、ロバストな画像処理1を行うことによって、目的画像4を得る。即ち、ロバストな画像処理1は、環境変化の異なる複数の入力画像2に対して、目的画像4を得るための最適な処理を行う。目的画像4は、例えば、FA(ファクトリーオートメーション)において、製造物の欠陥部を抽出するための画像である。欠陥部は、即ち、抽出する特徴部とも言える。
[第1実施例]
図1は、環境変化に対するロバストな画像処理を説明するための図である。図1において、明るさ、位置等によって環境変化の異なる入力画像2に対して、ロバストな画像処理1を行うことによって、目的画像4を得る。即ち、ロバストな画像処理1は、環境変化の異なる複数の入力画像2に対して、目的画像4を得るための最適な処理を行う。目的画像4は、例えば、FA(ファクトリーオートメーション)において、製造物の欠陥部を抽出するための画像である。欠陥部は、即ち、抽出する特徴部とも言える。
この画像処理1において、構成される画像処理手法を、ACTIT(非特許文献1)を参照することにより木構造と考えると、例えば、図2に示されるような構成となる。図2は、木構造状の画像処理アルゴリズムの一例を示す図である。図2に示すように、各入力画像2に対して構成される画像処理F1、F2、F3、F4、F5は、目的画像4をえるために木構造処理1aを形成する。木構造処理1aでは、遺伝的プログラミングによる最適化が行われる。
この例では、図2において上段の入力画像2に対して、画像処理F2、F3、及びF5が適用され目的画像4を得る。中段の入力画像2に対して、画像処理F1、F2、F3、及びF5が適用され目的画像4を得る。下段の入力画像2に対して、画像処理F4、F5が適用され目的画像4を得る。このように、木構造状の画像処理アルゴリズムでは、目的画像4をルートとする木構造を示す。
図3(A)及び図3(B)は、第1実施例における特徴検出処理の概要を説明するための図である。図3(A)において、遺伝的プログラミングによる最適化では、木構造状の画像処理フィルタ群を個体9とし、複数の初期個体から交叉処理と突然変異処理とを行い、新たな個体群1b'を生成し、適応度の高い個体群1b'(画像処理フィルタ群)と入れ替えながら、個体群1bを更新することで、最適な個体群1b'を探索する。例えば、個体群1bから2つの画像処理フィルタ群を木構造状で表す個体9を交叉対象として選択し、2つの個体9内から夫々1つの画像処理フィルタを新たに突然変異として、互いに置き換えることで得た個体群から最適な個体群1b'を探索する。
図3(B)より、適応度は、撮影した画像(入力画像2)に対して個体群1bの各個体9を用いて処理を行い、処理結果となる出力画像3と教師データである目的画像4の比較により算出する。
これにより、入力画像2である撮影画像と処理結果の目的となる目的画像4のセットを用意することで、自動的に最適な画像処理アルゴリズムを構築することができる。また、撮影環境の異なる入力画像と目的画像のセットを複数用意することで、ロバストな画像処理アルゴリズムの自動構成も可能となる。
図4は、第1実施例における画像処理装置の機能構成例を示す図である。図4において、画像処理装置100は、初期個体生成部41と、進化過程処理部42と、個体適応計算部43と、生存選択部44と、個体入替部45とを有する。これら処理部41から45は、後述されるCPU11が対応するプログラムを実行することによる処理によって実現される。記憶部130には、フィルタテーブル31、個体情報1b-2、入替個体情報1d、入力画像2、出力画像3、目的画像4等が記憶される。
初期個体生成部41は、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出において、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを選択して、木構造状のフィルタ構造を生成する処理部である。
初期個体生成部41は、遺伝的プログラミングを用いて、初期個体生成ルール5r(図6(B))に従って、目的画像4をルートと考え、各ノードを構成する際、フィルタテーブル31から階層に応じて種類分けされた画像フィルタを適宜選択して個体群1bを生成する。個体群1bは、木構造を形成し、記憶部130の個体情報1b-2として格納される。
進化過程処理部42は、個体群1bに対して進化過程処理を行う処理部である。進化過程処理部42は、交差処理部42-1と、突然変異処理部42-2とを有し、交差処理部42-1によって個体群1bから2個体を取り出して交差処理を行い、突然変異処理部42-2によって新たに加えた2個体で置き換えることにより突然変異処理を行う。進化過程処理部42によって、個体群1bが進化することにより、個体群情報1b-2が更新される。
個体適応計算部43は、各個体の適応度を計算する処理部である。適応度(fitness)は、木構造のフィルタ構造において、各入力画像2に対して得られる出力画像3と予め用意した目的画像4との差分によって求められ、例えば、次式の
生存選択部44は、最良個体を所定ルールに基づいて1個体を選択する処理部である。所定ルールは、例えば、最も適合度の高い個体を残すルーレットルール等を用いる。
個体入替部45は、個体群1bに対して、突然変異対象の2個体と入れ替える新たな2個体をフィルタテーブルから選択する処理部である。入れ替える外部の2個体を示す入替個体情報1dが記憶部130に格納される。
ここで、進化過程処理部42での処理が繰り返されることにより、個体群1bから最良個体を除いて、交叉対象の2個体と、突然変異対象の2個体とを選択し、交叉処理と突然変異処理とが夫々実行される。この繰り返し処理は、例えば、個体適応計算部43にて、個体群1bの全体としての適応度を計算することによって、所定値以上の適応度に到達した時点で終了するようにすれば良い。
このようにして得られた最終的な個体群1b(フィルタ構造)を用いて、LSI等の品質検査における傷等の特徴検出を行なう。
上述したような第1実施例に係る処理を行う画像処理装置100は、図5に示すようなハードウェア構成を有する。図5は、第1実施例における画像処理装置のハードウェア構成を示す図である。図5において、画像処理装置100は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、出力装置16と、通信I/F(インタフェース)17と、ドライブ18とを有し、バスBに接続される。
CPU11は、主記憶装置12に格納されたプログラムに従って画像処理装置100を制御する。主記憶装置12には、RAM(Random Access Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、主記憶装置12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
補助記憶装置13には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置12にロードされ、CPU11に実行されることによって、各種処理が実現される。記憶部130は、主記憶装置12及び/又は補助記憶装置13を有する。
入力装置14は、マウス、キーボード等を有し、ユーザが画像処理装置100による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU11の制御のもとに必要な各種情報を表示する。出力装置16は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信I/F17は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。通信I/F17による通信は無線又は有線に限定されるものではない。
画像処理装置100によって行われる第1実施例に係る処理を実現するプログラムは、例えば、CD-ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって画像処理装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライブ18にセットされると、ドライブ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがバスBを介して補助記憶装置13にインストールされる。そして、プログラムが起動されると、補助記憶装置13にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD-ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD-ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
次に、初期個体生成部41によって行われる初期個体の生成処理について図6(A)及び図6(B)で説明する。図6(A)及び図6(B)は、第1実施例における初期個体の生成処理を説明するための図である。図6(A)より、目的画像4の特徴を抽出するための画像処理では、出力画像dstをルートと考え、各ノードを構成する際、階層に応じて種類分けされた画像フィルタを適宜選択する。一定の階層まで進めば、終端ノードとして原画像src(入力画像に相当)を選択する。例えば、特徴領域の抽出の場合、まず出力画像dstの直前の処理は2値画像処理を選択する。
次に、予め定めた初期個体生成ルール5r(図6(B))に基づき、ノード選択時に親ノードが2値画像処理の場合は2値画像処理もしくは閾値処理を選択し、親ノードが閾値処理または画像強調処理の場合は画像強調処理もしくは原画像srcを選択する。一定の階層まで進んだ場合は強制的に原画像srcを選択する。
これにより、一般的な処理の流れとして、入力画像⇒画像強調処理⇒閾値処理⇒2値画像処理⇒出力画像となる初期個体群が生成可能となる。図6(A)では、画像強調処理用のフィルタをF、閾値処理用のフィルタをT、2値画像処理用のフィルタをBで簡易的に表している。
第1実施例では、処理全体における全体ノードの深さと、処理の属性毎に、即ち、画像強調処理、閾値処理、2値画像処理毎に、全体ノードの深さを予め定義する。全体ノードの深さを20以下(全体ノードの最大深さを20まで)と定義し、更に、各階層(各処理)の深さ20の内訳は、入力画像2の処理順に、画像強調処理用のフィルタは深さ5、閾値処理用のフィルタは深さ1、2値画像処理用のフィルタは深さ14で割り当てられるとする。
この各階層の深さ定義に基づき、初期個体生成部41によって、木構造のフィルタ構造が生成される初期個体の生成処理について、図7で説明する。
図7は、第1実施例における初期個体の生成処理の一例を説明するためのフローチャート図である。図7において、初期個体生成部41は、ルートの識別情報(目的画像4)を親ノードに、深さカウンタを1に初期設定する(ステップS10)。
初期個体生成部41は、親ノード(目的画像4)がルートか否かを判断する(ステップS11)。親ノードがルートの場合(ステップS11のYES)、初期個体生成部41は、フィルタテーブル31を参照して、属性が2値画像処理であるフィルタからランダムに選択する(ステップS12)。初期個体生成部41は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b-2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
一方、親ノードがルートでない場合(ステップS11のNO)、初期個体生成部41は、親ノードの属性が2値画像処理か否かを判断する(ステップS13)。2値画像処理である場合(ステップS13のYES)、初期個体生成部41は、深さカウンタによって示されるノードの深さが14以下か否かを判断する(ステップS14)。ノードの深さが14以下である場合(ステップS14のYES)、初期個体生成部41は、フィルタテーブル31を参照して、属性が2値画像処理又は閾値処理であるフィルタからランダムに選択して、選択ノードに設定する(ステップS15)。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b-2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
一方、選択ノードの深さが5より大きい場合(ステップS14のNO)、初期個体生成部41は、フィルタテーブル31を参照して、属性が閾値処理であるフィルタからランダムに選択して、選択ノードに設定する(ステップS16)。初期個体生成部41は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b-2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
初期個体生成部41は、親ノードの属性が2値画像処理でない場合(ステップS17のNO)、更に、深さカウンタによって示されるノードの深さが20以下か否かを判断する(ステップS17)。ノードの深さが20以下である場合(ステップS17のYES)、初期個体生成部41は、属性が画像強調処理であるフィルタ又は原画像からランダムに選択して、選択ノードに設定する(ステップS18)。初期個体生成部41は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b-2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
一方、ノードの深さが20より大きい場合(ステップS17のNO)、初期個体生成部41は、原画像を選択して、選択ノードに設定する(ステップS19)。初期個体生成部41は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b-2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
初期個体生成部41は、深さカウンタを1インクリメントして(ステップS20)、選択ノードが原画像か否かを判断する(ステップS21)。選択ノードが原画像でない場合(ステップS21のNO)、初期個体生成部41は、次のノードへ移動する処理を行う(ステップS22)。選択ノードが親ノードに設定される。初期個体生成部41は、ステップS11へと戻り、上記同様の処理を行う。
一方、選択ノードが原画像である場合(ステップS21のYES)、初期個体生成部41は、更に、未決定ノードが有るか否かを判断する(ステップS23)。未決定ノードの判断は、記憶部130の個体群情報1b-2から連結してない入力を有する選択済みノードが存在するか否かを判断すれば良い。未連結の入力へ分岐する未決定ノードが有る場合(ステップS23のYES)、初期個体生成部41は、選択済みノードから連結される未決定ノードへ移動する(ステップS24)。選択済みノードが親ノードとして設定される。また、選択済みノードの深さを深さカウンタに設定する。初期個体生成部41は、ステップS11へと戻り、上記同様の処理を行う。
一方、未決定ノードが無い場合(ステップS23のNO)、初期個体生成部41は、この処理を終了する。
ステップS14及びS17におけるノード深さの判定値「14」及び「20」は、適宜ユーザによって設定可能としても良い。
図7のフローチャートにおいて参照されるフィルタテーブル31は、例えば、図8に示すようなデータ構成を示す。図8は、第1実施例におけるフィルタテーブルのデータ構成例を示す図である。図8において、フィルタテーブル31は、属性、深さ、処理名、識別情報、入力、出力等の項目を有する。
属性は、階層を特定する情報を示す。例えば、画像強調処理、閾値処理、2値画像処理等を指定する。深さは、階層に割り当てられた深さを入力画像の処理順に累積した値で示している。処理名は、フィルタの機能を示している。識別情報は、フィルタを識別するための情報である。入力は、フィルタへの入力数を示し、出力は、フィルタからの出力数を示す。
図8に示されるようなフィルタテーブル31を用いて、図7に示すフローチャートに従って初期個体を生成した場合の、個体群情報1b-2によって表されるフィルタ構造の木構造例について図9で説明する。図9は、第1実施例における個体群情報によって表されるフィルタ構造例を示す図である。図9中、( )内は深さカウンタから得た値を示している。
図9において、ルートに設定された目的画像dstから、深さ1で2値画像処理のフィルタBdil、深さ2で2値画像処理のフィルタBand、深さ3で閾値処理のフィルタT192、深さ4で閾値処理のフィルタFsoX7、そして原画像srcが連結される。
深さ2のフィルタBandは2入力を有するため、図7のステップS23にて、連結されていない入力を持つフィルタBandが未決定ノードの有無判断で検出されると、個体群情報1b-2において、フィルタBandに対応付けられている深さ2が深さカウンタに設定される。そして、ステップS11からS22の処理が繰り返されることにより、深さ6で2値画像処理のフィルタBdil、深さ7で2値画像処理のフィルタBopC、深さ8で閾値処理のフィルタTcan7、深さ9で画像強調処理のフィルタFsoX7、深さ10で2値画像処理のフィルタFlap3、そして原画像srcが連結される。
上述したように、図7のステップS23にて未連結の入力を持つ深さ5のフィルタBandが検出されることによって、深さ6で2値画像処理のフィルタBnc、深さ7で閾値処理のフィルタTcan7、深さ8で画像強調処理のフィルタFsoY3、深さ9で画像強調処理のフィルタFsub、深さ10で画像強調処理のフィルタFsm9、そして原画像srcが連結される。
更に、図7のステップS23にて未連結の入力を持つ深さ9のフィルタFsubが検出されることによって、原画像srcが連結される。
次に、進化過程処理部42による進化過程処理について説明する。図10は、第1実施例における進化過程処理を説明するための図である。第1実施例では、交叉処理部42-1による交叉処理、及び、突然変異処理部42-2による突然変異処理において、制限ルール10rに基づいて夫々の処理が行われる。制限ルール10rは、階層毎に、交叉ペアの選択、及び、突然変異の種類を制限する。
遺伝的プログラミングにおける交叉において、ペアとなる部分木のノード選択をそのノードの出力の種類に応じて選択する。特徴領域の抽出の場合、交叉のペアは、一方が画像強調処理(F)の場合は他方は画像強調処理(F)である必要があり、一方が閾値処理(T)または2値画像処理(B)である場合は、他方も閾値処理(T)または2値画像処理(B)である必要がある。また、突然変異に関しては、同じ種類のノード(フィルタ)を選択する。これにより、画像処理の流れを崩さず、進化過程における世代交代を行うことが可能となる。
次に、第1実施例を半田ボール部の検出処理へ適用した場合と、第1実施例を適用しない関連技術とについて比較説明する。特徴領域の検出を図6(A)と同様に、画像強調=>閾値処理=>2値画像処理で行うものとし、構成要素となるフィルタの種類は、図8に示すフィルタテーブル31を参照することによって選択される。初期個体生成ならびに進化過程での制限は図6(A)及び図6(B)、図10を採用する。
図11は、第1実施例における学習時の適応度の推移の比較を説明するための図である。図11において、木構造の深さ制限を20、初期個体数を30とし、世代数1000までの学習時の最大適応度の推移を示す。同条件の関連技術に比べて第1実施例は、適応度の高い画像処理アルゴリズムを素早く探索できる。
図12は、第1実施例における木構造の深さに対する組合せ数の比較を説明するための図である。図12より、関連技術に比べて第1実施例では、階層数n=4の段階で組合せ数は約1/1000となり、その後も劇的に組合せ数が低いことがわかる。
これにより、大まかな処理の流れを指定することで、探索範囲を絞り込むことができ、適応度の高い画像処理アルゴリズムを高速に探索可能となる。
上述したように、第1実施例では、大まかな処理の流れを指定することで、関連技術(例えば、ACTIT)における探索範囲を劇的に絞り込むことができ、適応度の高い画像処理アルゴリズムを高速に探索可能となる。
上述した第1実施例における画像処理アルゴリズムでは、遺伝的プログラミング(GP)が用いられている。遺伝的プログラミングでは、学習データを基準として木構造状の画像処理フィルタ群を表す個体9を自動生成する。そのため、自動生成した個体群1bは、学習データと異なるタイプの入力画像に対して性能を発揮しない場合がある。
複数の画像処理フィルタによるフィルタ構造を表す個体9を大量な学習データを用いて自動生成した場合には、学習時間が膨大に増加し、運用上現実的ではない。そこで、サンプルデータから適用先の画像特徴を把握し適切に学習データを選択することで、汎用性の高いアルゴリズムを生成する第2実施例を以下に説明する。
[第2実施例]
画像処理フィルタ群を表す2つの個体9a及び9b間の適応度の例について説明する。図13は、第2実施例における2つの個体間の適応度例を示す図である。図13において、第1実施例にて得られた2つの個体9a及び9bの適応度の例が示されている。
[第2実施例]
画像処理フィルタ群を表す2つの個体9a及び9b間の適応度の例について説明する。図13は、第2実施例における2つの個体間の適応度例を示す図である。図13において、第1実施例にて得られた2つの個体9a及び9bの適応度の例が示されている。
学習データ232には、予め選択された複数の原画像に相当する入力画像2と、複数の入力画像2の夫々に対応する目的画像4とが含まれる。
個体9a及び個体9bは、木構造状フィルタである。個体9aは、画像処理フィルタ(以下、単に「フィルタ」と言う)F1、F2、F3、及びF5を有する。フィルタは、ノードとも言う。個体9bは、フィルタF2、F3、及びF5を有する。学習データ232の入力画像2を個体9aで画像処理させた出力結果が出力画像3-1である。また、入力画像2を個体9bで画像処理させた出力結果が出力画像3-2である。
出力3-1及び出力3-2の目的画像4への適応度を計算した結果、出力3-1は適応度「0.9」を示し、出力3-2は適応度「0.6」を示す。この例では、同じ入力画像2に対して、個体9bより個体9aのフィルタ群によって画像処理を行った方が適応度が良いという結果である。従って、個体9aの木構造状フィルタが採用される。
このように、ツリー構造状画像変換自動生成法(GP)では、学習データ232を基準として木構造状フィルタの自動生成を行う。一方、自動生成した木構造状フィルタは、学習データ232と異なるタイプの入力画像に対して目的画像を得ることができない場合がある。第2実施例において、入力画像は、目的画像を得る対象の画像を言う。
図14は、目的画像を得られない場合の例を示す図である。図14では、個体9aの木構造状フィルタを採用した場合で説明する。サンプルデータ231から選択した学習データ232により、個体9aの木構造状フィルタによるアルゴリズムを生成する。以下、生成されたアルゴリズムを画像処理アルゴリズム8aと言う。
サンプルデータ231は、過去に撮影した複数の入力画像2と、検出したい目的画像3等とを含む。各入力画像2に対応する目的画像4が用意され、各入力画像2と対応する目的画像3pとは関連付けられている。サンプルデータ231には、入力画像2a、2b及び2cを含む。入力画像2a、2b及び2cに対応する目的画像4は、目的画像4a、4b、及び4cとする。
学習データ232は、サンプルデータ231から選択された入力画像2は、入力画像2a、2b及び2cであることを示している。また、学習データ232によって、選択した入力画像2a、2b及び2cに対応する目的画像4a、4b、及び4cが指定される。
画像処理アルゴリズム8aに対して撮影した画像2a'、2b'及び2eを入力画像2inとして入力することで、出力結果3outを得る。出力結果3outでは、画像2a'に対して出力画像3a'、画像2b'に対して出力画像3b'、そして、画像2e'に対して出力画像3eを得たことを示している。
画像2e'は、学習データ232の目的画像4aから4cのいずれにも類似していない。出力画像3eは、画像2e'に対して画像処理アルゴリズム8aによる画像処理を行った結果得た画像である。出力画像3eでは、特徴の抽出に失敗していることが分かる。
画像2e'のように、学習データ232の目的画像4aから4cのいずれにも類似していない画像が、画像処理アルゴリズム8aによって画像処理された場合には、エラーとなる場合がある。
第2実施例では、適用先の画像特徴を捉えた学習を行い、また、適宜学習途中の木構造状フィルタによって学習データ232を見直すことで、汎用的な画像処理アルゴリズム8aを取得する。
図15は、第2実施例における画像処理装置の機能構成例を示す図である。図15において、画像処理装置200は、主に、生成部210と、検査部230とを有する。また、画像処理装置200の記憶部230には、サンプルデータ231、学習データ232、入力画像232、入力画像2in、画像処理アルゴリズム8a、出力結果3out等のデータが記憶される。
生成部210は、汎用性の高い画像処理アルゴリズム8aを生成する。生成部210は、更に、特徴分析部71と、クラスタリング部72と、学習データ選択部73と、自動構成部74と、フィルタ検証部75と、特徴最分析部76とを有する。
特徴分析部71は、サンプルデータ231の特徴を分析する。サンプルデータ231には原画像である複数の入力画像2と目的画像3とが含まれている。特徴分析部71は、サンプルデータ231の各入力画像2を分析することによって、画像特徴量を取得する。
特徴分析部71によって取得される画像特徴量のパラメータは、入力画像2の平均輝度、輝度ヒストグラム、空間周波数情報等を含む。空間周波数情報には、角度成分と、周波数成分とが含まれる。
クラスタリング部72は、特徴分析部71によって得られた複数の成分の中から、主成分の特徴量に基づいてサンプルデータ231を分類する。主成分は、周波数成分、平均輝度、コントラスト等である。分類方法は、各特徴空間に対してクラスタの平均を用い、与えられたクラスタ数K個に分類するk-means法等を用いればよい。サンプルデータ231内の入力画像2は特徴量に基づいて分類される。
学習データ選択部73は、クラスタリング部72によって分類された各クラスから学習データを選択する。クラスタ毎に、入力画像2の特徴量の中心に近い入力画像2を代表サンプルとして選択すれば良い。代表サンプルとして選択された入力画像2を指定する学習データ232が記憶部232に格納される。学習データ232には、選択された入力画像2(代表サンプル)毎に分析した特徴量が記憶される。
自動構成部74は、学習データ選択部73によって選択された学習データ232を用いて、画像処理アルゴリズム8aを生成する。画像処理アルゴリズム8aの生成方法は、上述した第1実施例に従うものとする。画像処理アルゴリズム8aは、与えられた処理の流れに従って、複数の画像処理フィルタが木構造状で組み合わされることで作成される。
フィルタ検証部75は、自動生成した画像処理アルゴリズム8aを用いてフィルタ検証を行なう。目的の処理精度を満たしていない場合、画像処理アルゴリズム8aは、再構成される。
特徴再分析部76は、画像処理アルゴリズム8aを、サンプルデータ231内の各入力画像2に適用し、中間特徴情報233を取得する。中間特徴情報233は、画像処理アルゴリズム8aの各フィルタによって得られる中間処理画像の特徴量を示す。
特徴再分析部76によって得られた中間処理画像の特徴量に基づいて、クラスタリング部72は、再度、サンプルデータ231の入力画像2をクラスタリングする。そして、代表サンプルとなる入力画像2が学習データ232となる。自動構成部74は、学習データ232を用いて画像処理アルゴリズム8aを再生成し、フィルタ検証部75は、再生成された画像処理アルゴリズム8aを検証する。
目的の処理精度を満たした時に、画像処理アルゴリズム8aの生成が終了する。画像処理アルゴリズム8aは、検査部230によって利用できる状態となる。
検査部230は、撮像装置9aによって撮像された入力画像2inに対して画像処理アルゴリズム8aを用いて画像処理を行い、その出力結果3outから入力画像2inの特徴を抽出する。検査部230は、更に、画像入力部81と、画像処理部82と、特徴抽出部83とを有する。
画像入力部81は、撮像装置9が撮像した入力画像2inを画像処理装置200内に取り込む。入力画像2inは記憶部230に記憶される。
画像処理部82は、入力画像2inに対して画像処理アルゴリズム8aを適用して画像処理を行い、出力結果3outを記憶部230に出力する。
特徴抽出部83は、出力結果3outから目的画像4に相当する特徴を示す領域を抽出した抽出結果239を記憶部230に出力する。
上述したような第1実施例に係る処理を行う画像処理装置200は、図16に示すようなハードウェア構成を有する。図16は、第1実施例における画像処理装置のハードウェア構成を示す図である。図16において、画像処理装置100は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、出力装置16と、通信I/F(インターフェース)17と、ドライブ18と、インターフェース9fを有し、バスBに接続される。
CPU211は、主記憶装置12に格納されたプログラムに従って画像処理装置200を制御する。主記憶装置212には、RAM(Random Access Memory)等が用いられ、CPU211にて実行されるプログラム、CPU211での処理に必要なデータ、CPU211での処理にて得られたデータ等を格納する。また、主記憶装置12の一部の領域が、CPU211での処理に利用されるワークエリアとして割り付けられている。
補助記憶装置213には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置213に格納されているプログラムの一部が主記憶装置212にロードされ、CPU211に実行されることによって、各種処理が実現される。記憶部230は、主記憶装置212及び/又は補助記憶装置213を有する。
入力装置214は、マウス、キーボード等を有し、ユーザが画像処理装置200による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU211の制御のもとに必要な各種情報を表示する。出力装置216は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信I/F217は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。通信I/F17による通信は無線又は有線に限定されるものではない。
インターフェース9fは、撮像装置9aと画像処理装置200とを接続する。撮像装置9aで撮影された画像2a'、2b'等は、インターフェース9fを介して、CPU211の制御により記憶部230に入力画像2inとして記憶される。撮像装置9aは、CCD(Charge Coupled Devices)カメラ等であればよい。
画像処理装置200によって行われる第2実施例に係る処理を実現するプログラムは、例えば、CD-ROM(Compact Disc Read-Only Memory)等の記憶媒体219によって画像処理装置200に提供される。即ち、プログラムが保存された記憶媒体219がドライブ218にセットされると、ドライブ18が記憶媒体219からプログラムを読み出し、その読み出されたプログラムがバスBを介して補助記憶装置213にインストールされる。そして、プログラムが起動されると、補助記憶装置213にインストールされたプログラムに従ってCPU211がその処理を開始する。尚、プログラムを格納する媒体としてCD-ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD-ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
図15における生成部210と検査部230とは、CPU211が対応するプログラムを実行することによって行われる処理によって実現される。
次に、生成部210による汎用性の高い画像処理アルゴリズム8aを生成する生成処理について説明する。
図17は、第2実施例における画像処理アルゴリズムの生成処理について説明するためのフローチャート図である。図17にて、生成部210において、初期のフィルタ構造群が生成される(ステップS211)。初期のフィルタ構造群により画像処理アルゴリズム8aが記憶部130に作成される。
また、生成部210において、特徴分析部71は、サンプルデータ231内の原画像である各入力画像2の画像特徴を分析する(ステップS212)。サンプルデータ231内の各入力画像2の画像特徴を分析した後、初期の画像処理アルゴリズム8aを生成しても良い。
クラスタリング部72は、特徴分析部71によって得られた画像特徴のうち主成分の各特徴空間に対してクラスタの平均を求めて、サンプルデータ231内の入力画像2を複数のクラスに分類する(ステップS213)。
そして、学習データ選択部73は、クラスタリング部72によって入力画像2が分類された各サンプル群から代表サンプルを学習データ232として選択する(ステップS214)。
学習データ232が選択されると、自動構成部74は、進化過程により画像処理アルゴリズム8aを更新する(ステップS215)。フィルタ構造群の更新は、第1実施例においける進化過程処理と同様であるので、その説明を省略する。
自動構成部74は、生成した画像処理アルゴリズム8aの適応度を算出する(ステップS216)。適応度の算出方法は、下記数2を用いればよいが、数2に限定するものではない。
適用度は、画像処理アルゴリズム8aが更新される毎に算出され記憶部130の作業領域に記憶される。記憶部130に記憶した適用度のうちで最大適応度が適応度閾値より大きいか否かを判断する(ステップS217)。最大適応度が適応度閾値より大きいことが、ステップS214で選択した学習データ232を用いた場合、即ち、ステップS215~S217の繰り返しによる学習の終了条件となる。
最大適応度が適応度閾値以下である場合、充分な精度を得られていないと判断し、自動構成部74は、ステップS215へと進み、画像処理アルゴリズム8aを進化させて更新する処理を繰り返す。
一方、最大適応度が適応度閾値より大きいと判断した場合、フィルタ検証部75による検証処理が行われる。フィルタ検証部75は、サンプルデータ231に対する一致度を計算し、良不良判定を行う(ステップS219)。サンプルデータ231に対する一致度は、生成した画像処理アルゴリズム8aにサンプルデータ231の各入力画像2を入力して得た出力結果3outと目的画像4との相関値で表される。下記数3を用いて一致度を計算する。
数3で得られた一致度は、予め設定した一致度閾値よりも高い場合は良結果とし、低い場合を不良結果とする。良不良判定の一致度閾値は、目的のアルゴリズムの処理精度により決定する。領域抽出誤差を10%以内にする場合、一致度閾値に0.9を設定する。一致度閾値を用いて、サンプルデータ231の全入力画像2のうち良判定となった個数をカウントしておく。
そして、フィルタ検証部75は、サンプルデータ231に対する良結果の割合を算出して認識率とする(ステップS220)。サンプルデータ231の全入力画像2の総数に対する良判定となった個数を計算して割合を求めれば良い。フィルタ検証部75は、認識率が認識率閾値より大きいか否かを判断する(ステップS221)。
認識率が認識率閾値以下の場合、特徴再分析部76が、生成アルゴリズム8aによる画像特徴を再分析する(ステップS218)。特徴再分析部76は、生成アルゴリズム8aに対して、サンプルデータ231の各入力画像2を入力し、各フィルタから特徴量を得る。各フィルタから得た特徴量を示す中間特徴情報223が記憶部130に格納される。
クラスタリング部72は、各入力画像2のフィルタ毎の特徴量を含む中間特徴情報233を参照して、再度、入力画像2を分類する(ステップS231)。そして、学習データ選択部214は、上述したように、各クラスの代表サンプルを学習データ232として選択する。その後の処理は上述した通りであるので、その説明を省略する。このような再分析処理は、認識率が認識率閾値より大きくなるまで繰り返される。
認識率が認識率閾値より大きい場合、生成部210は、この画像処理アルゴリズムの生成処理を終了する。
次に、特徴分析部71及び特徴再分析部76によって得られる画像特徴量について図18及び図19で説明する。図18は、振幅画像を示す図である。図18に示す振幅画像7aは、入力画像2に対して2次元フーリエ変換を行って得た画像である。
空間周波数情報は、周波数成分7bと、角度成分7cとを含む。振幅画像7aの中心からの距離で領域を分割することによって、周波数成分7bを得る。周波数成分7bの特徴量は、分割領域の振幅平均で表される。また、振幅画像7aの中心からの角度で領域を分割することによって、角度成分7cを得る。角度成分7cの特徴量は、分割領域の振幅平均で表される。
図19(A)、図19(B)、及び図19(C)は、特徴量の例を示す図である。図19(A)から図19(C)では、2つの入力画像2の特徴量の比較例を示している。図19(A)は、輝度ヒストグラムを示している。入力画像2を10分割した領域毎の平均輝度を示している。
図19(B)は、角度成分を示している。振幅画像7aを振幅画像7aの中心からの角度で10分割した領域毎の振幅平均を示す。図19(C)は、周波数成分を示している。振幅画像7aを振幅画像7aの中心からの距離で10分割した領域毎の振幅平均を示す。
輝度ヒストグラム、角度成分、周波数成分は、複数のパラメータの一部分である。特徴分析部71及び特徴再分析部76では、数十種類のパラーメタでサンプルデータ231の各入力画像2を分析する。
次に、学習過程におけるパラメータとクラスタリングの変化例を説明する。図20(A)及び図20(B)は、第2実施例における初期の特徴情報及びクラスタリングの例を示す図である。図20(A)では、画像処理アルゴリズム8aによる処理前の、1つの入力画像2の初期の特徴情報の例を示している。初期の特徴情報として、平均輝度、輝度ヒストグラム、角度成分、周波数成分等のパラメータ毎の値が記憶される。平均輝度は、入力画像2の全体の輝度の平均を示す。輝度ヒストグラム、角度成分、周波数成分は、分割領域毎の値を示す。サンプルデータ231内の各入力画像2に対して特徴情報が取得される。
図20(B)では、クラスタリング部72が、初期の特徴情報に基づいて行った主成分分析の結果例を示す。この結果例では、サンプルデータ231内の入力画像2は、8個のサンプル群G1、G2、G3、G4、G5、G6、G7、及びG8に分類されたことを示している。サンプル群の個数は、8個に限定するものではなく、任意に設定可能である。
このようなクラスタリング結果を用いて、学習データ選択部73は、各サンプル群G1~G8の代表サンプルを学習データ232として選択する。サンプル群G1の場合、中心当たりに位置する原画像G1rが代表サンプルとなる。他サンプル群G2~G8についても同様の方法で代表サンプルが選択される。
初期の学習データ232を用いて自動構成部74により画像処理アルゴリズム8aが更新され、フィルタ検証部75によって画像処理アルゴリズム8aが検証される(1回目学習)。ここでは、特徴再分析が必要であると判断されたとする。特徴再分析76は、更新された画像処理アルゴリズム8aでサンプルデータ231の原画像である各入力画像2の特徴量を取得する。
図21は、第2実施例における1回目学習により更新された画像処理アルゴリズムの例を示す図である。図21において、1回目学習により更新された画像処理アルゴリズム8aはフィルタF1、F2、F3、及びF4を有する。各入力画像2に対して画像処理アルゴリズム8aを適用して対応する出力画像3を得る。
フィルタF1による処理後に特徴量B1を取得し、フィルタF2による処理後に特徴量B2を取得する。また、フィルタF3による処理後に特徴量B3を取得し、フィルタF4による処理後に特徴量B4を取得する。特徴量B1からB4を示す中間特徴情報233が記憶部130に記憶される。
サンプルデータ231の全入力画像2に対して画像処理アルゴリズム8aを適用し、各フィルタF1~F4によって得られる特徴量B1~B4を取得する。
1回目学習時の例について図22(A)及び図22(B)で説明する。図22(A)及び図22(B)は、第2実施例における1回目学習時の特徴情報及びクラスタリングの例を示す図である。
図22(A)では、入力画像2の特徴情報に加えて、図21の画像処理アルゴリズム8aによる中間特徴情報233の例が示されている。各フィルタF1~F4の処理後の中間画像の特徴量B1、B2、B3及びB4が、中間特徴情報233として記憶される。特徴量B1~B4は、中間画像の輝度である。
図22(B)では、画像処理アルゴリズム8aの出力成分、平均輝度、周波数成分による特徴空間で、クラスタリングを行った結果を示している。この例では、画像処理アルゴリズム8aの出力成分として、中間特徴情報233を用いる。
図22(B)において、下方のサンプル群G1は、一致度が著しく低いサンプル群であることを示している。即ち、図21に示す画像処理アルゴリズム8aが不得手とするサンプル群をクラスタリングすることができる。
上述したように、各サンプル群G1~G8の代表サンプルを学習データ232とし、自動構成部74により画像処理アルゴリズム8aが更新され、フィルタ検証部75によって画像処理アルゴリズム8aが検証される(2回目学習)。更新された画像処理アルゴリズム8aによって、認識率が認識閾値以上となり、目的の画像処理アルゴリズムを取得する。
図23は、第2実施例における2回目学習により更新された画像処理アルゴリズムの例を示す図である。図23において、2回目学習により更新された画像処理アルゴリズム8aはフィルタF1、F2、F3、F4、及びF5を有する。画像処理アルゴリズム8aが目的の画像処理アルゴリズムとなり、第2実施例における生成部210での生成処理は終了する。
しかしながら、ここでは、2回目学習により更新された画像処理アルゴリズム8aによって特徴再分析を行ってみる。この画像処理アルゴリズム8aにおいて、フィルタF1による処理後に特徴量B1を取得し、フィルタF2による処理後に特徴量B2を取得する。また、フィルタF3による処理後に特徴量B3を取得し、フィルタF4による処理後に特徴量B4を取得する。更に、フィルタF5による処理後に特徴量B5を取得する。特徴量B1からB5を示す中間特徴情報233が記憶部130に記憶される。
図24(A)及び図24(B)は、第2実施例における目的の画像処理アルゴリズムの特徴情報及びクラスタリングの例を示す図である。
図24(A)では、入力画像2の特徴情報に加えて、図23の画像処理アルゴリズム8aによる中間特徴情報233の例が示されている。各フィルタF1~F5の処理後の中間画像の特徴量B1、B2、B3、B4、及びB5が、中間特徴情報233として記憶される。特徴量B1~B5は、中間画像の輝度である。
図24(B)では、画像処理アルゴリズム8aの出力成分、平均輝度、周波数成分による特徴空間で、クラスタリングを行った結果を示している。この例では、画像処理アルゴリズム8aの出力成分として、中間特徴情報233を用いる。
図24(B)において、サンプル群G1~G5、G7、及びG8が略同様に特徴空間の上方に纏まっている。下方に突出しているサンプル群G6が存在するものの、サンプル群G6に分類される入力画像2は極僅かである。
上述より、第2実施例において生成した画像処理アルゴリズム8aによって、サンプルデータ231内のどの入力画像2に対しても精度良く出力画像3を得ることができる。
図25は、第2実施例における最大適応度を示す画像処理アルゴリズム8aの認識率の推移を示す図である。図25に示すグラフでは、比較として、第2実施例の適用のない関連技術による認識率の推移も示している。
第2実施例の適用のない関連技術とは、ユーザがサンプルデータ231から任意に学習データ232を選択し、ユーザによって選択された学習データ232を用いて遺伝的プログラミングを用いた学習過程によって、画像処理アルゴリズム8aを生成する技術等である。
第2実施例では、サンプルデータ231をクラスタリングして各サンプル群G1~G8の代表サンプルを学習データ232に含めるため、サンプルデータ231に含まれる複数の入力画像2の特徴を全体的に網羅して学習することができる。従って、汎用性の高い画像処理アルゴリズム8aを生成でき、図14に示す出力画像3eのような特徴の検出不可能な画像処理とならないようにできる。
第2実施例を適用した場合、初期段階から高い認識率を示すことが分かる。第2実施例により、学習の高速化が実現できる。
上述したように、第2実施例では、適用先の画像特徴をとらえた学習データ232の選択と逐次的に再学習を行うことで、目的とする性能の良い画像処理アルゴリズム8aを効率的に探索でき、学習速度の高速化し、学習精度を向上させる。
本発明は、具体的に開示された第1及び第2実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
また、本願は2012年12月28日に出願した日本国特許出願2012-288440号に基づく優先権を主張するものであり同日本国出願の全内容を本願に参照により援用する。
1 ロバストな画像処理
1a 木構造処理
1b 個体群
1d 入替個体情報
2 入力画像
2in 入力画像
3 出力画像
3out 出力結果
4 目的画像
5r 初期個体生成ルール
8a 画像処理アルゴリズム
9 個体(画像処理フィルタ群)
11 CPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
16 出力装置
17 通信I/F
18 ドライブ
19 記憶媒体
31 フィルタテーブル
41 初期個体生成部
42 進化過程処理部
42-1 交叉処理部
42-2 突然変異処理部
43 個体適応計算部
44 生存選択部
45 個体入替部
71 特徴分析部
72 クラスタリング部
73 学習データ選択部
74 自動構成部
75 フィルタ検証部
76 特徴再分析部
100、200 画像処理装置
130、230 記憶部
231 サンプルデータ
232 学習データ
233 中間特徴情報
239 出力結果
1a 木構造処理
1b 個体群
1d 入替個体情報
2 入力画像
2in 入力画像
3 出力画像
3out 出力結果
4 目的画像
5r 初期個体生成ルール
8a 画像処理アルゴリズム
9 個体(画像処理フィルタ群)
11 CPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
16 出力装置
17 通信I/F
18 ドライブ
19 記憶媒体
31 フィルタテーブル
41 初期個体生成部
42 進化過程処理部
42-1 交叉処理部
42-2 突然変異処理部
43 個体適応計算部
44 生存選択部
45 個体入替部
71 特徴分析部
72 クラスタリング部
73 学習データ選択部
74 自動構成部
75 フィルタ検証部
76 特徴再分析部
100、200 画像処理装置
130、230 記憶部
231 サンプルデータ
232 学習データ
233 中間特徴情報
239 出力結果
Claims (14)
- 複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置であって、
前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、
複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に前記複数の画像フィルタを配列した個体群を生成する個体生成部と
を有することを特徴とする画像処理装置。 - 前記個体生成部は、
遺伝的プログラミングを用いて、前記木構造に前記複数の画像フィルタを配列した個体群を生成することを特徴とする請求項1記載の画像処理装置。 - 前記個体生成部は、
前記目的画像をルートとして、前記複数の画像フィルタを木構造に配列し、所定階層において前記入力画像を終端ノードに選択することを特徴とする請求項2記載の画像処理装置。 - 前記個体群に対して、遺伝的プログラミングを用いた進化過程処理を行う進化過程処理部を更に有し、
前記進化過程処理部は、交叉ペアの選択を前記階層毎に制限する交叉ペアの制限ルールを用いて、前記個体群に対して交叉処理を行うことを特徴とする請求項1項記載の画像処理装置。 - 前記進化過程処理部は、突然変異の種類を前記階層毎に制限する突然変異の制限ルールを用いて、前記個体群に対して突然変異処理を行うことを特徴とする請求項4記載の画像処理装置。
- コンピュータによって実行される、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出方法であって、
記憶部に格納された、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の前記複数の画像フィルタに係る情報を管理するフィルタテーブルを参照し、
前記階層毎に、前記画像フィルタを前記フィルタテーブルから選択し、
前記木構造に前記複数の画像フィルタを配列した個体群を生成する
ことを特徴とする特徴検出方法。 - コンピュータによって実行される、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出プログラムであって、
記憶部に格納された、複数の画像処理により階層化された階層毎に、該階層毎に異なる前記複数の画像フィルタに係る情報を管理するフィルタテーブルを参照し、
前記階層毎に、前記画像フィルタを前記フィルタテーブルから選択し、
前記木構造に前記複数の画像フィルタを配列した個体群を生成する
ことを特徴とする特徴検出プログラム。 - 撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置であって、
初期学習時に前記画像の特徴量に基づいて学習データを選択する選択部と、
遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部と
を有するを特徴とする画像処理装置。 - 前記画像の平均輝度、輝度ヒストグラム、空間周波数情報から前記特徴量を取得することを特徴とする請求項8記載の画像処理装置。
- 前記遺伝的プログラミングを用いた学習過程において、生成途中の木構造状の前記処理プログラムから特徴量を算出し、学習データを再選別することを特徴とする請求項8記載の画像処理装置。
- 木構造状の前記処理プログラムから、該処理プログラムの各フィルタから前記画像の平均輝度を特徴量として取得することを特徴とする請求項10記載の画像処理装置。
- 前記学習データに対して前記特徴量によるクラスタリングを行い、分類されたサンプル群から代表サンプルを選択して、学習データを更新することを特徴とする請求項8記載の画像処理装置。
- 撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理方法であって、
初期学習時に前記画像の特徴量に基づいて学習データを選択し、
遺伝的プログラミングを用いた学習により前記木構造状の処理プログラムを生成する
ことを特徴とする画像処理方法。 - 撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理プログラムであって、
初期学習時に前記画像の特徴量に基づいて学習データを選択し、
遺伝的プログラミングを用いた学習により前記木構造状の処理プログラムを生成する
ことを特徴とする画像処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014554520A JP6102947B2 (ja) | 2012-12-28 | 2013-12-26 | 画像処理装置及び特徴検出方法 |
US14/744,607 US9710877B2 (en) | 2012-12-28 | 2015-06-19 | Image processing apparatus and feature detection method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012288440 | 2012-12-28 | ||
JP2012-288440 | 2012-12-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/744,607 Continuation US9710877B2 (en) | 2012-12-28 | 2015-06-19 | Image processing apparatus and feature detection method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014104151A1 true WO2014104151A1 (ja) | 2014-07-03 |
Family
ID=51021227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/084785 WO2014104151A1 (ja) | 2012-12-28 | 2013-12-26 | 画像処理装置及び特徴検出方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9710877B2 (ja) |
JP (1) | JP6102947B2 (ja) |
WO (1) | WO2014104151A1 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016045870A (ja) * | 2014-08-26 | 2016-04-04 | 大日本印刷株式会社 | 画像処理方法および画像処理装置 |
WO2016208037A1 (ja) * | 2015-06-25 | 2016-12-29 | 富士通株式会社 | プログラム生成装置、プログラム生成方法および生成プログラム |
CN108475425A (zh) * | 2016-01-20 | 2018-08-31 | 富士通株式会社 | 图像处理装置、图像处理方法及图像处理程序 |
WO2019220608A1 (ja) * | 2018-05-18 | 2019-11-21 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
JP2020205026A (ja) * | 2019-06-11 | 2020-12-24 | 富士電機株式会社 | 情報処理装置、情報処理システム、モデルの学習方法 |
JP2021039460A (ja) * | 2019-08-31 | 2021-03-11 | 東洋製罐グループホールディングス株式会社 | 画像処理システム、及び画像処理プログラム |
JP7468088B2 (ja) | 2020-02-18 | 2024-04-16 | 東洋製罐グループホールディングス株式会社 | 画像処理システム、及び画像処理プログラム |
JP7483405B2 (ja) | 2020-02-25 | 2024-05-15 | キヤノン株式会社 | 学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018078735A1 (ja) * | 2016-10-26 | 2018-05-03 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
JP6807459B2 (ja) * | 2017-07-25 | 2021-01-06 | 富士フイルム株式会社 | 損傷図作成方法、損傷図作成装置、損傷図作成システム、及び記録媒体 |
EP3683763A4 (en) * | 2017-09-11 | 2020-09-16 | Fujitsu Limited | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM |
CN108986017B (zh) * | 2018-06-29 | 2023-06-20 | 北京微播视界科技有限公司 | 图像特效处理方法、装置和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007087055A (ja) * | 2005-09-21 | 2007-04-05 | Yokohama National Univ | 進化計算システム及び進化計算方法 |
JP2009064162A (ja) * | 2007-09-05 | 2009-03-26 | Fuji Heavy Ind Ltd | 画像認識システム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5343554A (en) * | 1988-05-20 | 1994-08-30 | John R. Koza | Non-linear genetic process for data encoding and for solving problems using automatically defined functions |
US5140530A (en) * | 1989-03-28 | 1992-08-18 | Honeywell Inc. | Genetic algorithm synthesis of neural networks |
US5245696A (en) * | 1990-11-21 | 1993-09-14 | Ricoh Co. Ltd. | Evolution and learning in neural networks: the number and distribution of learning trials affect the rate of evolution |
JPH09330406A (ja) | 1996-06-10 | 1997-12-22 | Fuji Facom Corp | 学習支援装置およびパターン認識装置 |
JP2873955B1 (ja) | 1998-01-23 | 1999-03-24 | 東京工業大学長 | 画像処理方法および装置 |
GB9824829D0 (en) * | 1998-11-12 | 1999-01-06 | Marconi Comm Ltd | An intelligent network service creation method and system |
US6813615B1 (en) * | 2000-09-06 | 2004-11-02 | Cellomics, Inc. | Method and system for interpreting and validating experimental data with automated reasoning |
US6400849B1 (en) * | 2000-10-20 | 2002-06-04 | Shih-Jong J. Lee | Image processing system with enhanced processing and memory management |
JP2006048370A (ja) | 2004-08-04 | 2006-02-16 | Kagawa Univ | パターン認識方法、それに用いられる教示データ生成方法およびパターン認識装置 |
US7142992B1 (en) * | 2004-09-30 | 2006-11-28 | Kla-Tencor Technologies Corp. | Flexible hybrid defect classification for semiconductor manufacturing |
WO2006068223A1 (ja) * | 2004-12-24 | 2006-06-29 | National University Corporation Yokohama National University | 画像処理装置 |
JP4512578B2 (ja) * | 2006-10-27 | 2010-07-28 | 株式会社ブリヂストン | 分離フィルタ決定装置及びタイヤ検査装置 |
JP4548472B2 (ja) * | 2007-10-18 | 2010-09-22 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP5284863B2 (ja) * | 2009-04-30 | 2013-09-11 | 独立行政法人理化学研究所 | 画像処理装置、画像処理方法およびプログラム |
US10321840B2 (en) * | 2009-08-14 | 2019-06-18 | Brainscope Company, Inc. | Development of fully-automated classifier builders for neurodiagnostic applications |
US9250931B2 (en) * | 2012-07-06 | 2016-02-02 | Nvidia Corporation | System, method, and computer program product for calculating settings for a device, utilizing one or more constraints |
US9990712B2 (en) * | 2015-04-08 | 2018-06-05 | Algotec Systems Ltd. | Organ detection and segmentation |
-
2013
- 2013-12-26 WO PCT/JP2013/084785 patent/WO2014104151A1/ja active Application Filing
- 2013-12-26 JP JP2014554520A patent/JP6102947B2/ja active Active
-
2015
- 2015-06-19 US US14/744,607 patent/US9710877B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007087055A (ja) * | 2005-09-21 | 2007-04-05 | Yokohama National Univ | 進化計算システム及び進化計算方法 |
JP2009064162A (ja) * | 2007-09-05 | 2009-03-26 | Fuji Heavy Ind Ltd | 画像認識システム |
Non-Patent Citations (3)
Title |
---|
ATSUSHI SHIROMARU: "Automatic Design of Image Recognition Algorithms using Genetic Programming", IEICE TECHNICAL REPORT, vol. 101, no. 363, 12 October 2001 (2001-10-12), pages 21 - 28 * |
SHIN'ICHI SHIRAKAWA: "Automatic Construction of Image Classification Algorithms Based on Genetic Image Network", TRANSACTIONS OF THE JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE, vol. 25, no. 2, 26 January 2010 (2010-01-26), pages 262 - 271 * |
SHIN'YA AOKI: "ACTIT:Automatic Construction of Tree-structural Image Transformations", THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 53, no. 6, 20 June 1999 (1999-06-20), pages 888 - 894 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016045870A (ja) * | 2014-08-26 | 2016-04-04 | 大日本印刷株式会社 | 画像処理方法および画像処理装置 |
US10489710B2 (en) | 2015-06-25 | 2019-11-26 | Fujitsu Limited | Program generation apparatus and program generation method |
WO2016208037A1 (ja) * | 2015-06-25 | 2016-12-29 | 富士通株式会社 | プログラム生成装置、プログラム生成方法および生成プログラム |
CN107636698A (zh) * | 2015-06-25 | 2018-01-26 | 富士通株式会社 | 程序生成装置、程序生成方法以及生成程序 |
JPWO2016208037A1 (ja) * | 2015-06-25 | 2018-03-15 | 富士通株式会社 | プログラム生成装置、プログラム生成方法および生成プログラム |
CN107636698B (zh) * | 2015-06-25 | 2021-10-19 | 富士通株式会社 | 程序生成装置、程序生成方法以及生成程序 |
US11468261B2 (en) | 2016-01-20 | 2022-10-11 | Fujitsu Limited | Information processing apparatus, image processing method, and computer-readable recording medium recording image processing program |
JPWO2017126046A1 (ja) * | 2016-01-20 | 2018-09-20 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
CN108475425A (zh) * | 2016-01-20 | 2018-08-31 | 富士通株式会社 | 图像处理装置、图像处理方法及图像处理程序 |
CN108475425B (zh) * | 2016-01-20 | 2022-03-08 | 富士通株式会社 | 图像处理装置、图像处理方法及计算机可读取的记录介质 |
JP7028317B2 (ja) | 2018-05-18 | 2022-03-02 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
JPWO2019220608A1 (ja) * | 2018-05-18 | 2021-02-25 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
WO2019220608A1 (ja) * | 2018-05-18 | 2019-11-21 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
CN112154463A (zh) * | 2018-05-18 | 2020-12-29 | 富士通株式会社 | 信息处理装置、信息处理方法以及信息处理程序 |
JP2020205026A (ja) * | 2019-06-11 | 2020-12-24 | 富士電機株式会社 | 情報処理装置、情報処理システム、モデルの学習方法 |
JP7439467B2 (ja) | 2019-06-11 | 2024-02-28 | 富士電機株式会社 | 情報処理装置、情報処理システム、モデルの学習方法 |
JP2021039460A (ja) * | 2019-08-31 | 2021-03-11 | 東洋製罐グループホールディングス株式会社 | 画像処理システム、及び画像処理プログラム |
JP7314723B2 (ja) | 2019-08-31 | 2023-07-26 | 東洋製罐グループホールディングス株式会社 | 画像処理システム、及び画像処理プログラム |
JP7468088B2 (ja) | 2020-02-18 | 2024-04-16 | 東洋製罐グループホールディングス株式会社 | 画像処理システム、及び画像処理プログラム |
JP7483405B2 (ja) | 2020-02-25 | 2024-05-15 | キヤノン株式会社 | 学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2014104151A1 (ja) | 2017-01-12 |
JP6102947B2 (ja) | 2017-03-29 |
US9710877B2 (en) | 2017-07-18 |
US20150287160A1 (en) | 2015-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6102947B2 (ja) | 画像処理装置及び特徴検出方法 | |
US9430743B2 (en) | Composite defect classifier | |
RU2648946C2 (ru) | Способ и устройство распознавания категории объекта изображения | |
JP2020522077A (ja) | 画像特徴の取得 | |
JP5880454B2 (ja) | 画像識別装置及びプログラム | |
JPWO2019026104A1 (ja) | 情報処理装置、情報処理プログラム及び情報処理方法 | |
US9418440B2 (en) | Image segmenting apparatus and method | |
JP5482655B2 (ja) | 画像同一性尺度算出システム | |
JP6641195B2 (ja) | 最適化方法、最適化装置、プログラムおよび画像処理装置 | |
WO2017068675A1 (ja) | プログラム生成装置、プログラム生成方法および生成プログラム | |
JP2017168057A (ja) | 画像分類装置、画像分類システム及び画像分類方法 | |
KR20170109304A (ko) | 객체 인식을 위한 캐스케이드 분류기의 병렬 학습 방법 | |
US9582869B2 (en) | Dynamic binning for diversification and defect discovery | |
CN104715024A (zh) | 一种多媒体热点分析方法 | |
CN107273910A (zh) | 过滤器学习方法及利用过滤器检测测试图像中的对象的方法、学习装置及对象识别支持装置 | |
CN113963410B (zh) | 一种基于改进遗传算法的人脸识别优化方法 | |
JP2018195231A (ja) | 学習モデル作成装置、該方法および該プログラム | |
CN108280236A (zh) | 一种基于LargeVis的随机森林可视化数据分析方法 | |
KR102313215B1 (ko) | 특징 생성 기술을 이용한 머신러닝 기반 결함 분류 장치 및 방법 | |
KR20100107649A (ko) | 가우시안 모델을 이용한 영상 처리 장치 및 방법 | |
JP2007200246A (ja) | 画像処理アルゴリズムの評価方法、生成方法、装置、プログラムおよび記録媒体 | |
KR20220084632A (ko) | 클러스터링 기능을 구비한 퓨샷 분류 장치 및 이의 메타 학습 방법 | |
US20210042550A1 (en) | Information processing device, information processing method, and computer-readable recording medium recording information processing program | |
JP7404817B2 (ja) | 学習装置、検出装置、学習方法、及び学習プログラム | |
CN112085164A (zh) | 一种基于无锚框网络的区域推荐网络提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13867277 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014554520 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13867277 Country of ref document: EP Kind code of ref document: A1 |