(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】プログラム、真贋判定方法及び真贋判定装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20241126BHJP
B42D 25/324 20140101ALI20241126BHJP
B42D 25/328 20140101ALI20241126BHJP
【FI】
G06T7/00 350C
B42D25/324
B42D25/328
(21)【出願番号】P 2024026182
(22)【出願日】2024-02-26
【審査請求日】2024-06-04
【早期審査対象出願】
(73)【特許権者】
【識別番号】511249637
【氏名又は名称】株式会社Cygames
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】倉林 修一
【審査官】長谷川 素直
(56)【参考文献】
【文献】国際公開第2023/214546(WO,A1)
【文献】特開2001-092916(JP,A)
【文献】特開2002-008089(JP,A)
【文献】特開2023-166847(JP,A)
【文献】特表2022-522726(JP,A)
【文献】特表2017-520864(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06K 19/00
G06N 20/00
B42D 25/324
B42D 25/328
(57)【特許請求の範囲】
【請求項1】
所定面からの反射光の反射状態を変化させることが可能な加工が前記所定面に対して加えられたカード媒体の真贋を判定するプログラムであって、
カメラが撮影する前記カード媒体の動画像の撮影角度を異ならせるためのガイドを端末装置の画面に表示させ、前記ガイドの表示位置を少なくとも1回以上変化させる表示制御手順と、
前記ガイドが表示された状態において前記カメラによって撮影された前記カード媒体の動画像データに含まれる、前記カード媒体の所定面からの反射光の時系列情報に基づいて、前記カード媒体の真贋を判定する判定手順と、を、
コンピューターに実行させるためのプログラム。
【請求項2】
前記判定手順は、前記動画像データに含まれる、前記反射光の時系列情報と、真作の前記カード媒体を撮影して得られた動画像データに含まれる、前記所定面からの反射光の時系列情報と、に基づいて、前記カード媒体の真贋を照合する手順を含む
請求項1に記載のプログラム。
【請求項3】
前記判定手順は、前記照合を、前記動画像データを入力とし、前記カード媒体の真贋の判定結果を出力する機械学習モデルに行わせる手順を含む
請求項2に記載のプログラム。
【請求項4】
前記機械学習モデルの学習データは、前記ガイドに基づいて撮影された真作の前記カード媒体の動画像データに含まれる、前記所定面からの反射光の時系列情報を
含む学習データである
請求項3に記載のプログラム。
【請求項5】
前記
機械学習モデルは、空間情報に加えて時間軸情報を有するニューラルネットワークによって構築される
請求項4に記載のプログラム。
【請求項6】
前記判定手順は、前記カード
媒体の真偽を判定する第2判定処理に先立って、前記カメラから送信された前記動画像データから抽出した特徴点の移動ベクトルと、前記端末装置が備える慣性センサから取得された複数の座標軸方向における各移動ベクトルとを照合することにより、前記カメラが物理的な前記カード媒体を撮影しているか否かを判定する第1判定を行う手順を含む
請求項5に記載のプログラム。
【請求項7】
前記判定手順は、前記第1判定を、前記カメラから送信された前記動画像データから抽出した特徴点の移動ベクトルと、前記慣性センサから取得された移動ベクトルとのが同時に同じ方向に移動しているか否かを判定することにより行う
請求項6に記載のプログラム。
【請求項8】
前記カメラによって撮影された動画像内より、前記カード
媒体に対応するカード領域を抽出し、抽出したカード領域の動画像における縦横のピクセル数を、前記
機械学習モデルへの入力に適した固定長のピクセル数に正規化する正規化部をさらに備える
請求項7に記載のプログラム。
【請求項9】
前記表示制御手順は、前記ガイドとして、前記端末
装置の画面での前記カード媒体の表示位置を指定する画像を、前記端末装置の画面に表示させる手順を含む
請求項5に記載のプログラム。
【請求項10】
前記表示制御手順は、前記カード媒体の表示位置を指定する画像によって示される前記カード媒体の表示位置に前記カード媒体の枠部分が収まったと判定した場合に、前記画面における前記カード媒体の表示位置を指定する画像の表示位置を、表示していた位置とは異なる位置に変更させる手順を含む
請求項9に記載のプログラム。
【請求項11】
前記カード媒体の所定面に施された加工により、複数の異なる入射角からの入射光に対応する前記所定面からの各反射光の反射パターンはそれぞれ異なる
請求項1-10のいずれか一項に記載のプログラム。
【請求項12】
前記所定面への加工は、前記カード媒体の第1面に印刷された透明なニスにより凹凸部を形成する加工を含む
請求項11に記載のプログラム。
【請求項13】
所定面からの反射光の反射状態を変化させることが可能な加工が前記所定面に対して加えられたカード媒体の真贋を判定する真贋判定であって、
カメラが撮影する前記カード媒体の動画像の撮影角度を異ならせるためのガイドを端末装置の画面に表示させ、前記ガイドの表示位置を少なくとも1回以上変化させる表示制御手順と、
前記ガイドが表示された状態において前記カメラによって撮影された前記カード媒体の動画像データに含まれる、前記カード媒体の所定面からの反射光の時系列情報に基づいて、前記カード媒体の真贋を判定する判定手順と、を、含む
真贋判定方法。
【請求項14】
所定面からの反射光の反射状態を変化させることが可能な加工が前記所定面に対して加えられたカード媒体の真贋を判定する真贋装置であって、
カメラが撮影する前記カード媒体の動画像の撮影角度を異ならせるためのガイドを端末装置の画面に表示させ、前記ガイドの表示位置を少なくとも1回以上変化させる表示制御部と、
前記ガイドが表示された状態において前記カメラによって撮影された前記カード媒体の動画像データに含まれる、前記カード媒体の所定面からの反射光の時系列情報に基づいて、前記カード媒体の真贋を判定する判定部と、を、備える
真贋判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、真贋判定方法及び真贋判定装置に関する。
【背景技術】
【0002】
従来、トレーディングカードゲームに用いられるカードの真贋を判定する技術として、様々な技術が考案されている。例えば、真贋判定用の情報を格納したNFC(Near Field Communication)チップをカードに埋め込み、NFCタグリーダーで該情報を読み取ることにより、カードの真贋判定を行う技術が知られている。この技術を用いることにより、カードの真贋を高精度に判定することができる。しかし、NFCのチップの製造単価は高いため、カードにNFCチップを搭載することによりカードの製造コストが増大してしまう。
【0003】
また、広角を撮影可能な顕微鏡などのハードウェアを用いて、マーカー等が付与されていない商品の真贋判定を行う技術も知られている。非特許文献1には、モバイル機器と互換性のある、広角を撮影可能な顕微鏡カメラによって撮影された物理的な商品の撮影画像に基づいて、機械学習のアルゴリズムを用いて、商品の真贋を判定する技術が開示されている。しかし、非特許文献1に記載の技術は、広角の顕微鏡を周辺機器としてモバイル機器に接続する必要があるため、一般のユーザが家庭においてこの技術を用いて真贋判定を行うことは難しい。
【0004】
また、ホログラムや特殊バーコードなどのマーカーを真贋判定対象の商品に付与して、それをソフトウェアで読み取ることにより、商品の真贋を判定する方式も知られている。例えば、テーマパークのチケット等においては、チケットにホログラムを印刷し、該ホログラムをソフトウェアで読み取ることによりチケットを認証する技術が実用化されている(非特許文献2参照)。この技術は、新規に製品を作成する場合や、マーカーの付与が商品の魅力を損なわない場合に有効である。しかし、審美性が要求されるカードであり、かつ、既存のカードが真贋判定の対象である場合、該カードにホログラムが付与されることにより、カードの美観が損なわれる可能性がある。
【先行技術文献】
【特許文献】
【0005】
【文献】Ashlesh Sharma, Vidyuth Srinivasan, Vishal Kanchan, and Lakshminarayanan Subramanian. 2017. The Fake vs Real Goods Problem: Microscopy and Machine Learning to the Rescue. In Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD '17). Association for Computing Machinery, New York, NY, USA, 2011-2019. https://doi.org/10.1145/3097983.3098186
【文献】Oumayma Kada, Camille Kurtz, Cuong van Kieu, and Nicole Vincent. 2022. Hologram Detection for Identity Document Authentication. In Pattern Recognition and Artificial Intelligence: Third International Conference, ICPRAI 2022, Paris, France, June 1-3, 2022, Proceedings, Part I. Springer-Verlag, Berlin, Heidelberg, 346-357. https://doi.org/10.1007/978-3-031-09037-0_29
【発明の概要】
【発明が解決しようとする課題】
【0006】
また、ソフトウェアを用いた真贋判定方法としては、出願人が考案した「ビジュアルチェックイン」と称される技術が知られている。ビジュアルチェックインの技術は、ユーザがテレビ番組、ポスター、商品の外観などをスマートフォンのカメラで撮影することによって、ゲーム内の報酬(リワード)を取得することを可能とする技術である。ビジュアルチェックインの技術を用いた真贋判定装置は、カメラ画像内の所定の位置に認識対象となるテンプレート画像を捉えた場合、該画像の局所特徴量を示す点である特徴点を認識し、その特徴点の位置関係の情報を用いて、画像とテンプレートとの一致性を判定する。この特徴点を用いたマッチング手法は、光源の位置や照明の色などの環境要因からの影響を受けにくく、また、カメラの機種やレンズ特性などにも依存しない。
【0007】
しかしながら、現状のビジュアルチェックインの技術は、ポスターのような特定の場所に固定的に設置される掲示物を撮影の対象としている。したがって、トレーディングカードゲームのような移動可能なカードの認証には、ビジュアルチェックインの技術は適していない。
【0008】
本発明の目的は、このような状況に鑑みて成されたものであり、真贋判定用デバイス等を使用することなく、カード媒体の真贋を判定できるようにすることにある。
【課題を解決するための手段】
【0009】
本発明に係るプログラムは、所定面からの反射光の反射状態を変化させることが可能な加工が前記所定面に対して加えられたカード媒体の真贋を判定するプログラムである。本発明に係るプログラムは、カメラが撮影するカード媒体の動画像の撮影角度を異ならせるためのガイドを端末装置の画面に表示させ、ガイドの表示位置を少なくとも1回以上変化させる表示制御手順と、ガイドが表示された状態においてカメラによって撮影されたカード媒体の動画像データに含まれる、カード媒体の所定面からの反射光の時系列情報に基づいて、カード媒体の真贋を判定する判定手順と、を、コンピューターに実行させる。
【発明の効果】
【0010】
本発明によれば、真贋判定用デバイス等を使用することなく、カード媒体の真贋を判定できるようになる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】本発明の一実施形態に係る真贋判定システムの概要を示す全体構成図である。
【
図2】本発明の一実施形態に係る真贋判定システムを構成するサーバ及び端末装置の各ハードウェア構成例を示すブロック図である。
【
図3】本発明の一実施形態に係る真贋判定システムの機能構成を示すブロック図である。
【
図4】本発明の一実施形態に係るガイド枠表示処理部によるガイド枠の表示処理に基づくガイド枠の表示例を示す図である。
【
図5】本発明の一実施形態に係るカメラによるカードの撮影角度の変化の例を示す図である。
【
図6】本発明の一実施形態に係る真贋判定システムによる真贋判定処理の手順の例を示すフローチャートである。
【
図7】本発明の一実施形態に係るガイド枠表示処理部によるガイド枠表示処理の手順の例を示すフローチャートである。
【
図8】本発明の一実施形態に係る第1判定部による第1判定処理の手順の例を示すフローチャートである。
【
図9】本発明の一実施形態に係る第2判定部による第2判定処理の手順の例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【0013】
[一実施形態]
<真贋判定システムの概要>
図1は、本発明の一実施形態に係る真贋判定システム100の概要を示す全体構成図である。
真贋判定システム100は、トレーディングカードゲームに用いられるカード(カード媒体の一例)が真作(正規品)か贋作(非正規品)かの真贋判定を行うシステムである。真贋判定システム100は、サーバ1、スマートフォン2A及びPC(Personal Computer)2Bを備える。スマートフォン2A及びPC2Bは、インターネット等のネットワークNを介してサーバ1に接続可能である。以下の説明では、スマートフォン2A及びPC2Bを端末装置2と総称する。なお、端末装置2としてゲーム専用端末が用いられてもよい。
【0014】
真贋判定システム100による真贋判定の対象となるカードCd(
図4参照)は、表面(所定面の一例)にホログラム加工及びエンボス加工(凹凸加工の一例)が施されたカードである。真贋判定システム100の端末装置2は、端末装置2が備えるカメラ26(
図2参照)がカードを撮影することにより得られる情報に基づいて、カードの真贋判定を行う。
【0015】
本実施形態に係る真贋判定システム100は、カメラ26がカードを撮影することにより得られる情報として、端末装置2のカメラ26の撮影角度に応じたカードからの反射光の変化の情報等を用いる。また、本実施形態に係る端末装置2は、カードの撮影中に端末装置を上下左右等の各方向に動かすことを促すガイド枠、すなわち、カメラ26によるカードの撮影角度を変化させるためのガイド枠を表示装置30の画面に表示させることにより、カードからの反射光の反射パターンを変化させる。
【0016】
そして、端末装置2は、カードの真贋判定処理として、第1判定処理及び第2判定処理を行う。端末装置2は、第1判定において、端末装置2が備える6軸センサ27(
図3参照)の移動ベクトルと、カメラ26の撮影画像から抽出した特徴点の移動ベクトルとが同時に同じ方向に変化することをキーとして、端末装置2のカメラ26が物理的なカードを撮影しているか否かを判定する。
【0017】
また、端末装置2は、第2判定において、第1判定の実行時に録画された動画像に含まれる、カードからの反射光の反射パターンの時間方向における変化の情報、すなわち、カードからの反射光の時系列情報に基づいて、カードの真贋を判定する。端末装置2は、第2判定を、学習済みの機械学習モデル102a(
図3参照、以下、単に「学習モデル」とも称する)を用いて行う。
【0018】
サーバ1は、端末装置2による第1判定に用いられるマスタ画像、及び、第2判定に用いられる学習モデル102aを管理する装置である。サーバ1は、所定の周期毎にマスタ画像を端末装置2に送信することにより、端末装置2に保存されたマスタ画像を、サーバ1で管理されるマスタ画像と同期させる。また、サーバ1は、所定の周期毎に学習モデルを端末装置2に送信することにより、端末装置2に保存された学習モデルを、サーバ1で管理されるマスタ画像と同期させる。
【0019】
端末装置2は、真贋判定装置の一例である。端末装置2の不揮発性ストレージ31(
図2参照)には、本実施形態に係る真贋判定処理を実施させるためのプログラムを含むアプリケーション(図示略)が格納されている。端末装置2の制御部20(
図2参照)は、ユーザによる操作に基づいてアプリケーションを起動させ、不揮発性ストレージ31に記録されたプログラムを読み込むことにより所定の処理を行う。
【0020】
所定の処理は、上述の第1判定、第2判定等の処理を含む。また、所定の処理は、端末装置2の制御部20は、表示装置30の画面におけるカードの表示位置を指定するガイド枠の画像(以下、単に「ガイド枠」とも称する)を、表示装置30の画面に表示させる処理を含む。さらに、所定の処理は、ガイド枠にカードの表示位置を合わせこむ動作をユーザが行っている状態においてカメラ26に映る情報を、動画像として録画する処理を含む。
【0021】
入力装置29は、ユーザより入力される操作に応じた操作信号を生成して、該操作信号を制御部20に供給する。
表示装置30は、制御部20による制御に基づいて、画面にガイド枠等を表示させる。
【0022】
<真贋判定システムのハードウェア構成例>
次に、
図2を参照して、本発明の一実施形態に係る真贋判定システム100のハードウェア構成例について説明する。
図2は、真贋判定システム100を構成するサーバ1及び端末装置2の各ハードウェア構成例を示すブロック図である。
【0023】
(サーバの構成例)
サーバ1は、コンピューターとして動作する計算機の一例である。このサーバ1は、バスB1にそれぞれ接続された制御部10、不揮発性ストレージ15及びネットワークインターフェース16を備える。
【0024】
制御部10は、CPU(Central Processing Unit)11、GPU(Graphics Processing Unit)12、ROM(Read Only Memory)13及びRAM(Random Access Memory)14を備える。なお、制御部10は、FPGA(Field Programmable Gate Array)で構成されてもよい。
【0025】
CPU11は、本実施の形態に係る各機能を実現するソフトウェアのプログラムコードをROM13から読み出し、RAM14にロードして実行する。RAM14には、CPU11の演算処理の途中で発生した変数やパラメーター等が一時的に書き込まれる。RAM14に書き込まれたこれらの変数やパラメーター等は、CPU11によって適宜読み出される。
GPU12は、画像の描画を行う場合に必要な計算処理を行う。
【0026】
不揮発性ストレージ15としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、Blu-ray(登録商標)ディスク、フレキシブルディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ又は不揮発性のメモリ等が用いられる。この不揮発性ストレージ15には、OS(Operating System)、各種のパラメーターの他に、サーバ1を機能させるためのプログラムが記録されている。サーバ1を機能させるためのプログラムは、ROM12に記憶されてもよい。つまり、ROM12及び不揮発性ストレージ15は、サーバ1によって実行されるプログラムを格納したコンピューター読取可能な非一過性の記録媒体の一例として用いられる。
【0027】
また、不揮発性ストレージ15には、マスタ画像が格納されるマスタ画像DB(Database)101(
図3参照)が形成される。また、不揮発性ストレージ15には、学習モデル102aを記憶する学習モデルDB102(
図3参照)が形成される。
【0028】
ネットワークインターフェース15には、例えば、NIC(Network Interface Card)等が用いられる。ネットワークインターフェース15は、NICの端子に接続された専用線等を介し、ネットワークNを経由して、端末装置2との間で各種データを送受信する。
【0029】
(端末装置の構成例)
端末装置2は、各種のプログラムを実行可能なコンピューターとして動作する計算機の一例である。この端末装置2は、バスB2にそれぞれ接続された制御部20、ネットワークインターフェース25、カメラ26、6軸センサ27、入出力インターフェース27、入力装置29、表示装置30及び不揮発性ストレージ31を備える。
【0030】
制御部20は、CPU21、ROM23及びRAM24を備える。なお、制御部20はGPUを含んでもよく、FPGAとして構成されてもよい。
【0031】
CPU21は、本実施の形態に係る各機能を実現するソフトウェアのプログラムコードをROM23から読み出し、RAM24にロードして実行する。RAM24には、CPU21の演算処理の途中で発生した変数やパラメーター等が一時的に書き込まれる。RAM24に書き込まれたこれらの変数やパラメーター等は、CPU21によって適宜読み出される。CPU21は、端末装置2におけるOSの処理、端末装置2内の各部で行われるデータの入出力の管理等の処理を行う。
GPU22は、画像の描画を行う場合に必要な計算処理を行う。
【0032】
ネットワークインターフェース25には、例えば、NIC等が用いられる。ネットワークインターフェース25は、NICの端子に接続されたLAN、専用線等を介してサーバ1より各種のデータを取得したり、他の端末装置2との間で通信を行ったりすることが可能である。
【0033】
カメラ26は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサを含み、不図示のレンズに結像した被写体の光を画像データに変換する。本実施形態に係るカメラ26は、静止画像だけでなく、動画像を撮影することが可能である。
【0034】
6軸センサ27は、端末装置2に加わる前後、左右、上下の3軸における加速度、及び、該3軸における角速度の計6軸の慣性力を検出可能な慣性センサである。6軸センサ27による検出値の情報は、上述した第1判定の実行時に参照される。なお、端末装置2が有する慣性センサは6軸センサ27に限定されず、端末装置2に実装された慣性センサであればその他のセンサであってもよい。
【0035】
入出力インターフェース28は、入力装置29から受け取った操作信号を所定の形式のデータに変換してCPU21に渡す。また、入出力インターフェース28は制御部20から出力されたガイド枠等の画像を、表示装置30に渡す。なお、表示装置30は不図示のスピーカを備えていてもよく、この場合、入出力インターフェース28は、該スピーカに対して音声信号を出力することもできる。
【0036】
入力装置29は、スマートフォン2A(
図1参照)においては、タッチパネルにおけるタッチセンサ等によって構成され、PC2Bにおいては、マウスやキーボードなどで構成される。
【0037】
表示装置30は、LCD(Liquid Crystal Display)又は有機EL(Electro Luminescence)ディスプレイ等で構成される。
【0038】
不揮発性ストレージ31としては、例えば、HDD、SSD、Blu-rayディスク、フレキシブルディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R又は不揮発性のメモリ等が用いられる。この不揮発性ストレージ31には、OS、各種のパラメーターの他に、端末装置2を機能させるためのプログラムや、サーバ1から送信されたマスタ画像DB101や学習モデル102a(
図3参照)などが記録される。
【0039】
サーバ1を機能させるためのプログラムは、ROM23に記憶されてもよい。つまり、ROM23及び不揮発性ストレージ31は、端末装置2によって実行されるプログラムを格納したコンピューター読取可能な非一過性の記録媒体の一例として用いられる。
【0040】
不揮発性ストレージ31が光ディスク等で構成された外部記録媒体である場合、不図示の光学ドライブが不揮発性ストレージ31を読み込んで、データを取り出す。光学ドライブが取り出したデータは、CPU21による所定の演算処理に用いられる。
【0041】
<真贋判定システムの機能構成例>
次に、
図3を参照して、真贋判定システム100の機能構成について説明する。
図3は、真贋判定システム100の機能構成を示すブロック図である。
図3においては、通信ネットワークNの記載は省略する。
【0042】
(サーバの機能構成例)
図3に示すように、サーバ1は、マスタ画像DB101及び学習モデルDB102を備える。マスタ画像DB101は、端末装置2の第1判定部206が第1判定を行う場合に参照する画像であり、正規(真作)の全種類のカードの撮影画像を保存する。
【0043】
学習モデルDB102には、時間軸情報を持つニューラルネットワークによって構築される学習済みの学習モデル102aが格納される。学習モデル102aは、学習によって重みが調整された重みデータで構成される。時間軸情報を持つニューラルネットワークには、例えば、3D-CNN(3-Dimensional Convolutional Neural Network)、SlowFast、TimeSformer(Time-Space Transformer)等を適用可能である。
【0044】
例えば、学習モデル102aがPyTorchという深層学習フレームワークを用いて構築される場合、学習モデル102aはPTHファイル形式で実装される。なお、学習モデル102aのファイル形式は、GGMLファイル形式や、ONNX(Open Neural Network eXchange)ファイル形式などの他のファイル形式であってもよい。
【0045】
また、サーバ1は、マスタ画像DB101に格納されたマスタ画像及び学習モデルDB102に格納された学習モデル102aを、定期的に端末装置2に送信する。
【0046】
(端末装置の機能構成例)
端末装置2は、ローカル画像DB201と、学習モデルDB202と、ガイド枠表示処理部203と、動画像撮影部204と、カード領域検出部205と、6軸センサ27と、第1判定部206と、正規化部207と、第2判定部と、を含む。
【0047】
ローカル画像DB201は、サーバ1から送信されたマスタ画像DB101を、端末装置2のアプリケーションによるアクセス(参照)が可能な形態にしたものである。
学習モデルDB202は、サーバ1より送信された学習モデル102aを格納するデータベースである。
【0048】
学習モデル102aの学習データは、ガイド枠によるガイドに基づいてカメラ26によって撮影された正規(真作)のカードの動画像データに含まれる、カードの表面からの反射光の時系列情報である。そして、学習モデル102aは、ガイド枠によるガイドに基づいて撮影された真贋判定対象のカードの動画像データを入力として、該カードの真贋判定結果を出力する。学習モデル102aは、真贋判定対象のカードからの反射光の反射パターンの変化が、正規のカードからの反射光の反射パターンと照合するか否かを検証することにより、カードの真偽判定を行う。
【0049】
ガイド枠表示処理部203(表示制御部の一例)は、表示装置30(
図2参照)の画面にガイド枠を表示させる処理部である。ガイド枠は、例えば、赤色の太枠等によって示される。ガイド枠表示処理部203は、ガイド枠内にカードの枠が収まったことを検出した場合、「OK」等のサインを画面上に表示させる。その後、ガイド枠表示処理部203は、ガイド枠を画面内における別の位置に移動させ、その位置にカードの枠を合わせこむ動作の実施を促す。ガイド枠表示処理部203によるガイド枠の表示例については、後述の
図4及び
図5を参照して詳述する。
【0050】
動画像撮影部204は、カメラ26から得た画像データを所定のフレームレートで動画像としてエンコードする。動画像撮影部204は、撮影した動画像を、例えばH.264/MP4等の汎用的なフォーマットで不揮発性ストレージ31に保存する。動画像撮影部204は、ガイド枠表示処理部203によってガイド枠の表示位置が変更されている間、継続して動画撮影を行う。
【0051】
カード領域検出部205は、カメラ26から得られる画像データ内より、カードに対応するカード領域を、特徴(キーポイント)マッチングの技術を用いて検出する。また、カード領域検出部205は、マスタ画像DB101内の全種類のカードのデジタル画像と、検出したカード領域の画像との照合を行い、撮影しているカードの種類を判定する。
【0052】
カード領域検出部205が使用する特徴マッチングの技術には、ORB(Oriented FAST and Rotated BRIEF)キーポイントマッチング等の技術を用いることができる。例えば、ORBキーポイントマッチングをマルチスレッドで並列化して端末装置2に実装することにより、端末装置2がスマートフォン2Aである場合にも、十分な処理速度を維持することができる。
【0053】
なお、カード領域検出部205が用いる特徴マッチング技術は、ORBキーポイントマッチングに限定されず、SIFT(Scale Invariant Feature Transform)、SURF(Speeded-UpRobustFeatures)、KAZE、AKAZE(Accelerated -KAZE)等の他の技術であってもよい。
【0054】
第1判定部206は、端末装置2のカメラ26が真贋判定対象である物理的なカードを撮影しているか否かを、6軸センサ27(
図2参照)の動きと、カード領域検出部205が検出したキーポイント(特徴点の一例)の動きとに基づいて判定する。具体的には、第1判定部206は、カメラ26から送信された動画像データから抽出したキーポイントの移動ベクトルと、センサから取得された移動ベクトルとが同時に同じ方向に移動しているか否かを判定する。
【0055】
第1判定部206が第1判定を行うことにより、カードの撮影方法に関するチート手法(不正操作)が実行された場合であっても、チート手法を検出することができる。カードの撮影方法に関するチート手法には、例えば、カードを予め撮影して得た動画像を、端末装置2のカメラ26の前で再生して撮影する手法や、カードの高精細コピー画像をカメラ26に撮影させる手法などがある。
【0056】
また、第1判定部206は、第1判定の実行中に、ガイド枠を次の表示位置に変更させるためのガイド枠の座標情報を生成して、ガイド枠表示処理部203に出力する。
【0057】
正規化部207は、動画像撮影部204によって撮影された動画像内よりカード領域の画像を抽出する。そして、正規化部207は、抽出した領域の画像の縦横のピクセル数を、学習モデル102aが入力として想定するサイズにクロッピングすることにより、固定長に正規化する。正規化部207がクロッピングによって抽出するのは、カードの画像領域である。正規化部207による正規化処理が行われることにより、カードの画像部分のみで構成される画像が学習モデル102aを、適切なサイズで学習モデル102aに入力することができる。
【0058】
また、正規化部207は、学習モデル102aに入力される動画像の天地が逆転することを防ぐ目的により、抽出した領域の画像を回転及びリサイズする。正規化部207は、画像の回転及びリサイズを、可能な限り元の動画像のアスペクト比を維持した状態において行う。正規化部207による正規化後の画像サイズは、例えば、幅mピクセル×高さnピクセル(m<n)程度の画像サイズとすることができる。
【0059】
第2判定部208は、正規化部207によって正規化された、カードからの反射光の時系列情報を含む動画像を学習モデル102aに入力し、学習モデル102aより、正規(真作)又は非正規(贋作)の二値に分類されたカードの真贋判定結果を得る。
【0060】
<ガイド枠の表示処理>
次に、
図4及び
図5を参照して、ガイド枠表示処理部203によるガイド枠の表示処理について説明する。
図4は、ガイド枠表示処理部203によるガイド枠の表示処理に基づくガイド枠の表示例を示す図である。
【0061】
図4の左側には、ガイド枠表示処理部203によって表示装置30の画面に表示されたガイド枠Fm内に、カードCdの枠が収まっている状態が示される。このような状態となった場合、すなわち、ガイド枠Fm内にカードCdの枠が収まったことを検出した場合、ガイド枠表示処理部203は、「OK」等のサインを画面に表示させる。
【0062】
次に、ガイド枠表示処理部203は、画面に表示していたガイド枠の位置を、異なる位置に変更させるガイドを行う。ガイド枠表示処理部203は、
図4の右側に示すように、画面内におけるガイド枠Fmの表示位置を右斜め上方向にずらす。この表示を見たユーザは、カード枠Fm内にカードCdの枠を収めるために、把持している端末装置2を動かす。ガイド枠表示処理部203によってこのような処理が行われることにより、ユーザが把持する端末装置2の位置が、ガイド枠の表示位置変更に伴って上下左右等に変化する。つまり、端末装置2のカメラ26によるカードの撮影角度が変化する。なお、ガイド枠表示処理部203によるガイド枠の表示位置の変更回数は、少なくとも一回以上であれば、何回であってもよい。
【0063】
図5は、カメラ26によるカードの撮影角度の変化の例を示す図である。ガイド枠表示処理部203によってガイド枠の表示位置が変更されることにより、
図5に示すように、カメラ26によるカードの撮影角度は、様々な角度に変化する。そして、動画像撮影部204は、このように撮影角度が変化した状態においてカメラ26によって撮影された画像を、動画像として記録する。撮影角度が変化した状態においてカメラ26によって撮影された画像を、動画像として記録することにより、動画像撮影部204によって撮影される動画像に、撮影角度に応じた反射光の反射パターンの変化という、本質的に時間軸情報を持った特徴を含めることが可能となる。
【0064】
本実施形態に係る真贋判定システム100が真贋判定の対象とするカードは、微細なホログラム加工及びエンボス加工が施されたカードである。エンボス加工は、例えば、カードの表面に透明なニスを印刷すること等により行われる。したがって、このようなカードが撮影される場合に、カメラ26の撮影角度が変化することによって、カードからの反射光の反射パターンは細やかかつ多様に変化する。つまり、本実施形態に係る学習モデル102aは、このようなカードからの反射光の反射パターンの細やかかつ多様な変化を学習したものとなる。なお、カード表面への加工は、微細なホログラム加工及びエンボス加工の両方に限定されず、いずれか一方の加工であってもよい。また、カード表面への加工は、カード表面からの反射光の反射状態を変化させることが可能な加工であれば、金箔押し、銀箔押し、螺鈿加工等の、ホログラム加工やエンボス加工以外の加工であってもよい。
【0065】
<真贋判定システムによる真贋判定処理>
次に、
図6を参照して、本実施形態に係る真贋判定システム100による真贋判定処理について説明する。
図6は、真贋判定システム100による真贋判定処理の手順の例を示すフローチャートである。
【0066】
まず、ガイド枠表示処理部203(
図3参照)は、ガイド枠表示処理を実行する(ステップS1)。ステップS1のガイド枠表示処理は、本実施形態に係る真贋判定処理を実施するプログラムが組み込まれたアプリケーションをユーザが起動し、カード真贋判定のメニューを選択する動作等を契機として開始する。ステップS1で行われるガイド枠表示処理の内容については、後述の
図7を参照して詳述する。
【0067】
次いで、カメラ26による撮影、及び、カメラ26によって撮影された画像データの動画像としての記録を開始する(ステップS2)。ステップS2の処理は、ステップS1で表示装置30の画面にガイド枠が表示され、ガイド枠にカードの枠を合わせこむためにユーザが端末装置2を上下左右等に動かしている間、継続して行われる。
【0068】
次いで、カード領域検出部205は、ステップS2でカメラ26によって撮影された画像データの中から、キーポイントマッチングの技術を用いてカード領域を抽出する(ステップS3)。次いで、第1判定部206は、第1判定処理を行う(ステップS4)。第1判定処理については、後述の
図8を参照して詳述する。次いで、正規化部207は、ステップS2で記録された動画像のサイズを、学習モデル102aへの入力に適したサイズに正規化する(ステップS5)。次いで、第2判定部208は、第2判定処理を行う(ステップS6)。ステップS6で行われる第2判定処理については、後述の
図9を参照して詳述する。
【0069】
(ガイド枠表示処理)
次に、
図7を参照して、
図6のステップS2で行われるガイド枠表示処理について説明する。
図7は、ガイド枠表示処理部203によるガイド枠表示処理の手順の例を示すフローチャートである。
【0070】
まず、ガイド枠表示処理部203は、表示装置30の画面にガイド枠を表示させる(ステップS11)。次いで、ガイド枠表示処理部203は、ステップS2でカメラ26によって撮影された画像データに含まれるカードの枠が、ガイド枠内に収まったか否かを判定する(ステップS12)。ガイド枠に収まっていないと判定された場合(ステップS12がNO)、ガイド枠表示処理部203は継続してステップS12の判定を行う。
【0071】
一方、ガイド枠に収まったと判定された場合(ステップS12がYES)ガイド枠表示処理部203は、ガイド枠にカードが収まったことを示す「OK」等のサインを画面上に表示させる(ステップS13)。なお、ガイド枠にカードが収まったことを示すサインは「OK」の文字に限定されず、他の文字であってもよい。また、サインは文字ではなく、ガイド枠の色や形などの変更や、音声の放音などの、他の形態によって通知されてもよい。
【0072】
次いで、ガイド枠表示処理部203は、第1判定部206(
図3参照)による第1判定処理の終了条件が満たされたか否かを判定する(ステップS14)。第1判定処理の終了条件は、第1判定処理による「成功」又は「失敗」の判定結果と、「成功」と判定された場合におけるカメラ26の撮影画像(動画像)との両方が揃うことである。「成功」と判定された場合における動画像は、すべてのガイド枠を対象とした第1判定処理が終了した場合に得られる。ステップS14で第1判定処理の終了条件は満たされていないと判定された場合(ステップS14がNO)、ガイド枠表示処理部203は、ガイド枠の画面における表示位置を変更する(ステップS15)。ステップS15の処理後、ガイド枠表示処理部203はステップS11に戻って処理を行う。
【0073】
一方、ステップS14で、第1判定処理の終了条件は満たされたと判定された場合(ステップS14がYES)、ガイド枠表示処理部203によるガイド枠表示処理は終了する。なお、ガイド枠表示処理部203によるガイド枠表示処理は、第1判定処理による判定結果の出力後の所定のタイミングにおいて終了してもよい。
【0074】
(第1判定処理)
次に、
図8を参照して、
図6のステップS4で行われる第1判定処理について説明する。
図8は、第1判定部206による第1判定処理の手順の例を示すフローチャートである。
【0075】
まず、第1判定部206は、
図6のステップS3で撮影画像中から検出されたカード領域より、キーポイントを抽出する(ステップS41)。次いで、第1判定部206は、ステップS41で抽出したキーポイントの移動ベクトルと、端末装置2の6軸センサ27の移動ベクトルとが同時に同じ方向に移動しているか否かを判定する(ステップS42)。
【0076】
キーポイントの移動ベクトルと6軸センサ27の移動ベクトルとが同時に同じ方向に移動していると判定された場合(ステップS42がYES)、第1判定部206は、カメラ26は物理的なカードを撮影していると判定する(ステップS43)。一方、キーポイントの移動ベクトルと6軸センサ27の移動ベクトルとが同時に同じ方向に移動していないと判定された場合(ステップS42がNO)、第1判定部206は、カメラ26は物理的なカード以外の撮影対象を撮影していると判定する(ステップS44)。ステップS44又はステップS45の処理後、第1判定部206による第1判定処理は終了する。なお、ステップS42の判定は、両移動ベクトルの移動方向を分析すること等によって行うことが可能であるが、両移動ベクトルの相関係数の高さ等に基づいて判定することもできる。
【0077】
(第2判定処理)
次に、
図9を参照して、
図6のステップS6で行われる第2判定処理について説明する。
図9は、第2判定部208による第2判定処理の手順の例を示すフローチャートである。
【0078】
まず、第2判定部208は、
図6のステップS5で正規化されたカード領域の動画像を学習モデル102aに入力する(ステップS51)。次いで、学習モデル102aは、カメラ26によって撮影され正規化されたカード領域の画像から得られた反射光の反射パターンの変化が、予め学習した正規カードからの反射の反射パターンの変化と照合するか否かを検証する(ステップS52)。次いで、第2判定部208は、学習モデル102aによる検証の結果としてのカードの真偽判定結果を出力する(ステップS53)。
【0079】
学習モデル102aは、カード領域の画像から得られた反射光の反射パターンの変化が、予め学習した正規カードからの反射の反射パターンの変化に照合することを確認出来た場合、カメラ26によって撮影されたカードは正規(真作)のカードであるという真偽判定結果を出力する。一方、学習モデル102aは、カード領域の画像から得られた反射光の反射パターンの変化と、予め学習した正規カードからの反射の反射パターンの変化との照合が確認できなかった場合、カメラ26によって撮影されたカードは非正規(贋作)のカードであるという真偽判定結果を出力する。ステップS63の処理後、第2判定部208による第2判定処理は終了する。
【0080】
上述した実施形態では、端末装置2の第2判定部208は、カメラ26によって得られる、カードからの反射光の時系列情報、すなわち、反射光の反射パターンの変化の情報に基づいてカードの真贋判定を行う。したがって、本実施形態によれば、広角の顕微鏡等の真贋判定用の機器を端末装置2に増設したり接続したりすることなく、カードの真贋判定をすることができる。
【0081】
また、本実施形態では、端末装置2は、カメラ26によって得られる、カードからの反射光の時系列情報に基づいてカードの真贋判定を行うため、カード側に、真贋判定用のNFCタグ等を埋め込んだり、真贋判定用の透かしや特別な加工を施したりする必要がなくなる。これにより、カードの製造コストの増大を防げるだけでなく、カードの審美性が損なわれることも防ぐことができる。
【0082】
また、本実施形態では、第1判定部206は、カメラ26が物理的なカードを撮影しているか否かを判定する第1判定を、端末装置2が備える6軸センサ27による検出値を用いて行う。したがって、本実施形態では、端末装置2に新たなハードウェアを導入することなく、カードの真偽判定(第1判定)を行うことができる。
【0083】
また、例えば、個人番号(マイナンバー)カードの認証においては、カードを撮影した画像の情報が用いられるため、画面上にガイド枠等を表示させることはできないが、本実施形態では、カメラ26によって撮影された動画像を入力としてカードの真贋判定を行う。したがって、表示装置30の画面上にリアルタイムにガイド枠を表示させることができる。
【0084】
そして、ガイド枠表示処理部203が、表示装置30の画面上に表示したガイド枠の位置を移動させることにより、カードの真贋判定に必要な情報を端末装置2が取得するために必要な動作を、ユーザに行わせることができる。また、該動作は、ガイド枠にカードの枠部分が収まるように端末装置2を動かすという簡易な動作であるため、端末装置2の操作に不慣れなユーザやトレーディングカードゲームの初心者のユーザであっても、適切にカードを撮影することができる。
【0085】
なお、本実施形態では、カードの真偽判定にニューラルネットワークで構築される学習モデル102aを使用するため、第2判定の実行時に、設計者の想定外の方法を用いてニューラルネットワークモデルの脆弱性を突くような欺瞞信号が入力される恐れがある。実際に、ノイズを含んだ画像を用いてニューラルネットワークモデルを騙す手法や、大規模言語モデル(LLM:Large Language Models)の制約を回避するための「脱獄(jailbreak)」と呼ばれる攻撃方法等が知られている。そして、ニューラルネットワークモデルを安全に使用するための手法は未だ確立されていない。
【0086】
これに対して、本実施形態に係る真贋判定システム100は、柔軟性は低いが決定論的に振る舞うために脆弱性が少ないアルゴリズムであるキーポイントマッチングを第1判定に導入している。一方、第2判定に用いられるニューラルネットワークモデルは、柔軟性が高いが非決定論的に振る舞う。真贋判定システム100をこのように構成することにより、ニューラルネットワークモデル側にチート手法を大規模に学習させたりすることなく、カードを撮影した動画像をニューラルネットワークモデル(学習モデル102a)に学習させることによって、カードの真贋判定を行えるようになる。
【0087】
なお、本発明は上述した実施形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施形態は本発明を分かりやすく説明するためにシステム及び装置の構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、本実施形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0088】
1…サーバ、2…端末装置、25…カメラ、26…6軸センサ、29…表示装置、100…真贋判定システム、101…マスタ画像DB、102、202…学習モデル、203…ガイド枠表示処理部、204…動画像撮影部、205…カード領域検出部、206…第1判定部、207…正規化部、208…第2判定部
【要約】
【課題】真贋判定用デバイスを使用することなく、カード媒体の真贋を判定できるようにする。
【解決手段】本発明の一実施形態に係るプログラムは、カメラ26が撮影するカードの動画像の撮影角度を異ならせるためのガイドを端末装置2の画面に表示させ、ガイドの表示位置を少なくとも1回以上変化させる手順と、ガイドが表示された状態においてカメラ26によって撮影されたカードの動画像データに含まれる、カード媒体の所定面からの反射光の時系列情報に基づいて、カードの真贋を判定する手順と、を、コンピューターに実行させる。
【選択図】
図2