IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 楽天株式会社の特許一覧

特許7316479画像処理システム、画像処理方法、及びプログラム
<>
  • 特許-画像処理システム、画像処理方法、及びプログラム 図1
  • 特許-画像処理システム、画像処理方法、及びプログラム 図2
  • 特許-画像処理システム、画像処理方法、及びプログラム 図3
  • 特許-画像処理システム、画像処理方法、及びプログラム 図4
  • 特許-画像処理システム、画像処理方法、及びプログラム 図5
  • 特許-画像処理システム、画像処理方法、及びプログラム 図6
  • 特許-画像処理システム、画像処理方法、及びプログラム 図7
  • 特許-画像処理システム、画像処理方法、及びプログラム 図8
  • 特許-画像処理システム、画像処理方法、及びプログラム 図9
  • 特許-画像処理システム、画像処理方法、及びプログラム 図10
  • 特許-画像処理システム、画像処理方法、及びプログラム 図11
  • 特許-画像処理システム、画像処理方法、及びプログラム 図12
  • 特許-画像処理システム、画像処理方法、及びプログラム 図13
  • 特許-画像処理システム、画像処理方法、及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-07-19
(45)【発行日】2023-07-27
(54)【発明の名称】画像処理システム、画像処理方法、及びプログラム
(51)【国際特許分類】
   G06V 30/412 20220101AFI20230720BHJP
【FI】
G06V30/412
【請求項の数】 16
(21)【出願番号】P 2023519507
(86)(22)【出願日】2022-03-22
(86)【国際出願番号】 JP2022013064
【審査請求日】2023-03-28
【早期審査対象出願】
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】蔡 永男
(72)【発明者】
【氏名】プラキャッシャー プリーサム
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2007-233913(JP,A)
【文献】特開2004-272396(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00 -30/424
(57)【特許請求の範囲】
【請求項1】
定型文字列を含む対象物に関する対象物画像から、任意の文字列を含む文字列領域を検出する検出部と、
前記文字列領域に対し、前記定型文字列に含まれる複数の定型文字の各々に関する文字認識を行い、前記定型文字ごとに、前記文字認識の結果に関するスコアを計算する文字認識部と、
前記複数の定型文字の各々の前記スコアの合計値を、前記定型文字列のスコアとして計算し、当該合計値が基準合計値以上であるか否かを判定することによって、前記文字列領域が前記定型文字列を含む定型領域であるか否かを判定する定型領域判定部と、
を含む画像処理システム。
【請求項2】
前記文字認識は、複数の認識可能文字を認識可能であり、
前記文字認識部は、1文字ごとに、前記複数の認識可能文字の各々の前記スコアを計算し、
前記定型領域判定部は、
前記1文字ごとに、前記複数の認識可能文字の中から、前記スコアが相対的に高い前記認識可能文字を、高スコア文字として特定し、
前記高スコア文字の組み合わせの中に、前記定型文字列が存在するか否かを判定することによって、前記文字列領域が前記定型領域であるか否かを判定する、
請求項1に記載の画像処理システム。
【請求項3】
前記定型領域判定部は、前記1文字ごとに、当該1文字の中で前記スコアの順位が基準順位以上の前記認識可能文字を、前記高スコア文字として特定する、
請求項2に記載の画像処理システム。
【請求項4】
前記定型領域判定部は、前記1文字ごとに、当該1文字の中で前記スコアが基準スコア以上の前記認識可能文字を、前記高スコア文字として特定する、
請求項2又は3に記載の画像処理システム。
【請求項5】
前記画像処理システムは、前記定型文字列に基づいて、前記認識可能文字が前記高スコア文字に該当するための該当基準を決定する該当基準決定部を更に含み、
前記定型領域判定部は、前記該当基準に基づいて、前記高スコア文字を特定する、
請求項2~4の何れかに記載の画像処理システム。
【請求項6】
前記該当基準決定部は、前記定型文字列の誤認識のしやすさに基づいて、前記該当基準を決定する、
請求項5に記載の画像処理システム。
【請求項7】
前記定型領域判定部は、前記定型文字列に含まれる複数の定型文字の中に、前記組み合わせの中に存在しない前記定型文字が存在したとしても、基準数以上の前記定型文字が前記組み合わせの中に存在した場合には、前記文字列領域が前記定型領域であると判定する、
請求項2~6の何れかに記載の画像処理システム。
【請求項8】
前記画像処理システムは、前記定型文字列に基づいて、前記基準数を決定する基準数決定部を更に含み、
前記定型領域判定部は、前記基準数決定部により決定された前記基準数に基づいて、前記文字列領域が前記定型領域であるか否かを判定する、
請求項7に記載の画像処理システム。
【請求項9】
前記定型領域判定部は、前記複数の定型文字の各々の形状に応じた前記基準合計値に基づいて、前記文字列領域が前記定型領域であるか否かを判定する、
請求項1~8の何れかに記載の画像処理システム。
【請求項10】
前記定型領域判定部は、前記定型文字列に含まれる前記定型文字の文字数に応じた前記基準合計値に基づいて、前記文字列領域が前記定型領域であるか否かを判定する、
請求項1~9の何れかに記載の画像処理システム。
【請求項11】
前記検出部は、複数の前記文字列領域を検出し、
前記定型領域判定部は、
前記複数の文字列領域の何れかを選択し、当該選択された文字列領域が前記定型領域であるか否かを判定し、
当該選択された文字列領域が前記定型領域であると判定された場合には、次の前記文字列領域を選択せずに処理を終了し、
当該選択された文字列領域が前記定型領域であると判定されない場合には、次の前記文字列領域を選択し、当該選択された次の文字列領域が前記定型領域であるか否かを判定する、
請求項1~1の何れかに記載の画像処理システム。
【請求項12】
前記対象物には、複数の前記定型文字列が含まれており、
前記検出部は、複数の前記文字列領域を検出し、
前記定型領域判定部は、前記定型文字列ごとに、前記文字列領域が当該定型文字列を含む前記定型領域であるか否かを判定し、
前記画像処理システムは、前記複数の定型文字列の中に、前記定型領域が特定されなかった前記定型文字列が存在する場合には、前記対象物画像に前記対象物が含まれていないと判定する対象物判定部を更に含む、
請求項1~1の何れかに記載の画像処理システム。
【請求項13】
前記文字認識は、複数の認識可能文字を認識可能であり、
前記複数の認識可能文字には、前記定型文字列に含まれる複数の定型文字が含まれており、
前記文字認識部は、前記文字列領域に対し、前記複数の定型文字の各々に関する前記文字認識を行い、前記定型文字ごとに、前記スコアを計算し、
前記定型領域判定部は、前記定型文字ごとに計算された前記スコアに基づいて、前記文字列領域が前記定型領域であるか否かを判定する、
請求項1~1の何れかに記載の画像処理システム。
【請求項14】
前記対象物は、本人確認書類であり、
前記定型文字列は、本人確認のために必要な情報に関する文字列であり、
前記対象物画像は、前記本人確認書類が撮影されることによって生成された画像である、
請求項1~1の何れかに記載の画像処理システム。
【請求項15】
定型文字列を含む対象物に関する対象物画像から、任意の文字列を含む文字列領域を検出する検出ステップと、
前記文字列領域に対し、前記定型文字列に含まれる複数の定型文字の各々に関する文字認識を行い、前記定型文字ごとに、前記文字認識の結果に関するスコアを計算する文字認識ステップと、
前記複数の定型文字の各々の前記スコアの合計値を、前記定型文字列のスコアとして計算し、当該合計値が基準合計値以上であるか否かを判定することによって、前記文字列領域が前記定型文字列を含む定型領域であるか否かを判定する定型領域判定ステップと、
を含む画像処理方法。
【請求項16】
定型文字列を含む対象物に関する対象物画像から、任意の文字列を含む文字列領域を検出する検出部、
前記文字列領域に対し、前記定型文字列に含まれる複数の定型文字の各々に関する文字認識を行い、前記定型文字ごとに、前記文字認識の結果に関するスコアを計算する文字認識部、
前記複数の定型文字の各々の前記スコアの合計値を、前記定型文字列のスコアとして計算し、当該合計値が基準合計値以上であるか否かを判定することによって、前記文字列領域が前記定型文字列を含む定型領域であるか否かを判定する定型領域判定部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理システム、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、定型文字列を含む対象物に関する対象物画像から、定型文字列を含む定型領域を特定する技術が知られている。例えば、特許文献1には、定型文字列を含む対象物の一例である本人確認書類に関する対象物画像に対し、定型文字列に関するテンプレート画像を利用してパターンマッチングを実行することによって、定型領域を特定する技術が記載されている。
【0003】
特許文献1の技術では、本人確認書類が正面を向くように対象物画像を整形する目的で、定型領域が特定される。例えば、定型領域は、所定の対象物が対象物画像に示されているか否かを判定する目的、又は、定型文字列に対応する非定型文字列を特定する目的といった目的で特定されることがある。定型領域は、他の種々の目的でも利用できるので、対象物画像から定型領域を特定することは有用である。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2020/008628号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
定型文字列を含む対象物には、種々のフォーマットの対象物が存在するので、対象物画像の中から定型領域を特定するのは難しい。例えば、対象物画像に対して文字認識を行うことによって、対象物画像から定型領域を特定することも考えられる。しかしながら、対象物画像が不鮮明であったり、対象物が正面から撮影されなかったりすると、正確な文字認識が行われないことがある。この場合、対象物画像から定型領域を特定できない。
【0006】
本開示の目的の1つは、定型文字列を含む対象物に関する対象物画像から、定型文字列を含む定型領域を確実に特定することである。
【課題を解決するための手段】
【0007】
本開示に係る画像処理システムは、定型文字列を含む対象物に関する対象物画像から、任意の文字列を含む文字列領域を検出する検出部と、前記文字列領域に対して文字認識を行い、前記文字列領域に含まれる1文字ごとに、前記文字認識の結果に関するスコアを計算する文字認識部と、前記1文字ごとに計算された前記スコアに基づいて、前記文字列領域が前記定型文字列を含む定型領域であるか否かを判定する定型領域判定部と、を含む。
【発明の効果】
【0008】
本開示によれば、定型文字列を含む対象物に関する対象物画像から、定型文字列を含む定型領域を確実に特定できる。
【図面の簡単な説明】
【0009】
図1】画像処理システムの全体構成の一例を示す図である。
図2】ユーザが保険証を撮影する様子の一例を示す図である。
図3】画像処理システムで実現される機能の一例を示す機能ブロック図である。
図4】対象物画像から検出された文字列領域の一例を示す図である。
図5】定型文字列と同じ文字数の文字列領域の一例を示す図である。
図6】文字列領域に対する文字認識の実行結果の一例を示す図である。
図7】定型領域であると判定された文字列領域の一例を示す図である。
図8】非定型領域の特定方法の一例を示す図である。
図9】非定型領域に対してマスキングが実行された後の保険証画像の一例を示す図である。
図10】画像処理システムで実行される処理の一例を示すフロー図である。
図11】第1の構成に関する変形例における機能ブロック図である。
図12】第2の構成に関する変形例における機能ブロック図である。
図13】非定型領域を整形する処理の一例を示す図である。
図14】非定型領域を整形する処理の一例を示す図である。
【発明を実施するための形態】
【0010】
[1.画像処理システムの全体構成]
本開示に係る画像処理システムの実施形態の一例を説明する。図1は、画像処理システムの全体構成の一例を示す図である。例えば、画像処理システム1は、ユーザ端末10及びサーバ20を含む。ユーザ端末10及びサーバ20は、インターネット又はLAN等のネットワークNに接続可能である。画像処理システム1は、少なくとも1つのコンピュータを含めばよく、図1の例に限られない。
【0011】
ユーザ端末10は、ユーザのコンピュータである。例えば、ユーザ端末10は、スマートフォン、タブレット端末、パーソナルコンピュータ、又はウェアラブル端末である。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、フラッシュメモリ等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。操作部14は、タッチパネル等の入力デバイスである。表示部15は、液晶ディスプレイ又は有機ELディスプレイである。撮影部16は、少なくとも1つのカメラを含む。
【0012】
サーバ20は、サーバコンピュータである。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
【0013】
なお、記憶部12,22に記憶されるプログラムは、ネットワークNを介して供給されてもよい。また、ユーザ端末10又はサーバ20に、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)、又は、外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれてもよい。例えば、情報記憶媒体に記憶されたプログラムが、読取部又は入出力部を介して供給されてもよい。
【0014】
[2.画像処理システムの概要]
本実施形態では、eKYC(electronic Know Your Customer)に画像処理システム1を適用する場合を例に挙げる。eKYCは、オンラインで行われる本人確認である。eKYCは、任意のサービスで利用可能である。例えば、通信サービス、金融サービス、電子決済サービス、電子商取引サービス、保険サービス、又は行政サービスで、eKYCを利用可能である。
【0015】
eKYCでは、ユーザの本人確認書類(身分証明書)が確認される。本人確認書類は、本人であることを証明可能な書類である。本実施形態では、本人確認書類の一例として、保険証を説明する。このため、保険証と記載した箇所は、本人確認書類と読み替えることができる。本人確認書類は、任意の種類であってよく、保険証に限られない。例えば、本人確認書類は、運転免許証、住民票、個人番号カード、又はパスポートであってもよい。
【0016】
図2は、ユーザが保険証を撮影する様子の一例を示す図である。例えば、ユーザは、撮影部16で自身の保険証Cを撮影する。図2の保険証Cは、架空のものである。ユーザ端末10は、保険証Cが示された保険証画像Iを生成する。保険証画像Iは、サーバ20にアップロードされる。保険証画像Iがアップロードされると、eKYCが行われる。eKYCは、画像処理を利用して自動的に実行されてもよいし、サービスの管理者による目視により行われてもよい。
【0017】
例えば、保険証Cには、eKYCに必要な情報と、eKYCに必要のない情報と、の両方が印刷されている。本実施形態では、eKYCに必要な情報が、氏名、生年月日、及び性別であるものとする。eKYCに必要のない情報が、被保険者が所属する事業所を識別可能な事業所整理番号、同じ事業所内で個人を識別可能な個人番号、及びその他の情報であるものとする。図2では、「Symbol」の略である「SB」の横に印刷された「538712110」が事業所整理番号である。「Number」の略である「NB」の横に印刷された「123」が個人番号である。
【0018】
事業所整理番号及び個人番号は、保険の適用を受けるために必要な情報なので、第三者に盗まれると大きな問題が生じる可能性がある。例えば、保険証Cがそのまま示された保険証画像Iがアップロードされたとする。悪意のある第三者が保険証画像Iを不正に入手すると、第三者は、事業所整理番号及び個人番号を知ることができる。この場合、第三者は、事業所整理番号及び個人番号を悪用し、ユーザになりすまして不正に保険の適用を受ける可能性がある。
【0019】
第三者に事業所整理番号及び個人番号を知られないようにするために、保険証画像Iのうち、事業所整理番号及び個人番号の領域にマスキングを実行することが考えられる。適切な領域にマスキングを実行できれば、第三者は、保険証画像Iを不正に入手しても、事業所整理番号及び個人番号を知ることができない。本実施形態では、事業所整理番号及び個人番号は、eKYCに必要のない情報なので、マスキングを実行してもeKYCに支障が出ない。
【0020】
しかしながら、保険証Cは、種々のレイアウトが存在するので、保険証画像Iのうち、マスキングを実行する領域を特定するのは難しい。この点、互いにレイアウトが異なる保険証Cだったとしても、事業所整理番号及び個人番号が、それぞれ「SB」及び「NB」の横に印刷されることは同じだったとする。ただし、保険証Cのうち、「SB」及び「NB」が印刷される位置は、保険証Cの発行者によって異なるものとする。
【0021】
上記の保険証Cの場合、保険証画像Iの中から、「SB」及び「NB」の領域を特定できれば、この領域の隣に対してマスキングを実行することによって、事業所整理番号及び個人番号を第三者に知られないようにすることができると考えられる。ただし、「SB」及び「NB」が印刷される位置は、保険証Cの発行者によって異なるので、保険証画像Iに対して何らかの画像処理を実行して特定する必要がある。
【0022】
例えば、保険証画像Iに対し、全体的に文字認識を行うことによって、「SB」及び「NB」の文字列を認識することも考えられる。しかしながら、図2のように、保険証画像Iに示された保険証Cが曲がっていたり歪んでいたりすると、文字認識の精度が低下する。更に、認識した文字列にシンプルな形状の文字が含まれていると、誤認識の可能性もある。この場合、マスキング自体を実行できなかったり、誤った場所にマスキングされてしまったりする可能性がある。
【0023】
そこで、本実施形態の画像処理システム1は、保険証画像Iの中から「SB」及び「NB」の領域を精度よく特定するための第1の構成と、「SB」及び「NB」の領域から事業所整理番号及び個人番号の領域を精度よく特定するための第2の構成と、を含むことによって、適切な領域にマスキングできるようになっている。以降、第1の構成及び第2の構成の詳細を説明する。
【0024】
[3.画像処理システムで実現される機能]
図3は、画像処理システム1で実現される機能の一例を示す機能ブロック図である。本実施形態では、主な画像処理がユーザ端末10で実行される場合を例に挙げる。
【0025】
[3-1.ユーザ端末で実現される機能]
データ記憶部100は、記憶部12を主として実現される。画像取得部101、検出部102、文字認識部103、定型領域判定部104、非定型領域特定部105、マスキング実行部106、送信部107、及び保険証判定部108は、制御部11を主として実現される。主に、検出部102、文字認識部103、及び定型領域判定部104が第1の構成に関係する。主に、検出部102、定型領域判定部104、及び非定型領域特定部105が第2の構成に関係する。
【0026】
[データ記憶部]
データ記憶部100は、本実施形態の画像処理に必要なデータを記憶する。例えば、データ記憶部100は、先述したサービスを利用するためのアプリを記憶する。本実施形態では、このアプリの処理として、画像処理が実行される場合を説明するが、画像処理は、任意のプログラムの処理として実行されてよい。例えば、ブラウザから実行されるスクリプト又は他のプログラムの処理として、画像処理が実行されてもよい。データ記憶部100は、保険証画像Iを記憶してもよい。例えば、データ記憶部100は、後述の定型文字列を示す情報を記憶してもよい。
【0027】
[画像取得部]
画像取得部101は、保険証画像Iを取得する。本実施形態では、保険証画像Iは、保険証Cが撮影されることによって生成された画像である。このため、画像取得部101が、撮影部16により生成された保険証画像Iを取得する場合を説明する。撮影部16は、画像生成手段の一例である。画像取得部101は、スキャナ、コピー機、又は複合機といった他の画像生成手段から、保険証画像Iを取得してもよい。画像取得部101は、データ記憶部100に予め記憶された保険証画像Iを取得してもよいし、ユーザ端末10以外の他のコンピュータ又は他の情報記憶媒体から保険証画像Iを取得してもよい。
【0028】
保険証画像Iは、対象物画像の一例である。このため、保険証画像Iについて説明している箇所は、対象物画像と読み替えることができる。対象物画像は、対象物に関する画像である。対象物画像には、対象物の少なくとも一部が示される。本実施形態では、動画モードで生成された動画に含まれる個々の画像(フレーム)が対象物画像に相当する場合を説明するが、静止画モードで生成された静止画が対象物画像に相当してもよい。対象物画像は、現実空間の様子が示された写真に限られず、コンピュータグラフィックであってもよいし、写真に対して文字列等のデジタル情報が追加された画像であってもよい。
【0029】
保険証Cは、対象物の一例である。このため、保険証Cについて説明している箇所は、対象物と読み替えることができる。対象物は、対象物画像に示された物体である。対象物は、画像処理の対象となる物体ということもできる。本実施形態では、対象物画像には現実空間の様子が示されるので、対象物は、現実空間における被写体である。対象物画像がコンピュータグラフィックである場合には、対象物は、仮想空間における3次元モデル又は2次元的な画像である。
【0030】
例えば、対象物は、保険証C以外の他の本人確認書類であってもよい。他の本人確認書類の例は、先述した通りである。対象物は、本人確認書類以外の他の物体であってもよい。対象物は、所定のフォーマットを有する物体であればよい。例えば、対象物は、領収書、請求書、申請書、行政文書、決算短信、新聞、雑誌、その他の書籍、看板、ポスター、又は広告であってもよい。
【0031】
本実施形態では、対象物が定型文字列及び非定型文字列を含む場合を説明するが、対象物は、定型文字列だけを含み、非定型文字列を含まなくてもよい。対象物は、複数の定型文字列と、複数の非定型文字列と、を含んでもよい。対象物は、1つの定型文字列と、1つの非定型文字列と、だけを含んでもよい。対象物に含まれる定型文字列と非定型文字列の数は、互いに異なってもよい。
【0032】
定型文字列とは、フォーマット部分の文字列である。定型文字列は、文字の並びが固定されている。定型文字列は、保険証Cに応じて変わらない文字列である。本実施形態では、対象物が本人確認書類なので、定型文字列は、本人確認のために必要な情報に関する文字列である。この情報は、個人情報と呼ばれることがある。例えば、個人情報は、氏名、生年月日、性別、住所、又は電話番号である。ある保険証Cの定型文字列と、他の保険証Cの定型文字列と、は同じである。複数の保険証Cで共通する文字列は、定型文字列に相当する。即ち、原則としてどの保険証Cにも含まれる文字列が、定型文字列に相当する。定型文字列は、コンピュータにより入力された文字列に限られず、手書きの文字列であってもよい。
【0033】
例えば、定型文字列は、項目名である。図2の例であれば、「SB」及び「NB」といった項目名は、ともに定型文字列に相当する。このため、「SB」及び「NB」について説明している箇所は、定型文字列と読み替えることができる。例えば、「SB」は、第1定型文字列の一例である。「NB」は、第2定型文字列の一例である。保険証Cには、3つ以上の定型文字列が含まれてもよく、第3定型文字列以降の定型文字列が存在してもよい。保険証Cに印刷された「HEALTH INSURANCE ID CARD」及び「NAME」といった項目名を示す他の文字列も、原則として他の保険証Cにも存在するのであれば、定型文字列に相当する。ただし、本実施形態では、これらの文字列は特定されないものとする。
【0034】
非定型文字列とは、フォーマット部分以外の他の部分の文字列である。非定型文字列は、文字の並びが固定されていない。非定型文字列は、保険証Cに応じて変わりうる文字列である。非定型文字列は、定型文字列以外の文字列である。本実施形態では、保険証Cを一例とする対象物が本人確認書類なので、非定型文字列は、本人確認のために必要な情報に関する文字列である。複数の保険証Cの各々のレイアウトが互いに同じだったとしても、非定型文字列は変わりうる。即ち、ある限られた保険証Cだけで共通する文字列、又は、他の保険証Cとは一切同じにならない文字列が、非定型文字列に相当する。本実施形態では、定型文字列ごとに、非定型文字列が存在する。このため、定型文字列と非定型文字列は、セットである。非定型文字列は、コンピュータにより入力された文字列に限られず、手書きの文字列であってもよい。
【0035】
例えば、定型文字列が項目名に相当する場合、非定型文字列は、定型文字列が示す項目の具体的な情報である。図2の例であれば、事業所整理番号である「538712110」と、個人番号である「123」と、はともに非定型文字列に相当する。このため、これらの番号について説明している箇所は、非定型文字列と読み替えることができる。保険証Cに印刷された氏名及び生年月日といった他の文字列も、非定型文字列に相当する。ただし、本実施形態では、他の文字列は、マスキングの対象にはならないので、これらの文字列は特定されないものとする。
【0036】
[検出部]
検出部102は、保険証画像Iから、任意の文字列を含む文字列領域を検出する。文字列領域は、保険証画像Iのうち、何らかの文字列を含む領域である。文字列は、複数の文字の連なりである。本実施形態では、文字列領域が四角形であるものとするが、文字列領域は、任意の形状であってよい。例えば、文字列形状は、四角形以外の多角形、円形、又は楕円形であってもよい。文字列領域は、バウンディングポリゴン又はバウンディングボックスと呼ばれることもある。文字列領域に含まれる文字列は、単語であってもよいし、単語以外の文字列であってもよい。
【0037】
検出部102は、保険証画像Iの中から、何らかの文字と推定される形状が連続した領域を、文字列領域として検出する。ただし、検出部102は、具体的に何の文字が含まれるかまでは認識しないものとする。このため、検出部102が実行する画像処理は、後述の文字認識部103が実行する文字認識とは異なる。例えば、検出部102は、文字認識よりも簡易的な画像処理によって、文字列領域を検出してもよい。本実施形態では、検出部102が、保険証画像Iから、複数の文字列領域を検出する場合を説明するが、検出部102は、1つの文字列領域だけを検出してもよい。
【0038】
図4は、保険証画像Iから検出された文字列領域の一例を示す図である。本実施形態では、検出部102が、Scene Text Detectionと呼ばれる手法を利用して、保険証画像Iから文字列領域R1~R36を検出する場合を例に挙げる。以降、文字列領域R1~R36を区別しない時は、単に文字列領域Rという。保険証Cのうち、二次元コード等の部分は、文字が含まれないので、文字列領域Rとして検出されない。図4では、文字列領域Rを見やすくするために保険証Cの輪郭のみを点線で示しているが、実際には、保険証画像Iから保険証Cが消去されるわけではないものとする。この点は、図5等の他の図面も同様である。
【0039】
Scene Text Detectionは、風景に含まれるテキストを検出する手法である。本実施形態では、Scene Text Detectionの一例として、Youngmin Baekらによる「Character Region Awareness for Text Detection」(https://arxiv.org/pdf/1904.01941v1.pdf)の手法を説明する。Youngmin Baekらの手法では、物体検出手法によって文字列領域Rを検出するのではなく、文字と推定される第1領域と、文字間の空白と推定される第2領域と、を検出することによって、文字列領域Rが検出される。
【0040】
例えば、検出部102は、文字単位の第1ヒートマップと、文字間の第2ヒートマップと、の2つのヒートマップを出力可能な学習済みの機械学習モデルに対し、保険証画像Iを入力する。第1ヒートマップは、文字である確率の高さを示すマップである。例えば、第1ヒートマップでは、あるピクセルが文字を示すピクセルである確率が高いほど、このピクセルの色が濃くなる。第2ヒートマップは、文字間の空白である確率の高さを示すマップである。例えば、第2ヒートマップでは、あるピクセルが文字間の空白を示すピクセルである確率が高いほど、このピクセルの色が濃くなる。
【0041】
機械学習モデルは、第1ヒートマップ及び第2ヒートマップを出力可能であるが、保険証画像Iに何の文字が含まれるかまでは特定しないものとする。検出部102は、第1ヒートマップに基づいて、1文字ごとの第1領域を特定する。検出部102は、第2ヒートマップに基づいて、文字間の空白である第2領域を特定する。第2領域は、ある文字の第1領域と、次の文字の第1領域と、の間にまたがるように特定される。検出部102は、第1領域及び第2領域をつなぐことによって、文字列領域Rを検出する。
【0042】
本実施形態の保険証Cには、複数の定型文字列が含まれているので、図4のように、検出部102は、複数の文字列領域Rを検出する。これらの文字列領域Rの中には、最終的に検出したい「SB」及び「NB」以外の文字列の文字列領域Rも存在する。本実施形態では、「SB」及び「NB」といった2文字の定型文字列の文字列領域Rを検出することを目的としているので、後述の文字認識部103は、定型文字列と同じ文字数の文字列領域Rを文字認識の対象とする。検出部102は、定型文字列と同じ文字数の文字列領域Rだけを検出してもよい。
【0043】
図5は、定型文字列と同じ文字数の文字列領域Rの一例を示す図である。例えば、Youngmin Baekらの手法では、第2領域によって結合された第1領域の数は、文字列領域Rに含まれる文字列の文字数を意味する。このため、検出部102は、ある文字列領域Rを検出する時に特定した第1領域の数を、この文字列領域Rに含まれる文字列の文字数として取得する。図5のように、文字列領域R1~R36のうち、定型文字列である「SB」及び「NB」と同じ文字数である2文字の文字列領域Rは、文字列領域R3,R5,R9,R11,R24,R29,R33になる。
【0044】
なお、Scene Text Detection自体は、種々の手法を利用可能である。例えば、検出部102は、Xinyu Zhouらによる「An Efficient and Accurate Scene Text Detector」(https://arxiv.org/pdf/1704.03155v2.pdf)、又は、Zhi Tianらによる「Detecting Text in Natural Image with Connectionist Text Proposal Network」(https://arxiv.org/pdf/1609.03605v1.pdf)といった他のScene Text Detectionの手法を利用して、文字列領域Rを検出してもよい。
【0045】
他にも例えば、検出部102は、Scene Text Detection以外の他の手法を利用して、文字列領域Rを検出してもよい。例えば、検出部102は、物体検出手法によって、文字列領域Rを検出してもよい。検出部102は、物体検出手法によって、保険証画像Iから、物体性の高い場所を囲むバウンディングボックスを検出する。検出部102は、文字と思われるサイズのバウンディングボックスが一定の間隔で並ぶ領域を、文字列領域Rとして検出してもよい。
【0046】
他にも例えば、検出部102は、文字認識を利用して、文字列領域Rを検出してもよい。先述したように、保険証画像I全体に対して文字認識を実行しても、精度良く文字認識を実行するのは難しい。ただし、具体的な文字を特定できなくても、何らかの文字があることは特定できる可能性がある。このため、検出部102は、保険証画像Iの中から何らかの文字が特定された領域が一定の間隔で並ぶ領域を、文字列領域Rとして検出してもよい。
【0047】
[文字認識部]
文字認識部103は、文字列領域Rに対して文字認識を行い、文字列領域Rに含まれる1文字ごとに、文字認識の結果に関するスコアを計算する。文字認識は、光学文字認識(OCR)と呼ばれることもある。文字認識は、インテリジェント文字認識(ICR)又はインテリジェント単語認識(IWR)といったように、光学文字認識以外の他の名前で呼ばれることもある。文字認識自体は、種々の手法を利用可能である。例えば、機械学習モデルを利用した手法(いわゆるAI OCRと呼ばれる手法)、テンプレート画像を利用した手法、又は線の形状的な特徴を利用した手法を利用可能である。
【0048】
文字認識の結果とは、文字認識のアルゴリズムから出力された内容である。例えば、文字列領域Rから認識された個々の文字は、文字認識の結果に相当する。本実施形態では、図5のように2文字の文字列領域Rに対して文字認識が実行されるので、文字認識部103は、文字列領域Rから、1文字目の文字と、2文字目の文字と、を認識する。これら2つの文字の組み合わせは、文字認識の結果である。文字列領域Rに2文字以上の文字列が含まれる場合も同様に、文字認識部103は、文字列領域Rに含まれる文字数の分だけ、文字認識の結果を取得する。
【0049】
スコアは、文字認識の結果の正しさを示す指標である。スコアは、蓋然性と呼ばれることもある。本実施形態では、スコアが数値によって表現される場合を説明するが、スコアは、文字又はその他の記号といった他の指標で表現されてもよい。スコアが高いほど、文字認識の結果が正しいことを意味する。本実施形態では、0~100の数値範囲でスコアが表現される場合を説明するが、スコアは、他の任意の数値範囲で表現可能である。
【0050】
スコアの計算方法自体は、種々の計算方法を利用可能である。例えば、機械学習モデルを利用した手法であれば、機械学習モデルの出力層によりスコアが計算される。このスコアは、機械学習モデルが行う文字ラベリングの正しさを示す。例えば、テンプレート画像を利用した手法であれば、テンプレート画像と一致するピクセル数、又は、個々のピクセルにおけるテンプレート画像との色の違いに基づいて、スコアが計算される。例えば、線の形状的な特徴を利用した手法であれば、基準となる形状との違いに基づいて、スコアが計算される。これらの違いが小さいほど、スコアは高くなる。
【0051】
図6は、文字列領域Rに対する文字認識の実行結果の一例を示す図である。本実施形態では、文字認識は、複数の認識可能文字を認識可能である。文字認識部103は、1文字ごとに、複数の認識可能文字の各々のスコアを計算する。認識可能文字は、文字認識で認識が可能な文字である。例えば、機械学習モデルを利用した文字認識であれば、機械学習モデルに学習させた文字が認識可能文字に相当する。テンプレート画像を利用した文字認識であれば、テンプレート画像として用意された文字が認識可能文字に相当する。文字の形状を利用した文字認識であれば、基準となる形状が用意された文字が認識可能文字に相当する。
【0052】
認識可能文字は、文字認識における候補となる文字ということもできる。例えば、英語であれば、アルファベット、数字、及びその他の記号といった数十文字~数百文字程度の認識可能文字が存在する。認識可能文字は、言語又は文字認識手法に応じて異なる。文字認識部103は、文字認識の対象となる言語と、文字認識で利用する手法と、に応じた認識可能文字を認識可能である。例えば、日本語であれば、4万文字程度の文字認識が可能なので、文字認識部103は、4万文字の各々に対して、スコアを計算してもよい。他の言語の場合も同様に、文字認識部103は、その言語における認識可能文字ごとに、スコアを計算する。
【0053】
例えば、文字認識部103は、認識可能文字ごとに、1文字目のスコアと、2文字目のスコアと、を計算する。本実施形態では、英語の保険証Cを例に挙げるので、文字認識部103は、英語の認識可能文字である数十文字~数百文字程度の文字の各々に対して、1文字目のスコアと、2文字目のスコアと、を計算する。図6の例では、文字列領域Rごとに、1文字目のスコアが上位5位までの認識可能文字と、2文字目のスコアが上位5位までの認識可能文字と、が示されているが、他の認識可能文字についてもスコアは計算されているものとする。このため、スコアが6位以降の認識可能文字も存在する。
【0054】
例えば、文字列領域R3には、文字列「ID」が含まれる。ただし、図2のように、保険証画像Iにおける保険証Cに曲がり及び歪みがあるので、「I」と「D」のスコアが1位になるとは限らない。更に、「I」はシンプルな形状であり、他の文字と誤認識される可能性が高い。このため、文字列領域R3の1文字目は、スコアが高い順に「1」、「l」、「I」、「|」、「L」となる。1文字目の正解は、3番目にスコアが高い「I」であるが、似た形状の他の文字のスコアの方が高くなっている。文字列領域R3の2文字目は、スコアが高い順に「D」、「O」、「B」、「R」、「β」となる。2文字目の正解は、最もスコアが高い「D」である。このように、文字列領域R3の正解である「I」と「D」は、両方とも1位になるわけではないが、両方とも上位5位以内には入っている。
【0055】
他の文字列領域Rも同様である。本実施形態では、2文字の他の文字列領域R5,R9,R11,R24,R29,R33についても、文字列領域R3と同様に、文字認識部103は、1文字目と2文字目の上位5位のスコアの認識可能文字を特定する。本実施形態で特定したい定型文字列である「SB」を含む文字列領域R9は、「S」と「B」は、両方とも1位になるわけではないが、両方とも上位5位以内には入っている。同様に、本実施形態で特定したい定型文字列である「NB」を含む文字列領域R11は、「N」と「B」は、両方とも1位になるわけではないが、両方とも上位5位以内には入っている。
【0056】
[定型領域判定部]
定型領域判定部104は、1文字ごとに計算されたスコアに基づいて、文字列領域Rが定型文字列を含む定型領域であるか否かを判定する。本実施形態では、複数の定型文字列が特定対象となるので、定型領域判定部104は、定型文字列ごとに、文字列領域Rが当該定型文字列を含む定型領域であるか否かを判定する。例えば、定型文字列として「SB」及び「NB」があるので、定型領域判定部104は、文字列領域Rが「SB」の定型領域であるか否かと、文字列領域Rが「NB」の定型領域であるか否かと、を判定する。
【0057】
定型領域は、定型文字列を含む文字列領域Rである。定型領域判定部104は、ある文字列領域Rに含まれる1文字ごとに計算されたスコアに基づいて、この文字列領域Rに定型文字列が含まれているか否かを判定することになる。本実施形態では、ある文字列領域Rの1文字目のスコアと2文字目のスコアとに基づいて、この文字列領域Rが定型領域であるか否かを判定する。
【0058】
本実施形態では、定型領域判定部104は、1文字ごとに、複数の認識可能文字の中から、スコアが相対的に高い認識可能文字を、高スコア文字として特定する。例えば、定型領域判定部104は、1文字ごとに、当該1文字の中でスコアの順位が基準順位以上の認識可能文字を、高スコア文字として特定する。基準順位は、高スコア文字を特定するための条件となる順位である。図6の例では、基準順位は、5位である。基準順位は、任意の順位を設定可能であり、5位に限られない。例えば、基準順位は、1位~4位又は6位以上であってもよい。
【0059】
例えば、定型領域判定部104は、高スコア文字の組み合わせの中に、定型文字列が存在するか否かを判定することによって、文字列領域Rが定型領域であるか否かを判定する。図6の例では、1文字目の上位5位までの文字と、2文字目の上位5位までの文字と、の組み合わせは、25通り存在する。定型領域判定部104は、ある文字列領域Rから特定された25通りの組み合わせの中に、定型文字列と一致するものが存在するか否かを判定する。
【0060】
なお、定型領域の判定方法は、文字列領域Rに含まれる文字数が2文字ではない場合も同様であってよい。更に、定型領域の判定方法は、基準順位が5位ではない場合も同様であってよい。例えば、文字列領域Rにn(nは2以上の整数)文字含まれており、かつ、上位m(mは自然数)位のスコアの文字が高スコア文字として特定されたとすると、定型領域判定部104は、m通りの組み合わせの中に、定型文字列と一致するものが存在するか否かを判定すればよい。
【0061】
本実施形態では、定型領域判定部104は、定型文字列と同じ文字数の文字列領域Rが定型領域であるか否かを判定する。定型領域判定部104は、定型文字列と異なる文字数の文字列領域Rについては、判定対象から除外する。図4の例では、文字列領域R1~R36が検出されているが、定型領域判定部104の判定対象となるのは、図5のように、定型文字列と同じ2文字の文字列領域R3,R5,R9,R11,R24,R29,R33である。本実施形態では、定型文字列とは異なる文字数の他の文字列領域Rは、定型領域の判定対象とはならないものとするが、定型領域判定部104は、他の文字列領域Rが定型領域であるか否かを判定してもよい。
【0062】
図7は、定型領域であると判定された文字列領域Rの一例を示す図である。例えば、定型領域判定部104は、文字列領域R9の1文字目のスコアが1位の「S」と、文字列領域R9の2文字目のスコアが2位の「B」と、の組み合わせが、特定したい定型文字列である「SB」と一致すると判定する。このため、定型領域判定部104は、文字列領域R9が「SB」の定型領域であると判定する。
【0063】
例えば、定型領域判定部104は、文字列領域R11の1文字目のスコアが2位の「N」と、文字列領域R9の2文字目のスコアが1位の「B」と、の組み合わせが、特定したい定型文字列である「NB」と一致すると判定する。このため、定型領域判定部104は、文字列領域R11が「NB」の定型領域であると判定する。図7のように、定型領域判定部104は、判定対象となった複数の文字列領域R3,R5,R9,R11,R24,R29,R33のうち、文字列領域R9,R11が定型領域であると判定する。
【0064】
本実施形態では、定型領域判定部104は、複数の文字列領域Rの何れかを選択し、当該選択された文字列領域Rが定型領域であるか否かを判定する。本実施形態では、定型領域判定部104は、保険証画像Iの上から順番に1つずつ文字列領域Rを選択し、当該選択された文字列領域Rが定型領域であるか否かを判定する。図5の例であれば、定型領域判定部104は、文字列領域R3,R5,R9,R11,R24,R29,R33の順で1つずつ選択する。文字列領域Rの選択順は、任意の順序であってよく、例えば、下から順番に選択されてもよいし、左又は右から順番に選択されてもよい。
【0065】
例えば、定型領域判定部104は、上記のように選択された文字列領域Rが定型領域であると判定された場合には、次の文字列領域Rを選択せずに処理を終了する。図5の例であれば、定型領域判定部104は、文字列領域R11に対する判定を実行した時点で、2つの定型文字列が両方とも存在することを確認できたので、文字列領域R24,R29,R33についての判定は実行せずに処理を終了する。即ち、定型領域判定部104は、全ての定型領域を特定した場合には、まだ判定対象となっていない文字列領域Rが残っていたとしても、残りの文字列領域Rについては判定対象とはしない。
【0066】
例えば、定型領域判定部104は、上記のように選択された文字列領域Rが定型領域であると判定されない場合には、次の文字列領域Rを選択し、当該選択された次の文字列領域Rが定型領域であるか否かを判定する。図5の例であれば、定型領域判定部104は、1つ目の文字列領域R3には、「S」と「B」の組み合わせも「N」と「B」の組み合わせも存在しないことを判定したので、2つ目の文字列領域R5に対する判定処理を実行する。以降、定型領域判定部104は、全ての定型領域を特定するまで、文字列領域Rを1つずつ選択して定型領域であるか否かを判定する。
【0067】
[非定型領域特定部]
非定型領域特定部105は、定型領域があると判定された場合に、定型領域と所定の位置関係にある文字列領域Rを、非定型文字列を含む非定型領域として特定する。所定の位置関係は、保険証Cにおける定型文字列と非定型文字列との位置関係である。所定の位置関係は、定型文字列の位置を基準とした場合に非定型文字列が配置された位置である。位置関係は、相対的な位置ということもできる。
【0068】
所定の位置関係は、データ記憶部100に予め定められているものとする。本実施形態のように、複数の定型文字列が保険証Cに存在する場合には、定型文字列ごとに、所定の位置関係が定められている。非定型領域特定部105は、定型領域判定部104により判定された定型領域を基準として、所定の位置関係にある他の位置を特定する。非定型領域特定部105は、当該特定された他の位置にある文字列領域Rを、この定型領域に対応する非定型領域として特定する。
【0069】
例えば、非定型領域特定部105は、定型領域から所定の方向に所定の距離以内に文字列領域Rがある場合に、当該文字列領域Rが定型領域と所定の位置関係にあると判定してもよい。即ち、所定の位置関係は、定型領域から所定の方向に所定の距離以内にあることであってもよい。所定の位置関係は、所定の距離以内といった範囲ではなく、あるピンポイントの位置であってもよい。非定型領域特定部105は、定型領域から所定の方向に所定の距離以内の範囲を特定し、当該特定された範囲内にある文字列領域Rを、この定型領域に対応する非定型領域として特定する。
【0070】
所定の位置関係に相当する所定の方向及び所定の距離は、予め定められた方向及び距離であればよい。所定の方向及び所定の距離は、保険証Cにおける定型文字列及び非定型文字列の実際の位置関係に応じて定めればよい。本実施形態では、定型文字列の右側に非定型文字列が存在するので、所定の方向は、右方向である。例えば、所定の方向は、左方向、上方向、又は下方向といった他の方向であってもよいし、上下左右の何れかの方向から多少ずれた斜め方向であってもよい。所定の距離は、保険証Cにおける定型文字列及び非定型文字列の距離として想定しうる距離であればよい。例えば、所定の距離は、1センチメートル~10センチメートル程度、それ以上の距離、又はそれ以下の距離であってもよい。
【0071】
図8は、非定型領域の特定方法の一例を示す図である。図8では、文字列領域Rのうち、文字列領域R9~R12にのみ符号を付している。本実施形態では、定型領域が四角形なので、非定型領域特定部105は、定型領域である文字列領域R9の少なくとも1つの辺を所定の方向に所定の距離だけ伸ばした線L1,L2上又はその付近に文字列領域Rがある場合に、当該文字列領域Rが定型領域と所定の位置関係にあると判定する。付近とは、線L1,L2から所定距離以内の位置である。非定型領域特定部105は、辺L1又は辺L2の何れか一方のみを利用して、所定の位置関係を判定してもよい。
【0072】
例えば、非定型領域特定部105は、定型領域の互いに対向する2本の辺L1,L2を所定の方向に所定の距離だけ伸ばした2本の線上又はその付近に文字列領域Rがある場合に、当該文字列領域Rが定型領域と所定の位置関係にあると判定する。図8の例では、文字列領域R10,R11が線L1、L2上にあるので、非定型領域特定部105は、ひとまず文字列領域R10,R11が、定型領域である文字列領域R9と所定の位置関係にあると判定する。
【0073】
図8では省略しているが、非定型領域特定部105は、定型領域である文字列領域R11についても同様に、上下の2本の辺を所定の方向に所定の距離だけ伸ばした2本の線上又はその付近に文字列領域Rがある場合に、当該文字列領域Rが定型領域と所定の位置関係にあると判定する。図8の例では、この線については省略しているが、この線上に文字列領域R12だけが存在するものとする。非定型領域特定部105は、文字列領域R12が、定型領域である文字列領域R11と所定の位置関係にあると判定する。
【0074】
例えば、非定型領域特定部105は、複数の文字列領域Rのうち、定型領域と所定の第1位置関係にある文字列領域Rが1つしか存在しない場合には、当該文字列領域Rを非定型領域として特定する。第1位置関係は、上記の説明における所定の位置関係である。図8の例であれば、定型領域の辺を伸ばした線上又はその付近に存在することが、第1位置関係に相当する。非定型領域特定部105は、定型領域と第1位置関係にある文字列領域Rが複数存在する場合には、当該複数の文字列領域Rのうち、定型領域と第2位置関係にある文字列領域Rを、非定型領域として特定する。
【0075】
第2位置関係は、第1位置関係とは異なる基準によって判定される位置関係である。例えば、非定型領域特定部105は、定型領域と第1位置関係にある文字列領域Rが複数存在する場合に、当該複数の文字列領域Rのうち、定型領域に最も近い(相対的に近い)文字列領域Rを、定型領域と第2位置関係にある文字列領域Rとして特定する。このため、定型領域に近いことが、第2位置関係に相当する。図8の例であれば、線L1,L2上又はその付近にある文字列領域R10,R11のうち、文字列領域R10が、定型領域である文字列領域R10に最も近いので、文字列領域R10が非定型領域として特定される。第2位置関係は、他の位置関係であってもよい。例えば、定型領域の付近に他の定型領域が存在する場合には、第2位置関係は、定型領域から遠いことであってもよい。
【0076】
図8の例では、非定型領域特定部105は、定型領域である文字列領域R9の辺を伸ばした線L1,L2上又はその付近に、2つの文字列領域R10,R11が存在する。非定型領域特定部105は、これら2つの文字列領域R10,R11のうち、文字列領域R9に近い文字列領域R10を、1つ目の定型領域として特定する。非定型領域特定部105は、定型領域である文字列領域R11の辺を伸ばした線上L1,L2又はその付近に、1つの文字列領域R12しか存在しないので、文字列領域Rを、2つ目の定型領域として特定する。このため、文字列領域R11については、第2位置関係は判定されない。
【0077】
[マスキング実行部]
図9は、非定型領域に対してマスキングが実行された後の保険証画像Iの一例を示す図である。マスキング実行部106は、非定型領域に対してマスキングを実行する。マスキングは、非定型領域を見えなくする画像処理である。例えば、所定の色で塗りつぶす処理、何らかの画像若しくはパターンをマッピングする処理、非定型領域を切り取る処理、又はモザイクをかける処理である。図9のように、保険証画像Iのうち、非定型領域である文字列領域R10,R12の部分がマスキングされたので、第三者に「538712110」及び「123」の文字列が知られない状態になっている。
【0078】
[送信部]
送信部107は、サーバ20に、マスキングが実行された保険証画像Iを送信する。例えば、送信部107は、非定型領域である文字列領域R10,R12がマスキングされて、第三者に「538712110」及び「123」の文字列が知られない状態の保険証画像Iを、サーバ20に送信する。本実施形態では、後述の保険証判定部108により保険証画像Iに保険証Cが含まれると判定された場合に、保険証画像Iに対するマスキングが実行されて、送信部107は、保険証画像Iを送信する。保険証判定部108により保険証画像Iに保険証Cが含まれると判定されない場合には、保険証Cの撮影が再度要求されてもよい。
【0079】
[保険証判定部]
保険証判定部108は、複数の定型文字列の中に、定型領域が特定されなかった定型文字列が存在する場合には、保険証画像Iに保険証Cが含まれていないと判定する。本実施形態では、保険証判定部108は、1つ以上の定型文字列の定型領域が特定されなかった場合に、保険証画像Iに保険証Cが含まれていないと判定する。このため、保険証判定部108は、全ての定型文字列の定型領域が特定された場合に、保険証画像Iに保険証Cが含まれていると判定する。
【0080】
本実施形態では、保険証Cには、複数の非定型文字列が含まれているので、保険証判定部108は、複数の非定型文字列の中に、非定型領域が特定されなかった非定型文字列が存在する場合には、保険証画像Iに保険証Cが含まれていないと判定する。本実施形態では、保険証判定部108は、1つ以上の非定型文字列の非定型領域が特定されなかった場合に、保険証画像Iに保険証Cが含まれていないと判定する。このため、保険証判定部108は、全ての非定型文字列の非定型領域が特定された場合に、保険証画像Iに保険証Cが含まれていると判定する。
【0081】
[3-2.サーバで実現される機能]
データ記憶部200は、記憶部22を主として実現される。受信部201は、制御部21を主として実現される。
【0082】
[データ記憶部]
本実施形態のデータ記憶部200は、eKYCに必要なデータを記憶する。例えば、データ記憶部200は、ユーザ端末10から受信した保険証画像Iを記憶する。本実施形態では、マスキングが実行された保険証画像Iが送信されるので、データ記憶部200は、マスキングが実行された保険証画像Iを記憶する。
【0083】
[受信部]
受信部201は、ユーザ端末10から、マスキングが実行された保険証画像Iを受信する。受信部201は、受信した保険証画像Iをデータ記憶部200に記録する。
【0084】
[4.画像処理システムで実行される処理]
図10は、画像処理システム1で実行される処理の一例を示すフロー図である。図10のように、ユーザ端末10は、撮影部16による撮影結果に基づいて、保険証Cを含む保険証画像Iを取得する(S1)。ユーザ端末10は、Scene Text Detectionの手法を利用して、保険証画像Iから、複数の文字列領域Rを検出する(S2)。S2において検出された文字列領域Rは、図4のような状態になる。ユーザ端末10は、S2で検出された複数の文字列領域Rの中から、定型文字列と同じ文字数の文字列領域Rを特定する(S3)。S3において特定された文字列領域Rは、図5のような状態になる。
【0085】
ユーザ端末10は、S3で検出された複数の文字列領域Rの各々に対して文字認識を行い、1文字ごとのスコアを計算する(S4)。S4において計算されたスコアは、図6のような内容となる。ユーザ端末10は、S4で計算された1文字ごとのスコアに基づいて、複数の文字列領域Rの各々が定型領域であるか否かを判定する(S5)。S5では、先述したように、スコアの上位5位の組み合わせの中に、定型文字列が含まれるか否かが判定される。判定後の文字列領域Rは、図7のような状態になる。
【0086】
ユーザ端末10は、定型領域であると判定された文字列領域Rと所定の位置関係を満たす文字列領域Rを、非定型領域として特定する(S6)。S6では、図8のように線上又はその付近の文字列領域Rが非定型領域として特定される。ユーザ端末10は、全ての定型領域及び非定型領域が特定されたか否かを判定する(S7)。何れかの定型領域及び非定型領域が特定されなかったと判定された場合(S7;N)、本処理は終了する。この場合、ユーザ端末10は、保険証Cが保険証画像Iに撮影されていないことを示すエラーメッセージを表示部15に表示させてもよい。
【0087】
全ての定型領域及び非定型領域が特定されたと判定された場合(S7;Y)、ユーザ端末10は、非定型領域に対してマスキングを実行する(S8)。ユーザ端末10は、サーバ20に対し、マスキングが実行された保険証画像Iを送信する(S9)。サーバ20は、マスキングが実行された保険証画像Iを受信して記憶部22に記録し(S10)、本処理は終了する。以降、記憶部22に記録された保険証画像Iに基づいて、eKYCが行われる。
【0088】
[第1の構成のまとめ]
以上のように、画像処理システム1は、保険証画像Iの中から「SB」及び「NB」の領域を精度よく特定するための第1の構成を含む。画像処理システム1は、保険証画像Iから検出された文字列領域Rに対して文字認識を行う。画像処理システム1は、文字列領域Rに含まれる1文字ごとに計算されたスコアに基づいて、文字列領域Rが定型領域であるか否かを判定する。これにより、文字認識だけでは定型文字列を特定できないような保険証画像Iだったとしても、保険証画像Iから定型領域を確実に特定できる。例えば、保険証画像Iにおける保険証Cが曲がったり歪んだりしていたりした場合、具体的にどの文字が含まれているかを特定することは難しいが、何らかの文字が含まれているかを特定することはできる。例えば、他の文字と似た文字が定型文字列に含まれる場合、文字認識では誤認識が発生しやすいが、何らかの文字が含まれているかを特定することはできる。これらの場合のように、文字認識を精度良く行うことが難しい場合だったとしても、ひとまずは精度良く検出できる文字列領域Rを検出する。その後に行われる文字認識は、あまり精度良く行うことはできないが、文字列全体のスコアではなく、1文字ごとの個別のスコアを利用することによって、高スコア文字の組み合わせの中に定型文字列が含まれていればよいといった判定が可能になるので、定型領域を特定しやすくなる。
【0089】
また、画像処理システム1は、1文字ごとに、複数の認識可能文字の中から、スコアが相対的に高い認識可能文字を、高スコア文字として特定する。画像処理システム1は、高スコア文字の組み合わせの中に、定型文字列が存在するか否かを判定することによって、文字列領域Rが定型領域であるか否かを判定する。これにより、定型文字列の一部の文字のスコアが多少低くなったとしても、この文字が高スコア文字の組み合わせに含まれていれば、文字列領域Rを定型領域として特定できるので、保険証画像Iから定型領域を特定しやすくなる。文字列領域R全体に対して文字認識を行う場合、複数の文字を含む文字列を1セットとして、スコアが計算される。この場合、文字列全体のセットとして文字認識結果が取得されるので、定型文字列全体がセットとして文字認識されなければ、定型領域を特定することが難しい。2文字の文字列領域R9を例に挙げると、2文字の文字列ごとに、スコアが計算される場合、定型文字列と同じ2文字の文字列のスコアが高くなければ、定型文字列を特定できない。定型文字列「SB」を例に挙げると、1文字目の「S」と、2文字目の「B」と、の両方を含む文字列「SB」のスコアが高くなければ、定型文字列を特定できない。一方で、第1の構成によれば、図6のように、1文字ごとにスコアが計算されるので、「S」が1文字目のスコアで1位であるが、「B」が2文字目のスコアで2位だったとしても、高スコア文字の組み合わせの中に定型文字列が含まれていればよいので、文字列領域R9が「SB」を含むことを特定できる。
【0090】
また、画像処理システム1は、1文字ごとに、当該1文字の中でスコアの順位が基準順位以上の認識可能文字を、高スコア文字として特定する。これにより、定型文字列の一部の文字のスコアの順位が多少低くなったとしても、この文字が高スコア文字の組み合わせに含まれていれば、文字列領域Rを定型領域として特定できるので、保険証画像Iから定型領域を特定しやすくなる。図6の定型文字列「SB」のように、「S」が1文字目のスコアで1位であるが、「B」が2文字目のスコアで2位であり、互いの順位が異なっていたとしても、文字列領域R9が「SB」を含むことを特定できる。図6の定型文字列「NB」のように、「N」が1文字目のスコアで2位であり、「B」が2文字目のスコアで1位であり、互いの順位が異なっていたとしても、文字列領域R11が「NB」を含むことを特定できる。
【0091】
また、画像処理システム1は、定型文字列と同じ文字数の文字列領域Rが定型領域であるか否かを判定する。これにより、定型文字列と異なる文字数の文字列領域Rが判定対象から除外され、不要な処理を実行しないので、ユーザ端末10の処理負荷を軽減し、かつ、定型領域を特定するまでに要する時間を短縮できる。
【0092】
また、画像処理システム1は、複数の文字列領域Rの何れかを選択し、当該選択された文字列領域Rが定型領域であると判定された場合には、次の文字列領域Rを選択せずに処理を終了する。画像処理システム1は、当該選択された文字列領域Rが定型領域であると判定されない場合には、次の文字列領域Rを選択し、当該選択された次の文字列領域Rが定型領域であるか否かを判定する。これにより、定型領域が特定された場合には、それ以降の不要な処理を実行しないので、ユーザ端末10の処理負荷を軽減し、かつ、定型領域を特定するまでに要する時間を短縮できる。
【0093】
また、画像処理システム1は、複数の定型文字列の中に、定型領域が特定されなかった定型文字列が存在する場合には、保険証画像Iに保険証Cが含まれていないと判定する。これにより、保険証画像Iに保険証Cが含まれているか否かを確実に特定できる。例えば、保険証画像Iに保険証Cが含まれていなかったり、保険証画像Iの保険証Cが不鮮明だったりすると、eKYCを完了できずにやり直しになる可能性がある。保険証画像Iに保険証Cが含まれているか否かを確実に特定することによって、eKYCを確実に完了させることができる。このため、ユーザと、サービスの管理者と、の両方の利便性が高まる。
【0094】
また、画像処理システム1は、保険証Cを一例とする本人確認書類が撮影されることによって生成された画像から検出された文字列領域Rが定型領域であるか否かを判定する。これにより、本人確認書類が写された画像から定型領域を確実に特定できる。
【0095】
[第2の構成のまとめ]
以上のように、画像処理システム1は、「SB」及び「NB」の領域から事業所整理番号及び個人番号の領域を精度よく特定するための第2の構成を含む。画像処理システム1は、保険証画像Iから検出した複数の文字列領域Rの中に定型領域があるか否かを判定する。画像処理システム1は、定型領域があると判定された場合に、定型領域と所定の位置関係にある文字列領域Rを、非定型領域として特定する。これにより、比較的特定しやすい定型領域を手掛かりにして非定型領域を特定できるので、保険証画像Iから非定型領域を確実に特定できる。即ち、非定型文字列は、何の文字が含まれているか事前に分からないので非定型領域を特定することは難しいが、定型文字列は、何の文字が含まれているか事前に分かっているので、定型領域は、比較的特定しやすい。定型文字列と非定型文字列の位置関係は事前に分かっているので、定型領域を手掛かりにすれば、非定型領域を精度良く特定できる。
【0096】
また、画像処理システム1は、定型領域から所定の方向に所定の距離以内に文字列領域Rがある場合に、当該文字列領域Rが定型領域と位置関係にあると判定する。これにより、保険証Cにおける定型文字列から所定の方向に所定の距離以内に非定型文字列がある場合に、非定型領域を特定しやすくなる。
【0097】
また、画像処理システム1は、定型領域の少なくとも1つの辺を方向に距離だけ伸ばした線上又はその付近に文字列領域Rがある場合に、当該文字列領域Rが定型領域と位置関係にあると判定する。これにより、定型領域の辺を基準にすることによって、非定型領域をより確実に特定できる。比較的簡易な処理によって非定型領域を特定できるので、ユーザ端末10の処理負荷を軽減し、かつ、非定型領域を特定するまでに要する時間を短縮できる。
【0098】
また、画像処理システム1は、定型領域の互いに対向する2本の辺を方向に距離だけ伸ばした2本の線上又はその付近に文字列領域Rがある場合に、当該文字列領域Rが定型領域と位置関係にあると判定する。これにより、定型領域の複数の辺を基準にすることによって、非定型領域をより確実に特定できる。比較的簡易な処理によって非定型領域を特定できるので、ユーザ端末10の処理負荷を軽減し、かつ、非定型領域を特定するまでに要する時間を短縮できる。
【0099】
また、画像処理システム1は、複数の文字列領域Rのうち、定型領域と所定の第1位置関係にある文字列領域Rが1つしか存在しない場合には、当該文字列領域Rを非定型領域として特定する。画像処理システム1は、定型領域と第1位置関係にある文字列領域Rが複数存在する場合には、当該複数の文字列領域Rのうち、定型領域と第2位置関係にある文字列領域Rを、非定型領域として特定する。これにより、第1位置関係だけでは非定型領域を特定するのが難しい状況だったとしても、非定型領域を確実に特定できる。
【0100】
また、画像処理システム1は、定型領域と第1位置関係にある文字列領域Rが複数存在する場合に、当該複数の文字列領域Rのうち、定型領域に最も近い文字列領域Rを、定型領域と第2位置関係にある文字列領域Rとして特定する。これにより、非定型領域を確実に特定できる。例えば、図8のように、定型領域である文字列領域R9の上下の2本の辺を伸ばした線上に文字列領域R10,R11が存在したとしても、文字列領域R9に近い文字列領域R10を非定型領域とすることができる。
【0101】
また、画像処理システム1は、複数の非定型文字列の中に、非定型領域が特定されなかった非定型文字列が存在する場合には、保険証画像Iに保険証Cが含まれていないと判定する。これにより、保険証画像Iに保険証Cが含まれていることを確実に判定できる。例えば、マスキングが不十分な状態の保険証画像Iが送信されることを防止できる。
【0102】
また、画像処理システム1は、非定型領域に対してマスキングを実行する。これにより、第三者に知られたくない情報をマスキングしたうえで、保険証画像Iをアップロードできる。
【0103】
また、画像処理システム1は、保険証画像Iは、本人確認書類が撮影されることによって生成された画像である。これにより、本人確認書類が写された画像から非定型領域を確実に特定できる。
【0104】
[5.変形例]
なお、本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0105】
[5-1.第1の構成に関する変形例]
図11は、第1の構成に関する変形例における機能ブロック図である。第1の構成に関する変形例では、該当基準決定部109及び基準数決定部110が実現される。該当基準決定部109及び基準数決定部110は、制御部11を主として実現される。
【0106】
[変形例1-1]
例えば、定型領域判定部104は、1文字ごとに、当該1文字の中でスコアが基準スコア以上の認識可能文字を、高スコア文字として特定してもよい。即ち、実施形態の図6の例では、上位5位の認識可能文字が高スコア文字として特定されたが、上位何位までを高スコア文字とするかは定めずに、基準スコア以上の認識可能文字であれば、何文字でも高スコア文字としてもよい。基準スコアは、高スコア文字を特定するための基準となるスコアである。基準スコアは、任意の値であってよい。基準スコアは、固定値であってもよいし、可変値であってもよい。
【0107】
変形例1-1では、基準スコアを80とする。この場合、各文字列領域Rのスコアが図6の例であれば、定型領域判定部104は、80以上のスコアの認識可能文字を、高スコア文字として特定する。このため、文字列領域Rや何文字目かによって、高スコア文字の数が変わる。実施形態及び変形例1-1を組み合わせて、定型領域判定部104は、スコアが基準スコア以上であり、かつ、基準順位以上の認識可能文字を、高スコア文字として特定してもよい。
【0108】
変形例1-1の画像処理システム1は、1文字ごとに、当該1文字の中でスコアが基準スコア以上の認識可能文字を、高スコア文字として特定する。これにより、定型文字列の一部の文字の順位が多少低くなったとしても、この文字のスコアが基準スコア以上であれば高スコア文字に分類されるので、保険証画像Iから定型領域を特定しやすくなる。
【0109】
[変形例1-2]
例えば、定型文字列に含まれる個々の文字によっては、他の文字との誤認識が発生しやすい文字も存在する。このため、高スコア文字に該当するための該当基準は、全ての文字で同じにするのではなく、文字に応じて異ならせてもよい。該当基準は、高スコア文字に分類されるためにスコアが満たすべき条件である。実施形態の例であれば、上位5位に入ることが該当基準に相当する。変形例1-1の例であれば、基準スコア以上であることが該当基準に相当する。
【0110】
画像処理システム1は、該当基準決定部109を含む。該当基準決定部109は、定型文字列に基づいて、認識可能文字が高スコア文字に該当するための該当基準を決定する。定型文字列と該当基準の関係は、予め定められているものとする。例えば、該当基準決定部109は、定型文字列の誤認識のしやすさに基づいて、該当基準を決定する。該当基準決定部109は、定型文字列が誤認識される確率が低いほど、該当基準が厳しくなるように該当基準を決定する。逆にいえば、該当基準決定部109は、定型文字列が誤認識される確率が高いほど、該当基準が甘くなるように、該当基準を決定する。
【0111】
該当基準が厳しいとは、該当基準が高くなることである。実施形態の例であれば、基準順位が上がること(基準順位の数値が小さくなること)が、該当基準が厳しいことに相当する。変形例1-1の例であれば、基準スコアが上がることが、該当基準が厳しくなることに相当する。該当基準が甘いとは、該当基準が下がることである。実施形態の例であれば、基準順位が下がること(基準順位の数値が大きくなること)が、該当基準が甘くなることに相当する。変形例1-1の例であれば、基準スコアが下がることが、該当基準が甘くなることに相当する。
【0112】
例えば、定型文字列が複雑であれば、形状が似た文字が少ないので、他の文字との誤認識が発生しにくいと考えられる。このため、高スコア文字として分類される認識可能文字が少なくなるように、該当基準決定部109は、定型文字列の形状が複雑であるほど、該当基準を厳しくする。複雑な形状の文字は、そもそも認識されやすいので、該当基準を厳しくしても、定型領域が特定されないといったことは発生しないと考えられる。
【0113】
一方、定型文字列が簡単であれば、形状が似た文字が多いので、他の文字との誤認識が発生しやすいと考えられる。このため、高スコア文字として分類される認識可能文字が多くなるように、該当基準決定部109は、定型文字列の形状が簡単であるほど、該当基準を甘くする。簡単な形状の文字は、誤認識が発生しやすいので、該当基準を甘くすることによって、本当は認識したい文字が高スコア文字に分類されないといったことを防止できる。
【0114】
定型領域判定部104は、該当基準決定部109により決定された該当基準に基づいて、高スコア文字を特定する。該当基準決定部109により決定された該当基準が利用されるという点で、実施形態及び変形例1-1とは異なるが、高スコア文字を特定する処理自体は、実施形態及び変形例1-1と同様である。
【0115】
変形例1-2の画像処理システム1は、定型文字列に基づいて決定された該当基準に基づいて、高スコア文字を特定する。これにより、定型文字列に応じた該当基準で高スコア文字を特定できるので、定型領域をより確実に特定できる。例えば、定型文字列が簡単である場合に、似た文字との誤認識のために、本当は認識したい文字のスコアが6位以降になったとしても、該当基準を甘くすることによって、この文字を高スコア文字に分類できる。このため、文字列領域Rにこの文字が含まれていることを特定しやすくなる。
【0116】
[変形例1-3]
例えば、実施形態では、ある文字列領域Rから特定された高スコア文字の組み合わせの中に、定型文字列に含まれる全ての文字が存在することを、定型領域を特定するための条件とする場合を説明した。このような条件を設定すると、定型文字列の文字数が多い場合に、条件が厳しすぎてしまい、定型領域を特定できなくなる可能性もある。例えば、定型文字列が10文字だったとすると、10文字全てが高スコア文字の組み合わせに存在しなくても、10文字のうちの8文字以上が高スコア文字の組み合わせに存在すれば、文字列領域Rが定型領域であると思われる。
【0117】
そこで、定型領域判定部104は、定型文字列に含まれる複数の定型文字の中に、高スコア文字の組み合わせの中に存在しない定型文字が存在したとしても、基準数以上の定型文字が組み合わせの中に存在した場合には、文字列領域Rが定型領域であると判定してもよい。基準数は、文字列領域Rが定型領域であると判定されるための基準となる数である。変形例1-3では、基準数が固定値であるものとするが、基準数は、後述の変形例1-4のように可変値であってもよい。上記の10文字の定型文字列の例であれば、基準数は、8文字である。基準数は、任意の数であってよい。例えば、基準数は、定型文字列の文字数の70%程度の数であってもよい。
【0118】
例えば、定型文字列に含まれる定型文字の文字数をx(xは2以上の整数)とする。基準数をy(yはxよりも小さい整数)とする。定型領域判定部104は、x文字の定型文字のうち、高スコア文字の組み合わせに存在する定型文字の数を特定する。定型領域判定部104は、当該特定された数がy文字以上であれば、文字列領域Rが定型領域であると判定する。定型領域判定部104は、当該特定された数がy文字未満であれば、文字列領域Rが定型領域であると判定しない。
【0119】
変形例1-3の画像処理システム1は、定型文字列に含まれる複数の定型文字の中に、組み合わせの中に存在しない定型文字が存在したとしても、基準数以上の定型文字が組み合わせの中に存在した場合には、文字列領域Rが定型領域であると判定する。これにより、定型文字列の文字数が多い場合に、定型領域を特定するための条件が厳しすぎてしまい定型領域を特定できなくなるといったことを防止できる。
【0120】
[変形例1-4]
例えば、変形例1-3の基準数は、定型文字列に応じた数であってもよい。変形例1-4の画像処理システム1は、基準数決定部110を含む。基準数決定部110は、定型文字列に基づいて、基準数を決定する。定型文字列と基準数の関係は、予め定められているものとする。例えば、基準数決定部110は、定型文字列の誤認識のしやすさに基づいて、基準数を決定する。基準数決定部110は、定型文字列が誤認識される確率が高いほど、基準数が少なくなるように基準数を決定する。逆にいえば、基準数決定部110は、定型文字列が誤認識される確率が低いほど、基準数が多くなるように基準数を決定する。
【0121】
例えば、基準数決定部110は、定型文字列の文字数の多さに基づいて、基準数を決定してもよい。基準数決定部110は、定型文字列の文字数が少ないほど、基準数が少なくなるように基準数を決定する。逆にいえば、基準数決定部110は、定型文字列の文字数が多いほど、基準数が多くなるように基準数を決定する。
【0122】
定型領域判定部104は、基準数決定部110により決定された基準数に基づいて、文字列領域Rが定型領域であるか否かを判定する。基準数決定部110により決定された基準数が利用されるという点で、変形例1-3とは異なるが、定型領域を判定する処理自体は、変形例1-3と同様である。
【0123】
変形例1-4の画像処理システム1は、定型文字列に基づいて決定された基準数に基づいて、文字列領域Rが定型領域であるか否かを判定する。これにより、定型文字列の文字数が多い場合に、定型領域を特定するための条件が厳しすぎてしまい定型領域を特定できなくなるといったことを防止できる。
【0124】
[変形例1-5]
例えば、実施形態では、認識可能文字ごとにスコアが計算される場合を説明したが、定型文字列は予め分かっているので、文字認識部103は、文字列領域Rに対し、定型文字列に含まれる複数の定型文字の各々に関する文字認識を行い、定型文字ごとに、スコアを計算してもよい。即ち、文字認識部103は、定型文字以外の他の文字についてもスコアを計算するのではなく、定型文字だけについて、スコアを計算してもよい。実施形態で説明した「SB」及び「NB」であれば、定型文字は、「S」、「B」、「N」の3種類となる。文字認識部103は、これら3種類の定型文字についてのみ、スコアを計算してもよい。
【0125】
変形例1-5の定型領域判定部104は、複数の定型文字の各々のスコアの合計値が基準合計値以上であるか否かを判定することによって、文字列領域Rが定型領域であるか否かを判定する。基準合計値は、文字列領域Rが定型領域であると判定されるための基準となる数である。変形例1-5では、基準合計値が固定値であるものとするが、基準合計値は、後述の変形例1-6及び変形例1-7のように可変値であってもよい。基準合計値は、任意の数であってよい。例えば、基準合計値は、スコアの合計値の最大値の70%程度の数であってもよい。
【0126】
定型領域判定部104は、スコアの合計値が基準合計値以上であると判定されない場合に、文字列領域Rが定型領域であると判定せず、スコアの合計値が基準合計値以上であると判定された場合に、文字列領域Rが定型領域であると判定する。例えば、定型文字列「SB」であれば、定型領域判定部104は、1文字目の「S」のスコアと、2文字目の「B」のスコアと、の合計値が基準合計値以上であるか否かを判定する。図6の例であれば、文字列領域R3,R5等は、合計値は非常に低くなる。文字列領域R9は、合計値が高くなるので、定型領域と判定する。
【0127】
変形例1-5の画像処理システム1は、複数の定型文字の各々のスコアの合計値が基準合計値以上であるか否かを判定することによって、文字列領域Rが定型領域であるか否かを判定する。これにより、定型文字列に含まれる定型文字だけをスコアの計算対象にすることができ、多数の認識可能文字のスコアを計算する必要がなくなるので、ユーザ端末10の処理負荷を軽減し、かつ、定型領域を特定するまでに要する時間を短縮できる。
【0128】
[変形例1-6]
例えば、変形例1-5の基準合計値は、定型文字の形状に応じた値であってもよい。定型領域判定部104は、複数の定型文字の各々の形状に応じた基準合計値に基づいて、文字列領域Rが定型領域であるか否かを判定する。例えば、定型文字列が複雑であれば、形状が似た文字が少ないので、他の文字との誤認識が発生しにくいと考えられる。このため、定型領域判定部104は、基準合計値が高くなるように基準合計値を設定する。複雑な形状の文字は、そもそも認識されやすいので、基準合計値を高くしても、定型領域が特定されないといったことは発生しないと考えられる。
【0129】
一方、定型文字列が簡単であれば、形状が似た文字が多いので、他の文字との誤認識が発生しやすいと考えられる。このため、定型領域判定部104は、基準合計値が低くなるように基準合計値を設定する。簡単な形状の文字は、誤認識が発生しやすいので、基準合計値を低くすることによって、定型領域を特定しにくくなるといったことを防止できる。定型文字の形状に応じた基準合計値が設定されるといった点で変形例1-5とは異なるが、定型領域を判定する処理自体は、変形例1-5と同様である。
【0130】
変形例1-6の画像処理システム1は、複数の定型文字の各々の形状に応じた基準合計値に基づいて、文字列領域Rが定型領域であるか否かを判定する。これにより、定型文字の形状に応じた基準合計値を利用することによって、定型領域をより確実に特定できる。例えば、定型文字列が簡単であったとしても、定型領域を特定しにくくなるといったことを防止できる。
【0131】
[変形例1-7]
例えば、定型領域判定部104は、定型文字列に含まれる定型文字の文字数に応じた基準合計値に基づいて、文字列領域Rが定型領域であるか否かを判定してもよい。定型領域判定部104は、定型文字列に含まれる定型文字の文字数が多いほど、基準合計値が高くなるように、基準合計値を設定する。逆にいえば、定型領域判定部104は、定型文字列に含まれる定期文字の文字数が少ないほど、基準合計値が低くなるように、基準合計値を設定する。定型文字の文字数に応じた基準合計値が設定されるといった点で変形例1-5とは異なるが、定型領域を判定する処理自体は、変形例1-5と同様である。
【0132】
変形例1-7の画像処理システム1は、定型文字列に含まれる定型文字の文字数に応じた基準合計値に基づいて、文字列領域Rが定型領域であるか否かを判定する。これにより、定型文字の文字数に応じた基準合計値を利用することによって、定型領域をより確実に特定できる。
【0133】
[変形例1-8]
例えば、実施形態で説明したように、複数の認識可能文字には、定型文字列に含まれる複数の定型文字が含まれている。文字認識部103は、文字列領域Rに対し、複数の定型文字の各々に関する文字認識を行い、定型文字ごとに、スコアを計算してもよい。定型領域判定部104は、定型文字ごとに計算されたスコアに基づいて、文字列領域Rが定型領域であるか否かを判定してもよい。この場合のスコアの計算は、変形例1-5と同様に、定型文字だけが対象になる。定型領域判定部104は、変形例1-5のようなスコアの合計値ではなく、スコアの平均値等の他の指標に基づいて、文字列領域Rが定型領域であるか否かを判定してもよい。
【0134】
変形例1-8の画像処理システム1は、定型文字ごとに計算されたスコアに基づいて、文字列領域Rが定型領域であるか否かを判定する。これにより、定型文字列に含まれる定型文字だけをスコアの計算対象にすることができ、多数の認識可能文字のスコアを計算する必要がなくなるので、ユーザ端末10の処理負荷を軽減し、かつ、定型領域を特定するまでに要する時間を短縮できる。
【0135】
[変形例1-9]
例えば、実施形態では、定型文字列の文字数に応じた文字列領域Rが検出される場合を説明したが、検出部102は、定型文字列に応じたサイズの文字列領域Rを検出してもよい。定型領域判定部104は、定型文字列に応じたサイズの文字列領域Rが定型領域であるか否かを判定してもよい。定型文字列に応じたサイズは、データ記憶部100に予め定められているものとする。
【0136】
例えば、実施形態で説明した「SB」及び「NB」といった2文字の定型文字列であれば、2文字程度のサイズが定められている。定型領域判定部104は、保険証画像Iから検出された全ての文字列領域Rのうち、定型文字列に応じたサイズとの違いが所定の違い未満となる文字列領域Rを、定型領域であるか否かの判定対象とする。サイズが大きく異なる文字列領域Rは、判定対象とはならない。
【0137】
変形例1-9の画像処理システム1は、定型文字列に応じたサイズの文字列領域Rが定型領域であるか否かを判定する。これにより、定型文字列と異なるサイズの文字列領域Rが判定対象から除外され、不要な処理を実行しないので、ユーザ端末10の処理負荷を軽減し、かつ、定型領域を特定するまでに要する時間を短縮できる。
【0138】
[5-2.第2の構成に関する変形例]
図12は、第2の構成に関する変形例における機能ブロック図である。第2の構成に関する変形例では、実施形態及び変形例1-1~1-9における文字認識部103を、第1文字認識部103という。第2の構成に関する変形例では、整形部111及び第2文字認識部112が実現される。整形部111及び第2文字認識部112は、制御部11を主として実現される。
【0139】
[変形例2-1]
例えば、実施形態では、非定型領域に対し、マスキングが実行される場合を説明した。非定型領域には、マスキング以外の他の画像処理が実行されてもよい。変形例2-1では、非定型領域に対し、文字認識が実行される場合を説明する。実施形態のeKYCでは、非定型文字列は利用されなかったが、変形例2-1のeKYCでは、非定型文字列が利用される場合を例に挙げる。例えば、保険証Cの事業所整理番号及び個人番号がeKYCで利用される。
【0140】
変形例2-1の画像処理システム1は、第2文字認識部112を含む。第2文字認識部112は、非定型領域に対して文字認識を実行する。文字認識自体は、第1文字認識部103と同様であってよい。第2文字認識部112は、非定型領域に対して文字認識を実行し、非定型領域に含まれる非定型文字列を認識する。例えば、第2文字認識部112は、非定型領域に含まれる1文字ごとに、最もスコアが高い認識可能文字を特定する。第2文字認識部112は、最もスコアが高い認識可能文字を並べた文字列を、非定型文字列として認識する。
【0141】
送信部107は、サーバ20に対し、第2文字認識部112により認識された非定型文字列を送信する。受信部は、非定型文字列を受信すると、データ記憶部200に非定型文字列を記録する。非定型文字列は、eKYCで利用される。なお、変形例2-1でも、非定型文字列だけではなく、保険証画像Iがサーバ20に送信されてもよい。
【0142】
変形例2-1の画像処理システム1は、定型領域と所定の位置関係にある非定型領域に対して文字認識を実行する。これにより、非定型領域を確実に特定したうえで、非定型領域に対して文字認識を実行できるので、非定型文字列を確実に認識できる。
【0143】
[変形例2-2]
例えば、保険証画像Iにおける保険証Cが曲がっていたり歪んでいたりすると、非定型領域内の個々の文字も曲がっていたり歪んでいたりすることがある。この場合、変形例2-1のように、非定型領域に対して文字認識を実行しようとしても、非定型文字列を正確に認識できない可能性がある。このため、文字認識がしやすい形状になるように、非定型領域を整形することが考えられる。
【0144】
しかしながら、非定型文字列は、具体的に何であるか事前に分からないことが多いので、非定型領域の形状及びサイズは、不確定であることが多い。一方、定型文字列は、予め分かっているので、定型領域の形状及びサイズは、予め分かっている。そこで、実際に特定された定型領域と、定型領域の見本に関する見本領域と、の違いに応じた変換を、実際に特定された定型領域に対して実行してもよい。
【0145】
図13及び図14は、非定型領域を整形する処理の一例を示す図である。変形例2-2の画像処理システム1は、整形部111を含む。図13の例では、整形部111が、定型領域である文字列領域R9と、見本領域R100と、に基づいて、非定型領域である文字列領域R10を整形する場合を説明する。見本領域R100は、正面から保険証Cが撮影された場合の撮影画像において、定型文字列が表れた領域である。
【0146】
図13の例では、見本領域R100には、定型文字列である「SB」が示されている。実施形態の例では、文字列領域R9だけではなく、文字列領域R11も定型領域に相当するので、以降、文字列領域R9,R11を区別しない時は、単に定型領域という。文字列領域R11に含まれる定型文字列である「NB」の見本領域も用意される。以降、図13の見本領域R100ではなく、「NB」の見本領域も包含した説明をする場合には、R100の符号を付さずに見本領域を説明する。
【0147】
変形例2-2では、定型領域及び見本領域は、四角形である場合を説明する。見本領域は、定型領域と同様、任意の形状であってよい。例えば、見本領域は、長方形又は正方形である。定型領域は、長方形又は正方形であってもよいが、保険証画像Iにおける保険証Cに曲がり又は歪みが発生している場合には、四隅の角度が90度ではない四角形になることがある。
【0148】
整形部111は、定型領域と見本領域との違いに基づいて、非定型領域を変換するための変換係数を決定する。例えば、整形部111は、見本領域の四隅の点P11~P14の位置関係と、定型領域の四隅の点P21~P24の位置関係と、の違いに基づいて、変換係数を決定する。整形部111は、当該決定された変換係数に基づいて、定型領域の四隅の点P41~P44を変換することによって、整形後の定型領域の点P31~P34を取得する。
【0149】
例えば、整形部111は、定型領域の幅と、見本領域の幅と、に基づいて、非定型領域を整形する。整形部111は、定型領域の幅と、見本領域の幅と、の違いに基づいて、変換係数を決定する。整形部111は、当該決定された変換係数に基づいて、非定型領域を整形する。図13の例では、縦幅と横幅の両方が利用される場合を説明するが、縦幅又は横幅の何れか一方のみが利用されて整形されてもよい。
【0150】
例えば、整形部111は、見本領域R100の幅lenw1と幅lenh1とを計算する。幅lenw1は、点P11と点P12との距離、又は、点P13と点P14との距離である。幅lenh1は、点P11と点P13との距離、又は、点P12と点P14との距離である。整形部111は、定型領域である文字列領域R9の幅lenw2と幅lenh2とを計算する。幅lenw2は、点P21と点P22との距離、又は、点P23と点P24との距離である。幅lenh2は、点P21と点P23との距離、又は、点P22と点P24との距離である。
【0151】
図13のように、整形部111は、幅lenw1と幅lenw2との比率ρを計算する。整形部111は、幅lenh1と幅lenh2との比率ρを計算する。整形部111は、非定型領域である文字列領域R100の幅lenw4と幅lenh4とを計算する。整形部111は、比率ρに幅lenw4を乗じた値を、整形後の非定型領域である文字列領域R10rの横幅lenw3とする。整形部111は、比率ρに幅lenh4を乗じた値を、文字列領域R10rの縦幅lenh3とする。
【0152】
整形部111は、文字列領域R10rの四隅の点P31~P34と、文字列領域R10の四隅の点P41~P44と、の位置関係に基づいて、変換係数を計算する。この変換係数は、アフィン変換等の変換で利用される計算式によって計算されるようにすればよい。整形部111は、文字列領域R10を、当該計算された変換係数で変換することによって整形する。整形部111は、文字列領域R12についても同様の手順で変換係数を計算し、文字列領域R12を変換することによって整形する。整形後の文字列領域R10r,R12rは、図14の通りとなる。図14の状態になると、各文字列が正面を向くので、文字認識しやすい状態になる。
【0153】
以上のように、変形例2-2の保険証Cは、実施形態と同様に、第1定型文字列「SB」、第2定型文字列「NB」、第1非定型文字列「538712110」、及び第2非定型文字列「123」を含む。定型領域判定部104は、複数の文字列領域Rの中に、第1定型文字列を含む第1定型領域と、第2定型文字列を含む第2定型領域と、があるか否かを判定する。この判定方法は、実施形態で説明した通りである。
【0154】
非定型領域特定部105は、第1定型領域及び第2定型領域があると判定された場合に、第1定型領域と所定の位置関係にある文字列領域Rを、第1非定型文字列を含む第1非定型領域として特定する。非定型領域特定部105は、第2定型領域と所定の位置関係にある文字列領域Rを、第2非定型文字列を含む第2非定型領域として特定する。この特定方法も、実施形態で説明した通りである。
【0155】
整形部111は、第1定型領域と、第1定型領域の見本に関する第1見本領域と、に基づいて、第1非定型領域の整形に関する変換係数を決定する。整形部111は、当該決定された変換係数に基づいて、第1非定型領域を整形する。整形部111は、当該決定された変換係数に基づいて、第2非定型領域も整形する。例えば、整形部111は、図13の点P31~点P34の位置関係と、点P41~点P44の位置関係と、に基づいて決定した変換係数を、文字列領域R10の整形だけではなく、文字列領域R12の整形でも利用する。第2文字認識部112は、整形済みの非定型領域に対し、文字認識を実行する。図14の例であれば、第2文字認識部112は、整形後の文字列領域R10r,R12rの各々に対し、文字認識を実行する。
【0156】
変形例2-2の画像処理システム1は、定型領域と、見本領域と、に基づいて、非定型領域を整形する。これにより、保険証Cを所定の状態で撮影した場合の撮影画像に含まれる非定型文字の領域と同様の形状の非定型領域とすることができる。例えば、変形例2-2のように、非定型領域に対して文字認識を実行する場合には、文字認識をしやすい状態の非定型領域になるので、文字認識の精度が高まる。
【0157】
また、画像処理システム1は、定型領域の幅と、見本領域の幅と、に基づいて、非定型領域を整形する。幅に着目することによって、簡易的な計算によって整形が可能になり、非定型領域の整形の精度も高まる。
【0158】
また、画像処理システム1は、第1定型領域と、第1定型領域の見本に関する第1見本領域と、に基づいて決定された変換係数に基づいて、第2非定型領域も整形する。これにより、第2非定型領域の変換係数を計算しなくて済むので、ユーザ端末10の処理負荷を軽減し、かつ、非定型領域を特定するまでに要する時間を短縮できる。
【0159】
[変形例2-3]
例えば、変形例2-2のように文字列領域R10の変換係数を流用するのではなく、文字列領域R12についても、変換係数が計算されてもよい。以降、文字列領域R10の変換係数を第1変換係数という。文字列領域R12の変換係数を第2変換係数という。第2変換係数の計算方法は、文字列領域R11が定型領域に相当し、この定型領域の見本画像が利用されるという点で第1変換係数の計算方法とは異なるが、計算方法自体は同様である。このため、第2変換係数も図13と同様の流れによって計算される。
【0160】
整形部111は、第1定型領域と、第1定型領域の見本に関する第1見本領域と、に基づいて、第1非定型領域の整形に関する第1変換係数を決定し、当該決定された第1変換係数に基づいて、第1非定型領域を整形する。この流れは、変形例2-2で説明した通りである。整形部111は、第2定型領域と、第2定型領域の見本に関する第2見本領域と、に基づいて、第2非定型領域の整形に関する第2変換係数を決定し、当該決定された第2変換係数に基づいて、第2非定型領域を整形する。整形部111は、図13と同様の流れに基づいて第2変換係数を決定し、第2非定型領域を整形すればよい。
【0161】
変形例2-3の画像処理システム1は、第2定型領域と、第2定型領域の見本に関する第2見本領域と、に基づいて、第2非定型領域の整形に関する第2変換係数を決定し、当該決定された第2変換係数に基づいて、第2非定型領域を整形する。これにより、第2非定型領域用の変換係数が利用されるので、第2非定型領域に対する整形の精度が高まる。
【0162】
[変形例2-4]
例えば、非定型文字列は、何文字程度であるかは事前に分かることがある。このため、非定型文字列としてあまりにも文字数が多い又は少ない文字列領域Rについては、非定型領域の判定から除外してもよい。例えば、保険証Cの事業所整理番号であれば、5文字~10文字程度であることが多い。保険証Cの個人番号であれば、1文字~5文字程度であることが多い。このため、10文字よりも多い文字列領域Rが検出された場合には、非定型領域である確率が低いので、非定型領域の判定対象にならないようにしてもよい。
【0163】
非定型領域特定部105は、複数の文字列領域Rの中から、非定型文字列に応じた文字数の文字列領域Rを特定し、当該特定された文字列領域Rが定型領域と位置関係にある場合に、非定型領域として特定する。非定型文字列に応じた文字数は、データ記憶部100に予め記憶されているものとする。非定型領域特定部105は、文字列領域Rに含まれる文字数が非定型文字列に応じた文字数であるか否かを判定する。非定型領域特定部105は、非定型文字列に応じた文字数の文字列領域Rを、非定型領域であるか否かの判定対象とする。非定型領域特定部105は、非定型文字列に応じた文字数ではない文字列領域Rを、非定型領域であるか否かの判定対象から除外する。
【0164】
変形例2-4の画像処理システム1は、複数の文字列領域Rの中から、非定型文字列に応じた文字数の文字列領域Rを特定し、当該特定された文字列領域Rが定型領域と位置関係にある場合に、非定型領域として特定する。これにより、非定型文字列とは思われない文字列領域Rが判定対象から除外され、不要な処理を実行しないので、ユーザ端末10の処理負荷を軽減し、かつ、非定型領域を特定するまでに要する時間を短縮できる。
【0165】
[変形例2-5]
例えば、非定型領域特定部105は、複数の文字列領域Rの中から、非定型文字列に応じたサイズの文字列領域Rを特定し、当該特定された文字列領域Rが定型領域と位置関係にある場合に、非定型領域として特定してもよい。例えば、変形例2-4で説明したような文字数ではなく、明らかに10文字よりも多い文字列のサイズである文字列領域Rは、非定型領域の判定対象にならないようにしてもよい。
【0166】
非定型文字列に応じたサイズは、データ記憶部100に予め記憶されているものとする。非定型領域特定部105は、文字列領域Rのサイズが非定型文字列に応じたサイズであるか否かを判定する。非定型領域特定部105は、非定型文字列に応じたサイズの文字列領域Rを、非定型領域であるか否かの判定対象とする。非定型領域特定部105は、非定型文字列に応じたサイズではない文字列領域Rを、非定型領域であるか否かの判定対象から除外する。
【0167】
変形例2-5の画像処理システム1は、非定型領域特定部105は、複数の文字列領域Rの中から、非定型文字列に応じたサイズの文字列領域Rを特定し、当該特定された文字列領域Rが定型領域と位置関係にある場合に、非定型領域として特定する。これにより、非定型文字列と異なるサイズの文字列領域Rが判定対象から除外され、不要な処理を実行しないので、ユーザ端末10の処理負荷を軽減し、かつ、非定型領域を特定するまでに要する時間を短縮できる。
【0168】
[5-3.その他変形例]
例えば、上記変形例を組み合わせてもよい。
【0169】
例えば、画像処理システム1は、第2の構成を有さずに、第1の構成を有してもよい。この場合、画像処理システム1は、非定型領域を特定せずに、定型領域を特定する。定型領域は、種々の目的で利用可能である。例えば、画像処理システム1は、保険証画像Iに保険証Cが示されているか否かを判定するために、定型領域を利用してもよい。この場合、非定型領域は特定されずに、保険証Cに印刷された定型文字列領域に対応する定型領域が特定された場合に、保険証画像Iに保険証Cが示されていると判定されてもよい。他にも例えば、画像処理システム1は、保険証画像Iにおける保険証Cが曲がったり歪んだりしている場合に、定型領域に基づいて、保険証画像Iを整形してもよい。この場合、画像処理システム1は、複数の定型領域の位置関係が所定の位置関係になるように、保険証画像Iを整形する。
【0170】
例えば、画像処理システム1は、第1の構成を有さずに、第2の構成を有してもよい。この場合、画像処理システム1は、第1の構成とは異なる他の方法で定型領域を特定し、当該特定された定型領域に基づいて、非定型領域を特定する。他の方法としては、任意の方法を利用可能であり、例えば、テンプレート画像を利用した方法、文字認識を利用した方法、又は機械学習モデルを利用した方法であってもよい。この場合、画像処理システム1は、第1の構成を有しなくても、定型領域を特定できる。このため、画像処理システムは、第1の構成及び第2の構成の両方を含む必要はなく、第1の構成だけを含んでもよいし、第2の構成だけを含んでもよい。
【0171】
例えば、実施形態では、ユーザ端末10で主な処理が実行される場合を説明したが、ユーザ端末10で実行されるものとして説明した処理は、サーバ20で実行されてもよい。即ち、サーバ20が第1の構成及び第2の構成を有してもよい。例えば、ユーザ端末10が第1の構成を有し、サーバ20が第2の構成を有するといったように、ユーザ端末10とサーバ20とで処理が分担されてもよい。逆に、ユーザ端末10が第2の構成を有し、サーバ20が第1の構成を有するといったように、ユーザ端末10とサーバ20とで処理が分担されてもよい。処理が分担される場合には、ユーザ端末10とサーバ20との間で、保険証画像I等のデータが適宜送信されるようにすればよい。
【要約】
画像処理システム(1)の検出部(102)は、定型文字列を含む対象物に関する対象物画像から、任意の文字列を含む文字列領域を検出する。文字認識部(103)は、文字列領域に対して文字認識を行い、文字列領域に含まれる1文字ごとに、文字認識の結果に関するスコアを計算する。定型領域判定部(104)は、1文字ごとに計算されたスコアに基づいて、文字列領域が定型文字列を含む定型領域であるか否かを判定する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14