(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-13
(45)【発行日】2023-12-21
(54)【発明の名称】画像読取装置、判定方法及びプログラム
(51)【国際特許分類】
H04N 1/00 20060101AFI20231214BHJP
【FI】
H04N1/00 567J
H04N1/00 C
(21)【出願番号】P 2019177784
(22)【出願日】2019-09-27
【審査請求日】2022-09-16
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】有馬 真
【審査官】橘 高志
(56)【参考文献】
【文献】特開2008-123528(JP,A)
【文献】特開2008-278307(JP,A)
【文献】特開2018-037996(JP,A)
【文献】特開平03-274196(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
複数頁からなる対象原稿の各頁を順次読取って各頁の読取画像を生成する読取部と、
学習用原稿の各頁の画像に基づく入力データと、各頁に記述されている連続番号要素の値を示す教師データとを用いた機械学習を通じて導出された学習済みモデルに、前記対象原稿の各読取画像に基づく検出用データを適用することにより、各読取画像に記述されている前記連続番号要素の値を検出する検出部と、
前記対象原稿の第1読取画像について前記検出部により検出された前記連続番号要素の値と第2読取画像について前記検出部により検出された前記連続番号要素の値との間の関係性に基づいて、前記第1読取画像と前記第2読取画像との間に頁欠損があるかを判定する判定部と、
を備
え、
前記検出部は、各読取画像に記述されている連続番号要素の当該読取画像内での最小値及び最大値を検出し、
前記判定部は、前記第1読取画像において検出された前記最大値と前記第2読取画像において検出された前記最小値との間、又は前記第1読取画像において検出された前記最小値と前記第2読取画像において検出された前記最大値との間に番号の欠損がある場合に、前記第1読取画像と前記第2読取画像との間に頁欠損があると判定する、
画像読取装置。
【請求項2】
請求項
1に記載の画像読取装置であって、
前記連続番号要素は、少なくとも1種類の非頁番号要素を含む、
画像読取装置。
【請求項3】
請求項
2に記載の画像読取装置であって、
前記非頁番号要素は、章番号要素、図番号要素、表番号要素、又は数式番号要素を含む、
画像読取装置。
【請求項4】
請求項
2又は
3に記載の画像読取装置であって、
前記連続番号要素は、頁番号要素と、前記少なくとも1種類の非頁番号要素とを含み、
前記検出部は、前記頁番号要素及び前記非頁番号要素の種類ごとに、各読取画像に記述されている前記最小値及び前記最大値を検出し、
前記判定部は、前記頁番号要素についての前記最小値及び前記最大値に基づいて頁欠損があるかを判定できない場合に、前記非頁番号要素についての前記最小値及び前記最大値に基づいて頁欠損があるかを判定する、
画像読取装置。
【請求項5】
請求項1乃至
4のいずれか1項に記載の画像読取装置であって、
前記対象原稿の前記読取画像に頁欠損があると前記判定部により判定された場合に、頁欠損が発生したことをユーザへ通知する制御部、
をさらに備える、画像読取装置。
【請求項6】
請求項
5に記載の画像読取装置であって、
前記制御部は、頁欠損が発生したことを通知するメッセージと共に、欠損したと判定された頁の直前及び直後の読取画像のプレビューを画面上に表示させる、
画像読取装置。
【請求項7】
請求項1乃至
6のいずれか1項に記載の画像読取装置であって、
前記対象原稿の前記読取画像に頁欠損があると前記判定部により判定された場合に、前記読取部に後続頁の読取りを一時停止させ、前記後続頁の読取りを続行するか否かをユーザへ問合せる制御部、
をさらに備える、画像読取装置。
【請求項8】
複数頁からなる対象原稿の読取画像に頁欠損があるかを判定するための判定方法であって、
前記対象原稿の各頁を順次読取って各頁の読取画像を生成することと、
学習用原稿の各頁の画像に基づく入力データと、各頁に記述されている連続番号要素の値を示す教師データとを用いた機械学習を通じて導出された学習済みモデルに、前記対象原稿の各読取画像に基づく検出用データを適用することにより、各読取画像に記述されている前記連続番号要素の値を検出することと、
前記対象原稿の第1読取画像について検出された前記連続番号要素の値と第2読取画像について検出された前記連続番号要素の値との間の関係性に基づいて、前記第1読取画像と前記第2読取画像との間に頁欠損があるかを判定することと、
を含み、
検出される前記連続番号要素の値は、各読取画像に記述されている連続番号要素の当該読取画像内での最小値及び最大値を含み、
前記頁欠損があるかを判定することは、前記第1読取画像において検出された前記最大値と前記第2読取画像において検出された前記最小値との間、又は前記第1読取画像において検出された前記最小値と前記第2読取画像において検出された前記最大値との間に番号の欠損がある場合に、前記第1読取画像と前記第2読取画像との間に頁欠損があると判定することを含む、
判定方法。
【請求項9】
プロセッサに、請求項
8に記載の判定方法を行わせるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像読取装置、判定方法及びプログラムに関する。
【背景技術】
【0002】
原稿トレイに載置された複数頁からなる原稿の各頁をオートドキュメントフィーダ(ADF)で搬送しつつ各頁を順次読取るスキャナデバイスが一般に知られている。ユーザは、ADFを用いる代わりに、原稿を頁をめくりながら圧板でカバーされる原稿台に繰り返し載置して読取りを進めることで、複数頁にわたる読取画像を得ることもできる。自動的に頁をめくる手段を具備するスキャナデバイスも存在する。
【0003】
これらスキャナデバイスにおいて、原稿の各頁を順次読取る際、ADFの「重送」又はユーザ若しくはデバイスによる頁めくりの失敗に起因して、一連の読取画像に頁の欠損が発生することがある。「重送」とは、複数のシートが重なった状態でADFがそれらシートを搬送してしまう現象をいう。あるいは、ユーザが原稿トレイに載置した原稿自体に本来必要とされる頁が欠けている可能性もある。一連の読取画像に頁欠損がある場合、画像データのみから欠損した頁を復元することは不可能であり、頁欠損を解消するためには正しい原稿を再度スキャナデバイスに読取らせることを要する。
【0004】
特許文献1は、原稿が頁欠損無く正確に読取られたかを判定するために、読取画像の各々に含まれる頁番号をレイアウト解析及び文字認識に基づいて抽出し、抽出した頁番号から算出される頁数と読取り時に計数した原稿の枚数とを比較する手法を提案している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、頁番号のみに依拠して頁欠損を判定する手法では、頁番号を含まない原稿について頁欠損を判定できない。
【0007】
そこで、本開示は、頁番号以外の原稿に含まれる情報をも考慮して、原稿の読取画像における頁欠損の有無を精度よく判定することを目的とする。
【課題を解決するための手段】
【0009】
ある観点によれば、複数頁からなる対象原稿の各頁を順次読取って各頁の読取画像を生成する読取部と、学習用原稿の各頁の画像に基づく入力データと、各頁に記述されている連続番号要素の値を示す教師データとを用いた機械学習を通じて導出された学習済みモデルに、前記対象原稿の各読取画像に基づく検出用データを適用することにより、各読取画像に記述されている前記連続番号要素の値を検出する検出部と、前記対象原稿の第1読取画像について前記検出部により検出された前記連続番号要素の値と第2読取画像について前記検出部により検出された前記連続番号要素の値との間の関係性に基づいて、前記第1読取画像と前記第2読取画像との間に頁欠損があるかを判定する判定部と、を備え、前記検出部は、各読取画像に記述されている連続番号要素の当該読取画像内での最小値及び最大値を検出し、前記判定部は、前記第1読取画像において検出された前記最大値と前記第2読取画像において検出された前記最小値との間、又は前記第1読取画像において検出された前記最小値と前記第2読取画像において検出された前記最大値との間に番号の欠損がある場合に、前記第1読取画像と前記第2読取画像との間に頁欠損があると判定する、画像読取装置が提供される。
【発明の効果】
【0012】
本開示によれば、頁番号以外の原稿に含まれる情報をも考慮して、原稿の読取画像における頁欠損の有無を精度よく判定することが可能となる。
【図面の簡単な説明】
【0013】
【
図1】一実施形態に係る画像読取部の構成の一例を示す概略図。
【
図2】
図1に示した画像読取部を有する画像読取装置の機能構成の一例を示すブロック図。
【
図3】
図2に示した欠損判定部の第1実施例に係る詳細な構成の一例を示すブロック図。
【
図4】第1実施例に係る学習の仕組みについて説明するための説明図。
【
図5】第1実施例において使用され得る学習用データの一例について説明するための説明図。
【
図6】頁欠損があると判定された場合に画面上に表示され得るGUIの一例を示す説明図。
【
図7】頁欠損後に読取りを再実行する場合に画面上に表示され得るGUIの一例を示す説明図。
【
図8】第1実施例に係る学習段階の処理の流れの一例を示すフローチャート。
【
図9】第1実施例に係る読取段階の処理の流れの一例を示すフローチャート。
【
図10】
図2に示した欠損判定部の第2実施例に係る詳細な構成の一例を示すブロック図。
【
図11】第2実施例に係る学習の仕組みについて説明するための説明図。
【
図12】第2実施例において使用され得る学習用データの一例について説明するための説明図。
【
図13】第2実施例に係る学習段階の処理の流れの一例を示すフローチャート。
【
図14】第2実施例に係る読取段階の処理の流れの一例を示すフローチャート。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一の又は同様の構成に同一の参照番号を付し、重複した説明は省略される。
【0015】
<<1.基本的な構成例>>
本節では、本開示に係る技術がスキャナデバイスに代表される画像読取装置に適用される例を主に説明する。本開示に係る技術は、画像読取機能を有する複合機に適用されてもよい。特に説明の無い限り、以下に説明する装置、デバイス、モジュール及びチップといった構成要素の各々は、単一のエンティティで構成されてもよく、又は物理的に異なる複数のエンティティから構成されてもよい。
【0016】
図1は、一実施形態に係る画像読取部100の構成の一例を示す概略図である。ここでは、一例として、画像読取部100は、ADFにより搬送されるシートを読取る流し読みモード、及び原稿台に載置されるシートを読取る固定読取モードの双方に対応する。
【0017】
原稿トレイ101には、原稿102が載置される。原稿102は、複数のシートの束であり得る。本明細書では、こうしたシートの各々、即ち物理頁を、単に「頁」という。例えば、複数の論理頁からなる電子文書の2つの論理頁が1枚のシートへ集約的に印刷されている場合、その1枚のシートを1頁と呼ぶ。
【0018】
原稿トレイ101の先端部(図中左側)の上方には、給紙ローラ103が配設される。給紙ローラ103は、上下方向に揺動可能なアーム(図示せず)により軸支される。給紙ローラ103は、待機状態において、原稿トレイ101へ載置される原稿に干渉しない程度にトレイ面から上方に位置付けられるホームポジションに退避している。給紙ローラ103の搬送方向前方には、分離搬送ローラ104及び分離搬送従動ローラ105のペア(分離部ともいう)が配設される。給紙ローラ103及び分離搬送ローラ104は、同一の駆動源へ接続される。給紙動作が開始されると、給紙ローラ103は、下降して原稿102の上面に当接し、駆動源により駆動されて回転して、原稿102を分離部へ供給する。分離搬送従動ローラ105は、分離搬送ローラ104より僅かに摩擦の少ないゴム材などの弾性材料から形成されており、分離搬送ローラ104側へ付勢されている。分離搬送従動ローラ105は、分離搬送ローラ104と協働して、給紙ローラ103により供給される原稿102の各シートを分離搬送する。分離部の搬送方向前方には、レジストローラ106及びレジスト従動ローラ107のペア、並びにリードローラ108及びリード従動ローラ109のペアが配設される。レジストローラ106及びレジスト従動ローラ107は、搬送されて来たシートの先端を静止しているそれぞれのローラのニップ部(図示せず)へ向けて突き当てることにより、シートにループを生じさせてシートの先端を揃える。リードローラ108及びリード従動ローラ109は、レジストローラペアから供給されるシートを流し読みガラス116へ向けて搬送する。流し読みガラス116の対向位置にはプラテンローラ110が配設される。流し読みガラス116上を通過するシートは、流し読みガラス116を通じて光を照射され、その反射光が後述するCCDラインセンサ126により読取られる。流し読みガラス116上を通過したシートは、ジャンプ台117により掬い上げられ、リード排出ローラ111及びリード排出従動ローラ112のペアにより排出ローラ113へ向けて搬送される。排出ローラ113は、搬送されて来たシートを排紙トレイ114へ排出する。
【0019】
上述した搬送系の下には、光学系115が配設される。光学系115は、シート表面に光を照射するランプ119、並びに、シートからの反射光をレンズ125及びCCDラインセンサ126へ誘導する一群のミラー120、121、122を有する。ランプ119及びミラー120は、第1ミラー台123に取り付けられており、ミラー121及び122は、第2ミラー台124に取り付けられている。ミラー台123、124は、ワイヤ(図示せず)を介して駆動モータ(図示せず)により駆動されて、原稿台ガラス118と平行に移動可能である。原稿台ガラス118の一端には、読取輝度の基準となる基準白板127が取り付けられている。シートからの反射光は、ミラー120、121、122を介してレンズ125へ誘導され、レンズ125を介してCCDラインセンサ126の受光面に結像する。CCDラインセンサ126は、結像した光を受光素子で光電変換して、電気信号である読取画像信号を出力する。流し読みモードでは、第1ミラー台123及び第2ミラー台124が停止した状態で、流し読みガラス116上を通過するシートからの反射光の像がCCDラインセンサ126により捕捉される。固定読取モードでは、第1ミラー台123及び第2ミラー台124が平行移動しながら、原稿台ガラス118上に載置されるシートからの反射光の像がCCDラインセンサ126により捕捉される。
【0020】
流し読みモードにおいて、複数のシートが重なった状態で搬送された場合(即ち、重送の場合)、CCDラインセンサ126は、流し読みガラス116上で最下方にあるシートからの反射光しか読取ることができない。この場合、原稿102において連続しているはずの頁のうちの一部が読取られず、一連の読取画像に頁欠損が発生する。あるいは、ユーザが原稿トレイに原稿102を載置した時点で、本来必要とされる頁が欠けている可能性もある。固定読取モードにおいても、ユーザが原稿台上の原稿の頁をめくる際に誤って頁をとばしてめくってしまう可能性がある。こうした原因で一連の読取画像に頁欠損が発生すると、不適切な画像データがユーザへ提供されることになる。そこで、以下に説明するように、一実施形態に係る画像読取装置10は、読取画像に頁欠損があるか否かを、機械学習技術を利用して判定する。
【0021】
図2は、
図1に示した画像読取部100を有する画像読取装置10の機能構成の一例を示すブロック図である。
図2を参照すると、画像読取装置10は、画像読取部100、制御部130、操作部140及び欠損判定部150を備える。
【0022】
制御部130は、画像読取装置10の動作の全般を制御するコントローラである。より具体的には、制御部130は、CPU211、RAM212、ROM213、HDD214、NW I/F215及び画像処理部216を含む。CPU211は、ROM213又はHDD214に記憶されるコンピュータプログラムをRAM212へロードして実行するプロセッサである。CPU211は、例えば、原稿の読取りのために、画像読取部100の各部を駆動する駆動信号を画像読取部100へ出力する。また、CPU211は、学習段階において、頁欠損判定用のモデルを導出するための学習処理を欠損判定部150に実行させる。また、CPU211は、読取段階において、事前の学習を通じて導出された学習済みモデルを用いて、読取画像に頁欠損があるかを欠損判定部150に判定させる。RAM212は、所謂メインメモリであり、一時的な記憶領域をCPU211へ提供する。ROM213は、不揮発性メモリであり、CPU211により実行されるプログラムのいくつかを記憶する。HDD214は、所謂補助記憶デバイスであり、様々なプログラム、設定データ及び画像データを記憶する。ネットワーク(NW)インタフェース(I/F)215は、画像読取装置10によるネットワークを介する他の装置との通信のためのインタフェースである。NW I/F215は、有線通信インタフェースであってもよく、又は無線通信インタフェースであってもよい。画像処理部216は、画像処理に専用のプロセッサであり、画像読取部100により生成される読取画像データについて、回転、サイズ変換、圧縮符号化及びフォーマット変換といった様々な画像処理を行う。
【0023】
画像読取部100は、複数頁からなる対象原稿の各頁を順次読取って各頁の読取画像を生成するユニットである。より具体的には、画像読取部100は、
図1に示したCCDラインセンサ126に加えて、ADC201、シェーディングメモリ202及びシェーディング回路203を含む。CCDラインセンサ126は、CPU211からの駆動信号に従って、アナログ電気信号である読取画像信号を生成して、生成した読取画像信号をADC201へ出力する。アナログ-デジタル変換器(ADC)201は、アナログ形式の読取画像信号をデジタル形式の読取画像データへ変換して、読取画像データをシェーディング回路203へ出力する。シェーディングメモリ202は、CCDラインセンサ126の感度ムラの影響を補正するためのシェーディング係数を予め記憶するメモリである。シェーディング回路203は、シェーディングメモリ202に記憶されているシェーディング係数に従って、読取画像データを補正する。このようにして画像読取部100により生成される読取画像データは、読取られた頁ごとに、制御部130及び欠損判定部150へ出力される。制御部130へ出力された読取画像データは、画像処理部216によりさらに処理されて、例えばHDD214に保存され、又はNW I/F215を介して他の装置へ送信され得る。
【0024】
操作部140は、画像読取装置10に対するユーザ操作を受付け、及び情報をユーザへ提示するためのユニットである。より具体的には、操作部140は、入力デバイス221及び表示デバイス222を含む。入力デバイス221は、例えばボタン、スイッチ及びタッチセンサのうちの1つ以上を含み、ユーザ操作を受付ける。表示デバイス222は、
例えばLCD(Liquid Crystal Display)又はOLED(Organic Light Emitting Display)であってよく、画像及び視覚的な情報を画面上に表示する。
【0025】
欠損判定部150は、画像読取部100により生成された原稿の一連の読取画像に頁欠損があるか否かを判定するためのモジュールである。
図2では、説明の便宜上、欠損判定部150を画像読取部100及び制御部130とは別個のモジュールとして示している。しかしながら、実際には、以下に説明する欠損判定部150の機能の一部又は全部は、例えばCPU211により実行されるソフトウェアモジュールにより実現されてもよい。また、画像読取部100におけるデジタル信号処理(例えば、シェーディング)が、欠損判定部150における処理と共に専用の処理回路(例えば、ASIC)で実現されてもよい。本実施形態において、欠損判定部150は、上述したように、読取画像に頁欠損があるか否かを、機械学習技術を利用して判定する。次節で説明する第1実施例では、欠損判定部150は、対象原稿について連続して生成された読取画像ペアに頁欠損があるか否かを、機械学習技術を利用して算出される確率に基づいて判定する。さらに次の節で説明する第2実施例では、欠損判定部150は、各読取画像に記述されている連続番号要素の値を機械学習技術を利用して検出し、検出した値の間の関係性に基づいて頁欠損の有無を判定する。いずれのケースでも、頁番号以外の原稿に含まれる情報が判定において考慮されることになり、多様な原稿について良好な精度で頁欠損の有無を判定することが可能となる。
【0026】
<<2.第1実施例>>
図3は、
図2に示した欠損判定部150の第1実施例に係る詳細な構成の一例を示すブロック図である。
図3を参照すると、欠損判定部150は、前処理部301、データメモリ302、学習部303、モデル記憶部304及び判定部305を含む。
【0027】
前処理部301は、画像読取部100から入力される読取画像の各々に基づいて、学習処理へ入力されるべき入力データ、又は学習済みモデルへ適用されるべき判定用データを生成するための前処理(符号化処理ともいう)を実行する。典型的には、入力用データ及び判定用データは、各読取画像についての文字オブジェクトの集合を含む。例えば、前処理部301は、公知の光学文字認識(OCR)技術を利用して、各画像内の文字を認識することができる。各文字オブジェクトは、例えば、各文字が認識された頁内の位置を示す頁内座標データ、各文字を識別する文字コードデータ、及び、各文字の視覚的な属性を示す文字属性データを含み得る。各文字の視覚的な属性とは、例えば、フォント種別、文字サイズ及び色のうちの1つ以上を含み得る。入力用データ及び判定用データは、さらに、各読取画像についての画像オブジェクトの集合を含んでもよい。画像オブジェクトは、読取画像に含まれる文字ではない画像要素に対応し、例えば画像要素の頁内の位置を示す頁内座標データと、画像を符号化したベクトルデータとを含み得る。前処理部301は、各読取画像について生成した文字オブジェクトの集合及び画像オブジェクトの集合を含むデータセットを、各読取画像に基づく入力データ又は判定用データとして、データメモリ302に記憶させる。後述する学習処理では、2つの読取画像のペアに基づく2つの上記データセットが、1単位の学習用の入力データとして扱われる。同様に、頁欠損の判定においては、連続して生成された2つの読取画像のペア、即ち画像読取部100から相前後して入力される読取画像のペアについての上記データセットが、1単位の判定用データとして学習済みモデルに適用される。
【0028】
データメモリ302は、前処理部301により生成される、読取画像ごとの上記データセットを、各読取画像を識別する識別情報(例えば、シーケンス番号)に関連付けて記憶する。
【0029】
学習部303は、原稿の読取画像に頁欠損があるかを判定するための学習済みモデルを機械学習を通じて導出するための教師あり学習処理を実行する。以下では、学習アルゴリズムとして、ニューラルネットワーク(多層ニューラルネットワークを用いるディープラーニングを含む)を利用した回帰型のアルゴリズムを利用する例を主に説明する。しかしながら、本実施例は、サポートベクタマシン及び決定木といった、2クラス分類型の学習アルゴリズムにも適用可能である。学習処理の入力データは、学習用原稿の連続する頁の画像ペア及び学習用原稿の連続しない頁の画像ペアに基づいて前処理部301により生成される入力データである。学習処理の教師データは、各画像ペアが連続する頁のペアであるか否かを示す正解のデータである。
【0030】
図4は、本実施例に係る学習の仕組みについて説明するための説明図である。
図4には、入力層、3つの中間層及び出力層からなる一例としてのニューラルネットワークモデルが示されている。入力層は、2つの読取画像411、421に基づく2つのデータセット412、422のデータ要素に対応する複数のノードからなる。中間層の各々もまた複数のノードを有し、各ノードには重み及びバイアスといったモデルパラメータが割り当てられる。モデルパラメータは、層間で値を伝搬するための演算に使用され、例えば2番目の中間層のノードb1の値は次式のように算出され得る:
b1=α×a1+β×a2+γ×a3+...
ここで、α、β及びγが重みを表し、バイアスは式中で省略されている。なお、上の式は線形結合を表しているが、実際には非線形的な演算が行われ得る。一時的に各ノードに割り当てられたモデルパラメータに従って、1セットの入力データから出力層を構成するノードの値が算出され得る。
図4の例では、出力層は、「頁欠損なし」の推定確率Y1及び「頁欠損あり」の推定確率Y2をそれぞれ表す2つのノードからなる。推定確率Y1、Y2は、0から1の範囲の値をとる。学習処理では、頁欠損の有無が既知である多数の読取画像411、421のペアが用意され、ペアごとに順次出力層の推定確率が算出される。頁欠損の有無は、教師データにより示され、頁欠損ありのペアについてはY1=
0.0、Y2=
1.0、頁欠損なしのペアについてはY1=
1.0、Y2=
0.0である。1つのペアについて推定確率が算出されると、正解値に対するその推定確率の損失Lが最小化されるように、モデルパラメータが調整される。損失Lは、例えば次のような損失関数に従って算出され得る:
L=1-Y1 (頁欠損なしの入力データの場合)
L=1-Y2 (頁欠損ありの入力データの場合)
学習部303は、多数の読取画像ペアの各々についてこのような推定確率の算出及びモデルパラメータの調整を学習が充分に収束したと判定されるまで(又は反復回数が上限値に達するまで)繰り返す。そして、学習部303は、学習処理が終了すると、学習済みモデル、即ち、モデルパラメータのセットをモデル記憶部304に記憶させる。
【0031】
図5は、本実施例において使用され得る学習用データの一例について説明するための説明図である。
図5の上段に示した学習用原稿500は複数頁からなり、学習用原稿500を読取ることで生成された読取画像501、502、503、504、505…には頁欠損が無いことが保証されているものとする。
図5の中段に示した表510は、学習用原稿500のうちの連続する頁のペアのリストであり、各ペアについて推定確率の期待値(即ち、教師データ)が示されている。表510に列挙したペアは全て、頁欠損を含まないため、推定確率Y1=1.0及びY2=0.0を期待値とする。
図5の下段に示した表520は、学習用原稿500のうちの連続しない頁のペアのリストであり、各ペアについて推定確率の期待値(即ち、教師データ)が示されている。表520に列挙したペアは全て、推定確率Y1=0.0及び推定確率Y2=1.0を期待値とする。このように、頁欠損が無いことが分かっている一連の読取画像から頁の連続する画像ペア及び頁の連続しない画像ペアを順次取り出して学習に用いることで、人為的に頁欠損を発生させる必要無く、効率的に学習処理を遂行することができる。
【0032】
なお、原稿の読取りは、頁の昇順で行われることも、頁の降順で行われることもあり得る。そこで、同じ2つの読取画像について順序を入れ替えて2回学習処理に入力することが、読取順序の不確実性に対処するために有益である。
図5の例では、表510に列挙されたペアID=1-1及び1-5、並びにペアID=1-2及び1-6が、順序のみが異なる画像ペアに該当する。
【0033】
また、同一の原稿内で互いに頁の近い読取画像のペアほど、内容面での類似性が高く、頁欠損があっても頁欠損なしと誤って判定される可能性が高いものと想定される。そこで、同一の原稿内で連続しないものの互いに頁の近いペアを優先的に学習処理に使用することで、学習済みモデルの精度を効率的に高めることができる。また、頁欠損は1枚のシートの欠損として発生することが多いが、両面印刷されたシートが欠けた場合には一度に論理頁2頁分の欠損となる。そこで、論理頁1頁のみが間に欠損した画像ペアのみならず、論理頁2頁が間に欠損した画像ペアをも学習処理に使用することが好適である。
図5の例では、論理頁1頁のみが間に欠損した3つの画像ペア(ペアID=2-1、2-2、2-3)、及び論理頁2頁が間に欠損した2つの画像ペア(ペアID=3-1、3-2)が、優先的に使用され得るペアとして表520に列挙されている。
【0034】
なお、学習用データを準備する手法は、上述した例には限定されない。即ち、複数頁からなる学習用原稿から抽出される任意の2頁の読取画像のペアが学習処理に使用されてよい。また、異なる2つの学習用原稿から抽出される読取画像のペアが学習処理に使用されてもよい。
【0035】
モデル記憶部304は、学習部303により導出された学習済みモデルのモデルパラメータの値のセットを記憶する。なお、学習済みモデルが専用の論理回路として実現される場合には、導出されたモデルパラメータの値が学習済みモデルを表現する論理回路に実装され得る。
【0036】
判定部305は、モデル記憶部304に記憶されている学習済みモデルに、対象原稿から連続して生成された読取画像のペアに基づく判定用データを適用することにより、対象原稿の読取画像に頁欠損があるかを判定する。例えば、判定部305は、画像読取部100により順次生成される読取画像のうちの連続する画像ペアについて前処理部301により生成された判定用データをデータメモリ302から読出す。そして、判定部305は、読出した判定用データを
図4を用いて説明したニューラルネットワークモデルに適用することにより、上述した推定確率Y1及びY2を算出する。判定部305は、算出した推定確率Y1又はY2を、予め決定される判定閾値と比較する。推定確率Y1が判定閾値を下回る場合(又は推定確率Y2が判定閾値を上回る場合)、判定部305は、読取画像のペアに頁欠損があると判定し得る。一方、推定確率Y1が判定閾値を上回る場合(又は推定確率Y2が判定閾値を下回る場合)、判定部305は、読取画像のペアに頁欠損は無いと判定し得る。判定部305は、こうした判定の結果を制御部130へ出力する。
【0037】
判定部305は、上述した判定を、対象原稿について最後に生成される読取画像まで繰り返す。全ての画像ペアについて判定部305により頁欠損が無いと判定された場合には、対象原稿の読取りは正常に終了する。一方、対象原稿の読取画像に頁欠損があると判定部305により判定された場合、制御部130は、画像読取部100に後続頁の読取りを一時停止させる。この場合、制御部130は、頁欠損が発生したことをユーザへ通知してもよい。ユーザへの通知は、表示デバイス222の画面上にメッセージを表示することにより行われてもよく、又はNW I/F215を介して特定のアカウントへメッセージを送信することにより行われてもよい。
【0038】
図6は、頁欠損があると判定された場合に画面上に表示され得るGUI(Graphical User Interface)の一例を示す説明図である。
図6に示したGUI600は、頁欠損が発生したことを通知するメッセージと共に、欠損したと判定された頁の直前の読取画像のプレビュー601及び直後の読取画像のプレビュー60
2を含む。さらに、GUI600は、読取り中止ボタン611及び続行ボタン612を含む。ユーザは、プレビュー601及び602を見て、実際に頁欠損が発生していると判断される場合、読取り中止ボタン611を選択(例えば、タップ)して、画像読取装置10に後続頁の読取りの中止を指示することができる。また、ユーザは、プレビュー601及び602を見て、頁欠損の検出は誤りであると判断される場合、続行ボタン612を選択して、画像読取装置10に後続頁の読取りの続行を指示することができる。このように、頁欠損検出時にプレビューの表示と共に後続頁の読取りを続行するか否かをユーザへ問合せることにより、本来は中止すべきではなかった読取りが判定の不正確さに起因して中止してしまうといったユーザの不都合を回避することができる。
【0039】
GUI600の続行ボタン612の選択は、GUI600の通知をトリガした頁欠損の判定が誤りであったことを示すユーザ入力であると解釈され得る。そこで、制御部130は、続行ボタン612が選択されたことに応じて、誤判定に対応する読取画像ペア(プレビュー601、602が示す画像ペア)に基づく判定用データを入力データとして用いて、学習部303に学習処理を追加的に実行させてもよい。この場合の教師データは、頁欠損なしを示す。追加的な学習が行われた後、モデル記憶部304に記憶されている学習済みモデルが更新され得る。
【0040】
図7は、頁欠損後に読取りを再実行する場合に画面上に表示され得るGUIの一例を示す説明図である。
図7に示したGUI700は、例えば
図6のGUI600においてユーザが読取り中止ボタン611を選択した後に表示デバイス222の画面上に表示され得る。GUI700は、検出された頁欠損の直前の読取画像のプレビュー701(実質的に、GUI600のプレビュー601と同一である)と共に、後続頁が追加された原稿をADFにセットすることをユーザに促すメッセージを含む。さらに、GUI700は、キャンセルボタン711及び開始ボタン712を含む。ユーザは、プレビュー701から認識される対象原稿の頁に後続する欠落した頁を原稿に追加して、原稿をADFにセットし、開始ボタン712を選択することにより、頁欠損の解消された状態で画像読取装置10に対象原稿の読取りを再実行させることができる。当然ながら、ユーザは、欠損した頁を有しないなどの理由で、キャンセルボタン711を選択して読取りを取りやめてもよい。
【0041】
図8は、本実施例に係る学習段階の処理の流れの一例を示すフローチャートである。
図8に示した処理は、別段の記述がされない限り、RAM212へロードされるコンピュータプログラムを実行するCPU211による制御の下で行われる。なお、以下の説明では、処理ステップをS(ステップ)と略記する。
【0042】
まず、S801で、前処理部301は、各々複数頁からなる1つ以上の学習用原稿の読取画像を取得する。ここで取得される読取画像には頁欠損が無いことが保証されているものとする。学習用原稿の読取画像は、画像読取部100により生成されてもよく、又は学習処理に先立って他の装置において予め生成されていてもよい。
【0043】
次いで、S803で、前処理部301は、取得した読取原稿の各々に基づく入力データを生成する。例えば、前処理部301は、各読取画像について、画像内で認識される文字の文字オブジェクトの集合と、画像オブジェクトの集合とを含むデータセットを生成する。前処理部301は、生成した入力データをデータメモリ302に記憶させる。
【0044】
次いで、S805で、制御部130は、学習処理において使用する画像ペアのリストを生成する。画像ペアのリストは、学習用原稿の連続する頁の画像ペアを含み、これら画像ペアには頁欠損なしを示す教師データが関連付けられる。画像ペアのリストは、さらに、学習用原稿の連続しない頁の画像ペアを含み、これら画像ペアには頁欠損ありを示す教師データが関連付けられる。
【0045】
次いで、S807で、学習部303は、ニューラルネットワークモデルを初期化する。なお、既存の学習済みモデルを更新する場合には、ここで既存の学習済みモデルのモデルパラメータがニューラルネットワークモデルに展開されてもよい。
【0046】
次いで、S809で、学習部303は、S805で生成されたリスト内の1つの画像ペアに基づく入力データ及び教師データ(頁欠損あり又はなし)を用いて、モデルパラメータを更新する。この処理は、S811で例えばリスト内に次の画像ペアが残されていないと判定されるまで繰り返され得る。
【0047】
S809の繰り返しが終了すると、S813で、学習部303は、繰り返しを通じて導出された学習済みモデルをモデル記憶部304に記憶させる(又は、モデル記憶部304に記憶されているモデルパラメータを更新する)。
【0048】
図9は、本実施例に係る読取段階の処理の流れの一例を示すフローチャートである。
図9に示した処理は、別段の記述がされない限り、RAM212へロードされるコンピュータプログラムを実行するCPU211による制御の下で行われる。
【0049】
まず、S901で、画像読取部100は、対象原稿の1頁分の読取りを実行し、読取画像を生成する。読取画像は、画像読取部100から制御部130及び欠損判定部150へ出力される。
【0050】
次いで、S903で、欠損判定部150の前処理部301は、画像読取部100から入力された読取画像に基づく判定用データを生成する。例えば、前処理部301は、読取画像内で認識される文字の文字オブジェクトの集合と、画像オブジェクトの集合とを含むデータセットを生成する。前処理部301は、生成した判定用データをデータメモリ302に記憶させる。
【0051】
読取られたシートが対象原稿の最初のシートである場合には、上のS901及びS903はもう一度繰り返され(S905)、2番目のシートの読取画像に基づく判定用データが生成される。
【0052】
次いで、S907で、判定部305は、直前の及び現在の読取画像のペアに基づく判定用データを、モデル記憶部304に記憶されている学習済みモデルに適用することにより、直前の及び現在のシートの間に頁欠損があるかを判定する。例えば、判定部305は、学習済みモデルから出力される頁欠損ありの推定確率が判定閾値を上回る場合に、読取画像のペアに頁欠損があると判定し得る。その後の処理は、頁欠損があると判定されたか否かに依存して、S909で分岐する。
【0053】
頁欠損が無いと判定された場合、現在のシートが対象原稿の最後のシートであるかに依存して処理はS911でさらに分岐する。現在のシートが最後のシートではない場合には、次のシートについて読取り、判定用データの生成及び頁欠損の判定が行われる。現在のシートが最後のシートである場合、処理は終了する。なお、制御部130は、例えば、原稿トレイ101上のシートの存在を検知するセンサからの入力に基づいて、現在のシートが最後のシートであるかを判定することができる。
【0054】
S907で頁欠損があると判定された場合、S913で、制御部130は、画像読取部100に読取りを一時停止させ、操作部140を介して頁欠損の発生をユーザへ通知する。例えば、
図6に示したGUI600が表示デバイス222の画面上に表示される。
【0055】
その後の処理は、読取りを続行するか否かに関するユーザ入力に依存して、S915で分岐する。読取りを続行することをユーザが選択した場合(例えば、GUI600において続行ボタン612が選択された場合)、処理はS911へ進む。一方、読取りを中止することをユーザが選択した場合(例えば、GUI600において読取り中止ボタン611が選択された場合)、処理はS917へ進む。
【0056】
S917で、制御部130は、読取りを再実行するか否かを操作部140を介してユーザへ問合せる。この問合せにおいて、制御部130は、欠損した頁を原稿に追加することをユーザへ案内する。例えば、制御部130は、
図7に示したGUI700を表示デバイス222の画面上に表示させる。
【0057】
その後の処理は、読取りを再実行するか否かに関するユーザ入力に依存して、S919で分岐する。読取りを再実行しないことをユーザが選択した場合(例えば、GUI700においてキャンセルボタン711が選択された場合)、処理は終了する。一方、読取りを再実行することをユーザが選択した場合(例えば、GUI700において開始ボタン712が選択された場合)、処理はS901へ戻り、(欠損した頁が追加された)対象原稿について上述した処理が再度行われる。
【0058】
ここまで、
図3~
図9を用いて、第1実施例について詳細に説明した。本実施例によれば、複数頁からなる対象原稿の読取画像に頁欠損があるかを判定するための学習済みモデルが、学習用原稿の読取画像を用いた機械学習を通じて導出される。その機械学習は、学習用原稿の連続する頁の画像ペア及び学習用原稿の連続しない頁の画像ペアに基づく入力データと、各画像ペアが連続する頁のペアであるかを示す教師データとを用いて行われる。そして、導出された学習済みモデルに、対象原稿の連続する読取画像のペアに基づく判定用データを適用することにより、対象原稿の読取画像に頁欠損があるかが判定される。かかる構成によれば、頁番号以外の原稿に含まれる情報と頁欠損の有無との相関が学習されることで、頁番号に必ずしも依拠しない頁欠損の判定を良好な精度で行うことが可能となる。
【0059】
また、本実施例によれば、上記判定用データは、上記読取画像のペアを構成する第1読取画像及び第2読取画像の各々について、文字オブジェクトの集合を含み、各文字オブジェクトは、頁内座標データ、文字コードデータ及び文字属性データを含む。かかる構成によれば、例えば章番号、図番号、表番号、又は数式番号といった特徴的な文字属性を有する番号要素の間の位置関係及び数値的関係を手がかりとして頁欠損の有無を判定できる学習済みモデルを獲得することが可能である。上記判定用データは、さらに、画像オブジェクトの集合を含み、各画像オブジェクトは、頁内座標データ及びベクトルデータを含み得る。それにより、図や表といった画像要素と上述した番号要素との間の位置関係をも手がかりとして頁欠損の有無を判定できる学習済みモデルを獲得することが可能である。
【0060】
<<3.第2実施例>>
図10は、
図2に示した欠損判定部150の第2実施例に係る詳細な構成の一例を示すブロック図である。
図10を参照すると、欠損判定部150は、前処理部1001、データメモリ1002、学習部1003、モデル記憶部1004、検出部1005、番号情報記憶部1006及び判定部1007を含む。
【0061】
前処理部1001は、第1実施例に係る前処理部301と同様に、画像読取部100から入力される読取画像の各々に基づいて、学習処理へ入力されるべき入力データ、又は学習済みモデルへ適用されるべき検出用データを生成するための前処理を実行する。本実施例においても、入力データ及び検出用データは、各読取画像についての文字オブジェクトの集合を含む。各文字オブジェクトは、例えば、各文字が認識された頁内の位置を示す頁内座標データ、各文字を識別する文字コードデータ、及び、各文字の視覚的な属性を示す文字属性データを含み得る。各文字の視覚的な属性とは、例えば、フォント種別、文字サイズ及び色のうちの1つ以上を含み得る。入力データ及び検出用データは、さらに、各読取画像についての画像オブジェクトの集合を含んでもよい。画像オブジェクトは、読取画像に含まれる文字ではない画像要素に対応し、例えば画像要素の頁内の位置を示す頁内座標データと、画像を符号化したベクトルデータとを含み得る。前処理部1001は、各読取画像について生成した文字オブジェクトの集合及び画像オブジェクトの集合を含むデータセットを、各読取画像に基づく入力データ又は判定用データとして、データメモリ1002に記憶させる。
【0062】
データメモリ1002は、前処理部1001により生成される、読取画像ごとの上記データセットを、各読取画像を識別する識別情報に関連付けて記憶する。
【0063】
学習部1003は、原稿の各頁に記述されている連続番号要素の値を検出用データから検出するための学習済みモデルを機械学習を通じて導出するための教師あり学習処理を実行する。ここでの連続番号要素とは、原稿を通じて連続番号を付与される原稿内のテキスト要素を意味する。学習処理の入力データは、学習用原稿の各頁の読取画像に基づいて前処理部1001により生成される上述したデータである。学習処理の教師データは、学習用原稿の各頁に記述されている連続番号要素の値を示す正解のデータである。本実施例において、連続番号要素は、少なくとも1種類の非頁番号要素を含む。非頁番号要素は、例えば、次のうちの1つ以上であってよい:
・章番号要素 例)「第1章」、「1.○○」
・図番号要素 例)「
図1」、「Figure 1」
・表番号要素 例)「表1」、「Table 1」
・数式番号要素 例)「式1」、「Exp. 1」
こうした非頁番号要素の値を検出して判定に使用することで、頁番号に必ずしも依拠しない頁欠損の判定が可能となる。また、こうした非頁番号要素の値と共に頁番号要素の値も併せて検出して使用することで、頁欠損の判定をよりロバストに行うことができる。
【0064】
図11は、本実施例に係る学習の仕組みについて説明するための説明図である。
図11には、
図4と同様に、入力層、3つの中間層及び出力層からなる一例としてのニューラルネットワークモデルが示されている。入力層は、読取画像1111に基づくデータセット1112のデータ要素に対応する複数のノードからなる。出力層は、一例として、連続番号要素の種類ごとの各読取画像内での最小値及び最大値にそれぞれ対応するノードからなる。例えば、出力層は、次の10個のノードを含み得る:
・最小頁番号P
min
・最大頁番号P
max
・最小章番号C
min
・最大章番号C
max
・最小図番号F
min
・最大図番号F
max
・最小表番号T
min
・最大表番号T
max
・最小数式番号E
min
・最大数式番号E
max
例えば、最小頁番号及び最大頁番号は、1つの読取画像に含まれる論理頁の番号のうち最も小さい番号及び最も大きい番号をそれぞれ意味する。2つの論理頁が1枚のシートへ集約的に印刷されている場合、最小頁番号及び最大頁番号は互いに異なる値を示し得る。最小章番号及び最大章番号は、1つの読取画像に含まれる章番号のうち最も小さい番号及び最も大きい番号をそれぞれ意味する。他の連続番号要素についても同様である。なお、ここでの章は、節、項及び段落といった文章構造における順序性を表す任意の単位を含んでよい。出力層の各ノードの出力値は、「該当なし」及び各番号の候補値(例えば、整数値)のいずれかである。例えば、章番号を全く含まない読取画像については、最小章番号C
min=最大章番号C
max=「該当なし」となる。
【0065】
学習処理では、画像内の連続番号要素の最小値及び最大値が既知である多数の読取画像が用意され、読取画像ごとに順次出力層の出力値が算出される。本実施例における損失Lは、次式のように、出力層の出力値Xが教師データにより示される対応する期待値に一致したか否かを示すブール値B(X)の加重平均に基づいて算出され得る。なお、出力値Xが期待値に一致する場合にはB(X)=1、一致しない場合にはB(X)=0である:
L=1-(k1×B(Pmin)+k2×B(Pmax)+k3×B(Cmin)
+k4×B(Cmax)+k5×B(Fmin)+k6×B(Fmax)
+k7×B(Tmin)+k8×B(Tmax)+k9×B(Emin)+k10×B(Emax))
ここで、k1、k2、...、k10は、加重平均のための重み係数であり、k1+k2+...+k10=1を満たす。一例として、頁番号の値の検出精度を優先的に高める場合には、k1=k2=0.2、k3=k4=...=k10=0.075のように重み係数が不均一に設定されてよい。
【0066】
学習部1003は、多数の読取画像の各々について、このようなモデルに従って、出力値の算出、損失の算出、及び損失を最小化するためのモデルパラメータの調整を繰り返す。そして、学習部1003は、学習処理が終了すると、学習済みモデル、即ち、モデルパラメータのセットをモデル記憶部1004に記憶させる。
【0067】
図12は、本実施例において使用され得る学習用データの一例について説明するための説明図である。
図12の上段には、
図5に示したものと同じ学習用原稿500が再び示されている。
図12の下段に示した表1210は、学習用原稿500の読取画像501、502、503、504、505、…の各々に記述されている連続番号要素の種類ごとの既知の最小値及び最大値(即ち、期待値)のリストである。例えば、読取画像501については、P
min=P
max=C
min=C
max=F
min=F
max=T
min=T
max=1、且つE
min=E
max=「-(該当なし)」である。読取画像502については、P
min=P
max=C
min=C
max=F
min=F
max=2、且つT
min=T
max=E
min=E
max=「-(該当なし)」である。学習部1003は、こうした期待値のセットを教師データとして用いて、上述した学習処理を行う。なお、学習用データは、連続番号要素を全く含まない読取画像に基づく入力データを含んでもよい。但し、画像内の連続番号要素の個数が多いほど連続番号要素の値を正確に検出することが困難になると想定されることから、連続番号要素を1つ又は複数含む多くの読取画像に基づく学習用データを使用することで、学習済みモデルの精度は効果的に向上し得る。
【0068】
モデル記憶部1004は、学習部1003により導出された学習済みモデルのモデルパラメータの値のセットを記憶する。なお、本実施例においても、学習済みモデルが専用の論理回路として実現される場合には、導出されたモデルパラメータの値が学習済みモデルを表現する論理回路に実装され得る。
【0069】
検出部1005は、モデル記憶部1004に記憶されている学習済みモデルに、対象原稿の各読取画像に基づく検出用データを適用することにより、各読取画像に記述されている連続番号要素の値を検出する。例えば、検出部1005は、画像読取部100により生成される各読取画像について前処理部1001により生成された検出用データをデータメモリ1002から読出す。そして、検出部1005は、読出した検出用データを
図11を用いて説明したニューラルネットワークモデルに適用することにより、各読取画像に記述されている連続番号要素の当該頁内での最小値及び最大値を検出する。本実施例では、検出部1005は、頁番号要素及び非頁番号要素の種類ごとに、各読取画像に記述されている最小値及び最大値を検出し得る。検出部1005は、連続番号要素の種類ごとの検出した最小値及び最大値を番号情報記憶部1006に記憶させる。
【0070】
番号情報記憶部1006は、検出部1005により各読取画像について検出された連続番号要素の種類ごとの最小値及び最大値を、各読取画像を識別する識別情報に関連付けて記憶する。
【0071】
判定部1007は、対象原稿の第1読取画像について検出された連続番号要素の値と、第2読取画像について検出された連続番号要素の値との間の関係性に基づいて、これら読取画像の間に頁欠損があるか否かを判定する。例えば、判定部1007は、第1読取画像において検出された連続番号要素の最大値と、後続頁であるはずの第2読取画像において検出された同種の連続番号要素の最小値との間に番号の欠損がある場合に、これら読取画像の間に頁欠損があると判定し得る。同様に、判定部1007は、第1読取画像において検出された連続番号要素の最小値と、先行頁であるはずの第2読取画像において検出された同種の連続番号要素の最大値との間に番号の欠損がある場合に、これら読取画像の間に頁欠損があると判定し得る。
【0072】
判定部1007は、頁番号要素の値に基づく判定を、非頁番号要素の値に基づく判定よりも優先してもよい。この場合、判定部1007は、頁番号要素について検出された最小値Pmin及び最大値Pmaxの画像間の関係性に基づいて頁欠損があるかを判定できない場合に、非頁番号要素について検出された最小値及び最大値に基づいて頁欠損があるかを判定し得る。
【0073】
例えば、頁番号の昇順で読取られた対象原稿にて第1読取画像の最大頁番号Pmaxが整数nに等しいケースでは、第1読取画像に続いて生成された第2読取画像の最小頁番号Pminはn+1となるはずである。よって、判定部1007は、このケースで、第2読取画像の最小頁番号Pminがn+1よりも大きければ第1読取画像と第2読取画像との間に頁欠損があると判定し得る。頁番号の降順で読取られた対象原稿については、関係性は逆になる。
【0074】
また、例えば、頁番号の昇順で読取られた対象原稿にて第3読取画像の最大章番号Cmaxが整数mに等しいケースでは、章番号が「該当なし」である画像を除いて第3読取画像に続いて生成された第4読取画像の最小章番号Cminはm+1となるはずである。よって、判定部1007は、このケースで、第4読取画像の最小頁番号Cminがm+1よりも大きければ第3読取画像と第4読取画像との間に頁欠損があると判定し得る。頁番号の降順で読取られた対象原稿については、関係性は逆になる。図番号、表番号及び数式番号の関係性についても同様に判定され得る。
【0075】
判定部1007は、上述した判定を、対象原稿から連続して生成される読取画像のペアについて繰り返す。全てのペアについて頁欠損が無いと判定された場合には、対象原稿の読取りは正常に終了する。一方、対象原稿の読取画像に頁欠損があると判定部1007により判定された場合、制御部130は、第1実施例と同様に、画像読取部100に後続頁の読取りを一時停止させ、頁欠損が発生したことをユーザへ通知し得る。その通知は、
図6及び
図7に関連して上で説明した手法で行われ得る。
【0076】
図13は、本実施例に係る学習段階の処理の流れの一例を示すフローチャートである。
図13に示した処理は、別段の記述がされない限り、RAM212へロードされるコンピュータプログラムを実行するCPU211による制御の下で行われる。
【0077】
なお、
図13のS1301、S1303、S1307及びS1313は、
図8のS801、S803、S807及びS813とそれぞれ同様であってよいため、ここでは重複する説明を省略する。
【0078】
S1305で、制御部130は、各読取画像内の連続番号要素の値(例えば、最小値及び最大値)のリストを、学習用の教師データとして取得する。ここで取得されるリストは、例えば、頁番号要素及び少なくとも1種類の非頁番号要素について、その種類ごとに正解の最小値及び最大値を示し得る。
【0079】
S1309で、学習部1003は、S1303で生成された入力データ及びS1305で取得されたリスト内の対応する教師データ(連続番号要素の正解値)を用いて、モデルパラメータを更新する。この処理は、処理すべき次の入力データが残されていないとS1311で判定されるまで繰り返され得る。S1309の繰り返しを通じて、読取画像に基づく入力データと読取画像内の連続番号要素の値との間の相関を反映した学習済みモデルが導出される。
【0080】
図14は、本実施例に係る読取段階の処理の流れの一例を示すフローチャートである。
図14に示した処理は、別段の記述がされない限り、RAM212へロードされるコンピュータプログラムを実行するCPU211による制御の下で行われる。
【0081】
なお、
図14のS1401及びS1409~S1419は、
図9のS901及びS909~S919とそれぞれ同様であってよいため、ここでは重複する説明を省略する。
【0082】
S1403で、前処理部1001は、画像読取部100から入力された読取画像に基づく検出用データを生成する。例えば、前処理部1001は、読取画像内で認識される文字の文字オブジェクトの集合と、画像オブジェクトの集合とを含むデータセットを生成する。前処理部1001は、生成した検出用データをデータメモリ1002に記憶させる。
【0083】
次いで、S1405で、検出部1005は、生成された検出用データをモデル記憶部1004に記憶されている学習済みモデルに適用することにより、読取画像内の連続番号要素の値(例えば、連続番号要素の種類ごとの最小値及び最大値)を検出する。検出部1005は、検出した連続番号要素の値を番号情報記憶部1006に記憶させる。
【0084】
読取られたシートが対象原稿の最初のシートである場合には、S1401~S1405はもう一度繰り返され(S1406)、2番目のシートの読取画像についても連続番号要素の値が検出される。
【0085】
次いで、S1407で、判定部1007は、現在までの読取画像について検出された連続番号要素の値の間の関係性に基づいて、読取画像に頁欠損があるかを判定する。その判定は、上述したように、頁番号要素及び少なくとも1種類の非頁番号要素について番号の欠損があるかという観点からなされ得る。例えば、頁番号要素の値から頁欠損の有無を確定的に判定することができない場合に、非頁番号要素の値から頁欠損の有無が判定されてもよい。但し、連続番号要素の種類の間の優先順位は、かかる例には限定されない。
【0086】
ここまで、
図10~
図14を用いて、第2実施例について詳細に説明した。本実施例によれば、複数頁からなる対象原稿の各頁の読取画像に基づく検出用データから各頁に記述されている連続番号要素の値を検出するための学習済みモデルが、学習用原稿の画像を用いた機械学習を通じて導出される。その機械学習は、学習用原稿の各頁の画像に基づく入力データと、各頁に記述されている連続番号要素の値を示す教師データとを用いて行われる。そして、導出された学習済みモデルに、対象原稿の各読取画像に基づく検出用データを適用することにより、各読取画像に記述されている連続番号要素の値が検出される。このようにして2つ以上の読取画像について検出される連続番号要素の値の間の関係性に基づいて、読取画像に頁欠損があるかが判定される。かかる構成によれば、原稿に含まれる様々な連続番号要素の値が読取後のデータにおいて適切な関係性を維持しているかに基づいて、頁番号のみに依拠することなく頁欠損を判定することができる。
【0087】
また、本実施例によれば、各読取画像に記述されている連続番号要素の当該頁内での最小値及び最大値が検出され、それら最小値及び最大値に関連する頁間の関係性に基づいて頁欠損の有無が判定され得る。かかる構成によれば、頁の欠損があった場合に、その欠損を、連続番号の値の欠損(飛び番)を手掛かりとして見つけ出すことができる。
【0088】
また、本実施例によれば、連続番号要素は、頁番号要素と、少なくとも1種類の非頁番号要素とを含み得る。非頁番号要素は、例えば章番号要素、図番号要素、表番号要素、又は数式番号要素であり得る。そして、頁番号要素について検出される最小値及び最大値に基づいて頁欠損があるかを判定できない場合に、非頁番号要素の各々について検出される最小値及び最大値に基づいて頁欠損の有無が判定され得る。かかる構成によれば、頁番号要素に基づくある程度確実性の高い判定を優先的に行いつつ、頁番号要素では解決できないケースにおいて非頁番号要素に基づく頁欠損の判定を補完的に行って、全体としての判定の精度を高めることができる。
【0089】
<<4.変形例>>
本発明は上記実施形態に限定されず、様々な変形が可能である。例えば、上では画像読取装置10が学習段階の処理及び読取段階の処理の双方を行う例を説明したが、学習段階の処理は、画像読取装置10とは別個の情報処理装置(例えば、学習サーバ)により行われてもよい。同様に、読取段階の処理のうちの一部は、画像読取装置10とは別個の情報処理装置(例えば、頁欠損判定サーバ)により行われてもよい。
【0090】
機械学習の入力データ、判定用データ及び検出用データは、
図4及び
図11に関連して説明した例とは異なる形式を有してもよい。例えば、文字単位の座標データ及び属性データの代わりに、単語単位の座標データ及び属性データが機械学習のために利用されてもよい。文字列からの単語の認識は、例えば公知の形態素解析技術を用いて実現され得る。また、テキストデータに内在する文脈情報を機械学習において考慮するために、リカレントニューラルネットワークモデルが利用されてもよい。
【0091】
<<5.その他の実施形態>>
上記実施形態は、1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理の形式でも実現可能である。また、1つ以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0092】
本発明は上述した実施形態に制限されるものではなく、発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。したがって、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0093】
10:画像読取装置、100:読取部、130:制御部、140:操作部、301:前処理部、303:学習部、305:判定部、1001:前処理部、1003:学習部、1005:検出部、1007:判定部