JP5326881B2 - Image processing apparatus, image processing method, and image processing program - Google Patents

Image processing apparatus, image processing method, and image processing program Download PDF

Info

Publication number
JP5326881B2
JP5326881B2 JP2009159194A JP2009159194A JP5326881B2 JP 5326881 B2 JP5326881 B2 JP 5326881B2 JP 2009159194 A JP2009159194 A JP 2009159194A JP 2009159194 A JP2009159194 A JP 2009159194A JP 5326881 B2 JP5326881 B2 JP 5326881B2
Authority
JP
Japan
Prior art keywords
image
filter
weight
unit
filters
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2009159194A
Other languages
Japanese (ja)
Other versions
JP2011014047A (en
Inventor
祐司 國米
秀貴 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nikon Corp
Original Assignee
Nikon Corp
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 Nikon Corp filed Critical Nikon Corp
Priority to JP2009159194A priority Critical patent/JP5326881B2/en
Publication of JP2011014047A publication Critical patent/JP2011014047A/en
Application granted granted Critical
Publication of JP5326881B2 publication Critical patent/JP5326881B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Description

本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関する。   The present invention relates to an image processing apparatus, an image processing method, and an image processing program.

遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いたフィルタまたは変換器の生成方法が知られている(非特許文献1参照)。このような進化的計算を用いたフィルタまたは変換器の生成方法によれば、それぞれの事例に対して最適であって解析的に得ることが困難な複雑な構造のフィルタまたは変換器を、より少ない労力と時間で設計することができる。   A method for generating a filter or a converter using evolutionary computation such as a genetic algorithm or genetic programming is known (see Non-Patent Document 1). According to the method of generating a filter or a converter using such evolutionary computation, fewer filters or converters having a complicated structure that are optimal for each case and difficult to obtain analytically are obtained. It can be designed with effort and time.

前薗正宜 他2名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、[online]、コンピュータ利用教育協議会、[2008年3月20日検索]、インターネット<URL:http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf>Masayoshi Maebuchi and two others, “Study on Image Filter Design Using Genetic Algorithm” [online], Computer Utilization Education Council, [March 20, 2008 search], Internet <URL: http: //www.ciec. or.jp/event/2003/papers/pdf/E00086.pdf>

画像フィルタの学習においては、学習用入力画像および目標画像の全領域を対象として画像フィルタの適合度を計算することが一般的である。しかしながら、様々な形状等の対象物の検査等に適応させるべく、撮像画像中の一部の領域を対象として適応させた画像フィルタを生成したい場合もあり得る。   In learning of an image filter, it is common to calculate the fitness of an image filter for the entire area of the learning input image and the target image. However, there may be a case where it is desired to generate an image filter adapted for a part of a region in a captured image in order to adapt to inspection of an object having various shapes.

そこで本発明は、上記の課題を解決することのできる画像処理装置、画像処理方法、および画像処理プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。   SUMMARY An advantage of some aspects of the invention is that it provides an image processing apparatus, an image processing method, and an image processing program capable of solving the above-described problems. This object is achieved by a combination of features described in the independent claims. The dependent claims define further advantageous specific examples of the present invention.

上記課題を解決するために、本発明の第1の態様においては、学習用入力画像から目標画像への変換に適応させた適応済画像フィルタを複数の画像フィルタの中から選択する画像処理装置であって、適応済画像フィルタによる画像変換の対象となる対象物の3次元モデルを記憶するモデル記憶部と、対象物を撮像した撮像画像における検査対象外領域を、3次元モデルに基づいて特定する特定部と、検査対象外領域の重みを、撮像画像における他の領域の重みより小さくした重み画像を生成する重み画像生成部と、複数の画像フィルタのそれぞれについて、当該画像フィルタの出力画像と目標画像との差分を重み画像により領域毎に重み付けして類似度を算出する算出部と、複数の画像フィルタのそれぞれの類似度に基づいて、複数の画像フィルタの中から適応済画像フィルタを選択するフィルタ選択部と、を備える画像処理装置、並びに当該画像処理装置に関する画像処理方法、および画像処理プログラムを提供する。   In order to solve the above-mentioned problem, in the first aspect of the present invention, an image processing apparatus that selects an adapted image filter adapted for conversion from a learning input image to a target image from a plurality of image filters. A model storage unit that stores a three-dimensional model of an object that is an object of image conversion by the adapted image filter, and a non-inspection region in a captured image obtained by imaging the object is specified based on the three-dimensional model. For each of a plurality of image filters, a weight image generation unit that generates a weight image in which the weight of the non-inspection area is smaller than the weight of other areas in the captured image, and the output image of the image filter and the target Based on the similarity of each of a plurality of image filters, a calculation unit that calculates the similarity by weighting the difference from the image for each region using a weighted image, and a plurality of image frames. The image processing apparatus comprising: a filter selection unit, the selecting the adaptive-image-filter from the filter, as well as an image processing method, and an image processing program concerning the image processing apparatus.

なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。   It should be noted that the above summary of the invention does not enumerate all the necessary features of the present invention. In addition, a sub-combination of these feature groups can also be an invention.

本実施形態に係る画像処理装置10の構成を示す。1 shows a configuration of an image processing apparatus 10 according to the present embodiment. 本実施形態に係るフィルタ部品22を直列に組み合わせた画像フィルタ20の一例を示す。An example of the image filter 20 which combined the filter component 22 which concerns on this embodiment in series is shown. 本実施形態に係るフィルタ部品22を木構造に組み合わせた画像フィルタ20の一例を示す。An example of the image filter 20 in which the filter component 22 according to the present embodiment is combined in a tree structure is shown. 本実施形態に係るフィルタ部品22を直列に組み合わせた画像フィルタ20に対して行われる遺伝的な操作の一例を示す。An example of a genetic operation performed on the image filter 20 in which the filter components 22 according to the present embodiment are combined in series is shown. 本実施形態に係るフィルタ部品22を木構造に組み合わせた画像フィルタ20に対して行われる交叉操作の一例を示す。An example of the crossover operation performed on the image filter 20 in which the filter component 22 according to the present embodiment is combined in a tree structure is shown. 本実施形態に係るフィルタ部品22を木構造に組み合わせた画像フィルタ20に対して行われる突然変異操作の一例を示す。An example of a mutation operation performed on the image filter 20 in which the filter component 22 according to the present embodiment is combined in a tree structure is shown. 本実施形態に係る画像フィルタ20の類似度の算出方法の一例を示す。An example of a method for calculating the similarity of the image filter 20 according to the present embodiment is shown. 本実施形態に係る画像処理装置10の処理フローの一例を示す。An example of the processing flow of the image processing apparatus 10 which concerns on this embodiment is shown. 図8のステップS14において画像フィルタ20を選択するまでの処理フローの一例を示す。An example of a processing flow until the image filter 20 is selected in step S14 of FIG. 図9のステップS21における重み画像生成部43による重み画像の更新処理フローの一例を示す。An example of a weight image update processing flow by the weight image generation unit 43 in step S21 of FIG. 9 is shown. 本実施形態に係る3次元モデルの指定範囲を利用した検査対象領域指定の一例を示す。An example of inspection object area | region specification using the designation | designated range of the three-dimensional model which concerns on this embodiment is shown. 本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。2 shows an exemplary hardware configuration of a computer 1900 according to the present embodiment.

以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。   Hereinafter, the present invention will be described through embodiments of the invention, but the following embodiments do not limit the invention according to the claims. In addition, not all the combinations of features described in the embodiments are essential for the solving means of the invention.

図1は、本実施形態に係る画像処理装置10の構成を示す。画像処理装置10は、少なくとも1つの画像フィルタ20を含む画像フィルタ群を進化的計算に基づいて複数世代にわたり進化させる。ここで、画像処理装置10は、3次元モデルを用いて撮像画像中における検査対象外となる領域を特定して、検査対象となる領域の画像を元に画像フィルタ20を進化させる。本実施形態において、各画像フィルタ20は、学習用入力画像を処理して処理結果を出力画像として出力する複数のフィルタ部品の入出力間を組み合わせた構造であってよい。そして、画像処理装置10は、学習用入力画像を目標画像へ変換するのに適した画像フィルタ20を生成する。画像処理装置10は、一例として、コンピュータにより実現される。   FIG. 1 shows a configuration of an image processing apparatus 10 according to the present embodiment. The image processing apparatus 10 evolves an image filter group including at least one image filter 20 over a plurality of generations based on evolutionary computation. Here, the image processing apparatus 10 identifies a region that is not to be inspected in the captured image using the three-dimensional model, and evolves the image filter 20 based on the image of the region to be inspected. In the present embodiment, each image filter 20 may have a structure in which inputs and outputs of a plurality of filter components that process a learning input image and output a processing result as an output image are combined. Then, the image processing apparatus 10 generates an image filter 20 suitable for converting the learning input image into the target image. The image processing apparatus 10 is realized by a computer as an example.

画像処理装置10は、フィルタ格納部34と、学習用入力画像格納部36と、モデル記憶部56と、特定部54と、フィルタ処理部38と、出力画像格納部40と、目標画像格納部42と、重み画像生成部43と、算出部44と、フィルタ選択部46と、フィルタ更新部48と、フィルタ生成部50とを備える。フィルタ格納部34は、互いに異なる構成の複数の画像フィルタ20を格納する。   The image processing apparatus 10 includes a filter storage unit 34, a learning input image storage unit 36, a model storage unit 56, a specifying unit 54, a filter processing unit 38, an output image storage unit 40, and a target image storage unit 42. A weight image generation unit 43, a calculation unit 44, a filter selection unit 46, a filter update unit 48, and a filter generation unit 50. The filter storage unit 34 stores a plurality of image filters 20 having different configurations.

学習用入力画像格納部36は、画像フィルタ20の変換対象である1又は複数の学習用入力画像を格納する。学習用入力画像は、一例として、ユーザによって予め撮像された画像および予め生成された画像である。   The learning input image storage unit 36 stores one or a plurality of learning input images to be converted by the image filter 20. As an example, the learning input image is an image captured in advance by a user and an image generated in advance.

モデル記憶部56は、適応済画像フィルタ20による画像変換の対象となる製品又は部品等の検査対象物の3次元モデルを少なくとも1つ記憶する。ここで、3次元モデルは、三角形又は四角形等の2次元ポリゴンを多数配置して対象物の外形を表わしたものであってよく、円柱等の基本的な立体を組み合わせ、またはワイヤーフレーム等により対象物の構造を表わしたものでもよい。また、3次元モデルの表現形式としては、これらの例に限らず任意のものであってよい。モデル記憶部56は、一例として、画像処理装置10に予め設定され、またはユーザが新たに準備した検査対象物等の構造を示す3次元モデルを記憶する。   The model storage unit 56 stores at least one three-dimensional model of an inspection object such as a product or a part that is an object of image conversion by the adapted image filter 20. Here, the three-dimensional model may represent the outer shape of a target object by arranging a large number of two-dimensional polygons such as triangles or quadrilaterals. It may represent the structure of an object. Further, the expression format of the three-dimensional model is not limited to these examples, and may be arbitrary. As an example, the model storage unit 56 stores a three-dimensional model indicating a structure of an inspection target or the like that is preset in the image processing apparatus 10 or newly prepared by the user.

特定部54は、検査対象物を撮像した撮像画像における検査対象外領域を、モデル記憶部56から供給された3次元モデルに基づいて特定する。特定部54は、一例として、3次元モデルに基づいて、撮像画像における対象物が写らない領域すなわち例えば撮像画像の背景部分を、検査対象外領域として特定する。或いは、特定部54は、一例として、3次元モデルに基づいて、撮像画像における対象物のうち一部の領域を、検査対象外領域として特定する。   The specifying unit 54 specifies a non-inspection target region in the captured image obtained by imaging the inspection target based on the three-dimensional model supplied from the model storage unit 56. For example, based on the three-dimensional model, the specifying unit 54 specifies a region in which the target object is not captured in the captured image, that is, a background portion of the captured image, for example, as a non-test target region. Or as an example, the specific | specification part 54 specifies a one part area | region among the target objects in a captured image as a non-inspection area | region based on a three-dimensional model.

フィルタ処理部38は、フィルタ格納部34に格納された複数の画像フィルタ20を順次に取得する。フィルタ処理部38は、取得したそれぞれの画像フィルタ20により、学習用入力画像格納部36に格納された学習用入力画像を変換させて、出力画像のそれぞれを生成する。   The filter processing unit 38 sequentially acquires the plurality of image filters 20 stored in the filter storage unit 34. The filter processing unit 38 converts each learning input image stored in the learning input image storage unit 36 by each acquired image filter 20 to generate each output image.

出力画像格納部40は、フィルタ処理部38において生成された出力画像を格納する。出力画像格納部40は、一例として、出力画像のそれぞれを、変換した画像フィルタ20に対応付けて格納する。   The output image storage unit 40 stores the output image generated by the filter processing unit 38. For example, the output image storage unit 40 stores each output image in association with the converted image filter 20.

目標画像格納部42は、学習用入力画像を変換して生成される出力画像の目標となる目標画像を格納する。目標画像は、一例として、使用者により予め生成され、または当該画像処理装置10によって準備された画像であってよい。ここで、目標画像は、対象物のサンプルを撮像した画像から、抽出したい欠陥部分を特定し、抜き出す等により、使用者により生成されてもよい。   The target image storage unit 42 stores a target image that is a target of an output image generated by converting the learning input image. For example, the target image may be an image generated in advance by the user or prepared by the image processing apparatus 10. Here, the target image may be generated by the user by specifying and extracting a defective portion to be extracted from an image obtained by capturing a sample of the object.

重み画像生成部43は、特定部54によって特定された検査対象外領域の重みを、撮像画像における他の領域の重みより小さくした重み画像を生成する。重み画像生成部43は、一例として、検査対象外領域において、重みを大きくする比率を検査対象領域より小さくした画像を重み画像として生成する。この場合、重み画像生成部43は、一例として、撮像画像におけるデータ領域毎(例えば各ピクセル)に対応付けられた値によって重みを表わす重み画像を生成する。   The weight image generation unit 43 generates a weight image in which the weight of the non-inspection area specified by the specification unit 54 is smaller than the weight of other areas in the captured image. For example, the weight image generation unit 43 generates, as a weight image, an image in which the ratio of increasing the weight in the non-inspection area is smaller than that in the inspection area. In this case, as an example, the weighted image generation unit 43 generates a weighted image that represents a weight based on a value associated with each data area (for example, each pixel) in the captured image.

さらに、重み画像生成部43は、少なくとも1つの世代において、出力画像および目標画像に基づいて、画像の領域毎の重みを示す重み画像を更新してもよい。   Further, the weight image generation unit 43 may update the weight image indicating the weight for each region of the image based on the output image and the target image in at least one generation.

重み画像生成部43は、重み記憶部60と、重み更新部62とを有する。重み記憶部60は、重み画像を記憶する。重み更新部62は、少なくとも1つの出力画像と目標画像との例えばピクセル毎の差分を算出して、当該ピクセル毎の差分がより大きい領域の重みを差分がより小さい領域の重みより大きくすることにより、重み記憶部60に記憶された重み画像を更新する。   The weight image generation unit 43 includes a weight storage unit 60 and a weight update unit 62. The weight storage unit 60 stores a weight image. The weight update unit 62 calculates, for example, a pixel-by-pixel difference between at least one output image and the target image, and increases the weight of the region where the difference for each pixel is larger than the weight of the region where the difference is smaller. The weight image stored in the weight storage unit 60 is updated.

重み更新部62は、重み画像の更新を世代毎に行ってよい。ここで、例えば、重み更新部62は、現世代の重み画像における目標画像との差分が閾値より大きいデータに対応する重みに所定値を加算して、現世代の重み画像における目標画像との差分が閾値以下のデータに対応する重みに所定値より小さい値を加算する。   The weight update unit 62 may update the weight image for each generation. Here, for example, the weight updating unit 62 adds a predetermined value to the weight corresponding to data whose difference from the target image in the current generation weight image is larger than the threshold, and the difference from the target image in the current generation weight image. A value smaller than a predetermined value is added to the weight corresponding to data that is less than or equal to the threshold value.

このようにして、重み更新部62は、現世代の重み画像に基づいて、次世代の重み画像を生成する。これに代えて、重み更新部62は、現世代の重み画像における、目標画像との差分が閾値より大きいデータに対応する重みに所定値を加算して、目標画像との差分が閾値以下のデータに対応する重みから所定値を減算してもよい。   In this way, the weight update unit 62 generates the next generation weight image based on the current generation weight image. Instead, the weight updating unit 62 adds a predetermined value to the weight corresponding to data in which the difference from the target image is larger than the threshold in the current generation weight image, and the data in which the difference from the target image is equal to or less than the threshold. A predetermined value may be subtracted from the weight corresponding to.

なお、重み記憶部60は、例えば重み更新部62により重み画像が更新される毎に、更新される前の重み画像を更新された重み画像と区別して記憶してもよい。このようにして、画像処理装置10は、検査対象となる領域がより重み付けられた評価によって画像フィルタ20を進化させる。   Note that the weight storage unit 60 may store the weight image before being updated separately from the updated weight image every time the weight image is updated by the weight update unit 62, for example. In this way, the image processing apparatus 10 evolves the image filter 20 by an evaluation in which a region to be inspected is more weighted.

算出部44は、フィルタ格納部34に格納された複数の画像フィルタ20のそれぞれについて、当該画像フィルタ20の出力画像と目標画像との差分を重み画像生成部43によって生成した重み画像により領域毎に重み付けして類似度を算出する。ここで、類似度は、学習用入力画像を目標画像へと変換した出力画像が類似しているかどうかを表す指標値であり、値が高いほど学習用入力画像を目標画像へ類似した変換ができることを表す。   For each of the plurality of image filters 20 stored in the filter storage unit 34, the calculation unit 44 calculates the difference between the output image of the image filter 20 and the target image for each region using the weight image generated by the weight image generation unit 43. The similarity is calculated by weighting. Here, the similarity is an index value indicating whether or not the output image obtained by converting the learning input image to the target image is similar, and the higher the value, the more similar the learning input image can be converted to the target image. Represents.

また、算出部44は、複数の画像フィルタ20のそれぞれについて、複数の撮像位置のそれぞれに対応する学習用入力画像を当該画像フィルタ20により変換した出力画像と、当該出力画像の目標画像との類似度をそれぞれ算出してもよい。この場合、撮像位置は、対象物に対して撮像角度等を変えたものであって、カメラ向き、方角、高さおよび撮像距離などについて、1又は複数を組み合わせたものであってよい。   In addition, for each of the plurality of image filters 20, the calculation unit 44 resembles the output image obtained by converting the learning input image corresponding to each of the plurality of imaging positions by the image filter 20 and the target image of the output image. Each degree may be calculated. In this case, the imaging position is obtained by changing the imaging angle with respect to the object, and may be a combination of one or a plurality of camera orientations, directions, heights, imaging distances, and the like.

フィルタ選択部46は、複数の画像フィルタ20のそれぞれの類似度に基づいて、フィルタ格納部34に格納された複数の画像フィルタ20の中から少なくとも1つの適応済画像フィルタ20を選択する。この場合において、フィルタ選択部46は、複数の画像フィルタ20の中の類似度がより高い画像フィルタ20を優先的に選択する。より具体的には、フィルタ選択部46は、生物の自然淘汰をモデル化した手法により、残存させる少なくとも1つの画像フィルタ20を選択する。   The filter selection unit 46 selects at least one adapted image filter 20 from among the plurality of image filters 20 stored in the filter storage unit 34 based on the respective similarities of the plurality of image filters 20. In this case, the filter selection unit 46 preferentially selects the image filter 20 having a higher degree of similarity among the plurality of image filters 20. More specifically, the filter selection unit 46 selects at least one image filter 20 to be left by a method of modeling a natural selection of a living thing.

フィルタ選択部46は、一例として、フィルタ格納部34に格納された複数の画像フィルタ20のそれぞれの類似度に基づき、エリート選択およびルーレット選択といった遺伝的計算により少なくとも1つの画像フィルタ20を選択する。また、フィルタ選択部46は、複数の画像フィルタ20のそれぞれについて複数の撮像位置のそれぞれに対応して算出された類似度に基づいて、フィルタ格納部34に格納された複数の画像フィルタ20の中から少なくとも1つの適応済画像フィルタ20を選択してもよい。この場合、フィルタ選択部46は、一例として、複数の撮像位置のそれぞれの類似度の和または重み付けした和等がより大きい画像フィルタ20を優先的に選択する。   For example, the filter selection unit 46 selects at least one image filter 20 by genetic calculation such as elite selection and roulette selection based on the similarity of each of the plurality of image filters 20 stored in the filter storage unit 34. In addition, the filter selection unit 46 selects the content of the plurality of image filters 20 stored in the filter storage unit 34 based on the similarity calculated for each of the plurality of imaging positions for each of the plurality of image filters 20. At least one adapted image filter 20 may be selected. In this case, for example, the filter selection unit 46 preferentially selects the image filter 20 having a larger sum of similarities or weighted sums of the plurality of imaging positions.

フィルタ更新部48は、フィルタ格納部34に格納された複数の画像フィルタ20のうち、フィルタ選択部46により選択された画像フィルタ20を残存させ、フィルタ選択部46により選択されなかった画像フィルタ20を淘汰する。フィルタ更新部48は、一例として、画像フィルタ20をフィルタ格納部34から削除することにより淘汰する。   The filter update unit 48 leaves the image filter 20 selected by the filter selection unit 46 among the plurality of image filters 20 stored in the filter storage unit 34, and sets the image filter 20 that has not been selected by the filter selection unit 46. Hesitate. For example, the filter update unit 48 hesitates by deleting the image filter 20 from the filter storage unit 34.

フィルタ生成部50は、学習用入力画像を処理して処理結果を出力画像として出力する1又は複数の画像フィルタ20を遺伝的処理により生成する。フィルタ生成部50は、フィルタ更新部48による更新処理において残存した少なくとも1つの画像フィルタ20に対して、交叉および突然変異等の遺伝的な操作によって新たな画像フィルタ20を生成する。   The filter generation unit 50 generates one or a plurality of image filters 20 that process the learning input image and output the processing result as an output image by genetic processing. The filter generation unit 50 generates a new image filter 20 by genetic operations such as crossover and mutation for at least one image filter 20 remaining in the update processing by the filter update unit 48.

このような画像処理装置10は、フィルタ処理部38による変換処理、算出部44による類似度の算出処理、フィルタ選択部46による画像フィルタ20の選択処理、フィルタ更新部48による更新処理およびフィルタ生成部50による新たな画像フィルタ20の生成処理を、複数回(例えば複数世代)繰り返す。これにより、画像処理装置10は、学習用入力画像を目標画像へ変換するのに適した画像フィルタ20を、進化的計算を用いて生成することができる。   Such an image processing apparatus 10 includes a conversion process by the filter processing unit 38, a similarity calculation process by the calculation unit 44, a selection process of the image filter 20 by the filter selection unit 46, an update process by the filter update unit 48, and a filter generation unit. The process of generating a new image filter 20 by 50 is repeated a plurality of times (for example, a plurality of generations). Thereby, the image processing apparatus 10 can generate the image filter 20 suitable for converting the learning input image into the target image by using evolutionary calculation.

図2は、本実施形態に係るフィルタ部品22を直列に組み合わせた画像フィルタ20の一例を示す。図3は、本実施形態に係るフィルタ部品22を木構造に組み合わせた画像フィルタ20の一例を示す。   FIG. 2 shows an example of the image filter 20 in which the filter components 22 according to the present embodiment are combined in series. FIG. 3 shows an example of the image filter 20 in which the filter component 22 according to the present embodiment is combined in a tree structure.

画像フィルタ20は、図2に示されるような、複数のフィルタ部品22を直列に組み合わせた構成であってよい。また、画像フィルタ20は、図3に示されるような、複数のフィルタ部品22を木構造に組み合わせた構成であってもよい。また、画像フィルタ20は、1つの入力端に対して、複数の出力端を有する構成であってもよい。また、画像フィルタ20は、複数の入力端および複数の出力端を有する構成であってもよい。   The image filter 20 may have a configuration in which a plurality of filter components 22 are combined in series as shown in FIG. The image filter 20 may have a configuration in which a plurality of filter components 22 are combined in a tree structure as shown in FIG. Further, the image filter 20 may have a plurality of output ends with respect to one input end. The image filter 20 may have a configuration having a plurality of input ends and a plurality of output ends.

画像フィルタ20は、受け取った学習用入力画像に対してフィルタ演算処理を施して、出力画像を出力する。画像フィルタ20は、一例として、画像データに対して演算を施すプログラムとする。また、画像フィルタ20は、画像データに対して施すべき演算内容を表わす演算式であってもよい。   The image filter 20 performs a filter calculation process on the received learning input image and outputs an output image. As an example, the image filter 20 is a program that performs an operation on image data. In addition, the image filter 20 may be an arithmetic expression that represents the content of calculation to be performed on the image data.

なお、フィルタ部品22が木構造に組み合わされた構成の画像フィルタ20は、木構造の末端(最下位)のフィルタ部品22のそれぞれに、同一の学習用入力画像が与えられ、木構造の最上位のフィルタ部品22から出力画像を出力する。これに代えて、このような画像フィルタ20は、複数の末端のフィルタ部品22のそれぞれに互いに異なる学習用入力画像が与えられてもよい。   Note that the image filter 20 having the structure in which the filter parts 22 are combined in a tree structure is given the same learning input image to each of the end (lowest) filter parts 22 of the tree structure, and the highest level of the tree structure. The output image is output from the filter component 22. Instead of this, such an image filter 20 may be provided with different learning input images for each of the plurality of terminal filter components 22.

本実施形態において、フィルタ生成部50は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品22を少なくとも1つ含む複数の画像フィルタ20から、遺伝的処理により新たな画像フィルタ20を生成して複数の画像フィルタ20に加えて複数の画像フィルタ20を生成する。ここで、画像フィルタ20は、画像データに対して演算を施すプログラムであるフィルタ部品22を組み合わせた構成であってもよい。また、画像フィルタ20は、画像データに対して施すべき演算内容を表わす演算式であるフィルタ部品22を組み合わせた構成であってもよい。   In this embodiment, the filter generation unit 50 generates a new image filter 20 by genetic processing from a plurality of image filters 20 including at least one of a plurality of filter components 22 that respectively convert an input image into an output image. In addition to the plurality of image filters 20, a plurality of image filters 20 are generated. Here, the image filter 20 may have a configuration in which a filter component 22 that is a program for performing an operation on image data is combined. Further, the image filter 20 may have a configuration in which a filter component 22 that is an arithmetic expression representing the content of calculation to be performed on image data is combined.

複数のフィルタ部品22のそれぞれは、前段に配置されたフィルタ部品22から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置されたフィルタ部品22に与える。複数のフィルタ部品22のそれぞれは、プログラムモジュールおよび演算式等であってよく、受け取った画像データに対して2値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算、及び/または周波数空間での演算(例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算)等の単項演算を施してもよい。   Each of the plurality of filter components 22 receives the image data output from the filter component 22 arranged in the previous 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 may be a program module, an arithmetic expression, or the like, and performs binarization operation, histogram operation, smoothing operation, edge detection operation, morphology operation, and / or frequency on received image data. Unary operations such as space operations (for example, low-pass filtering operations and high-pass filtering operations) may be performed.

また、複数のフィルタ部品22のそれぞれは、受け取った画像データに対して平均演算、差分演算及び/またはファジー演算(例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等)等の二項演算を施してもよい。   In addition, each of the plurality of filter components 22 performs an average operation, a difference operation, and / or a fuzzy operation (for example, logical sum operation, logical product operation, algebraic sum, algebraic product, limit sum, limit product, Binomial operations such as intense sum and intense product) may be performed.

図4は、本実施形態に係るフィルタ部品22を直列に組み合わせた画像フィルタ20に対して行われる遺伝的な操作の一例を示す。図5は、本実施形態に係るフィルタ部品22を木構造に組み合わせた画像フィルタ20に対して行われる交叉操作の一例を示す。図6は、本実施形態に係るフィルタ部品22を木構造に組み合わせた画像フィルタ20に対して行われる突然変異操作の一例を示す。   FIG. 4 shows an example of a genetic operation performed on the image filter 20 in which the filter components 22 according to this embodiment are combined in series. FIG. 5 shows an example of a crossover operation performed on the image filter 20 in which the filter component 22 according to this embodiment is combined in a tree structure. FIG. 6 shows an example of a mutation operation performed on the image filter 20 in which the filter component 22 according to this embodiment is combined in a tree structure.

フィルタ生成部50は、一例として、2個またはそれ以上の画像フィルタ20に対して、遺伝的な操作の一例である交叉操作を行って新たな2個またはそれ以上の画像フィルタ20を生成する。フィルタ生成部50は、一例として、図4および図5に示されるように、既に生成された少なくとも1つの一の画像フィルタ20Aの一部のフィルタ部品群24Aを、既に生成された他の画像フィルタ20Bの少なくとも一部のフィルタ部品群24Bと置換して、新たな画像フィルタ20Eおよび20Fを生成する。なお、フィルタ部品群24は、1または複数のフィルタ部品22を組み合わせた部材であってもよい。   For example, the filter generation unit 50 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. As an example, as illustrated in FIG. 4 and FIG. 5, the filter generation unit 50 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 are generated by replacing at least a part of the filter component group 24B of 20B. The filter component group 24 may be a member in which one or a plurality of filter components 22 are combined.

また、フィルタ生成部50は、一例として、一の画像フィルタ20に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の画像フィルタ20を生成する。フィルタ生成部50は、一例として、図4および図6に示されるように、既に生成された一の画像フィルタ20Cの一部のフィルタ部品群24Cを、ランダムに選択された他のフィルタ部品群24Gに置換して、新たな画像フィルタ20Gを生成する。   For example, the filter generation unit 50 performs a mutation operation, which is an example of a genetic operation, on one image filter 20 to generate a new image filter 20. As an example, as illustrated in FIG. 4 and FIG. 6, the filter generation unit 50 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. To generate a new image filter 20G.

また、フィルタ生成部50は、現世代の画像フィルタ20をそのまま次世代の画像フィルタ20として残してもよい。フィルタ生成部50は、一例として、図4に示されるように、画像フィルタ20Dのフィルタ部品22の構成をそのまま含む次世代の画像フィルタ20Hを生成する。   Further, the filter generation unit 50 may leave the current generation image filter 20 as the next generation image filter 20 as it is. As an example, the filter generation unit 50 generates 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.

フィルタ選択部46は、フィルタ生成部50により生成された1または複数の画像フィルタ20から、適合度の高いものを優先的に選択して、適者生存させる。フィルタ更新部48は、選択された画像フィルタ20をフィルタ格納部34内に保存し、選択されなかった画像フィルタ20をフィルタ格納部34内から削除する。   The filter selection unit 46 preferentially selects one having a high degree of fitness from one or a plurality of image filters 20 generated by the filter generation unit 50, and makes the appropriate person survive. The filter update unit 48 saves the selected image filter 20 in the filter storage unit 34 and deletes the unselected image filter 20 from the filter storage unit 34.

図7は、本実施形態に係る画像フィルタ20の類似度の算出方法の一例を示す。本実施形態において、算出部44は、当該画像フィルタ20により学習用入力画像を変換させることにより生成された出力画像と、目標画像とがどれだけ類似しているかを表わす類似度を算出する。この類似度は、値がより大きいほど、当該出力画像を生成した画像フィルタ20がより適切であることを示す評価値または指標として用いられる。   FIG. 7 shows an example of a method for calculating the similarity of the image filter 20 according to the present embodiment. In the present embodiment, the calculation unit 44 calculates a similarity indicating how similar the output image generated by converting the learning input image by the image filter 20 and the target image are. This similarity is used as an evaluation value or index indicating that the larger the value is, the more appropriate the image filter 20 that generated the output image is.

算出部44は、出力画像の各領域の値と目標画像の対応する各領域の値とを比較した比較値を算出し、領域毎の比較値に対して重み画像により指定される重みを乗じる。そして、算出部44は、重みが乗じられた領域毎の比較値を全領域について平均または合計した値を算出し、算出した値を当該出力画像の類似度として出力する。   The calculation unit 44 calculates a comparison value by comparing the value of each region of the output 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 image. Then, the calculation unit 44 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 output image.

算出部44は、一例として、出力画像のピクセル毎の輝度値と、目標画像の対応するピクセルの輝度値との差分または比率を算出する。そして、算出部44は、一例として、算出したピクセル毎の差分または比率のそれぞれに、重み画像により指定される対応する重みを乗じ、重みが乗じられたピクセル毎の差分または比率を合計または平均して、類似度を算出する。   For example, the calculation unit 44 calculates the difference or ratio between the luminance value for each pixel of the output image and the luminance value of the corresponding pixel of the target image. Then, as an example, the calculation unit 44 multiplies each calculated difference or ratio for each pixel by the corresponding weight specified by the weight image, and sums or averages the difference or ratio for each pixel multiplied by the weight. Thus, the similarity is calculated.

例えば、算出部44は、下記式(1)に示される演算をして、類似度を算出する。なお、この場合において、出力画像、目標画像および重み画像のサイズは、同一とされる。   For example, the calculation unit 44 calculates the similarity by performing an operation represented by the following formula (1). In this case, the sizes of the output image, the target image, and the weight image are the same.

Figure 0005326881
Figure 0005326881

式(1)において、fは、類似度を表わす。Ymaxは、輝度の最大値を表わす。また、xは、画像の水平方向のピクセル位置を示す変数である。yは、画像の垂直方向のピクセル位置を示す変数である。xmaxは、画像の水平方向のピクセル数を示す定数である。ymaxは、画像の垂直方向のピクセル数を示す定数である。 In the formula (1), 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. ymax is a constant indicating the number of pixels in the vertical direction of the image.

weight(x,y)は、重み画像における(x,y)位置のピクセルの輝度値を表わす。Itarget(x,y)は、目標画像における(x,y)位置のピクセルの輝度値を表わす。Ifilter(x,y)は、出力画像における(x,y)位置のピクセルの輝度値を表わす。 I weight (x, y) represents the luminance value of the pixel at the (x, y) position in the weighted image. I target (x, y) represents the luminance value of the pixel at the (x, y) position in the target image. I filter (x, y) represents the luminance value of the pixel at the (x, y) position in the output image.

すなわち、式(1)の中カッコ内の分子部分に示されるように、算出部44は、目標画像の輝度値から出力画像の輝度値の差の絶対値に対して、重み画像の輝度値を乗じた重み付き差分値を、画面内の全てのピクセル毎に算出し、算出した重み付き差分値を全ピクセルについて合計した合計重み付け差分値を算出する。さらに、式(1)の中カッコ内の分母部分に示されるように、算出部44は、重み画像の輝度値を全ピクセルについて合計した合計重みを算出する。   That is, as indicated by the numerator part in the curly braces of Expression (1), the calculation unit 44 calculates the luminance value of the weighted image with respect to the absolute value of the difference between the luminance value of the target image and the luminance value of the output 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. Further, as indicated by the denominator part in the curly braces of Expression (1), the calculation unit 44 calculates a total weight obtained by adding the luminance values of the weighted image for all pixels.

さらに、算出部44は、合計重み付け差分値を合計重みで除算した除算値(式(1)の中カッコ内)に、輝度値の最大値の逆数(1/Ymax)を乗じて正規化値(式(1)の2番目の項)を算出する。そして、算出部44は、1から、正規化値を減じた値を、類似度fとして算出する。このようにして、算出部44は、出力画像と目標画像との差分を領域毎に重み付けして類似度を算出することができる。   Further, the calculation unit 44 multiplies the division value (in the curly braces of the equation (1)) obtained by dividing the total weighted difference value by the total weight by the reciprocal (1 / Ymax) of the maximum value of the luminance value (normalized value). The second term of the formula (1) is calculated. Then, the calculation unit 44 calculates a value obtained by subtracting the normalized value from 1 as the similarity f. In this way, the calculation unit 44 can calculate the similarity by weighting the difference between the output image and the target image for each region.

図8は、本実施形態に係る画像処理装置10の処理フローの一例を示す。まず、画像処理装置10は、モデル記憶部56に予め設定され、またはユーザにより新たに準備して記憶された3次元モデルを取得して、特定部54によって学習用入力画像へ投影して検査対象外領域を特定する(S18)。   FIG. 8 shows an example of the processing flow of the image processing apparatus 10 according to the present embodiment. First, the image processing apparatus 10 acquires a three-dimensional model that is set in advance in the model storage unit 56 or newly prepared and stored by the user, and is projected onto the learning input image by the specifying unit 54 to be inspected. An outer region is specified (S18).

ここで、特定部54は、一例として、モデル記憶部56から供給され、またはユーザ入力によって直接指定された3次元モデルに基づいて、撮像画像における対象物が写らない領域(例えば背景領域)を検査対象外領域として特定する。また、特定部54は、ユーザが編集した3次元モデルを、モデル記憶部56へ保存してもよい。   Here, as an example, the specifying unit 54 inspects a region (for example, a background region) in which the target object is not captured in the captured image based on a three-dimensional model supplied from the model storage unit 56 or directly designated by user input. Identified as a non-target area. The specifying unit 54 may store the three-dimensional model edited by the user in the model storage unit 56.

そして、重み更新部62は、特定部54によって検査対象外領域を特定した撮像画像から、検査対象外領域の重みを大きくする比率を検査対象領域より小さくした重み画像を生成する。また、重み更新部62は、ユーザが撮像した複数の撮像位置のそれぞれに対する重み画像を生成してもよい。重み画像生成部43は、一例として、撮像画像におけるそれぞれの撮像位置に応じて、各ピクセルに対応付けられた値(例えば輝度値等)を、検査対象外領域の重みを大きくする比率を検査対象領域より小さくした重み画像を生成する。そして、画像処理装置10は、ステップS12〜ステップS15の各処理を、複数回(例えば複数世代)繰返して実行する(S11、S16)。   Then, the weight update unit 62 generates a weight image in which the ratio of increasing the weight of the non-inspection area is smaller than the inspection area from the captured image in which the non-inspection area is specified by the specifying unit 54. Further, the weight update unit 62 may generate a weight image for each of a plurality of imaging positions captured by the user. As an example, the weighted image generating unit 43 sets a value corresponding to each pixel (for example, a luminance value) according to each imaging position in the captured image to a ratio that increases the weight of the non-inspection area. A weighted image smaller than the area is generated. Then, the image processing apparatus 10 repeatedly executes each process of step S12 to step S15 a plurality of times (for example, a plurality of generations) (S11, S16).

各世代の処理において、フィルタ生成部50は、前世代から残存したフィルタ更新部48による更新処理において残存した少なくとも1つの画像フィルタ20を取得する。続いて、フィルタ生成部50は、取得した少なくとも1つの画像フィルタ20に対して、交叉操作および突然変異操作等の遺伝的な操作を行って、少なくとも一部のフィルタ部品22を他のフィルタ部品22に置換した少なくとも1つの新たな画像フィルタ20を生成する(S12)。そして、フィルタ生成部50は、生成した少なくとも1つの新たな画像フィルタ20をフィルタ格納部34に書き込む。なお、フィルタ生成部50は、一例として、学習用入力画像を出力画像に変換する画像フィルタ20を生成するための初期の画像フィルタ20として、ランダムに生成した、または既に生成した画像フィルタ20を、予めフィルタ格納部34に格納しておく。   In each generation process, the filter generation unit 50 acquires at least one image filter 20 remaining in the update process by the filter update unit 48 remaining from the previous generation. Subsequently, the filter generation unit 50 performs genetic operations such as a crossover operation and a mutation operation on the acquired at least one image filter 20 to replace at least some filter components 22 with other filter components 22. At least one new image filter 20 replaced with is generated (S12). Then, the filter generation unit 50 writes the generated at least one new image filter 20 in the filter storage unit 34. Note that, as an example, the filter generation unit 50 randomly generates or has already generated the image filter 20 as the initial image filter 20 for generating the image filter 20 that converts the learning input image into the output image. Stored in the filter storage unit 34 in advance.

続いて、フィルタ処理部38は、前世代から残存した複数の画像フィルタ20およびステップS12で新たに生成された複数の画像フィルタ20のそれぞれにより、学習用入力画像をフィルタ処理して出力画像を生成する(S13)。これにより、フィルタ処理部38は、複数の画像フィルタ20に対応した複数の出力画像を生成することができる。   Subsequently, the filter processing unit 38 generates an output image by filtering the learning input 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). Thereby, the filter processing unit 38 can generate a plurality of output images corresponding to the plurality of image filters 20.

続いて、算出部44は、学習用入力画像を画像フィルタ20により変換した出力画像および目標画像を重み画像生成部43が生成した重み画像により重み付けして比較する。ここで、算出部44は、複数の出力画像のそれぞれと目標画像との類似度を算出する。なお、算出部44は、類似度または近似度に加え、フィルタ部品22の数の少なさ、処理負荷の低さ、および並列度の大きさ等に応じて評価を高めた適合度を算出してもよい。   Subsequently, the calculation unit 44 weights and compares the output image obtained by converting the learning input image by the image filter 20 and the target image with the weight image generated by the weight image generation unit 43. Here, the calculation unit 44 calculates the degree of similarity between each of the plurality of output images and the target image. Note that the calculation unit 44 calculates the degree of fitness with higher evaluation in accordance with the number of filter components 22, the low processing load, the degree of parallelism, and the like in addition to the similarity or approximation. Also good.

そして、フィルタ選択部46は、類似度がより高い出力画像に対応する複数の画像フィルタ20を選択する(S14)。なお、フィルタ選択部46は、最後の世代においては、類似度の最も高い1個の出力画像に対応する1個の画像フィルタ20を選択してよい。   Then, the filter selection unit 46 selects a plurality of image filters 20 corresponding to an output image having a higher similarity (S14). Note that, in the last generation, the filter selection unit 46 may select one image filter 20 corresponding to one output image having the highest similarity.

さらに、フィルタ更新部48は、ステップS14において選択された1または複数の画像フィルタ20を次世代に残存させ、ステップS14において選択されなかった出力画像を生成した画像フィルタ20を、フィルタ格納部34内における画像フィルタ群から削除することにより淘汰する(S15)。また、フィルタ生成部50は、新たに生成した複数の画像フィルタ20をフィルタ格納部34に戻して、既に生成された複数の画像フィルタ20に加えて格納させてもよい。   Further, the filter update unit 48 causes the one or more image filters 20 selected in step S14 to remain in the next generation, and the image filter 20 that has generated the output image not selected in step S14 is stored in the filter storage unit 34. By removing from the image filter group at (S15). The filter generation unit 50 may return the newly generated plurality of image filters 20 to the filter storage unit 34 and store them in addition to the already generated plurality of image filters 20.

画像処理装置10は、以上の処理を複数の世代(例えば数十世代または数百世代以上)繰り返して実行して、最後の世代(例えば第N世代、Nは2以上の自然数)まで処理を実行した後に、当該フローを抜ける(S16)。このようにして、画像処理装置10は、3次元構造の対象物を撮像した撮像画像または学習用入力画像を、適切な検査範囲の目標画像へ変換するのに適した画像フィルタ20を、進化的計算を用いて生成することができる。   The image processing apparatus 10 repeatedly executes the above processing for a plurality of generations (for example, tens of generations or hundreds of generations or more), and executes the processing up to the last generation (for example, the Nth generation, where N is a natural number of 2 or more). After that, the flow is exited (S16). In this way, the image processing apparatus 10 evolves an image filter 20 suitable for converting a captured image obtained by capturing an object having a three-dimensional structure or a learning input image into a target image in an appropriate examination range. It can be generated using calculations.

図9は、図8のステップS14において画像フィルタ20を選択するまでの処理フローの一例を示す。画像処理装置10は、図8に示されるステップS14において、以下の処理を実行する。   FIG. 9 shows an example of a processing flow until the image filter 20 is selected in step S14 of FIG. The image processing apparatus 10 performs the following processing in step S14 shown in FIG.

まず、重み画像生成部43は、世代毎に適切な重み画像を発生させるべく、重み画像を更新する(ステップS21)。なお、重み画像生成部43による重み画像の更新処理については、後述の図10において詳細を説明する。   First, the weight image generation unit 43 updates the weight image so as to generate an appropriate weight image for each generation (step S21). The weight image update processing by the weight image generation unit 43 will be described in detail later with reference to FIG.

続いて、算出部44は、フィルタ格納部34に格納された複数の画像フィルタ20のそれぞれにより生成された複数の出力画像のそれぞれ毎に、以下のステップS23の処理を実行する(S22、S24)。ステップS23において、算出部44は、当該出力画像と目標画像とを重み画像生成部43によって生成した重み画像に応じた重み付けをした比較をして、当該出力画像と目標画像との類似度を算出する。算出部44は、複数の出力画像のすべてについて処理を終えると、処理をステップS25に進める(S24)。   Subsequently, the calculation unit 44 performs the following step S23 for each of the plurality of output images generated by each of the plurality of image filters 20 stored in the filter storage unit 34 (S22, S24). . In step S23, the calculation unit 44 compares the output image and the target image with weighting according to the weight image generated by the weight image generation unit 43, and calculates the similarity between the output image and the target image. To do. When the calculation unit 44 finishes the process for all of the plurality of output images, the process proceeds to step S25 (S24).

続いて、フィルタ選択部46は、複数の出力画像のそれぞれの類似度に基づき、複数の出力画像の中から目標画像により近い出力画像を選択する(S25)。フィルタ選択部46は、一例として、複数の画像フィルタ20により変換された複数の出力画像のうち、類似度がより高い出力画像を優先的に選択する。フィルタ選択部46は、一例として、類似度が基準類似度より高い出力画像を選択する。また、フィルタ選択部46は、類似度が上位から予め定められた範囲の選択対象画像を選択してもよい。また、フィルタ選択部46は、類似度がより高い出力画像がより高い確率で選択されるように設定がされている条件下で、ランダムに出力画像を選択してもよい。   Subsequently, the filter selection unit 46 selects an output image closer to the target image from the plurality of output images based on the respective similarities of the plurality of output images (S25). As an example, the filter selection unit 46 preferentially selects an output image having a higher degree of similarity among a plurality of output images converted by the plurality of image filters 20. As an example, the filter selection unit 46 selects an output image whose similarity is higher than the reference similarity. In addition, the filter selection unit 46 may select a selection target image within a predetermined range from the top of the similarity. Further, the filter selection unit 46 may randomly select an output image under a condition that is set so that an output image with a higher degree of similarity is selected with a higher probability.

そして、フィルタ選択部46は、選択された出力画像を生成する画像フィルタ20を、学習用入力画像を目標画像により類似する画像に変換する画像フィルタ20として選択する(S26)。このステップS26の処理を終えると、画像処理装置10は、当該フローを終了する。   Then, the filter selection unit 46 selects the image filter 20 that generates the selected output image as the image filter 20 that converts the learning input image into an image similar to the target image (S26). When the process of step S26 is completed, the image processing apparatus 10 ends the flow.

図10は、図9のステップS21における重み画像生成部43による重み画像の更新処理フローの一例を示す。重み画像生成部43は、図9に示されたステップS21における重み画像の更新処理において、以下のステップS31〜S33の処理を実行する。   FIG. 10 shows an example of a weight image update processing flow by the weight image generation unit 43 in step S21 of FIG. The weight image generation unit 43 performs the following steps S31 to S33 in the weight image update process in step S21 shown in FIG.

重み更新部62は、一例として、前世代から残存した複数の画像フィルタ20および図8のステップS12において新たに生成された複数の画像フィルタ20のそれぞれにより生成された複数の出力画像のうち、少なくとも1つの出力画像を、重み画像更新用の出力画像として抽出する(S31)。ここで、重み更新部62は、一例として、複数の画像フィルタ20のうち、前世代において算出された類似度が最も高かった画像フィルタ20により生成された出力画像を抽出する。また、重み更新部62は、前世代において算出された類似度が所定値以上の画像フィルタ20により生成された1または複数の出力画像を抽出してもよい。また、重み更新部62は、一例として、複数の画像フィルタ20のうち任意の一個の画像フィルタ20により生成された出力画像を抽出する。   For example, the weight update unit 62 includes at least one of a plurality of output images generated by 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 of FIG. One output image is extracted as an output image for updating the weighted image (S31). Here, as an example, the weight updating unit 62 extracts an output image generated by the image filter 20 having the highest similarity calculated in the previous generation among the plurality of image filters 20. Further, the weight update unit 62 may extract one or a plurality of output images generated by the image filter 20 whose similarity calculated in the previous generation is equal to or greater than a predetermined value. For example, the weight update unit 62 extracts an output image generated by any one of the plurality of image filters 20.

続いて、重み更新部62は、ステップS31において選択された少なくとも1つの出力画像と目標画像との領域毎の差分を算出する(S32)。重み更新部62は、一例として、ステップS31において選択された少なくとも1つの出力画像と、目標画像とのピクセル毎の差分を算出する。なお、ステップS31において複数の出力画像を選択した場合には、重み更新部62は、一例として、選択された複数の出力画像のそれぞれと一の目標画像との複数個の差分のうち、最も大きい1個の差分またはこれら複数個の差分の平均値を、領域毎(例えばピクセル毎)に選択する。   Subsequently, the weight updating unit 62 calculates a difference for each region between at least one output image selected in step S31 and the target image (S32). As an example, the weight update unit 62 calculates a difference for each pixel between at least one output image selected in step S31 and the target image. When a plurality of output images are selected in step S31, the weight update unit 62, for example, is the largest of a plurality of differences between each of the selected plurality of output images and one target image. One difference or an average value of the plurality of differences is selected for each region (for example, for each pixel).

続いて、重み更新部62は、重み記憶部60に記憶された重み画像、すなわち、前世代の処理において用いられた重み画像を、ステップS32において算出された領域毎の差分に基づき変更する(S33)。より具体的には、重み更新部62は、差分がより大きい領域の重みを当該差分がより小さい領域の重みより大きくするべく、重み記憶部60に記憶された重みデータを更新する。なお、重み更新部62は、特定部54によって検査領域外と特定された範囲においては、予め重みを0としまたは増加させずに更新してもよい。   Subsequently, 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 process, 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. Note that the weight updating unit 62 may update the weight in advance within a range identified as outside the examination area by the identifying unit 54 without setting the weight to 0 or increasing it.

以上において、重み画像生成部43は、学習入力画像を学習用目標画像により類似する画像に変換する重み画像を生成することができる。   In the above, the weight image generation unit 43 can generate a weight image that converts the learning input image into a similar image by the learning target image.

図11は、3次元モデルの指定範囲を利用した検査対象領域指定の一例を示す。本図において、特定部54は、撮像画像に対して3次元モデルを投影して、検査対象外領域を指定する。   FIG. 11 shows an example of inspection area specification using a specified range of a three-dimensional model. In this figure, the specifying unit 54 projects a three-dimensional model on the captured image and designates a non-inspection area.

特定部54は、3次元モデルに基づいて、撮像画像における対象物が写らない領域(例えば背景領域)を検査対象外領域として特定する。一例として、特定部54は、3次元モデルを、撮像装置の視野に応じたスクリーンに投影して、3次元モデルが投影される領域を検査対象領域とし、3次元モデルが投影されない領域を検査対象外領域としてもよい。また、特定部54は、3次元モデルを撮像画像に投影した場合に、3次元モデル上の検査対象外とすべき箇所が投影される撮像画像内の領域を、検査対象外領域として特定してよい。ここで、特定部54は、3次元モデルにおける予め指定された箇所の基準以下の面率を有する箇所、および/または面の法線と撮影方向との間の角度が所定以上の箇所等、検査として適切ではない箇所を検査対象外領域として特定してもよい。   Based on the three-dimensional model, the specifying unit 54 specifies a region (for example, a background region) in which the target object is not captured in the captured image as a non-inspection region. As an example, the specifying unit 54 projects a three-dimensional model onto a screen according to the field of view of the imaging apparatus, sets an area on which the three-dimensional model is projected as an inspection target area, and an area on which the three-dimensional model is not projected as an inspection target. It may be an outside region. In addition, when the three-dimensional model is projected onto the captured image, the specifying unit 54 specifies, as the non-inspection area, an area in the captured image on which a portion to be excluded from the inspection target on the three-dimensional model is projected. Good. Here, the specifying unit 54 performs inspection such as a part having a surface area less than or equal to a reference of a predetermined part in the three-dimensional model and / or a part where the angle between the normal of the surface and the imaging direction is a predetermined value or more. As such, a location that is not appropriate may be specified as a non-inspection area.

また、特定部54は、複数の撮像位置のそれぞれから対象物を撮像した場合に得られる複数の撮像画像のそれぞれにおける検査対象外領域を、3次元モデルに基づいて特定してもよい。この場合、特定部54は、3次元モデルを投影するスクリーンを撮像位置に応じて複数用意することで、撮像位置が異なる複数の撮像画像の検査対象外領域を特定する。   Further, the specifying unit 54 may specify a non-inspection region in each of a plurality of captured images obtained when an object is imaged from each of a plurality of imaging positions based on a three-dimensional model. In this case, the specifying unit 54 specifies a non-inspection area of a plurality of captured images having different imaging positions by preparing a plurality of screens for projecting the three-dimensional model according to the imaging positions.

図12は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスク・ドライブ2040、及びDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。   FIG. 12 shows an example of a hardware configuration of a computer 1900 according to this embodiment. 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. An input / output unit having a communication interface 2030, a hard disk drive 2040, and a DVD drive 2060, and a legacy input / output unit having a ROM 2010, a flexible disk drive 2050, and an input / output chip 2070 connected to the input / output controller 2084 Is provided.

ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。   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. Instead of this, the graphic controller 2075 may include a frame buffer for storing image data generated by the CPU 2000 or the like.

入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスク・ドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスク・ドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。DVDドライブ2060は、DVD2095からプログラム又はデータを読み取り、RAM2020を介してハードディスク・ドライブ2040に提供する。   The input / output controller 2084 connects the host controller 2082 to the communication interface 2030, the hard disk drive 2040, and the DVD 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 DVD drive 2060 reads a program or data from the DVD 2095 and provides it to the hard disk drive 2040 via the RAM 2020.

また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスク・ドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。   The input / output controller 2084 is connected to the ROM 2010, the flexible disk drive 2050, and the relatively low-speed input / output device of the input / output chip 2070. 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.

RAM2020を介してハードディスク・ドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスク・ドライブ2040にインストールされ、CPU2000において実行される。   A 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 DVD 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.

コンピュータ1900にインストールされ、コンピュータ1900を画像処理装置10として機能させるプログラムは、モデル記憶モジュールと、特定モジュールと、フィルタ処理モジュールと、重み画像生成モジュールと、算出モジュールと、フィルタ選択モジュールと、フィルタ更新モジュールと、フィルタ生成モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、モデル記憶部56と、特定部54と、フィルタ処理部38と、重み画像生成部43と、算出部44と、フィルタ選択部46と、フィルタ更新部48と、フィルタ生成部50としてそれぞれ機能させる。   A program installed in the computer 1900 and causing the computer 1900 to function as the image processing apparatus 10 includes a model storage module, a specific module, a filter processing module, a weight image generation module, a calculation module, a filter selection module, and a filter update. A module and a filter generation module. These programs or modules work on the CPU 2000 or the like to make the computer 1900, the model storage unit 56, the specifying unit 54, the filter processing unit 38, the weight image generation unit 43, the calculation unit 44, and the filter selection unit 46. And function as a filter update unit 48 and a filter generation unit 50, respectively.

これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるモデル記憶部56と、特定部54と、フィルタ処理部38と、重み画像生成部43と、算出部44と、フィルタ選択部46と、フィルタ更新部48と、フィルタ生成部50として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の画像処理装置10が構築される。   The information processing described in these programs is read by the computer 1900, whereby the model storage unit 56, which is a specific means in which the software and the various hardware resources described above cooperate, the specifying unit 54, The filter processing unit 38, the weight image generation unit 43, the calculation unit 44, the filter selection unit 46, the filter update unit 48, and the filter generation unit 50 function. And the specific image processing apparatus 10 according to the intended use is constructed | assembled by implement | achieving the calculation or processing of the information according to the intended use of the computer 1900 in this embodiment by these concrete means.

一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスク・ドライブ2040、フレキシブルディスク2090、又はDVD2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。   As an example, when communication is performed between the computer 1900 and an external device or the like, 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. Under the control of the CPU 2000, 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 DVD 2095, and transmits it to the network. Alternatively, the reception data received from the network is written into a reception buffer area or the like provided on the storage device. As described above, 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 transfer destination 2030 or the storage device.

また、CPU2000は、ハードディスク・ドライブ2040、DVDドライブ2060(DVD2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。   In addition, the CPU 2000 reads all or necessary portions from files or databases stored in an external storage device such as the hard disk drive 2040, the DVD drive 2060 (DVD 2095), and the flexible disk drive 2050 (flexible disk 2090). The data 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. In such processing, since the RAM 2020 can be regarded as temporarily holding the contents of the external storage device, in the present embodiment, the RAM 2020 and the external storage device are collectively referred to as a memory, a storage unit, or a storage device. Various types of information such as various programs, data, tables, and databases in the present embodiment are stored on such a storage device and are subjected to information processing. Note that 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.

また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。   In addition, 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.

また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。   Further, 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.

以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。   The program or module shown above may be stored in an external recording medium. As the recording medium, in addition to the flexible disk 2090 and the DVD 2095, an optical recording medium such as DVD or CD, a magneto-optical recording medium such as MO, a tape medium, a semiconductor memory such as an IC card, and the like can be used. Further, 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.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。   As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above-described embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.

特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。   The order of execution of each process such as operations, procedures, steps, and stages in the apparatus, system, program, and method shown in the claims, the description, and the drawings is particularly “before” or “prior to”. It should be noted that the output can be realized in any order unless the output of the previous process is used in the subsequent process. Regarding the operation flow in the claims, the description, and the drawings, even if it is described using “first”, “next”, etc. for convenience, it means that it is essential to carry out in this order. It is not a thing.

10 画像処理装置、20 画像フィルタ、22 フィルタ部品、24 フィルタ部品群、34 フィルタ格納部、36 学習用入力画像格納部、38 フィルタ処理部、40 出力画像格納部、42 目標画像格納部、43 重み画像生成部、44 算出部、46 フィルタ選択部、48 フィルタ更新部、50 フィルタ生成部、54 特定部、56 モデル記憶部、60 重み記憶部、62 重み更新部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスク・ドライブ、2050 フレキシブルディスク・ドライブ、2060 DVDドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 DVD DESCRIPTION OF SYMBOLS 10 Image processing apparatus, 20 Image filter, 22 Filter components, 24 Filter component group, 34 Filter storage part, 36 Learning input image storage part, 38 Filter processing part, 40 Output image storage part, 42 Target image storage part, 43 Weight Image generation unit, 44 calculation unit, 46 filter selection unit, 48 filter update unit, 50 filter generation unit, 54 identification unit, 56 model storage unit, 60 weight storage unit, 62 weight update unit, 1900 computer, 2000 CPU, 2010 ROM 2020 RAM, 2030 communication interface, 2040 hard disk drive, 2050 flexible disk drive, 2060 DVD drive, 2070 input / output chip, 2075 graphic controller, 2080 display device, 2082 host co Controller, 2084 input-output controller, 2090 flexible disk, 2095 DVD

Claims (8)

学習用入力画像から目標画像への変換に適応させた適応済画像フィルタを複数の画像フィルタの中から選択する画像処理装置であって、
前記適応済画像フィルタによる画像変換の対象となる対象物の3次元モデルを記憶するモデル記憶部と、
前記対象物を撮像した撮像画像における検査対象外領域を、前記3次元モデルに基づいて特定する特定部と、
前記検査対象外領域の重みを、前記撮像画像における他の領域の重みより小さくした重み画像を生成する重み画像生成部と、
複数の画像フィルタのそれぞれについて、当該画像フィルタの出力画像と目標画像との差分を前記重み画像により領域毎に重み付けして類似度を算出する算出部と、
前記複数の画像フィルタのそれぞれの前記類似度に基づいて、前記複数の画像フィルタの中から前記適応済画像フィルタを選択するフィルタ選択部と、
を備え
前記特定部は、複数の撮像位置のそれぞれから前記対象物を撮像した場合に得られる複数の前記撮像画像のそれぞれにおける前記検査対象外領域を、前記3次元モデルに基づいて特定し、
前記重み画像生成部は、前記複数の撮像位置のそれぞれに対する前記重み画像を生成する画像処理装置。
An image processing apparatus for selecting an adapted image filter adapted for conversion from a learning input image to a target image from a plurality of image filters,
A model storage unit for storing a three-dimensional model of an object to be subjected to image conversion by the adapted image filter;
A specifying unit that specifies a non-inspection region in a captured image obtained by capturing the object based on the three-dimensional model;
A weight image generation unit that generates a weight image in which the weight of the non-inspection area is smaller than the weight of other areas in the captured image;
For each of the plurality of image filters, a calculation unit that calculates the degree of similarity by weighting the difference between the output image of the image filter and the target image for each region using the weighted image;
A filter selection unit that selects the adapted image filter from the plurality of image filters based on the similarity of each of the plurality of image filters;
Equipped with a,
The specifying unit specifies the non-inspection region in each of the plurality of captured images obtained when the target is imaged from each of a plurality of imaging positions based on the three-dimensional model,
The weight image generation unit is an image processing device that generates the weight image for each of the plurality of imaging positions .
前記特定部は、前記3次元モデルに基づいて、前記撮像画像における前記対象物が写らない領域を、前記検査対象外領域として特定する
請求項1に記載の画像処理装置。
The image processing device according to claim 1, wherein the specifying unit specifies, as the non-inspection region, a region where the target object in the captured image is not captured based on the three-dimensional model.
前記特定部は、前記3次元モデルを前記撮像画像に投影した場合に、前記3次元モデル上の検査対象外とすべき箇所が投影される前記撮像画像内の領域を、前記検査対象外領域として特定する
請求項1または2に記載の画像処理装置。
When the three-dimensional model is projected onto the captured image, the specifying unit defines, as the non-inspection area, an area in the captured image on which a portion to be excluded from the inspection target on the three-dimensional model is projected The image processing apparatus according to claim 1 or 2.
前記算出部は、前記複数の画像フィルタのそれぞれについて、前記複数の撮像位置のそれぞれに対応する学習用入力画像を当該画像フィルタにより変換した出力画像と、当該出力画像の目標画像との類似度を算出し、
前記フィルタ選択部は、前記複数の画像フィルタのそれぞれについて前記複数の撮像位置のそれぞれに対応して算出された前記類似度に基づいて、前記複数の画像フィルタの中から前記適応済画像フィルタを選択する
請求項1から3のいずれか1項に記載の画像処理装置。
The calculation unit calculates, for each of the plurality of image filters, a similarity between an output image obtained by converting the learning input image corresponding to each of the plurality of imaging positions by the image filter and a target image of the output image. Calculate
The filter selection unit selects the adapted image filter from the plurality of image filters based on the similarity calculated corresponding to each of the plurality of imaging positions for each of the plurality of image filters. The image processing apparatus according to any one of claims 1 to 3 .
前記複数の画像フィルタを生成するフィルタ生成部を更に備える
請求項1からのいずれか1項に記載の画像処理装置。
The image processing apparatus according to any one of 4 from claim 1, further comprising a filter generator for generating a plurality of image filter.
前記フィルタ生成部は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品をそれぞれ含む前記複数の画像フィルタから、遺伝的処理により新たな画像フィルタを生成して前記複数の画像フィルタに加える
請求項に記載の画像処理装置。
The filter generation unit generates a new image filter by genetic processing from the plurality of image filters each including a plurality of filter components that respectively convert an input image into an output image, and adds the image filter to the plurality of image filters. 5. The image processing apparatus according to 5 .
学習用入力画像から目標画像への変換に適応させた適応済画像フィルタを複数の画像フィルタの中から選択する画像処理方法であって、
前記適応済画像フィルタによる画像変換の対象となる対象物の3次元モデルを記憶するモデル記憶ステップと、
前記対象物を撮像した撮像画像における検査対象外領域を、前記3次元モデルに基づいて特定する特定ステップと、
前記検査対象外領域の重みを、前記撮像画像における他の領域の重みより小さくした重み画像を生成する重み画像生成ステップと、
複数の画像フィルタのそれぞれについて、当該画像フィルタの出力画像と目標画像との差分を前記重み画像により領域毎に重み付けして類似度を算出する算出ステップと、
前記複数の画像フィルタのそれぞれの前記類似度に基づいて、前記複数の画像フィルタの中から前記適応済画像フィルタを選択するフィルタ選択ステップと、
を備え
前記特定ステップは、複数の撮像位置のそれぞれから前記対象物を撮像した場合に得られる複数の前記撮像画像のそれぞれにおける前記検査対象外領域を、前記3次元モデルに基づいて特定し、
前記重み画像生成ステップは、前記複数の撮像位置のそれぞれに対する前記重み画像を生成する画像処理方法。
An image processing method for selecting an adapted image filter adapted for conversion from a learning input image to a target image from a plurality of image filters,
A model storing step for storing a three-dimensional model of an object to be subjected to image conversion by the adapted image filter;
A specifying step of specifying a non-inspection region in a captured image obtained by imaging the object based on the three-dimensional model;
A weight image generation step of generating a weight image in which the weight of the non-inspection area is smaller than the weight of other areas in the captured image;
For each of the plurality of image filters, a calculation step of calculating the similarity by weighting the difference between the output image of the image filter and the target image for each region by the weighted image;
A filter selection step of selecting the adapted image filter from the plurality of image filters based on the similarity of each of the plurality of image filters;
Equipped with a,
The specifying step specifies, based on the three-dimensional model, the non-inspection region in each of the plurality of captured images obtained when the object is imaged from each of a plurality of imaging positions;
The weight image generation step is an image processing method for generating the weight image for each of the plurality of imaging positions .
学習用入力画像から目標画像への変換に適応させた適応済画像フィルタを複数の画像フィルタの中から選択する画像処理装置としてコンピュータを機能させる画像処理プログラムであって、
前記適応済画像フィルタによる画像変換の対象となる対象物の3次元モデルを記憶するモデル記憶部と、
前記対象物を撮像した撮像画像における検査対象外領域を、前記3次元モデルに基づいて特定する特定部と、
前記検査対象外領域の重みを、前記撮像画像における他の領域の重みより小さくした重み画像を生成する重み画像生成部と、
複数の画像フィルタのそれぞれについて、当該画像フィルタの出力画像と目標画像との差分を前記重み画像により領域毎に重み付けして類似度を算出する算出部と、
前記複数の画像フィルタのそれぞれの前記類似度に基づいて、前記複数の画像フィルタの中から前記適応済画像フィルタを選択するフィルタ選択部と、
を備え
前記特定部は、複数の撮像位置のそれぞれから前記対象物を撮像した場合に得られる複数の前記撮像画像のそれぞれにおける前記検査対象外領域を、前記3次元モデルに基づいて特定し、
前記重み画像生成部は、前記複数の撮像位置のそれぞれに対する前記重み画像を生成する画像処理装置として機能させる画像処理プログラム。
An image processing program for causing a computer to function as an image processing device that selects an adapted image filter adapted for conversion from a learning input image to a target image from a plurality of image filters,
A model storage unit for storing a three-dimensional model of an object to be subjected to image conversion by the adapted image filter;
A specifying unit that specifies a non-inspection region in a captured image obtained by capturing the object based on the three-dimensional model;
A weight image generation unit that generates a weight image in which the weight of the non-inspection area is smaller than the weight of other areas in the captured image;
For each of the plurality of image filters, a calculation unit that calculates the degree of similarity by weighting the difference between the output image of the image filter and the target image for each region using the weighted image;
A filter selection unit that selects the adapted image filter from the plurality of image filters based on the similarity of each of the plurality of image filters;
Equipped with a,
The specifying unit specifies the non-inspection region in each of the plurality of captured images obtained when the target is imaged from each of a plurality of imaging positions based on the three-dimensional model,
The weight image generation unit is an image processing program that functions as an image processing device that generates the weight image for each of the plurality of imaging positions .
JP2009159194A 2009-07-03 2009-07-03 Image processing apparatus, image processing method, and image processing program Expired - Fee Related JP5326881B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009159194A JP5326881B2 (en) 2009-07-03 2009-07-03 Image processing apparatus, image processing method, and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009159194A JP5326881B2 (en) 2009-07-03 2009-07-03 Image processing apparatus, image processing method, and image processing program

Publications (2)

Publication Number Publication Date
JP2011014047A JP2011014047A (en) 2011-01-20
JP5326881B2 true JP5326881B2 (en) 2013-10-30

Family

ID=43592839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009159194A Expired - Fee Related JP5326881B2 (en) 2009-07-03 2009-07-03 Image processing apparatus, image processing method, and image processing program

Country Status (1)

Country Link
JP (1) JP5326881B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6607261B2 (en) * 2015-12-24 2019-11-20 富士通株式会社 Image processing apparatus, image processing method, and image processing program
JP2021051617A (en) * 2019-09-26 2021-04-01 東洋製罐グループホールディングス株式会社 Image processing system and image processing program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366929A (en) * 2001-06-11 2002-12-20 Printing Bureau Ministry Of Finance Method and device for extracting failure and defect of printed matter
JP2007087306A (en) * 2005-09-26 2007-04-05 Yokohama National Univ Target image designating and generating system
JP2007241945A (en) * 2006-03-13 2007-09-20 Yokohama National Univ Image processor and image processing determination device
JP2008017386A (en) * 2006-07-10 2008-01-24 Nippon Hoso Kyokai <Nhk> Key image generation device
JP4512578B2 (en) * 2006-10-27 2010-07-28 株式会社ブリヂストン Separation filter determination device and tire inspection device
JP2010281754A (en) * 2009-06-05 2010-12-16 Nikon Corp Generating apparatus, inspection apparatus, program, and generation method

Also Published As

Publication number Publication date
JP2011014047A (en) 2011-01-20

Similar Documents

Publication Publication Date Title
JP5408128B2 (en) Image processing apparatus, image processing method, processing apparatus, and program
JP6798619B2 (en) Information processing equipment, information processing programs and information processing methods
US20210110215A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
US9697583B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium
EP3316184B1 (en) Program generating device, program generating method, and generating program
JP2011014051A (en) Generating device, generating method, and generation program
US9253451B2 (en) Image restoration method, image restoration apparatus, and image-pickup apparatus
JP5326881B2 (en) Image processing apparatus, image processing method, and image processing program
JP5181825B2 (en) Image processing apparatus, image processing method, and program
JP5304401B2 (en) Genetic processing apparatus, genetic processing method and program
JP5396977B2 (en) Data processing apparatus, data processing method and program
JP2013054457A (en) Image processing device, image processing method, and program
JP5417967B2 (en) Genetic processing apparatus, genetic processing method and program
JP5471105B2 (en) Image processing apparatus, image processing method, and image processing program
JP5359622B2 (en) Genetic processing apparatus, genetic processing method, and genetic processing program
JP5417950B2 (en) Genetic processing apparatus, genetic processing method and program
JP5326776B2 (en) Image processing apparatus, image processing method, and image processing program
JP5444822B2 (en) Genetic processing apparatus, genetic processing method and program
JP2010262404A (en) Genetic processor, genetic processing method, and genetic processing program
JP5453937B2 (en) Genetic processing apparatus, genetic processing method, and genetic processing program
JP5359531B2 (en) Genetic processing apparatus, genetic processing method and program
JP5181821B2 (en) Image processing apparatus, image processing method, and program
JP5088228B2 (en) Image processing apparatus, image processing method, and program
JP5365328B2 (en) Genetic processing apparatus, genetic processing method, and genetic processing program
JP5359479B2 (en) Genetic processing apparatus, genetic processing method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130708

R150 Certificate of patent or registration of utility model

Ref document number: 5326881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees