(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-10
(45)【発行日】2024-07-19
(54)【発明の名称】ダーツピンのヒット位置識別方法、コンピュータプログラム、および装置
(51)【国際特許分類】
G06T 7/70 20170101AFI20240711BHJP
A63F 9/02 20060101ALI20240711BHJP
F41J 3/02 20060101ALI20240711BHJP
【FI】
G06T7/70 A
A63F9/02 B
F41J3/02
(21)【出願番号】P 2023132634
(22)【出願日】2023-08-16
【審査請求日】2023-08-30
(31)【優先権主張番号】10-2022-0102250
(32)【優先日】2022-08-16
(33)【優先権主張国・地域又は機関】KR
【早期審査対象出願】
(73)【特許権者】
【識別番号】515050873
【氏名又は名称】フェニックスダーツ カンパニー リミテッド
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】リー、スン・ユーン
【審査官】大宮 功次
(56)【参考文献】
【文献】米国特許出願公開第2017/0307341(US,A1)
【文献】特開2018-146227(JP,A)
【文献】韓国公開特許第10-2016-0110060(KR,A)
【文献】韓国登録特許第10-2416372(KR,B1)
【文献】韓国公開特許第10-2019-0079010(KR,A)
【文献】韓国公開特許第10-2022-0040433(KR,A)
【文献】韓国公開特許第10-2020-0042077(KR,A)
【文献】米国特許第10885388(US,B1)
【文献】米国特許出願公開第2016/0370155(US,A1)
【文献】米国特許出願公開第2011/0031696(US,A1)
【文献】中国特許出願公開第113018830(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
A63F 9/02
F41J 3/02
(57)【特許請求の範囲】
【請求項1】
コンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラムであって、前記コンピュータプログラムは、ダーツゲーム装置の1つ以上の制御部で実行される場合にダーツピンのヒット位置識別方法を提供し、
前記方法は、
第1ダーツピン投擲に対応して第1履歴情報を生成するステップ、前記第1履歴情報は、前記第1ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージ上に現れるダーツターゲットにヒットした少なくとも1つのダーツピンのヒット位置情報を含むこと;
第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得するステップ、前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含むこと;および
ダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記第2ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージに基づいて、複数のヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;
を含
み、
前記ダーツピンの位置識別ネットワークモデルは、入力層、隠れ層、および出力層を含むディープラーニングモデルであり、および前記第1履歴情報は、前記位置識別ネットワークモデルの入力データとして、前記入力層または前記隠れ層に入力される、
コンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項2】
前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップは、
前記ダーツターゲット撮影イメージに基づく入力データを前記ダーツピンの位置識別ネットワークモデルにより処理することで複数のダーツピンのヒット位置情報を生成するステップ;および
前記第1履歴情報に基づいて前記生成された複数のダーツピンのヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;
を含む、
請求項1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項3】
前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲によりヒットしたダーツピンのヒット位置情報を生成するステップは、
前記第1履歴情報を含む入力データを前記ダーツピンの位置識別ネットワークモデルにより処理することで、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を生成するステップ;
を含む、
請求項1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項4】
前記入力データは、前記ダーツターゲット撮影イメージに対応するバウンディングボックスイメージを含む、
請求項2または3に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項5】
前記ダーツターゲット撮影イメージは、予め決められた方向に位置する少なくとも2つのカメラによりそれぞれ生成される少なくとも2つのイメージである、
請求項2または3に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項6】
前記入力データは、少なくとも2つのバウンディングボックスイメージを予め決められた方向に配置したイメージを含み、前記少なくとも2つのバウンディングボックスイメージは、前記予め決められた方向に位置する少なくとも2つのカメラにより生成される前記少なくとも2つのイメージに対応する、
請求項5に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項7】
前記第1履歴情報は、第1ダーツピン投擲により決められるスコア値をさらに含む、請求項1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項8】
前記ダーツピンのヒット位置情報は、セグメント位置情報または前記セグメント上のビット位置情報のうち少なくとも1つを含む、
請求項1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項9】
第2ダーツピン投擲に対応して第2履歴情報を生成するステップ;
をさらに含む、
請求項1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項10】
ダーツゲーム装置により行われるダーツピンのヒット位置識別方法であって、
第1ダーツピン投擲に対応して第1履歴情報を生成するステップ、前記第1履歴情報は、前記第1ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージ上に現れるダーツターゲットにヒットした少なくとも1つのダーツピンのヒット位置情報を含むこと;
第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得するステップ、前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含むこと;および
ダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記第2ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージに基づいて、複数のヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;
を含
み、
前記ダーツピンの位置識別ネットワークモデルは、入力層、隠れ層、および出力層を含むディープラーニングモデルであり、および前記第1履歴情報は、前記位置識別ネットワークモデルの入力データとして、前記入力層または前記隠れ層に入力される、
方法。
【請求項11】
ダーツゲーム装置であって、
コンピュータ実行可能なコンポーネントを含むメモリ;および
メモリに格納された以下のコンピュータ実行可能なコンポーネントを実行するプロセッサ;
を含み、
前記プロセッサは、
第1ダーツピン投擲に対応して第1履歴情報を生成し、前記第1履歴情報は、前記第1ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージ上に現れるダーツターゲットにヒットした少なくとも1つのダーツピンのヒット位置情報を含むこと、
第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得し、前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含むこと、
ダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記第2ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージに基づいて、複数のヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決め
、
前記ダーツピンの位置識別ネットワークモデルは、入力層、隠れ層、および出力層を含むディープラーニングモデルであり、および前記第1履歴情報は、前記位置識別ネットワークモデルの入力データとして、前記入力層または前記隠れ層に入力される、
ダーツゲーム装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピューティング装置を用いたイメージ処理に関し、具体的には、ダーツピンのヒット位置を識別するための方法、コンピュータプログラム、および装置に関する。
【背景技術】
【0002】
一般的に、ダーツとは、「小さい矢」という意味で、数字が書かれた円心の的を矢の形をしたダーツを投げて得点を競う競技である。ダーツゲームは、矢じりの形をしたダーツと、ダーツゲーム装置があれば、誰でもいつでも楽しめるという利点がある。近年、様々な競技方式の開発とともに採点方式も整っており、レジャーとして世界へ広がり、老若男女問わず手軽にゲームを楽しんでいる。
【0003】
ダーツゲーム装置は、ダーツターゲット上に設けられたセンサまたはダーツターゲットを撮影したイメージを分析することで、ダーツターゲット上にヒットしたダーツピンのヒット位置を識別することができる。イメージ分析方法は、様々な位置のカメラにより撮影されたイメージを処理しなければならない。ルールベースのアルゴリズム用いたイメージ分析方法は、ダーツゲーム装置が様々な設置環境に置かれているという点で、ノイズなどにより精度を確保することが難しいという問題がある。ディープラーニングベースのイメージ分析方法は、十分な量のテイトセットの確保の難しさ、複数のダーツピンのヒット位置処理アルゴリズムの実現などの問題がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、前述の背景技術に対応して案出されたものであり、ダーツピンのヒット位置を識別するための方法、コンピュータプログラム、および装置を提供することを目的とする。
【0006】
本開示の技術的な課題は、以上で言及した技術的な課題に限定されず、言及していない他の技術的な課題は、以下の記載から当業者に明らかに理解できるものであろう。
【課題を解決するための手段】
【0007】
前述の課題を解決するための本開示のいくつかの実施形態によれば、コンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラムが開示される。前記コンピュータプログラムは、ダーツゲーム装置の1つ以上の制御部で実行される場合にダーツピンのヒット位置識別方法を提供し、前記方法は、第1ダーツピン投擲に対応して第1履歴情報を生成するステップ;第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得するステップ-前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含む-;およびダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;を含むことができる。
【0008】
また、前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップは、前記ダーツターゲット撮影イメージに基づく入力データを前記ダーツピンの位置識別ネットワークモデルにより処理することで複数のダーツピンのヒット位置情報を生成するステップ;および前記第1履歴情報に基づいて前記生成された複数のダーツピンのヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;を含むことができる。
【0009】
また、前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲によりヒットしたダーツピンのヒット位置情報を生成するステップは、前記第1履歴情報を含む入力データを前記ダーツピンの位置識別ネットワークモデルにより処理することで、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を生成するステップ;を含むことができる。
【0010】
また、前記入力データは、前記ダーツターゲット撮影イメージに対応するバウンディングボックスイメージを含むことができる。
【0011】
また、前記ダーツターゲット撮影イメージは、予め決められた方向に位置する少なくとも2つのカメラによりそれぞれ生成される少なくとも2つのイメージであってもよい。
【0012】
また、前記入力データは、少なくとも2つのバウンディングボックスイメージを予め決められた方向に配置したイメージを含み、前記少なくとも2つのバウンディングボックスイメージは、前記予め決められた方向に位置する少なくとも2つのカメラにより生成される前記少なくとも2つのイメージに対応することができる。
【0013】
また、前記第1履歴情報は、第1ダーツピン投擲により決められるスコア値または前記ダーツターゲットにヒットしたダーツピンのヒット位置情報のうち少なくとも1つを含むことができる。
【0014】
また、前記ダーツピンのヒット位置情報は、セグメント位置情報または前記セグメント上のビット位置情報のうち少なくとも1つを含むことができる。
【0015】
また、前記方法は、第2ダーツピン投擲に対応して第2履歴情報を生成するステップ;をさらに含むことができる。
【0016】
前述の課題を解決するための本開示のいくつかの実施形態によれば、ダーツゲーム装置により行われるダーツピンのヒット位置識別方法が開示される。前記方法は、第1ダーツピン投擲に対応して第1履歴情報を生成するステップ;第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得するステップ-前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含む-;およびダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;を含むことができる。
【0017】
前述の課題を解決するための本開示のいくつかの実施形態によれば、ダーツゲーム装置が開示される。前記装置は、コンピュータ実行可能なコンポーネントを含むメモリ;およびメモリに格納された以下のコンピュータ実行可能なコンポーネントを実行するプロセッサ;を含み、前記プロセッサは、第1ダーツピン投擲に対応して第1履歴情報を生成し、第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得し-前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含む-、ダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めることができる。
本開示から得られる技術的解決手段は、以上で言及した解決手段に限定されず、言及してない他の解決手段は、以下の記載から、本開示が属する技術分野における通常の知識を有する者に明らかに理解できるものである。
【発明の効果】
【0018】
本開示のいくつかの実施形態によれば、ダーツゲームユーザの興味を高めることができるダーツゲーム装置を提供することができる。
【0019】
本開示から得られる効果は、以上で言及した効果に限定されず、言及していない他の効果は、以下の記載から、本開示が属する技術分野における通常の知識を有する者に明らかに理解できるものであろう。
【図面の簡単な説明】
【0020】
様々な態様が図面を参照して記載され、ここで、類似の参照番号は、総括的に類似の構成要素を指すのに用いられる。以下の実施形態では、説明の目的のために、いくつかの特定の詳細が1つ以上の態様の全体的な理解を提供するために提示される。しかし、このような態様がこれらの特定の詳細なしで実施できることは明らかであろう。他の例示では、公知の構造および装置は、1つ以上の態様の実施を容易にするためにブロック図の形態で示される。
【0021】
【
図1】本開示のいくつかの実施形態によるダーツゲームシステムの一例を説明するためのブロック構成図である。
【
図2】本開示のいくつかの実施形態によるダーツゲーム装置の一例を説明するためのブロック構成図である。
【
図3】本開示のいくつかの実施形態によるダーツゲーム装置の一例を説明するための他の図である。
【
図4】本開示のいくつかの実施形態によるダーツゲーム装置により行われるダーツピンのヒット位置識別方法の一例を説明するためのフローチャートである。
【
図5】本開示のいくつかの実施形態によるダーツゲーム装置により行われるダーツピンのヒット位置識別方法の一例を説明するための他のフローチャートである。
【
図6a】ダーツターゲット撮影イメージを説明するための図である。
【
図6b】ダーツターゲット撮影イメージを説明するための他の図である。
【
図7a】本開示のいくつかの実施形態による例示的なダーツピンの位置識別モデルを説明するための図である。
【
図7b】本開示のいくつかの実施形態による例示的なダーツピンの位置識別モデルを説明するための他の図である。
【
図8】本開示のいくつかの実施形態によるコンピューティング装置により行われるダーツピンの位置識別方法のためのトレーニングデータセットを生成する方法の一例を説明するためのフローチャートである。
【
図9】本開示のいくつかの実施形態によるネットワーク関数を示す概略図である。
【
図10】本開示の実施形態を実現可能な例示的なコンピューティング環境に対する簡単で一般的な概略図である。
【発明を実施するための形態】
【0022】
以下、多様な実施例及び/又は様相を、図面を用いて開示していく。下記の説明において、説明のために、1つ以上の様相に対する全般的な理解を助けるために多数の具体的な細部事項を開示する。しかし、このような(複数の)様相は、このような具体的な細部事項がなくても実行できるということを、本開示の技術分野における通常の知識を持つ者は認知することが可能である。以下に記載及び添付されている図面は、1つ以上の様相の特定の例示的様相について詳細に記述している。しかし、これらの様相は例示的なものであり、多様な様相の原理に基づく多様な方法のうち一部が利用される場合もあり、ここに述べられている説明は、そのような様相及びそれらの均等物をすべて含むという意図を持っている。具体的に、本明細書に用いられている「実施例」、「例」、「様相」、「例示」等の用語は、必ずしも、ここに述べられている任意の様相又は設計が、他の様相又は設計より優れていたり、利点があると解釈されるとは限らない。
【0023】
以下、図面の符号と関係なく、同一又は類似の構成要素に対しては同一の参照番号を付し、それに係る重複する説明は省略する。さらに、本明細書に開示されている実施例を説明する際、それに係る公知の技術に関する具体的な説明が、本明細書に開示されている実施例の要旨を不明確にする可能性があると判断される場合は、その詳細な説明を省略する。また、添付の図面は、本明細書に開示されている実施例に対する理解をより容易にするためのものに過ぎず、添付の図面によって本明細書に開示されている技術的思想が制限されるわけではない。
【0024】
「第1」、「第2」等の表現が、多様なエレメントや構成要素について述べるために使われているが、これらのエレメントや構成要素がこれらの用語によって制限されるわけではない。これらの用語は、単にある1つの素子や構成要素を他の素子や構成要素と区別するために使われているだけである。従って、以下に記載される第1のエレメントや構成要素は、本発明の技術的思想の中で第2のエレメントや構成要素にもなり得る。
【0025】
別段の定義がない限り、本明細書において使われているすべての用語(技術及び科学的用語を含む)は、本発明が属する技術分野における通常の知識を有する者にとって、共通して理解できる意味で使うことが可能である。また、一般的な辞書に定義されている用語は、別段の定義がない限り、理想的に又は過度に解釈されないものとする。
【0026】
なお、用語「又は」は、排他的な「又は」ではなく、内包的な「又は」を意味する意図で使われる。つまり、特に特定されておらず、文脈上明確ではない場合、「Xは、A又はBを利用する」は、自然な内包的置換のうち1つを意味するものとする。つまり、XがAを利用したり;XがBを利用したり;又はXがA及びBの両方を利用する場合、「XはA又はBを利用する」は、これらのいずれにも当てはまるとすることが可能である。また、本明細書における「及び/又は」という用語は、取り挙げられた複数の関連アイテムのうち、1つ以上のアイテムの可能なすべての組み合わせを指し、含むものと理解されるべきである。
また、述語としての「含む(含める)」及び/又は修飾語としての「含む(含める)」という用語は、当該特徴及び/又は構成要素が存在することを意味するが、1つ以上の他の特徴、構成要素及び/又はこれらのグループの存在又は追加を排除しないものと理解される。また、特に数が特定されていない場合や、単数を示すことが文脈上明確でない場合、本明細書と請求範囲において単数は、一般的に「1つ又はそれ以上」を意味するものと解釈すべきである。
また、本明細書において用いられる用語「情報」と「データ」は、時々相互置き換え可能に用いられることができる。
【0027】
構成要素(elements)又は階層について、他の構成要素又は階層に対し「の上(on)」又は「上(on)」と記されるのは、他の構成要素又は階層の直上だけを指すのではなく、その間に他の階層又は他の構成要素が介在している場合をも含む。一方、構成要素に対し「直上(directly on)」又は「真上」と記されるのは、間に他の構成要素又は階層が介在していないことを意味する。
【0028】
空間的に相対的な用語である「下(below)」、「下(beneath)」、「下部(lower)」、「上(above)」、「上部(upper)」等は、図面に示されているように、一つの構成要素又は他の構成要素との相関関係を容易に記述するために用いられることが可能である。空間的に相対的な用語は、図面に示されている方向に加えて、使用時、又は、動作時における各素子のそれぞれ異なる方向を含む用語として理解すべきである。
【0029】
例えば、図面に示されている構成要素を逆様にした場合、他の構成要素に対し「下(below)」又は「下(beneath)」と記述されている構成要素は、他の構成要素の「上(above)」に置かれることになる場合がある。従って、例示的な用語である「下」は、下と上の方向を両方含むことが可能である。構成要素は他の方向に配向されることも可能であり、従って、空間的に相対的な用語は、配向によって解釈が変わる場合がある。
【0030】
ある構成要素が他の構成要素に「繋がって」いたり「連結されて」いたり、「接続して」いると記載された場合は、当該他の構成要素に直接繋がっていたり、連結されていたり又は接続していることもあり得るが、その間に他の構成要素が介在していることもあり得ると解釈すべきである。一方、ある構成要素が他の構成要素に「直接繋がって」いたり、「直接連結されていたり」、「直接接続して」いると記述されている場合は、その間に他の構成要素が存在しないと解釈すべきである。
【0031】
以下の説明で用いられる構成要素に係る接尾語の「モジュール」及び「部」は、明細書作成を容易にするためだけの目的で付されたり混用されているものであり、これらの接尾語自体がそれぞれ異なる特定の意味や役割を持つわけではない。
【0032】
本開示の目的及び効果、そしてそれらを達成するための技術的構成は、添付の図面とともに詳しく後述する実施例を参照することで明確になる。本開示の説明において、公知の機能又は構成に係る具体的な説明が、本開示の要旨を不明確にする可能性があると判断される場合は、その詳しい説明を省略する。そして後述の用語は、本開示における機能を考慮して定義された用語であり、これは利用者や運用者の意図又は慣例等によって変わることがあり得る。
【0033】
しかし、本開示は、以下に開示される実施例によって限定されるものではなく、多様な形で具現化されることが可能である。ただ、これらの実施例は、本開示を完全なものにし、本開示が属する技術分野における通常の知識を持つ者に開示の範囲を完全に理解させるために提供されるものであり、本開示は、請求項の範囲によって定義されるものである。従って、その定義は、本明細書全般において記載されている内容に基づき決められるべきである。
【0034】
以下に
図1乃至
図10を用いて本開示におけるダーツゲーム装置、ダーツゲームシステム、そしてダーツゲーム装置を活用したダーツゲーム方法について説明する。一方、本開示において説明を容易にするために、ダーツゲームを行うプレイヤーとダーツゲームをプレイするダーツゲーム装置とを区別して記載せず混用しており、添付の図面は本明細書において開示されている実施例を理解しやすくするためのものに過ぎず、添付の図面によって本明細書に開示されている技術的思想が制限されるわけではなく、本発明の思想及び技術範囲に含まれるあらゆる変更、均等物乃至代替物を含むものと理解されるべきである。 以下、
図1~
図10を参照して、本開示に係るダーツゲーム装置、ダーツゲームシステム、およびダーツゲーム装置を活用したダーツゲーム方法について説明する。一方、本開示では、説明の便宜上、ダーツゲームを行うプレイヤーとダーツゲームをプレイするダーツゲーム装置は、互いに区別して記載せず、互いに混用し、添付の図面は、本明細書に開示された実施形態を容易に理解できるようにするためのものにすぎず、添付の図面により本明細書に開示された技術的思想が限定されるものではなく、本発明の思想および技術範囲に含まれるすべての変更、等価物、または代替物を含むものと理解されるべきである。
【0035】
図1は、本開示のいくつかの実施形態によるダーツゲームシステムの一例を説明するためのブロック構成図である。
【0036】
図1を参照すれば、ダーツゲームシステム10000は、ダーツゲーム装置1000、少なくとも1つの他のデバイス2000、ダーツゲームサーバ3000、およびネットワーク4000を含むことができる。ただし、前述の構成要素は、ダーツゲームシステム10000を実現する上で必須的なものではないため、ダーツゲームシステム10000は、前記に列挙した構成要素よりも多いかまたは少ない構成要素を有することができる。
【0037】
ダーツゲーム装置1000は、オンライン上でダーツゲームに参加しているプレイヤーにダーツゲームを提供することができる。ただし、ダーツゲーム装置1000は、プレイヤーにオンラインダーツゲームのみを提供するのではなく、オフラインダーツゲームを提供してもよい。以下、本開示に係るダーツゲーム装置1000の一例は、
図2~
図10を参照して説明する。
【0038】
他のデバイス2000は、ダーツゲーム装置1000以外のプレイヤーと関連するデバイスのうち少なくとも1つであってもよい。例えば、他のデバイス2000は、ダーツゲーム装置1000以外の他のダーツゲーム装置、ダーツゲーム装置1000と関連するモバイルデバイス(例えば、ダーツゲーム関連ソフトウェアがインストールされたユーザのスマートフォンなど)、またはサーバなどであってもよい。
【0039】
一例として、他のデバイス2000aは、ダーツゲーム装置1000から提供されるダーツゲームに参加中であるか、またはダーツゲームに参加するために待機中である少なくとも1つのダーツゲーム装置であってもよい。
【0040】
他の一例として、他のデバイス2000bは、ダーツゲーム装置1000と連動し、ダーツゲーム装置1000が参加中であるダーツゲームに関する情報をプレイヤーに表すためのモバイルデバイスであってもよい。
【0041】
また他の一例として、他のデバイス2000cは、複数のダーツゲーム装置に同一のダーツゲームを提供するためのサーバであってもよい。ここでのサーバは、
図1に示されたダーツゲームサーバ3000と同一の装置であるか、または物理的に分離した他のサーバであってもよい。ただし、これに限定されるものではない。
【0042】
ダーツゲームサーバ3000は、例えば、マイクロプロセッサ、メインフレームコンピュータ、デジタルプロセッサ、ポータブルデバイス、またはデバイスコントローラなどの任意のタイプのコンピュータシステムまたはコンピュータデバイスを含むことができる。
【0043】
本開示において、ダーツゲームサーバ3000は、オンライン上で進行するダーツゲームに参加するダーツゲームプレイヤーを決めることができる。
【0044】
具体的に、ダーツゲームサーバ3000は、第1ゲームに参加した複数のデバイスから第1プレイ結果情報を受信することができる。そして、ダーツゲームサーバ3000は、第1プレイ結果情報に基づいて、第2ゲームに参加する複数のプレイヤーを決めることができる。ここで、プレイ結果情報は、ダーツゲームに参加したプレイヤーがダーツゲームを進行することで生成されるダーツゲームの結果に関する情報であってもよい。プレイ結果情報は、ダーツゲームのプレイに応じて生成される任意の形態の結果情報を含むことができる。
【0045】
一例として、プレイ結果情報は、プレイヤーそれぞれのダーツゲーム結果と関連するランキングに関する情報、プレイヤーそれぞれのダーツゲーム結果と関連するスコアに関する情報、プレイヤーのダーツゲームをプレイする画像に関する情報、プレイヤーを表す予め格納された画像に関する情報、プレイヤーそれぞれがダーツゲームを終了した時間に関する情報、またはダーツゲームに参加したプレイヤーそれぞれの識別情報のうち少なくとも1つを含むことができる。ただし、これに限定されるものではない。
【0046】
例えば、ダーツゲームサーバ3000は、第1プレイ結果情報に含まれたランキング(ranking)に関する情報に基づいて、既に設定されたランキングを有する複数のプレイヤーを第2ダーツゲームに参加するプレイヤーに決めることができる。ただし、これに限定されるものではない。
【0047】
本開示において、ダーツゲームサーバ3000は、複数で構成されることができる。そして、複数のダーツゲームサーバそれぞれは、ダーツゲーム装置1000または他のデバイス2000それぞれに少なくとも1つのダーツゲームを分配することができる。
【0048】
1つのダーツゲームサーバ3000で構成されるダーツゲームシステム10000は、ネットワークなどの限界により、プレイヤーに快適なダーツゲームを提供し難いことがある。したがって、本開示の一実施形態において、ダーツゲームサーバ3000は、複数で構成されてもよい。複数のダーツゲームサーバそれぞれは、少なくとも1つのダーツゲームセッションまたは少なくとも1つのサブセッションをプレイヤーに分配することができる。ただし、これに限定されるものではない。
【0049】
ネットワーク4000は、有線および無線など、その通信態様を問わず構成され、ローカルエリアネットワーク(LAN:Local Area Network)、広域ネットワーク(WAN:Wide Area Network)などの様々な通信網で構成されることができる。
【0050】
本開示において、ネットワーク4000またはダーツゲームサーバ3000は、クラウド(cloud)ベースのシステムであってもよい。ここで、クラウドベースのシステムは、ネットワークリソース(resource)をユーザ(ダーツゲーム装置)が共有するシステムであり、ユーザが必要な分だけ借りて所望の時点でネットワークを介して使用するコンピューティング環境であってもよい。このようなクラウドベースのシステムは、パブリッククラウド(Public Cloud)、プライベートクラウド(Private Cloud)、ハイブリッドクラウド(Hybrid Cloud)、コミュニティクラウド(Community Cloud)のような配置モデル(Deployment Model)、またはIaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(Software as a Service)のようなサービスモデル(Service Model)などを含むことができる。ただし、本開示におけるネットワーク4000またはダーツゲームサーバ3000は、このようなクラウドベースのシステムに限定されるものではなく、中央集中方式またはエッジコンピューティング方式のネットワーク4000またはダーツゲームサーバ3000も本開示内容の実施形態により実現可能である。
【0051】
前述の構成によれば、ダーツゲームシステム10000は、ダーツゲーム装置1000、他のデバイス2000、およびダーツゲームサーバ3000で構成され、オンライン上でダーツゲームに参加している複数のプレイヤーにリアルタイムでダーツゲームを提供することができる。
【0052】
一方、ダーツゲーム装置1000または他のデバイス2000は、プレイヤーがダーツゲームを実行できるようにする構成要素を含むことができる。以下、
図2~
図3を参照して、本開示に係るダーツゲーム装置1000の構成要素について説明する。
【0053】
図2は、本開示のいくつかの実施形態によるダーツゲーム装置の一例を説明するためのブロック構成図である。
図3は、本開示のいくつかの実施形態によるダーツゲーム装置の一例を説明するための他の図である。
【0054】
図2を参照すれば、ダーツゲーム装置1000は、制御部100、格納部110、ディスプレイ部120、カバー部130、カメラ部140、ネットワーク通信部150、センシング部160、ユーザ入力部170、照明部180、音響出力部190、ダーツターゲット部200、およびボディ構造体300のうち少なくとも1つを含むことができる。ただし、これに限定されるものではない。
【0055】
制御部100は、通常、ダーツゲーム装置1000の全般的な動作を処理することができる。制御部100は、ダーツゲーム装置1000の構成要素を介して入力または出力される信号、データ、情報などを処理するかまたは格納部110に格納されたアプリケーションプログラムを駆動することで、ユーザに適切な情報または機能を提供または処理することができる。
【0056】
例えば、ダーツゲームの場合、制御部100は、センシング部160を介して検知されたプレイヤーのダーツピン投擲に対するスコアを決めることができる。また、制御部100は、決められたスコアをネットワーク通信部150を介して他のデバイス2000に送信することができる。また、制御部100は、ネットワーク通信部150を介して、他のデバイス2000からダーツゲームと関連するスコアを含むプレイ関連データを受信することができる。そして、制御部100は、他のプレイヤーのスコアを含むプレイ関連データおよびダーツゲーム装置で決められたスコアに基づいて、ダーツゲームに関する情報がディスプレイ部120に表示されるようにディスプレイ部120を制御することができる。ここで、プレイ関連データは、ダーツゲームに参加したプレイヤーがダーツゲームを進行することで生成されるかまたはダーツゲームに参加するために使用できるすべての情報を含むデータであってもよい。そして、プレイ関連データは、ダーツゲームが変更される時点で再び受信されることができる。
【0057】
例えば、プレイ関連データは、ダーツゲームに参加したプレイヤーそれぞれの識別情報、ダーツゲームに参加したプレイヤーそれぞれのダーツゲームと関連するランキングに関する情報、プレイヤーのダーツゲームをプレイする画像に関する情報、ダーツゲームに参加したプレイヤーそれぞれのダーツゲームに関するプレイ結果データ、プレイヤーを表す予め格納された画像に関する情報、またはダーツゲームに参加したプレイヤーそれぞれのダーツゲームと関連するスコアに関する情報のうち少なくとも1つを含むことができる。
【0058】
本開示のいくつかの実施形態において、制御部100は、ダーツピンのヒット位置識別方法を実行することができる。ダーツピンのヒット位置識別方法は、
図4~
図7を参照して詳しく説明する。
【0059】
本開示のいくつかの実施形態において、制御部100は、ダーツピンの位置識別のためのトレーニングデータセットを生成する方法を実行することができる。ダーツピンの位置識別のためのトレーニングデータセットを生成する方法は、
図8を参照して詳しく説明する。
【0060】
格納部110は、メモリおよび/または永久ストレージ媒体を含むことができる。メモリは、フラッシュメモリタイプ(flash memory type)、ハードディスクタイプ(hard disk type)、マルチメディアカードマイクロタイプ(multimedia card micro type)、カードタイプのメモリ(例えば、SDまたはXDメモリなど)、RAM(Random Access Memory)、SRAM(Static Random Access Memory)、ROM(Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、PROM(Programmable Read-Only Memory)、磁気メモリ、磁気ディスク、光ディスクのうち少なくとも1つのタイプのストレージ媒体を含むことができる。
【0061】
格納部110は、ダーツゲームと関連する少なくとも1つの画像を予め格納していてもよい。この場合、制御部100は、ネットワーク通信部150を介して他のデバイス2000のプレイ関連データを受信することで、予め格納された少なくとも1つの画像のうち、プレイ関連データと関連するディスプレイ画像を決めることができる。そして、ディスプレイ部120は、決められたディスプレイ画像を表示することができる。
【0062】
具体的に、ディスプレイ部120に表示されるダーツゲームに関する情報は、他のデバイス2000のプレイヤーのプレイ関連画像であってもよい。ネットワーク通信部150が他のデバイス2000からカメラ部を介して撮影された画像を直接受信した場合、ディスプレイ部120は、受信された画像を表示することができる。
【0063】
しかし、ダーツゲーム装置1000と他のデバイス2000との間のトラフィック(traffic)状況に応じて、ネットワーク通信部150は、他のデバイス2000からプレイ関連画像を含まないプレイ関連データのみを受信してもよい。この場合、制御部100は、格納部110に予め格納された少なくとも1つの画像のうち、プレイ関連データと関連するディスプレイ画像をディスプレイ部120に表示するディスプレイ画像に決めることができる。
【0064】
例えば、制御部100は、ネットワーク通信部150を介して受信した他のデバイス2000のプレイ関連データに基づいて、他のデバイス2000のプレイヤーがトリプル(triple)領域に該当するスコアを当てたと決めることができる。この場合、制御部100は、格納部110に予め格納された複数のディスプレイ画像のうち、トリプルと関連するディスプレイ画像をディスプレイ部120に表示するディスプレイ画像に決めることができる。
【0065】
本開示のいくつかの実施形態によれば、格納部110は、カメラ部140を介して生成されるダーツターゲット撮影イメージまたはダーツターゲット撮影トレーニングイメージを格納することができる。他の例として、格納部110は、外部から受信するダーツターゲット撮影イメージまたはダーツターゲット撮影トレーニングイメージを格納することができる。
【0066】
ディスプレイ部120は、ダーツゲーム装置1000で処理される情報を表示(出力)することができる。
【0067】
例えば、ディスプレイ部120は、ネットワーク通信部150を介して受信した他のデバイス2000のプレイ関連データに基づいて、ダーツゲームに関する情報を表示することができる。ここで、ダーツゲームに関する情報は、他のデバイス2000のプレイヤーのプレイ関連画像であるか、または他のデバイス2000のダーツゲームのプレイ結果情報に基づいて生成された画像であってもよい。
【0068】
ディスプレイ部120は、ダーツゲーム装置1000の前面に設けられることができる。
【0069】
一例として、
図3の(a)を参照すれば、ディスプレイ部120は、ダーツゲーム装置1000の前面に設けられ、ダーツゲームに関する情報を表示することができる。
【0070】
本開示において、ディスプレイ部120は、複数のディスプレイ領域を含むことができる。例えば、ディスプレイ部120は、第1ディスプレイ領域121および第2ディスプレイ領域122を含むことができる。第1ディスプレイ領域121および第2ディスプレイ領域122それぞれは、制御部100により独立に制御されてもよい。または、第1ディスプレイ領域121および第2ディスプレイ領域122にわたって単一のイメージが実現されるように、第1ディスプレイ領域121および第2ディスプレイ領域122それぞれが制御部100により制御されることができる。一例として、第1ディスプレイ領域121および第2ディスプレイ領域122は、互いに独立したディスプレイモジュールの形態で動作することができる。他の例として、第1ディスプレイ領域121および第2ディスプレイ領域122は、別個の独立したモジュールではなく、1つのモジュールであってもよい。
【0071】
図3の(b)を参照すれば、ディスプレイ部120は、少なくとも1つのディスプレイユニットで実現されることができる。また、少なくとも1つのディスプレイユニットそれぞれは、制御部100により独立に制御されることができる。
【0072】
例えば、ディスプレイ部120は、ダーツターゲット部200の下部に位置し、第1ディスプレイ領域121を備える第1ディスプレイユニット、およびダーツターゲット部200の上部に位置し、第2ディスプレイ領域122を備える第2ディスプレイユニットを含むことができる。そして、第1ディスプレイユニットおよび第2ディスプレイユニットそれぞれは、制御部100により独立に制御されることができる。
【0073】
カバー部130は、ディスプレイ部120と隣接して設けられ、ディスプレイ部120を保護することができる。
【0074】
例えば、
図3の(a)を参照すれば、カバー部130は、スローラインから上方に延びた仮想の面とディスプレイ部120との間に位置することができる。この場合、カバー部130は、ディスプレイ部120と隣接して位置することで、ディスプレイ部120の破損のリスクを減少させることができる。
【0075】
再び
図2を参照すれば、カメラ部140は、1つ以上のカメラを含むことができる。カメラ部140で処理された画像フレームは、格納部110に格納されるか、またはネットワーク通信部150を介して外部に送信されることができる。カメラ部140は、使用環境に応じて2つ以上設けられることができる。
【0076】
本開示において、ダーツゲーム装置1000の制御部100は、カメラ部140を介して撮影されたプレイヤーが含まれた画像に基づいて、ダーツゲーム装置1000に関するプレイヤーのログイン要求を受諾または拒絶することができる。
【0077】
一例として、制御部100は、ユーザ入力部170を介して、プレイヤーからダーツゲーム装置1000にログインするための入力を受けることができる。この場合、制御部100は、ユーザ入力部170を現在操作しているプレイヤーが含まれた画像が撮影されるようにカメラ部140を制御することができる。制御部100は、予め格納されたプレイヤーの識別情報に含まれた顔情報と撮影された画像から認識された顔情報との比較に基づいて、プレイヤーのログイン要求を受諾または拒絶することができる。
【0078】
他の例として、制御部100は、ディスプレイ部120を介してユーザのログイン入力を要求することができる。ディスプレイ部120は、制御部100の制御に応じて、ユーザがカメラ撮影を介したログインまたはユーザ入力部170を介したログインを実行するように必要な情報を出力することができる。
【0079】
また他の例として、制御部100は、他のデバイス2000との通信を介してダーツゲーム装置1000へのユーザログインを許可してもよい。この場合、制御部100は、他のデバイス2000とのユーザ認証のための情報が送受信されるようにネットワーク通信部150を制御することができる。
【0080】
本開示において、制御部100は、プレイヤーの最初のログイン動作後にも、予め格納されたプレイヤーの識別情報に含まれた顔情報と撮影された画像から認識された顔情報とを比較することができる。
【0081】
具体的に、制御部100は、ダーツゲーム装置1000のプレイヤーと関連するプレイ画像を他のデバイス2000に送信するために、カメラ部140を介してプレイ画像を撮影することができる。制御部100は、新たに撮影されたプレイ画像から認識された顔情報と、ログイン時に用いられた識別情報に含まれた顔情報とを比較することができる。制御部100は、比較結果に基づいて、現在のプレイヤーがログイン当時のプレイヤーと同一のプレイヤーであるか否かを決めることができる。この場合、ダーツゲーム装置1000および他のデバイス2000がオンラインでダーツゲームに参加することにより発生し得る代理プレイヤーの参加のような不正行為が防止されることができる。ここで、代理プレイヤーは、ダーツゲーム装置1000にログインしたプレイヤー以外のプレイヤーであってもよい。
【0082】
他の例として、制御部100は、プレイヤーのプレイ動作を含む予め格納されたプレイ画像と当該プレイヤーの現在のプレイ画像とを比較することで、ダーツゲームプレイヤーの不正行為の有無を判断することができる。例えば、現在のプレイ画像に含まれたプレイヤーのダーツピン投影画像が、当該プレイヤーの過去のダーツピン投影画像と予め決められた閾値以上の差がある場合、制御部100は、現在のダーツピン投影画像の不正行為の可能性が高いと決めることができる。2つ以上の画像を比較するにあたり、画像処理または画像分析と関連する任意のディープラーニングアルゴリズムを用いることができる。
【0083】
本開示のいくつかの実施形態において、カメラ部140は、制御部100の制御により、ダーツターゲット撮影イメージまたはダーツターゲット撮影トレーニングイメージを生成することができる。
【0084】
ネットワーク通信部150は、有線および無線など、その通信態様を問わず構成され、ローカルエリアネットワーク(LAN:Local Area Network)、広域ネットワーク(WAN:Wide Area Network)などの様々な通信網で構成されることができる。
【0085】
ネットワーク通信部150は、他のデバイス2000またはダーツゲームサーバ3000とのネットワークの連結状態およびネットワークの送受信速度を検知することができる。ただし、これに限定されず、ネットワークの送受信速度と関連するトラフィック情報などは、ダーツゲームサーバ3000から受信されてもよい。
【0086】
ネットワーク通信部150を介して受信されたデータは、ディスプレイ部120に表示されるか、または他のデバイス2000に送信されることができる。
【0087】
一例として、ネットワーク通信部150は、他のデバイス2000またはダーツゲームサーバ3000からダーツゲームと関連するデータを受信した場合、受信されたデータをモバイルデバイスのような他のデバイスに送信してもよい。本開示に係るダーツゲームの提供方法は、2つ以上のデバイスが同一のダーツゲームに参加するようにすることができる。これにより、ダーツゲーム装置1000のプレイヤーは、1人、2人、またはそれ以上の複数のプレイヤーが同一のダーツゲームに参加するまで待たなければならない場合がある。したがって、ネットワーク通信部150は、ダーツゲームと関連するデータをプレイヤーのモバイルデバイスなどに送信することができる。この場合、プレイヤーは、休憩などを取りつつ、モバイルデバイスを介して他のプレイヤーとのマッチング(matching)が行われたか否かを確認することができる。
【0088】
本開示のいくつかの実施形態によれば、制御部100は、ダーツゲームに参加するプレイヤーの数が満たされておらず、他のプレイヤーを待つ状況である場合、ダーツゲーム装置1000のプレイヤーにオフラインダーツゲームを提供することができる。
【0089】
具体的に、制御部100は、ユーザ入力部170を介して、プレイヤーからダーツゲームに参加するための入力を受けることができる。この場合、制御部100は、ダーツゲームを生成するか、または既に生成された複数のダーツゲームのいずれかに参加することができる。しかし、他のデバイス2000のプレイヤーの数が不足している場合、ダーツゲーム装置1000のプレイヤーは、マッチングが行われるまで待たなければならない場合がある。この場合、制御部100は、他のプレイヤーとのマッチングが行われるように他のプレイヤーを検索することと連動し、ダーツゲーム装置1000のプレイヤーにはオフラインダーツゲームを提供することができる。
【0090】
本開示のいくつかの実施形態によれば、ダーツゲームに参加するプレイヤーの数が不足している場合、ダーツゲームサーバ3000によりダミー(dummy)プレイヤーが生成されてもよい。ここで、ダミープレイヤーは、実際のプレイヤーではなく、仮想プレイヤーであってもよい。そして、ダーツゲームサーバ3000は、生成されたダミープレイヤーをプレイヤーの数が不足している少なくとも1つのダーツゲームに参加させることができる。一例として、ダミープレイヤーは、実際のプレイヤーのプレイ結果データに基づいて生成されることができるため、ダミープレイヤーとプレイする実際のプレイヤーが、あたかも実際の相手プレイヤーとリアルタイムでダーツゲームを進行するかのように、任意の実際のプレイヤーと同様な形態のプレイを行うことができる。以下、本開示に係るダーツゲームサーバ3000がダミープレイヤーを生成する方法の一例は、
図10を参照して説明する。
【0091】
センシング部160は、ダーツターゲット部200に対して行われたプレイヤーのプレイを検知することができる。例えば、センシング部160は、ダーツピンのヒット位置を検知することができる。センシング部160は、ダーツがヒットした領域に相応するスコアを電気的に変換して制御部100に送信することができる。また、センシング部160は、ダーツピンがヒットした領域に関する情報を制御部100に送信することができ、制御部100は、センシング部160から取得したダーツピンのヒット位置に関する情報に基づいてスコアを演算することができる。
【0092】
例えば、センシング部160は、投擲されたダーツピンによりダーツターゲットに加えられる圧力をセンシングすることができる。この場合、センシング部160が投擲されたダーツピンによりダーツターゲットに加えられる圧力をセンシングしたという情報を制御部100に送信することができる。そして、制御部100は、ダーツピンのヒット位置を検知するために、カメラ部140によりダーツターゲットを撮影するように制御することができる。制御部100は、撮影されたイメージを用いてダーツピンのヒット位置に関する情報を取得することができ、撮影されたイメージを用いて取得したダーツピンのヒット位置に関する情報に基づいてスコアを演算することができる。
【0093】
ユーザ入力部170は、ダーツゲーム装置1000を制御するためのユーザの入力を受信することができる。
【0094】
例えば、
図3の(b)を参照すれば、ユーザ入力部170は、キーパッド、ドームスイッチ、タッチパッド(静圧/静電)、ジョグホイール、ジョグスイッチのうち少なくとも1つで実現されることができる。ただし、これに限定されるものではない。
【0095】
また、ユーザ入力部170は、近距離通信部(図示せず)を含むことができる。ユーザ入力部170がネットワーク通信部150の近距離通信部を含む場合、ユーザ入力部170は、外部コンソールデバイスにより入力されたユーザ入力を受信するように構成されることができる。近距離通信(short range communication)技術としては、ブルートゥース(Bluetooth)(登録商標)、RFID(Radio Frequency Identification)、赤外線通信(IrDA、infrared Data Association)、UWB(Ultra Wideband)、ZigBeeなどを用いることができる。
【0096】
照明部180は、ダーツゲーム装置1000の様々な部分に配置され、ダーツゲーム装置1000のプレイヤーに視覚的効果を伝達することができる。
【0097】
例えば、
図3の(a)を参照すれば、第1照明部180-1は、ボディ構造体300の前面方向の突出部に沿って垂直方向に延びて形成されることができる。そして、第2照明部180-2は、ボディ構造体300の前面の下部に配置されることができる。そして、第1照明部180-1および第2照明部180-2は、ダーツゲーム装置1000のイベント発生を知らせるための信号を出力することができる。ダーツゲーム装置1000で発生するイベントの例としては、ダーツゲームプレイヤーの識別、ダーツの命中、ダーツゲームプレイヤーの変更、ゲームの終了などが挙げられる。
【0098】
また、照明部180-1、180-2は、LED(Light Emission Diode)を含むことができるため、LEDの点滅により、ユーザにイベント発生を知らせることができる。さらに、照明部180は、ダーツピンがダーツターゲット部に到達した位置に応じて発光の形態、発光の強度、または点滅周期を可変させて出力することができる。
【0099】
さらに、照明部180-1、180-2は、制御部100により決められたプレイヤーのログイン要求の受諾と連動し、予め設定されたパターンの照明を出力してもよい。ここで、予め設定されたパターンの照明は、ダーツゲーム装置1000のプレイヤーから予めに決められることができる。
【0100】
再び
図2を参照すれば、音響出力部190は、ゲームの効果音、ゲーム動作の案内、ゲーム方法の説明など、格納部110に格納されたオーディオデータを出力することができる。また、音響出力部190は、ダーツゲーム装置1000で行われる機能(例えば、ゲーム効果音)と関連する音響信号を出力してもよい。このような音響出力部190は、レシーバー(Receiver)、スピーカー(speaker)、ブザー(Buzzer)などを含むことができる。さらに、音響出力部190は、ダーツピンがダーツターゲットに到達した位置に応じて音量/音楽の種類を可変させて出力することができる。
【0101】
本開示において、音響出力部190は、ダーツゲーム装置1000のプレイヤーのダーツゲームプレイ関連データに基づいて、予め格納された複数の音響、音楽、または音声のうち、プレイ関連データに対応する音響、音楽、または音声を出力することができる。
【0102】
具体的に、ダーツゲーム装置1000の制御部100は、プレイヤーのログイン要求を受諾した場合、プレイヤーの以前のプレイ関連データを認識することができる。制御部100は、以前のプレイ関連データに基づいて、既に設定された音響などを出力するように音響出力部190を制御することができる。または、制御部100は、プレイヤーのログイン要求を受諾した場合、プレイヤーの識別情報に基づいて、予め格納された音響、音楽、または音声メッセージなどが存在するか否かを決めることができる。そして、制御部100は、予め格納された音響、音楽、または音声メッセージのうち少なくとも1つが存在すると決められた場合、対応する音響などを出力するように音響出力部190を制御することができる。
【0103】
さらに、ダーツゲーム装置1000の制御部100は、プレイヤーのログインが完了した場合、プレイヤーのダーツゲームのプレイ結果と関連する履歴情報に基づいて、プレイヤーに個人化された案内メッセージを生成することができる。例えば、プレイヤーの以前のプレイ時点が1週間前である場合、制御部100は、「1週間ぶりにログインされましたね、ようこそ」という案内メッセージを生成することができる。他の例として、プレイヤーがダーツゲームトーナメントで優勝した履歴を有している場合、制御部100は、「○○大会の優勝者様、ようこそ」という案内メッセージを生成することができる。このように、制御部100は、プレイヤーの履歴情報からプレイヤーに適する個人化されたメッセージを生成することで、プレイヤーにさらにエンターテイメントな効果を提供することができる。
【0104】
ダーツターゲット部200は、中央にブルズアイ(bull’s eye)が位置し、ブルズアイを中心とする同心円と、ブルズアイから放射状に伸びる直線により区分され、それぞれ個別のスコアが付与された領域(セグメント)が存在するスコアボードとを含むことができる。スコアボード上には、ダーツピンのチップが刺さる複数の収容溝(ビットまたはホール)が形成されることができる。この場合、ダーツターゲット部200のスコア配置およびスコアが付与された領域の形状が可変的に変更されることができる。また、ダーツターゲット部200は、タッチスクリーンの形態で実現されることができる。
【0105】
ボディ構造体300は、地面と垂直方向に延長形成され、ダーツゲーム装置1000の外観を形成することができる。そして、ボディ構造体300は、前述のディスプレイ部120、ユーザ入力部170、ダーツターゲット部200、およびその他の構成要素を備えることができる。ただし、これに限定されるものではない。
【0106】
ボディ構造体300の前面に設けられたディスプレイ部120には、ダーツゲームに関する情報が表示されることができる。ここで、ダーツゲームに関する情報は、他のプレイヤーのプレイ画像、他のプレイヤーのプレイ関連データに基づいて生成された画像、またはプレイ時間制約に関する情報などを含むことができる。
【0107】
以下、
図4~
図7を参照して、本開示に係るダーツゲーム装置1000の制御部100がダーツゲームに関する情報を生成する方法の一例を説明する。
【0108】
図4は、本開示のいくつかの実施形態によるダーツゲーム装置により行われるダーツピンのヒット位置識別方法の一例を説明するためのフローチャートである。
【0109】
本開示のいくつかの実施形態において、ダーツピンのヒット位置識別方法は、ダーツピン投擲に対応して少なくとも2つのダーツターゲット撮影イメージを取得するステップ(s100)を含むことができる。ここで、ダーツターゲット撮影イメージは、ダーツターゲットおよびダーツターゲットにヒットした少なくとも1つのダーツピンのイメージを含むことができる。
【0110】
具体的に説明すれば、制御部100は、プレイヤーによりダーツピンを投擲するイベントが発生したことを認識することができる。例えば、前述のように、センシング部160は、投擲されたダーツピンによりダーツターゲットに加えられる圧力をセンシングすることができる。この場合、センシング部160が投擲されたダーツピンによりダーツターゲットに加えられる圧力をセンシングしたという情報を制御部100に送信することができる。他の例として、制御部100は、カメラ部140を介してプレイヤーがダーツピンを投擲するイベントが発生したことを認識することができる。制御部100は、ダーツピンのヒット位置を検知するために、カメラ部140によりダーツターゲットを撮影するように制御することができる。この場合、ダーツターゲット撮影イメージは、ダーツターゲットおよびダーツターゲットにヒットした少なくとも1つのダーツピンのイメージを含むことができる。
【0111】
本開示のいくつかの実施形態によれば、少なくとも2つのダーツターゲット撮影イメージは、予め決められた方向に位置する少なくとも2つのカメラによりそれぞれ生成されることができる。この場合、前記少なくとも2つのダーツターゲット撮影イメージの数は、前記少なくとも2つのカメラの数に対応することができる。
【0112】
詳しく説明すれば、ダーツピンの投擲が発生する場合、制御部100が複数のダーツターゲット撮影イメージを用いてダーツピンのヒット位置をより正確に識別できるように、複数のダーツターゲット撮影イメージが複数のカメラを用いて取得されることができる。例えば、カメラ部140は、複数のカメラであってもよく、この場合、ダーツターゲット撮影イメージは、互いに異なる方向にダーツターゲットを撮影した複数のイメージであってもよい。例えば、カメラ部140は、ダーツゲーム装置の上端の左側および右側に設けられる2つのカメラを含むことができる。この場合、制御部100は、ダーツゲーム装置の上端の左側に位置するカメラがダーツターゲットに向かう方向に撮影するダーツターゲット撮影イメージを取得することができる。また、制御部100は、ダーツゲーム装置の上端の右側に位置するカメラがダーツターゲットに向かう方向に撮影するダーツターゲット撮影イメージを取得することができる。ただし、これに限定されず、カメラの位置および撮影方向が様々であってもよい。
【0113】
ダーツターゲット撮影イメージの数は、カメラの数に対応することができる。例えば、カメラの数が2つである場合、ダーツターゲット撮影イメージの数は2つであってもよい。他の例として、ダーツターゲット撮影イメージの数は、カメラの数の整数倍であってもよい。具体的に説明すれば、例えば、ダーツゲーム装置周辺の照明状態が頻繁に変更されることにより、ダーツターゲットおよびダーツピンを識別できないイメージのみを取得する場合を防止するために、複数のカメラは、一定時間間隔でダーツターゲットをn回撮影することができる。この場合、ダーツ撮影イメージの数は、カメラの数のn倍であってもよい。ただし、これに限定されず、ダーツターゲット撮影イメージは、様々な方式により、様々な数で生成されることができる。
【0114】
本開示のいくつかの実施形態において、ダーツピンのヒット位置識別方法は、ダーツピンの位置識別ネットワークモデルにより、少なくとも2つのダーツターゲット撮影イメージに基づいて、前記少なくとも1つのダーツピンのヒット位置情報を生成するステップ(s200)を含むことができる。
【0115】
具体的に説明すれば、ダーツターゲット撮影イメージを取得する場合、制御部100は、ダーツピンの位置識別ネットワークモデルを用いて、ダーツターゲット撮影イメージから識別されるダーツピンのヒット位置情報を生成することができる。いくつかの例において、ダーツピンのヒット位置情報は、セグメント位置情報を含むことができる。例えば、ダーツピンのヒット位置情報は、ダーツピンがヒットしたセグメントの位置(または、スコア領域)を示す情報を含むことができる。いくつかの例において、ダーツピンのヒット位置情報は、ダーツピンがヒットしたセグメントにおけるビット(または、収容溝、ホール)の位置を示す情報を含むことができる。ただし、これに限定されず、ヒット位置情報は、様々な情報を含むことができる。
【0116】
ダーツピンの位置識別ネットワークモデルは、ダーツターゲット撮影イメージからダーツピンのヒット位置情報を生成可能な様々なイメージ処理アルゴリズムを用いて実現されることができる。例えば、ダーツピンの位置識別ネットワークモデルは、ダーツターゲット撮影イメージからダーツピンの位置を識別可能なバウンディングボックスイメージを取得するサブモデル、および取得されたバウンディングボックスイメージを処理してダーツピンのヒット位置情報を生成するサブモデルを含むことができる。さらに、ダーツピンの位置識別ネットワークモデルは、複数のダーツピンのヒット位置情報が取得される場合、最後にヒットしたダーツピンのヒット位置情報を決めるサブモデルを含むことができる。ただし、これに限定されず、ダーツピンの位置識別ネットワークモデルは、様々な方式で実現されることができる。
【0117】
以下、2つ以上のダーツターゲット撮影イメージを処理してダーツピンのヒット位置情報を生成するダーツピンの位置識別ネットワークモデルの例示的な動作を説明する。
【0118】
本開示のいくつかの実施形態において、少なくとも2つのダーツターゲット撮影イメージに基づいて、ダーツピンのヒット位置情報を生成するステップ(s200)は、少なくとも2つのダーツターゲット撮影イメージに対する併合作業を行うことで入力データを生成するステップ、および入力データをダーツピンの位置識別ネットワークモデルにより処理することで少なくとも1つのダーツピンのヒット位置情報を生成するステップを含むことができる。
【0119】
前述のように、制御部100が複数のダーツターゲット撮影イメージを用いてダーツピンのヒット位置をより正確に識別できるように、複数のダーツターゲット撮影イメージが複数のカメラを用いて取得されることができる。例えば、制御部100は、ダーツピンの投擲を認識することで、2つのカメラを用いて、2つのダーツターゲット撮影イメージを取得することができる。
【0120】
いくつかの例において、制御部100は、2つのダーツターゲット撮影イメージをダーツピンの位置識別ネットワークモデルにより処理可能な入力データを生成することができる。例えば、制御部100は、少なくとも2つのダーツターゲット撮影イメージに対する併合作業を行うことで入力データを生成することができる。具体例として、制御部100は、2つのダーツターゲット撮影イメージにそれぞれ対応する2つのバウンディングボックスイメージを取得することができる。ここで、バウンディングボックスイメージを取得するアルゴリズムとしては、様々なオブジェクト検出(Object detection)アルゴリズムを用いることができる。いくつかの例において、バウンディングボックスイメージを置き換えるオブジェクト検出のための様々なイメージも用いることができる。そして、制御部100は、2つのバウンディングボックスイメージを1つのイメージである入力データに併合することができる。他の例として、制御部100は、2つのダーツターゲット撮影イメージを1つのイメージに併合することができる。そして、制御部100は、1つのイメージから2つのバウンディングボックスイメージを含む入力データを取得することができる。ただし、これに限定されず、制御部100は、様々な方式で入力データを生成することができる。
【0121】
本開示のいくつかの実施形態において、入力データは、少なくとも2つのバウンディングボックスイメージを予め決められた方向に配置したイメージであってもよい。例えば、入力データは、2つのバウンディングボックスイメージを上下に配置したイメージであってもよい。ただし、これに限定されず、入力データは、様々な方式でバウンディングボックスイメージを含むイメージであってもよい。
【0122】
ダーツピンの位置識別ネットワークモデルは、入力データを処理することで、ダーツピンのヒット位置情報を生成することができる。前述のように、ダーツピンのヒット位置情報は、ダーツピンがヒットしたセグメント位置情報を含むことができる。また、ダーツピンのヒット位置情報は、ダーツピンがヒットしたセグメント内でビットの位置を示す情報を含むことができる。ただし、これに限定されず、ダーツピンのヒット位置情報が様々であってもよい。
【0123】
ダーツピンの位置識別ネットワークモデルは、少なくとも2つのダーツターゲット撮影イメージまたは少なくとも2つのバウンディングボックスイメージを含むトレーニングイメージデータと、トレーニングイメージデータに対応するラベルを含むトレーニングデータセットを用いて学習されるネットワークモデルであってもよい。ここで、ラベルは、トレーニングイメージデータから識別されるダーツピンがヒットしたセグメント位置またはセグメント上のビット位置に関する情報を含むことができる。この場合、ダーツピンの位置識別ネットワークモデルは、少なくとも2つのダーツターゲット撮影イメージに基づく入力データを処理することで、ダーツピンがヒットしたセグメント位置またはセグメントのビット位置を含むヒット位置情報を出力することができる。ただし、これに限定されず、ダーツピンの位置識別ネットワークモデルは、様々なトレーニングデータセットを用いて学習されることができる。
【0124】
本開示のいくつかの実施形態において、ダーツピンの位置識別ネットワークモデルにより、少なくとも2つのダーツターゲット撮影イメージに基づいて、少なくとも1つのダーツピンのヒット位置情報を生成するステップ(s200)は、ノイズ除去のための前記ダーツターゲット撮影イメージに対する前処理を行うステップを含むことができる。
【0125】
詳しく説明すれば、ダーツゲーム装置1000は、様々な周辺環境に設置されることができるため、ダーツターゲット撮影において、弱すぎる照明や不規則な照明などにより発生した複数のノイズを含むダーツターゲット撮影イメージが取得されることがある。このような問題を防止するために、制御部100は、ノイズ除去のための前処理を行うことができる。例えば、ノイズ除去のための前処理は、イメージフィルタリング(Image Filtering)を含むことができる。例えば、イメージを周波数帯域で表す場合、一般的に高周波は明るさの変化が多い箇所(例えば、境界線領域)に現れ、一般的な背景は低周波で現れることがある。イメージの高周波を除去する場合、ブラー(Blur)効果が発生し得る。イメージの低周波を除去する場合、イメージ上に現れるオブジェクトの領域を確認できる効果が発生する。したがって、ローパスフィルタ(Low-pass filter、LPF)およびハイパスフィルタ(High-pass filter、HPF)を用いて、ノイズ除去およびブラー処理が行われることができる。さらに、ブラー効果が境界線をぼかす現象を防止するために、双方向フィルタ(Bilateral Filtering)を用いることで、境界線を維持しつつ、ガウシアンぼかし(Gaussian Blur)処理が効率的に行われることができる。
【0126】
他の例として、ノイズ除去のための前処理は、ガウシアンフィルタリング(Gaussian Filtering)を含むことができる。ボックスフィルタ(box filter)は、同一値で構成されたカーネル(kernel)を用いるが、ガウシアンフィルタ(Gaussian Filter)は、ガウス関数を用いたカーネルを適用することができる。カーネル行列の値は、ガウス関数により数学的に生成して適用されることができる。ただし、これに限定されず、前処理は、様々な方式で行われることができる。
【0127】
ダーツピンの位置識別ネットワークモデルは、複数のダーツピンを含むダーツターゲット撮影イメージから複数のダーツピンのヒット位置情報を生成することができる。この場合、制御部100は、複数のダーツピンのヒット位置情報のうち、最後にヒットしたダーツピンのヒット位置情報を決めることができる。それに関する詳細な実施形態は、
図5を参照して以下に説明する。
【0128】
図5は、本開示のいくつかの実施形態によるダーツゲーム装置により行われるダーツピンのヒット位置識別方法の一例を説明するための他のフローチャートである。
【0129】
ダーツターゲットにヒットした複数のダーツピンを撮影したダーツターゲット撮影イメージは、ヒット順序に関する情報を有しないため、本開示のダーツゲーム装置は、ダーツターゲット撮影イメージだけでなく、追加の情報を用いて、最後にヒットしたダーツピンのヒット位置情報を識別することができる。以下、履歴情報を用いたダーツピンのヒット位置識別方法の具体的なステップを
図5を参照して説明する。
【0130】
本開示のいくつかの実施形態において、ダーツピンのヒット位置識別方法は、第1ダーツピン投擲に対応して第1履歴情報を生成するステップ(s1100)を含むことができる。ここで、第1履歴情報は、第1ダーツピン投擲により決められるスコア値または前記ダーツターゲットにヒットした少なくとも1つのダーツピンのヒット位置情報のうち少なくとも1つを含むことができる。
【0131】
第1履歴情報は、ダーツターゲット撮影イメージに現れる複数のダーツピンのうち一部のヒット順序を識別するのに用いることができる。例えば、第1履歴情報が第1ダーツピン投擲に対応して生成される場合、第1履歴情報は、複数のヒット位置情報のうち、第2ダーツピン投擲によりヒットしたダーツピンのヒット位置情報を決めるのに用いることができる。ここで、第1ダーツピン投擲は、第2ダーツピン投擲に先行するダーツピン投擲を指すことができる。
【0132】
いくつかの例において、第1履歴情報は、第1ダーツピン投擲により決められるスコア値を含むことができる。この場合、第1ダーツピン投擲により決められるスコア値は、第2ダーツピン投擲により決められるスコア値と比較することで、第2ダーツピン投擲によりヒットしたダーツピンを識別可能な情報を提供することができる。
【0133】
いくつかの例において、第1履歴情報は、ダーツターゲットにヒットしたダーツピンのヒット位置情報を含むことができる。この場合、複数のヒット位置情報のうち、第1履歴情報に含まれたダーツターゲットにヒットしたダーツピンのヒット位置情報を除外することで、第2ダーツピン投擲によりヒットしたダーツピンが識別されることができる。ただし、これに限定されず、第1履歴情報は、様々な情報を含むことができる。
【0134】
本開示のいくつかの実施形態において、ダーツピンのヒット位置識別方法は、第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得するステップ(s1200)を含むことができる。ここで、ダーツターゲット撮影イメージは、ダーツターゲットおよびダーツターゲットにヒットした複数のダーツピンのイメージを含むことができる。
【0135】
図4で説明したように、制御部100は、プレイヤーにより第2ダーツピン投擲が発生したことを認識することができる。この場合、制御部100は、ダーツピンのヒット位置を検知するために、カメラ部140によりダーツターゲットを撮影するように制御することができる。第1ダーツピン投擲および第2ダーツピン投擲が発生した後であるため、ダーツターゲット撮影イメージは、ダーツターゲットおよびダーツターゲットにヒットした複数のダーツピンのイメージを含むことができる。この場合、ダーツターゲット撮影イメージから取得されるダーツピンのヒット位置情報は複数であってもよい。この場合、以下に説明するように、履歴情報を用いて、第2ダーツピン投擲に対応するダーツピンのヒット位置情報が識別されることができる。
【0136】
本開示のいくつかの実施形態において、ダーツピンのヒット位置識別方法は、ダーツピンの位置識別ネットワークモデルにより、第1履歴情報およびダーツターゲット撮影イメージに基づいて、第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ(s1300)を含むことができる。
【0137】
図4で説明したように、制御部100は、ダーツターゲット撮影イメージから入力データを生成することができる。入力データは、ダーツターゲット撮影イメージに対応するバウンディングボックスイメージを含むことができる。例えば、制御部100は、1つのダーツターゲットイメージから取得された1つのバウンディングボックスイメージを含む入力データを生成することができる。いくつかの例において、ダーツターゲット撮影イメージは、予め決められた方向に位置する少なくとも2つのカメラによりそれぞれ生成される少なくとも2つのイメージを含むことができる。例えば、カメラ部140は、ダーツゲーム装置の上端の左側および右側に設けられる2つのカメラを含むことができる。この場合、制御部100は、ダーツゲーム装置の上端の左側に位置するカメラがダーツターゲットに向かう方向に撮影するダーツターゲット撮影イメージを取得することができる。また、制御部100は、ダーツゲーム装置の上端の右側に位置するカメラがダーツターゲットに向かう方向に撮影するダーツターゲット撮影イメージを取得することができる。ただし、これに限定されず、カメラの位置および撮影方向が様々であってもよい。
【0138】
例示的に2つのダーツターゲット撮影イメージを取得した場合、制御部100は、2つのダーツターゲット撮影イメージに対する併合作業を行うことで入力データを生成することができる。具体例として、制御部100は、2つのダーツターゲット撮影イメージにそれぞれ対応する2つのバウンディングボックスイメージを取得することができる。ここで、バウンディングボックスイメージを取得するアルゴリズムとしては、様々なオブジェクト検出(Object detection)アルゴリズムを用いることができる。いくつかの例において、バウンディングボックスイメージは、オブジェクト検出のための様々なイメージの1つに置き換えることができる。そして、制御部100は、2つのバウンディングボックスイメージを1つのイメージである入力データに併合することができる。他の例として、順序を変えて、制御部100は、2つのダーツターゲット撮影イメージを1つのイメージに併合することができる。そして、制御部100は、1つのイメージから2つのバウンディングボックスイメージを含む入力データを取得することができる。ただし、これに限定されず、制御部100は、様々な方式で入力データを生成することができる。
【0139】
本開示のいくつかの実施形態によれば、入力データは、少なくとも2つのバウンディングボックスイメージを予め決められた方向に配置したイメージを含み、少なくとも2つのバウンディングボックスイメージは、予め決められた方向に位置する少なくとも2つのカメラにより生成される少なくとも2つのイメージに対応することができる。
【0140】
いくつかの例において、入力データは、少なくとも2つのバウンディングボックスイメージを予め決められた方向に配置したイメージであってもよい。例えば、第2ダーツピン投擲により予め決められた方向に位置する少なくとも2つのカメラにより2つのダーツターゲット撮影イメージが取得されることができる。この場合、入力データは、2つのダーツターゲット撮影イメージから取得した2つのバウンディングボックスイメージを上下または左右に配置したイメージであってもよい。ただし、これに限定されず、入力データは、様々な方式でバウンディングボックスイメージを含むイメージであってもよい。
【0141】
入力データが生成される場合、ダーツピンの位置識別ネットワークモデルは、入力データを処理することで、複数のダーツピンのヒット位置情報を生成することができる。前述のように、ダーツピンのヒット位置情報は、ダーツピンがヒットしたセグメント位置情報を含むことができる。また、ダーツピンのヒット位置情報は、ダーツピンがヒットしたセグメント内でビットの位置を示す情報を含むことができる。
【0142】
以下、ダーツターゲットにヒットした複数のダーツピンを含むダーツターゲット撮影イメージを処理する例示的なダーツピンの位置識別ネットワークモデルおよび制御部100の詳細な動作を説明する。
【0143】
本開示のいくつかの実施形態において、第1履歴情報およびダーツターゲット撮影イメージに基づいて、第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ(s1300)は、ダーツターゲット撮影イメージに基づく入力データを前記ダーツピンの位置識別ネットワークモデルにより処理することで複数のダーツピンのヒット位置情報を生成するステップ、および第1履歴情報に基づいて生成された複数のダーツピンのヒット位置情報のうち、第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップを含むことができる。
【0144】
詳しく説明すれば、前述のように、ダーツピンの位置識別ネットワークモデルは、ダーツターゲットにヒットした複数のダーツピンを含むダーツターゲット撮影イメージと関連する入力データを処理することで複数のヒット位置情報を取得することができる。この場合、制御部100は、複数のヒット位置情報のうち、第2ダーツピン投擲によりヒットしたダーツピンのヒット位置情報を決めるために第1履歴情報を用いることができる。例えば、第1履歴情報が第1ダーツピン投擲により決められるスコア値を含む場合、制御部100は、第1ダーツピン投擲により決められるスコア値を第2ダーツピン投擲により決められるスコア値と比較することで、第2ダーツピン投擲によりヒットしたダーツピンを識別することができる。他の例として、制御部100は、複数のヒット位置情報のうち、第1履歴情報に含まれたダーツターゲットにヒットしたダーツピンのヒット位置情報を除外することで、第2ダーツピン投擲によりヒットしたダーツピンを識別することができる。ただし、これに限定されず、制御部100は、様々な方式で、第1履歴情報を用いて、第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めることができる。
【0145】
本開示のいくつかの実施形態において、第1履歴情報およびダーツターゲット撮影イメージに基づいて、第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ(s1300)は、第1履歴情報を含む入力データをダーツピンの位置識別ネットワークモデルにより処理することで、第2ダーツピン投擲に対応するダーツピンのヒット位置情報を生成することができる。
【0146】
詳しく説明すれば、ダーツピンの位置識別ネットワークモデルを用いて複数のヒット位置情報を取得した後に第1履歴情報を用いて後処理する代わりに、第1履歴情報がダーツピンの位置識別ネットワークモデルに離散データの形式で入力されることができる。例えば、ダーツピンの位置識別ネットワークモデルが入力層、隠れ層、出力層を含むディープラーニングモデルである場合、第1履歴情報が、ダーツピンの位置識別ネットワークモデルの入力層に入力データとして入力されることができる。他の例として、第1履歴情報が、複数の隠れ層のうちの1つの層に入力データとして入力されることができる。この場合、ダーツピンの位置識別ネットワークモデルは、複数のヒット位置情報のうち、第2ダーツピン投擲に対応するダーツピンのヒット位置情報のみを出力することができる。他の例として、ダーツピンの位置識別ネットワークモデルは、第2ダーツピン投擲に対応するダーツピンのヒット位置情報を識別可能な情報をさらに出力することができる。ただし、これに限定されず、ダーツピンの位置識別ネットワークモデルは、第1履歴情報を様々な方式で入力データとして処理することができる。
【0147】
本開示のいくつかの実施形態によれば、ダーツピンのヒット位置識別方法は、第2ダーツピン投擲に対応して第2履歴情報を生成するステップをさらに含むことができる。
【0148】
第1履歴情報と同様に、第2履歴情報は、ダーツターゲット撮影イメージに現れる複数のダーツピンのうち、最後にヒットしたダーツピンのヒット位置情報を識別するのに用いることができる。例えば、第2履歴情報が第2ダーツピン投擲に対応して生成される場合、第2履歴情報は、複数のヒット位置情報のうち、第3ダーツピン投擲によりヒットしたダーツピンのヒット位置情報を決めるのに用いることができる。ここで、第3ダーツピン投擲は、第2ダーツピン投擲に後行するダーツピン投擲を指すことができる。
【0149】
第1履歴情報と同一または類似するように、第2履歴情報は、第1ダーツピン投擲により決められるスコア値を含むことができる。また、第2履歴情報は、ダーツターゲットにヒットしたダーツピンのヒット位置情報を含むことができる。第2履歴情報は、前述のように、第1履歴情報と同様の方式で、第3ダーツピン投擲によりヒットしたダーツピンのヒット位置情報を決めるのに用いることができる。ただし、これに限定されず、第2履歴情報は、様々な情報を含むことができる。
【0150】
図6は、ダーツターゲット撮影イメージを説明するための図である。
【0151】
前述のように、ダーツターゲット撮影イメージ10は、ダーツターゲットおよびダーツターゲットにヒットした少なくとも1つのダーツピンのイメージを含むことができる。
図6aを参照すれば、制御部100は、ダーツピン投擲に対応してダーツゲーム装置の上端の左側に位置するカメラがダーツターゲットに向かう方向に撮影するダーツターゲット撮影イメージ10a、およびダーツゲーム装置の上端の右側に位置するカメラがダーツターゲットに向かう方向に撮影するダーツターゲット撮影イメージ10bを取得することができる。
【0152】
この場合、制御部100は、2つのダーツターゲット撮影イメージに対する併合作業を行うことで入力データを生成することができる。具体例として、制御部100は、2つのダーツターゲット撮影イメージにそれぞれ対応する2つのバウンディングボックスイメージ20a、20bを取得することができる。ここで、バウンディングボックスイメージを取得するアルゴリズムとしては、様々なオブジェクト検出(Object detection)アルゴリズムを用いることができる。いくつかの例において、バウンディングボックスイメージを置き換えるオブジェクト検出のための様々なイメージも用いることができる。そして、制御部100は、2つのバウンディングボックスイメージ20a、20bを1つのイメージである入力データ20に併合することができる。他の例として、制御部100は、2つのダーツターゲット撮影イメージ10a、10bを1つのイメージに併合することができる。そして、制御部100は、1つのイメージから2つのバウンディングボックスイメージ20a、20bを含む入力データ20を取得することができる。ただし、これに限定されず、制御部100は、様々な方式で入力データを生成することができる。
【0153】
図6bを参照すれば、8個のバウンディングボックスイメージ21a~21hが(a)に示され、8個のバウンディングボックスイメージ21a~21hが1つのダーツピン投擲に対応する1対に併合された入力データ22a~22dが(b)に示される。例えば、第1ダーツピン投擲に対応するバウンディングボックスイメージがイメージ21aおよびイメージ21eである場合、2つのバウンディングボックスイメージが併合された入力データは、入力データ22aであってもよい。同様に、第1ダーツピン投擲に対応するバウンディングボックスイメージがイメージ21bおよびイメージ21fである場合、2つのバウンディングボックスイメージが併合された入力データは、入力データ22bであってもよい。
【0154】
図7は、本開示のいくつかの実施形態による例示的なダーツピンの位置識別モデル1100を説明するための図である。
【0155】
図7aを参照すれば、制御部100は、ダーツピンの位置識別ネットワークモデルを用いて複数のヒット位置情報を取得した後に第1履歴情報を用いて後処理することで、最近投擲されたダーツピンのヒット位置情報を決めることができる。例えば、ダーツピンの位置識別ネットワークは、2つのダーツピンを示すイメージを含む入力データ20を処理することで、複数のダーツピンのヒット位置情報31を生成することができる。ここで、入力データは、第1ダーツピン投擲に続いて発生した第2ダーツピン投擲に対応して取得された2つのダーツターゲット撮影イメージから取得されることができる。例えば、複数のダーツピンのヒット位置情報30は、第1ダーツピン投擲に対応する第1ダーツピンのヒット位置情報31、および第2ダーツピン投擲に対応する第2ダーツピンのヒット位置情報32を含むことができる。この場合、ヒット位置情報選別部1200は、履歴情報40を用いて、複数のダーツピンのヒット位置情報30のうち、最近発生した投擲(例えば、第2ダーツピン投擲)に対応するヒット位置情報32を決めることができる。
【0156】
いくつかの例において、履歴情報は、ダーツターゲット撮影イメージに現れる複数のダーツピンのうち、最後にヒットしたダーツピンのヒット位置情報を識別するための様々な情報を含むことができる。例えば、第1履歴情報40が第1ダーツピン投擲に対応して生成される場合、第1履歴情報は、複数のヒット位置情報30のうち、第2ダーツピン投擲によりヒットしたダーツピンのヒット位置情報32を決めるのに用いることができる。
【0157】
いくつかの例において、第1ダーツピン投擲に対応して生成された第1履歴情報40は、第1ダーツピン投擲により決められるスコア値を含むことができる。この場合、ヒット位置情報選別部1200は、第1ダーツピン投擲により決められるスコア値を第2ダーツピン投擲により決められるスコア値と比較することで、複数のヒット位置情報30のうち、第2ダーツピンのヒット位置情報32を決めることができる。
【0158】
いくつかの例において、第1履歴情報40は、ダーツターゲットにヒットしたダーツピンのヒット位置情報を含むことができる。この場合、ヒット位置情報選別部1200は、複数のヒット位置情報30のうち、第1履歴情報に含まれたダーツターゲットにヒットしたダーツピンのヒット位置情報を除外することで、第2ダーツピンのヒット位置情報32を決めることができる。
【0159】
ヒット位置情報選別部1200は、単純演算モデルで実現されるか、またはネットワークモデルで実現されることができる。ただし、これに限定されず、ヒット位置情報選別部1200は、様々な方式で実現されることができる。
【0160】
図7bを参照すれば、ダーツピンの位置識別ネットワークモデルを用いて複数のヒット位置情報を取得した後に第1履歴情報40を用いて後処理する代わりに、制御部100は、第1履歴情報40をダーツピンの位置識別ネットワークモデル1100に離散データの形式で入力することで、複数のヒット位置情報のうち、第2ダーツピンのヒット位置情報32を決めることができる。例えば、ダーツピンの位置識別ネットワークモデル1100が入力層、隠れ層、出力層を含むディープラーニングモデルである場合、第1履歴情報40が、ダーツピンの位置識別ネットワークモデル1100の入力層に入力されることができる。他の例として、第1履歴情報が、複数の隠れ層のうちの1つの層に入力されることができる。この場合、ダーツピンの位置識別ネットワークモデル1100は、複数のヒット位置情報のうち、第2ダーツピンのヒット位置情報32のみを出力するか、または第2ダーツピンのヒット位置情報32を識別可能な情報をさらに出力することができる。
【0161】
図8は、本開示のいくつかの実施形態によるコンピューティング装置により行われるダーツピンの位置識別方法のためのトレーニングデータセットを生成する方法の一例を説明するためのフローチャートである。
【0162】
ダーツピン投擲に対応する複数のダーツターゲット撮影イメージを用いてダーツピンのヒット位置をより正確に識別できるように、ダーツピンの位置識別ネットワークモデル1100は、十分な量のトレーニングデータセットを用いて学習される必要がある。いくつかの例において、ダーツターゲット部200は、ブルズアイと、ブルズアイから放射状に伸びる直線により区分され、それぞれ個別のスコアが付与された領域(セグメント)が存在するスコアボードとを含むことができる。それぞれのセグメントは、ダーツピンのチップが刺さる複数の収容溝(ビットまたはホール)を含むことができる。この場合、ダーツピンのヒット位置は、セグメント位置またはセグメント上のビット位置を識別することで決められることができる。特に、セグメントの数およびセグメント上のビットの数が限られているため、ダーツピンの位置は、限られた数に特定されることができる。
【0163】
本開示のダーツピンの位置識別のためのトレーニングデータセットを生成する方法は、限られた数のダーツピンの位置を有するスコアボードを含むダーツターゲット部200上でヒットしたダーツピン数およびダーツピンのヒット位置を変更しつつ、複数のダーツターゲット撮影トレーニングイメージを取得することができる。これにより、本開示のダーツピンの位置識別のためのトレーニングデータセットを生成する方法は、十分な量のトレーニングデータセットを生成することができる。また、ダーツゲーム装置1000が位置し得る様々な環境でダーツターゲット撮影トレーニングイメージを取得することで、十分な量のトレーニングデータセットを生成することができる。本開示のダーツピンの位置識別のためのトレーニングデータセットを生成する方法は、ダーツゲーム装置1000、少なくとも他のデバイス2000、およびダーツゲームサーバ3000を含む様々なコンピューティング装置により行われることができる。
【0164】
以下、ダーツピンの位置識別ネットワークモデル1100を学習させるためのトレーニングデータセットを生成する方法を具体的に説明する。
【0165】
本開示のいくつかの実施形態において、ダーツピンの位置識別のためのトレーニングデータセットを生成する方法は、ダーツターゲットの1つのセグメント上に少なくとも1つのダーツピンがヒットしたダーツターゲット撮影トレーニングイメージを取得するステップ(s2100)を含むことができる。ここで、ダーツターゲットに含まれる複数のセグメントは、予め決められた数のビットをそれぞれ含むことができる。
【0166】
図4~
図7を参照して説明したように、ダーツピンの位置識別ネットワークモデル1100は、ダーツターゲット撮影イメージからダーツピンのヒット位置情報を生成可能な様々なイメージ処理アルゴリズムを用いて実現されることができる。いくつかの例において、ダーツピンの位置識別ネットワークモデルは、様々な角度から取得された複数のダーツターゲット撮影イメージに基づく入力データを処理することで、1つ以上のダーツピンのヒット位置情報を生成することができる。ただし、これに限定されず、ダーツピンの位置識別ネットワークモデルは、1つのダーツターゲット撮影イメージに基づく入力データを処理することで、1つ以上のダーツピンのヒット位置情報を生成することができる。以下、2つ以上のイメージで構成されるダーツターゲット撮影イメージを用いたダーツピンの位置識別ネットワークモデル1100と関連するトレーニングデータセットを生成する方法について説明する。ただし、これに限定されず、本開示に係る方法は、単一のダーツターゲット撮影イメージを用いたダーツピンの位置識別ネットワークモデル1100と関連するトレーニングデータセットを生成するのに適用することができる。
【0167】
前述のように、ダーツターゲットは、それぞれ個別のスコアが付与されたセグメントに区別されることができる。また、それぞれのセグメントは、それぞれのダーツピンがヒット可能な複数のビット(または、ホール、収容溝)を有することができる。この場合、ダーツピンがヒット可能なヒット位置は、複数のセグメントに含まれる全ビットの数に限られることができる。したがって、ダーツピンがヒットしたビット位置を変更しつつ、十分な量のダーツターゲット撮影トレーニングイメージが取得されることができる。
【0168】
本開示のいくつかの実施形態において、ダーツターゲットの1つのセグメント上に少なくとも1つのダーツピンがヒットしたダーツターゲット撮影トレーニングイメージを取得するステップ(s2100)は、ダーツターゲットの第1セグメントに含まれる第1ビット上に第1ダーツピンがヒットした第1ダーツターゲット撮影トレーニングイメージを取得するステップ、および前記ダーツターゲットの第1セグメントに含まれる第2ビット上に第1ダーツピンがヒットした第2ダーツターゲット撮影トレーニングイメージを取得するステップを含むことができる。
【0169】
詳しく説明すれば、1つのセグメント上でダーツピンがヒットしたビットを変更することで、複数のダーツターゲット撮影トレーニングイメージが取得されることができる。例えば、第1セグメントが互いに異なる第1ビットおよび第2ビットを含む場合、第1セグメントの第1ビット上に第1ダーツピンをヒットさせたダーツターゲットを撮影することで、第1ダーツターゲット撮影トレーニングイメージが取得されることができる。そして、第1セグメントの第1ビット上で第1ダーツピンを除去し、第1セグメントの第2ビット上に第1ダーツピンをヒットさせたダーツターゲットを撮影することで、第2ダーツターゲット撮影トレーニングイメージが取得されることができる。ここで、第1ダーツピンは、同一または類似の1つ以上のダーツピンであってもよく、必ずしも1つのダーツピンを意味するものではない。第1ダーツターゲット撮影トレーニングイメージと比較すると、第2ダーツターゲット撮影トレーニングイメージは、1つのセグメント上で1つのダーツピンのヒット位置が変わったイメージであってもよい。
【0170】
本開示のいくつかの実施形態において、ダーツターゲットの1つのセグメント上に少なくとも1つのダーツピンがヒットしたダーツターゲット撮影トレーニングイメージを取得するステップ(s2100)は、ダーツターゲットの第2セグメントに含まれる第3ビット上に第1ダーツピンがヒットした第3ダーツターゲット撮影トレーニングイメージを取得するステップを含むことができる。
【0171】
詳しく説明すれば、ダーツピンがヒットしたセグメントの位置を変更することで、複数のダーツターゲット撮影トレーニングイメージが取得されることができる。前述の例のように、第1セグメントの第1ビット上に第1ダーツピンをヒットさせたダーツターゲットを撮影することで、第1ダーツターゲット撮影トレーニングイメージが取得されることができる。そして、第1セグメントの第1ビット上で第1ダーツピンを除去し、第2セグメントの第3ビット上に第1ダーツピンをヒットさせたダーツターゲットを撮影することで、第3ダーツターゲット撮影トレーニングイメージが取得されることができる。この場合、第1ダーツターゲット撮影トレーニングイメージと比較すると、第3ダーツターゲット撮影トレーニングイメージは、2つのセグメント上で1つのダーツピンのヒット位置が変わったイメージであってもよい。
【0172】
本開示のいくつかの実施形態において、ダーツターゲットの1つのセグメント上に少なくとも1つのダーツピンがヒットしたダーツターゲット撮影トレーニングイメージを取得するステップ(s2100)は、ダーツターゲットの第1セグメントに含まれる第1ビット上に第1ダーツピンがヒットし、ダーツターゲットの第1セグメントに含まれる第2ビット上に第2ダーツピンがヒットした第4ダーツターゲット撮影トレーニングイメージを取得するステップをさらに含むことができる。
【0173】
詳しく説明すれば、1つのセグメントに含まれる互いに異なる2つのビット上にヒットした2つのダーツピンに対するダーツターゲット撮影トレーニングイメージが取得されることができる。例えば、ダーツターゲットの第1セグメントに含まれる第1ビット上に第1ダーツピンがヒットした状態で、ダーツターゲットの第1セグメントに含まれる第2ビット上に第2ダーツピンがヒットしたダーツターゲットを撮影することで、第4ダーツターゲット撮影トレーニングイメージが取得されることができる。この場合、第4ダーツターゲット撮影トレーニングイメージは、第1ダーツターゲット撮影トレーニングイメージに比べて、1つのセグメント上で1つのダーツピンのヒット位置が追加されたイメージであってもよい。
【0174】
本開示のいくつかの実施形態において、ダーツターゲットの1つのセグメント上に少なくとも1つのダーツピンがヒットしたダーツターゲット撮影トレーニングイメージを取得するステップ(s2100)は、ダーツターゲットの第1セグメントに含まれる第1ビット上に第1ダーツピンがヒットし、ダーツターゲットの第1セグメントに含まれる第4ビット上に第2ダーツピンがヒットした第5ダーツターゲット撮影トレーニングイメージを取得するステップをさらに含むことができる。
【0175】
詳しく説明すれば、1つのセグメントに含まれる互いに異なる2つのビット上にヒットした2つのダーツピンのうちの1つを移動させることで、ダーツターゲット撮影トレーニングイメージが取得されることができる。例えば、前述の例のように、ダーツターゲットの第1セグメントに含まれる第1ビット上に第1ダーツピンがヒットした状態で、ダーツターゲットの第1セグメントに含まれる第2ビット上に第2ダーツピンがヒットしたダーツターゲットを撮影することで、第4ダーツターゲット撮影トレーニングイメージが取得されることができる。この場合、第1ダーツピンをそのまま維持した状態で、ダーツターゲットの第1セグメントに含まれる第2ビット上にヒットした第2ダーツピンを第1セグメントに含まれる第4ビット上に移動させたダーツターゲットを撮影することで、第5ダーツターゲット撮影トレーニングイメージが取得されることができる。この場合、第5ダーツターゲット撮影トレーニングイメージは、第4ダーツターゲット撮影トレーニングイメージに比べて、1つのセグメント内で2つのダーツピンのうちの1つのヒット位置が変更されたイメージであってもよい。
【0176】
本開示のいくつかの実施形態において、ダーツターゲットの1つのセグメント上に少なくとも1つのダーツピンがヒットしたダーツターゲット撮影トレーニングイメージを取得するステップ(s2100)は、ダーツターゲットの第1セグメントに含まれる第1ビット上に第1ダーツピンがヒットし、ダーツターゲットの第2セグメントに含まれる第3ビット上に第2ダーツピンがヒットした第6ダーツターゲット撮影トレーニングイメージを取得するステップを含むことができる。
【0177】
詳しく説明すれば、2つの異なるセグメント上にヒットした2つのダーツピンに対するダーツターゲット撮影トレーニングイメージが取得されることができる。前述の例において、第1セグメントの第1ビット上に第1ダーツピンをヒットさせたダーツターゲットを撮影することで、第1ダーツターゲット撮影トレーニングイメージが取得されることができる。そして、第1セグメントの第1ビット上に第1ダーツピンをそのまま維持した状態で、ダーツターゲットの第2セグメントに含まれる第3ビット上に第2ダーツピンがヒットしたダーツターゲットを撮影することで、第6ダーツターゲット撮影トレーニングイメージが取得されることができる。この場合、第6ダーツターゲット撮影トレーニングイメージは、第1ダーツターゲット撮影トレーニングイメージに比べて、他のセグメント上に1つのダーツピンのヒット位置が追加されたイメージであってもよい。
【0178】
本開示のいくつかの実施形態において、ダーツターゲットの1つのセグメント上に少なくとも1つのダーツピンがヒットしたダーツターゲット撮影トレーニングイメージを取得するステップ(s2100)は、ダーツターゲットの第1セグメントに含まれる第1ビット上に第1ダーツピンがヒットし、ダーツターゲットの第2セグメントに含まれる第5ビット上に第2ダーツピンがヒットした第7ダーツターゲット撮影トレーニングイメージを取得するステップを含むことができる。
【0179】
詳しく説明すれば、2つの異なるセグメント上にヒットした2つのダーツピンのうちの1つを移動させることで、ダーツターゲット撮影トレーニングイメージが取得されることができる。前述の例において、第1セグメントの第1ビット上に第1ダーツピンをそのまま維持した状態で、ダーツターゲットの第2セグメントに含まれる第3ビット上に第2ダーツピンがヒットしたダーツターゲットを撮影することで、第6ダーツターゲット撮影トレーニングイメージが取得されることができる。この場合、第1セグメントの第1ビット上に第1ダーツピンをそのまま維持した状態で、ダーツターゲットの第2セグメントに含まれる第3ビット上から第2セグメントに含まれる第5ビットに第2ダーツピンを移動させたダーツターゲットを撮影することで、第7ダーツターゲット撮影トレーニングイメージが取得されることができる。この場合、第7ダーツターゲット撮影トレーニングイメージは、第6ダーツターゲット撮影トレーニングイメージに比べて、1つのセグメント上に1つのダーツピンのヒット位置が変更されたイメージであってもよい。
【0180】
本開示のいくつかの実施形態によれば、前記ダーツターゲットの第1セグメントに含まれる第1ビット上にヒットした第1ダーツターゲット撮影トレーニングイメージを取得するステップは、第1撮影環境条件下で前記第1ダーツターゲット撮影トレーニングイメージを取得するステップ、および第2撮影環境条件下で前記第1ダーツターゲット撮影トレーニングイメージを取得するステップを含むことができる。
【0181】
詳しく説明すれば、ダーツゲーム装置1000が位置する周囲環境は、様々な環境を有することができる。この場合、ダーツピンの位置識別ネットワークモデル1100が様々な周囲環境で撮影されるイメージを良好に処理できるように、トレーニングデータセットは、様々な撮影環境条件下で生成されたイメージを含むことができる。
【0182】
例えば、第1撮影環境条件は、比較的に明るい照明を有する状態であってもよい。そして、第2撮影環境条件は、比較的に暗い照明を有する状態であってもよい。互いに異なる2つの条件下でダーツピンのヒット位置を変更せずに撮影することで、撮影環境条件のみが変わった複数のダーツターゲット撮影トレーニングイメージが取得されることができる。
【0183】
他の例として、ダーツターゲット撮影トレーニングイメージ上に他の条件の後処理を行うことで、撮影環境条件のみが変わったダーツターゲット撮影トレーニングイメージが取得されることができる。例えば、ダーツターゲット撮影トレーニングイメージの明るさを調節することで、撮影環境条件のみが変わった複数のダーツターゲット撮影トレーニングイメージが取得されることができる。ただし、これに限定されず、ダーツターゲット撮影トレーニングイメージが様々な方式で取得されることができる。
【0184】
本開示のいくつかの実施形態によれば、ダーツピンのヒット位置識別方法は、取得したダーツターゲット撮影トレーニングイメージに対応するラベルを付与するステップ(s2200)を含むことができる。ここで、ラベルは、ダーツピンがヒットしたセグメントの位置に基づいて決められることができる。また、ラベルは、前記セグメント位置およびセグメント上のビット位置に基づいて決められることができる。
【0185】
ダーツターゲット撮影トレーニングイメージが取得される場合、ダーツターゲット撮影トレーニングイメージに対応するラベルが付与されることができる。例えば、ダーツターゲット撮影トレーニングイメージが第1セグメントの第1ビット上にヒットしたダーツピンのイメージを含む場合、ダーツターゲット撮影トレーニングイメージに対応するラベルは、第1セグメントを示す情報であってもよい。他の例として、ダーツターゲット撮影トレーニングイメージに対応するラベルは、第1セグメントおよび第1セグメント上のビット位置を示す情報であってもよい。ここで、ラベルの付与とは、ダーツターゲット撮影トレーニングイメージおよび対応するラベルを関連付けて格納する動作を意味し得る。このようにして、1対のダーツターゲット撮影トレーニングイメージおよびラベルが複数生成されることで、トレーニングデータセットが生成されることができる。ただし、これに限定されず、ダーツターゲット撮影トレーニングイメージに対応するラベルは、様々な方式で付与されることができる。
【0186】
さらなる例として、ダーツターゲット撮影トレーニングイメージに対応するラベルは、バウンディングボックスイメージを含むことができる。さらなる例として、ダーツターゲット撮影トレーニングイメージに対応するラベルは、履歴情報をさらに含むことができる。ラベルが履歴情報を含むトレーニングデータセットの場合、
図7bで例示的に説明したダーツピンの位置識別ネットワークモデル1100を学習させるのに用いることができる。
【0187】
本開示のいくつかの実施形態によれば、前記ダーツターゲット撮影トレーニングイメージは、1つのラベルに対応する少なくとも2つのイメージを含み、1つのラベルに対応する少なくとも2つのイメージは、予め決められた方向に位置する少なくとも2つのカメラによりそれぞれ生成されることができる。
【0188】
前述のように、ダーツピンの位置識別ネットワークモデルは、様々な角度から取得された複数のダーツターゲット撮影イメージに基づく入力データを処理することで、1つ以上のダーツピンのヒット位置情報を生成することができる。この場合、ダーツピンの位置識別ネットワークモデルを学習させるためのトレーニングデータセットは、様々な角度から取得された複数のダーツターゲット撮影イメージ、および複数のダーツターゲット撮影イメージに対応する1つのラベルを含むことができる。例えば、様々な角度から取得された複数のダーツターゲットトレーニング撮影イメージは、予め決められた方向に位置する少なくとも2つのカメラを用いて取得されることができる。この場合、トレーニングデータセットは、予め決められた方向に位置する少なくとも2つのカメラを含むダーツゲーム装置に適合することができる。ただし、これに限定されず、ダーツターゲット撮影トレーニングイメージは、様々な方式で生成されることができる。
【0189】
いくつかの例において、ダーツピンの位置識別ネットワークモデル1100が2つ以上のダーツターゲット撮影イメージから生成された入力イメージを処理する場合、第1ダーツターゲット撮影トレーニングイメージないし第7ダーツターゲット撮影トレーニングイメージは、それぞれ2つのカメラにより生成される2つ以上のイメージであってもよい。例えば、ダーツターゲット撮影トレーニングイメージの数は、カメラの数に対応することができる。いくつかの例において、カメラの数が2つである場合、ダーツターゲット撮影トレーニングイメージの数は2つであってもよい。他の例として、ダーツターゲット撮影トレーニングイメージの数は、カメラの数の整数倍であってもよい。具体的に説明すれば、例えば、複数のカメラは、一定時間間隔でダーツターゲットをn回撮影することができる。この場合、ダーツ撮影トレーニングイメージの数は、カメラの数のn倍であってもよい。ただし、これに限定されず、ダーツターゲット撮影トレーニングイメージは、様々な方式により、様々な数で生成されることができる。
【0190】
図9は、本開示の複数の実施例に基づきネットワーク関数を示す概略図である。
【0191】
本明細書の全体を通して、ネットワークモデル、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワーク(neural network)は、相互置換可能に使われることができる。神経回路網は、一般的にノードと呼ばれる相互連結された計算単位の集合で構成されることが可能である。このようなノードは、ニューロン(neuron)と称されることも可能である。神経回路網は、少なくとも1つ以上のノードを含めて構成される。神経回路網を構成するノード(又はニューロン)は、1つ以上のリンクによって相互連結されることが可能である。
【0192】
神経回路網において、リンクを介して繋がっている1つ以上のノードは、相対的に、入力ノードと出力ノードの関係になることが可能である。入力ノード及び出力ノードの概念は、相対的なものであり、あるノードに対して出力ノードとなる任意のノードは、他のノードとの関係においては入力ノードになり得るが、その逆も成立し得る。前述のように、入力ノードと出力ノードとの関係は、リンクを中心にして成立することが可能である。1つの入力ノードに、1つ以上の出力ノードが、リンクを介して繋がることができるが、その逆も成立し得る。
【0193】
1つのリンクを介して繋がっている入力ノード及び出力ノードの関係において、出力ノードのデータは、入力ノードに入力されたデータに基づきその値が決められることが可能である。この場合、入力ノードと出力ノードとを相互連結するリンクは、重み(weight)を持つことが可能である。重みは、可変的なものになり得るが、神経回路網が求める機能を実行するために、ユーザー又はアルゴリズムに応じて可変することが可能である。例えば、1つの出力ノードに1つ以上の入力ノードが各々のリンクによって相互連結されている場合、出力ノードは、上記出力ノードに繋がっている入力ノードに入力された値と、各々の入力ノードに対応するリンクに設定された重みとに基づき、出力ノードの値を決定することが可能である。
【0194】
前述のように、神経回路網は、1つ以上のノードが1つ以上のリンクを介して相互連結され、神経回路網の中で入力ノードと出力ノードの関係を形成する。神経回路網において、ノードとリンクの数及びノードとリンクとの間の相関関係、各リンクに付与された重みの値によって、神経回路網の特性が決定されることが可能である。例えば、同数のノード及びリンクが存在し、リンクの重みの値が異なる2つの神経回路網が存在する場合、その2つの神経回路網は相異なるものと認識されることが可能である。
【0195】
神経回路網は、1つ以上のノードの集合で構成されることが可能である。神経回路網を構成するノードの部分集合は、階層(layer)を構成することが可能である。神経回路網を構成する複数のノードのうち一部は、第1入力ノードからの距離に基づき、1つの階層(layer)を構成することが可能である。例えば、第1入力ノードからの距離がnであるノードの集合は、n階層を構成することが可能である。第1入力ノードからの距離は、第1入力ノードから当該ノードに到達するために経由しなければならないリンクの最小限の数を基に定義されることが可能である。しかし、このような階層の定義は、説明の便宜上任意に取り挙げたものであり、神経回路網における階層の位置は、前述の説明と異なる方法で定義されることも可能である。例えば、ノードの階層は、最終出力ノードからの距離に基づいて定義されることも可能である。
【0196】
第1入力ノードは、神経回路網の中のノードのうち、他のノードとの関係においてリンクを経由せずにデータが直接入力される1つ以上のノードを意味することが可能である。又は、神経回路網のネットワークの中で、リンクを基準にしたノード間の関係において、リンクを介して繋がっている他の入力ノードを持たないノードを意味することが可能である。これと同様に、最終出力ノードは、神経回路網の中のノードのうち、他のノードとの関係において、出力ノードを持たない1つ以上のノードを意味することが可能である。また、隠れノードは、第1入力ノード及び最終出力ノードではないノードで、神経回路網を構成するノードを意味することが可能である。
【0197】
本開示の一実施例における神経回路網は、入力層のノードの数が出力層のノードと同数で、入力層から隠れ層へと進むにつれ、ノードの数が一度減ってから、再び増加する形の神経回路網になり得る。本開示の他の一実施例における神経回路網は、入力層のノードの数が出力層のノードの数より少なくなることが可能であり、入力層から隠れ層へと進むにつれ、ノードの数が減少していく形の神経回路網になり得る。また、本開示の他の一実施例による神経回路網は、入力層のノードの数が出力層のノードの数より多く、入力層から隠れ層へと進むにつれ、ノードの数が増加していく形の神経回路網になり得る。本開示の他の一実施例における神経回路網は、上述の神経回路網を組み合わせた形の神経回路網になり得る。
【0198】
ディープニューラルネットワーク(DNN:deep neural network、深層神経回路網)は、入力層と出力層以外に複数の隠れ層を含む神経回路網を意味することが可能である。ディープニューラルネットワークを利用するとデータの潜在的な構造(latent structures)を把握することが可能である。つまり、写真、文章、ビデオ、音声、音楽の潜在的な構造(例えば、どのような物が写真に写っているか、文章の内容と感情はどのようなものなのか、音声の内容と感情はどのようなものなのか等)を把握することが可能である。ディープニューラルネットワークは、畳み込みニューラルネットワーク(CNN:convolutional neural network)、リカレントニューラルネットワーク(RNN::recurrent neural network)、オートエンコーダー(auto encoder)、GAN(Generative Adversarial Networks)、制限ボルツマンマシン(RBM:restricted boltzmann machine)、深層信頼ネットワーク(DBN:deep belief network)、Qネットワーク、Uネットワーク、シャムネットワーク、敵対的生成ネットワーク(GAN:Generative Adversarial Network)、トランスフォーマー(transformer)等を含むことが可能である。前述のディープニューラルネットワークは、例示に過ぎず本開示はこれらに限定されない。
【0199】
ニューラルネットワークは、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semisupervised learning)、又は、強化学習(reinforcement learning)のうち少なくともいずれか1つの方式で学習されることが可能である。ニューラルネットワークの学習は、ニューラルネットワークが特定の動作を行うための知識を、ニューラルネットワークに適用する過程になり得る。
ニューラルネットワークは、出力のエラーを最小化する方向で学習されることが可能である。ニューラルネットワークの学習において、繰り返し学習データをニューラルネットワークに入力させ、学習データに関するニューラルネットワークの出力とターゲットのエラーを計算し、エラーを減らすための方向として、ニューラルネットワークのエラーをニューラルネットワークの出力層から入力層の方向へ逆伝播(back propagation)して、ニューラルネットワークの各ノードの重みを更新するプロセスが行われる。教師あり学習の場合、個々の学習データに正解がラベリングされている学習データを使い(つまり、ラベリングされた学習データ)、教師なし学習の場合は、個々の学習データに正解がラベリングされていない状態の学習データを使うことが可能である。つまり、例えば、データ分類に係る教師あり学習の場合の学習データは、学習データの各々にカテゴリがラベリングされているデータになり得る。ラベリングされた学習データがニューラルネットワークに入力され、ニューラルネットワークの出力(カテゴリ)と学習データのラベルとを比較することで、エラー(error)が計算されることが可能である。他の例として、データ分類に関する教師なし学習の場合、入力である学習データがニューラルネットワークの出力と比較されることで、エラーが計算されることが可能である。計算されたエラーは、ニューラルネットワークにおいて逆方向(つまり、出力層から入力層へ向かう方向)へ逆伝播され、逆伝播を通じてニューラルネットワークの各階層の各ノードの接続の重みが更新されることが可能である。更新される各ノードの接続の重みは、学習率(learing rate)によって変化量が決定されることが可能である。入力データに対するニューラルネットワークの計算とエラーの逆伝播は、学習のサイクル(epoch)を構成することが可能である。学習率は、ニューラルネットワークの学習のサイクルの反復回数によって適用方式が変わることが可能である。例えば、ニューラルネットワークの学習の初期においては、学習率を高くしてニューラルネットワークが早く一定のレベルの性能を確保するようにすることで効率を高め、学習の後半においては、学習率を低くして精度を上げることが可能である。
【0200】
ニューラルネットワークにおいて、学習させるための学習データの量を増やすために、多様なデータ拡張方法が用いられることが可能である。例えば、2次元変換である回転(Rotation)、拡張縮小(Scale)、傾斜(Shearing)、反転(Reflection)、移動(Translation)を通じてデータ拡張が行われることが可能である。また、ノイズ挿入、色、明るさ変更等を活用してデータ拡張が行われることが可能である。
【0201】
ニューラルネットワークの学習において、一般的に学習データは、実際のデータ(つまり、学習されたニューラルネットワークを利用して処理しようとするデータ)の部分集合である場合があり、そのため、学習データに係るエラーは減少するが、実際のデータに係るエラーは増加する学習サイクルが存在し得る。過剰適合(over fitting)は、このように学習データについて過度に学習したため、実際のデータにおいてエラーが増加する現象である。過剰適合は、機械学習アルゴリズムのエラーを増加させる原因になり得る。このような過剰適合を防ぐために、多様な最適化方法が用いられることが可能である。過剰適合を防ぐためには、学習データを増加させる方法、正則化(regulaization)、学習の過程でネットワークのノードの一部を非活性化するドロップアウト(drop out)、バッチ正規化層(batch normalization layer)の活用等の方法を適用できる。
【0202】
図10は、本発明の実施例を具現化できる例示的なコンピューティング環境に係る簡略且つ一般的な概略図である。
【0203】
本開示が一般的にコンピューティング装置により具現化されることが可能であると前述されているが、当業者であれば本開示が1つ以上のコンピューター上で実行されることのできるコンピューター実行可能命令及び/又はその他のプログラムモジュールとの結合及び/又はハードウェアとソフトウェアの組み合わせとして具現化されることが可能であるということをよく理解できるだろう。
【0204】
一般的に、プログラムモジュールは、特定のタスクを実行したり特定の抽象的なデータ類型を実装するルーティン、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら、本開示の方法がシングルプロセッサー又はマルチプロセッサーのコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルド(handheld)コンピューティング装置、マイクロプロセッサー基盤の家電製品、又はプログラム可能な家電製品、その他等々(これらは、いずれも1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピューターシステムの構成によって実施されることが可能であることをよく理解できる。
【0205】
さらに、本開示において説明された実施例は、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される、分散コンピューティング環境で実施されることが可能である。分散コンピューティング環境において、プログラムモジュールは、ローカルと遠隔メモリー保存装置との両方に位置することが可能である。
【0206】
コンピューターは、通常、多様なコンピューター可読媒体を含む。コンピューターによってアクセス可能な媒体は、いずれもコンピューター可読媒体になり得るが、このようなコンピューター可読媒体は、揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非移動式媒体を含む。制限ではなく例として、コンピューター可読媒体は、コンピューター可読保存媒体及びコンピューター可読伝送媒体を含むことが可能である。コンピューター可読保存媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により実装される揮発性及び非揮発性媒体、一時的及び非一時的媒体、移動式及び非移動式媒体を含む。コンピューター可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリー又はその他のメモリー技術、CD-ROM、DVD(digital video disk)又はその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置又はその他の磁気保存装置、又はコンピューターによってアクセスでき、情報を保存するために使われることのできる任意のその他の媒体を含むが、これに限定されない。
【0207】
コンピューター可読伝送媒体は、通常、搬送波(carrier wave)又はその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)に、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中に情報をエンコードするように、その信号の特性のうち1つ以上を設定又は変更した信号を意味する。制限ではなく例として、コンピューター可読伝送媒体は、有線ネットワーク又は直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体の任意の組み合わせもコンピューター可読伝送媒体の範囲に含まれるものとする。
【0208】
コンピューター(4102)を含む本開示の多様な側面を具現化する例示的な環境(4100)が示されており、コンピューター(4102)は、処理装置(4104)、システムメモリー(4106)及びシステムバス(4108)を含む。システムバス(4108)は、システムメモリー(4106)(これに限定されない)をはじめとするシステムコンポーネントを、処理装置(4104)に繋げる。処理装置(4104)は、多様な商用のプロセッサーのうち、いずれかのプロセッサーになり得る。デュアルプロセッサーやその他のマルチプロセッサーアーキテクチャも、処理装置(4104)として利用されることが可能である。
【0209】
システムバス(4108)は、メモリーバス、周辺装置バス、及び多様な商用のバスアーキテクチャのうち、いずれかを使用するローカルバスに、さらに相互連結できる複数の類型のバス構造のうち、いずれかになり得る。システムメモリー(4106)は、読み取り専用メモリー(ROM)(4110)やランダムアクセスメモリー(RAM)(4112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(4110)に保存され、このBIOSは、起動中のとき等にコンピューター(4102)における複数の構成要素間の情報送信をサポートする基本的なルーティンを含む。RAM(4112)は、さらに、データをキャッシュするための静的RAM等の高速RAMを含むことが可能である。
【0210】
コンピューター(4102)は、また、内蔵型ハードディスクドライブ(HDD)(4114)(例えば、EIDE、SATA)―この内蔵型ハードディスクドライブ(4114)は、適切なシャシー(図示は省略)の中において外付け型として使用することが可能である―、磁気フロッピーディスクドライブ(FDD)(4116)(例えば、移動式ディスケット(4118)から読み取ったり、それに書き込むためのものである)及び光ディスクドライブ(4120)(例えば、CD-ROMディスク(4122)を読み取ったり、DVD等のその他の高容量光媒体から読み取ったり、それに書き込むためのものである)を含む。ハードディスクドライブ(4114)、磁気ディスクドライブ(4116)及び光ディスクドライブ(4120)は、それぞれハードディスクドライブインターフェース(4124)、磁気ディスクドライブインターフェース(4126)及び光ドライブインターフェース(4128)によってシステムバス(4108)に繋がることが可能である。外付け型ドライブの実装のためのインターフェース(4124)は、例えば、USB(Universal Serial Bus)やIEEE1394インターフェース技術のうち、少なくとも1つ又はその両方を含む。
【0211】
これらのドライブ及びこれらに係るコンピューター可読媒体は、データ、データ構造、コンピューターで実行可能な命令、その他等々に対する非揮発性保存を提供する。コンピューター(4102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述のコンピューター可読保存媒体に係る説明において、HDD、移動式磁気ディスク及びCD又はDVD等の移動式光媒体について触れているが、当業者にとって、ジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピューターにより読み取り可能な他の類型の保存媒体も、例示的な運営環境において用いられることが可能であり、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることは自明である。
【0212】
運営システム(4130)、1つ以上のアプリケーションプログラム(4132)、その他のプログラムモジュール(4134)及びプログラムデータ(4136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(4112)に保存されることが可能である。運営システム、アプリケーション、モジュール及び/又はデータの全部又はその一部分がRAM(4112)にキャッシュされることも可能である。本開示が、商業的に利用可能な様々な運営システム又は複数の運営システムの組み合わせにより実装されることが可能であることは自明である。
【0213】
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(4138)及びマウス(4140)等のポインティング装置を通じて、コンピューター(4102)に命令及び情報を入力することが可能である。その他の入力装置(図示は省略)としては、マイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置は、システムバス(4108)に繋がっている入力装置インターフェース(4142)を介して処理装置(4104)に繋がることがよくあるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他色々な他のインターフェースによって繋がることが可能である。
【0214】
モニター(4144)又は他の類型のディスプレイ装置も、ビデオアダプター(4146)等のインターフェースを通じてシステムバス(4108)に繋がる。モニター(4144)に加えて、コンピューターは、一般的にスピーカー、プリンター、その他色々な他の周辺出力装置(図示は省略)を含む。
【0215】
コンピューター(4102)は、有線及び/又は無線通信による、(複数の)遠隔コンピューター(4148)等の1つ以上の遠隔コンピューターへの論理的接続を利用し、ネットワーク化された環境で動作することが可能である。(複数の)遠隔コンピューター(4148)は、ワークステーション、コンピューティングデバイスコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサー基盤の娯楽機器、ピア装置又はその他の通常のネットワークノードになることが可能であり、一般的にコンピューター(4102)に関連付けて述べられた構成要素のうち、多数又はその全部を含むが、簡略化のために、メモリー保存装置(4150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(4152)及び/又は、より大きいネットワーク、例えば、広域通信網(WAN)(4154)への有線又は無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社では一般的なものであり、イントラネット等の全社的コンピューターネットワーク(enterprise-wide computer network)を容易にし、これらはすべて世界中のコンピューターネットワーク、例えば、インターネットに繋がることが可能である。
【0216】
LANネットワーキング環境で使われるとき、コンピューター(4102)は、有線及び/又は無線通信ネットワークインターフェース、又は、アダプター(4156)を介してローカルネットワーク(4152)に繋がる。アダプター(4156)は、LAN(4152)への有線又は無線通信を容易にすることができ、このLAN(4152)は、また、無線アダプター(4156)と通信するために設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(4102)は、モデム(4158)を含むことが可能であり、又はWAN(4154)における通信コンピューティングデバイスに繋がったり、又はインターネットを通じる等、WAN(4154)を通じて通信を設定するその他の手段を有する。内蔵型又は外付け型、そして、有線又は無線装置になり得るモデム(4158)は、直列ポートインターフェース(4142)を通じて、システムバス(4108)に繋がる。ネットワーク化された環境において、コンピューター(4102)に関連付けて説明されているプログラムモジュール又は、その一部分が遠隔メモリー/保存装置(4150)に保存されることが可能である。図示されているネットワーク接続は、例示的なものであり、複数のコンピューター間で通信リンクを設定する他の手段が用いられることも可能であるということは自明である。
【0217】
コンピューター(4102)は、無線通信で配置されて動作する任意の無線装置又はユニット、例えば、プリンター、スキャナー、デスクトップ及び/又は携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備又は場所及び電話と通信する動作をする。これは、少なくとも、Wi-Fi及びブルートゥース無線技術を含む。従って、通信は、従来のネットワークのように、予め定義された構造であったり、単純なケースとして少なくとも2つの装置間のアドホック通信(ad hoc communication)になり得る。
【0218】
Wi-Fi(Wireless Fidelity)は、有線で繋がっていなくても、インターネット等への接続を可能にする。Wi-Fiは、このような装置、例えば、コンピューターが、室内外を問わず、つまり基地局の通話圏内のどこからでも、データを送受信できるようにする、セル電話のような無線技術である。Wi-Fiネットワークは、安全で信頼性があり、高速の無線接続を提供するためにIEEE802.11(a、b、g、その他)という無線技術を用いる。コンピューターを互いに、インターネット及び有線ネットワーク(IEEE802.3又はイーサネットを使う)に接続させるために、Wi-Fiが利用されることが可能である。Wi-Fiネットワークは、非認可2.4や5GHzの無線帯域において、例えば、11Mbps(802.11a)又は54Mbps(802.11b)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品において動作することが可能である。
【0219】
本開示の技術分野における通常の知識を持つ者は、情報及び信号が、任意の多様な相異なる技術及び手法を利用して表現されることができるということを理解することが可能である。例えば、上記の説明において参照できるデータ、指示、命令、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁気派、磁場又は粒子、光学場又は粒子、又はこれらの任意の組み合わせによって表現されることが可能である。
【0220】
以下に本開示の一実施例におけるデータ構造が保存されているコンピューター可読媒体を開示する。
【0221】
データ構造は、データに対する効率的なアクセスと修正を可能にするデータの組織、管理、保存を意味することが可能である。データ構造は、特定の課題(例えば、最短時間でのデータ検索、データ保存、データ修正)を解決するためのデータの組織を意味することが可能である。データ構造は、特定のデータ処理機能をサポートするように設計された、複数のデータ要素間の物理的あるいは論理的関係と定義されることも可能である。複数のデータ要素間の論理的関係は、複数のユーザー定義のデータ要素間の連結関係を含むことが可能である。複数のデータ要素間の物理的関係は、コンピューター可読保存媒体(例えば、永久保存装置)に物理的に保存されている複数のデータ要素間の実際の関係を含むことが可能である。データ構造は、具体的にデータの集合、データ間の関係、データに適用できる関数や命令を含むことが可能である。効果的に設計されたデータ構造を活用することで、コンピューティング装置は、コンピューティング装置のリソースの使用を最低限に抑えながら、演算を行うことが可能である。具体的に、コンピューティング装置は、効果的に設計されたデータ構造を通じて、演算、読み取り、取り込み、削除、比較、交換、検索の効率を高めることが可能である。
【0222】
データ構造は、データ構造の形態を基準に、線形データ構造と非線形データ構造に分類されることが可能である。線形データ構造は、1つのデータの後にデータが1つだけ繋がっている構造になり得る。線形データ構造は、リスト(List)、スタック(Stack)、キュー(Queue)、デック(Deque)を含むことが可能である。リストは、内部的に順序が存在する一連のデータの集合を意味することが可能である。リストは、連結リスト(Linked List)を含むことが可能である。連結リストは、各々のデータがポインターを持ち、一列に繋がっている方式でデータが連結されているデータ構造になり得る。連結リストにおいて、ポインターは、次のデータや前のデータとの連結に係る情報を含むことが可能である。連結リストは、形態によって片方向連結リスト、双方向連結リスト、循環連結リストとして表現されることが可能である。スタックは、データへのアクセスに制限が付くデータ配列構造になり得る。スタックは、データ構造の片端でのみデータを処理(例えば、挿入又は削除)できる線形データ構造になり得る。スタックに保存されているデータは、後入れ先出しのデータ構造(LIFO-Last in First Out)になり得る。キューもデータへのアクセスに制限が付くデータ配列構造であるが、スタックとの違いは、先入れ先出しのデータ構造(FIFO-First in First Out)になっているということになり得る。デックは、データ構造の両端でデータを処理できるデータ構造になり得る。
【0223】
非線形データ構造は、1つのデータの後に複数のデータが繋がっている構造になり得る。非線形データ構造は、グラフ(Graph)データ構造を含むことが可能である。グラフデータ構造は、頂点(Vertex)と辺(Edge)で定義することができ、辺は異なる2つの頂点を繋ぐ線を含むことが可能である。グラフデータ構造は、ツリー(Tree)データ構造を含むことが可能である。ツリーデータ構造は、ツリーに含まれている複数の頂点のうち、相異なる2つの頂点を繋ぐ経路が1つであるデータ構造になり得る。つまり、グラフデータ構造において、ループ(loop)を形成しないデータ構造になり得る。
【0224】
本明細書の全体を通して、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワーク(neural network)は、同一の意味として用いられることが可能である。以下、神経回路網と統一して記述する。データ構造は、神経回路網を含むことが可能である。そして、神経回路網を含むデータ構造は、コンピューター可読媒体に保存されることが可能である。また、神経回路網を含むデータ構造は、神経回路網による処理のために前処理されたデータ、神経回路網に入力されるデータ、神経回路網の重み、神経回路網のハイパーパラメータ、神経回路網から取得したデータ、神経回路網の各ノードや階層に紐づいている活性化関数、神経回路網の学習のための損失関数等を含むことが可能である。神経回路網を含むデータ構造は、上記開示された構成のうち、任意の構成要素を含むことが可能である。つまり、神経回路網を含むデータ構造は、神経回路網による処理のために前処理されたデータ、神経回路網に入力されるデータ、神経回路網の重み、神経回路網のハイパーパラメータ、神経回路網から取得したデータ、神経回路網の各ノードや階層に紐づいている活性化関数、神経回路網の学習のための損失関数等の全部、又はこれらの任意の組み合わせを含めて構成されることが可能である。前述の構成以外にも、神経回路網を含むデータ構造は、神経回路網の特徴を決定する任意の他の情報を含むことが可能である。また、データ構造は、神経回路網の演算過程において使用されたり、発生するあらゆる形態のデータを含むことができ、前述の事項に限定されない。コンピューター可読媒体は、コンピューター可読記録媒体及び/又はコンピューター可読伝送媒体を含むことが可能である。神経回路網は、一般的にノードと呼ばれる相互連結された計算単位の集合で構成されることが可能である。このようなノードは、ニューロン(neuron)と称されることも可能である。神経回路網は、少なくとも1つ以上のノードを含めて構成される。
【0225】
データ構造は、神経回路網に入力されるデータを含むことが可能である。神経回路網に入力されるデータを含むデータ構造は、コンピューター可読媒体に保存されることが可能である。神経回路網に入力されるデータは、神経回路網の学習過程において入力される学習データ及び/又は学習が完了した神経回路網に入力される入力データを含むことが可能である。神経回路網に入力されるデータは、前処理(pre-processing)を行ったデータ及び/又は前処理の対象となるデータを含むことが可能である。前処理は、データを神経回路網に入力するためのデータ処理過程を含むことが可能である。従って、データ構造は、前処理の対象となるデータ及び前処理により発生するデータを含むことが可能である。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0226】
データ構造は、神経回路網の重みを含むことが可能である。(本明細書において、重みとパラメータは同一の意味を持つとみなすことが可能である)そして、神経回路網の重みを含むデータ構造は、コンピューター可読媒体に保存されることが可能である。神経回路網は、複数の重みを含むことが可能である。重みは、可変的なものになり得るが、神経回路網が求める機能を実行するために、ユーザー又はアルゴリズムに応じて可変することが可能である。例えば、1つの出力ノードに、1つ以上の入力ノードが、各々のリンクによって相互連結されている場合、出力ノードは、上記出力ノードに繋がっている入力ノードに入力された複数の値と、各々の入力ノードに対応するリンクに設定された重みとに基づき、出力データから出力されるデータの値を決定することが可能である。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0227】
制限ではなく例として、重みは、神経回路網の学習過程において可変する重み及び/又は神経回路網の学習が完了した重みを含むことが可能である。神経回路網の学習において可変する重みは、学習サイクルが始まる時点での重み及び/又は学習サイクル中に変化する重みを含むことが可能である。神経回路網の学習が完了した重みは、学習サイクルが完了した重みを含むことが可能である。従って、神経回路網の重みを含むデータ構造は、神経回路網の学習過程において可変する重み及び/又は神経回路網の学習が完了した重みを含むデータ構造を含むことが可能である。従って、上述の重み及び/又は各々の重みの組み合わせは、神経回路網の重みを含むデータ構造に含まれるものとする。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0228】
神経回路網の重みを含むデータ構造は、直列化(serialization)過程を経た後にコンピューター可読保存媒体(例えば、メモリー、ハードディスク)に保存されることが可能である。直列化は、データ構造を同一の若しくは異なるコンピューティング装置に保存しておき、後に再構成して使える形態に変換する過程になり得る。コンピューティング装置は、データ構造を直列化し、ネットワークを介してデータを送受信することが可能である。直列化された神経回路網の重みを含むデータ構造は、直列化復元(deserialization)を通じて、同一のコンピューティング装置又は他のコンピューティング装置において再構成されることが可能である。神経回路網の重みを含むデータ構造は、直列化に限定されない。さらに、神経回路網の重みを含むデータ構造は、コンピューティング装置のリソースの使用を最小限に抑えながら、演算の効率を高めるためのデータ構造(例えば、非線形データ構造における、B-Tree、Trie、m-way search tree、AVL tree、Red-Black Tree)を含むことが可能である。前述の事項は、例示に過ぎず、本開示はこれらに限定されない。
【0229】
データ構造は、神経回路網のハイパーパラメータ(Hyper-parameter)を含むことが可能である。そして、神経回路網のハイパーパラメータを含むデータ構造は、コンピューター可読媒体に保存されることが可能である。ハイパーパラメータは、ユーザーに応じて可変する変数になり得る。ハイパーパラメータは、例えば、学習率(learning rate)、コスト関数(cost function)、学習サイクル反復回数、重み初期化(Weight initialization)(例えば、重み初期化の対象となる重みの値の範囲の設定)、隠れユニット数(例えば、隠れ層の数、隠れ層のノード数)を含むことが可能である。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0230】
本開示の技術分野において通常の知識を持つ者は、ここに開示されている実施例に係る説明において取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサー、手段、回路及びアルゴリズム段階が、電子ハードウェア、(説明の便宜上、ここでは「ソフトウェア」と称する)多様な形のプログラム又は、設計コード、又はこれらすべての結合によって具現化されることができるということを理解することが可能である。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階について、これらの機能に着目して上記で一般的に説明した。このような機能がハードウェアやソフトウェアとして実装されるかどうかは、特定のアプリケーション及び全体システムに対して加えられる設計上の制限によって決定される。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な方法で説明された機能を具現化することができるが、このような具現化の決定は、本開示の範囲を逸脱するものと解釈すべきではない。
【0231】
ここに示されている多様な実施例は、方法、装置、又は標準プログラミング及び/又はエンジニアリング技術を使った製造物品(article)によって実現されることが可能である。用語として、「製造物品」は、任意のコンピューターで読み取り可能な装置からアクセス可能なコンピュータープログラム、キャリアー、又は媒体(media)を含む。例えば、コンピューターで読み取り可能な保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるわけではない。また、ここに示されている多様は保存媒体は、情報を保存するための1つ以上の装置及び/又は他の機械で読み取り可能な媒体を含む。
【0232】
ここに示されたプロセスにおける複数の段階の特定の順番又は階層構造は、例示的なアプローチの一例であることを理解されたい。設計上の優先順位に基づき、本開示の範囲内で、プロセスにおける段階の特定の順番又は階層構造が再配列されることができることを理解されたい。添付の方法請求項は、サンプルとしての順番で、多様な段階のエレメントを提供するが、示された特定の順番又は階層構造に限定されることを意味するわけではない。
【0233】
ここに示された実施例に関する説明は、任意の本開示の技術分野において通常の知識を持つ者が、本開示を利用したり又は実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることが可能である。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[付記1]
コンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラムであって、前記コンピュータプログラムは、ダーツゲーム装置の1つ以上の制御部で実行される場合にダーツピンのヒット位置識別方法を提供し、
前記方法は、
第1ダーツピン投擲に対応して第1履歴情報を生成するステップ、前記第1履歴情報は、前記第1ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージ上に現れるダーツターゲットにヒットした少なくとも1つのダーツピンのヒット位置情報を含むこと;
第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得するステップ、前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含むこと;および
ダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記第2ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージに基づいて、複数のヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;
を含む、
コンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記2]
前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップは、
前記ダーツターゲット撮影イメージに基づく入力データを前記ダーツピンの位置識別ネットワークモデルにより処理することで複数のダーツピンのヒット位置情報を生成するステップ;および
前記第1履歴情報に基づいて前記生成された複数のダーツピンのヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;
を含む、
付記1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記3]
前記第1履歴情報および前記ダーツターゲット撮影イメージに基づいて、前記第2ダーツピン投擲によりヒットしたダーツピンのヒット位置情報を生成するステップは、
前記第1履歴情報を含む入力データを前記ダーツピンの位置識別ネットワークモデルにより処理することで、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を生成するステップ;
を含む、
付記1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記4]
前記入力データは、前記ダーツターゲット撮影イメージに対応するバウンディングボックスイメージを含む、
付記2または3に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記5]
前記ダーツターゲット撮影イメージは、予め決められた方向に位置する少なくとも2つのカメラによりそれぞれ生成される少なくとも2つのイメージである、
付記2または3に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記6]
前記入力データは、少なくとも2つのバウンディングボックスイメージを予め決められた方向に配置したイメージを含み、前記少なくとも2つのバウンディングボックスイメージは、前記予め決められた方向に位置する少なくとも2つのカメラにより生成される前記少なくとも2つのイメージに対応する、
付記5に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記7]
前記第1履歴情報は、第1ダーツピン投擲により決められるスコア値をさらに含む、付記1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記8]
前記ダーツピンのヒット位置情報は、セグメント位置情報または前記セグメント上のビット位置情報のうち少なくとも1つを含む、
付記1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記9]
第2ダーツピン投擲に対応して第2履歴情報を生成するステップ;
をさらに含む、
付記1に記載のコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
[付記10]
ダーツゲーム装置により行われるダーツピンのヒット位置識別方法であって、
第1ダーツピン投擲に対応して第1履歴情報を生成するステップ、前記第1履歴情報は、前記第1ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージ上に現れるダーツターゲットにヒットした少なくとも1つのダーツピンのヒット位置情報を含むこと;
第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得するステップ、前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含むこと;および
ダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記第2ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージに基づいて、複数のヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決めるステップ;
を含む、
方法。
[付記11]
ダーツゲーム装置であって、
コンピュータ実行可能なコンポーネントを含むメモリ;および
メモリに格納された以下のコンピュータ実行可能なコンポーネントを実行するプロセッサ;
を含み、
前記プロセッサは、
第1ダーツピン投擲に対応して第1履歴情報を生成し、前記第1履歴情報は、前記第1ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージ上に現れるダーツターゲットにヒットした少なくとも1つのダーツピンのヒット位置情報を含むこと、
第2ダーツピン投擲に対応してダーツターゲット撮影イメージを取得し、前記ダーツターゲット撮影イメージは、ダーツターゲットおよび前記ダーツターゲットにヒットした複数のダーツピンのイメージを含むこと、
ダーツピンの位置識別ネットワークモデルにより、前記第1履歴情報および前記第2ダーツピン投擲に対応して取得されたダーツターゲット撮影イメージに基づいて、複数のヒット位置情報のうち、前記第2ダーツピン投擲に対応するダーツピンのヒット位置情報を決める、
ダーツゲーム装置。