IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セイコーエプソン株式会社の特許一覧

特開2024-81316生成方法、生成装置、および、プログラム
<>
  • 特開-生成方法、生成装置、および、プログラム 図1
  • 特開-生成方法、生成装置、および、プログラム 図2
  • 特開-生成方法、生成装置、および、プログラム 図3
  • 特開-生成方法、生成装置、および、プログラム 図4
  • 特開-生成方法、生成装置、および、プログラム 図5
  • 特開-生成方法、生成装置、および、プログラム 図6
  • 特開-生成方法、生成装置、および、プログラム 図7
  • 特開-生成方法、生成装置、および、プログラム 図8
  • 特開-生成方法、生成装置、および、プログラム 図9
  • 特開-生成方法、生成装置、および、プログラム 図10
  • 特開-生成方法、生成装置、および、プログラム 図11
  • 特開-生成方法、生成装置、および、プログラム 図12
  • 特開-生成方法、生成装置、および、プログラム 図13
  • 特開-生成方法、生成装置、および、プログラム 図14
  • 特開-生成方法、生成装置、および、プログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024081316
(43)【公開日】2024-06-18
(54)【発明の名称】生成方法、生成装置、および、プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240611BHJP
   G06N 3/12 20230101ALI20240611BHJP
【FI】
G06T7/00 350D
G06N3/12
G06T7/00 610
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022194841
(22)【出願日】2022-12-06
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】金井 政史
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA03
5L096AA06
5L096BA03
5L096CA02
5L096DA01
5L096EA05
5L096EA06
5L096EA33
5L096EA43
5L096FA06
5L096FA66
5L096GA30
5L096GA55
5L096HA11
5L096JA03
(57)【要約】
【課題】幅広い課題に対応することができる処理シーケンスを生成する。
【解決手段】データ処理シーケンスを生成する生成方法は、入力データの特性に応じたデータ前処理についての複数の第1選択肢をユーザーに提示し、選択を受け付けるステップと、目標データの特性に応じたデータ後処理についての複数の第2選択肢をユーザーに提示し、選択を受け付けるステップと、選択された第1選択肢をデータ前処理の候補とし、選択された第2選択肢をデータ後処理の候補として用いて、複数のデータ処理シーケンスを生成するステップと、複数のデータ処理シーケンスそれぞれの評価値を取得するステップと、複数のデータ処理シーケンスのそれぞれの評価値を用いて対象データ処理シーケンスを特定するステップと、を含む。
【選択図】図14
【特許請求の範囲】
【請求項1】
シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成方法であって、
(a)前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付けるステップと、
(b)前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付けるステップと、
(c)複数の遺伝子を配列した個体を新たに生成するステップと、
(d)複数のデータ処理シーケンスを生成するステップであって、
前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、
前記ステップ(a)で選択された前記第1選択肢を前記データ前処理の候補とし、前記ステップ(b)で選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成するステップと、
(e)前記複数のデータ処理シーケンスそれぞれによって前記入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得するステップと、
(f)前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を判定するステップと、
(g)前記対象データ処理シーケンスが特定されていない場合に、前記評価値を用いて、次の世代の前記個体の生成に用いられる現世代の前記個体を特定し、交叉と突然変異との少なくとも1つを行って前記個体を新たに生成することにより、前記個体の世代交代を行うステップと、
(h)前記対象データ処理シーケンスが特定されることを含む終了条件が満たされるまで、前記ステップ(d)から前記ステップ(g)までを繰り返すステップと、
を含む、
生成方法。
【請求項2】
請求項1に記載の生成方法であって、
(i)前記データ処理シーケンスが表す一連のデータ処理の目的のタイプの選択を受け付けるステップ、
をさらに含み、
前記ステップ(b)において、前記目標データの特性と前記ステップ(i)で選択された前記目的のタイプとのうち少なくとも一方に応じた前記第2選択肢を提示する、
生成方法。
【請求項3】
請求項2に記載の生成方法であって、
前記入力データに関するデータのタイプと、前記出力データに関するデータのタイプとが異なる、
生成方法。
【請求項4】
請求項3に記載の生成方法であって、
前記データ前処理は、画像処理フィルターを用いた処理であり、
前記データ後処理は、判別、検量のうちのいずれかの処理である、
生成方法。
【請求項5】
シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成装置であって、
前記データ前処理および前記データ後処理についての選択を受けつける受付部であって、
前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付け、
前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付ける、
受付部と、
複数の遺伝子を配列した個体を新たに生成する個体生成部と、
複数のデータ処理シーケンスを生成する生成部であって、
前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、
選択された前記第1選択肢を前記データ前処理の候補とし、選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成する生成部と、
前記複数のデータ処理シーケンスそれぞれによって前記入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得する評価値取得部と、
前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を判定する特定部と、
を備え、
前記対象データ処理シーケンスを特定することを含む終了条件が満たされるまで、
前記生成部が前記複数のデータ処理シーケンスを生成する処理と、
前記評価値取得部が前記複数のデータ処理シーケンスそれぞれについての前記評価値を取得する処理と、
前記個体生成部が、前記評価値を用いて、次の世代の前記個体の生成に用いられる現世代の前記個体を特定し、交叉と突然変異との少なくとも1つを行うことにより、前記個体の世代交代を行う処理と、
が繰り返される、
生成装置。
【請求項6】
プログラムであって、
シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する装置として機能するコンピューターに、
(a)前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付ける機能と、
(b)前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付ける機能と、
(c)複数の遺伝子を配列した個体を新たに生成する機能と、
(d)複数のデータ処理シーケンスを生成する機能であって、
前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、
前記ステップ(a)で選択された前記第1選択肢を前記データ前処理の候補とし、前記ステップ(b)で選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成する機能と、
(e)前記複数のデータ処理シーケンスそれぞれによって前記入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得する機能と、
(f)前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を判定する機能と、
(f)前記対象データ処理シーケンスが特定されていない場合に、次の世代の前記個体の生成に用いられる現世代の前記個体を、前記評価値を用いて特定し、交叉と突然変異との少なくとも1つを行って前記個体を新たに生成することにより、前記個体の世代交代を行う機能と、
を実現させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、生成方法、生成装置、および、プログラムに関する。
【背景技術】
【0002】
特許文献1には、遺伝的プログラミングを用いることにより、複数の画像処理フィルターを使用し木構造で表現される画像処理シーケンスを生成する技術について記載されている。特許文献1に記載された技術においては、配列された複数の遺伝子により構成される個体を生成し、個体を構成する遺伝子と、木構造を決定するための遺伝子テーブルと、を用いて、画像処理シーケンスが生成される。個体を構成する遺伝子は、画像処理フィルターを特定する値である。そして、各個体が表す画像処理シーケンスで学習画像を画像処理した結果画像を評価する。さらに、突然変異、交叉等により遺伝子を世代交代させながら、画像処理シーケンスの生成および結果画像の評価を繰り返す学習を行うことで、基準条件を満たす画像処理シーケンスが特定される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-87055号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された技術においては、画像処理シーケンスに含まれる各処理が画像処理フィルターを用いた処理であるので、生成された画像処理シーケンスにより対応可能な課題が限られる。よって、幅広い課題に対応することができる処理シーケンスを生成できる技術が望まれていた。
【課題を解決するための手段】
【0005】
本開示の第1の形態によれば、データ処理シーケンスの生成方法が提供される。この生成方法は、シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成方法であって、(a)前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付けるステップと、(b)前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付けるステップと、(c)複数の遺伝子を配列した個体を新たに生成するステップと、(d)複数のデータ処理シーケンスを生成するステップであって、前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、前記ステップ(a)で選択された前記第1選択肢を前記データ前処理の候補とし、前記ステップ(b)で選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成するステップと、(e)前記複数のデータ処理シーケンスそれぞれによって前記入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得するステップと、(f)前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を判定するステップと、(g)前記対象データ処理シーケンスが特定されていない場合に、前記評価値を用いて、次の世代の前記個体の生成に用いられる現世代の前記個体を特定し、交叉と突然変異との少なくとも1つを行って前記個体を新たに生成することにより、前記個体の世代交代を行うステップと、(h)前記対象データ処理シーケンスが特定されることを含む終了条件が満たされるまで、前記ステップ(d)から前記ステップ(g)までを繰り返すステップと、を含む。
【0006】
本開示の第2形態によれば、データ処理シーケンスを生成する生成装置が提供される。この生成装置は、シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成装置であって、前記データ前処理および前記データ後処理についての選択を受けつける受付部であって、前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付け、前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付ける、受付部と、複数の遺伝子を配列した個体を新たに生成する個体生成部と、複数のデータ処理シーケンスを生成する生成部であって、前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、選択された前記第1選択肢を前記データ前処理の候補とし、選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成する生成部と、前記複数のデータ処理シーケンスそれぞれによって前記入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得する評価値取得部と、前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を判定する特定部と、を備え、前記対象データ処理シーケンスを特定することを含む終了条件が満たされるまで、前記生成部が前記複数のデータ処理シーケンスを生成する処理と、前記評価値取得部が前記複数のデータ処理シーケンスそれぞれについての前記評価値を取得する処理と、前記個体生成部が、前記評価値を用いて、次の世代の前記個体の生成に用いられる現世代の前記個体を特定し、交叉と突然変異との少なくとも1つを行うことにより、前記個体の世代交代を行う処理と、が繰り返される。
【0007】
本開示の第3形態によれば、プログラムが提供される。このプログラムは、シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する装置として機能するコンピューターに、(a)前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付ける機能と、(b)前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付ける機能と、(c)複数の遺伝子を配列した個体を新たに生成する機能と、(d)複数のデータ処理シーケンスを生成する機能であって、前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、前記ステップ(a)で選択された前記第1選択肢を前記データ前処理の候補とし、前記ステップ(b)で選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成する機能と、(e)前記複数のデータ処理シーケンスそれぞれによって前記入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得する機能と、(f)前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を判定する機能と、(f)前記対象データ処理シーケンスが特定されていない場合に、次の世代の前記個体の生成に用いられる現世代の前記個体を、前記評価値を用いて特定し、交叉と突然変異との少なくとも1つを行って前記個体を新たに生成することにより、前記個体の世代交代を行う機能と、を実現させる。
【図面の簡単な説明】
【0008】
図1】生成システムの概略構成を示すブロック図である。
図2】記憶装置の構成を示すブロック図である。
図3】処理候補テーブルの一例を示す図である。
図4】学習データセットの一例を示す図である。
図5】第1遺伝子テーブルの一例を示す図である。
図6】第2遺伝子テーブルの一例を示す図である。
図7】一つの世代の個体群の説明図である。
図8】遺伝子翻訳部によって生成された木構造のデータ処理シーケンスSqについての説明図である。
図9】生成装置が実行する処理を示すフローチャートである。
図10】生成条件の設定に関する処理の詳細なフローチャートである。
図11】生成条件の選択画面の一例である。
図12】更新後の第1遺伝子テーブルの一例を示す図である。
図13】更新後の第2遺伝子テーブルの一例を示す図である。
図14】対象データ処理シーケンスの生成に関する処理の詳細なフローチャートである。
図15】対象データ処理シーケンスの利用に関する処理の詳細なフローチャートである。
【発明を実施するための形態】
【0009】
A.実施形態:
図1は、実施形態にかかる生成システム1の概略構成を示すブロック図である。生成システム1は、生成装置100と撮像装置200とを備える。生成装置100と撮像装置200とは有線あるいは無線によってデータを送受信可能である。撮像装置200は、カメラであり、対象物を撮像して撮像画像を取得する。撮像装置200によって取得された撮像画像は生成装置100に送信される。撮像装置200は対象物の分光反射スペクトルを取得できる分光カメラあるいは分光光度計であってもよい。
【0010】
生成装置100は、入力データに対してデータ処理を行うデータ処理シーケンスを生成するシーケンス生成機能を有する。本明細書においては、データ処理シーケンスとは、入力データに対してなされる複数のデータ処理の実行手順が規定されたものである。また、生成装置100は、生成した複数のデータ処理シーケンスSqの中から所望とする出力データを得るための対象データ処理シーケンスDSqを特定する。
【0011】
また、生成装置100は、生成されたデータ処理シーケンスに従って、入力データをデータ処理して処理後のデータである出力データを出力するデータ処理機能を有する。本実施形態では、生成装置100がシーケンス生成機能とデータ処理機能とを有するが、これに限定されるものではない。生成装置100はシーケンス生成機能だけを有し、生成装置100とは異なる他の装置がデータ処理機能を有してもよい。あるいは、シーケンス生成機能とデータ処理機能とはクラウドにより実現されてもよい。
【0012】
生成装置100は、プロセッサー10と、記憶装置70と、インターフェイス部90と、入力装置150と、表示装置160と、を備えるコンピューターである。プロセッサー10は、記憶装置70に記憶されたプログラムを実行することで、生成装置100の各種機能を実現する。記憶装置70は、RAM、ROM等を含むメモリーにより構成され、プログラムおよびプログラムの実行に必要なデータを格納する。インターフェイス部90には、入力装置150と、表示装置160と、撮像装置200とが接続されている。入力装置150は、例えば、キーボード、マウスである。表示装置160は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。
【0013】
プロセッサー10は、記憶装置70に格納されているプログラムを実行することで、シーケンス生成部20と、受付部30と、処理部40と、評価部50と、表示制御部60として機能する。
【0014】
シーケンス生成部20は、遺伝的プログラミングを用いて複数のデータ処理シーケンスSqを生成する。データ処理シーケンスSqは、複数のシーケンス要素の組み合わせを表す。シーケンス生成部20を生成部ともよぶ。データ処理シーケンスSqを構成するシーケンス要素は、(i)データ入力層と、(ii)データ入力層とデータ出力層との間の中間のノードである複数のデータ処理層と、(iii)データ出力層とがある。データ入力層は、入力データを入力するデータ入力処理が行われるノードである。データ出力層は、最終的なデータ処理がなされた後のデータである出力データPMを出力するデータ出力処理が行われるノードである。
【0015】
本実施形態において、複数のデータ処理層においてなされるデータ処理は、少なくとも1つのデータ前処理と、1つのデータ後処理とに分けられる。データ前処理は、入力されたデータの特徴量を抽出する特徴量抽出処理と、特徴量の抽出に先立って行われるデータに対する前処理とを含む。処理対象のデータに、ノイズ、欠損値が含まれている状態で、特徴量を抽出したとしても、特徴量を適切に抽出することができないことが多い。このため、ノイズの除去、欠損値の補間等を前処理により行う必要がある。また、データ前処理である、前処理および特徴量抽出処理は、一般的に、入力されるデータと同じタイプのデータを出力する処理である。入力データが画像データである場合に、例えば、前処理として平滑化処理がなされる。平滑化処理の結果、出力されるデータは画像データである。また、入力データが画像データである場合に、特徴量抽出処理として正規化処理がなされて、出力されるデータは画像データである。
【0016】
データ後処理は、入力されたデータから抽出された特徴量を用いて、データが属するクラスの分類を行う判別分析、目的変数を予測する回帰分析を目的とした処理である。また、データ後処理である判別分析および回帰分析は、一般的に、入力されるデータと異なるタイプのデータを出力する処理である。入力データが画像データである場合に、例えば、画像データが持つ特徴に基づいて判別分析がなされる。判別分析の結果、出力されるデータは画像データに表されている物体を表すラベル値である。
【0017】
実施形態においては、データ処理シーケンスSqにおいて1つ以上のデータ前処理が実行される。データ入力層の出力側に接続されているデータ処理層においては、データ入力層に入力された入力データが処理の対象となる。他のデータ処理層の出力側に接続されているデータ処理層においては、他のデータ処理層から出力された中間データが処理の対象となる。中間データは、他のデータ前処理がなされて出力されたデータである。
【0018】
シーケンス生成部20により生成されるデータ処理シーケンスSqは、個体IVによって示された遺伝子の配列によって木構造のように構造的に表現されている。データ処理シーケンスSqは、例えば、データ処理層に割り当てられたデータ処理を識別する層識別子と、データ入力層、各データ処理層、および、データ出力層の接続関係とによって表される。
【0019】
シーケンス生成部20は、個体生成部22と、遺伝子翻訳部24とを備える。個体生成部22は、一次元または二次元に配列された複数の遺伝子によって構成される個体IVを生成する。さらに、個体生成部22は、1つの世代ごとにあらかじめ決められた数の個体IVから構成される個体群を生成する。生成された個体IVの集合を表す個体群データ84は、記憶装置70に格納される。個体群データ84については後述する。本実施形態では、個体生成部22は、一次元に遺伝子を配列することで、あらかじめ決められた遺伝子長の個体IVを生成する。個体生成部22は、一番初めの1世代目については、個体IVの各遺伝子座に、0から1までの小数点第3位までの数値を遺伝子としてランダムに配置する。
【0020】
個体生成部22は、二世代以降については、交叉と突然変異との少なくとも一つの手法を用いて前回の親世代の個体IVから新たな個体IVを生成する。具体的には、個体生成部22は、現世代の個体IVのうち優秀な個体を特定し、特定した個体に交叉と突然変異との少なくとも一方を行って、新たな世代の個体IVを生成する。また、個体生成部22は、特定された現世代の個体IVのうち優秀な個体を新たな世代の個体IVとする。個体生成部22は、例えば、後述する評価部50により算出される評価値EVを用いて、現世代の個体IVのうち優秀な個体を特定する。よって、新たな世代の個体群は、交叉と突然変異との少なくとも一方により新たに生成された個体IVと、親世代から引き継がれる個体IV、すなわち親世代の個体IVを複製した個体IVと、を含む集合である。世代ごとに個体IVの組み合わせは異なる。プロセッサー10が個体生成部22として機能して行う処理の詳細については後述する。
【0021】
遺伝子翻訳部24は、後述するデータ前処理用の第1遺伝子テーブル82およびデータ後処理用の第2遺伝子テーブル83を参照し、個体IVの各遺伝子を翻訳してデータ処理シーケンスSqを生成する。遺伝子翻訳部24は、1つの世代を構成するあらかじめ決められた数の個体IVそれぞれから、複数のデータ処理シーケンスSqを生成する。世代ごとに個体IVの組み合わせは異なるので、世代ごとに複数のデータ処理シーケンスSqのシーケンス要素の組み合わせは異なる。プロセッサー10が遺伝子翻訳部24として機能して行う処理の詳細については後述する。
【0022】
受付部30は、データ前処理およびデータ後処理についての選択を受けつける。具体的には、受付部30は、データ処理シーケンスSqの処理対象である入力データの特性に応じたデータ前処理についての複数の選択肢をユーザーに提示し、ユーザーによるデータ前処理についての選択を受け付ける。また、受付部30は、データ処理シーケンスSqの所望の出力値であり、入力データに対応付けられた目標データの特性に応じたデータ後処理についての複数の選択肢をユーザーに提示し、ユーザーによるデータ後処理についての選択を受け付ける。データ前処理についての選択肢を第1選択肢ともよぶ。データ後処理についての選択肢を第2選択肢ともよぶ。入力データの特性および目標データの特性の詳細については後述する。プロセッサー10が受付部30として機能して行う処理の詳細については後述する。
【0023】
処理部40は、データ処理シーケンスSqにより規定される処理手順に従って後述する学習データLMを処理して、処理後のデータである出力データPMを出力する。プロセッサー10が処理部40として機能して行う処理の詳細については後述する。
【0024】
評価部50は、各データ処理シーケンスSqについて、処理部40によって出力された出力データPMと、出力データPMの元となる学習データLMに関連付けられた目標データTMとを用いて、データ処理シーケンスSqを評価する評価値EVを求める。評価部50を評価値取得部ともよぶ。具体的には、評価部50は、各データ処理シーケンスSqについて、処理部40によって出力された出力データPMと、出力データPMの元となる学習データLMに関連付けられた目標データTMとの、類似の程度SDを示す評価値EVを算出する。
【0025】
データ処理シーケンスSqの評価は、平均二乗誤差(MSE:Mean Squared Error)、ピーク信号対雑音比(PSNR:Peak signal-to-noise ratio)、構造的類似度(SSIM:Structural Similarity)等の2つの画像の類似の程度SDを表す指標値を用いて行われる。MSEが評価値EVとして用いられる場合、MSEの値が小さい程、出力データPMと目標データTMとの類似の程度SDは高い。つまり、MSEの逆数が、類似の程度SDを示す。PSNRが評価値EVとして用いられる場合には、PSNRが大きい程、出力データPMと目標データTMとの類似の程度SDは高い。つまり、PSNRは類似の程度SDを示す。SSIMが用いられる場合には、例えば、画像を小領域に分割して、小領域ごとに算出されたSSIMの平均値であるMSSIM(Mean SSIM)が評価値EVとして用いられる。MSSIMが評価値EVとして用いられる場合、MSSIMが大きい程、類似の程度SDは高い。つまり、MSSIMは類似の程度SDを示す。
【0026】
また、1つのデータ処理シーケンスSqによって複数の学習データLMが処理されて、複数の出力データPMが生成される場合には、各出力データPMに対応する評価値EVが算出される。この場合、各評価値EVの統計量が最終的な評価値EVとして扱われる。各評価値EVの統計量としては、平均値、中央値等の値が用いられる。
【0027】
評価部50は、複数のデータ処理シーケンスSqのそれぞれについての評価値EVを用いて、あらかじめ決められた基準条件を満たすデータ処理シーケンスSqである対象データ処理シーケンスDSqを特定する。評価部50を特定部ともよぶ。具体的には、評価部50は、複数のデータ処理シーケンスSqのそれぞれに対応する複数の評価値EVのうち最も高い評価値EVであって、あらかじめ決まれた閾値以上の評価値EVを得ることができたデータ処理シーケンスSqを対象データ処理シーケンスDSqとして特定する。このようにして、さまざまな学習データLMに対して、目標データTMに近づけるような処理ができるデータ処理シーケンスであるかの判定を精度よく行うことができる。プロセッサー10が評価部50として機能して行う処理の詳細については後述する。
【0028】
表示制御部60は、各種情報を表示装置160に表示させる。表示制御部60は、例えば、特定された対象データ処理シーケンスDSqを表す木構造を示す画像を表示装置160に表示させる。
【0029】
図2は、記憶装置70の構成を示すブロック図である。記憶装置70は、学習データセット71と、データ処理プログラム群73と、処理候補テーブル75と、第1遺伝子テーブル82と、第2遺伝子テーブル83と、個体群データ84と、特定データ86と、各種プログラム88とを記憶する。
【0030】
図4は、学習データセット71の一例を示す図である。学習データセット71は、学習データLMと、学習データLMに関連付けられた目標データTMとのセットを含む。学習データLMは、データ処理シーケンスSqに入力される入力データである。目標データTMは、学習データLMそれぞれにあらかじめ関連付けられた目標となる出力である。学習データセット71には、複数個の学習データLMおよび目標データTMのセットが含まれている。
【0031】
例えば、対象データ処理シーケンスDSqを用いて、撮像された工業製品である回路基板の画像に対して処理が行われ、回路基板が良品であるか否かが判定される。この場合、対象データ処理シーケンスDSqの入力データと同様の撮像された回路基板の画像データが学習データLMとして用いられる。また、対象データ処理シーケンスDSqの出力データPMと同様の検査結果を示すデータが目標データTMとして用いられる。目標データTMは、検査結果について、良品を示すラベル「0」と、不良品を示すラベル「1」とのいずれかの値である。図4に示す例では、学習データLM1は良品の回路基板を撮像した画像である。学習データLM1には、良品を示すラベル0が目標データTMとして関連付けられている。学習データLM2は欠陥部分DAが存在する回路基板を撮像した画像である。学習データLM2には、不良品を示すラベル1が目標データTMとして関連付けられている。
【0032】
図2に示すデータ処理プログラム群73は、シーケンス要素となり得るデータ前処理おおよびデータ後処理についての処理の候補それぞれを実行するのに必要な、計算式、プログラム、必要なパラメーター等を含む。
【0033】
例えば、入力データがモノクロ画像である場合、データ前処理が行われることにより、欠陥部分DAと欠陥部分DA以外の正常部分との違いがより強調された画像となるような画像処理が施される。データ前処理には、領域抽出、画像フィルター処理、画像加工処理が含まれる。領域抽出の候補は、例えば、物体検出、マスク処理、背景除去である。画像フィルターの候補は、例えば、平滑化フィルター、エッジ抽出フィルター、ソーベルフィルター、ラプラシアンフィルター、メディアンフィルターである。なお、同じ種類の画像フィルター処理であっても、カーネルサイズ、係数が異なる場合には、異なる画像処理フィルターとして、データ処理プログラム群73に記憶される。画像加工処理の候補は、例えば、切り抜き、リサイズ、ビニングである。
【0034】
例えば、撮像装置として分光カメラあるいは分光光度計を用い、対象物の分光反射スペクトルを取得することができる。分光反射スペクトルを入力データとする場合、データ前処理には、スペクトル解析、色変換、基底変換が含まれる。スペクトル解析の候補は、例えば、波長選択・補間、波長平均、ベースライン除去、1次微分、2次微分である。色変換は、例えば、色空間の変換、色差(ΔE)の算出、膜圧測定である。基底変換の候補は、例えば、射影変換、主成分分析、線形判別分析、独立成分分析である。また、論理和、論理積、加算処理、減算処理、正規化等の処理は、入力データの種類にかかわらずデータ前処理の候補となる。
【0035】
データ後処理として、データの分類を行う判別分析、目的変数を予測する回帰分析がある。判別分析の候補は、例えば、マハラノビス距離、サポートベクターマシン(Support Vector Machine: SVM)、大津の2値化、線形判別、2次判別、ランダムフォレスト、k近傍法、k平均法、ニューラルネットワークモデルを用いた判別分析処理である。回帰分析の候補は、例えば、重回帰分析、部分最小二乗回帰、ニューラルネットワークモデルを用いた回帰分析である。
【0036】
図3は、処理候補テーブル75の一例を示す図である。処理候補テーブル75には、シーケンス要素となりうるデータ処理の候補が定義されている。
【0037】
処理候補テーブル75には、入力データの特性に応じたデータ処理の候補が定義されている。処理候補テーブル75に定義されている入力データの特性に応じたデータ処理の候補とは、データ前処理の候補である。本実施形態において、入力データの特性は、入力データを構成するデータの次元と、それぞれの次元における値が表す物理量とにより表される。例えば、モノクロ画像は2次元のデータであり、分光スペクトルの測定データ(以下、分光スペクトル)は1次元のデータである。データの次元だけではなく、モノクロ画像と分光スペクトルとがそれぞれ表す物理量も異なっているため、モノクロ画像を対象としたデータ処理と、分光スペクトルとを対象としたデータ処理とも異なる。入力データがモノクロ画像である場合、データ前処理の候補は、領域抽出のための各種処理、画像フィルターの各種処理、画像加工のための各種処理である。例えば、入力データが、分光スペクトルである場合、データ前処理の候補は、スペクトル解析の各種処理、色変換の各種処理、基底変換の各種処理である。また、入力データの特性にかかわらないデータ前処理の候補は、論理和、論理積、加算処理、減算処理、正規化である。
【0038】
図3においては、理解の容易のために、入力データがモノクロ画像である場合、データ前処理の候補は画像処理フィルターFtA~FtEである。入力データが分光スペクトルである場合、データ前処理の候補は変換処理CpA~CpEである。
【0039】
さらに、処理候補テーブル75には、目標データの特性あるいはタスクジャンルに応じたデータ処理の候補が定義されている。処理候補テーブル75に定義されている目標データの特性あるいはタスクジャンルに応じたデータ処理の候補とは、データ後処理の候補である。
【0040】
本実施形態においては、目標データの特性は、目標データが取り得る値のタイプにより表される。具体的には、目標データが取り得る値が離散値である場合、データ後処理の候補は、分類に関する各種手法、クラスタリングに関する各種手法である。目標データがとり得る値が連続値である場合、データ後処理の候補は、回帰に関する各種手法である。離散値は、あらかじめ分類されたクラスを表すラベル値のように、連続していな数値である。連続値は、対象物に含まれている特定の物質の質量のように、値と値との間に無限に数値を取り得る値である。また、タスクジャンルは、データ処理シーケンスを用いた処理の目標についての分類を示す。タスクジャンルを、データ処理の目的のタイプともよぶ。タスクジャンルの候補は、判別、検量である。タスクジャンルが判別である場合、データ後処理の候補は、例えば、分類に関する各種手法、クラスタリングに関する各種手法である。タスクジャンルが、検量である場合、データ後処理の候補は、例えば、回帰に関する各種手法である。
【0041】
図3においては、目標データが離散値である場合のデータ後処理の候補が分析処理Ap1~Ap6であり、目標データが連続値である場合のデータ後処理の候補が分析処理Ap11~Ap15である例を示す。なお、図3において、タスクジャンルに応じたデータ後処理の候補の図示を省略している。データ処理シーケンスSqの生成の際には、処理候補テーブル75に定義されているデータ処理からシーケンス要素が選択される。
【0042】
図5は、第1遺伝子テーブル82の一例を示す図である。第1遺伝子テーブル82は、データ処理シーケンスSqの生成の際に使用される。第1遺伝子テーブル82は、遺伝子を表す数値の数値範囲ごとに対応するシーケンス要素と、各シーケンス要素の接続関係を規定したテーブルである。第1遺伝子テーブル82と後述する第2遺伝子テーブル83とを参照テーブルともよぶ。第1遺伝子テーブル82に定義されているシーケンス要素は、データ前処理あるいはデータ入力処理である。図5には、入力データがモノクロ画像である場合の第1遺伝子テーブル82の例を示す。第1遺伝子テーブル82は、入力データのタイプに応じて個別に用意される。例えば、データ処理シーケンスに入力されるデータがカラー画像である場合には、対応する第1遺伝子テーブル82が用意される。また、例えば、データ処理シーケンスに入力されるデータが分光スペクトルである場合には、対応する第1遺伝子テーブル82が用意される。
【0043】
図5に示す例では、第1遺伝子テーブル82に、シーケンス要素それぞれについて入力数と出力数と出現範囲とが規定されている。以下、理解の容易のために、前処理の候補として5つの画像処理フィルターFtA~FtEがデータ処理プログラム群73に含まれていると仮定する。第1遺伝子テーブル82におけるシーケンス要素は、画像処理フィルターFtA~FtE、あるいは、データ入力層を識別する識別子「in」である。入力数は、前処理が行われるデータ処理層あるいはデータ入力層の入力側に接続されるシーケンス要素の数を示す。入力数が「2」である場合には、2つのシーケンス要素から出力されたデータが、画像処理フィルターに入力される。なお、データ処理シーケンスにおいて、データ入力層より前にシーケンス要素が存在しないので、データ入力層の入力数は「0」である。出力数は、前処理が行われるデータ処理層あるいはデータ入力層の出力側に接続されるシーケンス要素の数を示す。本実施形態では、出力数は全て「1」であり、データ処理層およびデータ入力層は、一つの出力側のシーケンス要素に接続される。
【0044】
第1遺伝子テーブル82の出現範囲には、遺伝子の数値VGの範囲が規定されている。遺伝子の数値VGは、個体IVを構成する各遺伝子を表す値である。遺伝子の数値VGに応じて、データ入力層、あるいは、異なるデータ前処理が、シーケンス要素に割り当てられる。図5に示す例では、各画像処理フィルターが均等な確率でランダムにデータ処理シーケンスSq中に出現するように、0~1の数値範囲を6等分している。例えば、遺伝子の数値VGが0以上0.167未満の値である場合には、この遺伝子に対応するシーケンス要素に画像処理フィルターFtAが割り当てられる。
【0045】
図6は、第2遺伝子テーブル83の一例を示す図である。第2遺伝子テーブル83は、データ処理シーケンスSqの生成の際に使用される。第2遺伝子テーブル83は、遺伝子を表す数値の数値範囲ごとに対応するシーケンス要素と、各シーケンス要素の接続関係を規定したテーブルである。第2遺伝子テーブル83に定義されているシーケンス要素はデータ後処理である。図6には、入力データがモノクロ画像である場合の第2遺伝子テーブル83の例を示す。第2遺伝子テーブル83は、入力データのタイプに応じて個別に用意される。
【0046】
図6に示す例では、第2遺伝子テーブル83に、シーケンス要素それぞれについて入力数と出力数と出現範囲とが規定されている。以下、理解の容易のために、データ前処理の候補として6つの分析処理Ap1~Ap6がデータ処理プログラム群73に含まれていると仮定する。第2遺伝子テーブル83におけるシーケンス要素は、分析処理Ap1~Ap6である。入力数は、データ後処理が行われるデータ処理層の入力側に接続されるシーケンス要素の数を示す。入力数が「2」である場合には、2つのシーケンス要素から出力されたデータが分析処理の入力となる。出力数は、後処理が行われるデータ処理層の出力側に接続されるシーケンス要素の数を示す。本実施形態では、後処理が行われるデータ処理層はデータ出力層に接続される。よって、出力数は全て「1」である。
【0047】
第2遺伝子テーブル83の出現範囲には、遺伝子の数値VGの範囲が規定されている。遺伝子の数値VGに応じて、異なるデータ後処理がシーケンス要素に割り当てられる。図6に示す例では、各分析処理が均等な確率でランダムにデータ処理シーケンスSq中に出現するように、0~1の数値範囲を6等分している。0~1の数値を6等分にした範囲を示す値は、出現範囲の初期値である。例えば、遺伝子の数値VGが0以上0.167未満の値である場合には、この遺伝子に対応するシーケンス要素に分析処理Ap1が割り当てられる。
【0048】
図7は、一つの世代Gの個体群データ84の説明図である。個体群データ84は、データ処理シーケンスSqの生成の際に使用される。個体群データ84は、個体生成部22によって生成される1つの世代における複数の個体IVの集合を表すデータである。本実施形態では、1つの世代Gで5つの個体IV1~IV5が生成される例を説明する。各個体IV1~IV5は、遺伝子を配置する複数の遺伝子座が一次元的に配列されている。各個体IV1~IV5の遺伝子長は同じである。各個体IV1~IV5は、No.1~No.10の遺伝子座に遺伝子を順に配列することで構成されている。個体生成部22は、各遺伝子座に、0から1までの小数点第3位までの数値で表された遺伝子を配置する。つまり、本実施形態では、各遺伝子座で遺伝子が取りうる値は、0以上1以下の小数点第3位までの数値である。
【0049】
特定データ86は、評価部50により基準条件を満たすと特定されたデータ処理シーケンスSqである対象データ処理シーケンスDSqを表すデータである。各種プログラム88は、プロセッサー10によって実行されるプログラムである。
【0050】
図8は、遺伝子翻訳部24によって生成される木構造のデータ処理シーケンスSqについての説明図である。以下、データ処理シーケンスSqの生成の基本的な流れを説明する。
【0051】
遺伝子翻訳部24は、個体群データ84と、第1遺伝子テーブル82と、第2遺伝子テーブル83とを用いて、データ出力層out側から順に木構造のデータ処理シーケンスSqを生成する。まず、遺伝子翻訳部24は、データ出力層outを終端ノードに設定し、個体IVの遺伝子の配列順にシーケンス要素を接続していく。シーケンス要素の接続は、あらかじめ決められた接続ルールに従い実行される。本実施形態では、遺伝子翻訳部24は、データ出力層outからデータ入力層inに向かうように、遺伝子の配列順に、シーケンス要素を順に配置する。また、シーケンス要素の入力が2つ以上であるため、シーケンス要素の入力側が分岐する場合には、最も左側の枝におけるシーケンス要素の配置が優先される。各枝においてシーケンス要素としてデータ入力層が配置されたときに、その枝でのシーケンス要素の配置は完了する。その後、次の枝、即ち、シーケンス要素の配置が完了した枝の右隣の枝におけるシーケンス要素の配置が行われる。なお、本実施形態では、データ出力層outの入力数は、「1」である。
【0052】
遺伝子翻訳部24は、第2遺伝子テーブル83(図6を参照)を参照して、個体IV1(図7を参照)のNo.1の遺伝子の数値VGである「0.534」が分析処理Ap4の出現範囲内にあることを特定する。遺伝子翻訳部24は、データ出力層outの入力側に、接続されるノードに分析処理Ap4を割り当てる。遺伝子翻訳部24は、第2遺伝子テーブル83を参照して、分析処理Ap4の入力数が「2」であることを特定し、分析処理Ap4が割り当てられたノードの入力側に2つのノードを接続する。前述のように、データ処理シーケンスSqにおいては1つの後処理が実行されるので、遺伝子翻訳部24は、データ出力層outの入力側に配置するシーケンス要素の配置および接続を特定するときだけ第2遺伝子テーブル83を参照する。
【0053】
さらに、遺伝子翻訳部24は、第1遺伝子テーブル82(図5を参照)を参照して、No.2の遺伝子の数値VGである「0.292」が画像処理フィルターFtBの出現範囲内であることを特定する。遺伝子翻訳部24は、分析処理Ap4が割り当てられたノードの入力側に接続された左側のノードに画像処理フィルターFtBを割り当てる。
【0054】
遺伝子翻訳部24は、第1遺伝子テーブル82を参照して、画像処理フィルターFtBの入力数が「1」であることを特定し、画像処理フィルターFtBが割り当てられたノードの入力側に1つのノードを接続する。遺伝子翻訳部24は、第1遺伝子テーブル82を参照して、No.3の遺伝子の数値VGである「0.462」が画像処理フィルターFtCの出現範囲内であることを特定する。遺伝子翻訳部24は、画像処理フィルターFtBが割り当てられたノードの入力側に接続されたノードに画像処理フィルターFtCを割り当てる。
【0055】
次に、遺伝子翻訳部24は、第1遺伝子テーブル82を参照して、画像処理フィルターFtCの入力数が「1」であることを特定し、画像処理フィルターFtCが割り当てられたノードの入力側に1つのノードを接続する。遺伝子翻訳部24は、第1遺伝子テーブル82を参照して、No.4の遺伝子の数値VGである「0.856」がデータ入力層inの出現範囲内であることを特定する。遺伝子翻訳部24は、画像処理フィルターFtCが割り当てられたノードの入力側に接続されたノードにデータ入力層inを割り当てる。これにより、図8のデータ処理シーケンスSqの左側部分のシーケンスの生成は終了する。続いて、遺伝子翻訳部24は、データ処理シーケンスSqの右側部分の生成を同様に行う。
【0056】
遺伝子翻訳部24は、入力側のノードすべてにデータ入力層inが割り当てられた場合には、個体IV1の全ての遺伝子を用いていない場合であっても、データ処理シーケンスSqの生成処理を終了する。なお、遺伝子翻訳部24は、個体IV1の全ての遺伝子を用いた場合において、入力側接続先である入力側シーケンス要素が全てデータ入力層inになっていない場合には、残りの未接続の入力側シーケンス要素にデータ入力層inを設定することで、データ処理シーケンスSqの生成を終了する。
【0057】
図9は、生成装置100が実行する処理を示すフローチャートである。図9に示す処理は、ステップS10の生成条件の設定に関する処理と、ステップS20の対象データ処理シーケンスDSqの生成に関する処理と、ステップS30の対象データ処理シーケンスDSqの利用に関する処理と、を含む。
【0058】
図10は、生成条件の設定に関する処理(図9のステップS10を参照)の詳細なフローチャートである。本実施形態においては、ユーザーにより指定される生成条件に従って複数のデータ処理シーケンスSqが生成される。図10に示す処理は、受付部30として機能する生成装置100のプロセッサー10により実行される。
【0059】
ステップS101において、プロセッサー10は記憶装置70に格納されている学習データセット71を読み込む。ステップS102において、プロセッサー10はデータ処理シーケンスの自動生成の可否についての選択を受け付ける。図11は生成条件の選択画面の一例である。ユーザーは、図11に示す選択画面の生成方法のフィールドf1で、データ前処理およびデータ後処理のそれぞれについて、「自動生成」あるいは「手動生成」を選択することができる。選択された選択肢に付いての情報は記憶装置70に格納される。
【0060】
図10に示す、ステップS103において、プロセッサー10は、データ前処理を自動生成することが選択されたか否かを判定する。データ前処理を自動生成することが選択された場合(ステップS103;YES)、ステップS104の処理が実行される。データ前処理を手動生成することが選択された場合(ステップS103;NO)、ステップS105の処理が実行される。
【0061】
ステップS104において、プロセッサー10はデータ前処理の候補の選択を受け付ける。具体的には、まず、プロセッサー10は、処理候補テーブル75を参照して、学習データLMの特性、すなわち、入力データの特性に応じたデータ前処理についての複数の選択肢をデータ前処理の選択肢として提示する。本実施形態において、ユーザーは、学習データLMの特性に応じて提示されたデータ後処理の候補から、データ後処理の方法を選択すればよい。よって、データ処理についての詳しい知識を有しないユーザーであっても、容易にデータ処理シーケンスを作成できる。
【0062】
例えば、学習データLMがモノクロ画像である場合、図11に示すように、プロセッサー10は、データ前処理のフィールドf2に選択肢として「画像処理フィルターFtA~FtE」を表示する。複数の選択肢はすべて選択された状態で表示されてもよい。ユーザーは入力装置150を操作することにより、データ前処理に含む必要がない選択肢について選択を解除する。選択されたデータ前処理の選択肢についての情報は記憶装置70に格納される。
【0063】
プロセッサー10は、選択されたデータ前処理だけがデータ処理シーケンスの生成の際にデータ前処理についてのシーケンス要素の候補となるように、第1遺伝子テーブル82(図5を参照)を更新する。後述するデータ処理シーケンスの生成の際に、ユーザーに選択されたデータ前処理の選択肢だけがシーケンス要素として使用されるためである。図12は、更新後の第1遺伝子テーブル82の一例を示す図である。ユーザーにより「画像処理フィルターFtA~FtC」が選択されたとする。この場合、プロセッサー10は、第1遺伝子テーブル82において、選択されなかった「画像処理フィルターFtD~FtE」については出現範囲に値を割り当てない。さらに、プロセッサー10は、選択された「画像処理フィルターFtA~FtC」が均等な確率でランダムにデータ処理シーケンスSq中に出現するように、画像処理フィルターFtA~FtCそれぞれの出現範囲に0~1の数値を4等分にした範囲を割り当てる。0~1の数値を4等分にした範囲を示す値は、出現範囲の初期値である。
【0064】
このようにして、更新後の第1遺伝子テーブル82においては、ユーザーにより選択された「画像処理フィルターFtA~FtC」だけがシーケンス要素の候補となる。ユーザーの事前の選択により、シーケンス要素の候補が限定されることにより、データ処理シーケンスSqの生成の効率化を図ることができる。なお、ユーザーが提示された選択肢をすべて選択した場合、第1遺伝子テーブル82は更新されない。
【0065】
図10に示す、ステップS105において、プロセッサー10は、データ処理シーケンスの入力フィールドf5を表示する。ユーザーは、ドラッグ操作により、データ前処理のフィールドf2に表示されている選択肢から所望の処理をデータ処理シーケンスの入力フィールドf5に配置することができる。なお、データ処理シーケンスが手動で作成される場合において、データ前処理のフィールドf2に表示される選択肢は、学習データLMの特性に応じて限定されたものでなくてもよい。
【0066】
ステップS106において、プロセッサー10は、データ後処理を自動生成することが選択されたか否かを判定する。データ後処理を自動生成することが選択された場合(ステップS106;YES)、ステップS107の処理が実行される。データ後処理を手動生成することが選択された場合(ステップS106;NO)、ステップS110の処理が実行される。
【0067】
ステップS107において、プロセッサー10は、タスクジャンルの選択が必要であるか否かを判定する。タスクジャンルの選択が不要な場合(ステップS107;NO)、ステップS109が実行される。タスクジャンルの選択が必要な場合(ステップS107;YES)、ステップS108の処理が実行される。タスクジャンルの選択が必要な場合とは、目標データの特性に応じたデータ後処理についての選択肢の特定ができない場合である。
【0068】
ステップS108において、プロセッサー10はタスクジャンルの選択を受け付ける。具体的には、図11に示すように、プロセッサー10は、タスクジャンルのフィールドf4に選択肢として「判別」と「検量」とを表示する。ユーザーは、入力装置150を操作することにより、所望のタスクジャンルを選択する。選択されたタスクジャンルについての情報は記憶装置70に格納される。なお、ステップS107においてタスクジャンルの選択が不要であると判定された場合、図11に示す画面においてタスクジャンルのフィールドf4は表示されない。
【0069】
図10に示す、ステップS109において、プロセッサー10はデータ後処理の候補の選択を受け付ける。具体的には、まず、プロセッサー10は、処理候補テーブル75を参照して、目標データTMの特性に応じたデータ後処理についての複数の選択肢をデータ後処理の選択肢として提示する。ステップS108において、タスクジャンルが選択されている場合には、プロセッサー10は、処理候補テーブル75を参照して、少なくとも選択されたタスクジャンルに応じたデータ後処理についての選択肢を提示する。本実施形態において、ユーザーは、目標データTMの特性とタスクジャンルとに応じて提示されたデータ後処理の候補から、データ後処理の方法を選択すればよい。よって、データ処理についての詳しい知識を有しないユーザーであっても、容易にデータ処理シーケンスを作成できる。
【0070】
例えば、目標データTMが離散値である場合、図11に示すように、プロセッサー10は、データ後処理のフィールドf3に選択肢として「分析処理Ap1~Ap6」を表示する。複数の選択肢はすべて選択された状態で表示されてもよい。ユーザーは入力装置150を操作することにより、データ後処理に含む必要がない選択肢について選択を解除する。選択されたデータ前処理の選択肢についての情報は記憶装置70に格納される。
【0071】
プロセッサー10は、選択されたデータ後処理だけがデータ処理シーケンスの生成の際にデータ後処理についてのシーケンス要素の候補となるように、第2遺伝子テーブル83(図6を参照)を更新する。後述するデータ処理シーケンスの生成の際に、ユーザーに選択されたデータ後処理の選択肢だけがシーケンス要素として使用されるためである。図13は、更新後の第2遺伝子テーブル83の一例を示す図である。ユーザーにより「分析処理Ap3~Ap6」が選択されたとする。この場合、プロセッサー10は、第2遺伝子テーブル83において、選択されなかった「分析処理Ap1~Ap2」については出現範囲に値を割り当てない。さらに、プロセッサー10は、選択された「分析処理Ap3~Ap6」が均等な確率でランダムにデータ処理シーケンスSq中に出現するように、分析処理Ap3~Ap6それぞれの出現範囲に0~1の数値を4等分にした範囲を割り当てる。このようにして、更新後の第2遺伝子テーブル83においては、ユーザーにより選択された「分析処理Ap3~Ap6」だけがシーケンス要素の候補となる。ユーザーの事前の選択により、シーケンス要素の候補が限定されることにより、データ処理シーケンスSqの生成の効率化を図ることができる。なお、ユーザーが提示された選択肢をすべて選択した場合、第2遺伝子テーブル83は更新されない。
【0072】
図10に示す、ステップS110において、プロセッサー10は、データ処理シーケンスの入力フィールドf5を表示する。ユーザーは、ドラッグ操作により、データ後処理のフィールドf3に表示されている選択肢から所望の処理をデータ処理シーケンスの入力フィールドf5に配置することができる。なお、データ処理シーケンスが手動で作成される場合において、データ後処理のフィールドf3に表示される選択肢は、目標データTMの特性に応じて限定されたものでなくてもよい。
【0073】
ステップS111において、プロセッサー10は、生成条件を表す情報を記憶装置70に格納する。ステップS111の処理は、ユーザーの操作により「決定」ボタンが押されたときに実行される。プロセッサー10は、データ前処理とデータ後処理のうち自動生成が選択されている処理について、入力条件の画面において入力された条件のそれぞれについての情報を記憶装置70に格納する。また、プロセッサー10は、データ前処理とデータ後処理のうち手動生成が選択されている処理について、データ処理シーケンスの入力フィールドf5において入力されたデータ処理シーケンスを表す木構造を特定する情報を記憶装置70に格納する。その後、図10に示す処理が終了される。
【0074】
図14は、対象データ処理シーケンスの生成に関する処理(図9のステップS20を参照)の詳細なフローチャートである。図14に示す処理は、処理部40および評価部50として機能する生成装置100のプロセッサー10により実行される。
【0075】
ステップS201において、プロセッサー10は、現世代Gnについての個体群を生成する。生成された個体群を表す個体群データ84は、記憶装置70に格納される。個体群データ84が表す個体群は、図7に示すように複数の個体IV1~IV5によって構成されている。ステップS202において、プロセッサー10は、更新後の第1遺伝子テーブル82(図12を参照)および第2遺伝子テーブル83(図13を参照)を参照し、生成した個体群のうちから選択した1つの個体IVの各遺伝子を翻訳してデータ処理シーケンスSqを生成する。
【0076】
ステップS203において、プロセッサー10は、学習データLMを入力データとして、データ処理シーケンスSqに含まれるデータ前処理を実行する。学習データLMは画像であると仮定する。ステップS203においては、データ処理シーケンスSqに含まれるデータ後処理は実行されない。例えば、図8に示すデータ処理シーケンスSq1に従ってデータ前処理が実行される場合、以下のように処理が行われる。左側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データは、画像処理フィルターFtCによって処理された後に、画像処理フィルターFtBによって処理され、第1中間データが生成される。右側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データは、画像処理フィルターFtAによって処理されて第2中間データが生成される。なお、左側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データと、右側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データとは同じデータである。第1中間データおよび第2中間データは記憶装置70に格納される。
【0077】
ステップS204において、プロセッサー10は、データ処理シーケンスSqに含まれるデータ後処理を実行する。例えば、図8に示すデータ処理シーケンスSq1に含まれるデータ後処理が実行される場合、以下のように処理が行われる。ステップS203において生成された第1中間データと第2中間データとは、分析処理Ap4により処理されて、データ出力層outによって最終的な出力データPMが出力される。最終的な出力データPMは記憶装置70に格納される。
【0078】
ステップS205において、プロセッサー10は、出力データPMと、出力データPMの元となる学習データLMに対応付けられた目標データTMと、を用いて、データ処理シーケンスSqの処理結果を評価する評価値を算出する。具体的には、プロセッサー10は、出力データPMと目標データTMとの類似の程度SDを示す評価値EVを算出する。算出された評価値EVは、対象となる個体IVを示す情報と学習データLMを示す情報とに関連付けられて記憶装置70に格納される。
【0079】
ステップS206において、プロセッサー10は、データ処理シーケンスSqに含まれるデータ後処理が繰り返し実行される必要があるか否かを判定する。データ後処理の候補のうちには、機械学習のアルゴリズムを用いた処理のように、最適なパラメーターを決定するため学習が必要な処理がある。この場合、指定された回数だけ後処理が繰り返されることにより学習を行い、最適なパラメーターが決定される。例えば、データ後処理がニューラルネットワークモデルを用いた処理である場合、学習により各ノードの重みを含むパラメーターの最適値が決定される。データ処理シーケンスSqに含まれるデータ後処理が繰り返し実行される必要があり、指定された回数だけ実行されていない場合、(ステップS206;YES)、ステップS207が実行される。一方、データ処理シーケンスSqに含まれるデータ後処理が、繰り返し実行される必要がない場合、あるいは、繰り返し実行される必要があるが、指定された回数だけ実行された場合(ステップS206;NO)、ステップS208が実行される。
【0080】
ステップS207において、プロセッサー10はパラメーターを更新する。例えば、データ後処理がニューラルネットワークモデルを用いた処理である場合、誤差逆伝搬法を用いてパラメーターが更新される。ステップS207が実行された後にステップS205が再び実行される際には、ステップS205において、例えば、評価値EVは、対象となる個体IVを示す情報と、学習データLMを示す情報と、更新後のパラメーターを示す情報とに関連付けられて記憶装置70に格納される。
【0081】
ステップS208において、プロセッサー10は、現世代Gnにおけるすべての個体IVについてそれぞれから生成されたデータ処理シーケンスSqについて評価値EVが算出されたか否かを判定する。現世代Gnにおけるすべての個体IVについて、評価値EVが算出された場合(ステップS208;YES)、ステップS209が実行される。現世代Gnにおけるすべての個体IVについて評価値EVが算出されていない場合(ステップS208;NO)、ステップS202が再び実行される。2回目以降のステップS202の処理の際には、プロセッサー10は、現世代Gnの個体IVのうちからデータ処理シーケンスSqの生成に使用されていない残りの個体IVnから一つを選択する。プロセッサー10は、個体IVの各遺伝子を翻訳してデータ処理シーケンスSqを生成する。
【0082】
ステップS209において、プロセッサー10は、終了条件が満たされているか否かを判定する。終了条件は、複数の個体IV1~IV5それぞれから生成されたデータ処理シーケンスSqそれぞれについて算出された評価値EVのうち、最も高い評価値EVである最大評価値EVmaxが、あらかじめ決められた閾値より高いことである。最も高い評価値EVである最大評価値EVmaxを得ることができたデータ処理シーケンスSqが対象データ処理シーケンスDSqとして特定される。現世代の個体IV1~IV5それぞれから生成されたデータ処理シーケンスSqのうちから対象データ処理シーケンスDSqが特定されたとき、終了条件が満たされているので(ステップS209;YES)、ステップS210が実行される。
【0083】
一方、最大評価値EVmaxが閾値よりも低い、すなわち、現世代の個体IV1~IV5それぞれから生成されたデータ処理シーケンスSqのうちに対象データ処理シーケンスDSqが含まれていない場合には、終了条件が満たされていないので(ステップS209;NO)、ステップS201が再び実行される。2回目以降のステップS201の実行の際には、プロセッサー10は、親世代の個体のうち優秀な個体から交叉と突然変異との少なくとも一つの手法により子世代を構成する新たな個体を生成する。具体的には、プロセッサー10は、現世代Gnの各個体それぞれから生成されたデータ処理シーケンスSqについての評価値EVが下位K番目(Kは1以上の整数)までの個体を新たな個体に入れ替える。また、下位K番目までに該当しない個体に対して交叉や突然変異との少なくとも一つを行うことで新たな個体を生成する。このようにして、個体の世代交代が行われる。
【0084】
ステップS210において、プロセッサー10は、対象データ処理シーケンスDSqを表す特定データ86を記憶装置70に保存する。さらに、プロセッサー10は、第1遺伝子テーブル82および第2遺伝子テーブル83の出現範囲の値を初期値に更新する。第1遺伝子テーブル82および第2遺伝子テーブル83は、図11に示す生成条件の設定に関する処理において、ユーザーによる選択に応じて更新されたためである。なお、第1遺伝子テーブル82および第2遺伝子テーブル83の更新が行われていない場合、第1遺伝子テーブル82および第2遺伝子テーブル83の出現範囲の値を初期値に更新する必要はない。その後、図14に示す処理が終了される。
【0085】
図15は、対象データ処理シーケンスDSqの利用に関する処理(図9のステップS30を参照)の詳細なフローチャートである。図15に示す処理は、処理部40として機能する生成装置100のプロセッサー10により実行される。なお、図15の処理が実行される前に、対象データ処理シーケンスDSqが既に特定されていることが前提となる。
【0086】
ステップS301において、プロセッサー10は、対象データ処理シーケンスDSqを表す特定データ86を記憶装置70から読み出す。対象データ処理シーケンスDSqを表す特定データ86は、図14のステップS210で、記憶装置70に格納されたものである。また、プロセッサー10は、対象データ処理シーケンスDSqに含まれるデータ前処理およびデータ後処理をそれぞれ実行するのに必要なプログラム、パラメーター等を記憶装置70に格納されているデータ処理プログラム群73から読み出す。
【0087】
図15に示す、ステップS302において、プロセッサー10は、対象データ処理シーケンスDSqの処理の対象となる入力データを記憶装置70から読み出す。入力データは、例えば、撮像装置200が学習データLMと同種の対象物を撮像することにより取得された画像データである。
【0088】
ステップS303において、プロセッサー10は、入力データに対して対象データ処理シーケンスDSqを用いた処理を実行する。つまり、入力データに対して、対象データ処理シーケンスDSqが示す順番に従ってデータ処理が実行される。ステップS304において、プロセッサー10は、対象データ処理シーケンスDSqを用いた処理後のデータである出力データPMを出力する。出力データPMは、記憶装置70に格納される。さらに、出力データPMは、入力データとともに、表示装置160に表示されてもよい。
【0089】
ステップS305において、プロセッサー10は、対象データ処理シーケンスDSqを用いた処理を継続するか否かを判定する。例えば、プロセッサー10は、ユーザーの操作により処理の継続の指示を示す情報が入力された場合に処理を継続すると判定する。また、プロセッサー10は、記憶装置70に未処理の入力データが格納されている場合に処理を継続すると判定する。対象データ処理シーケンスDSqを用いた処理を継続する場合(ステップS305;YES)、ステップS302の処理が再び実行される。対象データ処理シーケンスDSqを用いた処理を継続しない場合(ステップS305;NO)、プロセッサー10は、図15に示す処理を終了する。
【0090】
以上説明したように、生成装置100により生成されるデータ処理シーケンスに含まれるデータ処理は、画像処理フィルターを用いた処理に限定されていない。一方、従来の画像処理シーケンスにおいては、画像処理フィルターで表される処理が実行されており、入力データおよび出力データのいずれもが画像データであった。よって、画像データの特徴量の抽出、分類といった、画像データが出力とならない処理を含むデータ処理シーケンスを生成できなかった。このため、生成された画像処理シーケンスにより対応可能な課題が限られていた。
【0091】
これに対して、本実施形態においては、例えば、画像データの特徴量の抽出、分類を目的としたデータ処理シーケンスを生成できる。また、判別、検量といった、多岐にわたる目的に対応できるデータ処理シーケンスを生成できる。よって、データ処理シーケンスに含まれる各処理が画像処理フィルターを用いた処理である態様に比べて、生成されたデータ処理シーケンスにより対応可能な課題の幅が広がる。
【0092】
さらに、入力データの特性に応じた処理がデータ前処理の選択肢としてユーザーに提示され、目標データの特性に応じた処理が、データ後処理の選択肢としてユーザーに提示される。よって、データ処理についての詳しい知識を有しないユーザーであっても、容易にデータ処理シーケンスを作成できる。
【0093】
また、データ前処理として選択されうる処理は、入力データの特性に応じた処理であり、データ後処理として選択されうる処理は、目標データの特性が考慮されたものである。あらかじめ用意されたすべてのデータ処理の方法が選択肢となる態様にくらべて、基準条件を満たすデータ処理シーケンスを特定するまでの時間を短縮できる。
【0094】
B1.他の実施形態1:
実施形態においては、対象データ処理シーケンスの生成に関する処理(図14を参照)の終了条件が、生成された複数のデータ処理シーケンスSqそれぞれについて算出された評価値EVのうち最も高い評価値EVである最大評価値EVmaxが、あらかじめ決められた閾値より高いことであった。しかしながら、終了条件はこれに限られない。例えば、あらかじめ決められた回数だけ世代交代が行われたことを終了条件としてもよい。この場合、生成されたすべてのデータ処理シーケンスSqそれぞれについての評価値EVを記憶装置70に保存しておき、最も高い評価値EVを得られたデータ処理シーケンスSqが対象データ処理シーケンスSqとして特定されてもよい。
【0095】
B2.他の実施形態2:
実施形態においては、目標データの特性に応じたデータ後処理についての選択肢の特定ができない場合に、ユーザーにタスクジャンルを選択させる例を説明したが、これに限られない。例えば、常にユーザーにタスクジャンルを選択させてもよい。この場合、例えば、生成装置100は、目標データの特性に応じた選択肢と、選択されたタスクジャンルに応じた選択肢とをユーザーに提示してもよい。あるいは、生成装置100は、目標データの特性とタスクジャンルとのうち、優先度の高い方についての選択肢をユーザーに提示してもよい。例えば、目標データの特性についての優先度が高く設定されている場合、生成装置100は、目標データの特性に応じた選択肢をユーザーに提示する。
【0096】
また、ユーザーにタスクジャンルを選択させなくてもよい。目標データの特性に応じたデータ後処理についての選択肢の特定ができない場合には、処理候補テーブル75に登録されているデータ後処理のすべての候補を選択肢としてユーザーに提示してもよい。
【0097】
B3.他の実施形態3:
実施形態においては、モノクロ画像を2次元データの例とした。データ処理シーケンスSqの処理の対象には、RGB画像が含まれてもよい。この場合、R、G、Bの3つのチャネルそれぞれに対して、画像フィルターによる処理が行われる。
【0098】
また、データ処理シーケンスSqの処理の対象には、分光画像が含まれてもよい。分光画像は、例えば、2次元のイメージに加え、分光スペクトルのデータを取得できる分光カメラによって撮影される。分光画像は、2次元の空間情報と、画素ごとの分光スペクトルの情報とを含み、3次元のデータである。分光画像を入力データとする場合、データ処理シーケンスSqにおいては、1次元データ用のデータ処理と2次元データ用の処理とを組み合わせたデータ処理が行われてもよい。また、分光画像としては、2次元のイメージでなく、所定の波長における、画素ごとの1次元の輝度値、分光反射率、または分光反射スペクトルであってもよい。その場合は分光光度計が利用できる。
【0099】
B4.他の実施形態4:
実施形態においては、データ処理シーケンスSqにおける、入力データが画像であり、出力データがラベル値であり、入力データのタイプと出力データのタイプとが異なる例を示した。しかしながら、例えば、入力データがモノクロ画像であり、出力データもモノクロ画像である場合のように、データ処理シーケンスSqにおける、入力データと出力データとのタイプが同じであってもよい。
【0100】
実施形態においては、データ処理シーケンスSqにおけるデータ後処理が、判別分析あるいは回帰分析である例を説明したが、データ後処理は、これらに限られない。例えば、中間データを用いて、入力データの特徴量を抽出する処理であってもよい。
【0101】
B5.他の実施形態5:
上記実施形態では、データ処理シーケンスSqは、個体IVと第1遺伝子テーブル82と第2遺伝子テーブル83とによって表されていていたが、これに限定されるものではない。例えば、データ処理シーケンスSqは、複数のシーケンス要素と、各シーケンス要素の接続関係を規定したテーブルによって表されていてもよい。
【0102】
C.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0103】
(1)本開示の第1の形態によれば、データ処理シーケンスの生成方法が提供される。この生成方法は、シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成方法である。この生成方法は、(a)前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付けるステップと、(b)前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付けるステップと、(c)複数の遺伝子を配列した個体を新たに生成するステップと、(d)複数のデータ処理シーケンスを生成するステップであって、前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、前記ステップ(a)で選択された前記第1選択肢を前記データ前処理の候補とし、前記ステップ(b)で選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成するステップと、(e)前記複数のデータ処理シーケンスそれぞれによって前記入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得するステップと、(f)前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を判定するステップと、(g)前記対象データ処理シーケンスが特定されていない場合に、次の世代の前記個体の生成に用いられる現世代の前記個体を、前記評価値を用いて特定し、交叉と突然変異との少なくとも1つを行って前記個体を新たに生成することにより、前記個体の世代交代を行うステップと、(h)前記対象データ処理シーケンスが特定されることを含む終了条件が満たされるまで、前記ステップ(d)から前記ステップ(g)までを繰り返すステップと、を含む。
この形態によれば、データ処理シーケンスに含まれる各処理が画像処理フィルターを用いた処理である態様に比べて、生成されたデータ処理シーケンスにより対応可能な課題の幅が広がる。さらに、入力データの特性に応じた処理がデータ前処理の選択肢としてユーザーに提示され、目標データの特性に応じた処理が、データ後処理の選択肢としてユーザーに提示される。よって、データ処理についての詳しい知識を有しないユーザーであっても、容易にデータ処理シーケンスを作成できる。また、データ前処理として選択されうる処理は、入力データの特性に応じた処理であり、データ後処理として選択されうる処理は、目標データの特性が考慮されたものである。あらかじめ用意されたすべてのデータ処理の方法が選択肢となる態様にくらべて、基準条件を満たすデータ処理シーケンスを特定するまでの時間を短縮できる。
【0104】
(2)上記形態において、(i)前記データ処理シーケンスが表す一連のデータ処理の目的のタイプの選択を受け付けるステップ、をさらに備え、前記ステップ(b)において、前記目標データの特性と前記ステップ(h)で選択された前記目的のタイプとのうち少なくとも一方に応じた前記第2選択肢を提示してもよい。
この形態によれば、ユーザーは、提示された目標データの特性とデータ処理の目的のタイプとに応じたデータ後処理の候補から、データ後処理の方法を選択すればよい。よって、データ処理についての詳しい知識を有しないユーザーであっても、容易にデータ処理シーケンスを作成できる。
【0105】
(3)上記形態において、前記入力データに関するデータのタイプと、前記出力データに関するデータのタイプとが異なってもよい。
従来の画像処理シーケンスにおいては、画像処理フィルターで表される処理が実行されており、入力データおよび出力データのいずれもが画像データであった。よって、画像データの特徴量の抽出、分類といった、画像データが出力とならない処理を含むデータ処理シーケンスを生成できなかった。しかしながら、上記の形態においては、例えば、画像データの特徴量の抽出、分類を目的としたデータ処理シーケンスを生成できる。
【0106】
(4)上記形態において、前記データ前処理は、画像処理フィルターを用いた処理であり、前記データ後処理は、判別、検量のうちのいずれかの処理であってもよい。
この形態によれば、判別、検量といった、多岐にわたる目的に対応できるデータ処理シーケンスを生成できる。
【0107】
(5)本開示の第2形態によれば、データ処理シーケンスを生成する生成装置が提供される。この生成装置は、シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する。この生成装置は、前記データ前処理および前記データ後処理についての選択を受けつける受付部であって、前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付け、前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付ける、受付部と、複数の遺伝子を配列した個体を新たに生成する個体生成部と、複数のデータ処理シーケンスを生成する生成部であって、前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、選択された前記第1選択肢を前記データ前処理の候補とし、選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成する生成部と、前記複数のデータ処理シーケンスそれぞれによって前記入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得する評価値取得部と、前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を特定する特定部と、を備え、前記対象データ処理シーケンスを特定することを含む終了条件が満たされるまで、前記生成部が前記複数のデータ処理シーケンスを生成する処理と、前記評価値取得部が前記複数のデータ処理シーケンスそれぞれについての前記評価値を取得する処理と、前記個体生成部が、前記評価値を用いて、次の世代の前記個体の生成に用いられる現世代の前記個体を特定し、交叉と突然変異との少なくとも1つを行うことにより、前記個体の世代交代を行う処理と、が繰り返される。
この形態によれば、データ処理シーケンスに含まれる各処理が画像処理フィルターを用いた処理である態様に比べて、生成されたデータ処理シーケンスにより対応可能な課題の幅が広がる。さらに、入力データの特性に応じた処理がデータ前処理の選択肢としてユーザーに提示され、目標データの特性に応じた処理が、データ後処理の選択肢としてユーザーに提示される。よって、データ処理についての詳しい知識を有しないユーザーであっても、容易にデータ処理シーケンスを作成できる。また、データ前処理として選択されうる処理は、入力データの特性に応じた処理であり、データ後処理として選択されうる処理は、目標データの特性が考慮されたものである。あらかじめ用意されたすべてのデータ処理の方法が選択肢となる態様にくらべて、基準条件を満たすデータ処理シーケンスを特定するまでの時間を短縮できる。
【0108】
(6)本開示の第3形態によれば、プログラムが提供される。このプログラムは、シーケンス要素としての、入力データを入力するデータ入力処理と、少なくとも1つのデータ前処理と、前記データ前処理の後に行われる、少なくとも1つのデータ後処理と、前記データ前処理および前記データ後処理がなされたデータを出力データとして出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する装置として機能するコンピューターに、(a)前記入力データの特性に応じた前記データ前処理についての複数の第1選択肢をユーザーに提示し、少なくとも1つの前記データ前処理についての選択を受け付ける機能と、(b)前記入力データに対応付けられた所望の目標データの特性に応じた前記データ後処理についての複数の第2選択肢をユーザーに提示し、少なくとも1つの前記データ後処理についての選択を受け付ける機能と、(c)複数の遺伝子を配列した個体を新たに生成する機能と、(d)複数のデータ処理シーケンスを生成する機能であって、前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した前記複数の遺伝子を配列した前記個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスであり、前記ステップ(a)で選択された前記第1選択肢を前記データ前処理の候補とし、前記ステップ(b)で選択された前記第2選択肢を前記データ後処理の候補として用いて、複数のデータ処理シーケンスを生成する機能と、(e)前記複数のデータ処理シーケンスそれぞれによって入力データを処理して得られた出力データと、前記目標データとを用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得する機能と、(f)前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスの有無を判定する機能と、(f)前記対象データ処理シーケンスが特定されていない場合に、次の世代の前記個体の生成に用いられる現世代の前記個体を、前記評価値を用いて特定し、交叉と突然変異との少なくとも1つを行って前記個体を新たに生成することにより、前記個体の世代交代を行う機能と、を実現させる。
この形態によれば、データ処理シーケンスに含まれる各処理が画像処理フィルターを用いた処理である態様に比べて、生成されたデータ処理シーケンスにより対応可能な課題の幅が広がる。さらに、入力データの特性に応じた処理がデータ前処理の選択肢としてユーザーに提示され、目標データの特性に応じた処理が、データ後処理の選択肢としてユーザーに提示される。よって、データ処理についての詳しい知識を有しないユーザーであっても、容易にデータ処理シーケンスを作成できる。また、データ前処理として選択されうる処理は、入力データの特性に応じた処理であり、データ後処理として選択されうる処理は、目標データの特性が考慮されたものである。あらかじめ用意されたすべてのデータ処理の方法が選択肢となる態様にくらべて、基準条件を満たすデータ処理シーケンスを特定するまでの時間を短縮できる。
【0109】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、コンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)の形態で実現することができる。
【符号の説明】
【0110】
1…生成システム、10…プロセッサー、20…シーケンス生成部、22…個体生成部、24…遺伝子翻訳部、30…受付部、40…処理部、50…評価部、60…表示制御部、70…記憶装置、71…学習データセット、73…データ処理プログラム群、75…処理候補テーブル、82…第1遺伝子テーブル、83…第2遺伝子テーブル、84…個体群データ、86…特定データ、88…各種プログラム、90…インターフェイス部、150…入力装置、160…表示装置、100…生成装置、200…撮像装置、Ap1~Ap6…分析処理、Ap11~Ap15…分析処理、DA…欠陥部分、DSq…対象データ処理シーケンス、EV…評価値、EVmax…最大評価値、FtA~FtE…画像処理フィルター、G…世代、Gn…現世代、IV,IV1,IVn…個体、LM,LM1,LM2…学習データ、PM…出力データ、SD…程度、Sq,Sq1…データ処理シーケンス、TM…目標データ、VG…数値、in…データ入力層、out…データ出力層
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15