(57)【特許請求の範囲】
【請求項１】
変換対象画像を目標画像により類似する画像に変換する画像フィルタを生成する画像処理装置であって、
画像を変換するフィルタ部品を１又は複数組み合わせた複数の画像フィルタを格納するフィルタ格納部と、
前記フィルタ格納部に格納された少なくとも１つの画像フィルタの少なくとも一部のフィルタ部品を他のフィルタ部品に置換して新たな画像フィルタを生成して、前記フィルタ格納部に戻すフィルタ生成部と、
前記フィルタ格納部に格納された複数の画像フィルタのそれぞれにより前記変換対象画像を変換させて、複数の選択対象画像のそれぞれを生成するフィルタ処理部と、
前記フィルタ格納部に格納された複数の画像フィルタのそれぞれについて、選択対象画像の解像度を低下させた低解像度画像を生成する低解像度画像生成部と、
前記フィルタ格納部に格納された複数の画像フィルタのうち、低解像度画像が前記目標画像により類似する選択対象画像を生成する２以上の画像フィルタを選択する候補選択部と、
前記候補選択部が選択した２以上の画像フィルタにより、前記フィルタ格納部に格納された複数の画像フィルタを更新するフィルタ更新部と、
前記フィルタ更新部により繰り返し更新された後に前記フィルタ格納部に格納されている複数の画像フィルタにより生成された複数の選択対象画像の中から、前記目標画像により類似する選択対象画像を選択する画像選択部と、
前記画像選択部により選択された前記選択対象画像を生成する画像フィルタを、前記変換対象画像を前記目標画像により類似する画像に変換する画像フィルタとして選択するフィルタ選択部と、
を備える画像処理装置。
【請求項２】
前記候補選択部は、
前記フィルタ格納部に格納された複数の画像フィルタにより生成された複数の選択対象画像のそれぞれについて、前記低解像度画像と前記目標画像との差分から類似度を算出する第１算出部と、
前記低解像度画像および前記目標画像の類似度がより高い前記２以上の選択対象画像を選択する第１選択部と、
を有し、
前記画像選択部は、
前記低解像度画像および前記目標画像の類似度の差が予め定められた基準差未満である２つの前記選択対象画像のそれぞれと前記目標画像との差分から類似度を算出する第２算出部と、
前記第１算出部が算出した類似度、および、前記第１算出部が算出した類似度の差が前記基準差未満である場合に前記第２算出部が算出した類似度に基づいて、前記目標画像により近い前記選択対象画像を選択する第２選択部と、
を有する請求項１に記載の画像処理装置。
【請求項３】
変換対象画像を目標画像により類似する画像に変換する画像フィルタを生成する画像処理方法であって、
画像を変換するフィルタ部品を１又は複数組み合わせた複数の画像フィルタを格納するフィルタ格納部に格納された少なくとも１つの画像フィルタの少なくとも一部のフィルタ部品を、他のフィルタ部品に置換して新たな画像フィルタを生成して、前記フィルタ格納部に戻すフィルタ生成ステップと、
前記フィルタ格納部に格納された複数の画像フィルタのそれぞれにより前記変換対象画像を変換させて、複数の選択対象画像のそれぞれを生成するフィルタ処理ステップと、
前記フィルタ格納部に格納された複数の画像フィルタのそれぞれについて、選択対象画像の解像度を低下させた低解像度画像を生成する低解像度画像生成ステップと、
前記フィルタ格納部に格納された複数の画像フィルタのうち、低解像度画像が前記目標画像により類似する選択対象画像を生成する２以上の画像フィルタを選択する候補選択ステップと、
前記候補選択ステップで選択した２以上の画像フィルタにより、前記フィルタ格納部に格納された複数の画像フィルタを更新するフィルタ更新ステップと、
前記フィルタ更新ステップにより繰り返し更新された後に前記フィルタ格納部に格納されている複数の画像フィルタにより生成された複数の選択対象画像の中から、前記目標画像により類似する選択対象画像を選択する画像選択ステップと、
前記画像選択ステップにより選択された前記選択対象画像を生成する画像フィルタを、前記変換対象画像を前記目標画像により類似する画像に変換する画像フィルタとして選択するフィルタ選択ステップと、
を備える画像処理方法。
【請求項４】
コンピュータを請求項１または２に記載の画像処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。特に本発明は、複数の選択対象画像のうち目標画像により近い選択対象画像を選択する画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いた画像フィルタの生成方法が知られている（例えば、非特許文献１参照。）。この方法においては、画像フィルタに対して、交叉、突然変異および選択等の操作を複数回繰り返すことにより、新たな画像フィルタを生成していく。このような進化的計算を用いた画像フィルタの生成方法によれば、それぞれの事例に対して最適であって、解析的に得ることが困難な複雑な構造の画像フィルタを、より少ない労力で設計することができる。
【０００３】
【非特許文献１】前薗正宜  他２名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、［ｏｎｌｉｎｅ］、コンピュータ利用教育協議会、［２００８年３月２０日検索］、インターネット＜URL：http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、このように進化的計算により画像フィルタを生成する場合、目的の画像フィルタが得られるまでに世代交代を繰り返す。各世代においては、変換対象画像を複数の画像フィルタのそれぞれにより変換して複数の選択対象画像を生成し、複数の選択対象画像それぞれと目標画像と比較する。そして、より目標画像と近似した選択対象画像が得られる画像フィルタを選択して、次世代へ生存させる。
【０００５】
しかし、選択対象画像と目標画像との比較演算には、多くの演算量を必要とする。さらに、進化的計算により画像フィルタを生成する場合、目的の画像フィルタが得られるまでに、膨大な数の世代交代を繰り返さなければならない。従って、進化的計算を用いた画像フィルタの生成方法では、目的の画像フィルタが得られるまでに多くの演算量が必要となっていた。
【０００６】
そこで本発明は、上記の課題を解決することのできる画像処理装置、画像処理方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態においては、変換対象画像を目標画像により類似する画像に変換する画像フィルタを生成する画像処理装置であって、画像を変換するフィルタ部品を１又は複数組み合わせた複数の画像フィルタを格納するフィルタ格納部と、前記フィルタ格納部に格納された少なくとも１つの画像フィルタの少なくとも一部のフィルタ部品を他のフィルタ部品に置換して新たな画像フィルタを生成して、前記フィルタ格納部に戻すフィルタ生成部と、前記フィルタ格納部に格納された複数の画像フィルタのそれぞれにより前記変換対象画像を変換させて、複数の選択対象画像のそれぞれを生成するフィルタ処理部と、前記フィルタ格納部に格納された複数の画像フィルタのそれぞれについて、選択対象画像の解像度を低下させた低解像度画像を生成する低解像度画像生成部と、前記フィルタ格納部に格納された複数の画像フィルタのうち、低解像度画像が前記目標画像により類似する選択対象画像を生成する２以上の画像フィルタを選択する候補選択部と、前記候補選択部が選択した２以上の画像フィルタにより、前記フィルタ格納部に格納された複数の画像フィルタを更新するフィルタ更新部と、前記フィルタ更新部により繰り返し更新された後に前記フィルタ格納部に格納されている複数の画像フィルタにより生成された複数の選択対象画像の中から、前記目標画像により類似する選択対象画像を選択する画像選択部と、前記画像選択部により選択された前記選択対象画像を生成する画像フィルタを、前記変換対象画像を前記目標画像により類似する画像に変換する画像フィルタとして選択するフィルタ選択部と、を備える画像処理装置、画像処理方法およびプログラムを提供する。
【００１３】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【００１４】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１５】
図１は、本実施形態に係る画像処理装置１０の構成を示す。画像処理装置１０は、変換対象画像を目標画像へ変換するのに適した画像フィルタ２０を進化的計算を用いて生成する。画像処理装置１０は、一例として、コンピュータにより実現される。
【００１６】
画像処理装置１０は、フィルタ格納部３２と、フィルタ生成部３４と、変換対象画像格納部３６と、フィルタ処理部３８と、選択対象画像格納部４０と、目標画像格納部４２と、低解像度画像生成部４４と、候補選択部４６と、画像選択部４８と、フィルタ選択部５０とを備える。フィルタ格納部３２は、互いに異なる複数の画像フィルタ２０を格納する。フィルタ格納部３２は、複数の画像フィルタ２０のそれぞれとして、画像を変換するフィルタ部品２２を１又は複数組み合わせた画像フィルタ２０を格納する。
【００１７】
フィルタ生成部３４は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品２２を組み合わせて、互いに異なる画像フィルタ２０を生成する。フィルタ生成部３４は、一例として、フィルタ格納部３２に格納された複数の画像フィルタ２０を読み出す。続いて、フィルタ生成部３４は、一例として、読み出した複数の画像フィルタ２０に対して交叉および突然変異等の遺伝子的な操作を行って、少なくとも一部のフィルタ部品２２を他のフィルタ部品２２に置換した新たな複数の画像フィルタ２０を生成する。そして、フィルタ生成部３４は、一例として、新たに生成した複数の画像フィルタ２０をフィルタ格納部３２に戻して、既に生成された複数の画像フィルタ２０に加えて格納させる。
【００１８】
変換対象画像格納部３６は、画像フィルタ２０の変換対象となる変換対象画像を格納する。変換対象画像は、一例として、当該画像処理装置１０により生成された画像フィルタ２０が適用されるアプリケーションにおいて、当該画像フィルタ２０に与えられる画像のサンプル等であってよい。変換対象画像は、一例として、使用者により予め生成または撮影された画像であってよい。
【００１９】
フィルタ処理部３８は、フィルタ格納部３２に格納された複数の画像フィルタ２０を順次に取得する。フィルタ処理部３８は、取得したそれぞれの画像フィルタ２０により、変換対象画像格納部３６に格納された変換対象となる変換対象画像を変換させて、選択対象画像のそれぞれを生成する。すなわち、フィルタ処理部３８は、それぞれの画像フィルタ２０により変換対象画像をフィルタリングして、選択対象画像のそれぞれを生成する。選択対象画像格納部４０は、フィルタ処理部３８において生成された選択対象画像を格納する。一例として、選択対象画像格納部４０は、フィルタ処理部３８において変換対象画像が複数の画像フィルタ２０で変換されることにより生成された選択対象画像のそれぞれを、変換した画像フィルタ２０に対応付けて格納する。
【００２０】
目標画像格納部４２は、変換対象画像を変換して生成される画像の目標となる目標画像を格納する。目標画像は、一例として、当該画像処理装置１０により生成された画像フィルタ２０を適用するアプリケーションにおいて、変換対象画像を画像フィルタ２０によりフィルタリングして得られるべき画像のサンプル等であってよい。目標画像は、一例として、使用者により予め生成または撮影された画像であってよい。目標画像格納部４２は、一例として、複数の目標画像を格納してもよい。
【００２１】
低解像度画像生成部４４は、選択対象画像格納部４０に格納された複数の選択対象画像のそれぞれについて、解像度を低下させた低解像度画像を生成する。候補選択部４６は、選択対象画像格納部４０に格納された複数の選択対象画像のうち、低解像度画像が目標画像により類似する２以上の選択対象画像を、候補画像として選択する。
【００２２】
画像選択部４８は、候補選択部４６により候補画像として選択された２以上の選択対象画像の中から、目標画像により類似する選択対象画像を選択する。これにより、画像選択部４８は、選択対象画像格納部４０に格納された複数の選択対象画像のうち目標画像により近い選択対象画像を選択することができる。
【００２３】
フィルタ選択部５０は、画像選択部４８により選択された選択対象画像を生成する画像フィルタ２０を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ２０として選択する。さらに、フィルタ選択部５０は、一例として、選択した画像フィルタ２０をフィルタ格納部３２内に残存させ、選択した画像フィルタ２０以外の画像フィルタ２０をフィルタ格納部３２内から削除してよい。
【００２４】
そして、このような画像処理装置１０は、フィルタ生成部３４による処理、フィルタ処理部３８による処理およびフィルタ選択部５０による処理を複数回（例えば、複数世代）繰り返す。これにより、画像処理装置１０は、変換対象画像を目標画像へ変換するのに適した画像フィルタ２０を、進化的計算を用いて生成することができる。
【００２５】
図２は、フィルタ部品２２を直列に組み合わせた構成の画像フィルタ２０の一例を示す。図３は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０の一例を示す。
【００２６】
画像フィルタ２０は、入力画像データを受け取り、受け取った入力画像データに対してフィルタ演算処理を施して、出力画像データを出力する。画像フィルタ２０は、一例として、画像データに対して演算を施すプログラムであってよい。また、画像フィルタ２０は、一例として、画像データに対して施すべき演算内容を表わす演算式であってもよい。
【００２７】
画像フィルタ２０は、複数のフィルタ部品２２を組み合わせた構成を有する。画像フィルタ２０は、一例として、図２に示されるように、フィルタ部品２２を直列に組み合わせた構成を有してよい。また、画像フィルタ２０は、一例として、図３に示されるように、フィルタ部品２２を木構造に組み合わせた構成を有してよい。
【００２８】
なお、フィルタ部品２２が木構造に組み合わされた構成の画像フィルタ２０は、木構造の末端のフィルタ部品２２に入力画像データが与えられ、木構造の最上位のフィルタ部品２２から出力画像データを出力する。また、このような画像フィルタ２０は、複数の末端のフィルタ部品２２のそれぞれに、同一の入力画像データが与えられる。これに代えて、このような画像フィルタ２０は、複数の末端のフィルタ部品２２のそれぞれに互いに異なる入力画像データが与えられてもよい。
【００２９】
複数のフィルタ部品２２のそれぞれは、プログラムモジュールおよび演算式等であってよい。フィルタ部品２２は、前段に配置されたフィルタ部品２２から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置されたフィルタ部品２２に与える。
【００３０】
複数のフィルタ部品２２のそれぞれは、一例として、２値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算及び／又は周波数空間での演算（例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算）等の単項演算をしてよい。さらに、複数のフィルタ部品２２のそれぞれは、一例として、平均演算、差分演算及び／又はファジー演算（例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等）等の二項演算をしてもよい。
【００３１】
図４は、フィルタ部品２２を直列に組み合わせた構成の画像フィルタ２０に対して行われる遺伝子的な操作の一例を示す。図５は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０に対して行われる交叉操作の一例を示す。図６は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０に対して行われる突然変異操作の一例を示す。
【００３２】
フィルタ生成部３４は、一例として、２個又はそれ以上の画像フィルタ２０に対して、遺伝子的な操作の一例である交叉操作を行って新たな２個又はそれ以上の画像フィルタ２０を生成してよい。フィルタ生成部３４は、一例として、図４および図５に示されるように、既に生成された少なくとも１つの一の画像フィルタ２０Ａの一部のフィルタ部品群２４Ａを、既に生成された他の画像フィルタ２０Ｂの少なくとも一部のフィルタ部品群２４Ｂと置換して、新たな画像フィルタ２０Ｅおよび２０Ｆを生成してよい。なお、フィルタ部品群２４は、１又は複数のフィルタ部品２２の組み合わせた部材である。
【００３３】
また、フィルタ生成部３４は、一例として、一の画像フィルタ２０に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の画像フィルタ２０を生成してよい。フィルタ生成部３４は、一例として、図４および図６に示されるように、既に生成された一の画像フィルタ２０Ｃの一部のフィルタ部品群２４Ｃを、ランダムに選択された他のフィルタ部品群２４Ｇに置換して、新たな画像フィルタ２０Ｇを生成してよい。
【００３４】
また、フィルタ生成部３４は、一例として、現世代の画像フィルタ２０をそのまま次世代の画像フィルタ２０として残してもよい。フィルタ生成部３４は、一例として、図４に示されるように、画像フィルタ２０Ｄのフィルタ部品２２の構成をそのまま含む次世代の画像フィルタ２０Ｈを生成してよい。
【００３５】
フィルタ選択部５０は、フィルタ生成部３４により生成された複数の画像フィルタ２０に対して生物の自然淘汰をモデル化した手法により１または複数の画像フィルタ２０を選択する。フィルタ選択部５０は、一例として、複数の画像フィルタ２０の中の適合度がより高い画像フィルタ２０を優先的に選択してよい。フィルタ選択部５０は、一例として、複数の画像フィルタ２０のそれぞれの適合度に基づき、エリート選択およびルーレット選択といった手法に応じて、画像フィルタ２０を選択してよい。そして、フィルタ選択部５０は、選択した画像フィルタ２０を次世代へ生存させるべく当該画像フィルタ２０をフィルタ格納部３２内に保存し、選択されなかった画像フィルタ２０を死滅させるべくフィルタ格納部３２内から削除する。
【００３６】
図７は、画像処理装置１０の処理フローを示す。画像処理装置１０は、ステップＳ１２〜ステップＳ１６の各処理を、複数回（例えば複数世代）繰返して実行する（Ｓ１１、Ｓ１６）。
【００３７】
各世代において、まず、フィルタ生成部３４は、前世代から残存した複数の画像フィルタ２０に対して、交叉操作および突然変異操作等の遺伝的な操作を行って、新たな複数の画像フィルタ２０を生成する（Ｓ１２）。なお、フィルタ生成部３４は、一例として、最初の世代においては、使用者等により予め生成された複数の画像フィルタ２０に対して遺伝的な操作を行って新たな複数の画像フィルタ２０を生成してよい。
【００３８】
続いて、フィルタ処理部３８は、前世代から残存した複数の画像フィルタ２０およびステップＳ１２で新たに生成された複数の画像フィルタ２０のそれぞれにより、変換対象画像をフィルタ処理して選択対象画像を生成する（Ｓ１３）。これにより、フィルタ処理部３８は、複数の画像フィルタ２０に対応した複数の選択対象画像を生成することができる。
【００３９】
続いて、候補選択部４６および画像選択部４８は、生成された複数の選択対象画像のそれぞれと目標画像との類似度を算出し、類似度のより高い複数の選択対象画像を選択する（Ｓ１４）。なお、類似度は、画像フィルタ２０の適合度を表わすパラメータの一例であって、選択対象画像と目標画像とがどれだけ類似しているかを表わす。すなわち、この類似度は、値がより大きいほど、当該選択対象画像を生成した画像フィルタ２０がより適切であることを示す評価値または指標となる。ステップＳ１４における候補選択部４６および画像選択部４８の処理の詳細については、図９において説明する。
【００４０】
さらに、当該ステップＳ１４において、フィルタ選択部５０は、候補選択部４６および画像選択部４８により選択された選択対象画像に対応する複数の画像フィルタ２０を選択する。なお、フィルタ選択部５０は、一例として、最後の世代においては、類似度の最も高い１個の選択対象画像に対応する１個の画像フィルタ２０を選択してよい。
【００４１】
続いて、フィルタ選択部５０は、ステップＳ１４において選択された１または複数の画像フィルタ２０を次世代に残存させ、ステップＳ１４において選択されなかった選択対象画像を生成した画像フィルタ２０を削除する（Ｓ１５）。画像処理装置１０は、以上の処理を複数の世代（例えば数十世代または数百世代）繰返して実行し、第Ｎ世代（Ｎは２以上の整数）まで処理を実行した後に、当該フローを抜ける（Ｓ１６）。このようにして、画像処理装置１０は、変換対象画像を目標画像へ変換するのに適した画像フィルタ２０を、進化的計算を用いて生成することができる。
【００４２】
図８は、候補選択部４６および画像選択部４８の構成の一例を低解像度画像生成部４４とともに示す。候補選択部４６は、一例として、第１算出部５２と、第１選択部５４とを有してよい。第１算出部５２は、複数の選択対象画像のそれぞれについて、低解像度画像と目標画像との差分から類似度を算出する。第１選択部５４は、低解像度画像および目標画像の類似度がより高い２以上の選択対象画像を候補画像として選択する。このような候補選択部４６は、選択対象画像格納部４０に格納された複数の選択対象画像のうち、低解像度画像が目標画像により類似する２以上の選択対象画像を選択することができる。
【００４３】
画像選択部４８は、一例として、第２算出部５６と、第２選択部５８とを有してよい。第２算出部５６は、低解像度画像および目標画像の類似度の差が予め定められた基準差未満である２つの選択対象画像のそれぞれと目標画像との差分から類似度を算出する。第２選択部５８は、第１算出部５２が算出した類似度、および、第１算出部５２が算出した類似度の差が基準差未満である場合に第２算出部５６が算出した類似度に基づいて、目標画像により近い選択対象画像を選択する。これにより、画像選択部４８は、候補選択部４６により候補画像として選択された２以上の選択対象画像の中から、目標画像により類似する選択対象画像を選択することができる。
【００４４】
図９は、図７に示されるステップＳ１４における画像処理装置１０の処理フローの一例を示す。画像処理装置１０は、図７に示されるステップＳ１４において、一例として、以下の処理を実行してよい。
【００４５】
低解像度画像生成部４４および候補選択部４６は、複数の画像フィルタ２０により生成された複数の選択対象画像のそれぞれ毎に、以下のステップＳ２２〜ステップＳ２３の処理を実行する（Ｓ２１、Ｓ２４）。まず、低解像度画像生成部４４は、当該選択対象画像に対して低解像度化処理を施して、当該選択対象画像の解像度を低下させた低解像度画像を生成する（Ｓ２２）。低解像度画像生成部４４は、一例として、選択対象画像からピクセルを間引く等の処理をして、低解像度画像を生成してよい。
【００４６】
続いて、候補選択部４６は、生成した低解像度画像と目標画像との類似度を算出する（Ｓ２３）。候補選択部４６は、一例として、低解像度画像と、当該低解像度画像と同じピクセル数に解像度変換された目標画像との類似度を算出してよい。候補選択部４６は、一例として、低解像度画像の各ピクセルの値（例えば輝度値）と、目標画像の対応するピクセルの値（例えば輝度値）とを比較する。候補選択部４６は、一例として、低解像度画像の各ピクセルの値と、低解像度の目標画像の対応するピクセルの値の差または比率等を算出してよい。そして、候補選択部４６は、一例として、複数のピクセルの全ての比較結果を平均または合計し、平均または合計した比較結果を当該低解像度画像の類似度としてよい。
【００４７】
低解像度画像生成部４４および候補選択部４６は、複数の選択対象画像の全てについてステップＳ２２およびステップＳ２３の処理を終えると、処理をステップＳ２５に進める（Ｓ２４）。続いて、候補選択部４６は、低解像度画像と目標画像との類似度がより高い２以上の選択対象画像を、候補画像として選択する（Ｓ２５）。候補選択部４６は、一例として、低解像度画像と目標画像との類似度が所定値より高い２以上の選択対象画像を、候補画像として選択してよい。
【００４８】
続いて、画像選択部４８は、候補画像として選択された２以上の選択対象画像のそれぞれ毎に、ステップＳ２７の処理を実行する（Ｓ２６、Ｓ２８）。ステップＳ２７において、画像選択部４８は、当該選択対象画像と目標画像との類似度を算出する（Ｓ２７）。ここで、ステップＳ２７においては、画像選択部４８は、選択対象画像を低解像度化せずに、目標画像との類似度を算出する。すなわち、画像選択部４８は、選択対象画像の全てのピクセルを用いて、目標画像との類似度を算出する。
【００４９】
画像選択部４８は、一例として、選択対象画像の各ピクセルの値（例えば輝度値）と、目標画像の対応するピクセルの値（例えば輝度値）とを比較する。より具体的には、画像選択部４８は、一例として、選択対象画像の各ピクセルの値と、目標画像の対応するピクセルの値との差または比率等を算出してよい。そして、画像選択部４８は、一例として、複数のピクセルの全ての比較結果を平均又は合計し、平均又は合計した比較結果を当該選択対象画像の類似度としてよい。
【００５０】
続いて、画像選択部４８は、候補画像として選択された２以上の選択対象画像の全てについてステップＳ２７の処理を終えると、処理をステップＳ２９に進める（Ｓ２８）。続いて、画像選択部４８は、候補画像として選択された２以上の選択対象画像の中から、目標画像により類似する選択対象画像を選択する（Ｓ２９）。
【００５１】
ステップＳ２９において、画像選択部４８は、一例として、候補画像として選択された２以上の選択対象画像のうち、ステップＳ２７で算出された類似度がより高い選択対象画像を優先的に選択してよい。画像選択部４８は、一例として、ステップＳ２７で算出された類似度が基準類似度より高い選択対象画像を選択してよい。また、画像選択部４８は、一例として、ステップＳ２７で算出された類似度が上位から予め定められた範囲の選択対象画像を選択してもよい。また、画像選択部４８は、ステップＳ２７で算出された類似度がより高い選択対象画像がより高い確率で選択されるように設定がされている条件下で、ランダムに選択対象画像を選択してもよい。
【００５２】
続いて、フィルタ選択部５０は、画像選択部４８により選択された選択対象画像を生成する画像フィルタ２０を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ２０として選択する（Ｓ３０）。このステップＳ３０の処理を終えると、画像処理装置１０は、当該フローを終了する。
【００５３】
以上のような、本実施形態に係る画像処理装置１０は、複数の選択対象画像のそれぞれについて、低解像度画像と目標画像との類似度を算出して候補画像を選択し、選択された候補画像についてのみ全ピクセルを用いて目標画像との類似度を算出する。これにより、画像処理装置１０によれば、複数の選択対象画像の全てについて全ピクセルを用いて目標画像との類似度を算出しなくてよいので、少ない演算量でより目標画像と類似する選択対象画像を選択することができる。例えば、本実施形態に係る画像処理装置１０によれば、進化的計算による画像フィルタ２０の生成処理において、各世代における、選択対象画像と目標画像との類似度の演算のための演算量を少なくすることができ、この結果、画像フィルタ２０を高速に生成することができる。
【００５４】
図１０は、本実施形態の第１変形例に係る画像処理装置１０の構成を示す。本変形例に係る画像処理装置１０は、図１に示された本実施形態に係る画像処理装置１０と略同一の構成および機能を採るので、図１に示された画像処理装置１０が備える部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【００５５】
本変形例に係る画像処理装置１０は、フィルタ更新部６２を更に備える。フィルタ更新部６２は、候補選択部４６が選択した選択対象画像のそれぞれを生成する複数の画像フィルタ２０により、フィルタ格納部３２に格納された複数の画像フィルタ２０を更新する。
【００５６】
また、本変形例において、候補選択部４６は、複数の画像フィルタ２０により生成された複数の選択対象画像および新たな画像フィルタ２０により生成された新たな選択対象画像のうち、低解像度画像が目標画像により類似する選択対象画像を選択し、当該選択対象画像を生成する複数の画像フィルタ２０を選択する。また、画像選択部４８は、フィルタ更新部６２により繰り返し更新された後にフィルタ格納部３２に格納されている複数の画像フィルタ２０により生成された複数の選択対象画像の中から、目標画像により類似する選択対象画像を選択する。
【００５７】
図１１は、本実施形態の第１変形例に係る画像処理装置１０の処理フローを示す。本変形例に係る画像処理装置１０は、図７に示されるステップＳ１４において、図１１に示すステップＳ２１からステップＳ４２までの処理を実行する。
【００５８】
まず、低解像度画像生成部４４および候補選択部４６は、ステップＳ２１からステップＳ２５までの処理を実行する。なお、ステップＳ２１からステップＳ２５までの各処理は、図９に示されるステップＳ２１からステップＳ２５までの処理と同様なので説明を省略する。
【００５９】
続いて、候補選択部４６は、現在の世代が予め定められた世代か否かを判断する（Ｓ４１）。例えば、候補選択部４６は、現在の世代が所定世代以降の世代であるか否かを判断してよい。候補選択部４６は、現在の世代が予め定められた世代ではないことを条件として（Ｓ４１のＮｏ）、処理をステップＳ４２に進める。また、候補選択部４６は、現在の世代が予め定められた世代であることを条件として（Ｓ４１のＹｅｓ）、処理をステップＳ２６に進める。
【００６０】
現在の世代が予め定められた世代ではない場合（Ｓ４１のＮｏ）、フィルタ更新部６２は、候補選択部４６が候補画像として選択した選択対象画像を生成する複数の画像フィルタ２０により、フィルタ格納部３２に格納された複数の画像フィルタ２０を更新する（Ｓ４２）。候補選択部４６は、一例として、候補選択部４６が候補画像として選択した選択対象画像を生成した画像フィルタ２０をフィルタ格納部３２内に残存させ、候補選択部４６が候補画像として選択しなかった選択対象画像を生成した画像フィルタ２０をフィルタ格納部３２内から削除してよい。
【００６１】
一方、現在の世代が予め定められた世代である場合（Ｓ４１のＹｅｓ）、画像選択部４８は、ステップＳ２６からステップＳ３０までの処理を実行する。なお、ステップＳ２６からステップＳ３０までの処理は、図９に示されるステップＳ２６からステップＳ３０までの処理と同様なので説明を省略する。ステップＳ４２またはステップＳ３０の処理を終えると、画像処理装置１０は、当該フローを終了する。
【００６２】
このような本変形例に係る画像処理装置１０は、進化的計算による画像フィルタ２０の生成処理において、予め定められた世代以外においては、画像フィルタ２０により生成された選択対象画像の低解像度画像と目標画像との類似度に基づき次世代に残存させるべき画像フィルタ２０を選択する。そして、画像処理装置１０は、予め定められた世代（例えば、所定世代以降の世代）においては、低解像度とされていない選択対象画像と目標画像との類似度に基づき次世代に残存させるべき画像フィルタ２０を選択する。これにより、本変形例に係る画像処理装置１０によれば、世代毎に、類似度の算出精度を切り換えることができる。従って、本変形例に係る画像処理装置１０によれば、例えば、世代交代が進んでおらず画像フィルタ２０の精度が比較的に悪い場合には、比較的に粗い精度で類似度を算出し、世代交代が進んで画像フィルタ２０の精度が比較的に良くなった場合には、比較的に精度良く類似度を算出することができる。
【００６３】
図１２は、本実施形態の第２変形例に係る画像処理装置１０の構成を示す。本変形例に係る画像処理装置１０は、図１に示された本実施形態に係る画像処理装置１０と略同一の構成および機能を採るので、図１に示された画像処理装置１０が備える部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【００６４】
本変形例に係る画像処理装置１０は、低解像度画像生成部４４に代えて、抽出部７２と、重み記憶部７４とを更に備える。抽出部７２は、複数の選択対象画像のそれぞれから、予め定められた部分の部分画像を抽出する。抽出部７２は、一例として、複数の選択対象画像のそれぞれについて、予め定められた基準重みより高い重みを有する領域を含む部分の部分画像を抽出する。
【００６５】
重み記憶部７４は、目標画像の領域毎の重みを示す重みデータを記憶する。重み記憶部７４は、重みデータとして、例えば、各領域の値（例えば輝度値）が重みを表わす重み画像を記憶してよい。
【００６６】
そして、本変形例において、候補選択部４６は、複数の選択対象画像のうち、部分画像が目標画像の対応部分により類似する２以上の選択対象画像を、候補画像として選択する。また、画像選択部４８は、候補選択部４６により候補画像として選択された２以上の選択対象画像の中から、目標画像により類似する選択対象画像を選択する。
【００６７】
図１３は、本実施形態の第２変形例に係る画像処理装置１０により生成される各画像の一例を示す。重み記憶部７４は、一例として、各ピクセルの輝度値が重みを表わす重み画像を、重みデータとして記憶してよい。重み画像は、一例として、使用者により予め生成または撮影された画像であってよい。
【００６８】
抽出部７２は、重み画像の各ピクセルのうち、予め定められた輝度値より高い輝度値を有するピクセル位置を特定する。続いて、抽出部７２は、選択対象画像の中の特定したピクセル位置に対応する部分を、部分画像として抽出する。例えば、図１３に示す例においては、抽出部７２は、重み画像の中の白の四角形に対応する部分を、部分画像として抽出する。さらに、抽出部７２は、目標画像の中の特定したピクセル位置に対応する部分を、部分画像に対応する画像として抽出する。
【００６９】
候補選択部４６は、複数の選択対象画像の全てについて、部分画像と、当該部分画像に対応する目標画像の対応する部分との類似度を算出し、類似度がより高い２以上の選択対象画像を候補画像として選択する。そして、画像選択部４８は、候補選択部４６により候補画像として選択された２以上の選択対象画像の中から、目標画像により類似する選択対象画像を選択する。
【００７０】
このような本変形例に係る画像処理装置１０は、複数の選択対象画像のそれぞれについて、部分画像と目標画像との類似度を算出して候補画像を選択し、選択された候補画像についてのみ全画面を用いて目標画像との類似度を算出する。これにより、本変形例に係る画像処理装置１０によれば、複数の選択対象画像の全てについて全画面を用いて目標画像との類似度を算出しなくてよいので、少ない演算量でより目標画像と類似する選択対象画像を選択することができる。例えば、本実施形態に係る画像処理装置１０によれば、進化的計算による画像フィルタ２０の生成処理において、各世代における、選択対象画像と目標画像との類似度の演算のための演算量を少なくすることができ、この結果、画像フィルタ２０を高速に生成することができる。
【００７１】
図１４は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００７２】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７３】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００７４】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００７５】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００７６】
コンピュータ１９００にインストールされ、コンピュータ１９００を画像処理装置１０として機能させるプログラムは、フィルタ格納モジュールと、フィルタ生成モジュールと、変換対象画像格納モジュールと、フィルタ処理モジュールと、選択対象画像格納モジュールと、目標画像格納モジュールと、低解像度画像生成モジュールと、候補選択モジュールと、画像選択モジュールと、フィルタ選択モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、フィルタ格納部３２、フィルタ生成部３４、変換対象画像格納部３６、フィルタ処理部３８、選択対象画像格納部４０、目標画像格納部４２、低解像度画像生成部４４、候補選択部４６、画像選択部４８およびフィルタ選択部５０としてそれぞれ機能させる。
【００７７】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるフィルタ格納部３２、フィルタ生成部３４、変換対象画像格納部３６、フィルタ処理部３８、選択対象画像格納部４０、目標画像格納部４２、低解像度画像生成部４４、候補選択部４６、画像選択部４８およびフィルタ選択部５０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の画像処理装置１０が構築される。
【００７８】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００７９】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００８０】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００８１】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００８２】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００８３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００８４】
【図１】図１は、本実施形態に係る画像処理装置１０の構成を示す。
【図２】図２は、フィルタ部品２２を直列に組み合わせた構成の画像フィルタ２０の一例を示す。
【図３】図３は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０の一例を示す。
【図４】図４は、フィルタ部品２２を直列に組み合わせた構成の画像フィルタ２０に対して行われる遺伝子的な操作の一例を示す。
【図５】図５は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０に対して行われる交叉操作の一例を示す。
【図６】図６は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０に対して行われる突然変異操作の一例を示す。
【図７】図７は、画像処理装置１０の処理フローを示す。
【図８】図８は、候補選択部４６および画像選択部４８の構成の一例を低解像度画像生成部４４とともに示す。
【図９】図９は、図７に示されるステップＳ１４における画像処理装置１０の処理フローの一例を示す。
【図１０】図１０は、本実施形態の第１変形例に係る画像処理装置１０の構成を示す。
【図１１】図１１は、本実施形態の第１変形例に係る画像処理装置１０の処理フローを示す。
【図１２】図１２は、本実施形態の第２変形例に係る画像処理装置１０の構成を示す。
【図１３】図１３は、本実施形態の第２変形例に係る画像処理装置１０により生成される各画像の一例を示す。
【図１４】本発明の実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【符号の説明】
【００８５】
１０  画像処理装置
２０  画像フィルタ
２２  フィルタ部品
３２  フィルタ格納部
３４  フィルタ生成部
３６  変換対象画像格納部
３８  フィルタ処理部
４０  選択対象画像格納部
４２  目標画像格納部
４４  低解像度画像生成部
４６  候補選択部
４８  画像選択部
５０  フィルタ選択部
５２  第１算出部
５４  第１選択部
５６  第２算出部
５８  第２選択部
６２  フィルタ更新部
７２  抽出部
７４  重み記憶部
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
0005181825.tif 000002
【図２】
0005181825.tif 000003
【図３】
0005181825.tif 000004
【図４】
0005181825.tif 000005
【図５】
0005181825.tif 000006
【図６】
0005181825.tif 000007
【図７】
0005181825.tif 000008
【図８】
0005181825.tif 000009
【図９】
0005181825.tif 000010
【図１０】
0005181825.tif 000011
【図１１】
0005181825.tif 000012
【図１２】
0005181825.tif 000013
【図１３】
0005181825.tif 000014
【図１４】
0005181825.tif 000015