(57)【要約】【課題】  ＰＣを操作して画像データの保存を行う場合においては、スキャン画像の画像特徴量と保存先を直接対応させたログを記録することができず、保存先を振り分けるための画像特徴量分類の機械学習をすることができないという課題があった。【解決手段】  本発明は、画像データを読み取る画像形成装置、画像データを保存先に保存する画像形成装置の機能拡張サーバ及び画像データの操作を指示する情報処理装置とネットワークで接続されたワークフロー生成装置であって、各装置に記憶されたログを収集する収集手段と、収集されたログから生成された複数の操作フローから選択する選択手段と、選択された操作フローにおける画像データの保存先と画像特徴量から、機械学習してデータ処理フローを生成することを特徴とする。【選択図】  図１０
2020194201.tif 000002
【特許請求の範囲】
【請求項１】
画像を読取り画像データを生成する画像形成装置、前記画像データの特徴量を取得しデータ処理フローに基づき前記画像データを処理するサーバ及び前記画像データの保存先をユーザが指示するための情報処理装置とネットワークで接続されたワークフロー生成装置であって、
前記画像形成装置、前記サーバ及び前記情報処理装置に記憶されたログを収集する収集手段と、
前記収集されたログから生成された複数の操作フローを表示し、ユーザの指示に基づき操作フローを選択する選択手段と、
前記選択された操作フローに対応する前記画像データの保存先と特徴量との対応を前記ログから取得する取得手段と、
前記特徴量と保存先との対応を機械学習して画像データを特徴量に応じた保存先に分類する分類ルール及び該分類ルールにより画像データを分類し、分類の結果に基づく保存先に保存するデータ処理フローの設定を生成する生成手段と、
前記分類ルールと前記データ処理フローの設定を前記サーバに送信する送信手段と、
を有することを特徴とするワークフロー生成装置。
【請求項２】
前記操作フローは、前記収集されたログの前記画像データに対する一連の処理を結びつけることにより生成することを特徴とする請求項１に記載のワークフロー生成装置。
【請求項３】
前記操作フローは、タスクの入力、出力ファイル名又はメッセージＩＤに基づき処理を結びつけることにより生成することを特徴とする請求項２に記載のワークフロー生成装置。
【請求項４】
前記収集手段は、ＵＳＢメモリにより前記ログを収集することを特徴とする請求項１〜３の何れか１項に記載のワークフロー生成装置。
【請求項５】
前記分類ルールは、２クラス分類器で行われ、機械学習の手法は、Real AdaBoostであることを特徴とする請求項１〜４の何れか１項に記載のワークフロー生成装置。
【請求項６】
画像を読取り画像データを生成する画像形成装置、前記画像データの特徴量を取得しデータ処理フローに基づき前記画像データを処理するサーバ及び前記画像データの保存先をユーザが指示するための情報処理装置とネットワークで接続されたワークフロー生成装置の制御方法であって、
前記画像形成装置、前記サーバ及び前記情報処理装置に記憶されたログを収集する収集工程と、
前記収集されたログから生成された複数の操作フローを表示し、ユーザの指示に基づき操作フローを選択する選択工程と、
前記選択された操作フローに対応する前記画像データの保存先と特徴量との対応を前記ログから取得する取得工程と、
前記特徴量と保存先との対応を機械学習して画像データを特徴量に応じた保存先に分類する分類ルール及び該分類ルールにより画像データを分類し、分類の結果に基づく保存先に保存するデータ処理フローの設定を生成する生成工程と、
前記分類ルールと前記データ処理フローの設定を前記サーバに送信する送信工程と、
を有することを特徴とするワークフロー生成装置の制御方法。
【請求項７】
請求項６に記載のワークフロー生成装置の制御方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置等の種々の処理におけるワークフロー生成装置、その制御方法及びプログラムに関するものである。
【背景技術】
【０００２】
クラウドコンピューティングの普及により、ＭＦＰ(Multi Function Printer)においてもクラウドサービスに接続することが増えており、特にデータの蓄積場所としてクラウドストレージが一般化している。ＭＦＰが紙原稿をスキャンして電子データ化した場合も、その電子データをＰＣ(Personal Computer)で操作してクラウドストレージへ保存する処理を行うことが多い。
一方、ＭＦＰの機能拡張サービスをクラウド上に設けることも可能となっている。機能拡張サービスとは、例えば、前述した他のクラウドサービスへＭＦＰが生成したデータを転送するクラウドサービスコネクタや、あるいはＭＦＰが生成した画像データを認識処理する画像認識機能等である。このように、他のクラウドサービスとの連携機能や、高度な演算処理を必要とする機能をクラウドサービス上に実装し、ＭＦＰと連携して実行することにより、ＭＦＰの機器内の限られた演算資源を使用することなく、高度な機能を提供することができる。
【０００３】
このような技術的な背景の中で、ＭＦＰがスキャンした画像データを、原稿の種類に対応して、クラウドストレージ(あるいはＬＡＮ内のファイルサーバ)の所定のフォルダに振り分けて保存する、画像振り分け保存機能が求められている。これは従来、上記のようにＰＣを操作して行っていた機能であるが、データをファイルシステムで管理する際には必ず行う操作であり、自動化することによる作業効率改善効果が高い。しかしながら、画像の特徴に応じて振り分け先を設定するルールの作成は難しいため、設定についてもユーザの補助を行う必要がある。そこで、特許文献1では、ＭＦＰでスキャンを行い、画像の保存操作を行う際、スキャンした画像の画像特徴量と画像の保存先をログに記録し、ログから画像特徴量と保存先を機械学習する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2017-117335号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献1はＭＦＰでスキャン画像の特徴量を算出し、また、ＭＦＰの操作画面上に表示するアプリケーションを操作してスキャン画像の保存操作を行っている。そのため、スキャン画像の特徴量と保存先を一対一に対応させてＭＦＰ内のログに記録することができ、その対応を教師データとして画像特徴量と保存先の対応を学機械習することができる。
しかしながら、前述したように、ユーザの一般的なＭＦＰの利用形態においては画像特徴量の算出をクラウド上の機能拡張サーバで行い、ＰＣを操作して画像データの保存を行う。そのため、スキャン画像の特徴量と保存先を直接対応させたログを記録することができず、保存先を振り分けるための画像特徴量の分類の機械学習をすることができないという課題があった。
本発明は、ＭＦＰ機能を拡張するサーバを置く情報システムにおいて、スキャン画像の特徴量とその保存先を機械学習により対応させ、原稿の種類に応じて保存先を振り分ける自動振り分け保存機能を実現することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、画像データを読み取る画像形成装置、画像データを保存先に保存する画像形成装置の機能拡張サーバ及び画像データの操作を指示する情報処理装置とネットワークで接続されたワークフロー生成装置であって、前記画像形成装置、前記画像形成装置の機能拡張サーバ及び前記情報処理装置に記憶されたログを収集する収集手段と、収集されたログから生成された複数の操作フローを表示画面に表示し、ユーザの指示に基づき前記操作フローを選択可能とする選択手段と、前記選択された操作フローから、対応する画像データの保存先と画像特徴量との対応を取得する取得手段と、前記画像特徴量から保存先を機械学習した分類器及びデータ処理フローを生成する生成手段と、前記分類器の分類器パラメータと前記データ処理フローを前記画像形成装置の機能拡張サーバに送信する送信手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ＭＦＰ機能を拡張するサーバを置く情報システムにおいて、スキャン画像の特徴量とその保存先を機械学習により対応させ、原稿の種類に応じて保存先を振り分ける自動振り分け保存機能を実現することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の情報システム全体のハードウェア構成を示す図である。
【図２】本発明における各装置のソフトウェア構成示す図である。
【図３】ＭＦＰのＵＩ構成を示す図である。
【図４】画像データ振り分け保存のログ取得時の処理フローを示す図である。
【図５Ａ】ＭＦＰログの具体例を示す図である。
【図５Ｂ】ＭＦＰ機能拡張サーバログの具体例を示す図である。
【図６】操作ログを構成するイベントの種類を表す図である。
【図７】ＰＣの操作ログの具体例を表す図である。
【図８】勾配情報に基づく画像特徴量の算出を説明する図である。
【図９】画像特徴量の算出のためのパッチ画像の切り出しを説明する図である。
【図１０】ログ解析時の処理フローを示す図である。
【図１１】タスクの生成ルールを示す図である。
【図１２】タスクの具体例を表す図である。
【図１３】操作フローの具体例を示す図である。
【図１４Ａ】ログ解析時にワークフロー生成装置に表示する画面を示す図である。
【図１４Ｂ】ログ解析時にワークフロー生成装置に表示する画面を示す図である。
【図１５】学習データの基づく機械学習及び分類処理を説明する図である。
【図１６】データ処理フローの具体例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施例について図面に基づいて説明する。なお、実施形態は本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するため必須の手段であるとは限らない。
【実施例１】
【００１０】
[システム構成]
図１は、本実施例における情報システム全体のシステム構成およびハードウェア構成を示す図である。該情報システムにおいては、ワークフロー生成装置100、複数の画像形成装置(以下「ＭＦＰ」と略すこともある。)120a-n（以下a-nを省略することもある。他のもの同様。）、複数の情報処理装置（以下「ＰＣ」と略すこともある。）140a-nがネットワーク150で接続される。本実施例では、画像形成装置としてスキャン、コピー、fax等の機能を有する複合機（MFP）を例として以下で説明するが一部の機能がないものでも構わない。
また、ＭＦＰ機能拡張サーバ180、複数のファイルサーバ190a-nがネットワーク170で接続される。ネットワーク150とネットワーク170はゲートウェイ（ＧＷ）160を介して接続される。典型的にはネットワーク150はＬＡＮ(Local Area Network)であり、ネットワーク170はインターネットである。しかしながら、ネットワーク170はネットワーク150と分離して構成されたＬＡＮでもよい。また、ネットワーク150とネットワーク170が同一のＬＡＮであってもよく、その場合にはゲートウェイ160は不要となる。
図１に示した情報システムにおいて、ユーザは画像形成装置120とＰＣ140を操作して紙文書に関わる作業を行う。例えば、ユーザはＰＣ140を操作して文書データを作成し、それを画像形成装置120へ送信して印刷を行う。別の例では、ユーザは画像形成装置120を操作して紙文書をスキャンして画像データを生成し、ＰＣ140へ送信し、ＰＣ140を操作して画像データの受信や編集を行い、ＰＣ140からファイルサーバ190へ画像データを送信して保存を行う等がある。
ＭＦＰ機能拡張サーバ180は、画像形成装置120と連動してＭＦＰ120の機能を拡張する。例えば、ＭＦＰ120でスキャンした画像データをＭＦＰ機能拡張サーバ180へ送信し、ＭＦＰ機能拡張サーバ180からファイルサーバ190へ保存することが可能である。このようにして、ＭＦＰ120から直接ファイルサーバ190へ画像データを保存する機能が無くても、ＰＣ140を介することなく、ユーザはＭＦＰ120を操作するだけでファイルサーバ190へ画像データを保存することができるようになる。
【００１１】
[ハードウェア構成]
図１を用いて本実施形態における情報システムを構成する各装置のハードウェア構成を説明する。
（ワークフロー生成装置）
ワークフロー生成装置100は、各種のユニット(101-105)から構成され、例えばＰＣ(Personal Computer)、ＷＳ(WorkStation)、タブレット端末として実現される。
演算部101は、ワークフロー生成装置100の各種のユニットを制御するユニットである。例えばＣＰＵ(Central Processing Unit)やＧＰＵ(Graphics Processing Unit)等により実現される。
記憶部102は、演算部101が実行する各種のプログラムやデータを記憶するユニットである。例えばＲＡＭ(Random Access Memory)、ＲＯＭ(Read Only Memory)、及びＨDＤ(Hard Disk Drive)等により実現される。なお、ワークフロー生成装置100の機能や処理は、演算部101が記憶部102に記憶されているプログラムを読み出し、実行することにより実現される。
表示部103は、ワークフロー生成装置100を操作するユーザに対して各種情報を表示する。例えばディスプレイで実現される。
入力部104は、ユーザによる各種操作を受け付ける。例えばマウス、キーボード、あるいはタッチパネル等により実現される。
ネットワーク通信部105は、ネットワーク150を介して画像形成装置120のネットワーク通信部127、ファイルサーバ190のネットワーク通信部193、ＰＣ140のネットワーク通信部145等と接続される。
（画像形成装置）
画像形成装置(ＭＦＰ)120は、各種のユニット(121-127)で構成され、例えばＭＦＰ(Multi-Function Peripheral)として実現される。
ＭＦＰ120の演算部121、記憶部122、表示部123、入力部124、ネットワーク通信部127は、ワークフロー生成装置100の同ユニットと同機能を有する。
印刷部125は、記憶部122に保持される画像データを紙面に印刷し出力するユニットである。
画像読取部126は、紙面を撮像し画像データに変換する機能を有するユニットである。
（ＰＣ）
ＰＣ140の演算部141、記憶部142、表示部143、入力部144、ネットワーク通信部145は、図１に示すワークフロー生成装置100の同ユニットと同機能を有する。
（ＭＦＰ機能拡張サーバ）
ＭＦＰ機能拡張サーバ180の演算部181、記憶部182、表示部183、ネットワーク通信部184は、ワークフロー生成装置100の同ユニットと同機能を有する。
（ファイルサーバ）
ファイルサーバ190の演算部191、記憶部192、ネットワーク通信部193についても、ワークフロー生成装置100の同ユニットと同機能を有する。
【００１２】
[ソフトウェア構成]
図２を用いて本実施例における情報システムを構成する各装置のソフトウェア構成を説明する。
（ＭＦＰのソフトウェア）
図２(a)は、ＭＦＰ120のソフトウェア構成を示す図である。ＭＦＰ120は各種のモジュール(241-249)から構成される。該ソフトウェアを実現するプログラムは、ＭＦＰ120の記憶部122に記憶されている。
制御部241は、画像形成層装置120のプログラムを制御し、各モジュールに対する指示、及び管理を行う。
表示制御部242は、制御部241からの指示に従い、ＭＦＰ120のソフトウェアをユーザが操作するためのＵＩを表示部123に提供する。
入力制御部243は、前記ソフトウェアに対するユーザの操作を受け付ける。
記憶制御部244は、プログラム、及びプログラムが管理するその他の情報、画像読取部126が読み取った画像データ、印刷部125が印刷する印刷データ、プログラムが記録するログを記憶部122に記憶する。
表示設定取得部245は、表示制御部242で表示を行う設定を、ＭＦＰ機能拡張サーバ180から取得する。すなわち、表示制御部242が表示部123に表示するＵＩは、ＭＦＰ機能拡張サーバ180に保持したデータによって変更することができる。
スキャン実行部246は、制御部241によって画像読取部126を制御して紙原稿を読み取って画像データへの変換を行う。スキャン実行部246は、読み取った画像データを、e-mailのようなネットワークプロトコルを使用しネットワーク通信部127を介して、ＰＣ140やＭＦＰ機能拡張サーバ180へ送信する。
プリント実行部247は、ネットワーク通信部127を介して、ＰＣ140やＭＦＰ機能拡張サーバ180からＰＤＬ(Page Description Language)やＪＰＥＧのような画像データを受信する。プリント実行部247は、受信した画像データを変換して印刷部125で印刷できるデータにし、紙への印刷を行う。
コピー実行部248は、画像読取部126を使って紙原稿を読み取って画像データへ変換し、その画像データを印刷部125で印刷する。
ＭＦＰログ記録部249は、スキャン実行部246、プリント実行部247、コピー実行部248のそれぞれで実行したスキャン、プリント、コピーのログを記録し、記憶制御部244へ記憶する。
【００１３】
（ＰＣのソフトウェア）
図２(b)はＰＣ140のソフトウェア構成を示す図である。ソフトウェアを実現するプログラムは記憶部142に記憶される。
制御部221は、プログラムを制御し、各モジュールに対する指示、及び管理を行う。
表示制御部222は、制御部221からの指示に従い、ＰＣ140のソフトウェアをユーザが操作するためのＵＩ(User Interface)を表示部143に提供する。
入力制御部223は、前記ソフトウェアに対するユーザの操作を受け付ける。該操作の履歴は、ＰＣログとして後述する記憶制御部224により記憶される。
記憶制御部224は、ＰＣログ、プログラム、及びプログラムが管理するその他の情報を記憶部142に記憶する。
ファイル受信部225は、ＬＡＮ150上あるいはＧＷ160を介した外部ネットワーク上の機器からネットワーク通信部145を介してデータを受信し、受信したデータをファイルとして記憶制御部224へ記憶する。
ファイル送信部226は、記憶制御部224に記憶されているファイルからデータを読み出し、ＬＡＮ150上あるいはＧＷ160を介した外部ネットワーク上の機器へネットワーク通信部145を介してデータを送信する。
ファイル操作部227は、入力制御部223から入力されたユーザの操作に応じて、記憶制御部224に記憶されているファイルに対して、コピー、削除、ファイル名変更、編集等のファイル操作を行う。
ＰＣログ記録部228は、ファイル受信部225によるファイル受信、ファイル送信部226によるファイル送信、ファイル操作部227によるファイル操作を含む、ＰＣ140で発生するイベントのログを記録し、記憶制御部224へ記憶する。イベントは複数の属性から構成される。属性は、イベントの種類を表すイベント名属性、イベントが発生した時刻を表す時刻属性、イベントを発生させたプロセスを表すプロセス名属性と、イベント名に応じて異なる複数の属性で構成される。イベントの種類の具体例は、図６を用いて後述する。またＰＣログの具体例は、図７を用いて後述する。
【００１４】
（ワークフロー生成装置のソフトウェア）
図２(c)は、ワークフロー生成装置100のソフトウェア構成を示す図である。該ソフトウェアを実現するプログラムは、記憶部102に記憶される。
制御部201は、プログラムを制御し、各モジュールに対する指示、及び管理を行う。
表示制御部202は、制御部201からの指示に従い、ワークフロー生成装置100のソフトウェアをユーザが操作するためのＵＩ(User Interface)を表示部103に提供する。
入力制御部203は、前記ソフトウェアに対するユーザの操作を受け付ける。
記憶制御部204は、プログラム、及びプログラムが管理するその他の情報を記憶部102に記憶する。
ログ収集部205は、ネットワーク150やＵＳＢメモリなどの物理媒体を介し、ＭＦＰログ、ＰＣログ、ＭＦＰ機能拡張サーバログの収集を行う。
ＭＦＰログは、ＭＦＰ120のＭＦＰログ記録部249が、ＰＣログは、ＰＣ140のＰＣログ記録部228が、ＭＦＰ機能拡張サーバログは、ＭＦＰ機能拡張サーバ180のＭＦＰ機能拡張サーバログ記録部271がそれぞれ記録したものである。
タスク生成部206は、ログ収集部205が収集した各種ログから、複数のイベントをグループ化したものを新たにタスクとして生成する。本実施例では、タスク生成は事前に定められたルールに従って生成する。すなわち、ログ中のタスクを検出するタスク検出器をルールで実現する。タスク生成ルールについては、図１１を用いて後述する。また生成されたタスクの具体例は、図１２を用いて後述する。
操作フロー生成部207は、タスク生成部206により生成されたタスクを、タスク間の関連性に基づき接続し、これを操作フローとして生成する。本実施例では、処理するファイルが一致するタスクのペアを関連のあるタスクとして接続し、これを数珠繋ぎにすることで操作フローとする。操作フローは複数生成され操作フロー集合として得られる。操作フローの具体例は図１３を用いて後述する。
選択制御部208は、前記操作フローに基づき自動化するモデルを選択する。本実施例では、操作フローを可視化した表示画面を表示制御部202によりユーザに提示し、ユーザが選択を行う。表示画面の具体例は図１４を用いて後述する。
データ処理フロー生成手段209は、選択された前記操作フローに基づきデータ処理フローを生成し、ＭＦＰ機能拡張サーバ180に配信する。本実施例では、実行フロー生成に必要な各種パラメータを設定するために、設定画面をユーザに提示する。設定画面の具体例は図１４を用いて後述する。
画像分類学習手段210は、画像特徴量を分類する分類器を機械学習する。分類器の機械学習については図１５を用いて後述する。
【００１５】
（ＭＦＰ機能拡張サーバのソフトウェア）
図２(d)は、ＭＦＰ機能拡張サーバ180のソフトウェア構成を示す図である。該ソフトウェアを実現するプログラムは、記憶部182に記憶される。
制御部261は、プログラムを制御し、各モジュールに対する指示、及び管理を行う。
表示部262は、制御部261からの指示に従い、ＭＦＰ機能拡張サーバ180のソフトウェアをユーザが操作するためのＵＩ(User Interface)を表示部183に提供する。
入力部263は、前記ソフトウェアに対するユーザの操作を受け付ける。
記憶部264は、プログラム、及びプログラムが管理するその他の情報を記憶部182に記憶する。
データ受信部265はネットワーク170を介してＭＦＰ120やＰＣ140からデータを受信する。
データ送信部266はネットワーク170を介してＰＣ140やファイルサーバ190へデータを送信する。
データ処理フロー管理部267は、データ処理フロー実行部268で実行する処理の手順および内容を管理する。データ処理フロー管理部267は、複数のデータ処理フローを管理することが可能であり、ワークフロー生成装置100のデータ処理フロー生成手段209によって生成された処理フローを受信して管理する。
データ処理フロー実行部268は、データ処理フロー管理部267が管理するデータ処理フローに従って、データ受信部265が受信したデータに対して処理を実行する。
画像特徴量算出部269は、データ受信部265が受信したデータが画像データである場合に、その画像特徴量を算出する。画像特徴量の算出については図８、図９を用いて後述する。
画像分類部270は、画像特徴量算出部269が算出した画像特徴量を用いて画像データを分類ルールに基づき分類する分類器を持つ。分類器は前述した画像分類学習手段210によって生成される。
データ処理フロー切替部272は、データ処理フロー管理部267が管理するデータ処理フローが条件による分岐部分を有している場合に、条件を参照してデータ処理フロー実行部268が実行する処理を切り替える。本実施例では、画像分類部270の分類結果に応じて、データ処理フロー切替部272は処理を切り替えることができる。
ＭＦＰ機能拡張サーバログ記録部271は、データ処理フロー実行部268が実行した処理をＭＦＰ機能拡張サーバログに記録し、記憶部264へ記録する。ここで、ＭＦＰ機能拡張サーバログ記録部271が記録するＭＦＰ機能拡張サーバログには、画像特徴量算出部269が算出した画像特徴量を含む。ＭＦＰ機能拡張サーバログについては図５を用いて後述する。
【００１６】
（ファイルサーバのソフトウェア）
図２(e)は、ファイルサーバ190のソフトウェア構成を示す図である。該ソフトウェアを実現するプログラムは、記憶部192に記憶される。
制御部281は、プログラムを制御し、各モジュールに対する指示、及び管理を行う。
表示制御部282は、制御部281からの指示に従い、ユーザが操作するためのＵＩ(User Interface)を不図示の表示部に提供する。
入力制御部283は、前記ソフトウェアに対するユーザの操作を受け付ける。
記憶制御部284は、プログラム、及びプログラムが管理するその他の情報を記憶部192に記憶する。
ファイル管理部285は、ネットワーク170を介して受信したデータを、記憶制御部284上に構築されたファイルシステムで管理する。ファイルシステムはフォルダとファイルで構成される一般的なファイルシステムである。
ファイル保存部286は、データの送信元から格納フォルダとファイル名の指示を受け付け、指示に従ってファイル管理部285を介してデータをファイルシステムへ格納する。
ファイル読出部287は、ネットワーク170を介して格納フォルダとファイル名を指示されたデータ読み出し指示を受け付け、その指示に従って指示元へデータを送信する。
【００１７】
（画像形成装置（ＭＦＰ））
[ＵＩ]
図３(a)は、本実施例における画像形成装置120のＵＩを示す図である。操作パネル301は、表示部123及び入力部124を実現する。操作パネル301はタッチパネル302及びテンキー303を備える。タッチパネル302は、ログイン中のユーザＩＤ、メインメニュー、カスタムメニューなどが表示される。メインメニュー画面304aは、画像形成装置120が備える標準的な機能を呼び出すための画面である。図３(b)に示すカスタムメニュー画面304bは、ユーザが任意の機能を少ない操作で呼び出すための画面である。
本実施例の情報システムにおいて、カスタムメニュー画面304bに表示するボタンは、ＭＦＰ機能拡張サーバ180のデータ処理フロー管理部267によって管理されているデータ処理フローに対応する。したがって、ワークフロー生成装置100のデータ処理フロー生成手段209によって生成されたデータ処理フローがデータ処理フロー管理部267に登録されると、カスタムメニュー画面304bに対応するボタンが追加される（図３(c)）。該ボタンをタッチすることで、ユーザは登録されたデータ処理フローを実行することができる。
【００１８】
[全体処理フロー]
本実施例においては、ＭＦＰ120と機能拡張サーバ180を使用して原稿をスキャンして原稿を分類し、スキャンしたデータを分類に応じてファイルサーバ190のフォルダに振り分けて格納を行う。この機能を実現するためには下記の処理を実行する。
1. 振り分け保存処理のログ取得
ユーザはＭＦＰ機能拡張サーバの画像分類部270を用いないで、スキャンした画像データをＰＣ140で受信する。ユーザはさらにＰＣ140を操作し、目視で原稿を分類してファイルサーバ190上の所定のフォルダに画像データを振り分けて保存する。このとき、ＭＦＰ120のスキャン動作とＰＣ140の操作のログを記録し、さらにＭＦＰ機能拡張サーバ180で画像データの特徴量をログに記録する。
2. 振り分け保存処理フローの生成
次に、記録したログを収集して分析し、原稿の画像特徴量とファイルサーバ190のフォルダへの振り分け処理の対応を機器学習する。機械学習結果を基にしてＭＦＰ機能拡張サーバ180の画像分類部270を使用したデータ処理フローを生成し、ＭＦＰ機能拡張サーバ180へ配信する。
3. 振り分け保存処理フローの実行
ユーザは、上記2.で生成したデータ処理フローを実行することにより、ＭＦＰ機能拡張サーバ180から直接ファイルサーバ190の原稿分類に対応したフォルダへスキャンした画像データを格納することができる。
上記各処理の詳細を以下で説明する。
【００１９】
[振り分け保存処理のログ取得のフローチャート]
振り分け保存処理のログ取得を行う時のソフトウェアの処理フローについて、図４を用いて説明する。
（ＭＦＰの処理）
図４(a)はＭＦＰ120の制御部241が実行する処理のフローチャートである。
制御部241は図４(a)の初期状態では図３(a)のメインメニュー304aを表示して入力制御部243からユーザの入力を待っている状態であり、ユーザがカスタムボタンを押下したことを入力制御部243が検知すると、処理を開始する。
S401では、ＭＦＰ120は、ＭＦＰ機能拡張サーバ180が管理しているデータ処理フローの取得要求をＭＦＰ機能拡張サーバ180へ送信する。
S402では、ＭＦＰ120は、S401でのデータ処理フロー取得要求の応答としてＭＦＰ機能拡張サーバ180からデータ処理フローの一覧を受信する。そして、表示制御部242が、実行可能なデータ処理フローにそれぞれ対応したボタンを生成して、カスタムメニュー画面304bを表示する。なお、この振り分け保存処理のログ取得時のフローでは、ＭＦＰ機能拡張サーバ180のデータ処理フロー管理部267へはまだデータ処理フローが追加されていない。データ処理フロー管理部267には初期状態としてスキャン画像のユーザ宛へのメール送信のフローが登録されており、この振り分け保存処理のログ取得時のフローでは、このデータ処理フローのみを受信する。そこで、このフローに対応するボタン311をカスタムメニュー画面304bに表示する。
カスタムメニュー画面304bでユーザがボタン311を押下すると、S403において、スキャン実行部246がスキャンを実行し、画像読取部126上の紙原稿を読み取って画像データに変換する。
S404では、ＭＦＰ120は、スキャン実行部246がスキャンした画像データをＭＦＰ機能拡張サーバ180へ送信する。このとき、画像データとともに選択されたデータ処理フローを示す識別子を送信することによって、ＭＦＰ機能拡張サーバ180が実行する処理を指示する。
S405では、ＭＦＰ120は、ＭＦＰログ記録部249が、スキャン実行部246が実行したスキャンの設定を含むスキャンログを記録し、記憶制御部244へ保存する。
S406では、ＭＦＰ120は、記憶制御部244へ保存したＭＦＰログをワークフロー生成装置100へ送信する。ワークフロー生成装置100のログ取集部205がＭＦＰログを受信し、記憶制御部204へ保存し処理を終了する。
【００２０】
（ＭＦＰ機能拡張サーバの処理）
図４(b)はＭＦＰ機能拡張サーバ180の制御部261が実行する処理のフローチャートである。
S411では、データ処理フロー管理部267が、ＭＦＰ120からのデータ処理フロー取得要求を受信する。このデータ処理フロー取得要求はS401でＭＦＰ120が送信したものである。
S412では、S411で受信したデータ処理フロー取得要求に応答して、データ処理フロー管理部267が、登録されているデータ処理フローの一覧をＭＦＰ120へ送信する。前述のように、この振り分け保存処理のログ取得時のフローでは、データ処理フロー管理部267へは初期状態としてスキャン画像のユーザ宛へのメール送信のフローが登録されており、これをＭＦＰ120へ送信する。
S413では、データ受信部265が、ＭＦＰ120がS404でスキャンして送信したスキャン画像データを受信する。
S414では、画像特徴量算出部269が、S413で受信したスキャン画像データの画像特徴量を算出する。
S415では、データ処理フロー実行部268が、データ処理フロー管理部267に登録されているデータ処理フローを実行する。ここでは前述のスキャン画像のユーザ宛へのメール送信のフローを実行する。具体的には、PDF等への画像データフォーマット変換と、ユーザのemailアカウントへのemail送信を実行する。
S416では、ＭＦＰ機能拡張サーバログ記録部271が、画像特徴量算出部269が算出した画像特徴量を含むＭＦＰ機能拡張サーバログを記録し、記憶部264へ保存する。  
S417では、記憶部264へ保存したＭＦＰ機能拡張サーバログをワークフロー生成装置100へ送信する。ワークフロー生成装置100のログ収集部205がＭＦＰ機能拡張サーバログを受信し、記憶制御部204へ保存し処理を終了する。
【００２１】
（ＰＣの処理）
図４(c)はＰＣ140の制御部221が実行する処理のフローチャートである。
S421では、ファイル受信部225が、ＭＦＰ機能拡張サーバ180がS415で送信した画像データを含むemailを受信し、画像データを抽出して記憶制御部224へファイルとして保存する。
S422では、ＰＣログ記録部228が、S421のemail受信をＰＣログに記録し記憶制御部224へ保存する。このとき記録されるＰＣログにはS421で抽出した画像データのファイル名を含む。
S423では、ファイル操作部227が、ユーザが入力制御部223を介して入力したファイル操作を、画像データファイルに対して実行する。ここでのファイル操作は、ファイルの削除、移動、編集、ファイル名変更である。
S424では、ＰＣログ記録部228が、S423で画像データファイルに対して実行したファイル操作のログを記録し、記憶制御部224へ保存する。
S425では、ファイル送信部226が、ユーザが入力制御部223を介して入力した操作に従って、画像データファイルをファイルサーバ190へ送信して保存する。このとき、ファイルサーバ190に対し、画像データファイルの保存フォルダを指定する。ユーザは、スキャンした紙原稿または画像データファイルの電子データを目視することにより、画像データファイルの保存フォルダを振り分ける。
S426では、ＰＣログ記録部228が、S425で実行したファイルサーバ190への画像データファイルの送信をＰＣログに記録し、記憶制御部224へ保存する。この時記録されるＰＣログには、画像データを振り分けたファイルサーバ190の保存フォルダを含む。
S427では、記憶制御部224へ保存したＰＣログをワークフロー生成装置100へ送信する。ワークフロー生成装置100のログ収集部205がＰＣログを受信し、記憶制御部204へ保存し、処理を終了する。
【００２２】
[ＭＦＰログ、ＭＦＰ機能拡張サーバログ]
図５を使用してＭＦＰログ、ＭＦＰ機能拡張サーバログについて説明する。
図５(a)はＭＦＰ120がS405で記録するＭＦＰログの具体例を表す図である。ＭＦＰログ501は、ＭＦＰ120が実行したジョブを一行として、複数のジョブを表構造で表現したデータである。ＭＦＰログ501は、下記の各列からなる。
・ジョブの種類を表すジョブ名
・一つのジョブを一意に表すジョブＩＤ
・ジョブを実行した時刻
・ジョブを実行したユーザ
・ジョブを実行した後にＭＦＰ機能拡張サーバで実行するデータ処理フロー設定
・ジョブの各種設定(原稿、読取モード等)
ＭＦＰ120で実行するジョブには、図５(a)で示したスキャンジョブの他に、プリントジョブ、コピージョブ、FAX送信ジョブ等がある。ジョブの種類に応じてジョブ設定の内容は変更される。例えば、プリントジョブの場合スキャンジョブには無い出力用紙の設定が存在する。これらの設定値は、設定種類と設定値の組でＭＦＰログ501に記録される。
ＭＦＰログ501に含まれるデータフロー処理設定は、ＭＦＰ120で実行したジョブに関連してＭＦＰ機能拡張サーバ180で実行するデータ処理フローの設定である。ＭＦＰ機能拡張サーバ180ではデータ処理フロー管理部267でデータ処理フローが管理されており、その管理ＩＤがＭＦＰログ501に記録される。また、実行するデータ処理フローのパラメータも一緒に記録され、ＭＦＰログ501のジョブID80000001の例では、データフローＩＤが”１”で送信宛先としてユーザ自身を表す値が記録されている。
【００２３】
図５(b)はＭＦＰ機能拡張サーバ180がS416で記録するＭＦＰ機能拡張サーバログの具体例を表す図である。ＭＦＰ機能拡張サーバログ502は、ＭＦＰ機能拡張サーバ180が実行したジョブを一行として、複数のジョブを表構造で表現したデータである。ＭＦＰ機能拡張サーバログ502は、下記の各列からなる。
・ジョブの種類を表すジョブ名
・一つのジョブを一意に表すジョブＩＤ
・ジョブを実行した時刻
・ジョブを実行したユーザ
・ＭＦＰ機能拡張サーバで実行したデータ処理フロー実行結果
・画像特徴量
ジョブＩＤはＭＦＰ120からS413のスキャン画像受信時に同時に受信するものであり、スキャン画像データを生成したＭＦＰ120のジョブＩＤを示している。
画像特徴量はS414で画像特徴量算出部269が算出したものである。ここではバイナリデータでＭＦＰ機能拡張サーバログ502に記録されるが、画像特徴量をファイルの形で記憶部264に保存し、そのファイルパスをＭＦＰ機能拡張サーバログ502に記録してもよい。
【００２４】
[ＰＣログ]
図６は、ＰＣログを構成するイベントの種類を表す図である。本実施例で収集されるイベントは図６に記載する１４種類である。各イベントが有する属性は、イベント名、イベント名毎に異なる最大３種類の属性、図６に不図示のイベント発生時刻、及びイベント発生源のプロセス名、である。
”ログイン”イベントは、ユーザがＰＣ140にログインした際に発生する。
”メール受信”、及び”メール送信”イベントは、ＰＣ140がメールを送受信した際に発生する。
”新規作成”、”コピー”、”名前変更”、”移動”イベントは、それぞれファイル操作が行われた際に発生する。
”開く”イベントは、プログラムがファイルを開いた際に発生する。
”名前を付けて保存”イベントは、ソフトウェアが作成中のファイルに新たに名前を付けて保存する際に発生する。
”上書保存”イベントは、ファイルに対して他の異なるファイルが上書きされた際に発生する。
”印刷”イベントは、ＰＣ140から画像形成装置120に印刷指示が出された際に発生する。
”ファイルサーバアクセス”イベントは、ユーザがファイルサーバ190と通信を行い、ファイルの保存や読出しを行った際に発生する。
”マウス”、及び”キーボード”イベントは、ユーザが入力部104を実現する各入力デバイスを操作した際に発生する。
【００２５】
図７は、図４のS422、S424、S426で取得されるＰＣログの具体例を表す図である。図７に示すＰＣログ701は、一イベントを一行として、多数のイベントを表構造で表現したデータである。例えばイベントID1は、ＰＣ名「ＰＣ456」に対し、ユーザ「01234」が時刻「13:42」に「ログイン」したことを意味する。
【００２６】
（ワークフロー生成装置へログの送信）
上記で説明したＭＦＰログ、ＭＦＰ機能拡張サーバログ、ＰＣログは、それぞれ図４のフローチャートのS406、S417、S427で説明したように、ワークフロー生成装置100へＬＡＮ150を介して送信され、記憶制御部204に保存される。本実施例では図４で説明したようにそれぞれのログを記録する毎にワークフロー生成装置100へログを送信するが、それぞれのログが一定量以上たまったタイミングや、所定の時間毎にまとめて送信してもよい。また、ワークフロー生成装置100から所定のタイミングでＭＦＰ120、ＭＦＰ機能拡張サーバ180、ＰＣ140へＬＡＮ150を介して取得にいってもよい。また、ＬＡＮ150を介さず、例えばＵＳＢメモリのような記録媒体によってＭＦＰ120、ＭＦＰ機能拡張サーバ180、ＰＣ140からそれぞれのログを取得する。そして、その記録媒体をワークフロー生成装置100へ接続することによって、ワークフロー生成装置100へログをコピーする構成としてもよい。
【００２７】
[画像分類に利用する画像特徴量の詳細]
画像特徴量算出部269が算出する画像特徴量について、図８と図９を用いて詳細を説明する。
図８は、勾配情報に基づく画像特徴量の算出方法を説明する図である。
図８に示すようにパッチ画像内の画素ごとに算出した勾配強度と勾配方向を利用する。具体的には、画像特徴量算出部269が、パッチ画像内の全ての画素について、縦方向と横方向のエッジ情報から勾配強度と勾配方向を求める。画像特徴量算出部269は、勾配情報を利用して、図８で示すように、1パッチから9次元(9個)の特徴量を算出する。まず、各画素について、勾配強度が一定値以上の画素をエッジ画素、一定値より小さい画素を非エッジ画素とする。エッジ画素群から勾配方向を8方向に量子化して、方向ごとの勾配強度積算値/パッチ画素数を計算し、非エッジ画素数/パッチ画素数と合わせて、1つのパッチ画像から9次元の特徴量を算出する。このように、エッジ画素と非エッジ画素を利用することで、罫線や文字の情報だけでなく、文書画像の大きな特徴である余白部分を表現することが可能になる。
これまでの説明は、1つのパッチ画像における特徴量の説明であるが、実際には、複数のパッチ画像を切り出して利用することにより、多数の特徴量を利用する。
図９は、パッチ画像の切り出しを説明する図である。
まず、画像特徴量算出部269が、ノイズが表れやすい画像端を削除して、複数の解像度の画像を作成する。複数の解像度の画像を用意するのは、解像度ごとにエッジの構造が変わるためである。そして、画像特徴量算出部269が、それぞれの解像度の画像から複数のサイズのパッチ画像を走査しながら切り出すことで、パッチ画像位置を考慮した特徴量を算出する。例えば、300dpiでスキャンした画像から特徴量を抽出する場合を想定する。まず、画像特徴量算出部269が、スキャン画像を1/4サイズと1/8サイズに縮小した2種類の画像を作成する。
画像特徴量算出部269は、上記縮小した各解像度の画像から1/4サイズのパッチ画像を1/5ずつずらして5×5=25枚、1/8サイズのパッチ画像を1/10ずつずらして、10×10=100枚切り出す。２種類の解像度の画像からは合計で250個のパッチを切り出す。このような設定においては、各パッチから9次元のエッジ特徴量を算出するので、画像1枚から9×250=2250次元の特徴量を算出することが可能となる。
なお、画像解像度、パッチサイズ、パッチ切り出し位置に関するパラメータは、上述した数字に限定されるものではない。また、算出する画像特徴量として、原稿の色の情報を利用するために、色ヒストグラムや色分散等を画像特徴量としてもよい。
【００２８】
[振り分け保存処理フローの生成のフローチャート]
振り分け保存処理フローの生成を行う時のソフトウェアの処理フローについて、図１０を用いて説明する。
（ワークフロー生成装置の処理）
図１０(a)はワークフロー生成装置100の制御部201が実行する処理のフローチャートである。
S1001では、ログ収集部205から収集されたＭＦＰログ、ＭＦＰ機能拡張サーバログ、ＰＣログを取得する。前述のように、本実施例では各ログはＭＦＰ120、ＭＦＰ機能拡張サーバ180、ＰＣ140の操作時に送信されているが、S1001を実行するタイミングでＬＡＮ150を介して各機器からログを収集してもよい。
S1002では、タスク生成部206が、ＭＦＰログ、ＭＦＰ機能拡張サーバログ、ＰＣログから複数のタスクを生成する。
S1003では、操作フロー生成部207が、同じファイルを処理するタスク同士を時系列に連結し、操作フローを生成する。
S1004では、表示制御部202が、データ処理フロー生成画面を表示し、入力制御部203からのユーザの入力を受け付ける。ここで、ユーザの入力によってデータ処理フロー生成対象となる操作フローを選択する。
S1005では、選択された操作フローから、画像データの画像特徴量とその画像データの保存先を対応付ける。
S1006では、対応付けられた保存先を教師データとして、画像特徴量を分類する分類器の機械学習を行い、機械学習結果から分類器パラメータを取得する。また、分類器の出力により画像データの保存先を切り替えるデータ処理フロー設定を生成する。
S1007では、S1006で生成した分類器パラメータとデータ処理フロー設定を、ＭＦＰ機能拡張サーバ180へ送信する。
【００２９】
（ＭＦＰ機能拡張サーバの処理）
図１０(b)はＭＦＰ機能拡張サーバ180の制御部261が実行する処理のフローチャートである。
S1021では、S1007でワークフロー生成装置100が送信した分類器パラメータとデータ処理フロー設定を受信し、記憶部264へ保存する。
S1022では、受信したデータ処理フロー設定をデータ処理フロー管理手段に登録する。
【００３０】
（ワークフロー生成装置の処理）
[タスク生成ルール] 
図１１は、タスク生成部206が操作ログからタスクを生成するルールを説明する図である。タスク生成部206は7種類のタスクを生成する。
「スキャン」タスクは、ＭＦＰログのスキャンジョブを構成要素とする。また、ＭＦＰログのスキャンジョブとＭＦＰ機能拡張サーバログのスキャンジョブをジョブＩＤで対応付けることにより、ＭＦＰ機能拡張サーバログに含まれるスキャン画像データの画像特徴量をこのタスクから取得することができる。
「画像データ受信」タスクは、特定メールアドレスからの添付ファイル付き”メール受信”イベントを構成要素とする。これは、画像形成装置120でスキャンされた紙面の画像データがユーザのメールアドレスにメールで送信されることを想定している。
「ファイル操作」タスクは、ファイルの”コピー”、”移動”、及び”名前変更”イベントを構成要素とする。具体的には、同じファイルを扱うイベントの集合を一つの「ファイル操作」タスクにグループ化する。例えば、ファイルAをコピーしてファイルBを作成後、ファイルAの移動、及び名前変更を行ってファイルCとなった場合、それらのイベントをまとめて「ファイル操作」タスクを生成する。この時「ファイル操作」タスクは、入力ファイルがA、出力ファイルがB及びC、という情報を有する。
「転送」タスクは、任意のファイルをメールに添付して送信すると発生する”メール送信”イベントを構成要素とする。
「印刷」タスクは、”印刷”イベントを構成要素とする。
「編集」タスクは、画像データを開き、何らかの操作を行い、保存した際に発生する一連のイベントから生成されるタスクである。
「ファイルサーバ保存」タスクは、ファイルをファイルサーバ190に保存する際に発生するファイルサーバアクセスイベントから生成されるタスクである。
【００３１】
[タスク生成]
図１２は、S1002で、ＰＣログ701を入力として生成されるタスクの具体例を表す図である。生成されるタスクは、入力ファイル属性、出力ファイル属性、タスク固有属性を有する。タスクは、ＰＣログ701に対し時系列順にタスク生成ルールを適用していくことで生成される。まず、イベントID2の”メール受信”イベントをＭＦＰからスキャン画像受信レコードとしてタスクID1の「画像データ受信」タスクが生成される。
「スキャン」タスクは、”メール受信”イベントの添付ファイルである“171006_01.pdf"ファイルを出力ファイル属性として有する。また、”メール受信”イベントのメッセージＩＤをタスク固有属性として有する。次にイベントID3~6のイベントから、タスクID2の「ファイル操作」タスクが生成される。
「ファイル操作」タスクの入力ファイル属性は、イベントID3”コピー”のコピー元ファイルパスである。該タスクの出力ファイル属性は、該ファイルの最終的なファイルパスであるイベントID6”移動”の移動後ファイルパスとなる。
イベントID8の”印刷”イベントからは、タスクID3の「印刷」タスクが生成され、この入力ファイルは”請求書_1006.pdf”である。
イベントID9の”ファイルサーバアクセス”イベントと、イベントID10の”開く”イベントからは、タスクID4の「ファイルサーバ保存」タスクが生成される。このタスクは出力ファイルとしてファイルサーバ上に保存したファイルのURLを有する。また、タスク固有属性としてファイルサーバ上に保存したフォルダ名を有する。以降、同様に順次タスク生成ルールを適用していくことで、ＰＣログ701からタスクＩＤで割り振られた複数のタスクを生成する。
【００３２】
[操作フロー生成]
図１３は、S1003で生成する操作フローの具体例を表す図である。操作フローは、図５に示したＭＦＰログ、ＭＦＰ機能拡張サーバログと、図１２に示したタスクに対し、出力・入力を示す属性が一致するタスク同士を連結することで生成される。
まず、タスクID1「画像データ受信」のメッセージＩＤと、図５(b)のＭＦＰ機能拡張サーバログ502のスキャンジョブID80000144のデータ処理フロー実行結果のメッセージＩＤが一致する。そのため、スキャンジョブID80000144とタスクID1は接続される。
次に、タスクID1の出力ファイル名と、タスクID2「ファイル操作」の入力ファイル名は一致する。そのため、両タスクは接続される。
次に、タスクID2の出力ファイル名とタスクID3「印刷」の入力ファイル名が一致するため、接続される。
さらにタスクID4「ファイルサーバ保存」の入力ファイルもタスクID2の出力ファイル名と一致するため、これも接続される。
なお、本実施例では、操作フローはタスクを時系列に接続するものとし、タスクID4は(タスクID2ではなく)タスクID3に対して接続される。このように生成された操作フローは「スキャン」、「画像データ受信」、「ファイル操作」、「印刷」、「ファイルサーバ保存」が連結されたものとなる。
図１３に示した操作フローの具体例において、スキャンタスクはスキャン設定と画像特徴量をデータとして持ち、ファイルサーバ保存は保存サーバと保存フォルダをデータとして持つ。このように、タスクを連結した操作フローを介して、スキャンした画像データの画像特徴量を、保存したファイルサーバ、フォルダと対応付けることができる。
以上の処理を全タスクに対して行うことで、すべてのログに含まれる操作フローを生成する。
【００３３】
[表示画面]
図１４は、S1004でワークフロー生成装置100が表示制御部202に表示する、データ処理フロー生成画面の具体例示す図である。
S1004では、ワークフロー生成装置100は、まず図１４(a)に示す表示画面1401を表示する。表示画面1401は、複数の（ここでは２つ）操作パターン情報1402a,bを表示する。
ここで、操作パターンとは、図１３で示した複数の操作フローを、含まれるタスクで分類したものである。操作パターン情報1402は、さらに操作パターン画像1403、評価値情報1404、選択ボタン1405を内包する。
操作パターン画像1403は、操作パターンを可視化した画像であり、図１３に示した操作フローの具体例を画像化して表示する。
評価値情報1404は、操作パターンに分類された複数の操作フローについて、実行回数や実行にかかった合計時間を集計して表示する。
ユーザは、データ処理フローとして登録したい操作パターンがあれば、該操作パターンに対応する選択ボタン1405を押下する。
選択ボタン1405が押下されると、ワークフロー生成装置100は図１４(b)に示す登録画面1411を表示する。登録画面1411は、登録パターン1412、登録パターン名1413、登録ボタン1418と、さらに登録パターン1412をＭＦＰ機能拡張サーバ120で実行するにあたり必要な各種パラメータを設定するパラメータ設定領域1414~1416を表示する。なお、各パラメータ設定領域のデフォルト値は、選択された操作パターンに含まれる操作フローから取得する値に基づき決定する。例えば、操作パターンに含まれる複数の操作フローから、各パラメータの最頻出値を取得し、これをデフォルト値とする。あるいは、出現頻度の高い上位N個のパラメータ値をリストボックスから選択可能にしても良い。
登録パターン名1413は、ユーザが任意に入力可能であり、入力したテキストはＭＦＰ機能拡張サーバ120に登録後、図３に記載のカスタムメニュー304bにボタンの名称として表示される。
スキャンパラメータ設定領域1414は、画像形成装置120で「スキャン」タスクを自動化するにあたり必要なパラメータを設定するための領域である。「スキャン」の自動化にあたり、解像度、保存形式、カラーモードを設定可能なパラメータ値の一覧から選択する。
ファイル操作パラメータ設定領域1415では、「ファイル操作」タスクを自動化するにあたり必要なパラメータを設定する。「ファイル操作」の自動化には、ファイル名を設定する。ここでパラメータ値には、値が動的に決まる変数の入力を可能とする。例えば%YEAR%、%MONTH%、%DAY%、%DATE%は、スキャンを実行した際の日時を取得しパラメータ値とする変数である。
ファイルサーバ保存パラメータ設定領域1416では、「ファイルサーバ保存」タスクを自動化するにあたり必要なパラメータを設定する。「ファイルサーバ保存」タスクの自動化には、サーバアドレスと保存フォルダを設定する。保存フォルダにはファイル操作パラメータ設定領域1415のファイル名と同じく変数の入力を可能とする。ファイルサーバ保存パラメータ設定領域1416は、チェックボタン1417を持つ。チェックボタン1417をチェックすると、読み取った原稿を自動的に分類し、ファイルサーバのフォルダを分類に応じて振り分ける、フォルダ振り分け機能を持ったデータ処理フローを生成する指示となる。チェックボックス1417をチェックすると、図１４(c)に示した登録画面1411のように、ファイルサーバ保存パラメータ設定領域1416に複数のサーバと保存フォルダの組を設定する領域を表示する。保存先設定ボタン1419をユーザが押下することにより、これらのサーバと保存フォルダの組を設定する、図１４(d)の保存先設定画面1431を表示する。
図１４(d)は保存先設定画面1431の具体例を示す。保存先設定画面1431では、登録パターン1412に含まれる操作フローを、ファイルサーバ保存タスクの保存先のサーバアドレスと保存フォルダで分類して表示する。表示は、チェックボックス1432a-d、サーバアドレス1433a-d、保存フォルダ1434a-d、実行履歴1435a-dを有する。実行履歴1435a-dは、ファイルサーバ保存を含む操作フローの実行時刻と保存したファイル名を表示する。ユーザは実行履歴1435a-dを確認し、チェックボックス1432a-dによってその保存先をファイルサーバ保存設定に用いるかどうかを決定する。ボタン1436をユーザが押下するとどの保存先を用いるかを確定し、図４(c)の登録画面1411を表示する。そして、チェックボタン1432a-dの中でチェックされている保存先を、ファイルサーバ保存パラメータ設定領域1416のサーバ、保存フォルダに入力する。
【００３４】
登録ボタン1418を押下すると、S1004のデータ処理フロー生成対象選択処理を終了し、S1005以降の処理へ進む。すなわち、前述したように、登録画面1411に入力された保存先に対応する画像特徴量を操作フローから取得し、分類器を機械学習によって生成した上で、データ処理フローを生成してＭＦＰ機能拡張サーバ180へ送信する。
【００３５】
[画像分類器の機械学習]
本実施例において画像を分類する分類器の生成に利用する機械学習の手法について説明をする。本実施例では、機械学習の手法としてReal AdaBoostと呼ばれる公知の手法を利用する。Real AdaBoostは、大量の特徴量から、与えられた学習データセットの分類に適した特徴量を選択して、その特徴量を組み合わせて分類器を構成することが可能な方法である。画像の分類時に大量の特徴量を利用すると、特徴量の計算負荷のためにパフォーマンスが低下してしまう。このように、分類に適した特徴量を選択して、一部の特徴量だけを利用し、分類器を構成できることは、Real AdaBoostの大きな利点である。ただし、Real AdaBoostは、２クラス分類器であり、２種類のラベルがついたデータを分類するものである。つまり、このままでは、３種類以上の画像の分類には利用することができない。そこで、２クラス分類器を多クラス分類器に拡張するOVA(One-Versus-All)と呼ばれる公知の方法を利用する。OVAは、１つのクラス(対象クラス)とそれ以外のクラスを分類する分類器をクラスの数だけ作成し、それぞれの分類器の出力を、対象クラスの信頼度とする。分類の際には、分類したいデータをそれぞれすべての分類器に入力し、信頼度が最大であったクラスを分類先とする。
図１５は、学習データを用いた機械学習の例を説明する図である。
この例では、学習データとして、３つのクラスの画像(画像Ａ、画像Ｂ、画像Ｃ)のそれぞれに対応する画像特徴量が用意されているものとする。この３つのクラスを分類するために、OVAでは３種類の分類器を用意する。３種類の分類器は、画像Ａとその他の画像を判別するための画像Ａ判別器、画像Ｂとその他の画像を判別するための画像Ｂ判別器、画像Ｃとその他の画像を判別するための画像Ｃ判別器である。
画像Ａ判別器は、画像Ａが入力されたときに、大きい出力値(確信度)が出力され、それ以外の画像が入力されたときは、小さい出力値(確信度)が出力される。画像Ｂ判別器、画像Ｃ判別器についても同様である。実際の分類を行う際には、入力文書画像を３種類の分類器に入力し、その出力値の比較を行って、どの画像かを決定する。例えば画像Ｂ判別器の出力が最大であった場合は、その入力画像が画像Ｂであると判別する。
図１５を参照して説明したReal AdaBoostとOVAを利用した多クラス分類器の機械学習は、ワークフロー生成装置100の画像分類学習手段210で実行される。また、多クラス分類器を利用した文書画像分類は、ＭＦＰ機能拡張サーバ180の画像分類部270で実行される。画像分類学習手段210と画像分類部270は同一の画像分類モデルを有しており、画像分類学習手段210生成した分類器のパラメータを画像分類部270へ設定することにより、画像分類部270で同一の分類器を実行できるように構成されている。
なお、本実施例で利用可能な機械学習の手法は、上述した手法に限定されるものではない。Support Vector MachineやRandom Forest等の公知の手法を利用してもよい。特徴量選択の枠組みが機械学習の手法に含まれていない場合に、分類時の分類速度を向上させたい場合には、主成分分析や判別分析を利用した特徴量選択等の公知の特徴量選択を行う。機器学習手法が２クラス分類器である場合は、OVA以外の、All-Versus-All(AVA)やError-Correcting Output-Coding(ECOC)等の公知の手法を用いてもよい。
【００３６】
[データ処理フローの具体例]
図１６はワークフロー生成装置100がS1006で生成するデータ処理フローの具体例を模式的に表した図である。図１６のデータ処理フロー1601はXMLのようなデータ記述言語で記述され、処理の各ステップとその処理パラメータ、および処理の接続によって表現される。データ処理フロー管理部267が、図１６に示したようなデータ処理フローの記述を複数管理する。データ処理フロー実行部268が、図１６に示したようなデータ処理フローの各処理を、処理間の接続関係に従って順番に実行する。
図１６に示したデータ処理フロー1601は、図１４に示した操作画面で設定を行った、スキャンした原稿の種類を分類してファイルサーバに保存を行うデータ処理フローである。スキャン処理1602、画像分類処理1603、ファイルサーバ保存処理1604~1606を接続して構成される。また、画像分類処理1603には、ワークフロー生成装置100がS1006で生成した分類器1607が対応付けられる。
【００３７】
[振り分け保存処理フロー実行の処理]
振り分け保存処理フローを実行する時のソフトウェアの処理フローは、図４(a)のＭＦＰ120の処理と図４(b)のＭＦＰ機能拡張サーバ180の処理で示したフローチャートで説明したとおりである。
ＭＦＰ120はS401で、データ処理フロー取得要求をＭＦＰ機能拡張サーバ180へ送信する。ＭＦＰ機能拡張サーバ180はS411でデータ処理フロー取得要求を受信すると、S412でデータ処理フロー一覧を送信する。このとき送信するデータ処理フロー一覧には、データ処理フロー1601で示した、画像分類処理1603によってファイルサーバ保存処理1604~1606を切り替えるデータ処理フローを含む。ＭＦＰ120はS402でデータ処理フロー一覧を受信し、データ処理フロー1601に対応したボタンを含むカスタムメニュー画面304bを表示する。
カスタムメニュー画面304bにおいてユーザがデータ処理フロー1601に対応するボタンを押下すると、ＭＦＰ120はS403でスキャンを実行する。S404では、ＭＦＰ120はスキャン画像と、データ処理フロー1601を示すワークフローＩＤをＭＦＰ機能拡張サーバ180へ送信する。ＭＦＰ120は続いてS405でＭＦＰログへスキャンのログを記録し、S406でＭＦＰログをワークフロー生成装置へ送信して処理を終了する。
ＭＦＰ機能拡張サーバ180は、S413でスキャン画像と、データ処理フロー1601を受信する。S414では受信したスキャン画像の画像特徴量を算出する。
S415では、ＭＦＰ機能拡張サーバ180は、データ処理フロー実行部268によって、データ処理フロー1601を実行する。データ処理フロー1601のスキャン処理1602はＭＦＰ120によって実行されているので、次に画像分類処理1603を実行する。画像分類処理1603では、対応付けられた分類器1607に、S414で算出した画像特徴量を入力し、出力としてS1006における機械学習の教師データとして用いた、ファイルの保存先を得る。データ処理フロー切替部272は、このファイル保存先によって、次に実行するファイルサーバ保存処理1604~1607を切り替え、実行させる。このようにして、原稿をスキャンした画像データを、画像特徴量を用いて分類した結果によって、保存先を振り分ける処理の実行が可能となる。
ＭＦＰ機能拡張サーバ180は、続いてS416でＭＦＰ機能拡張サーバログへログの記録を行い、S416でワークフロー生成装置100へログを送信し、処理を終了する。
【００３８】
振り分け保存処理のログ取得時には、ＭＦＰ120の処理およびＭＦＰ機能拡張サーバ180の処理の後にＰＣ140を操作してファイルサーバへのスキャン画像の保存処理を行っていた。だが、このように、振り分け保存処理フローの実行時には、ＰＣ140の処理を介さず、ＭＦＰ120およびＭＦＰ機能拡張サーバ180の処理のみでファイルサーバへのスキャン画像の保存処理が行える。つまり、ＰＣ140のユーザ操作のログと、ＭＦＰ機能拡張サーバ180の画像特徴量算出のログを取得し、それを本発明の方法で分析することにより、ファイルサーバ保存処理を、人手を介さずに実行でき、作業の効率化を行うことが可能となる。
【実施例２】
【００３９】
実施例１では、ワークフロー生成装置100がＭＦＰ120a-n、ＰＣ140a-nのログを収集し、収集したログを分析することによってＭＦＰ機能拡張サーバ180で実行するデータ処理フローを生成するものであった。これに対し、実施例２は、図２(c)で示したワークフロー生成装置100の持つソフトウェアをＭＦＰ機能拡張サーバ180が有し、ＭＦＰ機能拡張サーバ180がログの収集およびデータ処理フロー生成を行う構成とするものである。
この構成では、図２(c)におけるログ収集部205、タスク生成部206、操作フロー生成部207、選択制御部208、データ処理フロー生成手段209、画像分類学習手段210を、ＭＦＰ機能拡張サーバ180が有する。ＭＦＰ120a-n、ＰＣ140a-nは、図４のS406、S427でワークフロー生成装置100に送信しているそれぞれのログを、ＭＦＰ機能拡張サーバ180へ送信することにより、ＭＦＰ機能拡張サーバ180が各ログの収集を行う。ＭＦＰ機能拡張サーバ180は図１０(a)で示したワークフロー生成装置100によるログ収集・分析処理と同じ処理を実行することにより、データ処理フローを生成する。
この構成により、ユーザが作業する環境であるＬＡＮ150にワークフロー生成装置100を導入することなく、インターネット上にあるＭＦＰ機能拡張サーバ180でユーザの操作に合わせたデータ処理フローを生成することができる。これにより、継続的にデータ処理フローを改善したり、また、ユーザが操作したスキャン画像の画像特徴量を追加収集し、分類器の分類精度を向上させたりすることができる。
(その他の実施例) 
また、その他の実施形態として、ログ収集部205、タスク生成部206、操作フロー生成部207、選択制御部208、データ処理フロー生成手段209、画像分類学習手段210をクラウド上に設けなくてもよい。それらの手段をＭＦＰ120あるいはＰＣ140が有する構成とすることにより、それぞれがログ収集からデータ処理フロー生成までの処理を行うことも可能である。
また、処理する画像データを生成する対象機器をＭＦＰに替えて、ネットワークに接続されるネットワークカメラ、医療機器など、ネットワークに接続されるものであれば、特に限定されない。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ＡＳＩＣ)によっても実現可能である。
【図１】
2020194201.tif 000003
【図２】
2020194201.tif 000004
【図３】
2020194201.tif 000005
【図４】
2020194201.tif 000006
【図５Ａ】
2020194201.tif 000007
【図５Ｂ】
2020194201.tif 000008
【図６】
2020194201.tif 000009
【図７】
2020194201.tif 000010
【図８】
2020194201.tif 000011
【図９】
2020194201.tif 000012
【図１０】
2020194201.tif 000013
【図１１】
2020194201.tif 000014
【図１２】
2020194201.tif 000015
【図１３】
2020194201.tif 000016
【図１４Ａ】
2020194201.tif 000017
【図１４Ｂ】
2020194201.tif 000018
【図１５】
2020194201.tif 000019
【図１６】
2020194201.tif 000020