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

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

▶ 株式会社ワコムの特許一覧

特許7178864サイン検証装置、システム、方法及びプログラム
<>
  • 特許-サイン検証装置、システム、方法及びプログラム 図1
  • 特許-サイン検証装置、システム、方法及びプログラム 図2
  • 特許-サイン検証装置、システム、方法及びプログラム 図3
  • 特許-サイン検証装置、システム、方法及びプログラム 図4
  • 特許-サイン検証装置、システム、方法及びプログラム 図5
  • 特許-サイン検証装置、システム、方法及びプログラム 図6
  • 特許-サイン検証装置、システム、方法及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-17
(45)【発行日】2022-11-28
(54)【発明の名称】サイン検証装置、システム、方法及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20221118BHJP
【FI】
G06T7/00 570
【請求項の数】 10
(21)【出願番号】P 2018198334
(22)【出願日】2018-10-22
(65)【公開番号】P2020067696
(43)【公開日】2020-04-30
【審査請求日】2021-10-19
(73)【特許権者】
【識別番号】000139403
【氏名又は名称】株式会社ワコム
(74)【代理人】
【識別番号】100176072
【弁理士】
【氏名又は名称】小林 功
(74)【代理人】
【識別番号】100169225
【弁理士】
【氏名又は名称】山野 明
(72)【発明者】
【氏名】ニコラス ビクター メットイヤー
【審査官】真木 健彦
(56)【参考文献】
【文献】特表2018-520442(JP,A)
【文献】特開2007-334467(JP,A)
【文献】上平 裕太,組み合わせ分割照合法による日本語署名照合の高精度化,電気学会論文誌C Vol.134 No.12,日本,一般社団法人電気学会,2014年12月01日,Vol.134 No.12,P.1809-1816
【文献】Jarrod Trevathan,Online Payments Using Handwritten Signature Verification,2009 Sixth International Conference on Information Technology: New Generations,米国,IEEE,2009年04月27日,P.901-907
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 30/19
G06V 30/32
(57)【特許請求の範囲】
【請求項1】
ユーザのサイン時における筆記状態の時間変化を示す動的サインデータと、動的サイン用の参照データを比較して、前記ユーザのサインを検証する第1検証部と、
ユーザのサイン時における筆記の軌跡を示す静的サインデータと、静的サイン用の参照データを比較して、前記ユーザのサインを検証する第2検証部と、
同一のユーザから取得された複数の動的サインデータに基づいて前記動的サイン用の参照データを登録するとともに、同一のユーザから取得された複数の静的サインデータに基づいて前記静的サイン用の参照データを登録するデータ登録部と、
を備え、
前記第2検証部は、前記データ登録部により前記静的サイン用の参照データがまだ登録されていない場合、既に登録されている前記動的サイン用の参照データから生成した静的サインデータを前記静的サイン用の参照データとみなして前記ユーザのサインを検証することを特徴とするサイン検証装置。
【請求項2】
前記第2検証部は、前記動的サイン用の参照データが既に登録されている状態にて、前記データ登録部により前記静的サイン用の参照データが新たに登録された場合、前記動的サイン用の参照データから生成した静的サインデータに代えて、新たに登録された前記静的サイン用の参照データを用いて前記ユーザのサインを検証することを特徴とする請求項1に記載のサイン検証装置。
【請求項3】
前記データ登録部は、直近の登録時点から所定の時間が経過した場合、前記動的サイン用の参照データ又は前記静的サイン用の参照データの登録を解除することを特徴とする請求項1に記載のサイン検証装置。
【請求項4】
前記第1検証部は、前記動的サイン用の参照データとの一致度を示す第1スコアを算出することで前記ユーザのサインを検証し、
前記第2検証部は、前記静的サイン用の参照データとの一致度を示す第2スコアを算出することで前記ユーザのサインを検証し、
同一の動的サインデータに基づいて算出される前記第1スコアと前記第2スコアの差が小さくなるようにスコアを調整するスコア調整部をさらに備える
ことを特徴とする請求項1に記載のサイン検証装置。
【請求項5】
請求項1~4のいずれか1項に記載のサイン検証装置と、
サインを行うユーザと対応付けて前記動的サインデータ又は前記静的サインデータを入力可能に構成される1つ又は複数のサイン端末と、
を備えることを特徴とするサイン検証システム。
【請求項6】
ユーザのサイン時における筆記状態の時間変化を示す動的サインデータと、動的サイン用の参照データを比較して、前記ユーザのサインを検証する第1検証ステップと、
ユーザのサイン時における筆記の軌跡を示す静的サインデータと、静的サイン用の参照データを比較して、前記ユーザのサインを検証する第2検証ステップと、
同一のユーザから取得された複数の動的サインデータに基づいて前記動的サイン用の参照データを登録するとともに、同一のユーザから取得された複数の静的サインデータに基づいて前記静的サイン用の参照データを登録する登録ステップと、
を1つ又は複数のコンピュータが実行し、
前記第2検証ステップでは、前記静的サイン用の参照データがまだ登録されていない場合、既に登録されている前記動的サイン用の参照データから生成した静的サインデータを前記静的サイン用の参照データとみなして前記ユーザのサインを検証することを特徴とするサイン検証方法。
【請求項7】
前記第2検証ステップでは、前記動的サイン用の参照データが既に登録されている状態にて、前記静的サイン用の参照データが新たに登録された場合、前記動的サイン用の参照データから生成した静的サインデータに代えて、新たに登録された前記静的サイン用の参照データを用いて前記ユーザのサインを検証することを特徴とする請求項6に記載のサイン検証方法。
【請求項8】
前記登録ステップでは、直近の登録時点から所定の時間が経過した場合、前記動的サイン用の参照データ又は前記静的サイン用の参照データの登録を解除することを特徴とする請求項6に記載のサイン検証方法。
【請求項9】
前記第1検証ステップでは、前記動的サイン用の参照データとの一致度を示す第1スコアを算出することで前記ユーザのサインを検証し、
前記第2検証ステップでは、前記静的サイン用の参照データとの一致度を示す第2スコアを算出することで前記ユーザのサインを検証し、
同一の動的サインデータに基づいて算出される前記第1スコアと前記第2スコアの差が小さくなるようにスコアを調整する調整ステップをさらに備える
ことを特徴とする請求項6に記載のサイン検証方法。
【請求項10】
ユーザのサイン時における筆記状態の時間変化を示す動的サインデータと、動的サイン用の参照データを比較して、前記ユーザのサインを検証する第1検証ステップと、
ユーザのサイン時における筆記の軌跡を示す静的サインデータと、静的サイン用の参照データを比較して、前記ユーザのサインを検証する第2検証ステップと、
同一のユーザから取得された複数の動的サインデータに基づいて前記動的サイン用の参照データを登録するとともに、同一のユーザから取得された複数の静的サインデータに基づいて前記静的サイン用の参照データを登録する登録ステップと、
を1つ又は複数のコンピュータに実行させ、
前記第2検証ステップでは、前記静的サイン用の参照データがまだ登録されていない場合、既に登録されている前記動的サイン用の参照データから生成した静的サインデータを前記静的サイン用の参照データとみなして前記ユーザのサインを検証することを特徴とするサイン検証プログラム。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サイン検証装置、システム、方法及びプログラムに関する。
【背景技術】
【0002】
ユーザの手書きによるサインは、筆記の軌跡を示す「静的」なサインデータ、又は筆記状態の時間変化を示す「動的」なサインデータを用いて表現され得る。
【0003】
特許文献1には、動的サインデータを用いてユーザのサインを検証するサイン検証システムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】米国特許第9235748号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、上記したサインデータに対応する2種類のソフトウェアコンポーネントをそれぞれ導入すると、データの種類に応じてソフトウェアを使い分ける必要が生じ、その分だけユーザの利便性が低下してしまう。そこで、両方のサインデータにハイブリッドに対応可能な汎化サイン検証システム(General Signature Verification System;以下、「GSV」ともいう)の導入が望まれる。
【0006】
このGSVによるサイン検証を行う際、2種類の参照データをユーザ毎に準備する必要がある。参照データの登録方法として、例えば、同一のユーザがサインを行う度にサインデータを収集し、その中から典型的なサインデータを選択・登録することが挙げられる。手書きによるバラツキの発生を考慮すると、サインデータのサンプル数が多い方が検証の精度上より望ましい。
【0007】
今後、商取引に関する環境又は慣行の変化により動的サインデータを収集する事例が増えてくると、逆に、静的サインデータの方が収集しにくい状況が想定される。この場合、動的サイン用の参照データが先に登録されたとしても、静的サイン用の参照データが登録されない状態が続く限り、静的サインデータに対する検証を開始できないという問題が生じる。
【0008】
本発明の目的は、静的サイン用の参照データが未登録の状態であっても、静的サインデータに対する高精度な検証処理を実行可能なサイン検証装置、システム、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0009】
第1の本発明におけるサイン検証装置は、ユーザのサイン時における筆記状態の時間変化を示す動的サインデータと、動的サイン用の参照データを比較して、前記ユーザのサインを検証する第1検証部と、ユーザのサイン時における筆記の軌跡を示す静的サインデータと、静的サイン用の参照データを比較して、前記ユーザのサインを検証する第2検証部と、同一のユーザから取得された複数の動的サインデータに基づいて前記動的サイン用の参照データを登録するとともに、同一のユーザから取得された複数の静的サインデータに基づいて前記静的サイン用の参照データを登録するデータ登録部と、を備え、前記第2検証部は、前記データ登録部により前記静的サイン用の参照データがまだ登録されていない場合、既に登録されている前記動的サイン用の参照データから生成した静的サインデータを前記静的サイン用の参照データとみなして前記ユーザのサインを検証する。
【0010】
第2の本発明におけるサイン検証システムは、上記したサイン検証装置と、サインを行うユーザと対応付けて前記動的サインデータ又は前記静的サインデータを入力可能に構成される1つ又は複数のサイン端末と、を備える。
【0011】
第3の本発明におけるサイン検証方法は、ユーザのサイン時における筆記状態の時間変化を示す動的サインデータと、動的サイン用の参照データを比較して、前記ユーザのサインを検証する第1検証ステップと、ユーザのサイン時における筆記の軌跡を示す静的サインデータと、静的サイン用の参照データを比較して、前記ユーザのサインを検証する第2検証ステップと、同一のユーザから取得された複数の動的サインデータに基づいて前記動的サイン用の参照データを登録するとともに、同一のユーザから取得された複数の静的サインデータに基づいて前記静的サイン用の参照データを登録する登録ステップと、を1つ又は複数のコンピュータが実行し、前記第2検証ステップでは、前記静的サイン用の参照データがまだ登録されていない場合、既に登録されている前記動的サイン用の参照データから生成した静的サインデータを前記静的サイン用の参照データとみなして前記ユーザのサインを検証する。
【0012】
第4の本発明におけるサイン検証プログラムは、ユーザのサイン時における筆記状態の時間変化を示す動的サインデータと、動的サイン用の参照データを比較して、前記ユーザのサインを検証する第1検証ステップと、ユーザのサイン時における筆記の軌跡を示す静的サインデータと、静的サイン用の参照データを比較して、前記ユーザのサインを検証する第2検証ステップと、同一のユーザから取得された複数の動的サインデータに基づいて前記動的サイン用の参照データを登録するとともに、同一のユーザから取得された複数の静的サインデータに基づいて前記静的サイン用の参照データを登録する登録ステップと、を1つ又は複数のコンピュータに実行させ、前記第2検証ステップでは、前記静的サイン用の参照データがまだ登録されていない場合、既に登録されている前記動的サイン用の参照データから生成した静的サインデータを前記静的サイン用の参照データとみなして前記ユーザのサインを検証する。
【発明の効果】
【0013】
本発明によれば、静的サイン用の参照データが未登録の状態であっても、静的サインデータに対する高精度な検証処理を行うことができる。
【図面の簡単な説明】
【0014】
図1】本発明の一実施形態におけるサイン検証装置が組み込まれたサイン検証システムの全体構成図である。
図2図1に示すサイン検証装置の電気的なブロック図である。
図3図2の検証用データの構造の一例を示す図である。
図4】動的サイン検証に関する動作の説明に供されるフローチャートである。
図5】サインの一致度を評価する方法を模式的に示す図である。
図6】静的サイン検証に関する動作の説明に供されるフローチャートである。
図7図6のステップS20における調整パラメータの算出方法を模式的に示す図である。
【発明を実施するための形態】
【0015】
本発明におけるサイン検証装置、システム、方法及びプログラムについて、添付の図面を参照しながら説明する。なお、本発明は、以下の実施形態及び変形例に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。あるいは、技術的に矛盾が生じない範囲で各々の構成を任意に組み合わせてもよい。
【0016】
[サイン検証システム10の構成]
<全体構成>
図1は、本発明の一実施形態におけるサイン検証装置12が組み込まれたサイン検証システム10の全体構成図である。サイン検証システム10は、ユーザのサインを示すサインデータに対して所望の処理を施し、サインの真正性を検証するサービスを提供可能に構成されるシステムである。このサイン検証システム10は、サイン検証装置12と、サインに関するデータベース(以下、サインDB14という)と、業務サーバ16と、サイン端末18,20と、を含んで構成される。
【0017】
サイン検証装置12は、サインの検証に関する統括的な制御を行い、サインDB14にアクセス可能に構成されるコンピュータである。業務サーバ16は、サインを必要とする業務(例えば、金融業務)を支援するコンピュータである。サイン端末18,20は、サインを行うユーザと対応付けてサインデータを入力可能に構成される電子機器である。
【0018】
サイン端末18,20は、中継機器22及びネットワークNWを介して、サイン検証装置12と双方向に通信可能に接続されている。同様に、サイン端末18,20は、中継機器22及びネットワークNWを介して、業務サーバ16と双方向に通信可能に接続されている。これにより、サイン端末18,20は、サイン検証装置12又は業務サーバ16との間で、サインの検証に関するデータのやり取りが可能である。
【0019】
サイン端末18は、例えば、タブレット型端末、スマートフォン、パーソナルコンピュータで構成される電子機器である。ユーザは、スタイラス24を片手で把持し、タッチ面にペン先を押し当てながら移動させることで、電子文書26の署名欄に自身のサインを書き込むことができる。
【0020】
サイン端末20は、例えば、図示しないプリンタ及びスキャナが接続されたパーソナルコンピュータである。ユーザは、プリンタの印刷操作を行い、印刷された文書の署名欄に手書きでサインを書き込んだ後に、スキャナの読取操作を行う。これにより、サイン端末20は、紙文書28のスキャンデータを取得することができる。
【0021】
<概略的な動作>
以下、サイン検証システム10の概略的な動作、主にサイン端末18による電子署名について説明する。
【0022】
[1]まず、業務サーバ16は、サイン端末18からの要求指令を受け付けて未署名の電子文書26を発行し、発行IDを付した電子文書26を含むデータをサイン端末18に向けて送信する。そうすると、サイン端末18は、ネットワークNW及び中継機器22を経由し、電子文書26を受信して取得する。ここで、業務サーバ16は、サイン端末18から取得したユーザIDと、上記した発行IDを対応付けて記憶しておく。
【0023】
[2]サイン端末18は、電子文書26の表示中にスタイラス24を用いたユーザの筆記操作を受け付けると、ユーザのサインを示すサインデータを生成する。そして、サイン端末18は、電子文書26とサインデータを合成した「サイン済み文書」を作成する。
[3]サイン端末18は、自身が作成したサイン済み文書を含むデータをサイン検証装置12に向けて送信する。そうすると、サイン検証装置12は、中継機器22及びネットワークNWを経由し、サイン済み文書及び発行IDを受信して取得する。
[4]業務サーバ16は、サイン検証装置12からID問合せを受け付けると、電子文書26の発行IDに対応するユーザIDをサイン検証装置12に提供する。
【0024】
[5]サイン検証装置12は、ユーザIDに応じた検証用データ52(図2)をサインDB14から取得し、サイン済み文書に含まれるサインの真正性に関する検証処理を行う。これにより、サインの検証結果が得られる。
[6]サイン検証装置12は、サインの検証結果を示す結果データ54(図2)をサイン端末18に向けて送信するとともに、検証用データ52の更新情報をサインDB14に提供する。
[7]サイン端末18は、サイン検証装置12によりサインの真正性が検証された場合、サイン済み文書を含むデータを業務サーバ16に向けて送信する。
【0025】
以上のようにして、電子署名を伴う契約処理が完了する。一方、いわゆるアナログ署名を伴う契約処理を実行する場合、紙文書28を電子化したスキャンデータが用いられる。そのため、サイン済み文書の作成方法が異なるが、[3]以降については、上記した動作と基本的には同じである。
【0026】
<サイン検証装置12のブロック図>
図2は、図1に示すサイン検証装置12の電気的なブロック図である。このサイン検証装置12は、通信部30と、制御部32と、記憶部34と、を含んで構成される。
【0027】
通信部30は、外部装置に対して電気信号を送受信するための通信インターフェースである。これにより、サイン検証装置12は、ネットワークNWを経由して、業務サーバ16又はサイン端末18,20との間で様々なデータのやり取りが可能である。
【0028】
制御部32は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)を含む処理演算装置によって構成される。制御部32は、記憶部34に格納されたプログラムを読み出して実行することで、第1検証部36、第2検証部38、データ登録部40、ラスタライズ処理部42、及びスコア調整部44として機能する。
【0029】
記憶部34は、非一過性であり、かつ、コンピュータ読み取り可能な記憶媒体で構成されている。ここで、コンピュータ読み取り可能な記憶媒体は、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)を含む記憶装置、あるいは、光磁気ディスク、ROM、CD-ROM、フラッシュメモリ等の可搬媒体である。本図の例では、記憶部34には、動的サインデータ50d、静的サインデータ50s、ラスタ化サインデータ50r、検証用データ52、及び結果データ54がそれぞれ格納されている。
【0030】
なお、動的サインデータ50dは、電子署名におけるサインデータに相当し、例えば、FSS(Forensic Signature Store)を含む各種フォーマットに準拠するデータであってもよい。また、静的サインデータ50sは、アナログ署名におけるスキャンデータの一部に相当し、例えば、PNG(Portable Network Graphics)、BMP(Bitmap)、TIFF(Tagged Image File Format)、JPEG(Joint Photographic Experts Group)を含む各種フォーマットに準拠するデータであってもよい。
【0031】
<検証用データ52の一例>
図3は、図2の検証用データ52におけるデータ構造の一例を示す図である。この検証用データ52は、図1に示すサインDB14のレコード(データベースの構成単位)に相当する。この検証用データ52は、ユーザIDと、複数の動的サインデータ50dと、動的登録情報と、複数の静的サインデータ50sと、静的登録情報と、調整パラメータと、を含んで構成される。
【0032】
動的サインデータ50dは、ユーザのサイン時における筆記状態の時間変化を示すデータに相当し、スタイラス24から時系列的に取得される。つまり、動的サインデータ50dは、少なくとも指示位置(座標)を含む構造体データを、それらの取得順序と対応付けて保持する1次元配列あるいはリストデータである。この「筆記状態」には、各々のストローク形状(例えば、位置・勾配・曲率)のみならず、スタイラス24の状態(例えば、筆圧・傾き角度)が含まれてもよい。本図の例では、ユーザ毎に、最大N個の動的サインデータ50dが蓄積可能である。
【0033】
動的登録情報は、動的参照データ60d(動的サイン用の参照データ)の登録に関する情報である。この動的登録情報には、動的参照データ60dの登録有無を示す「登録フラグ」と、複数の動的サインデータ50dの中から動的参照データ60dを特定するための「登録番号」と、直近の登録時点を示す「最終登録日時」が含まれる。
【0034】
静的サインデータ50sは、ユーザのサイン時における筆記の軌跡(つまり、各々のストロークに関する幾何形状のみ)を示すデータに相当し、筆記の順序あるいは筆圧値等を含まない。静的サインデータ50sは、典型的には、矩形領域内の画素値の二次元配列を示す画像データである。本図の例では、ユーザ毎に、最大M個の静的サインデータ50sが蓄積可能である。
【0035】
静的登録情報は、静的参照データ60s(静的サイン用の参照データ)の登録に関する情報である。この静的登録情報には、静的参照データ60sの登録有無を示す「登録フラグ」と、複数の静的サインデータ50sの中から静的参照データ60sを特定するための「登録番号」と、直近の登録時点を示す「最終登録日時」が含まれる。
【0036】
調整パラメータは、第1スコアSc1と第2スコアSc2の差を調整するためのパラメータである。調整パラメータの一例として、後述するリンクエネルギーを算出する際、状態変数の誤差(例えば、残差2乗値)に乗算する重み付け係数が挙げられる。
【0037】
[サイン検証装置12の動作]
この実施形態におけるサイン検証システム10及びサイン検証装置12は、以上のように構成される。続いて、サイン検証装置12によるサイン検証動作について、図4図7を参照しながら説明する。
【0038】
このサイン検証装置12は、動的サインデータ50d及び静的サインデータ50sの両方に対応可能な汎化サイン検証(GSV)を実現する。つまり、サイン検証装置12は、[1]動的サインデータ50dを用いた動的サイン検証(DSV;Dynamic Signature Verification)及び[2]静的サインデータ50sを用いた静的サイン検証(SSV;Static Signature Verification)をそれぞれ実行可能に構成される。以下、動的サイン検証について図4のフローチャートを、静的サイン検証について図6のフローチャートを主に参照しながら詳細に説明する。
【0039】
<動的サイン検証(DSV)>
図4のステップS1において、制御部32は、サイン端末18からの動的サインデータ50dを取得したか否かを確認する。動的サインデータ50dをまだ取得していない場合(ステップS1:NO)、動的サインデータ50dを取得するまでステップS1に留まる。一方、動的サインデータ50dを取得した場合(ステップS1:YES)、次のステップS2に進む。
【0040】
ステップS2において、制御部32は、動的サインデータ50dと併せて取得したユーザIDを用いて、電子署名を行ったユーザを特定し、当該ユーザに対応する検証用データ52を取得する。
【0041】
ステップS3において、第1検証部36は、ステップS2で取得された検証用データ52(図3の例では「動的登録情報」の登録フラグ)を参照し、データ登録部40により動的参照データ60dが既に登録されているか否かを確認する。動的参照データ60dが既に登録されている場合(ステップS3:YES)、ステップS4に進む。
【0042】
ステップS4において、第1検証部36は、ステップS1で取得された動的サインデータ50dと、ステップS2で取得された動的参照データ60dを比較することで、動的サイン検証を行う。具体的には、第1検証部36は、両者のデータの一致度を示す第1スコアSc1を算出する。例えば、第1スコアSc1は、[0,1]の範囲で正規化され、値が1に近いほど一致度が高く、値が0に近いほど一致度が低くなるように定義される。
【0043】
図5は、サインの一致度を評価する方法を模式的に示す図である。図5の上側には、動的サインデータ50dが示す複数の特徴点62と、これらの特徴点62を順次接続してなるストローク64が表記されている。同様に、図5の下側には、動的参照データ60dが示す複数の特徴点62と、これらの特徴点62を順次接続してなるストローク64が表記されている。
【0044】
第1検証部36は、例えば、米国特許第9235748号明細書に開示される「リンクエネルギーに基づくSA(Simulated Annealing)法」を含む様々な手法を用いて、第1スコアSc1を算出してもよい。動的サイン検証の場合、リンクエネルギーは、例えば、ストローク形状を示す位置、勾配、曲率の他に、筆圧及び傾き角度のうち少なくとも一方を含む、複数の状態変数を用いて表現され得る。その結果、筆記状態が互いに類似する特徴点62の割合が多いほど第1スコアSc1が大きくなり、筆記状態が互いに類似する特徴点62の割合が少ないほど第1スコアSc1が小さくなる傾向がある。
【0045】
ステップS5において、サイン検証装置12は、ステップS4による検証結果を示す結果データ54を外部に出力する。例えば、サイン端末18は、サイン検証装置12からの結果データ54を受信した後、サインの検証結果(例えば、ユーザ情報、合否判定、第1スコアSc1、動的参照データ60dの登録状況など)を表示してもよい。そして、後述するステップS8に進む。
【0046】
ところで、図4のステップS3に戻って、データ登録部40により動的参照データ60dがまだ登録されていない場合(ステップS3:NO)、ステップS6に進む。
【0047】
なお、「まだ登録されていない」状態には、一度も登録条件を満たしたことがない場合のみならず、直近の登録時点から所定の時間(例えば、1か月、3か月、6か月)が経過したことがトリガとなって登録が一時的に解除された場合も含まれる。この解除には、ユーザの身体的変化に伴うサインの経時変化に起因して、偽陽性(false positive)が発生する頻度を低下させる効果がある。後述する図6のステップS13,S18についても同様である。
【0048】
ステップS6において、データ登録部40は、ステップS1にて動的サインデータ50dを新たに取得したことで、動的参照データ60dの登録条件を満たすようになったか否かを判定する。この登録条件は、例えば、同一のユーザによる動的サインデータ50dのサンプル数が閾値(好ましくは、3以上の正値)を上回ることが挙げられる。
【0049】
動的参照データ60dの登録条件をまだ満たさない場合(ステップS6:NO)、ステップS7の実行をスキップして、後述するステップS8に進む。一方、動的参照データ60dの登録条件を満たすようになった場合(ステップS6:YES)、次のステップS7に進む。
【0050】
ステップS7において、データ登録部40は、複数の動的サインデータ50dの中から統計的な中間値に相当する代表データを1つ選択し、動的参照データ60dとして登録する。例えば、データ登録部40は、n個の動的サインデータ50dを用いる場合、評価対象である一のデータと残りのデータとの間のすべての組み合わせで第1スコアSc1を算出し、得られた(n-1)個の第1スコアSc1の平均値が最大(又は、標準偏差が最小)となるデータを、動的参照データ60dとして登録してもよい。あるいは、データ登録部40は、複数の動的サインデータ50dのうち、取得時点が新しいデータほど選択されやすく、取得時点が古いデータほど選択されにくくしてもよい。
【0051】
そして、ステップS3に戻って、動的参照データ60dが新たに登録されたので(ステップS3:YES)、以下、ステップS4,S5,S8の順に進む。
【0052】
ステップS8において、データ登録部40は、ステップS3~S7の処理結果に応じて検証用データ52を更新する。「ステップS5」又は「ステップS6:NO」を経由した場合、データ登録部40は、現時点の検証用データ52のうち、ステップS1で取得された最新の動的サインデータ50dを追加する更新処理を行う。「ステップS7」を経由した場合、データ登録部40は、現時点の検証用データ52のうち、最新の動的サインデータ50dを追加するとともに、動的登録情報の内容を変更する更新処理を行う。
【0053】
このようにして、サイン検証装置12は、図4に示すフローチャートを逐次実行することで、サイン端末18から入力された動的サインデータ50dの検証(つまり、動的サイン検証)を行うことができる。
【0054】
<静的サイン検証(SSV)>
図6のステップS11において、制御部32は、サイン端末20からの静的サインデータ50sを取得したか否かを確認する。静的サインデータ50sをまだ取得していない場合(ステップS11:NO)、静的サインデータ50sを取得するまでステップS11に留まる。一方、静的サインデータ50sを取得した場合(ステップS11:YES)、次のステップS12に進む。
【0055】
ステップS12において、制御部32は、静的サインデータ50sと併せて取得したユーザIDを用いて、アナログ署名を行ったユーザを特定し、当該ユーザに対応する検証用データ52を取得する。
【0056】
ステップS13において、第2検証部38は、ステップS12で取得された検証用データ52(図3の例では「静的登録情報」の登録フラグ)を参照し、静的参照データ60sが既に登録されているか否かを確認する。静的参照データ60sが既に登録されている場合(ステップS13:YES)、ステップS14に進む。
【0057】
ステップS14において、第2検証部38は、ステップS11で取得された静的サインデータ50sと、ステップS12で取得された静的参照データ60sを比較することで、静的サイン検証を行う。具体的には、第2検証部38は、両者のデータの一致度を示す第2スコアSc2を算出する。ここで、第2スコアSc2は、第1スコアSc1の場合と同様に[0,1]の範囲で正規化され、値が1に近いほど一致度が高く、値が0に近いほど一致度が低くなるように定義される。
【0058】
図5に戻って、本図の上側には静的サインデータ50sが示すストローク64が、本図の下側には静的参照データ60sが示すストローク64がそれぞれ表記されている。第2スコアSc2の算出に先立ち、第2検証部38は、ストローク64上にある複数の特徴点62を決定する処理を行う。例えば、第2検証部38は、ストローク64の特徴を示す特徴ライン(例えば、輪郭線や中心線)を抽出し、特定の関数形状(例えば、円弧や多項式)からなる複数の線要素を用いて特徴ラインを近似し、線要素の接続点(始点及び終点)を特徴点62として決定してもよい。
【0059】
そして、第2検証部38は、リンクエネルギーの定義を変更しつつ第1スコアSc1と同様の手法により、第2スコアSc2を算出してもよい。静的サイン検証の場合、リンクエネルギーは、例えば、特徴ラインの形状を示す位置、勾配、曲率を含む、複数の状態変数を用いて表現され得る。その結果、ストローク形状が互いに類似する特徴点62の割合が多いほど第2スコアSc2が大きくなり、ストローク形状が互いに類似する特徴点62の割合が少ないほど第2スコアSc2が小さくなる傾向がある。
【0060】
ステップS15において、サイン検証装置12は、ステップS14による検証結果を示す結果データ54を外部に出力する。例えば、サイン端末20は、サイン検証装置12からの結果データ54を受信した後、サインの検証結果(例えば、ユーザ情報、合否判定、第2スコアSc2、静的参照データ60sの登録状況など)を表示してもよい。そして、後述するステップS21に進む。
【0061】
ところで、図6のステップS13に戻って、データ登録部40により静的参照データ60sがまだ登録されていない場合(ステップS13:NO)、ステップS16に進む。
【0062】
ステップS16において、データ登録部40は、ステップS11にて静的サインデータ50sを新たに取得したことで、静的参照データ60sの登録条件を満たすようになったか否かを判定する。この登録条件は、例えば、同一のユーザによる静的サインデータ50sのサンプル数が閾値(好ましくは、3以上の正値)を上回ることが挙げられる。
【0063】
静的参照データ60sの登録条件をまだ満たさない場合(ステップS16:NO)、ステップS17の実行をスキップして、後述するステップS21に進む。一方、静的参照データ60sの登録条件を満たすようになった場合(ステップS16:YES)、次のステップS17に進む。
【0064】
ステップS17において、データ登録部40は、複数の静的サインデータ50sの中から統計的な中間値に相当する代表データを1つ選択し、静的参照データ60sとして登録する。例えば、データ登録部40は、m個の静的サインデータ50sを用いる場合、評価対象である一のデータと残りのデータとの間のすべての組み合わせで第2スコアSc2を算出し、得られた(m-1)個の第2スコアSc2の平均値が最大(又は、標準偏差が最小)となるデータを、静的参照データ60sとして登録してもよい。あるいは、データ登録部40は、複数の静的サインデータ50sのうち、直近に取得されたデータを優先的に静的参照データ60sとして登録してもよい。
【0065】
そして、ステップS13に戻って、静的参照データ60sが新たに登録されたので(ステップS13:YES)、以下、ステップS14,S15,S21の順に進む。
【0066】
ところで、図6のステップS16に戻って、静的参照データ60sの登録条件を満たさない場合(ステップS16:NO)、ステップS18に進む。
【0067】
ステップS18において、第2検証部38は、ステップS12で取得された検証用データ52(図3の例では「動的登録情報」の登録フラグ)を参照し、データ登録部40により動的参照データ60dが既に登録されているか否かを確認する。動的参照データ60dがまだ登録されていない場合(ステップS18:NO)、後述するステップS21に進む。一方、動的参照データ60dが既に登録されている場合(ステップS18:YES)、次のステップS19に進む。
【0068】
ステップS19において、ラスタライズ処理部42は、ステップS18にて登録が確認された動的参照データ60dに対してラスタライズ処理を施し、静的参照データ60sと同一のデータ形式を有する暫定参照データ60rを生成する。ステップS20において、スコア調整部44は、少なくとも暫定参照データ60rを用いて、第1スコアSc1と第2スコアSc2の間の得点調整を行うための調整パラメータを算出する。以下、調整パラメータの算出方法について、図7を参照しながら詳細に説明する。
【0069】
[1]まず、図7に示すように、同一のユーザから収集した複数の動的サインデータ50dを準備する。そして、第1検証部36は、動的サインデータ50dと動的参照データ60dをそれぞれ比較して、複数の第1スコアSc1を算出する。
【0070】
[2]次いで、ラスタライズ処理部42は、動的参照データ60dに対してラスタライズ処理を施し、暫定参照データ60rを生成する。同様に、ラスタライズ処理部42は、複数の動的サインデータ50dに対してラスタライズ処理を施し、複数のラスタ化サインデータ50rを生成する。
【0071】
[3]次いで、第2検証部38は、ラスタ化サインデータ50rと暫定参照データ60rをそれぞれ比較して、複数の第2スコアSc2を算出する。つまり、動的サインデータ50dのサンプル数に応じた第2スコアSc2がそれぞれ算出される。
【0072】
[4]最後に、スコア調整部44は、複数セットの得点(Sc1,Sc2)の関係に基づいて、両者のスコアが近づくように調整パラメータ(例えば、重み付け係数の補正量)を算出する。具体的には、筆圧に起因してスコア間の乖離が大きくなっている場合、筆圧に対応する重み付け係数を相対的に小さくする補正量を求めることで、リンクエネルギーに対する筆圧の寄与度を低下させてもよい。
【0073】
ステップS20の実行後、第2検証部38は、まだ登録されていない静的参照データ60sの代わりに暫定参照データ60rを用いて比較し、調整パラメータにより調整された第2スコアSc2を算出する(ステップS14)。そして、検証結果の出力(ステップS15)を経てステップS21に進む。
【0074】
ステップS21において、データ登録部40は、ステップS13~S20の処理結果に応じて検証用データ52を更新する。「ステップS13:YES」又は「ステップS18:NO」を経由した場合、データ登録部40は、現時点の検証用データ52のうち、ステップS11で取得された最新の静的サインデータ50sを追加する更新処理を行う。「ステップS18:YES」を経由した場合、データ登録部40は、現時点の検証用データ52のうち、最新の静的サインデータ50sを追加するとともに、調整パラメータを変更する更新処理を行う。「ステップS17」を経由した場合、データ登録部40は、現時点の検証用データ52のうち、最新の静的サインデータ50sを追加するとともに、静的登録情報の内容を変更する更新処理を行う。
【0075】
このようにして、サイン検証装置12は、図6に示すフローチャートを逐次実行することで、サイン端末20から入力された静的サインデータ50sの検証(つまり、静的サイン検証)を行うことができる。
【0076】
[この実施形態による効果]
以上のように、サイン検証装置12は、ユーザのサイン時における筆記状態の時間変化を示す動的サインデータ50dと動的参照データ60dを比較して、ユーザのサインを検証する第1検証部36と、ユーザのサイン時における筆記の軌跡を示す静的サインデータ50sと静的参照データ60sを比較して、ユーザのサインを検証する第2検証部38と、同一のユーザから取得された複数の動的サインデータ50dに基づいて動的参照データ60dを登録するとともに、同一のユーザから取得された複数の静的サインデータ50sに基づいて静的参照データ60sを登録するデータ登録部40を備える。第2検証部38は、静的参照データ60sがまだ登録されていない場合、既に登録されている動的参照データ60dから生成した暫定参照データ60rを静的参照データ60sとみなしてユーザのサインを検証する。
【0077】
また、サイン検証システム10は、上記したサイン検証装置12と、サインを行うユーザと対応付けて動的サインデータ50d又は静的サインデータ50sを入力可能に構成される1つ又は複数のサイン端末18,20と、を備える。
【0078】
また、サイン検証方法及びサイン検証プログラムによれば、1つ又は複数のコンピュータが、動的サインデータ50dと動的参照データ60dを比較して、ユーザのサインを検証する第1検証ステップ(図4のS4)と、静的サインデータ50sと静的参照データ60sを比較して、ユーザのサインを検証する第2検証ステップ(図6のS14)と、同一のユーザから取得された複数の動的サインデータ50dに基づいて動的参照データ60dを登録するとともに、同一のユーザから取得された複数の静的サインデータ50sに基づいて静的参照データ60sを登録する登録ステップ(図4のS7、図6のS17)を備える。第2検証ステップ(図6のS14)では、静的参照データ60sがまだ登録されていない場合、既に登録されている動的参照データ60dから生成した暫定参照データ60rを静的参照データ60sとみなしてユーザのサインを検証する。
【0079】
このように構成することで、同一のユーザから取得された複数の動的サインデータ50dに基づいて既に登録されている、検証基準としての信頼性が高い動的参照データ60dを用いて未登録の静的参照データ60sを補完可能となり、静的参照データ60sが未登録の状態であっても、静的サインデータ50sに対する高精度な検証処理を行うことができる。
【0080】
また、第2検証部38は、動的参照データ60dが既に登録されている状態にて、静的参照データ60sが新たに登録された場合、暫定参照データ60rに代えて、新たに登録された静的参照データ60sを用いてユーザのサインを検証してもよい。これにより、両方の参照データに互いに影響されることなく独立して2種類の検証処理を行うことができる。
【0081】
また、データ登録部40は、直近の登録時点から所定の時間が経過した場合、動的参照データ60d又は静的参照データ60sの登録を解除してもよい。この場合、登録の解除後から再登録までの余白時間が生じ得るため、上記した補完効果がより顕著に現われる。
【0082】
また、第1検証部36は、動的参照データ60dとの一致度を示す第1スコアSc1を算出することでユーザのサインを検証し、第2検証部38は、静的参照データ60sとの一致度を示す第2スコアSc2を算出することでユーザのサインを検証し、同一の動的サインデータ50dに基づいて算出される第1スコアSc1と第2スコアSc2の差が小さくなるようにスコアを調整するスコア調整部44をさらに備えてもよい。これにより、2種類の検証処理における結果の整合性がより高くなる。
【0083】
[備考]
なお、上記した実施形態では、データ登録部40により静的参照データ60sがまだ登録されていない場合、暫定参照データ60rを用いてサインの検証を行っているが、この逆の場合もあり得る。つまり、第1検証部36は、データ登録部40により動的参照データ60dがまだ登録されていない場合、既に登録されている静的参照データ60sから生成した暫定参照データを動的参照データ60dとみなしてサインを検証してもよい。
【符号の説明】
【0084】
10 サイン検証システム、12 サイン検証装置、18,20 サイン端末、30 通信部、32 制御部、34 記憶部、36 第1検証部、38 第2検証部、40 データ登録部、50d 動的サインデータ、50r ラスタ化サインデータ、50s 静的サインデータ、52 検証用データ、60d 動的参照データ(動的サイン用の参照データ)、60s 静的参照データ(静的サイン用の参照データ)、60r 暫定参照データ、Sc1 第1スコア、Sc2 第2スコア。
図1
図2
図3
図4
図5
図6
図7