(57)【要約】【課題】  印刷に適した画像を推奨画像として選択可能にする学習装置、印刷制御装置及び学習済モデル等の提供。【解決手段】  学習装置１００は、取得部１１０と、学習部１２０を含む。取得部１１０は、画像と、画像に対して印刷の指示が行われたか否かを表す指示履歴情報を取得する。学習部１２０は、画像と指示履歴情報とを対応付けたデータセットに基づいて、印刷を推奨すべき推奨画像の条件を機械学習する。【選択図】      図１
2020098444.tif 000002
【特許請求の範囲】
【請求項１】
画像と、前記画像に対して印刷の指示が行われたか否かを表す指示履歴情報を取得する取得部と、
前記画像と前記指示履歴情報とを対応付けたデータセットに基づいて、印刷を推奨すべき推奨画像の条件を機械学習する学習部と、
を含むことを特徴とする学習装置。
【請求項２】
請求項１に記載の学習装置において、
前記学習部は、
前記機械学習の結果に基づいて推奨された前記推奨画像と、前記推奨画像に対して印刷の指示が行われたか否かを表す前記指示履歴情報とを対応付けたデータセットに基づいて、前記推奨画像の条件を機械学習することを特徴とする学習装置。
【請求項３】
請求項１又は２に記載の学習装置において、
前記学習部は、
前記画像と、前記指示履歴情報と、前記画像の印刷設定を表す印刷設定情報とを対応付けたデータセットに基づいて、前記推奨画像の条件を機械学習することを特徴とする学習装置。
【請求項４】
請求項１又は２に記載の学習装置において、
前記学習部は、
前記画像と、前記指示履歴情報と、前記画像の印刷時間を表す印刷時間情報とを対応付けたデータセットに基づいて、前記推奨画像の条件を機械学習することを特徴とする学習装置。
【請求項５】
請求項１又は２に記載の学習装置において、
前記学習部は、
前記画像と、前記指示履歴情報と、印刷出力先を表す印刷出力先情報とを対応付けたデータセットに基づいて、前記推奨画像の条件を機械学習することを特徴とする学習装置。
【請求項６】
請求項１又は２に記載の学習装置において、
前記学習部は、
前記画像と、前記指示履歴情報と、前記画像の保存場所を表す保存場所情報とを対応付けたデータセットに基づいて、前記推奨画像の条件を機械学習することを特徴とする学習装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の学習装置において、
前記学習部が前記機械学習によって生成した学習済モデルを記憶する記憶部と、
前記学習済モデルに基づいて、判定対象画像が前記推奨画像であるか否かを判定する処理部と、
を含むことを特徴とする学習装置。
【請求項８】
請求項１乃至６のいずれか一項に記載の学習装置において、
前記学習部は、前記機械学習によって学習済モデルを生成し、
前記学習済モデルは、
入力層と中間層と出力層とを有し、
前記画像と前記指示履歴情報とを対応付けた前記データセットに基づき、前記入力層と前記中間層との間及び前記中間層と前記出力層との間の重み付け係数が設定されており、
入力として受け付けた判定対象画像のデータを前記入力層に入力し、設定された前記重み付け係数に基づく演算を行い、前記出力層から、前記判定対象画像が前記推奨画像であるか否かを表すデータを出力するよう、コンピューターを機能させることを特徴とする学習装置。
【請求項９】
印刷装置の印刷を制御する印刷制御装置であって、
画像と、前記画像に対して印刷の指示が行われたか否かを表す指示履歴情報とを対応付けたデータセットに基づき、印刷を推奨する推奨画像の条件を機械学習した学習済モデルを記憶する記憶部と、
判定対象画像の入力を受け付ける受付部と、
前記学習済モデルに基づいて、前記判定対象画像が前記推奨画像であるか否かを判定する処理部と、
を含むことを特徴とする印刷制御装置。
【請求項１０】
判定対象画像が印刷を推奨する推奨画像であるか否かを判定するための学習済モデルであって、
入力層と中間層と出力層とを有し、
画像と、前記画像に対して印刷の指示が行われたか否かを表す指示履歴情報とを対応付けたデータセットに基づき、前記入力層と前記中間層との間及び前記中間層と前記出力層との間の重み付け係数が設定されており、
入力として受け付けた前記判定対象画像のデータを前記入力層に入力し、設定された前記重み付け係数に基づく演算を行い、前記出力層から前記判定対象画像が前記推奨画像であるか否かを表すデータを出力するよう、コンピューターを機能させることを特徴とする学習済モデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、印刷制御装置及び学習済モデル等に関する。
【背景技術】
【０００２】
近年、デジタルカメラの普及等に伴って、ユーザーが取得可能な画像データの量が大幅に増大した。画像の数が増えることによって、印刷の対象とする画像の選択が難しくなっている。例えば、画像の選択をユーザーが手作業で行った場合、時間がかかってしまう。
【０００３】
特許文献１には、複数の画像の中から、評価値に基づいて印刷を推奨する画像を選択する手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１７３３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来手法においては、適切な画像を推奨するためのパラメーター設定にかかる工数が膨大になる。例えば特許文献１に開示された手法においては、適切な評価値を設定するための負担が非常に大きい。
【課題を解決するための手段】
【０００６】
本開示の一態様は、画像と、前記画像に対して印刷の指示が行われたか否かを表す指示履歴情報を取得する取得部と、前記画像と前記指示履歴情報とを対応付けたデータセットに基づいて、印刷を推奨すべき推奨画像の条件を機械学習する学習部と、を含む学習装置に関係する。
【図面の簡単な説明】
【０００７】
【図１】学習装置の構成例。
【図２】学習装置を含むシステムの構成例。
【図３】ニューラルネットワークの構成例。
【図４】誤差逆伝播法を説明する図。
【図５】印刷制御装置の構成例。
【図６】印刷制御装置を含むシステムの構成例。
【図７】推論処理における入力データと出力データの例を説明する図。
【図８】推論処理を説明するフローチャート。
【図９】学習装置の他の構成例。
【図１０】推論処理結果を用いて追加学習を行う処理を説明するフローチャート。
【図１１】推論処理における入力データと出力データの他の例を説明する図。
【発明を実施するための形態】
【０００８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された内容を不当に限定するものではない。また本実施形態で説明される構成の全てが必須構成要件であるとは限らない。
【０００９】
１．概要
近年、デジタルカメラの普及等が要因となり、多数の画像が容易に取得可能になっている。印刷装置において画像の印刷を行う場合、多数の候補画像から印刷対象画像を選択する必要がある。印刷対象画像とは、印刷装置における印刷の対象となる画像である。候補画像とは、印刷対象画像の候補となる画像であり、ユーザーがアクセス可能な画像である。候補画像の枚数が膨大であるため、印刷対象画像の選択をユーザーが手動で行う場合、ユーザー負担が大きい。
【００１０】
これに対して、複数の画像から所望の画像を自動的に選択する手法も開示されている。例えば、画像に基づいて所与の特徴量を求め、当該特徴量とあらかじめ設定されたパラメーターとの比較処理が行われる。ユーザーが印刷を望む画像に共通する特徴をパラメーターとして設定しておくことができれば、上記比較処理に基づいて適切な画像を自動的に抽出できるため、ユーザー負担を軽減可能である。
【００１１】
ただし、上記パラメーターを適切に設定することは容易でない。例えば、画像には人物画像や風景画像等の種類の異なる画像が含まれる。風景画像も、自然物と人工物に大別可能であり、さらに、自然物の中でも山岳・渓流・夕景等の細分化が可能である。このような種々の画像から、印刷が推奨される画像を選択するパラメーターを手動で設定する場合、当該設定の工数が膨大となる。また、ユーザーの嗜好を反映させようとすれば、上記パラメーターをユーザーごとに調整する必要がある。そのため、パラメーター設定の工数がさらに増大してしまう。
【００１２】
よって本実施形態においては、印刷が推奨される画像である推奨画像の条件を機械学習する。このようにすれば、推奨画像の条件が自動的に学習されるため、適切な画像の印刷を推奨するシステム、例えば入力として判定対象画像を受け付け、当該判定対象画像が推奨画像であるか否かを判定するシステムの構築が容易である。また学習に用いるデータをユーザー固有のデータとすることによって、ユーザーごとの嗜好を反映した学習結果を取得することも可能である。
【００１３】
以下、本実施形態の学習処理、推論処理についてそれぞれ説明する。学習処理とは、訓練データに基づく機械学習を行うことによって、学習結果を取得する処理である。学習結果とは、具体的には学習済モデルである。推論処理とは、学習処理によって生成された学習済モデルを用いて、入力に基づく何らかの推論結果を出力する処理である。また、推論処理の結果に基づいて学習済モデルを更新する手法についても説明する。
【００１４】
２．学習処理
２．１  学習装置の構成例
図１は、本実施形態の学習装置１００の構成例を示す図である。学習装置１００は、学習に用いられる訓練データを取得する取得部１１０と、当該訓練データに基づいて機械学習を行う学習部１２０を含む。
【００１５】
取得部１１０は、例えば訓練データを他の装置から取得する通信インターフェースである。或いは取得部１１０は、学習装置１００が保持する訓練データを取得してもよい。例えば、学習装置１００は不図示の記憶部を含み、取得部１１０は当該記憶部から訓練データを読み出すためのインターフェースである。本実施形態における学習は、例えば教師あり学習である。教師あり学習における訓練データは、入力データと正解ラベルとを対応付けたデータセットである。正解ラベルは、教師データと言い換えてもよい。
【００１６】
学習部１２０は、取得部１１０が取得した訓練データに基づく機械学習を行い、学習済モデルを生成する。なお、本実施形態の学習部１２０は、下記のハードウェアにより構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された１又は複数の回路装置や、１又は複数の回路素子で構成することができる。１又は複数の回路装置は例えばＩＣ等である。１又は複数の回路素子は例えば抵抗、キャパシター等である。
【００１７】
また学習部１２０は、下記のプロセッサーにより実現されてもよい。本実施形態の学習装置１００は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。情報は、例えばプログラムと各種のデータ等である。プロセッサーは、ハードウェアを含む。プロセッサーは、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）等、各種のプロセッサーを用いることが可能である。メモリーは、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）などの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターにより読み取り可能な命令を格納しており、当該命令がプロセッサーにより実行されることで、学習装置１００の各部の機能が処理として実現されることになる。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
【００１８】
より具体的には、取得部１１０は、画像と、画像に対して印刷の指示が行われたか否かを表す指示履歴情報を取得する。指示履歴情報は、印刷を指示した履歴があるか否かを表す情報である。また指示履歴情報は、印刷回数等の情報を含んでもよい。学習部１２０は、画像と指示履歴情報とを対応付けたデータセットに基づいて、印刷を推奨すべき推奨画像の条件を機械学習する。このようにすれば、印刷指示が行われた画像に近い特徴を有する画像が、推奨画像として選択される蓋然性が高くなる学習結果が取得される。当該学習結果を用いることによって、適切な画像を推奨画像として選択することが可能になる。特に、所与のユーザーを対象とした指示履歴情報を用いた学習を行った場合、当該ユーザーが印刷する傾向が高い特徴を有する画像が、推奨画像として選択されやすくなる。即ち、ユーザーの嗜好を反映した推奨画像の選択を可能とするための学習処理を実現できる。結果として、印刷対象画像の候補画像が多数存在する場合であっても、印刷対象画像を選択する際のユーザーの負担を軽減可能である。具体的な学習処理の流れについては、図３及び図４を用いて後述する。
【００１９】
図２は、本実施形態の学習装置１００を含むシステムの構成例を示す図である。学習装置１００は、例えば印刷装置１０に接続される処理装置２０に含まれる。なおここでの印刷装置１０は、印刷機能を含む複数の機能を有する複合機（ＭＦＰ：Multifunction Peripheral）であってもよい。
【００２０】
印刷装置１０は、メインＣＰＵ、サブＣＰＵなどの複数のＣＰＵ、或いはＭＰＵ（Micro-processing unit）を含むことができる。メインＣＰＵは、印刷装置１０の各部の制御や全体的な制御を行う。サブＣＰＵは、例えば印刷についての各種の処理を行う。また印刷装置１０は、印刷エンジンを含む。印刷エンジンとは、印刷媒体への画像の印刷を実行する機械的構成である。印刷エンジンは、例えば搬送機構やインクジェット方式の吐出ヘッド、当該吐出ヘッドを含むキャリッジの駆動機構等を含む。印刷エンジンは、搬送機構により搬送される印刷媒体に対して、吐出ヘッドからインクを吐出することによって、印刷媒体に画像を印刷する。印刷媒体は、紙や布等、種々の媒体を利用できる。なお、印刷エンジンの具体的構成はここで例示したものに限られず、電子写真方式でトナーにより印刷するものや、熱転写方式により印刷するものでもよい。その他、印刷装置１０は通信部、記憶部、表示部、操作部等、印刷装置に広く用いられる種々の構成を含むことが可能である。
【００２１】
処理装置２０は、学習装置１００と、記憶部２１を含む。また処理装置２０は、印刷アプリケーションを含む。印刷アプリケーションは、印刷対象画像の選択、及び印刷指示をユーザーに実行させるためのソフトウェアである。また印刷アプリケーションは、ユーザーの印刷指示に基づいて、印刷対象画像の印刷を印刷装置１０に実行させるための処理を実行する。
【００２２】
例えば、学習装置１００は、学習処理に加えて、印刷アプリケーションに従った処理を行う装置である。より具体的には、学習処理に関するアルゴリズムが記載された学習ソフトウェアに従ってプロセッサー等が動作することによって学習装置１００の各部の機能が実現される場合において、当該プロセッサーは印刷アプリケーションに従った動作を行う。このようにすれば、学習装置１００は、印刷対象画像の候補画像の表示処理、印刷指示ボタンの表示処理、ユーザー操作受付処理、印刷実行処理等を行うことが可能になる。なお、印刷アプリケーションは、印刷装置１０の制御を行うソフトウェアであるプリンタードライバーを含むソフトウェアであってもよい。或いは印刷アプリケーションは、プリンタードライバーとは異なるソフトウェアとして実現されてもよい。例えば、印刷アプリケーションであるプリンタードライバーは、プリンタードライバー自身によって、あるいは他の通信アプリケーションやオペレーティングシステムを介することにより印刷装置１０との通信を行う。
【００２３】
印刷対象画像の候補画像が記憶される記憶媒体は種々の態様が考えられる。例えば、候補画像は、処理装置２０の記憶部２１に記憶されてもよい。また候補画像は、サーバーシステム４０に含まれるＨＤＤ等の記憶部に記憶されてもよい。処理装置２０とサーバーシステム４０はネットワークを介して接続される。ここでのネットワークは有線、無線を問わない。例えば処理装置２０とサーバーシステム４０との通信は、Ｗｉ−Ｆｉ方式に従った無線通信である。Ｗｉ−Ｆｉ方式は、例えば、ＩＥＥＥの８０２．１１の規格、及び、それに準ずる規格に基づく無線通信方式である。
【００２４】
また印刷対象画像の候補画像は、携帯端末装置５０、撮像装置６０等の記憶部に記憶されてもよい。携帯端末装置５０とは例えばスマートフォンやタブレット端末である。撮像装置６０は、デジタルカメラである。携帯端末装置５０及び撮像装置６０の記憶部は、内蔵メモリーであってもよいし、メモリーカードスロットに装着されるメモリーカードであってもよい。処理装置２０と携帯端末装置５０は、Ｗｉ−ＦｉやBluetooth（登録商標）等の規格に従った無線通信を用いて接続されてもよいし、ＵＳＢ（Universal Serial Bus）等の規格に従った有線接続が用いられてもよい。処理装置２０と撮像装置６０の接続も同様である。
【００２５】
また印刷対象画像の候補画像は、クラウド３０に記憶されてもよい。具体的には、候補画像は、クラウドサービスとして実現される記憶媒体に記憶されてもよい。クラウドサービスにおいては、処理装置２０は記憶媒体を含む具体的な装置を意識することなく、ネットワーク上に記憶された候補画像を参照可能である。なおクラウドサービスに用いられるネットワークは、例えばインターネット等の公衆無線通信網である。
【００２６】
処理装置２０の印刷アプリケーションは、印刷対象画像の印刷指示を受け付ける。上述したように、学習装置１００が印刷アプリケーションの機能を備えることによって、印刷対象画像として選択された画像と、当該画像に対して印刷の指示が行われたことを表す指示履歴情報とを、対応づけて記憶部２１に記憶する。また学習装置１００は、印刷指示が行われた履歴がない画像については、当該画像と、当該画像に対して印刷の指示が行われていないことを表す指示履歴情報とを、対応づけて記憶部２１に記憶するようにしてもよい。
【００２７】
ただし、本実施形態の学習装置１００は以上で説明した構成に限定されない。例えば、印刷アプリケーションの機能を備えた学習装置１００は、携帯端末装置５０等の他の装置に含まれてもよい。広義には、学習装置１００は、印刷装置１０と直接接続されない装置に含まれてもよい。この場合、学習装置１００は、処理装置２０に含まれるプリンタードライバーを経由することによって、印刷装置１０へ印刷指示を送信する。例えば、学習装置１００は、図２のサーバーシステム４０に含まれてもよいし、他のサーバーシステムに含まれてもよい。この場合の学習装置１００は、例えばＷｅｂアプリケーションである。或いは学習装置１００は、図２に記載の他の装置に含まれてもよいし、図２には不図示の装置に含まれてもよい。
【００２８】
また、本実施形態の学習装置１００は、印刷アプリケーションの機能を備えるものに限定されない。具体的には、印刷アプリケーションは、学習装置１００の各部の機能を実現するプロセッサーとは異なるプロセッサーにおいて動作するプログラムであってもよい。この場合、印刷対象画像として選択された画像を特定する情報、及び当該画像に関する指示履歴情報の管理は、学習装置１００の外部に設けられる印刷アプリケーションにおいて実行される。学習装置１００の取得部１１０は、当該印刷アプリケーションから、画像及び指示履歴情報を含む訓練データを取得する処理を行う。
【００２９】
２．２  学習処理に用いるデータセットの例
以上で説明したとおり、本実施形態の学習処理において用いられる訓練データは、少なくとも画像と、当該画像についての指示履歴情報を対応付けたデータセットである。このようなデータセットを用いた学習処理を行うことによって、ユーザーの好む画像を推奨画像として選択することが可能になる。またユーザーの嗜好をより反映させるために、画像と指示履歴情報以外の情報を訓練データに追加することも妨げられない。
【００３０】
例えば取得部１１０は、画像と指示履歴情報に加え、当該画像の印刷実行時に用いられた印刷設定を表す印刷設定情報を取得する。ここでの印刷設定とは、例えば印刷に用いる印刷媒体や、印刷速度等の設定項目を含む。印刷設定情報とは、印刷媒体等の設定項目と設定値を対応付けたデータである。例えば取得部１１０は、上述したプリンタードライバーから、印刷設定情報を取得する。学習部１２０は、画像と、指示履歴情報と、印刷設定情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習する。
【００３１】
例えば学習部１２０は、画像と印刷設定情報を入力とし、指示履歴情報を当該入力に対する正解ラベルとするデータセットに基づいて、推奨画像の条件を学習する。この場合、学習結果である学習済モデルは、画像と、そのときの印刷設定を表す印刷設定情報を入力として受け付け、当該画像を当該印刷設定において印刷することを推奨すべきか否かを推定する処理を行う。
【００３２】
このようにすれば、画像自体の特徴だけでなく、印刷設定まで加味した推奨画像の選択が可能になる。写真の印刷を行う場合であれば、印刷媒体として写真専用用紙を用い、文書等に比べて低速で印刷することによって、高精細な印刷が可能になる。ただし、写真専用用紙は通常の用紙に比べてコストが高い。また、印刷速度が低速である場合、印刷に要する時間が長くなってしまう。即ち、コストや時間まで考慮した場合、最適な印刷設定はユーザーの嗜好に応じて異なる。本実施形態の手法によれば、印刷設定に関するユーザーの嗜好を反映した学習が可能である。
【００３３】
また取得部１１０は、画像と指示履歴情報に加え、当該画像の印刷時間を表す印刷時間情報を取得する。印刷時間情報は、時刻、又は日付、又は曜日、又はこれらの２以上の組み合わせを表す情報である。また日付は月日であってもよいし、年月日であってもよいし、日のみであってもよい。例えば取得部１１０は、学習装置１００が有する計時部から印刷時間を取得する。ここでの計時部は例えばリアルタイムクロックである。また、計時部は、学習装置１００の外部に設けられてもよい。学習部１２０は、画像と、指示履歴情報と、印刷時間情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習する。
【００３４】
例えば学習部１２０は、画像と印刷時間情報を入力とし、指示履歴情報を当該入力に対する正解ラベルとするデータセットに基づいて、推奨画像の条件を学習する。この場合、学習結果である学習済モデルは、画像と、そのときの日付や時刻を入力として受け付け、当該日付又は時刻において、当該画像の印刷を推奨すべきか否かを推定する処理を行う。
【００３５】
このようにすれば、画像自体の特徴だけでなく、どのような時間に印刷が行われていたかまで加味した推奨画像の選択が可能になる。例えばユーザーの生活リズムに応じて、印刷を実行する蓋然性が高い時間帯と低い時間帯が存在する場合がある。印刷実行頻度が高い時間帯における推奨画像の通知は有用であるが、印刷実行頻度が低い時間帯に推奨画像を通知しても、ユーザーが煩わしく感じる恐れがある。本実施形態の手法によれば、印刷時間に関するユーザーの嗜好を反映した学習が可能である。また、特定の種類の画像については速やかに印刷するが、他の種類の画像は週末にまとめて印刷するといった嗜好を有するユーザーも考えられる。画像と印刷時間情報を対応づけて学習することによって、画像と時間の両方を考慮した推奨画像の選択が可能な学習結果を取得可能である。
【００３６】
また取得部１１０は、画像と指示履歴情報に加え、当該画像の印刷出力先を表す印刷出力先情報を取得する。印刷出力先情報とは、印刷に用いられた印刷装置１０を特定する情報である。印刷装置１０を特定する情報は、印刷装置１０のシリアル番号であってもよいし、印刷装置１０が備えるネットワークインターフェイスのＭＡＣアドレスであってもよいし、他の識別情報であってもよい。学習部１２０は、画像と、指示履歴情報と、印刷出力先情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習する。
【００３７】
例えば学習部１２０は、画像と印刷出力先情報を入力とし、指示履歴情報を当該入力に対する正解ラベルとするデータセットに基づいて、推奨画像の条件を学習する。この場合、学習結果である学習済モデルは、画像と、現在設定されている印刷出力先を表す印刷出力先情報を受け付け、当該画像の当該印刷出力先における印刷を推奨すべきか否かを推定する処理を行う。
【００３８】
このようにすれば、画像自体の特徴だけでなく、どの印刷装置１０において印刷が行われていたかまで加味した推奨画像の選択が可能になる。例えばオフィス等においては、ユーザーが利用可能な印刷装置１０が複数存在する場合がある。印刷装置１０に応じてインクの種類、集約印刷の可否、特殊印刷の可否、フィニッシャーの有無等が異なる。集約印刷とは、複数ページのデータを１ページにまとめる印刷方式である。特殊印刷とは、すかし印刷、バーコード印刷等である。フィニッシャーとは、例えば複数枚の印刷結果をステープラー等でまとめるハードウェアである。また印刷装置１０に応じて、ユーザーが当該印刷装置１０まで移動する際の移動時間、移動距離が異なる。どの印刷装置１０で印刷することが望ましいかは、ユーザーの嗜好に応じて、また、印刷しようとする原稿の種類に応じて異なる。本実施形態の手法によれば、画像と印刷出力先の印刷装置１０を対応づけて学習することによって、画像と印刷装置１０の両方を考慮した推奨画像の選択が可能な学習結果を取得可能である。
【００３９】
また取得部１１０は、画像と指示履歴情報に加え、当該画像の保存場所を表す保存場所情報を取得する。保存場所情報とは、図２における処理装置２０の記憶部２１、クラウド３０、サーバーシステム４０、携帯端末装置５０、撮像装置６０等、印刷対象画像の候補画像を保存する機器を特定する情報である。また保存場所情報は、より具体的な情報、例えばＲＡＭ等の内蔵メモリーであるか、ＳＤカード等の外部メモリーであるかを識別可能な情報であってもよい。学習部１２０は、画像と、指示履歴情報と、保存場所情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習する。
【００４０】
例えば学習部１２０は、画像と保存場所情報を入力とし、指示履歴情報を当該入力に対する正解ラベルとするデータセットに基づいて、推奨画像の条件を学習する。この場合、学習結果である学習済モデルは、画像と、当該画像の保存場所を表す保存場所情報を受け付け、当該保存場所に保存されている当該画像の印刷を推奨すべきか否かを推定する処理を行う。
【００４１】
このようにすれば、画像自体の特徴だけでなく、当該画像がどこに保存されているかまで加味した推奨画像の選択が可能になる。例えば、クラウド３０にアップロードされているデータは不可逆圧縮されている場合が多い。高精細な印刷を好むユーザーはクラウド３０に保存されている画像を印刷する頻度が低いと考えられる。一方、画質を重視しないユーザーであればクラウド３０に保存されている画像であっても頻繁に印刷対象とする可能性がある。即ち、どの保存場所の画像を印刷することが望ましいかは、ユーザーの嗜好に応じて異なる。本実施形態の手法によれば、画像と保存場所を対応づけて学習することによって、画像と保存場所の両方を考慮した推奨画像の選択が可能な学習結果を取得可能である。なお、ここではクラウド３０について説明したが、他の装置についても同様である。具体的には、保存場所に応じて、画像の保存態様、印刷装置１０と直接接続されるか他の装置を介して接続されるか、当該接続の通信規格、等が異なるため、いずれの保存場所が印刷に適しているかは状況に応じて異なる。そのため、保存場所を含めた学習処理が有用なケースは、クラウド３０を用いる場合に限定されない。
【００４２】
なお、データセットに追加される情報は、印刷設定情報、印刷時間情報、印刷出力先情報及び保存場所情報のいずれか１つに限定されず、２以上の情報が追加されてもよい。例えば、印刷装置１０によって設定可能な項目及び設定値が異なるため、印刷設定と印刷出力先を関連付けて学習することが有用である。また、クラウド３０にアップされているデータは不可逆圧縮されている場合が多いため、大判印刷を行う印刷設定である場合、画質の劣化が目立ちやすい。即ち、印刷設定と保存場所を関連付けて学習することも有用である。その他、複数の情報をデータセットに追加することによって、情報間の関連を考慮した学習処理が可能になる。
【００４３】
２．３  学習の具体例
データセットに基づく学習処理について詳細に説明する。ここでは、ニューラルネットワークを用いた機械学習について説明する。
【００４４】
図３は、ニューラルネットワークの基本的な構造例である。ニューラルネットワークは、脳機能を計算機上でシミュレーションする数学モデルである。図３の１つの円をノード又はニューロンと呼ぶ。図３の例では、ニューラルネットワークは、入力層と、２つの中間層と、出力層を有する。入力層がＩであり、中間層がＨ１及びＨ２であり、出力層がＯである。また図３の例においては、入力層のニューロン数が３、中間層のニューロン数がそれぞれ４、出力層のニューロン数が１である。ただし、中間層の層数や、各層に含まれるニューロンの数は種々の変形実施が可能である。入力層に含まれるニューロンは、それぞれ第１中間層であるＨ１のニューロンと結合される。第１中間層に含まれるニューロンはそれぞれ第２中間層であるＨ２のニューロンと結合され、第２中間層に含まれるニューロンはそれぞれ出力層のニューロンと結合される。なお中間層は隠れ層と言い換えてもよい。
【００４５】
入力層は、それぞれ入力値を出力するニューロンである。図３の例では、ニューラルネットワークはｘ１，ｘ２，ｘ３を入力として受け付け、入力層の各ニューロンは、それぞれｘ１，ｘ２，ｘ３を出力する。なお、入力値に対して何らかの前処理を行い、入力層の各ニューロンは、前処理後の値を出力してもよい。
【００４６】
中間層以降の各ニューロンでは、脳の中で電気信号として情報が伝達される様子を模した演算が行われる。脳では、シナプスの結合強度に応じて情報の伝わりやすさが変わるため、ニューラルネットワークでは当該結合強度を重みＷで表現する。
【００４７】
図３のＷ１は、入力層と第１中間層の間の重みである。Ｗ１は入力層に含まれる所与のニューロンと、第１中間層に含まれる所与のニューロンとの間の重みの集合を表す。入力層のｐ番目のニューロン数と、第１中間層のｑ番目のニューロンの間の重みをｗ１ｐｑと表現した場合、図３のＷ１は、ｗ１１１〜ｗ１３４の１２個の重みを含む情報である。より広義には、重みＷ１は、入力層のニューロン数と第１中間層のニューロン数の積だけの個数の重みからなる情報である。
【００４８】
第１中間層のうち、１番目のニューロンでは、下式（１）に示した演算が行われる。１つのニューロンでは、当該ニューロンに接続される１つ前の層の各ニューロンの出力を積和し、さらにバイアスを加算する演算を行う。下式（１）におけるバイアスはｂ１である。
【数１】
2020098444.tif 000003
【００４９】
また、上式（１）に示したように、１つのニューロンでの演算では、非線形関数である活性化関数ｆが用いられる。活性化関数ｆは、例えば下式（２）に示すＲｅＬＵ関数が用いられる。ＲｅＬＵ関数は、変数が０以下であれば０であり、０より大きければ変数自体の値となる関数である。ただし、活性化関数ｆは種々の関数を利用可能であることが知られており、シグモイド関数を用いてもよいし、ＲｅＬＵ関数を改良した関数を用いてもよい。上式（１）では、ｈ１についての演算式を例示したが、１つめの中間層の他のニューロンでも同様の演算を行えばよい。
【数２】
2020098444.tif 000004
【００５０】
また、これ以降の層についても同様である。例えば、第１中間層と第２中間層の間の重みをＷ２とした場合、第２中間層のニューロンでは、第１中間層の出力と重みＷ２を用いた積和演算を行い、バイアスを加算し、活性化関数を適用する演算を行う。
【００５１】
出力層のニューロンでは、その１つ前の層の出力を重み付け加算し、バイアスを加算する演算を行う。図３の例であれば、出力層の１つ前の層とは、第２中間層である。ニューラルネットワークは、出力層での演算結果を、当該ニューラルネットワークの出力とする。或いは、出力層の演算結果に対して、何らかの後処理を行った結果を出力してもよい。
【００５２】
以上の説明からわかるように、入力から所望の出力を得るためには、適切な重みとバイアスを設定する必要がある。なお、以下では重みを重み付け係数とも表記する。また重み付け係数にはバイアスが含まれてもよいものとする。学習では、所与の入力ｘと、当該入力での正しい出力ｔとを対応付けたデータセットを用意しておく。正しい出力ｔは教師データである。ニューラルネットワークの学習処理とは、当該データセットに基づいて、最も確からしい重み付け係数を求める処理と考えることが可能である。ニューラルネットワークの学習処理では、誤差逆伝播法（Backpropagation）が広く知られている。
【００５３】
図４は、誤差逆伝播法を説明する図である。なお図４では、説明を簡略化するために、第１中間層、第２中間層、出力層のそれぞれについて、１つのニューロンに着目した処理を図示している。また、ニューラルネットワークの学習処理は誤差逆伝播法を用いるものに限定されない。
【００５４】
誤差逆伝播法では、フォワードパスとバックワードパスを繰り返すことで、パラメーターを更新していく。ここでのパラメーターとは、上述した重み付け係数である。まず入力ｘと、その時点の重み付け係数を用いて、出力ｙを演算する。なお、重み付け係数の初期値は種々の設定が可能である。図４の例においては、下式（３）〜（５）の演算が行われ、ｘｋからｙが演算される。下式（３）〜（５）におけるｕは第１中間層の出力を表し、ｖは第２中間層の出力を表す。
【数３】
2020098444.tif 000005
【数４】
2020098444.tif 000006
【数５】
2020098444.tif 000007
【００５５】
そして、求められた出力ｙと、入力ｘに対応する教師データｔとに基づいて損失関数Ｅを求める。損失関数Ｅは、例えば下式（６）であるが、単純な差分（ｙ−ｔ）であってもよいし、他の損失関数を用いてもよい。損失関数Ｅを求めるまでの処理をフォワードパスと呼ぶ。
【数６】
2020098444.tif 000008
【００５６】
フォワードパスにより損失関数Ｅが求めた後、下式（７）〜（１２）に示すように、損失関数Ｅの偏微分を用いて各パラメーターを更新する。下式（７）〜（１２）において、“＋１”の添え字が付された値は、更新処理後の値を表す。例えばｂ＋１とは、更新処理後のｂの値を表す。またηは学習率を表す。学習率は一定ではなく、学習の状況に応じて変更することが望ましい。
【数７】
2020098444.tif 000009
【数８】
2020098444.tif 000010
【数９】
2020098444.tif 000011
【数１０】
2020098444.tif 000012
【数１１】
2020098444.tif 000013
【数１２】
2020098444.tif 000014
【００５７】
この際、出力層から入力層に向かって、各パラメーターに関する損失関数Ｅの偏微分を、連鎖率を使って計算する。具体的には、上式（７）〜（１２）に示した各偏微分は、下式（１３）〜（１８）を順次計算することで容易に求めることが可能である。また、活性化関数ｆとして上式（２）のＲｅＬＵ関数を用いた場合、微分値が０又は１となるため、偏微分の演算が容易である。式（７）〜（１８）を用いた一連の処理をバックワードパスと呼ぶ。
【数１３】
2020098444.tif 000015
【数１４】
2020098444.tif 000016
【数１５】
2020098444.tif 000017
【数１６】
2020098444.tif 000018
【数１７】
2020098444.tif 000019
【数１８】
2020098444.tif 000020
【００５８】
本実施形態の学習処理において、ニューラルネットワークの入力であるｘは、訓練データに含まれる画像の画素値である。例えば、学習部１２０は、訓練データに含まれる画像をあらかじめ縦ｖ画素、横ｈ画素にリサイズし、ｖ×ｈ個の画素値をニューラルネットワークの入力として利用する。具体的には、入力層の１つのニューロンに、１つの画素値が入力される。ただし学習部１２０は、訓練データに含まれる画像に基づいて特徴量の抽出処理等の何らかの画像処理を行い、当該画像処理の結果をニューラルネットワークの入力とすることも妨げられない。また上述したように、印刷設定情報等の他の情報がニューラルネットワークの入力となってもよい。また、教師データｔは、訓練データに含まれる指示履歴情報である。例えば、指示履歴情報は、印刷指示が行われた場合に１となり、印刷指示が行われていない場合に０となる情報である。また、指示履歴情報は２値のデータに限定されず、印刷指示が行われた回数に応じて値が変化するデータであってもよい。例えば指示履歴情報は、印刷指示が行われた回数が多いほど、値が大きくなる。学習結果である学習済モデルは、判定対象画像を入力として受け付け、出力として、推奨画像である蓋然性が高いほど、値が大きくなるデータを出力する。なお判定対象画像は、縦ｖ画素、横ｈ画素にリサイズする処理や、特徴量の抽出処理等、学習処理における前処理と同様の処理が行われた後、ニューラルネットワークに入力される。
【００５９】
なお、図３においては、所与の層のニューロンが、隣り合う層の全てのニューロンと接続される態様のニューラルネットワークについて説明した。ただしニューラルネットワークの構成はこれに限定されない。例えば本実施形態の機械学習には畳み込みニューラルネットワーク（ＣＮＮ：Convolutional neural network）を用いてもよい。ＣＮＮは、畳み込み層及びプーリング層を有する。畳み込み層は、畳み込み演算を行う。ここでの畳み込み演算とは、具体的にはフィルター処理である。プーリング層は、データの縦横のサイズを縮小する処理を行う。ＣＮＮは、例えば画像データが入力される場合において、所与の画素と、その周辺の画素との関係を考慮した処理が可能である。ＣＮＮにおいては、機械学習によって、畳み込み演算に用いられるフィルターの特性が学習される。即ち、ニューラルネットワークにおける重み付け係数には、ＣＮＮにおけるフィルター特性が含まれる。
【００６０】
以上のように、学習部１２０は、機械学習によって学習済モデルを生成する。例えば、学習済モデルは、学習によって重み付け係数が設定されたニューラルネットワークである。学習済モデルは、図３に示すように、入力層と中間層と出力層とを有する。そして学習済モデルは、画像と、指示履歴情報とを対応付けたデータセットに基づき、入力層と中間層との間の重み付け係数、及び、中間層と出力層の間の重み付け係数が設定されている。上述したように、中間層は２以上であってもよく、その場合、所与の中間層と次の中間層との間の重み付け係数もデータセットに基づく学習によって設定されている。学習済モデルは、入力として受け付けた判定対象画像のデータを入力層に入力し、設定された重み付け係数に基づく演算を行い、出力層から、当該判定対象画像が推奨画像であるか否かを表すデータを出力するよう、コンピューターを機能させる。
【００６１】
また本実施形態の手法は、学習済モデルに適用されてもよい。学習済モデルは、判定対象画像が印刷を推奨する推奨画像であるか否かを判定するための学習済モデルである。学習済モデルは、入力層と中間層と出力層とを有し、画像と、ユーザーが画像の印刷を指示したか否かを表す指示履歴情報とを対応付けたデータセットに基づき、入力層と中間層との間の重み付け係数及び中間層と出力層の間の重み付け係数が設定されている。学習済モデルは、判定対象画像のデータを入力層に入力し、設定された重み付け係数に基づく演算を行い、出力層から判定対象画像が前記推奨画像であるか否かを表すデータを出力するよう、コンピューターを機能させる。
【００６２】
なお、以上では学習済モデルがニューラルネットワークを用いたモデルである例について説明した。しかし本実施形態における機械学習はニューラルネットワークを用いる手法に限定されない。例えば本実施形態の手法には、ＳＶＭ（support vector machine）等、広く知られた種々の方式の機械学習、或いはそれらの方式を発展させた方式の機械学習を適用することが可能である。
【００６３】
３．推論処理
３．１  推論装置の構成例
図５は、本実施形態の推論装置の構成例を示す図である。推論装置は、印刷装置１０の印刷を制御する印刷制御装置２００である。印刷制御装置２００は、受付部２１０と、処理部２２０と、記憶部２３０を含む。
【００６４】
記憶部２３０は、画像と、ユーザーが画像の印刷を指示したか否かを表す指示履歴情報とを対応付けたデータセットに基づき、印刷を推奨する推奨画像の条件を機械学習した学習済モデルを記憶する。受付部２１０は、判定対象画像の入力を受け付ける。処理部２２０は、学習済モデルに基づいて、判定対象画像が推奨画像であるか否かを判定する処理を行う。具体的には、処理部２２０は、判定対象画像が推奨画像であるか否かを表すデータを出力する。推奨画像であるか否かを表すデータは、２値のデータに限定されず、例えば確率を表す数値データである。
【００６５】
学習済モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。処理部２２０は、記憶部２３０に記憶された学習済モデルからの指令に従って、入力である判定対象画像が推奨画像であるか否かを表すデータを出力する。
【００６６】
印刷制御装置２００の処理部２２０は、学習装置１００の学習部１２０と同様に、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むハードウェアにより構成される。また処理部２２０は、下記のプロセッサーにより実現されてもよい。本実施形態の印刷制御装置２００は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。プロセッサーは、ＣＰＵ、ＧＰＵ、ＤＳＰ等、各種のプロセッサーを用いることが可能である。メモリーは、半導体メモリーであってもよいし、レジスターであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。
【００６７】
なお、学習済モデルに従った処理部２２０おける演算、即ち、入力データに基づいて出力データを出力するための演算は、ソフトウェアによって実行されてもよいし、ハードウェアにより実行されてもよい。換言すれば、上式（１）等の積和演算、或いは、ＣＮＮにおけるフィルター演算は、ソフトウェア的に実行されてもよい。或いは上記演算は、ＦＰＧＡ（field-programmable gate array）等の回路装置によって実行されてもよい。また、上記演算は、ソフトウェアとハードウェアの組み合わせによって実行されてもよい。このように、記憶部２３０に記憶された学習済モデルからの指令に従った処理部２２０の動作は、種々の態様によって実現可能である。
【００６８】
また、印刷制御装置２００は、１つの装置であってもよいし、複数の装置を含んでもよい。例えば、ＰＣ等の端末装置と、サーバーシステムとが連携して動作することによって、印刷制御装置２００が実現されてもよい。また、図１０を用いて後述するとおり、本実施形態の学習済モデルは、推論処理の結果を用いて更新されてもよい。学習済モデルを更新することによって、ユーザーの嗜好を適切に反映できる。ただし、事前に学習済モデルが作成され、当該学習済モデルが固定的に用いられてもよい。
【００６９】
図６は、印刷制御装置２００を含むシステムの構成例である。印刷制御装置２００は、例えば印刷装置１０に接続される処理装置２０に含まれる。図６に示すシステムの構成は、図２と同様である。印刷制御装置２００の受付部２１０は、クラウド３０、サーバーシステム４０、携帯端末装置５０、撮像装置６０等、種々の記憶媒体に記憶された画像を、判定対象画像として受け付ける。処理部２２０は、当該判定対象画像が推奨画像であると判定された場合、ユーザーに印刷を促す通知を行う。例えば処理装置２０の印刷アプリケーションは、推奨画像の表示処理、及び、印刷を促すテキスト等の表示処理を行う。また、ユーザーによって推奨画像の印刷操作が行われた場合、印刷アプリケーションは、当該推奨画像が印刷対象画像であると判断する。よって印刷アプリケーションは、プリンタードライバーを用いて印刷装置１０に推奨画像の印刷を指示する。このようにすれば、推奨画像の提示処理及び印刷処理を円滑に実行することが可能になる。なお、印刷制御装置２００は、処理装置２０に含まれるものに限定されず、他の装置に含まれてもよい。ただし、印刷装置１０の制御を円滑に行うことを考慮すれば、印刷制御装置２００は印刷装置１０に直接接続される機器に含まれることが望ましい。
【００７０】
３．２  推論処理の具体例
図７は、本実施形態の推論処理における入力と出力の関係を示す図である。なお、図７においては、ニューラルネットワーク演算を行う例を説明する。推論処理における入力は、少なくとも判定対象画像を含む。また、推論処理における入力は、処理タイミングにおける印刷設定情報、処理タイミングの日付や時刻を表す印刷時間情報、出力先として設定されている印刷装置１０を特定する印刷出力先情報、判定対象画像の保存場所情報を含んでもよい。印刷設定情報及び印刷出力先情報は、プリンタードライバーから取得される。日付や時刻である印刷時間情報はリアルタイムクロック等の計時部から取得される。保存場所情報は、当該判定対象画像の取得元であるため、受付部２１０から取得可能である。
【００７１】
ただし、学習処理において上述したように、印刷設定情報、印刷時間情報、印刷出力先情報、保存場所情報は必須ではなく、一部或いは全部を省略可能である。処理部２２０は、印刷設定情報等のうち、学習処理における訓練データとして用いられた情報を、推論処理における入力として取得する。また、図１１を用いて後述するように、一部の情報は学習処理における教師データとして用いられ、推論処理における出力となってもよい。
【００７２】
処理部２２０は、これらの入力に基づいて、ニューラルネットワーク演算を行う。そして処理部２２０は、出力として、判定対象画像が推奨画像であるか否かを表す情報を出力する。例えば、出力はｒ以上ｓ以下の範囲の数値データであって、判定対象画像が推奨画像である確率が高いと判定されるほど、値が大きくなるデータである。
【００７３】
図８は、処理部２２０における推論処理を説明するフローチャートである。処理部２２０は、例えば、所与の記憶媒体に新たな画像が追加されたタイミングにおいて、推論処理を実行する。処理部２２０は、あらかじめ監視対象として設定されている記憶媒体を監視する（Ｓ１０１）。図６に示した例においては、処理部２２０は、処理装置２０自身の記憶部２１、クラウド３０、サーバーシステム４０、携帯端末装置５０、撮像装置６０に保存されている画像の情報を取得する。なお記憶部２１は、学習済モデルが記憶される記憶部２３０と同じ記憶媒体であってもよいし、異なる記憶媒体であってもよい。Ｓ１０１の処理において取得される画像の情報とは、画像データそのものである必要はなく、例えばファイル名、Ｅｘｉｆ（Exchangeable image file format）等のメタデータ、サムネイル画像等の相対的にデータ量の少ない情報である。
【００７４】
処理部２２０は、Ｓ１０１で取得した画像の情報に基づいて、監視対象の記憶媒体に新たな画像が追加されたか否かを判定する（Ｓ１０２）。例えば処理部２２０は、最新のＳ１０１の処理において取得された情報と、それよりも過去に実行されたＳ１０１の処理において取得された情報との比較処理に基づいて、新たな画像が追加されたか否かを判定する。新たな画像が追加されていない場合（Ｓ１０２でＮｏ）、Ｓ１０３以降の処理を行わずに処理を終了する。
【００７５】
新たな画像が追加されている場合（Ｓ１０２でＹｅｓ）、処理部２２０は受付部２１０に対して当該判定対象画像の取得を指示する。また受付部２１０又は処理部２２０は、必要に応じて印刷設定情報等を収集する。そして処理部２２０は、少なくとも判定対象画像を含む入力に基づいて、ニューラルネットワーク演算を行う（Ｓ１０３）。
【００７６】
次に処理部２２０は、ニューラルネットワーク演算の結果に基づいて、判定対象画像が推奨画像であるか否かを判定する（Ｓ１０４）。例えば、ニューラルネットワークの出力がｒ以上ｓ以下の範囲の数値データである場合、処理部２２０は、出力値が所与の閾値Ｔｈ（Ｔｈはｒ＜Ｔｈ＜ｓを満たす数）以上の場合に、判定対象画像が推奨画像であると判定する。
【００７７】
判定対象画像が推奨画像であると判定した場合（Ｓ１０４でＹｅｓ）、処理部２２０は、判定対象画像の印刷を推奨する通知を行う。例えば、印刷制御装置２００は不図示の表示部を含み、処理部２２０は表示部に判定対象画像と、印刷を推奨する旨のテキスト等を表示する処理を行う。ここでの表示処理は、例えばポップアップ画面の表示処理である。或いは、印刷制御装置２００はスピーカーや発光部等の報知部を含み、処理部２２０は当該報知部を用いた報知処理を行ってもよい。判定対象画像が推奨画像でないと判定した場合（Ｓ１０４でＮｏ）、Ｓ１０５の処理が行われずに処理を終了する。また、通知処理は通知を行うか行わないかの２通りの処理に限定されない。例えば、処理部２２０は、ニューラルネットワークの出力をｒ以上Ｔｈ１未満、Ｔｈ１以上Ｔｈ２未満、Ｔｈ２以上ｓ以下の３通りに分類することによって、態様の異なる３種類の通知を行ってもよい。Ｔｈ１及びＴｈ２は、ｒ＜Ｔｈ１＜Ｔｈ２＜ｓを満たす数である。例えば処理部２２０は、出力値がＴｈ２以上である場合に通常の通知処理を行い、Ｔｈ１以上Ｔｈ２未満である場合にアラート付きの通知を行う。出力がＴｈ１以上Ｔｈ２未満である場合、Ｔｈ２以上である場合に比べて推論の信頼性が低いため、アラートを付すことによってユーザーに慎重な対応を促すことが可能になる。その他、具体的な通知処理については種々の変形実施が可能である。
【００７８】
処理部２２０は、図８に示した処理を定期的に実行する。このようにすれば、監視対象である記憶媒体に新たな画像が追加された場合に、当該新たな画像の印刷を推奨するか否かを適切に判断することが可能になる。
【００７９】
なお、処理部２２０が推論処理を行うタイミングは、新たな画像が追加されたと判定されたタイミングに限定されない。例えば処理部２２０は、他のアプリケーションと連携することによってイベントの発生を判定してもよい。この場合、処理部２２０はイベントの発生をトリガーとして、当該イベントに適した画像の印刷を促す通知処理を行う。ここでのアプリケーションとは、カレンダーアプリケーションや連絡先アプリケーション等である。イベントとは、誕生日やクリスマス等、種々のイベントが考えられる。
【００８０】
イベントをトリガーとする場合、判定対象画像を１つに限定することは難しい。例えば処理部２２０は、アクセス可能な記憶媒体に記憶された全ての画像を対象として、ニューラルネットワーク演算を行い、各画像について推奨画像か否かを判定する。或いは、処理負荷の軽減、及び処理時間の短縮を考慮し、アクセス可能な画像のうちの一部の画像を対象として、推奨画像か否かを判定してもよい。
【００８１】
４．推論結果に基づく追加学習
以上の説明においては、学習処理と推論処理を個別に説明した。例えば、学習段階において、あらかじめ訓練データを蓄積しておき、蓄積された訓練データに基づいて学習処理が行われる。また、推論段階においては、生成された学習済モデルを継続的に使用することによって、推論処理を行う。この場合、一度生成された学習済モデルは固定であり、更新が想定されない。
【００８２】
ただし本実施形態の手法はこれに限定されず、推論段階での処理結果が学習処理にフィードバックされてもよい。具体的には、学習装置１００の学習部１２０は、機械学習の結果に基づいて推奨された推奨画像と、当該推奨画像に対して印刷の指示が行われたか否かを表す指示履歴情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習する。このようにすれば、ユーザーの実際の印刷指示に基づいて学習済モデルが更新されていくため、よりユーザーの嗜好に沿った推奨画像の選択が可能になる。
【００８３】
例えば、事前の学習処理においては汎用的な訓練データを用いて学習済モデルを生成し、ユーザーの嗜好に合わせた学習は推論処理と平行して実行されてもよい。或いは、事前の学習処理自体をスキップしてもよい。この場合、重み付け係数の初期値は、学習処理を行わずに設定される。或いは、事前の学習処理においてもユーザー固有の訓練データを用いて学習処理が行われてもよい。この場合、追加学習が行われなくてもある程度ユーザーの嗜好を反映した推定処理が可能であるが、追加学習を行うことによって精度が向上し、且つユーザーの嗜好の変化等にも対応可能になる。
【００８４】
図９は、追加学習を行う場合の学習装置１００の構成例を示す図である。学習装置１００は、取得部１１０及び学習部１２０に加えて、学習部１２０が機械学習した学習済モデルを記憶する記憶部２３０と、学習済モデルに基づいて、判定対象画像が推奨画像であるか否かを判定する処理部２２０を含む。また、学習装置１００は、判定対象画像を受け付ける受付部２１０を含んでもよい。即ち、図９における学習装置１００は、図１に示した構成に加えて、図５に示した印刷制御装置２００と同様の構成を含み、印刷制御装置２００として動作可能な学習装置である。
【００８５】
図１０は、追加学習を行う場合の学習装置１００の処理を説明するフローチャートである。図１０においては、記憶媒体に新たな画像が追加されたと判定されたことが推定処理のトリガーとなる例を説明するが、イベント発生等の他のトリガーを用いてもよいことは上述したとおりである。
【００８６】
図１０のＳ２０１〜Ｓ２０５については、図８のＳ１０１〜Ｓ１０５と同様である。判定対象画像が推奨画像であると判定されることによって通知処理が実行された場合（Ｓ２０５）、処理部２２０は、推奨画像が実際に印刷されたか否かを判定する（Ｓ２０６）。例えば、処理部２２０は、Ｓ２０５の通知処理において、印刷アプリケーションを起動することによって、印刷実行を指示するボタン等を表示してもよい。この場合、Ｓ２０６の判定は、当該ボタンに対する操作が行われたか否かの判定である。或いは処理部２２０は、Ｓ２０５の通知後、所与の期間においてプリンタードライバーを監視することによって、推奨画像に対する印刷指示が行われたか否かの情報を収集してもよい。
【００８７】
推奨画像に対する印刷指示が行われなかった場合（Ｓ２０６でＮｏ）、ユーザーは判定対象画像の印刷を望んでいないことになるため、学習済モデルを用いた推論結果が適切でなかったと判定される。よって学習部１２０は、推奨画像として提示した画像と、印刷指示が行われなかった旨を表す指示履歴情報とを対応付けたデータセットに基づいて、学習処理を行う（Ｓ２０７）。これにより、不適切な推論を訂正する方向での追加学習が行われるため、追加学習後の学習済モデルは、よりユーザーの嗜好に沿った出力を行うことが可能になる。
【００８８】
なお、図１０においては推論結果が誤っていた場合に追加学習を行う例を示したが、これには限定されない。例えば学習部１２０は、推論結果が正しかった場合、即ち、推奨画像に対する印刷指示が行われた場合に学習処理を行ってもよい。
【００８９】
５．変形例
以上では、印刷設定情報が学習処理及び推論処理における入力データとして用いられる例について説明した。即ち、学習処理においては、画像と指示履歴情報と印刷設定情報とを対応付けたデータセットのうち、画像及び印刷設定情報が入力であり、指示履歴情報が教師データである。推論処理においては、判定対象画像と、処理タイミングにおける印刷設定情報とが入力されると、学習済モデルによって判定対象画像が推奨画像であるか否かを表すデータが出力される。
【００９０】
ただし、印刷設定情報の利用態様はこれに限定されない。例えば、印刷設定情報は、学習処理及び推論処理における出力データとして用いられてもよい。学習処理においては、画像と指示履歴情報と印刷設定情報とを対応付けたデータセットのうち、画像が入力であり、指示履歴情報及び印刷設定情報が教師データである。例えば印刷設定情報が、写真専用用紙を使用するか否かを表す第１設定情報、及び印刷速度を表す第２設定情報を含む場合、ニューラルネットワークの出力層は少なくとも３つのニューロンを有する。第１のニューロンは、入力の画像が推奨画像であるか否かを出力するためのニューロンであり、指示履歴情報が教師データとなる。第２のニューロンは、入力の画像を、写真専用用紙を用いて印刷すべきか否かを出力するためのニューロンであり、印刷設定のうちの第１設定情報が教師データとなる。第３のニューロンは、入力の画像をどのような印刷速度によって印刷するかを出力するためのニューロンであり、印刷設定情報のうちの第２設定情報が教師データとなる。
【００９１】
図１１は、本変形例の推論処理における入力と出力の関係を示す図である。なお、図１１においては、印刷時間情報、印刷出力先情報、保存場所情報を省略している。推論処理においては、ニューラルネットワークは判定対象画像を入力として受け付け、上記学習処理によって学習された重み付け係数を用いたニューラルネットワーク演算を行うことによって、３つの出力データを出力する。３つの出力とは、判定対象画像が推奨画像であるか否かを表すデータ、判定対象画像の印刷に写真専用用紙の使用を推奨するか否かを表すデータ、及び、判定対象画像の印刷に推奨される印刷速度を表すデータである。このようにすれば、画像の特徴に基づいて、適切な印刷媒体や印刷速度を提案することが可能になる。
【００９２】
また、以上では印刷設定情報について説明したが、印刷出力先情報についても、学習処理及び推論処理の出力データとしての利用が可能である。例えば、学習装置１００は印刷出力先情報を教師データとして学習処理を行う。印刷制御装置２００は、判定対象画像の印刷に推奨される印刷出力先を特定するデータを、出力データとして出力する推論処理を行う。このようにすれば、設定済みの印刷出力先を固定的に利用するのではなく、複数の印刷出力先の候補の中から、適切な印刷出力先を提示することが可能になる。そのため、ユーザーの利便性向上が可能になる。
【００９３】
また、印刷時間情報についても、学習処理及び推論処理の出力データとしての利用が可能である。学習装置１００は、印刷時間情報を教師データとして学習処理を行う。印刷制御装置２００は、判定対象画像の印刷に推奨される時間を出力データとして出力する推論処理を行う。このようにすれば、推論処理の実行タイミングにおいて即座に印刷を促すのではなく、ユーザーに応じた適切なタイミングにおいて、推奨画像の印刷を促すことが可能になる。例えば、印刷制御装置２００の処理部２２０は、判定対象画像が推奨画像であると判定された場合に、即座に通知処理を行うのではなく、出力データによって特定される印刷時間になるのを待ってから通知処理を実行する。
【００９４】
なお、保存場所情報については入力データとしての利用が想定される。ただし、同じ内容の画像が複数の記憶媒体に記憶されている場合において、いずれの記憶媒体に記憶された画像を印刷するかを、学習済モデルを用いて決定する場合等を考慮すれば、保存場所情報が出力データとして利用されることも妨げられない。
【００９５】
以上のように、本実施形態の手法においては、画像が入力データであり、指示履歴情報が出力データであるという条件が満たされればよく、印刷設定情報等の他の情報については、入力データとして用いられてもよいし、出力データとして用いられてもよいし、処理対象から除外されてもよい。また、図７や図１１に不図示の他の情報を追加してもよく、学習処理及び推論処理に利用するデータについては種々の変形実施が可能である。
【００９６】
以上のように、本実施形態の学習装置は、画像と、画像に対して印刷の指示が行われたか否かを表す指示履歴情報を取得する取得部と、画像と指示履歴情報とを対応付けたデータセットに基づいて、印刷を推奨すべき推奨画像の条件を機械学習する学習部と、を含む。
【００９７】
本実施形態の手法によれば、画像と、当該画像に対する印刷の指示履歴情報を用いた機械学習が行われることによって、推奨画像を選択するための条件を適切に学習することが可能になる。学習結果に基づく処理を行うことによって、印刷を推奨すべき画像を自動的に選択できるため、ユーザー負担の軽減が可能になる。
【００９８】
また本実施形態の学習部は、機械学習の結果に基づいて推奨された推奨画像と、推奨画像に対して印刷の指示が行われたか否かを表す指示履歴情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習してもよい。
【００９９】
このようにすれば、学習結果に基づき推奨された推奨画像が、実際に印刷指示の対象となったか否かに応じて追加の学習を行うことが可能になる。これにより、学習結果をより適切なものに更新していくことが可能になる。
【０１００】
また本実施形態の学習部は、画像と、指示履歴情報と、画像の印刷設定を表す印刷設定情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習してもよい。
【０１０１】
このようにすれば、画像と指示履歴情報に加えて、印刷設定に関する学習を行うことが可能になる。
【０１０２】
また本実施形態の学習部は、画像と、指示履歴情報と、画像の印刷時間を表す印刷時間情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習してもよい。
【０１０３】
このようにすれば、画像と指示履歴情報に加えて、印刷時間に関する学習を行うことが可能になる。
【０１０４】
また本実施形態の学習部は、画像と、指示履歴情報と、印刷出力先を表す印刷出力先情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習してもよい。
【０１０５】
このようにすれば、画像と指示履歴情報に加えて、印刷出力先に関する学習を行うことが可能になる。
【０１０６】
また本実施形態の学習部は、画像と、指示履歴情報と、画像の保存場所を表す保存場所情報とを対応付けたデータセットに基づいて、推奨画像の条件を機械学習してもよい。
【０１０７】
このようにすれば、画像と指示履歴情報に加えて、保存場所に関する学習を行うことが可能になる。
【０１０８】
また本実施形態の学習装置は、学習部が機械学習によって生成した学習済モデルを記憶する記憶部と、学習済モデルに基づいて、判定対象画像が推奨画像であるか否かを判定する処理部と、を含んでもよい。
【０１０９】
このようにすれば、学習装置において、学習結果に基づく推奨画像の判定処理を実行することが可能になる。
【０１１０】
また本実施形態の学習部は、機械学習によって学習済モデルを生成してもよい。学習済モデルは、入力層と中間層と出力層とを有し、画像と指示履歴情報とを対応付けたデータセットに基づき、入力層と中間層の間及び中間層と出力層との間の重み付け係数が設定されている。学習済モデルは、入力として受け付けた判定対象画像のデータを入力層に入力し、設定された重み付け係数に基づく演算を行い、出力層から、判定対象画像が推奨画像であるか否かを表すデータを出力するよう、コンピューターを機能させる。
【０１１１】
このようにすれば、学習処理によって重み付け係数を学習することによって、推奨画像であるか否かを適切に判定可能な学習済モデルを生成することが可能になる。より具体的には、ニューラルネットワークを用いた学習済モデルを生成することが可能になる。
【０１１２】
また本実施形態の印刷制御装置は、印刷装置の印刷を制御する印刷制御装置であって、記憶部と、受付部と、処理部とを含む。記憶部は、画像と、画像に対して印刷の指示が行われたか否かを表す指示履歴情報とを対応付けたデータセットに基づき、印刷を推奨する推奨画像の条件を機械学習した学習済モデルを記憶する。受付部は、判定対象画像の入力を受け付ける。処理部は、学習済モデルに基づいて、判定対象画像が推奨画像であるか否かを判定する。
【０１１３】
このようにすれば、機械学習の結果である学習済モデルに基づいて、所与の判定対象画像の印刷を推奨するか否かを適切に判定することが可能になる。また、印刷制御装置が上記判定を行うことによって、推奨画像の印刷指示が行われた場合の印刷処理を円滑に実行可能である。
【０１１４】
本実施形態の学習済モデルは、判定対象画像が印刷を推奨する推奨画像であるか否かを判定するための学習済モデルである。学習済モデルは、入力層と中間層と出力層とを有し、画像と、画像に対して印刷の指示が行われたか否かを表す指示履歴情報とを対応付けたデータセットに基づき、入力層と中間層との間及び中間層と出力層との間の重み付け係数が設定されている。また学習済モデルは、判定対象画像のデータを入力層に入力し、設定された重み付け係数に基づく演算を行い、出力層から判定対象画像が推奨画像であるか否かを表すデータを出力するよう、コンピューターを機能させる。
【０１１５】
なお、上記のように本実施形態について詳細に説明したが、本実施形態の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。また学習装置、印刷制御装置、及びそれらの装置を含むシステムの構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１１６】
１０…印刷装置、２０…処理装置、２１…記憶部、３０…クラウド、４０…サーバーシステム、５０…携帯端末装置、６０…撮像装置、１００…学習装置、１１０…取得部、１２０…学習部、２００…印刷制御装置、２１０…受付部、２２０…処理部、２３０…記憶部
【図１】
2020098444.tif 000021
【図２】
2020098444.tif 000022
【図３】
2020098444.tif 000023
【図４】
2020098444.tif 000024
【図５】
2020098444.tif 000025
【図６】
2020098444.tif 000026
【図７】
2020098444.tif 000027
【図８】
2020098444.tif 000028
【図９】
2020098444.tif 000029
【図１０】
2020098444.tif 000030
【図１１】
2020098444.tif 000031