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

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

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

特開2024-18149画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム
<>
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図1
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図2
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図3
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図4
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図5
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図6
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図7
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図8
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図9
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図10
  • 特開-画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018149
(43)【公開日】2024-02-08
(54)【発明の名称】画像処理シーケンスの生成方法、生成装置、および、コンピュータープログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240201BHJP
   G06N 20/00 20190101ALI20240201BHJP
【FI】
G06T7/00 350B
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022121277
(22)【出願日】2022-07-29
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】金井 政史
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096EA43
5L096FA32
5L096GA01
5L096GA51
5L096GA55
(57)【要約】
【課題】基準条件を満たす画像処理シーケンスを特定するまでの処理時間が長くなることを抑制する。
【解決手段】画像処理シーケンスの生成方法は、次ルーチンシーケンスセットを今回のルーチンにおけるシーケンスセットとして用いる場合、記憶装置に記憶された参照シーケンスと、シーケンスセットを構成する複数の画像処理シーケンスのそれぞれを比較し、画像処理シーケンスのうちで、参照シーケンスと同じシーケンスであって画像入力層と画像入力層から連続して接続されたシーケンス要素とによって構成されたシーケンスについては、参照シーケンスに関連付けられた処理後画像を用いて、画像処理シーケンスの出力画像を生成する。
【選択図】図8
【特許請求の範囲】
【請求項1】
画像処理シーケンスの生成方法であって、
(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する工程と、
(b)前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する工程と、
(c)前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する工程と、
(d)前記評価値を算出する前記工程(c)の前に、前記工程(a)によって生成した前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する工程と、
(e)前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成する工程と、
(f)前記工程(a)によって生成した前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる工程と、
(g)前記複数の画像処理シーケンスのそれぞれに対応する複数の前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する工程と、を備え、
前記工程(a)~前記工程(g)の前記ルーチンは、前記基準条件を満たす前記画像処理シーケンスが特定されるまで繰り返し実行され、
前記工程(f)において、前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、
前記工程(b)は、前記次ルーチンシーケンスセットを今回の前記ルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する、画像処理シーケンスの生成方法。
【請求項2】
請求項1に記載の画像処理シーケンスの生成方法であって、
前記工程(d)において、初回の前記ルーチンでは、ランダムな値を前記仮評価値に設定することと、過去に実行した前記画像処理シーケンスの生成方法において前記工程(c)によって算出した前記評価値としての過去評価値を前記仮評価値に設定すること、のいずれか一方によって前記仮評価値を算出する、画像処理シーケンスの生成方法。
【請求項3】
請求項1に記載の画像処理シーケンスの生成方法であって、
前記工程(d)において、2回目以降の前記ルーチンでは、前回の前記ルーチンにおける前記工程(c)によって算出した前記評価値として前回評価値と、前記前回評価値の算出元である前記画像処理シーケンスとしての前回画像処理シーケンスと、前記仮評価値の算出対象である前記画像処理シーケンスとの一致率と、を用いて前記仮評価値を算出する、画像処理シーケンスの生成方法。
【請求項4】
請求項3に記載の画像処理シーケンスの生成方法であって、
前記工程(b)において、前記複数の画像処理シーケンスはそれぞれ、前記画像入力層および前記画像処理層のそれぞれに対応した複数の遺伝子を配列した個体と、前記シーケンス要素の接続関係を規定した遺伝子テーブルと、によって表され、
前記工程(e)において、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることは、前記仮条件を満たす前記画像処理シーケンスを表す現世代の前記個体に対して、交叉と突然変異との少なくとも一つによって次世代の前記個体を生成することで実行され、
前記一致率は、前記現世代の前記個体と、前記現世代の前記個体を用いて生成された前記次世代の前記個体と、の一致率である、画像処理シーケンスの生成方法。
【請求項5】
請求項3または請求項4に記載の画像処理シーケンスの生成方法であって、
前記工程(d)において、前記2回目以降の前記ルーチンでは、前記前回評価値と前記一致率とを用いて算出した値に、ランダムな値を加算することで前記仮評価値を算出する、画像処理シーケンスの生成方法。
【請求項6】
請求項1に記載の画像処理シーケンスの生成方法であって、
前記工程(e)において、前記仮条件は、(i)前記類似の程度が予め定めた仮閾値以上であるという条件と、(ii)前記類似の程度が上位M個(Mは、1以上の整数)以内であるという条件と、のいずれかである、画像処理シーケンスの生成方法。
【請求項7】
画像処理シーケンスの生成装置であって、
シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成するシーケンス生成部と、
前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する画像処理部と、
前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する評価値算出部と、
前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する仮評価値算出部と、を備え、
前記シーケンス生成部は、前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成し、
前記生成装置は、さらに、
前記シーケンス生成部によって生成した前記シーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる登録部と、
前記複数の画像処理シーケンスのそれぞれに対応する前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する特定部と、を備え、
前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、
前記画像処理部は、前記次ルーチンシーケンスセットを今回のルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する、画像処理シーケンスの生成装置。
【請求項8】
コンピュータープログラムであって、
(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する機能と、
(b)前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する機能と、
(c)前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する機能と、
(d)前記評価値を算出する前記機能(c)を実行する前に、前記機能(a)によって生成した前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する機能と、
(e)前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成する機能と、
(f)前記機能(a)によって生成した前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる機能と、
(g)前記複数の画像処理シーケンスのそれぞれに対応する複数の前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する機能と、をコンピューターに実行させ、
前記機能(a)~前記機能(g)の前記ルーチンは、前記基準条件を満たす前記画像処理シーケンスが特定されるまで繰り返し実行され、
前記機能(f)において、前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、
前記機能(b)は、前記次ルーチンシーケンスセットを今回の前記ルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理シーケンスを生成する技術に関する。
【背景技術】
【0002】
従来、遺伝的プログラミングを用いることにより、個体を木構造のように構造的に表現する技術が知られている(特許文献1)。また、従来、遺伝的アルゴリズムによって画像処理シーケンスを表す個体を生成する技術において、個体の中で他の個体と共通したフィルター列を抽出して登録する技術が知られている(特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-87055号公報
【特許文献2】特開2007-34719号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では、遺伝的プログラミングを用いることにより、複数の画像処理シーケンスを生成し、画像処理シーケンスの評価を世代ごとに繰り返し行うことで、基準条件を満たす画像処理シーケンスを特定している。しかしながら、従来の技術では、所望とする画像処理シーケンスを特定するまでに何世代にもわたって個体を生成する必要が生じる可能性があり、基準条件を満たす画像処理シーケンスを特定するまでの処理時間が長くなる場合が生じる。特に、画像処理シーケンスにおいて使用する画像フィルターの種類が増えたり、遺伝子長が長くなったりした場合に、基準条件を満たす画像処理シーケンスを特定するまでの処理時間が長くなる。また、特許文献2の技術において、同じフィルター列がある場合には、予め登録したフィルター列を用いて画像処理を実行しているが、画像ごとに画像処理を行う必要があるため、基準条件を満たす画像処理シーケンスを特定するまでの処理時間が長くなる場合が生じる。このような課題は、複数の画像処理シーケンスの中から基準条件を満たす画像処理シーケンスを特定する技術に共通する。
【課題を解決するための手段】
【0005】
本開示の第1形態によれば、画像処理シーケンスの生成方法が提供される。この画像処理シーケンスの生成方法は、(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する工程と、(b)前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する工程と、(c)前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する工程と、(d)前記評価値を算出する前記工程(c)の前に、前記工程(a)によって生成した前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する工程と、(e)前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成する工程と、(f)前記工程(a)によって生成した前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる工程と、(g)前記複数の画像処理シーケンスのそれぞれに対応する複数の前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する工程と、を備え、前記工程(a)~前記工程(g)の前記ルーチンは、前記基準条件を満たす前記画像処理シーケンスが特定されるまで繰り返し実行され、前記工程(f)において、前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、前記工程(b)は、前記次ルーチンシーケンスセットを今回の前記ルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する。
【0006】
本開示の第2形態によれば、画像処理シーケンスの生成装置が提供される。この生成装置は、シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成するシーケンス生成部と、前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する画像処理部と、前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する評価値算出部と、前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する仮評価値算出部と、を備え、前記シーケンス生成部は、前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成し、前記生成装置は、さらに、前記シーケンス生成部によって生成した前記シーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる登録部と、前記複数の画像処理シーケンスのそれぞれに対応する前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する特定部と、を備え、前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、前記画像処理部は、前記次ルーチンシーケンスセットを今回のルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する。
【0007】
本開示の第3形態によれば、コンピュータープログラムが提供される。このコンピュータープログラムは、(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する機能と、(b)前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する機能と、(c)前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する機能と、(d)前記評価値を算出する前記機能(c)を実行する前に、前記機能(a)によって生成した前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する機能と、(e)前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成する機能と、(f)前記機能(a)によって生成した前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる機能と、(g)前記複数の画像処理シーケンスのそれぞれに対応する複数の前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する機能と、をコンピューターに実行させ、前記機能(a)~前記機能(g)の前記ルーチンは、前記基準条件を満たす前記画像処理シーケンスが特定されるまで繰り返し実行され、前記機能(f)において、前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、前記機能(b)は、前記次ルーチンシーケンスセットを今回の前記ルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する。
【図面の簡単な説明】
【0008】
図1】実施形態の生成システムを説明するための図。
図2】記憶装置を説明するための図。
図3】学習データの一例を示す図。
図4】遺伝子テーブルを説明するための図。
図5】一つのルーチンにおいて生成される個体群データを説明するための図。
図6】木構造の画像処理シーケンスを示す図。
図7】参照テーブルを示す図。
図8】仮評価値の算出方法と、参照データの生成方法を説明するための図。
図9】生成装置が実行する処理を示すフローチャート。
図10】ステップS10の生成処理工程の詳細なフローチャート。
図11】利用処理工程のフローチャート。
【発明を実施するための形態】
【0009】
A.実施形態:
図1は、実施形態の生成システム10を説明するための図である。生成システム10は、生成装置20と撮像装置200とを備える。生成装置20と撮像装置200とは、有線や無線によってデータを送受信可能である。撮像装置200は、カメラであり、対象物を撮像して撮像画像を取得する。撮像装置200によって取得された撮像画像は、生成装置20に送信される。
【0010】
生成装置20は、画像処理後の所望とする画像を得るための特定画像処理シーケンスDSqを生成するシーケンス生成処理機能と、シーケンス生成処理機能によって生成した特定画像処理シーケンスDSqによって画像を画像処理して処理後画像を出力する画像処理機能と、を有する。本実施形態の生成装置20は、撮像画像を元に、所望の目的を達成するための画像を得るための特定画像処理シーケンスDSqを自動で生成する。例えば、生成装置20は、撮像装置200によって撮像された工業製品である回路基板の画像を、特定画像処理シーケンスDSqを用いて画像処理することで、欠陥部分が黒画像、それ以外の部分が白画像で表された二値化画像を処理後画像として出力する。この二値化画像を元に、欠陥部分の有無や位置がユーザーや装置によって特定されることで、工業製品の検査が行われる。
【0011】
シーケンス生成処理機能は、複数の画像処理シーケンスSqを、遺伝的プログラミングを用いて生成する。また、シーケンス生成処理機能は、生成した複数の画像処理シーケンスSqの中から所望とする画像処理後の画像を得るための特定画像処理シーケンスDSqを特定する。本実施形態では、シーケンス生成処理機能と画像処理機能とは、一つの生成装置20に搭載されているが、これに限定されるものではない。他の実施形態では、シーケンス生成処理機能と画像処理機能とは、別々の装置に搭載されていてもよいし、クラウド上に存在していてもよい。
【0012】
生成装置20は、パーソナルコンピューターなどの電子計算機である。生成装置20は、プロセッサー25と、記憶装置70と、入力部150と、表示部160とを備える。プロセッサー25は、記憶装置70に記憶された各種プログラムを実行することで、生成装置20の動作を制御する。プロセッサー25の詳細な機能は後述する。記憶装置70は、RAMやROMなどのメモリーにより構成されている。記憶装置70には、プロセッサー25の各機能を実現するための各種プログラムと、画像処理シーケンスSqの生成のために用いる各種データとが記憶されている。記憶装置70の詳細は後述する。入力部150は、外部からの情報を受け付けるインターフェースである。入力部150は、例えば、撮像装置200からの撮像画像の入力を受け付けたり、ユーザーが他の装置を用いて生成した画像の入力を受け付けたりする。表示部160は、各種情報を表示する。表示部160は、例えば、液晶モニターである。
【0013】
プロセッサー25は、記憶装置70の各種プログラムを実行することで、シーケンス生成部30と、画像処理部40と、評価判定部46と、特定部49と、登録部55と、表示制御部60として機能する。なお、プロセッサー25によって実行される機能の一部は、ハードウェア回路によって実現されてもよい。ここで、本開示において、「プロセッサー」は、CPUやGPUを包含する用語である。
【0014】
シーケンス生成部30は、個体IVによって示された遺伝子の配列を木構造のように構造的に表現することで、シーケンス要素の組み合わせが異なる複数の画像処理シーケンスSqによって構成されるシーケンスセットを生成する。画像処理シーケンスSqは、複数のシーケンス要素の組み合わせによって表されている。シーケンス要素としては、(i)画像を入力するノードである画像入力層と、(ii)画像入力層と画像出力層との間の中間のノードである、画像処理フィルターとしての画像処理層と、(iii)画像処理後、すなわち最終的な画像処理後の画像である出力画像PMを出力するノードである画像出力層とがある。
【0015】
シーケンス生成部30は、個体生成部32と、遺伝子翻訳部34とを備える。個体生成部32は、一次元または二次元に配列された複数の遺伝子によって構成される個体IVを生成する。個体IVを構成する各遺伝子は、画像入力層と、画像処理層の種類、本実施形態では画像処理フィルターとをそれぞれ表す数値である。数値範囲ごとに、画像入力層や異なる画像処理フィルターが割り当てられる。つまり、個体IVは、画像入力層および画像処理層のそれぞれに対応した遺伝子を配列することで生成される。個体生成部32は、一つの世代Gごとに、予め定めた数の個体IVを生成する。
【0016】
本実施形態では、個体生成部32は、一次元に遺伝子を配列することで、予め定めた遺伝子長の個体IVを生成する。一つの世代Gごとにおいて、複数の画像処理シーケンスSqのシーケンス要素の組み合わせは異なる。個体生成部32は、特定画像処理シーケンスDSqの生成処理における1つのルーチンにおいて、複数の個体IVから構成された個体群としての第1種個体群IVGaと、複数の個体IVから構成された個体群としての第2種個体群IVGbとを生成する。第1種個体群IVGaは、後述する評価値EVを算出するための複数の画像処理シーケンスSqから構成されたシーケンスセットを表す個体群である。第2種個体群IVGbは、次のルーチンにおいて評価値EVを算出するために用いる複数の画像処理シーケンスSqから構成されたシーケンスセットとしての次ルーチンシーケンスセットを表す個体群である。第2種個体群IVGbは、次のルーチンにおいては、第1種個体群IVGaとして取り扱われる。以上のように、個体生成部32は、1つのルーチンにおいて、現世代Gmの個体群IVGである第1種個体群IVGaと、次世代Gnの個体群IVGである第2種個体群IVGbとの2世代分の個体群IVGを生成する。
【0017】
ここで、特定画像処理シーケンスDSqを生成する生成処理において繰り返されるルーチンごとにおいて、第1種個体群IVGaの各個体IVによって表された画像処理シーケンスSqを評価対象画像処理シーケンスSqaとも呼び、第2種個体群IVGbによって表された画像処理シーケンスSqを次ルーチン用画像処理シーケンスSqbとも呼ぶ。
【0018】
個体生成部32は、初回のルーチンである一番初めの1世代目における第1種個体群IVGaについては、以下に記載する第1方法と第2方法とのいずれかを用いる。第1方法は、個体IVの各遺伝子座に、0から1までの小数点第3位までの数値を遺伝子としてランダムに配置することで、複数の個体IVから構成される個体群データ84を生成する方法である。第2方法は、過去に特定画像処理シーケンスDSqの生成処理の際に生成した複数の画像処理シーケンスSqを示す複数の個体IVを個体群データ84とする方法である。
【0019】
初回のルーチンや2回目以降における第2種個体群IVGbは、同じルーチンにおいて生成された第1種個体群IVGaを元に生成される。具体的には、個体生成部32は、第1種個体群IVGaを構成する個体IVに対して、交叉と突然変異との少なくとも一つの手法と、複製とを用いて個体IVを新たに生成することで、第2種個体群IVGbの各個体IVを生成する。つまり、第2種個体群IVGbによって表される次ルーチンシーケンスセットを構成する複数の画像処理シーケンスSqはそれぞれ、第1種個体群IVGaによって表されたシーケンスセットを構成する複数の評価対象画像処理シーケンスSqaを元に、複製や交叉や突然変異によって生成される。
【0020】
遺伝子翻訳部34は、記憶装置70に記憶された後述する遺伝子テーブル82を参照することで、個体IVの各遺伝子を翻訳して木構造で表された画像処理シーケンスSqを生成する。遺伝子テーブル82は、遺伝子である数値の数値範囲ごとに対応する画像処理フィルターと、各シーケンス要素の接続関係を規定したテーブルである。
【0021】
画像処理部40は、遺伝子翻訳部34が生成した第1種個体群IVGaにおける複数の評価対象画像処理シーケンスSqaのそれぞれによって、記憶装置70に記憶された後述する学習データ74が有する複数の学習画像LMをそれぞれ画像入力層に入力して画像処理する。そして画像処理部40は、複数の評価対象画像処理シーケンスSqごとに画像処理後の画像である出力画像PMを画像出力層から出力することで生成する。また画像処理部40は、記憶装置70に記憶された特定画像処理シーケンスDSqを用いて、検査対象である画像を画像入力層に入力して画像処理し、画像処理後の画像である出力画像PMを画像出力層から出力することで生成する。
【0022】
評価判定部46は、評価値算出部47と、仮評価値算出部48とを有する。評価値算出部47は、第1種個体群IVGaにおける複数の評価対象画像処理シーケンスSqaごとに、画像処理部40によって生成された出力画像PMと、出力画像PMの元となる学習画像LMに関連付けられた目標画像TMとを比較する。そして評価値算出部47は、出力画像PMと目標画像TMとを比較した結果として、類似の程度SDを示す評価値EVを算出する。評価値算出部47は、1つの評価対象画像処理シーケンスSqaによって複数の学習画像LMが画像処理されて、複数の出力画像PMが生成される場合には、各出力画像PMに対応する評価値EVを算出して、各評価値EVの統計量を最終的な評価値EVとして算出する。各評価値EVの統計量としては、平均値や中央値などの値が用いられる。本実施形態では、統計量として平均値が用いられる。
【0023】
評価値EVとしては、2つの画像の類似の程度SDを表す指標値であればよく、例えば、平均二乗誤差(MSE:Mean Squared Error)や、ピーク信号対雑音比(PSNR:Peak signal-to-noise ratio)や、構造的類似度(SSIM:Structural Similarity)の一つを用いることができる。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を示す。なお、「類似の程度SD」は「類似度SD」とも呼ぶ。
【0024】
仮評価値算出部48は、複数の評価対象画像処理シーケンスSqaを用いて学習画像LMの画像処理が実行される前に、複数の評価対象画像処理シーケンスSqaごとに、評価値EVの推定値としての仮評価値PEVを算出する。仮評価値算出部48は、評価対象画像処理シーケンスSqaによって出力画像PMを生成することなく、予測される出力画像PMと、目標画像TMとの類似の程度SDを示す仮評価値PEVを予測して算出する。仮評価値算出部48は、特定画像処理シーケンスDSqを生成する生成処理の初回のルーチン、すなわち最初の世代Gにおける評価対象画像処理シーケンスSqaにおける仮評価値PEVを算出する場合には、以下の第1算出方法と、第2算出方法とのいずれか一方の方法によって、仮評価値PEVを算出する。これにより、初回のルーチンにおける仮評価値PEVを容易に設定できる。
第1算出方法:予め定めた範囲内におけるランダムな値を仮評価値PEVに設定する。予め定めた範囲は、評価値EVが取り得る範囲に設定される。なお、第1算出方法が用いられる場合には、シーケンス生成部30は初回のルーチンにおいて、第1種個体群IVGaの各個体IVの各遺伝子座に、0から1までの小数点第3位までの数値を遺伝子としてランダムに配置する第1方法を用いて、ランダムに評価対象画像処理シーケンスSqaを生成する。
第2算出方法:過去に実行した特定画像処理シーケンスDSqのシーケンス生成方法による生成処理において評価値算出部47が算出した評価値EVとしての過去評価値LEVを仮評価値PEVに設定する。この場合、シーケンス生成部30は、初回のルーチンにおいて、過去に特定画像処理シーケンスDSqを生成する際に実行した生成処理において、過去評価値LEVが算出された画像処理シーケンスSqを示す各個体IVを生成する第2方法を用いて、第1種個体群IVGaを生成する。
【0025】
また、仮評価値算出部48は、特定画像処理シーケンスDSqを生成するための生成方法において実行する生成処理の2回目以降のルーチンにおける、第1種個体群IVGaの個体IVによって表された評価対象画像処理シーケンスSqaにおける仮評価値PEVを算出する場合には、以下の算出処理を実行する。すなわち、算出処理では、前回のルーチンにおける各評価対象画像処理シーケンスSqaを元に評価値算出部47によって算出された評価値EVを用いて、仮評価値算出部48は、仮評価値PEVを算出する。例えば、仮評価値算出部48は、(i)前回のルーチンにおいて算出された評価値EVとしての前回評価値EVMと、(ii)前回のルーチンにおいて算出された評価値EVの算出元である評価対象画像処理シーケンスSqaとしての前回画像処理シーケンスSqamと、仮評価値PEVの算出対象である評価対象画像処理シーケンスSqaである今回画像処理シーケンスSqanとの一致率と、を用いて仮評価値PEVを算出する。この具体的な算出式については後述する。
【0026】
また、仮評価値算出部48は、2回目以降のルーチンにおいて、算出した仮評価値PEVにランダムな値を加算することで最終的な仮評価値PEVを算出してもよい。ランダムな値は、予め定めた範囲の中から選択される。ランダムな値を加算することで、仮評価値PEVと評価値EVとの乖離を抑制できる。
【0027】
特定部49は、複数の評価対象画像処理シーケンスSqaのそれぞれに対応する複数の評価値EVを用いて、予め定めた登録条件を満たす評価対象画像処理シーケンスSqaを特定画像処理シーケンスDSqとして特定する。各評価対象画像処理シーケンスSqaについて、複数の学習セットSMに対して評価値EVが算出された場合には、評価値EVの統計量を最終的な評価値EVとする。統計量としては、平均値や中央値や最頻値や最大値などが挙げられる。本実施形態では、評価値EVの統計量は、平均値である。また特定部49は、統計量である最終的な評価値EVが示す類似の程度SDが予め定めた閾値以上である場合に、基準条件を満たすと判定する。具体的には、特定部49は、類似の程度SDが閾値以上となる最終的な評価値EVの値であれば、基準条件を満たすと判定する。本実施形態では、特定部49は、最終的な評価値EVが評価基準値以上であれば、類似の程度SDが閾値以上であるため、基準条件を満たすと判定する。
【0028】
登録部55は、評価対象画像処理シーケンスSqaと、次ルーチン用画像処理シーケンスSqbとを比較することで、参照データを生成して、参照テーブル88へ登録する。登録部55は、評価対象画像シーケンスSqaを表す個体IVと、次ルーチン用画像処理シーケンスSqbを表す個体IVとを比較することで参照データを生成してもよいし、遺伝子翻訳部34で翻訳した、画像処理シーケンスSqa,Sqb同士を比較することで参照データを生成してもよい。参照テーブル88は、次のルーチンにおいて、前回のルーチンにおける次ルーチン用画像処理シーケンスSqbを評価対象画像処理シーケンスSqaとして学習画像LMを画像処理する場合に、利用されるデータを記憶する。参照テーブル88は、例えば、学習画像LMごとに規定されている。参照テーブル88の詳細は後述する。
【0029】
表示制御部60は、各種情報を表示部160に表示させる。表示制御部60は、例えば、特定画像処理シーケンスDSqや、個体IVによって表された画像処理シーケンスSqによって画像処理された処理後画像や、目標画像TMや、評価値EVを表示部160に表示させる。
【0030】
図2は、記憶装置70を説明するための図である。記憶装置70は、学習データ74と、画像フィルター群80と、遺伝子テーブル82と、個体群データ84と、参照テーブル88と、特定画像処理シーケンスDSqと、各種プログラム94とを記憶する。特定画像処理シーケンスDSqは、評価値算出部47によって予め定めた基準条件を満たすと判定された画像処理シーケンスSqである。特定画像処理シーケンスDSqは、例えば、複数の画像処理層である複数の画像処理フィルターを識別する層識別子と、層識別子の順番、すなわち接続関係とによって表される。各種プログラム94は、プロセッサー25によって実行されるプログラムである。
【0031】
図3は、学習データ74の一例を示す図である。学習データ74は、(i)画像処理シーケンスSqによる画像処理対象である学習画像LMと、(ii)学習画像LMに関連付けられた所望とする目標画像TMと、によって構成された学習セットSMを複数セット有する。学習画像LMは、例えば、工業製品である回路基板の画像である。目標画像TMは、欠陥部分DAが黒画像、それ以外の部分が白画像で表された二値化画像である。目標画像TMは、例えば、予め欠陥部分の箇所が特定できている学習画像LMを参考に、ユーザーが欠陥部分DAを黒画像に設定し、それ以外の部分を白画像に設定することで生成される。なお、複数の学習セットSMは、欠陥部分DAを有する学習画像LMを有する複数の学習セットSMと、欠陥部分DAが含まれない画像である良品を示す学習画像LMを有する複数の学習セットSMとから構成される。複数の学習画像LMはそれぞれ、製造番号が異なる同種の回路基板を撮像装置200で撮像した画像である。各学習セットSMには識別番号TIDが付与されている。なお、図3に示す学習セットSMには、識別番号TIDとして、「T01」が付与されている。
【0032】
図2に示す画像フィルター群80は、画像処理シーケンスSqにおいてシーケンス要素の候補となる複数の画像フィルターの集合である。画像フィルターとしては、平均値フィルター、最大値フィルター、最小値フィルター、二値化フィルター、移動平均フィルター、ラプラシアンフィルター、ガウシアンフィルター、ソーベルフィルター、ガンマ補正フィルター、2つの画像を一つの画像に合成するフィルターなどが挙げられる。なお、画像処理フィルターは、同じ種類のフィルターであっても、カーネルサイズや係数が異なる場合には、異なる画像処理フィルターとして画像フィルター群80に記憶される。
【0033】
遺伝子テーブル82は、画像処理シーケンスSqの候補となるシーケンス要素の接続関係と、遺伝子が示す数値に対応する画像処理フィルターの種別との対応関係とを示すテーブルである。
【0034】
図4は、遺伝子テーブル82を説明するための図である。以下では、理解の容易の為に、画像フィルター群80は、5つの画像処理フィルターFtA~FtEで構成されているとする。実際には、5つよりも多い数の画像処理フィルターが、画像処理フィルター群に記憶されている。遺伝子テーブル82は、画像処理フィルターの種別を示すフィルター種別ごとに、入力数と出力数と出現範囲とが規定されている。フィルター種別は、画像フィルター群80の各画像処理フィルターや、画像入力層を識別する識別子である。図4では、画像入力層は、フィルター種別が「in」で表されている。入力数は、画像処理フィルターや画像入力層の入力側に接続されるシーケンス要素の数を示す。入力数が「2」である場合には、2つのシーケンス要素から出力されたデータが、画像処理フィルターに入力される。出力数は、画像処理フィルターの出力側に接続されるシーケンス要素の数を示す。本実施形態では、出力数は全て「1」であり、画像処理層や画像入力層は、一つの出力側のシーケンス要素に接続される。
【0035】
遺伝子テーブル82の出現範囲には、遺伝子の数値VGの範囲が規定されている。本実施形態では、各画像処理フィルターが概ね均等な確率でランダムに画像処理シーケンスSq中に出現するように、0~1の数値を6等分している。例えば、遺伝子の数値VGが0以上0.167未満の値である場合には、この遺伝子には画像処理フィルターFtAが割り当てられる。
【0036】
図2に示す個体群データ84は、個体生成部32によって生成された1つのルーチンにおける第1種個体群IVGaおよび第2種個体群IVGbを有する。図5は、一つのルーチンにおいて生成される個体群データ84を説明するための図である。本実施形態では、1つの世代Gで5個の個体IVが生成される例を説明する。各個体IV1~IV10は、遺伝子を配置する複数の遺伝子座が一次元的に配列されている。各個体IV1~IV10の遺伝子長は同じであり、各個体IV1~IV10はNo.1~No.10の遺伝子座に遺伝子を順に配列することで構成されている。個体生成部32は、各遺伝子座に、0から1までの小数点第3位までの数値で表された遺伝子を配置する。つまり、本実施形態では、各遺伝子座で遺伝子が取りうる値は、0以上1以下の小数点第3位までの数値である。
【0037】
図2のさらなる説明を行う前に、図6を用いて、遺伝子翻訳部34による画像処理シーケンスSqの生成処理を説明する。図6は、遺伝子翻訳部34によって生成された木構造の画像処理シーケンスSqを示す図である。図6に示す画像処理シーケンスSqは、図5に示す個体IV1を元に生成された画像処理シーケンスSq1である。
【0038】
遺伝子翻訳部34は、個体IVと、遺伝子テーブル82と、画像フィルター群80とを用いて、画像出力層out側から順に木構造の画像処理シーケンスSqを生成する。まず遺伝子翻訳部34は、画像出力層outを終端ノードに設定し、個体IVの遺伝子の配列順にシーケンス要素を接続していく。シーケンス要素の接続は、予め定めた接続ルールに従い実行される。本実施形態では、遺伝子の配列順に、終端ノード側から優先して配置すると共に、図6に示す左側の接続先を右側の接続先よりも優先して配置するというルールに従って、画像処理シーケンスSqが生成される。つまり、遺伝子の配列順に、画像出力層out側から画像処理層または画像入力層inを配置すると共に、入力側が複数に分かれている場合には、左側のシーケンスが画像入力層inとなるまで、左側を優先させる。なお、本実施形態では、画像出力層outの入力数は、「1」に予め設定されている。
【0039】
遺伝子翻訳部34は、個体VI1のNo.1の遺伝子の数値VGである「0.534」と、遺伝子テーブル82とを参照して、「0.723」が画像処理フィルターFtEの出現範囲内にあることを特定する。これにより、画像出力層outの入力側に、画像処理フィルターFtEを接続する。次に、遺伝子翻訳部34は、遺伝子テーブル82を参照して画像処理フィルターFtEの入力数が「2」であることを特定することで、画像処理フィルターFtEの入力側に2つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、個体VI1のNo.2の遺伝子に対応するシーケンス要素を図6に示す左側の入力側接続先に配置する。つまり、遺伝子翻訳部34は、No.2の遺伝子の数値VGである「0.292」と、遺伝子テーブル82とを参照して、「0.292」が画像処理フィルターFtBの出現範囲内であることを特定する。これにより、画像処理フィルターFtDの左側の入力側接続先に画像処理フィルターFtBを配置する。
【0040】
次いで、遺伝子翻訳部34は、No.2の遺伝子が表す画像処理フィルターFtBと、遺伝子テーブル82とを参照して、画像処理フィルターFtBの入力数が「1」であることを特定することで、画像処理フィルターFtBの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.3の遺伝子の数値VGである「0.462」と、遺伝子テーブル82とを参照して、「0.462」が画像処理フィルターFtCの出現範囲内であることを特定する。これにより、No.3の遺伝子が示す画像処理フィルターFtBの入力側接続先に画像処理フィルターFtCを配置する。
【0041】
次に、遺伝子翻訳部34は、No.3の遺伝子が表す画像処理フィルターFtCと、遺伝子テーブル82とを参照して、画像処理フィルターFtCの入力数が「1」であることを特定することで、画像処理フィルターFtCの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.4の遺伝子の数値VGである「0.856」と、遺伝子テーブル82とを参照して、「0.856」が画像入力層inの出現範囲内であることを特定する。これにより、No.3の遺伝子が示す画像処理フィルターFtCの入力側接続先に画像入力層inを配置する。これにより、図6の画像処理シーケンスSqの左側のシーケンスの生成は終了する。
【0042】
ついで、遺伝子翻訳部34は、個体VI1のNo.5の遺伝子に対応するシーケンス要素を図6に示す右側の入力側接続先に配置する。つまり、遺伝子翻訳部34は、No.5の遺伝子の数値VGである「0.138」と、遺伝子テーブル82とを参照して、「0.138」が画像処理フィルターFtAの出現範囲内であることを特定する。これにより、画像処理フィルターFtDの右側の入力側接続先に画像処理フィルターFtAを配置する。
【0043】
また、遺伝子翻訳部34は、No.5の遺伝子が表す画像処理フィルターFtAと、遺伝子テーブル82とを参照して、画像処理フィルターFtAの入力数が「1」であることを特定することで、画像処理フィルターFtAの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.6の遺伝子の数値VGである「0.932」と、遺伝子テーブル82とを参照して、「0.932」が画像入力層inの出現範囲内であることを特定する。これにより、No.5の遺伝子が示す画像処理フィルターFtAの入力側接続先に画像入力層inを配置する。これにより、図6の画像処理シーケンスSqの右側のシーケンスの生成は終了する。以上のように、遺伝子翻訳部34は、出力側シーケンス要素に接続される入力側接続先である入力側シーケンス要素が、全て画像入力層inになった場合には、個体IV1の全ての遺伝子を用いていない場合であっても、画像処理シーケンスSqの生成処理を終了する。なお、遺伝子翻訳部34は、個体IV1の全ての遺伝子を用いた場合において、入力側接続先である入力側シーケンス要素が全て画像入力層inになっていない場合には、残りの未接続の入力側シーケンス要素に画像入力層inを設定することで、画像処理シーケンスSqの生成を終了する。
【0044】
個体VI1で表される画像処理シーケンスSq1は、2つの画像入力層inを有する。一方の画像入力層inに入力された画像は、画像処理フィルターFtCによって画像処理された後に、次いで画像処理フィルターFtBによって画像処理され、第1処理画像が生成される。他方の画像入力層inに入力された画像は、画像処理フィルターFtAによって画像処理されて第2処理画像が生成される。第1処理画像と第2処理画像とは、画像処理フィルターFtDによって画像処理されて、画像出力層outによって最終的な処理後画像が出力される。
【0045】
上記のごとく、複数の画像処理シーケンスSqを個体IVと遺伝子テーブル82とによって容易に表すことができる。
【0046】
図7は、参照テーブル88を示す図である。参照テーブル88は、学習画像LMごとに設けられている。図7には、複数の学習画像LMのうちで、第1学習画像LM1に対応する参照テーブル88を示している。参照テーブル88は、参照データを識別するための識別番号と、参照データとを有する。参照データは、評価対象画像処理シーケンスSqaの少なくとも一部である候補シーケンスCSqのうちで予め定めた登録条件を満たす候補シーケンスCSqである参照シーケンスRSqと、参照シーケンスRSqによって学習画像LMが画像処理された処理後画像PIMとを有する。処理後画像PIMは、参照シーケンスRSqに関連付けられており、参照シーケンスRSqのうちで最終段のノードから出力された画像である。候補シーケンスCSqは、画像入力層inと画像入力層inから連続して接続された画像処理層とを含む画像処理シーケンスである。参照シーケンスRSqは、シーケンス要素とシーケンス要素の接続関係とによって表されており、例えば、個体IVまたは個体IVの一部と、遺伝子テーブル82とによって表されている。予め定めた登録条件とは、候補シーケンスCSqが、次ルーチンシーケンスセットを構成する画像処理シーケンスとしての次ルーチン用画像処理シーケンスSqbの少なくとも一部である次ルーチン候補シーケンスPSqbと同じシーケンスであるという条件である。次ルーチン候補シーケンスPSqbは、画像入力層inと画像入力層inから連続して接続された画像処理層とを含むシーケンスである。登録条件を満たすか否かは、登録部55にとって判定される。
【0047】
図8は、仮評価値の算出方法と、参照テーブル88に記録する参照データの生成方法を説明するための図である。図8において、説明の容易のために、個体IVの遺伝子座の数および第1種個体群IVGaや第2種個体群IVGbの個体IV数は実際の数よりも少ない。また、図8に示す個体IVの遺伝子座には、本来であれば数値が割り当てられるが、理解の容易のためにシーケンス要素を示している。また、図9の個体IV1~IV9は、図5に示す各個体IV1~IV10とは別の個体である。「in」が画像入力層inを示す、「A」~「E」は、画像処理層である画像処理フィルターFtA~FtEを示す。また、各個体IV1~IV9に示す「sq」は、翻訳された画像処理シーケンスSqとして用いられた遺伝子の範囲を示している。例えば、個体IV1では、全ての遺伝子を用いて評価対象画像処理シーケンスSqa1が生成されている。一方で、個体IV2では、4つ目までの遺伝子を用いて評価対象画像処理シーケンスSqa2が生成されている。また、図8では、特定画像処理シーケンスDSqの生成処理において、G回目のルーチンと、(G+1)回目のルーチンの処理過程を示している。ここでは「G」は、2以上の整数である。
【0048】
仮評価値算出部48は、(G-1)回目のルーチンにおける評価対象画像処理シーケンスSqaの評価値EVを元に、G回目のルーチンにおける評価対象画像処理シーケンスSqaの仮評価値PEVを算出している。
【0049】
個体生成部32は、後述する仮評価値算出部48によって算出された評価対象画像処理シーケンスSqaの仮評価値PEVが示す類似の程度SDが、予め定めた仮条件を満たす評価対象画像処理シーケンスSqaを表す個体IVを複製することで、次ルーチン用画像処理シーケンスSqbとして維持する。また、個体生成部32は、仮評価値PEVが仮条件を満たさない評価対象画像処理シーケンスSqaを、仮条件を満たす評価対象画像処理シーケンスSqaが表す個体IVに対して交叉と突然変異との少なくとも一つによって次世代の個体IVを生成することで新たな次ルーチン用画像処理シーケンスSqbに置き換える。こうすることで、仮評価値PEVが示す類似の程度SDが高い画像処理シーケンスSqを維持することで、特定画像処理シーケンスDSqを特定するまでの処理時間をより短縮できる。また、仮条件を満たさない画像処理シーケンスSqは、仮条件を満たす画像処理シーケンスSqを表す個体IVに対して交叉と突然変異との少なくとも一つによって次世代の個体IVとして生成されるので、特定画像処理シーケンスDSqを特定するまでの処理時間をより短縮できる。
【0050】
仮条件は、仮評価値PEVが示す類似の程度SDが仮閾値以上であるという第1条件と、仮評価値PEVが示す類似の程度SDが上位M個(Mは、1以上の整数)以内であるという第2条件と、のいずれかである。図8に示す例では、仮条件は、第2条件であり、第1種個体群IVGaから第2種個体群IVGbを生成する場合には、上位2個以内の仮評価値PEVが示す個体IV1,IV2が複製され、第2種個体群IVGbの個体IV6,IV7として維持されている。また、個体生成部32は、個体IV1と個体IV2とを一点交叉によって第2種個体群IVGbの個体IV8を生成している。また、個体生成部32は、個体IV1に対して突然変異を行うことで、第2種個体群IVGbの個体IV9を生成している。
【0051】
登録部55は、評価対象画像処理シーケンスSqa1~Sqa4と、次ルーチン用画像処理シーケンスSqb1~Sqb4とを比較して、予め定めた登録条件を満たす評価対象画像処理シーケンスSqaの少なくとも一部である参照シーケンスRSqを特定する。図8に示す例では、評価対象画像処理シーケンスSqa1と次ルーチン用画像処理シーケンスSqb1とは同じ画像処理シーケンスであるため、登録部55は、評価対象画像処理シーケンスSqa1を参照シーケンスRSq1として参照テーブル88に登録する。また、登録部55は、同様に、評価対象画像処理シーケンスSqa2を参照シーケンスRSq2として参照テーブル88に登録する。さらに登録部55は、評価対象画像処理シーケンスSqa2のうちで、画像入力層inから連続して接続された画像処理フィルターFtA、FtDによって構成された候補シーケンスCSqが、次ルーチン用画像処理シーケンスSqb3の画像入力層inから連続して接続された画像処理フィルターFtA、FtDによって構成された次ルーチン候補シーケンスPSqbと同じであると判定する。これにより、登録部55は、評価対象画像処理シーケンスSqa2の候補シーケンスCSqを参照シーケンスRSq3として参照テーブル88に登録する。
【0052】
また登録部55は、画像処理部40によって第1種個体群IVGaの評価対象画像処理シーケンスSqa1~Sqa4を用いて学習画像LMを画像処理する過程において、参照シーケンスRSq1~RSq3の最終段のノードから出力された画像を処理後画像PIM1~PIM3として参照シーケンスRSq1~RSq3と関連付けて参照テーブル88に記憶する。
【0053】
第2種個体群IVGbを第1種個体群IVGaとする(G+1)回目のルーチンにおいて、評価値EVを算出する前に、仮評価値算出部48は、第1種個体群IVGaの各個体IV6~IV9が示す画像処理シーケンスSqの仮評価値PEVを以下の式(1)を用いて算出する。
【数1】
ここで、Wiは前世代の個体IVを構成する遺伝子の継承率、すなわち前回画像処理シーケンスSqamと、今回画像処理シーケンスSqanとの一致率であり、EViは、前世代の個体IVの評価値EVである。一致率は、画像処理シーケンスSqを表す個体IVの遺伝子を比較することで行われ、画像処理シーケンスSqとして用いられていない遺伝子も含む。つまり、一致率は、現世代Gmの個体IVのシーケンス要素を表す遺伝子と、現世代Gmの個体IVを用いて生成された次世代Gnの個体IVのシーケンス要素を表す遺伝子との一致率である。
【0054】
例えば、今回画像処理シーケンスSqanである画像処理シーケンスSqb3は、画像処理シーケンスSqa1と画像処理シーケンスSqa2とを交叉して生成されている。この場合、画像処理シーケンスSqb3の仮評価値PEVは、以下の式(2)から「0.84」となる。
【数2】
【0055】
また例えば、今回画像処理シーケンスSqanである画像処理シーケンスSqb4は、画像処理シーケンスSqa1について1つの遺伝子を突然変異することで生成されている。この場合、画像処理シーケンスSqb4の仮評価値PEVは、以下の式(3)から「0.87」となる。すなわち、突然変異によって生成したが画像処理シーケンスSqb4の仮評価値は、生成元の画像処理シーケンスSqa1の評価値EVと同じになる。
【数3】
【0056】
上記のごとく、前回画像処理シーケンスSqamと、今回画像処理シーケンスSqanとの一致率を用いて2回目以降のルーチンにおける仮評価値PEVが算出されることで、仮評価値PEVと評価値EVとの乖離を少なくできるので、特定画像処理シーケンスDSqを特定するまでの処理時間をより短縮できる。また上記のごとく、現世代Gmの個体IVと次世代Gnの個体IVとを用いて容易に一致率を算出できる。
【0057】
図9は、生成装置20が実行する処理を示すフローチャートである。この処理は、ステップS10の特定画像処理シーケンスDSqの生成処理工程と、ステップS10の後に実行されるステップS180の特定画像処理シーケンスDSqを利用した利用処理工程とを有する。特定画像処理シーケンスDSqの生成処理工程は、生成装置20が有するシーケンス生成処理機能によって実行される。また、利用処理工程は、生成装置20が有する画像処理機能によって実行される。
【0058】
図10は、ステップS10の生成処理工程の詳細なフローチャートである。図10に示すように、記憶装置70は、ステップS90において、複数の画像処理フィルターを画像フィルター群80として記憶する。ステップS90は、ユーザーが、特定画像処理シーケンスDSqで用いる候補となる複数の画像処理フィルターを生成装置20に入力することで実行される。ステップS92において、学習画像LMと目標画像TMとを学習セットSMとする複数の学習セットSMから構成される学習データ74が準備されて、記憶装置70に記憶される。ステップS92は、ユーザーが、複数の学習セットSMを生成装置20に入力することで実行される。なお、ステップS90とステップS92の順序はこれに限定されるものではない。
【0059】
次に、ステップS94において、個体生成部32は、評価値EVの算出対象である評価対象画像処理シーケンスSqaを表す第1種個体群IVGaを生成する。第1種個体群IVGaは、シーケンス要素の組み合わせが異なる複数の画像処理シーケンスSqによって構成されるシーケンスセットである。初回のルーチンにおけるステップS94では、個体生成部32は、上述のごとく、ランダムに画像処理シーケンスSqを生成する第1方法と、過去の特定画像処理シーケンスDSqを用いる第2方法とのいずれかを用いる。本実施形態では、初回のルーチンにおけるステップS94では、個体生成部32は、個体IVの各遺伝子座に、0から1までの小数点第3位までの数値を遺伝子としてランダムに配置する第1方法を採用することで、複数の個体IVを生成する。また、2回目以降のルーチンにおけるステップS94では、個体生成部32は、後述するステップS98で生成された第2種個体群IVGbを第1種個体群IVGaとして用いることで、第1種個体群IVGaを生成する。
【0060】
次に、ステップS96において、仮評価値算出部48は、評価値EVを算出する前に、第1種個体群IVGaが表す複数の評価対象画像処理シーケンスSqaごとに、仮評価値PEVを算出する。初回のルーチンにおけるステップS96では、仮評価値算出部48は、上述の第1算出方法と第2算出方法とのいずれか一方によって仮評価値PEVを算出する。本実施形態では、ステップS94において、ランダムに評価対象画像処理シーケンスSqaを生成する第1方法が用いられているため、仮評価値算出部48は、評価対象画像処理シーケンスSqaに対してランダムな値を仮評価値PEVに設定する。また、2回目以降のルーチンにおけるステップS96では、仮評価値算出部48は、上述のごとく前回評価値EVMと、一致率とを用いて、仮評価値PEVを算出する。
【0061】
次に個体生成部32は、ステップS98において、仮評価値PEVが示す類似の程度SDを用いて、上述のごとく、次世代の複数の個体IVから構成される第2種個体群IVGbを生成することで、新たな次ルーチン用画像処理シーケンスSqbを生成する。
【0062】
次に登録部55は、ステップS100において、参照テーブル88へ参照データを構成する参照シーケンスRSqを登録する。参照シーケンスRSqの登録方法は、図8を用いて上述したとおりである。
【0063】
次に遺伝子翻訳部34は、ステップS94で生成した第1種個体群IVGaの各個体IVを翻訳して、複数の評価対象画像処理シーケンスSqaを生成する。なお、ステップS94は、ステップS94の後であればよく、例えば、ステップS94のすぐ後に実行されてもよい。
【0064】
次に画像処理部40は、ステップS105において、参照テーブル88を参照して、評価対象画像シーケンスSqaの少なくとも一部と同じ参照シーケンスRSqがあるか否かを判定する。なお、このステップS105は、初回のルーチンでは省略してもよい。2回目以降のルーチン、つまり、次ルーチンシーケンスセットを表す第2種個体群IVGbを今回のルーチンにおける評価値EVの算出対象であるシーケンスセットを表す第1種個体群IVGaとして用いる場合、画像処理部40は、記憶装置70に記憶された参照テーブル88の参照シーケンスRSqと、シーケンスセットを構成する複数の評価対象画像処理シーケンスSqaのそれぞれを比較する。そして画像処理部40は、評価値EVの算出対象である評価対象画像処理シーケンスSqaのうちで、参照シーケンスRSqと同じシーケンスであって、画像入力層inと画像入力層inから連続して接続されたシーケンス要素とによって構成されたシーケンスを特定する。また、画像処理部40は、特定したシーケンスと同じ参照シーケンスRSqに関連付けられた処理後画像PIMを特定する。
【0065】
例えば、図8において、個体IV6,IV7で表された画像処理シーケンスSqb1,Sqb2を評価値EVの算出対象とした場合では、画像処理部40は、個体IV6,IV7が参照シーケンスRSq1,RSq2として参照テーブル88に登録された個体IV1,IV2と同じであるため、個体IV6,IV7の画像処理シーケンスSqb1,Sqb2が参照シーケンスRSq1,RSq2と同じであることと、参照シーケンスRSq1,RSq2に関連付けられた処理後画像PIM1,PIM2とを特定する。また、例えば、図8において、個体IV8で表された画像処理シーケンスSqb3を評価値EVの算出対象とした場合では、画像処理部40は、個体IV8が表す画像処理シーケンスSqb3の一部である「画像入力層in,画像処理フィルターFtA,画像処理フィルターFtD」が、参照シーケンスRSq3と同じであることと、参照シーケンスRSq3に関連付けられた処理後画像PIM3を特定する。
【0066】
次に図10に示すように、画像処理部40は、ステップS106において、複数の評価対象画像処理シーケンスSqaのそれぞれによって学習画像LMを画像処理し、複数の評価対象画像処理シーケンスSqaごとに画像処理後の画像である出力画像PMを生成する。ステップS106では、画像処理部40は、評価対象画像処理シーケンスSqaのうちでステップS105において特定した参照シーケンスRSqと同じシーケンスについては、参照シーケンスRSqに関連付けられた処理後画像PIMを用いて、画像処理シーケンスSqの出力画像PMを生成する。つまり、参照シーケンスRSqと同じシーケンスについては、画像処理を行うことなく処理後画像PIMをシーケンスの最終段から出力された画像として用いる。例えば、図8に示す画像処理シーケンスSqb1によって学習画像LMを画像処理する場合には、画像処理シーケンスSqb1は参照シーケンスRSq1と同じであるため、参照シーケンスRSq1に関連付けられた処理後画像PIM1を出力画像PMとして用いる。また例えば、図8に示す画像処理シーケンスSqb3によって学習画像LMを画像処理する場合には、参照シーケンスRsq3と同じシーケンスついては、画像処理を行うことなく参照シーケンスRsq3に関連付けられた処理後画像PIM3を用いて、残りの画像処理を行う。すなわち、画像処理シーケンスSqb3において、画像処理部40は、処理後画像PIM3を画像処理フィルターFtEに入力する。また、画像処理シーケンスSqb3において、画像処理部40は、学習画像LMを右側のシーケンスの画像入力層inに入力する。
【0067】
図10に示すように、ステップS106の後に、登録部55はステップS107において、ステップS100で登録した参照シーケンスRSqと同じ、画像処理シーケンスSqの少なくとも一部から出力された画像を処理後画像PIMとして参照データとして記憶することで参照テーブル88を更新する。
【0068】
次にステップS108において評価値算出部47は、ステップS106で出力された出力画像PMと学習画像LMに関連付けられた目標画像TMとを比較して評価値EVを算出する。次にステップS110において、特定部49は、複数の最終的な評価値EVを用いて予め定めた基準条件を満たす評価対象画像処理シーケンスSqaを特定する。予め定めた基準条件を満たす評価対象画像処理シーケンスSqaが無い場合には、予め定めた基準条件を満たす評価対象画像処理シーケンスSqaが特定できるまで、ステップS94以降の処理が繰り返し実行される。
【0069】
一方、ステップS110において、予め定めた基準条件を満たす評価対象画像処理シーケンスSqaを特定できた場合には、ステップS111において、特定部49は、基準条件を満たす評価対象画像処理シーケンスSqaを特定画像処理シーケンスDSqとして出力する。出力された特定画像処理シーケンスDSqは、記憶装置70に記憶される。
【0070】
図11は、利用処理工程のフローチャートである。利用処理工程は、図10の生成工程によって、特定画像処理シーケンスDSqが特定された後に実行される。まず記憶装置70は、ステップS200において、入力部150によって受け付けた複数の画像処理フィルターを画像フィルター群80として記憶する。利用処理工程において記憶される画像フィルター群80の複数の画像処理フィルターは、特定画像処理シーケンスDSqで用いられる画像処理フィルターのみであってもよい。なお、利用処理工程と、図10の生成工程とが同じ生成装置20で実行される場合には、ステップS200は省略でき、図10に示すステップS90によって記憶装置70に記憶された画像フィルター群80を用いることができる。
【0071】
次に、ステップS201において、記憶装置70は、図8のステップS111で出力された特定画像処理シーケンスDSqを記憶する。なお、ステップS200とステップS201の順番は上記に限定されるものではない。
【0072】
次に、ステップS203において、画像処理部40は、入力部150を介して記憶装置70に記憶された画像であって特定画像処理シーケンスDSqの画像処理の対象となる画像を読み出すことで取得する。ステップS203によって取得される画像は、例えば、学習画像LMと同種の対象物を撮像した画像である。なお、画像処理部40は、画像処理の対象となる画像が複数ある場合には、記憶装置70に予め記憶された複数の画像のうちの一つを読み出すことで画像を取得してもよいし、後述する画像処理を実行するタイミングで対象となる画像を撮像装置200からその都度取得してもよい。
【0073】
次に、画像処理部40は、ステップS204において、ステップS203によって取得された画像に対して特定画像処理シーケンスDSqを用いた画像処理を実行する。つまり、画像に対して、特定画像処理シーケンスDSqが示す順番に従って、記憶装置70の画像フィルター群80に記憶された画像処理フィルターを適用して画像処理を実行する。
【0074】
次に、ステップS205において、特定画像処理シーケンスDSqを用いた画像処理後の画像である出力画像PMが出力される。ステップS205は、例えば、出力画像PMが記憶装置70に記憶されることで実行されたり、表示部160に表示されたりすることで実行される。
【0075】
次に、画像処理部40は、ステップS206において、特定画像処理シーケンスDSqを用いた画像処理を継続するかどうかを判定する。例えば、画像処理部40は、ユーザーから画像処理の継続を示す情報が入力された場合や、画像処理の対象となる未処理の画像が記憶装置70にまだ残っている場合に、画像処理を継続すると判定する。画像処理を継続する場合には、再びステップS203以降の処理が実行される。一方で、画像処理部40は、ユーザーから画像処理の終了を示す情報が入力された場合や、画像処理の対象となる未処理の画像が記憶装置70に残っていない場合には、利用処理工程を終了する。
【0076】
上記実施形態によれば、図8に示すように、仮評価値PEVを用いて次のルーチンで用いる次ルーチンセットを生成し、次ルーチンセットで用いる画像処理シーケンスSqの少なくとも一部と同じ参照シーケンスRSqと、参照シーケンスRSqによって画像処理された処理後画像PIMとを記憶装置70に記憶することで、次ルーチンセットの画像処理シーケンスによって画像処理を行う場合に、処理後画像PIMを用いることができる。これにより、画像処理の処理時間を短縮できるので特定画像処理シーケンスDSqを特定するまでの処理時間を短縮できる。また、仮評価値PEVを用いて次ルーチンセットを生成することで、次のルーチンで画像処理に用いる画像処理シーケンスSqを特定できるので、次のルーチンで利用する処理後画像PIMを効率良く記憶装置70に記憶できる。これにより、次のルーチンで利用されない画像を記憶装置70に記憶させることを抑制できる。
【0077】
B.他の実施形態:
B-1.他の実施形態1:
上記実施形態では、一つの世代Gに属する複数の個体IVが示す複数の画像処理シーケンスSqによる学習画像LMの画像処理は、一つの生成装置20で順次行っていたが、複数の生成装置20を用いて並列に行ってもよい。
【0078】
B-2.他の実施形態2:
上記実施形態では、画像処理シーケンスSqは、個体IVと遺伝子テーブル82とによって表されていていたが、これに限定されるものではない。例えば、画像処理シーケンスSqは、複数のシーケンス要素と、各シーケンス要素の接続関係を規定したテーブルによって表されていてもよい。
【0079】
B-3.他の実施形態3:
上記実施形態における、次ルーチン用画像処理シーケンスSqbを生成するための仮条件は、仮評価値PEVが示す類似の程度SDが仮閾値以上であるという第1条件と、仮評価値PEVが示す類似の程度SDが上位M個(Mは、1以上の整数)以内であるという第2条件と、のいずれかである。この仮閾値と上位M個の数値Mは、通常の遺伝的アルゴリズムによって現世代Gmから次世代Gnを生成する際に用いる値よりも小さい値に設定することが好ましい。こうすることで、実際に画像処理した結果を用いて算出した評価値EVが高い画像処理シーケンスSqが次世代Gnに複製されない可能性を低減できる。
【0080】
C.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0081】
(1)本開示の第1形態によれば、画像処理シーケンスの生成方法が提供される。この画像処理シーケンスの生成方法は、(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する工程と、(b)前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する工程と、(c)前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する工程と、(d)前記評価値を算出する前記工程(c)の前に、前記工程(a)によって生成した前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する工程と、(e)前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成する工程と、(f)前記工程(a)によって生成した前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる工程と、(g)前記複数の画像処理シーケンスのそれぞれに対応する複数の前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する工程と、を備え、前記工程(a)~前記工程(g)の前記ルーチンは、前記基準条件を満たす前記画像処理シーケンスが特定されるまで繰り返し実行され、前記工程(f)において、前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、前記工程(b)は、前記次ルーチンシーケンスセットを今回の前記ルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する。この形態によれば、仮評価値を用いて次のルーチンで用いる次ルーチンセットを生成し、次ルーチンセットで用いる画像処理シーケンスの少なくとも一部と、同じ参照シーケンスと参照シーケンスによって画像処理された処理後画像とを記憶装置に記憶することで、次ルーチンセットの画像処理シーケンスによって画像処理を行う場合に、処理後画像を用いることができる。これにより、画像処理の処理時間を短縮できるので特定画像処理シーケンスを特定するまでの処理時間を短縮できる。また、仮評価値を用いて次ルーチンセットを生成することで、次のルーチンで画像処理に用いる画像処理シーケンスを特定できるので、次のルーチンで利用する処理後画像を効率良く記憶装置に記憶できる。これにより、次のルーチンで利用されない画像を記憶装置に記憶させることを抑制できる。
【0082】
(2)上記形態において、前記工程(d)において、初回の前記ルーチンでは、ランダムな値を前記仮評価値に設定することと、過去に実行した前記画像処理シーケンスの生成方法において前記工程(c)によって算出した前記評価値としての過去評価値を前記仮評価値に設定すること、のいずれか一方によって前記仮評価値を算出してもよい。この形態によれば、初回のルーチンにおける仮評価値を容易に設定できる。
【0083】
(3)上記形態において、前記工程(d)において、2回目以降の前記ルーチンでは、前回の前記ルーチンにおける前記工程(c)によって算出した前記評価値として前回評価値と、前記前回評価値の算出元である前記画像処理シーケンスとしての前回画像処理シーケンスと、前記仮評価値の算出対象である前記画像処理シーケンスとの一致率と、を用いて前記仮評価値を算出してもよい。この形態によれば、仮評価値と評価値との乖離を少なくできるので、特定画像処理シーケンスを特定するまでの処理時間をより短縮できる。
【0084】
(4)上記形態において、前記工程(b)において、前記複数の画像処理シーケンスはそれぞれ、前記画像入力層および前記画像処理層のそれぞれに対応した複数の遺伝子を配列した個体と、前記シーケンス要素の接続関係を規定した遺伝子テーブルと、によって表され、前記工程(e)において、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることは、前記仮条件を満たす前記画像処理シーケンスを表す現世代の前記個体に対して、交叉と突然変異との少なくとも一つによって次世代の前記個体を生成することで実行され、前記一致率は、前記現世代の前記個体と、前記現世代の前記個体を用いて生成された前記次世代の前記個体と、の一致率であってもよい。この形態によれば、仮条件を満たさない画像処理シーケンスは、仮条件を満たす画像処理シーケンスを表す個体に対して交叉と突然変異との少なくとも一つによって次世代の個体として生成されるので、特定画像処理シーケンスを特定するまでの処理時間をより短縮できる。またこの形態によれば、現世代の個体と次世代の個体とを用いて容易に一致率を算出できる。
【0085】
(5)上記形態において、前記工程(d)において、前記2回目以降の前記ルーチンでは、前記前回評価値と前記一致率とを用いて算出した値に、ランダムな値を加算することで前記仮評価値を算出してもよい。この形態によれば、ランダムな値を加算することで、仮評価値と評価値との乖離を抑制できる。
【0086】
(6)本開示の第2形態によれば、画像処理シーケンスの生成装置が提供される。この生成装置は、シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成するシーケンス生成部と、前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する画像処理部と、前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する評価値算出部と、前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する仮評価値算出部と、を備え、前記シーケンス生成部は、前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成し、前記生成装置は、さらに、前記シーケンス生成部によって生成した前記シーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる登録部と、前記複数の画像処理シーケンスのそれぞれに対応する前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する特定部と、を備え、前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、前記画像処理部は、前記次ルーチンシーケンスセットを今回のルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する。この形態によれば、仮評価値を用いて次のルーチンで用いる次ルーチンセットを生成し、次ルーチンセットで用いる画像処理シーケンスの少なくとも一部と、同じ参照シーケンスと参照シーケンスによって画像処理された処理後画像とを記憶装置に記憶することで、次ルーチンセットの画像処理シーケンスによって画像処理を行う場合に、処理後画像を用いることができる。これにより、画像処理の処理時間を短縮できるので特定画像処理シーケンスを特定するまでの処理時間を短縮できる。また、仮評価値を用いて次ルーチンセットを生成することで、次のルーチンで画像処理に用いる画像処理シーケンスを特定できるので、次のルーチンで利用する処理後画像を効率良く記憶装置に記憶できる。これにより、次のルーチンで利用されない画像を記憶装置に記憶させることを抑制できる。
【0087】
(7)本開示の第3形態によれば、コンピュータープログラムが提供される。このコンピュータープログラムは、(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層、の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する機能と、(b)前記複数の画像処理シーケンスのそれぞれによって学習画像を画像処理し、前記複数の画像処理シーケンスごとに前記画像処理後の画像である出力画像を生成する機能と、(c)前記複数の画像処理シーケンスごとに、前記出力画像と、前記学習画像に関連付けられた目標となる目標画像とを比較して、前記出力画像と前記目標画像との類似の程度を示す評価値を算出する機能と、(d)前記評価値を算出する前記機能(c)を実行する前に、前記機能(a)によって生成した前記複数の画像処理シーケンスごとに、前記評価値の推定値としての仮評価値を算出する機能と、(e)前記仮評価値が示す前記類似の程度が予め定めた仮条件を満たす前記画像処理シーケンスを維持し、前記仮条件を満たさない前記画像処理シーケンスを新たな前記画像処理シーケンスに置き換えることで、次のルーチンで用いる前記シーケンスセットとしての次ルーチンシーケンスセットを生成する機能と、(f)前記機能(a)によって生成した前記画像処理シーケンスの少なくとも一部である候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む候補シーケンスのうちで、予め定めた登録条件を満たす前記候補シーケンスである参照シーケンスと、前記参照シーケンスによって画像処理された処理後画像と、を関連付けて記憶装置に記憶させる機能と、(g)前記複数の画像処理シーケンスのそれぞれに対応する複数の前記評価値を用いて、予め定めた基準条件を満たす前記画像処理シーケンスを特定する機能と、をコンピューターに実行させ、前記機能(a)~前記機能(g)の前記ルーチンは、前記基準条件を満たす前記画像処理シーケンスが特定されるまで繰り返し実行され、前記機能(f)において、前記登録条件は、前記次ルーチンシーケンスセットを構成する前記画像処理シーケンスの少なくとも一部である次ルーチン候補シーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記画像処理層とを含む次ルーチン候補シーケンスと、同じシーケンスであるという条件であり、前記機能(b)は、前記次ルーチンシーケンスセットを今回の前記ルーチンにおける前記シーケンスセットとして用いる場合、前記記憶装置に記憶された前記参照シーケンスと、前記シーケンスセットを構成する前記複数の画像処理シーケンスのそれぞれを比較し、前記画像処理シーケンスのうちで、前記参照シーケンスと同じシーケンスであって前記画像入力層と前記画像入力層から連続して接続された前記シーケンス要素とによって構成されたシーケンスについては、前記参照シーケンスに関連付けられた前記処理後画像を用いて、前記画像処理シーケンスの前記出力画像を生成する。この形態によれば、仮評価値を用いて次のルーチンで用いる次ルーチンセットを生成し、次ルーチンセットで用いる画像処理シーケンスの少なくとも一部と、同じ参照シーケンスと参照シーケンスによって画像処理された処理後画像とを記憶装置に記憶することで、次ルーチンセットの画像処理シーケンスによって画像処理を行う場合に、処理後画像を用いることができる。これにより、画像処理の処理時間を短縮できるので特定画像処理シーケンスを特定するまでの処理時間を短縮できる。また、仮評価値を用いて次ルーチンセットを生成することで、次のルーチンで画像処理に用いる画像処理シーケンスを特定できるので、次のルーチンで利用する処理後画像を効率良く記憶装置に記憶できる。これにより、次のルーチンで利用されない画像を記憶装置に記憶させることを抑制できる。
【0088】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、コンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)の形態で実現することができる。
【符号の説明】
【0089】
10…生成システム、20…生成装置、25…プロセッサー、30…シーケンス生成部、32…個体生成部、34…遺伝子翻訳部、40…画像処理部、46…評価判定部、47…評価値算出部、48…仮評価値算出部、49…特定部、55…登録部、60…表示制御部、70…記憶装置、74…学習データ、80…画像フィルター群、82…遺伝子テーブル、84…個体群データ、88…参照テーブル、94…各種プログラム、150…入力部、160…表示部、200…撮像装置、CSq…候補シーケンス、DA…欠陥部分、DSq…特定画像処理シーケンス、EV…評価値、EVM…前回評価値、FtA~FtE…画像処理フィルター、IV,IV1~IV10…個体、IVG…個体群、IVGa…第1種個体群、IVGb…第2種個体群、LEV…過去評価値、LM…学習画像、PEV…仮評価値、PIM,PIM1~PIM3…処理後画像、PM…出力画像、PSqb…次ルーチン候補シーケンス、RSq,RSq1~RSq3…参照シーケンス、SM…学習セット、Sq…画像処理シーケンス、Sqa…評価対象画像シーケンス、Sqb…次ルーチン用画像処理シーケンス、TM…目標画像、in…画像入力層、out…画像出力層
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11