WO2009139161A1 - 画像処理装置、画像処理方法、処理装置、処理方法およびプログラム - Google Patents

画像処理装置、画像処理方法、処理装置、処理方法およびプログラム Download PDF

Info

Publication number
WO2009139161A1
WO2009139161A1 PCT/JP2009/002098 JP2009002098W WO2009139161A1 WO 2009139161 A1 WO2009139161 A1 WO 2009139161A1 JP 2009002098 W JP2009002098 W JP 2009002098W WO 2009139161 A1 WO2009139161 A1 WO 2009139161A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
weight
filter
generation
unit
Prior art date
Application number
PCT/JP2009/002098
Other languages
English (en)
French (fr)
Inventor
國米祐司
佐々木秀貴
Original Assignee
株式会社ニコン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ニコン filed Critical 株式会社ニコン
Priority to JP2010511885A priority Critical patent/JP5408128B2/ja
Publication of WO2009139161A1 publication Critical patent/WO2009139161A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering

Definitions

  • the present invention relates to an image processing apparatus, an image processing method, a processing apparatus, a processing method, and a program.
  • This application is related to the following Japanese application and claims priority from the following Japanese application. For designated countries where incorporation by reference of documents is permitted, the contents described in the following application are incorporated into this application by reference and made a part of this application. 1.
  • Japanese Patent Application No. 2008-128880 Application date May 15, 20082.
  • Japanese Patent Application No. 2008-128883 Filing Date May 15, 2008 Japanese Patent Application No. 2008-131370 Application date May 19, 2008 Japanese Patent Application No. 2008-301325 Application date November 26, 2008
  • An image filter generation method using evolutionary computation such as a genetic algorithm or genetic programming is known (for example, see Non-Patent Document 1).
  • a new image filter is generated by repeating operations such as crossover, mutation, and selection for an image filter a plurality of times.
  • an image filter with a complex structure that is optimal for each case and difficult to obtain analytically is designed with less effort. can do.
  • the generation change is repeated until the target image filter is obtained.
  • the conversion target image is converted by each of the plurality of image filters to generate a plurality of selection target images, and the selection target image and the target image are compared. Then, an image filter from which a selection target image closer to the target image can be obtained is selected and survived to the next generation.
  • the generation progresses it is preferable to compare the selection target image with the target image by giving different weights to each region in the image.
  • giving appropriate weights in each case required experience and knowledge and was very difficult.
  • data converters other than the image filter can be generated by evolutionary calculation in the same manner as the image filter.
  • the user of the image filter selected in the last generation could not confirm the weight for each area given when comparing the selection target image and the target image in the processing of each generation. Therefore, for example, the user cannot correct which area and how much weight is given in the process of the generation in the middle.
  • an appropriate image filter is not selected as a processing result of the last generation.
  • the user of the image filter selected in the last generation has to set how much weight is given to which area, and then has to extract the filter again from the first generation.
  • the weight of the region where the difference between at least one selection target image and the target image is larger among the plurality of selection target images is smaller than the difference.
  • a weight generation unit that generates weight data larger than the weight of the region, and for each of two or more selection target images of the plurality of selection target images, the difference from the target image is weighted for each region by the weight data.
  • An image processing apparatus comprising: a calculation unit that calculates a similarity level; and an image selection unit that selects the selection target image that is more similar to the target image based on a similarity level of each of the two or more selection target images.
  • the weight data in which the weight of the area where the difference between any two or more of the selection target images is larger than the weight of the area where the difference is smaller is selected.
  • a weight generation unit that generates a similarity, and a calculation unit that calculates the degree of similarity by weighting the difference from the target image for each region with the weight data for each of two or more selection target images among the plurality of selection target images An image processing device, an image processing method, and a program are provided that include an image selection unit that selects the selection target image that is similar to the target image based on the similarity of each of the two or more selection target images.
  • a weight for data having a larger difference for each data of at least one set of a plurality of selection target data sets and target data sets each including a plurality of data A weight generation unit that generates a weight data set that is larger than a weight for data having a smaller difference, and a difference for each data between each of the two or more selection target data sets and the target data set is the weight data set And calculating the degree of approximation of each of the two or more selection target data sets with respect to the target data set, and the target data set based on the degree of approximation of each of the two or more selection target data sets.
  • Data set selection that selects the selection target data set that is approximated by When the processing apparatus comprising, providing a processing method and a program.
  • an image processing apparatus that generates an image filter by combining a plurality of filter components that respectively convert an input image into an output image, and at least one of the already generated image filters.
  • a filter generation unit that generates a new image filter by replacing some filter components with other filter components, and a plurality of selection targets by converting a conversion target image to be converted by each of the image filters.
  • a filter processing unit that generates an image; a weight generation unit that generates weight data indicating a weight of each region of the image based on at least one selection target image and a target image among the plurality of selection target images; and the weight A weight display unit for displaying a weight image indicating a weight for each region of the image according to data, and two or more selections among the plurality of selection target images For each of the images, based on the similarity between each of the two or more selection target images, a calculation unit that calculates the degree of similarity by weighting the difference from the target image for each region using the weight data, and the target image
  • An image processing apparatus, an image processing method, and a program are provided that include a filter selection unit that selects the image filter that generates the selection target image more similar to the above.
  • an image processing apparatus that generates an image filter by combining a plurality of filter components that respectively convert an input image into an output image, and at least one of the already generated image filters.
  • a filter generation unit that generates a new image filter by replacing some filter components with other filter components, and a plurality of selection targets by converting a conversion target image to be converted by each of the image filters.
  • a filter processing unit that generates an image; a weight input unit that inputs weight data indicating a weight of each region of the selection target image and the target image from a user; and two or more selection images of the plurality of selection target images
  • a calculation unit that calculates a similarity by weighting a difference from the target image for each region using the weight data, and the two or more selections. Based on the respective similarity target image, wherein a filter selector for selecting the image filter which generates the selection target image more similar to the target image, the image processing apparatus comprising, to provide an image processing method, and a program.
  • FIG. 1 shows a configuration of an image processing apparatus 10 according to the first embodiment.
  • FIG. 2 shows an example of the image filter 20 having a configuration in which the filter components 22 according to the first embodiment are combined in series.
  • FIG. 3 shows an example of the image filter 20 having a configuration in which the filter component 22 according to the first embodiment is combined with a tree structure.
  • FIG. 4 shows an example of genetic operations performed on the image filter 20 having a configuration in which the filter components 22 according to the first embodiment are combined in series.
  • FIG. 5 shows an example of a crossover operation performed on the image filter 20 having a configuration in which the filter component 22 according to the first embodiment is combined in a tree structure.
  • FIG. 6 shows an example of a mutation operation performed on the image filter 20 having a configuration in which the filter component 22 according to the first embodiment is combined with a tree structure.
  • FIG. 7 shows an example of a method for calculating similarity, which is an example of a parameter representing the degree of matching of the image filter 20 according to the first embodiment.
  • FIG. 8 shows a processing flow of the image processing apparatus 10 according to the first embodiment.
  • FIG. 9 shows an example of the processing flow of the image processing apparatus 10 in step S14 of FIG.
  • FIG. 10 shows an example of the processing flow of the weight generation unit 44 in step S21 of FIG.
  • FIG. 11 shows an example of a weight image updated for each generation in the first embodiment.
  • FIG. 12 shows a configuration of the processing apparatus 110 according to the second embodiment.
  • FIG. 12 shows a configuration of the processing apparatus 110 according to the second embodiment.
  • FIG. 13 shows a processing flow of the processing apparatus 110 according to the second embodiment.
  • FIG. 14 shows an example of the processing flow of the processing apparatus 110 according to the second embodiment in step S113 of FIG.
  • FIG. 15 shows an example of the processing flow of the weight generation unit 144 according to the second embodiment in step S116 of FIG.
  • FIG. 16 shows an example of weight data set generation processing according to the second embodiment.
  • FIG. 17 shows an example of the configuration of the weight generation unit 144 according to the second embodiment.
  • FIG. 18 shows a configuration of an image processing apparatus 10 according to a first modification that is a modification of the first embodiment.
  • FIG. 19 shows an example of a processing flow until the image processing apparatus 10 according to the first modification, which is a modification of the first embodiment, selects the image filter 20 in step S14.
  • FIG. 20 shows a configuration of a processing apparatus 110 according to a second modification that is a modification of the second embodiment.
  • FIG. 21 shows an example of the hardware configuration of the computer 1900 according to the first and second embodiment
  • FIG. 1 shows a configuration of an image processing apparatus 10 according to the first embodiment.
  • the image processing apparatus 10 generates an image filter 20 suitable for converting a conversion target image into a target image using evolutionary calculation.
  • the image processing apparatus 10 is realized by a computer as an example.
  • the image processing apparatus 10 includes a filter storage unit 32, a filter generation unit 34, a conversion target image storage unit 36, a filter processing unit 38, a selection target image storage unit 40, a target image storage unit 42, and a weight generation unit. 44, a calculation unit 46, an image selection unit 48, a filter selection unit 50, and a filter update unit 52.
  • the filter storage unit 32 stores a plurality of different image filters 20 that have already been generated.
  • the filter generation unit 34 generates a plurality of different image filters 20 by combining a plurality of filter components 22 that respectively convert an input image into an output image.
  • the filter generation unit 34 reads a plurality of image filters 20 stored in the filter storage unit 32.
  • the filter generation unit 34 performs genetic operations such as crossover and mutation on the plurality of read image filters 20, so that at least some of the filter components 22 are changed to other filter components 22.
  • a plurality of new replaced image filters 20 are generated.
  • the filter generation unit 34 returns the plurality of newly generated image filters 20 to the filter storage unit 32 and stores them in addition to the already generated plurality of image filters 20.
  • the conversion target image storage unit 36 stores a conversion target image to be converted by the image filter 20.
  • the conversion target image may be a sample of an image given to the image filter 20 in an application to which the image filter 20 generated by the image processing apparatus 10 is applied.
  • the conversion target image may be an image generated or photographed in advance by the user.
  • the filter processing unit 38 sequentially acquires the plurality of image filters 20 stored in the filter storage unit 32.
  • the filter processing unit 38 converts each conversion target image to be converted stored in the conversion target image storage unit 36 by each acquired image filter 20 to generate each selection target image. That is, the filter processing unit 38 filters the conversion target image by each image filter 20 to generate each of the selection target images.
  • the selection target image storage unit 40 stores the selection target image generated by the filter processing unit 38. As an example, the selection target image storage unit 40 associates each of the selection target images generated by converting the conversion target image by the plurality of image filters 20 in the filter processing unit 38 with the converted image filter 20. Store.
  • the target image storage unit 42 stores a target image that is a target of an image generated by converting the conversion target image.
  • the target image may be a sample of an image to be obtained by filtering the conversion target image with the image filter 20 in an application to which the image filter 20 generated by the image processing apparatus 10 is applied.
  • the target image may be an image generated or photographed in advance by the user.
  • the target image storage unit 42 may store a plurality of target images.
  • the weight generation unit 44 generates weight data representing the weight for each area of the screen.
  • the weight generation unit 44 may generate, as weight data, a weight image that represents the weight of the pixel position by the value of each pixel (for example, a luminance value).
  • the weight generation unit 44 obtains weight data in which the weight of the region where the difference between at least one selection target image and the target image among the plurality of selection target images is larger than the weight of the region where the difference is smaller.
  • the weight generation unit 44 may include a weight storage unit 60 and a weight update unit 62.
  • the weight storage unit 60 stores weight data.
  • the weight update unit 62 updates the weight data stored in the weight storage unit 60, for example, for each generation, in order to make the weight of the region with the larger difference larger than the weight of the region with the smaller difference.
  • the calculation unit 46 For each of two or more selection target images stored in the selection target image storage unit 40, the calculation unit 46 weights the difference from the target image for each region using weight data, and calculates the similarity. calculate.
  • the image selection unit 48 selects a selection target image that is more similar to the target image based on the similarity of each of the two or more selection target images.
  • the filter selection unit 50 selects the image filter 20 that generates the selection target image selected by the image selection unit 48 as the image filter 20 that converts the conversion target image into a similar image by the target image.
  • the filter update unit 52 updates the plurality of image filters 20 stored in the filter storage unit 32 with the new plurality of image filters 20 selected by the filter selection unit 50. For example, the filter update unit 52 may hesitate by leaving the selected image filter 20 in the filter storage unit 32 and deleting the image filter 20 other than the selected image filter 20 from the filter storage unit 32.
  • an image processing apparatus 10 repeats the process by the filter production
  • FIG. 2 shows an example of the image filter 20 having a configuration in which the filter components 22 are combined in series.
  • FIG. 3 shows an example of the image filter 20 having a configuration in which the filter component 22 is combined in a tree structure.
  • the image filter 20 receives the input image data, performs a filter calculation process on the received input image data, and outputs output image data.
  • the image filter 20 may be a program that performs an operation on image data.
  • the image filter 20 may be an arithmetic expression that represents the content of calculation to be performed on the image data.
  • the image filter 20 has a configuration in which a plurality of filter components 22 are combined.
  • the image filter 20 may have a configuration in which filter components 22 are combined in series as shown in FIG.
  • the image filter 20 may have a configuration in which the filter component 22 is combined in a tree structure as shown in FIG.
  • the image filter 20 having the structure in which the filter parts 22 are combined in a tree structure is supplied with input image data to the filter part 22 at the end of the tree structure, and outputs output image data from the uppermost filter part 22 in the tree structure. To do. Further, in such an image filter 20, the same input image data is given to each of the plurality of terminal filter components 22. Alternatively, such an image filter 20 may be provided with different input image data for each of the plurality of end filter components 22.
  • Each of the plurality of filter parts 22 may be a program module and an arithmetic expression.
  • the filter component 22 receives the image data output from the filter component 22 arranged in the preceding stage, performs an operation on the received image data, and gives it to the filter component 22 arranged in the subsequent stage.
  • Each of the plurality of filter components 22 is, for example, a binarization operation, a histogram operation, a smoothing operation, an edge detection operation, a morphology operation and / or an operation in a frequency space (for example, a low-pass filtering operation and a high-pass filtering operation).
  • the unary operation of Further, each of the plurality of filter components 22 may be, for example, an average operation, a difference operation, and / or a fuzzy operation (for example, an OR operation, an AND operation, an algebraic sum, an algebraic product, a limit sum, a limit product, an intense sum, and an intense sum). Binary operations such as product) may be performed.
  • FIG. 4 shows an example of genetic operations performed on the image filter 20 having a configuration in which the filter parts 22 are combined in series.
  • FIG. 5 shows an example of a crossover operation performed on the image filter 20 having a configuration in which the filter component 22 is combined in a tree structure.
  • FIG. 6 shows an example of a mutation operation performed on the image filter 20 having a configuration in which the filter component 22 is combined in a tree structure.
  • the filter generation unit 34 performs a crossover operation, which is an example of a genetic operation, on two or more image filters 20 to generate two or more new image filters 20. Good.
  • the filter generation unit 34 converts a part of the filter component group 24 ⁇ / b> A of at least one image filter 20 ⁇ / b> A that has already been generated into another image filter that has already been generated.
  • New image filters 20E and 20F may be generated by replacing at least a part of the filter component group 24B of 20B.
  • the filter component group 24 is a member in which one or a plurality of filter components 22 are combined.
  • the filter generation unit 34 may generate a new image filter 20 by performing a mutation operation, which is an example of a genetic operation, on the image filter 20. As an example, as illustrated in FIG. 4 and FIG. 6, the filter generation unit 34 selects a part of the filter component group 24 ⁇ / b> C of the already generated one image filter 20 ⁇ / b> C as another filter component group 24 ⁇ / b> G selected at random. May be used to generate a new image filter 20G.
  • the filter generation unit 34 may leave the current generation image filter 20 as the next generation image filter 20 as it is.
  • the filter generation unit 34 may generate a next-generation image filter 20H that includes the configuration of the filter component 22 of the image filter 20D as it is, as shown in FIG.
  • the filter selection unit 50 selects one or a plurality of image filters 20 by a technique in which a natural selection of living organisms is modeled with respect to the plurality of image filters 20 generated by the filter generation unit 34.
  • the filter selection unit 50 may preferentially select an image filter 20 having a higher degree of matching among the plurality of image filters 20.
  • the filter selection unit 50 may select the image filter 20 according to a technique such as elite selection and roulette selection based on the degree of fitness of each of the plurality of image filters 20. Then, the filter selection unit 50 stores the image filter 20 in the filter storage unit 32 in order to make the selected image filter 20 survive to the next generation, and in the filter storage unit 32 in order to kill the image filter 20 that has not been selected. Delete from.
  • FIG. 7 shows an example of a method for calculating similarity, which is an example of a parameter representing the degree of matching of the image filter 20.
  • the calculation unit 46 calculates a degree of similarity indicating how similar the selection target image generated by converting the conversion target image by the image filter 20 and the target image.
  • This similarity is an example of a parameter representing the degree of matching of the image filter 20 and is used as an evaluation value or an index indicating that the larger the value is, the more appropriate the image filter 20 that has generated the selection target image is. It is done.
  • the calculation unit 46 calculates a comparison value by comparing the value of each region of the selection target image with the value of each region corresponding to the target image, and multiplies the comparison value for each region by the weight specified by the weight data. . Then, the calculation unit 46 calculates a value obtained by averaging or summing the comparison values for each region multiplied by the weight for all regions, and outputs the calculated value as the similarity of the selection target image.
  • the calculation unit 46 may calculate the difference or ratio between the luminance value of each pixel of the selection target image and the luminance value of the corresponding pixel of the target image. For example, the calculation unit 46 multiplies each calculated difference or ratio for each pixel by a corresponding weight specified by the weight data, and sums or averages the difference or ratio for each pixel multiplied by the weight. Thus, the similarity may be calculated.
  • the calculation unit 46 may calculate the similarity by performing an operation represented by the following formula (1).
  • the selection target image, the target image, and the weight image have the same size.
  • f represents the similarity.
  • Y max represents the maximum luminance value.
  • X is a variable indicating the pixel position in the horizontal direction of the image.
  • y is a variable indicating the pixel position in the vertical direction of the image.
  • xmax is a constant indicating the number of pixels in the horizontal direction of the image.
  • tymax is a constant indicating the number of pixels in the vertical direction of the image.
  • Iweight (x, y) represents the luminance value of the pixel at the (x, y) position in the weighted image.
  • Itarget (x, y) represents the luminance value of the pixel at the (x, y) position in the target image.
  • Ifilter (x, y) represents the luminance value of the pixel at the (x, y) position in the selection target image.
  • the calculation unit 46 calculates the luminance value of the weighted image with respect to the absolute value of the difference in luminance value of the selection target image from the luminance value of the target image.
  • the multiplied weighted difference value is calculated for every pixel in the screen, and a total weighted difference value is calculated by adding the calculated weighted difference values for all pixels.
  • the calculation unit 46 calculates a total weight obtained by adding the luminance values of the weighted image for all pixels.
  • the calculation unit 46 multiplies the division value (in the curly braces of the expression (1)) obtained by dividing the total weighted difference value by the total weight by the reciprocal (1 / Y max ) of the maximum luminance value. (The second term of equation (1)) is calculated. Then, the calculation unit 46 calculates a value obtained by subtracting the normalized value from 1 as the similarity f. In this way, the calculation unit 46 can calculate the similarity by weighting the difference between the selection target image and the target image for each region.
  • FIG. 8 shows a processing flow of the image processing apparatus 10.
  • the image processing apparatus 10 repeatedly executes the processes in steps S12 to S16 a plurality of times (for example, a plurality of generations) (S11, S16).
  • the filter generation unit 34 performs a genetic operation such as a crossover operation and a mutation operation on the plurality of image filters 20 remaining from the previous generation, and creates a plurality of new image filters 20. Generate (S12). For example, in the first generation, the filter generation unit 34 performs a genetic operation on the plurality of image filters 20 generated in advance by a user or the like to generate a plurality of new image filters 20. It's okay.
  • the filter processing unit 38 generates a selection target image by filtering the conversion target image with each of the plurality of image filters 20 remaining from the previous generation and the plurality of image filters 20 newly generated in step S12. (S13). Accordingly, the filter processing unit 38 can generate a plurality of selection target images corresponding to the plurality of image filters 20.
  • the filter selection unit 50 calculates the similarity between each of the plurality of selection target images and the target image, and selects the plurality of image filters 20 corresponding to the selection target images having a higher similarity (S14). For example, the filter selection unit 50 may select one image filter 20 corresponding to one selection target image having the highest similarity in the last generation.
  • the filter selection unit 50 causes the one or more image filters 20 selected in step S14 to remain in the next generation, and deletes the image filter 20 that generated the selection target image that was not selected in step S14 (S15). ).
  • the image processing apparatus 10 repeatedly executes the above processing for a plurality of generations (for example, several tens or hundreds of generations), executes the processing up to the Nth generation (N is an integer of 2 or more), and then exits the flow. (S16). In this way, the image processing apparatus 10 can generate the image filter 20 suitable for converting the conversion target image into the target image using evolutionary calculation.
  • FIG. 9 shows an example of the processing flow of the image processing apparatus 10 in step S14 of FIG.
  • the image processing apparatus 10 performs the following processing in step S14 shown in FIG.
  • the weight generation unit 44 automatically updates the weight image so as to generate an appropriate weight image for each generation (step S21). Details of the weight image generation processing will be described later with reference to FIG.
  • step S23 the calculation unit 46 compares the selection target image and the target image with weighting according to the weighted image, and calculates the similarity between the selection target image and the target image.
  • step S25 the process proceeds to step S25 (S24).
  • the image selection unit 48 selects a selection target image closer to the target image from the plurality of selection target images based on the respective similarities of the plurality of selection target images (S25). For example, the image selection unit 48 may preferentially select a selection target image having a higher degree of similarity among a plurality of selection target images converted by the plurality of image filters 20. For example, the image selection unit 48 may select a selection target image whose similarity is higher than the reference similarity. In addition, as an example, the image selection unit 48 may select a selection target image within a predetermined range from the top. In addition, the image selection unit 48 may randomly select the selection target image under the condition that the selection target image having a higher degree of similarity is selected with a higher probability.
  • the filter selection unit 50 selects the image filter 20 that generates the selection target image selected by the image selection unit 48 as the image filter 20 that converts the conversion target image into a similar image by the target image (S26). .
  • the image processing apparatus 10 ends the flow.
  • FIG. 10 shows an example of the processing flow of the weight generation unit 44 in step S21 of FIG.
  • the weight generation unit 44 executes the following steps S31 to S33 in the weight image update processing in step S21 shown in FIG.
  • the weight update unit 62 of the weight generation unit 44 includes a plurality of selection targets generated by the plurality of image filters 20 remaining from the previous generation and the plurality of image filters 20 newly generated in step S12 of FIG. Of the images, at least one selection target image is extracted as a selection target image for updating the weighted image (S31).
  • the weight update unit 62 may extract a selection target image generated by any one of the plurality of image filters 20.
  • the weight updating unit 62 may extract a selection target image generated by the image filter 20 having the highest similarity calculated in the previous generation among the plurality of image filters 20.
  • the weight update unit 62 may extract one or a plurality of selection target images generated by the image filter 20 whose similarity calculated in the previous generation is equal to or greater than a predetermined value.
  • the weight update unit 62 calculates a difference for each region between the target image and at least one selection target image extracted for updating the weight image in step S31 (S32).
  • the weight update unit 62 may calculate a difference for each pixel between at least one selection target image extracted for weight image update and the target image.
  • the weight update unit 62 includes a plurality of selection target images extracted for weight image update and a plurality of target images. Among the differences, one largest difference may be selected for each region (for example, for each pixel).
  • the weight update unit 62 changes the weight image stored in the weight storage unit 60, that is, the weight image used in the previous generation, based on the difference for each region calculated in step S32 (S33). More specifically, the weight update unit 62 updates the weight data stored in the weight storage unit 60 so that the weight of the region with the larger difference is larger than the weight of the region with the smaller difference.
  • the weight storage unit 60 may store a weight image generated in advance by the user, or may store a weight image in which the weight for each region is the same.
  • FIG. 11 shows an example of a weight image updated for each generation. As described in FIG. 10, the weight generation unit 44 can generate an appropriate weight image for each generation.
  • the weight generation unit 44 may generate a difference image representing a pixel-by-pixel difference between the selection target image and the target image. For example, the weight generation unit 44 may update the weight data by multiplying the generated difference image by a predetermined coefficient and adding the result to the weight image stored in the weight storage unit 60. In this way, the weight generation unit 44 can update the weight image so that the weight of the region having the larger difference is increased and the weight of the region having the smaller difference is decreased.
  • the image processing apparatus 10 it is possible to calculate the similarity between the selection target image and the target image by appropriately weighting each screen area. Thereby, according to the image processing apparatus 10, it is possible to appropriately select a selection target image similar to the target image from among a plurality of selection target images.
  • a target is selected from a plurality of selection target images generated by the plurality of image filters 20 for the purpose of selecting the image filter 20 that should remain in the next generation.
  • the weight data used to calculate the similarity between the selection target image and the target image can be updated to an appropriate value for each generation. Therefore, for example, even when the generation has advanced, most of the plurality of selection target images generated by the plurality of image filters are close to the target image, and the difference between the plurality of selection target images is small.
  • the image processing apparatus 10 it is possible to appropriately determine a selection target image closer to the target image. As a result, the image processing apparatus 10 can generate an appropriate image filter 20 at high speed.
  • the weight generation unit 44 selects any two or more of the plurality of selection target images instead of generating the weight data based on the difference between the selection target image and the target image. You may generate the weight data which made the weight of the area
  • the weight generation unit 44 generates a difference image representing a pixel-by-pixel difference between the first selection target image and the second selection target image, and sets a predetermined coefficient in the generated difference image.
  • the weight data may be updated by multiplying and adding to the weight image stored in the weight storage unit 60.
  • the image processing apparatus 10 can generate an appropriate image filter 20 at high speed.
  • FIG. 12 shows the configuration of the processing apparatus 110 according to the second embodiment.
  • the processing device 110 generates a converter 120 that converts an input data set including a plurality of data into a converted data set including a plurality of data. More specifically, the processing apparatus 110 generates a converter 120 suitable for converting a conversion target data set including a plurality of data into a target data set including a plurality of data using evolutionary calculation.
  • the processing device 110 is realized by a computer as an example.
  • the data set to be converted by the converter 120 may be a one-dimensional data string, a two-dimensional data group, a three-dimensional data group, or a further multi-dimensional data group.
  • the one-dimensional data string may be, for example, time series data or an array data string.
  • the two-dimensional data group may be image data or the like in which a plurality of pixel data and the like are arranged in a two-dimensional space.
  • the three-dimensional data group may be volume data or the like in which data values representing color or density are arranged at each grid point in the three-dimensional space.
  • the converter 120 may output a data set having a dimension different from that of the input data set.
  • each converter 120 When the input data set is image data, each converter 120 has the same configuration as the image filter 20 described in the first embodiment, and the processing device 110 is the same as the image processing device 10 described in the first embodiment. It becomes the same composition. That is, each converter 120 may be an image filter that converts an input image including a plurality of pixel data into a converted image including a plurality of pixel data.
  • the converter 120 may have a configuration in which a plurality of conversion components that convert an input data set including a plurality of input data into an output data set including a plurality of output data are combined.
  • the converter 120 may have a configuration in which conversion components are combined in series like the image filter 20 illustrated in FIG. 2.
  • the converter 120 may have a configuration in which conversion components are combined in a tree structure, similarly to the image filter 20 shown in FIG.
  • the converter 120 may be, for example, a program that performs an operation on a data set, an arithmetic expression that indicates the operation content to be performed on the data set, and the like.
  • the processing device 110 includes a converter storage unit 132, a converter generation unit 134, a conversion target data set storage unit 136, a conversion processing unit 138, a selection target data set storage unit 140, and a target data set storage unit 142.
  • the converter storage unit 132 stores a plurality of different converters 120 that have already been generated.
  • the converter generation unit 134 generates the next generation converter 120 from at least one converter 120 of the current generation. Specifically, like the filter generation unit 34 described in the first embodiment, the converter generation unit 134 cross-converts at least a part of conversion components of the current generation converter 120 in which one or more conversion components are combined. Then, a genetic operation such as mutation is performed and replaced with another conversion component to generate a plurality of new transducers 120 of the next generation. For example, the converter generation unit 134 may perform a genetic operation similar to the operations shown in FIGS. 4, 5, and 6 on the converter 120.
  • the conversion target data set storage unit 136 stores a conversion target data set to be converted by the converter 120.
  • the conversion target data set storage unit 136 may store a plurality of conversion target data sets.
  • the conversion processing unit 138 sequentially acquires the plurality of converters 120 stored in the converter storage unit 132.
  • the conversion processing unit 138 converts the conversion target data set to be converted by each of the acquired plurality of converters 120 to generate each of the plurality of selection target data sets.
  • the selection target data set storage unit 140 stores the selection target data set generated by the conversion processing unit 138.
  • the selection target data set storage unit 140 converts each of the selection target data sets generated by converting the conversion target data sets by the plurality of converters 120 in the conversion processing unit 138 into the converted converter 120. Store in association.
  • the target data set storage unit 142 stores a target data set that is a target of a data set generated by converting the conversion target data set.
  • the target data set storage unit 142 may store a plurality of target data sets.
  • the weight generation unit 144 generates a weight data set including a plurality of weight data representing weights for each data in the comparison between the selection target data set and the target data set. For example, the weight generation unit 144 may generate a weight data set in which data is arranged in the same manner as the selection target data set or the target data set.
  • the weight generation unit 144 assigns a weight for data having a larger difference for each data between at least one set of the selection target data set and the target data set, and a weight for data having the smaller difference. Generate a larger weight data set. For example, the weight generation unit 144 adds a predetermined value to a weight corresponding to data having a difference greater than the threshold in the current generation weight data set, and a value smaller than the predetermined value to a weight corresponding to data having the difference equal to or less than the threshold. May be added to generate the next generation weight data set.
  • the weight generation unit 144 adds a predetermined value to the weight corresponding to data having a difference greater than the threshold in the current generation weight data set, and calculates the predetermined value from the weight corresponding to data having the difference equal to or less than the threshold.
  • the next generation weight data set may be generated by subtraction.
  • the weight generation unit 144 may include a weight storage unit 160 and a weight update unit 162 as an example.
  • the weight storage unit 160 stores a weight data set.
  • the weight update unit 162 changes the weight data set stored in the weight storage unit 160, for example, for each generation, in order to make the weight of data having a larger difference between the selected data sets larger than the weight of data having a smaller difference. Update. Details of the weight data set generation process will be described later.
  • the calculation unit 146 calculates the degree of approximation of each of the two or more selection target data sets with respect to each target data set by weighting the difference for each data between the two or more selection target data sets and the target data set by the weight data set. To do.
  • This degree of approximation is an example of a parameter that represents the degree of fitness of the converter 120. As the value is larger, it is an evaluation value or index indicating that the converter 120 that has generated the selection target data set is more appropriate. Used.
  • the calculation unit 146 represents the degree of approximation between the selection target data set and the weight data set. Similarity may be calculated.
  • the data set selection unit 148 selects a selection target data set that is approximated by the target data set, based on the degree of approximation of each of the two or more selection target data sets.
  • the converter selection unit 150 selects the converter 120 that outputs the selection target data set selected by the data set selection unit 148 as the converter 120 that converts the conversion target data set into a data set that approximates the target data set. .
  • the converter selection unit 150 selects one or a plurality of converters 120 by a technique in which a natural selection of living organisms is modeled with respect to the plurality of converters 120 stored in the converter storage unit 132.
  • the converter selection unit 150 may select at least one converter 120 selected in descending order of the degree of approximation of the selection target data set among the plurality of converters 120 of the current generation as the next-generation converter 120 (elite). Choice).
  • the converter selection unit 150 may use one converter 120 having the highest degree of approximation as the next-generation converter 120.
  • the converter selection unit 150 selects at least one converter 120 randomly selected from a plurality of current-generation converters 120 whose degree of approximation of the selection target data set is a certain level or more, The converter 120 may be used (roulette selection).
  • the converter update unit 152 updates the plurality of converters 120 stored in the converter storage unit 132 with the plurality of converters 120 selected by the converter selection unit 150. Specifically, the converter updating unit 152 stores the converter 120 in the converter storage unit 132 so that the selected converter 120 can survive to the next generation, and kills the converter 120 that has not been selected. It deletes from the converter storage part 132. FIG.
  • FIG. 13 shows a processing flow of the processing apparatus 110.
  • the processing device 110 repeatedly executes each process of steps S112 to S116 a plurality of times (for example, a plurality of generations) (S111, S117).
  • the conversion processing unit 138 generates a selection target data set by converting the conversion target data set by each of the plurality of current generation converters 120 stored in the converter storage unit 132 (S112). Thereby, the conversion processing unit 138 can generate a plurality of selection target data sets corresponding to the plurality of converters 120.
  • the converter selection unit 150 calculates the degree of approximation between each of the plurality of selection target data sets and the target data set by weighting with the weight data set, and corresponds to the selection target data set having a higher degree of approximation.
  • One or more converters 120 are selected (S113).
  • the converter selection unit 150 may select one converter 120 corresponding to one selection target data set having the highest degree of approximation in the last generation.
  • the converter update unit 152 causes the one or more converters 120 selected in step S113 to remain in the next generation, and deletes the converters 120 not selected in step S113 (S114).
  • the converter generation unit 134 performs a genetic operation such as a crossover operation and a mutation operation on the remaining one or more converters 120 to generate a new at least one converter 120. (S115). Then, the converter generation unit 134 stores the remaining converter 120 and the newly generated converter 120 in the converter storage unit 132 as a plurality of next-generation converters 120. Note that the converter generation unit 134 does not have to execute the process in the last generation.
  • the weight generation unit 144 generates a new weight data set for the next generation in order to generate an appropriate weight data set for each generation (S116). Details of the weight data set generation processing will be described later. Note that the weight generation unit 144 does not have to execute the process in the last generation.
  • the processing device 110 repeatedly executes the above processing for a plurality of generations (for example, several tens of generations or several hundreds of generations) and executes the processing up to the last generation (Nth generation (N is an integer of 2 or more)). Later, the flow is exited (S117). In this way, the processing device 110 can generate a converter 120 suitable for converting the conversion target data set into the target data set using evolutionary computation.
  • FIG. 14 shows an example of the processing flow of the processing device 110 in step S113 of FIG.
  • the processing device 110 executes the following processing in step S113 shown in FIG.
  • the calculation unit 146 executes the following step S122 for each of a plurality of selection target data sets generated by each of the plurality of current-generation converters 120 (S121, S123).
  • step S122 the calculation unit 146 compares the selection target data set and the target data set with weighting according to the weight data set, and calculates the degree of approximation between the selection target data set and the target data set.
  • step S ⁇ b> 124 the process proceeds to step S ⁇ b> 124 (S ⁇ b> 123).
  • the data set selection unit 148 selects a selection target data set closer to the target data set from among the plurality of selection target data sets based on the respective approximation degrees of the plurality of selection target data sets (S124).
  • the data set selection unit 148 may preferentially select a selection target data set having a higher degree of approximation among a plurality of selection target data sets converted by the plurality of converters 120.
  • the data set selection unit 148 may select a selection target data set having a higher degree of approximation than a reference degree of approximation.
  • the data set selection unit 148 may select a selection target data set in a range in which the degree of approximation is predetermined from the top. In addition, the data set selection unit 148 may select the selection target data set at random under the condition that the selection target data set having a higher degree of approximation is selected with a higher probability.
  • the converter selection unit 150 converts the converter 120 that generates the selection target data set selected by the data set selection unit 148 into a converter 120 that converts the conversion target data set into an image that approximates the target data set. Select (S125).
  • the processing device 110 ends the flow.
  • FIG. 15 shows an example of the processing flow of the weight generation unit 144 in step S116 of FIG.
  • the weight generation unit 144 executes the following steps S131 to S133 in the weight data set generation processing in step S116 shown in FIG. First, the weight generation unit 144 extracts at least one data set from the selection target data set and the target data set output by the converter 120 for generating a weight data set (S131).
  • the weight generating unit 144 calculates a difference for each data between at least one set of data sets extracted for generating the weight data set in step S131 (S132).
  • the weight generation unit 144 calculates a difference between data of corresponding positions in the extracted set of data sets. For example, if the set of extracted data sets is a three-dimensional data group, the weight generation unit 144 may calculate a data difference between lattice points corresponding to each other. Further, the weight generation unit 144 may calculate the absolute value of the subtraction result of the two data as a difference.
  • the weight generation unit 144 calculates the difference between the plurality of data sets for each data (for example, for each lattice point in the case of a three-dimensional data group). ), May be summed or averaged.
  • the weight generation unit 144 may select, for each data, one largest difference among the differences between a plurality of data sets.
  • the weight generation unit 144 generates a weight data set for the next generation based on the difference for each data calculated in step S132 (S133). More specifically, the weight generation unit 144 generates a next-generation weight data set that makes the weight of data with a larger difference larger than the weight of data with a smaller difference.
  • the weight generation unit 144 may store a weight data set generated in advance by the user in the first generation, or may store a weight data set in which the weights for each data are the same. Good.
  • the weight generation unit 144 that performs such processing, in step S131, at least one set of at least one selection target data set and target data set output by at least one converter 120 before the current generation. Next generation weight data sets are generated from the data sets.
  • the weight generation unit 144 may extract a set of at least one selection target data set selected in descending order of the degree of approximation and a target data set in at least one generation before the current generation. . That is, in this case, the weight generation unit 144 extracts a set of the selection target data set and the target data set for each generation before the current generation.
  • the weight generation unit 144 may extract a set of two selection target data sets selected in descending order of approximation in at least one generation before the current generation. That is, in this case, the weight generation unit 144 extracts a set of two different selection target data sets for each generation before the current generation.
  • the weight generation unit 144 includes a set of at least one selection target data set selected in descending order of the degree of approximation and a target data set in each of at least one generation before the current generation, and Both sets of two selection target data sets selected in descending order of the degree of approximation may be extracted. That is, in this case, the weight generation unit 144 extracts both the set of the target data set and the selection target data set and the set of two different selection target data sets for each generation before the current generation.
  • the weight generation unit 144 calculates a difference for each data between data sets for each pair extracted as described above. Then, the weight generation unit 144 generates a weight data set for the next generation from the difference for each data calculated for each set. Accordingly, the calculation unit 146 weights the difference for each data between each of the two or more selection target data sets output from the two or more next-generation converters 120 and the target data set by the next-generation weight data set. Thus, the degree of approximation of each of the two or more selection target data sets can be calculated.
  • the processing apparatus 110 it is possible to calculate the degree of approximation between the selection target data set and the target data set by appropriately weighting each data with the weight data set. Thereby, according to the processing apparatus 110, the selection object data set approximated to the target data set can be appropriately selected from the plurality of selection object data sets.
  • the processing device 110 generates a weight data set for the next generation using the selection target data set generated in each generation before the current generation.
  • the processing device 110 it is possible to stably generate an appropriate weight data set in the long term by avoiding a state in which the same weight data set is periodically generated repeatedly. it can.
  • FIG. 16 shows an example of a weight data set generation process.
  • the weight generation unit 144 for each of at least one generation before the current generation, the difference for each data between each of the at least one selection target data set selected in descending order and the target data set A weight data set for the next generation that is monotonically non-decreasing with respect to the sum of the above may be generated.
  • Such a weight generation unit 144 can stably generate an appropriate weight data set in the long term.
  • the weight generation unit 144 may generate a weight data set based on an arithmetic expression represented by the following expression (11).
  • W N + 1, M in equation (11) represents the value of the Mth (M is an integer greater than or equal to 1) weight data included in the N + 1th generation (N is an integer greater than or equal to 1) weight data set.
  • F (X) in the equation (11) represents a monotone non-decreasing function with X as a variable. That is, F (X) represents a value that does not decrease at least when X changes in the increasing direction. F (X) may be a monotonically increasing function. Note that F (X) and X are values in a range that can be taken by each data included in the data set.
  • DK, M in the formula (11) is represented by the following formula (12).
  • D K, M in Expression (11) is included in the Mth value (P K, M ) included in the selected selection target data set in the Kth generation (K is an integer) and the target data set.
  • the Mth value (T M ) and the absolute value of the difference are represented.
  • the weight generation unit 144 and each of the at least one selection target data set selected in descending order of the degree of approximation in each of a plurality of generations before the current generation and the target data set The difference for each data may be calculated. Subsequently, the weight generation unit 144 may calculate the total of the calculated differences for each data, and divide each of the totals for each data by the number of generations of the current generation. Then, the weight generation unit 144 may generate a next-generation weight data set including values obtained by level-converting each division result for each data using a predetermined monotonous non-decreasing function. Thereby, the weight generation unit 144 can stably generate an appropriate weight data set in the long term.
  • the monotonous non-decreasing function F (X) of the equation (11) may be a function as shown in the following equation (13) as an example.
  • the function represented by the following equation (13) the change amount of the weight data is large in the range where the difference value is small, and the change amount of the weight data is small in the range where the difference value is large.
  • the monotonic non-decreasing function F (X) in Expression (11) is, for example, a function in which the change amount of the weight data is small in the range where the difference value is small and the change amount of the weight data is large in the range where the difference value is large. May be. By using such a function, the weight generation unit 144 can change the weight more sensitively in a region where the difference value is large.
  • the weight generation unit 144 may include, for each data between each target data set and each of at least one selection target data set selected in descending order of approximation in each of at least one generation before the current generation.
  • the next generation weight data set may be generated that is monotonically non-decreasing with respect to the total weighted according to the generation of the converter 120 that has output the selection target data set.
  • the weight generation unit 144 may generate a weight data set based on an arithmetic expression represented by the following expression (14).
  • W K in Expression (14) represents a weight given to the difference of the Kth generation.
  • Parameters other than W K in equation (14) are the same as in equation (11).
  • the weight generation unit 144 determines whether or not each of a plurality of generations before the current generation and at least one selection target data set selected in descending order of approximation and the target data set. The difference for each data may be calculated. Subsequently, the weight generation unit 144 may calculate, for each data, a sum obtained by multiplying the calculated difference by a weight set in advance for each generation, and divide each of the totals for each data by the number of generations of the current generation. . Then, the weight generation unit 144 may generate a next-generation weight data set including values obtained by level-converting each division result for each data using a predetermined monotonous non-decreasing function. Thereby, the weight generation unit 144 can stably generate an appropriate weight data set in the long term.
  • the weight generation unit 144 may calculate a sum by assigning a larger weight to a generation closer to the current generation and a smaller weight to a further generation.
  • the weight generation unit 144 ranks the selection target data in descending order of the degree of approximation in the generation, and calculates a sum of weights according to the rank. May be.
  • FIG. 17 shows an example of the configuration of the weight generation unit 144.
  • the weight generation unit 144 may further include a generation number determination unit 164.
  • the generation number determination unit 164 specifies the number of generations that the weight generation unit 144 uses to generate a weight data set for the next generation in each generation.
  • the weight generation unit 144 selects each data between each of the at least one selection target data set selected in descending order and the target data set in each generation of the number of generations specified in advance before the current generation. It is possible to generate a weight data set for the next generation that is monotonically non-decreasing with respect to the total difference.
  • the generation number determination unit 164 may designate each generation from the current generation to a predetermined number of generations before.
  • a weight generation unit 144 can generate a weight data set excluding a very old generation with a small influence. Thereby, according to the weight production
  • the weight generation unit 144 may generate a weight data set based on an arithmetic expression represented by the following expression (15).
  • L in Expression (15) represents the number of generations specified by the generation number determination unit 164.
  • Parameters other than L in equation (15) are the same as in equation (14).
  • the weight generation unit 144 selects at least one selection target data set selected in descending order of the degree of approximation in each of a plurality of generations from the current generation to a predetermined number of generations before. A difference for each data between each and the target data set may be calculated. Subsequently, the weight generation unit 144 may calculate, for each data, a sum obtained by multiplying the calculated difference by a weight set in advance for each generation, and divide each of the totals for each data by the number of generations of the current generation. . Then, the weight generation unit 144 may generate a next-generation weight data set including values obtained by level-converting each division result for each data using a predetermined monotonous non-decreasing function. As a result, the weight generation unit 144 can stably generate an appropriate weight data set for a long period of time with a small amount of calculation.
  • the generation number determination unit 164 determines the number of generations that the weight generation unit 144 uses to generate a weight data set for the next generation in each generation according to the maximum amount of change in approximation in each generation. May be determined. As an example, the generation number determination unit 164 reduces the number of generations used to generate the weight data set for the next generation as the change amount of the maximum approximation degree between generations is larger, and the maximum approximation between generations. The smaller the degree change amount, the larger the number of generations used to generate the next generation weight data set. For example, the generation number determination unit 164 may determine the number of generations according to a value proportional to the reciprocal of the amount of change in the degree of approximation. Thus, the generation number determination unit 164 uses the generation used to generate the next generation weight data set when the generation progresses and the selection target data set generated by the image filter 20 is more approximate to the target data set. You can increase the number.
  • the weight generation unit 144 uses a difference for each data between each of the at least one selection target data set selected in descending order of the degree of approximation in the current generation weight data set and the target data set.
  • the substitute weight data set may be updated to a weight data set for the next generation. Since such a weight generation unit 144 does not use the selection target data set generated in the past generation, the next generation weight data set can be generated with a small amount of calculation. Furthermore, since the weight generation unit 144 does not need to store the selection target data set generated in the past generation, the memory can be reduced.
  • the weight generation unit 144 may generate a weight data set based on an arithmetic expression represented by the following expression (16).
  • represents a predetermined coefficient.
  • C in the equation (16) represents a predetermined reference value.
  • W N, M in Expression (16) represents the value of the Mth weight data included in the Nth generation weight data set. Parameters other than ⁇ , C, W N, and M in equation (16) are the same as in equation (11). Also, W N + 1, M shown in Expression (16) is limited to the maximum value when it exceeds the maximum value of the data range that the weight data can take, and is limited to the minimum value when it falls below the minimum value.
  • the weight generation unit 144 determines in advance from the difference for each data between each of the at least one selection target data set selected in descending order of the degree of approximation in the current generation and the target data set.
  • the next generation weight data set may be generated by multiplying the difference data set obtained by subtracting the determined reference value by a predetermined coefficient and adding it to the current generation weight data set.
  • the weight generation unit 144 can generate the next generation weight data set with a small amount of calculation, and can further reduce the memory.
  • C in Expression (16) may be a relatively small value as compared with the data range represented by the weight data W N, M. For example, if the weight data is a value in the range of 0 to 255, C may be a value of about 10, for example. Further, C in the equation (16) may be a value that changes for each generation. For example, C may be a value that decreases as the generation progresses. In addition, C in Expression (16) may also be a value that changes for each generation.
  • FIG. 18 shows a configuration of the image processing apparatus 10 according to a first modification which is a modification of the first embodiment.
  • the image processing apparatus 10 according to the first modification employs substantially the same configuration and function as the image processing apparatus 10 according to the first embodiment described with reference to FIGS. 1 to 11, so refer to FIGS. 1 to 11.
  • the members having substantially the same configuration and function as those of the members included in the image processing apparatus 10 described above are denoted by the same reference numerals, and description thereof will be omitted except for differences.
  • the image processing apparatus 10 further includes a weight display unit 70 and a weight input unit 72.
  • the weight update unit 62 in the weight generation unit 44 updates the weight data for each generation as an example.
  • the weight storage unit 60 may store the weight data before being updated separately from the updated weight data every time the weight data is updated by the weight update unit 62, for example.
  • the weight display unit 70 displays a weight image indicating the weight of each area of the image according to the weight data stored in the weight storage unit 60. For example, the weight display unit 70 acquires and displays the updated weight data in response to the update of the weight data stored in the weight storage unit 60.
  • the weight display unit 70 may display, for example, a weight image in which the degree of weight of each area of the image is color-coded for each degree. In addition, the weight display unit 70 may display a weight image that highlights and displays only an area where the degree of weight is equal to or higher than a predetermined level.
  • the weight display unit 70 may be a display device such as an LCD, for example.
  • the weight display unit 70 may be a drawing device such as a printer that outputs a weighted image by printing.
  • the weight display unit 70 may acquire the weight data in the previous generation process from the weight storage unit 60 and display it as a weight image together with the weight image corresponding to the weight data in the current generation process. Further, as another example, the weight display unit 70 displays an image in which a portion in which a weight image according to weight data in the current generation process is different from a weight image according to weight data in the previous generation process is emphasized. You may display with the weight image of a generation, or according to a user's selection.
  • the weight input unit 72 inputs weight data from the user.
  • the weight input unit 72 may update the weight data stored in the weight storage unit 60 to the weight data input from the user in response to the weight data input from the user. Further, the weight input unit 72 may cause the weight update unit 62 to update the weight data stored in the weight storage unit 60.
  • the weight input unit 72 inputs corrections to the weight data corresponding to the weight image displayed by the weight display unit 70 by the user.
  • the weight input unit 72 receives the weight data stored in the weight storage unit 60 in response to the input of the correction weight data from the user who confirmed the weight image displayed by the weight display unit 70. You may update to the weight data input from the user.
  • the weight input unit 72 sets the filter storage unit 32 to the one generation. To the state in which the image filter 20 is stored, and the filter generation unit 34, the filter processing unit 38, the calculation unit 46, the image selection unit 48, the filter selection unit 50, and the filter update unit 52 perform the one generation and subsequent generations. The process in is performed again.
  • FIG. 19 shows an example of a processing flow by the image processing apparatus 10 according to the first modification until the image filter 20 is selected in step S14 shown in FIG.
  • the image processing apparatus 10 according to the first modification executes the following processing in step S14 shown in FIG.
  • the weight generation unit 44 automatically calculates the weight image so that the similarity between each of the plurality of selection target images and the target image can be appropriately calculated for each region using the weight image that is an example of the weight data.
  • Update (S21) The weight image update process by the weight generation unit 44 may be, for example, the process illustrated in FIG.
  • the weight storage unit 60 may store a weight image generated in advance by the user, or may store a weight image in which the weight for each region is the same.
  • the weight image update process by the weight generation unit 44 in step S21 may be performed based on the input of the weight image from the user to the weight input unit 72 instead of the flow shown in FIG.
  • the user inputs a weight image obtained by correcting the weight of the region where the weight should be increased or the region where the weight should be decreased to the weight input unit 72.
  • the user may input numerical values such as the area to be corrected and the correction range of the weight to the weight input unit 72.
  • the weight input unit 72 may cause the weight update unit 62 to update the weight image stored in the weight storage unit 60 based on the input from the user.
  • the weight display unit 70 acquires and displays the updated weight image from the weight generation unit 44 in response to the update of the weight image (S22).
  • the calculation unit 46 performs the following step S24 for each of the plurality of selection target images generated by each of the plurality of image filters 20 stored in the filter storage unit 32 (S23, S25).
  • step S24 the calculation unit 46 compares the selection target image and the target image with weighting according to the weighted image, and calculates the similarity between the selection target image and the target image.
  • the process proceeds to step S26 (S25).
  • the image selection unit 48 selects a selection target image closer to the target image from the plurality of selection target images based on the respective similarities of the plurality of selection target images (S26). Then, the filter selection unit 50 selects the image filter 20 that generates the selected selection target image as the image filter 20 that converts the conversion target image into an image similar to the target image (S27). When the process of step S27 is completed, the image processing apparatus 10 ends the flow.
  • the user visually confirms the weight image used when comparing the selection target image with the target image in each generation of processing, and if necessary. It can be corrected. Furthermore, the image processing apparatus 10 according to the first modification can calculate the degree of similarity between the selection target image and the target image by appropriately weighting each image region. Thereby, the image processing apparatus 10 according to the first modification can appropriately select a selection target image similar to the target image from among the plurality of selection target images.
  • the image processing apparatus 10 executes the following processing. That is, the weight input unit 72 first stores the filter storage unit 32 in the image filter 20 in the one generation in response to input of weight data for one generation processed in the past from the user. Return to the state. In this case, for example, the filter storage unit 32 stores the history of the image filter 20 stored for each generation in association with each generation, and the weight input unit 72 stores the filter storage unit 32 based on the history. You may return to the state which stores the image filter 20 in the said one generation. Next, the weight input unit 72 causes the processes of steps S12 to S15 shown in FIG. 8 to be executed in the one generation and the subsequent generations.
  • the image processing apparatus 10 can select the image filter 20 by executing the processing after the generation again by changing the weight data for the generation processed by the user in the past. Therefore, even if the image filter 20 that generates the selection target image similar to the target image is not selected once the processing is completed up to the last generation, the image processing apparatus 10 allows the user to weight the arbitrary generation. By changing the data and executing the processing after that generation again, the image filter 20 that generates a selection target image more similar to the target image can be selected without executing the processing again from the first generation again. it can.
  • FIG. 20 shows a configuration of a processing apparatus 110 according to a second modification that is a modification of the second embodiment. Since the processing apparatus 110 according to the second modification employs substantially the same configuration and function as the image processing apparatus 10 described with reference to FIGS. 1 to 11, the processing apparatus described with reference to FIGS. 12 to 17.
  • the members having substantially the same configuration and function as the members included in 110 are denoted by the same reference numerals, and the description thereof will be omitted except for differences.
  • the processing apparatus 110 according to the second modification further includes a weight display unit 70 and a weight input unit 72.
  • the weight display unit 70 and the weight input unit 72 according to the second modification are different in that they process the weight data set and the converter 120, but are described with reference to FIGS. 18 and 19 in other points.
  • the weight display section 70 and the weight input section 72 have the same functions.
  • the user visually confirms the weight data set used when comparing the selection target data set and the target data set in each generation of processing, and if necessary, It can be corrected. Furthermore, the processing apparatus 110 according to the first modification can calculate the similarity between the selection target data set and the target data set by appropriately weighting each area of the data set. Thereby, the processing apparatus 110 according to the first modification can appropriately select a selection target data set approximate to the target data set from among a plurality of selection target data sets.
  • FIG. 21 shows an example of the hardware configuration of the computer 1900 according to the first and second embodiments.
  • a computer 1900 according to this embodiment is connected to a CPU peripheral unit having a CPU 2000, a RAM 2020, a graphic controller 2075, and a display device 2080 that are connected to each other by a host controller 2082, and to the host controller 2082 by an input / output controller 2084.
  • Input / output unit having communication interface 2030, hard disk drive 2040, and CD-ROM drive 2060, and legacy input / output unit having ROM 2010, flexible disk drive 2050, and input / output chip 2070 connected to input / output controller 2084 With.
  • the host controller 2082 connects the RAM 2020 to the CPU 2000 and the graphic controller 2075 that access the RAM 2020 at a high transfer rate.
  • the CPU 2000 operates based on programs stored in the ROM 2010 and the RAM 2020 and controls each unit.
  • the graphic controller 2075 acquires image data generated by the CPU 2000 or the like on a frame buffer provided in the RAM 2020 and displays it on the display device 2080.
  • the graphic controller 2075 may include a frame buffer for storing image data generated by the CPU 2000 or the like.
  • the input / output controller 2084 connects the host controller 2082 to the communication interface 2030, the hard disk drive 2040, and the CD-ROM drive 2060, which are relatively high-speed input / output devices.
  • the communication interface 2030 communicates with other devices via a network.
  • the hard disk drive 2040 stores programs and data used by the CPU 2000 in the computer 1900.
  • the CD-ROM drive 2060 reads a program or data from the CD-ROM 2095 and provides it to the hard disk drive 2040 via the RAM 2020.
  • the ROM 2010, the flexible disk drive 2050, and the relatively low-speed input / output device of the input / output chip 2070 are connected to the input / output controller 2084.
  • the ROM 2010 stores a boot program that the computer 1900 executes at startup and / or a program that depends on the hardware of the computer 1900.
  • the flexible disk drive 2050 reads a program or data from the flexible disk 2090 and provides it to the hard disk drive 2040 via the RAM 2020.
  • the input / output chip 2070 connects the flexible disk drive 2050 to the input / output controller 2084 and inputs / outputs various input / output devices via, for example, a parallel port, a serial port, a keyboard port, a mouse port, and the like. Connect to controller 2084.
  • the program provided to the hard disk drive 2040 via the RAM 2020 is stored in a recording medium such as the flexible disk 2090, the CD-ROM 2095, or an IC card and provided by the user.
  • the program is read from the recording medium, installed in the hard disk drive 2040 in the computer 1900 via the RAM 2020, and executed by the CPU 2000.
  • a program that is installed in the computer 1900 and causes the computer 1900 to function as the image processing apparatus 10 according to the first embodiment includes a filter storage module, a filter generation module, a conversion target image storage module, a filter processing module, and a selection target image.
  • a storage module, a target image storage module, a weight generation module, a calculation module, an image selection module, a filter selection module, and a filter update module are provided.
  • the program may further include a weight display module and a weight input module.
  • These programs or modules work on the CPU 2000 or the like to change the computer 1900 into the filter storage unit 32, the filter generation unit 34, the conversion target image storage unit 36, the filter processing unit 38, the selection target image storage unit 40, and the target image storage unit. 42, a weight generation unit 44, a calculation unit 46, an image selection unit 48, a filter selection unit 50, a filter update unit 52, a weight display unit 70, and a weight input unit 72.
  • the information processing described in these programs is read into the computer 1900, so that the filter storage unit 32, the filter generation unit 34, the conversion, which are specific means in which the software and the various hardware resources described above cooperate.
  • the specific image processing apparatus 10 according to the intended use is constructed
  • a program that is installed in the computer 1900 and causes the computer 1900 to function as the processing device 110 according to the second embodiment includes a converter storage module, a converter generation module, a conversion target data set storage module, a conversion processing module, and the like.
  • the program may further include a weight display module and a weight input module.
  • These programs or modules work with the CPU 2000 or the like to change the computer 1900 into a converter storage unit 132, a converter generation unit 134, a conversion target data set storage unit 136, a conversion processing unit 138, a selection target data set storage unit 140,
  • the target data set storage unit 142, the weight generation unit 144, the calculation unit 146, the data set selection unit 148, the converter selection unit 150, the converter update unit 152, the weight display unit 70, and the weight input unit 72 are caused to function.
  • the information processing described in these programs is read into the computer 1900, whereby the converter storage unit 132 and the converter generation unit 134, which are specific means in which the software and the various hardware resources described above cooperate.
  • the specific processing apparatus 110 according to the intended purpose is constructed
  • the CPU 2000 executes a communication program loaded on the RAM 2020 and executes a communication interface based on the processing content described in the communication program.
  • a communication process is instructed to 2030.
  • the communication interface 2030 reads transmission data stored in a transmission buffer area or the like provided on a storage device such as the RAM 2020, the hard disk drive 2040, the flexible disk 2090, or the CD-ROM 2095, and sends it to the network.
  • the reception data transmitted or received from the network is written into a reception buffer area or the like provided on the storage device.
  • the communication interface 2030 may transfer transmission / reception data to / from the storage device by a DMA (direct memory access) method. Instead, the CPU 2000 transfers the storage device or the communication interface 2030 as a transfer source.
  • the transmission / reception data may be transferred by reading the data from the data and writing the data to the communication interface 2030 or the storage device of the transfer destination.
  • the CPU 2000 is all or necessary from among files or databases stored in an external storage device such as a hard disk drive 2040, a CD-ROM drive 2060 (CD-ROM 2095), and a flexible disk drive 2050 (flexible disk 2090).
  • This portion is read into the RAM 2020 by DMA transfer or the like, and various processes are performed on the data on the RAM 2020. Then, CPU 2000 writes the processed data back to the external storage device by DMA transfer or the like.
  • the RAM 2020 and the external storage device are collectively referred to as a memory, a storage unit, or a storage device.
  • the CPU 2000 can also store a part of the RAM 2020 in the cache memory and perform reading and writing on the cache memory. Even in such a form, the cache memory bears a part of the function of the RAM 2020. Therefore, in the present embodiment, the cache memory is also included in the RAM 2020, the memory, and / or the storage device unless otherwise indicated. To do.
  • the CPU 2000 performs various operations, such as various operations, information processing, condition determination, information search / replacement, etc., described in the present embodiment, specified for the data read from the RAM 2020 by the instruction sequence of the program. Is written back to the RAM 2020. For example, when performing the condition determination, the CPU 2000 determines whether the various variables shown in the present embodiment satisfy the conditions such as large, small, above, below, equal, etc., compared to other variables or constants. When the condition is satisfied (or not satisfied), the program branches to a different instruction sequence or calls a subroutine.
  • the CPU 2000 can search for information stored in a file or database in the storage device. For example, in the case where a plurality of entries in which the attribute value of the second attribute is associated with the attribute value of the first attribute are stored in the storage device, the CPU 2000 displays the plurality of entries stored in the storage device. The entry that matches the condition in which the attribute value of the first attribute is specified is retrieved, and the attribute value of the second attribute that is stored in the entry is read, thereby associating with the first attribute that satisfies the predetermined condition The attribute value of the specified second attribute can be obtained.
  • the program or module shown above may be stored in an external recording medium.
  • an optical recording medium such as DVD or CD
  • a magneto-optical recording medium such as MO
  • a tape medium such as an IC card, and the like
  • a storage device such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet may be used as a recording medium, and the program may be provided to the computer 1900 via the network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

 複数の選択対象画像のうち少なくとも1つの選択対象画像と目標画像との差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成する重み生成部と、複数の選択対象画像のうち2以上の選択対象画像のそれぞれについて、目標画像との差分を重みデータにより領域毎に重み付けして類似度を算出する算出部と、2以上の選択対象画像のそれぞれの類似度に基づいて、目標画像により類似する選択対象画像を選択する画像選択部と、を備える画像処理装置を提供する。

Description

画像処理装置、画像処理方法、処理装置、処理方法およびプログラム
 本発明は、画像処理装置、画像処理方法、処理装置、処理方法およびプログラムに関する。本出願は、下記の日本出願に関連し、下記の日本出願からの優先権を主張する出願である。文献の参照による組み込みが認められる指定国については、下記の出願に記載された内容を参照により本出願に組み込み、本出願の一部とする。
 1.特願2008-128880  出願日 2008年5月15日
 2.特願2008-128883  出願日 2008年5月15日
 3.特願2008-131370  出願日 2008年5月19日
 4.特願2008-301325  出願日 2008年11月26日
 遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いた画像フィルタの生成方法が知られている(例えば、非特許文献1参照。)。この方法においては、画像フィルタに対して、交叉、突然変異および選択等の操作を複数回繰り返すことにより、新たな画像フィルタを生成していく。このような進化的計算を用いた画像フィルタの生成方法によれば、それぞれの事例に対して最適であって、解析的に得ることが困難な複雑な構造の画像フィルタを、より少ない労力で設計することができる。
前薗正宜 他2名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、[online]、コンピュータ利用教育協議会、[2008年3月20日検索]、インターネット<URL:http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf>
 ところで、このように進化的計算により画像フィルタを生成する場合、目的の画像フィルタが得られるまでに世代交代を繰り返す。各世代においては、変換対象画像を複数の画像フィルタのそれぞれにより変換して複数の選択対象画像を生成し、選択対象画像と目標画像と比較する。そして、より目標画像と近似した選択対象画像が得られる画像フィルタを選択して、次世代へ生存させる。
 ここで、世代が進むと、複数の画像フィルタにより生成された複数の選択対象画像のほとんどが、目標画像と近くなっていく。従って、複数の選択対象画像の間の差が微小となり、次世代へ残存させるべき画像フィルタと現世代で淘汰すべき画像フィルタとの判別が困難となる。
 そこで、世代が進んだ場合、画像内の領域毎に異なる重みを与えて選択対象画像と目標画像とを比較することが好ましい。これにより、選択対象画像が目標画像に近似しているか否かの判別を容易とするとともに、より精度良く画像フィルタを選択することができる。例えば、画像内の重要な領域については比較結果に大きな重みを与え、画像内の重要でない部分については比較結果に小さな重みを与えることで、画像内の重要な部分についてより精度良くフィルタリングができる画像フィルタを選択することができる。しかしながら、それぞれの事例において適切な重みを与えることは、経験および知識が必要であり、非常に難しかった。
 また、画像フィルタ以外のデータ変換器も、画像フィルタと同様に進化的計算により生成することができる。しかし、このようなデータ変換器についても、適切な重みを与えて精度の良い変換器を選択することは、経験および知識が必要であり非常に難しかった。
 また、最終世代で選択された画像フィルタの使用者は、各世代の処理において選択対象画像と目標画像との比較時に与える領域毎の重みを確認することができなかった。したがって、使用者は、例えば、途中の世代の処理において、どの領域にどの程度の重みを与えるかを修正することができなかった。
 また、画像内の重要な領域とそうでない領域とが適切に選択されなかった場合、最終世代の処理結果として適切な画像フィルタが選択されない。この場合、最終世代で選択された画像フィルタの使用者はどの領域にどの程度の重みを与えるかを設定した後、最初の世代から、再度、フィルタの抽出処理しなければならなかった。
 上記課題を解決するために、本発明の第1の態様においては、複数の選択対象画像のうち少なくとも1つの選択対象画像と目標画像との差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成する重み生成部と、前記複数の選択対象画像のうち2以上の選択対象画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出する算出部と、前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を選択する画像選択部と、を備える画像処理装置、画像処理方法およびプログラムを提供する。
 本発明の第2の態様においては、複数の選択対象画像のうち、何れか2以上の選択対象画像同士の差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成する重み生成部と、前記複数の選択対象画像のうち2以上の選択対象画像のそれぞれについて、目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出する算出部と、前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を選択する画像選択部と、を備える画像処理装置、画像処理方法およびプログラムを提供する。
 本発明の第3の態様においては、それぞれが複数のデータを含む複数の選択対象データセットおよび目標データセットのうちの、少なくとも一組のデータセット同士についてのデータ毎の差分がより大きいデータに対する重みを、当該差分がより小さいデータに対する重みより大きくした重みデータセットを生成する重み生成部と、2以上の前記選択対象データセットのそれぞれと前記目標データセットとのデータ毎の差分を前記重みデータセットにより重み付けして前記2以上の選択対象データセットのそれぞれの前記目標データセットに対する近似度を算出する算出部と、前記2以上の選択対象データセットのそれぞれの近似度に基づいて、前記目標データセットにより近似する前記選択対象データセットを選択するデータセット選択部と、を備える処理装置、処理方法およびプログラムを提供する。
 本発明の第4の態様においては、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理装置であって、既に生成された一の前記画像フィルタの少なくとも一部のフィルタ部品を他のフィルタ部品に置換して、新たな前記画像フィルタを生成するフィルタ生成部と、それぞれの前記画像フィルタにより変換対象となる変換対象画像を変換させて、複数の選択対象画像を生成するフィルタ処理部と、複数の前記選択対象画像のうち少なくとも1つの選択対象画像および目標画像に基づいて、画像の各領域の重みを示す重みデータを生成する重み生成部と、前記重みデータに応じた画像の領域毎の重みを示す重み画像を表示する重み表示部と、前記複数の選択対象画像のうち2以上の選択画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出する算出部と、前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択するフィルタ選択部と、を備える画像処理装置、画像処理方法およびプログラムを提供する。
 本発明の第5の態様においては、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理装置であって、既に生成された一の前記画像フィルタの少なくとも一部のフィルタ部品を他のフィルタ部品に置換して、新たな前記画像フィルタを生成するフィルタ生成部と、それぞれの前記画像フィルタにより変換対象となる変換対象画像を変換させて、複数の選択対象画像を生成するフィルタ処理部と、前記選択対象画像と目標画像との各領域の重みを示す重みデータを使用者から入力する重み入力部と、前記複数の選択対象画像のうち2以上の選択画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出する算出部と、前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択するフィルタ選択部と、を備える画像処理装置、画像処理方法およびプログラムを提供する。
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
図1は、第1実施形態に係る画像処理装置10の構成を示す。 図2は、第1実施形態に係るフィルタ部品22を直列に組み合わせた構成の画像フィルタ20の一例を示す。 図3は、第1実施形態に係るフィルタ部品22を木構造に組み合わせた構成の画像フィルタ20の一例を示す。 図4は、第1実施形態に係るフィルタ部品22を直列に組み合わせた構成の画像フィルタ20に対して行われる遺伝子的な操作の一例を示す。 図5は、第1実施形態に係るフィルタ部品22を木構造に組み合わせた構成の画像フィルタ20に対して行われる交叉操作の一例を示す。 図6は、第1実施形態に係るフィルタ部品22を木構造に組み合わせた構成の画像フィルタ20に対して行われる突然変異操作の一例を示す。 図7は、第1実施形態に係る画像フィルタ20の適合度を表わすパラメータの一例である類似度の算出方法の一例を示す。 図8は、第1実施形態に係る画像処理装置10の処理フローを示す。 図9は、図8のステップS14における画像処理装置10の処理フローの一例を示す。 図10は、図9のステップS21における重み生成部44の処理フローの一例を示す。 図11は、第1実施形態において、世代毎に更新される重み画像の一例を示す。 図12は、第2実施形態に係る処理装置110の構成を示す。 図13は、第2実施形態に係る処理装置110の処理フローを示す。 図14は、図13のステップS113における第2実施形態に係る処理装置110の処理フローの一例を示す。 図15は、図13のステップS116における第2実施形態に係る重み生成部144の処理フローの一例を示す。 図16は、第2実施形態に係る重みデータセットの生成処理の一例を示す。 図17は、第2実施形態に係る重み生成部144の構成の一例を示す。 図18は、第1実施形態の変形例である第1変形例に係る画像処理装置10の構成を示す。 図19は、第1実施形態の変形例である第1変形例に係る画像処理装置10がステップS14において画像フィルタ20を選択するまでの処理フローの一例を示す。 図20は、第2実施形態の変形例である第2変形例に係る処理装置110の構成を示す。 図21は、第1及び第2実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、第1実施形態に係る画像処理装置10の構成を示す。画像処理装置10は、変換対象画像を目標画像へ変換するのに適した画像フィルタ20を進化的計算を用いて生成する。画像処理装置10は、一例として、コンピュータにより実現される。
 画像処理装置10は、フィルタ格納部32と、フィルタ生成部34と、変換対象画像格納部36と、フィルタ処理部38と、選択対象画像格納部40と、目標画像格納部42と、重み生成部44と、算出部46と、画像選択部48と、フィルタ選択部50と、フィルタ更新部52とを備える。フィルタ格納部32は、既に生成された互いに異なる複数の画像フィルタ20を格納する。
 フィルタ生成部34は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品22を組み合わせて、互いに異なる画像フィルタ20を生成する。フィルタ生成部34は、一例として、フィルタ格納部32に格納された複数の画像フィルタ20を読み出す。続いて、フィルタ生成部34は、一例として、読み出した複数の画像フィルタ20に対して交叉および突然変異等の遺伝子的な操作を行って、少なくとも一部のフィルタ部品22を他のフィルタ部品22に置換した新たな複数の画像フィルタ20を生成する。そして、フィルタ生成部34は、一例として、新たに生成した複数の画像フィルタ20をフィルタ格納部32に戻して、既に生成された複数の画像フィルタ20に加えて格納させる。
 変換対象画像格納部36は、画像フィルタ20の変換対象となる変換対象画像を格納する。変換対象画像は、一例として、当該画像処理装置10により生成された画像フィルタ20が適用されるアプリケーションにおいて、当該画像フィルタ20に与えられる画像のサンプル等であってよい。変換対象画像は、一例として、使用者により予め生成または撮影された画像であってよい。
 フィルタ処理部38は、フィルタ格納部32に格納された複数の画像フィルタ20を順次に取得する。フィルタ処理部38は、取得したそれぞれの画像フィルタ20により、変換対象画像格納部36に格納された変換対象となる変換対象画像を変換させて、選択対象画像のそれぞれを生成する。すなわち、フィルタ処理部38は、それぞれの画像フィルタ20により変換対象画像をフィルタリングして、選択対象画像のそれぞれを生成する。選択対象画像格納部40は、フィルタ処理部38において生成された選択対象画像を格納する。一例として、選択対象画像格納部40は、フィルタ処理部38において変換対象画像が複数の画像フィルタ20で変換されることにより生成された選択対象画像のそれぞれを、変換した画像フィルタ20に対応付けて格納する。
 目標画像格納部42は、変換対象画像を変換して生成される画像の目標となる目標画像を格納する。目標画像は、一例として、当該画像処理装置10により生成された画像フィルタ20を適用するアプリケーションにおいて、変換対象画像を画像フィルタ20によりフィルタリングして得られるべき画像のサンプル等であってよい。目標画像は、一例として、使用者により予め生成または撮影された画像であってよい。目標画像格納部42は、一例として、複数の目標画像を格納してもよい。
 重み生成部44は、画面の領域毎の重みを表わす重みデータを生成する。重み生成部44は、一例として、各ピクセルの値(例えば輝度値)によって当該ピクセル位置の重みを表わす重み画像を、重みデータとして生成してよい。
 ここで、重み生成部44は、複数の選択対象画像のうち少なくとも1つの選択対象画像と目標画像との差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成する。重み生成部44は、一例として、重み記憶部60と、重み更新部62とを有してよい。重み記憶部60は、重みデータを記憶する。重み更新部62は、差分がより大きい領域の重みを差分がより小さい領域の重みより大きくすべく、重み記憶部60に記憶された重みデータを、例えば世代毎に更新する。
 算出部46は、選択対象画像格納部40に格納された複数の選択対象画像のうち2以上の選択対象画像のそれぞれについて、目標画像との差分を重みデータにより領域毎に重み付けして類似度を算出する。画像選択部48は、2以上の選択対象画像のそれぞれの類似度に基づいて、目標画像により類似する選択対象画像を選択する。
 フィルタ選択部50は、画像選択部48により選択された選択対象画像を生成する画像フィルタ20を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ20として選択する。フィルタ更新部52は、フィルタ選択部50が選択した新たな複数の画像フィルタ20により、フィルタ格納部32に格納された複数の画像フィルタ20を更新する。フィルタ更新部52は、一例として、選択した画像フィルタ20をフィルタ格納部32内に残存させ、選択した画像フィルタ20以外の画像フィルタ20をフィルタ格納部32内から削除することにより淘汰してよい。
 そして、このような画像処理装置10は、フィルタ生成部34による処理、フィルタ選択部50による処理およびフィルタ更新部52による処理を複数回(例えば複数世代)繰り返す。これにより、画像処理装置10は、変換対象画像を目標画像へ変換するのに適した画像フィルタ20を、進化的計算を用いて生成することができる。
 図2は、フィルタ部品22を直列に組み合わせた構成の画像フィルタ20の一例を示す。図3は、フィルタ部品22を木構造に組み合わせた構成の画像フィルタ20の一例を示す。
 画像フィルタ20は、入力画像データを受け取り、受け取った入力画像データに対してフィルタ演算処理を施して、出力画像データを出力する。画像フィルタ20は、一例として、画像データに対して演算を施すプログラムであってよい。また、画像フィルタ20は、一例として、画像データに対して施すべき演算内容を表わす演算式であってもよい。
 画像フィルタ20は、複数のフィルタ部品22を組み合わせた構成を有する。画像フィルタ20は、一例として、図2に示されるように、フィルタ部品22を直列に組み合わせた構成を有してよい。また、画像フィルタ20は、一例として、図3に示されるように、フィルタ部品22を木構造に組み合わせた構成を有してよい。
 なお、フィルタ部品22が木構造に組み合わされた構成の画像フィルタ20は、木構造の末端のフィルタ部品22に入力画像データが与えられ、木構造の最上位のフィルタ部品22から出力画像データを出力する。また、このような画像フィルタ20は、複数の末端のフィルタ部品22のそれぞれに、同一の入力画像データが与えられる。これに代えて、このような画像フィルタ20は、複数の末端のフィルタ部品22のそれぞれに互いに異なる入力画像データが与えられてもよい。
 複数のフィルタ部品22のそれぞれは、プログラムモジュールおよび演算式等であってよい。フィルタ部品22は、前段に配置されたフィルタ部品22から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置されたフィルタ部品22に与える。
 複数のフィルタ部品22のそれぞれは、一例として、2値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算及び/又は周波数空間での演算(例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算)等の単項演算をしてよい。さらに、複数のフィルタ部品22のそれぞれは、一例として、平均演算、差分演算及び/又はファジー演算(例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等)等の二項演算をしてもよい。
 図4は、フィルタ部品22を直列に組み合わせた構成の画像フィルタ20に対して行われる遺伝子的な操作の一例を示す。図5は、フィルタ部品22を木構造に組み合わせた構成の画像フィルタ20に対して行われる交叉操作の一例を示す。図6は、フィルタ部品22を木構造に組み合わせた構成の画像フィルタ20に対して行われる突然変異操作の一例を示す。
 フィルタ生成部34は、一例として、2個又はそれ以上の画像フィルタ20に対して、遺伝子的な操作の一例である交叉操作を行って新たな2個又はそれ以上の画像フィルタ20を生成してよい。フィルタ生成部34は、一例として、図4および図5に示されるように、既に生成された少なくとも1つの一の画像フィルタ20Aの一部のフィルタ部品群24Aを、既に生成された他の画像フィルタ20Bの少なくとも一部のフィルタ部品群24Bと置換して、新たな画像フィルタ20Eおよび20Fを生成してよい。なお、フィルタ部品群24は、1又は複数のフィルタ部品22の組み合わせた部材である。
 また、フィルタ生成部34は、一例として、一の画像フィルタ20に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の画像フィルタ20を生成してよい。フィルタ生成部34は、一例として、図4および図6に示されるように、既に生成された一の画像フィルタ20Cの一部のフィルタ部品群24Cを、ランダムに選択された他のフィルタ部品群24Gに置換して、新たな画像フィルタ20Gを生成してよい。
 また、フィルタ生成部34は、一例として、現世代の画像フィルタ20をそのまま次世代の画像フィルタ20として残してもよい。フィルタ生成部34は、一例として、図4に示されるように、画像フィルタ20Dのフィルタ部品22の構成をそのまま含む次世代の画像フィルタ20Hを生成してよい。
 フィルタ選択部50は、フィルタ生成部34により生成された複数の画像フィルタ20に対して生物の自然淘汰をモデル化した手法により1または複数の画像フィルタ20を選択する。フィルタ選択部50は、一例として、複数の画像フィルタ20の中の適合度がより高い画像フィルタ20を優先的に選択してよい。フィルタ選択部50は、一例として、複数の画像フィルタ20のそれぞれの適合度に基づき、エリート選択およびルーレット選択といった手法に応じて、画像フィルタ20を選択してよい。そして、フィルタ選択部50は、選択した画像フィルタ20を次世代へ生存させるべく当該画像フィルタ20をフィルタ格納部32内に保存し、選択されなかった画像フィルタ20を死滅させるべくフィルタ格納部32内から削除する。
 図7は、画像フィルタ20の適合度を表わすパラメータの一例である類似度の算出方法の一例を示す。本実施形態において、算出部46は、当該画像フィルタ20により変換対象画像を変換させることにより生成された選択対象画像と、目標画像とがどれだけ類似しているかを表わす類似度を算出する。この類似度は、画像フィルタ20の適合度を表わすパラメータの一例であって、値がより大きいほど、当該選択対象画像を生成した画像フィルタ20がより適切であることを示す評価値または指標として用いられる。
 算出部46は、選択対象画像の各領域の値と目標画像の対応する各領域の値とを比較した比較値を算出し、領域毎の比較値に対して重みデータにより指定される重みを乗じる。そして、算出部46は、重みが乗じられた領域毎の比較値を全領域について平均または合計した値を算出し、算出した値を当該選択対象画像の類似度として出力する。
 算出部46は、一例として、選択対象画像のピクセル毎の輝度値と、目標画像の対応するピクセルの輝度値との差分または比率を算出してよい。そして、算出部46は、一例として、算出したピクセル毎の差分または比率のそれぞれに、重みデータにより指定される対応する重みを乗じ、重みが乗じられたピクセル毎の差分または比率を合計または平均して、類似度を算出してよい。
 例えば、重みデータが重み画像により表わされている場合、算出部46は、下記式(1)に示される演算をして、類似度を算出してよい。なお、この場合において、選択対象画像、目標画像および重み画像のサイズは、同一とされる。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、fは、類似度を表わす。Ymaxは、輝度の最大値を表わす。
 また、xは、画像の水平方向のピクセル位置を示す変数である。yは、画像の垂直方向のピクセル位置を示す変数である。xmaxは、画像の水平方向のピクセル数を示す定数である。tymaxは、画像の垂直方向のピクセル数を示す定数である。
 Iweiht(x,y)は、重み画像における(x,y)位置のピクセルの輝度値を表わす。Itarget(x,y)は、目標画像における(x,y)位置のピクセルの輝度値を表わす。Ifilter(x,y)は、選択対象画像における(x,y)位置のピクセルの輝度値を表わす。
 すなわち、式(1)の中カッコ内の分子部分に示されるように、算出部46は、目標画像の輝度値から選択対象画像の輝度値の差の絶対値に対して重み画像の輝度値を乗じた重み付き差分値を、画面内の全てのピクセル毎に算出し、算出した重み付き差分値を全ピクセルについて合計した合計重み付け差分値を算出する。さらに、式(1)の中カッコ内の分母部分に示されるように、算出部46は、重み画像の輝度値を全ピクセルについて合計した合計重みを算出する。さらに、算出部46は、合計重み付け差分値を合計重みで除算した除算値(式(1)の中カッコ内)に、輝度値の最大値の逆数(1/Ymax)を乗じて正規化値(式(1)の2番目の項)を算出する。そして、算出部46は、1から、正規化値を減じた値を、類似度fとして算出する。このようにして、算出部46は、選択対象画像と目標画像との差分を領域毎に重み付けして類似度を算出することができる。
 図8は、画像処理装置10の処理フローを示す。画像処理装置10は、ステップS12~ステップS16の各処理を、複数回(例えば複数世代)繰返して実行する(S11、S16)。
 各世代において、まず、フィルタ生成部34は、前世代から残存した複数の画像フィルタ20に対して、交叉操作および突然変異操作等の遺伝的な操作を行って、新たな複数の画像フィルタ20を生成する(S12)。なお、フィルタ生成部34は、一例として、最初の世代においては、使用者等により予め生成された複数の画像フィルタ20に対して遺伝的な操作を行って新たな複数の画像フィルタ20を生成してよい。
 続いて、フィルタ処理部38は、前世代から残存した複数の画像フィルタ20およびステップS12で新たに生成された複数の画像フィルタ20のそれぞれにより、変換対象画像をフィルタ処理して選択対象画像を生成する(S13)。これにより、フィルタ処理部38は、複数の画像フィルタ20に対応した複数の選択対象画像を生成することができる。
 続いて、フィルタ選択部50は、複数の選択対象画像のそれぞれと目標画像との類似度を算出し、類似度がより高い選択対象画像に対応する複数の画像フィルタ20を選択する(S14)。なお、フィルタ選択部50は、一例として、最後の世代においては、類似度の最も高い1個の選択対象画像に対応する1個の画像フィルタ20を選択してよい。
 続いて、フィルタ選択部50は、ステップS14において選択された1または複数の画像フィルタ20を次世代に残存させ、ステップS14において選択されなかった選択対象画像を生成した画像フィルタ20を削除する(S15)。画像処理装置10は、以上の処理を複数の世代(例えば数十世代または数百世代)繰返して実行し、第N世代(Nは2以上の整数)まで処理を実行した後に、当該フローを抜ける(S16)。このようにして、画像処理装置10は、変換対象画像を目標画像へ変換するのに適した画像フィルタ20を、進化的計算を用いて生成することができる。
 図9は、図8のステップS14における画像処理装置10の処理フローの一例を示す。画像処理装置10は、図8に示されるステップS14において、以下の処理を実行する。
 まず、重み生成部44は、世代毎に適切な重み画像を発生させるべく、重み画像を自動更新する(ステップS21)。なお、重み画像の生成処理については、後述の図10において詳細を説明する。
 続いて、算出部46は、フィルタ格納部32に格納された複数の画像フィルタ20のそれぞれにより生成された複数の選択対象画像のそれぞれ毎に、以下のステップS23の処理を実行する(S22、S24)。ステップS23において、算出部46は、当該選択対象画像と目標画像とを重み画像に応じた重み付けをした比較をし、当該選択対象画像と目標画像との類似度を算出する。算出部46は、複数の選択対象画像の全てについて処理を終えると、処理をステップS25に進める(S24)。
 続いて、画像選択部48は、複数の選択対象画像のそれぞれの類似度に基づき、複数の選択対象画像の中から目標画像により近い選択対象画像を選択する(S25)。画像選択部48は、一例として、複数の画像フィルタ20により変換された複数の選択対象画像のうち、類似度がより高い選択対象画像を優先的に選択してよい。画像選択部48は、一例として、類似度が基準類似度より高い選択対象画像を選択してよい。また、画像選択部48は、一例として、類似度が上位から予め定められた範囲の選択対象画像を選択してもよい。また、画像選択部48は、類似度がより高い選択対象画像がより高い確率で選択されるように設定がされている条件下で、ランダムに選択対象画像を選択してもよい。
 続いて、フィルタ選択部50は、画像選択部48により選択された選択対象画像を生成する画像フィルタ20を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ20として選択する(S26)。このステップS26の処理を終えると、画像処理装置10は、当該フローを終了する。
 図10は、図9のステップS21における重み生成部44の処理フローの一例を示す。重み生成部44は、図9に示されたステップS21における重み画像の更新処理において、以下のステップS31~S33の処理を実行する。
 まず、重み生成部44の重み更新部62は、前世代から残存した複数の画像フィルタ20および図8のステップS12において新たに生成された複数の画像フィルタ20のそれぞれにより生成された複数の選択対象画像のうち、少なくとも1つの選択対象画像を、重み画像更新用の選択対象画像として抽出する(S31)。重み更新部62は、一例として、複数の画像フィルタ20のうち任意の一個の画像フィルタ20により生成された選択対象画像を抽出してよい。また、重み更新部62は、一例として、複数の画像フィルタ20のうち、前世代において算出された類似度が最も高かった画像フィルタ20により生成された選択対象画像を抽出してよい。また、重み更新部62は、一例として、前世代において算出された類似度が所定値以上の画像フィルタ20により生成された1または複数の選択対象画像を抽出してもよい。
 続いて、重み更新部62は、ステップS31において重み画像更新用として抽出された少なくとも1つの選択対象画像と目標画像との領域毎の差分を算出する(S32)。重み更新部62は、一例として、重み画像更新用として抽出された少なくとも1つの選択対象画像と、目標画像とのピクセル毎の差分を算出してよい。なお、ステップS31において複数の選択対象画像を抽出した場合には、重み更新部62は、一例として、重み画像更新用として抽出された複数の選択対象画像のそれぞれと一の目標画像との複数個の差分のうち、最も大きい1個の差分を、領域毎(例えばピクセル毎)に選択してよい。
 続いて、重み更新部62は、重み記憶部60に記憶された重み画像、すなわち、前世代において用いられた重み画像を、ステップS32において算出された領域毎の差分に基づき変更する(S33)。より具体的には、重み更新部62は、差分がより大きい領域の重みを当該差分がより小さい領域の重みより大きくするべく、重み記憶部60に記憶された重みデータを更新する。なお、重み記憶部60は、最初の世代においては、使用者により予め生成された重み画像を記憶してもよいし、例えば領域毎の重みが同一とされた重み画像を記憶してもよい。
 図11は、世代毎に更新される重み画像の一例を示す。図10において説明したように、重み生成部44は、世代毎に適切な重み画像を生成することができる。
 図11に示されるように、重み生成部44は、一例として、選択対象画像と目標画像とのピクセル毎の差分を表わす差分画像を生成してよい。そして、重み生成部44は、一例として、生成した差分画像に予め定められた係数を乗じて重み記憶部60に記憶された重み画像に加算することにより、重みデータを更新してよい。このようにして、重み生成部44は、差分がより大きい領域の重みをより大きくし、差分がより小さい領域の重みをより小さくするように、重み画像を更新することができる。
 このような本実施形態に係る画像処理装置10によれば、画面の領域毎に適切な重み付けをして選択対象画像と目標画像との類似度を算出することができる。これにより、画像処理装置10によれば、複数の選択対象画像の中から目標画像に類似した選択対象画像を適切に選択することができる。
 例えば、本実施形態に係る画像処理装置10によれば、次世代に残存させるべき画像フィルタ20を選択することを目的として、複数の画像フィルタ20により生成された複数の選択対象画像の中から目標画像に類似した選択対象画像を選択する処理において、選択対象画像と目標画像との類似度の算出に用いる重みデータを、世代毎に適切な値に更新することができる。従って、例えば、世代が進んで、複数の画像フィルタにより生成された複数の選択対象画像のほとんどが目標画像と近くなり、複数の選択対象画像の間の差が微小となった場合であっても、画像処理装置10によれば、目標画像により近い選択対象画像を適切に判別させることができる。この結果、画像処理装置10によれば、適切な画像フィルタ20を高速に生成することができる。
 また、本実施形態の変形例として、重み生成部44は、選択対象画像と目標画像との差分に基づき重みデータを生成することに代えて、複数の選択対象画像のうち何れか2以上の選択対象画像同士の差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成してよい。重み生成部44は、一例として、複数の選択対象画像のうちの2個の選択対象画像同士の差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成してよい。より具体的には、重み生成部44は、第1の選択対象画像と第2の選択対象画像とのピクセル毎の差分を表わす差分画像を生成し、生成した差分画像に予め定められた係数を乗じて重み記憶部60に記憶された重み画像に加算することにより、重みデータを更新してよい。
 このような変形例に係る画像処理装置10によれば、例えば、世代が進んで、複数の画像フィルタ20により生成された複数の選択対象画像のほとんどが目標画像と近くなり、複数の選択対象画像の間の差が微小となった場合であっても、複数の選択対象画像間の差が強調されるので、目標画像により近い選択対象画像を適切に判別させることができる。この結果、画像処理装置10によれば、適切な画像フィルタ20を高速に生成することができる。
 図12は、第2実施形態に係る処理装置110の構成を示す。処理装置110は、複数のデータを含む入力データセットを複数のデータを含む変換済データセットに変換する変換器120を生成する。より具体的には、処理装置110は、複数のデータを含む変換対象データセットを複数のデータを含む目標データセットへ変換するのに適した変換器120を、進化的計算を用いて生成する。処理装置110は、一例として、コンピュータにより実現される。
 ここで、変換器120の変換対象となるデータセットは、1次元データ列、2次元データ群、3次元データ群、又は、更に多次元のデータ群であってよい。1次元データ列は、例えば、時系列データ又は配列状のデータ列等であってよい。2次元データ群は、複数の画素データ等が2次元空間に配列された画像データ等であってよい。3次元データ群は、色又は濃度等を表わすデータ値が3次元空間の各格子点に配置されたボリュームデータ等であってよい。また、変換器120は、入力されたデータセットと異なる次元のデータセットを出力してもよい。
 なお、入力データセットが画像データである場合、それぞれの変換器120は第1実施形態において説明した画像フィルタ20と同様の構成となり、処理装置110は第1実施形態において説明した画像処理装置10と同様の構成となる。即ち、それぞれの変換器120は、複数の画素データを含む入力画像を複数の画素データを含む変換済画像に変換する画像フィルタであってもよい。
 また、変換器120は、複数の入力データを含む入力データセットを複数の出力データを含む出力データセットに変換する複数の変換部品を組み合わせた構成であってよい。変換器120は、一例として、図2に示された画像フィルタ20と同様に、変換部品を直列に組み合わせた構成であってよい。また、変換器120は、図3に示された画像フィルタ20と同様に、変換部品を木構造に組み合わせた構成であってよい。また、変換器120は、一例として、データセットに対して演算を施すプログラム、および、データセットに対して施すべき演算内容を表わす演算式等であってよい。
 処理装置110は、変換器格納部132と、変換器生成部134と、変換対象データセット格納部136と、変換処理部138と、選択対象データセット格納部140と、目標データセット格納部142と、重み生成部144と、算出部146と、データセット選択部148と、変換器選択部150と、変換器更新部152とを備える。変換器格納部132は、既に生成された互いに異なる複数の変換器120を格納する。
 変換器生成部134は、現世代の少なくとも1つの変換器120から、次世代の変換器120を生成する。具体的には、変換器生成部134は、第1実施形態において説明したフィルタ生成部34と同様に、変換部品を一以上組み合わせた現世代の変換器120の少なくとも一部の変換部品を、交叉および突然変異等の遺伝子的な操作を行って他の変換部品に置換して、次世代の新たな複数の変換器120を生成する。変換器生成部134は、一例として、図4、図5及び図6に示された操作と同様の遺伝子的な操作を変換器120に対して行ってよい。
 変換対象データセット格納部136は、変換器120の変換対象となる変換対象データセットを格納する。変換対象データセット格納部136は、一例として、複数の変換対象データセットを格納してもよい。
 変換処理部138は、変換器格納部132に格納された複数の変換器120を順次に取得する。変換処理部138は、取得した複数の変換器120のそれぞれにより変換対象となる変換対象データセットを変換させて、複数の選択対象データセットのそれぞれを生成する。
 選択対象データセット格納部140は、変換処理部138において生成された選択対象データセットを格納する。一例として、選択対象データセット格納部140は、変換処理部138において変換対象データセットが複数の変換器120で変換されることにより生成された選択対象データセットのそれぞれを、変換した変換器120に対応付けて格納する。
 目標データセット格納部142は、変換対象データセットを変換して生成されるデータセットの目標となる目標データセットを格納する。目標データセット格納部142は、一例として、複数の目標データセットを格納してもよい。
 重み生成部144は、選択対象データセットと目標データセットとの比較におけるデータ毎の重みを表わす複数の重みデータを含む重みデータセットを生成する。重み生成部144は、一例として、選択対象データセットまたは目標データセットと、同様にデータが配置された重みデータセットを生成してよい。
 ここで、重み生成部144は、選択対象データセットおよび目標データセットのうちの、少なくとも一組のデータセット同士についてのデータ毎の差分がより大きいデータに対する重みを、当該差分がより小さいデータに対する重みより大きくした重みデータセットを生成する。重み生成部144は、一例として、現世代の重みデータセットにおける、差分が閾値より大きいデータに対応する重みに所定値を加算し、差分が閾値以下のデータに対応する重みに所定値より小さい値を加算して、次世代の重みデータセットを生成してよい。また、重み生成部144は、一例として、現世代の重みデータセットにおける、差分が閾値より大きいデータに対応する重みに所定値を加算し、差分が閾値以下のデータに対応する重みから所定値を減算して、次世代の重みデータセットを生成してもよい。
 重み生成部144は、一例として、重み記憶部160と、重み更新部162とを有してよい。重み記憶部160は、重みデータセットを記憶する。重み更新部162は、選択されたデータセット同士における差分がより大きいデータの重みを差分がより小さいデータの重みより大きくすべく、重み記憶部160に記憶された重みデータセットを、例えば世代毎に更新する。なお、重みデータセットの生成処理の詳細については、後述する。
 算出部146は、2以上の選択対象データセットのそれぞれと目標データセットとのデータ毎の差分を重みデータセットにより重み付けして2以上の選択対象データセットのそれぞれの目標データセットに対する近似度を算出する。この近似度は、変換器120の適合度を表わすパラメータの一例であって、値がより大きいほど、当該選択対象データセットを生成した変換器120がより適切であることを示す評価値または指標として用いられる。なお、選択対象データセット及び目標データセットが画像データである場合には、算出部146は、第1実施形態の算出部46と同様に、選択対象データセットと重みデータセットとの近似度として、類似度を算出してよい。データセット選択部148は、2以上の選択対象データセットのそれぞれの近似度に基づいて、目標データセットにより近似する選択対象データセットを選択する。
 変換器選択部150は、データセット選択部148により選択された選択対象データセットを出力する変換器120を、変換対象データセットを目標データセットにより近似するデータセットに変換する変換器120として選択する。具体的には、変換器選択部150は、変換器格納部132に格納された複数の変換器120に対して生物の自然淘汰をモデル化した手法により1または複数の変換器120を選択する。変換器選択部150は、一例として、現世代の複数の変換器120のうち選択対象データセットの近似度が大きい順に選択した少なくとも1つの変換器120を、次世代の変換器120としてよい(エリート選択)。変換器選択部150は、例えば、近似度が最も大きい1つの変換器120を、次世代の変換器120としてよい。また、変換器選択部150は、一例として、選択対象データセットの近似度が一定以上の現世代の複数の変換器120のうちランダムに選択された少なくも一つの変換器120を、次世代の変換器120としてよい(ルーレット選択)。
 変換器更新部152は、変換器選択部150が選択した複数の変換器120により、変換器格納部132に格納された複数の変換器120を更新する。具体的には、変換器更新部152は、選択した変換器120を次世代へ生存させるべく当該変換器120を変換器格納部132内に保存し、選択されなかった変換器120を死滅させるべく変換器格納部132内から削除する。
 図13は、処理装置110の処理フローを示す。処理装置110は、ステップS112~ステップS116の各処理を、複数回(例えば複数世代)繰返して実行する(S111、S117)。
 まず、変換処理部138は、変換器格納部132に格納された現世代の複数の変換器120のそれぞれにより、変換対象データセットを変換して選択対象データセットを生成する(S112)。これにより、変換処理部138は、複数の変換器120に対応した複数の選択対象データセットを生成することができる。
 続いて、変換器選択部150は、複数の選択対象データセットのそれぞれと目標データセットとの近似度を重みデータセットにより重み付けをして算出し、近似度がより高い選択対象データセットに対応する1または複数の変換器120を選択する(S113)。なお、変換器選択部150は、一例として、最後の世代においては、近似度の最も高い1個の選択対象データセットに対応する1個の変換器120を選択してよい。
 続いて、変換器更新部152は、ステップS113において選択された1または複数の変換器120を次世代に残存させ、ステップS113において選択されなかった変換器120を削除する(S114)。続いて、変換器生成部134は、残存した1または複数の変換器120に対して、交叉操作および突然変異操作等の遺伝的な操作を行って、新たな少なくとも1つの変換器120を生成する(S115)。そして、変換器生成部134は、残存した変換器120および新たに生成した変換器120を、次世代の複数の変換器120として変換器格納部132に格納させる。なお、変換器生成部134は、最後の世代においては、当該処理を実行しなくてよい。
 続いて、重み生成部144は、世代毎に適切な重みデータセットを生成するべく、次世代用の新たな重みデータセットを生成する(S116)。重みデータセットの生成処理についての詳細については後述する。なお、重み生成部144は、最後の世代においては、当該処理を実行しなくてよい。
 処理装置110は、以上の処理を複数の世代(例えば数十世代または数百世代以上)繰返して実行して、最後の世代(第N世代(Nは2以上の整数))まで処理を実行した後に、当該フローを抜ける(S117)。このようにして、処理装置110は、変換対象データセットを目標データセットへ変換するのに適した変換器120を、進化的計算を用いて生成することができる。
 図14は、図13のステップS113における処理装置110の処理フローの一例を示す。処理装置110は、図13に示されるステップS113において、以下の処理を実行する。
 まず、算出部146は、現世代の複数の変換器120のそれぞれにより生成された複数の選択対象データセットのそれぞれ毎に、以下のステップS122の処理を実行する(S121、S123)。ステップS122において、算出部146は、当該選択対象データセットと目標データセットとを重みデータセットに応じた重み付けをした比較をし、当該選択対象データセットと目標データセットとの近似度を算出する。算出部146は、複数の選択対象データセットの全てについて処理を終えると、処理をステップS124に進める(S123)。
 続いて、データセット選択部148は、複数の選択対象データセットのそれぞれの近似度に基づき、複数の選択対象データセットの中から目標データセットにより近い選択対象データセットを選択する(S124)。データセット選択部148は、一例として、複数の変換器120により変換された複数の選択対象データセットのうち、近似度がより高い選択対象データセットを優先的に選択してよい。データセット選択部148は、一例として、近似度が基準近似度より高い選択対象データセットを選択してよい。また、データセット選択部148は、一例として、近似度が上位から予め定められた範囲の選択対象データセットを選択してもよい。また、データセット選択部148は、近似度がより高い選択対象データセットがより高い確率で選択されるように設定がされている条件下で、ランダムに選択対象データセットを選択してもよい。
 続いて、変換器選択部150は、データセット選択部148により選択された選択対象データセットを生成する変換器120を、変換対象データセットを目標データセットにより近似する画像に変換する変換器120として選択する(S125)。このステップS125の処理を終えると、処理装置110は、当該フローを終了する。
 図15は、図13のステップS116における重み生成部144の処理フローの一例を示す。重み生成部144は、図13に示されたステップS116における重みデータセットの生成処理において、以下のステップS131~S133の処理を実行する。まず、重み生成部144は、重みデータセット生成用として、変換器120が出力した選択対象データセットおよび目標データセットのうちの、少なくとも一組のデータセットを抽出する(S131)。
 続いて、重み生成部144は、ステップS131において重みデータセット生成用として抽出された少なくとも一組のデータセット同士の、データ毎の差分を算出する(S132)。重み生成部144は、抽出されたデータセットの組における、対応する位置同士のデータの差分を算出する。例えば、重み生成部144は、抽出されたデータセットの組が3次元データ群であれば、互いに対応する格子点同士のデータの差分を算出してよい。また、重み生成部144は、2つのデータの減算結果の絶対値を、差分として算出してよい。
 また、重み生成部144は、ステップS131において複数組のデータセットを抽出した場合には、例えば、複数組のデータセットの差分をデータ毎に(例えば、3次元データ群であれば格子点毎に)、合計又は平均してよい。これに代えて、重み生成部144は、一例として、複数組のデータセットの差分のうち最も大きい1個の差分を、データ毎に選択してもよい。
 続いて、重み生成部144は、ステップS132において算出されたデータ毎の差分に基づき、次世代用の重みデータセットを生成する(S133)。より具体的には、重み生成部144は、差分がより大きいデータの重みを差分がより小さいデータの重みより大きくするような次世代の重みデータセットを生成する。なお、重み生成部144は、最初の世代においては、使用者により予め生成された重みデータセットを記憶してもよいし、例えばデータ毎の重みが同一とされた重みデータセットを記憶してもよい。
 ここで、このような処理を行う重み生成部144は、ステップS131において、現世代以前の少なくとも1つの変換器120が出力する少なくとも1つの選択対象データセットおよび目標データセットのうちの、少なくとも一組のデータセット同士から次世代用の重みデータセットを生成する。
 重み生成部144は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの組を抽出してよい。即ち、この場合、重み生成部144は、選択対象データセットと目標データセットとの組を、現世代以前の各世代について抽出する。
 また、重み生成部144は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した2つの選択対象データセットの組を抽出してよい。即ち、この場合、重み生成部144は、異なる2つの選択対象データセットの組を、現世代以前の各世代について抽出する。
 また、重み生成部144は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの組、および、近似度が大きい順に選択した2つの選択対象データセットの組の両者を抽出してよい。即ち、この場合、重み生成部144は、目標データセットと選択対象データセットの組、および、異なる2つの選択対象データセットの組の両方を、現世代以前の各世代について抽出する。
 重み生成部144は、以上のように抽出したそれぞれの組毎に、データセット間のデータ毎の差分を算出する。そして、重み生成部144は、それぞれの組毎に算出したデータ毎の差分から、次世代用の重みデータセットを生成する。これにより、算出部146は、次世代の2以上の変換器120が出力する2以上の選択対象データセットのそれぞれと目標データセットとのデータ毎の差分を次世代用の重みデータセットにより重み付けして2以上の選択対象データセットのそれぞれの近似度を算出することができる。
 このような本実施形態に係る処理装置110によれば、重みデータセットによりデータ毎に適切な重み付けをして選択対象データセットと目標データセットとの近似度を算出することができる。これにより、処理装置110によれば、複数の選択対象データセットの中から目標データセットに近似した選択対象データセットを適切に選択することができる。
 更に、処理装置110は、次世代用の重みデータセットを、現世代以前の各世代において生成された選択対象データセットを用いて生成する。これにより、処理装置110によれば、同一の重みデータセットが周期的に繰り返して生成されてしまう状態となることを回避して、適切な重みデータセットを長期的に安定して生成することができる。
 図16は、重みデータセットの生成処理の一例を示す。重み生成部144は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの間のデータ毎の差分の合計に対して単調非減少となる次世代用の重みデータセットを生成してよい。このような重み生成部144は、適切な重みデータセットを長期的に安定して生成することができる。
 重み生成部144は、一例として、下記の式(11)に示される演算式に基づき重みデータセットを生成してよい。
Figure JPOXMLDOC01-appb-M000002
 式(11)のWN+1,Mは、第N+1世代(Nは、1以上の整数。)の重みデータセットに含まれるM番目(Mは1以上の整数)の重みデータの値を表わす。式(11)のF(X)は、Xを変数とする単調非減少関数を表わす。即ち、F(X)は、Xが増加する方向に変化した場合、少なくとも減少しない値を表わす。F(X)は、単調増加関数であってもよい。なお、F(X)及びXは、データセットに含まれる各データが取り得る範囲の値となる。
 式(11)のDK,Mは、下記式(12)により表わされる。即ち、式(11)のDK,Mは、第K世代(Kは整数)における選択された選択対象データセットに含まれるM番目の値(PK、M)と、目標データセットに含まれるM番目の値(T)と差分の絶対値を表わす。
Figure JPOXMLDOC01-appb-M000003
 このような式(11)に示されるように、重み生成部144は、現世代以前の複数の世代のそれぞれにおける、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの間のデータ毎の差分を算出してよい。続いて、重み生成部144は、算出した差分の合計をデータ毎に算出して、データ毎の合計のそれぞれを現世代の世代数で除算してよい。そして、重み生成部144は、データ毎の除算結果のそれぞれを予め定められた単調非減少関数によりレベル変換した値を含む次世代の重みデータセットを生成してよい。これにより、重み生成部144は、適切な重みデータセットを長期的に安定して生成することができる。
 なお、式(11)の単調非減少関数F(X)は、一例として、下記式(13)に示されるような関数であってよい。下記式(13)に示される関数は、差分値が小さい範囲において重みデータの変化量が大きく、差分値が大きい範囲において重みデータの変化量が小さい。このような関数を用いることにより、重み生成部144は、差分値が小さい領域においてより重みを敏感に変化させることができる。
Figure JPOXMLDOC01-appb-M000004
 また、式(11)の単調非減少関数F(X)は、一例として、差分値が小さい範囲において重みデータの変化量が小さく、差分値が大きい範囲において重みデータの変化量が大きい関数であってもよい。このような関数を用いることにより、重み生成部144は、差分値が大きい領域においてより重みを敏感に変化させることができる。
 また、重み生成部144は、一例として、現世代以前の少なくとも1つ以上の各世代における、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの間のデータ毎の差分を、当該選択対象データセットを出力した変換器120の世代に応じて重み付けた合計に対して単調非減少となる次世代用の重みデータセットを生成してよい。これにより、重み生成部144は、影響が大きい世代の差分を重みデータセットに大きく反映することができる。
 重み生成部144は、一例として、下記の式(14)に示される演算式に基づき重みデータセットを生成してよい。なお、式(14)のWは、第K世代の差分に与える重みを表わす。式(14)のW以外のパラメータは、式(11)と同様である。
Figure JPOXMLDOC01-appb-M000005
 式(14)に示されるように、重み生成部144は、現世代以前の複数の世代のそれぞれにおける、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの間のデータ毎の差分を算出してよい。続いて、重み生成部144は、算出した差分に世代毎に予め設定された重みを乗じた合計をデータ毎に算出して、データ毎の合計のそれぞれを現世代の世代数で除算してよい。そして、重み生成部144は、データ毎の除算結果のそれぞれを予め定められた単調非減少関数によりレベル変換した値を含む次世代の重みデータセットを生成してよい。これにより、重み生成部144は、適切な重みデータセットを長期的に安定して生成することができる。
 なお、この場合において、重み生成部144は、一例として、現世代により近い世代に大きな重みを付け、より遠い世代に小さな重みを付けた合計を算出してよい。また、一世代中に複数の選択対象データを選択する場合、重み生成部144は、世代内において近似度がより大きい選択対象データから順に順位を付け、順位に従った重みを付けた合計を算出してもよい。
 図17は、重み生成部144の構成の一例を示す。重み生成部144は、一例として、世代数決定部164を更に有してもよい。世代数決定部164は、当該重み生成部144が各世代において次世代用の重みデータセットを生成するために用いる世代数を指定する。これにより、重み生成部144は、現世代以前の予め指定された世代数の各世代における、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの間のデータ毎の差分の合計に対して単調非減少となる次世代用の重みデータセットを生成することができる。
 世代数決定部164は、一例として、現世代から予め定められた世代数前までの各世代を指定してよい。このような重み生成部144は、影響の小さい非常に古い世代を除いて重みデータセットを生成することができる。これにより、重み生成部144によれば、少ない演算量により適切な重みデータセットを生成することができる。
 重み生成部144は、一例として、下記の式(15)に示される演算式に基づき重みデータセットを生成してよい。なお、式(15)のLは、世代数決定部164により指定される世代数を表わす。式(15)のL以外のパラメータは、式(14)と同様である。
Figure JPOXMLDOC01-appb-M000006
 式(15)に示されるように、重み生成部144は、現世代から予め定められた世代数前までの複数の世代のそれぞれにおける、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの間のデータ毎の差分を算出してよい。続いて、重み生成部144は、算出した差分に世代毎に予め設定された重みを乗じた合計をデータ毎に算出して、データ毎の合計のそれぞれを現世代の世代数で除算してよい。そして、重み生成部144は、データ毎の除算結果のそれぞれを予め定められた単調非減少関数によりレベル変換した値を含む次世代の重みデータセットを生成してよい。これにより、重み生成部144は、少ない演算量により、適切な重みデータセットを長期的に安定して生成することができる。
 また、世代数決定部164は、一例として、当該重み生成部144が各世代において次世代用の重みデータセットを生成するために用いる世代数を、各世代における最大の近似度の変化量に応じて決定してもよい。世代数決定部164は、一例として、世代間における最大の近似度の変化量がより大きい程、次世代用の重みデータセットを生成するために用いる世代数を少なくし、世代間における最大の近似度の変化量がより小さい程、次世代用の重みデータセットを生成するために用いる世代数を多くしてよい。世代数決定部164は、一例として、近似度の変化量の逆数に比例する値に応じて、世代数を決定してよい。これにより、世代数決定部164は、世代が進んで画像フィルタ20により生成される選択対象データセットがより目標データセットに近似した場合において、次世代用の重みデータセットを生成するために用いる世代数を多くすることができる。
 また、重み生成部144は、一例として、現世代用の重みデータセットにおける、近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの間のデータ毎の差分により、現世代用の重みデータセットを次世代用の重みデータセットに更新してもよい。このような重み生成部144は、過去の世代において生成した選択対象データセットを用いないので、少ない演算量で次世代の重みデータセットを生成することができる。さらに、このような重み生成部144は、過去の世代において生成した選択対象データセットを記憶しなくてよいので、メモリを小さくすることができる。
 重み生成部144は、一例として、下記の式(16)に示される演算式に基づき重みデータセットを生成してよい。
Figure JPOXMLDOC01-appb-M000007
 なお、式(16)のαは、予め定められた係数を表わす。式(16)のCは、予め定められた基準値を表わす。また、式(16)のWN,Mは、第N世代の重みデータセットに含まれるM番目の重みデータの値を表わす。式(16)のα、C、WN,M以外のパラメータは、式(11)と同様である。また、式(16)に示されるWN+1,Mは、重みデータが取り得るデータ範囲の最大値を超えた場合には最大値に制限され、最小値を下回った場合には最小値に制限される。
 式(16)に示されるように、重み生成部144は、現世代における近似度が大きい順に選択した少なくとも1つの選択対象データセットのそれぞれと目標データセットとの間のデータ毎の差分から予め定められた基準値を減じた差分データセットに対して予め定められた係数を乗じて、現世代用の重みデータセットに加えることにより、次世代用の重みデータセットを生成してよい。これにより、重み生成部144は、少ない演算量で次世代の重みデータセットを生成することができ、更に、メモリも小さくすることができる。
 なお、式(16)のCは、重みデータWN,Mにより表わされるデータ範囲と比較して、相対的に小さい値であってよい。例えば、重みデータが0から255の範囲の値であれば、Cは、例えば10程度の値であってよい。また、式(16)のCは、世代毎に変化する値であってよい。例えば、Cは、世代が進むにつれて小さくなる値であってよい。また、式(16)のCも、世代毎に変化する値であってよい。
 図18は、第1実施形態の変形例である第1変形例に係る画像処理装置10の構成を示す。第1変形例に係る画像処理装置10は、図1から図11を参照して説明した第1実施形態の画像処理装置10と略同一の構成および機能を採るので、図1から図11を参照して説明した画像処理装置10が備える部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
 第1変形例に係る画像処理装置10は、重み表示部70と、重み入力部72とを更に備える。第1変形例において、重み生成部44内の重み更新部62は、一例として、重みデータの更新を世代毎に行う。第1変形例において、重み記憶部60は、例えば重み更新部62により重みデータが更新される毎に、更新される前の重みデータを更新された重みデータと区別して記憶してもよい。
 重み表示部70は、重み記憶部60に記憶された重みデータに応じて、画像の各領域の重みを示す重み画像を表示する。重み表示部70は、一例として、重み記憶部60に記憶された重みデータが更新されたことに応じて、当該更新された重みデータを取得して表示する。
 重み表示部70は、例えば、画像の各領域の重みの程度を程度毎に色分けした重み画像を表示してよい。また、重み表示部70は、重みの程度が所定レベル以上の領域だけを強調して表示する重み画像を表示してもよい。重み表示部70は、例えば、LCD等の表示装置であってよい。また、重み表示部70は、例えば、重み画像を印刷により出力するプリンタ等の描画装置であってもよい。
 また、重み表示部70は、一例として、現世代の処理における重みデータに応じた重み画像とともに、前の世代の処理における重みデータを重み記憶部60から取得して重み画像として表示させてもよい。また、重み表示部70は、他の例として、現世代の処理における重みデータに応じた重み画像と前の世代の処理における重みデータに応じた重み画像とが異なる部分を強調した画像を、現世代の重み画像とともに、あるいは使用者の選択に応じて表示させてもよい。
 重み入力部72は、重みデータを使用者から入力する。一例として、重み入力部72は、使用者から重みデータが入力されたことに応じて、重み記憶部60に記憶された重みデータを、使用者から入力された重みデータに更新してよい。また、重み入力部72は、重み記憶部60に記憶された重みデータを、重み更新部62により更新させてもよい。
 また、例えば、重み入力部72は、重み表示部70が表示した重み画像に対応する重みデータへの、使用者による修正を入力する。一例として、重み入力部72は、重み表示部70が表示した重み画像を確認した使用者から修正用の重みデータが入力されたことに応じて、重み記憶部60に記憶された重みデータを、使用者から入力された重みデータに更新してよい。
 また、第1変形例に係る画像処理装置10において、使用者から過去に処理済の一の世代に対する重みデータを入力された場合、重み入力部72は、フィルタ格納部32を、当該一の世代における画像フィルタ20を格納する状態に戻し、フィルタ生成部34、フィルタ処理部38、算出部46、画像選択部48、フィルタ選択部50およびフィルタ更新部52により、当該一の世代およびそれ以降の世代における処理を再度行わせる。
 図19は、第1変形例に係る画像処理装置10による、図8に示されるステップS14において画像フィルタ20を選択するまでの処理フローの一例を示す。第1変形例に係る画像処理装置10は、図8に示されるステップS14において、以下の処理を実行する。
 まず、重み生成部44は、複数の選択対象画像のそれぞれと目標画像との差分を重みデータの一例である重み画像により領域毎に重み付けした類似度が適切に算出されるべく、重み画像を自動更新する(S21)。重み生成部44による重み画像の更新処理は、例えば図10に示される処理であってよい。
 なお、重み記憶部60は、最初の世代においては、使用者により予め生成された重み画像を記憶してもよいし、例えば領域毎の重みが同一とされた重み画像を記憶してもよい。また、ステップS21における重み生成部44による重み画像の更新処理は、図10に示されるフローに替えて、重み入力部72への使用者からの重み画像の入力に基づいて行われてもよい。
 この場合、例えば、使用者は、重み表示部70に表示された重み画像に基づいて、重みをより大きくすべき領域またはより小さくすべき領域の重みを修正した重み画像を重み入力部72に入力する。なお、使用者は、修正すべき領域および重みの修正幅等の数値を重み入力部72に入力してもよい。重み入力部72は、使用者からの上記入力に基づいて、重み記憶部60が記憶する重み画像を重み更新部62により更新させてよい。
 続いて、重み表示部70は、重み画像が更新されたことに応じて、当該更新された重み画像を重み生成部44から取得して表示する(S22)。算出部46は、フィルタ格納部32に格納された複数の画像フィルタ20のそれぞれにより生成された複数の選択対象画像毎に、以下のステップS24の処理を実行する(S23、S25)。ステップS24において、算出部46は、当該選択対象画像と目標画像とを重み画像に応じた重み付けをした比較をし、当該選択対象画像と目標画像との類似度を算出する。算出部46は、複数の選択対象画像の全てについて処理を終えると、処理をステップS26に進める(S25)。
 続いて、画像選択部48は、複数の選択対象画像のそれぞれの類似度に基づき、複数の選択対象画像の中から目標画像により近い選択対象画像を選択する(S26)。そして、フィルタ選択部50は、選択された選択対象画像を生成する画像フィルタ20を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ20として選択する(S27)。このステップS27の処理を終えると、画像処理装置10は、当該フローを終了する。
 このように、第1変形例に係る画像処理装置10によれば、各世代の処理において選択対象画像と目標画像との比較時に用いる重み画像を使用者が視覚的に確認して必要に応じて修正することができる。さらに、第1変形例に係る画像処理装置10は、画像の領域毎に適切な重み付けをして選択対象画像と目標画像との類似度を算出することができる。これにより、第1変形例に係る画像処理装置10は、複数の選択対象画像の中から目標画像に類似した選択対象画像を適切に選択することができる。
 なお、使用者から過去に処理済の一の世代に対する重みデータが入力された場合、画像処理装置10は、以下の処理を実行する。すなわち、重み入力部72は、まず、使用者から過去に処理済の一の世代に対する重みデータが入力されたことに応じて、フィルタ格納部32を、当該一の世代における画像フィルタ20を格納する状態に戻す。この場合、例えば、フィルタ格納部32は、世代毎に格納した画像フィルタ20の履歴をそれぞれの世代に対応付けて記憶し、重み入力部72は、当該履歴に基づいて、フィルタ格納部32を、上記一の世代における画像フィルタ20を格納する状態に戻してよい。重み入力部72は、次に、上記一の世代およびそれ以降の世代における図8に示されるステップS12~S15の処理を実行させる。
 このように、画像処理装置10は、使用者が過去に処理済の世代に対する重みデータを変更することにより、当該世代以降の処理を再度実行して画像フィルタ20を選択することができる。したがって、一度最後の世代まで処理を終えたときに、目標画像に類似する選択対象画像を生成する画像フィルタ20が選択されなかった場合でも、画像処理装置10は、使用者が任意の世代に対する重みデータを変更して再度その世代以降の処理を実行することにより、再び最初の世代から処理を実行し直すことなく、より目標画像に類似する選択対象画像を生成する画像フィルタ20を選択することができる。
 図20は、第2実施形態の変形例である第2変形例に係る処理装置110の構成を示す。第2変形例に係る処理装置110は、図1から図11を参照して説明した画像処理装置10と略同一の構成および機能を採るので、図12から図17を参照して説明した処理装置110が備える部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
 第2変形例に係る処理装置110は、重み表示部70と、重み入力部72とを更に備える。第2変形例に係る重み表示部70および重み入力部72は、重みデータセットおよび変換器120についての処理をする点において相違するが、他の点においては図18および図19を参照して説明した重み表示部70および重み入力部72と同様の機能を有する。
 従って、第2変形例に係る処理装置110によれば、各世代の処理において選択対象データセットと目標データセットとの比較時に用いる重みデータセットを使用者が視覚的に確認して必要に応じて修正することができる。さらに、第1変形例に係る処理装置110は、データセットの領域毎に適切な重み付けをして選択対象データセットと目標データセットとの類似度を算出することができる。これにより、第1変形例に係る処理装置110は、複数の選択対象データセットの中から目標データセットに近似した選択対象データセットを適切に選択することができる。
 図21は、第1及び第2実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD-ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
 ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
 入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD-ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD-ROMドライブ2060は、CD-ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
 また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
 RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD-ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
 コンピュータ1900にインストールされ、コンピュータ1900を第1実施形態に係る画像処理装置10として機能させるプログラムは、フィルタ格納モジュールと、フィルタ生成モジュールと、変換対象画像格納モジュールと、フィルタ処理モジュールと、選択対象画像格納モジュールと、目標画像格納モジュールと、重み生成モジュールと、算出モジュールと、画像選択モジュールと、フィルタ選択モジュールと、フィルタ更新モジュールとを備える。また、当該プログラムは、重み表示モジュールと、重み入力モジュールとを更に備えてもよい。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、フィルタ格納部32、フィルタ生成部34、変換対象画像格納部36、フィルタ処理部38、選択対象画像格納部40、目標画像格納部42、重み生成部44、算出部46、画像選択部48、フィルタ選択部50、フィルタ更新部52、重み表示部70および重み入力部72としてそれぞれ機能させる。
 これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるフィルタ格納部32、フィルタ生成部34、変換対象画像格納部36、フィルタ処理部38、選択対象画像格納部40、目標画像格納部42、重み生成部44、算出部46、画像選択部48、フィルタ選択部50、フィルタ更新部52、重み表示部70および重み入力部72として機能する。そして、これらの具体的手段によって、第1実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の画像処理装置10が構築される。
 また、コンピュータ1900にインストールされ、コンピュータ1900を第2実施形態に係る処理装置110として機能させるプログラムは、変換器格納モジュールと、変換器生成モジュールと、変換対象データセット格納モジュールと、変換処理モジュールと、選択対象データセット格納モジュールと、目標データセット格納モジュールと、重み生成モジュールと、算出モジュールと、データセット選択モジュールと、変換器選択モジュールと、変換器更新モジュールとを備える。また、当該プログラムは、重み表示モジュールと、重み入力モジュールとを更に備えてもよい。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、変換器格納部132、変換器生成部134、変換対象データセット格納部136、変換処理部138、選択対象データセット格納部140、目標データセット格納部142、重み生成部144、算出部146、データセット選択部148、変換器選択部150、変換器更新部152、重み表示部70および重み入力部72としてそれぞれ機能させる。
 これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である変換器格納部132、変換器生成部134、変換対象データセット格納部136、変換処理部138、選択対象データセット格納部140、目標データセット格納部142、重み生成部144、算出部146、データセット選択部148、変換器選択部150、変換器更新部152、重み表示部70および重み入力部72として機能する。そして、これらの具体的手段によって、第2実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の処理装置110が構築される。
 一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD-ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
 また、CPU2000は、ハードディスクドライブ2040、CD-ROMドライブ2060(CD-ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
 また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
 また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
 以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD-ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
 請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 画像処理装置、20 画像フィルタ、22 フィルタ部品、24 フィルタ部品群、32 フィルタ格納部、34 フィルタ生成部、36 変換対象画像格納部、38 フィルタ処理部、40 選択対象画像格納部、42 目標画像格納部、44 重み生成部、46 算出部、48 画像選択部、50 フィルタ選択部、52 フィルタ更新部、60 重み記憶部、62 重み更新部、70 重み表示部、72 重み入力部、110 処理装置、120 変換器、132 変換器格納部、134 変換器生成部、136 変換対象データセット格納部、138 変換処理部、140 選択対象データセット格納部、142 目標データセット格納部、144 重み生成部、146 算出部、148 データセット選択部、150 変換器選択部、152 変換器更新部、160 重み記憶部、162 重み更新部、164 世代数決定部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD-ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD-ROM

Claims (40)

  1.  複数の選択対象画像のうち少なくとも1つの選択対象画像と目標画像との差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成する重み生成部と、
     前記複数の選択対象画像のうち2以上の選択対象画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出する算出部と、
     前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を選択する画像選択部と、
     を備える画像処理装置。
  2.  複数の画像フィルタのそれぞれにより変換対象となる変換対象画像を変換させて、前記複数の選択対象画像のそれぞれを生成するフィルタ処理部と、
     前記画像選択部により選択された前記選択対象画像を生成する前記画像フィルタを、前記変換対象画像を前記目標画像により類似する画像に変換する画像フィルタとして選択するフィルタ選択部と、
     を更に備える請求項1に記載の画像処理装置。
  3.  前記重み生成部は、
     前記重みデータを記憶する重み記憶部と、
     前記差分がより大きい領域の重みを前記差分がより小さい領域の重みより大きくすべく、前記重み記憶部に記憶された前記重みデータを更新する重み更新部と、
     を有する請求項2に記載の画像処理装置。
  4.  前記複数の画像フィルタのそれぞれとして、画像を変換するフィルタ部品を1又は複数組み合わせた画像フィルタを格納するフィルタ格納部と、
     前記フィルタ格納部に格納された少なくとも1つの前記画像フィルタの少なくとも一部のフィルタ部品を、他のフィルタ部品に置換して新たな前記画像フィルタを生成するフィルタ生成部と、
     を更に備える請求項3に記載の画像処理装置。
  5.  前記重み更新部は、前記フィルタ格納部に格納された前記複数の画像フィルタに対して算出された前記重みデータを前記重み記憶部に格納し、
     前記算出部は、前記複数の画像フィルタおよび前記新たな画像フィルタのそれぞれについて、前記類似度を算出し、
     前記画像選択部は、前記複数の画像フィルタが生成した前記複数の選択対象画像および前記新たな画像フィルタが生成した新たな前記選択対象画像のそれぞれの類似度に基づいて、前記目標画像により近い新たな前記複数の選択対象画像を選択し、
     前記フィルタ選択部は、前記画像選択部が選択した新たな前記複数の選択対象画像を生成する新たな前記複数の画像フィルタを選択し、
     当該画像処理装置は、前記フィルタ選択部が選択した新たな前記複数の画像フィルタにより、前記フィルタ格納部に格納された前記複数の画像フィルタを更新するフィルタ更新部を更に備え、
     前記重み更新部は、更新された前記複数の画像フィルタについて生成した前記新たな重みデータにより、前記重み記憶部に記憶された前記重みデータを更新する
     請求項4に記載の画像処理装置。
  6.  複数の選択対象画像のうち少なくとも1つの選択対象画像と目標画像との差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成することと、
     前記複数の選択対象画像のうち2以上の選択対象画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出することと、
     前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を選択することと、
     を備える画像処理方法。
  7.  コンピュータを、請求項1から5の何れかに記載の前記画像処理装置として機能させるプログラム。
  8.  複数の選択対象画像のうち、何れか2以上の選択対象画像同士の差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成する重み生成部と、
     前記複数の選択対象画像のうち2以上の選択対象画像のそれぞれについて、目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出する算出部と、
     前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を選択する画像選択部と、
     を備える画像処理装置。
  9.  複数の選択対象画像のうち、何れか2以上の選択対象画像同士の差分がより大きい領域の重みを、当該差分がより小さい領域の重みより大きくした重みデータを生成することと、
     前記複数の選択対象画像のうち2以上の選択対象画像のそれぞれについて、目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出することと、
     前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を選択することと、
     を備える画像処理方法。
  10.  コンピュータを、請求項8に記載の前記画像処理装置として機能させるプログラム。
  11.  それぞれが複数のデータを含む複数の選択対象データセットおよび目標データセットのうちの、少なくとも一組のデータセット同士についてのデータ毎の差分がより大きいデータに対する重みを、当該差分がより小さいデータに対する重みより大きくした重みデータセットを生成する重み生成部と、
     2以上の前記選択対象データセットのそれぞれと前記目標データセットとのデータ毎の差分を前記重みデータセットにより重み付けして前記2以上の選択対象データセットのそれぞれの前記目標データセットに対する近似度を算出する算出部と、
     前記2以上の選択対象データセットのそれぞれの近似度に基づいて、前記目標データセットにより近似する前記選択対象データセットを選択するデータセット選択部と、
     を備える処理装置。
  12.  入力データセットを変換済データセットに変換する複数の変換器により変換対象となる変換対象データセットを変換させて、前記複数の選択対象データセットのそれぞれを生成する変換処理部と、
     前記データセット選択部により選択された前記選択対象データセットを出力する前記変換器を、前記変換対象データセットを前記目標データセットにより近似するデータセットに変換する変換器として選択する変換器選択部と、
     を更に備える請求項11に記載の処理装置。
  13.  現世代の少なくとも1つの前記変換器から、次世代の前記変換器を生成する変換器生成部を更に備え、
     前記重み生成部は、現世代以前の少なくとも1つの前記変換器が出力する少なくとも1つの前記選択対象データセットおよび前記目標データセットのうちの、少なくとも一組のデータセット同士から次世代用の前記重みデータセットを生成し、
     前記算出部は、次世代の2以上の前記変換器が出力する2以上の前記選択対象データセットのそれぞれと前記目標データセットとのデータ毎の差分を次世代用の前記重みデータセットにより重み付けして前記2以上の選択対象データセットのそれぞれの近似度を算出する
     請求項12に記載の処理装置。
  14.  前記変換器生成部は、複数の入力データを含む入力データセットを複数の出力データを含む出力データセットに変換する変換部品を一以上組み合わせた現世代の前記変換器の少なくとも一部の前記変換部品を他の前記変換部品に置換して、次世代の前記変換器を生成する請求項13に記載の処理装置。
  15.  前記変換器生成部は、現世代の前記変換器のうち前記選択対象データセットの前記近似度が大きい順に選択した少なくとも1つの前記変換器を、次世代の前記変換器とする請求項14に記載の処理装置。
  16.  前記重み生成部は、現世代以前の少なくとも1つ以上の各世代における、前記近似度が大きい順に選択した少なくとも1つの前記選択対象データセットのそれぞれと前記目標データセットとの間のデータ毎の差分から次世代用の前記重みデータセットを生成する請求項13から15のいずれかに記載の処理装置。
  17.  前記重み生成部は、現世代以前の少なくとも1つ以上の各世代における、前記近似度が大きい順に選択した少なくとも1つの前記選択対象データセットのそれぞれと前記目標データセットとの間のデータ毎の差分の合計に対して単調非減少となる次世代用の前記重みデータセットを生成する請求項16に記載の処理装置。
  18.  前記重み生成部は、現世代以前の少なくとも1つ以上の各世代における、前記近似度が大きい順に選択した少なくとも1つの前記選択対象データセットのそれぞれと前記目標データセットとの間のデータ毎の差分を、当該選択対象データセットを出力した前記変換器の世代に応じて重み付けた合計に対して単調非減少となる次世代用の前記重みデータセットを生成する請求項16または17に記載の処理装置。
  19.  前記重み生成部は、現世代以前の少なくとも1つ以上の各世代における、前記近似度が大きい順に選択した少なくとも1つの前記選択対象データセットのそれぞれと前記目標データセットとの間のデータ毎の差分を、当該選択対象データセットの近似度に応じて重み付けた合計に対して単調非減少となる次世代用の前記重みデータセットを生成する請求項16から18のいずれかに記載の処理装置。
  20.  前記重み生成部は、現世代以前の予め指定された世代数の各世代における、前記近似度が大きい順に選択した少なくとも1つの前記選択対象データセットのそれぞれと前記目標データセットとの間のデータ毎の差分の合計に対して単調非減少となる次世代用の前記重みデータセットを生成する請求項16から19のいずれかに記載の処理装置。
  21.  前記重み生成部が各世代において次世代用の前記重みデータセットを生成するために用いる前記世代数を、各世代における最大の前記近似度の変化量に応じて決定する世代数決定部を更に備える請求項20に記載の処理装置。
  22.  前記重み生成部は、現世代用の前記重みデータセットにおける、前記近似度が大きい順に選択した少なくとも1つの前記選択対象データセットのそれぞれと前記目標データセットとの間のデータ毎の差分により、現世代用の前記重みデータセットを次世代用の前記重みデータセットに更新する請求項13に記載の処理装置。
  23.  前記重み生成部は、現世代における前記近似度が大きい順に選択した少なくとも1つの前記選択対象データセットのそれぞれと前記目標データセットとの間のデータ毎の差分から予め定められた基準値を減じた差分データセットに対して予め定められた係数を乗じて、現世代用の前記重みデータセットに加えることにより、次世代用の前記重みデータセットを生成する請求項22に記載の処理装置。
  24.  それぞれの前記変換器は、複数の画素データを含む入力データセットを複数の画素データを含む変換済画像に変換する画像フィルタである請求項12から23のいずれかに記載の処理装置。
  25.  前記重みデータセットに応じた画像の領域毎の重みを示す重み画像を表示する重み表示部を更に備える請求項11から24の何れかに記載の処理装置。
  26.  前記重みデータセットを使用者から入力する重み入力部を更に備える請求項11から24の何れかに記載の処理装置。
  27.  前記重みデータセットに応じた画像の領域毎の重みを示す重み画像を表示する重み表示部と、
     前記重みデータセットを使用者から入力する重み入力部と、
     を更に備える請求項11から24の何れかに記載の処理装置。
  28.  それぞれが複数のデータを含む複数の選択対象データセットおよび目標データセットのうちの、少なくとも一組のデータセット同士についてのデータ毎の差分がより大きいデータに対する重みを、当該差分がより小さいデータに対する重みより大きくした重みデータセットを生成することと、
     2以上の前記選択対象データセットのそれぞれと前記目標データセットとのデータ毎の差分を前記重みデータセットにより重み付けして前記2以上の選択対象データセットのそれぞれの前記目標データセットに対する近似度を算出することと、
     前記2以上の選択対象データセットのそれぞれの近似度に基づいて、前記目標データセットにより近似する前記選択対象データセットを選択することと、
     を備える処理方法。
  29.  コンピュータを、請求項11から27の何れかに記載の前記処理装置として機能させるプログラム。
  30.  入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理装置であって、
     既に生成された一の前記画像フィルタの少なくとも一部のフィルタ部品を他のフィルタ部品に置換して、新たな前記画像フィルタを生成するフィルタ生成部と、
     それぞれの前記画像フィルタにより変換対象となる変換対象画像を変換させて、複数の選択対象画像を生成するフィルタ処理部と、
     複数の前記選択対象画像のうち少なくとも1つの選択対象画像および目標画像に基づいて、画像の各領域の重みを示す重みデータを生成する重み生成部と、
     前記重みデータに応じた画像の領域毎の重みを示す重み画像を表示する重み表示部と、
     前記複数の選択対象画像のうち2以上の選択画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出する算出部と、
     前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択するフィルタ選択部と、
     を備える画像処理装置。
  31.  前記重み表示部は、前記フィルタ選択部により選択された前記画像フィルタの少なくとも1つと、前記重み画像とを対応付けて表示する請求項30に記載の画像処理装置。
  32.  前記フィルタ生成部は、前の世代の一の前記画像フィルタの少なくとも一部のフィルタ部品を他のフィルタ部品に置換して、次の世代の前記画像フィルタを生成し、
     前記重み生成部は、前記複数の選択対象画像のうち、前の世代の前記画像フィルタにより変換された少なくとも1つの選択対象画像および目標画像に基づいて、次の世代の前記重みデータを生成し、
     前記重み表示部は、次の世代の前記重みデータが生成されたことに応じて、次の世代の前記重みデータに応じた前記重み画像を表示する
     請求項30または請求項31に記載の画像処理装置。
  33.  前記重み表示部が表示した前記重み画像への、使用者による修正を入力する重み入力部を更に備え、
     前記算出部は、使用者により前記重み画像が修正されたことに応じて、前記複数の選択対象画像のうち2以上の選択画像のそれぞれについて、前記目標画像との差分を修正された前記重みデータにより領域毎に重み付けして前記類似度を算出する
     請求項30から請求項32のいずれかに記載の画像処理装置。
  34.  コンピュータを、請求項30から33の何れかに記載の前記画像処理装置として機能させるプログラム。
  35.  入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理方法であって、
     既に生成された一の前記画像フィルタの一部を既に生成された他の前記画像フィルタの一部に置換して、新たな前記画像フィルタを生成することと、
     それぞれの前記画像フィルタにより変換対象となる変換対象画像を変換させて、複数の選択対象画像を生成することと、
     複数の前記選択対象画像のうち少なくとも1つの選択対象画像および目標画像に基づいて、画像の各領域の重みを示す重みデータを生成することと、
     前記重みデータに応じた画像の領域毎の重みを示す重み画像を重み表示部に表示することと、
     前記複数の選択対象画像のうち2以上の選択画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出することと、
     前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択することと、
     を備える画像処理方法。
  36.  入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理装置であって、
     既に生成された一の前記画像フィルタの少なくとも一部のフィルタ部品を他のフィルタ部品に置換して、新たな前記画像フィルタを生成するフィルタ生成部と、
     それぞれの前記画像フィルタにより変換対象となる変換対象画像を変換させて、複数の選択対象画像を生成するフィルタ処理部と、
     前記選択対象画像と目標画像との各領域の重みを示す重みデータを使用者から入力する重み入力部と、
     前記複数の選択対象画像のうち2以上の選択画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出する算出部と、
     前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択するフィルタ選択部と、
     を備える画像処理装置。
  37.  前記フィルタ生成部は、前の世代の一の前記画像フィルタの少なくとも一部のフィルタ部品を他のフィルタ部品に置換して、次の世代の前記画像フィルタを生成し、
     前記フィルタ処理部は、それぞれの前記画像フィルタにより変換対象となる変換対象画像を変換させて、複数の選択対象画像を生成し、
     前記重み入力部は、使用者から一の世代に対する前記重みデータが入力されたことに応じて、前記一の世代、または、前記一の世代およびそれ以降の世代における前記類似度の算出に用いる前記重みデータを変更する
     請求項36に記載の画像処理装置。
  38.  前記画像フィルタを格納するフィルタ格納部と、
     前記フィルタ格納部に格納された前の世代の前記画像フィルタおよび前記フィルタ生成部が生成した次の世代の前記画像フィルタの中から選択した、前記目標画像により類似する前記選択画像を生成する前記画像フィルタにより、前記フィルタ格納部内の前記画像フィルタを更新するフィルタ更新部と、
     を更に備え、
     使用者から過去に処理済の前記一の世代に対する前記重みデータが入力されたことに応じて、前記重み入力部は、
     前記フィルタ格納部を、前記一の世代における前記画像フィルタを格納する状態に戻し、
     前記フィルタ生成部、前記算出部、および前記フィルタ更新部により、前記一の世代およびそれ以降の世代における処理を再度行わせる請求項37に記載の画像処理装置。
  39.  コンピュータを、請求項36から38の何れかに記載の前記画像処理装置として機能させるプログラム。
  40.  入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理方法であって、
     既に生成された一の前記画像フィルタの一部を既に生成された他の前記画像フィルタの一部に置換して、新たな前記画像フィルタを生成することと、
     それぞれの前記画像フィルタにより変換対象となる変換対象画像を変換させて、複数の選択対象画像を生成することと、
     前記選択対象画像と目標画像との各領域の重みを示す重みデータを使用者から入力することと、
     前記複数の選択対象画像のうち2以上の選択画像のそれぞれについて、前記目標画像との差分を前記重みデータにより領域毎に重み付けして類似度を算出することと、
     前記2以上の選択対象画像のそれぞれの類似度に基づいて、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択することと、
     を備える画像処理方法。
PCT/JP2009/002098 2008-05-15 2009-05-13 画像処理装置、画像処理方法、処理装置、処理方法およびプログラム WO2009139161A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010511885A JP5408128B2 (ja) 2008-05-15 2009-05-13 画像処理装置、画像処理方法、処理装置、およびプログラム

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2008-128880 2008-05-15
JP2008-128883 2008-05-15
JP2008128883 2008-05-15
JP2008128880 2008-05-15
JP2008-131370 2008-05-19
JP2008131370 2008-05-19
JP2008-301325 2008-11-26
JP2008301325 2008-11-26

Publications (1)

Publication Number Publication Date
WO2009139161A1 true WO2009139161A1 (ja) 2009-11-19

Family

ID=41318536

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/002098 WO2009139161A1 (ja) 2008-05-15 2009-05-13 画像処理装置、画像処理方法、処理装置、処理方法およびプログラム

Country Status (3)

Country Link
US (1) US8761496B2 (ja)
JP (1) JP5408128B2 (ja)
WO (1) WO2009139161A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489710B2 (en) 2015-06-25 2019-11-26 Fujitsu Limited Program generation apparatus and program generation method
JP2020071709A (ja) * 2018-10-31 2020-05-07 富士通株式会社 判断条件生成支援プログラム、判断条件生成支援方法および情報処理装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2158754A1 (en) * 2008-01-18 2010-03-03 Fotonation Vision Limited Image processing method and apparatus
US8633999B2 (en) * 2009-05-29 2014-01-21 DigitalOptics Corporation Europe Limited Methods and apparatuses for foreground, top-of-the-head separation from background
CN101963965B (zh) 2009-07-23 2013-03-20 阿里巴巴集团控股有限公司 基于搜索引擎的文档索引方法、数据查询方法及服务器
US8971628B2 (en) 2010-07-26 2015-03-03 Fotonation Limited Face detection using division-generated haar-like features for illumination invariance
TWI599964B (zh) * 2010-09-03 2017-09-21 國立台灣科技大學 手指靜脈辨識系統與方法
US10656634B2 (en) * 2013-05-07 2020-05-19 Halliburton Energy Services, Inc. Optical sensor optimization and system implementation with simplified layer structure
US9158996B2 (en) * 2013-09-12 2015-10-13 Kabushiki Kaisha Toshiba Learning image collection apparatus, learning apparatus, and target object detection apparatus
EP3156897B1 (en) * 2014-06-11 2023-04-19 Fujitsu Limited Program generation device, program generation method and program
CN104392247B (zh) * 2014-11-07 2017-09-08 上海交通大学 一种用于数据聚类的相似性网络融合快速方法
US9734579B1 (en) * 2015-02-03 2017-08-15 Google Inc. Three-dimensional models visual differential
RU2640298C1 (ru) 2015-10-12 2017-12-27 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки и хранения изображений
TWI604731B (zh) * 2016-08-05 2017-11-01 瑞昱半導體股份有限公司 影像濾波方法及其影像濾波裝置
US10437565B2 (en) * 2016-08-31 2019-10-08 International Business Machines Corporation Dynamic code suggestion
US11070618B2 (en) * 2019-01-30 2021-07-20 Valve Corporation Techniques for updating files
DE102019202878B4 (de) * 2019-03-04 2022-11-03 Siemens Healthcare Gmbh Verfahren zur Rauschreduzierung in Computertomographiedaten, Röntgeneinrichtung, Computerprogramm und elektronisch lesbarer Datenträger

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178857A (ja) * 2004-12-24 2006-07-06 Yokohama National Univ 画像処理装置
JP2006285385A (ja) * 2005-03-31 2006-10-19 Yokohama National Univ 画像処理装置
JP2007087306A (ja) * 2005-09-26 2007-04-05 Yokohama National Univ 目標画像指定作成方式
JP2008111671A (ja) * 2006-10-27 2008-05-15 Bridgestone Corp 分離フィルタ決定装置及びタイヤ検査装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1161710C (zh) * 1998-05-18 2004-08-11 数据立方公司 图象识别及相关系统
US6801645B1 (en) * 1999-06-23 2004-10-05 Icad, Inc. Computer aided detection of masses and clustered microcalcifications with single and multiple input image context classification strategies
JP2001014052A (ja) * 1999-06-25 2001-01-19 Toshiba Corp コンピュータシステムの個人認証方法、コンピュータシステム、及び記録媒体
US6941323B1 (en) * 1999-08-09 2005-09-06 Almen Laboratories, Inc. System and method for image comparison and retrieval by enhancing, defining, and parameterizing objects in images
US7046851B2 (en) * 2000-11-08 2006-05-16 California Institute Of Technology Image and video indexing scheme for content analysis
GB2402535B (en) * 2003-06-05 2006-06-21 Canon Kk Image processing
US7680330B2 (en) * 2003-11-14 2010-03-16 Fujifilm Corporation Methods and apparatus for object recognition using textons
EP1722331B1 (en) * 2004-03-03 2010-12-01 NEC Corporation Image similarity calculation system, image search system, image similarity calculation method, and image similarity calculation program
EP1830320A4 (en) 2004-12-24 2010-10-20 Nat Univ Corp Yokohama Nat Uni IMAGE PROCESSOR
JP4613617B2 (ja) * 2005-01-07 2011-01-19 ソニー株式会社 画像処理システム、学習装置および方法、並びにプログラム
KR20080012954A (ko) * 2005-06-07 2008-02-12 소니 가부시끼 가이샤 정보 처리 장치 및 정보 처리 방법, 화상 처리 장치 및화상 처리 방법, 및 컴퓨터 프로그램
US7720257B2 (en) * 2005-06-16 2010-05-18 Honeywell International Inc. Object tracking system
KR100714724B1 (ko) * 2005-08-17 2007-05-07 삼성전자주식회사 얼굴 포즈 추정 장치와 추정 방법 그리고 상기 방법에 의한얼굴 인식 시스템
JP4533836B2 (ja) * 2005-12-01 2010-09-01 株式会社東芝 変動領域検出装置及びその方法
KR100860989B1 (ko) * 2006-12-18 2008-09-30 삼성전자주식회사 얼굴 영상의 유사도 산출 방법 및 장치와 이를 이용한 얼굴영상 검색 방법 및 장치 그리고 얼굴 합성 방법
KR100866792B1 (ko) * 2007-01-10 2008-11-04 삼성전자주식회사 확장 국부 이진 패턴을 이용한 얼굴 기술자 생성 방법 및장치와 이를 이용한 얼굴 인식 방법 및 장치
KR101086435B1 (ko) * 2007-03-29 2011-11-25 삼성전자주식회사 영상 데이터 스트림의 에러 검출 방법 및 그 장치
US8131065B2 (en) * 2007-12-20 2012-03-06 Intel Corporation Method and apparatus for obtaining and processing image features
US8144947B2 (en) * 2008-06-27 2012-03-27 Palo Alto Research Center Incorporated System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178857A (ja) * 2004-12-24 2006-07-06 Yokohama National Univ 画像処理装置
JP2006285385A (ja) * 2005-03-31 2006-10-19 Yokohama National Univ 画像処理装置
JP2007087306A (ja) * 2005-09-26 2007-04-05 Yokohama National Univ 目標画像指定作成方式
JP2008111671A (ja) * 2006-10-27 2008-05-15 Bridgestone Corp 分離フィルタ決定装置及びタイヤ検査装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KOHEI NAITO ET AL.: "Kyoshi Gazo o Jido Shusei suru Mokukozojo Gazo Henkan no Jido Seiseiho", ITE TECHNICAL REPORT, vol. 25, no. 24, 2 March 2001 (2001-03-02), pages 1 - 6 *
MICHIYO NISHIOKA ET AL.: "Identeki Gazo Kaiseki ni yoru Hada no Kime no Sokutei", IEICE TECHNICAL REPORT, vol. 104, no. 140, 18 June 2004 (2004-06-18), pages 65 - 69 *
SHIN'YA AOKI ET AL.: "Mokukozojo Gazo Henkan no Jido Kochikuho ACTIT", THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 53, no. 6, 20 June 1999 (1999-06-20), pages 888 - 894 *
WATARU FUJISHIMA ET AL.: "GP ni yoru Kozo Saitekika to GA ni yoru Suchi Saitekika o Heiyo shita Gazo Shori Jido Seiseiho PT-ACTIT", THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 59, no. 11, 1 November 2005 (2005-11-01), pages 1687 - 1693 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489710B2 (en) 2015-06-25 2019-11-26 Fujitsu Limited Program generation apparatus and program generation method
JP2020071709A (ja) * 2018-10-31 2020-05-07 富士通株式会社 判断条件生成支援プログラム、判断条件生成支援方法および情報処理装置
JP7107172B2 (ja) 2018-10-31 2022-07-27 富士通株式会社 判断条件生成支援プログラム、判断条件生成支援方法および情報処理装置

Also Published As

Publication number Publication date
US8761496B2 (en) 2014-06-24
JP5408128B2 (ja) 2014-02-05
US20090297044A1 (en) 2009-12-03
JPWO2009139161A1 (ja) 2011-09-15

Similar Documents

Publication Publication Date Title
JP5408128B2 (ja) 画像処理装置、画像処理方法、処理装置、およびプログラム
JP6443858B2 (ja) 算出装置、算出方法、学習装置、学習方法、及びプログラム
CN110956272A (zh) 实现数据处理的方法和系统
US20120203722A1 (en) Apparatus and method for processing information, recording medium and computer program
US20140236869A1 (en) Interactive variable selection device, interactive variable selection method, and interactive variable selection program
WO2019053835A1 (ja) 演算回路、演算方法、およびプログラム
JP5181825B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2011014051A (ja) 生成装置、生成方法、および生成プログラム
JP5304401B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
JP5676692B2 (ja) 機械学習装置、機械学習方法、およびプログラム
JP5396977B2 (ja) データ処理装置、データ処理方法およびプログラム
JP5417967B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
JP5359622B2 (ja) 遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラム
JP5418052B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
JP5417972B2 (ja) 遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラム
JP5326881B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP5326776B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP5417950B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
JP5453937B2 (ja) 遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラム
JP5359479B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
JP5181826B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2009277100A (ja) 文書特徴表現計算装置、及びプログラム
WO2021020273A1 (ja) 説明生成装置、説明生成方法およびプログラム
JP5359531B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
JP5444822B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09746368

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010511885

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09746368

Country of ref document: EP

Kind code of ref document: A1