(58)【調査した分野】(Int.Cl.,DB名)
コンピュータ読み取り可能なコマンドを格納している不揮発性の運転免許証有効期限自動抽出記憶媒体であって、前記コンピュータ読み取り可能なコマンドは一つ又は複数の処理器によって、
運転免許証の画像ファイルを取得するステップと、
最大安定極値領域アルゴリズムを用いて前記画像ファイルの各種の情報の輪郭領域を抽出し、抽出した輪郭領域から縦横比が設定範囲内にある輪郭領域を抽出して候補輪郭領域とし、該候補輪郭領域から年度審査の有効期限が含まれる候補輪郭領域を選択するステップと、
選択された候補輪郭領域の中の各文字輪郭を抽出するステップと、
選択された候補輪郭領域の各文字輪郭の最小の外接矩形を取得し、取得した最小の外接矩形の中のブロックを一つ一つ分割し、複数の単一文字ブロックに分割するステップと、
前記選択された候補輪郭領域における各単一文字ブロックの位置に基づいて前記単一文字ブロックを配列するステップと、
前記単一文字ブロックに対応する文字を識別するステップと、
前記配列に従って、識別された文字を用いて年度審査の有効期限を表す文字列を生成するステップと、
前記文字列の時間データを抽出し、該時間データを前記選択された候補輪郭領域の年度審査の有効期限とするステップと、
を実行するために用いられ、
前記設定範囲は、年度審査の有効期限の関連する幾何学的特性に基づいて設定される変動閾値を含むことを特徴とする運転免許証有効期限自動抽出記憶媒体。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、上記したような従来の技術において、前記問題点を解決するためになされたものであり、運転免許証の年度審査の有効期限が自動的に抽出される運転免許証有効期限自動抽出方法、装置、システム及び記憶媒体を提供することにその目的がある。
【課題を解決するための手段】
【0005】
運転免許証有効期限自動抽出方法は、
運転免許証の画像ファイルを取得するステップと、
輪郭抽出ルールに従って前記画像ファイルの候補輪郭領域を抽出し、抽出した候補輪郭領域から年度審査の有効期限が含まれる候補輪郭領域を選択するステップと、
選択された候補輪郭領域の中の各文字輪郭を抽出するステップと、
選択された候補輪郭領域の各文字輪郭の最小の外接矩形を取得し、取得した最小の外接矩形の中のブロックを一つ一つ分割し、複数の単一文字ブロックに分割されるステップと、
各単一文字ブロックが選択された候補輪郭領域にある位置に基づいて単一文字ブロックを配列するステップと、
前記単一文字ブロックに対応する文字を識別するステップと、
前記配列に従って識別された文字を介して年度審査の有効期限を表す文字列を生成するステップと、
前記文字列の時間データを抽出し、前記時間データを前記輪郭領域の年度審査の有効期限とするステップと、を備える。
【0006】
記憶装置及び処理器を備える運転免許証有効期限自動抽出装置は、前記記憶装置が、運転免許証有効期限自動抽出システムを格納することに用いられ、前記処理器は、前記運転免許証有効期限自動抽出システムを実行する。すなわち、
運転免許証の画像ファイルを取得し、
輪郭抽出ルールに従って前記画像ファイルの候補輪郭領域を抽出し、抽出した候補輪郭領域から年度審査の有効期限が含まれる候補輪郭領域を選択し、
選択された候補輪郭領域の中の各文字輪郭を抽出し、
選択された候補輪郭領域の各文字輪郭の最小の外接矩形を取得し、取得した最小の外接矩形の中のブロックを一つ一つ分割し、複数の単一文字ブロックに分割され、
各単一文字ブロックが選択された候補輪郭領域にある位置に基づいて単一文字ブロックを配列し、
前記単一文字ブロックに対応する文字を識別し、
前記配列に従って識別された文字を介して年度審査の有効期限を表す文字列を生成し、
前記文字列の時間データを抽出し、前記時間データを前記輪郭領域の年度審査の有効期限とする。
【0007】
運転免許証有効期限自動抽出システムは、
運転免許証の画像ファイルを取得することに用いられる画像ファイル取得モジュールと、
輪郭抽出ルールに従って前記画像ファイルの候補輪郭領域を抽出し、抽出した候補輪郭領域から年度審査の有効期限が含まれる候補輪郭領域を選択することに用いられる領域選択モジュールと、
選択された候補輪郭領域の中の各文字輪郭を抽出することに用いられる文字抽出モジュールと、
選択された候補輪郭領域の各文字輪郭の最小の外接矩形を取得し、取得した最小の外接矩形の中のブロックを一つ一つ分割し、複数の単一文字ブロックに分割されることに用いられる文字分割モジュールと、
各単一文字ブロックが選択された候補輪郭領域にある位置に基づいて単一文字ブロックを配列することに用いられる配列モジュールと、
前記単一文字ブロックに対応する文字を識別することに用いられる文字識別モジュールと、
前記配列に従って識別された文字を介して年度審査の有効期限を表す文字列を生成し、識別された文字列が有効である場合、前記文字列の時間データを抽出し、前記時間データを前記輪郭領域の年度審査の有効期限とすることに用いられる有効期限確認モジュールと、を備える。
【0008】
コンピュータ読み取り可能なコマンドを格納している不揮発性の運転免許証有効期限自動抽出記憶媒体は、コンピュータ読み取り可能なコマンドが一つ又は複数の処理器によって以下のステップを実行する。すなわち、
運転免許証の画像ファイルを取得し、
輪郭抽出ルールに従って前記画像ファイルの候補輪郭領域を抽出し、抽出した候補輪郭領域から年度審査の有効期限が含まれる候補輪郭領域を選択し、
選択された候補輪郭領域の中の各文字輪郭を抽出し、
選択された候補輪郭領域の各文字輪郭の最小の外接矩形を取得し、取得した最小の外接矩形の中のブロックを一つ一つ分割し、複数の単一文字ブロックに分割され、
各単一文字ブロックが選択された候補輪郭領域にある位置に基づいて単一文字ブロックを配列し、
前記単一文字ブロックに対応する文字を識別し、
前記配列に従って識別された文字を介して年度審査の有効期限を表す文字列を生成し、
前記文字列の時間データを抽出し、前記時間データを前記輪郭領域の年度審査の有効期限とする。
【発明の効果】
【0009】
本発明の運転免許証有効期限自動抽出方法、装置、システム及び記憶媒体は、運転免許証における年度審査の有効期限を効果的に抽出でき、且つ運転免許証における年度審査の有効期限が複数である場合、最新の年度審査の有効期限を抽出でき、作業効率を向上させるという効果を奏することができる。
【発明を実施するための形態】
【0011】
本実施形態において、前記運転免許証有効期限自動抽出システム10は、電子装置に搭載して実行されている。前記電子装置は、本発明の技術的な目的を達成できるいずれかの装置であり、例えば、サーバー又は端末装置である。いくつかの実施形態において、電子装置は、処理器及び記憶装置を備え、前記処理器はコアユニット(Core Unit)及びコントロールユニット(Control Unit)であり、コンピュータの命令を読み取り、コンピュータソフトウェアのデータを処理することに用いられる。記憶装置は、内蔵メモリと不揮発性記憶媒体を備える。なお、不揮発性記憶媒体には、オペレーティングシステム、データベース及び運転免許証有効期限自動抽出システム10が格納されている。内蔵メモリは、オペレーティングシステム、データベース及び運転免許証有効期限自動抽出システム10に高速なキャッシュの実行環境を提供する。いくつかの実施形態において、運転免許証有効期限自動抽出システム10は、少なくとも1つのコンピュータ実行可能プログラム命令コードを含む。前記少なくとも1つのコンピュータ実行可能プログラム命令コードは、処理器によって実行されて本実施形態の運転免許証有効期限自動抽出方法を実現することができる。前記方法の具体的なステップは後続の内容を参照する。
【0012】
不揮発性記憶媒体は、プログラム可能読み出し専用メモリ(PROM)、消去可能・プログラム可能の読み出し専用メモリ(EPROM)、電気的消去可能読み出し専用メモリ(EEPROM)、フラッシュメモリなどのような読み出し専用メモリ(ROM)を含み、USBフラッシュディスク、ハードディスク、ランダムアクセスメモリ(RAM)、磁気ディスク、光ディスクなどのようなコードを格納するための各種の媒体であることができる。
【0013】
この技術分野の技術者が理解できることであるが、上述した電子装置に対する記述は、本実施形態の電子装置の限定を構成するものではない。具体的に、処理器及び記憶装置以外他の部品も含んで対応する機能を実現し、例えば、ユーザーインターフェース、入力装置、出力装置、ネットワークインターフェース等々である。
【0014】
上述したように、いくつかの実施形態において、装置はサーバーに搭載される。
図1に示すように、前記サーバーは、クラウドサーバー1である。前記クラウドサーバー1は、通信モジュール(図示せず)を介して一つの又は複数の端末装置2に通信可能に接続される。前記端末装置2は、パソコン、スマート携帯電話、タブレットパソコンなどのような装置である。運転免許証有効期限自動抽出システム10は、記憶装置に記憶されているコンピュータ実行可能プログラム命令コードを備える。処理器はこちらのプログラム命令コードを実行することによって下記の機能を実現する。クラウドサーバー1は、端末装置2から運転免許証の画像ファイル20を受信し、前記画像ファイル20の候補輪郭領域を抽出し、抽出した候補輪郭領域から年度審査の有効期限が含まれる候補輪郭領域を選択し、選択した各候補輪郭領域から文字輪郭を一つずつ抽出する。選択された候補輪郭領域の全ての文字輪郭が抽出された後、選択された候補輪郭領域の各文字輪郭の最小の外接矩形を取得し、取得した最小の外接矩形の中のブロックを一つ一つ分割し、複数の単一文字ブロックに分割される。本実施形態において、各文字ブロックの分割方法は、文字輪郭の最小の外接矩形及び原画像ファイル20をマスクとして、例えば、文字輪郭領域に属する領域を不変に保持させる一方、残りの領域は、全て黒い背景に設定され、各文字輪郭の最小の外接矩形から取得されたマスク領域を介して各文字が含まれるブロックを確定し、且つそれを分離することとすることができる。
【0015】
さらに、前記運転免許証有効期限自動抽出システム10は、選択された候補輪郭領域の各単一文字ブロックに対応する文字を識別し、前記候補輪郭領域の各文字ブロックの横座標の大小に基づいて、前記候補輪郭領域の各文字ブロックを配列する。例えば、横座標が小から大に至る順序に従って左から右に向かって配列され、識別された各文字を対応する単一文字ブロックの配列順序に従って配列し、年度審査を表す文字列を形成し、且つ前記文字列の中の時間部分(例えば、年及び月である)を抽出して前記候補輪郭領域の年度審査の有効期限のテキスト形式で表示する。例えば、まず文字「年」のインデックスの位置を探し、その前の四つの文字を抽出すると年を得る。次に文字「月」のインデックスの位置を探し、その前端の二つの文字を抽出する。月が1つの数字だけの場合があるであるので、抽出された月の最初の文字が数字であるかどうかを判定する必要がある。最後に、抽出された年月を1つの文字にして年度審査の有効期限を形成する。
【0016】
本発明の中の1つの実施形態において、一つだけの候補輪郭領域の年度審査の有効期限が抽出された場合、前記年度審査の有効期限を前記画像ファイル20に対応する最新の年度審査の有効期限とする。本発明の他の実施形態において、複数の候補輪郭領域の年度審査の有効期限が抽出された場合、前記運転免許証有効期限自動抽出システム10は、各年度審査の有効期限の日付の大小を比較し、日付が最大である年度審査の有効期限を前記画像ファイル20に対応する最新の年度審査の有効期限とする。例えば、各年度審査の有効期限は1つの文字列のリストに格納され、時間比較関数を定義することによって二つの日付の大小を比較し、左の日付が右の日付より大きい場合、‐1と出力し、等しい場合、0と出力し、さもなければ、1と出力する。比較関数によって該リストの中の時間文字列が降順に従って配列された後の最上面に位置する文字列を最新の年度審査の有効期限とする。
【0017】
本発明の他の実施形態において、電子装置は、端末装置2であることができる。
図2に示すように、前記端末装置2は、パソコン、スマート携帯電話、タブレットパソコンなどのような装置である。前記端末装置2は、運転免許証を撮影するための撮影装置を有する。本実施形態において、前記運転免許証有効期限自動抽出システム10は、端末装置2の記憶装置に格納されているコンピュータ実行可能プログラム命令コードを含む。撮影装置によって取得された画像ファイルを受信した後、端末装置2の処理器は、こちらのプログラム命令コードを実行して本実施形態によって提供される運転免許証有効期限自動抽出方法を実現する。
【0018】
図3に示すように、本発明に係る運転免許証有効期限自動抽出システムの好ましい実施形態のブロック図である。
【0019】
前記運転免許証有効期限自動抽出システム10のプログラムコードは、異なる機能に基づいて複数の機能モジュールに分割される。本発明の好ましい実施形態において、前記運転免許証有効期限自動抽出システム10は、画像ファイル取得モジュール100と、領域選択モジュール101と、文字抽出モジュール102と、文字分割モジュール103と、配列モジュール104と、文字識別モジュール105と、有効期限確認モジュール106と、を備える。
【0020】
前記画像ファイル取得モジュール100は、端末装置2から運転免許証の画像ファイル20を取得することに用いられる。前記端末装置2は、走査、撮影などのような方式によって運転免許証の画像ファイル20を取得することができる。
【0021】
領域選択モジュール101は、輪郭抽出ルールに従って前記画像ファイル20の候補輪郭領域を抽出し、選択分類ルールに従って抽出した候補輪郭領域から年度審査の有効期限が含まれる候補輪郭領域を選択することに用いられる。
【0022】
本実施形態において、前記輪郭抽出ルールは、例えば、MSER(Maximally Stable Extremal Regions、最大安定極値領域)アルゴリズムを用いて前記画像ファイル20の各種の情報の輪郭領域を抽出し、抽出した輪郭領域から縦横比が設定範囲内にある輪郭領域を抽出して候補輪郭領域とすることができる。ここで、説明する必要があることは、縦横比が設定範囲内にある輪郭領域は候補輪郭領域として抽出されるため、目標とする年度審査の有効期限領域を正確に位置決めることができる。観察によって運転免許証のフォーマットは固定されており、年度審査の有効期限の縦横比は、約10:1であり、従って、前記設定範囲は、年度審査の有効期限の関連する幾何学的特性に基づいて確認され、わずかな変動閾値を設定することによって、例えば、9.5:1と10.5:1との間にあり、縦横比がこの範囲内の領域にある領域も年度審査の有効期限の領域である。このステップの示唆ルールを使用することによって約50%の候補輪郭領域を減少することができるが、示唆ルールを使用しない場合、多くの無関連な輪郭領域を抽出するので、こちらの領域は、後続の処理の難しさ及び計算量を増加させる。
【0023】
説明する必要があることは、MSERアルゴリズムの原理は、一連の等級グレースケール閾値(例えば、75、105、135、165、195、......)を用いて画像ファイル20を2値化し、各閾値によって得られる2値画像に基づいてそれに対応する黒色領域及び白色領域を得、広いグレースケール閾値範囲で形状を安定に保持させる領域は最大安定極値領域である。ここで、前記極値領域ERは、以下のように定義される。1つの連結領域(該領域内で間断点がない)がR(Regionの最初の文字)と略称され、以下の条件を満たし、該領域内の任意の1つのRi点と境界点Rb点における以下の不等式が成立し、Ф(Ri)>Ф(Rb)、ここで、Ф(Ri)は点Riの画素値を表し、Ф(Rb)は点Rbの画素値を表す。この不等式の直接的な意味は、1つの領域内の全ての点の画素値が領域境界又は領域境界外の点の画素値より常に大きいことであり、この特性に適合する領域はER(極値領域、画像の一部分範囲内で周囲領域に対してより大きな画素値から集合して形成される領域)と呼ばれる。1つのグレースケール画像は、二値化閾値の変換によって多くのERを生成することができる。こちらのERは、ERを生成する時に使用された二値化閾値の大小に応じて樹形の組織に構築され、ER樹と呼ばれる。
図6に示すように、各二値化閾値に応じて生成されたERは、ER樹の同じレベルに位置し、次のレベルの二値化閾値(各レベルごとの二値化閾値の間にある値(例えば、30)がある)は、現在のレベルのERを2値化して次のレベルのERを形成する。最高のレベルのERを形成する二値化閾値は最も小さく、次に、上から下に向かって樹の葉ノードに至り、二値化閾値が徐々に増大する。マルチレベル二値化処理によって形成されたERを介して形成される樹状構造は、二値化閾値ごとに、いくつかのER(極値領域)を形成した後1つのレベルのERを構成し、次のレベルの二値化閾値を使用して現在の二値化閾値によって形成されたERに対して2値化して樹の中の次のレベルのERを形成し、マルチレベル閾値は、第一レベルで20〜80のような小さな閾値を指定し、レベルごとにある増量(例えば、30であり、前記増量が大き過ぎるか又は小さ過ぎるべきではなく、20と30との間が良い)に従って閾値を増加する。
図6の中のブロック領域の大小は実際な面積値の大小を反映し、Areaは該領域の面積を表す。樹のERの関連は、同じレベルの二値化閾値によって形成されたERが、同じレベルに位置し、大きな二値化閾値によって形成されたERは、樹の次のレベルに位置する。即ち、次のレベルのERは、現在のレベルのERの次のレベルのノードである。樹の中の経路は、ERの形成関係(上下レベル関係)に従ってER樹を遍歴することである。ER樹を介してERの安定性値variationを定義し、この値は以下の公式を介して得られる。
【0025】
ここで、δはパラメーターであり、ER樹にある二つのERの間に隔たっているノードの数量を測定することに用いられ、既定値は5に設定される。|ER
t|は、t番目のERの面積を表す。|ER
t+δ|は、t番目のERとδ個の距離で隔たっているERの面積を表す。ER樹の全ての経路(樹のノードの従属関係に沿ってアクセスする)において、variation値が最も小さいERは、最も安定なERと呼ばれ、即ち、面積が閾値変化に敏感でない領域である。
【0026】
本実施形態において、前記選択分類ルールは、例えば、抽出された候補輪郭領域を訓練された第一深層畳み込みニューラルネットワーク(Deep ConvNet)モデルに入力することとすることができる。選択精度を保証するために、前記第一深層畳み込みニューラルネットワークモデルは、1つの入力層と21層の畳み込み層と二つの分類層が含まれている23層モデル構造を採用し、ここで、入力層は層の合計に計算されない。前記第一深層畳み込みニューラルネットワークモデルは、大量の年度審査の有効期限が含まれる輪郭領域及び年度審査の有効期限が含まれない輪郭領域に基づいて訓練された。前記第一深層畳み込みニューラルネットワークモデルを利用して前記候補輪郭領域における年度審査の有効期限が含まれる確信度(即ち、確率)を判定する。前記候補輪郭領域における年度審査の有効期限が含まれる確信度が予め設定された閾値(例えば、85%)より大きい場合、前記候補輪郭領域を年度審査の有効期限が含まれる候補輪郭領域とする。
【0027】
前記文字抽出モジュール102は、選択された候補輪郭領域の中の各文字輪郭を抽出することに用いられる。
【0028】
本実施形態において、前記文字抽出モジュール102は、以下の方法に従って各文字輪郭を抽出する:A、候補輪郭領域を単一チャネルのグレースケール画像に変換する。B、大津の閾値法(判別分析法)を採用してグレースケール画像を2値化し、グレースケール画像のグレースケール変化範囲0〜255を二値領域0〜1に変換することによって、大部分の干渉背景を削除する。C、輪郭抽出関数を呼び出して二値画像の中の全ての輪郭を抽出し、例えば、前記輪郭抽出関数はfind contours関数とすることができる。D、予め設定された高さ及び予め設定された幅を有する輪郭を選択し、ここで、前記予め設定された高さは例えば33とすることができ、また、前記予め設定された幅は例えば20とすることができる。E、選択した輪郭の数量が予め設定された数量と等しいかどうかを解析し、例えば、選択した輪郭の数量は10であり、選択した輪郭の数量が予め設定された数量と等しくない場合、F、予め設定された高さ及び/又は予め設定された幅を予め設定された大きさ(例えば、1)に従って逓増するか又は逓減し、例えば、予め設定された高さを34に調整し、及び/又は、予め設定された幅を21に調整し、上述したステップDを実行する。
【0029】
上述したステップD、E、Fの目的は、文字分割を更に正確にすることである。一般的に、年度審査の有効期限における漢字と英文字がほぼ同じ高さ及び最小の幅を有し、高さ及び幅の二つの閾値条件に従って無関係な輪郭を削除する。同時に、各文字輪郭が算出された後に、年度審査の有効期限欄の文字の文字数が比較的固定であるため、年度審査の有効期限の文字輪郭の数量を統計することによってこの分割が成功したかどうかを判定することができる。文字輪郭の数量が間違った場合、35のような他の文字高さ閾値と22のような他の幅閾値を試すことによって正しい数量の文字輪郭を分割する必要がある。
【0030】
前記文字分割モジュール103は、選択された候補輪郭領域の各文字輪郭の最小の外接矩形を取得し、取得した最小の外接矩形の中のブロックを一つ一つ分割し、複数の単一文字ブロックに分割することに用いられる。例えば、文字輪郭の最小の外接矩形及び原画像ファイルをマスクとして、例えば、文字輪郭領域に属する領域は不変で保持させる一方、残りの領域は、全て黒い背景に設定し、各文字輪郭の最小の外接矩形から取得されたマスク領域を介して各文字が含まれるブロックを確定し、且つそれを分離する。
【0031】
前記配列モジュール104は、選択された候補輪郭領域における各単一文字ブロックの位置に基づいて単一文字ブロックを配列することに用いられる。具体的に、前記配列モジュール104は、選択された候補輪郭領域の各単一文字ブロックの横座標の大小に基づいて、選択された候補輪郭領域の各単一文字ブロックを配列する。例えば、横座標が小から大に至る順序に従って左から右に向かって配列される。
【0032】
前記文字識別モジュール105は、文字識別ルールに従って前記単一文字ブロックに対応する文字を識別することに用いられる。
【0033】
本実施形態において、前記文字識別ルールは、分割された各単一文字ブロックを、訓練された第二深層畳み込みニューラルネットワーク(Deep ConvNet)モデルに入力することとすることができる。第二深層畳み込みニューラルネットワークモデルは、11層モデル構造を採用するため、計算時間及び計算資源を考慮し、数回の試行で識別精度を保証できることが分かる。前記第二深層畳み込みニューラルネットワークモデルは、1つの入力層と10層の畳み込み層と1つの分類層を含み、ここで、入力層は層の合計に計算されない。前記第二深層畳み込みニューラルネットワークモデルは、大量の各種の単一文字ブロックに基づいて訓練される。前記第二深層畳み込みニューラルネットワークモデルを利用して分割された各単一文字ブロックに対応する文字を識別する。Deep ConvNetは、まず入力された単一文字ブロックから畳み込み層を介して分類特性を抽出し、抽出した分類特性を最後の層の多重層パーセプトロン(Multiple Layer Perceptron、MLP)分類層に入力して分類する。全体の分類は76個の類別があり、年/度/審/査/の/有/効/期/限/年/月/日/(/)のような14個の不変の文字と、10個の数字と、25個の英語の大文字、31の省の略称を含み、分類層から出力された対応する数字は、現在の文字がどの文字類別に分類されるかを表す。
【0034】
有効期限確認モジュール106は、前記配列に従って識別された文字を介して年度審査の有効期限を表す文字列を生成し、識別された文字列が有効である場合、前記文字列の時間データを抽出し、前記時間データを前記輪郭領域の年度審査の有効期限とすることに用いられる。
【0035】
本実施形態において、前記有効期限確認モジュール106は、前記候補輪郭領域によって形成された文字列の最初から数えて6個の文字が予め設定された文字列であるかどうかを判定し、例えば、「年度審査の有効期間」、15番目の文字は第一の予め設定された文字であるかどうかを判定し、例えば、「年」、後ろから数えて4番目の文字は第二の予め設定された文字であるかどうかを判定し、例えば、「(」、及び最後の文字は第三予め設定された文字であるかどうかを判定し、例えば、「)」、識別された文字列が有効かどうかを判定する。
【0036】
本実施形態において、以下の方法を用いて前記文字列の時間データを抽出し、例えば、まず文字「年」のインデックスの位置を探し、その前の四つの文字を抽出すると年を得る。次に文字「月」のインデックスの位置を探し、その前端の二つの文字を抽出する。月が1つの数字だけの場合があるので、抽出された月の最初の文字が数字であるかどうかを判定する必要がある。最後に、抽出された年月を1つの文字列にし、このようにして年度審査の有効期限の時間データが抽出される。
【0037】
図4に示すように、本発明に係る運転免許証有効期限自動抽出方法の好ましい実施形態のフローチャートである。フローチャートに示すようなステップを限定するものではないことを理解できる。そのフローチャートに示すステップの中のあるステップは省略でき、ステップの間の手順も変更することができる。
【0038】
ステップS10:画像ファイル取得モジュール100は、端末装置2から運転免許証の画像ファイル20を取得する。
【0039】
ステップS11:領域選択モジュール101は、輪郭抽出ルールに従って前記画像ファイル20の候補輪郭領域を抽出し、選択分類ルールに従って抽出した候補輪郭領域から年度審査の有効期限が含まれる候補輪郭領域を選択する。
【0040】
本実施形態において、前記輪郭抽出ルールは、例えば、MSER(Maximally Stable Extremal Regions、最大安定極値領域)アルゴリズムを用いて前記画像ファイル20の各種の情報の輪郭領域を抽出し、抽出した輪郭領域から縦横比が設定範囲内にある輪郭領域を抽出して候補輪郭領域とすることができる。ここで、説明する必要があることは、縦横比が設定範囲内にある輪郭領域は候補輪郭領域として抽出されるため、目標とする年度審査の有効期限領域を正確に位置決めることができる。観察によって運転免許証のフォーマットは固定されており、年度審査の有効期限の縦横比は、約10:1である。従って、前記設定範囲は、年度審査の有効期限の関連する幾何学的特性に基づいて確認され、わずかな変動閾値を設定することによって、例えば、9.5:1と10.5:1との間にあり、縦横比がこの範囲内の領域にある領域も年度審査の有効期限の領域である。このステップの示唆ルールを使用することによって約50%の候補輪郭領域を減少することができるが、示唆ルールを使用しない場合、多くの無関連な輪郭領域を抽出するので、こちらの領域は、後続の処理の難しさ及び計算量を増加させる。
【0041】
説明する必要があることは、MSERアルゴリズムの原理は、一連の等級グレースケール閾値(例えば、75、105、135、165、195、......)を用いて画像ファイル20を2値化し、各閾値によって得られる2値画像に基づいてそれに対応する黒色領域及び白色領域を得、広いグレースケール閾値範囲で形状を安定に保持させる領域は最大安定極値領域である。ここで、前記極値領域ERは、以下のように定義される。1つの連結領域(該領域内で間断点がない)がR(Regionの最初の文字)と略称され、以下の条件を満たし、該領域内の任意の1つのRi点と境界点Rb点における以下の不等式が成立し、Ф(Ri)>Ф(Rb)、ここで、Ф(Ri)は点Riの画素値を表し、Ф(Rb)は点Rbの画素値を表す。この不等式の直接的な意味は、1つの領域内の全ての点の画素値が領域境界又は領域境界外の点の画素値より常に大きいことであり、この特性を適合する領域はER(極値領域、画像の一部分範囲内で周囲領域に対してより大きな画素値から集合して形成される領域)と呼ばれる。1つのグレースケール画像は、二値化閾値の変換によって多くのERを生成することができる。こちらのERは、ERを生成する時に使用された二値化閾値の大小に応じて樹形の組織に構築され、ER樹と呼ばれる。
図6に示すように、各二値化閾値に応じて生成されたERは、ER樹の同じレベルに位置し、次のレベルの二値化閾値(各レベルごとの二値化閾値の間にある値(例えば、30)がある)は、現在のレベルのERを2値化して次のレベルのERを形成する。最高のレベルのERを形成する二値化閾値は最も小さく、次に、上から下に向かって樹の葉ノードに至り、二値化閾値が徐々に増大する。マルチレベル二値化処理によって形成されたERを介して形成される樹状構造は、二値化閾値ごとに、いくつかのER(極値領域)を形成した後1つのレベルのERを構成し、次のレベルの二値化閾値を使用して現在の二値化閾値によって形成されたERに対して2値化して樹の中の次のレベルのERを形成し、マルチレベル閾値は、第一レベルで20〜80のような小さな閾値を指定し、レベルごとにある増量(例えば、30であり、前記増量が大き過ぎるか又は小さ過ぎるべきではなく、20と30との間が良い)に従って閾値を増加する。
図6の中のブロック領域の大小は実際の面積値の大小を反映し、Areaは該領域の面積を表す。樹のERの関連は、同じレベルの二値化閾値によって形成されたERは、同じレベルに位置し、大きな二値化閾値によって形成されたERは、樹の次のレベルに位置する。即ち、次のレベルのERは、現在のレベルのERの次のレベルのノードである。樹の中の経路は、ERの形成関係(上下レベル関係)に従ってER樹を遍歴することである。ER樹を介してERの安定性値variationを定義し、この値は以下の公式を介して得られる。
【0043】
ここで、δはパラメーターであり、ER樹にある二つのERの間に隔たっているノードの数量を測定することに用いられ、既定値は5に設定される。|ER
t|は、t番目のERの面積を表す。|ER
t+δ|は、t番目のERの間にδ個の距離があって隔たっているERの面積を表す。ER樹の全ての経路(樹のノードの従属関係に沿ってアクセスする)において、variation値が最も小さいERは、最も安定なERと呼ばれ、即ち、面積が閾値変化に敏感でない領域である。
【0044】
本実施形態において、前記選択分類ルールは、例えば、抽出された候補輪郭領域を訓練された第一深層畳み込みニューラルネットワーク(Deep ConvNet)モデルに入力することとすることができる。選択精度を保証するために、前記第一深層畳み込みニューラルネットワークモデルは、1つの入力層と21層の畳み込み層と二つの分類層が含まれている23層モデル構造を採用し、ここで、入力層は層の合計に計算されない。前記第一深層畳み込みニューラルネットワークモデルは、大量の年度審査の有効期限が含まれる輪郭領域及び年度審査の有効期限が含まれない輪郭領域に基づいて訓練された。前記第一深層畳み込みニューラルネットワークモデルを利用して前記候補輪郭領域における年度審査の有効期限が含まれる確信度(即ち、確率)を判定する。前記候補輪郭領域における年度審査の有効期限が含まれる確信度が予め設定された閾値(例えば、85%)より大きい場合、前記候補輪郭領域を年度審査の有効期限が含まれる候補輪郭領域とする。
【0045】
ステップS12:文字抽出モジュール102は、選択された候補輪郭領域の中の各文字輪郭を抽出する。本ステップの詳しい実施フローチャートは、下記の
図5の説明を参照する。
【0046】
ステップS13:文字分割モジュール103は、選択された候補輪郭領域の各文字輪郭の最小の外接矩形を取得し、取得した最小の外接矩形の中のブロックを一つ一つ分割し、複数の単一文字ブロックに分割する。
【0047】
本実施形態において、文字分割モジュール103は、文字輪郭の最小の外接矩形及び原画像ファイルをマスクとして、例えば、文字輪郭領域に属する領域を不変に保持させる一方、残りの領域は、全ての黒い背景に設定され、各文字輪郭の最小の外接矩形から取得されたマスク領域を介して各文字が含まれるブロックを確認し、且つそれを分離する。
【0048】
ステップS14:配列モジュール104は、選択された候補輪郭領域における各単一文字ブロックの位置に基づいて単一文字ブロックを配列する。
【0049】
具体的に、前記配列モジュール104は、選択された候補輪郭領域の各単一文字ブロックの横座標の大小に基づいて、選択された候補輪郭領域の各単一文字ブロックを配列する。例えば、横座標が小から大に至る順序に従って左から右に向かって配列される。
【0050】
ステップS15:文字識別モジュール105は、文字識別ルールに従って前記単一文字ブロックに対応する文字を識別する。
【0051】
本実施形態において、前記文字識別ルールは、分割された各単一文字ブロックを訓練された第二深層畳み込みニューラルネットワーク(Deep ConvNet)モデルに入力することとすることができる。第二深層畳み込みニューラルネットワークモデルは、11層モデル構造を採用するため、計算時間及び計算資源を考慮し、数回の試行で識別精度を保証できることが分かる。前記第二深層畳み込みニューラルネットワークモデルは、1つの入力層と10層の畳み込み層と1つの分類層を含み、ここで、入力層は層の合計に計算されない。前記第二深層畳み込みニューラルネットワークモデルは、大量の各種の単一文字ブロックに基づいて訓練される。前記第二深層畳み込みニューラルネットワークモデルを利用して分割された各単一文字ブロックに対応する文字を識別する。Deep ConvNetは、まず入力された単一文字ブロックから畳み込み層を介して分類特性を抽出し、抽出した分類特性を最後の層の多重層パーセプトロン(Multiple Layer Perceptron、MLP)分類層に入力して分類する。全体の分類は76個の類別があり、年/度/審/査/の/有/効/期/限/年/月/日/(/)のような14個の不変の文字と、10個の数字と、25個の英語の大文字、31の省の略称を含み、分類層から出力された対応する数字は、現在の文字がどの文字類別に分類されるかを表す。
【0052】
ステップS16:有効期限確認モジュール106は、前記配列に従って識別された文字を介して年度審査の有効期限を表す文字列を生成する。
【0053】
ステップS17:有効期限確認モジュール106は、識別された文字列が有効かどうかを判定する。
【0054】
本実施形態において、前記有効期限確認モジュール106は、前記候補輪郭領域によって形成された文字列の最初から数えて6個の文字が予め設定された文字列であるかどうかを判定し、例えば、「年度審査の有効期間」、15番目の文字は第一の予め設定された文字であるかどうかを判定し、例えば、「年」、後ろから数えて4番目の文字は第二の予め設定された文字であるかどうかを判定し、例えば、「(」、及び最後の文字は第三の予め設定された文字であるかどうかを判定し、例えば、「)」、識別された文字列が有効かどうかを判定する。
【0055】
識別された文字列が無効である場合、文字抽出モジュール102は、予め設定された高さ及び/又は予め設定された幅を予め設定された長さ(例えば、1)に従って逓増するか又は逓減し、上述したステップS12に戻る。
【0056】
識別された文字列が有効である場合、以下のステップS18を実行する。
【0057】
ステップS18:前記有効期限確認モジュール106は、前記文字列の時間データを抽出し、例えば、まず文字「年」のインデックスの位置を探し、その前の四つの文字を抽出すると年を得る。次に文字「月」のインデックスの位置を探し、その前端の二つの文字を抽出する。月が1つの数字だけの場合があるので、抽出された月の最初の文字が数字であるかどうかを判定する必要がある。最後に、抽出された年月を1つの文字列にして、このように年度審査の有効期限の時間データが抽出される。
【0058】
ステップS19:前記文字分割モジュール103は、他の選択された候補輪郭領域の中の全ての文字輪郭が選択されるかどうかを判定する。他の選択された候補輪郭領域の中の全ての文字輪郭が選択される場合、上述したステップS13に戻る。他の選択された候補輪郭領域の中の全ての文字輪郭が選択されない場合、下記のステップS20を実行する。
【0059】
ステップS20:前記有効期限確認モジュール106は、抽出された1つ又は複数の選択された候補輪郭領域の中の年度審査の有効期限における最近の年度審査の有効期限を計算し、且つ前記最近の年度審査の有効期限を出力する。
【0060】
本発明の中の実施形態において、1つだけの選択された候補輪郭領域の中の年度審査の有効期限が抽出された場合、年度審査の有効期限を画像に対応する最新の年度審査の有効期限とする。
【0061】
本発明の中の他の実施形態において、複数の選択された候補輪郭領域の中の年度審査の有効期限が抽出された場合、前記有効期限確認モジュール106は、各年度審査の有効期限の日付の大小を比較し、日付が最も後ろに近い年度審査の有効期限を前記画像ファイル20に対応する最新の年度審査の有効期限として、例えば、日付「2015年12月」が日付「2015年11月」より大きい場合、日付「2015年12月」を最新の年度審査の有効期限とする。また、各年度審査の有効期限は1つの文字列のリストに格納され、時間比較関数を定義することによって二つの日付の大小を比較し、左の日付が右の日付より大きい場合、‐1と出力し、等しい場合、0と出力し、さもなければ、1と出力する。比較関数によって該リストの中の時間文字列が降順に従って配列された後の最上面に位置する文字列を最新の年度審査の有効期限とする。
【0062】
図5に示すように、
図4に係るステップS12であり、選択された候補輪郭領域の中の各文字輪郭を抽出する詳しい実施フローチャートである。本実施形態の運転免許証有効期限自動抽出方法は、ブロック図に示すようなステップを限定するものではないことを理解できる。そのブロック図に示すステップの中のあるステップは省略でき、ステップの間の手順も変更することができる。
【0063】
ステップS21:前記文字抽出モジュール102は、選択された候補輪郭領域を単一チャネルのグレースケール画像に変換する。
【0064】
ステップS22:前記文字抽出モジュール102は、大津の閾値法(判別分析法)を採用してグレースケール画像を2値化し、グレースケール画像のグレースケール変化範囲0〜255を二値領域0〜1に変換して二値画像を得ることによって大部分の干渉背景を削除する。
【0065】
ステップS23:前記文字抽出モジュール102は、輪郭抽出関数を呼び出して二値画像の中の全ての輪郭を抽出し、例えば、前記輪郭抽出関数はfind contours関数とすることができる。
【0066】
ステップS24:前記文字抽出モジュール102は、予め設定された高さ及び予め設定された幅を有する輪郭を選択し、ここで、前記予め設定された高さは例えば33とすることができ、また、前記予め設定された幅は例えば20とすることができる。
【0067】
ステップS25:前記文字抽出モジュール102は、選択した輪郭の数量が予め設定された数量と等しいかどうかを解析し、例えば、選択した輪郭の数量は10であり、選択した輪郭の数量が予め設定された数量と等しくない場合、ステップS26を実行する。
【0068】
ステップS26:前記文字抽出モジュール102は、予め設定された高さ及び/又は予め設定された幅を予め設定された長さ(例えば、1)に従って逓増するか又は逓減し、例えば、予め設定された高さを34に調整し、及び/又は、予め設定された幅を21に調整し、上述したステップS24を実行する。
【0069】
選択した輪郭の数量が予め設定された数量と等しい場合、プロセスを終了する。
【0070】
上述したステップS24〜S26の目的は、文字分割を更に正確にすることである。一般的に、年度審査の有効期限における漢字と英文字がほぼ同じ高さ及び最小の幅を有し、高さ及び幅の二つの閾値条件に従って無関係な輪郭を削除する。同時に、各文字輪郭が算出された後に、年度審査の有効期限欄の文字の文字数が比較的固定であるため、年度審査の有効期限の文字輪郭の数量を統計することによってこの分割が成功したかどうかを判定することができる。文字輪郭の数量が間違った場合、例えば35のような他の文字高さ閾値と例えば22のような他の幅閾値を試すことによって正しい数量の文字輪郭を分割する必要がある。
【0071】
説明する必要があることは、上述した実施形態において、運転免許証の画像ファイルは端末装置によって提供されることを例として説明する。しかしながら、この技術分野の技術者が理解できることは、他の実施形態において、画像ファイルは、他の方式によって取得される。例えば、画像ファイルは、クラウドサーバー又はクラウドデータに格納されることができる。前記画像ファイルを取得する必要がある場合、ネットワークを介して前記画像ファイルを伝送することができる。勿論、他の実施形態において、この画像ファイルは、単独の記憶装置に格納されることができ、例えば、USBフラッシュディスクである。前記画像ファイルを取得する必要がある場合、前記記憶装置から直接的に読み取ることができる。
【0072】
理解できることは、上述した実施形態において、各ステップの番号の大小は実行順序を意味しない。各ステップの実行順序は、その機能と本質的な論理に基づいて確認され、本発明の実施形態の実施過程に限定されるものではない。
【0073】
説明する必要があることは、この技術分野の技術者が理解できることは、上述した実施形態の方法の中の全体又は一部分のステップを実行することは、ハードウェアを命令して完成することができ、プログラムによってハードウェアを命令して完成することもできる。前記プログラムは、コンピュータ読み取り可能な記憶媒体に格納され、前記コンピュータ読み取り可能な記憶媒体は、磁気ディスク、光ディスク、読み取り専用メモリなどのような不揮発性記憶媒体であることができる。
【0074】
最後に説明すべきであることは、以上の実施形態は、本発明の技術方案を説明するためだけであり、限定を構成するものではない。好ましい実施形態を参照して詳細に説明したが、この技術分野の技術者は、本発明の技術方案に対して様々な変更と同等の代替を行っても良く、本発明の精神と範囲を逸脱しないことを理解できる。