(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024027104
(43)【公開日】2024-02-29
(54)【発明の名称】ダーツピンのヒット位置の識別方法、コンピュータープログラム、及び装置
(51)【国際特許分類】
F41J 3/00 20060101AFI20240221BHJP
G06T 7/00 20170101ALI20240221BHJP
G06T 7/70 20170101ALI20240221BHJP
G06V 10/82 20220101ALI20240221BHJP
A63F 9/02 20060101ALI20240221BHJP
A63B 65/02 20060101ALI20240221BHJP
【FI】
F41J3/00
G06T7/00 350C
G06T7/70 A
G06V10/82
A63F9/02 B
A63B65/02 A
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023132194
(22)【出願日】2023-08-15
(11)【特許番号】
(45)【特許公報発行日】2023-11-20
(31)【優先権主張番号】10-2022-0102248
(32)【優先日】2022-08-16
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
(71)【出願人】
【識別番号】515050873
【氏名又は名称】フェニックスダーツ カンパニー リミテッド
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】リー、スン・ユーン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA05
5L096EA05
5L096FA16
5L096FA69
5L096HA11
5L096KA04
5L096KA15
(57)【要約】 (修正有)
【課題】ダーツピンのヒット位置を識別するための方法、プログラム及び装置を提供すること。
【解決手段】本開示の複数の実施例に基づき、コンピューター可読保存媒体に保存されたコンピュータープログラムを開示する。上記コンピュータープログラムは、ダーツゲーム装置の1つ以上の制御部において実行される場合、ダーツピンのヒット位置の識別方法を提供し、上記方法は:ダーツスローに対応して少なくとも2つのダーツターゲット撮影画像を取得する段階であり、上記ダーツターゲット撮影画像は、ダーツターゲット及び上記ダーツターゲットにヒットした少なくとも1本のダーツピンの画像を含み;及びダーツピン位置識別ネットワークモデルを通じて、上記少なくとも2つのダーツターゲット撮影画像に基づき上記少なくとも1本のダーツピンのヒット位置情報を生成する段階;を含むことが可能である。
【選択図】
図4
【特許請求の範囲】
【請求項1】
コンピューター可読保存媒体に保存されたコンピュータープログラムであって、前記コンピュータープログラムは、それぞれ予め決められた方向に位置する少なくとも2つのカメラを含むダーツゲーム装置の1つ以上の制御部において実行される場合、ダーツピンのヒット位置の識別方法を提供し、前記方法は:
ダーツスローに対応して少なくとも2つのダーツターゲット撮影画像を取得する段階であり、前記ダーツターゲット撮影画像は、ダーツターゲット及び前記ダーツターゲットにヒットした少なくとも1本のダーツピンの画像を含み、前記少なくとも2つのダーツターゲット撮影画像は、前記それぞれ予め決められた方向に位置する少なくとも2つのカメラによって生成され;及び
ダーツピン位置識別ネットワークモデルを通じて、前記少なくとも2つのダーツターゲット撮影画像に基づき、前記少なくとも1本のダーツピンのヒット位置情報を生成する段階;
を含み、
前記少なくとも2つのダーツターゲット撮影画像に基づき、前記ダーツピンのヒット位置情報を生成する段階は:
前記少なくとも2つのダーツターゲット撮影画像を結合して単一の画像である入力データを生成する段階;及び
前記入力データを、前記ダーツピン位置識別ネットワークモデルを通じて処理して、前記少なくとも1本のダーツピンのヒット位置情報を生成する段階;
を含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項2】
請求項1において、
前記入力データは、前記少なくとも2つのダーツターゲット撮影画像と対応する少なくとも2つのバウンディングボックス画像を含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項3】
請求項2において、
前記入力データは、前記少なくとも2つのバウンディングボックス画像を予め決められた向きに配置した画像である、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項4】
請求項1において、
前記ダーツピン位置識別ネットワークモデルは、少なくとも2つのダーツターゲット撮影画像又は少なくとも2つのバウンディングボックス画像を含むトレーニング用画像データと、前記トレーニング用画像データと対応するラベルを含むトレーニング用データセットを利用して学習される、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項5】
請求項4において、
前記トレーニング用画像データと対応するラベルは、セグメント位置情報とセグメントビット位置情報のうち少なくとも1つを含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項6】
請求項1において、
前記少なくとも2つのダーツターゲット撮影画像の数は、前記少なくとも2つのカメラの数と対応する、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項7】
請求項1において、
ダーツピン位置識別ネットワークモデルを通じて、前記少なくとも2つのダーツターゲット撮影画像に基づき、前記少なくとも1本のダーツピンのヒット位置情報を生成する段階は:
前記ダーツターゲット撮影画像に対し、ノイズ除去のための前処理を行う段階;
を含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項8】
それぞれ予め決められた方向に位置する少なくとも2つのカメラを含むダーツゲーム装置により実行される、ダーツピンのヒット位置の識別方法において、
ダーツスローに対応して少なくとも2つのダーツターゲット撮影画像を取得する段階であり前記ダーツターゲット撮影画像は、ダーツターゲット及び前記ダーツターゲットにヒットした少なくとも1本のダーツピンの画像を含み、前記少なくとも2つのダーツターゲット撮影画像は、前記それぞれ予め決められた方向に位置する少なくとも2つのカメラによって生成され;及び
ダーツピン位置識別ネットワークモデルを通じて、前記少なくとも2つのダーツターゲット撮影画像に基づき、前記少なくとも1本のダーツピンのヒット位置情報を生成する段階;
を含み、
前記少なくとも2つのダーツターゲット撮影画像に基づき、前記ダーツピンのヒット位置情報を生成する段階は:
前記少なくとも2つのダーツターゲット撮影画像を結合して単一の画像である入力データを生成する段階;及び
前記入力データを、前記ダーツピン位置識別ネットワークモデルを通じて処理して、前記少なくとも1本のダーツピンのヒット位置情報を生成する段階;
を含む、
方法。
【請求項9】
それぞれ予め決められた方向に位置する少なくとも2つのカメラを含むダーツゲーム装置であって、
コンピューターで実行可能なコンポーネントを含むメモリー;
メモリーに保存されている以下のコンピューターで実行可能なコンポーネントを実行するプロセッサー;を含み、
前記プロセッサーは、
ダーツスローに対応して少なくとも2つのダーツターゲット撮影画像を取得し、前記ダーツターゲット撮影画像は、ダーツターゲット及び前記ダーツターゲットにヒットした少なくとも1本のダーツピンの画像を含み、前記少なくとも2つのダーツターゲット撮影画像は、前記それぞれ予め決められた方向に位置する少なくとも2つのカメラによって生成され、且つ、
ダーツピン位置識別ネットワークモデルを通じて、前記少なくとも2つのダーツターゲット撮影画像に基づき、前記少なくとも1本のダーツピンのヒット位置情報を生成し、
前記少なくとも2つのダーツターゲット撮影画像に基づき、前記ダーツピンのヒット位置情報を生成する場合:
前記少なくとも2つのダーツターゲット撮影画像を結合して単一の画像である入力データを生成し、且つ、
前記入力データを、前記ダーツピン位置識別ネットワークモデルを通じて処理して、前記少なくとも1本のダーツピンのヒット位置情報を生成する、
ダーツゲーム装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピューティング装置を利用した画像処理に係り、具体的にはダーツピンのヒット位置を識別するための方法、コンピュータープログラム、及び装置(METHOD、COMPUTER PROGRAM、AND DEVICE FOR IDENTIFYING HIT LOCATION OF DART PIN)に関する。
【背景技術】
【0002】
一般的にダーツとは、「小さい矢」という意味で、数字が書かれた円状の的に矢に似た形のダーツを投げて点数を競う競技である。ダーツゲームは矢じりの形をしたダーツと、ダーツゲーム装置を備えれば、いつでも誰でも楽しめるというメリットがある。最近は多様な競技方式が開発されるとともに、採点方式も整ってきており、レジャー活動として世界へ広がり、年齢や性別を問わず広く楽しまれている。
【0003】
ダーツゲーム装置は、ダーツターゲット上に設置されているセンサーを介して感知した結果、又はダーツターゲットを撮影した画像に対する解析を通じて、ダーツターゲット上にヒットしたダーツピンのヒット位置を識別することが可能である。画像解析方法は、多様な位置にあるカメラを通じて撮影された画像を処理する必要がある。ルールベースアルゴリズムを用いる画像解析方法は、ダーツゲーム装置が多様な環境に設置されているため、ノイズ等により、正確度を確保することが難しいという問題点が存在する。深層学習に基づく画像解析方法には、十分な量のデータセットを確保することの難しさや複数のダーツピンのヒット位置情報処理アルゴリズムの具現化等の課題が存在する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】韓国登録特許10-2136813号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、前述の背景技術に対応して案出されたものであり、ダーツピンのヒット位置を識別するための方法、コンピュータープログラム及び装置を提供することを目的とする。
【0006】
本開示における技術的課題は、前述の技術的課題に限定されるものではなく、当業者は以下の記載内容に基づき、前述の技術的課題以外の課題についても明確に理解することが可能である。
【課題を解決するための手段】
【0007】
前述の課題を解決するための本開示の複数の実施例に基づき、コンピューター可読保存媒体に保存されたコンピュータープログラムが開示される。上記コンピュータープログラムは、ダーツゲーム装置の1つ以上の制御部において実行される場合、ダーツピンのヒット位置の識別方法を提供し、上記方法は:ダーツスローに対応して少なくとも2つのダーツターゲット撮影画像を取得する段階であり、上記ダーツターゲット撮影画像は、ダーツターゲット及び上記ダーツターゲットにヒットした少なくとも1本のダーツピンの画像を含み;及びダーツピン位置識別ネットワークモデルを通じて、上記少なくとも2つのダーツターゲット撮影画像に基づき上記少なくとも1本のダーツピンのヒット位置情報を生成する段階;を含むことが可能である。
【0008】
代案として、上記少なくとも2つのダーツターゲット撮影画像に基づき、上記ダーツピンのヒット位置情報を生成する段階は:上記少なくとも2つのダーツターゲット撮影画像を結合して入力データを生成する段階;及び上記入力データを、上記ダーツピン位置識別ネットワークモデルを通じて処理して、上記少なくとも1本のダーツピンのヒット位置情報を生成する段階;を含むことが可能である。
【0009】
代案として、上記入力データは、上記少なくとも2つのダーツターゲット撮影画像と対応する少なくとも2つのバウンディングボックス画像を含むことが可能である。
【0010】
代案として、上記入力データは、上記少なくとも2つのバウンディングボックス画像を予め決められた向きに配置した画像になり得る。
【0011】
代案として、上記ダーツピン位置識別ネットワークモデルは、少なくとも2つのダーツターゲット撮影画像又は少なくとも2つのバウンディングボックス画像を含むトレーニング用画像データと、上記トレーニング用画像データと対応するラベルを含むトレーニング用データセットを利用して学習されることが可能である。
【0012】
代案として、上記トレーニング用画像データと対応するラベルは、セグメント位置情報又はセグメントビット位置情報のうち、少なくとも1つを含むことが可能である。
【0013】
代案として、上記少なくとも2つのダーツターゲット撮影画像は、それぞれ予め決められた方向に位置する少なくとも2つのカメラによって生成されることも可能である。
【0014】
代案として、上記少なくとも2つのダーツターゲット撮影画像の数は、上記少なくとも2つのカメラの数と対応することが可能である。
【0015】
代案として、ダーツピン位置識別ネットワークモデルを通じて、上記少なくとも2つのダーツターゲット撮影画像に基づき、上記少なくとも1本のダーツピンのヒット位置情報を生成する段階は:上記ダーツターゲット撮影画像に対し、ノイズ除去のための前処理を行う段階;を含むことが可能である。
【0016】
前述の課題を解決するための本開示の複数の実施例に基づき、ダーツゲーム装置により実行されるダーツピンのヒット位置識別方法を開示する。前記方法は:ダーツスローに対応して少なくとも2つのダーツターゲット撮影画像を取得する段階であり、上記ダーツターゲット撮影画像は、ダーツターゲット及び上記ダーツターゲットにヒットした少なくとも1本のダーツピンの画像を含み;及びダーツピン位置識別ネットワークモデルを通じて、上記少なくとも2つのダーツターゲット撮影画像に基づき上記少なくとも1本のダーツピンのヒット位置情報を生成する段階;を含むことが可能である。
【0017】
前述の課題を解決するための本開示の複数の実施例に基づき、ダーツゲーム装置を開示するが、上記装置は:コンピューターで実行可能なコンポーネントを含むメモリー;メモリーに保存されている以下のコンピューターで実行可能なコンポーネントを実行するプロセッサー;を含み、上記プロセッサーは、ダーツスローに対応して少なくとも2つのダーツターゲット撮影画像を取得し、上記ダーツターゲット撮影画像は、ダーツターゲット及び上記ダーツターゲットにヒットした少なくとも1本のダーツピンの画像を含み、且つ、ダーツピン位置識別ネットワークモデルを通じて、上記少なくとも2つのダーツターゲット撮影画像に基づき、上記少なくとも1本のダーツピンのヒット位置情報を生成することが可能である。
【0018】
本開示から得られる技術的解決手段は、前述の解決手段に限定されることなく、本開示が属する技術分野における通常の知識を有する者は、以下の記載内容から、前述の解決手段以外の解決手段についても明確に理解することが可能である。
【発明の効果】
【0019】
本開示の複数の実施例に基づき、ダーツゲームユーザーの興味を引くダーツゲーム装置を提供することが可能である。
【0020】
本開示から得られる効果は、前述の効果に限定されることなく、本開示が属する技術分野における通常の知識を有する者は、以下の記載内容に基づき、前述の効果以外の効果についても明確に理解することが可能である。
【図面の簡単な説明】
【0021】
図面を参照して多様な様相について説明する。以下の図面の記載において、類似の図面番号は総体として類似の構成要素を示すために使われる。以下の実施例において、説明のために、多数の特定の細部事項が、1つ以上の様相の総合的な理解を助けるために提供される。しかし、かかる(複数の)様相を、かかる特定の細部事項がなくても実施できるということは明白である。他の例において、公知の構造及び装置が、1つ以上の様相の記載を容易にするためにブロック図の形で図示される。
【0022】
【
図1】
図1は、本開示の複数の実施例におけるダーツゲームシステムの一例を説明するためのブロック構成図である。
【
図2】
図2は、本開示の複数の実施例におけるダーツゲーム装置の一例を説明するためのブロック構成図である。
【
図3】
図3は、本開示の複数の実施例におけるダーツゲーム装置の一例を説明するための別の図面である。
【
図4】
図4は、本開示の複数の実施例におけるダーツゲーム装置により実行される、ダーツピンのヒット位置の識別方法の一例を説明するためのフローチャートである。
【
図5】
図5は、本開示の複数の実施例におけるダーツゲーム装置により実行される場合のダーツピンのヒット位置の識別方法の一例を説明するためのもう1つのフローチャートである。
【
図6a】
図6aは、ダーツターゲット撮影画像を説明するための第1の図面である。
【
図6b】
図6bは、ダーツターゲット撮影画像を説明するための第2の図面である。
【
図7a】
図7aは、本開示の第1の実施例に基づき、例示的なダーツピン位置識別モデルを説明するための第1の図面である。
【
図7b】
図7bは、本開示の第2の実施例に基づき、例示的なダーツピン位置識別モデルを説明するための第2の図面である。
【
図8】
図8は、本開示の複数の実施例におけるコンピューティング装置により実行される、ダーツピンの位置の識別方法のためのトレーニング用データセットを生成する方法の一例を説明するためのフローチャートである。
【
図9】
図9は、本開示の複数の実施例に基づきネットワーク関数を示す概略図である。
【
図10】
図10は、本発明の実施例が具現化されることの可能な例示的なコンピューティング環境に係る簡略且つ一般的な概略図である。
【発明を実施するための形態】
【0023】
以下、多様な実施例及び/又は様相を、図面を用いて開示していく。下記の説明において、説明のために、1つ以上の様相に対する全般的な理解を助けるために多数の具体的な細部事項を開示する。しかし、このような(複数の)様相は、このような具体的な細部事項がなくても実行できるということを、本開示の技術分野における通常の知識を持つ者は認知することが可能である。以下に記載及び添付されている図面は、1つ以上の様相の特定の例示的様相について詳細に記述している。しかし、これらの様相は例示的なものであり、多様な様相の原理に基づく多様な方法のうち一部が利用される場合もあり、ここに述べられている説明は、そのような様相及びそれらの均等物をすべて含むという意図を持っている。具体的に、本明細書に用いられている「実施例」、「例」、「様相」、「例示」等の用語は、必ずしも、ここに述べられている任意の様相又は設計が、他の様相又は設計より優れていたり、利点があると解釈されるとは限らない。
【0024】
以下、図面の符号と関係なく、同一又は類似の構成要素に対しては同一の参照番号を付し、それに係る重複する説明は省略する。さらに、本明細書に開示されている実施例を説明する際、それに係る公知の技術に関する具体的な説明が、本明細書に開示されている実施例の要旨を不明確にする可能性があると判断される場合は、その詳細な説明を省略する。また、添付の図面は、本明細書に開示されている実施例に対する理解をより容易にするためのものに過ぎず、添付の図面によって本明細書に開示されている技術的思想が制限されるわけではない。
【0025】
「第1」、「第2」等の表現が、多様なエレメントや構成要素について述べるために使われているが、これらのエレメントや構成要素がこれらの用語によって制限されるわけではない。これらの用語は、単にある1つの素子や構成要素を他の素子や構成要素と区別するために使われているだけである。従って、以下に記載される第1のエレメントや構成要素は、本発明の技術的思想の中で第2のエレメントや構成要素にもなり得る。
【0026】
別段の定義がない限り、本明細書において使われているすべての用語(技術及び科学的用語を含む)は、本発明が属する技術分野における通常の知識を有する者にとって、共通して理解できる意味で使うことが可能である。また、一般的な辞書に定義されている用語は、別段の定義がない限り、理想的に又は過度に解釈されないものとする。
【0027】
なお、用語「又は」は、排他的な「又は」ではなく、内包的な「又は」を意味する意図で使われる。つまり、特に特定されておらず、文脈上明確ではない場合、「Xは、A又はBを利用する」は、自然な内包的置換のうち1つを意味するものとする。つまり、XがAを利用したり;XがBを利用したり;又はXがA及びBの両方を利用する場合、「XはA又はBを利用する」は、これらのいずれにも当てはまるとすることが可能である。また、本明細書における「及び/又は」という用語は、取り挙げられた複数の関連アイテムのうち、1つ以上のアイテムの可能なすべての組み合わせを指し、含むものと理解されるべきである。
【0028】
また、述語としての「含む(含める)」及び/又は修飾語としての「含む(含める)」という用語は、当該特徴及び/又は構成要素が存在することを意味するが、1つ以上の他の特徴、構成要素及び/又はこれらのグループの存在又は追加を排除しないものと理解される。また、特に数が特定されていない場合や、単数を示すことが文脈上明確でない場合、本明細書と請求範囲において単数は、一般的に「1つ又はそれ以上」を意味するものと解釈すべきである。
【0029】
また、本明細書において用いられる用語「情報」と「データ」は、時々相互置き換え可能に用いられることができる。
構成要素(elements)又は階層について、他の構成要素又は階層に対し「の上(on)」又は「上(on)」と記されるのは、他の構成要素又は階層の直上だけを指すのではなく、その間に他の階層又は他の構成要素が介在している場合をも含む。一方、構成要素に対し「直上(directly on)」又は「真上」と記されるのは、間に他の構成要素又は階層が介在していないことを意味する。
【0030】
空間的に相対的な用語である「下(below)」、「下(beneath)」、「下部(lower)」、「上(above)」、「上部(upper)」等は、図面に示されているように、一つの構成要素又は他の構成要素との相関関係を容易に記述するために用いられることが可能である。空間的に相対的な用語は、図面に示されている方向に加えて、使用時、又は、動作時における各素子のそれぞれ異なる方向を含む用語として理解すべきである。
【0031】
例えば、図面に示されている構成要素を逆様にした場合、他の構成要素に対し「下(below)」又は「下(beneath)」と記述されている構成要素は、他の構成要素の「上(above)」に置かれることになる場合がある。従って、例示的な用語である「下」は、下と上の方向を両方含むことが可能である。構成要素は他の方向に配向されることも可能であり、従って、空間的に相対的な用語は、配向によって解釈が変わる場合がある。
【0032】
ある構成要素が他の構成要素に「繋がって」いたり「連結されて」いたり、「接続して」いると記載された場合は、当該他の構成要素に直接繋がっていたり、連結されていたり又は接続していることもあり得るが、その間に他の構成要素が介在していることもあり得ると解釈すべきである。一方、ある構成要素が他の構成要素に「直接繋がって」いたり、「直接連結されていたり」、「直接接続して」いると記述されている場合は、その間に他の構成要素が存在しないと解釈すべきである。
【0033】
以下の説明で用いられる構成要素に係る接尾語の「モジュール」及び「部」は、明細書作成を容易にするためだけの目的で付されたり混用されているものであり、これらの接尾語自体がそれぞれ異なる特定の意味や役割を持つわけではない。
【0034】
本開示の目的及び効果、そしてそれらを達成するための技術的構成は、添付の図面とともに詳しく後述する実施例を参照することで明確になる。本開示の説明において、公知の機能又は構成に係る具体的な説明が、本開示の要旨を不明確にする可能性があると判断される場合は、その詳しい説明を省略する。そして後述の用語は、本開示における機能を考慮して定義された用語であり、これは利用者や運用者の意図又は慣例等によって変わることがあり得る。
【0035】
しかし、本開示は、以下に開示される実施例によって限定されるものではなく、多様な形で具現化されることが可能である。ただ、これらの実施例は、本開示を完全なものにし、本開示が属する技術分野における通常の知識を持つ者に開示の範囲を完全に理解させるために提供されるものであり、本開示は、請求項の範囲によって定義されるものである。従って、その定義は、本明細書全般において記載されている内容に基づき決められるべきである。
【0036】
以下に
図1乃至
図10を用いて本開示におけるダーツゲーム装置、ダーツゲームシステム、そしてダーツゲーム装置を活用したダーツゲーム方法について説明する。一方、本開示において説明を容易にするために、ダーツゲームを行うプレイヤーとダーツゲームをプレイするダーツゲーム装置とを区別して記載せず混用しており、添付の図面は本明細書において開示されている実施例を理解しやすくするためのものに過ぎず、添付の図面によって本明細書に開示されている技術的思想が制限されるわけではなく、本発明の思想及び技術範囲に含まれるあらゆる変更、均等物乃至代替物を含むものと理解されるべきである。
【0037】
図1は、本開示の複数の実施例におけるダーツゲームシステムの一例を説明するためのブロック構成図である。
【0038】
図1によると、ダーツゲームシステム(10000)は、ダーツゲーム装置(1000)、少なくとも1つの他のデバイス(2000)、ダーツゲームサーバ(3000)及びネットワーク(4000)を含むことが可能である。ただし、上述の構成要素は、ダーツゲームシステム(10000)を実装するに当たり、必須のものではなく、ダーツゲームシステム(10000)に含まれる構成要素は、上述の構成要素より多かったり、少なかったりすることがあり得る。
【0039】
ダーツゲーム装置(1000)は、オンラインでダーツゲームに参加しているプレイヤーにダーツゲームを提供することが可能である。ただし、ダーツゲーム装置(1000)は、プレイヤーにオンラインダーツゲームだけを提供するものではなく、オフラインダーツゲームを提供することも可能である。本開示におけるダーツゲーム装置(1000)の一例は、
図2乃至
図10を用いて説明する。
【0040】
他のデバイス(2000)は、ダーツゲーム装置(1000)以外のプレイヤーに係るデバイスのうち少なくとも1つになり得る。例えば、他のデバイス(2000)は、ダーツゲーム装置(1000)以外の他のダーツゲーム装置、ダーツゲーム装置(1000)に係るモバイルデバイス(例えば、ダーツゲームに係るソフトウェアがインストールされたユーザーのスマートフォン等)やサーバ等になり得る。
【0041】
第1の一例として、他のデバイス(2000a)は、ダーツゲーム装置(1000)が提供するダーツゲームに参加している、又はダーツゲームに参加するために待機中の少なくとも1つのダーツゲーム装置になり得る。
【0042】
第2の一例として、他のデバイス(2000b)は、ダーツゲーム装置(1000)と連動し、ダーツゲーム装置(1000)が参加しているダーツゲームに係る情報をプレイヤーに示すためのモバイルデバイスになり得る。
【0043】
第3の一例として、他のデバイス(2000c)は、複数のダーツゲーム装置に同一のダーツゲームを提供するためのサーバにもなり得る。ここでサーバは、
図1に示すダーツゲームサーバ(3000)と同一の装置、又は、物理的に分離されている別のサーバになり得る。ただし、これに限られるわけではない。
【0044】
ゲームサーバ(3000)は、例えば、マイクロプロセッサー、メインフレームコンピューター、デジタルプロセッサー、携帯用デバイス又はデバイス制御器等のような任意のタイプのコンピューターシステム又はコンピューターデバイスを含むことが可能である。
本開示において、ダーツゲームサーバ(3000)は、オンラインで行われるダーツゲームに参加するダーツゲームプレイヤーを決定することが可能である。
【0045】
具体的に、ダーツゲームサーバ(3000)は、第1ゲームに参加している複数のデバイスから第1プレイ結果情報を受信することが可能である。そして、ダーツゲームサーバ(3000)は、第1プレイ結果情報に基づき、第2ゲームに参加する複数のプレイヤーを決定することが可能である。この場合、プレイ結果情報はダーツゲームに参加しているプレイヤーたちがダーツゲームを進行することにより生成されるダーツゲームの結果に係る情報になり得る。プレイ結果情報は、ダーツゲームのプレイによって生成される任意の形態の結果情報を含むことが可能である。
【0046】
一例として、プレイ結果情報は、各プレイヤーのダーツゲーム結果に係る順位に係る情報、各プレイヤーのダーツゲーム結果に係る点数に係る情報、プレイヤーのダーツゲームをプレイする映像に係る情報、プレイヤーを表す予め決められた映像に係る情報、各プレイヤーがダーツゲームを終えた時間に係る情報、又は、ダーツゲームに参加している各プレイヤーの識別情報のうち、少なくとも1つを含むことが可能である。ただし、これに限られるわけではない。
【0047】
例えば、ダーツゲームサーバ(3000)は、第1プレイ結果情報に含まれている順位(ranking)に係る情報に基づき、予め決められた順位を得た複数のプレイヤーを第2ダーツゲームに参加するプレイヤーとして決定することが可能である。ただし、これに限られるわけではない。
【0048】
本開示において、ダーツゲームサーバ(3000)は複数設けられることが可能である。そして、複数のダーツゲームサーバの各々は、ダーツゲーム装置(1000)又は他のデバイス(2000)の各々に少なくとも1つのダーツゲームを配分することが可能である。
【0049】
1つのダーツゲームサーバ(3000)で構成されるダーツゲームシステム(10000)は、ネットワーク等の限界によりプレイヤーたちに快適なダーツゲームを提供することが難しくなる場合もある。従って、本開示の一実施例において、ダーツゲームサーバ(3000)は、複数で構成されることもあり得る。複数のダーツゲームサーバの各々は、少なくとも1つのダーツゲームセッション又は少なくとも1つの下位セッションを複数のプレイヤーに配分することが可能である。ただし、これに限られるわけではない。
【0050】
ネットワーク(4000)は、有線や無線等といった通信の様態を問わずに構成されることができ、短距離通信網(LAN:Local Area Network)、遠隔通信網(WAN:Wide Area Network)等の多様な通信網で構成されることが可能である。
【0051】
本開示において、ネットワーク(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)も本開示内容の実施例によって実現可能なものになり得る。
【0052】
上述の構成によると、ダーツゲームシステム(10000)は、ダーツゲーム装置(1000)、他のデバイス(2000)及びダーツゲームサーバ(3000)で構成され、オンラインでダーツゲームに参加している複数のプレイヤーにリアルタイムでダーツゲームを提供することが可能である。
一方、ダーツゲーム装置(1000)又は他のデバイス(2000)は、プレイヤーがダーツゲームを行えるようにする構成要素を含むことが可能である。以下に、
図2乃至
図3を用いて本開示におけるダーツゲーム装置(1000)の構成要素について説明する。
【0053】
図2は、本開示の複数の実施例におけるダーツゲーム装置の一例を説明するためのブロック構成図である。
図3は、本開示の複数の実施例におけるダーツゲーム装置の一例を説明するための別の図面である。
【0054】
図2を参照すると、ダーツゲーム装置(1000)は、制御部(100)、ディスプレイ部(120)、保存部(110)、カバー部(130)、カメラ部(140)、ネットワーク通信部(150)、センシング部(160)、ユーザー入力部(170)、照明部(180)、音響出力部(190)、ダーツターゲット部(200)と筐体(300)のうち少なくとも1つを含むことが可能である。ただし、これに限られるわけではない。
【0055】
制御部(100)は、通常ダーツゲーム装置(1000)の全般的な動作を処理することが可能である。制御部(100)は、ダーツゲーム装置(1000)の構成要素を通じて入力又は出力される信号、データ、情報等を処理したり、保存部(230)に保存されている応用プログラムを実行することにより、ユーザーに適切な情報又は機能を提供又は処理することが可能である。
【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メモリー等)、ラム(Random Access Memory、RAM)、SRAM(Static Random Access Memory)、ロム(Read-Only Memory、ROM)、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)は、ダーツゲームを生成したり、又は既に生成されている複数のダーツゲームのうち1つに参加することが可能である。しかし、他のデバイス(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の(b)によると、第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)は、プレイヤーのログインが完了した場合、プレイヤーのダーツゲームプレイ結果に係る履歴情報に基づき、プレイヤーに合わせてカスタマイズされた案内メッセージを生成することが可能である。例えば、プレイヤーが最後にプレイしたのが一週間前だった場合、制御部(100)は、「1週間ぶりですね。また会えて嬉しいです」といった案内メッセージを生成することが可能である。他の例として、プレイヤーがダーツゲームトーナメントで優勝した履歴を持っていた場合、制御部(100)は、「XX大会のチャンピオンのご登場を歓迎いたします」といった案内メッセージを生成することが可能である。このように制御部(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は、本開示の複数の実施例におけるダーツゲーム装置により実行される、ダーツピンのヒット位置の識別方法の一例を説明するためのもう1つのフローチャートである。
【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回のダーツスローと対応する2枚の画像で1組のペアに分けて、各ペアごとに結合した入力データ(22a乃至22d)が(b)に図示されている。例えば、第1ダーツスローと対応するバウンディングボックス画像が、画像(21a)及び画像(21e)である場合、2つのバウンディングボックス画像を結合した入力データは、入力データ(22a)になり得る。上記と同様に、第1ダーツスローと対応するバウンディングボックス画像が、画像(21b)及び画像(21f)である場合、2つのバウンディングボックス画像を結合した入力データは、入力データ(22b)になり得る。
【0154】
図7は、本開示の複数の実施例に基づき、例示的なダーツピン位置識別モデル(1100)を説明するための図面である。
【0155】
図7aを参照すると、制御部(100)は、ダーツピン位置識別ネットワークモデルを利用して複数のヒット位置情報を取得した後、第1履歴情報を利用して後処理を行うことで、一番最近投げられたダーツピンのヒット位置情報を決定することが可能である。例えば、ダーツピン位置識別ネットワークは、2つのダーツピンが写っている画像を含む入力データ(20)を処理して、複数のダーツピンのヒット位置情報(30)を生成することが可能である。この場合、入力データは、第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セグメント上のビット位置を表示する情報になり得る。この場合、ラベルの付与は、トレーニング用ダーツターゲット撮影画像とそれに対応するラベルとを紐づけて保存する動作を意味することが可能である。かかる方式でトレーニング用ダーツターゲット撮影画像とラベルとを組み合わせて作ったペアが複数生成されることで、トレーニング用データセットが生成されることが可能である。ただし、これに限らず、トレーニング用ダーツターゲット撮影画像と対応するラベルは、多様な方式で付与されることが可能である。
【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つの方式で学習されることが可能である。ニューラルネットワークの学習は、ニューラルネットワークが特定の動作を行うための知識を、ニューラルネットワークに適用する過程になり得る。
【0200】
ニューラルネットワークは、出力のエラーを最小化する方向で学習されることが可能である。ニューラルネットワークの学習において、繰り返し学習データをニューラルネットワークに入力させ、学習データに関するニューラルネットワークの出力とターゲットのエラーを計算し、エラーを減らすための方向として、ニューラルネットワークのエラーをニューラルネットワークの出力層から入力層の方向へ逆伝播(back propagation)して、ニューラルネットワークの各ノードの重みを更新するプロセスが行われる。教師あり学習の場合、個々の学習データに正解がラベリングされている学習データを使い(つまり、ラベリングされた学習データ)、教師なし学習の場合は、個々の学習データに正解がラベリングされていない状態の学習データを使うことが可能である。つまり、例えば、データ分類に係る教師あり学習の場合の学習データは、学習データの各々にカテゴリがラベリングされているデータになり得る。ラベリングされた学習データがニューラルネットワークに入力され、ニューラルネットワークの出力(カテゴリ)と学習データのラベルとを比較することで、エラー(error)が計算されることが可能である。他の例として、データ分類に関する教師なし学習の場合、入力である学習データがニューラルネットワークの出力と比較されることで、エラーが計算されることが可能である。計算されたエラーは、ニューラルネットワークにおいて逆方向(つまり、出力層から入力層へ向かう方向)へ逆伝播され、逆伝播を通じてニューラルネットワークの各階層の各ノードの接続の重みが更新されることが可能である。更新される各ノードの接続の重みは、学習率(learing rate)によって変化量が決定されることが可能である。入力データに対するニューラルネットワークの計算とエラーの逆伝播は、学習のサイクル(epoch)を構成することが可能である。学習率は、ニューラルネットワークの学習のサイクルの反復回数によって適用方式が変わることが可能である。例えば、ニューラルネットワークの学習の初期においては、学習率を高くしてニューラルネットワークが早く一定のレベルの性能を確保するようにすることで効率を高め、学習の後半においては、学習率を低くして精度を上げることが可能である。
【0201】
ニューラルネットワークにおいて、学習させるための学習データの量を増やすために、多様なデータ拡張方法が用いられることが可能である。例えば、2次元変換である回転(Rotation)、拡張縮小(Scale)、傾斜(Shearing)、反転(Reflection)、移動(Translation)を通じてデータ拡張が行われることが可能である。また、ノイズ挿入、色、明るさ変更等を活用してデータ拡張が行われることが可能である。
【0202】
ニューラルネットワークの学習において、一般的に学習データは、実際のデータ(つまり、学習されたニューラルネットワークを利用して処理しようとするデータ)の部分集合である場合があり、そのため、学習データに係るエラーは減少するが、実際のデータに係るエラーは増加する学習サイクルが存在し得る。過剰適合(over fitting)は、このように学習データについて過度に学習したため、実際のデータにおいてエラーが増加する現象である。過剰適合は、機械学習アルゴリズムのエラーを増加させる原因になり得る。このような過剰適合を防ぐために、多様な最適化方法が用いられることが可能である。過剰適合を防ぐためには、学習データを増加させる方法、正則化(regulaization)、学習の過程でネットワークのノードの一部を非活性化するドロップアウト(drop out)、バッチ正規化層(batch normalization layer)の活用等の方法を適用できる。
【0203】
図10は、本発明の実施例を具現化できる例示的なコンピューティング環境に係る簡略且つ一般的な概略図である。
【0204】
本開示が一般的にコンピューティング装置により具現化されることが可能であると前述されているが、当業者であれば本開示が1つ以上のコンピューター上で実行されることのできるコンピューター実行可能命令及び/又はその他のプログラムモジュールとの結合及び/又はハードウェアとソフトウェアの組み合わせとして具現化されることが可能であるということをよく理解できるだろう。
【0205】
一般的に、プログラムモジュールは、特定のタスクを実行したり特定の抽象的なデータ類型を実装するルーティン、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら、本開示の方法がシングルプロセッサー又はマルチプロセッサーのコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルド(handheld)コンピューティング装置、マイクロプロセッサー基盤の家電製品、又はプログラム可能な家電製品、その他等々(これらは、いずれも1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピューターシステムの構成によって実施されることが可能であることをよく理解できる。
【0206】
さらに、本開示において説明された実施例は、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される、分散コンピューティング環境で実施されることが可能である。分散コンピューティング環境において、プログラムモジュールは、ローカルと遠隔メモリー保存装置との両方に位置することが可能である。
【0207】
コンピューターは、通常、多様なコンピューター可読媒体を含む。コンピューターによってアクセス可能な媒体は、いずれもコンピューター可読媒体になり得るが、このようなコンピューター可読媒体は、揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非移動式媒体を含む。制限ではなく例として、コンピューター可読媒体は、コンピューター可読保存媒体及びコンピューター可読伝送媒体を含むことが可能である。コンピューター可読保存媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により実装される揮発性及び非揮発性媒体、一時的及び非一時的媒体、移動式及び非移動式媒体を含む。コンピューター可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリー又はその他のメモリー技術、CD-ROM、DVD(digital video disk)又はその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置又はその他の磁気保存装置、又はコンピューターによってアクセスでき、情報を保存するために使われることのできる任意のその他の媒体を含むが、これに限定されない。
【0208】
コンピューター可読伝送媒体は、通常、搬送波(carrier wave)又はその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)に、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中に情報をエンコードするように、その信号の特性のうち1つ以上を設定又は変更した信号を意味する。制限ではなく例として、コンピューター可読伝送媒体は、有線ネットワーク又は直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体の任意の組み合わせもコンピューター可読伝送媒体の範囲に含まれるものとする。
【0209】
コンピューター(4102)を含む本開示の多様な側面を具現化する例示的な環境(4100)が示されており、コンピューター(4102)は、処理装置(4104)、システムメモリー(4106)及びシステムバス(4108)を含む。システムバス(4108)は、システムメモリー(4106)(これに限定されない)をはじめとするシステムコンポーネントを、処理装置(4104)に繋げる。処理装置(4104)は、多様な商用のプロセッサーのうち、いずれかのプロセッサーになり得る。デュアルプロセッサーやその他のマルチプロセッサーアーキテクチャも、処理装置(4104)として利用されることが可能である。
【0210】
システムバス(4108)は、メモリーバス、周辺装置バス、及び多様な商用のバスアーキテクチャのうち、いずれかを使用するローカルバスに、さらに相互連結できる複数の類型のバス構造のうち、いずれかになり得る。システムメモリー(4106)は、読み取り専用メモリー(ROM)(4110)やランダムアクセスメモリー(RAM)(4112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(4110)に保存され、このBIOSは、起動中のとき等にコンピューター(4102)における複数の構成要素間の情報送信をサポートする基本的なルーティンを含む。RAM(4112)は、さらに、データをキャッシュするための静的RAM等の高速RAMを含むことが可能である。
【0211】
コンピューター(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つ又はその両方を含む。
【0212】
これらのドライブ及びこれらに係るコンピューター可読媒体は、データ、データ構造、コンピューターで実行可能な命令、その他等々に対する非揮発性保存を提供する。コンピューター(4102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述のコンピューター可読保存媒体に係る説明において、HDD、移動式磁気ディスク及びCD又はDVD等の移動式光媒体について触れているが、当業者にとって、ジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピューターにより読み取り可能な他の類型の保存媒体も、例示的な運営環境において用いられることが可能であり、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることは自明である。
【0213】
運営システム(4130)、1つ以上のアプリケーションプログラム(4132)、その他のプログラムモジュール(4134)及びプログラムデータ(4136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(4112)に保存されることが可能である。運営システム、アプリケーション、モジュール及び/又はデータの全部又はその一部分がRAM(4112)にキャッシュされることも可能である。本開示が、商業的に利用可能な様々な運営システム又は複数の運営システムの組み合わせにより実装されることが可能であることは自明である。
【0214】
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(4138)及びマウス(4140)等のポインティング装置を通じて、コンピューター(4102)に命令及び情報を入力することが可能である。その他の入力装置(図示は省略)としては、マイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置は、システムバス(4108)に繋がっている入力装置インターフェース(4142)を介して処理装置(4104)に繋がることがよくあるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他色々な他のインターフェースによって繋がることが可能である。
【0215】
モニター(4144)又は他の類型のディスプレイ装置も、ビデオアダプター(4146)等のインターフェースを通じてシステムバス(4108)に繋がる。モニター(4144)に加えて、コンピューターは、一般的にスピーカー、プリンター、その他色々な他の周辺出力装置(図示は省略)を含む。
【0216】
コンピューター(4102)は、有線及び/又は無線通信による、(複数の)遠隔コンピューター(4148)等の1つ以上の遠隔コンピューターへの論理的接続を利用し、ネットワーク化された環境で動作することが可能である。(複数の)遠隔コンピューター(4148)は、ワークステーション、コンピューティングデバイスコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサー基盤の娯楽機器、ピア装置又はその他の通常のネットワークノードになることが可能であり、一般的にコンピューター(4102)に関連付けて述べられた構成要素のうち、多数又はその全部を含むが、簡略化のために、メモリー保存装置(4150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(4152)及び/又は、より大きいネットワーク、例えば、広域通信網(WAN)(4154)への有線又は無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社では一般的なものであり、イントラネット等の全社的コンピューターネットワーク(enterprise-wide computer network)を容易にし、これらはすべて世界中のコンピューターネットワーク、例えば、インターネットに繋がることが可能である。
【0217】
LANネットワーキング環境で使われるとき、コンピューター(4102)は、有線及び/又は無線通信ネットワークインターフェース、又は、アダプター(4156)を介してローカルネットワーク(4152)に繋がる。アダプター(4156)は、LAN(4152)への有線又は無線通信を容易にすることができ、このLAN(4152)は、また、無線アダプター(4156)と通信するために設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(4102)は、モデム(4158)を含むことが可能であり、又はWAN(4154)における通信コンピューティングデバイスに繋がったり、又はインターネットを通じる等、WAN(4154)を通じて通信を設定するその他の手段を有する。内蔵型又は外付け型、そして、有線又は無線装置になり得るモデム(4158)は、直列ポートインターフェース(4142)を通じて、システムバス(4108)に繋がる。ネットワーク化された環境において、コンピューター(4102)に関連付けて説明されているプログラムモジュール又は、その一部分が遠隔メモリー/保存装置(4150)に保存されることが可能である。図示されているネットワーク接続は、例示的なものであり、複数のコンピューター間で通信リンクを設定する他の手段が用いられることも可能であるということは自明である。
【0218】
コンピューター(4102)は、無線通信で配置されて動作する任意の無線装置又はユニット、例えば、プリンター、スキャナー、デスクトップ及び/又は携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備又は場所及び電話と通信する動作をする。これは、少なくとも、Wi-Fi及びブルートゥース無線技術を含む。従って、通信は、従来のネットワークのように、予め定義された構造であったり、単純なケースとして少なくとも2つの装置間のアドホック通信(ad hoc communication)になり得る。
【0219】
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)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品において動作することが可能である。
【0220】
本開示の技術分野における通常の知識を持つ者は、情報及び信号が、任意の多様な相異なる技術及び手法を利用して表現されることができるということを理解することが可能である。例えば、上記の説明において参照できるデータ、指示、命令、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁気派、磁場又は粒子、光学場又は粒子、又はこれらの任意の組み合わせによって表現されることが可能である。
【0221】
以下に本開示の一実施例におけるデータ構造が保存されているコンピューター可読媒体を開示する。
【0222】
データ構造は、データに対する効率的なアクセスと修正を可能にするデータの組織、管理、保存を意味することが可能である。データ構造は、特定の課題(例えば、最短時間でのデータ検索、データ保存、データ修正)を解決するためのデータの組織を意味することが可能である。データ構造は、特定のデータ処理機能をサポートするように設計された、複数のデータ要素間の物理的あるいは論理的関係と定義されることも可能である。複数のデータ要素間の論理的関係は、複数のユーザー定義のデータ要素間の連結関係を含むことが可能である。複数のデータ要素間の物理的関係は、コンピューター可読保存媒体(例えば、永久保存装置)に物理的に保存されている複数のデータ要素間の実際の関係を含むことが可能である。データ構造は、具体的にデータの集合、データ間の関係、データに適用できる関数や命令を含むことが可能である。効果的に設計されたデータ構造を活用することで、コンピューティング装置は、コンピューティング装置のリソースの使用を最低限に抑えながら、演算を行うことが可能である。具体的に、コンピューティング装置は、効果的に設計されたデータ構造を通じて、演算、読み取り、取り込み、削除、比較、交換、検索の効率を高めることが可能である。
【0223】
データ構造は、データ構造の形態を基準に、線形データ構造と非線形データ構造に分類されることが可能である。線形データ構造は、1つのデータの後にデータが1つだけ繋がっている構造になり得る。線形データ構造は、リスト(List)、スタック(Stack)、キュー(Queue)、デック(Deque)を含むことが可能である。リストは、内部的に順序が存在する一連のデータの集合を意味することが可能である。リストは、連結リスト(Linked List)を含むことが可能である。連結リストは、各々のデータがポインターを持ち、一列に繋がっている方式でデータが連結されているデータ構造になり得る。連結リストにおいて、ポインターは、次のデータや前のデータとの連結に係る情報を含むことが可能である。連結リストは、形態によって片方向連結リスト、双方向連結リスト、循環連結リストとして表現されることが可能である。スタックは、データへのアクセスに制限が付くデータ配列構造になり得る。スタックは、データ構造の片端でのみデータを処理(例えば、挿入又は削除)できる線形データ構造になり得る。スタックに保存されているデータは、後入れ先出しのデータ構造(LIFO-Last in First Out)になり得る。キューもデータへのアクセスに制限が付くデータ配列構造であるが、スタックとの違いは、先入れ先出しのデータ構造(FIFO-First in First Out)になっているということになり得る。デックは、データ構造の両端でデータを処理できるデータ構造になり得る。
【0224】
非線形データ構造は、1つのデータの後に複数のデータが繋がっている構造になり得る。非線形データ構造は、グラフ(Graph)データ構造を含むことが可能である。グラフデータ構造は、頂点(Vertex)と辺(Edge)で定義することができ、辺は異なる2つの頂点を繋ぐ線を含むことが可能である。グラフデータ構造は、ツリー(Tree)データ構造を含むことが可能である。ツリーデータ構造は、ツリーに含まれている複数の頂点のうち、相異なる2つの頂点を繋ぐ経路が1つであるデータ構造になり得る。つまり、グラフデータ構造において、ループ(loop)を形成しないデータ構造になり得る。
【0225】
本明細書の全体を通して、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワーク(neural network)は、同一の意味として用いられることが可能である。以下、神経回路網と統一して記述する。データ構造は、神経回路網を含むことが可能である。そして、神経回路網を含むデータ構造は、コンピューター可読媒体に保存されることが可能である。また、神経回路網を含むデータ構造は、神経回路網による処理のために前処理されたデータ、神経回路網に入力されるデータ、神経回路網の重み、神経回路網のハイパーパラメータ、神経回路網から取得したデータ、神経回路網の各ノードや階層に紐づいている活性化関数、神経回路網の学習のための損失関数等を含むことが可能である。神経回路網を含むデータ構造は、上記開示された構成のうち、任意の構成要素を含むことが可能である。つまり、神経回路網を含むデータ構造は、神経回路網による処理のために前処理されたデータ、神経回路網に入力されるデータ、神経回路網の重み、神経回路網のハイパーパラメータ、神経回路網から取得したデータ、神経回路網の各ノードや階層に紐づいている活性化関数、神経回路網の学習のための損失関数等の全部、又はこれらの任意の組み合わせを含めて構成されることが可能である。前述の構成以外にも、神経回路網を含むデータ構造は、神経回路網の特徴を決定する任意の他の情報を含むことが可能である。また、データ構造は、神経回路網の演算過程において使用されたり、発生するあらゆる形態のデータを含むことができ、前述の事項に限定されない。コンピューター可読媒体は、コンピューター可読記録媒体及び/又はコンピューター可読伝送媒体を含むことが可能である。神経回路網は、一般的にノードと呼ばれる相互連結された計算単位の集合で構成されることが可能である。このようなノードは、ニューロン(neuron)と称されることも可能である。神経回路網は、少なくとも1つ以上のノードを含めて構成される。
【0226】
データ構造は、神経回路網に入力されるデータを含むことが可能である。神経回路網に入力されるデータを含むデータ構造は、コンピューター可読媒体に保存されることが可能である。神経回路網に入力されるデータは、神経回路網の学習過程において入力される学習データ及び/又は学習が完了した神経回路網に入力される入力データを含むことが可能である。神経回路網に入力されるデータは、前処理(pre-processing)を行ったデータ及び/又は前処理の対象となるデータを含むことが可能である。前処理は、データを神経回路網に入力するためのデータ処理過程を含むことが可能である。従って、データ構造は、前処理の対象となるデータ及び前処理により発生するデータを含むことが可能である。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0227】
データ構造は、神経回路網の重みを含むことが可能である。(本明細書において、重みとパラメータは同一の意味を持つとみなすことが可能である)そして、神経回路網の重みを含むデータ構造は、コンピューター可読媒体に保存されることが可能である。神経回路網は、複数の重みを含むことが可能である。重みは、可変的なものになり得るが、神経回路網が求める機能を実行するために、ユーザー又はアルゴリズムに応じて可変することが可能である。例えば、1つの出力ノードに、1つ以上の入力ノードが、各々のリンクによって相互連結されている場合、出力ノードは、上記出力ノードに繋がっている入力ノードに入力された複数の値と、各々の入力ノードに対応するリンクに設定された重みとに基づき、出力データから出力されるデータの値を決定することが可能である。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0228】
制限ではなく例として、重みは、神経回路網の学習過程において可変する重み及び/又は神経回路網の学習が完了した重みを含むことが可能である。神経回路網の学習において可変する重みは、学習サイクルが始まる時点での重み及び/又は学習サイクル中に変化する重みを含むことが可能である。神経回路網の学習が完了した重みは、学習サイクルが完了した重みを含むことが可能である。従って、神経回路網の重みを含むデータ構造は、神経回路網の学習過程において可変する重み及び/又は神経回路網の学習が完了した重みを含むデータ構造を含むことが可能である。従って、上述の重み及び/又は各々の重みの組み合わせは、神経回路網の重みを含むデータ構造に含まれるものとする。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0229】
神経回路網の重みを含むデータ構造は、直列化(serialization)過程を経た後にコンピューター可読保存媒体(例えば、メモリー、ハードディスク)に保存されることが可能である。直列化は、データ構造を同一の若しくは異なるコンピューティング装置に保存しておき、後に再構成して使える形態に変換する過程になり得る。コンピューティング装置は、データ構造を直列化し、ネットワークを介してデータを送受信することが可能である。直列化された神経回路網の重みを含むデータ構造は、直列化復元(deserialization)を通じて、同一のコンピューティング装置又は他のコンピューティング装置において再構成されることが可能である。神経回路網の重みを含むデータ構造は、直列化に限定されない。さらに、神経回路網の重みを含むデータ構造は、コンピューティング装置のリソースの使用を最小限に抑えながら、演算の効率を高めるためのデータ構造(例えば、非線形データ構造における、B-Tree、Trie、m-way search tree、AVL tree、Red-Black Tree)を含むことが可能である。前述の事項は、例示に過ぎず、本開示はこれらに限定されない。
【0230】
データ構造は、神経回路網のハイパーパラメータ(Hyper-parameter)を含むことが可能である。そして、神経回路網のハイパーパラメータを含むデータ構造は、コンピューター可読媒体に保存されることが可能である。ハイパーパラメータは、ユーザーに応じて可変する変数になり得る。ハイパーパラメータは、例えば、学習率(learning rate)、コスト関数(cost function)、学習サイクル反復回数、重み初期化(Weight initialization)(例えば、重み初期化の対象となる重みの値の範囲の設定)、隠れユニット数(例えば、隠れ層の数、隠れ層のノード数)を含むことが可能である。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0231】
本開示の技術分野において通常の知識を持つ者は、ここに開示されている実施例に係る説明において取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサー、手段、回路及びアルゴリズム段階が、電子ハードウェア、(説明の便宜上、ここでは「ソフトウェア」と称する)多様な形のプログラム又は、設計コード、又はこれらすべての結合によって具現化されることができるということを理解することが可能である。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階について、これらの機能に着目して上記で一般的に説明した。このような機能がハードウェアやソフトウェアとして実装されるかどうかは、特定のアプリケーション及び全体システムに対して加えられる設計上の制限によって決定される。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な方法で説明された機能を具現化することができるが、このような具現化の決定は、本開示の範囲を逸脱するものと解釈すべきではない。
【0232】
ここに示されている多様な実施例は、方法、装置、又は標準プログラミング及び/又はエンジニアリング技術を使った製造物品(article)によって実現されることが可能である。用語として、「製造物品」は、任意のコンピューターで読み取り可能な装置からアクセス可能なコンピュータープログラム、キャリアー、又は媒体(media)を含む。例えば、コンピューターで読み取り可能な保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるわけではない。また、ここに示されている多様な保存媒体は、情報を保存するための1つ以上の装置及び/又は他の機械で読み取り可能な媒体を含む。
【0233】
ここに示されたプロセスにおける複数の段階の特定の順番又は階層構造は、例示的なアプローチの一例であることを理解されたい。設計上の優先順位に基づき、本開示の範囲内で、プロセスにおける段階の特定の順番又は階層構造が再配列されることができることを理解されたい。添付の方法請求項は、サンプルとしての順番で、多様な段階のエレメントを提供するが、示された特定の順番又は階層構造に限定されることを意味するわけではない。
【0234】
ここに示された実施例に関する説明は、任意の本開示の技術分野において通常の知識を持つ者が、本開示を利用したり又は実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることが可能である。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。