(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
H04N 1/00 20060101AFI20231212BHJP
【FI】
H04N1/00 C
(21)【出願番号】P 2019213575
(22)【出願日】2019-11-26
【審査請求日】2022-10-28
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】110003443
【氏名又は名称】弁理士法人TNKアジア国際特許事務所
(74)【代理人】
【識別番号】100129997
【氏名又は名称】田中 米藏
(72)【発明者】
【氏名】クリスチャン・ゲルボリンゴ
【審査官】松永 隆志
(56)【参考文献】
【文献】特表2008-538148(JP,A)
【文献】特開2018-124656(JP,A)
【文献】特開平08-044827(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00-1/64
G06T 1/00-19/20
(57)【特許請求の範囲】
【請求項1】
入力された画像の特徴に応じた名称を出力するための学習が予め行なわれた第1学習モデルと、入力された文字列に応じた名称を出力するための学習が予め行なわれた第2学習モデルと、を予め記憶する記憶部と、
画像ファイルが入力される画像入力部と、
前記画像入力部を介して入力された前記画像ファイルが示す画像に応じた主題を取得し、取得された前記主題を含むファイル名を、前記画像ファイルのファイル名として生成する制御部と、を備え、
前記制御部は、前記画像ファイルが示す画像が、予め定められた特徴を含む画像部分を含み、かつ、文字部分を含まない場合に、前記第1学習モデルを用いて、前記画像部分の前記特徴に応じた名称を主題として取得し、
前記画像ファイルが示す画像が、前記文字部分を含み、かつ、前記画像部分を含まない場合に、前記第2学習モデルを用いて、前記文字部分に含まれる文字列に応じた名称を前記主題として取得し
、
更に、前記制御部は、
前記画像ファイルが示す画像が前記文字部分と前記画像部分とを含む場合であって、前記文字部分のサイズが前記画像部分のサイズよりも大きく、かつ、前記文字部分のサイズと前記画像部分のサイズとの差を示す値が予め定められた値を超えている場合には、前記第2学習モデルを用いて、前記文字部分に含まれる前記文字列に応じた名称を前記主題として取得し、
前記画像ファイルが示す画像が前記文字部分と前記画像部分とを含む場合であって、前記画像部分のサイズが前記文字部分のサイズよりも大きく、かつ、前記画像部分のサイズと前記文字部分のサイズとの差を示す値が予め定められた値を超えている場合には、前記第1学習モデルを用いて、前記画像部分の前記特徴に応じた名称を前記主題として取得する、情報処理装置。
【請求項2】
入力された画像の特徴に応じた名称を出力するための学習が予め行なわれた第1学習モデルと、入力された文字列に応じた名称を出力するための学習が予め行なわれた第2学習モデルと、を予め記憶する記憶部と、
画像ファイルが入力される画像入力部と、
前記画像入力部を介して入力された前記画像ファイルが示す画像に応じた主題を取得し、取得された前記主題を含むファイル名を、前記画像ファイルのファイル名として生成する制御部と、を備え、
前記制御部は、前記画像ファイルが示す画像が、予め定められた特徴を含む画像部分を含み、かつ、文字部分を含まない場合に、前記第1学習モデルを用いて、前記画像部分の前記特徴に応じた名称を主題として取得し、
前記画像ファイルが示す画像が、前記文字部分を含み、かつ、前記画像部分を含まない場合に、前記第2学習モデルを用いて、前記文字部分に含まれる文字列に応じた名称を前記主題として取得し、
更に、前記制御部は、前記画像ファイルが示す画像が前記文字部分と前記画像部分とを含む場合であって、前記文字部分のサイズと前記画像部分のサイズとの差を示す値が予め定められた値以下である場合には、前記第2学習モデルを用いて、前記文字部分に含まれる前記文字列に応じた名称を前記主題として取得する
、情報処理装置。
【請求項3】
入力された画像の特徴に応じた名称を出力するための学習が予め行なわれた第1学習モデルと、入力された文字列に応じた名称を出力するための学習が予め行なわれた第2学習モデルと、を予め記憶する記憶部と、
画像ファイルが入力される画像入力部と、
前記画像入力部を介して入力された前記画像ファイルが示す画像に応じた主題を取得し、取得された前記主題を含むファイル名を、前記画像ファイルのファイル名として生成する制御部と、を備え、
前記制御部は、前記画像ファイルが示す画像が、予め定められた特徴を含む画像部分を含み、かつ、文字部分を含まない場合に、前記第1学習モデルを用いて、前記画像部分の前記特徴に応じた名称を主題として取得し、
更に、前記制御部は、
前記画像ファイルが示す画像が複数の画像部分を含む場合であって、取得された前記名称が前記複数の画像部分に共通している場合には、共通している前記名称を前記主題として取得し、
前記画像ファイルが示す画像が複数の画像部分を含む場合であって、取得された前記名称が前記複数の画像部分に共通していない場合には、共通していない前記名称を全て含む文字列を、前記主題として取得する
、記載の情報処理装置。
【請求項4】
入力された画像の特徴に応じた名称を出力するための学習が予め行なわれた第1学習モデルと、入力された文字列に応じた名称を出力するための学習が予め行なわれた第2学習モデルと、を予め記憶する記憶部と、
画像ファイルが入力される画像入力部と、
前記画像入力部を介して入力された前記画像ファイルが示す画像に応じた主題を取得し、取得された前記主題を含むファイル名を、前記画像ファイルのファイル名として生成する制御部と、を備え、
前記制御部は、前記画像ファイルが示す画像が、予め定められた特徴を含む画像部分を含み、かつ、文字部分を含まない場合に、前記第1学習モデルを用いて、前記画像部分の前記特徴に応じた名称を主題として取得し、
更に、前記制御部は、
前記画像ファイルが示す画像が複数の文字部分を含む場合であって、取得された前記名称が前記複数の文字部分に共通している場合には、共通している前記名称を前記主題として取得し、
前記画像ファイルが示す画像が複数の文字部分を含む場合であって、取得された前記名称が前記複数の文字部分に共通していない場合には、共通していない前記名称を全て含む文字列を、前記主題として取得する
、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関し、特に、画像ファイルのファイル名を生成するための技術に関する。
【背景技術】
【0002】
画像ファイルの内容に応じたファイル名を生成するための技術が知られている。例えば、特許文献1には、OCR(Optical Character Recognition)機能によって原稿画像から生成されたテキストデータから出現頻度の高い文字列を抽出し、抽出された文字列を画像ファイルのファイル名として生成する技術が開示されている。
【0003】
特許文献2には、OCR機能によって原稿画像から生成されたテキストデータが示す文字列から、例えばフォントサイズ又は色彩等の予め定められた条件を満たす文字列を識別し、識別された文字列を画像ファイルのファイル名として生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-211261号公報
【文献】特開2011-155548号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1及び特許文献2に開示されている一般的な技術では、原稿画像に文字列が含まれない場合には、ファイル名を生成することができない。また、原稿画像に文字列が含まれる場合であっても、当該文字列の中に、出現頻度の高い文字列又は予め定められた条件を満たす文字列が存在しない場合には、ファイル名を生成することができない。
【0006】
本発明は、上記の事情に鑑みなされたものであり、画像ファイルが示す画像に文字列が含まれない場合、及び、画像ファイルが示す画像に含まれる文字列の中に予め定められた条件を満たす文字列が存在しない場合であっても、ユーザーが、画像ファイルが示す画像の内容に応じたファイル名を取得できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の一局面に係る情報処理装置は、入力された画像の特徴に応じた名称を出力するための学習が予め行なわれた第1学習モデルと、入力された文字列に応じた名称を出力するための学習が予め行なわれた第2学習モデルと、を予め記憶する記憶部と、画像ファイルが入力される画像入力部と、画像入力部を介して入力された画像ファイルが示す画像に応じた主題を取得し、取得された主題を含むファイル名を、画像ファイルのファイル名として生成する制御部と、を備え、制御部は、画像ファイルが示す画像が、予め定められた特徴を含む画像部分を含み、かつ、文字部分を含まない場合に、第1学習モデルを用いて、画像部分の特徴に応じた名称を主題として取得し、画像ファイルが示す画像が、文字部分を含み、かつ、画像部分を含まない場合に、第2学習モデルを用いて、文字部分に含まれる文字列に応じた名称を主題として取得する。
【発明の効果】
【0008】
本発明によれば、ユーザーは、画像ファイルが示す画像に文字部分が含まれない場合であっても、画像部分に応じたファイル名を取得できる。ユーザーはまた、画像ファイルが示す画像の文字部分に予め定められた条件を満たす文字列が存在しない場合であっても、文字部分に応じたファイル名を取得できる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に係る画像形成装置の構造を示す正面断面図である。
【
図2】画像形成装置の内部構成を示すブロック図である。
【
図3A】ファイル名生成処理を示すフローチャートである。
【
図3B】ファイル名生成処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態に係る情報処理装置としての画像形成装置について図面を参照して説明する。
図1は、本発明の一実施形態に係る画像形成装置の構造を示す正面断面図である。
図1を参照して、画像形成装置1は、コピー機能、送信機能、プリンター機能、及びファクシミリ機能等の複数の機能を備えている複合機である。画像形成装置1はまた、画像ファイルを保存するためのファイル保存機能を備えている。
【0011】
図2は、画像形成装置の内部構成を示すブロック図である。
図2を参照して、画像形成装置1の筐体には、画像形成装置1の様々な機能を実現するための複数の機器が収容されている。例えば、筐体には、画像読取部11、画像形成部12、定着部13、及び給紙部14等が収容されている。
【0012】
画像形成装置1は、制御ユニット100を含む。制御ユニット100は、プロセッサー、RAM(Random Access Memory)、及びROM(Read Only Memory)等を含む。プロセッサーは、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、又はASIC(Application specific Integrated Circuit)等である。
【0013】
制御ユニット100は、ROM又はHDD(Hard Disk Drive)17に記憶されている制御プログラムが上記プロセッサーによって実行されることにより、制御部10として機能する。なお、制御部10は、上記制御プログラムに基づく動作によらず、ロジック回路により構成されていてもよい。
【0014】
制御部10は、画像形成装置1の全体制御を司る。より詳細には、制御部10は、画像形成装置1の各部の動作、及び、ネットワークを介して接続されているPC(Personal Computer)23等との通信を制御する。制御部10はまた、後述する生成プログラムにしたがって動作することによって、画像ファイルが示す画像に応じた主題を取得し、取得された主題を含むファイル名を生成するためのファイル名生成処理を実行する。
【0015】
制御ユニット100は、画像読取部11、画像形成部12、定着部13、給紙部14、表示部15、操作部16、HDD17、搬送機構18、画像処理部19、画像メモリー20、ファクシミリ通信部21、及び通信部22等と電気的に接続されている。
【0016】
画像読取部11は、原稿台に載置されている原稿を搬送する原稿搬送部6と、原稿搬送部6によって搬送されてくる原稿又はプラテンガラス7に載置されている原稿を光学的に読み取るスキャナーと、を含むADF(Auto Document Feeder)である。画像読取部11は、光照射部により原稿を照射し、その反射光をCCD(Charge-Coupled Device)センサーで受光することによって、原稿を読取って画像データを生成する。画像読取部11及び制御部10は、特許請求の範囲における画像入力部の一例である。
【0017】
画像形成部12は、感光体ドラム、帯電装置、露光装置、現像装置、及び転写装置を含む。画像形成部12は、画像読取部11によって生成された画像データ等に基づいて、給紙部14から搬送されてくる記録紙Pに、トナー像によって構成されている画像を形成する。
【0018】
定着部13は、画像形成部12によってトナー像が形成された記録紙Pを加熱及び加圧することによってトナー像を記録紙Pに定着させる。定着部13によってトナー像が定着された記録紙Pは、排出トレイ8に排出される。
【0019】
給紙部14は、手差しトレイと、複数の給紙カセットとを備えている。給紙部14は、給紙カセットに収容されている記録紙P、又は手差しトレイに載置されている記録紙を一枚ずつ引出して、画像形成部12に向けて給紙する。
【0020】
表示部15は、液晶ディスプレイ又は有機EL(Organic Light-Emitting Diode)ディスプレイ等によって構成されている表示装置である。表示部15は、制御部10の制御にしたがって、画像形成装置1によって実行可能な各機能についての各種の画面を表示する。
【0021】
操作部16は、各処理の実行開始を指示するためのスタートキー16A等の複数のハードキーを含む。操作部16はまた、表示部15に重ねて配置されているタッチパネル16Bを含む。ユーザーは、操作部16を介して、画像形成装置1によって実行可能な各機能についての指示等の各種の情報を入力する。
【0022】
HDD17は、画像読取部11及び制御部10によって生成された画像ファイル等の各種データを記憶するための大容量の記憶装置である。HDD17は、画像形成装置1の一般的な動作を実現するための各種制御プログラムを記憶している。HDD17は、各種制御プログラムの1つとして、本発明の一実施形態に係るファイル名生成処理を実行するための生成プログラムを記憶している。
【0023】
HDD17は、各種制御プログラムの1つとして、一般的なOCR処理を実行するためのOCRプログラムを記憶している。制御部10は、OCRプログラムにしたがって動作することによって、画像ファイルが示す画像に含まれる文字部分に基づいてテキストデータを生成する。
【0024】
HDD17は、入力された画像の特徴に応じた複数階層の分類名を出力するための学習が予め行なわれた機械学習モデル(以下、「第1学習モデル」と記す。)を記憶している。ここで、画像の特徴とは、CNN(Convolutional Neural Network)を用いた一般的な画像認識処理によって認識可能な特徴であり、例えば、コーナー、輪郭、又は色彩等である。
【0025】
第1学習モデルとしては、特に限定されないが、例えば、大量の画像ファイルが複数階層の分類名にしたがって分類されているImageNetデータセット等の機械学習済みの大規模な画像データベースを用いて、入力された画像の特徴に応じた分類名を出力可能に学習されているモデルを使用できる。本実施形態では、複数階層の分類名は、小分類を示す第1階層の分類名と、大分類を示す第2階層の分類名とを含むものとする。
【0026】
HDD17は、入力された文字列群に応じた複数階層の分類名を出力するための学習が予め行なわれた機械学習モデル(以下、「第2学習モデル」と記す。)を記憶している。第2学習モデルとしては、特に限定されないが、例えば、文意を判断するための単語群等の文字列群と、当該文字列群に付されている複数階層の分類名との組をニューラルネットワーク等によって学習させることによって生成されたモデルを使用できる。
【0027】
搬送機構18は、搬送ローラー対18A及び排出ローラー対18B等から構成されている。搬送機構18は、排出先として設定されている排出トレイ8に向けて、記録紙Pを搬送路Tに沿って搬送する。
【0028】
画像処理部19は、画像読取部11によって生成された画像データに対して、必要に応じて画像処理を実行する。画像メモリー20は、画像読取部11によって生成された出力対象の画像データを一時的に記憶する領域を含む。ファクシミリ通信部21は、公衆回線への接続を行ない、公衆回線を介して画像データの送受信を行なう。
【0029】
通信部22は、LAN(Local Area Network)ボード等の通信モジュールを含む。画像形成装置1は、通信部22を介して、ネットワークを介して接続されているPC23等とデータ通信を行なう。
【0030】
画像形成装置1の各部には電源が接続されており、この電源から電力が供給されることによって、画像形成装置1の各部が動作する。
【0031】
[動作]
図3A及び
図3Bは、ファイル名生成処理を示すフローチャートである。以下、
図3A及び
図3B等を参照して、本実施形態に係る画像形成装置1の動作について説明する。なお、以下の説明において、画像形成装置1は、電源が投入されている状態であるものとする。
【0032】
以下、画像ファイルが示す画像(以下、「原稿画像」と記す。)は、予め定められた特徴を含む画像部分、及び、文字列を含む文字部分のうちの少なくともいずれかを含んでいるものとする。予め定められた特徴とは、上記した一般的な画像認識処理によって認識可能な特徴を示す。
【0033】
ユーザーは、画像読取部11のプラテンガラス7に原稿を載置し、操作部16を介して、ファイル保存機能についての設定を行なうための設定画面を表示させるための表示指示を入力したものとする。制御部10は、操作部16を介して上記した表示指示を受付けると、表示部15に、設定画面を表示させる。
【0034】
図4は、設定画面の一例を示す図である。
図4を参照して、制御部10は、設定画面40に、保存対象の画像ファイルの形式を表示するための領域41と、保存対象の画像ファイルの画質レベルを表示するための領域42と、を表示させている。この場合、操作部16を介したユーザーの入力によって、画像ファイルの形式として「JPEG(Joint photographic Experts Group)」形式が選択され、画質レベルとして、圧縮率が最も高いレベル、すなわち最も画質の低いレベル(以下、「第1低画質レベル」と記す。)が選択されているものとする。
【0035】
したがって、制御部10は、JPEG形式を示す「JPEG」という文字列を領域41に表示させるとともに、第1低画質レベルを示す「1低画質(高圧縮)」という文字列を領域42に表示させている。制御部10はまた、設定画面40に、画像ファイルのPDF/A形式への変換設定を有効にするためのラジオボタン43と、画像ファイルのPDF/A形式への変換設定を無効にするためのラジオボタン44と、を表示させている。この場合、画像ファイルの形式としてJPEG形式が選択されているので、制御部10は、ラジオボタン44にチェックを表示させている。
【0036】
制御部10はさらに、設定画面40に、ファイル名生成機能の設定を有効にするためのラジオボタン45と、ファイル名生成機能の設定を無効にするためのラジオボタン46と、を表示させている。この場合、ユーザーは、ラジオボタン45をタッチしたものとする。制御部10は、タッチパネル16Bを介してラジオボタン45に対するタッチ操作を検知して、ラジオボタン45にチェックを表示させている。
【0037】
ラジオボタン45のタッチ後、ユーザーは、設定内容を確定するためにソフトキー47をタッチしたものとする。制御部10は、タッチパネル16Bを介してソフトキー47に対するタッチ操作を検知すると、ファイル保存機能についての設定を、設定画面40に反映されている設定内容に設定する。この場合、制御部10は、ファイル名生成機能を有効に設定する。
【0038】
ソフトキー47のタッチ後、ユーザーは、操作部16を介して、画像ファイルの保存処理を実行するための実行指示を入力して、スタートキー16Aを押下したものとする。スタートキー16Aの押下を検知すると、制御部10は、画像読取部11に対し、プラテンガラス7に載置されている原稿を読み取らせて画像データを生成させる。制御部10は、生成された画像データから、設定されているファイル形式の画像ファイルを生成する。この場合、制御部10は、JPEG形式の画像ファイルを生成する。
【0039】
図3Aを参照して、画像読取部11及び制御部10によって画像ファイルが生成されることによって画像ファイルが画像形成装置1に入力されると、制御部10は、ファイル名生成処理の実行を開始する。ファイル名生成処理において、制御部10はまず、ファイル名生成機能が有効に設定されているか否かを判定する(ステップS10)。この場合、制御部10は、ファイル名生成機能が有効に設定されていると判定し(ステップS10にてYES)、原稿画像に対してOCR処理を実行する(ステップS11)。
【0040】
ステップS11の処理後、制御部10は、OCR処理の結果に基づいて、原稿画像が、OCR処理によってテキストデータが生成されている部分、すなわち、文字部分を含むか否かを判定する(ステップS12)。
【0041】
(1)原稿画像が画像部分を含み、かつ文字部分を含まない場合
(1-1)原稿画像が画像部分を1つのみ含む場合
図5は、原稿画像の一例を示す図である。
図5を参照して、原稿画像50は、海で泳いでいる人間の写真に対応している画像部分51のみを含み、文字部分を含まない。
【0042】
この場合、制御部10は、OCR処理によって、原稿画像50からテキストデータを生成できないので、原稿画像が文字部分を含まないと判定し(ステップS12にてNO)、一般的な濃淡エッジ検出技術を用いて原稿画像の全領域からエッジを検出し、検出されたエッジによって囲まれている領域を画像部分として抽出するための処理(以下、「画像部分抽出処理」と記す。)を実行する(ステップS13)。この場合、制御部10は、画像部分抽出処理によって、原稿画像50の全領域から、エッジ51Aによって囲まれている画像を画像部分51として抽出する。
【0043】
ステップS13の処理後、制御部10は、第1学習モデルを用いて、抽出された画像部分の特徴に応じた複数階層の分類名を、画像部分ごとに取得する(ステップS14)。具体的には、ステップS14において、制御部10は、抽出された画像部分のうちのいずれか1つを第1学習モデルに入力する。制御部10は、入力に応じて第1学習モデルから出力されてくる複数階層の分類名を取得する。制御部10は、抽出された全ての画像部分に対して上記した処理を行なう。
【0044】
この場合、制御部10は、画像部分51を第1学習モデルに入力し、入力に応じて第1学習モデルから出力されてくる、「Swimming」という第1階層の分類名と、「Sea」という第2階層の分類名とを取得する。ステップS14の処理後、制御部10は、画像部分抽出処理の抽出結果に基づいて、原稿画像が複数の画像部分を含むか否かを判定する(ステップS15)。
【0045】
この場合、制御部10は、画像部分抽出処理によって画像部分51のみを原稿画像50から抽出しているので、原稿画像が複数の画像部分を含まないと判定し(ステップS15にてNO)、取得された複数階層の分類名のうちから、最下層の分類名を、ファイル名の主題として取得する(ステップS16)。この場合、制御部10は、「Swimming」という第1階層の分類名を、主題として取得する。
【0046】
ステップS16の処理後、制御部10は、取得された主題に、例えばスタートキー16Aが押下されたときの日付を示している文字列と、ファイル形式を示している拡張子とを付して、ファイル名を生成する(ステップS17)。この場合、制御部10は、「Swimming」という主題に、2019年7月29日であることを示す「07292019」という文字列と、JPEG形式であることを示す「jpg」という拡張子とが付されている「Swimming_07292019.jpg」というファイル名を生成する。
【0047】
(1-2)原稿画像が複数の画像部分を含む場合
(1-2-1)分類名が複数の画像部分に共通している場合
図6は、原稿画像の他の一例を示す図である。
図6を参照して、原稿画像60は、港の写真に対応している画像部分61と、海辺の写真に対応している画像部分62と、を含み、文字部分を含まない。
【0048】
この場合、制御部10は、OCR処理によって、原稿画像60からテキストデータを生成できないので、原稿画像が文字部分を含まないと判定し(ステップS12にてNO)、上記したステップS13の処理を実行して、原稿画像60の全領域から、エッジ61Aによって囲まれている画像を画像部分61として抽出するとともに、エッジ62Aによって囲まれている画像を画像部分62として抽出する。
【0049】
ステップS13の処理後、制御部10は、上記したステップS14の処理を実行して、まず、画像部分61を第1学習モデルに入力し、入力に応じて第1学習モデルから出力されてくる、「Harbor」という第1階層の分類名と、「Sea」という第2階層の分類名とを取得する。制御部10は次いで、画像部分62を第1学習モデルに入力し、入力に応じて第1学習モデルから出力されてくる、「Seashore」という第1階層の分類名と、「Sea」という第2階層の分類名とを取得する。
【0050】
ステップS14の処理後、制御部10は、上記したステップS15の処理を実行する。この場合、制御部10は、画像部分抽出処理によって、画像部分61及び画像部分62を原稿画像60から抽出しているので、原稿画像が複数の画像部分を含むと判定し(ステップS15にてYES)、画像部分ごとに取得された複数階層の分類名を画像部分同士で比較して、複数の画像部分に共通している分類名が存在しているか否かを判定する(ステップS18)。
【0051】
この場合、「Sea」という分類名が画像部分61及び画像部分62に共通しているので、制御部10は、共通している分類名が存在していると判定し(ステップS18にてYES)、共通している分類名を、ファイル名の主題として取得する(ステップS19)。ステップS19の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Sea_07292019.jpg」というファイル名を生成する。
【0052】
(1-2-2)分類名が複数の画像部分に共通していない場合
図7は、原稿画像の他の一例を示す図である。
図7を参照して、原稿画像70は、山の写真に対応している画像部分71と、海辺の写真に対応している画像部分72と、を含み、文字部分を含まない。
【0053】
この場合、制御部10は、OCR処理によって、原稿画像70からテキストデータを生成できないので、原稿画像が文字部分を含まないと判定し(ステップS12にてNO)、上記したステップS13の処理を実行して、原稿画像70の全領域から、エッジ71Aによって囲まれている画像を画像部分71として抽出するとともに、エッジ72Aによって囲まれている画像を画像部分72として抽出する。
【0054】
ステップS13の処理後、制御部10は、上記したステップS14の処理を実行して、まず、画像部分71を第1学習モデルに入力し、入力に応じて第1学習モデルから出力されてくる、「Volcano」という第1階層の分類名と、「Mountain」という第2階層の分類名とを取得する。制御部10は次いで、画像部分72を第1学習モデルに入力し、入力に応じて第1学習モデルから出力されてくる、「Seashore」という第1階層の分類名と、「Sea」という第2階層の分類名とを取得する。
【0055】
ステップS14の処理後、制御部10は、上記したステップS15の処理を実行する。この場合、制御部10は、画像部分抽出処理によって、画像部分71及び画像部分72を原稿画像70から抽出しているので、原稿画像が複数の画像部分を含むと判定し(ステップS15にてYES)、上記したステップS18の処理を実行する。
【0056】
この場合、画像部分ごとに取得された分類名のいずれも画像部分71及び画像部分72に共通していないので、制御部10は、共通している分類名が存在していないと判定し(ステップS18にてNO)、共通していない最上層の分類名の全てを含む文字列を生成して、ファイル名の主題として取得する(ステップS20)。この場合、制御部10は、「Mountain」という分類名と、「Sea」という分類名とを含む「Mountain_Sea」という文字列を生成して、ファイル名の主題として取得する。
【0057】
ステップS20の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Mountain_Sea_07292019.jpg」というファイル名を生成する。
【0058】
(2)原稿画像が文字部分を含み、かつ画像部分を含まない場合
(2-1)原稿画像が文字部分を1つのみ含む場合
図8は、原稿画像の他の一例を示す図である。
図8を参照して、原稿画像80は、水泳についての説明を示している文字列81Aを含む文字部分81のみを含み、画像部分を含まない。
【0059】
この場合、制御部10は、OCR処理によって、原稿画像80から文字列81Aを示しているテキストデータを生成するので、原稿画像が文字部分を含むと判定し(ステップS12にてYES)、
図3Bに示すように、原稿画像における文字部分を除く領域に対して画像部分抽出処理を実行する(ステップS21)。この場合、制御部10は、原稿画像80における文字部分81を除く領域82に対して画像部分抽出処理を実行する。
【0060】
ステップS21の処理後、制御部10は、画像部分抽出処理の抽出結果に基づいて、原稿画像が画像部分を含むか否かを判定する(ステップS22)。この場合、制御部10は、画像部分抽出処理によって、領域82から画像部分を抽出できないので、原稿画像が画像部分を含まないと判定し(ステップS22にてNO)、第2学習モデルを用いて、文字部分に含まれる文字列に応じた複数階層の分類名を文字部分ごとに取得する(ステップS23)。
【0061】
具体的には、ステップS23において、制御部10は、原稿画像に含まれる文字部分のうちのいずれか1つから生成されたテキストデータから、NLP(Natural Language Processing)技術を用いた、例えば、固有表現抽出処理等の情報抽出処理によって複数の単語を抽出し、抽出された複数の単語を文字列群として第2学習モデルに入力する。制御部10は、入力に応じて第2学習モデルから出力されてくる複数階層の分類名を取得する。制御部10は、原稿画像に含まれる全ての文字部分に対して上記した処理を行なう。
【0062】
この場合、制御部10は、文字列81Aを示しているテキストデータから、「pools」、「Olympic」、「butterfly」、「backstroke」、「breaststroke」、「freestyle」、及び「individual medley」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Swimming」という第1階層の分類名と、「Sports」という第2階層の分類名と、を取得する。
【0063】
ステップS23の処理後、制御部10は、原稿画像が複数の文字部分を含むか否かを判定する(ステップS24)。具体的には、制御部10は、ステップS24において、原稿画像における文字部分の位置を示す座標情報を文字部分ごとに取得し、取得された座標情報に基づいて、互いに予め定められた距離以上離れている文字部分が存在しているか否かを判定する。
【0064】
制御部10は、互いに予め定められた距離以上離れている文字部分が存在している場合に、原稿画像が複数の文字部分を含むと判定し、それ以外の場合には、原稿画像が複数の文字部分を含まないと判定する。予め定められた距離としては、特に限定されないが、ここでは、2行分の行間に対応する長さを用いるものとする。
【0065】
この場合、制御部10は、文字部分81のみからテキストデータを生成しているため、互いに予め定められた距離以上離れている文字部分は存在していない。したがって、制御部10は、原稿画像が複数の文字部分を含まないと判定し(ステップS24にてNO)、上記したステップS16の処理を実行して、「Swimming」という第1階層の分類名を、主題として取得する。
【0066】
ステップS16の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Swimming_07292019.jpg」というファイル名を生成する。
【0067】
(2-2)原稿画像が複数の文字部分を含む場合
(2-2-1)分類名が複数の文字部分に共通している場合
図9は、原稿画像の他の一例を示す図である。
図9を参照して、原稿画像90は、海の大きさについての説明を示している文字列91Aを含む文字部分91と、海の役割についての説明を示している文字列92Aを含む文字部分92と、を含み、画像部分を含まない。
【0068】
この場合、制御部10は、OCR処理によって、原稿画像90から、文字列91Aを示しているテキストデータと、文字列92Aを示しているテキストデータとを生成するので、原稿画像が文字部分を含むと判定し(ステップS12にてYES)、上記したステップS21の処理を実行する。制御部10は、ステップS21において、原稿画像90における文字部分91及び文字部分92を除く領域93に対して画像部分抽出処理を実行する。
【0069】
この場合、制御部10は、画像部分抽出処理によって、領域93から画像部分を抽出できないので、原稿画像が画像部分を含まないと判定し(ステップS22にてNO)、上記したステップS23の処理を実行する。制御部10は、ステップS23において、まず、文字列91Aを示しているテキストデータから、「sea」、「world ocean」、「ocean」、「square」、及び「volume」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Size」という第1階層の分類名と、「Sea」という第2階層の分類名と、を取得する。
【0070】
制御部10は次いで、文字列92Aを示しているテキストデータから、「roles」、「sea」、「oceanography」、及び「Pacific ocean」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Role」という第1階層の分類名と、「Sea」という第2階層の分類名と、を取得する。
【0071】
ステップS23の処理後、制御部10は、上記したステップS24の処理を実行する。この場合、文字部分91と文字部分92とは、3行分の行間に対応する長さだけ離れているものとする。したがって、原稿画像90には、互いに予め定められた距離以上離れている文字部分91,92が存在している。この場合、制御部10は、原稿画像が複数の文字部分を含むと判定し(ステップS24にてYES)、文字部分ごとに取得された複数階層の分類名を文字部分同士で比較して、複数の文字部分に共通している分類名が存在しているか否かを判定する(ステップS25)。
【0072】
この場合、「Sea」という分類名が文字部分91及び文字部分92に共通しているので、制御部10は、共通している分類名が存在していると判定し(ステップS25にてYES)、上記したステップS19の処理を実行して、共通している「Sea」という分類名を、主題として取得する。
【0073】
ステップS19の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Sea_07292019.jpg」というファイル名を生成する。
【0074】
(2-2-2)分類名が複数の文字部分に共通していない場合
図10は、原稿画像の他の一例を示す図である。
図10を参照して、原稿画像101は、海の大きさについての説明を示している文字列102Aを含む文字部分102と、富士山についての説明を示している文字列103Aを含む文字部分103と、を含み、画像部分を含まない。
【0075】
この場合、制御部10は、OCR処理によって、原稿画像101から、文字列102Aを示しているテキストデータと、文字列103Aを示しているテキストデータとを生成するので、原稿画像が文字部分を含むと判定し(ステップS12にてYES)、上記したステップS21の処理を実行する。
【0076】
制御部10は、ステップS21において、原稿画像101における文字部分102及び文字部分103を除く領域104に対して画像部分抽出処理を実行する。この場合、制御部10は、画像部分抽出処理によって、領域104から画像部分を抽出できないので、原稿画像が画像部分を含まないと判定し(ステップS22にてNO)、上記したステップS23の処理を実行する。
【0077】
制御部10は、ステップS23において、まず、文字列102Aを示しているテキストデータから、「sea」、「world ocean」、「ocean」、「square」、及び「volume」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Size」という第1階層の分類名と、「Sea」という第2階層の分類名と、を取得する。
【0078】
制御部10は次いで、文字列103Aを示しているテキストデータから、「Mt. Fuji」、「mountain」、「及び「volcano」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Volcano」という第1階層の分類名と、「Mountain」という第2階層の分類名とを取得する。
【0079】
ステップS23の処理後、制御部10は、上記したステップS24の処理を実行する。この場合、文字部分102と文字部分103とは、5行分の行間に対応する長さだけ離れているものとする。したがって、原稿画像101には、互いに予め定められた距離以上離れている文字部分102,103が存在している。この場合、制御部10は、原稿画像が複数の文字部分を含むと判定し(ステップS24にてYES)、上記したステップS25の処理を実行する。
【0080】
この場合、文字部分ごとに取得された分類名のいずれも文字部分102及び文字部分103に共通していないので、制御部10は、共通している分類名が存在していないと判定し(ステップS25にてNO)、上記したステップS20の処理を実行する。この場合、制御部10は、「Sea」という分類名と、「Mountain」という分類名とを含む「Sea_Mountain」という文字列を生成して、主題として取得する。
【0081】
ステップS20の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Sea_Mountain_07292019.jpg」というファイル名を生成する。
【0082】
(3)原稿画像が文字部分と画像部分とを含む場合
(3-1)文字部分のサイズが画像部分のサイズよりも大きい場合
(3-1-1)原稿画像が文字部分と画像部分とを1つずつ含む場合
図11は、原稿画像の他の一例を示す図である。
図11を参照して、原稿画像110は、海の大きさについての説明を示している文字列111Aを含む文字部分111と、海辺の写真に対応している画像部分112と、を含む。
【0083】
この場合、制御部10は、OCR処理によって、原稿画像110から文字列111Aを示しているテキストデータを生成するので、原稿画像が文字部分を含むと判定し(ステップS12にてYES)、上記したステップS21の処理を実行する。制御部10は、ステップS21において、原稿画像110における文字部分111を除く領域113に対して画像部分抽出処理を実行する。
【0084】
この場合、制御部10は、画像部分抽出処理によって、領域113から、エッジ112Aによって囲まれている画像を画像部分112として抽出するので、原稿画像が画像部分を含むと判定し(ステップS22にてYES)、文字部分のサイズが画像部分のサイズよりも大きいか否かを判定する(ステップS26)。
【0085】
具体的には、ステップS26において、制御部10はまず、全ての文字部分の面積の合計(以下「第1面積」と記す。)と、全ての画像部分の面積の合計(以下「第2面積」と記す。)と、第1面積と第2面積との合計(以下「第3面積」と記す。)と、を算出する。制御部10は次いで、第1面積の第3面積に対する割合(以下、「第1割合」と記す。)と、第2面積の第3面積に対する割合(以下、「第2割合」と記す。)と、を百分率により算出する。
【0086】
制御部10は、第1割合が第2割合よりも大きく、かつ、第1割合と第2割合との差を示す値が予め定められた値を超えている場合に、文字部分のサイズが画像部分のサイズよりも大きいと判定し、それ以外の場合には、文字部分のサイズが画像部分のサイズよりも大きくないと判定する。上記した予め定められた値としては、特に限定されないが、ここでは、「10%」という値を用いるものとする。
【0087】
この場合、制御部10は、文字部分111の面積を第1面積として算出し、画像部分112の面積を第2面積として算出する。ここで、制御部10は、第1割合として「70%」という値を算出し、第2割合として「30%」という値を算出しているものとする。このとき、第1割合の値は第2割合の値よりも大きく、かつ、第1割合と第2割合との差を示す値は「40%」である。
【0088】
したがって、制御部10は、文字部分のサイズが画像部分のサイズよりも大きいと判定し(ステップS26にてYES)、上記したステップS23の処理を実行して、文字列111Aを示しているテキストデータから、「sea」、「world ocean」、「ocean」、「square」、及び「volume」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Size」という第1階層の分類名と、「Sea」という第2階層の分類名と、を取得する。
【0089】
ステップS23の処理後、制御部10は、上記したステップS24の処理を実行する。この場合、制御部10は、文字部分111のみからテキストデータを生成しているため、互いに予め定められた距離以上離れている文字部分は存在していない。したがって、制御部10は、原稿画像が複数の文字部分を含まないと判定し(ステップS24にてNO)、上記したステップS16の処理を実行して、「Size」という第1階層の分類名を、ファイル名の主題として取得する。
【0090】
ステップS16の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Size_07292019.jpg」というファイル名を生成する。
【0091】
(3-1-2)原稿画像が複数の文字部分と複数の画像部分とを含む場合
図12は、原稿画像の他の一例を示す図である。
図12を参照して、原稿画像120は、富士山についての説明を示している文字列121Aを含む文字部分121と、海の大きさについての説明を示している文字列122Aを含む文字部分122と、を含む。原稿画像120はまた、山の写真に対応している画像部分123と、海辺の写真に対応している画像部分124と、を含む。
【0092】
この場合、制御部10は、OCR処理によって、原稿画像120から、文字列121Aを示しているテキストデータと、文字列122Aを示しているテキストデータとを生成するので、原稿画像が文字部分を含むと判定し(ステップS12にてYES)、上記したステップS21の処理を実行する。制御部10は、ステップS21において、原稿画像110における文字部分121及び文字部分122を除く領域125に対して画像部分抽出処理を実行する。
【0093】
この場合、制御部10は、画像部分抽出処理によって、領域125から、エッジ123Aによって囲まれている画像を画像部分123として抽出するとともに、エッジ124Aによって囲まれている画像を画像部分124として抽出するので、原稿画像が画像部分を含むと判定し(ステップS22にてYES)、上記したステップS26の処理を実行する。
【0094】
この場合、制御部10は、ステップS26において、文字部分121の面積と文字部分122の面積との合計を第1面積として算出し、画像部分123の面積と画像部分124の面積との合計を第2面積として算出する。ここで、制御部10は、第1割合として「80%」という値を算出し、第2割合として「20%」という値を算出しているものとする。このとき、第1割合の値は第2割合の値よりも大きく、かつ、第1割合と第2割合との差を示す値は「60%」である。
【0095】
したがって、制御部10は、文字部分のサイズが画像部分のサイズよりも大きいと判定し(ステップS26にてYES)、上記したステップS23の処理を実行して、まず、文字列121Aを示しているテキストデータから、「Mt. Fuji」、「mountain」、及び「volcano」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Volcano」という第1階層の分類名と、「Mountain」という第2階層の分類名とを取得する。
【0096】
制御部10は次いで、文字列122Aを示しているテキストデータから、「sea」、「world ocean」、「ocean」、「square」、及び「volume」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Size」という第1階層の分類名と、「Sea」という第2階層の分類名と、を取得する。
【0097】
ステップS23の処理後、制御部10は、上記したステップS24の処理を実行する。この場合、文字部分121と文字部分122とは、3行分の行間に対応する長さだけ離れているものとする。したがって、原稿画像120には、互いに予め定められた距離以上離れている文字部分121,122が存在している。この場合、制御部10は、原稿画像が複数の文字部分を含むと判定し(ステップS24にてYES)、上記したステップS25の処理を実行する。
【0098】
この場合、文字部分ごとに取得された分類名のいずれも文字部分121及び文字部分122に共通していないので、制御部10は、共通している分類名が存在していないと判定し(ステップS25にてNO)、上記したステップS20の処理を実行する。この場合、制御部10は、「Mountain」という分類名と、「Sea」という分類名とを含む「Mountain_Sea」という文字列を、ファイル名の主題として取得する。
【0099】
ステップS20の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Mountain_Sea_07292019.jpg」というファイル名を生成する。
【0100】
(3-2)画像部分のサイズが文字部分のサイズよりも大きい場合
(3-2-1)原稿画像が文字部分と画像部分とを1つずつ含む場合
図13は、原稿画像の他の一例を示す図である。原稿画像130は、海の大きさについての説明を示す文字列131Aを含む文字部分131と、海辺の写真に対応している画像部分132と、を含む。
【0101】
この場合、制御部10は、OCR処理によって、原稿画像130から文字列131Aを示しているテキストデータを生成するので、原稿画像が文字部分を含むと判定し(ステップS12にてYES)、上記したステップS21の処理を実行する。制御部10は、ステップS21において、原稿画像130における文字部分131を除く領域133に対して画像部分抽出処理を実行する。
【0102】
この場合、制御部10は、画像部分抽出処理によって、領域133から、エッジ132Aによって囲まれている画像を画像部分132として抽出するので、原稿画像が画像部分を含むと判定し(ステップS22にてYES)、上記したステップS26の処理を実行する。
【0103】
この場合、制御部10は、ステップS26において、文字部分131の面積を第1面積として算出し、画像部分132の面積を第2面積として算出する。ここで、制御部10は、第1割合として「30%」という値を算出し、第2割合として「70%」という値を算出しているものとする。このとき、第2割合の値は第1割合の値よりも大きく、かつ、第1割合と第2割合との差を示す値は「40%」である。
【0104】
したがって、制御部10は、文字部分のサイズが画像部分のサイズよりも大きくないと判定し(ステップS26にてNO)、画像部分のサイズが文字部分のサイズよりも大きいか否かを判定する(ステップS27)。具体的には、制御部10は、ステップS27において、第2割合が第1割合よりも大きく、かつ、第1割合と第2割合との差を示す値が予め定められた値を超えている場合に、画像部分のサイズが文字部分のサイズよりも大きいと判定し、それ以外の場合には、画像部分のサイズが文字部分のサイズよりも大きくないと判定する。
【0105】
この場合、制御部10は、画像部分のサイズが文字部分のサイズよりも大きいと判定し(ステップS27にてYES)、上記したステップS14の処理を実行して、画像部分132を第1学習モデルに入力し、入力に応じて第1学習モデルから出力されてくる、「Seashore」という第1階層の分類名と、「Sea」という第2階層の分類名とを取得する。
【0106】
ステップS14の処理後、制御部10は、上記したステップS15の処理を実行する。この場合、制御部10は、画像部分抽出処理によって、画像部分132のみを原稿画像130から抽出しているので、原稿画像が複数の画像部分を含まないと判定し(ステップS15にてNO)、上記したステップS16の処理を実行して、「Seashore」という第1階層の分類名を、ファイル名の主題として取得する。
【0107】
ステップS16の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Seashore_07292019.jpg」というファイル名を生成する。
【0108】
(3-2-2)原稿画像が複数の文字部分と複数の画像部分とを含む場合
図14は、原稿画像の他の一例を示す図である。
図14を参照して、原稿画像140は、富士山についての説明を示している文字列141Aを含む文字部分141と、海の大きさについての説明を示している文字列142Aを含む文字部分142と、を含む。原稿画像140はまた、山の写真に対応している画像部分143と、海辺の写真に対応している画像部分144とを含む。
【0109】
この場合、制御部10は、OCR処理によって、原稿画像140から、文字列141Aを示しているテキストデータと、文字列142Aを示しているテキストデータとを生成するので、原稿画像が文字部分を含むと判定し(ステップS12にてYES)、上記したステップS21の処理を実行する。
【0110】
制御部10は、ステップS21において、原稿画像140における文字部分141及び文字部分142を除く領域145に対して画像部分抽出処理を実行する。この場合、制御部10は、画像部分抽出処理によって、領域145からエッジ143Aによって囲まれている画像を画像部分143として抽出するとともに、エッジ144Aによって囲まれている画像を画像部分144として抽出するので、原稿画像が画像部分を含むと判定し(ステップS22にてYES)、上記したステップS26の処理を実行する。
【0111】
この場合、制御部10は、ステップS26において、文字部分141の面積と文字部分142の面積との合計を第1面積として算出し、画像部分143の面積と画像部分144の面積との合計を第2面積として算出する。ここで、制御部10は、第1割合として「40%」という値を算出し、第2割合として「60%」という値を算出しているものとする。このとき、第2割合の値は第1割合の値よりも大きく、かつ、第1割合と第2割合との差を示す値は「20%」である。
【0112】
したがって、制御部10は、文字部分のサイズが画像部分のサイズよりも大きくないと判定するとともに(ステップS26にてNO)、画像部分のサイズが文字部分のサイズよりも大きいと判定し(ステップS27にてYES)、上記したステップS14の処理を実行して、まず、画像部分143を第1学習モデルに入力し、入力に応じて第1学習モデルから出力されてくる、「Volcano」という第1階層の分類名と、「Mountain」という第2階層の分類名とを取得する。
【0113】
制御部10は次いで、画像部分144を第1学習モデルに入力し、入力に応じて第1学習モデルから出力されてくる、「Seashore」という第1階層の分類名と、「Sea」という第2階層の分類名とを取得する。ステップS14の処理後、制御部10は、上記したステップS15の処理を実行する。この場合、制御部10は、画像部分抽出処理によって、画像部分143及び画像部分144を原稿画像140から抽出しているので、原稿画像が複数の画像部分を含むと判定し(ステップS15にてYES)、上記したステップS18の処理を実行する。
【0114】
この場合、画像部分ごとに取得された分類名のいずれも画像部分143及び画像部分144に共通していないので、制御部10は、共通している分類名が存在していないと判定し(ステップS18にてNO)、上記したステップS20の処理を実行して、「Mountain」という分類名と、「Sea」という分類名とを含む「Mountain_Sea」という文字列を、ファイル名の主題として取得する。
【0115】
ステップS20の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Mountain_Sea_07292019.jpg」というファイル名を生成する。
【0116】
(3-3)文字部分のサイズと画像部分のサイズとが同程度の場合
図15は、原稿画像の他の一例を示す図である。
図15を参照して、原稿画像150は、海の大きさについての説明を示している文字列151Aを含む文字部分151と、海辺の写真に対応している画像部分152と、を含む。
【0117】
この場合、制御部10は、OCR処理によって、原稿画像150から文字列151Aを示しているテキストデータを生成するので、原稿画像が文字部分を含むと判定し(ステップS12にてYES)、上記したステップS21の処理を実行する。
【0118】
制御部10は、ステップS21において、原稿画像150における文字部分151を除く領域153に対して画像部分抽出処理を実行する。この場合、制御部10は、画像部分抽出処理によって、領域153から、エッジ152Aによって囲まれている画像を画像部分152として抽出するので、原稿画像が画像部分を含むと判定し(ステップS22にてYES)、上記したステップS26の処理を実行する。
【0119】
この場合、制御部10は、ステップS26において、文字部分151の面積を第1面積として算出し、画像部分152の面積を第2面積として算出する。ここで、制御部10は、第1割合として「48%」という値を算出し、第2割合として「52%」という値を算出しているものとする。このとき、第2割合の値は第1割合の値よりも大きく、かつ、第1割合と第2割合との差を示す値は「4%」である。
【0120】
したがって、制御部10は、文字部分のサイズが画像部分のサイズよりも大きくないと判定するとともに(ステップS26にてNO)、画像部分のサイズが文字部分のサイズよりも大きくないと判定し(ステップS27にてNO)、上記したステップS23の処理を実行して、文字列151Aを示しているテキストデータから、「sea」、「world ocean」、「ocean」、「70%」、及び「surface」という複数の単語を抽出して文字列群として第2学習モデルに入力し、入力に応じて第2学習モデルから出力されてくる、「Size」という第1階層の分類名と、「Sea」という第2階層の分類名と、を取得する。
【0121】
ステップS23の処理後、制御部10は、上記したステップS24の処理を実行する。この場合、制御部10は、文字部分151のみからテキストデータを生成しているため、互いに予め定められた距離以上離れている文字部分は存在していない。したがって、制御部10は、原稿画像が複数の文字部分を含まないと判定し(ステップS24にてNO)、上記したステップS16の処理を実行して、「Size」という第1階層の分類名を、主題として取得する。
【0122】
ステップS16の処理後、制御部10は、上記したステップS17の処理を実行して、取得された主題に、「07292019」という文字列と、「jpg」という拡張子とが付されている「Size_07292019.jpg」というファイル名を生成する。
【0123】
ステップS17の処理後、制御部10は、ファイル名生成処理を終了する。制御部10は、ファイル名生成処理によって生成されているファイル名を入力されている画像ファイルに付して、当該画像ファイルをHDD17に記憶させる。
【0124】
なお、第1割合の値が第2割合の値よりも大きく、かつ、第1割合と第2割合との差を示す値が予め定められた値以下である場合においても、制御部10は、
図15を用いて示した上記の例と同様の処理を実行する。
【0125】
また、ファイル名生成機能が無効に設定されている場合は、制御部10は、ファイル名生成機能が有効に設定されていないと判定し(ステップS10にてNO)、ファイル名生成処理を終了する。この場合、制御部10は、ユーザーによって操作部16を介して入力されるファイル名を受付け、受付けられたファイル名を画像ファイルに付して、当該画像ファイルをHDD17に記憶させる。
【0126】
上記実施形態によれば、制御部10は、原稿画像50が、画像部分51を含み、かつ文字部分を含まない場合に、第1学習モデルを用いて、画像部分51の特徴に応じた分類名を主題として取得する。制御部10は、原稿画像80が、文字部分81を含み、かつ、画像部分を含まない場合に、第2学習モデルを用いて、文字部分81に含まれる文字列81Aに応じた分類名を主題として取得する。制御部10は、取得された主題を含むファイル名を、画像ファイルのファイル名として生成する。
【0127】
これによって、ユーザーは、原稿画像に文字部分が含まれていない場合であっても、画像部分に応じたファイル名を取得できる。ユーザーはまた、原稿画像の文字部分に、例えばフォントサイズ又は色彩等の予め定められた条件を満たす文字列が存在していない場合であっても、当該文字部分に応じたファイル名を取得できる。
【0128】
また上記実施形態によれば、制御部10は、原稿画像110が文字部分111と画像部分112とを含む場合であって、文字部分111のサイズが画像部分112のサイズよりも大きく、かつ、文字部分111のサイズと画像部分112のサイズとの差を示す値が予め定められた値を超えている場合には、第2学習モデルを用いて、文字部分111に含まれる文字列111Aに応じた分類名を主題として取得する。
【0129】
制御部10はまた、原稿画像130が文字部分131と画像部分132とを含む場合であって、画像部分132のサイズが文字部分131のサイズよりも大きく、かつ、画像部分132のサイズと文字部分131のサイズとの差を示す値が予め定められた値を超えている場合には、第1学習モデルを用いて、画像部分132の特徴に応じた分類名を主題として取得する。
【0130】
これによって、ユーザーは、原稿画像の多くを占めている部分に応じたファイル名を取得できる。したがって、ユーザーは、ファイル名を確認することによって、原稿画像の内容をより一層適切に把握できる。
【0131】
また上記実施形態によれば、制御部10は、原稿画像60が複数の画像部分61,62を含む場合であって、取得された分類名が複数の画像部分61,62に共通している場合には、共通している分類名を主題として取得する。
【0132】
制御部10はまた、原稿画像70が複数の画像部分71,72を含む場合であって、取得された分類名が複数の画像部分71,72に共通していない場合には、共通していない最上層の分類名を全て含む文字列を主題として取得する。
【0133】
これによって、ユーザーは、原稿画像に含まれる複数の画像部分に応じたファイル名を取得できる。したがって、ユーザーは、ファイル名を確認することによって、原稿画像の内容をより一層適切に把握できる。
【0134】
また上記実施形態によれば、制御部10は、原稿画像90が複数の文字部分91,92を含む場合であって、取得された分類名が複数の文字部分91,92に共通している場合には、共通している分類名を主題として取得する。制御部10はまた、原稿画像101が複数の文字部分102,103を含む場合であって、取得された分類名が複数の文字部分102,103に共通していない場合には、共通していない最上層の分類名を全て含む文字列を、主題として取得する。
【0135】
これによって、ユーザーは、原稿画像に含まれる複数の文字部分に応じたファイル名を取得できる。したがって、ユーザーは、ファイル名を確認することによって、原稿画像の内容をより一層適切に把握できる。
【0136】
(第1の変形例)
上記実施形態では、制御部10は、OCR処理の結果に基づいて原稿画像が文字部分を含むか否かを判定し、画像部分抽出処理の結果に基づいて原稿画像が画像部分を含むか否かを判定したが、本発明はそのような実施形態に限定されない。第1の変形例では、制御部10は、HDD17に予め記憶されているテンプレート画像を用いたテンプレートマッチングを行なうことにより、上記2つの判定を行なう。
【0137】
この場合、制御部10は、第2学習モデルを用いた分類名の取得を行なう直前(すなわち、ステップS23の処理の直前)にステップS11のOCR処理を実行し、第1学習モデルを用いた分類名の取得を行なう直前(すなわち、ステップS14の処理の直前)に、ステップS13又はステップS21の画像部分抽出処理を実行する。
【0138】
第1の変形例によれば、文字部分151のサイズと画像部分152のサイズとの差を示す値が予め定められた値以下である場合に、制御部10が、第2学習モデルを用いた分類名の取得を優先することで、負荷の大きい画像部分抽出処理を実行することなくファイル名の生成を行なうことができるので、制御部10にかかる負荷を減らすことができる。
【0139】
(その他の変形例)
上記実施形態では、制御部10は、分類名を主題として取得したが、本発明はそのような実施形態に限定されない。制御部10は、主題として、画像部分の内容又は文字部分の内容を適切に示す、例えば題名等の名称を取得してもよい。
【0140】
また上記実施形態では、制御部10は、複数階層の分類名として、第1階層の分類名と第2階層の分類名と取得したが、本発明はそのような実施形態に限定されない。例えば、制御部10は、小分類を示す第1階層の分類名と、中分類を示す第2階層の分類名と、大分類を示す第3階層の分類名を取得してもよい。
【0141】
また上記実施形態では、画像読取部11及び制御部10が画像入力部として機能したが、本発明はそのような実施形態に限定されない。例えば、通信部22が画像入力部として機能してもよい。この場合、ネットワークを介して接続されているPC23等から送信されてくる画像ファイルが、通信部22を介して、画像形成装置1に入力される。
【0142】
また上記実施形態では、制御部10は、日付を示している文字列と拡張子とを主題に付してファイル名を生成したが、本発明はそのような実施形態に限定されない。例えば、制御部10は、ファイル名の生成順を示す通し番号を示す文字列と拡張子とを主題に付してファイル名を生成してもよいし、日付及び時間を示している文字列と拡張子とを主題に付してファイル名を生成してもよい。
【0143】
また上記実施形態では、制御部10は、ステップS16において、最下層の分類名をファイル名の主題として取得したが、本発明はそのような実施形態に限定されない。例えば、制御部10は、最上層の分類名を取得してもよい。
【0144】
また上記実施形態では、制御部10は、ステップS20において、共通していない最上層の分類名の全てを含む文字列を生成したが、本発明はそのような実施形態に限定されない。例えば、制御部10は、共通していない最下層の分類名の全てを含む文字列を生成してもよい。
【0145】
また上記実施形態では、制御部10は、文字部分151のサイズと画像部分152のサイズとの差を示す値が予め定められた値以下である場合には、第2学習モデルを用いた分類名の取得を行なったが、本発明はそのような実施形態に限定されない。例えば、制御部10は、上記の場合に、第1学習モデルを用いた分類名の取得を行なってもよい。
【0146】
また上記実施形態によれば、制御部10は、原稿画像が複数の画像部分を含む場合に(ステップS15にてYES)、ステップS18の処理、及び、ステップS19又はステップS20の処理を実行したが、本発明はそのような実施形態に限定されない。例えば、制御部10は、原稿画像が複数の画像部分を含む場合に(ステップS15にてYES)、サイズの最も大きい画像部分に応じた最下層又は最上層の分類名を主題として取得してもよい。
【0147】
また上記実施形態によれば、制御部10は、原稿画像が複数の文字部分を含む場合に(ステップS24にてYES)、ステップS25の処理、及び、ステップS19又はステップS20の処理を実行したが、本発明はそのような実施形態に限定されない。例えば、制御部10は、原稿画像が複数の文字部分を含む場合に(ステップS15にてYES)、サイズの最も大きい文字部分に応じた最下層又は最上層の分類名を主題として取得してもよい。
【0148】
また上記実施形態では、制御部10は、ステップS26において、全ての文字部分の面積の合計を第1面積として算出し、全ての画像部分の面積の合計を第2面積として算出したが、本発明はそのような実施形態に限定されない。例えば、制御部10は、最もサイズの大きい文字部分の面積を第1面積として算出し、最もサイズの大きい画像部分の面積を第2面積として算出してもよい。
【0149】
また上記実施形態では、ステップS17の処理後、制御部10は、生成されたファイル名が付されている画像ファイルをHDD17に記憶させたが、本発明はそのような実施形態に限定されない。例えば、制御部10は、操作部16を介して、画像ファイルの送信処理を実行するための実行指示を受付けている場合には、生成されたファイル名が付されている画像ファイルを、操作部16を介して指定されている送信先に送信してもよい。
【0150】
また上記実施形態では、HDD17は、第2学習モデルとして、入力された文字列に応じた複数階層の分類名を出力するように予め学習されているモデルを記憶していたが、本発明はそのような実施形態に限定されない。例えば、HDD17は、第2学習モデルとして、LDA(Latent Dirichlet Allocation)、すなわち潜在的ディリクレ配分法を用いたトピックモデルを記憶していてもよい。この場合、制御部10は、上記トピックモデルを用いて、文字部分に含まれる文字列に応じたメイントピックを主題として取得する。
【0151】
第2学習モデルとして上記したトピックモデルが用いられる場合、HDD17はさらに、例えば、領収書、名刺、及びリスト等の原稿画像に含まれる、トピックを含まない文字列に応じた主題を出力するためのテンプレートを、当該主題に対応付けて記憶していることが好ましい。HDD17は、例えば、「領収書」という主題に対応付けて「金額」、「内訳」、及び「消費税」等の文字列群をテンプレートとして記憶している。
【0152】
この場合、制御部10は、上記したトピックモデルを用いて主題を取得できない場合には、原稿画像に含まれる文字列とテンプレートとを照合し、当該文字列にテンプレートが含まれる場合には、テンプレートに対応付けられている主題を出力する。
【0153】
また上記実施形態では、画像部分は写真に対応している画像であったが、本発明はそのような実施形態に限定されない。画像部分としては、文字列を含んでおらず、かつ、画像認識処理によって認識可能な特徴を含む画像であれば特に限定されず、例えば、イラストに対応している画像であってもよい。
【0154】
また上記実施形態では、制御部10は、ステップS12、ステップS22、ステップS26、又はステップS27の処理の結果に応じて、第1学習モデルを用いた分類名の取得又は第2学習モデルを用いた分類名の取得を選択的に実行したが、本発明はそのような実施形態に限定されない。例えば、制御部10は、操作部16を介して入力される、いずれかの取得方法を示すユーザーの指示に従って、第1学習モデルを用いた分類名の取得又は第2学習モデルを用いた分類名の取得を実行してもよい。
【0155】
なお、本発明は上記実施形態の構成に限られず種々の変形が可能である。例えば、上記実施形態では、情報処理装置としてカラー複合機を用いているが、これは一例に過ぎず、モノクロ複合機、コピー機、又はファクシミリ装置等の他の画像形成装置が用いられてもよいし、PCが用いられてもよい。
【0156】
また、
図1乃至
図15を用いて示した上記実施形態の構成及び処理は、本発明の一実施形態に過ぎず、本発明を当該構成及び処理に限定する趣旨ではない。
【符号の説明】
【0157】
1 画像形成装置
10 制御部
11 画像読取部
17 HDD
22 通信部