(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024041513
(43)【公開日】2024-03-27
(54)【発明の名称】ゲーム機、情報コード読取方法、及びコンピュータプログラム
(51)【国際特許分類】
A63F 13/20 20140101AFI20240319BHJP
G06K 7/14 20060101ALI20240319BHJP
G06K 7/10 20060101ALI20240319BHJP
A63F 13/213 20140101ALI20240319BHJP
G06T 7/00 20170101ALI20240319BHJP
【FI】
A63F13/20 A
G06K7/14 017
G06K7/14 039
G06K7/10 372
G06K7/14 060
A63F13/213
G06T7/00 300Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022146372
(22)【出願日】2022-09-14
(71)【出願人】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】小林 馨
(72)【発明者】
【氏名】清野 創
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096CA04
5L096DA02
5L096EA43
5L096GA38
5L096GA55
5L096HA09
5L096JA11
5L096JA18
(57)【要約】
【課題】ゲーム機、情報コード読取方法、及びコンピュータプログラムの提供。
【解決手段】カード台紙にCMYの混色により情報コードを印刷してゲームカードを発行する発行部と、ゲームカードに印刷された情報コードを撮像する撮像部と、撮像部より得られる撮像画像に基づき、ゲームカードに印刷された情報コードが示す情報を読み取る読取部と、読取部により読み取った情報に基づき、ゲームを実行するゲーム実行部とを備え、読取部は、撮像画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、画像処理後の撮像画像から情報コードを検出し、検出した情報コードが示す情報を読み取る。
【選択図】
図1
【特許請求の範囲】
【請求項1】
カード台紙にCMYの混色により情報コードを印刷してゲームカードを発行する発行部と、
ゲームカードに印刷された情報コードを撮像する撮像部と、
前記撮像部より得られる撮像画像に基づき、ゲームカードに印刷された情報コードが示す情報を読み取る読取部と、
前記読取部により読み取った情報に基づき、ゲームを実行するゲーム実行部と
を備え、
前記読取部は、
前記撮像画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、
画像処理後の撮像画像から情報コードを検出し、
検出した情報コードが示す情報を読み取る
ゲーム機。
【請求項2】
前記読取部は、
前記撮像部より得られる撮像画像についてCMYの何れか1色で色分解を行い、
色分解した後の画像から前記情報を読み取る
請求項1に記載のゲーム機。
【請求項3】
前記読取部は、
前記撮像部より得られる撮像画像について色相フィルタを用いて、色ずれ領域を抽出し、
抽出した色ずれ領域を前記撮像画像から減算し、
前記色ずれ領域を減算した後の画像から前記情報を読み取る
請求項1に記載のゲーム機。
【請求項4】
前記撮像部は、複数のゲームカードの夫々に印刷された情報コードを一度に撮像する
請求項1に記載のゲーム機。
【請求項5】
前記読取部は、
情報コードの撮像画像を入力した場合、前記情報コードの正解画像を再現した再現画像を出力するよう学習された学習モデルを用いて、前記撮像部により撮像された情報コードの撮像画像を正解画像の再現画像に変換し、
変換後の再現画像から、情報コードが示す情報を読み取る
請求項1から請求項4の何れか1つに記載のゲーム機。
【請求項6】
前記読取部は、
検出した情報コードの読み取りに失敗した場合にのみ、前記学習モデルを用いて前記撮像画像を再現画像に変換し、変換後の再現画像から情報コードが示す情報を読み取る
請求項5に記載のゲーム機。
【請求項7】
CMYの混色により印刷された情報コードの撮像画像を取得し、
取得した撮像画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、
画像処理後の撮像画像から情報コードを検出し、
検出した情報コードが示す情報を読み取る
処理をコンピュータにより実行する情報コード読取方法。
【請求項8】
CMYの混色により印刷された情報コードの撮像画像を取得し、
取得した撮像画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、
画像処理後の撮像画像から情報コードを検出し、
検出した情報コードが示す情報を読み取る
処理をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム機、情報コード読取方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
近年、ゲームカードに印刷された情報コードを読み取り、情報コードから読み取った情報に応じて特定のキャラクタを登場させたり、特定のシナリオを進めたりするアーケード型のゲーム機が遊技店等に設置されている。
【0003】
このようなゲーム機にはコード読取装置が搭載されている。コード読取装置には、バーコードなどの一次元コードを読み取るコードリーダや、QRコード(登録商標)などの二次元コードを読み取るコードリーダなどが含まれる。コードリーダは、一次元コードや二次元コードなどの情報コードから光学情報を取得する光学センサ(撮像素子など)を備え、当該光学センサから出力される電気信号(アナログ信号)をデジタル信号に変換し、そのデジタル信号をデコードすることにより、情報コードを読み取る。
【0004】
情報コードの認識精度を向上させるために、特許文献1には、撮影した画像を解析して解像度やコントラストなどの画質調整を行い、画質調整を行った後の補正画像に基づきパターン認識を実行するパターン認識装置が開示されている。
【0005】
特許文献2には、情報コードのグレースケール画像を取得し、取得したグレースケール画像の濃淡に対して閾値を設定することにより、白強調及び黒強調を行うことでコントラストを改善し、コントラストが改善した画像に基づき情報コードを認識する画像認識装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006-277315号公報
【特許文献2】特開2011-96095号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、情報コードをカード台紙に印刷する際に印刷ズレが発生した場合、上述のような画質調整を行ったとしても、情報コードを読み取ることができない場合がある。
【0008】
本発明は、斯かる事情に鑑みてなされたものであり、情報コードの印刷時に色ずれが発生した場合であっても、撮像画像から情報コードを良好に読み取ることができるゲーム機、情報コード読取方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一形態に係るゲーム機は、カード台紙にCMYの混色により情報コードを印刷してゲームカードを発行する発行部と、ゲームカードに印刷された情報コードを撮像する撮像部と、前記撮像部より得られる撮像画像に基づき、ゲームカードに印刷された情報コードが示す情報を読み取る読取部と、前記読取部により読み取った情報に基づき、ゲームを実行するゲーム実行部とを備え、前記読取部は、前記撮像画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、画像処理後の撮像画像から情報コードを検出し、検出した情報コードが示す情報を読み取る。
【発明の効果】
【0010】
本願によれば、情報コードの印刷時に色ずれが発生した場合であっても、撮像画像から情報コードを良好に読み取ることができる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態に係るゲーム機において実行される情報コード読取処理の概要を説明する説明図である。
【
図2】ゲーム機の構成を説明するブロック図である。
【
図3】色ずれが生じた場合に画像に現れる影響を説明する説明図である。
【
図4】情報コードを読み取る際の色ずれの影響を説明する説明図である。
【
図5】実施の形態1における情報コードの読み取り手順を示すフローチャートである。
【
図6】実施の形態2において実行される色分解処理について説明する説明図である。
【
図7】実施の形態2における情報コードの読み取り手順を示すフローチャートである。
【
図8】実施の形態3において実行される色ずれ領域の分離処理について説明する説明図である。
【
図9】実施の形態3における情報コードの読み取り手順を示すフローチャートである。
【
図11】実施の形態4における情報コードの読み取り手順を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
(実施の形態1)
図1は実施の形態に係るゲーム機10において実行される情報コード読取処理の概要を説明する説明図である。実施の形態に係るゲーム機10は、例えば、遊技店などに設置されるアーケード型のゲーム機である。ゲーム機10は、所定のカード台紙にCMY(CMY : Cyan Magenta Yellow)の混色による情報コードを印刷し、ゲームカードGCを発行する。ゲーム機10は、プレーヤによりセットされたゲームカードGCを撮像部17にて撮像し、情報コードの撮像画像を取得する。ゲーム機10は、撮像画像から情報コードが示す情報を読み取り、読み取った情報に基づいて所定のシナリオ(ゲーム)を進行させる。
【0013】
情報コードは、例えばQRコード(登録商標)などの二次元コードである。代替的に、情報コードはバーコードなどの一次元コードであってもよい。情報コードには、ゲームに登場させるキャラクタの属性情報、ゲームのシナリオを定める情報などが含まれる。以下では、バーコードやQRコードなどの画像として記録されるコードを総称して情報コードという。情報コードの撮像画像は、印刷された情報コードを撮像部17で撮像することにより得られるデジタル形式の画像である。
【0014】
ゲーム機10には、筐体内部への組み込みに伴うサイズ制限やコスト削減などの観点から、比較的小型のプリンタが搭載されることが多い。一例では、CMY3色の昇華転写プリンタが搭載される。代替的に、感熱方式、インクジェット方式、レーザプリンタ方式のカラープリンタが搭載されてもよい。ゲーム機10に搭載されるプリンタ(ハードウェア)に起因して、情報コードをカード台紙に印刷する際に色ずれが発生する場合がある。また、ゲーム機10にセットされたゲームカードGCと撮像部17との位置関係によっては、ピントがずれる可能性もある。例えば、複数のゲームカードGCを横一列に並べてセットし、複数のゲームカードGCに印刷された情報コードを1つの撮像部17により撮像する場合、全ての情報コードにピントを合わせることは困難であり、部分的にピントがずれる可能性がある。このように、情報コードの印刷時に色ズレが発生した場合や撮像時にピントのずれが生じた場合、ゲーム機10は、情報コードの内容を良好に読み取ることはできない可能性がある。
【0015】
実施の形態1に係るゲーム機10は、情報コードの撮像画像を取得した場合、取得した画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、画像処理後の撮像画像から情報コードを検出し、検出した情報コードが示す情報を読み取ることにより、情報コードの内容を良好に読み取ることを特徴の1つとしている。
【0016】
図2はゲーム機10の構成を説明するブロック図である。ゲーム機10は、制御部11、記憶部12、操作部13、表示部14、入金受付部15、カード発行部16、撮像部17、情報コード読取部18、及び通信部19などを備える。
【0017】
制御部11は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)を備える。制御部11が備えるROMには、ゲーム機10が備えるハードウェア各部の動作を制御する制御プログラムや制御に必要なデータ等が記憶される。制御部11内のCPUは、ROMに記憶された制御プログラムを実行し、ハードウェア各部の動作を制御する。制御部11が備えるRAMには、制御の実行中に生成される各種データが一時的に記憶される。
【0018】
記憶部12は、フラッシュメモリなどの記憶装置により構成される。記憶部12は、ゲーム機10において使用される各種のコンピュータプログラムやデータが記憶される。記憶部12に記憶されるコンピュータプログラムは、ゲームのシナリオを制御部11に進行させるためのプログラムを含む。記憶部12に記憶されるデータは、ゲーム中に登場させるキャラクタの属性情報などを含む。キャラクタの属性情報は、キャラクタの名前、図柄、レア度、強さ、技などの情報である。
【0019】
操作部13は、各種のボタンを備えており、押下されたボタンに対応する情報を制御部11へ出力する。操作部13が備えるボタンは、例えば、ゲームを開始させるスタートボタン、プレーヤの選択操作を受付ける選択ボタンなどを含む。操作部13が備えるボタンは、機種やゲームのシナリオなどに応じて適宜設計される。また、操作部13は、更にタッチパネルを備えてもよい。操作部13がタッチパネルを備える場合、操作部13は、タッチパネルより入力される情報を制御部11へ出力する。
【0020】
表示部14は、液晶モニタや有機EL(Electro-Luminescence)などの表示デバイスを備え、制御部11からの指示に応じてプレーヤの選択操作を受付けるための選択画面やゲームの進行状況を示すゲーム画面などを表示する。
【0021】
入金受付部15は、貨幣が投入される投入口、投入された貨幣を識別する識別機、投入された貨幣を収容する収容部、釣り銭を排出する排出口などを備える。入金受付部15は、投入口に投入された貨幣を識別機により識別し、識別後の貨幣を収容部に収容させると共に、識別した金額の情報(金額情報)を制御部11へ出力する。入金受付部15は、識別した金額よりゲームのプレイ料金を差し引いた金額の貨幣(釣り銭)を排出口へ排出する。入金受付部15は、釣り銭が発生しないように定額貨幣のみを受付ける構成としてもよい。この場合、入金受付部15には排出口が設けられていなくてもよい。また、入金受付部15は、クレジットカード、プリペイドカード、ポストペイカード、電子決済による入金を受付ける構成であってもよい。
【0022】
カード発行部16は、カード台紙を収容する収容部、収容部から取り出したカード台紙に情報コードを印刷する印刷部、情報コードが印刷されたカード台紙をゲームカードGCとして排出する排出口などを備える。情報コードの印刷には、昇華転写方式の他、インクジェット方式、レーザプリンタ方式などCMY3色によるカラー印刷を実現可能な既存の印刷手法が用いられる。カード発行部16は、入金受付部15にて所定のプレイ料金を受付けた場合、又は、入金受付部15にて所定のプレイ料金を受付け、ゲームが終了した場合(若しくは所定のクリア条件を満たした場合)、その都度カード台紙に情報コードを印刷してゲームカードGCを作成し、作成したゲームカードGCを排出口より排出する。なお、ゲーム台紙に印刷する情報コードはランダムに選択されてもよく、ゲームのプレイ内容に応じて選択されてもよい。
【0023】
撮像部17は、ゲームカードGCが載置される載置台、載置台に載置されたゲームカードGCを撮像する撮像装置などを備える。載置台には1又は複数のゲームカードGCが載置される。撮像装置はCMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge-Coupled Device)などの撮像素子を備える。撮像装置は、載置台に載置されたゲームカードGCを撮像し、撮像画像を出力する。撮像装置によるゲームカードGCの撮像範囲は、カード全体である必要はなく、情報コードを含む範囲に限定されてもよい。また、載置台に複数のゲームカードGCが載置された場合、撮像装置は、複数のゲームカードGCを一度に撮像してもよい。
【0024】
情報コード読取部18は、例えば、CPUやメモリなどを備え、撮像部17より入力される撮像画像から情報コードを検出し、検出した情報コードが示す情報を読み取る処理回路として構成される。情報コード読取部18が備えるメモリには、情報コードの読取処理をCPUに実行させるための読取処理プログラムPGが記憶される。メモリに記憶される読取処理プログラムPGは、当該プログラムを読み取り可能に記録した記録媒体RMにより提供される。記録媒体RMは、例えば、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型の記録媒体である。制御部11は、不図示の読取装置を用いて記録媒体RMからプログラムを読み取り、読み取ったプログラムを情報コード読取部18のメモリに記憶させる。また、読取処理プログラムPGは、通信により提供されてもよい。この場合、制御部11は、通信により提供されるプログラムを取得し、取得したプログラムをメモリに記憶させる。
【0025】
情報コード読取部18の構成は、上記に限定されるものではなく、マルチコアCPU、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、画像処理用途のASIC(Application Specific Integrated Circuit)、マイコン、揮発性又は不揮発性のメモリ等を含む1又は複数の処理回路又は演算回路であればよい。情報コード読取部18は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等を備えてもよい。
【0026】
情報コード読取部18のCPUは、メモリに記憶された読取処理プログラムを実行することにより、情報コードの読取処理を行う。詳細については後述するが、情報コード読取部18は、撮像部17より入力される撮像画像に対して、平滑化処理及びエッジ強調処理を含む画像処理を施し、画像処理後の撮像画像から情報コードを検出し、検出した情報コードが示す情報を読み取る。
【0027】
通信部19は、外部装置と通信するための通信インタフェースを備える。通信部19が備える通信インタフェースは、例えば、WiFi(登録商標)、LAN(Local Area Network)、Bluetooth(登録商標) 、WiFi(登録商標)、ZigBee(登録商標)、3G、4G、5G、LTE(Long Term Evolution)などの通信インタフェースである。通信部19は、通知すべき各種データを外部装置へ送信すると共に、外部装置から送信される各種データを受信する。通信部19に通信可能に接続される外部装置は、例えば、各遊技店に設置される複数のゲーム機10を統合的に管理するサーバ装置(不図示)である。
【0028】
図3は色ずれが生じた場合に画像に現れる影響を説明する説明図である。
図3Aは色ずれが生じていない情報コードの例を示している。
図3Aの上段のグラフは、印刷媒体上の濃度変化を示している。走査方向は図中のX方向である。CMYの3色が重ねて印刷された領域にはCMY混色による黒セルが形成され、それ以外の領域には白セルが形成される。図中のX方向に走査した場合、X
1 ~X
2 の範囲に黒セルが現れ、その両側に白セルが現れる。
図3Aの中段のグラフは、撮像画像上の濃度変化を示している。情報コードの撮像時にピントずれが生じた場合、黒セルの輪郭はぼやけるので、輪郭部分の濃度は不連続に変化せず、若干なめらかに変化する。撮像画像を二値化する場合、濃度に対する閾値(二値化閾値)が設定され、濃度と閾値との間の高低が比較される。濃度が閾値より高い部分は黒セルとして認識され、濃度が閾値より低い部分は白セルとして認識される。
図3Aの下段のグラフは二値化画像における濃度変化を示している。
図3Aの例において黒セルの幅はL1である。
【0029】
図3Bは色ずれが生じた情報コードの例を示している。CMYの3色が重なった領域は黒色であるが、色ずれが生じた場合、その周縁には、CMY何れか1色の単色領域やCMY何れか2色が重なった混色領域が形成される。
図3Bの上段のグラフは、印刷媒体上の濃度変化の例を示している。走査方向は図中のX方向である。マゼンタに対してシアンが+X方向、イエロが-X方向にずれた場合、例えば、X
1 ~X
2 の範囲にはイエロ1色によるセル、X
2 ~X
3 の範囲にはイエロ及びマゼンタの混色によるセル、X
3 ~X
4 の範囲にはCMY混色によるセル(黒セル)、X
4 ~X
5 の範囲にはマゼンタ及びシアンの混色によるセル、X
5 ~X
6 の範囲にはシアン1色によるセル、それ以外の範囲には白セルが現れる。
【0030】
図中のX方向に走査した場合、各色の混色具合に応じて濃度が変化する。
図3Bの中段のグラフは、撮像画像上の濃度変化を示している。情報コードの撮像時にピントずれが生じた場合、各色のセルの輪郭はぼやけるので、輪郭部分の濃度は不連続に変化せず、色ずれがない場合と比較して緩やかに変化する。撮像画像を二値化する場合、濃度に対する閾値(二値化閾値)が設定され、濃度と閾値との間の高低が比較される。濃度が閾値より高い部分は黒セルとして認識され、濃度が閾値より低い部分は白セルとして認識される。
図3Bの下段のグラフは二値化画像における濃度変化を示している。
図3Bの例において黒セルの幅はL2であり、色ずれがない場合の幅L1と比較して若干広くなっていることが分かる。なお、色ずれが生じた場合の黒セルの幅L2は、設定された閾値の大きさやCMY各色の色のずれ方に応じて、幅L1よりも広くなる場合もあれば狭くなる場合もある。
【0031】
なお、
図3A及び
図3Bでは、説明の都合上、濃度に対する閾値を設定し、閾値との高低に基づき二値化を行う構成としたが、現実の処理としては、画像の輝度に対する閾値を設定し、輝度と閾値との高低に基づき二値化を行う構成とすればよい。
【0032】
図3A及び
図3Bを用いて説明したように、情報コードの印刷時に色ずれが生じた場合、黒セル及び白セルの幅が変化する可能性がある。黒セル及び白セルの幅が変化した場合、情報コードの読み取る際に影響がある。
【0033】
図4は情報コードを読み取る際の色ずれの影響を説明する説明図である。
図4に示す情報コードはQRコードである。QRコードの3頂点には特定の切り出しシンボルであるファインダパターンが配置される。ファインダパターンは、例えば、黒色の正方形と、その外側を囲む黒色の外枠とからなる。ファインダパターンは、読取装置にてコードを読み取る際のパターンの位置や傾きを判別するために用いられる。すなわち、ファインダパターンは、図中に示すA,B,Cの何れの方向から走査を行ったとしても、黒セルと白セルとの比率が1:1:3:1:1となるように設計されている。このため、QRコードが回転して印刷されていたとしても、ファインダパターンを手掛かりとして、QRコードの傾きを検出することができ、QRコードに付されている情報を正しくデコードすることが可能となる。
【0034】
しかしながら、CMYの3色混合により情報コードを印刷する構成では、色ずれが発生する可能性があり、色ずれが発生した場合には、上述したように、黒セル及び白セルの幅に変化が生じる場合がある。この場合、ファインダパターンを正しく認識することができず、そもそもQRコードとして認識されない可能性がある。このような状況はファインダパターンを有するQRコードに限らず、任意の情報コードにおいて起こり得る。
【0035】
そこで、本実施の形態では、ゲーム機10の情報コード読取部18において情報コードを読み取る際に、撮像画像に平滑化処理及びエッジ強調処理を含む画像処理を施し、画像処理を施した後の撮像画像から情報コードを検出して、情報コードが示す情報の読み取りを行う。
【0036】
図5は実施の形態1における情報コードの読み取り手順を示すフローチャートである。撮像部17は、載置台にセットされたゲームカードGCを撮像し、撮像画像を生成する。情報コード読取部18は、撮像部17から出力される情報コードの撮像画像を取得する(ステップS101)。
【0037】
なお、ゲーム機10にセットされるゲームカードGCは複数であってもよい。この場合、撮像部17は、複数のゲームカードGCを撮像し、複数の情報コードを含む撮像画像を生成する。情報コード読取部18は、複数の情報コードが含まれる撮像画像について以下の処理を行う。
【0038】
情報コード読取部18は、撮像部17から取得した情報コードの撮像画像に対して平滑化処理を施す(ステップS102)。平滑化処理には既存の手法が用いられる。情報コード読取部18は、例えば、ガウス分布に従ってカーネル内の重みを計算したガウシアンフィルタを用いて平滑化処理を行うことができる。ガウシアンフィルタにおけるカーネルサイズ及び標準偏差の値は、パラメータ探索により最適な値が決定される。
【0039】
例えば、ゲームカードGC側の条件として、情報コードが25×25セルからなり、色ずれがCMYの何れかでセルの最大50%の幅で生じるものと仮定する。また、読取装置側の条件として、撮像時の解像度が1920×1080ピクセル、撮像画像上の情報コードのサイズを約100×100ピクセル、かつ、ピントズレが発生するものと仮定する。パラメータ探索の結果、カーネルサイズについては7×7、標準偏差については、水平方向(x方向)に1.0、垂直方向(y方向)に1.0の場合に、情報コードの検出率が最大となった。
【0040】
情報コード読取部18は、ステップS102で平滑化処理を施した情報コードの撮像画像に対して、エッジ強調処理を施す(ステップS103)。エッジ強調処理には既存の手法が用いられる。情報コード読取部18は、平滑化処理でノイズが除去された画像に対して、強調度合いを表すパラメータを含んだカーネルを用いてフィルタ処理を施すことにより、エッジ強調処理を行うことができる。つまり、平滑化処理により画像のノイズを均しくしておくことで、ノイズの強調が抑制され、次に行うエッジの強調処理において、情報コードとして必要な部分のエッジがより強調される。強調度合いを表すパラメータは、パラメータ探索により最適な値が決定される。
【0041】
例えば、エッジ強調処理に用いるカーネルとして、以下の数1により表されるカーネルKを用いることができる。
【0042】
【0043】
ここで、数1の右辺第1項は元画像を表し、右辺第2項は二次微分を表すカーネルに強調度合いkを掛けたカーネルを表す。
【0044】
パラメータ探索の結果、強調度合いkが0.9の場合に、情報コードの検出率が最大となった。
【0045】
情報コード読取部18は、平滑化処理及びエッジ強調処理を施した撮像画像から情報コードを検出する処理を行い、情報コードの検出に成功したか否かを判断する(ステップS104)。例えば、情報コードがQRコードであれば、情報コード読取部18は、黒セルと白セルとの比率が所定の比率となるパターンを見つけ出すことにより、ファインダパターンを検出すればよい。情報コードがQRコード以外のコードであれば、当該コードについて予め規定されている検出手法に従って、情報コードを検出すればよい。また、撮像画像に複数の情報コードが含まれている場合、ステップS104で複数の情報コードの夫々を検出する処理を行えばよい。
【0046】
情報コードの検出に失敗した場合(S104:NO)、情報コード読取部18は、処理をステップS101へ戻す。
【0047】
情報コードの検出に成功した場合(S104:YES)、情報コード読取部18は、検出した情報コードから、当該情報コードが示す情報を読み取る処理を実行する(ステップS105)。情報コードの読み取りには、既存技術が用いられる。例えば、白セルと黒セルとからなる情報コードを読み取る場合、情報コード読取部18は、情報コードに含まれるファインダパターン等からコードの水平方向及び垂直方向を認識し、認識した水平方向及び/又は垂直方向に沿って、コード内の白セル及び黒セルを認識する。情報コード読取部18は、認識した白セルを0、黒セルを1のデータ列に並び替え、デコード処理を行って文字情報に変換する処理を行う。情報コード読取部18は、上述の手法に限らず、コードの種別に応じて定められた読取手法を用いることにより、情報コードを読み取ることができる。撮像画像に複数の情報コードが含まれる場合、情報コードの夫々について、情報コードが示す情報を読み取る構成とすればよい。
【0048】
情報コード読取部18は、情報コードから読み取った情報を制御部11へ出力する(ステップS106)。出力先の制御部11は、情報コード読取部18から取得した情報に基づき、例えば、ゲーム内に登場させるキャラクタの属性情報を決定し、当該属性情報を有するキャラクタをゲーム内に登場させる処理を実行する。
【0049】
以上のように、実施の形態1では、撮像画像に対して平滑化処理及びエッジ強調処理を施すので、情報コードの検出率を向上させることができ、情報コードの内容を良好に読み取ることができる。例えば、上述のようにパラメータが設定されたガウシアンフィルタやカーネルを用いて平滑化処理及びエッジ強調処理を行った場合、平滑化処理及びエッジ強調処理を行わなかった場合のデコード率(=67.5%)と比較して、デコード率を88.3%まで向上させることができた。
【0050】
本実施の形態では、撮像画像に対して平滑化処理及びエッジ強調処理を施す構成としたが、輝度補正、色調補正、コントラスト補正などの画像処理を前処理若しくは後処理に実行してもよい。
【0051】
(実施の形態2)
実施の形態2では、撮像画像をCMYの何れか1色で色分解し、色分解した後の画像から情報コードを読み取る構成について説明する。
【0052】
図6は実施の形態2において実行される色分解処理について説明する説明図である。実施の形態1において説明したように、ゲーム機10のカード発行部16は、CMY混色による情報コードをカード台紙に印刷してゲームカードGCを発行する。撮像部17は、ゲームカードGCの情報コード部分を撮像し、撮像画像を生成する。撮像部17により生成される撮像画像は、一般にはRGB(RGB : Red Green Blue)の色情報を有するデジタル形式のカラー画像である。情報コード読取部18は、例えば、RGBとCMYとの関係を記述したLUT(ルックアップテーブル)を参照して、情報コードの撮像画像をCMYに色分解することができる。
【0053】
図6の上段は色分解画像の一例を示している。簡略化のために、
図6では2色混合(例えばシアン及びマゼンタ)の例を示している。また、
図6では色成分画像を部分的に拡大して示している。情報コード読取部18は、撮像画像を色分解した後、何れか1色の色成分(例えばシアン成分)を抽出する。
図6の中段には、特定の色成分(例えばシアン成分)を抽出した色成分画像を示している。情報コード読取部18は、抽出した色成分画像を二値化し、二値化した画像から情報コードを読み取る。二値化する際の閾値には撮像画像内の最小画素値と最大画素値との間の中間値を用いることができる。
【0054】
図7は実施の形態2における情報コードの読み取り手順を示すフローチャートである。撮像部17は、ゲーム機10の所定の場所にセットされたゲームカードGCの情報コードを撮像し、撮像画像を生成する。情報コード読取部18は、撮像部17から情報コードの撮像画像を取得する(ステップS201)。
【0055】
情報コード読取部18は、撮像部17から取得した情報コードの撮像画像に対して色分解処理を施す(ステップS202)。情報コード読取部18は、撮像画像をCMYの各色に色分解し、何れか1色の色成分画像を抽出する。代替的に、情報コード読取部18は、撮像画像をCMYの何れか1色に着目して色分解してもよい。また、情報コード読取部18は、色分解後の画像に対して二値化処理や白/黒の反転処理を行ってもよい。二値化処理に用いる閾値には、最大画素値と最小画素値との中間値を用いることができる。
【0056】
情報コード読取部18は、色分解処理を施した画像に対して平滑化処理を施し(ステップS203)、平滑化処理を施した画像に対してエッジ強調処理を施す(ステップS204)。情報コード読取部18は、例えば、事前に設定されたガウシアンフィルタを用いて平滑化処理を施すことができ、事前に設定されたカーネルを用いてエッジ強調処理を施すことができる。平滑化処理により画像のノイズを均しくしておくことで、ノイズの強調が抑制され、次に行うエッジの強調処理において、情報コードとして必要な部分のエッジがより強調される。
【0057】
平滑化処理及びエッジ強調処理を施した後の手順は実施の形態1と同様である。すなわち、情報コード読取部18は、情報コードの検出に成功したか否かを判断し(ステップS205)、情報コードの検出に成功した場合(S205:YES)、情報コードが示す情報の読み取りを行い(ステップS206)、情報コードから読み取った情報を制御部11へ出力する(ステップS207)。
【0058】
以上のように、実施の形態2では、CMYの何れか1色で色分解した画像から情報コードの読み取りを行うので、色ズレに伴って黒セル及び白セルの幅が変化することを回避できる。この結果、実施の形態2では、色ずれに起因した検出精度の低下を抑えることができる。
【0059】
なお、本実施の形態では、色分解を行った後に、平滑化処理及びエッジ強調処理を行う手順としたが、平滑化処理及びエッジ強調処理を省略し、色分解した画像から直接的に情報コードを検出する処理を行ってもよい。
【0060】
(実施の形態3)
実施の形態3では、色相フィルタを用いて撮像画像から色ずれ領域を抽出し、抽出した色ずれ領域を元の画像から減算した後に、情報コードを読み取る構成について説明する。
【0061】
図8は実施の形態3において実行される色ずれ領域の分離処理について説明する説明図である。実施の形態3では、色ずれ領域は単色となるため、複数の色の重ね合わせ領域と比較して明度が高くなる特性を利用して、色ずれ領域を抽出することができる。情報コード読取部18は、撮像画像の色空間をHSV(HSV : Hue, Situration, Value)色空間に変換し、以下の範囲で色相マスクを適用することにより、対象の色成分の色ずれ領域を抽出する。
【0062】
イエロ:色相H=0~120,彩度s=64~255,明度V=128~255
シアン:色相H=120~240,彩度s=64~255,明度V=128~255
マゼンタ:色相H=240~260,彩度s=64~255,明度V=128~255
【0063】
情報コード読取部18は、色相マスクを適用して取得した色ずれ領域を元の画像から減算することで、色ずれ領域を含まない画像を生成する。情報コード読取部18は、生成した画像を二値化し、二値化した画像から情報コードを読み取る。
【0064】
図8の上段は色分解画像の一例を示している。簡略化のために、
図8では2色混合(例えばシアン及びマゼンタ)の例を示している。また、
図8では色成分画像を部分的に拡大して示している。情報コード読取部18は、色成分画像に対して上述した色相フィルタを適用し、色ずれ領域を抽出する。
図8の中段には、色成分画像からマゼンタ単色の色ずれ領域を抽出した例を示している。情報コード読取部18は、元の画像(この例では
図8の上段に示す画像)から色ずれ領域を減算し、二値化を行う。二値化する際の閾値には撮像画像内の最小画素値と最大画素値との間の中間値を用いることができる。二値化して得られる画像は、
図8の下段に示すようにマゼンタによる色ずれ領域を含まない画像となる。
【0065】
図9は実施の形態3における情報コードの読み取り手順を示すフローチャートである。撮像部17は、ゲーム機10の所定の場所にセットされたゲームカードGCの情報コードを撮像し、撮像画像を生成する。情報コード読取部18は、撮像部17から情報コードの撮像画像を取得する(ステップS301)。
【0066】
情報コード読取部18は、撮像部17から取得した情報コードの撮像画像に色相フィルタを適用し、色ずれ領域を抽出する(ステップS302)。撮像画像に色相フィルタを適用する際、情報コード読取部18は、撮像画像の色空間をHSV色空間に変換し、上述した範囲で色相フィルタを適用すればよい。
【0067】
情報コード読取部18は、元の画像(撮像画像)から色ずれ領域を減算する(ステップS303)。色ずれ領域が減算されることにより、色ずれのない画像が生成される。
【0068】
情報コード読取部18は、色ずれ領域を減算した後の画像を二値化する(ステップS304)。二値化する際の閾値には撮像画像内の最小画素値と最大画素値との間の中間値を用いることができる。
【0069】
情報コード読取部18は、二値化した後の画像に対して平滑化処理を施し(ステップS305)、平滑化処理を施した画像に対してエッジ強調処理を施す(ステップS306)。情報コード読取部18は、例えば、事前に設定されたガウシアンフィルタを用いて平滑化処理を施すことができ、事前に設定されたカーネルを用いてエッジ強調処理を施すことができる。平滑化処理により画像のノイズを均しくしておくことで、ノイズの強調が抑制され、次に行うエッジの強調処理において、情報コードとして必要な部分のエッジがより強調される。
【0070】
平滑化処理及びエッジ強調処理を施した後の手順は実施の形態1と同様である。すなわち、情報コード読取部18は、情報コードの検出に成功したか否かを判断し(ステップS307)、情報コードの検出に成功した場合(S307:YES)、情報コードが示す情報の読み取りを行い(ステップS308)、情報コードから読み取った情報を制御部11へ出力する(ステップS309)。
【0071】
以上のように、実施の形態3では、CMYの何れか1色で色分解した画像から情報コードの読み取りを行うので、色ズレに伴って黒セル及び白セルの幅が変化することを回避できる。この結果、実施の形態3では、色ずれに起因した検出精度の低下を抑えることができる。
【0072】
なお、本実施の形態では、二値化した後に、平滑化処理及びエッジ強調処理を行う手順としたが、平滑化処理及びエッジ強調処理を省略し、二値化した画像から直接的に情報コードを検出する処理を行ってもよい。
【0073】
(実施の形態4)
実施の形態4では、学習モデルを用いて情報コードの読み取り精度を向上させる構成について説明する。
【0074】
撮像部17より出力される撮像画像に情報コードの読み取りに対する阻害要因が含まれている場合、情報コード読取部18は、情報コードの内容を読み取ることができない可能性がある。例えば、情報コードをカード台紙に印刷する際に印刷ズレや掠れが発生した場合や画像に経年劣化が発生した場合などにおいて、情報コード読取部18は、情報コードの内容を良好に読み取ることができない可能性がある。また、撮像時にノイズが重畳した場合や撮像時に外光の影響を受けて全体的に又は部分的にコントラストが低下した場合などにおいて、情報コード読取部18は、情報コードの内容を良好に読み取ることができない可能性がある。
【0075】
実施の形態4では、情報コードの撮像画像を入力した場合、当該情報コードの正解画像を再現した再現画像を出力するよう学習された学習モデルMD(
図10を参照)を用いて、入力された撮像画像を再現画像に変換し、変換した再現画像から情報コードが示す情報を読み取る。学習モデルMDは、例えば、外部のサーバ装置にて生成され、情報コード読取部18のメモリにインストールされる。
【0076】
図10は学習モデルMDの構成例を示す模式図である。学習モデルMDは、例えばGAN(Generative Adversarial Network)によって構築される。GANは、生成器(ジェネレータ)MD1及び識別器(ディスクリミネータ)MD2を備える。生成器MD1は、情報コードの撮像画像から正解画像を再現した再現画像を生成するニューラルネットワークである。ここで、再現画像は、撮像画像から情報コードの本来の画像(正解画像)を推定した画像を表す。すなわち、生成器MD1は、撮像画像からノイズ、劣化、コントラスト不調、幾何歪みなどの阻害要因が除去され、情報コードの正解画像に近い画像(再現画像)を生成する。学習が進めば、生成器MD1は、より正解画像に近い再現画像を生成できるように構成される。
【0077】
識別器MD2は、入力された画像の真偽の予想結果を出力するニューラルネットワークである。識別器MD2は、訓練データとして用意される正解画像が入力された場合、「真」であるとの予想結果を出力し、生成器MD1より生成された再現画像が入力された場合、「偽」であるとの予想結果を出力するように学習される。
【0078】
学習モデルMDを構築するGANでは、予想結果の正否を基にした損失関数が生成器MD1及び識別器MD2の双方に設定される。学習の過程で、最終的に生成器MD1の損失関数を最大化し、かつ、識別器MD2の損失関数を最小化するように、各々のネットワークのパラメータ(ノード間の重みやバイアス)が順次的に更新される。すなわち、GANでは、生成器MD1が正解画像により近い偽物(再現画像)を生成し、識別器MD2が入力された画像を正しく識別するように、互いに競合して学習が進められる。
【0079】
情報コードの撮像画像から再現画像を生成するGANの一例として、pix2pixを用いることができる。pix2pixに関しては「Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros : Image-to-Image Translation with Conditional Adversarial Networks, arXiv preprint arXiv : 1611.07004 (2016)」に開示されたものを用いることができる。pix2pixに限らず、PGGAN(Progressive Growing of GANs)、CycleGANなど適宜の画像生成系のニューラルネットワークを用いてもよい。また、画像生成系のニューラルネットワークに限らず、SegNet、FCN(Fully Convolutional Network)、U-Net(U-Shaped Network)、PSPNet(Pyramid Scene Parsing Network)などの画像セグメンテーションが行える任意のニューラルネットワークを用いて構築されてもよい。更に、YOLO(You Only Look Once)、SSD(Single Shot Multi-Box Detector)など物体検出用のニューラルネットワークを用いて構築されてもよい。
【0080】
学習モデルMDは、例えば外部のサーバ装置にて生成される。サーバ装置は、情報コードの撮像画像と、当該情報コードの正解画像とを複数組含むデータセットを訓練データに用いて、pix2pixなどの所定のアルゴリズムで学習を行うことにより、学習モデルMDを生成することができる。訓練データを用意する際、コントラストを変更した撮像画像、コード部分をシフト移動した撮像画像、幾何変換をした撮像画像、ノイズを付加した撮像画像等を用意し、これらの撮像画像(加工画像)と正解画像との組をデータセットに加えてもよい。
【0081】
図10の例では、学習モデルMDが生成器MD1及び識別器MD2から構成されるものとして説明したが、学習が完了した後の運用フェーズにおいては、撮像画像から再現画像が生成できればよいので、生成器MD1による推論のみが実行されてもよい。また、情報コード読取部18のメモリに記憶される学習モデルMDは、学習済みの生成器MD1に相当するニューラルネットワークを含み、識別器MD2に相当するニューラルネットワークを含まないものであってもよい。この場合、生成器MD1に相当するニューラルネットワークの定義情報が情報コード読取部18のメモリに記憶されていればよい。
【0082】
情報コード読取部18は、情報コードの撮像画像を学習モデルMDに入力し、学習モデルMDによる演算を実行することにより、生成器MD1から出力される再現画像を取得する。情報コード読取部18は、取得した再現画像から情報コードが示す情報を読み取る。
【0083】
図11は実施の形態4における情報コードの読み取り手順を示すフローチャートである。情報コード読取部18は、実施の形態1と同様の手順を実行することによって、撮像画像から情報コードを検出する処理を行う(ステップS401~S404)。代替的に、情報コード読取部18は、実施の形態2又は実施の形態3と同様の手順を実行することによって、撮像画像から情報コードを検出する処理を行ってもよい。
【0084】
撮像画像から情報コードを検出した場合(S404:YES)、情報コード読取部18は、学習モデルMDを用いて、情報コードの正解画像を再現した再現画像を生成する(ステップS405)。具体的には、情報コード読取部18は、撮像画像を学習モデルMDに入力し、学習モデルMDによる演算を実行することによって、撮像画像を再現画像に変換すればよい。撮像画像を学習モデルMDに入力する際に、情報コードを囲む矩形領域を抽出する領域抽出処理を実行し、抽出した領域の画像のみを学習モデルMDに入力する構成としてもよい。
【0085】
情報コード読取部18は、撮像画像を変換して得られる再現画像から情報コードを読み取り(ステップS406)、読み取った情報を制御部11へ出力する(ステップS407)。
【0086】
以上のように、実施の形態4では、情報コードの撮像画像を入力した場合、当該情報コードの正解画像を再現した再現画像を出力するよう学習された学習モデルMDを用いて、撮像画像を再現画像に変換し、変換後の再現画像から情報コードが示す情報を読み取るので、撮像画像に読取阻害要因が含まれる場合であっても、情報コードが示す情報を良好に読み取ることができる。
【0087】
なお、本実施の形態では、情報コード読取部18の内部に学習モデルMDを備える構成としたが、学習モデルMDは情報コード読取部18からアクセス可能な外部のサーバ装置に搭載されてもよい。この場合、情報コード読取部18は、情報コードの撮像画像をサーバ装置へ送信し、サーバ装置に学習モデルMDによる演算を実行させ、その結果として得られる再現画像を取得すればよい。
【0088】
また、本実施の形態では、情報コードの検出に成功した場合、撮像画像を学習モデルMDに入力し、学習モデルMDによる演算を行うことにより、再現画像を取得する構成としたが、情報コードの検出に成功した後、情報コードの読み取り処理を実行し、その処理で情報の読み取りに失敗した場合、学習モデルMDに撮像画像を入力して再現画像に変換する構成としてもよい。
【0089】
今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0090】
本実施形態に関し、以下の付記を開示する。
【0091】
(1)本開示のゲーム機は、カード台紙にCMYの混色により情報コードを印刷してゲームカードを発行する発行部と、ゲームカードに印刷された情報コードを撮像する撮像部と、前記撮像部より得られる撮像画像に基づき、ゲームカードに印刷された情報コードが示す情報を読み取る読取部と、前記読取部により読み取った情報に基づき、ゲームを実行するゲーム実行部とを備え、前記読取部は、前記撮像画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、画像処理後の撮像画像から情報コードを検出し、検出した情報コードが示す情報を読み取る。
【0092】
(2)上記(1)に記載のゲーム機において、前記読取部は、前記撮像部より得られる撮像画像についてCMYの何れか1色で色分解を行い、色分解した後の画像から前記情報を読み取る。
【0093】
(3)上記(1)に記載のゲーム機において、前記読取部は、前記撮像部より得られる撮像画像について色相フィルタを用いて、色ずれ領域を抽出し、抽出した色ずれ領域を前記撮像画像から減算し、前記色ずれ領域を減算した後の画像から前記情報を読み取る。
【0094】
(4)上記(1)から(3)の何れか1つに記載のゲーム機において、前記撮像部は、複数のゲームカードの夫々に印刷された情報コードを一度に撮像する。
【0095】
(5)上記(1)から(4)の何れか1つに記載のゲーム機において、前記読取部は、情報コードの撮像画像を入力した場合、前記情報コードの正解画像を再現した再現画像を出力するよう学習された学習モデルを用いて、前記撮像部により撮像された情報コードの撮像画像を正解画像の再現画像に変換し、変換後の再現画像から、情報コードが示す情報を読み取る。
【0096】
(6)上記(5)に記載のゲーム機において、前記読取部は、検出した情報コードの読み取りに失敗した場合にのみ、前記学習モデルを用いて前記撮像画像を再現画像に変換し、変換後の再現画像から情報コードが示す情報を読み取る。
【0097】
(7)本開示の情報コード読取方法は、CMYの混色により印刷された情報コードの撮像画像を取得し、取得した撮像画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、画像処理後の撮像画像から情報コードを検出し、検出した情報コードが示す情報を読み取る処理をコンピュータにより実行する。
【0098】
(8)本開示のコンピュータプログラムは、CMYの混色により印刷された情報コードの撮像画像を取得し、取得した撮像画像に対して平滑化処理及びエッジ強調処理を含む画像処理を施し、画像処理後の撮像画像から情報コードを検出し、検出した情報コードが示す情報を読み取る処理をコンピュータに実行させる。
【符号の説明】
【0099】
10 ゲーム機
11 制御部
12 記憶部
13 操作部
14 表示部
15 入金受付部
16 カード発行部
17 撮像部
18 情報コード読取部
19 通信部
PG 読取処理プログラム
RM 記録媒体