JP6177649B2 - Data processing apparatus, length measurement system, defect inspection system, image tracking system, and data processing method - Google Patents

Data processing apparatus, length measurement system, defect inspection system, image tracking system, and data processing method Download PDF

Info

Publication number
JP6177649B2
JP6177649B2 JP2013209776A JP2013209776A JP6177649B2 JP 6177649 B2 JP6177649 B2 JP 6177649B2 JP 2013209776 A JP2013209776 A JP 2013209776A JP 2013209776 A JP2013209776 A JP 2013209776A JP 6177649 B2 JP6177649 B2 JP 6177649B2
Authority
JP
Japan
Prior art keywords
data
data processing
teaching data
teaching
algorithm
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.)
Active
Application number
JP2013209776A
Other languages
Japanese (ja)
Other versions
JP2015075798A (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.)
Hitachi High Tech Corp
Original Assignee
Hitachi High Technologies 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 Hitachi High Technologies Corp filed Critical Hitachi High Technologies Corp
Priority to JP2013209776A priority Critical patent/JP6177649B2/en
Publication of JP2015075798A publication Critical patent/JP2015075798A/en
Application granted granted Critical
Publication of JP6177649B2 publication Critical patent/JP6177649B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、データ処理装置、測長システム、欠陥検査システム、画像トラッキングシステム、及びデータ処理方法に関し、例えば、データ処理アルゴリズムを最適化するための技術に関するものである。   The present invention relates to a data processing device, a length measurement system, a defect inspection system, an image tracking system, and a data processing method, and, for example, relates to a technique for optimizing a data processing algorithm.

半導体製造に係る検査装置や医用診断をはじめとして各種の画像処理による検査装置、計測装置が提案され、使用されている。これらは一般に、製造物を電子顕微鏡で撮影した画像、X線撮影した画像や光学カメラで取得した画像において、欠陥部位などを検出したり、計測すべき部位を画像内で抽出し特定したりするものである。   2. Description of the Related Art Inspection devices and measuring devices based on various image processing, including inspection devices and medical diagnosis related to semiconductor manufacturing, have been proposed and used. In general, these images detect a defective part or the like in an image taken with an electron microscope, an image taken with an X-ray, or an image obtained with an optical camera, and a part to be measured is extracted and specified in the image. Is.

検査装置や計測装置では画像処理により自動的に部位を特定しようとするが、画像の大域的特性や特定しようとする対象の特性に合わせて画像処理アルゴリズムを構築し、それを最適化することは容易ではない。汎用的に数多くの画像サンプルに対して当該アルゴリズムが有効であることが期待される。しかし、種々の調整パラメータ数値や処理関数の組み合わせが数多くの画像サンプルに対して有効であるか否かの検証をしなければならず、最適なアルゴリズムを早期に構築するには熟練や豊富な経験を要していた。   Inspection devices and measuring devices try to automatically identify parts by image processing, but it is not possible to construct and optimize image processing algorithms according to the global characteristics of the image and the characteristics of the target to be identified. It's not easy. The algorithm is expected to be effective for a large number of image samples in general. However, it is necessary to verify whether a combination of various adjustment parameter values and processing functions is effective for a large number of image samples. Needed.

以上の課題を改善するため、例えば特許文献1では、ユーザが多くの画像から選択した一部の画像に対して有効なアルゴリズムを自動選択し、そのアルゴリズムによる全画像の処理結果を表示する方法が開示されている。   In order to improve the above problems, for example, Patent Document 1 discloses a method of automatically selecting an effective algorithm for a part of images selected by a user from many images and displaying the processing results of all the images by the algorithm. It is disclosed.

特開2010−262350号公報JP 2010-262350 A

しかしながら、特許文献1に開示の方法は、ユーザの判断による画像の選択や全画像での処理結果の確認を前提としており、ユーザの知識や熟練が必要とされる。このため、十分な知識や経験を有しないユーザは、アルゴリズムを自動選択するために必要な画像を適切に選択することができない場合がある。   However, the method disclosed in Patent Document 1 is based on the premise that the user selects an image and confirms the processing results of all images, and requires knowledge and skill of the user. For this reason, a user who does not have sufficient knowledge and experience may not be able to appropriately select an image necessary for automatically selecting an algorithm.

一般的に、アルゴリズムを検討する者は、数多くの画像サンプルから代表的と思われる少数の画像をいくつか選び出し、それら代表的画像に対して有効なアルゴリズムを構築して、その効果を検証した後に残りの数多くの画像サンプルでの有効性を検証するという手順によりしばしばアルゴリズム最適化の効率を上げている。この代表的な画像の選出は、見た目が類似する画像どうしをまとめることで分類してその一部を選択したり、あるいは多くの場合で有効に働きそうなアルゴリズムを予想し、適用できそうな画像サンプルであるか否かという観点で選択したりするというものである。   In general, an algorithm reviewer selects a small number of images that are likely to be representative from a large number of image samples, constructs an effective algorithm for these representative images, and verifies the effect. The procedure of verifying the effectiveness with the remaining many image samples often increases the efficiency of algorithm optimization. This representative image can be selected by classifying images that look similar to each other and selecting a part of them, or by predicting an algorithm that seems to work effectively in many cases. It is to select from the viewpoint of whether or not it is a sample.

しかし、このような方法は、主観的、直観的であり効率が向上する選出を行えるようになるには知識や熟練を必要とする。画像サンプルの選出が不適切であれば、選出したサンプルに対して有効なアルゴリズムを構築できても、後に残りの数多くの画像サンプルでの有効性を検証したときには失敗が多く、アルゴリズムの検討をはじめからやり直すことになってしまうのである。   However, such a method is subjective and intuitive and requires knowledge and skill in order to be able to select with improved efficiency. If the selection of image samples is inappropriate, even if an effective algorithm can be constructed for the selected samples, there are many failures when verifying the effectiveness of the remaining many image samples later. It will be started again.

本発明はこのような状況に鑑みてなされたものであり、数多くの画像サンプルに対して汎用的に有効な画像処理アルゴリズムの構築や最適化を自動的かつ高速に行うための技術を提供するものである。   The present invention has been made in view of such circumstances, and provides a technique for automatically and rapidly constructing and optimizing a general-purpose effective image processing algorithm for a large number of image samples. It is.

上記課題を解決するために、本発明によるデータ処理装置では、プロセッサが、複数個の教示データの全てに対して、用意された複数のデータ処理アルゴリズムを実行し、複数のデータ処理アルゴリズムに対応して複数個の教示データの全てを評価し、全教示データに対して最上位のデータ処理アルゴリズムを特定する第1の評価処理と、複数のデータ処理アルゴリズムに対応する複数個の教示データの全ての評価結果に基づいて、複数の教示データを複数の確定グループに分類し、各確定グループから1つの教示データを選択して、選出された教示データを生成する教示データ選出処理と、複数のデータ処理アルゴリズムに対応する複数個の教示データの全ての評価結果に基づいて、選出された教示データに対してデータ処理を実行した複数のデータ処理アルゴリズムを順位付けする順位付け処理と、全教示データに対して最上位のデータアルゴリズムと順位付け処理において評価結果が最上位と判定されたデータ処理アルゴリズムとを含めて改善された複数のデータ処理アルゴリズムを生成し、当該改善された複数のデータ処理アルゴリズムを複数個の教示データの全てに対して実行し、改善された複数のデータ処理アルゴリズムを評価する第2の評価処理と、第2の評価処理の結果に基づいて、最適なデータ処理アルゴリズムを決定するアルゴリズム決定処理と、を実行する。   In order to solve the above problems, in the data processing apparatus according to the present invention, the processor executes a plurality of prepared data processing algorithms for all of the plurality of teaching data, and supports the plurality of data processing algorithms. A first evaluation process that evaluates all of the plurality of teaching data and identifies a top-level data processing algorithm for all the teaching data, and all of the plurality of teaching data corresponding to the plurality of data processing algorithms A teaching data selection process for classifying a plurality of teaching data into a plurality of confirmed groups based on the evaluation result, selecting one teaching data from each confirmed group, and generating selected teaching data; and a plurality of data processing Based on all the evaluation results of a plurality of teaching data corresponding to the algorithm, the data processing is executed on the selected teaching data. A plurality of improved data processing algorithms, including a ranking process for ranking the data processing algorithms, a top-level data algorithm for all teaching data, and a data processing algorithm for which the evaluation result is determined to be the top in the ranking process. A second evaluation process for generating a data processing algorithm, executing the plurality of improved data processing algorithms on all of the plurality of teaching data, and evaluating the plurality of improved data processing algorithms; And an algorithm determination process for determining an optimum data processing algorithm based on the result of the evaluation process.

本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。   Further features related to the present invention will become apparent from the description of the present specification and the accompanying drawings. The embodiments of the present invention can be achieved and realized by elements and combinations of various elements and the following detailed description and appended claims.

本発明によれば、数多くの画像サンプルに対して汎用的に有効な画像処理アルゴリズムの構築や最適化を自動的かつ高速に行うことができるようになる。これにより、データ処理アルゴリズムの開発や調整のコストを抑制することができ、当該アルゴリズムを用いた検査や計測の精度を安定させることができるようになる。   According to the present invention, it is possible to automatically and rapidly construct and optimize a general-purpose effective image processing algorithm for a large number of image samples. Thereby, the cost of development and adjustment of a data processing algorithm can be suppressed, and the accuracy of inspection and measurement using the algorithm can be stabilized.

本発明の実施形態に係る画像処理装置の概略構成を示すブロック図である。1 is a block diagram illustrating a schematic configuration of an image processing apparatus according to an embodiment of the present invention. 本発明の実施形態に係る画像処理装置のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the image processing apparatus which concerns on embodiment of this invention. 正解データ設定手段としてのキーボード、マウス、ディスプレイ、スタイラスペンを示す図である。It is a figure which shows the keyboard, mouse, display, and stylus pen as correct data setting means. 本発明の第1の実施形態による画像処理アルゴリズム最適化処理を説明するためのフローチャートである。It is a flowchart for demonstrating the image processing algorithm optimization process by the 1st Embodiment of this invention. 本発明の第1の実施形態による画像処理アルゴリズム最適化処理の経過を説明するための図である。It is a figure for demonstrating progress of the image processing algorithm optimization process by the 1st Embodiment of this invention. 本発明の第1の実施形態による画像処理アルゴリズム最適化処理の長時間に亘る経過を示す図である。It is a figure which shows progress for the long time of the image processing algorithm optimization process by the 1st Embodiment of this invention. 教示データ選出の概念図である。It is a conceptual diagram of teaching data selection. 本発明の実施形態による教示データ選出処理を説明するためのフローチャートである。It is a flowchart for demonstrating the teaching data selection process by embodiment of this invention. 教示データ毎のアルゴリズム群による評価値の表の例を示す図である。It is a figure which shows the example of the table | surface of the evaluation value by the algorithm group for every teaching data. 段差値の概念を説明するための図である。It is a figure for demonstrating the concept of a level | step difference value. 教示データの評価値ベクトル間の距離に基づく樹系図の例を示す図である。It is a figure which shows the example of the tree diagram based on the distance between the evaluation value vectors of teaching data. パターンマッチングに用いるテンプレート画像の例を示す図である。It is a figure which shows the example of the template image used for pattern matching. パターンマッチングに用いる被検索画像、および正解データの設定の例を示す図である。It is a figure which shows the example of the setting of the to-be-searched image used for pattern matching, and correct answer data. パターンマッチングの結果データから評価値を算出する一例を示す図である。It is a figure which shows an example which calculates an evaluation value from the result data of pattern matching. パターンマッチングのアルゴリズム群による評価値の表の例を示すである。It is an example of a table of evaluation values according to a pattern matching algorithm group. パターンマッチングの教示データとアルゴリズム群の関係を示す図である。It is a figure which shows the relationship between the teaching data of pattern matching, and an algorithm group. 教示データのクラスタリング結果の表示例を示す図である。It is a figure which shows the example of a display of the clustering result of teaching data. 半導体の検査画像と正解データ設定の様子を示す図である。It is a figure which shows the mode of the test | inspection image and correct data setting of a semiconductor. 欠陥分類の結果データから評価値を算出する一例を示す図である。It is a figure which shows an example which calculates an evaluation value from the result data of defect classification. 分類アルゴリズム群による評価値の表の例を示す図である。It is a figure which shows the example of the table | surface of the evaluation value by a classification algorithm group. 欠陥分類の教示データとアルゴリズム群の関係を示す図である。It is a figure which shows the relationship between the teaching data of defect classification, and an algorithm group. トラッキングの結果データから評価値を算出する一例を示す図である。It is a figure which shows an example which calculates an evaluation value from the result data of tracking. トラッキングアルゴリズム群による評価値の表の例を示す図である。It is a figure which shows the example of the table | surface of the evaluation value by a tracking algorithm group. トラッキングの教示データとアルゴリズム群の関係を示す図である。It is a figure which shows the relationship between the teaching data of tracking, and an algorithm group. 音声認識の結果データから評価値を算出する一例を示す図である。It is a figure which shows an example which calculates an evaluation value from the result data of speech recognition. 音声認識アルゴリズム群による評価値の表の例を示す図である。It is a figure which shows the example of the table | surface of the evaluation value by a speech recognition algorithm group. 音声認識の教示データとアルゴリズム群の関係を示す図である。It is a figure which shows the relationship between the teaching data of speech recognition, and an algorithm group. 本発明の第2の実施形態による画像処理アルゴリズム最適化処理を説明するためのフローチャートである。It is a flowchart for demonstrating the image processing algorithm optimization process by the 2nd Embodiment of this invention. 本発明の第3の実施形態による画像処理アルゴリズム最適化処理を説明するためのフローチャートである。It is a flowchart for demonstrating the image processing algorithm optimization process by the 3rd Embodiment of this invention.

以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the accompanying drawings, functionally identical elements may be denoted by the same numbers. The attached drawings show specific embodiments and implementation examples based on the principle of the present invention, but these are for understanding the present invention and are not intended to limit the present invention. Not used.

本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。   This embodiment has been described in sufficient detail for those skilled in the art to practice the present invention, but other implementations and configurations are possible without departing from the scope and spirit of the technical idea of the present invention. It is necessary to understand that the configuration and structure can be changed and various elements can be replaced. Therefore, the following description should not be interpreted as being limited to this.

更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。   Furthermore, as will be described later, the embodiment of the present invention may be implemented by software running on a general-purpose computer, or may be implemented by dedicated hardware or a combination of software and hardware.

なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。   In the following description, each information of the present invention will be described in a “table” format. However, the information does not necessarily have to be expressed in a data structure by a table, such as a data structure such as a list, a DB, a queue, or the like. It may be expressed as Therefore, “table”, “list”, “DB”, “queue”, etc. may be simply referred to as “information” to indicate that they do not depend on the data structure.

また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。   In addition, when explaining the contents of each information, the expressions “identification information”, “identifier”, “name”, “name”, “ID” can be used, and these can be replaced with each other. It is.

(1)第1の実施形態
<情報処理システムの構成>
(i)機能ブロック図
図1は、本発明の実施形態によるデータ処理システム(画像処理システム)の機能ブロック図である。なお、本実施形態では、情報処理システムとして、製造物の検査を画像処理で自動的に行う検査システムを例に挙げて説明するが、これに限られるものではなく、後述するように様々なデータ処理に適用することができる。
(1) First Embodiment <Configuration of Information Processing System>
(I) Functional Block Diagram FIG. 1 is a functional block diagram of a data processing system (image processing system) according to an embodiment of the present invention. In this embodiment, an example of an inspection system that automatically inspects a product by image processing will be described as an information processing system. However, the present invention is not limited to this, and various data may be used as will be described later. It can be applied to processing.

画像処理システム100は、正解設定部101と、正解データ格納部102と、評価部103と、撮像部104と、画像データ格納部105と、画像処理アルゴリズム実行部106と、画像処理の結果を格納する結果データ格納部107と、自動最適化部108と、アルゴリズム設定データ格納部109と、評価値格納部110と、選択機能部111と、を有している。   The image processing system 100 stores a correct answer setting unit 101, a correct answer data storage unit 102, an evaluation unit 103, an imaging unit 104, an image data storage unit 105, an image processing algorithm execution unit 106, and an image processing result. A result data storage unit 107, an automatic optimization unit 108, an algorithm setting data storage unit 109, an evaluation value storage unit 110, and a selection function unit 111.

撮像部104は、処理対象(検査対象物)の画像を取得し、取得した画像データを画像データ格納部105に出力する。具体的には、電子顕微鏡、光学顕微鏡、X線撮影装置、あるいは他の光学イメージセンサによるカメラ等である。撮像部104については、アルゴリズム設定データ格納部109からの設定データによって感度や露光時間、歪み補正などが調整される。   The imaging unit 104 acquires an image of a processing target (inspection target) and outputs the acquired image data to the image data storage unit 105. Specifically, an electron microscope, an optical microscope, an X-ray imaging apparatus, or a camera using another optical image sensor is used. For the imaging unit 104, sensitivity, exposure time, distortion correction, and the like are adjusted by setting data from the algorithm setting data storage unit 109.

撮像部104から取得された画像データは、ハードディクやメモリなどの記憶手段で構成される画像データ格納部105に格納される画像情報である。   The image data acquired from the imaging unit 104 is image information stored in the image data storage unit 105 configured by a storage unit such as a hard disk or a memory.

画像処理アルゴリズム実行部106は、画像データ格納部105からの画像データを入力とし、所定の画像処理(例えば、欠陥検査処理)を行って、画像処理結果を結果データ格納部107に出力する。画像処理アルゴリズム実行部106は、アルゴリズム設定データ109に従って各種の画像処理機能の組合せやパラメータを選択して変更が可能でありコンピュータやプログラムで実現できる。同様に他の構成要素も例えば、マイクロプロセッサやハードディクやメモリ、ディスプレイ等で構成されたコンピュータやプログラムで実現できる。   The image processing algorithm execution unit 106 receives the image data from the image data storage unit 105, performs predetermined image processing (for example, defect inspection processing), and outputs the image processing result to the result data storage unit 107. The image processing algorithm execution unit 106 can select and change various image processing function combinations and parameters according to the algorithm setting data 109, and can be realized by a computer or a program. Similarly, other components can be realized by, for example, a computer or a program including a microprocessor, a hard disk, a memory, a display, and the like.

なお、撮像部104及び画像処理アルゴリズム実行部106は、アルゴリズム設定データに基づいて撮像条件や処理内容を調整する。撮像部104に対する設定データは、例えば、露光時間、しぼり、焦点距離等である。また、画像処理アルゴリズム実行部106に対する設定データは、例えば、フィルタ係数、テンプレートのサイズ、マッチング方法の詳細内容(例えば、2段階処理:縮小画像でテンプレートマッチングし、その結果を踏まえて元サイズの画像でテンプレートマッチングする方法)等である。   Note that the imaging unit 104 and the image processing algorithm execution unit 106 adjust imaging conditions and processing contents based on the algorithm setting data. The setting data for the imaging unit 104 is, for example, exposure time, squeezing, focal length, and the like. The setting data for the image processing algorithm execution unit 106 includes, for example, filter coefficients, template sizes, and detailed contents of a matching method (for example, two-stage processing: template matching with reduced images, and based on the result, the original size image Template matching method).

結果データ格納部107は、製造物の欠陥領域を示す画像や位置合わせのためのマッチング結果の座標情報を格納する。   The result data storage unit 107 stores an image indicating a defect area of a product and coordinate information of a matching result for alignment.

正解設定部101は、画像処理アルゴリズム実行部106に出力を期待する正解データを作成するものである。   The correct answer setting unit 101 generates correct answer data expected to be output to the image processing algorithm execution unit 106.

評価部103は、正解データ格納部102からの正解データと結果データ格納部107からの結果データとを比較して評価結果としての評価値を評価値格納部110に出力する。評価値は、両データが合致するほど高評価となる。   The evaluation unit 103 compares the correct data from the correct data storage unit 102 with the result data from the result data storage unit 107 and outputs an evaluation value as an evaluation result to the evaluation value storage unit 110. An evaluation value becomes so high that both data correspond.

なお、正解データは必ずしも必要ではなく、正解設定部101、正解データ格納部102は省略可能である。すなわち、評価値を求めるためには、正解データの代わりに、一定の評価基準が決まっており、その基準に従って画像データが評価されれば良い。この場合、画像データをある一定の基準で評価した結果の評価値が評価値格納部110に格納され、また後述の評価値ベクトルのパラメータとなる。例えば半導体パターンの寸法計測値のばらつきが小さくなるようなアルゴリズムに最適化する場合には、正解データが与えられず、代わりの評価基準として寸法計測値のばらつき量が採用される。   The correct answer data is not always necessary, and the correct answer setting unit 101 and the correct answer data storage unit 102 can be omitted. That is, in order to obtain the evaluation value, a certain evaluation criterion is determined instead of the correct answer data, and the image data may be evaluated according to the criterion. In this case, an evaluation value obtained as a result of evaluating the image data according to a certain standard is stored in the evaluation value storage unit 110, and becomes a parameter of an evaluation value vector described later. For example, when the algorithm is optimized to reduce the variation in the dimension measurement value of the semiconductor pattern, correct data is not given and the variation amount of the dimension measurement value is adopted as an alternative evaluation standard.

自動最適化部108は、評価値格納部110からの評価値を入力として、この評価値に基づいてアルゴリズム設定データを変更する。これにより、画像処理アルゴリズム実行部106における処理が最適化される。アルゴリズム最適化処理の詳細は後述する(図3等参照)。   The automatic optimization unit 108 receives the evaluation value from the evaluation value storage unit 110 and changes the algorithm setting data based on this evaluation value. Thereby, the processing in the image processing algorithm execution unit 106 is optimized. Details of the algorithm optimization process will be described later (see FIG. 3 and the like).

また、自動最適化部108は、選択機能部111を制御して、多数の画像データの中から選んだものだけを画像処理アルゴリズム実行部106の入力にし、評価値を取得するようにしている。なお、自動最適化部108及び選択機能部111による画像データの選択処理についても詳細は後述する(図6乃至9参照)。   In addition, the automatic optimization unit 108 controls the selection function unit 111 so that only one selected from a large number of image data is input to the image processing algorithm execution unit 106 and acquires an evaluation value. Details of image data selection processing by the automatic optimization unit 108 and the selection function unit 111 will be described later (see FIGS. 6 to 9).

(ii)ハードウェア構成例
図2Aは、図1に対応する、画像処理システムのハードウェア構成例を示す図である。図示されるように、画像処理システム100は、コンピュータを用いて実現することができる。
(Ii) Hardware Configuration Example FIG. 2A is a diagram illustrating a hardware configuration example of the image processing system corresponding to FIG. As illustrated, the image processing system 100 can be implemented using a computer.

図2Aにおいて、画像処理システム100は、各種プログラムの処理を実行するCPU(Central Processing Unit)やMPU(Micro-Processing Unit)等のプロセッサ201と、データを格納するためのメモリ/HDD202と、キーボード、マウス、スタイラスペン等で構成される入力デバイス203と、プリンタやディスプレイ等で構成される出力デバイス204と、図1の撮像部104に相当する撮像装置205と、を有している。   2A, an image processing system 100 includes a processor 201 such as a CPU (Central Processing Unit) and MPU (Micro-Processing Unit) that executes processing of various programs, a memory / HDD 202 for storing data, a keyboard, An input device 203 configured with a mouse, a stylus pen, or the like, an output device 204 configured with a printer, a display, or the like, and an imaging device 205 corresponding to the imaging unit 104 in FIG.

プロセッサ201は、図1の画像処理アルゴリズム実行部106に相当する画像処理アルゴリズム実行プログラム2011、正解設定部101に相当する正解設定プログラム2012、評価部103に相当する評価プログラム2013、自動最適化部108に相当する自動最適化プログラム2014、及び選択機能部111に相当する画像選択プログラム2015のそれぞれを実行する。   The processor 201 includes an image processing algorithm execution program 2011 corresponding to the image processing algorithm execution unit 106 in FIG. 1, a correct answer setting program 2012 corresponding to the correct answer setting unit 101, an evaluation program 2013 corresponding to the evaluation unit 103, and an automatic optimization unit 108. Each of the automatic optimization program 2014 corresponding to, and the image selection program 2015 corresponding to the selection function unit 111 is executed.

メモリ/HDD202は、撮像装置205によって取得される画像データ2021と、正解設定プログラム2012によって設定される正解データ2022と、画像処理アルゴリズム実行プログラム2011の実行結果である結果データ2023と、評価プログラム2013による評価結果である評価値2024と、撮像装置205の設定データや画像処理アルゴリズム実行プログラム2011の設定データであるアルゴリズム設定データ2025と、を格納している。図2Aにおいては、それぞれのデータや情報は、1つのメモリ/HDDに格納される形態となっているが、別々のメモリやHDDに格納されるようにしても良い。   The memory / HDD 202 includes image data 2021 acquired by the imaging apparatus 205, correct data 2022 set by the correct setting program 2012, result data 2023 that is an execution result of the image processing algorithm execution program 2011, and an evaluation program 2013. An evaluation value 2024 that is an evaluation result and algorithm setting data 2025 that is setting data of the imaging device 205 and setting data of the image processing algorithm execution program 2011 are stored. In FIG. 2A, each data and information is stored in one memory / HDD, but may be stored in a separate memory or HDD.

撮像装置205は、電子顕微鏡、光学顕微鏡、X線撮影装置、あるいは他の光学イメージセンサによるカメラ等に該当する。撮像装置205は、静止画だけでなく動画を撮像するものであっても良い。   The imaging device 205 corresponds to an electron microscope, an optical microscope, an X-ray imaging device, a camera using another optical image sensor, or the like. The imaging device 205 may capture a moving image as well as a still image.

また、図2Bは、正解設定プログラム2012(正解設定部101)に与えられるデータを入力するための具体的な手段(入力デバイス203)の例を示す図である。入力デバイス203の例として、キーボード2031、マウス2032、スタイラスペン2033等が挙げられる。キーボード2031は、画像データ内の位置座標や製造物の欠陥の種別を数値で入力するものである。マウス2032やスタイラスペン2033は、出力デバイスであるディスプレイ204の画面上で画像データ内の位置座標を指定するものである。マウス2032やスタイラスペン2033は一般にポインティングデバイスと呼ばれるものの例であり、トラックボールやタッチパッドなど他のポインティングデバイスによって座標を指定しても良い。正解データはこれらの手段により作成できる。   FIG. 2B is a diagram showing an example of specific means (input device 203) for inputting data given to the correct answer setting program 2012 (correct answer setting unit 101). Examples of the input device 203 include a keyboard 2031, a mouse 2032, a stylus pen 2033, and the like. The keyboard 2031 is used to input the position coordinates in the image data and the type of product defect as numerical values. The mouse 2032 and the stylus pen 2033 are used to designate position coordinates in the image data on the screen of the display 204 that is an output device. The mouse 2032 and the stylus pen 2033 are examples of what is generally called a pointing device, and coordinates may be specified by other pointing devices such as a trackball and a touch pad. Correct data can be created by these means.

<画像処理アルゴリズム最適化処理>
図3は、自動最適化部108(自動最適化プログラム2014)で実行される画像処理アルゴリズム最適化処理の内容を説明するためのフローチャートである。なお、以下では、動作主体を自動最適化プログラム2014としているが、自動最適化部108やプロセッサ201と置き換えても良い。
<Image processing algorithm optimization processing>
FIG. 3 is a flowchart for explaining the contents of the image processing algorithm optimization processing executed by the automatic optimization unit 108 (automatic optimization program 2014). In the following, the operation subject is the automatic optimization program 2014, but it may be replaced with the automatic optimization unit 108 or the processor 201.

(i)ステップ301
まず、自動最適化プログラム2014は、初期のアルゴリズム群を生成する(ステップ301)。ここで、アルゴリズム群とは概念的な用語であり、実際には画像処理アルゴリズム実行部106の処理を指定するアルゴリズム設定データを複数種類用意したり、同実行部106における処理に関する異なる手順や内容を複数用意したりすれば良い。過去に実績があり、効果が期待できそうなアルゴリズムに相当する設定データを予め複数指定しておいても良いし、乱数にもとづいて設定データを多数生成しても良い。本実施形態では50個一定のアルゴリズム群を生成する。つまり、本発明において、複数のアルゴリズムとは、手順等のアルゴリズムの内容は同一だが設定パラメータが異なるアルゴリズムと、設定パラメータは同一だがアルゴリズムの内容が異なるアルゴリズムの少なくとも一方を含む概念であるとする。
(I) Step 301
First, the automatic optimization program 2014 generates an initial algorithm group (step 301). Here, the algorithm group is a conceptual term. In practice, a plurality of types of algorithm setting data for specifying the processing of the image processing algorithm execution unit 106 are prepared, and different procedures and contents regarding processing in the execution unit 106 are provided. You may prepare more than one. A plurality of setting data corresponding to an algorithm that has a past record and can be expected to be effective may be designated in advance, or a large number of setting data may be generated based on random numbers. In the present embodiment, 50 constant algorithm groups are generated. In other words, in the present invention, a plurality of algorithms is a concept including at least one of an algorithm having the same algorithm contents such as a procedure but different setting parameters and an algorithm having the same setting parameters but different algorithm contents.

(ii)ステップ303
自動最適化プログラム2014は、画像処理アルゴリズム実行プログラム2011及び評価プログラム2013を用いて、用意された全教示データについて評価を行う(ステップ303)。ここで、教示データとは、入力される画像データと、それに対応する正解データの組で表されるデータを意味する。言い換えれば、アルゴリズムを最適化するために用いる入力情報と出力期待値の組であり、最適化を学習とみなして試験問題と用意された模範解答に相当するという意味の言葉である。また、正解データがない場合には、教示データとは入力される画像データ自体を意味する。
(Ii) Step 303
The automatic optimization program 2014 evaluates all prepared teaching data using the image processing algorithm execution program 2011 and the evaluation program 2013 (step 303). Here, the teaching data means data represented by a set of input image data and corresponding correct data. In other words, it is a set of input information and output expected value used for optimizing the algorithm, and is a word meaning that the optimization is regarded as learning and corresponds to a test question and a prepared model answer. If there is no correct answer data, the teaching data means the input image data itself.

具体的には、まず、画像処理アルゴリズム実行プログラム2011は、多数のサンプルの画像データ2021(画像データ格納部105に格納される画像データ)を入力して、ステップ301で生成したアルゴリズム群の全てにより画像処理アルゴリズム実行プログラム2011(画像処理アルゴリズム実行部106)の処理を実施する。撮像部104の調整を行うときは撮像部での画像データ2021の取得から実施する。そして、評価プログラム2013(評価部103)は、出力された全ての結果データ2023について評価を行い、評価値2024を得る。このステップで得る評価値2024の総数は(画像データ2021のサンプル数)×(アルゴリズムの数)である。評価値の例としては、後述の図12、17、20、及び23に示されるものがある。   Specifically, first, the image processing algorithm execution program 2011 inputs a large number of sample image data 2021 (image data stored in the image data storage unit 105), and uses all the algorithm groups generated in step 301. The processing of the image processing algorithm execution program 2011 (image processing algorithm execution unit 106) is executed. When the image pickup unit 104 is adjusted, the image data 2021 is acquired by the image pickup unit. Then, the evaluation program 2013 (evaluation unit 103) evaluates all the output result data 2023 to obtain an evaluation value 2024. The total number of evaluation values 2024 obtained in this step is (number of samples of image data 2021) × (number of algorithms). Examples of evaluation values include those shown in FIGS. 12, 17, 20, and 23 described later.

(iii)ステップ304
自動最適化プログラム2014は、ステップ303で得られた全教示データの評価結果に基づいてアルゴリズムの順位づけを行う(ステップ304)。ステップ303で得られた評価値2024が良いほど上位に各アルゴリズムの順位がつけられる。1つのアルゴリズムについて教示データの数だけ評価値2024を得ているが、順位付けには平均値(あるいは総和)や目標値に達している評価値の割合を基にすれば良い。平均値を用いると評価値に著しいばらつきがあっても順位が上位になるケースもあるが、目標値に達している評価値の割合を基に順位づけを行えばより正確な順位づけを実行することができるようになる。
(Iii) Step 304
The automatic optimization program 2014 ranks the algorithms based on the evaluation results of all teaching data obtained in step 303 (step 304). The higher the evaluation value 2024 obtained in step 303, the higher the ranking of each algorithm. Evaluation values 2024 are obtained as many as the number of teaching data for one algorithm, but ranking may be based on an average value (or sum) or a ratio of evaluation values reaching a target value. If the average value is used, the ranking may be higher even if there are significant variations in the evaluation value. However, if the ranking is based on the percentage of the evaluation values that have reached the target value, a more accurate ranking is executed. Will be able to.

(iv)ステップ305
自動最適化プログラム2014は、最適化処理を終了するか判定する(ステップ305)。順位付けしたアルゴリズムで最上位のものがユーザの期待を満足するものであれば終了する(ステップ306)。具体的には、予め評価値平均の目標をユーザが設定しておき、その目標値に達していることで判定すればよい。また、結果データや評価値平均の推移グラフを表示させてユーザが監視できるようにし、ユーザが随時判断してキーボードから終了指示を行い、このステップで指示を検知することで終了させることもできる。なお、本発明の実施形態による自動最適化処理では、評価値が最上位となるアルゴリズムは必ず次のアルゴリズム群に残されるため、評価平均の推移グラフは右肩上がりとなっている。
(Iv) Step 305
The automatic optimization program 2014 determines whether to end the optimization process (step 305). If the highest ranked algorithm satisfies the user's expectation, the process ends (step 306). Specifically, the user may set an evaluation value average target in advance, and the determination may be made by reaching the target value. Further, it is possible to display the transition graph of the result data and the average evaluation value so that the user can monitor, and the user can judge at any time to issue an end instruction from the keyboard, and the instruction can be ended by detecting the instruction at this step. In the automatic optimization process according to the embodiment of the present invention, since the algorithm having the highest evaluation value is always left in the next algorithm group, the transition graph of the evaluation average increases.

(v)ステップ307
ステップ304で最上位のアルゴリズムであるとされたものがユーザの期待を満足するものでないため最適化処理を終了することができないと判断された場合(ステップ305でNoの場合)、自動最適化プログラム2014は、ステップ303で得られた全教示データの評価結果を用いて、教示データの選出を行う(ステップ307)。多数の画像データと正解データを用いての評価を繰り返すコストを抑えるために代表的なものだけを選出し、選出したものだけで評価を繰り返す最適化を行うための準備である。このステップの詳細は後述する(図6乃至9参照)。
(V) Step 307
If it is determined that the optimization algorithm cannot be terminated because the algorithm that is considered to be the highest-order algorithm in step 304 does not satisfy the user's expectation (No in step 305), the automatic optimization program In step 2014, teaching data is selected using the evaluation results of all teaching data obtained in step 303 (step 307). This is a preparation for optimizing that only a representative one is selected in order to suppress the cost of repeating the evaluation using a large number of image data and correct answer data, and the evaluation is repeated using only the selected one. Details of this step will be described later (see FIGS. 6 to 9).

(vi)ステップ309
自動最適化プログラム2014は、ステップ307で選出した教示データの評価結果(選出された教示データについては既にステップ303で評価値が算出されている)で50個のアルゴリズムの順位づけを行う(ステップ309)。ステップ309では、評価値2024が良いほど上位に各アルゴリズムの順位がつけられる。1つのアルゴリズムについては、選出した教示データの数だけ評価値2024を得ているが、順位付けには平均値(あるいは総和)や目標値に達している評価値の割合を基にすれば良い。この点は、上述のステップ304と同様である。
(Vi) Step 309
The automatic optimization program 2014 ranks the 50 algorithms based on the evaluation result of the teaching data selected in step 307 (the evaluation value has already been calculated in step 303 for the selected teaching data) (step 309). ). In step 309, the higher the evaluation value 2024, the higher the ranking of the algorithms. For one algorithm, evaluation values 2024 are obtained as many as the number of selected teaching data, but ranking may be based on the average value (or sum) or the ratio of evaluation values reaching the target value. This is the same as step 304 described above.

(vii)ステップ310
自動最適化プログラム2014は、選出した教示データでの最適化処理を終了するか判定する(ステップ310)。順位付けしたアルゴリズムで最上位のものがユーザの期待を満足するものであれば全教示データ評価のループへ抜ける(ステップ302)。ユーザの期待を満足するかどうかは、ステップ305と同様に、ユーザが予め設定した評価値平均の目標値に達していることにより判定してもよい。ただし、必ずしも達成可能かわからない場合には適当ではないので、本実施形態では、選出教示データでの最適化のループ繰り返し回数の上限値を設定してその上限値に達している否かで判定することとしている。
(Vii) Step 310
The automatic optimization program 2014 determines whether or not to end the optimization processing with the selected teaching data (step 310). If the highest ranked algorithm satisfies the user's expectation, the process goes to the loop for evaluating all teaching data (step 302). Whether or not the user's expectation is satisfied may be determined by reaching the target value of the average evaluation value set in advance by the user, as in step 305. However, this is not appropriate when it is not always possible to achieve this. In this embodiment, an upper limit value of the number of loop iterations of optimization is set in the selected teaching data, and determination is made based on whether or not the upper limit value has been reached. I am going to do that.

(viii)ステップ311
自動最適化プログラム2014は、選出した教示データでの最適化処理を終了しない場合は、アルゴリズム群の変更を行う(ステップ311)。具体的には、自動最適化プログラム2014は、アルゴリズム群の評価値2024を参照して、改善が見込まれる変更(ここでは任意の変更を改善が見込まれる変更としている)を加えて、変更アルゴリズム群を生成する。選出教示データ評価値の平均が高いアルゴリズム(設定データ)を中心に選んで、画像処理アルゴリズム実行プログラム2011で処理する画像処理機能の組合せやパラメータ数値の部分的小変更を加えればよい。例えば、遺伝的アルゴリズムや遺伝的プログラミングと呼ばれる手法に従って、確率的に選び出した2つのアルゴリズムを組合せて新たなアルゴリズムを生成したり(交叉)、乱数によって変更を加えたアルゴリズムを生成する(突然変異)。あるいは、局所解のようなものがないことが解っている場合には最上位のアルゴリズムを基に乱数で変更部分を選んで小変更を加えたアルゴリズムを多数生成すればよい。なお、最も良かったアルゴリズムを保存するため、変更アルゴリズム群にはステップ309の順位づけで最上位であったアルゴリズムは変更せずに変更アルゴリズム群に追加される。また、新たな変更アルゴリズム群でのアルゴリズムの総数は本実施形態ではステップ301と同様に50個で良いものとする。
(Viii) Step 311
The automatic optimization program 2014 changes the algorithm group when the optimization processing with the selected teaching data is not completed (step 311). Specifically, the automatic optimization program 2014 refers to the evaluation value 2024 of the algorithm group, adds a change that is expected to be improved (here, any change is assumed to be a change that is expected to be improved), and the changed algorithm group Is generated. It is only necessary to select an algorithm (setting data) having a high average of selected teaching data evaluation values, and to add a combination of image processing functions processed by the image processing algorithm execution program 2011 and to make partial small changes to parameter values. For example, according to a technique called genetic algorithm or genetic programming, a new algorithm is generated by combining two algorithms selected stochastically (crossover), or an algorithm modified by random numbers is generated (mutation). . Alternatively, if it is known that there is no such thing as a local solution, a large number of algorithms may be generated by selecting a changed portion with a random number based on the highest-order algorithm and adding small changes. In order to save the best algorithm, the algorithm that was highest in the ranking in step 309 is added to the changed algorithm group without being changed. Further, the total number of algorithms in the new changed algorithm group may be 50 in the present embodiment, as in step 301.

(ix)ステップ308
自動最適化プログラム2014は、変更アルゴリズム群の評価を行うように評価プログラム2013に指示し、評価プログラム2013はその指示に応答し、ステップ307で選出した教示データを用いて変更アルゴリズム群の評価を行う(ステップ308)。ステップ303と同様の処理だが、選出した教示データについてだけ評価すれば良く、ステップ303より低コストで行える。ステップ308の処理の後は、処理はステップ309に移行し、ステップ309乃至311の処理が繰り返される。
(Ix) Step 308
The automatic optimization program 2014 instructs the evaluation program 2013 to evaluate the changed algorithm group, and the evaluation program 2013 evaluates the changed algorithm group using the teaching data selected in step 307 in response to the instruction. (Step 308). Although the process is the same as that in step 303, only the selected teaching data needs to be evaluated and can be performed at a lower cost than in step 303. After the process of step 308, the process proceeds to step 309, and the processes of steps 309 to 311 are repeated.

(x)ステップ302
ステップ310で最適化を終了した場合(ステップ310でYesの場合)、処理はステップ302に進む。
(X) Step 302
If the optimization is completed in step 310 (Yes in step 310), the process proceeds to step 302.

ステップ302では、自動最適化プログラム2014は、新アルゴリズム群を形成する。ステップ302での新アルゴリズム群は、ステップ307で選出した教示データを用いてアルゴリズムの評価を行う処理(最適化ループ(S309→S310→S311→S308・・・)のステップ311で最後に生成されたアルゴリズム群にステップ304で最上位だったアルゴリズムを加えたものである。なお、アルゴリズムの総数を50個に揃えるため、S304で最上位とされたアルゴリズムの追加をする代わりにステップ311で生成された変更アルゴリズム群で最下位のアルゴリズムは除かれることになる。   In step 302, the automatic optimization program 2014 forms a new algorithm group. The new algorithm group in step 302 was finally generated in step 311 of the process of performing algorithm evaluation using the teaching data selected in step 307 (optimization loop (S309 → S310 → S311 → S308...)). It is the algorithm group plus the algorithm that was the highest in step 304. In order to make the total number of algorithms 50, it was generated in step 311 instead of adding the algorithm that was made the highest in S304. The lowest algorithm in the modified algorithm group is excluded.

(xi)ステップ303乃至305
自動最適化プログラム2014は、引き続いて、評価プログラム2013を用いて、ステップ303の全教示データ評価を行い、ステップ304及び305の全体処理を繰り返す。つまり、ステップ302で生成したアルゴリズム群について最適なアルゴリズムが存在するか検証することになる。
(Xi) Steps 303 to 305
Subsequently, the automatic optimization program 2014 uses the evaluation program 2013 to evaluate all teaching data in step 303 and repeat the entire processing in steps 304 and 305. That is, it is verified whether there is an optimal algorithm for the algorithm group generated in step 302.

以上のように、全教示データを用いての評価と自動選出した教示データでの評価を組み合わせて最適化を行えば、ユーザの知識や熟練を必要とせず、全教示データでの評価だけを繰り返すよりもアルゴリズム評価の総数を減少させ、早期に最適化を完了させることができるようになる。   As described above, if optimization is performed by combining evaluation using all teaching data and evaluation using automatically selected teaching data, only the evaluation using all teaching data is repeated without requiring user knowledge and skill. It is possible to reduce the total number of algorithm evaluations and complete the optimization earlier.

なお、本実施形態では、アルゴリズム群として用意するアルゴリズムの総数は50個としたが、一般にはなるべく多いほど良い。ただし、画像処理アルゴリズム実行部106で処理する画像処理機能の組合せの数やパラメータ数値の範囲がごく限られるならば逆に少なくても十分である。また、ステップ311のアルゴリズム群変更の方法も例示しただけであり本発明を限定するものでなく、アルゴリズム群の改善が見込める変更方法であれば他の方針に従ってよい。   In the present embodiment, the total number of algorithms prepared as an algorithm group is 50, but in general, the larger the number, the better. However, if the number of combinations of image processing functions processed by the image processing algorithm execution unit 106 and the range of parameter numerical values are extremely limited, it is sufficient that the number is small. Also, the method of changing the algorithm group in step 311 is only illustrated and does not limit the present invention, and other policies may be used as long as the algorithm group can be improved.

<最適化処理の時系列>
図4(上部)は、図3のフローチャートに示される画像処理アルゴリズム最適化処理を時系列で説明するための図である。また、図4(下部)は、アルゴリズム群の変更の流れを模式的に示したものも含んでいる。なお、図4において、上部の処理結果として下部のアルゴリズム群が点線で対応付けられている。
<Time series of optimization processing>
FIG. 4 (upper part) is a diagram for explaining the image processing algorithm optimization processing shown in the flowchart of FIG. 3 in time series. Moreover, FIG. 4 (lower part) also includes what showed the flow of a change of an algorithm group typically. In FIG. 4, the lower algorithm group is associated with a dotted line as a result of the upper process.

まず、ステップ301の処理により、初期のアルゴリズム群401が生成される。
そして、全教示データ400及びアルゴリズム群401を用いて、ステップ303における評価が実行される。その評価結果でアルゴリズムの順位付け処理(S304)が実行される。この順位づけ処理の結果がアルゴリズム群402である。アルゴリズム群402の中で最上位のアルゴリズムは後の新アルゴリズム群形成の処理(S302)に加えられるものである。
First, an initial algorithm group 401 is generated by the processing of step 301.
Then, the evaluation in step 303 is executed using all the teaching data 400 and the algorithm group 401. Algorithm ranking processing (S304) is executed based on the evaluation result. The result of this ranking processing is the algorithm group 402. The highest-order algorithm in the algorithm group 402 is added to the process of forming a new algorithm group (S302).

最適化処理を終了せずに教示データ選出処理(S307)が行われる。そして、選出された教示データでの評価値により順位付け処理(S309)を行うと、アルゴリズム群403が生成される。   The teaching data selection process (S307) is performed without ending the optimization process. Then, when ranking processing (S309) is performed based on the evaluation value of the selected teaching data, an algorithm group 403 is generated.

続いて、アルゴリズム群変更処理(S311)が行われ、変更アルゴリズム群404が生成される。   Subsequently, algorithm group change processing (S311) is performed, and a change algorithm group 404 is generated.

さらに、選出教示データ406を用いて変更アルゴリズム群404が評価され(S308)、順位づけしたアルゴリズム群405が生成される。
以降、同様の処理が繰り返され、アルゴリズムが最適化される。
Further, the changed algorithm group 404 is evaluated using the selected teaching data 406 (S308), and the ranked algorithm group 405 is generated.
Thereafter, the same processing is repeated and the algorithm is optimized.

図5は、図4よりもさらに長期にわたる処理を時系列で示す図である。図5においては、選出された教示データを用いた最適化終了判定処理(S310)の回数(S309→S310→S311→S308のループの回数)を4回とし、アルゴリズム群変更処理(S311)と選出された教示データ評価(S308)をそれぞれ4回実施したら新アルゴリズム群形成処理(S302)に移行させるようにしている。このように最適化処理の全体ループを繰り返し、新アルゴリズム群形成処理(S302)を1回目、2回目、3回目、・・・と行う。最終的にn回目の新アルゴリズム群形成処理(S302)を行った後で、全教示データ評価処理(S303)と順位付け処理(S304)を実行した結果、最上位のアルゴリズムがユーザの期待を満足するものであれば最適化処理が終了する。最終アルゴリズム出力501はそのときの最上位のアルゴリズムに相当する。   FIG. 5 is a diagram showing processing in a time series that is longer than that in FIG. In FIG. 5, the number of optimization end determination processes (S310) using the selected teaching data (the number of loops of S309 → S310 → S311 → S308) is set to 4, and the algorithm group change process (S311) and selection are performed. If the taught data evaluation (S308) is performed four times, the process proceeds to a new algorithm group formation process (S302). Thus, the entire loop of the optimization process is repeated, and the new algorithm group formation process (S302) is performed as the first time, the second time, the third time, and so on. After the n-th new algorithm group formation process (S302) is finally performed, all teaching data evaluation process (S303) and ranking process (S304) are executed. As a result, the highest-level algorithm satisfies the user's expectation. If so, the optimization process ends. The final algorithm output 501 corresponds to the highest-order algorithm at that time.

<教示データ選出処理の詳細>
図6乃至9を用いて、教示データ選出処理(S307)の詳細について説明する。
(A)教示データ選出処理の概要
図6は、教示データ選出処理(S307)の概要を示す図である。
まず、全教示データ400をいくつかのグループ毎に分け分類する。
次に、各分類から代表として1つの教示データを選択する。こうして分類したグループの数だけの選出教示データを決定する。
大まかにはこのような方法で教示データを選出すれば、性質の偏りが少なく全教示データからまんべんなく代表的な教示データを選出できる。
<Details of teaching data selection process>
Details of the teaching data selection process (S307) will be described with reference to FIGS.
(A) Outline of Teaching Data Selection Process FIG. 6 is a diagram showing an outline of the teaching data selection process (S307).
First, all teaching data 400 is divided and classified into several groups.
Next, one teaching data is selected as a representative from each classification. As many selection teaching data as the number of groups thus classified are determined.
Roughly, if teaching data is selected in this way, representative teaching data can be selected evenly from all teaching data with little deviation in properties.

(B)教示データ選出処理の詳細
図7は、教示データ選出処理(S307)の詳細を説明するためのフローチャートである。
(B) Details of Teaching Data Selection Processing FIG. 7 is a flowchart for explaining details of teaching data selection processing (S307).

(i)ステップ701
自動最適化プログラム2014は、各々のアルゴリズムによる各々の教示データについての評価値から、教示データ毎の評価値ベクトルを得る(S701)。全教示データ評価処理(S303)において、ある1つの教示データについては全アルゴリズムの数だけ評価値が得られているが、これらの評価値を要素にして1つのベクトル(評価値ベクトル)として扱うということである。なお、要素の並べ方(アルゴリズムとの対応)は全ての評価値ベクトルで統一させておく。
(I) Step 701
The automatic optimization program 2014 obtains an evaluation value vector for each teaching data from the evaluation value for each teaching data by each algorithm (S701). In the all teaching data evaluation process (S303), evaluation values are obtained as many as the number of all algorithms for a certain teaching data, but these evaluation values are used as elements and treated as one vector (evaluation value vector). That is. The element arrangement (corresponding to the algorithm) is unified for all evaluation value vectors.

図8は、評価値ベクトルの例を示す図である。全教示データがN個あり、個々の教示データはd1〜dNである。またアルゴリズム群の総数がM個であり、個々のアルゴリズムはa1〜aMである。そして各教示データについての各アルゴリズムの評価値はv11〜vMNである。このとき各々の教示データの評価値ベクトルVd1〜VdNは(v11,v21,…,vM1)〜(v1N,v2N,…,vMN)である。   FIG. 8 is a diagram illustrating an example of the evaluation value vector. There are N pieces of all teaching data, and each teaching data is d1 to dN. The total number of algorithm groups is M, and the individual algorithms are a1 to aM. And the evaluation value of each algorithm about each teaching data is v11-vMN. At this time, the evaluation value vectors Vd1 to VdN of the respective teaching data are (v11, v21,..., VM1) to (v1N, v2N,..., VMN).

(ii)ステップ702
自動最適化プログラム2014は、評価値ベクトル間の距離が最も短い2つの教示データ同士を類似性があるものとみなしてリンクを張る(ステップ702)。単独の教示データ同士だけでなく、後述のグループとの距離、グループ間の距離も対象に含む。ベクトル間の距離としてはマンハッタン距離を用いる。つまり、例えば、評価値ベクトルVd1と評価値ベクトルVd2のベクトル間の距離とは、(|v11−v12|+|v21−v22|+|v31−v32|+・・・+|vM1−vM2|)と表すことができる。
(Ii) Step 702
The automatic optimization program 2014 establishes a link by regarding the two teaching data with the shortest distance between the evaluation value vectors as having similarity (step 702). This includes not only individual teaching data but also a distance to a group described later and a distance between groups. The Manhattan distance is used as the distance between vectors. That is, for example, the distance between the evaluation value vector Vd1 and the evaluation value vector Vd2 is (| v11-v12 | + | v21-v22 | + | v31-v32 | + ... + | vM1-vM2 |) It can be expressed as.

複数のアルゴリズムの評価値からなる評価値ベクトルは、教示データの性質を示している。従って、本発明の実施形態では、2つの教示データの評価値ベクトル間の距離が短いほど似た性質を持っており、これらを1つのグループに分類して処理することとしている。   An evaluation value vector composed of evaluation values of a plurality of algorithms indicates the nature of the teaching data. Therefore, in the embodiment of the present invention, the shorter the distance between the evaluation value vectors of the two teaching data, the more similar the properties are, and these are classified into one group for processing.

(iii)ステップ703
自動最適化プログラム2014は、ステップ702でリンクを張った2つの教示データやグループに含まれる全ての教示データの評価値を平均し、新たなグループの評価値ベクトルとする。以後、新たなグループを1つの教示データと同等に扱う(ステップ703)。例として前の評価値ベクトルVd1と評価値ベクトルVd2で云えば、新たなグループの評価値ベクトルVd(1、2)は((v11+v12)/2,(v21+v22)/2,(v31+v32)/2,・・・,(vM1+vM2)/2)である。
(Iii) Step 703
The automatic optimization program 2014 averages the evaluation values of the two teaching data linked in step 702 and all the teaching data included in the group to obtain an evaluation value vector for the new group. Thereafter, the new group is treated as equivalent to one teaching data (step 703). As an example, in the previous evaluation value vector Vd1 and evaluation value vector Vd2, the evaluation value vector Vd (1,2) of the new group is ((v11 + v12) / 2, (v21 + v22) / 2, (v31 + v32) / 2, ..., (vM1 + vM2) / 2).

ここで、新たなグループを1つの教示データと同等に扱うとは、ステップ702で距離が最も短い2つの教示データ同士を検索する際の対象にするということを意味する。一方、リンクが張られた元の教示データや元のグループは対象から外す。   Here, handling a new group equivalent to one teaching data means that two teaching data having the shortest distance are to be searched at step 702. On the other hand, the original teaching data and the original group with the link are excluded from the target.

(iv)ステップ704
自動最適化プログラム2014は、ステップ702でリンクを張った2つの教示データやグループ各々の最上位アルゴリズムによる評価値(本実施形態では評価値ベクトルの要素の1つ)の差分に、評価値が低い方の教示データやグループに教示データの数を掛けた数値をそのリンクにおける「段差値」として設定する(ステップ704)。ここで用いる最上位アルゴリズムは、全教示データの評価結果で順位付け(S304)したときに最上位にしたアルゴリズムである。段差値は最適化を優先させるグループ分けの目安になる。
(Iv) Step 704
The automatic optimization program 2014 has a low evaluation value in the difference between the two teaching data linked in step 702 and the evaluation value (one of the elements of the evaluation value vector in this embodiment) of each group by the highest-order algorithm. A value obtained by multiplying the teaching data or group by the number of teaching data is set as the “step value” in the link (step 704). The highest-order algorithm used here is an algorithm that is ranked highest when ranking is performed based on the evaluation results of all teaching data (S304). The step value is a guide for grouping that prioritizes optimization.

段差値の例を、1つの教示データの評価値ベクトルAと3つの教示データを含むグループの評価値ベクトルBで説明する。最上位アルゴリズムの評価値を評価値ベクトル先頭の要素にしているとすると、ベクトルAの先頭要素A0がベクトルBの先頭要素B0より小さいときは、段差値は(|A0−B0|×1)となる。逆にB0がA0より小さいときは、段差値は(|A0−B0|×3)である。   An example of the step value will be described with an evaluation value vector A of one teaching data and an evaluation value vector B of a group including three teaching data. Assuming that the evaluation value of the highest-order algorithm is the first element of the evaluation value vector, when the first element A0 of the vector A is smaller than the first element B0 of the vector B, the step value is (| A0−B0 | × 1) Become. Conversely, when B0 is smaller than A0, the step value is (| A0−B0 | × 3).

また、図8Bに示されるような評価値を取る教示データの各グループを例として考える。ここで、各グループの評価値の平均を、グループ1についてはAV1、グループ2についてはAV2、グループ3についてはAV3とする。この場合、グループ1とグループ2の間、及びグループ2とグループ3の間の何れにグループを隔てる段差があるか(段差値が大きいか)を検証する。グループ1と2の段差値は、|AV1−AV2|×(グループ1の教示データ数)=S1部分の面積として表される。また、グループ2と3の段差値は、|AV2−AV3|×(グループ3の教示データ数)=S2部分の面積として表される。評価値平均の差分値は、グループ2と3における差の方がグループ1と2における差よりも大きいが、段差値としてはグループ1と2の間の方が大きいことが分かる。よって、図8Bのような例では、グループ1と2の間に段差があり、グループ1を独立のグループとして扱った方が効率的な教示データが選出できることが分かる。このように、段差値(段差評価値)とは、最上位アルゴリズムで改善を期待する教示データ群を判別するための目安である。この段差値によって、教示データ全体で、平均評価値を上げるために最も改善すべきグループを特定することができるようになる。上記の例では、段差値を計算することにより、グループ1に含まれる教示データ群が独立のグループとして扱うことが特定された。   Further, consider each group of teaching data taking an evaluation value as shown in FIG. 8B as an example. Here, the average of the evaluation values of each group is AV1 for group 1, AV2 for group 2, and AV3 for group 3. In this case, it is verified whether there is a step separating the groups between the group 1 and the group 2 and between the group 2 and the group 3 (whether the step value is large). The step values of groups 1 and 2 are expressed as | AV1-AV2 | × (number of teaching data of group 1) = area of S1 portion. Further, the step value between groups 2 and 3 is expressed as | AV2−AV3 | × (number of teaching data of group 3) = area of S2 portion. The difference value of the average evaluation value is larger in the difference between the groups 2 and 3 than the difference in the groups 1 and 2, but the step value is larger between the groups 1 and 2. Therefore, in the example as shown in FIG. 8B, there is a step between the groups 1 and 2, and it can be understood that efficient teaching data can be selected by treating the group 1 as an independent group. Thus, the step value (step evaluation value) is a standard for discriminating the teaching data group that is expected to be improved by the highest algorithm. With this step value, it is possible to identify the group that should be improved most in order to increase the average evaluation value in the entire teaching data. In the above example, it is specified that the teaching data group included in the group 1 is handled as an independent group by calculating the step value.

(v)ステップ705
自動最適化プログラム2014は、1つのグループに全ての教示データが収まったか判定する(ステップ705)。例えば教示データの総数がNとすると、張ったリンクの総数がN−1であれば1つのグループに収まっていると判定できる。
(V) Step 705
The automatic optimization program 2014 determines whether all teaching data is contained in one group (step 705). For example, if the total number of teaching data is N, it can be determined that the number of linked links is within one group if the total number of linked links is N-1.

1つのグループに全ての教示データが収まっていなければ(ステップ705でNoの場合)、自動最適化プログラム2014は、ステップ702からの処理を繰り返す。   If all teaching data does not fit in one group (No in step 705), the automatic optimization program 2014 repeats the processing from step 702.

1つのグループに全ての教示データが収まっていれば(ステップ705でYesの場合)、処理はステップ706に移行する。   If all the teaching data are contained in one group (Yes in step 705), the process proceeds to step 706.

(vi)ステップ706
自動最適化プログラム2014は、最も段差値が大きいリンクを検索し、そのリンクを張る以前に形成したグループ群で分類を決定する(ステップ706)。段差値が大きいリンクは分断して教示データやグループを独立させるべきものと判断するのである。この処理で分類は完了する。
(Vi) Step 706
The automatic optimization program 2014 searches for the link having the largest step value, and determines the classification based on the group group formed before the link is established (step 706). It is determined that the link with a large step value should be divided to make the teaching data and group independent. This process completes the classification.

(vii)ステップ707
最後に、自動最適化プログラム2014は、画像選択プログラム2015を用いて、分類毎に1つの教示データをランダムに選出する(ステップ707)。
以上で教示データ選出処理(S307)を完了する。
(Vii) Step 707
Finally, the automatic optimization program 2014 uses the image selection program 2015 to randomly select one teaching data for each classification (step 707).
Thus, the teaching data selection process (S307) is completed.

(C)教示データ選出処理の例
図9は、図8に示した教示データd1〜dNについてリンクを張り、1つのグループに収めた様子(例)を説明するための図である。
(C) Example of Teaching Data Selection Process FIG. 9 is a diagram for explaining a state (example) in which the teaching data d1 to dN shown in FIG. 8 are linked and contained in one group.

最初の1つ目のリンクを教示データd1とd2に張り、2つ目のリンクをd5とd6に張る。3つ目のリンクはd1とd2からなるグループとd3に張る。さらに、4つ目のリンクはd1〜d3のグループとd5〜d6のグループに張る。リンクを張り続けて最終的にN−1回目で全ての教示データをリンクでつなぎ1つのグループにする作業を終える。ここで仮に4つ目のリンクの段差値が最大であったときは、分類は3つ目までのリンクで形成したグループで決定し、{d1、d2、d3}、{d4}、{d5、d6}、{d7}、…となる。そして、各グループから1つずつ教示データを選出して、例えば{d2,d4,d5,d7,…}が選出教示データになる。   The first link is extended to the teaching data d1 and d2, and the second link is extended to d5 and d6. The third link extends to a group consisting of d1 and d2 and d3. Further, the fourth link is extended to the groups d1 to d3 and the groups d5 to d6. Continuing to link, and finally, at the (N-1) th time, all teaching data is connected by a link to complete one group. Here, if the step value of the fourth link is maximum, the classification is determined by the group formed by the links up to the third link, and {d1, d2, d3}, {d4}, {d5, d6}, {d7},. And one teaching data is selected from each group, for example, {d2, d4, d5, d7, ...} becomes the selected teaching data.

以上のように教示データを選出すれば、性質の偏りが少なく全教示データからまんべんなく代表的な教示データを選出できる。そして、全教示データより数少ない教示データで最適化を進めることができるようになる。   If teaching data is selected as described above, representative teaching data can be selected evenly from all teaching data with little deviation in properties. Then, optimization can be advanced with less teaching data than all teaching data.

なお、以上の教示データ選択の方法は例示として挙げるものであり、これにより本発明を限定的に解釈するものではない。階層的に教示データを関係づけるのではなく、例えば単純に評価ベクトル間の距離が予め設定した一定値以下であれば同類としてグループに扱うという方法でも教示データ数を削減して最適化を進めることができる。あるいは一定値ではなく、評価ベクトル間の距離の分布を調査して一定割合以下のもの同士をグループにするという方法でもよい。   Note that the above teaching data selection method is given as an example, and the present invention is not construed as being limited thereto. Instead of hierarchically associating teaching data, for example, if the distance between evaluation vectors is less than a certain value set in advance, it is possible to reduce the number of teaching data and proceed with optimization even if the group is treated as a group. Can do. Alternatively, instead of a fixed value, a method of investigating the distribution of distances between evaluation vectors and grouping those having a certain ratio or less may be used.

これらは階層的方法よりも分類の妥当性が落ちるものの簡易な方法である。また、グループ間の距離を評価値ベクトルの平均で測るのではなく、グループに属する個々の教示データとの距離で最小のものや最大のものなどを用いても良い。   These are simple methods, although the validity of classification is lower than the hierarchical method. In addition, the distance between groups may not be measured by the average of the evaluation value vectors, but the minimum or maximum distance between individual teaching data belonging to the group may be used.

さらに、評価値ベクトル間の距離は目的の画像処理アルゴリズムや評価値の算出方法にあわせ、マンハッタン距離ではなくユークリッド距離を用いても良い。   Further, the distance between the evaluation value vectors may be the Euclidean distance instead of the Manhattan distance in accordance with the target image processing algorithm and the evaluation value calculation method.

また、必ず段差値が最大のリンクを選択して分類を決定するのではなく、確率的に段差値が大きいリンクほど選択されるようにしても良い。そうすれば評価値の算出方法が適切さを欠いている場合も最適化を進められる可能性が高まる。あるいはなるべく分類グループの数を減らして選出教示データの数を少なくするように段差値にリンク順番の重みを掛けてから確率的にリンクを選択しても良い。または予め分類グループの数を設定しておき、数が合うリンクの箇所を選択しても良い。   In addition, the link having the largest step value is not necessarily selected and the classification is determined, but the link having a larger step value may be selected. This increases the possibility that the optimization can be advanced even when the evaluation value calculation method lacks appropriateness. Alternatively, links may be selected stochastically after the step value is multiplied by the weight of the link order so that the number of classification groups is reduced as much as possible to reduce the number of selected teaching data. Alternatively, the number of classification groups may be set in advance, and the link location that matches the number may be selected.

さらに、評価値ベクトルの要素にアルゴリズム群の全ての評価値を用いるのではなく限定して要素数(ベクトルの次元数)を削減することによって、距離計算のコストを抑えても良い。例えばある2つのアルゴリズムにおいて、全ての教示データについての評価値が同一であれば、一方だけのアルゴリズムの評価値が評価値ベクトルの要素であれば良いし、全ての教示データについて評価値が等しいアルゴリズムの評価値も要素にする必要はない。あるいは各教示データ毎に最大の評価値を得ているアルゴリズムを選出して評価値ベクトルの要素にするという限定方法や、単純に最上位から一定数のアルゴリズムによって評価値ベクトルを構成するという限定方法に依っても良い。   Furthermore, the cost of distance calculation may be suppressed by reducing the number of elements (the number of dimensions of the vector) by limiting the elements of the evaluation value vector instead of using all the evaluation values of the algorithm group. For example, in two algorithms, if the evaluation values for all the teaching data are the same, the evaluation value of only one algorithm may be an element of the evaluation value vector, or the evaluation values are the same for all the teaching data. The evaluation value of need not be an element. Alternatively, a limiting method of selecting an algorithm that obtains the maximum evaluation value for each teaching data and making it an element of the evaluation value vector, or a limiting method of simply configuring an evaluation value vector from the highest level by a certain number of algorithms You may depend on.

なお、ステップ707においては、分類毎に1つの教示データをランダムに選出するというのではなく、グループ内で評価値が高いものや低いものを加えたり、あるいは評価値に従った確率的選択方法をとってグループ内から選出しても良い。   In step 707, one teaching data is not randomly selected for each classification, but a high or low evaluation value is added in the group, or a probabilistic selection method according to the evaluation value is added. You may choose from within the group.

<本発明の適用例>
以降、本発明をより具体的な適用例で説明する。
(A)テンプレートマッチングへの適用例
図10乃至14は、本発明をテンプレートマッチングに適用した例を示す図である。
<Application example of the present invention>
Hereinafter, the present invention will be described with more specific application examples.
(A) Application Example to Template Matching FIGS. 10 to 14 are diagrams showing an example in which the present invention is applied to template matching.

(i)テンプレート画像の例
図10は、テンプレート画像1001の一例を示している。テンプレートマッチングでは、アライメントマーク1002(十字形)と同様のものを被検索画像内で探索し、その位置を出力結果として得て位置検出するための画像処理である。
(I) Example of Template Image FIG. 10 shows an example of the template image 1001. The template matching is image processing for searching for an image similar to the alignment mark 1002 (cross shape) in the image to be searched and obtaining the position as an output result to detect the position.

(ii)被検索画像の例
図11は、対応する被検索画像の一例を示す図である。図11に示される画面は、ディスプレイ204に表示されたウィンドウであり、領域1101の内側が被検索画像である。被検索画像1101にはアライメントマーク1102があり、テンプレート画像1001に対応する領域は点線で示した1103の位置である。正解データとしてユーザは座標1104をスタイラスペン2033等で設定する。あるいはキーボード2031により数値で入力する(1105)。
以上のようにテンプレートマッチングではテンプレート画像と被検索画像、そして正解データであるマッチング結果の位置座標が教示データに該当する。
(Ii) Example of Searched Image FIG. 11 is a diagram illustrating an example of a corresponding searched image. The screen shown in FIG. 11 is a window displayed on the display 204, and the inside of the area 1101 is a searched image. The searched image 1101 has an alignment mark 1102, and an area corresponding to the template image 1001 is a position 1103 indicated by a dotted line. As correct data, the user sets coordinates 1104 with a stylus pen 2033 or the like. Alternatively, a numerical value is input using the keyboard 2031 (1105).
As described above, in template matching, the template image, the image to be searched, and the position coordinates of the matching result as correct data correspond to the teaching data.

(iii)テンプレートマッチング評価
図12は、テンプレートマッチングにおける評価部103が行う評価値の算出方法の例を説明する。
(Iii) Template Matching Evaluation FIG. 12 illustrates an example of an evaluation value calculation method performed by the evaluation unit 103 in template matching.

テンプレート画像1101と被検索画像1201を、テンプレートマッチングの画像処理の入力画像データとして与えたとき、結果として複数の位置座標が候補として順位付きで結果データになって出力されることを想定している。   When the template image 1101 and the searched image 1201 are given as input image data for image processing for template matching, it is assumed that a plurality of position coordinates are output as result data with ranking as a result. .

結果データの例として、候補第1位データ1202、候補第2位データ1203、候補第3位データ1204の3つの座標が得られたとする。また、この例は、正解データを候補第2位データ1203の位置座標とし、候補1位には選ばれなかったという例である。   As an example of the result data, it is assumed that three coordinates of candidate first rank data 1202, candidate second rank data 1203, and candidate third rank data 1204 are obtained. Further, in this example, the correct answer data is set as the position coordinates of the candidate second rank data 1203 and is not selected as the candidate first rank.

ここでは、評価値の算出方法の一例として、100/(正解位置の候補順位)を挙げる。つまり、ここでの結果データでは正解位置が第2位であるので、100/2=50が評価値となる。もし、正解位置の候補順位が第1位であれば100/1=100で最大となる。なお、正解が候補に挙げられずに無かった場合には評価値を0にすればよい。   Here, as an example of the evaluation value calculation method, 100 / (candidate order of correct position) is given. That is, since the correct answer position is the second place in the result data here, 100/2 = 50 is the evaluation value. If the candidate position of the correct answer position is first, 100/1 = 100 is the maximum. If the correct answer is not listed as a candidate, the evaluation value may be set to zero.

(iv)評価値ベクトルの例
図13は、以上のような評価値算出方法を用いて複数のテンプレートマッチングを実行することにより、得られる多数の教示データ毎の評価値ベクトル例を示す図である。全教示データが60個あり、個々の教示データはp1〜p60である。
(Iv) Example of Evaluation Value Vector FIG. 13 is a diagram illustrating an example of evaluation value vectors for each of a large number of teaching data obtained by executing a plurality of template matching using the above-described evaluation value calculation method. . There are 60 pieces of all teaching data, and each teaching data is p1 to p60.

また、アルゴリズム群の総数が50個であり、個々のアルゴリズムはap1〜ap50である。そして、各教示データについての各アルゴリズムの評価値は表の各欄の0〜100の値である。このとき各々の教示データの評価値ベクトルVd1〜Vd60はそれぞれで横に並ぶ評価値を要素にしたものである。   The total number of algorithm groups is 50, and the individual algorithms are ap1 to ap50. And the evaluation value of each algorithm about each teaching data is the value of 0-100 of each column of a table | surface. At this time, the evaluation value vectors Vd1 to Vd60 of the respective teaching data are obtained by using the evaluation values arranged side by side as elements.

これらの評価値ベクトルを用いてベクトル間の距離を算出し教示データ選出を行えばよい。   Using these evaluation value vectors, the distance between the vectors may be calculated to select teaching data.

(v)評価対象となるテンプレートマッチングアルゴリズムの例
図14は、前処理フィルタを組合せることにより生成される複数のテンプレートマッチングのアルゴリズムの例を示す図である。
(V) Example of template matching algorithm to be evaluated FIG. 14 is a diagram illustrating an example of a plurality of template matching algorithms generated by combining preprocessing filters.

図14に示されるように、基本的なテンプレートマッチングの処理1402の前段で、入力画像データに対して前処理として各種のフィルタ処理1401を実行する。画像処理フィルタとは、例えば、エッジ強調やノイズ低減処理、コントラスト調整など良く知られる画質調整処理である。これらのフィルタの組合せや各フィルタのパラメータのバリエーションを複数のアルゴリズムap1〜ap50として用いるのである。あるいはテンプレートマッチングの処理1402について各種のパラメータのバリエーションを用いても良い。   As shown in FIG. 14, various filter processes 1401 are executed as a preprocess on the input image data before the basic template matching process 1402. The image processing filter is well-known image quality adjustment processing such as edge enhancement, noise reduction processing, and contrast adjustment. Combinations of these filters and variations of parameters of each filter are used as a plurality of algorithms ap1 to ap50. Alternatively, various parameter variations may be used for the template matching processing 1402.

以上説明したように正解データを設定し、妥当な評価値を算出させて教示データ選出を行えば良い。そしてテンプレートマッチングのアルゴリズムについて本発明による最適化を行えば、全教示データでの評価だけを繰り返すよりもアルゴリズム評価の総数を減少させ、早期に最適化を完了させることができるようになる。   As described above, correct data may be set, and an appropriate evaluation value may be calculated to select teaching data. If the template matching algorithm is optimized according to the present invention, the total number of algorithm evaluations can be reduced and the optimization can be completed at an early stage rather than repeating only the evaluation with all teaching data.

(vi)教示データの分類
図15は、分類の過程の表示例を示す図であり、図7で説明した階層的グループの形成を被検索画像について1つ1つ囲んで示したものである。このようなグループ形成画像を表示する機能を設けておくことにより、アルゴリズムを検討するものにとって画像の特性としてどのような分類傾向があるかを理解しやすくなる。例えば、用意した画像処理フィルタの組合せでは結局満足できる結果にならない場合でもヒントを得やすくなる。
(Vi) Classification of Teaching Data FIG. 15 is a diagram showing a display example of the classification process, and shows the formation of the hierarchical group described with reference to FIG. 7 for each searched image. By providing a function for displaying such a group-formed image, it becomes easier for the person who examines the algorithm to understand what classification tendency exists as the image characteristic. For example, it is easy to obtain hints even when the combination of the prepared image processing filters does not give a satisfactory result.

(B)欠陥分類への適用例
図16乃至19は、本発明を欠陥分類に適用した例を示す図である。欠陥分類とは製造物を検査する装置において何らかの製造物の欠陥を検出した際にその欠陥が例えば異物の付着なのか、それとも製造プロセスにおける不良なのかを自動分類する処理のことである。
(B) Application Example to Defect Classification FIGS. 16 to 19 are diagrams showing an example in which the present invention is applied to defect classification. Defect classification is a process of automatically classifying whether a defect is, for example, a foreign substance or a defect in a manufacturing process when a defect of the product is detected in an apparatus for inspecting the product.

(i)欠陥画像の例
図16は、製造物(半導体デバイス)の欠陥部位をとらえた検査画像の一例を示す図である。
(I) Example of Defect Image FIG. 16 is a diagram showing an example of an inspection image that captures a defective portion of a product (semiconductor device).

領域1601は、ディスプレイ204に表示されたウィンドウであり、当該領域の内側に検査画像が表示されている。検査画像には異物の付着1603と製造不良部位1605がある。これらに対し、正解データとしてユーザは異物の付着1603に対して座標1604を、製造不良部位1605に対しては座標1606をスタイラスペン2033で設定する。さらに、キーボード2031により数値で欠陥の分類種別等を選択して入力する(領域1602参照)。   An area 1601 is a window displayed on the display 204, and an inspection image is displayed inside the area. The inspection image includes a foreign matter adhesion 1603 and a defective manufacturing portion 1605. On the other hand, as correct answer data, the user sets the coordinates 1604 for the foreign matter adhesion 1603 and the coordinates 1606 for the defective manufacturing portion 1605 with the stylus pen 2033. Further, the defect classification type and the like are selected and entered numerically using the keyboard 2031 (see area 1602).

以上のように欠陥分類では検査画像、そして正解データである欠陥部位の位置座標と分類種別等が教示データに該当する。   As described above, in the defect classification, the inspection image, the position coordinates of the defective portion, which is correct data, the classification type, and the like correspond to the teaching data.

(ii)欠陥評価
図17は、欠陥分類における評価部103が行う評価値の算出方法の例を示す図である。
(Ii) Defect Evaluation FIG. 17 is a diagram illustrating an example of an evaluation value calculation method performed by the evaluation unit 103 in defect classification.

異物が付着した部位をとらえた検査画像1701や配線がショートしたり断線したりしている部位をとらえた検査画像1702を欠陥分類の画像処理の入力画像データとして与えたとき、結果として1つ以上の結果部位の位置情報とその位置の欠陥の分類種別、およびサイズが結果データとして出力される。   When an inspection image 1701 that captures a part to which a foreign substance is attached or an inspection image 1702 that captures a part where the wiring is shorted or disconnected is given as input image data for defect classification image processing, one or more results are obtained. The position information of the result part, the classification type and the size of the defect at the position are output as result data.

ここでは、結果データの例として3種の大分類と個々の小分類があるとしている。大分類とは前述の異物付着と製造不良、加えて外的要因の可能性があるスクラッチ(傷の類)の種別である。異物付着についてはさらに細かく小分類として異物が金属か化学物質の種別が出力される。製造不良については小分類としてショート、断線、変形の種別が出力される。これら大小の種別だけでなく欠陥部位のサイズが出力される。   Here, as an example of the result data, there are three major classifications and individual minor classifications. The major classification is the type of scratches (scratches) that may have the above-mentioned foreign matter adhesion and manufacturing defects, and possibly external factors. For foreign matter adhesion, the type of the foreign matter is a metal or chemical substance is output as a finer subcategory. For manufacturing defects, the types of short, disconnection, and deformation are output as a small classification. In addition to these large and small types, the size of the defective part is output.

評価値の算出方法の例として、(大分類正解度×40)+(小分類正解度×30)+(サイズ正解度×30)とする。大分類正解度は予め用意した正解データと一致すれば1、不一致であれば0である。小分類正解度は大分類正解度が0のときは0であるが、大分類正解度が1のときは判定を行い正解データと一致すれば1、不一致であれば0である。サイズ正解度は正解データのサイズと一致すれば1、差が大きいほど0に近いとする。   As an example of the evaluation value calculation method, (large classification accuracy x 40) + (small classification accuracy x 30) + (size accuracy x 30). The degree of correct correct classification is 1 if it matches the correct answer data prepared in advance, and 0 if it does not match. The minor classification accuracy is 0 when the major classification accuracy is 0, but is determined when the major classification accuracy is 1, and is 1 when matching with correct data, and 0 when not matching. It is assumed that the size accuracy is 1 if it matches the size of the correct data, and is closer to 0 as the difference is larger.

(iii)評価ベクトルの例
図18は、図17に示す評価値算出方法により複数の欠陥分類のアルゴリズムを評価したときに得られる、多数の教示データ毎の評価値ベクトルの例を示す図である。
(Iii) Example of Evaluation Vector FIG. 18 is a diagram showing an example of evaluation value vectors for each of a large number of teaching data obtained when a plurality of defect classification algorithms are evaluated by the evaluation value calculation method shown in FIG. .

この例では、全教示データが33個あり、個々の教示データはp1〜p33で表されている。また、この例では、アルゴリズム群の総数が40個であり、個々のアルゴリズムはar1〜ar40で表されている。そして、各教示データについての各アルゴリズムの評価値は表の各欄の12〜100の値となっている。このとき各々の教示データの評価値ベクトルVd1〜Vd33はそれぞれで横に並ぶ評価値を要素にしたものである。これらの評価値ベクトルを用いてベクトル間の距離を算出し教示データ選出を行えばよい。   In this example, there are 33 pieces of all teaching data, and each teaching data is represented by p1 to p33. In this example, the total number of algorithm groups is 40, and the individual algorithms are represented by ar1 to ar40. And the evaluation value of each algorithm about each teaching data is a value of 12-100 of each column of a table. At this time, the evaluation value vectors Vd1 to Vd33 of the respective teaching data are elements having evaluation values arranged horizontally. Using these evaluation value vectors, the distance between the vectors may be calculated to select teaching data.

(iv)評価対象となる欠陥分類アルゴリズムの例
図19は、各種特徴値の組合せ演算を行う、複数の欠陥分類のアルゴリズムの例を示す図である。ここで、各種特徴値とは、例えば複雑度や凹凸性、モーメント特徴といった画像処理における形状特徴を示すものや、粗さ、線状性、規則性といったテクスチャ特徴、あるいは画像データがカラーであれば色合の特徴、またはスペクトル分布特徴などである。
(Iv) Example of defect classification algorithm to be evaluated FIG. 19 is a diagram illustrating an example of a plurality of defect classification algorithms for performing a combination operation of various feature values. Here, the various feature values indicate shape features in image processing such as complexity, unevenness, and moment features, texture features such as roughness, linearity, and regularity, or if the image data is color. For example, color characteristics or spectral distribution characteristics.

これら特徴値1901を1つ以上用いて四則演算や整数化、絶対値化などごく基本的な演算やパラメータとしてしきい値を与えて分類結果の数値を結果として出すように演算1902を組み合わせてアルゴリズムを構成する。これらの各種特徴値や演算の組合せや演算のパラメータのバリエーションを複数のアルゴリズムar1〜ar40として用いている。図示や説明はしないが、欠陥部位のサイズ算出もアルゴリズムに含んで処理するものである。   An algorithm that combines one operation 1902 so that a threshold value is given as a parameter by using one or more of these feature values 1901, giving a threshold value as a basic operation such as four arithmetic operations, integerization, and absolute value, and as a parameter. Configure. These various feature values, combinations of calculations, and variations of calculation parameters are used as a plurality of algorithms ar1 to ar40. Although not shown or described, the calculation of the size of the defective part is also included in the algorithm.

以上説明したように、正解データを設定し、妥当な評価値を算出させて教示データ選出を行えば良い。そして欠陥分類のアルゴリズムについて本発明による最適化を行えば、全教示データでの評価だけを繰り返すよりもアルゴリズム評価の総数を減少させ、早期に最適化を完了させることができるようになる。   As described above, correct data may be set, and an appropriate evaluation value may be calculated to select teaching data. If the defect classification algorithm is optimized according to the present invention, it is possible to reduce the total number of algorithm evaluations and complete the optimization at an early stage, rather than repeating only the evaluation with all teaching data.

(C)トラッキング処理への適用例
図20乃至22は、本発明をトラッキング処理(モーションキャプチャなどとも呼ばれるもの)に適用した例を示す図である。数多くの時系列画像からなる動画像において、特定の物体が移動するときの位置を検知する処理である。各種の検査装置においての高速高精度な位置決めや医用分野における細胞観察など広範囲の分野に用いられる技術である。トラッキングアルゴリズム自体は元来リアルタイムで使用できることが期待されていて高速化が図られているが、評価対象の動画像は多様で長時間にせざるを得ない。このためアルゴリズムの最適化処理にはコストがかかるという課題がある。
(C) Application Example to Tracking Processing FIGS. 20 to 22 are diagrams showing an example in which the present invention is applied to tracking processing (also called motion capture or the like). This is processing for detecting a position when a specific object moves in a moving image composed of a number of time-series images. This technique is used in a wide range of fields, such as high-speed and high-precision positioning in various inspection apparatuses and cell observation in the medical field. The tracking algorithm itself is originally expected to be usable in real time and has been improved in speed, but the moving image to be evaluated is various and must be long. For this reason, there is a problem that the optimization process of the algorithm is costly.

そこで、本発明をトラッキング処理に適用し、迅速にアルゴリズムの最適化を図れば、コストを抑えることが可能となる。   Therefore, if the present invention is applied to the tracking process and the algorithm is optimized quickly, the cost can be suppressed.

(i)時系列画像群の例、及び評価方法の例
図20は、一連の時系列画像群2001の例を示す図である。図20では、分かり易い例として、昆虫が飛び回る様子を動画撮影したときのものを1フレームずつ順に並べたものが示されている。
(I) Example of Time Series Image Group and Example of Evaluation Method FIG. 20 is a diagram illustrating an example of a series of time series image group 2001. In FIG. 20, as an easy-to-understand example, an image of a situation where insects fly around is shown in a sequence of frames one by one.

図20において、昆虫は少しずつ移動しており、各画像内での位置が異なる。これらの各画像について昆虫の正しい位置を正解データ2003として設定しておく。これに対してトラッキング処理による検知位置の結果2004は多少のずれが生じることがある。ずれが少ないほど良いトラッキング処理である。正解データ2003「二重丸」とトラッキング結果2004「十字」が判別しやすいように下部の一連の画像領域2002に示したが、画像領域群2002と時系列画像群2001は同一のものである。   In FIG. 20, the insect is moving little by little, and the position in each image is different. The correct position of the insect is set as correct data 2003 for each of these images. On the other hand, the detection position result 2004 by the tracking process may be slightly shifted. The smaller the deviation, the better the tracking process. The correct data 2003 “double circle” and the tracking result 2004 “cross” are shown in the lower series of image areas 2002 so that they can be easily discriminated. However, the image area group 2002 and the time series image group 2001 are the same.

本発明を適用して評価値を算出する場合に先のテンプレートマッチングのように単純に1枚ずつの画像データで評価するのは適当ではない。トラッキング処理の場合、前後の画像を関連付けて位置を推定する場合が多いため正しい評価にならないからである。そこで、トラッキング処理の内容に合わせ、連なった複数画像を、一部は重複させて選択し評価に用いるようにする。図20では画像3枚ごと、うち前後1枚は重複させた区間でトラッキング処理の評価値を得ることを示す。   When the evaluation value is calculated by applying the present invention, it is not appropriate to simply evaluate the image data one by one like the template matching described above. This is because, in the case of tracking processing, the position is estimated by associating the preceding and succeeding images in many cases, so that the evaluation is not correct. Therefore, in accordance with the content of the tracking process, a plurality of consecutive images are selected with some overlapping and used for evaluation. FIG. 20 shows that the evaluation value of the tracking process is obtained in the section where every three images, one of the front and back are overlapped.

このように、複数画像データからなる区間の評価値は、例えば(Σ(100/(1+[位置ずれ量])))/[区間画像数]として算出すればよい。   As described above, the evaluation value of the section composed of a plurality of image data may be calculated as, for example, (Σ (100 / (1+ [position deviation amount]))) / [number of section images].

(ii)評価値ベクトルの例
図21は、図20に示す評価値算出方法を用いて、複数のトラッキング処理のアルゴリズムを評価して得られた、多数の区間毎の評価値ベクトルの例を示す図である。当該例では、全教示データの区間を1〜Endとする。また、個々のアルゴリズムをat1〜at20とする。そして、各区間についての各アルゴリズムの評価値は表の各欄の値に対応している。
(Ii) Example of Evaluation Value Vector FIG. 21 shows an example of evaluation value vectors for each of many sections obtained by evaluating a plurality of tracking processing algorithms using the evaluation value calculation method shown in FIG. FIG. In this example, the entire teaching data section is set to 1 to End. Further, each algorithm is assumed to be at1 to at20. The evaluation value of each algorithm for each section corresponds to the value in each column of the table.

このとき、各々の教示データの区間ごとの評価値ベクトルVd1〜VdEは、それぞれで横に並ぶ評価値を要素にしたものである。これらの評価値ベクトルを用いてベクトル間の距離を算出し教示データ区間の選出を行えばよい。   At this time, the evaluation value vectors Vd1 to VdE for each section of the teaching data are obtained by using the evaluation values arranged side by side as elements. Using these evaluation value vectors, the distance between the vectors may be calculated to select the teaching data section.

(iii)評価対象となるトラッキング処理のアルゴリズムの例
図22は、前処理フィルタの組合せにより生成された、複数のトラッキング処理のアルゴリズムの例を示す図である。
(Iii) Example of tracking processing algorithm to be evaluated FIG. 22 is a diagram illustrating an example of a plurality of tracking processing algorithms generated by a combination of preprocessing filters.

図22に示されるように、基本的なトラッキングの処理2202の前段に前処理として各種のフィルタ処理2201を組合せる。これらのフィルタの組合せや各フィルタのパラメータのバリエーションを複数のアルゴリズムat1〜at20として用いる。あるいはトラッキングの処理2202について各種のパラメータのバリエーションを用いても良い。   As shown in FIG. 22, various filter processes 2201 are combined as a pre-process before the basic tracking process 2202. Combinations of these filters and variations of parameters of each filter are used as a plurality of algorithms at1 to at20. Alternatively, various parameter variations may be used for the tracking process 2202.

以上説明したように区間を設定し区間毎に妥当な評価値を算出させて教示データの区間の選出を行えば良い。そしてトラッキングのアルゴリズムについて本発明による最適化を行えば、長大な動画像での評価だけを繰り返すよりもアルゴリズム評価の総時間を減少させ、早期に最適化を完了させることができるようになる。   As described above, it is only necessary to select sections of teaching data by setting sections and calculating an appropriate evaluation value for each section. If the tracking algorithm is optimized according to the present invention, the total algorithm evaluation time can be reduced and the optimization can be completed at an early stage rather than repeating only the evaluation with a long moving image.

(D)音声認識への適用例
図23乃至25は、本発明を音声認識に適用した例を示す図である。本発明は、これまで説明した画像処理に限らず、多種多様なデータ処理に広く適用可能である。このように、本発明によれば、多種多様なデータ処理のアルゴリズムの評価コスト(最適化のためのコスト)を抑えられるようになる。
(D) Application Example to Speech Recognition FIGS. 23 to 25 are diagrams showing an example in which the present invention is applied to speech recognition. The present invention is not limited to the image processing described so far and can be widely applied to a wide variety of data processing. Thus, according to the present invention, the evaluation cost (cost for optimization) of various data processing algorithms can be suppressed.

(i)データ例、及び評価方法の例
図23は、評価対象のデータ及び評価方法の例を示す図である。図23において、フレーム2301は、雑音が取り巻く中で検査装置のオペレータが装置の停止指示(“Stop”)を音声で行う様子を示している。これまでの撮像部104に代わりステレオマイクロフォン2302が音声を電気信号に変換し、画像データに代わり音声データ2303を処理対象にする。
(I) Example of Data and Example of Evaluation Method FIG. 23 is a diagram illustrating an example of data to be evaluated and an evaluation method. In FIG. 23, a frame 2301 shows a state in which an operator of the inspection apparatus gives a stop instruction (“Stop”) of the apparatus by voice while noise is surrounding. The stereo microphone 2302 converts the sound into an electric signal instead of the imaging unit 104 so far, and sets the sound data 2303 as a processing target instead of the image data.

音声認識アルゴリズム2304は、音声データを言語の単語文字列に変換し結果データとして出力するもので、これまでの画像処理アルゴリズム実行部106に対応する。   The speech recognition algorithm 2304 converts speech data into a language word character string and outputs the result data, and corresponds to the image processing algorithm execution unit 106 so far.

評価値の算出方法の例として、100/(1+[正解との差])で算出する。[正解との差]とは、例えば正解データの文字列に対して音声認識の結果データの文字列が誤っている文字数である。図23の例の”Stop“の音声指示についての正解データは当然”Stop“であるが、結果データが”Stop“であれば誤りはなく正解との差は0、結果データが”Top“であれば1文字違いであるので正解との差は1、結果データが”Tap“であれば2とする。このようにすれば評価値は100を満点として結果の良し悪しを表わす。   As an example of the evaluation value calculation method, calculation is performed by 100 / (1+ [difference from correct answer]). The “difference from correct answer” is, for example, the number of characters in which the character string of the voice recognition result data is incorrect with respect to the character string of the correct data. The correct answer data for the voice instruction “Stop” in the example of FIG. 23 is naturally “Stop”, but if the result data is “Stop”, there is no error and the difference from the correct answer is 0, and the result data is “Top”. If there is one character difference, the difference from the correct answer is 1, and if the result data is “Tap”, it is 2. In this way, the evaluation value represents a good or bad result with 100 being the perfect score.

(ii)評価値ベクトルの例
図24は、図23で示す評価値算出方法を用いて、複数の音声認識のアルゴリズムを評価することにより得られた、多数の音声データについての評価値ベクトルの例を示す図である。図24において、全教示データを音声1〜音声93とし、個々のアルゴリズムをaa1〜aa40とする。そして、各音声データについての各アルゴリズムの評価値は表の各欄の値のように得られたとする。このとき各々の教示データの区間ごとの評価値ベクトルVd1〜Vd93はそれぞれで横に並ぶ評価値を要素にしたものである。これらの評価値ベクトルを用いてベクトル間の距離を算出し教示データの選出を行えばよい。
(Ii) Examples of Evaluation Value Vectors FIG. 24 is an example of evaluation value vectors for a large number of speech data obtained by evaluating a plurality of speech recognition algorithms using the evaluation value calculation method shown in FIG. FIG. In FIG. 24, all the teaching data are speech 1 to speech 93, and the individual algorithms are aa1 to aa40. Then, it is assumed that the evaluation value of each algorithm for each audio data is obtained as the value in each column of the table. At this time, the evaluation value vectors Vd1 to Vd93 for each section of the teaching data are obtained by using evaluation values arranged horizontally. Using these evaluation value vectors, the distance between the vectors may be calculated to select the teaching data.

(iii)評価対象となる音声認識のアルゴリズムの例
図25は、複数種類のフィルタを組み合せることにより生成された、複数の音声認識のアルゴリズムの例を示す図である。
(Iii) Example of speech recognition algorithm to be evaluated FIG. 25 is a diagram illustrating an example of a plurality of speech recognition algorithms generated by combining a plurality of types of filters.

図25に示されるように、基本的な音声認識の処理2505の前段に前処理として各種のフィルタ処理(2502〜2504)の組み合せが設けられている。音声データ2501に関するフィルタは、例えばハイパスフィルタ(HPF)やローパスフィルタ(LPF)、あるいはステレオ情報に基づく方向性フィルタである。これらのフィルタの組合せや各フィルタのパラメータのバリエーションを複数のアルゴリズムaa1〜aa40として用いる。あるいは音声認識の処理2505について各種のパラメータのバリエーションを用いても良い。   As shown in FIG. 25, a combination of various filter processes (2502 to 2504) is provided as a pre-process before the basic speech recognition process 2505. The filter related to the audio data 2501 is, for example, a high-pass filter (HPF), a low-pass filter (LPF), or a directional filter based on stereo information. Combinations of these filters and variations of parameters of each filter are used as a plurality of algorithms aa1 to aa40. Alternatively, various parameter variations may be used for the speech recognition processing 2505.

以上説明したように妥当な評価値を算出させて教示データの選出を行えば良い。そして本発明による最適化を行えば、多数の全音声データでの評価だけを繰り返すよりもアルゴリズム評価の総時間を減少させ、早期に最適化を完了させることができるようになる。   As described above, the teaching data may be selected by calculating an appropriate evaluation value. When the optimization according to the present invention is performed, the total algorithm evaluation time can be reduced and the optimization can be completed at an early stage, rather than repeating the evaluation only with a large number of all voice data.

(2)第2の実施形態
図26は、本発明の第2の実施形態によるアルゴリズムの最適化処理を説明するためのフローチャートである。当該最適化処理は、図3に示す処理の一部を変更したもので、「教示データ一様選出」(S2601)の処理と判定の「初回か?」(S2602)の箇所が図3とは異なっている。
(2) Second Embodiment FIG. 26 is a flowchart for explaining algorithm optimization processing according to the second embodiment of the present invention. The optimization process is a modification of part of the process shown in FIG. 3, and the part of “Teaching data uniform selection” (S2601) and the determination “First time?” (S2602) are different from FIG. Is different.

(i)ステップ2601
自動最適化プログラム2014は、最初のアルゴリズム群生成(S301)を行った後、教示データ一様選出を実施する(S2601)。教示データ一様選出とは、全教示データからあらかじめ定めた方法で全教示データよりも数の少ない教示データを重複なくランダムに選出する処理である。なお、あらかじめ定めた方法とは、例えばユーザが固定数を与えても良いし、全教示データのうちの所定の割合(例:2割)をランダムに選択するようにすれば良い。
(I) Step 2601
After performing the first algorithm group generation (S301), the automatic optimization program 2014 performs uniform selection of teaching data (S2601). The uniform selection of teaching data is a process of randomly selecting teaching data having a smaller number than all teaching data from all teaching data by a predetermined method without duplication. The predetermined method may be, for example, that the user gives a fixed number, or a predetermined ratio (for example, 20%) of all the teaching data may be selected at random.

次に、自動最適化プログラム2014は、評価プログラム2013を用いて、一様に選出された教示データ評価(S308)を行い、以後は選出された教示データでの最適化の繰り返しループ(S308→S309→S310→S311→S308・・・)を行う。   Next, the automatic optimization program 2014 uses the evaluation program 2013 to perform uniformly selected teaching data evaluation (S308), and thereafter the optimization loop with the selected teaching data (S308 → S309). → S310 → S311 → S308...

(ii)ステップ2602
自動最適化プログラム2014は、選出された教示データを用いた最適化を終了したら、ステップ2602の判定が「初回か」否か判定する。言い換えれば、全教時示データの評価(S303)を既に1回でも行っているか否か判定される。ステップ2602で「初回」であると判定された場合(ステップ2602でYesの場合)、処理はステップ303に移行し、新アルゴリズム群形成処理(S302)は行われずに、全教示データ評価(S303)が実行される。一方、ステップ2602で「初回」でないと判定された場合(ステップ2602でNoの場合)、処理はステップ302に移行し、新アルゴリズム群形成処理を実行してから、処理はステップ303に移行する。以降は、図3と同一の処理になる。
(Ii) Step 2602
When the optimization using the selected teaching data is completed, the automatic optimization program 2014 determines whether or not the determination in step 2602 is “first time”. In other words, it is determined whether or not the evaluation of all teaching data (S303) has already been performed once. If it is determined in step 2602 that it is “first time” (Yes in step 2602), the process proceeds to step 303, and the new algorithm group formation process (S302) is not performed, and all teaching data evaluation (S303). Is executed. On the other hand, if it is determined in step 2602 that it is not “first time” (No in step 2602), the process proceeds to step 302, and after executing the new algorithm group formation process, the process proceeds to step 303. The subsequent processing is the same as in FIG.

図3では初期のアルゴリズム群生成処理(S301)の後では全教示データ評価処理(S303)を行うので、最初の教示データ選出処理(S307)では代表として信頼度の高い教示データが選ばれるのに対し、図26ではステップ2601で一様に選出された教示データを用いるため、必ずしも代表的な教示データが選ばれるとは言えない。しかしながら、全教示データ評価の回数を最初の1回分だけ少なくすることができるので、教示データの全数が非常に多いときには早期にアルゴリズムの最適化を完了することができる。   In FIG. 3, since all teaching data evaluation processing (S303) is performed after the initial algorithm group generation processing (S301), highly reliable teaching data is selected as a representative in the first teaching data selection processing (S307). On the other hand, in FIG. 26, since the teaching data uniformly selected in step 2601 is used, it cannot be said that representative teaching data is necessarily selected. However, since the total number of teaching data evaluations can be reduced by the first time, the optimization of the algorithm can be completed at an early stage when the total number of teaching data is very large.

(3)第3の実施形態
図27は、本発明の第3の実施形態によるアルゴリズムの最適化処理を説明するためのフローチャートである。評価値ベクトルの要素として最上位アルゴリズムの評価値だけを使って教示データの選出を行う方法である。当該最適化処理も、図3の処理の一部を変更したもので、ステップ302がステップ2701に、ステップ307がステップ2703に置き換えられている。また、ステップ2702が新たに追加されている。
(3) Third Embodiment FIG. 27 is a flowchart for explaining algorithm optimization processing according to the third embodiment of the present invention. This is a method of selecting teaching data using only the evaluation value of the highest-order algorithm as an element of the evaluation value vector. The optimization process is also a part of the process of FIG. 3, and step 302 is replaced with step 2701 and step 307 is replaced with step 2703. Also, step 2702 is newly added.

図3では全教示データの評価結果で教示データ選出処理(S307)を行っているが、ステップ2703では、最上位アルゴリズムの評価結果が悪い教示データ選出する処理を行う。この処理は、最上位アルゴリズムの評価値だけを使って教示データ選出を行う方法に相当するものである。   In FIG. 3, teaching data selection processing (S307) is performed based on the evaluation results of all teaching data, but in step 2703, processing for selecting teaching data having a poor evaluation result of the highest algorithm is performed. This process corresponds to a method of selecting teaching data using only the evaluation value of the highest algorithm.

具体的には、自動最適化プログラム2014は、ステップ304で得られる評価結果のうち、評価値が最も悪い教示データから距離が近い教示データ(所定の距離内にある教示データ)とそれら以外の教示データを分類し、評価値が悪い方のグループの教示データを選出する。図3のフローチャートでは全教示データからまんべんなく代表的な教示データを選出していたのに対して、第3の実施形態では一部の特異な教示データのみを選出しているため、以下のように、他に2カ所の変更を行うことで最適化が進むようにする。   Specifically, the automatic optimization program 2014 includes teaching data (teaching data within a predetermined distance) that is close to teaching data having the worst evaluation value among the evaluation results obtained in step 304 and teachings other than those. The data is classified and the teaching data of the group with the lower evaluation value is selected. In the flowchart of FIG. 3, representative teaching data is selected from all teaching data, whereas in the third embodiment, only a part of specific teaching data is selected. In addition, the optimization is advanced by making two other changes.

1ヶ所目は、選出された教示データを用いて最適化したアルゴリズムを加えて、新アルゴリズム群を形成する処理(S302)である。図3では選出された教示データを用いて最適化したアルゴリズム群に全教示データの評価結果のうち最上位のアルゴリズムを加えていたが、図27では逆であり、全教示データ評価結果で上位から多数のアルゴリズム群と選出された教示データを用いて最適化したアルゴリズム群から上位の一部のアルゴリズムを合わせて新アルゴリズム群を形成する(S2701)。評価結果が悪い教示データだけで最適化を行うと全教示データの全般に対して最適化が進むわけではないからである。   The first place is processing (S302) in which a new algorithm group is formed by adding an algorithm optimized using the selected teaching data. In FIG. 3, the highest algorithm among the evaluation results of all teaching data is added to the algorithm group optimized using the selected teaching data. However, in FIG. A new algorithm group is formed by combining a large number of algorithms and a part of the higher-order algorithm from the algorithm group optimized using the selected teaching data (S2701). This is because if optimization is performed only with teaching data having a poor evaluation result, optimization does not proceed for all teaching data.

2か所目は、アルゴリズム群変更処理(S2702)をさらに追加している点である。ステップ2702では、全教示データの評価結果に基づきアルゴリズム群を変更している。この処理により、評価結果が悪い選出された教示データを用いて最適化されたアルゴリズムと全教示データで比較的評価結果の良いアルゴリズムの融合が行われる。   The second point is that an algorithm group change process (S2702) is further added. In step 2702, the algorithm group is changed based on the evaluation result of all teaching data. By this processing, the algorithm optimized using the selected teaching data having a poor evaluation result and the algorithm having a comparatively good evaluation result are performed on all teaching data.

以上の図27のフローチャートの処理では図3の処理に比べると最適化が早期には完了しにくい場合もある。しかし、教示データの選出は単純であり、全教示データでの評価だけを繰り返す場合よりはアルゴリズム評価の総数を減少させ、早期に最適化を完了させることができる。   In the process of the flowchart of FIG. 27 described above, optimization may be difficult to complete early compared to the process of FIG. However, selection of teaching data is simple, and the total number of algorithm evaluations can be reduced and optimization can be completed earlier than when only evaluation with all teaching data is repeated.

(4)まとめ
(i)本発明では、複数個の教示データの全てに対して、用意された複数のデータ処理アルゴリズムが実行され、複数のデータ処理アルゴリズムに対応して複数個の教示データの全てが評価される(図3、26、及び27のS303)。これにより、複数のデータ処理アルゴリズムに対応する複数個の教示データの全ての評価結果が得られる。この評価結果に基づいて、複数のアルゴリズムが順位づけられ、全教示データに対して最上位のアルゴリズムが特定される(同図のS304)。最上位のアルゴリズムにおいて所望の結果が得られなければ、教示データ選出処理が行われる(同図のS307やS2703)。教示データ選出処理では、全教時データの評価結果を用いて、複数の教示データを複数の確定グループに分類し、各確定グループから1つの教示データを選択して、選出された教示データが生成される。そして、再度、用意された複数のデータ処理アルゴリズムが、選出された教示データの評価結果(全教時データの評価結果に含まれる)に基づいて順位づけされ、所望の結果が得られるか判定される(同図のS309及びS310)。次に、この順位付け処理において評価結果が最上位と判定されたデータ処理アルゴリズムを含む新たなデータ処理アルゴリズム群が生成される(同図のS311)。S309で最上位となったアルゴリズム以外は、例えば乱数を用いて設定パラメータを決定しても良い。続いて、S309で最上位となったアルゴリズムとS304で最上位となったアルゴリズムを含む新たなデータ処理アルゴリズム群(改善された複数のデータ処理アルゴリズム)のそれぞれを複数個の教示データの全てに対して実行し(同図のS302→S303)、当該改善されたデータ処理アルゴリズム群が評価される(同図のS304)。そして、この評価結果に基づいて、最適なデータ処理アルゴリズムが決定される。このようにすることにより、ユーザがこれから用いようとするデータ処理アルゴリズムについての知識がなく、或いは熟練していなくても、データ処理アルゴリズムの最適化を自動的に、かつ高速に行うことができるようになる。
(4) Summary (i) In the present invention, a plurality of prepared data processing algorithms are executed for all of the plurality of teaching data, and all of the plurality of teaching data corresponding to the plurality of data processing algorithms are executed. Is evaluated (S303 in FIGS. 3, 26 and 27). Thereby, all the evaluation results of the plurality of teaching data corresponding to the plurality of data processing algorithms are obtained. Based on the evaluation result, a plurality of algorithms are ranked, and the highest-order algorithm is specified for all teaching data (S304 in the figure). If a desired result is not obtained in the highest-order algorithm, teaching data selection processing is performed (S307 and S2703 in the figure). In the teaching data selection process, a plurality of teaching data is classified into a plurality of confirmed groups using the evaluation result of all teaching data, and one teaching data is selected from each confirmed group, and selected teaching data is generated. The Then, the prepared plurality of data processing algorithms are ranked again based on the evaluation result of the selected teaching data (included in the evaluation result of all teaching data), and it is determined whether a desired result is obtained. (S309 and S310 in the figure). Next, a new data processing algorithm group including the data processing algorithm for which the evaluation result is determined to be the highest in this ranking processing is generated (S311 in the figure). Other than the algorithm at the top in S309, for example, the setting parameter may be determined using a random number. Subsequently, a new data processing algorithm group (a plurality of improved data processing algorithms) including the highest-order algorithm in S309 and the highest-order algorithm in S304 is applied to all of the plurality of teaching data. (S302 → S303 in the figure), and the improved data processing algorithm group is evaluated (S304 in the figure). Based on this evaluation result, an optimum data processing algorithm is determined. By doing so, the data processing algorithm can be optimized automatically and at high speed even if the user has no knowledge or knowledge about the data processing algorithm to be used. become.

また、教示データ選出処理(S307)の詳細は次のような内容である。つまり、評価値ベクトル(図8A参照)間の距離が最小となる2つの教示データ同士を1つのグループに属するものとして分類し、複数の仮グループが生成される(図9におけるVd(1,2)、Vd(5,6)等参照)。そして、複数の仮グループに属する教示データの評価値ベクトルを用いて複数の仮グループの代表評価値ベクトルが生成される。代表評価値ベクトルは、例えば、仮グループに属する教示データの評価値ベクトルを平均することにより得られる。次に、複数の仮グループの代表評価値ベクトル同士、或いは複数の仮グループのそれぞれの代表評価値ベクトルと複数の仮グループに属さない教示データの評価値ベクトルのうちベクトル間距離が最小となる仮グループ或いは教示データを1つのグループに属するものとして更なる仮グループが生成される(図9のVd(1,2,3)、Vd(1,2,3,5,6)参照)。全ての教示データが1つのグループに収まるまで更なる仮グループを生成する処理が繰り返される(図9のVd(all)参照)。そして、仮グループ或いは更なる仮グループに含まれる教示データの評価値の平均値と仮グループ或いは更なる仮グループに含まれる教示データの数との乗算値の差(段差値)が最大となる仮グループ或いは更なる仮グループが特定される(図8B参照)。さらに、特定された仮グループ或いは更なる仮グループを生成する処理を実行する前までに生成された仮グループ及び更なる仮グループを複数の確定グループとされる。最後に、複数の確定グループから1つの教示データを選択して、選出された教示データが生成される。このように段差値という概念を導入して処理すべき教示データを選出するので、教示データ全体で、平均評価値を上げるために最も改善すべきグループを特定することができるようになり、効率よくデータ処理アルゴリズムの最適化を実行することが可能となる。   The details of the teaching data selection process (S307) are as follows. That is, two teaching data with the smallest distance between evaluation value vectors (see FIG. 8A) are classified as belonging to one group, and a plurality of temporary groups are generated (Vd (1, 2 in FIG. 9). ), Vd (5,6) etc.). Then, representative evaluation value vectors of the plurality of temporary groups are generated using the evaluation value vectors of the teaching data belonging to the plurality of temporary groups. The representative evaluation value vector is obtained, for example, by averaging the evaluation value vectors of the teaching data belonging to the temporary group. Next, among the representative evaluation value vectors of a plurality of temporary groups, or the representative evaluation value vectors of each of the plurality of temporary groups and the evaluation value vectors of teaching data not belonging to the plurality of temporary groups, the temporary distance between the vectors is minimized. Further temporary groups are generated with the group or the teaching data belonging to one group (see Vd (1,2,3), Vd (1,2,3,5,6) in FIG. 9). The process of generating a further temporary group is repeated until all the teaching data are within one group (see Vd (all) in FIG. 9). Then, the provisional difference in which the difference (step value) between the average value of the evaluation values of the teaching data included in the temporary group or the further temporary group and the number of teaching data included in the temporary group or the further temporary group is maximized. A group or further temporary group is identified (see FIG. 8B). Further, the provisional group and the further provisional group that are generated before the process of creating the specified provisional group or the further provisional group are set as a plurality of confirmed groups. Finally, one teaching data is selected from a plurality of confirmed groups, and the selected teaching data is generated. In this way, since the concept of the step value is introduced and the teaching data to be processed is selected, it becomes possible to identify the group that should be improved most in order to increase the average evaluation value in the entire teaching data, and efficiently. Data processing algorithm optimization can be performed.

(ii)本発明の第2の実施形態として、全教示データに対する評価を行う(図26のS303)前に、複数個の教示データの少なくも一部が一様に選出される(図26のS2601)ようにしても良い。そして、一様選出した教示データに対して用意された複数のデータ処理アルゴリズムが実行され、複数のデータ処理アルゴリズムに対応して一様選出した教示データが評価(事前評価)される(図26のS308→S309→S310)。そして、この事前評価の結果に基づいて、全ての教示データの評価が行われる(図26のS303)。このようにすることにより、処理対象となる入力データ(画像データ)にばらつきが少なく、最初に全ての教示データ(入力データと正解データの組み合わせ)を評価しなくてもよいような場合に、さらに効率よくデータ処理アルゴリズムの最適化を実行することが可能となる。 (Ii) As a second embodiment of the present invention, at least a part of a plurality of teaching data is uniformly selected (S303 in FIG. 26) before all teaching data is evaluated (S303 in FIG. 26). S2601). Then, a plurality of data processing algorithms prepared for the uniformly selected teaching data are executed, and the teaching data uniformly selected corresponding to the plurality of data processing algorithms are evaluated (prior evaluation) (FIG. 26). S308 → S309 → S310). Based on the result of this prior evaluation, all teaching data are evaluated (S303 in FIG. 26). In this way, when the input data (image data) to be processed has little variation and it is not necessary to first evaluate all the teaching data (combination of input data and correct answer data), It becomes possible to efficiently optimize the data processing algorithm.

(iii)本発明の第3の実施形態として、教示データ選出処理(S307)の詳細として、複数のデータ処理アルゴリズムに対応する複数個の教示データの全ての評価結果のうち最も評価値が悪い教示データから所定の距離内にある教示データと、当該所定の距離外にある教示データとに分類して確定グループを生成し、所定の距離内にある教示データを選出された教示データとする(図27のS2703)ようにしても良い。このようにすることにより、評価すべき教示データの総数を減少させることができるので、データ処理アルゴリズムの最適化を迅速に実行することができるようになる。 (Iii) As the third embodiment of the present invention, as the details of the teaching data selection process (S307), the teaching having the worst evaluation value among all the evaluation results of the plurality of teaching data corresponding to the plurality of data processing algorithms Classification data is classified into teaching data within a predetermined distance from the data and teaching data outside the predetermined distance to generate a confirmed group, and the teaching data within the predetermined distance is selected as teaching data (FIG. 27 S2703). By doing so, the total number of teaching data to be evaluated can be reduced, so that the optimization of the data processing algorithm can be executed quickly.

(iv)本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 (Iv) The present invention can also be realized by software program codes that implement the functions of the embodiments. In this case, a storage medium in which the program code is recorded is provided to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the program code constitute the present invention. As a storage medium for supplying such program code, for example, a flexible disk, CD-ROM, DVD-ROM, hard disk, optical disk, magneto-optical disk, CD-R, magnetic tape, nonvolatile memory card, ROM Etc. are used.

また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。   Also, based on the instruction of the program code, an OS (operating system) running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing. May be. Further, after the program code read from the storage medium is written in the memory on the computer, the computer CPU or the like performs part or all of the actual processing based on the instruction of the program code. Thus, the functions of the above-described embodiments may be realized.

さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。   Further, by distributing the program code of the software that realizes the functions of the embodiment via a network, it is stored in a storage means such as a hard disk or memory of a system or apparatus, or a storage medium such as a CD-RW or CD-R And the computer (or CPU or MPU) of the system or apparatus may read and execute the program code stored in the storage means or the storage medium when used.

最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。   Finally, it should be understood that the processes and techniques described herein are not inherently related to any particular apparatus, and can be implemented by any suitable combination of components. In addition, various types of devices for general purpose can be used in accordance with the teachings described herein. It may prove useful to build a dedicated device to perform the method steps described herein. Various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined. Although the present invention has been described with reference to specific examples, these are in all respects illustrative rather than restrictive. Those skilled in the art will appreciate that there are numerous combinations of hardware, software, and firmware that are suitable for implementing the present invention. For example, the described software can be implemented in a wide range of programs or script languages such as assembler, C / C ++, perl, shell, PHP, Java (registered trademark).

さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。   Furthermore, in the above-described embodiment, control lines and information lines are those that are considered necessary for explanation, and not all control lines and information lines on the product are necessarily shown. All the components may be connected to each other.

加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。   In addition, other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and embodiments of the invention disclosed herein. The specification and specific examples are merely exemplary, and the scope and spirit of the invention are indicated in the following claims.

100・・・画像処理システム
101・・・正解設定部
102・・・正解データ格納部
103・・・評価部
104・・・撮像部
105・・・画像データ格納部
106・・・画像処理アルゴリズム実行部
107・・・結果データ格納部
108・・・自動最適化部
109・・・アルゴリズム設定データ格納部
110・・・評価値格納部
111・・・選択機能部
201・・・プロセッサ
202・・・メモリ/HDD
203・・・入力デバイス
204・・・出力デバイス
205・・・撮像装置
DESCRIPTION OF SYMBOLS 100 ... Image processing system 101 ... Correct answer setting part 102 ... Correct answer data storage part 103 ... Evaluation part 104 ... Imaging part 105 ... Image data storage part 106 ... Image processing algorithm execution Unit 107 ... result data storage unit 108 ... automatic optimization unit 109 ... algorithm setting data storage unit 110 ... evaluation value storage unit 111 ... selection function unit 201 ... processor 202 ... Memory / HDD
203... Input device 204... Output device 205.

Claims (18)

入力されるデータを処理するためのデータ処理アルゴリズムを決定するデータ処理装置であって、
複数個の教示データを格納するメモリと、
前記複数個の教示データに対するそれぞれの評価結果が所定の値の範囲内に収まるようにデータ処理アルゴリズムを最適化処理するプロセッサと、を有し、
前記プロセッサは、
前記複数個の教示データの全てに対して、用意された複数のデータ処理アルゴリズムを実行し、前記複数のデータ処理アルゴリズムに対応して前記複数個の教示データの全てを評価し、当該評価結果に基づいて全教示データ評価に対して最上位のデータ処理アルゴリズムを特定する第1の評価処理と、
前記複数のデータ処理アルゴリズムに対応する前記複数個の教示データの全ての評価結果に基づいて、前記複数の教示データを複数の確定グループに分類し、各確定グループから少なくとも1つの教示データを選出する教示データ選出処理と、
前記選出された教示データに対してデータ処理を実行した前記複数のデータ処理アルゴリズムを順位付けする順位付け処理と、
前記順位付け処理において評価結果が最上位と判定されたデータ処理アルゴリズムを含めて改善された複数のデータ処理アルゴリズムを生成し、当該改善された複数のデータ処理アルゴリズムを前記複数個の教示データの全てに対して実行し、前記改善された複数のデータ処理アルゴリズムを評価する第2の評価処理と、
前記第2の評価処理の結果に基づいて、最適なデータ処理アルゴリズムを決定するアルゴリズム決定処理と、
を実行することを特徴とするデータ処理装置。
A data processing apparatus for determining a data processing algorithm for processing input data,
A memory for storing a plurality of teaching data;
A processor for optimizing a data processing algorithm so that each evaluation result for the plurality of teaching data falls within a predetermined value range,
The processor is
A plurality of prepared data processing algorithms are executed for all of the plurality of teaching data, all of the plurality of teaching data are evaluated corresponding to the plurality of data processing algorithms, and the evaluation result is obtained. A first evaluation process that identifies a top-level data processing algorithm for all teaching data evaluations based on:
Based on all evaluation results of the plurality of teaching data corresponding to the plurality of data processing algorithms, the plurality of teaching data are classified into a plurality of confirmed groups, and at least one teaching data is selected from each confirmed group. Teaching data selection processing,
A ranking process that ranks the plurality of data processing algorithms that performed data processing on the selected teaching data;
A plurality of improved data processing algorithms including a data processing algorithm whose evaluation result is determined to be the highest in the ranking processing is generated, and the improved plurality of data processing algorithms are all included in the plurality of teaching data. And a second evaluation process for evaluating the improved plurality of data processing algorithms;
An algorithm determination process for determining an optimal data processing algorithm based on the result of the second evaluation process;
A data processing apparatus characterized by executing
請求項1において、
前記教示データには画像データが含まれ、前記データ処理アルゴリズムは画像処理アルゴリズムであることを特徴とするデータ処理装置。
In claim 1,
The teaching data includes image data, and the data processing algorithm is an image processing algorithm.
請求項2において、
前記プロセッサは、前記教示データ選出処理において、前記複数のデータ処理アルゴリズムのそれぞれに対応する各教示データの評価結果を評価値ベクトルとし、当該評価値ベクトル間の距離に基づいて前記教示データを分類することを特徴とするデータ処理装置。
In claim 2,
In the teaching data selection process, the processor uses an evaluation result of each teaching data corresponding to each of the plurality of data processing algorithms as an evaluation value vector, and classifies the teaching data based on a distance between the evaluation value vectors. A data processing apparatus.
請求項3において、
前記プロセッサは、前記教示データ選出処理において、
前記評価値ベクトル間の距離が最小となる2つの教示データ同士を1つのグループに属するものとして分類し、複数の仮グループを生成する処理と、
当該複数の仮グループに属する教示データの評価値ベクトルを用いて当該複数の仮グループの代表評価値ベクトルを生成する処理と、
前記複数の仮グループの代表評価値ベクトル同士、或いは前記複数の仮グループのそれぞれの代表評価値ベクトルと前記複数の仮グループに属さない教示データの評価値ベクトルのうちベクトル間距離が最小となる仮グループ或いは教示データを1つのグループに属するものとして更なる仮グループを生成する処理と、
全ての教示データが1つのグループに収まるまで前記更なる仮グループを生成する処理を繰り返す処理と、
前記仮グループ或いは前記更なる仮グループに含まれる教示データの評価値の平均値と前記仮グループ或いは前記更なる仮グループに含まれる教示データの数との乗算値の差が最大となる仮グループ或いは更なる仮グループを特定する処理と、
前記特定された仮グループ或いは更なる仮グループを生成する処理を実行する前までに生成された前記仮グループ及び前記更なる仮グループを前記複数の確定グループとする処理と、
前記複数の確定グループから少なくとも1つの教示データを選出する処理と、
を実行するデータ処理装置。
In claim 3,
The processor, in the teaching data selection process,
A process of classifying two teaching data having the smallest distance between the evaluation value vectors as belonging to one group, and generating a plurality of temporary groups;
A process of generating representative evaluation value vectors of the plurality of temporary groups using evaluation value vectors of teaching data belonging to the plurality of temporary groups;
The temporary evaluation between the representative evaluation value vectors of the plurality of temporary groups, or the representative evaluation value vector of each of the plurality of temporary groups and the evaluation value vector of teaching data that does not belong to the plurality of temporary groups has the smallest inter-vector distance. A process of generating a further temporary group with the group or teaching data belonging to one group;
A process of repeating the process of generating the further temporary group until all the teaching data fit in one group;
A temporary group in which a difference between multiplication values of an average value of teaching data included in the temporary group or the further temporary group and the number of teaching data included in the temporary group or the further temporary group is maximized, or The process of identifying additional temporary groups;
Processing the temporary group and the further temporary group generated before executing the process of generating the specified temporary group or further temporary group as the plurality of confirmed groups;
A process of selecting at least one teaching data from the plurality of confirmed groups;
A data processing device for executing.
請求項1において、
前記プロセッサは、複数個の教示データの少なくも一部を一様に選出し、当該一様選出した教示データに対して前記用意された複数のデータ処理アルゴリズムを実行し、前記複数のデータ処理アルゴリズムを前記一様に選出された教示データによって評価する事前評価処理を実行し、当該事前評価処理において評価結果が最上位と判定されたデータ処理アルゴリズムを含めた複数のデータ処理アルゴリズムで前記第1の評価処理を実行することを特徴とするデータ処理装置。
In claim 1,
The processor uniformly selects at least a part of a plurality of teaching data, executes the prepared plurality of data processing algorithms on the uniformly selected teaching data, and the plurality of data processing algorithms Is evaluated by the uniformly selected teaching data, and the first evaluation is performed by a plurality of data processing algorithms including a data processing algorithm in which the evaluation result is determined to be the highest in the prior evaluation processing. A data processing apparatus that executes an evaluation process.
請求項1において、
前記プロセッサは、
前記教示データ選出処理において、前記複数のデータ処理アルゴリズムに対応する前記複数個の教示データの全ての評価結果のうち最も評価値が悪い教示データから所定の距離内にある教示データと、当該所定の距離外にある教示データとに分類して前記確定グループを生成し、前記所定の距離内にある教示データを前記選出された教示データとすることを特徴とするデータ処理装置。
In claim 1,
The processor is
In the teaching data selection processing, teaching data within a predetermined distance from teaching data having the worst evaluation value among all evaluation results of the plurality of teaching data corresponding to the plurality of data processing algorithms, and the predetermined data A data processing apparatus, characterized in that the determined group is generated by classifying the data into teaching data outside the distance, and the teaching data within the predetermined distance is used as the selected teaching data.
請求項1において、
前記メモリは、複数個の対象データと、当該複数個の対象データのそれぞれにおける処理部分を示す複数個の正解データとの組み合わせで構成される複数個の教示データを格納し、
前記プロセッサは、前記複数個の対象データの処理結果と前記複数個の正解データに対するそれぞれの評価結果が所定の値の範囲内に収まるようにデータ処理アルゴリズムを最適化処理することを特徴とするデータ処理装置。
In claim 1,
The memory stores a plurality of teaching data composed of a combination of a plurality of target data and a plurality of correct data indicating a processing portion in each of the plurality of target data,
The processor optimizes a data processing algorithm so that a processing result of the plurality of target data and a respective evaluation result for the plurality of correct data are within a predetermined value range. Processing equipment.
請求項1において、
前記順位付け処理において、前記プロセッサは、前記複数のデータ処理アルゴリズムに対応する前記複数個の教示データの全ての評価結果に基づいて、前記選出された教示データに対してデータ処理を実行した前記複数のデータ処理アルゴリズムを順位付けし、
前記第2の評価処理において、前記プロセッサは、前記全教示データ評価に対して最上位のデータ処理アルゴリズムと前記順位付け処理において評価結果が最上位と判定されたデータ処理アルゴリズムを含めて改善された複数のデータ処理アルゴリズムを生成することを特徴とするデータ処理装置。
In claim 1,
In the ranking processing, the processor performs data processing on the selected teaching data based on all evaluation results of the plurality of teaching data corresponding to the plurality of data processing algorithms. Ranking the data processing algorithms,
In the second evaluation process, the processor has been improved by including a top-level data processing algorithm for all the teaching data evaluations and a data processing algorithm in which the evaluation result is determined to be the top in the ranking process. A data processing apparatus that generates a plurality of data processing algorithms.
請求項2に記載のデータ処理装置と、
前記教示データとしての画像データを取得し、前記データ処理装置に前記画像データを提供する電子顕微鏡装置と、を有し、
前記画像処理アルゴリズムは、テンプレートマッチングアルゴリズムであり、
前記データ処理装置は、前記決定されたテンプレートマッチングアルゴリズムを用いて、パターンマッチング処理を実行することを特徴とする測長システム。
A data processing device according to claim 2;
An electronic microscope device that acquires image data as the teaching data and provides the image data to the data processing device;
The image processing algorithm is a template matching algorithm,
The data processing apparatus executes a pattern matching process using the determined template matching algorithm.
請求項2に記載のデータ処理装置と、
前記教示データとしての画像データを取得し、前記データ処理装置に前記画像データを提供する電子顕微鏡装置と、を有し、
前記画像処理アルゴリズムは、欠陥検査処理アルゴリズムであり、
前記データ処理装置は、前記決定された欠陥検査処理アルゴリズムを用いて、製造物の欠陥分類処理を実行することを特徴とする欠陥検査システム。
A data processing device according to claim 2;
An electronic microscope device that acquires image data as the teaching data and provides the image data to the data processing device;
The image processing algorithm is a defect inspection processing algorithm,
The said data processing apparatus performs the defect classification | category process of a product using the determined said defect inspection process algorithm, The defect inspection system characterized by the above-mentioned.
請求項2に記載のデータ処理装置と、
前記教示データとしての画像データを取得し、前記データ処理装置に前記画像データを提供する撮像装置と、を有し、
前記画像処理アルゴリズムは、トラッキングアルゴリズムであり、
前記データ処理装置は、前記決定されたトラッキングアルゴリズムを用いて、トラッキング処理を実行することを特徴とする画像トラッキングシステム。
A data processing device according to claim 2;
An image pickup device that acquires image data as the teaching data and provides the image data to the data processing device;
The image processing algorithm is a tracking algorithm,
The image processing system, wherein the data processing device executes a tracking process using the determined tracking algorithm.
データ処理装置に入力される教示データを処理するためのデータ処理アルゴリズムを決定するデータ処理方法であって、
前記データ処理装置は、複数個の教示データを格納するメモリと、前記複数個の教示データに対するそれぞれの評価結果が所定の値の範囲内に収まるようにデータ処理アルゴリズムを最適化処理するプロセッサと、を有し、
前記データ処理方法は、
前記プロセッサが、前記複数個の教示データの全てに対して、用意された複数のデータ処理アルゴリズムを実行し、前記複数のデータ処理アルゴリズムに対応して前記複数個の教示データの全てを評価する第1の評価ステップと、
前記プロセッサが、前記複数のデータ処理アルゴリズムに対応する前記複数個の教示データの全ての評価結果に基づいて、前記複数の教示データを複数の確定グループに分類し、各確定グループから少なくとも1つの教示データを選出する教示データ選出ステップと、
前記プロセッサが、前記選出された教示データに対してデータ処理を実行した前記複数のデータ処理アルゴリズムを順位付けする順位付けステップと、
前記プロセッサが、前記順位付け処理において評価結果が最上位と判定されたデータ処理アルゴリズムを含めて複数のデータ処理アルゴリズムを生成し、当該複数のデータ処理アルゴリズムを前記複数個の教示データの全てに対して実行し、前記最上位と判定されたデータ処理アルゴリズムを含む複数のデータ処理アルゴリズムを評価する第2の評価ステップと、
前記プロセッサが、前記第2の評価ステップの評価結果に基づいて、最適なデータ処理アルゴリズムを決定するアルゴリズム決定ステップと、
を含むことを特徴とするデータ処理方法。
A data processing method for determining a data processing algorithm for processing teaching data input to a data processing device,
The data processing device includes a memory for storing a plurality of teaching data, a processor for optimizing a data processing algorithm so that each evaluation result for the plurality of teaching data is within a predetermined value range, Have
The data processing method includes:
The processor executes a plurality of prepared data processing algorithms for all of the plurality of teaching data, and evaluates all of the plurality of teaching data corresponding to the plurality of data processing algorithms. 1 evaluation step;
The processor classifies the plurality of teaching data into a plurality of confirmed groups based on all evaluation results of the plurality of teaching data corresponding to the plurality of data processing algorithms, and at least one teaching from each confirmed group Teaching data selection step for selecting data; and
A ranking step in which the processor ranks the plurality of data processing algorithms that have performed data processing on the selected teaching data;
The processor generates a plurality of data processing algorithms including a data processing algorithm in which the evaluation result is determined to be the highest in the ranking processing, and the plurality of data processing algorithms are applied to all of the plurality of teaching data. And executing a second evaluation step for evaluating a plurality of data processing algorithms including the data processing algorithm determined to be the highest level,
An algorithm determining step in which the processor determines an optimal data processing algorithm based on an evaluation result of the second evaluation step;
A data processing method comprising:
請求項12において、
前記教示データは画像データであり、前記複数のデータ処理アルゴリズムは画像処理アルゴリズムであり、
前記教示データ選出ステップにおいて、前記プロセッサは、前記複数の画像処理アルゴリズムのそれぞれに対応する各教示データの評価結果を評価値ベクトルとし、当該評価値ベクトル間の距離に基づいて前記教示データを分類することを特徴とするデータ処理方法。
In claim 12,
The teaching data is image data, and the plurality of data processing algorithms are image processing algorithms,
In the teaching data selection step, the processor classifies the teaching data on the basis of a distance between the evaluation value vectors by using an evaluation result of each teaching data corresponding to each of the plurality of image processing algorithms as an evaluation value vector. A data processing method.
請求項13において、
前記教示データ選出ステップは、
前記プロセッサが、前記評価値ベクトル間の距離が最小となる2つの教示データ同士を1つのグループに属するものとして分類し、複数の仮グループを生成するステップと、
前記プロセッサが、当該複数の仮グループに属する教示データの評価値ベクトルを用いて当該複数の仮グループの代表評価値ベクトルを生成するステップと、
前記プロセッサが、前記複数の仮グループの代表評価値ベクトル同士、或いは前記複数の仮グループのそれぞれの代表評価値ベクトルと前記複数の仮グループに属さない教示データの評価値ベクトルのうちベクトル間距離が最小となる仮グループ或いは教示データを1つのグループに属するものとして更なる仮グループを生成するステップと、
前記プロセッサが、全ての教示データが1つのグループに収まるまで前記更なる仮グループを生成する処理を繰り返すステップと、
前記プロセッサが、前記仮グループ或いは前記更なる仮グループに含まれる教示データの評価値の平均値と前記仮グループ或いは前記更なる仮グループに含まれる教示データの数との乗算値の差が最大となる仮グループ或いは更なる仮グループを特定するステップと、
前記プロセッサが、前記特定された仮グループ或いは更なる仮グループを生成する処理を実行する前までに生成された前記仮グループ及び前記更なる仮グループを前記複数の確定グループとするステップと、
前記プロセッサが、前記複数の確定グループから少なくとも1つの教示データを選出するステップと、
を含むことを特徴とするデータ処理方法。
In claim 13,
The teaching data selection step includes:
The processor classifying two pieces of teaching data having the smallest distance between the evaluation value vectors as belonging to one group, and generating a plurality of temporary groups;
The processor generates representative evaluation value vectors of the plurality of temporary groups using evaluation value vectors of teaching data belonging to the plurality of temporary groups;
The processor has a vector-to-vector distance among representative evaluation value vectors of the plurality of temporary groups, or among representative evaluation value vectors of the plurality of temporary groups and evaluation value vectors of teaching data not belonging to the plurality of temporary groups. Generating a temporary group or a temporary group that is the smallest temporary data or teaching data belonging to one group;
The processor repeating the process of generating the further temporary group until all the teaching data fit into one group;
The processor has a maximum difference in the multiplication value between the average value of the teaching data included in the temporary group or the further temporary group and the number of teaching data included in the temporary group or the further temporary group. Identifying a temporary group or a further temporary group,
The processor sets the temporary group and the further temporary group generated before executing the process of generating the specified temporary group or the further temporary group as the plurality of confirmed groups;
The processor selecting at least one teaching data from the plurality of confirmed groups;
A data processing method comprising:
請求項12において、さらに、
前記プロセッサが、複数個の教示データの少なくも一部を一様に選出し、当該一様選出した教示データに対して前記用意された複数のデータ処理アルゴリズムを実行し、前記複数のデータ処理アルゴリズムを前記一様に選出された教示データによって評価する事前評価処理を実行するステップを含み、
前記プロセッサは、前記事前評価処理において評価結果が最上位と判定されたデータ処理アルゴリズムを含めた複数のデータ処理アルゴリズムで前記第1の評価ステップを実行することを特徴とするデータ処理方法。
The claim 12, further comprising:
The processor uniformly selects at least a part of a plurality of teaching data, executes the plurality of prepared data processing algorithms on the uniformly selected teaching data, and the plurality of data processing algorithms Performing a pre-evaluation process that evaluates the uniformly selected teaching data,
The data processing method, wherein the processor executes the first evaluation step by a plurality of data processing algorithms including a data processing algorithm in which the evaluation result is determined to be the highest in the prior evaluation processing.
請求項12において、
前記教示データ選出ステップにおいて、前記プロセッサは、前記複数のデータ処理アルゴリズムに対応する前記複数個の教示データの全ての評価結果のうち最も評価値が悪い教示データから所定の距離内にある教示データと、当該所定の距離外にある教示データとに分類して前記確定グループを生成し、前記所定の距離内にある教示データを前記選出された教示データとすることを特徴とするデータ処理方法。
In claim 12,
In the teaching data selection step, the processor includes teaching data within a predetermined distance from teaching data having the worst evaluation value among all the evaluation results of the plurality of teaching data corresponding to the plurality of data processing algorithms. The data processing method is characterized in that the determined group is generated by classifying the data into teaching data outside the predetermined distance and the teaching data within the predetermined distance is used as the selected teaching data.
請求項12において、
前記メモリは、複数個の対象データと、当該複数個の対象データのそれぞれにおける処理部分を示す複数個の正解データとの組み合わせで構成される複数個の教示データを格納し、
前記プロセッサは、前記複数個の対象データの処理結果と前記複数個の正解データに対するそれぞれの評価結果が所定の値の範囲内に収まるようにデータ処理アルゴリズムを最適化処理することを特徴とするデータ処理方法。
In claim 12,
The memory stores a plurality of teaching data composed of a combination of a plurality of target data and a plurality of correct data indicating a processing portion in each of the plurality of target data,
The processor optimizes a data processing algorithm so that a processing result of the plurality of target data and a respective evaluation result for the plurality of correct data are within a predetermined value range. Processing method.
請求項12おいて、
前記順位付けステップにおいて、前記プロセッサは、前記複数のデータ処理アルゴリズムに対応する前記複数個の教示データの全ての評価結果に基づいて、前記選出された教示データに対してデータ処理を実行した前記複数のデータ処理アルゴリズムを順位付けし、
ることを特徴とするデータ処理方法。
In claim 12,
In the ranking step, the processor performs data processing on the selected teaching data based on all evaluation results of the plurality of teaching data corresponding to the plurality of data processing algorithms. Ranking the data processing algorithms,
And a data processing method.
JP2013209776A 2013-10-07 2013-10-07 Data processing apparatus, length measurement system, defect inspection system, image tracking system, and data processing method Active JP6177649B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013209776A JP6177649B2 (en) 2013-10-07 2013-10-07 Data processing apparatus, length measurement system, defect inspection system, image tracking system, and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013209776A JP6177649B2 (en) 2013-10-07 2013-10-07 Data processing apparatus, length measurement system, defect inspection system, image tracking system, and data processing method

Publications (2)

Publication Number Publication Date
JP2015075798A JP2015075798A (en) 2015-04-20
JP6177649B2 true JP6177649B2 (en) 2017-08-09

Family

ID=53000646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013209776A Active JP6177649B2 (en) 2013-10-07 2013-10-07 Data processing apparatus, length measurement system, defect inspection system, image tracking system, and data processing method

Country Status (1)

Country Link
JP (1) JP6177649B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6763569B2 (en) * 2016-09-20 2020-09-30 株式会社イシダ Optical inspection equipment and optical inspection system
CN106990119A (en) * 2017-04-27 2017-07-28 中科慧远视觉技术(洛阳)有限公司 The vision detection system and detection method of a kind of white glass surface defect of automatic detection
CN111611854B (en) * 2020-04-16 2023-09-01 杭州电子科技大学 Classroom condition evaluation method based on pattern recognition
US11151710B1 (en) * 2020-05-04 2021-10-19 Applied Materials Israel Ltd. Automatic selection of algorithmic modules for examination of a specimen

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200246A (en) * 2006-01-30 2007-08-09 Sharp Corp Method for evaluating image processing algorithm, method, device, and program for generating same algorithm, and recording medium
JP4760614B2 (en) * 2006-08-29 2011-08-31 パナソニック電工株式会社 Method for selecting learning data of signal identification device

Also Published As

Publication number Publication date
JP2015075798A (en) 2015-04-20

Similar Documents

Publication Publication Date Title
JP6922945B2 (en) Information processing method
KR102114357B1 (en) Method and device for constructing a table including information on a pooling type and testing method and testing device using the same
JP6798619B2 (en) Information processing equipment, information processing programs and information processing methods
JP6973625B2 (en) Learning equipment, learning methods and learning programs
JP2019109563A (en) Data generation device, data generation method, and data generation program
WO2019176993A1 (en) Inspection system, image recognition system, recognition system, discriminator generation system, and learning data generation device
JP6646234B2 (en) Program generation device, program generation method, and generation program
US20210110215A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
JP6177649B2 (en) Data processing apparatus, length measurement system, defect inspection system, image tracking system, and data processing method
JP2006190191A (en) Information processing device and method, and program
JPWO2014104151A1 (en) Image processing apparatus and feature detection method
WO2015001967A1 (en) Device and method for creating image-processing filter
CN113570007B (en) Method, device and equipment for optimizing construction of part defect identification model and storage medium
WO2019176989A1 (en) Inspection system, discrimination system, and learning data generator
KR102154425B1 (en) Method And Apparatus For Generating Similar Data For Artificial Intelligence Learning
JP2007200246A (en) Method for evaluating image processing algorithm, method, device, and program for generating same algorithm, and recording medium
KR102172727B1 (en) Apparatus And Method For Equipment Fault Detection
CN108876759B (en) Image detection method, device, system and storage medium
CN116522565B (en) BIM-based power engineering design power distribution network planning method and computer equipment
JP2019158684A (en) Inspection system, identification system, and discriminator evaluation device
JP2021162892A (en) Evaluation device, evaluation method and storage medium
JP7206892B2 (en) Image inspection device, learning method for image inspection, and image inspection program
CN113343918A (en) Power equipment identification method, system, medium and electronic equipment
JP5326881B2 (en) Image processing apparatus, image processing method, and image processing program
Yoshimura et al. Automatic construction of image inspection algorithm by using image processing network programming

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170608

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: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170712

R150 Certificate of patent or registration of utility model

Ref document number: 6177649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350