JP2021135868A - 改ざん検知システム及び改ざん検知方法 - Google Patents
改ざん検知システム及び改ざん検知方法 Download PDFInfo
- Publication number
- JP2021135868A JP2021135868A JP2020032988A JP2020032988A JP2021135868A JP 2021135868 A JP2021135868 A JP 2021135868A JP 2020032988 A JP2020032988 A JP 2020032988A JP 2020032988 A JP2020032988 A JP 2020032988A JP 2021135868 A JP2021135868 A JP 2021135868A
- Authority
- JP
- Japan
- Prior art keywords
- image
- falsification
- result
- learning
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Character Discrimination (AREA)
- Image Analysis (AREA)
Abstract
【課題】帳票に対して金額等の改ざん防止等のために行われる従来の文字認識システムでは、帳票内の単一箇所にのみ存在する金額等の文字列に対しては改ざんの有無を判定することはできなかった。また、改ざん検知処理の確認作業を行うユーザが理解しやすいように改ざん検知処理の結果が通知されていなかった。【解決手段】本発明の画像処理システムでは、スキャン画像に対して学習モデルを用いて改ざん検知処理を行い、改ざん判定結果をユーザが理解しやすいような形態で通知する。これにより、ユーザによるスキャン画像に対する改ざんの有無や内容に対する確認作業の効率を向上させることが可能な画像処理システムを提供できる。【選択図】図7
Description
本発明は、スキャン画像に対して改ざん検知処理を行う改ざん検知システム及び改ざん検知方法に関する。
一般に、企業などの組織においては、領収書、請求書、申込書、契約書等の帳票に記載された数字を元に金額を確定し、金銭のやり取りを行う帳票処理業務が存在する。帳票処理業務では、例えば、個人から組織に対して業務上必要な経費に関する領収書が提出された際、その領収書に記載された数字を元に金額を確定し、組織から個人に対して金銭を支払う。
このとき、仮に、領収書に記載された数字が、本来よりも大きい数値を示す数字に改ざんされていた場合、組織から個人に対して本来よりも多い金額の金銭が支払われることで、組織の不利益となる損失が発生してしまう。
このとき、仮に、領収書に記載された数字が、本来よりも大きい数値を示す数字に改ざんされていた場合、組織から個人に対して本来よりも多い金額の金銭が支払われることで、組織の不利益となる損失が発生してしまう。
ここで、金額に関わる数字の改ざんを検知することができれば、不正な金銭の支払いを未然に防ぐことができる。改ざんを検知する方法としては、組織において帳票処理業務を担当するユーザが目視確認によって発見する方法の他に、スキャン画像において改ざんが疑われる箇所を自動検知する改ざん検知処理を行い、その結果をユーザに表示する方法が知られている。更に、改ざん検知処理の結果に対するユーザによる確認作業の効率を高めるために、改ざん箇所を目視確認しやすく表示するだけでなく、改ざん内容の意味を理解しやすいように通知する方法も知られている。
特許文献1には、帳票に対して金額等の改ざん防止等のために行われる文字認識システムが開示されている。特許文献1では、帳票内の2つの欄に二重エントリされた金額等に対してOCR処理により文字列を取得し、これらの文字列が漢数字と算用数字で異なる場合であっても一方の文字種に合わせて変換することで、一致または不一致を判定するように構成されている。
しかしながら、特許文献1の文字認識システムでは、帳票内の複数の個所に二重エントリされた金額等の文字列に対してのみ適用可能であり、帳票内の単一箇所にのみ存在する金額等の文字列に対しては改ざんの有無を判定することはできない。また、特許文献1の文字認識システムでは、改ざん検知処理の確認作業を行うユーザが理解しやすいように改ざん検知処理の結果を通知することも行われていない。
本発明は、上記のような事情に鑑みてなされたものであり、改ざん検知処理の結果に対するユーザによる確認作業の効率を高めることが可能な改ざん検知システムを提供することを目的とする。
本発明の改ざん検知システムは、文字列が記入された原稿を読み取ることにより原稿画像を取得する取得手段と、前記原稿画像に含まれている前記文字列の画像のうち、改ざんされた部分があると判断した文字に関する第1の画像を抽出する抽出手段と、前記改ざんされた部分を補正することにより、前記第1の画像に対応する第2の画像を取得する取得手段と、前記第1の画像と前記第2の画像とについて文字認識処理を行う文字認識手段と、前記第1の画像についての文字認識処理の第1の結果と前記第2の画像についての文字認識処理の第2の結果とに基づいて、改ざんの検知結果を表示する表示手段と、を有することを特徴とする。
本発明によれば、ユーザによるスキャン画像に対する改ざんの有無や内容に対する確認作業の効率を高めることが可能である。
以下に、図面を参照して、本発明を実施するための各実施形態について説明する。ただし、以下に説明する実施形態はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、以下の各実施形態で説明されている特徴の組み合わせのすべてが本発明の解決手段に必須のものとは限らない。
<実施形態1>
<画像処理システム>
図1は、本実施形態の画像処理システム100の構成の一例を示した図である。
本実施形態において、画像処理システム100は、後述する改ざん検知処理を実行する改ざん検知システムとして機能する。画像処理システム100は、図1に示すように、画像処理装置101、学習装置102、画像処理サーバ103の各装置を備える。各装置は、ネットワーク104を介して互いに接続される。
<画像処理システム>
図1は、本実施形態の画像処理システム100の構成の一例を示した図である。
本実施形態において、画像処理システム100は、後述する改ざん検知処理を実行する改ざん検知システムとして機能する。画像処理システム100は、図1に示すように、画像処理装置101、学習装置102、画像処理サーバ103の各装置を備える。各装置は、ネットワーク104を介して互いに接続される。
画像処理装置101は、プリント、スキャン、ファクス等の複数の機能を実現可能な複合機(MFP:Multi Function Peripheral)等で実現される。
画像処理装置101は、画像取得部111において、例えば、PC(Personal Computer)等で実現される不図示の端末装置から、PDL(Page Description Language)等で記述された帳票等の文書を受信する。そして、画像処理装置101は、受信した帳票に対して画像処理を実行し、帳票原稿を印刷出力する。
画像処理装置101は、画像取得部111において、例えば、PC(Personal Computer)等で実現される不図示の端末装置から、PDL(Page Description Language)等で記述された帳票等の文書を受信する。そして、画像処理装置101は、受信した帳票に対して画像処理を実行し、帳票原稿を印刷出力する。
また、画像処理装置101は、改ざん検知処理のための学習シーケンスにおいて、手書きの文字が記入された帳票原稿の原本に対して、スキャン処理を実行し、スキャン画像データを生成する(以下、このようなスキャン画像データを「原本画像」という)。また、画像処理装置101は、手書きの文字が記入された帳票原稿に対して別の人物が異なるペンで改ざんを施した原稿を、再びスキャンして、スキャン画像データを生成する(以下、このようなスキャン画像データを「改ざん画像」という)。また、画像処理装置101は、取得された原本画像と改ざん画像を、ネットワーク104を介して、学習装置102に送信する。
また、画像処理装置101は、改ざん検知処理を実行する際に、手書きの文字が含まれる原稿に対して、スキャン処理を実行し、スキャン画像データを取得する(以下、このようなスキャン画像データを「処理対象画像」と呼ぶ)。また、画像処理装置101は、ここで取得された処理対象画像を、ネットワーク104を介して、画像処理サーバ103に送信する。
学習装置102は、画像蓄積部120を含む学習データ生成部112、学習部113を備える。
学習装置102における画像蓄積部120は、例えば、画像処理装置101から送信された改ざん画像と原本画像を受信して蓄積する。また、学習装置102における学習データ生成部112は、画像蓄積部120に蓄積された改ざん画像と原本画像を用いて、学習データを生成する。ここにおいて、学習データとは、改ざん検知機能を実現する学習モデルとしてのニューラルネットワークを学習するために用いられるデータである。
学習装置102における画像蓄積部120は、例えば、画像処理装置101から送信された改ざん画像と原本画像を受信して蓄積する。また、学習装置102における学習データ生成部112は、画像蓄積部120に蓄積された改ざん画像と原本画像を用いて、学習データを生成する。ここにおいて、学習データとは、改ざん検知機能を実現する学習モデルとしてのニューラルネットワークを学習するために用いられるデータである。
また、学習装置102における学習部113は、生成された学習データを用いて、ニューラルネットワークを学習することによって、学習結果としての学習モデル(ニューラルネットワークのパラメータ等)を生成する。なお、本実施形態で用いられる機械学習手法の一つであるニューラルネットワークとしては、例えば、多層ニューラルネットワークを用いたディープラーニングが挙げられる。
また、学習装置102は、生成された学習モデルを、ネットワーク104を介して、画像処理サーバ103に送信する。
また、学習装置102は、生成された学習モデルを、ネットワーク104を介して、画像処理サーバ103に送信する。
画像処理サーバ103は、画像変換部114、文字認識部115、記憶部116を備える。
画像処理サーバ103における画像変換部114は、例えば、学習装置102から受信した学習モデルを用いて、画像処理装置101から受信した処理対象画像に対して、改ざん検知処理を実行し、処理対象画像において改ざんが疑われる画素を抽出する。また、画像変換部114は、改ざん検知処理で抽出された画素を取り除いき、改ざんがされる前の画像の候補(以下、このような画像を「改ざん前画像」と呼ぶ)を生成する。そして、改ざん前画像を、改ざん検知処理が行われた処理対象画像(以下、このような画像を「改ざん後画像」と呼ぶ)と対応付けて記憶する。
画像処理サーバ103における画像変換部114は、例えば、学習装置102から受信した学習モデルを用いて、画像処理装置101から受信した処理対象画像に対して、改ざん検知処理を実行し、処理対象画像において改ざんが疑われる画素を抽出する。また、画像変換部114は、改ざん検知処理で抽出された画素を取り除いき、改ざんがされる前の画像の候補(以下、このような画像を「改ざん前画像」と呼ぶ)を生成する。そして、改ざん前画像を、改ざん検知処理が行われた処理対象画像(以下、このような画像を「改ざん後画像」と呼ぶ)と対応付けて記憶する。
また、画像処理サーバ103における文字認識部115は、改ざん前画像、及び、改ざん後画像のそれぞれに対して、OCR(Optical Character Recognitionを用いた文字認識処理を実行し、文字認識結果を生成する。
また、画像処理サーバ103における記憶部116は、改ざん前画像、改ざん後画像、及び、両者の画像に対する文字認識結果を記憶する。
また、画像処理サーバ103は、改ざん検知処理の結果として、改ざん判定結果を、表示したり、不図示の端末装置を操作するユーザに対して通知したりする。
また、画像処理サーバ103における記憶部116は、改ざん前画像、改ざん後画像、及び、両者の画像に対する文字認識結果を記憶する。
また、画像処理サーバ103は、改ざん検知処理の結果として、改ざん判定結果を、表示したり、不図示の端末装置を操作するユーザに対して通知したりする。
<各装置の構成>
図2は、図1に示した画像処理システム100を構成する画像処理装置101、学習装置102、画像処理サーバ103の各ハードウェア構成の一例を示したブロック図である。
図2(a)は、画像処理装置101のハードウェア構成を示すブロック図である。
図2(a)に示すように、画像処理装置101は、CPU201、ROM202、RAM204、ストレージ208などのデバイスを備える。また、画像処理装置101は、プリンタデバイス205、スキャナデバイス206、原稿搬送デバイス207、ストレージ208、入力デバイス209、表示デバイス210、外部インタフェース211などのデバイスも備える。これらのデバイスは、データバス203を介して互いに接続される。
図2は、図1に示した画像処理システム100を構成する画像処理装置101、学習装置102、画像処理サーバ103の各ハードウェア構成の一例を示したブロック図である。
図2(a)は、画像処理装置101のハードウェア構成を示すブロック図である。
図2(a)に示すように、画像処理装置101は、CPU201、ROM202、RAM204、ストレージ208などのデバイスを備える。また、画像処理装置101は、プリンタデバイス205、スキャナデバイス206、原稿搬送デバイス207、ストレージ208、入力デバイス209、表示デバイス210、外部インタフェース211などのデバイスも備える。これらのデバイスは、データバス203を介して互いに接続される。
CPU(Central Processing Unit)201は、画像処理装置101における動作全体を制御するための制御部である。CPU201は、ROM202に記憶されたブートプログラムを実行することで、画像処理装置101のシステムを起動する。また、CPU201は、ストレージ208に記憶された制御プログラムを実行することで、画像処理装置101のプリント、スキャン、ファクス等の機能を実現する。
ROM(Read Only Memory)202は、不揮発性メモリで実現されるものであって、画像処理装置101を起動するブートプログラムを格納するための記憶部である。
RAM(Random Access Memory)204は、揮発性メモリで実現されるものであって、CPU201が制御プログラムを実行する際のワークメモリとして使用される記憶部である。
ROM(Read Only Memory)202は、不揮発性メモリで実現されるものであって、画像処理装置101を起動するブートプログラムを格納するための記憶部である。
RAM(Random Access Memory)204は、揮発性メモリで実現されるものであって、CPU201が制御プログラムを実行する際のワークメモリとして使用される記憶部である。
プリンタデバイス205は、画像出力デバイスであって、画像処理装置101の内部の画像データを記憶媒体に印字して印刷出力するための処理部である。
スキャナデバイス206は、画像入力デバイスであって、文字、図表、写真等が印字された記録媒体を光学的に読み取って画像データを取得するための処理部である。
原稿搬送デバイス207は、ADF(Auto Document Feeder)等で実現されるものであって、原稿台に載置された帳票等の原稿を検知し、検知した原稿を一枚ずつスキャナデバイス206に搬送するための処理部である。
スキャナデバイス206は、画像入力デバイスであって、文字、図表、写真等が印字された記録媒体を光学的に読み取って画像データを取得するための処理部である。
原稿搬送デバイス207は、ADF(Auto Document Feeder)等で実現されるものであって、原稿台に載置された帳票等の原稿を検知し、検知した原稿を一枚ずつスキャナデバイス206に搬送するための処理部である。
ストレージ208は、HDD(Hard Disk Drive)等で実現されるものであって、前述の制御プログラムや画像データを記憶するための記憶部である。
入力デバイス209は、タッチパネルやハードキー等で実現されるものであって、ユーザからの画像処理装置101に対する操作入力を受け付けるための処理部である。
表示デバイス210は、液晶ディスプレイ等で実現されるものであって、画像処理装置101の設定画面をユーザに対して表示出力するための表示部である。
入力デバイス209は、タッチパネルやハードキー等で実現されるものであって、ユーザからの画像処理装置101に対する操作入力を受け付けるための処理部である。
表示デバイス210は、液晶ディスプレイ等で実現されるものであって、画像処理装置101の設定画面をユーザに対して表示出力するための表示部である。
外部インタフェース211は、画像処理装置101とネットワーク104との間を接続するものであって、不図示の端末装置からの電子文書データを受信したり、画像処理サーバ103に対して処理対象画像を送信したりするためのインタフェース部である。
データバス203は、画像処理装置101を構成する各デバイス間で相互にデータを送受信するための通信部である。
データバス203は、画像処理装置101を構成する各デバイス間で相互にデータを送受信するための通信部である。
図2(b)は、学習装置102のハードウェア構成を示すブロック図である。
図2(b)に示すように、学習装置102は、CPU231、ROM232、RAM234、ストレージ235、入力デバイス236、表示デバイス237、外部インタフェース238、GPU239などのデバイスを備える。これらのデバイスは、データバス233を介して互いに接続される。
図2(b)に示すように、学習装置102は、CPU231、ROM232、RAM234、ストレージ235、入力デバイス236、表示デバイス237、外部インタフェース238、GPU239などのデバイスを備える。これらのデバイスは、データバス233を介して互いに接続される。
CPU231は、学習装置102における動作全体を制御するための制御部である。CPU231は、ROM232に記憶されたブートプログラムを実行することで、学習装置102のシステムを起動する。また、CPU231は、ストレージ208に記憶された学習プログラムを実行することで、改ざん検知を実現するためのニューラルネットワークを学習する。
ROM232は、不揮発性メモリで実現されるものであって、学習装置102を起動するブートプログラムを格納するための記憶部である。
RAM234は、揮発性メモリで実現されるものであって、CPU231が学習プログラムを実行する際のワークメモリとして使用される記憶部である。
GPU(Graphics Processing Unit)239は、画像処理プロセッサで構成された演算部である。GPU239は、例えば、CPU231からの指示に従い、与えられた学習データを用いて、学習モデルを構成するパラメータの値を更新するための演算を実行する。
ROM232は、不揮発性メモリで実現されるものであって、学習装置102を起動するブートプログラムを格納するための記憶部である。
RAM234は、揮発性メモリで実現されるものであって、CPU231が学習プログラムを実行する際のワークメモリとして使用される記憶部である。
GPU(Graphics Processing Unit)239は、画像処理プロセッサで構成された演算部である。GPU239は、例えば、CPU231からの指示に従い、与えられた学習データを用いて、学習モデルを構成するパラメータの値を更新するための演算を実行する。
ストレージ235は、HDD等で実現されるものであって、前述の学習プログラムや学習データを記憶するための記憶部である。
入力デバイス236は、マウスやキーボード等で実現されるものであって、ユーザからの学習装置102に対する操作入力を受け付けるための処理部である。
表示デバイス237は、液晶ディスプレイ等で実現されるものであって、学習装置102の設定画面をユーザに対して表示出力するための表示部である。
入力デバイス236は、マウスやキーボード等で実現されるものであって、ユーザからの学習装置102に対する操作入力を受け付けるための処理部である。
表示デバイス237は、液晶ディスプレイ等で実現されるものであって、学習装置102の設定画面をユーザに対して表示出力するための表示部である。
外部インタフェース238は、学習装置102と、ネットワーク104との間を接続するものであって、画像処理装置101から原本画像と改ざん画像を受信したり、画像処理サーバ103に対して学習モデルを送信したりするためのインタフェース部である。
データバス233は、学習装置102を構成するデバイス間で相互にデータを送受信するための通信部である。
データバス233は、学習装置102を構成するデバイス間で相互にデータを送受信するための通信部である。
図2(c)は、画像処理サーバ103のハードウェア構成を示すブロック図である。
図2(c)に示すように、画像処理サーバ103は、CPU261、ROM262、RAM264、ストレージ265、入力デバイス266、表示デバイス267、外部インタフェース268などのデバイスを備える。これらのデバイスは、データバス263を介して互いに接続される。
CPU261は、画像処理サーバ103における動作全体を制御するための制御部である。CPU261は、ROM262に記憶されたブートプログラムを実行することで、画像処理サーバ103のシステムを起動する。また、CPU261は、ストレージ265に記憶された画像処理プログラムを実行することで、改ざん検知やOCRを用いた文字認識処理などの画像処理を実行する。
ROM262は、不揮発性メモリで実現されるものであって、画像処理サーバ103を起動するブートプログラムを格納するための記憶部である。
RAM264は、揮発性メモリで実現されるものであって、CPU261が画像処理プログラムを実行する際のワークメモリとして使用される記憶部である。
図2(c)に示すように、画像処理サーバ103は、CPU261、ROM262、RAM264、ストレージ265、入力デバイス266、表示デバイス267、外部インタフェース268などのデバイスを備える。これらのデバイスは、データバス263を介して互いに接続される。
CPU261は、画像処理サーバ103における動作全体を制御するための制御部である。CPU261は、ROM262に記憶されたブートプログラムを実行することで、画像処理サーバ103のシステムを起動する。また、CPU261は、ストレージ265に記憶された画像処理プログラムを実行することで、改ざん検知やOCRを用いた文字認識処理などの画像処理を実行する。
ROM262は、不揮発性メモリで実現されるものであって、画像処理サーバ103を起動するブートプログラムを格納するための記憶部である。
RAM264は、揮発性メモリで実現されるものであって、CPU261が画像処理プログラムを実行する際のワークメモリとして使用される記憶部である。
ストレージ265は、HDD(ハードディスクドライブ)等で実現されるものであって、前述の画像処理プログラムや学習モデル、改ざん判定結果を記憶するための記憶部である。
入力デバイス266は、マウスやキーボード等で実現されるものであって、ユーザからの画像処理サーバ103に対する操作入力を受け付けるための処理部である。
表示デバイス267は、液晶ディスプレイ等で実現されるものであって、画像処理サーバ103の操作画面をユーザに対して表示出力するための表示部である。
入力デバイス266は、マウスやキーボード等で実現されるものであって、ユーザからの画像処理サーバ103に対する操作入力を受け付けるための処理部である。
表示デバイス267は、液晶ディスプレイ等で実現されるものであって、画像処理サーバ103の操作画面をユーザに対して表示出力するための表示部である。
外部インタフェース268は、画像処理サーバ103と、ネットワーク104との間を接続するものであって、学習装置102から学習モデルを受信したり、画像処理装置101から処理対象画像を受信したりするためのインタフェース部である。また、外部インタフェース268は、不図示の端末装置を操作するユーザに対して、画像処理サーバ103に記憶した改ざん判定結果を通知又は表示するためのインタフェース部としても用いられる。
データバス263は、画像処理サーバ103を構成するデバイス間で相互にデータを送受信するための通信部である。
データバス263は、画像処理サーバ103を構成するデバイス間で相互にデータを送受信するための通信部である。
<学習シーケンス>
図3(a)は、画像処理システム100において実行される、改ざん検知処理のための学習シーケンスを示す図である。ここでは、ユーザ(例えば、エンジニア)が、画像処理装置101を用いて取得したスキャン画像データを学習装置102に送信し、学習装置102が学習データを生成して学習モデルを更新するまでの流れを説明する。
図3(a)は、画像処理システム100において実行される、改ざん検知処理のための学習シーケンスを示す図である。ここでは、ユーザ(例えば、エンジニア)が、画像処理装置101を用いて取得したスキャン画像データを学習装置102に送信し、学習装置102が学習データを生成して学習モデルを更新するまでの流れを説明する。
まず、画像処理装置101は、手書きの文字が記入された原稿がユーザによって原稿搬送デバイス207に載置された状態で、入力デバイス209からスキャン実行の指示を受け付ける(S301)。
ここで、図9に、学習データを生成するために手書きの文字が記入された原稿として用いられる、学習データ記入帳票の一例を示す。図9に示すように、学習データ記入帳票901は、例えば、学習データを記入するための複数の記入枠902と、帳票を一意に識別するための帳票IDを二次元コードで表現した埋め込み情報903を含む。
図10(a)は、S301で入力デバイス209からスキャン実行を指示する際の操作画面1000の一例である。図10(a)に示すように、入力デバイス209に表示される操作画面1000は、スキャンボタン1001、送信ボタン1002、プレビュー表示部1003、送信先アドレス1004、などから構成される。図10(a)に示す操作画面1000おいて、ユーザは、S301でスキャンボタン1001を押下することで、S302のスキャン実行を指示できる。
次に、画像処理装置101は、S301でスキャン実行の指示がされた原稿に対して、スキャナデバイス206を用いてスキャン処理を実行し、スキャン画像データを生成する(S302)。
図10(a)に示すように、S302で生成されたスキャン画像データは、プレビュー表示部1003に表示される。ここで、S301〜S302で生成されるスキャン画像データには、図11(a)に例示するような原本画像1101と、図11(b)に例示するような改ざん画像1151の2種類が存在する。
原本画像1101は、用意された原本原稿から生成されるものである。なお、原本原稿は、図9に示すような学習データ記入帳票901に対して、記入枠902に数字などから構成される手書きの文字列が記入されたものである。
また、改ざん画像1151は、用意された改ざん原稿から生成されるものである。なお、改ざん原稿は、原本原稿に対して、記入枠902に別の人物が異なるペンで手書きの文字列を記入して改ざんが施されたものである。
原本画像1101は、用意された原本原稿から生成されるものである。なお、原本原稿は、図9に示すような学習データ記入帳票901に対して、記入枠902に数字などから構成される手書きの文字列が記入されたものである。
また、改ざん画像1151は、用意された改ざん原稿から生成されるものである。なお、改ざん原稿は、原本原稿に対して、記入枠902に別の人物が異なるペンで手書きの文字列を記入して改ざんが施されたものである。
すなわち、画像処理装置101は、まず、帳票の原本に対してスキャン処理を実行して、図11(a)に示すような原本画像1101を生成する。次に、画像処理装置101は、改ざんされた帳票に対してスキャン処理を実行して、図11(b)に示すような改ざん画像1151を生成する。
すなわち、S302では、同一の帳票原稿に対して、原本画像と改ざん画像とで二回に分けてスキャン処理が実行される。しかし、同一の帳票原稿に対しては、埋め込み情報1103と1153が同一であるため、画像蓄積部120において両者を対応付けて管理することができる。
すなわち、S302では、同一の帳票原稿に対して、原本画像と改ざん画像とで二回に分けてスキャン処理が実行される。しかし、同一の帳票原稿に対しては、埋め込み情報1103と1153が同一であるため、画像蓄積部120において両者を対応付けて管理することができる。
次に、画像処理装置101は、S302で生成した原本画像1101と改ざん画像1151とからなるスキャン画像データを送信するためのユーザからの指示を受け付ける(S303)。
具体的には、図10(a)に示す操作画面1000において、ユーザは、プレビュー画面1003と送信先アドレス1004を確認の上、送信ボタン1002を押下することにより、スキャン画像データの送信を指示できる。
具体的には、図10(a)に示す操作画面1000において、ユーザは、プレビュー画面1003と送信先アドレス1004を確認の上、送信ボタン1002を押下することにより、スキャン画像データの送信を指示できる。
次に、画像処理装置101は、S302で生成した原本画像1101と改ざん画像1151とからなるスキャン画像データを、学習装置102に対して送信する(S304)。
なお、S301〜S304に対応した、画像処理装置101におけるスキャン画像データの送信処理の詳細については、図4(a)を用いて後述する。
なお、S301〜S304に対応した、画像処理装置101におけるスキャン画像データの送信処理の詳細については、図4(a)を用いて後述する。
次に、学習装置102は、受信したスキャン画像データを、画像蓄積部120としてのストレージ235に蓄積する(S305)。
なお、S305に対応した、学習装置102におけるスキャン画像データの受信処理の詳細については、図4(b)を用いて後述する。
なお、S305に対応した、学習装置102におけるスキャン画像データの受信処理の詳細については、図4(b)を用いて後述する。
次に、学習装置102は、S304で受信した原本画像1101と改ざん画像1151を用いて、図11(c)に例示するような、入力画像と教師ラベルで構成される学習データを生成する(S306)。
なお、S306に対応した、学習装置102における学習データの生成処理の詳細については、図5を用いて後述する。
なお、S306に対応した、学習装置102における学習データの生成処理の詳細については、図5を用いて後述する。
次に、学習装置102は、S305で生成した学習データを用いて、学習モデルを更新する(S307)。
なお、S307に対応した、学習装置102における学習モデルの更新処理の詳細については、図6を用いて後述する。
なお、S307に対応した、学習装置102における学習モデルの更新処理の詳細については、図6を用いて後述する。
<実行シーケンス>
図3(b)は、画像処理システム100において実行される改ざん検知処理の実行シーケンスを示す図である。ここでは、ユーザ(例えば、オペレータ)が画像処理装置101を用いて取得した処理対象画像を画像処理サーバ103に送信し、学習モデルを用いて改ざん検知処理を実行し、改ざん判定結果を通知するまでの流れを説明する。
図3(b)は、画像処理システム100において実行される改ざん検知処理の実行シーケンスを示す図である。ここでは、ユーザ(例えば、オペレータ)が画像処理装置101を用いて取得した処理対象画像を画像処理サーバ103に送信し、学習モデルを用いて改ざん検知処理を実行し、改ざん判定結果を通知するまでの流れを説明する。
まず、画像処理システム100は、画像処理サーバ103の導入時に、学習装置102が生成した学習モデルを画像処理サーバ103に送信する。そして、画像処理サーバ103は、画像変換部114において学習モデルを用いた改ざん検知を実現できるように、学習モデルをロードする(S351)。
次に、画像処理装置101は、改ざん検知処理の対象とする帳票原稿が原稿搬送デバイス207に載置された状態で、入力デバイス209からスキャン実行の指示を受け付ける(S352)。
図10(b)は、S352で入力デバイス209からスキャン実行を指示する際の操作画面1050の一例である。図10(b)に示すように、入力デバイス209に表示される操作画面1050は、スキャンボタン1051、送信ボタン1052、プレビュー表示1053、送信先アドレス1054、などから構成される。図10(b)に示す操作画面1050において、ユーザは、S352でスキャンボタン1051を押下することで、S353のスキャン実行を指示できる。
次に、画像処理装置101は、S352で載置された帳票原稿に対して、スキャナデバイス206を用いてスキャン処理を実行し、改ざん検知処理の処理対象画像を生成する(S353)。
図12(a)は、S353で生成される処理対象画像1201の一例である。図12(a)に示すように、処理対象画像1201は、金銭のやり取りに関わる領収書、請求書、申込書、契約書等の帳票原稿から生成され、手書きの数字や文字を含む画像であって、改ざんされている可能性がある画像(以下、これを「改ざん後画像」ともいう)である。
図12(a)は、S353で生成される処理対象画像1201の一例である。図12(a)に示すように、処理対象画像1201は、金銭のやり取りに関わる領収書、請求書、申込書、契約書等の帳票原稿から生成され、手書きの数字や文字を含む画像であって、改ざんされている可能性がある画像(以下、これを「改ざん後画像」ともいう)である。
次に、画像処理装置101は、S353で生成した処理対象画像を送信するためのユーザからの指示を受け付ける(S354)。
具体的には、図10(b)に示す操作画面1050において、ユーザは、プレビュー画面1053と送信先アドレス1054を確認の上、送信ボタン1052を押下することにより、処理対象画像の送信を指示できる。
具体的には、図10(b)に示す操作画面1050において、ユーザは、プレビュー画面1053と送信先アドレス1054を確認の上、送信ボタン1052を押下することにより、処理対象画像の送信を指示できる。
次に、画像処理装置101は、S353で生成した処理対象画像を、画像処理サーバ103に対して送信する(S355)。
なお、S352〜S355に対応した、画像処理装置101におけるスキャン画像データの送信処理の詳細については、図4(a)を用いて後述する。
なお、S352〜S355に対応した、画像処理装置101におけるスキャン画像データの送信処理の詳細については、図4(a)を用いて後述する。
次に、画像処理サーバ103の画像変換部114は、S355で送信された処理対象画像を受信し、処理対象画像において改ざんされた箇所を特定するために、学習モデルを用いて改ざん検知処理を実行し、改ざんが疑われる画素を抽出する(S356)。
図12(b)は、図12(a)に示した処理対象画像1201に対して、S356で抽出した改ざんが疑われる画素(以下、「改ざん画素」という)を抽出した改ざん画素抽出画像1202の一例である。図12(b)に示すように、改ざん画素抽出画像1202は、改ざん画素と、改ざん画素以外の画素とで、互いに異なる画素値を有するように出力したものである。
次に、画像処理サーバ103の画像変換部114は、S353で生成した処理対象画像(改ざん後画像)から、S356で抽出した改ざん画素を除去するなどの画像補正を行い、疑われる改ざんがされる前の画像の候補(改ざん前画像)生成する(S357)。
図12(c)は、S357で生成される改ざん前画像1203の一例である。図12(c)に示すように、改ざん前画像1203は、図12(a)の処理対象画像(改ざん後画像)1201に対して、図12(b)の改ざん画素抽出画像1202で抽出された改ざん画素を取り除くように画像補正処理を行うことで生成できる。
次に、画像処理サーバ103の文字認識部115は、改ざん前画像、及び、改ざん後画像のそれぞれに対して、OCRを用いた文字認識処理を実行し、文字認識結果を生成する(S358)。
ここで、S357〜S358で生成された、改ざん前画像、改ざん後画像、及び、両者の画像に対する文字認識結果は、画像処理サーバ103における記憶部116に改ざん判定結果として記憶される。
ここで、S357〜S358で生成された、改ざん前画像、改ざん後画像、及び、両者の画像に対する文字認識結果は、画像処理サーバ103における記憶部116に改ざん判定結果として記憶される。
次に、画像処理サーバ103は、不図示の端末装置を操作するユーザに対して、改ざん判定結果を通知する(S359)。
なお、S351、及び、S356〜S359に対応した、画像処理サーバ103における改ざん判定結果の出力処理の詳細については、図7を用いて後述する。また、S359に対応した、ユーザが操作する不図示の端末装置における改ざん判定結果の表示例については、図13を用いて後述する。
なお、S351、及び、S356〜S359に対応した、画像処理サーバ103における改ざん判定結果の出力処理の詳細については、図7を用いて後述する。また、S359に対応した、ユーザが操作する不図示の端末装置における改ざん判定結果の表示例については、図13を用いて後述する。
<スキャン画像データの送受信処理>
図4(a)は、図3(a)のS301〜S304、及び、図3(b)のS352〜S355に対応したものであって、画像処理装置101による、スキャン画像データの送信処理の流れを説明するためのフローチャートである。なお、図4(a)に示す各ステップは、画像処理装置101のROM202、RAM204、ストレージ208のいずれかに記憶されたプログラムを、CPU201が実行することによって実現される。
図4(a)は、図3(a)のS301〜S304、及び、図3(b)のS352〜S355に対応したものであって、画像処理装置101による、スキャン画像データの送信処理の流れを説明するためのフローチャートである。なお、図4(a)に示す各ステップは、画像処理装置101のROM202、RAM204、ストレージ208のいずれかに記憶されたプログラムを、CPU201が実行することによって実現される。
まず、CPU201は、入力デバイス209を介してユーザからスキャン指示の操作入力があったか否かを検知する(S401)。
ここで、CPU201は、スキャン指示を受け付けたならば(S401でYES)、S402に遷移し、スキャン指示を受け付けていなければ(S401でNO)、S401を繰り返す。
ここで、CPU201は、スキャン指示を受け付けたならば(S401でYES)、S402に遷移し、スキャン指示を受け付けていなければ(S401でNO)、S401を繰り返す。
次に、CPU201は、手書きの文字が記入された原稿に対して、スキャン処理を実行し、スキャン画像データを生成する(S402)。
次に、CPU201は、入力デバイス209を介してユーザから送信指示の操作入力があったか否かを検知する(S403)。
ここで、CPU201は、送信指示を受け付けたならば(S403でYES)、S404に遷移し、送信指示を受け付けていなければ(S403でNO)、S405に遷移する。
ここで、CPU201は、送信指示を受け付けたならば(S403でYES)、S404に遷移し、送信指示を受け付けていなければ(S403でNO)、S405に遷移する。
次に、CPU201は、S402で生成したスキャン画像データを、S401での指示に基づいて、学習装置102又は画像処理サーバ103のいずれかに対して送信する(S404)。
なお、S404で、学習装置102や画像処理サーバ103における送信先は、例えば、操作画面1000における送信先アドレス1004や、操作画面1050における送信先アドレス1054において設定することができる。
なお、S404で、学習装置102や画像処理サーバ103における送信先は、例えば、操作画面1000における送信先アドレス1004や、操作画面1050における送信先アドレス1054において設定することができる。
最後に、CPU201は、次の原稿があるか否かを判断する(S405)。
ここで、CPU201は、次の原稿があれば(S405でYES)、S401に遷移して、S401〜S404を繰り返し、次の原稿がなければ(S405でNO)、スキャン画像データの送信処理を終了する。
ここで、CPU201は、次の原稿があれば(S405でYES)、S401に遷移して、S401〜S404を繰り返し、次の原稿がなければ(S405でNO)、スキャン画像データの送信処理を終了する。
図4(b)は、図3(a)のS305に対応したものであって、学習装置102による、スキャン画像データの受信処理の流れを説明するためのフローチャートである。なお、図4(b)に示す各ステップは、学習装置102のROM232、RAM234、ストレージ235のいずれかに記憶され、学習装置102のCPU231、GPU239のいずれかによって実行される。
まず、CPU231は、外部インタフェース238を介して画像処理装置101からスキャン画像データとして改ざん画像を受信したか否かを判断する(S451)。
ここで、CPU231は、改ざん画像を受信したならば(S451でYES)、S452に遷移し、改ざん画像を受信していなければ(S451でNO)、S453に遷移する。
ここで、CPU231は、改ざん画像を受信したならば(S451でYES)、S452に遷移し、改ざん画像を受信していなければ(S451でNO)、S453に遷移する。
次に、CPU231は、S451で受信した改ざん画像を画像蓄積部120としてのストレージ235に蓄積する(S452)。
次に、CPU231は、外部インタフェース238を介して画像処理装置101からスキャン画像データとして原本画像を受信したか否かを判断する(S453)。
ここで、CPU231は、原本画像を受信したならば(S453でYES)、S454に遷移し、原本画像を受信していなければ(S453でNO)、S455に遷移する。
ここで、CPU231は、原本画像を受信したならば(S453でYES)、S454に遷移し、原本画像を受信していなければ(S453でNO)、S455に遷移する。
次に、CPU231は、S453で受信した原本画像を画像蓄積部120としてのストレージ235に蓄積する(S454)。
最後に、CPU231は、次のスキャン画像データがあるか否かを判断する(S455)。
ここで、CPU231は、次のスキャン画像データとしての改ざん画像又は原本画像があれば、S451に遷移し、次のスキャン画像データとしての改ざん画像又は原本画像がなければ、スキャン画像データの受信処理を終了する。
ここで、CPU231は、次のスキャン画像データとしての改ざん画像又は原本画像があれば、S451に遷移し、次のスキャン画像データとしての改ざん画像又は原本画像がなければ、スキャン画像データの受信処理を終了する。
<学習データの生成処理>
図5は、図3(a)のS306に対応したものであって、学習装置102による、学習データの生成処理の流れを説明するためのフローチャートである。なお、図5に示す各ステップは、学習装置102のROM232、RAM234、ストレージ235のいずれかに記憶され記憶されたプログラムを、学習装置102のCPU231、GPU239のいずれかが実行することによって、実現される。
図5は、図3(a)のS306に対応したものであって、学習装置102による、学習データの生成処理の流れを説明するためのフローチャートである。なお、図5に示す各ステップは、学習装置102のROM232、RAM234、ストレージ235のいずれかに記憶され記憶されたプログラムを、学習装置102のCPU231、GPU239のいずれかが実行することによって、実現される。
まず、CPU231は、画像蓄積部120としてのストレージ235から、原本画像を選択する(S501)。
ここで、図4のS454が繰り返し実行されることにより、ストレージ235には複数の原本画像が記憶されているため、CPU231はこの中からいずれか一つを選択して読み出す。
ここで、図4のS454が繰り返し実行されることにより、ストレージ235には複数の原本画像が記憶されているため、CPU231はこの中からいずれか一つを選択して読み出す。
次に、CPU231は、S501で取得した原本画像の埋め込み情報903に含まれる帳票IDを参照し、ストレージ235から、同一の帳票IDを持つ改ざん画像を検索する(S502)。
ここで、帳票IDは、図9を用いて前述したとおり、学習データ記入帳票毎に異なるため、同一の帳票IDを持つ原本画像と改ざん画像とは、同一の学習データ記入帳票に基づく原本画像と改ざん画像であることを意味する。
ここで、帳票IDは、図9を用いて前述したとおり、学習データ記入帳票毎に異なるため、同一の帳票IDを持つ原本画像と改ざん画像とは、同一の学習データ記入帳票に基づく原本画像と改ざん画像であることを意味する。
次に、CPU231は、原本画像と同一の帳票IDを持つ改ざん画像を見つけられたか否かを判断する(S503)。
ここで、CPU231は、改ざん画像を見つけられたならば(S503でYES)、S504に遷移し、改ざん画像を見つけられなかったならば(S503でNO)、S508に遷移する。なお、ここにおいて、改ざん画像が見つからない場合は、例えば、原本画像がスキャンされたものの、原本画像に対して改ざんが施されずに、結果として対応する改ざん画像が得られなかった場合などに発生する。
ここで、CPU231は、改ざん画像を見つけられたならば(S503でYES)、S504に遷移し、改ざん画像を見つけられなかったならば(S503でNO)、S508に遷移する。なお、ここにおいて、改ざん画像が見つからない場合は、例えば、原本画像がスキャンされたものの、原本画像に対して改ざんが施されずに、結果として対応する改ざん画像が得られなかった場合などに発生する。
次に、CPU231は、原本画像と改ざん画像のそれぞれから、予め登録された領域情報を用いて、記入枠902の位置を切り出した画像(以下、この画像を「記入枠画像」という)を取得する(S504)。
ここで、領域情報は、例えば、図9で示した学習データ記入帳票901の記入枠902の位置及び大きさ情報を予め登録しておくことで、取得することができる。このように取得した領域情報を用いて、学習データ記入帳票901に含まれる全ての記入枠902に対する記入枠画像を取得することで、原本画像の記入枠画像と、改ざん画像の記入枠画像をそれぞれ取得する。
ここで、領域情報は、例えば、図9で示した学習データ記入帳票901の記入枠902の位置及び大きさ情報を予め登録しておくことで、取得することができる。このように取得した領域情報を用いて、学習データ記入帳票901に含まれる全ての記入枠902に対する記入枠画像を取得することで、原本画像の記入枠画像と、改ざん画像の記入枠画像をそれぞれ取得する。
次に、CPU231は、それぞれの記入枠について、原本画像の記入枠画像と、改ざん画像の記入枠画像の位置合わせ処理を実行する(S505)。
ここで、仮に、位置合わせ処理を実行しなかった場合、後述する改ざん画素の差分抽出処理において、改ざん画素以外の位置ずれによる差分画素がノイズ成分として混入してしまい、良質な学習データが得られない問題がある。そこで、S505の位置合わせ処理を実行することで、この問題を解消し、スキャナデバイス206と原稿の位置関係のずれによるノイズ成分が画像差分として混入しないように制御することができる。
なお、位置合わせ処理は、例えば、二つの画像に含まれる各画素の画素値(輝度)に対する差の絶対値の総和(輝度差総和)を基準にして適用することができる。具体的には、例えば、改ざん画像の記入枠画像に対して、対応する原本画像の記入枠画像を上下左右に一画素ずつシフトしながら輝度差総和が最も小さくなるシフト量を探索し、このシフト量を位置合わせ処理結果として一時記憶する。
ここで、仮に、位置合わせ処理を実行しなかった場合、後述する改ざん画素の差分抽出処理において、改ざん画素以外の位置ずれによる差分画素がノイズ成分として混入してしまい、良質な学習データが得られない問題がある。そこで、S505の位置合わせ処理を実行することで、この問題を解消し、スキャナデバイス206と原稿の位置関係のずれによるノイズ成分が画像差分として混入しないように制御することができる。
なお、位置合わせ処理は、例えば、二つの画像に含まれる各画素の画素値(輝度)に対する差の絶対値の総和(輝度差総和)を基準にして適用することができる。具体的には、例えば、改ざん画像の記入枠画像に対して、対応する原本画像の記入枠画像を上下左右に一画素ずつシフトしながら輝度差総和が最も小さくなるシフト量を探索し、このシフト量を位置合わせ処理結果として一時記憶する。
次に、CPU231は、記入枠902のそれぞれについて、改ざん画像の記入枠画像と、S505で算出したシフト量を用いてシフトさせた原本画像の記入枠画像との差分画像を生成する(S506)。
なお、本実施形態において、差分画像は、例えば、二つの画像に対する画素値の差分を算出し、差分が0とならなかった画素だけを残すように合成した画像を生成すればよい。このように差分画像を生成することで、差分画像として、改ざんされた部分だけが白画素となる白黒画像が生成される。
なお、本実施形態において、差分画像は、例えば、二つの画像に対する画素値の差分を算出し、差分が0とならなかった画素だけを残すように合成した画像を生成すればよい。このように差分画像を生成することで、差分画像として、改ざんされた部分だけが白画素となる白黒画像が生成される。
次に、CPU231は、各記入枠について、S506で生成した差分画像を、S504で取得した改ざん画像の記入枠画像に対する改ざん画素の正解ラベル画像として対応付ける。そして、これを学習データとして、画像蓄積部120としてのストレージ235に蓄積する(S507)。
一方、S503で改ざん画像が見つからなかった場合には、CPU231は、原本画像から事前に得られている領域情報を用いて、記入枠902の位置を切り出した画像を取得する(S508)。同様に、学習データ記入帳票901に含まれる全ての記入枠902に対して記入枠画像を取得することで、原本画像について複数の記入枠画像を取得する。
次に、CPU231は、各記入枠について、全面黒画素の画像を、S504で取得した原本画像の記入枠画像に対する改ざん画素の正解ラベル画像として対応付けて、これを学習データとして画像蓄積部120としてのストレージ235に蓄積する(S509)。
ここで、差分画像のうち全面黒画素の画像を正解ラベル画像として用いることで、対応する原本画像の記入枠画像に対して改ざん画素が存在しないことを意味する学習データを生成できる。
ここで、差分画像のうち全面黒画素の画像を正解ラベル画像として用いることで、対応する原本画像の記入枠画像に対して改ざん画素が存在しないことを意味する学習データを生成できる。
次に、CPU231は、追加の学習データとして利用可能な次の原本画像と改ざん画像のスキャン画像データがストレージ235に存在するか否かを判断する(S510)。
ここで、CPU231は、次のスキャン画像データが存在するならば(S510でYES)、S501に遷移して、S501〜S509を繰り返し、次のスキャン画像データが存在しないならば(510でNO)、学習データ生成処理を終了する。
ここで、CPU231は、次のスキャン画像データが存在するならば(S510でYES)、S501に遷移して、S501〜S509を繰り返し、次のスキャン画像データが存在しないならば(510でNO)、学習データ生成処理を終了する。
<学習モデルの更新処理>
図6は、図3(a)のS307に対応したものであって、学習装置102による、学習モデルの更新処理の流れを説明するためのフローチャートである。なお、図6に示す各ステップは、学習装置102のROM232、RAM234、ストレージ235のいずれかに記憶され記憶されたプログラムを、学習装置102のCPU231、GPU239のいずれかが実行することによって、実現される。
図6は、図3(a)のS307に対応したものであって、学習装置102による、学習モデルの更新処理の流れを説明するためのフローチャートである。なお、図6に示す各ステップは、学習装置102のROM232、RAM234、ストレージ235のいずれかに記憶され記憶されたプログラムを、学習装置102のCPU231、GPU239のいずれかが実行することによって、実現される。
まず、CPU231は、GPU239を用いて、学習モデルとして用いるニューラルネットワークを準備し、当該ニューラルネットワークを構成する重みパラメータの値を初期化する(S601)。
具体的には、CPU231は、ニューラルネットワークを構成する重みパラメータをランダムな値に設定したり、事前に学習済みの値をロードして再設定したりする。ここにおいて、使用するニューラルネットワークの構造は、入力される画像に対して画素ごとの出力を結果として生成可能な構造を持つものである。ニューラルネットワークとして、例えば、公知技術であるFCN(Fully Convolutional Network)などを用いることができる。
具体的には、CPU231は、ニューラルネットワークを構成する重みパラメータをランダムな値に設定したり、事前に学習済みの値をロードして再設定したりする。ここにおいて、使用するニューラルネットワークの構造は、入力される画像に対して画素ごとの出力を結果として生成可能な構造を持つものである。ニューラルネットワークとして、例えば、公知技術であるFCN(Fully Convolutional Network)などを用いることができる。
次に、CPU231は、GPU239を用いて、S507及びS509で生成した学習データを取得する(S602)。
次に、CPU231は、GPU239を用いて、S601で準備したニューラルネットワークと、S602で取得した学習データを用いて、ニューラルネットワークの出力誤差を算出する処理を実行する(S603)。
すなわち、CPU231は、原本画像の記入枠画像又は改ざん画像の記入枠画像を入力画像としてニューラルネットワークに入力した際の出力画像と、当該入力画像に対応付けされた正解ラベル画像との出力誤差を算出する。ここで、入力画像と出力画像は同一の画像サイズである。
また、改ざん判定結果として、改ざんされていると判定された画素は、改ざんであることを示す画素値を持つ画素として出力される。一方、改ざんされていないと判定された画素は、改ざんでないことを示す画素値を持つ画素として出力される。なお、出力画像と正解ラベル画像との差を評価するための指標としては、例えば、交差エントロピーなどを用いることができる。
すなわち、CPU231は、原本画像の記入枠画像又は改ざん画像の記入枠画像を入力画像としてニューラルネットワークに入力した際の出力画像と、当該入力画像に対応付けされた正解ラベル画像との出力誤差を算出する。ここで、入力画像と出力画像は同一の画像サイズである。
また、改ざん判定結果として、改ざんされていると判定された画素は、改ざんであることを示す画素値を持つ画素として出力される。一方、改ざんされていないと判定された画素は、改ざんでないことを示す画素値を持つ画素として出力される。なお、出力画像と正解ラベル画像との差を評価するための指標としては、例えば、交差エントロピーなどを用いることができる。
次に、CPU231は、GPU239を用いて、一般に、誤差逆伝搬法(バックプロパゲーション)と呼ばれる、ニューラルネットワークの重みパラメータの値を更新する演算処理を実行する(S604)。
次に、CPU231は、GPU239を用いて、所定の学習データ数を用いて、S602〜S604の演算処理を所定の学習回数だけ実行したか否かを判断する(S605)。
ここで、CPU231は、所定の学習データ数を用いた所定の学習回数が終了したならば(S605でYES)、S606に遷移し、終了していなければ(S605でNO)、S602〜S604の演算処理を繰り返す。
ここで、CPU231は、所定の学習データ数を用いた所定の学習回数が終了したならば(S605でYES)、S606に遷移し、終了していなければ(S605でNO)、S602〜S604の演算処理を繰り返す。
次に、CPU231は、GPU239を用いて、学習済みのニューラルネットワークを構成する重みパラメータの値を学習モデル(「学習済みモデル」ともいう)として画像蓄積部120としてのストレージ235に保存する(S606)。
<改ざん判定結果の出力処理>
図7は、図3(b)のS351、及び、S356〜S359に対応したものであって、画像処理サーバ103による改ざん判定結果の出力処理の流れを説明するためのフローチャートである。なお、図7に示す各ステップは、画像処理サーバ103のROM262、RAM264、ストレージ265のいずれかに記憶され記憶されたプログラムを、画像処理サーバ103のCPU261が実行することによって、実現される。
図7は、図3(b)のS351、及び、S356〜S359に対応したものであって、画像処理サーバ103による改ざん判定結果の出力処理の流れを説明するためのフローチャートである。なお、図7に示す各ステップは、画像処理サーバ103のROM262、RAM264、ストレージ265のいずれかに記憶され記憶されたプログラムを、画像処理サーバ103のCPU261が実行することによって、実現される。
まず、CPU261は、画像処理サーバ103の導入時に、S351で学習装置102から送信された学習モデルを、画像変換部114で利用できるように取得する(S701)。
次に、CPU261は、S355で画像処理装置101から送信された処理対象画像を、画像変換部114に対して入力できるように取得する(S702)。
次に、CPU261は、S702で取得した処理対象画像に対して、S701で取得した学習モデルを用いて、画像変換部114による改ざん画素抽出処理を実行する(S703)。
次に、CPU261は、S703での改ざん画素抽出処理において、改ざん画素が抽出されたか否か(すなわち、改ざんされた部分を含むかどうか)を判断する(S704)。
ここで、CPU261は、改ざん画素が存在するならば(S704でYES)、S705に遷移し、改ざん画素が存在しないならば(S704でNO)、S708に遷移する。
ここで、CPU261は、改ざん画素が存在するならば(S704でYES)、S705に遷移し、改ざん画素が存在しないならば(S704でNO)、S708に遷移する。
次に、CPU261は、S704で改ざん画素が存在すると判断された処理対象画像(改ざん後画像)に対して、改ざん画素マスク処理として、S703で抽出された改ざん画素を用いて、改ざん画素を補正した画像(改ざん前画像)を生成する(S705)。
具体的には、CPU261は、図12(a)に示すような処理対象画像1201に対して、図12(b)に示すような改ざん画素抽出画像1202を用いて改ざん画素マスク処理を行う。これにより、図12(c)に示すような改ざん前画像1203を生成する。なお、スキャナで読み取った原稿画像全体に対して、改ざん画素の画像補正処理を行うことにより、図12(c)のような改ざん前画像を生成しているが、これに限るものではない。例えば、改ざん画素が検出された文字を含む領域についてのみ画像補正処理を行って、当該文字を含む領域についての改ざん前画像を生成するようにしてもよい。
具体的には、CPU261は、図12(a)に示すような処理対象画像1201に対して、図12(b)に示すような改ざん画素抽出画像1202を用いて改ざん画素マスク処理を行う。これにより、図12(c)に示すような改ざん前画像1203を生成する。なお、スキャナで読み取った原稿画像全体に対して、改ざん画素の画像補正処理を行うことにより、図12(c)のような改ざん前画像を生成しているが、これに限るものではない。例えば、改ざん画素が検出された文字を含む領域についてのみ画像補正処理を行って、当該文字を含む領域についての改ざん前画像を生成するようにしてもよい。
次に、CPU261は、S705で生成した改ざん前画像、及び、改ざん後画像のそれぞれの文字領域(改ざん画素が検出された文字領域)に対して、文字認識処理(OCR処理)を実行し、文字認識結果の文字列を取得する(S706)。
次に、CPU261は、ユーザに警告するために、S706で取得した改ざん前画像と改ざん後画像のそれぞれの画像に対して文字認識結果として取得した文字列を用いて、改ざんの検知結果として、改ざん判定結果を出力する。そして、改ざん判定結果をユーザに通知する警告画面を生成し、表示デバイス267に表示する(S707)。
図13に、S707で表示される警告画面の具体例を示す。図13A(1)は、S705で生成した改ざん前画像、及び、改ざん後画像のそれぞれについて、画像解析結果とともに、これらの文字認識結果を表示した警告画面の一例である。
図13A(1)の警告画面の例では、帳票である入院手術証明書Aについて、入院日数の項目に対応する記入枠において改ざん画素が抽出されたことに加えて、改ざんの内容として「16」から「46」に改ざんされた可能性が高いことが示されている。これに対して、入院手術証明書Bでは、入院日数の項目に対応する記入枠において改ざん画素が抽出されたものの、改ざん前後でいずれの文字認識結果も「63」であって、変化がないことから、改ざんの可能性が低いことが示されている。
また、図13A(2)の警告画面の例では、変形例として、改ざんの内容をユーザに通知する警告メッセージを表示する例を示したものである。具体的には、定型の帳票について、入院日数や金額に関わる数字などを含む、改ざんされる可能性の高い項目として予め登録された項目に対して、項目名、単位、文字認識結果の文字列などを組み合わせて、警告メッセージを表示する。例えば、改ざんされた項目名が「入院日数」、単位が「日」、改ざん前後画像の文字認識結果が「1」と「4」であれば、図13A(2)に示すように、「入院日数が1日から4日に改ざんされた可能性があります」等の警告メッセージを生成して表示する。
また、図13B(1)の警告画面は、更なる変形例として、図13A(2)と同様の警告メッセージを吹き出し表示により表示した例である。
また、図13B(2)の警告画面は、更なる変形例として、改ざん前画像と改ざん後画像の文字認識結果の数字が示す数値から算出された別の数値を用いて、警告メッセージを表示した例である。ここでは、改ざん前画像と改ざん後画像の文字認識結果が「1」と「4」であった場合に、両者の差分である「3」を用いて、「入院日数が3日だけ改ざんされた可能性があります」という警告メッセージが表示される例を示している。
なお、図13の各例では、警告画面を画像処理サーバ103の表示デバイス267に表示する方式を示したが、警告画面の出力形態はこの方式に限られるものではない。例えば、「入院手術証明書Cで、改ざん検知されました。入院日数が1日から4日に改ざんされた可能性があります。」等の警告メッセージを、ユーザが操作する不図示の端末装置に対してメールやチャットにより自動送信する方式などであってもよい。
なお、図13の各例では、警告画面を画像処理サーバ103の表示デバイス267に表示する方式を示したが、警告画面の出力形態はこの方式に限られるものではない。例えば、「入院手術証明書Cで、改ざん検知されました。入院日数が1日から4日に改ざんされた可能性があります。」等の警告メッセージを、ユーザが操作する不図示の端末装置に対してメールやチャットにより自動送信する方式などであってもよい。
次に、CPU261は、次の処理対象画像があるか否かを判断する(S708)。
ここで、CPU261は、次の処理対象画像があるならば(S708でYES)、S702に遷移して、S702〜S707を繰り返し、次の処理対象画像がないならば(S708でNO)、改ざん判定結果の出力処理を終了する。
ここで、CPU261は、次の処理対象画像があるならば(S708でYES)、S702に遷移して、S702〜S707を繰り返し、次の処理対象画像がないならば(S708でNO)、改ざん判定結果の出力処理を終了する。
以上のように、実施形態1によれば、スキャン画像に対して改ざん検知処理を行う画像処理システムにおいて、学習モデルを用いて改ざん検知処理を行い、改ざん判定結果をユーザが理解しやすいような形態で通知する。これにより、ユーザによるスキャン画像に対する改ざんの有無や内容に対する確認作業の効率を向上させることが可能な画像処理システムを提供できる。
<第2の実施形態>
第1の実施形態では、警告画面において、すべての項目に対して、改ざん判定結果として改ざん前画像と改ざん後画像を順不同に表示するように構成した。
これに対して、第2の実施形態では、原稿画像内に改ざんされた部分が複数ある場合、予め定められた所定の条件に決定された優先順位に基づいて、項目ごとにソートをした改ざん判定結果を警告画面に表示するように構成する。
第1の実施形態では、警告画面において、すべての項目に対して、改ざん判定結果として改ざん前画像と改ざん後画像を順不同に表示するように構成した。
これに対して、第2の実施形態では、原稿画像内に改ざんされた部分が複数ある場合、予め定められた所定の条件に決定された優先順位に基づいて、項目ごとにソートをした改ざん判定結果を警告画面に表示するように構成する。
<改ざん判定結果の出力処理>
図8は、第1の実施形態における図7に対応するものであって、画像処理サーバ103による改ざん判定結果の出力処理の流れを説明するためのフローチャートである。なお、図8に示す各ステップは、画像処理サーバ103のROM262、RAM264、ストレージ265のいずれかに記憶され記憶されたプログラムを、画像処理サーバ103のCPU261が実行することによって、実現される。なお、図8のS801〜S808は、図7のS701〜S708と同様の処理であるため、説明を省略し、S808及びS809のみ説明する。
図8は、第1の実施形態における図7に対応するものであって、画像処理サーバ103による改ざん判定結果の出力処理の流れを説明するためのフローチャートである。なお、図8に示す各ステップは、画像処理サーバ103のROM262、RAM264、ストレージ265のいずれかに記憶され記憶されたプログラムを、画像処理サーバ103のCPU261が実行することによって、実現される。なお、図8のS801〜S808は、図7のS701〜S708と同様の処理であるため、説明を省略し、S808及びS809のみ説明する。
CPU261は、S807で出力した改ざん判定結果を用いて警告画面し、表示デバイス267に表示する(S808)。
図14に、S808で表示される警告画面の具体例を示す。図14Aは、「金額」、「入院日数」、「日付」等の複数の項目に対して優先順位が設定されている場合に、各項目を優先順位に応じてソートした警告画面の例である。
図14に、S808で表示される警告画面の具体例を示す。図14Aは、「金額」、「入院日数」、「日付」等の複数の項目に対して優先順位が設定されている場合に、各項目を優先順位に応じてソートした警告画面の例である。
すなわち、図14Aの例では、改ざん検知処理において金銭のやり取りに関わる「金額」や「入院日数」等の項目については、警告画面において優先順位を上げて表示するようにソートする。一方で、金銭のやり取りに関わる可能性が低い「日付」等の項目に対しても、優先順位を下げて警告画面において表示するようにする。これによって、金銭のやり取りに関わる項目のような、改ざんされるリスクの高い項目を優先的に表示するとともに、改ざんされるリスクの高い項目についても表示することができる。
また、図14Bは、警告画面の変形例として、文字認識結果の文字確信度を算出可能な場合に、文字確信度を用いて、警告画面において表示する項目の優先順位をソートする例である。
すなわち、図14Bの例では、改ざん判定結果として、改ざん前画像と改ざん後画像に対するOCRを用いた文字認識結果の確からしさの指標となる文字確信度を併せて出力し、文字確信度が高い順に、優先順位を上げて表示するようにソートする。これによって、OCRを用いた文字認識結果として、改ざん前画像と改ざん後画像のいずれの文字認識結果も文字確信度が高いと判定された項目を優先的に表示することができる。
なお、図14Bでは、文字確信度を確からしさの指標とする例を示したが、文字確信度の代わりに、例えば、改ざん検知画素数を確からしさの指標として用いてもよい。すなわち、改ざん検知画素数が多ければ、改ざん判定結果も確からしい可能性が高く、改ざん検知画素数が少なければ、改ざん判定結果は確からしい可能性が低いと考えられるため、改ざん検知画素数が多いものを優先的に表示してもよい。
すなわち、図14Bの例では、改ざん判定結果として、改ざん前画像と改ざん後画像に対するOCRを用いた文字認識結果の確からしさの指標となる文字確信度を併せて出力し、文字確信度が高い順に、優先順位を上げて表示するようにソートする。これによって、OCRを用いた文字認識結果として、改ざん前画像と改ざん後画像のいずれの文字認識結果も文字確信度が高いと判定された項目を優先的に表示することができる。
なお、図14Bでは、文字確信度を確からしさの指標とする例を示したが、文字確信度の代わりに、例えば、改ざん検知画素数を確からしさの指標として用いてもよい。すなわち、改ざん検知画素数が多ければ、改ざん判定結果も確からしい可能性が高く、改ざん検知画素数が少なければ、改ざん判定結果は確からしい可能性が低いと考えられるため、改ざん検知画素数が多いものを優先的に表示してもよい。
また、図14Cは、警告画面の変形例として、改ざん前画像と改ざん後画像のそれぞれの数字に対する文字認識結果の数値から算出される数値差分を用いて、優先順位をソートする例を示したものである。すなわち、入院手術証明書A、B、Cについての入院日数の数値差分が、それぞれ、「+50」、「+30」、「±0」であった場合、この数値差分を降順にソートして、数値差分が大きいものほど優先順位を上げて表示するようにソートする。これによって、数値差分が大きく、改ざんによって生じる損失額が大きい項目から優先的に表示することができる。
次に、CPU261は、S808で警告画面において表示した改ざん判定結果に対する、ユーザからの表示条件の変更指示を受け付ける(S809)。
表示条件の変更指示を受け付けたならば、CPU261は、指示に基づいて警告画面を改めて生成し、表示デバイス267に表示する。
ここで、表示条件の変更指示を受け付ける方法は、画像処理サーバ103の入力デバイス266を介した操作入力でもよいし、ユーザが操作する不図示の端末装置の画面表示上の操作入力でもよい。
表示条件の変更指示を受け付けたならば、CPU261は、指示に基づいて警告画面を改めて生成し、表示デバイス267に表示する。
ここで、表示条件の変更指示を受け付ける方法は、画像処理サーバ103の入力デバイス266を介した操作入力でもよいし、ユーザが操作する不図示の端末装置の画面表示上の操作入力でもよい。
なお、図14に示した各例では、それぞれ単一の条件に基づいてソートすることによって、優先順位の高い項目から順番に表示する例を示したが、複数条件の組合せによってソートしてもよい。
また、図14に示した例では、すべての項目について改ざん判定結果を表示する例を示したが、ソートした上で、優先順位の低い項目については非表示としてもよい。例えば、文字確信度が0.5以下である項目については改ざん判定結果を非表示としてもよい。また、例えば、1文字あたりの改ざん検知画素数が20画素以下である項目については改ざん判定結果を非表示としてもよい。また、例えば、数値差分が±0である項目については改ざん判定結果を非表示としてもよい。
また、図14に示した例では、すべての項目について改ざん判定結果を表示する例を示したが、ソートした上で、優先順位の低い項目については非表示としてもよい。例えば、文字確信度が0.5以下である項目については改ざん判定結果を非表示としてもよい。また、例えば、1文字あたりの改ざん検知画素数が20画素以下である項目については改ざん判定結果を非表示としてもよい。また、例えば、数値差分が±0である項目については改ざん判定結果を非表示としてもよい。
以上のように、実施形態2によれば、スキャン画像に対して改ざん検知処理を行う画像処理システムにおいて、金銭のやり取りに関する項目のような改ざんの有無を確認する必要性の高い項目については、優先順位を上げて改ざん判定結果をユーザに通知する。これにより、ユーザによるスキャン画像に対する改ざんの有無や内容に対する確認作業の効率を更に向上させることが可能な画像処理システムを提供できる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述した構成例及びその変形例を組み合わせた構成もすべて本発明に含まれるものである。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述した構成例及びその変形例を組み合わせた構成もすべて本発明に含まれるものである。
101 画像処理装置
102 学習装置
103 画像処理サーバ
102 学習装置
103 画像処理サーバ
Claims (11)
- 文字列が記入された原稿を読み取ることにより原稿画像を取得する取得手段と、
前記原稿画像に含まれている前記文字列の画像のうち、改ざんされた部分があると判断した文字に関する第1の画像を抽出する抽出手段と、
前記改ざんされた部分を補正することにより、前記第1の画像に対応する第2の画像を取得する取得手段と、
前記第1の画像と前記第2の画像とについて文字認識処理を行う文字認識手段と、
前記第1の画像についての文字認識処理の第1の結果と前記第2の画像についての文字認識処理の第2の結果とに基づいて、改ざんの検知結果を表示する表示手段と、
を有することを特徴とする改ざん検知システム。 - 前記表示手段は、前記第1の画像と、前記第2の画像と、前記改ざんの検知結果とを表示する、ことを特徴とする請求項1に記載の改ざん検知システム。
- 前記表示手段により表示される前記改ざんの検知結果は、前記第1の結果と前記第2の結果とを含む、ことを特徴とする請求項1または2に記載の改ざん検知システム。
- 前記表示手段により表示される前記改ざんの検知結果は、前記第1の結果と前記第2の結果とに基づいて生成されるメッセージを含む、ことを特徴とする請求項1乃至3のいずれか1項に記載の改ざん検知システム。
- 前記表示手段は、前記原稿画像内に改ざんされた部分が複数あると判断した場合、予め定められた条件により決定される優先順位に基づいて、前記改ざんの検知結果を表示することを特徴とする請求項1乃至4のいずれか1項に記載の改ざん検知システム。
- 前記文字列は、数字および文字の少なくともいずれかで構成されることを特徴とする請求項1乃至5のいずれか1項に記載の改ざん検知システム。
- 前記改ざんされた部分は、学習モデルを用いることによって前記原稿画像から検出されることを特徴とする請求項1乃至6のいずれか1項に記載の改ざん検知システム。
- 前記学習モデルは、ニューラルネットワークにより構成されることを特徴とする請求項7に記載の改ざん検知システム。
- 改ざんされていない原稿の画像と改ざんされた原稿の画像とを用いて学習することにより、前記学習モデルを生成する生成手段、を更に有することを特徴とする請求項7または8に記載の改ざん検知システム。
- コンピュータを、請求項1乃至9のいずれか1項に記載の改ざん検知システムの各手段として機能させるためのプログラム。
- 原稿画像に含まれている文字列の画像のうち、改ざんされた部分があると判断した文字に関する第1の画像を抽出する抽出工程と、
前記改ざんされた部分を補正することにより、前記第1の画像に対応する第2の画像を取得する取得工程と、
前記第1の画像と前記第2の画像とについて文字認識処理を行う文字認識工程と、
前記第1の画像についての文字認識処理の第1の結果と前記第2の画像についての文字認識処理の第2の結果とに基づいて、改ざんの検知結果を表示する表示工程と、
を有することを特徴とする改ざん検知方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020032988A JP2021135868A (ja) | 2020-02-28 | 2020-02-28 | 改ざん検知システム及び改ざん検知方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020032988A JP2021135868A (ja) | 2020-02-28 | 2020-02-28 | 改ざん検知システム及び改ざん検知方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021135868A true JP2021135868A (ja) | 2021-09-13 |
Family
ID=77661364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020032988A Pending JP2021135868A (ja) | 2020-02-28 | 2020-02-28 | 改ざん検知システム及び改ざん検知方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021135868A (ja) |
-
2020
- 2020-02-28 JP JP2020032988A patent/JP2021135868A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6891073B2 (ja) | スキャン画像にファイル名等を設定するための装置、その制御方法及びプログラム | |
JP5712487B2 (ja) | 画像処理装置、画像処理システム、画像処理方法、及びプログラム | |
US8610929B2 (en) | Image processing apparatus, control method therefor, and program | |
JP2006252049A (ja) | 翻訳システム、翻訳方法およびプログラム | |
JP6762722B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
US11418658B2 (en) | Image processing apparatus, image processing system, image processing method, and storage medium | |
CN104054047A (zh) | 图像处理装置、图像形成装置、程序以及记录介质 | |
US11301675B2 (en) | Image processing apparatus, image processing method, and storage medium | |
CN112839141A (zh) | 图像处理***、图像处理方法和存储介质 | |
JP2019159633A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
US8645962B2 (en) | Instruction generating apparatus including a receiving section, a determining section, and a generation section, document processing system, and a computer readable medium | |
US20210287187A1 (en) | Image processing apparatus and non-transitory computer readable medium storing program | |
JP2019153919A (ja) | 画像処理装置、その制御方法、及びプログラム | |
US20200304652A1 (en) | Information processing apparatus | |
JP2021135868A (ja) | 改ざん検知システム及び改ざん検知方法 | |
US11223743B2 (en) | Image processing system, image processing apparatus, method of controlling the image processing apparatus, and storage medium | |
JP2022090947A (ja) | 画像処理装置、画像処理方法およびプログラム | |
US20160072966A1 (en) | Non-transitory computer readable medium and image processing device | |
JP2017158108A (ja) | 画像送信装置 | |
JP2019220906A (ja) | 画像処理システム、印刷指示装置、画像処理装置及びプログラム | |
JP2021026604A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2015177265A (ja) | 画像処理装置、画像処理システム、情報記憶方法およびプログラム | |
JP6413450B2 (ja) | 画像処理装置、画像形成装置およびプログラム | |
JP7388411B2 (ja) | 情報処理システム、通信システム、情報処理方法 | |
JP7206894B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及びプログラム |