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