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

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

▶ ブラザー工業株式会社の特許一覧

特許7521259学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法
<>
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図1
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図2
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図3
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図4
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図5
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図6
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図7
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図8
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図9
  • 特許-学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】学習済みの機械学習モデル、画像処理装置、および、機械学習モデルのトレーニング方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240717BHJP
   G06T 5/00 20240101ALI20240717BHJP
【FI】
G06T7/00 350B
G06T5/00 700
【請求項の数】 6
(21)【出願番号】P 2020092072
(22)【出願日】2020-05-27
(65)【公開番号】P2021189582
(43)【公開日】2021-12-13
【審査請求日】2023-04-18
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】近藤 真樹
【審査官】吉田 千裕
(56)【参考文献】
【文献】特表2023-525702(JP,A)
【文献】中国特許出願公開第111164647(CN,A)
【文献】特開2007-026444(JP,A)
【文献】特開2020-058800(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 5/00
(57)【特許請求の範囲】
【請求項1】
コンピュータプログラムであって、
入力画像を示す入力画像データに対して演算処理を実行して、前記入力画像データに対応する出力画像データを生成する機能をコンピュータに実現させる学習済みの機械学習モデルであって、第1画像処理を実行することが好ましい前記入力画像内の領域である第1領域を示す第1領域データと、前記第1画像処理とは異なる第2画像処理を実行することが好ましい前記入力画像内の領域である第2領域を示す第2領域データと、を含む前記出力画像データ生成されるようにトレーニングされている、前記学習済みの機械学習モデルと、
前記第1領域データと前記第2領域データとを用いて、調整済み領域データを生成する生成機能をコンピュータに実現させる生成プログラムと、
を含み、
前記調整済み領域データは、前記第1領域データによって示される前記第1領域と前記第2領域データによって示される前記第2領域とが重なる場合に、互いに重ならないように調整された調整済みの前記第1領域と調整済みの前記第2領域とを示すデータであり、
前記第1領域データは、前記第1領域に対応する複数個の画素の値のそれぞれが前記第1画像処理の第1パラメータを示す画像データであり、
前記第2領域データは、前記第2領域に対応する複数個の画素の値のそれぞれが前記第2画像処理の第2パラメータを示す画像データであり、
前記生成機能は、
前記第1領域データによって示される前記第1領域と前記第2領域データによって示される前記第2領域とが重なる重複領域について、前記第1パラメータと前記第2パラメータとに基づいて、実行すべき画像処理と、用いるべきパラメータと、を決定し、
前記実行すべき画像処理と、前記用いるべきパラメータと、を示す前記調整済み領域データを生成する、コンピュータプログラム
【請求項2】
請求項1に記載のコンピュータプログラムであって、
前記第1画像処理は、前記入力画像の特定の特徴量を増加させる処理であり、
前記第2画像処理は、前記入力画像の前記特定の特徴量を減少させる処理である、コンピュータプログラム
【請求項3】
請求項に記載のコンピュータプログラムであって、
前記第1画像処理は、前記入力画像のエッジ量を増加させるエッジ強調処理であり、
前記第2画像処理は、前記入力画像のエッジ量を減少させる平滑化処理である、コンピュータプログラム
【請求項4】
請求項1~のいずれかに記載のコンピュータプログラムであって、
前記機械学習モデルは、複数組の第1種のデータペアを用いてトレーニングされている第1の機械学習モデルと、複数組の第2種のデータペアを用いてトレーニングされている第2の機械学習モデルと、を含み、
前記複数組の第1種のデータペアのそれぞれは、第1種のオブジェクトを示す第1種の前記入力画像データと、前記第1種の入力画像データが前記第1の機械学習モデルに入力される場合に出力されるべき前記出力画像データである第1種の教師画像データと、を含み、
前記複数組の第2種のデータペアのそれぞれは、第2種のオブジェクトを示す第2種の前記入力画像データと、前記第1種の入力画像データが前記第2の機械学習モデルに入力される場合に出力されるべき前記出力画像データである第2種の教師画像データと、を含む、コンピュータプログラム
【請求項5】
画像処理装置であって、
入力画像を示す入力画像データを学習済みの機械学習モデルに入力して前記機械学習モデルに前記入力画像データに対応する出力画像データを生成させる生成部であって、前記機械学習モデルは、第1画像処理を実行することが好ましい前記入力画像内の領域である第1領域を示す第1領域データと、前記第1画像処理とは異なる第2画像処理を実行することが好ましい前記入力画像内の領域である第2領域を示す第2領域データと、を含む前記出力画像データを生成するようにトレーニングされている、前記生成部と、
前記第1領域データと前記第2領域データとを用いて、調整済み領域データを生成する調整部であって、前記調整済み領域データは、前記第1領域データによって示される前記第1領域と前記第2領域データによって示される前記第2領域とが重なる場合に、互いに重ならないように調整された調整済みの前記第1領域と調整済みの前記第2領域とを示すデータである、前記調整部と、
前記入力画像データのうち、前記調整済み領域データを用いて特定される前記第1領域を示すデータに対して前記第1画像処理を実行し、前記入力画像データのうち、前記調整済み領域データを用いて特定される前記第2領域を示すデータに対して前記第2画像処理を実行する画像処理部と、
を備え
前記第1領域データは、前記第1領域に対応する複数個の画素の値のそれぞれが前記第1画像処理の第1パラメータを示す画像データであり、
前記第2領域データは、前記第2領域に対応する複数個の画素の値のそれぞれが前記第2画像処理の第2パラメータを示す画像データであり、
前記調整部は、
前記第1領域データによって示される前記第1領域と前記第2領域データによって示される前記第2領域とが重なる重複領域について、前記第1パラメータと前記第2パラメータとに基づいて、実行すべき画像処理と、用いるべきパラメータと、を決定し、
前記実行すべき画像処理と、前記用いるべきパラメータと、を示す前記調整済み領域データを生成する、画像処理装置。
【請求項6】
請求項に記載の画像処理装置であって、
前記第1画像処理は、前記入力画像のエッジ量を増加させるエッジ強調処理であり、
前記第2画像処理は、前記入力画像のエッジ量を減少させる平滑化処理であり、
前記画像処理部は、前記第2領域を示すデータに対して前記平滑化処理を実行した後に、前記第1領域を示すデータに対して前記エッジ強調処理を実行する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、画像処理を実行することが好ましい領域の特定に関する。
【背景技術】
【0002】
特許文献1に開示された画像処理装置は、画像内の各画素のエッジ量を検出し、エッジ量の大きさに応じてパラメータが異なる先鋭化処理を各画素に対して実行する。これによって、画像内のエッジ部分の画素と非エッジ部分の画素とに異なる先鋭化処理が実行される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-25862号公報
【発明の概要】
【0004】
しかしながら、上記技術では、エッジ量に応じてパラメータを切り替えているに過ぎないので、画像において先鋭化処理などの画像処理を実行することが好ましい領域を適切に特定できない場合があった。このために、例えば、画像内の適切な領域に画像処理を実行することができない場合があった。
【0005】
本明細書は、画像処理を実行することが好ましい領域を適切に特定できる新たな技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]入力画像を示す入力画像データに対して演算処理を実行して、前記入力画像データに対応する出力画像データを生成する機能をコンピュータに実現させる学習済みの機械学習モデルであって、第1画像処理を実行することが好ましい前記入力画像内の領域である第1領域と、前記第1画像処理とは異なる第2画像処理を実行することが好ましい前記入力画像内の領域である第2領域と、を示す前記出力画像データ生成されるようにトレーニングされている機械学習モデル。
【0008】
上記構成によれば、学習済みの機械学習モデルは、第1画像処理を実行することが好ましい第1領域と、第2画像処理を実行することが好ましい前記第2領域と、を示す出力画像データを生成する機能をコンピュータに実現させる。この結果、学習済みの機械学習モデルに出力画像データを生成させることで、入力画像内の第1画像処理を実行することが好ましい第1領域と、入力画像内の第2画像処理を実行することが好ましい第2領域と、を適切に特定できる。したがって、例えば、第1画像処理と第2画像処理とを入力画像内の好ましい領域に対してそれぞれ実行することができる。
[適用例2]
適用例1に記載の機械学習モデルであって、
前記出力画像データは、前記第1領域に対応する複数個の画素の値のそれぞれが前記第1画像処理のパラメータを示す画像データを含む、機械学習モデル。
[適用例3]
適用例1または2に記載の機械学習モデルであって、
前記出力画像データは、前記第1領域を示す第1領域データと、前記第1領域データとは異なる第2領域データであって前記第2領域を示す前記第2領域データと、を含む、機械学習モデル。
[適用例4]
適用例3に記載の機械学習モデルであって、
前記第1領域データと前記第2領域データとを用いて、調整済み領域データを生成し、
前記調整済み領域データは、前記第1領域データによって示される前記第1領域と前記第2領域データによって示される前記第2領域とが重なる場合に、互いに重ならないように調整された調整済みの前記第1領域と調整済みの前記第2領域とを示すデータである、機械学習モデル。
[適用例5]
適用例4に記載の機械学習モデルであって、
前記第1領域データは、前記第1領域に対応する複数個の画素の値のそれぞれが前記第1画像処理の第1パラメータを示す画像データであり、
前記第2領域データは、前記第2領域に対応する複数個の画素の値のそれぞれが前記第2画像処理の第2パラメータを示す画像データであり、
前記機械学習モデルは、
前記第1領域データによって示される前記第1領域と前記第2領域データによって示される前記第2領域とが重なる重複領域について、前記第1パラメータと前記第2パラメータとに基づいて、実行すべき画像処理と、用いるべきパラメータと、を決定し、
前記実行すべき画像処理と、前記用いるべきパラメータと、を示す前記調整済み領域データを生成する、機械学習モデル。
[適用例6]
適用例1~5のいずれかに記載の機械学習モデルであって、
前記第1画像処理は、前記入力画像の特定の特徴量を増加させる処理であり、
前記第2画像処理は、前記入力画像の前記特定の特徴量を減少させる処理である、機械学習モデル。
[適用例7]
適用例6に記載の機械学習モデルであって、
前記第1画像処理は、前記入力画像のエッジ量を増加させるエッジ強調処理であり、
前記第2画像処理は、前記入力画像のエッジ量を減少させる平滑化処理である、機械学習モデル。
[適用例8]
適用例1~7のいずれかに記載の機械学習モデルであって、
複数組の第1種のデータペアを用いてトレーニングされている第1の機械学習モデルと、複数組の第2種のデータペアを用いてトレーニングされている第2の機械学習モデルと、を含み、
前記複数組の第1種のデータペアのそれぞれは、第1種のオブジェクトを示す第1種の前記入力画像データと、前記第1種の入力画像データが前記第1の機械学習モデルに入力される場合に出力されるべき前記出力画像データである第1種の教師画像データと、を含み、
前記複数組の第2種のデータペアのそれぞれは、第2種のオブジェクトを示す第2種の前記入力画像データと、前記第1種の入力画像データが前記第2の機械学習モデルに入力される場合に出力されるべき前記出力画像データである第2種の教師画像データと、を含む、機械学習モデル。
【0009】
[適用例]画像処理装置であって、入力画像を示す入力画像データを学習済みの機械学習モデルに入力して前記機械学習モデルに前記入力画像データに対応する出力画像データを生成させる生成部であって、前記機械学習モデルは、第1画像処理を実行することが好ましい前記入力画像内の領域である第1領域と、前記第1画像処理とは異なる第2画像処理を実行することが好ましい前記入力画像内の領域である第2領域と、を示す前記出力画像データを生成するようにトレーニングされている、前記生成部と、前記入力画像データのうち、前記出力画像データを用いて特定される前記第1領域を示すデータに対して前記第1画像処理を実行し、前記入力画像データのうち、前記出力画像データを用いて特定される前記第2領域を示すデータに対して前記第2画像処理を実行する画像処理部と、を備える、画像処理装置。
【0010】
上記構成によれば、画像処理装置は、学習済みの機械学習モデルに出力画像データを生成させることで、入力画像内の第1画像処理を実行することが好ましい第1領域と、入力画像内の第2画像処理を実行することが好ましい第2領域と、を適切に特定できる。したがって、例えば、画像処理装置は、第1画像処理と第2画像処理とを入力画像内の好ましい領域に対してそれぞれ実行することができる。
[適用例10]
適用例9に記載の画像処理装置であって、
前記第1画像処理は、前記入力画像のエッジ量を増加させるエッジ強調処理であり、
前記第2画像処理は、前記入力画像のエッジ量を減少させる平滑化処理であり、
前記画像処理部は、前記第2領域を示すデータに対して前記平滑化処理を実行した後に、前記第1領域を示すデータに対して前記エッジ強調処理を実行する、画像処理装置。
【0011】
[適用例11]入力画像を示す入力画像データに対して演算処理を実行して、前記入力画像に対応する出力画像データを生成する機械学習モデルのトレーニング方法であって、複数個の学習用の前記入力画像データを取得する第1取得工程と、前記複数個の学習用の入力画像データに対応する複数個の教師画像データを取得する第2取得工程であって、前記複数個の教師画像データのそれぞれは、対応する前記学習用の入力画像データによって示される前記入力画像内の第1領域と第2領域とを示す画像データであり、前記第1領域は、第1画像処理を実行することが好ましい領域であり、前記第2領域は、前記第1画像処理とは異なる第2画像処理を実行することが好ましい領域である、前記第2取得工程と、それぞれが前記学習用の入力画像データと前記学習用の入力画像データに対応する前記教師画像データとを含む複数組のデータペアを用いて、前記機械学習モデルの演算に用いられる複数個のパラメータを調整する調整工程と、を備えるトレーニング方法。


【0012】
上記構成によれば、第1画像処理を実行することが好ましい入力画像内の領域である第1領域と、第2画像処理を実行することが好ましい入力画像内の領域である第2領域と、を示す前記出力画像データを生成するように、機械学習モデルをトレーニングできる。
【0013】
なお、本明細書に開示された技術は、種々の形態で実現可能であり、例えば、機械学習モデルのトレーニング装置、画像処理方法、これらの方法を実現するための装置、コンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0014】
図1】トレーニング装置100の構成を示すブロック図。
図2】機械学習モデルの構成を示すブロック図。
図3】入力画像と出力画像の一例を示す図。
図4】機械学習モデルのトレーニングの工程を示すフローチャート。
図5】トレーニング処理のフローチャート。
図6】画像処理装置200の構成を示すブロック図。
図7】第1実施例の印刷処理のフローチャート。
図8】第2実施例の印刷処理のフローチャート。
図9】領域調整処理のフローチャート。
図10】領域調整処理の説明図。
【0015】
A.第1実施例
A-1.トレーニング装置の構成
次に、実施の形態を実施例に基づき説明する。図1は、トレーニング装置100の構成を示すブロック図である。
【0016】
トレーニング装置100は、パーソナルコンピュータなどの計算機である。トレーニング装置100は、トレーニング装置100のコントローラとしてのCPU110と、RAMなどの揮発性記憶装置120と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置130と、操作部140と、表示部150と、通信インタフェース(IF)170と、を備えている。操作部140は、ユーザの操作を受け取る装置であり、例えば、キーボードやマウスである。表示部150は、画像を表示する装置であり、例えば、液晶ディスプレイである。通信インタフェース170は、外部機器と接続するためのインタフェースである。
【0017】
揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置130には、コンピュータプログラムPGと、学習用入力画像データ群IGtと、教師画像データ群TGと、が格納されている。学習用入力画像データ群IGtは、後述するトレーニング処理のために用いられる複数個の入力画像データID(後述)を含む。
【0018】
コンピュータプログラムPGは、例えば、後述するプリンタ(後述)の製造者によって提供され、トレーニング装置100にインストールされる。コンピュータプログラムPGは、所定のサーバからダウンロードされる形態や、CD-ROMやDVD-ROMなどに格納された形態で提供されても良い。CPU110は、コンピュータプログラムPGを実行することにより、後述する人物用機械学習モデルNAおよび風景用機械学習モデルNBのトレーニング処理を実行する。
【0019】
コンピュータプログラムPGは、後述する機械学習モデルNA、NBの機能をCPU110に実現させるコンピュータプログラムをモジュールとして含んでいる。以下では、「機械学習モデル」と言うとき、機械学習モデルNA、NBの機能、もしくは、該機能を実現するコンピュータプログラム(モジュール)を意味する。
【0020】
A-2.機械学習モデルの構成
図2は、機械学習モデルの構成を示すブロック図である。第1実施例で用いられる機械学習モデルNA、NBは、生成ネットワークGNである。後述する第2実施例で用いられる機械学習モデルNA、NBは、生成ネットワークGNに加えて、調整処理部AMを備えている。調整処理部AMについては、第2実施例にて説明する。
【0021】
生成ネットワークGNは、入力画像データIDが入力されると、入力画像データIDに対して複数個の演算パラメータを用いた演算を実行して、入力画像データIDに対応する出力画像データODを生成し、出力する。
【0022】
図3は、入力画像と出力画像の一例を示す図である。入力画像データIDは、例えば、デジタルカメラを用いて被写体(例えば、人物や風景)を撮影することによって生成されるビットマップデータである。本実施例では、入力画像データは、RGB値によって画素ごとの色を表すRGB画像データである。RGB値は、赤(R)、緑(G)、青(B)の3個の色成分の階調値(例えば、256階調の階調値)であるR値、G値、B値を含むRGB表色系の色値である。図3(A)の例では、入力画像データIDによって示される入力画像IIは、オブジェクトとして、人物の顔FCを含んでいる。入力画像IIのサイズ(縦横の画素数)は、拡大処理や縮小処理によって生成ネットワークGNの入力画像データIDとして想定されるサイズに調整されている。本実施例では、入力画像IIは、縦257画素×横257画素の矩形の画像である。
【0023】
出力画像データODは、2個の領域データAD1、AD2を含んでいる(図2)。エッジ強調領域データAD1は、エッジ強調領域画像EI(図3(B))を示す画像データである。平滑化領域データAD2は、平滑化領域画像SI(図3(C))を示す画像データである。領域データAD1、AD2によって示される領域画像EI、SIは、入力画像IIと同じサイズ(縦および横の画素数)を有する矩形の画像である。したがって、入力画像IIの複数個の画素と、エッジ強調領域画像EIの複数個の画素と、平滑化領域画像SIの複数個の画素とは、一対一で対応している。領域画像EI、SIの各画素の値は、本実施例では、0~255の256階調の階調値である。
【0024】
エッジ強調領域画像EIは、エッジ強調処理を実行することが好ましい入力画像II内の領域であるエッジ強調領域EAを示す画像である。図3(B)のエッジ強調領域画像EIのハッチングされた領域は、エッジ強調領域EAであり、ハッチングされていない領域はエッジ強調領域EAとは異なる領域(非エッジ強調領域NEAとも呼ぶ)である。エッジ強調領域画像EIにおいて、非エッジ強調領域NEAは、0の値を有する画素で構成される領域である。エッジ強調領域画像EIにおいて、エッジ強調領域EAは、1以上の値(本実施例では1~255の範囲の値)を有する画素で構成される領域である。
【0025】
エッジ強調領域EAを構成する画素PX1の値は、エッジ強調処理のパラメータ(強調パラメータP1とも呼ぶ)である。図3(B)には、エッジ強調領域画像EIの下方に、エッジ強調領域EAの一部分EApの拡大図が示されている。拡大図の升目は、画素PX1を示し、画素PX1内に示す値は、強調パラメータP1である。
【0026】
平滑化領域画像SIは、平滑化処理を実行することが好ましい入力画像II内の領域である平滑化領域SAを示す画像である。図3(C)の平滑化領域画像SIのハッチングされた領域は、平滑化領域SAであり、ハッチングされていない領域は平滑化領域SAとは異なる領域(非平滑化領域NSAとも呼ぶ)である。平滑化領域画像SIにおいて、非平滑化領域NSAは、0の値を有する画素で構成される領域である。平滑化領域画像SIにおいて、平滑化領域SAは、1以上の値(本実施例では1~255の範囲の値)を有する画素で構成される領域である。
【0027】
平滑化領域SAを構成する画素PX2の値は、平滑化処理のパラメータ(平滑化パラメータP2とも呼ぶ)である。図3(C)には、平滑化領域画像SIの下方に、平滑化領域SAの一部分SApの拡大図が示されている。拡大図の升目は、画素PX2を示し、画素PX2内に示す値は、平滑化パラメータP2である。
【0028】
パラメータP1、P2は、上述のように、1~255の範囲の値である。強調パラメータP1の大きさは、エッジ強調処理によるエッジ強調のレベルを示し、平滑化パラメータP2の大きさは、平滑化処理における平滑化の程度を示す。エッジ強調領域EAのうち、強調パラメータP1が値P1aに設定されている部分は、強調パラメータP1が値P1aより小さな値P1bに設定されている部分と比較して高いレベルのエッジ強調処理が実行されることが好ましい部分である。平滑化領域SAのうち、平滑化パラメータP2が値P2aに設定されている部分は、平滑化パラメータP2が値P2aより小さな値P2bに設定されている部分と比較して高いレベルの平滑化処理が実行されることが好ましい部分である。
【0029】
図2に示すように、生成ネットワークGNは、エンコーダECとデコーダDCとを含んでいる。
【0030】
エンコーダECは、入力画像データIDに対して、複数個の演算パラメータPeを用いて、次元削減処理を実行して、入力画像データIDの特徴(すなわち、入力画像IIの特徴)を示す特徴データCDを生成する。本実施例では、入力画像データIDは、(257×257)個の画素のそれぞれの3個の成分値(R値、G値、B値)を含むので、(257×257×3)個の値を含むデータ、すなわち、(257×257×3)次元のデータである。特徴データCDは、本実施例では、(65×65×32)次元のデータである。
【0031】
図2には、エンコーダECの構成が示されている。エンコーダECは、入力層EL_0と、複数個の畳込層EL_1、EL_2を有するニューラルネットワークである。
【0032】
入力層EL_0は、入力画像データIDが入力される層である。1番目の畳込層EL_1には、入力層EL_0に入力された入力画像データIDがそのまま入力される。2番目の畳込層EL_2には、入力層EL_1から出力されたデータが入力される。
【0033】
畳込層EL_k(kは、1または2)は、入力されるデータに対して、後述する演算処理を実行して、例えば、(A×B×C)次元のデータを出力する。(A、B、Cは、正の整数であり、本実施例では、(A×B×C)=(129×129×16)、(A×B×C)=(65×65×32)である。畳込層EL_2によって出力されるデータは、上述した特徴データCDである。
【0034】
畳込層EL_kが実行する演算処理は、畳込処理(convolution)とバイアスの加算処理とを含む。畳込処理は、入力されたデータに対して、(p×q×r)次元のs個のフィルタを順次に適用して入力されたデータとフィルタとの相関を示す相関値を算出する処理である。各フィルタを適用する処理では、フィルタをスライドさせながら複数個の相関値が順次に算出される。1個のフィルタは、(p×q×r)個の重みを含んでいる。バイアスの加算処理は、算出された相関値に、1個のフィルタに対して1個ずつ準備されたバイアスを加算する処理である。s個のフィルタに含まれる(p×q×r×s)個の重みと、s個のフィルタに対応するs個のバイアスと、は、上述した複数個の演算パラメータPeであり、後述するトレーニング処理において調整される値である。
【0035】
畳込層EL_kによって出力されるデータの各値は、上述した相関値にバイアスを加えた値に、所定の後処理を実行して得られる値である。畳込層EL_kによって出力されるデータに含まれる値の個数(例えば、畳込層EL_1の場合は(A×B×C))は、畳込処理におけるストライド(フィルタをスライドさせる量)と、フィルタの個数sと、によって決定される。
【0036】
所定の後処理は、データの各値を活性化関数に入力して変換する処理を含む。本実施例では、活性化関数には、例えば、いわゆるReLU(Rectified Linear Unit)が用いられる。なお、所定の後処理では、バッチノーマライゼーション(Batch Normalization)やドロップアウトなどの公知の処理が適宜に実行されても良い。
【0037】
デコーダDCは、エンコーダECによって生成された特徴データCDに対して、複数個の演算パラメータPdを用いて、次元復元処理を実行して、上述した出力画像データODを生成する。本実施例では、特徴データCDは、上述したように(65×65×32)次元のデータである。本実施例では、出力画像データODは、(257×257×1)個の値を含むエッジ強調領域データAD1と、(257×257×1)個の値を含む平滑化領域データAD2と、を含む。このために、出力画像データODは、(257×257×2)次元のデータである。
【0038】
図2には、デコーダDCの構成が示されている。デコーダDCは、複数個の転置畳込層DL_1、DL_2を有するニューラルネットワークである。
【0039】
1番目の転置畳込層DL_1には、特徴データCDが入力される。2番目の転置畳込層DL_2には、転置畳込層DL_1から出力されたデータが入力される。
【0040】
転置畳込層DL_m(mは、1または2)には、入力されるデータに対して、後述する演算処理を実行して、例えば、(D×E×F)次元のデータを生成する。(D、E、F)は、正の整数であり、本実施例では、(D×E×F)=(129×129×16)、(D×E×F)=(257×257×2)である。転置畳込層DL_2によって出力されるデータは、上述した出力画像データODである。
【0041】
転置畳込層DL_mが実行する演算処理は、転置畳込処理(transposed convolution)とバイアスの加算処理とを含む。転置畳込処理は、入力されたデータに対して、ストライドに応じて適宜に値(例えばゼロの値)を追加して次元数を増加させた後に、上述した畳込処理と同様に(p×q×r)次元のフィルタを用いた畳み込み演算を行う処理である。バイアスの加算処理は、転置畳込演算で算出された相関値に、1個のフィルタに対して1個ずつ準備されたバイアスを加算する処理である。s個のフィルタに含まれる(p×q×r×s)個の重みと、s個のフィルタに対応するs個のバイアスと、は、上述した複数個の演算パラメータPdであり、後述するトレーニング処理において調整される値である。
【0042】
転置畳込層DL_mによって出力されるデータの各値は、上述した相関値にバイアスを加えた値に、所定の後処理を実行して得られる値である。各転置畳込層DL_mによって生成されるデータに含まれる値の個数(例えば、転置畳込層DL_1の場合は(D×E×F))は、転置畳込処理におけるストライド(ゼロ等の値を追加する量)と、フィルタの個数sと、によって決定される。
【0043】
所定の後処理は、エンコーダECにおける後処理と同様に、データの各値を活性化関数に入力して変換する処理を含む。例えば、転置畳込層DL_1の後処理では、活性化関数として上述したReLUが用いられ、転置畳込層DL_2の後処理では、活性化関数として、いわゆるシグモイドが用いられる。所定の後処理では、バッチノーマライゼーション(Batch Normalization)やドロップアウトなどの公知の処理が適宜に実行されても良い。
【0044】
なお、人物用機械学習モデルNAとしての生成ネットワークGNと、風景用機械学習モデルNBとしての生成ネットワークGNとは、いずれも図2の構成を備えている。人物用機械学習モデルNAとしての生成ネットワークGNと、風景用機械学習モデルNBとしての生成ネットワークGNとでは、後述するトレーニング処理にて用いられる画像群が異なるために、トレーニング処理後の状態(学習済みの状態)において、エンコーダECおよびデコーダDCの演算パラメータPd、Peの値が異なる。
【0045】
A-3.機械学習モデルのトレーニング
図4は、機械学習モデルNA、NBのトレーニングの工程を示すフローチャートである。人物用機械学習モデルNAは、人物の顔FCを示す入力画像データIDが入力された場合に、適切にエッジ強調領域EAと平滑化領域SAとを示す出力画像データODを生成するように、トレーニングされる。風景用機械学習モデルNBは、風景(図示省略)を示す入力画像データIDが入力された場合に、適切にエッジ強調領域EAと平滑化領域SAとを示す出力画像データODを生成するように、トレーニングされる。機械学習モデルNA、NBのトレーニングは、例えば、後述するプリンタ300の製造者によって行われる。
【0046】
S10では、学習用の複数個の入力画像データIDの生成が行われる。具体的には、作業者が、所定のカテゴリ(本実施例では、人物と風景)に属する被写体をデジタルカメラで撮影することによって、該被写体を示す入力画像データIDを生成する。例えば、カテゴリごとに100個以上の異なる被写体をそれぞれ示す複数個の入力画像データIDが生成される。本ステップで生成された複数個の入力画像データIDは、生成ネットワークGNの入力画像データIDとして想定されるサイズになるように拡大処理または縮小処理が実行され、学習用入力画像データ群IGt(図1)として、トレーニング装置100の不揮発性記憶装置130に格納される。
【0047】
S20では、学習用の複数個の入力画像データIDと一対一で対応する複数個の教師画像データTDが生成される。教師画像データTDは、対応する入力画像データIDが機械学習モデルに入力される場合に、機械学習モデルによって出力されるべき出力画像データODである。このために、教師画像データTDは、上述した出力画像データODと同様に、エッジ強調領域データAD1と、平滑化領域データAD2と、を含む。
【0048】
各教師画像データTDに含まれるエッジ強調領域データAD1と平滑化領域データAD2とは、作業者によって作成される。例えば、経験豊かな作業者が、画像加工プログラム(フォトレタッチソフトとも呼ばれる)を用いて、対応する入力画像データIDに対してエッジ強調処理と平滑化処理とを実行して、入力画像IIの見栄えを向上させる。作業者によってエッジ強調処理が実行された領域をエッジ強調領域EAとして示し、かつ、作業者によって該領域に実行されたエッジ強調処理のレベルを強調パラメータP1として示すエッジ強調領域データAD1が生成される。作業者によって平滑化処理が実行された領域を平滑化領域SAとして示し、かつ、作業者によって該領域に実行された平滑化処理のレベルを平滑化パラメータP2として示す平滑化領域データAD2が生成される。
【0049】
例えば、図3(B)の例のように、人物用の入力画像データIDに対応する教師画像データTDのエッジ強調領域データAD1では、人物の顔FCのうち、髪の毛、目、鼻、口の領域が、エッジ強調領域EAとして指定される。図3(C)の例のように、人物用の入力画像データIDに対応する教師画像データTDの平滑化領域データAD2では、人物の顔FCのうち、頬、額、首周りなどの平坦な肌の領域が、平滑化領域SAとして指定される。本ステップで生成された複数個の教師画像データTDは、教師画像データ群TG(図1)として、トレーニング装置100の不揮発性記憶装置130に格納される。複数個の教師画像データTDのそれぞれは、学習用入力画像データ群IGtに含まれる1個の入力画像データIDと対応付けられる。
【0050】
S10とS20の処理によって、カテゴリごとに複数組(例えば、数百組)のデータペアが生成される。例えば、人物用の1個のデータペアは、人物の顔を示す入力画像データIDと、該入力画像データIDに対応する教師画像データTD(領域データAD1、AD2)と、を含む。
【0051】
S30では、トレーニング装置100のCPU110(図1)がコンピュータプログラムPGを実行することによって、トレーニング処理を実行する。図5は、トレーニング処理のフローチャートである。
【0052】
S100では、CPU110は、処理すべき画像の複数個のカテゴリ(本実施例では、人物と風景)から、1つの注目カテゴリ(例えば、人物)を選択する。
【0053】
S105では、CPU110は、注目カテゴリ用の機械学習モデルの生成ネットワークGNの演算パラメータPe、Pdを初期化する。例えば、これらの演算パラメータの初期値は、同一の分布(例えば、正規分布)から独立に取得された乱数に設定される。
【0054】
S110では、CPU110は、図4のS10、S20にて生成された注目カテゴリの複数組のデータペアの中から、バッチサイズ分のデータペアを選択する。例えば、複数個のデータペアは、V組(Vは2以上の整数、例えば、数10)ずつのデータペアをそれぞれ含む複数個のグループ(バッチ)に分割される。CPU110は、これらの複数個のグループから1個のグループを順次に選択することによって、V組の使用すべきデータペアを選択する。これに代えて、V組ずつのデータペアは、複数組のデータペアから、毎回、ランダムに選択されても良い。
【0055】
S120では、選択されたV組のデータペアの入力画像データIDを、注目カテゴリ用の機械学習モデルの生成ネットワークGNに入力して、V個のデータペアに対応するV個の出力画像データODを生成する。
【0056】
S125では、CPU110は、V個の出力画像データODのそれぞれについて、出力画像データODと、対応する教師画像データTDと、の間の誤差値EVを算出する。出力画像データODに対応する教師画像データTDは、該出力画像データODを生成する際に生成ネットワークGNに入力された入力画像データIDと対応する教師画像データTDである。誤差値EVは、所定の損失関数に基づいて算出される。例えば、以下の式(1)に基づいて算出される。
【0057】
【0058】
式(1)において、xは画素のx座標、yは画素のy座標を意味し、1以上257以下の整数値を取る。iは、出力画像データODおよび教師画像データTDに含まれるエッジ強調領域データAD1、平滑化領域データAD2を示す識別子であり、1または2である。i=1はエッジ強調領域データAD1を示し、i=2は平滑化領域データAD2を示す。例えば、O(x、y、1)は、出力画像データODのエッジ強調領域データAD1における座標(x、y)の画素の値であり、O(x、y、2)は、出力画像データODの平滑化領域データAD2における座標(x、y)の画素の値である。T(x、y、1)は、教師画像データTDのエッジ強調領域データAD1における座標(x、y)の画素の値であり、T(x、y、2)は、教師画像データTDの平滑化領域データAD2における座標(x、y)の画素の値である。誤差値EVは、出力画像データODと教師画像データTDの差分が小さくなるほど小さくなる。
【0059】
S130では、CPU110は、V組の出力画像データODのそれぞれについて算出されたV個の誤差値EVを用いて、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する。具体的には、CPU110は、誤差値EVが小さくなるように、所定のアルゴリズムに従って演算パラメータを調整する。所定のアルゴリズムには、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズム(例えば、adam)が用いられる。
【0060】
S135では、CPU110は、トレーニングが完了したか否かを判断する。本実施例では、作業者からの完了指示が入力された場合にはトレーニングが完了したと判断し、トレーニングの継続指示が入力された場合にはトレーニングが完了していないと判断する。例えば、CPU110は、学習用の入力画像データIDとは別の複数個のテスト用の入力画像データIDを、生成ネットワークGNに入力して、複数個の出力画像データODを生成する。作業者は、出力画像データODを評価して、トレーニングを終了するか否かを判断する。作業者は、評価結果に応じて、操作部140を介して、トレーニングの完了指示または継続指示を入力する。変形例では、例えば、S110~S130の処理が所定回数だけ繰り返された場合に、トレーニングが完了されたと判断されても良い。
【0061】
トレーニングが完了していないと判断される場合には(S135:NO)、CPU110は、S110に処理を戻す。トレーニングが完了したと判断される場合には(S135:YES)、CPU110は、注目カテゴリ用の機械学習モデルの生成ネットワークGNのトレーニングを終了し、S140にて調整済みの複数個の演算パラメータPe、Pdを保存する。この時点で、注目カテゴリ用の機械学習モデルは、演算パラメータPe、Pdが調整された学習済みモデルになっている。したがって、このトレーニングは、学習済みの機械学習モデルを生成(製造)する処理である、と言うことができる。
【0062】
S145では、CPU110は、処理すべき全てのカテゴリ(本実施例では人物と風景)について処理したか否かを判断する。未処理のカテゴリがある場合には(S145:NO)、CPU110は、S100に処理を戻す。全てのカテゴリについて処理された場合には(S145:YES)、CPU110は、トレーニング処理を終了する。以上のトレーニング処理によって、カテゴリごとに、調整済みの演算パラメータPe、Pdが生成される。すなわち、カテゴリごとに、学習済みの機械学習モデルが生成される。
【0063】
A-4.印刷処理
上述したトレーニング処理を用いてトレーニングされた学習済みの機械学習モデルNA、NBを用いて実行される印刷処理について説明する。図6は、本実施例の印刷処理を実行する画像処理装置200の構成を示すブロック図である。
【0064】
画像処理装置200は、例えば、プリンタ300のユーザが利用するパーソナルコンピュータやスマートフォンなどの計算機である。画像処理装置200は、トレーニング装置100と同様に、画像処理装置200のコントローラとしてのCPU210と、RAMなどの揮発性記憶装置220と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置230と、キーボードやマウスなどの操作部240と、液晶ディスプレイなどの表示部250と、通信インタフェース(IF)270と、を備えている。通信インタフェース270は、外部機器、例えば、プリンタ300と接続するためのインタフェースである。
【0065】
不揮発性記憶装置230には、コンピュータプログラムPGsと、撮影画像データ群IIGと、が格納されている。撮影画像データ群IIGは、複数個の撮影画像データを含む。撮影画像データは、ユーザが所有する画像データであり、例えば、デジタルカメラを用いて被写体を撮影することによって生成されるRGB画像データである。本実施例では、被写体は、人物と風景とのいずれかである。
【0066】
コンピュータプログラムPGsは、例えば、プリンタ300の製造者によって提供されるアプリケーションプログラムであり、画像処理装置200にインストールされる。コンピュータプログラムPGsは、所定のサーバからダウンロードされる形態や、CD-ROMやDVD-ROMなどに格納された形態で提供される。CPU210は、コンピュータプログラムPGsを実行することにより、印刷処理を実行する。
【0067】
コンピュータプログラムPGsは、学習済みの機械学習モデルNA、NBを含んでいる。コンピュータプログラムPGsは、機械学習モデルNA、NBとは別に、画像識別用の機械学習モデルDNを含んでいる。
【0068】
画像識別用の機械学習モデルDNは、畳込層とプーリング層とを含む複数の層(図示省略)を有するいわゆる畳み込みニューラルネットワーク(Convolutional Neural Network)である。機械学習モデルDNは、所定サイズの画像データが入力されると、該画像データに対して演算を実行して、画像データIDによって示される画像のカテゴリを示す識別データを出力する。入力される画像データの所定のサイズは、例えば、上述した入力画像データIDと同様のサイズである。本実施例では、入力される画像データによって示される画像は、人物と風景とのいずれかであるので、該画像は、人物と風景とのいずれかに分類される。
【0069】
画像識別用の機械学習モデルDNには、例えば、VGG16、VGG19などの19層の公知の畳込ニューラルネットワーク(Convolution Neural Network)が用いられる。VGG16やVGG19は、ImageNetと呼ばれる画像データベースに登録された画像データを用いてトレーニングされた学習済みのニューラルネットワークであり、その学習済みの演算パラメータは一般公開されている。
【0070】
図7は、印刷処理のフローチャートである。S300では、CPU210は、入力画像データを取得する。例えば、不揮発性記憶装置230に格納された撮影画像データ群IIGの中から、ユーザによって指定された1個の撮影画像データが入力画像データIDとして取得される。
【0071】
S305では、CPU210は、画像識別用の機械学習モデルDNに入力画像データIDを入力して、入力画像データIDによって示される入力画像IIのカテゴリを特定する。入力画像データIDのサイズは、画像識別用の機械学習モデルDNに入力される画像データとして想定される所定のサイズとは、一般的には異なる。このために、CPU210は、入力画像データIDに対して、サイズ調整処理(拡大処理または縮小処理)を実行して、入力画像データIDのサイズを、機械学習モデルDNに入力される画像データとして想定される所定のサイズに調整する。CPU210は、サイズが調整された入力画像データIDを機械学習モデルDNに入力して、機械学習モデルDNに識別データを出力させる。CPU210は、該識別データに基づいて、入力画像IIのカテゴリを特定する。以下では、入力画像IIは人物の顔を示す画像であり、入力画像IIのカテゴリは「人物」であると特定されるものとして説明する。
【0072】
S310では、CPU210は、機械学習モデルNA、NBのうち、特定されたカテゴリに対応する機械学習モデルに入力画像データIDを入力して、出力画像データODを生成する。具体的には、入力画像データIDに対して、サイズ調整処理(拡大処理または縮小処理)を実行して、入力画像データIDのサイズを、機械学習モデルNA、NBの入力画像データIDとして想定されるサイズ(本実施例では、縦257画素×横257画素)に調整する。CPU210は、S305にて入力画像IIのカテゴリが「人物」であると特定されている場合には、サイズが調整された入力画像データIDを、人物用機械学習モデルNAに入力して、機械学習モデルNAに出力画像データODを生成させる。出力画像データODは、上述したように、エッジ強調領域データAD1と平滑化領域データAD2とを含む。
【0073】
上述したトレーニングで用いられる学習用の入力画像データIDと、印刷処理における入力画像データIDとは異なるデータであるが、両方とも人物の顔を示す画像データである。このために、説明の便宜上、印刷処理の説明では、図3(A)は、印刷処理における入力画像データIDによって示される入力画像データによって示される入力画像IIを示すものとする。同様に、印刷処理の説明では、図3(B)は、S310にて生成されるエッジ強調領域データAD1によって示されるエッジ強調領域画像EIを示し、図3(C)は、S310にて生成される平滑化領域データAD2によって示される平滑化領域画像SIを示すものとする。
【0074】
S320では、CPU210は、S310にて生成された平滑化領域データAD2を参照して、サイズ調整前の入力画像データIDに対して平滑化処理を実行する。具体的には、CPU210は、入力画像II(図3(A))内の全ての画素を注目画素として以下の処理を実行する。CPU210は、入力画像II内の注目画素に対応する平滑化領域画像SI(図3(C))内の対応画素を特定する。CPU210は、対応画素の値が0である場合には、注目画素を平滑化処理の対象としないと判断し、対応画素の値が1以上である場合には、注目画素を平滑化処理の対象とすると判断する。CPU210は、注目画素を平滑化処理の対象とする場合には、注目画素に対して平滑化処理を実行する。
【0075】
平滑化処理は、例えば、ガウシアンフィルタを用いた処理が実行される。具体的には、注目画素の座標を(x、y)とし、本実施例の平滑化処理済みの注目画素の値をS(x、y)とすると、S(x、y)は、以下の式(2-1)、(2-2)を用いて算出される。
【0076】
式(2-1)はガウシアンフィルタの係数G(i、j)の算出式である。式(2-2)は、係数G(i、j)を用いた畳込演算を行ってS(x、y)を算出する式である。G(i、j)は、座標(x+i、x+j)におけるガウシアンフィルタの係数である。式(2-2)のP(x+i、x+j)は、座標(x+i、x+j)における平滑化処理前の注目画素の値である。式(2-1)のσおよび式(2-2)におけるrは、平滑化処理のレベルを示す値であり、r、σが大きいほど平滑化処理のレベルが高くなる。平滑化処理のレベルが高いほど、平滑化処理によってエッジ量が減少する程度が大きくなる。本実施例では、σは固定値(本実施例では1)に設定される。rは、注目画素に対応する平滑化領域データAD2の対応画素の値、すなわち、対応画素について規定された平滑化パラメータP2(図3(C))に応じて、以下の式(3)を用いて決定される。
【0077】

式(3)から解るように、対応画素について規定された平滑化パラメータP2が大きいほど、rが大きくなるので、注目画素に対する平滑化処理のレベルが高くなる。
【0078】
CPU210は、ガウシアンフィルタの係数Gを重みとして用いて、注目画素を中心とする所定範囲(例えば、縦5画素×横5画素)内の画素の値の重み付き平均値を算出し、該重み付き平均値を、平滑化処理後の注目画素の値とする。
【0079】
平滑化処理後の入力画像IIのエッジ量は、平滑化処理前の入力画像IIのエッジ量よりも減少している。このために、平滑化処理は、画像のエッジ量を減少させる画像処理である、と言うことができる。画像のエッジ量は、例えば、画素ごとにエッジ検出フィルタ(例えば、ソーベルフィルタ)を適用して算出される各画素のエッジ量の合計値である。
【0080】
S325では、CPU210は、S310にて生成されたエッジ強調領域データAD1を参照して、平滑化処理済みの入力画像データIDに対してエッジ強調処理を実行する。具体的には、CPU210は、平滑化処理済みの入力画像II内の全ての画素を注目画素として以下の処理を実行する。CPU210は、平滑化処理済みの入力画像II内の注目画素に対応するエッジ強調領域画像EI(図3(B))内の対応画素を特定する。CPU210は、対応画素の値が0である場合には、注目画素をエッジ強調処理の対象としないと判断し、対応画素の値が1以上である場合には、注目画素をエッジ強調処理の対象とすると判断する。CPU210は、注目画素をエッジ強調処理の対象とする場合には、注目画素に対してエッジ強調処理を実行する。
【0081】
エッジ強調処理として、例えば、アンシャープマスク処理が実行される。具体的には、注目画素の座標を(x、y)とし、本実施例のエッジ強調処理済みの注目画素の値をE(x、y)とすると、E(x、y)は、以下の式(4)を用いて算出される。
【0082】
式(4)におけるP(x、y)は、エッジ強調処理前の注目画素の値、本実施例では、平滑処理済みの部分画像PI内の注目画素の値である。式(4)におけるS(x、y)は、エッジ強調処理前の注目画素に対して、平滑化処理を実行して得られる値である。ここで、エッジ強調処理の一部として行われる平滑化処理は、S320にて実行される平滑化処理とは別に実行される。本実施例では、上述した式(2-1)、(2-2)においてr=3、σ=1に設定してS(x、y)が算出される。
【0083】
式(4)におけるaは、エッジ強調処理のレベルを示す係数であり、aが大きいほどエッジ強調処理のレベルが高くなる。エッジ強調処理のレベルが高いほど、エッジ強調処理によってエッジ量が増加する程度が大きくなる。本実施例では、aは、注目画素に対応するエッジ強調領域データAD1の対応画素の値、すなわち、対応画素について規定された強調パラメータP1(図3(B))に応じて、以下の式(5)を用いて決定される。
【0084】

式(5)から解るように、対応画素について規定された強調パラメータP1が大きいほど、aが大きくなるので、注目画素に対するエッジ強調処理のレベルが高くなる。
【0085】
エッジ強調処理後の入力画像IIのエッジ量は、エッジ強調処理前の入力画像IIのエッジ量よりも増加している。このために、エッジ強調処理は、画像のエッジ量を増加させる画像処理である、と言うことができる。
【0086】
S330では、CPU210は、S325にてエッジ強調処理が実行された後の入力画像データID(以下、処理済画像データとも呼ぶ)を用いて、印刷データを生成する。例えば、CPU210は、処理済入力画像データID(RGB画像データ)に対して、色変換処理とハーフトーン処理を実行して、ドットの形成状態を画素ごとに示す印刷データを生成する。ドットの形成状態は、例えば、「ドット無し」と「ドット有り」の2階調、あるいは、「ドット無し」「小」「中」「大」の4階調である。S340では、CPU210は、印刷データをプリンタ300に送信する。プリンタ300は、印刷データを受信すると、該印刷データを用いて、画像を印刷する。これによって、平滑化処理とエッジ強調処理とが適切な領域に実行されていることで、見栄えが向上した画像が印刷される。
【0087】
以上説明した第1実施例によれば、学習済みの機械学習モデルNA、NBは、エッジ強調処理を実行することが好ましい入力画像II内の領域であるエッジ強調領域EAと、平滑化処理を実行することが好ましい入力画像II内の領域である平滑化領域SAと、を示す出力画像データODを生成するようにトレーニングされている(図3図5)。この結果、例えば、印刷処理(図7)などにおいて学習済みの機械学習モデルNA、NBに出力画像データODを生成させる(図7のS310)ことで、エッジ強調領域EAと平滑化領域SAとを適切に特定できる。したがって、例えば、印刷処理などにおいてエッジ強調処理と平滑化処理と入力画像II内の好ましい領域に対してそれぞれ実行することができる。この結果、例えば、入力画像IIの見栄えを適切に向上できる。
【0088】
例えば、入力画像IIが人物を示す場合には、入力画像IIに含まれる人物の顔の大きさ、向き、位置などは、様々であることなどから、エッジ強調処理を実行することが好ましいエッジ強調領域EAや平滑化処理を実行することが好ましい平滑化領域SAを、例えば、エッジ抽出処理などの比較的単純な処理に基づいて特定することは、容易ではない。例えば、不自然な見栄えになることを避けつつ、エッジ強調処理と平滑化処理を行うために、エッジ強調領域EAや平滑化領域SAを設定することは、例えば、経験豊かな作業者の感覚やノウハウに基づいて行われることも多い。このために、エッジ強調領域EAや平滑化領域SAを設定する方法を、人間が言語で説明することや数式で表現することは困難である。しかしながら、このような感覚やノウハウに基づく設定方法の特徴は、実際に作業者が設定を行った結果に基づく教師画像データTDには現れている。このために、本実施例では、教師画像データTDを含む複数組のデータペアを用いて、エッジ強調領域EAや平滑化領域SAを設定する手法の特徴を機械学習モデルに学習させることで、適切なエッジ強調領域EAと平滑化領域SAとを示す出力画像データODを出力できるように機械学習モデルNA、NBをトレーニングしている。
【0089】
さらに、本実施例によれば、出力画像データODは、エッジ強調領域EAに対応する複数個の画素の値のそれぞれがエッジ強調処理のための強調パラメータP1を示すエッジ強調領域データAD1を含む。この結果、学習済みの機械学習モデルNA、NBに出力画像データODを生成させる(図7のS310)ことで、エッジ強調領域EAに加えて、エッジ強調領域EAに対して実行すべきエッジ強調処理のパラメータP1を適切に特定できる。同様に、出力画像データODは、平滑化領域SAに対応する複数個の画素の値のそれぞれが平滑化処理のための平滑化パラメータP2を示す平滑化領域データAD2を含む。この結果、学習済みの機械学習モデルNA、NBに出力画像データODを生成させる(図7のS310)ことで、平滑化領域SAに加えて、平滑化領域SAに対して実行すべき平滑化処理の平滑化パラメータP2を適切に特定できる。
【0090】
例えば、エッジ強調処理と平滑化処理を行うために、強調パラメータP1や平滑化パラメータP2を設定することは、エッジ強調領域EAや平滑化領域SAの設定と同様に、作業者の感覚やノウハウに基づいて行われることが多い。従って、強調パラメータP1や平滑化パラメータP2の大きさの設定や変化のさせ方の設定の方法は、人間が言語で説明することや数式で説明することは困難である。しかしながら、このような感覚やノウハウに基づく設定方法の特徴は、実際に作業者が設定を行った結果に基づく教師画像データTDには現れている。このために、本実施例では、教師画像データTDを含む複数組のデータペアを用いて、強調パラメータP1や平滑化パラメータP2を設定する手法の特徴を機械学習モデルに学習させることで、適切な強調パラメータP1や平滑化パラメータP2を示す出力画像データODを出力できるように機械学習モデルNA、NBをトレーニングしている。
【0091】
さらに、本実施例によれば、出力画像データODは、エッジ強調領域EAを示すエッジ強調領域データAD1と、平滑化領域SAを示す平滑化領域データAD2と、を含む。この結果、例えば、エッジ強調領域データAD1と平滑化領域データAD2とが別々のデータであることで、平滑化領域SAとエッジ強調領域EAとが重なるように設定されることも許容される。例えば、図3の例では、人物の顔の鼻の上側部分NSは、平滑化領域SAにもエッジ強調領域EAにも設定されている(図3(A)~(C))。この結果、出力画像データODを用いて柔軟な画像処理を実現できる。また、教師画像データTDにおいても、エッジ強調領域データAD1と平滑化領域データAD2とが別々のデータが用意されるので、教師画像データTDにおいても平滑化領域SAとエッジ強調領域EAの設定手法をより柔軟に表現することができる。エッジ強調領域データAD1と平滑化領域データAD2とが別々の作業者によって生成される場合でも、特別な調整を行うことなく、該エッジ強調領域データAD1と平滑化領域データAD2とを使用することができる。
【0092】
さらに、本実施例において、エッジ強調処理は、画像の特徴量の一種であるエッジ量を増加させる画像処理であり、平滑化処理は、該エッジ量を減少させる画像処理である。このように、入力画像IIに対して、互いに相反する効果を有する複数個の画像処理を実行することが好ましい場合がある。本実施例によれば、互いに相反する画像処理を実行することが好ましい領域を画像処理ごとに適切に特定することができる。
【0093】
さらに、本実施例では、学習済みの機械学習モデルは、複数組の人物用のデータペアを用いてトレーニングされている人物用機械学習モデルNAと、複数組の風景用のデータペアを用いてトレーニングされている風景用機械学習モデルNBと、を含む。入力画像IIのオブジェクトのカテゴリによって、平滑化領域SAやエッジ強調領域EAの設定手法やパラメータP1、P2の設定手法が異なる場合がある。人物を示す入力画像II部では、例えば、主として髪の毛、目、鼻、口などを含む領域がエッジ強調領域EAに設定され、主として平坦な肌を含む領域が平滑化領域SAに設定される。例えば、風景を示す入力画像IIでは、例えば、前景のうち、比較的エッジ量が多い部分がエッジ強調領域EAに設定され、背景のうち、比較的エッジ量が少ない部分が平滑化領域SAに設定されることが好ましい場合がある。このような場合には、特定のカテゴリに特化した学習済みの機械学習モデルをカテゴリごとに用意することが好ましい。特定のカテゴリのオブジェクトのための設定手法の特徴のみを、特定のカテゴリのデータペアを用いて学習させることで、特定のカテゴリの入力画像データIDが入力される場合に、精度良く平滑化領域SAやエッジ強調領域EAを特定できるように、機械学習モデルをトレーニングできるためである。例えば、本実施例によれば、人物用機械学習モデルNAと風景用機械学習モデルNBとが用意されているために、人物を示す入力画像データと風景を示す入力画像データとについて、それぞれ、精度良く平滑化領域SAやエッジ強調領域EAを特定できる。
【0094】
さらに、本実施例の画像処理装置200において、入力画像データIDを学習済みの機械学習モデルNA、NBに入力して機械学習モデルNA、NBに入力画像データIDに対応する出力画像データODを生成させる(図7のS310)CPU210は、生成部の例である。入力画像データIDのうち、出力画像データODを用いて特定されるエッジ強調領域EAを示すデータに対してエッジ強調処理を実行し(図7のS325)、入力画像データIDのうち、出力画像データODを用いて特定される平滑化領域SAを示すデータに対して平滑化処理を実行する(図7のS320)CPU210は、画像処理部の例である。この結果、画像処理装置200は、学習済みの人物用機械学習モデルNA、NBに出力画像データODを生成させることで、入力画像II内のエッジ強調領域EAと平滑化領域SAとを適切に特定できる。したがって、例えば、画像処理装置200は、エッジ強調処理と平滑化処理とを入力画像II内の好ましい領域に対してそれぞれ実行することができる。これによって、例えば、入力画像IIの見栄えを向上することができる。
【0095】
エッジ強調領域EAと平滑化領域SAとが重なる部分がある場合には、当該部分において、平滑化処理とエッジ強調処理とのうち、先に実行される処理の効果が後に実行される処理によって弱められる。平滑化処理とエッジ強調処理とを比較すると、エッジ強調処理の効果は、平滑化処理の効果よりも目立ちやすく、画像の見栄えを向上させる効果が大きい。このために、エッジ強調領域EAと平滑化領域SAとが重なる部分がある場合には、平滑化処理の後にエッジ強調処理を実行することが、画像の見栄えを向上させる観点から好ましい。本実施例の画像処理装置200は、入力画像データIDに対して、平滑化処理(図7のS320)を実行した後にエッジ強調処理(図7のS325)を実行する。したがって、エッジ強調領域EAと平滑化領域SAとが重なる場合があっても適切に平滑化処理とエッジ強調処理とを実行することができるので、入力画像IIの見栄えをより効果的に向上することができる。
【0096】
さらに、本実施例の機械学習モデルのトレーニング(図4)において、複数個の学習用の入力画像データIDを生成することによって取得する工程(図4のS10)は、第1取得工程の例である。複数個の学習用の入力画像データIDに対応する複数個の教師画像データTDを生成することによって取得する工程(図4のS20)は、第2取得工程の例である。それぞれが学習用の入力画像データIDと教師画像データTDとを含む複数組のデータペアを用いて、機械学習モデルNA、NBの演算に用いられる複数個の演算パラメータPe、Pdを調整する工程(図4のS30、図5のS110~S130)は、調整工程の例である。本実施例の機械学習モデルのトレーニングによれば、エッジ強調領域EAと、平滑化領域SAと、を示す出力画像データODを生成するように、機械学習モデルNA、NBをトレーニングできる。したがって、例えば、印刷処理(図7)などにおいて学習済みの機械学習モデルNA、NBに出力画像データODを生成させる(図7のS310)ことで、エッジ強調領域EAと平滑化領域SAとを適切に特定できる。
【0097】
B.第2実施例
第2実施例では、図1に示すように、機械学習モデルNA、NBは、出力画像データODに対して領域調整処理を実行して、調整済み出力画像データODbを生成する調整処理部AMを備える。具体的には、調整処理部AMとして機能するCPU210は、次に説明する第2実施例の印刷処理において、領域調整処理を実行する。図8は、第2実施例の印刷処理のフローチャートである。
【0098】
第2実施例の図8の印刷処理では、CPU210は、第1実施例の図7の印刷処理のS310とS320との間に、S315Bの領域調整処理を実行する。領域調整処理は、エッジ強調領域EAと平滑化領域SAとが重ならないように、エッジ強調領域データAD1と平滑化領域データAD2とを調整する処理である。図8の印刷処理の他の処理は、図7の同一符号の処理と同一であるので説明を省略する。
【0099】
図9は、図8のS315Bの領域調整処理のフローチャートである。S400では、CPU210は、S310にて生成された出力画像データODのエッジ強調領域データAD1によって示されるエッジ強調領域画像EI(図3(B))内の複数個の画素の中から、1個の注目画素を選択する。
【0100】
S405では、CPU210は、注目画素が重複画素であるか否かを判断する。CPU210は、エッジ強調領域画像EI内の注目画素がエッジ強調領域EAを構成する画素であり、かつ、注目画素に対応する平滑化領域画像SI内の対応画素が平滑化領域SAを構成する画素である場合に、注目画素が重複画素であると判断する。CPU210は、エッジ強調領域画像EI内の注目画素がエッジ強調領域EAを構成する画素でない場合、または、注目画素に対応する平滑化領域画像SI内の対応画素が平滑化領域SAを構成する画素でない場合に、注目画素が重複画素でないと判断する。
【0101】
注目画素が重複画素である場合には(S405:YES)、S410にて、CPU210は、平滑化領域データAD2にて規定された対応画素の平滑化パラメータP2は、エッジ強調領域データAD1にて規定された注目画素の強調パラメータP1以上であるか否かを判断する。
【0102】
対応画素の平滑化パラメータP2が注目画素の強調パラメータP1以上である場合には(S410:YES)、エッジ強調処理よりも平滑化処理を実行することが好ましいと考えられるために、CPU210は、S415とS420とを実行する。
【0103】
S415では、CPU210は、対応画素の平滑化パラメータP2を、対応画素の平滑化パラメータP2と注目画素の強調パラメータP1との差分値(P2-P1)に変更する。すなわち、CPU210は、平滑化領域データAD2の対応画素の値を差分値(P2-P1)に変更する。これによって、注目画素および対応画素に対応する入力画像IIの画素に対して、差分値(P2-P1)をパラメータとして用いる平滑化処理を実行することが決定される。
【0104】
S420では、CPU210は、注目画素の強調パラメータP1を0に変更する。すなわち、CPU210は、エッジ強調領域データAD1の注目画素の値を0に変更する。これによって、注目画素および対応画素に対応する入力画像IIの画素に対して、エッジ強調処理を実行しないことが決定される。
【0105】
対応画素の平滑化パラメータP2が注目画素の強調パラメータP1未満である場合には(S410:NO)、平滑化処理よりもエッジ強調処理を実行することが好ましいと考えられるために、CPU210は、S425とS430とを実行する。
【0106】
S425では、CPU210は、対応画素の平滑化パラメータP2を0に変更する。すなわち、CPU210は、平滑化領域データAD2の対応画素の値を0に変更する。これによって、注目画素および対応画素に対応する入力画像IIの画素に対して、平滑化強調処理を実行しないことが決定される。
【0107】
S430では、CPU210は、注目画素の強調パラメータP1を差分値(P1-P2)に変更する。すなわち、CPU210は、エッジ強調領域データAD1の注目画素の値を差分値(P1-P2)に変更する。これによって、注目画素および対応画素に対応する入力画像IIの画素に対して、差分値(P1-P2)をパラメータとして用いるエッジ強調処理を実行することが決定される。
【0108】
注目画素が重複画素でない場合には(S405:NO)、CPU210は、S410~S430をスキップして、S440に処理を進める。
【0109】
S440では、CPU210は、エッジ強調領域画像EI内の全画素について処理したか否かを判断する。未処理の画素がある場合には(S440:NO)、CPU210は、S400に処理を戻す。エッジ強調領域画像EI内の全画素について処理した場合には(S440:YES)、CPU210は、領域調整処理を終了する。
【0110】
図10は、領域調整処理の説明図である。図10(A)には、領域調整処理によって調整される前のエッジ強調領域画像EIの一部と、平滑化領域画像SIの一部と、が例示されている。図10(B)には、領域調整処理によって調整された後のエッジ強調領域画像EIbの一部と、平滑化領域画像SIbの一部と、が例示されている。図10(A)、(B)に示されたエッジ強調領域画像EI、EIbの一部と、平滑化領域画像SI、SIbの一部とは、互いに対応している。
【0111】
図10(A)において、調整前のエッジ強調領域画像EIの上から1行目の画素の値(強調パラメータP1)は、250であり、調整前の平滑化領域画像SIの上から1行目の画素の値(平滑化パラメータP2)は、200である。これらの画素が注目画素である場合には、平滑化パラメータP2(200)は強調パラメータP1(250)未満であると判断される(S410にてNO)。このために、図10(B)に示すように、調整後のエッジ強調領域画像EIbの上から1行目の画素の値(強調パラメータP1)は、差分値50に設定され(S430)、調整後の平滑化領域画像SIbの上から1行目の画素の値(平滑化パラメータP2)は、0に設定される(S425)。
【0112】
図10(A)において、調整前のエッジ強調領域画像EIの上から2行目の画素の値(強調パラメータP1)は、200であり、調整前の平滑化領域画像SIの上から2行目の画素の値(平滑化パラメータP2)は、200である。これらの画素が注目画素である場合には、平滑化パラメータP2(200)と強調パラメータP1(200)とが等しいため、平滑化パラメータP2は強調パラメータP1以上であると判断される(S410にてYES)。そして、平滑化パラメータP2と強調パラメータP1との差分値は0である。このために、図10(B)に示すように、調整後のエッジ強調領域画像EIbの上から2行目の画素の値(強調パラメータP1)と、調整後の平滑化領域画像SIbの上から2行目の画素の値(平滑化パラメータP2)と、は、両方とも0に設定される。
【0113】
図10(A)において、調整前のエッジ強調領域画像EIの上から3、4行目の画素の値(強調パラメータP1)は、それぞれ、100、50であり、調整前の平滑化領域画像SIの上から3、4行目の画素の値(平滑化パラメータP2)は、200である。これらの画素が注目画素である場合には、平滑化パラメータP2(200)は強調パラメータP1(100、50)以上であると判断される(S410にてYES)。このために、図10(B)に示すように、調整後のエッジ強調領域画像EIbの上から3、4行目の画素の値(強調パラメータP1)は、0に設定され(S420)、調整後の平滑化領域画像SIbの上から3、4行目の画素の値(平滑化パラメータP2)は、それぞれ、100、150に設定される(S415)。
【0114】
以上説明した第2実施例によれば、学習済みの機械学習モデルNA、NBの調整処理部AMとして機能するCPU210は、エッジ強調領域データAD1と平滑化領域データAD2とを用いて、調整済み出力画像データODb(調整済みの領域データAD1、AD2)を生成する(図8の315B、図9図10)。調整済み出力画像データODb(調整済みの領域データAD1、AD2)は、エッジ強調領域EAと平滑化領域SAとが重なる場合に(図9のS405にてYES)、互いに重ならないように調整されたエッジ強調領域EAと平滑化領域SAとを示すデータである(図10)。この結果、調整済み出力画像データODbを用いてエッジ強調処理と平滑化処理とが実行される際に(図8のS320、S325)、特定の領域にエッジ強調処理と平滑化処理とが重複して実行されることを抑制できるので、エッジ強調処理と平滑化処理とのトータルの処理量を低減して、処理を高速化することができる。また、第2実施例では、特定の領域にエッジ強調処理と平滑化処理とが重複して実行されることを抑制できるので、平滑化処理とエッジ強調処理との実行順序は、逆であっても良い。
【0115】
さらに、第2実施例によれば、調整前のエッジ強調領域データAD1によって示されるエッジ強調領域EAと、調整前の平滑化領域データAD2によって示される平滑化領域SAと、が重なる重複領域(上述した重複画素で構成される領域)について、強調パラメータP1と平滑化パラメータP2とに基づいて、実行すべき画像処理(エッジ強調処理または平滑化処理)と、用いるべきパラメータ(P1とP2の差分値)と、が決定される(図9のS410~S430)。そして、実行すべき画像処理と、用いるべきパラメータと、を示す調整済み出力画像データODb(調整済みの領域データAD1、AD2)が生成される(図10)。この結果、重複領域について、実行すべき画像処理と、用いるべきパラメータと、を適切に示す調整済み出力画像データODbを生成することができる。
【0116】
重複領域について、実行すべき画像処理は、エッジ強調処理と平滑化処理のうち、より高いレベルで実行されるべき処理であると考えられる。これを考慮して、本実施例では、エッジ強調処理と平滑化処理のうち、調整前の出力画像データODにおいて規定されたパラメータが大きい方の処理が実行すべき画像処理として決定される(図9のS410~S430)。したがって、重複領域について、実行すべき画像処理を適切に決定できる。
【0117】
また、エッジ強調処理と平滑化処理とは互いに相反する処理であるので、重複領域について実行すべき一方の画像処理は、他方の画像処理が実行されない分だけ低いレベルで実行されるべきであると考えられる。これを考慮して、本実施例では、実行すべき一方の画像処理のためのパラメータは、強調パラメータP1と平滑化パラメータP2との差分値に決定される(図9のS430、S415)。この結果、重複領域について、実行すべき画像処理のパラメータを適切に決定できる。
【0118】
C.変形例
(1)上記各実施例では、出力画像データODは、エッジ強調領域データAD1と平滑化領域データAD2との2個の領域データを含む。これに代えて、例えば、出力画像データODは、1個の領域データで、エッジ強調領域EAと平滑化領域SAとを示すデータであっても良い。この場合には、1個の領域データにおいて、正の値(パラメータ)を有する画素で構成される領域がエッジ強調領域EAを示し、負の値を有する画素で構成される領域が平滑化領域SAを示しても良い。
【0119】
(2)上記各実施例では、エッジ強調領域データAD1は、エッジ強調領域EAを示すとともに、強調パラメータP1を示している。これに代えて、エッジ強調領域データAD1は、エッジ強調領域EAを示し、強調パラメータP1を示さないデータ、例えば、二値データであっても良い。平滑化領域データAD2についても同様である。
【0120】
(3)上記各実施例では、出力画像データODは、エッジ強調領域EAと平滑化領域SAとを示すデータである。これに代えて、あるいは、これに加えて、出力画像データODは、他の画像処理を実行することが好ましい領域を示しても良い。例えば、出力画像データODは、エッジ強調領域データAD1と平滑化領域データAD2とに加えて、彩度を高くする補正処理を実行することが好ましい領域を示す領域データを含んでも良い。また、出力画像データODは、エッジ強調領域データAD1と平滑化領域データAD2とに代えて、画像を明るくする補正処理を実行すべき領域を示す領域データと、画像を暗くする補正処理を実行すべき領域を示す領域データと、を含んでも良い。画像を明るくする補正処理は、画像の特徴量の一種である明度を増加させる画像処理である、と言うことができ、画像を暗くする補正処理は、画像の特徴量の一種である明度を減少させる画像処理である、と言うことができる。
【0121】
また、上記各実施例のエッジ強調処理および平滑化処理の具体的な手法は一例であり、これに限られない。例えば、平滑化処理は、ガウシアンフィルタに代えて、注目画素を中心とした所定範囲内の平均値を算出する平均化フィルタを用いて実行されても良い。
【0122】
(4)上記各実施例では、出力画像データODによって、実行することが好ましい領域が示される2個の画像処理(具体的にはエッジ強調処理と平滑化処理)は、特定の特徴量(具体的にはエッジ量)を増加させる処理と特定の特徴量を減少させる処理である。これに代えて、実行することが好ましい領域が示される2個の画像処理は、互いに異なる特徴量を変更する処理であっても良い。例えば、該2個の画像処理は、エッジ量を増加させるエッジ強調処理と、彩度を増加させる処理と、であっても良い。
【0123】
(5)上記実施例では、出力画像データODによって、実行することが好ましい領域が示される2個の画像処理(具体的にはエッジ強調処理と平滑化処理)は、互いに異なる式(上述の式(2)~(5)参照)を用いて、実行されている。これに代えて、2個の画像処理は、1個の式を用いて実行されても良い。例えば、2個の画像処理が、画像を明るくする補正処理と、画像を暗くする補正処理である場合には、パラメータで指定された量または割合だけ明度を変動させる1つの式を用いて実行されても良い。この場合には、例えば、パラメータが正の値である場合には、画像を明るくする補正処理となり、パラメータが負の値である場合には、画像を明るくする補正処理となる。
【0124】
(6)上記各実施例では、人物用機械学習モデルNAと、風景用機械学習モデルNBと、の2種類の機械学習モデルが用いられている。これに代えて、人物、昼の風景、夜景、動物など3種類以上のカテゴリに対応する3種類以上の機械学習モデルが用いられても良い。また、画像のカテゴリに拘わらずに用いられる汎用的な1つの機械学習モデルのみが用いられても良い。また、印刷処理において、画像のカテゴリの特定は、画像識別用の機械学習モデルDNを用いて実行されているが、これに代えて、ユーザによるカテゴリの指定に基づいて、画像のカテゴリが特定されても良い。
【0125】
(7)上記各実施例では、エッジ強調処理や平滑化処理は、印刷のために実行されているが、これに限らず、ディスプレイに表示するために実行されても良いし、保存用の画像ファイルの作成のために実行されても良い。
【0126】
(8)上記各実施例の機械学習モデル(生成ネットワークGN)の構成は一例であり、これに限られない。例えば、生成ネットワークGNにおいて、畳込層や転置畳込層などの層数は、適宜に変更されて良い。また、各層で出力された値に対して実行される後処理も適宜に変更され得る。例えば、後処理に用いられる活性化関数は、任意の関数、例えば、ReLU、LeakyReLU、PReLU、ソフトマックス、シグモイドが用いられ得る。また、バッチノーマリゼイション、ドロップアウトなどの処理が後処理として適宜に追加や省略がされ得る。
【0127】
(9)上記実施例の機械学習モデルのトレーニングにおける損失関数の具体的な構成も適宜に変更され得る。例えば、誤差値EVの算出には、クロスエントロピー誤差や平均絶対誤差や平均二乗誤差が用いられても良い。
【0128】
(10)図1のトレーニング装置100や画像処理装置200のハードウェア構成は、一例であり、これに限られない。例えば、トレーニング装置100のプロセッサは、CPUに限らず、GPU(Graphics Processing Unit)やASIC(application specific integrated circuit)、あるいは、これらとCPUとの組み合わせであっても良い。また、トレーニング装置100や画像処理装置200は、ネットワークを介して互いに通信可能な複数個の計算機(例えば、いわゆるクラウドサーバ)であっても良い。また、画像処理装置200が実行する印刷処理の全部または一部は、プリンタ300のプロセッサ(図示省略)によって実行されても良い。
【0129】
(11)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、生成ネットワークGNは、プログラムモジュールに代えて、ASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実現されてよい。
【0130】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0131】
100…トレーニング装置,110…CPU,120…揮発性記憶装置,130…不揮発性記憶装置,140…操作部,150…表示部,170…通信インタフェース,200…画像処理装置,210…CPU,220…揮発性記憶装置,230…不揮発性記憶装置,240…操作部,250…表示部,270…通信インタフェース,300…プリンタ,AD1…エッジ強調領域データ,AD2…平滑化領域データ,AM…調整処理部,GN…生成ネットワーク,ID…入力画像データ,IIG…撮影画像データ群,NA…人物用機械学習モデル,NB…風景用機械学習モデル,OD…出力画像データ,PG,PGs…コンピュータプログラム,TD…教師画像データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10