JP2017188059A - プログラム及び画像処理装置 - Google Patents

プログラム及び画像処理装置 Download PDF

Info

Publication number
JP2017188059A
JP2017188059A JP2016151879A JP2016151879A JP2017188059A JP 2017188059 A JP2017188059 A JP 2017188059A JP 2016151879 A JP2016151879 A JP 2016151879A JP 2016151879 A JP2016151879 A JP 2016151879A JP 2017188059 A JP2017188059 A JP 2017188059A
Authority
JP
Japan
Prior art keywords
marker
reference marker
structured
markers
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016151879A
Other languages
English (en)
Other versions
JP6262813B2 (ja
JP2017188059A5 (ja
Inventor
英俊 石山
Hidetoshi Ishiyama
英俊 石山
修一 倉林
Shuichi Kurabayashi
修一 倉林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cygames Inc
Original Assignee
Cygames Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cygames Inc filed Critical Cygames Inc
Priority to JP2016151879A priority Critical patent/JP6262813B2/ja
Publication of JP2017188059A publication Critical patent/JP2017188059A/ja
Publication of JP2017188059A5 publication Critical patent/JP2017188059A5/ja
Application granted granted Critical
Publication of JP6262813B2 publication Critical patent/JP6262813B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】オブジェクトに対する多種類の命令を素早く小さい面積で精度よく入力する。【解決手段】プログラムは、コンピュータに、基準マーカとオブジェクト識別子との対応関係を示すマーカ情報に基づいて、カメラから連続的に出力される撮像画像から、基準マーカを識別する基準マーカ識別部と、識別された基準マーカと、基準マーカに対応して定められた位置情報とによって、撮像画像における1つ又は複数の構造化マーカの起点を特定する起点特定部と、起点から連続する1つ又は複数の構造化マーカの状態を判定する構造化マーカ判定部と、識別された基準マーカに対応するオブジェクト識別子によって識別されるオブジェクトに対して、1つ又は複数の構造化マーカの判定された状態に応じた操作指示を出力する操作指示部と、を実現させる。【選択図】図15A

Description

本発明は、プログラム及び画像処理装置に関する。
近年、カメラ等の撮像装置を用いて物体を撮像し、この撮像された物体の状態をユーザからの情報入力に用いるシステムが注目されている。このような技術の一例が特許文献1に開示されている。特許文献1に開示されているシステムでは、ユーザが着用しているグローブの画像に基づいて、ユーザの手の動きが検出される。具体的には、グローブには、手のひらと各指先にマーカが設けられており、これらのマーカの状態を認識することによってユーザの手の動きが検出される。
国際公開第2015/139750号
特許文献1に開示される手法を用いることにより、グローブ等に付されたマーカの状態を認識し、ユーザの手の動きを検出することができる。しかしながら、複数のユーザが存在する場合に、どのユーザの手であるかを判断することができない。即ち、カメラで撮像された画像に含まれるグローブが、どのユーザのものであるかを判断することができない。そのため、例えば、撮像される空間で、グローブを着用した複数のユーザが参加してゲームを行う場合において、識別されたマーカの状態に応じて、どのオブジェクトに対して操作指示を行えばよいかを判断することができない。
本発明はこのような事情に鑑みてなされたものであり、識別されたマーカがどのオブジェクトに対応するものであるかを判断し、当該オブジェクトに対してマーカの状態に応じた操作指示を出力可能とすることを目的とする。
本発明の一側面に係るプログラムは、コンピュータに、基準マーカとオブジェクト識別子との対応関係を示すマーカ情報に基づいて、カメラから連続的に出力される撮像画像から、基準マーカを識別する基準マーカ識別部と、識別された基準マーカと、基準マーカに対応して定められた位置情報とによって、撮像画像における1つ又は複数の構造化マーカの起点を特定する起点特定部と、起点から連続する1つ又は複数の構造化マーカの状態を判定する構造化マーカ判定部と、識別された基準マーカに対応するオブジェクト識別子によって識別されるオブジェクトに対して、1つ又は複数の構造化マーカの判定された状態に応じた操作指示を出力する操作指示部と、を実現させる。
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されてもよい。
本発明によれば、識別されたマーカがどのオブジェクトに対応するものであるかを判断し、当該オブジェクトに対してマーカの状態に応じた操作指示を出力可能となる。
本発明の一実施形態である画像処理システム100の構成を示す図である。 画像処理システム100の利用イメージを説明するための図である。 手袋200に付されたマーカの一例を示す図である。 マーカ情報の一例を示す図である。 基準マーカの識別を説明するための図である。 起点及び基準点の特定を説明するための図である。 起点及び基準点をミーンシフトにより補正する例を示す図である。 撮像画像の正規化の一例を説明するための図である。 構造化マーカの状態の判定を説明するための図である。 構造化マーカの状態を迷路探索アルゴリズムを利用して判定する例を示す図である。 構造化マーカの状態を説明するための図である。 構造化マーカの状態のパターンの一例を示す図である。 3つの画像処理装置110a〜110cを用いて4つの手袋200a〜200dに付されたマーカを処理している状態を示す図である。 識別精度に基づいて基準マーカ500を選択するための精度情報テーブルの一例を示す図である。 画像処理システム100における処理の一例を示すフローチャートである。 構造化マーカ900の状態判定処理の一例を示すフローチャートである。
以下、図面を参照して本発明の一実施形態について説明する。図1は、本発明の一実施形態である画像処理システム100の構成を示す図である。画像処理システム100は、画像処理装置110、カメラ120、及びディスプレイ130を備える。カメラ120及びディスプレイ130は、画像処理装置110に内蔵されていてもよい。また、画像処理装置110は、マーカ情報記憶部140、基準マーカ識別部141、起点特定部142、姿勢情報再演算部143、正規化部144、構造化マーカ判定部145、及び操作指示部146を備える。また、基準マーカ識別部141は、姿勢情報演算部150を含む。画像処理装置110は、例えば、スマートフォンやタブレット端末、パーソナルコンピュータ等の情報処理装置である。画像処理装置110は、プロセッサ及びメモリを備え、メモリに格納されたプログラムを実行することにより、図1に示す各部を含む様々な機能を実現することができる。
図2は、画像処理システム100の利用イメージを説明するための図である。図2に示す例では、ユーザは手袋200を着用している。この手袋200には、後述するマーカが付されている。手袋200に付されたマーカはカメラ120によって認識され、その認識結果に応じて、AR空間(視錐台)210におけるオブジェクト220に対する操作指示が行われる。例えば、ユーザの指の動きに連動するようにオブジェクト220が描画される。
図3は、手袋200に付されたマーカの一例を示す図である。図3に示すように、手袋200には、基準マーカ(Fiducial Marker)300及び構造化マーカ(Structured Markers)310(310a〜310e)が設けられている。基準マーカ300及び構造化マーカ310は、手袋200の色に対してコントラストが比較的大きい色であることが好ましい。例えば、手袋200の色が黒である場合、基準マーカ300及び構造化マーカ310の色を白とすることができる。
基準マーカ300は、オブジェクト220を識別するためのものであり、状態の変化が比較的小さい領域(もしくは状態の変化がないことが前提の領域)である手のひらの部分に設けられている。ここで、状態の変化の一例としてあげられるのは、変形である。構造化マーカ310(310a〜310e)は、その状態によってオブジェクト220に対する操作指示を行うためのものであり、状態の変化が比較的大きい領域(もしくは状態の変化があることが前提の領域)である指の部分に設けられている。
なお、本実施形態では、マーカが付される物体の一例として手袋200を示すが、マーカが付される物体は手袋200に限られず、状態の変化が比較的小さい領域と状態の変化が比較的大きい領域とを有する任意の物体を採用することができる。例えば、シャツの胸の部分に基準マーカ300を付し、シャツの袖の部分に構造化マーカ310を付してもよい。また例えば、可動腕を有する人型構造物の胴体部分に基準マーカを付し、腕部分に構造化マーカを付してもよい。また、図3において、基準マーカ300は、いくつかの図形の群によって示されているが、これは一例であり、一つの図形のみによって示されていてもよく、構造化マーカ310も一例である。すなわち、マーカの形状には任意の形状を採用することができる。また、本実施形態では、構造化マーカ310が基準マーカ300とは別個に設けられている例を説明するが、構造化マーカは、基準マーカを含んでもよい。具体的には、基準マーカ300及び構造化マーカ310の組を、構造化マーカとすることもできる。
図1に戻り、画像処理装置110の各部の説明を行う。マーカ情報記憶部140には、基準マーカと、オブジェクト220を識別するためのオブジェクトIDとの対応関係を示すマーカ情報が予め記憶されている。図4は、マーカ情報の一例を示す図である。図4に示すように、マーカ情報は、基準マーカの特徴を示す基準マーカ情報400、構造化マーカの特徴を示す構造化マーカ情報410、基準マーカの姿勢を再演算する際の基準点の特徴を示す基準点情報420、及びオブジェクト220を識別するためのオブジェクトID430を含む。
基準マーカ情報400は、例えば、基準マーカの画像の特徴を示す情報(例えば特徴量ベクトル)を含む。構造化マーカ情報410は、例えば、基準マーカに対する構造化マーカの起点の位置関係を示す起点位置情報や、構造化マーカの画像の特徴を示す情報(例えば特徴量ベクトル)を含む。基準点情報420は、基準マーカに対する基準点の位置関係を示す基準点位置情報を含む。マーカ情報において、基準マーカ情報400は、オブジェクトID430ごとに異なっている。なお、マーカ情報記憶部140は、画像処理装置110の外部に設けられてもよい。例えば、マーカ情報記憶部140は、クラウドのサーバに設けられていてもよい。
基準マーカ識別部141は、マーカ情報記憶部140に記憶されているマーカ情報に基づいて、カメラ120から連続的に出力される撮像画像から、基準マーカを識別する。図5は、基準マーカの識別を説明するための図である。図5に示すように、基準マーカ識別部141は、撮像画像内において基準マーカ500を識別する。この基準マーカ500とは、後述するように、基準マーカ情報400と所定の類似度を有する画像領域を撮像画像内から識別したものと言える。この識別は、撮像画像内での基準マーカ500の存在の有無の検出のみならず、姿勢情報演算部150による姿勢情報の演算をともなって行われる。姿勢情報とは、位置、角度、距離などを含めた概念である。撮像画像からの基準マーカ500の存在の有無の検出および姿勢情報の演算は、既知の画像処理技術(Computer Vision)を適宜用いることで実現可能であるので詳細な説明は割愛するが、例えば、マーカ情報記憶部140に記憶されている基準マーカ情報400に対して所定の類似性を満たす特徴点の群を撮像画像から検出し、これらの特徴点を用いてPnP(Perspective N−Point)問題を解く演算を行うことで実現される。また、基準マーカ識別部141は、基準マーカ500を識別した際に、基準マーカ情報400との類似度に基づいて、識別精度を示す精度情報を出力する。基準マーカ識別部141は、他の画像処理装置と精度情報を共有するために、クラウドのサーバや他の画像処理装置に精度情報を送信する。精度情報は、例えば、識別された基準マーカ500に対応するオブジェクトIDと、識別精度(例えば、0〜1の範囲の値)とを含む。また、基準マーカ情報400として複数種類の情報(例えば、F1、F2、・・・)がマーカ情報記憶部140に記憶されている場合、基準マーカ識別部141は、撮像画像内において、複数の基準マーカ500を識別する。複数の基準マーカ500が識別された場合、基準マーカ識別部141は、各基準マーカ300に関する精度情報を出力する。
起点特定部142は、識別された基準マーカ500と、マーカ情報記憶部140に記憶されている構造化マーカ情報410とに基づいて、撮像画像における1つ又は複数の構造化マーカの起点を特定する。また、起点特定部142は、識別された基準マーカ500と、この基準マーカ500を識別するための基準マーカ情報400と対応付けられてマーカ情報記憶部140に記憶されている基準点情報420とによって、撮像画像における1つ又は複数の基準点を特定する。図6は、起点及び基準点の特定を説明するための図である。基準マーカに対する構造化マーカの起点の位置関係は、マーカ情報記憶部140に記憶されている構造化マーカ情報410に含まれる起点位置情報によって示される。また、基準マーカに対する基準点の位置関係は、マーカ情報記憶部140に記憶されている基準点情報によって示される。基準マーカ500に対する起点600及び基準点610の位置関係は、基準マーカ500の姿勢によって変化する。そこで、起点特定部142は、起点位置情報及び基準点情報を、姿勢情報演算部150により演算された姿勢情報で変換することにより、基準マーカ500に対応する起点600及び基準点610を特定する。なお、図6では基準点が1つしか示されていないが、基準点は複数存在する。図6の例では、起点600a,600b,600eは基準点を兼ねている。
ところで、手のひらは、実際は変形するものであるため、基準マーカ500と、起点600及び基準点610との位置関係は、カメラ120によって撮像される瞬間の手袋の状態によって変化する。そのため、特定された起点600及び基準点610の位置は、予め設計された理想の位置とは異なっている可能性がある。そこで、起点特定部142は、例えば、ミーンシフト(Mean Shift)により起点600及び基準点610を補正する。
図7は、起点600及び基準点610をミーンシフトにより補正する例を示す図である。図7において、点700(700a〜700c)は、起点又は基準点に対応する。また、図7において、領域710は、起点又は基準点を含む領域である。起点特定部142は、特定された点700aを中心とする所定の大きさの円720aを規定する。起点特定部142は、この円720a内において、構造化マーカの色(例えば、白色)を基準とした重心の点700bを求める。続いて、起点特定部142は、この重心の点700bを中心とする円720bを規定する。さらに、起点特定部142は、この円720b内における重心の点700cを求め、重心の点700cを中心とする円720cを規定する。図7に示す例では、領域710は、構造化マーカの他の箇所よりも幅が広くなっているため、ミーンシフトの処理を繰り返していくことにより、重心700が領域710の中心付近に収束し、点700が補正される。即ち、最初に特定された点700aが領域710内の点700cに補正される。この補正は、数値演算によって求められた起点600及び基準点に関する情報を、実際の手の状態を画像化した撮像画像の特徴を利用して、より正確な情報へ変換するものと言える。
姿勢情報再演算部143は、補正された基準点610(起点600の一部を含む)に基づいて、基準マーカ500の姿勢情報を再度求める。具体的には、姿勢情報再演算143は、姿勢情報演算部150により演算された姿勢情報を、補正された基準点610を用いて再演算する。姿勢情報の再演算は、例えば、マーカ情報記憶部140に記憶されている基準点位置情報と、補正された基準点610とに基づいて、PnP問題を解く演算を行うことにより実現される。この再演算により、より正しい姿勢情報が求められる。
正規化部144は、姿勢情報再演算部143によって再演算された姿勢情報に基づいて、識別された基準マーカ500が所定の姿勢となるように撮像画像を正規化する。なお、撮像画像の正規化においては、撮像画像内の構造化マーカの状態判定を容易にするために、撮像画像の座標情報の変換が行われる。
図8は、撮像画像の正規化の一例を説明するための図である。撮像画像800aには、手袋の画像が含まれている。前述したように、姿勢情報再演算部143により、撮像画像800aにおいては、補正された基準点600a,600b,600e,610に基づいて、姿勢情報が再演算されている。この再演算された姿勢情報に基づいて、正規化部144は、基準マーカ500が所定の姿勢によって示される情報となるように、撮像画像800aの座標値を変換し、撮像画像800bを生成する。図8に示す例では、所定の姿勢は、手のひらが正面を向き、手首が下側となる姿勢である。このような正規化は、例えば、ホモグラフィ変換により行うことができる。そして、このように正規化を行うことにより、撮像画像内の構造化マーカの状態判定が容易となる。例えば、正規化後の撮像画像800bにおいては、起点600からどの方向に構造化マーカが形成されているかは手袋のデザインから自明である。そのため、構造化マーカ判定部145が構造化マーカの状態を判定する際に用いるアルゴリズムを設計する際、これが容易になる。
構造化マーカ判定部145は、正規化後の撮像画像において、起点600から連続する構造化マーカの状態を判定する。図9は、構造化マーカの状態の判定を説明するための図である。図9に示すように、構造化マーカ判定部145は、起点600(600a〜600e)から連続する領域を探索することにより、構造化マーカ900(900a〜900e)の状態を判定することができる。具体的には、構造化マーカ判定部145は、マーカ情報記憶部140に記憶されている構造化マーカ情報410に基づいて、正規化後の撮像画像内の起点600を出発地点として、撮像画像内を探索することにより、構造化マーカ900の状態を判定する。構造化マーカ情報410は、構造化マーカ900の状態判定に用いるアルゴリズムを特定する情報を含む。
図10は、構造化マーカの状態を迷路探索アルゴリズム(Wall Follower)を利用して判定する例を示す図である。構造化マーカ判定部145は、正規化後の撮像画像において、起点600を出発地点として、ある方向(例えば、図10に示す矢印A1の方向)に探索を進める。そして、コントラストが大きく変化する点(例えば、図10に示すX点)に達すると、構造化マーカ判定部145は、基準マーカ500とは反対の方向(例えば、図10に示すA2の方向)に探索方向を変更する。このように、構造化マーカ判定部145は、構造化マーカ900の端部を迷路の壁と見なして、この壁にそって探索を進めることにより、構造化マーカ900の方向及び長さを演算する。もちろん、迷路探索アルゴリズムは一例であり、起点600を出発地点としてコントラストが大きく変化している境界を、撮像画像から検知することを利用した様々な手法を採用可能である。具体的には、構造化マーカ判定部145は、マーカ情報記憶部140に記憶されている構造化マーカ情報410に基づいて、構造化マーカ900の状態判定に用いるアルゴリズムを選択することができる。
構造化マーカ判定部145は、各構造化マーカ900の方向及び長さを演算することにより、複数の構造化マーカ900により規定される、構造化マーカ900の状態を判定することができる。図11は、構造化マーカの状態を説明するための図である。図11に示すように、構造化マーカ900の状態には、各構造化マーカ900の方向及び長さ1100(1100a〜1100e)、隣接する構造化マーカ900間の角度1110(1110a〜1110d)、隣接する構造化マーカ900の先端間の距離1120(1120a〜1120d)が含まれる。
また、構造化マーカ判定部145は、複数の構造化マーカ900の状態をパターンとして認識することもできる。図12は、構造化マーカ900の状態のパターンの一例を示す図である。図12には、4つのパターンが示されている。いずれのパターンも、薬指と小指は折られており、構造化マーカ900d,900eは認識されていない。パターン01は、親指(構造化マーカ900a)と人差し指(構造化マーカ900b)が離れ、人差し指(構造化マーカ900b)と中指(構造化マーカ900c)が接触している状態である。パターン02は、親指(構造化マーカ900a)と人差し指(構造化マーカ900b)が離れ、人差し指(構造化マーカ900b)と中指(構造化マーカ900c)も離れている状態である。パターン03は、親指(構造化マーカ900a)と人差し指(構造化マーカ900b)が接触し、人差し指(構造化マーカ900b)と中指(構造化マーカ900c)が離れている状態である。パターン04は、親指(構造化マーカ900a)と人差し指(構造化マーカ900b)が接触し、人差し指(構造化マーカ900b)と中指(構造化マーカ900c)も接触している状態である。このように、構造化マーカ判定部145は、複数の構造化マーカ900の状態をパターンとして認識することもできる。
画像処理システム100では、複数の画像処理装置110を用いて、複数の手袋200に付されたマーカを同時に処理することができる。この点について説明する。図13は、3つの画像処理装置110a〜110cを用いて4つの手袋200a〜200dに付されたマーカを処理している状態を示す図である。このような状態において、各画像処理装置110が、全ての手袋200a〜200dについて構造化マーカの状態判定を行うことは効率が悪い。そこで、画像処理システム100では、各画像処理装置110の基準マーカ識別部141が、撮像画像内の基準マーカ500(手袋200a〜200dに付された基準マーカ300a〜300dに対応)から、所定の優先条件に基づいて、構造化マーカ900の状態判定を行う対象とする基準マーカ500を選択することができる。所定の優先条件としては、例えば、基準マーカ500の識別精度や、予め登録されたオブジェクトIDを用いることができる。
図14は、識別精度に基づいて基準マーカ500を選択するための精度情報テーブルの一例を示す図である。精度情報テーブルは、画像処理装置110(D1,D2,・・・,Dm)とオブジェクトID(A1,A2,・・・,An)のマトリクスであり、各セルには、識別精度を示す0〜1の値が設定されている。ここでは、値が1に近いほど識別精度が高いものとする。なお、オブジェクトIDは、基準マーカ500に対応するものである。精度情報テーブルは、例えば、各画像処理装置110において保持される。このような精度情報テーブルは、例えば、各画像処理装置110の基準マーカ識別部141が、基準マーカ500の識別精度を他の画像処理装置に送信することにより生成することができる。
例えば、各画像処理装置110の基準マーカ識別部141は、オブジェクトA1〜Anの中から、識別精度が所定の基準値以上のものを選択することができる。なお、画像処理装置110において選択可能なオブジェクトの数には上限値を設定してもよい。この上限値は、画像処理装置110の処理能力等に応じて可変であってもよい。また例えば、複数のオブジェクトA1〜Anのそれぞれについて、オブジェクトの識別精度が最も高い画像処理装置110が当該オブジェクトを選択するように構成してもよい。
操作指示部146は、基準マーカ識別部141により識別された基準マーカ500に対応するオブジェクトIDによって識別されるオブジェクトに対して、構造化マーカ判定部145により判定された構造化マーカ900の状態に応じた操作指示を出力する。なお、オブジェクトは、オブジェクトIDによって識別可能であり、操作指示を受け付けることが可能な任意のものを対象とすることができる。例えば、オブジェクトは、オブジェクトIDによって識別されるユーザの手のオブジェクトであってもよい。この場合、操作指示部146は、例えば、構造化マーカ900の状態に応じて、ディスプレイ130に表示される手のオブジェクトにおける指の動きを制御することができる。また例えば、オブジェクトは、オブジェクトIDによって識別されるゲームのキャラクタであってもよい。この場合、操作指示部146は、例えば、構造化マーカ900の状態に応じて、ディスプレイ130に表示されるキャラクタの動作を制御することができる。
図15A及び図15Bは、画像処理システム100における処理の一例を示すフローチャートである。なお、画像処理システム100に複数の画像処理装置110が存在する場合、図15A及び図15Bに示す処理は、各画像処理装置110において実行される。
図15Aに示すように、まず、基準マーカ識別部141は、マーカ情報記憶部140に記憶されたマーカ情報を読み出す(S1501)。このマーカ情報は、図4に示すように、基準マーカ情報400、構造化マーカ情報410、基準点情報420、及びオブジェクトID430を含む。そして、基準マーカ識別部141は、カメラ120から連続的に出力される撮像画像を取得する(S1502)。そして、基準マーカ識別部141は、基準マーカ情報記憶部140に記憶されている基準マーカ情報400に基づいて、撮像画像から、基準マーカ500を識別する(S1503)。このとき、基準マーカ識別部141の姿勢情報演算部150は、識別された基準マーカ500と、マーカ情報記憶部140に記憶されている基準マーカ情報400とに基づいて、PnP問題を解くことにより、基準マーカ500の姿勢情報の演算も行う(S1504)。
起点特定部142は、識別された基準マーカ500と、マーカ情報記憶部140に記憶されている構造化マーカ情報410とに基づいて、撮像画像における1つ又は複数の構造化マーカの起点600を特定する(S1505)。また、起点特定部142は、識別された基準マーカ500と、マーカ情報記憶部140に記憶されている基準点情報420とに基づいて、撮像画像における複数の基準点610を特定する(S1506)。その後、起点特定部142は、ミーンシフトにより起点600及び基準点610を補正する(S1507)。
続いて、姿勢情報再演算部143は、補正された基準点610(起点600の一部を含む)と、マーカ情報記憶部140に記憶されている基準点位置情報とに基づいて、PnP問題を解くことにより、基準マーカ500の姿勢情報を再演算する(S1508)。そして、正規化部144は、再演算された姿勢情報に基づいて、識別された基準マーカ500が所定の姿勢となるように、例えばホモグラフィ変換によって、撮像画像を正規化する(S1509)。
構造化マーカ判定部145は、正規化後の撮像画像において、構造化マーカの状態判定処理を実行する(S1510)。図15Bに示すように、構造化マーカ判定部145は、マーカ情報記憶部140に記憶されている構造化マーカ情報410に基づいて、構造化マーカ900の状態判定に用いるアルゴリズムを選択する(S1520)。そして、構造化マーカ判定部145は、選択されたアルゴリズムを用いて、正規化後の撮像画像内の起点600を出発地点として撮像画像内を探索することにより、構造化マーカ900の状態を判定する(S1521)。構造化マーカ判定部145は、全ての構造化マーカ900の状態判定が完了したかどうか判断し(S1522)、完了していない場合は(S1522:N)、アルゴリズム選択(S1520)及び状態判定(S1521)を繰り返し実行する。全ての構造化マーカ900の状態判定が完了すると(S1522:Y)、操作指示部146は、全ての構造化マーカ900に基づいて、オブジェクトに対する操作指示内容を演算する(S1523)。その後、図15Aに示す処理に戻り、操作指示部146は、演算された操作指示内容に基づいて、オブジェクトに対して操作指示を行う(S1530)。
上述の処理が、処理終了が指示されるまでの間(S1531:N)、カメラ120から出力され続ける撮像画像に対してリアルタイムに実行される。そして、例えば、ユーザ操作によって処理終了が指示されると(S1509:Y)、処理が終了する。
以上、本発明の一実施形態について説明した。上述したように、本実施形態によれば、基準マーカとオブジェクトIDとの対応関係を示すマーカ情報に基づいて、カメラ120から連続的に出力される撮像画像から、基準マーカ500が識別される。そして、識別された基準マーカ500と、基準マーカに対応して定められた起点位置情報とによって、撮像画像における1つ又は複数の構造化マーカの起点600が特定される。その後、起点600から連続する1つ又は複数の構造化マーカ900の状態が判定される。そして、識別された基準マーカ500に対応するオブジェクトIDによって識別されるオブジェクトに対して、1つ又は複数の構造化マーカ900の判定された状態に応じた操作指示が出力される。このように、本実施形態によれば、識別された基準マーカ500がどのオブジェクトに対応するものであるかを判断し、当該オブジェクトに対して構造化マーカ900の状態に応じた操作指示を出力することができる。
また、本実施形態によれば、姿勢情報演算部150及び姿勢情報再演算部143が、基準マーカ500に対応する複数の基準点に基づいて、識別された基準マーカ500の姿勢を演算(判定)する。その後、演算された姿勢に基づいて、識別された基準マーカ500が所定の姿勢となるように撮像画像が正規化される。そして、正規化された撮像画像において、1つ又は複数の構造化マーカ900の状態が判定される。このように、基準マーカ500が所定の姿勢となるように撮像画像を正規化した後に、構造化マーカ900の状態を判定することにより、構造化マーカ900の状態を判定する際の計算量を削減することができる。なお、本実施形態では、姿勢情報演算部150及び姿勢情報再演算部143によって、基準マーカ500の姿勢を判定する姿勢判定部を実現する例を示したが、姿勢情報再演算部143は必須ではない。すなわち、姿勢情報演算部150により演算された姿勢情報の再演算を行わずに撮像画像の正規化を行ってもよい。
また、本実施形態によれば、識別された複数の基準マーカ500から、所定の優先条件に基づいて、構造化マーカ900の状態判定の対象とする少なくとも1つの基準マーカ500を選択することができる。これにより、例えば、複数の画像処理装置110において処理負荷を分散させることが可能となる。
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。
100 画像処理システム
110 画像処理装置
120 カメラ
130 ディスプレイ
140 マーカ情報記憶部
141 基準マーカ識別部
142 起点特定部
143 姿勢情報再演算部
144 正規化部
145 構造化マーカ判定部
146 操作指示部
150 姿勢情報演算部
200 手袋
210 AR空間
220 オブジェクト
300,500 基準マーカ
310,900 構造化マーカ
600 起点
610 基準点

Claims (8)

  1. コンピュータに、
    基準マーカとオブジェクト識別子との対応関係を示すマーカ情報に基づいて、カメラから連続的に出力される撮像画像から、基準マーカを識別する基準マーカ識別部と、
    前記識別された基準マーカと、前記基準マーカに対応して定められた位置情報とによって、前記撮像画像における1つ又は複数の構造化マーカの起点を特定する起点特定部と、
    前記起点から連続する前記1つ又は複数の構造化マーカの状態を判定する構造化マーカ判定部と、
    前記識別された基準マーカに対応する前記オブジェクト識別子によって識別されるオブジェクトに対して、前記1つ又は複数の構造化マーカの前記判定された状態に応じた操作指示を出力する操作指示部と、
    を実現させるためのプログラム。
  2. 請求項1に記載のプログラムであって、
    前記コンピュータに、
    前記基準マーカに対応して定められる複数の点に基づいて、前記識別された基準マーカの姿勢を判定する姿勢判定部と、
    前記判定された姿勢に基づいて、前記識別された基準マーカが所定の姿勢となるように前記撮像画像を正規化する正規化部と、
    をさらに実現させ、
    前記構造化マーカ判定部は、前記正規化された撮像画像において、前記1つ又は複数の構造化マーカの状態を判定する、
    プログラム。
  3. 請求項1又は2に記載のプログラムであって、
    前記基準マーカ識別部は、複数の基準マーカを識別し、
    前記起点特定部は、前記複数の基準マーカのそれぞれについて、前記1つ又は複数の構造化マーカの起点を特定し、
    前記構造化マーカ判定部は、前記複数の基準マーカのそれぞれについて、前記1つ又は複数の構造化マーカの状態を判定し、
    前記操作指示部は、前記複数の基準マーカのそれぞれについて、前記基準マーカに対応する前記オブジェクト識別子によって識別されるオブジェクトに対して、前記1つ又は複数の構造化マーカの前記判定された状態に応じた操作指示を出力する、
    プログラム。
  4. 請求項1又は2に記載のプログラムであって、
    前記基準マーカ識別部は、複数の基準マーカを識別するとともに、当該複数の基準マーカから、所定の優先条件に基づいて、少なくとも1つの基準マーカを選択し、
    前記起点特定部は、前記少なくとも1つの基準マーカのそれぞれについて、前記1つ又は複数の構造化マーカの起点を特定し、
    前記構造化マーカ判定部は、前記少なくとも1つの基準マーカのそれぞれについて、前記1つ又は複数の構造化マーカの状態を判定し、
    前記操作指示部は、前記少なくとも1つの基準マーカのそれぞれについて、前記基準マーカに対応する前記オブジェクト識別子によって識別されるオブジェクトに対して、前記1つ又は複数の構造化マーカの前記判定された状態に応じた操作指示を出力する、
    プログラム。
  5. 請求項4に記載のプログラムであって、
    前記基準マーカ識別部は、前記複数の基準マーカのそれぞれの識別精度に応じた前記所定の優先条件に基づいて、前記少なくとも1つの基準マーカを選択する、
    プログラム。
  6. 請求項5に記載のプログラムであって、
    前記基準マーカ識別部は、前記コンピュータ及び1つ又は複数の他のコンピュータにおける前記複数の基準マーカのそれぞれの識別精度に応じた前記所定の優先条件に基づいて、前記少なくとも1つの基準マーカを選択する、
    プログラム。
  7. 請求項4に記載のプログラムであって、
    前記基準マーカ識別部は、前記オブジェクトの優先順位を示す前記所定の優先条件に基づいて、前記少なくとも1つの基準マーカを選択する、
    プログラム。
  8. 基準マーカとオブジェクト識別子との対応関係を示すマーカ情報に基づいて、カメラから連続的に出力される撮像画像から、基準マーカを識別する基準マーカ識別部と、
    前記識別された基準マーカと、前記基準マーカに対応して定められた位置情報とによって、前記撮像画像における1つ又は複数の構造化マーカの起点を特定する起点特定部と、
    前記起点から連続する前記1つ又は複数の構造化マーカの状態を判定する構造化マーカ判定部と、
    前記識別された基準マーカに対応する前記オブジェクト識別子によって識別されるオブジェクトに対して、前記1つ又は複数の構造化マーカの前記判定された状態に応じた操作指示を出力する操作指示部と、
    を備える画像処理装置。
JP2016151879A 2016-08-02 2016-08-02 プログラム及び画像処理装置 Active JP6262813B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016151879A JP6262813B2 (ja) 2016-08-02 2016-08-02 プログラム及び画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016151879A JP6262813B2 (ja) 2016-08-02 2016-08-02 プログラム及び画像処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016074565A Division JP5988286B1 (ja) 2016-04-01 2016-04-01 プログラム及び画像処理装置

Publications (3)

Publication Number Publication Date
JP2017188059A true JP2017188059A (ja) 2017-10-12
JP2017188059A5 JP2017188059A5 (ja) 2017-11-24
JP6262813B2 JP6262813B2 (ja) 2018-01-17

Family

ID=60045614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016151879A Active JP6262813B2 (ja) 2016-08-02 2016-08-02 プログラム及び画像処理装置

Country Status (1)

Country Link
JP (1) JP6262813B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213359A (ja) * 2006-02-10 2007-08-23 Fuji Xerox Co Ltd 二次元コード検出システムおよび二次元コード検出プログラム
JP2008070319A (ja) * 2006-09-15 2008-03-27 Canon Inc 物体計測装置および方法
JP2012238097A (ja) * 2011-05-10 2012-12-06 Kagoshima Univ 2次元コード、画像読取装置、画像読取方法、プログラム及び記憶媒体
JP2017187859A (ja) * 2016-04-01 2017-10-12 株式会社Cygames プログラム及び画像処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213359A (ja) * 2006-02-10 2007-08-23 Fuji Xerox Co Ltd 二次元コード検出システムおよび二次元コード検出プログラム
JP2008070319A (ja) * 2006-09-15 2008-03-27 Canon Inc 物体計測装置および方法
JP2012238097A (ja) * 2011-05-10 2012-12-06 Kagoshima Univ 2次元コード、画像読取装置、画像読取方法、プログラム及び記憶媒体
JP2017187859A (ja) * 2016-04-01 2017-10-12 株式会社Cygames プログラム及び画像処理装置

Also Published As

Publication number Publication date
JP6262813B2 (ja) 2018-01-17

Similar Documents

Publication Publication Date Title
JP5988286B1 (ja) プログラム及び画像処理装置
JP5403699B2 (ja) 手指形状推定装置、手指形状の推定方法及びプログラム
JP6557943B2 (ja) 画像照合装置、画像センサ、処理システム、画像照合方法
CN109069920B (zh) 手持式控制器、跟踪定位方法以及系统
JP6141108B2 (ja) 情報処理装置およびその方法
WO2013051681A1 (ja) 手指形状推定装置、手指形状推定方法、及び手指形状推定プログラム
JP6095478B2 (ja) 入力操作装置
KR20150034257A (ko) 입력 장치, 기기, 입력 방법 및 기록 매체
JP2017033144A5 (ja)
JP4938748B2 (ja) 画像認識装置及びプログラム
US20160093055A1 (en) Information processing apparatus, method for controlling same, and storage medium
CN112109069A (zh) 机器人示教装置以及机器人系统
KR101706864B1 (ko) 모션 센싱 입력기기를 이용한 실시간 손가락 및 손동작 인식
JP2017174228A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6262813B2 (ja) プログラム及び画像処理装置
JP5083715B2 (ja) 三次元位置姿勢計測方法および装置
JP2017191426A (ja) 入力装置、入力制御方法、コンピュータプログラム、及び記憶媒体
JP4609481B2 (ja) 形状検査装置および形状検査プログラム
JP6387290B2 (ja) 画像検索装置、画像登録装置、画像特徴選択装置、方法、及びプログラム
JP5558899B2 (ja) 情報処理装置、その処理方法及びプログラム
JP4972013B2 (ja) 情報提示装置、情報提示方法、情報提示プログラムおよびそのプログラムを記録した記録媒体
KR20170116554A (ko) 오브젝트 생성 및 오브젝트의 변환이 가능한 동작 인식 센서를 이용한 3차원 입력 장치
JP6739896B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2017027115A (ja) ジェスチャによるポインティング方法
JP5821598B2 (ja) 画像処理装置及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170928

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170928

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170928

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20171026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171214

R150 Certificate of patent or registration of utility model

Ref document number: 6262813

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250