(57)【要約】【課題】低解像度のマーカを検知すること。【解決手段】画像処理装置１０は、マーカ領域とマーカ識別子を含む仮説を取りえる区間内にばら撒き、マーカ領域とマーカ識別子の仮説集団を生成し、マーカに関する画像情報を使って、個々のマーカ領域とマーカ識別子の仮説について評価を行い、所定の条件を満たすマーカ識別子を含む仮説におけるマーカ領域の分散値が所定の閾値以上である場合、評価結果に基づいて仮説集団から抽出された特定のマーカ領域とマーカ識別子の仮説の複製を行い、複製した仮説をマーカ間の類似度と該類似度を基にしたマーカの近傍確率に基づき仮説を遷移して仮説集団の再構成を実行し、再構成した仮説集団において、分散値が閾値未満となるまで、評価、複製および再構成を繰り返して実行させる。【選択図】図４
2015197762.tif 000002
【特許請求の範囲】
【請求項１】
マーカ領域とマーカ識別子を含む仮説を取りえる区間内にばら撒き、マーカ領域とマーカ識別子の仮説集団を生成する生成部と、
マーカに関する画像情報を使って、個々のマーカ領域とマーカ識別子の仮説について評価を行う評価部と、
所定の条件を満たすマーカ識別子を含む仮説におけるマーカ領域の分散値が所定の閾値以上である場合、評価結果に基づいて仮説集団から抽出された特定のマーカ領域とマーカ識別子の仮説の複製を行う複製部と、
複製した仮説をマーカ間の類似度と該類似度を基にしたマーカの近傍確率に基づき仮説を遷移して仮説集団の再構成を実行する再構成部と、
再構成した仮説集団において、前記分散値が前記閾値未満となるまで、前記評価、前記複製および前記再構成を繰り返して実行させる繰返し制御部と
を有することを特徴とする画像処理装置。
【請求項２】
前記複製部は、前記評価結果が悪い仮説ほど少なく複製するか、あるいは削除することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複製部は、前記評価結果が良い仮説ほど多く複製することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記マーカ間の類似度がマーカ間のハミング距離によって算出されることを特徴とする請求項１、２または３に記載の画像処理装置。
【請求項５】
コンピュータが、
マーカ領域とマーカ識別子を含む仮説を取りえる区間内にばら撒き、マーカ領域とマーカ識別子の仮説集団を生成し、
マーカに関する画像情報を使って、個々のマーカ領域とマーカ識別子の仮説について評価を行い、
所定の条件を満たすマーカ識別子を含む仮説におけるマーカ領域の分散値が所定の閾値以上である場合、評価結果に基づいて仮説集団から抽出された特定のマーカ領域とマーカ識別子の仮説の複製を行い、
複製した仮説をマーカ間の類似度と該類似度を基にしたマーカの近傍確率に基づき仮説を遷移して仮説集団の再構成を実行し、
再構成した仮説集団において、前記分散値が前記閾値未満となるまで、前記評価、前記複製および前記再構成を繰り返して実行させる
処理を実行することを特徴とする画像処理方法。
【請求項６】
コンピュータに、
マーカ領域とマーカ識別子を含む仮説を取りえる区間内にばら撒き、マーカ領域とマーカ識別子の仮説集団を生成し、
マーカに関する画像情報を使って、個々のマーカ領域とマーカ識別子の仮説について評価を行い、
所定の条件を満たすマーカ識別子を含む仮説におけるマーカ領域の分散値が所定の閾値以上である場合、評価結果に基づいて仮説集団から抽出された特定のマーカ領域とマーカ識別子の仮説の複製を行い、
複製した仮説をマーカ間の類似度と該類似度を基にしたマーカの近傍確率に基づき仮説を遷移して仮説集団の再構成を実行し、
再構成した仮説集団において、前記分散値が前記閾値未満となるまで、前記評価、前記複製および前記再構成を繰り返して実行させる
処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
携帯端末装置の位置や向きを検出する技術が知られている。かかる技術の一例として、基地局が発する電波を活用するものがある。例えば、携帯端末装置が無線ＬＡＮ（Local  Area  Network）のアクセスポイントやＵＷＢ（Ultra  Wide  Band）基地局などの基地局から電波を受信する受信電波強度によって位置が推定される。これは、携帯端末装置の大まかな位置を推定するのには向いているが、その精度には自ずから限界がある。
【０００３】
また、他の一例として、マーカを活用する技術もある。この場合、環境側に設置されたカメラによって撮像された画像から携帯端末装置のディスプレイ上に表示されたマーカの位置や向きが検知される。このようにマーカを用いる場合には、受信電波強度を用いる場合よりも高精度に位置や向きを検出できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１０１１２８号公報
【特許文献２】特開２０１０−２０３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では、次に説明するように、低解像度のマーカを検知するのが困難である。
【０００６】
すなわち、上記の環境側のカメラは、必ずしもマーカを高解像度で撮影できる位置に設置されるとは限らない。例えば、カメラがマーカを撮影できる範囲をより広範囲に拡張するために、環境を俯瞰できる位置、例えば天井などにカメラが設置される場合がある。この場合、カメラは、マーカから相対的に遠い位置で画像を撮像することになるので、画像に映るマーカは小さくなる結果、低解像度のマーカが撮像される。このようにマーカが低解像度で撮像された場合には、マーカの位置や向きを精度よく検知することはできず、マーカに標示される識別情報を識別することもできない。この結果、環境側に配置するカメラの位置に制約が生じ、マーカ検知の汎用性が損なわれる。
【０００７】
１つの側面では、本発明は、低解像度のマーカを検知できる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一態様の画像処理装置は、マーカ領域とマーカ識別子を含む仮説を取りえる区間内にばら撒き、マーカ領域とマーカ識別子の仮説集団を生成する生成部と、マーカに関する画像情報を使って、個々のマーカ領域とマーカ識別子の仮説について評価を行う評価部と、所定の条件を満たすマーカ識別子を含む仮説におけるマーカ領域の分散値が所定の閾値以上である場合、評価結果に基づいて仮説集団から抽出された特定のマーカ領域とマーカ識別子の仮説の複製を行う複製部と、複製した仮説をマーカ間の類似度と該類似度を基にしたマーカの近傍確率に基づき仮説を遷移して仮説集団の再構成を実行する再構成部と、再構成した仮説集団において、前記分散値が前記閾値未満となるまで、前記評価、前記複製および前記再構成を繰り返して実行させる繰返し制御部とを有する。
【発明の効果】
【０００９】
低解像度のマーカを検知できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係るマーカ検知システムの構成を示す図である。
【図２】図２は、マーカの表示例を示す図である。
【図３】図３は、マーカＩＤの一例を示す図である。
【図４】図４は、実施例に係る画像処理装置の機能的構成を示すブロック図である。
【図５】図５は、マーカＩＤ間の組合せの一例を示す図である。
【図６】図６は、マーカＩＤの再構成の一例を示す図である。
【図７】図７は、原画像の一例を示す図である。
【図８Ａ】図８Ａは、赤色マップの一例を示す図である。
【図８Ｂ】図８Ｂは、緑色マップの一例を示す図である。
【図８Ｃ】図８Ｃは、青色マップの一例を示す図である。
【図９】図９は、仮説の再構成の繰り返しによる遷移例を示す図である。
【図１０】図１０は、実施例１に係るマーカ検知処理の手順を示すフローチャートである。
【図１１】図１１は、画像処理装置の実装例の一例を示す図である。
【図１２】図１２は、実施例２に係る携帯端末装置及びスマートテーブルの間で実行される処理の制御シーケンスを示す図である。
【図１３】図１３は、公開設定テーブルの一例を示す図である。
【図１４】図１４は、実施例１及び実施例２に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して本願に係る画像処理装置、画像処理方法及び画像処理プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
図１は、実施例１に係るマーカ検知システムの構成を示す図である。図１に示すマーカ検知システム１は、環境側に設置されたカメラ３によって撮像された画像から携帯端末装置７に表示されたマーカの領域およびＩＤ（IDentifier）を検知するマーカ検知処理を実現するものである。なお、図１には、テーブル５の天面５ａに載置された携帯端末装置７のマーカを撮像する場合を想定するが、携帯端末装置７はテーブル５以外の他の平面に載置されることとしてもかまわない。
【００１３】
図１に示すように、マーカ検知システム１には、カメラ３と、携帯端末装置７と、画像処理装置１０とが収容される。なお、図１には、携帯端末装置を１つ図示したが、マーカ検知システム１に収容される携帯端末装置の数は任意の数であってかまわない。
【００１４】
これらカメラ３及び画像処理装置１０の間は、所定のネットワークを介して、互いが通信可能に接続される。かかるネットワークの一例としては、有線または無線を問わず、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮなどの任意の種類の通信網を採用できる。
【００１５】
カメラ３は、ＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子を搭載する撮像装置である。
【００１６】
一実施形態として、カメラ３には、Ｒ（red）、Ｇ（green）、Ｂ（blue）など３種以上の受光素子を搭載することができる。カメラ３は、テーブル５の甲板（天板）の天面５ａがカメラ３の撮像範囲に収まる位置に配設される。例えば、カメラ３は、テーブル５の天面５ａを俯瞰できる環境、例えば天井２に、天井２からテーブル５の天面５ａへレンズを正対させた状態で設置される。この場合、カメラ３には、一例として、ドーム型または埋め込み型のカメラを採用できる。また、カメラ３には、任意のレンズ構成を採用できるが、より広範囲な画角を得るために、魚眼レンズ等を採用することとしてもかまわない。
【００１７】
携帯端末装置７は、携帯型の端末装置である。
【００１８】
一実施形態として、携帯端末装置７には、スマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末を始め、スレート端末等のタブレット端末なども採用できる。
【００１９】
ここで、携帯端末装置７は、所定のマーカを表示部に表示させることができる。図２は、マーカの表示例を示す図である。図２には、ＩＤ「０」〜ＩＤ「７」の８つのＩＤを識別する８種類のマーカが表示される場合を例示している。図２に示すように、携帯端末装置７の表示部７ａには、４つのブロックを含んで形成されるマーカが表示される。これら４つのブロックには、１つの基準ブロックと、３つのビットブロックとが含まれる。このうち、基準ブロックとは、表示位置および表示色が一定であるブロックを指す。例えば、基準ブロックは、左上、右上、左下、右下の表示位置のうち左上の位置に赤色Ｒで表示される。これは、マーカがＩＤ「０」〜ＩＤ「７」のいずれのＩＤを標示する場合でも変りがない。また、ビットブロックとは、３ビットの配列を表すブロックを指し、例えば、右上、左下、右下の位置に表示される。かかるビットブロックには、一例として、「０」を表す緑色Ｇまたは「１」を表す青色Ｂのいずれかの色が表示される。この表示色は、マーカがＩＤ「０」〜ＩＤ「７」のいずれのＩＤを標示するのかによって変化する。そして、各ブロックの間には、互いの境界部が画像で明瞭に映るように、白色の表示によって十字状に区切られる。なお、図２には、マーカの外枠に特段の強調表示が行われない場合を例示したが、マーカの外枠を黒色の太枠で表示させることによって強調表示を行うこともできる。
【００２０】
図３は、マーカＩＤの一例を示す図である。図３には、ＩＤ「０」〜ＩＤ「７」の８つのＩＤを表す８種類のマーカが示されている。図３に示す黒の塗りつぶしは「赤色Ｒ」を指し、点の塗りつぶしは「緑色Ｇ」を指し、斜線の塗りつぶしは「青色Ｂ」を指す。図３に示す上段の左から１番目のマーカは、右上、左下、右下のブロックの順に「緑色Ｇ」、「緑色Ｇ」、「緑色Ｇ」と並ぶ。これは、ビット配列が「０００」であることを表すので、マーカＩＤが「０」であることを意味する。また、図３に示す上段の左から２番目のマーカは、右上、左下、右下のブロックの順に「緑色Ｇ」、「緑色Ｇ」、「青色Ｂ」と並ぶ。これは、ビット配列が「００１」であることを表すので、マーカＩＤが「１」であることを意味する。以降、同様に、図３に示す上段の左から３番目のマーカは、ビット配列が「０１０」であることを表すので、マーカＩＤが「２」であることを意味する。さらに、図３に示す上段の左から４番目のマーカは、ビット配列が「０１１」であることを表すので、マーカＩＤが「３」であることを意味する。さらに、図３に示す下段のマーカについても同様に、左のマーカから順に、ビット配列が「１００」、「１０１」、「１１０」、「１１１」であることを表すので、左のマーカから順に、マーカＩＤが「４」、「５」、「６」、「７」であることを意味する。
【００２１】
画像処理装置１０は、上記のマーカ検知処理を実行するコンピュータである。
【００２２】
一実施形態として、画像処理装置１０は、上記のマーカ検知処理を実行するＷｅｂサーバとして実装することとしてもよいし、また、マーカ検知処理によって実現されるマーカ検知サービスをアウトソーシングにより提供するクラウドとして実装することもできる。また、画像処理装置１０は、ＳＯＡ（Service  Oriented  Architecture）、パッケージソフトウェアやオンラインソフトウェアとして提供される画像処理プログラムを所望のコンピュータにプリインストール又はインストールさせることによっても実装できる。
【００２３】
［画像処理装置１０の構成］
図４は、実施例に係る画像処理装置の機能的構成を示すブロック図である。図４に示すように、画像処理装置１０は、取得部１１と、生成部１２と、評価部１３と、繰返し制御部１４と、複製部１５と、再構成部１６とを有する。なお、画像処理装置１０は、図４に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入出力デバイス、音声出力デバイスや撮像デバイスなどの機能部を有することとしてもかまわない。
【００２４】
取得部１１は、画像を取得する処理部である。
【００２５】
一実施形態として、取得部１１は、カメラ３によって撮像された画像を取得する。このとき、取得部１１は、カメラ３によって画像が撮像される度に、所定の圧縮符号化方式によってエンコードされた動画を取得することとしてもよいし、静止画の各々を取得することとしてもよい。他の実施形態として、取得部１１は、画像を蓄積するハードディスクや光ディスクなどの補助記憶装置またはメモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアから画像を取得することもできる。更なる実施形態として、取得部１１は、外部装置からネットワークを介して受信することによって画像を取得することもできる。
【００２６】
以下では、画像処理が実行される前のオリジナルの画像、例えばカメラ３によって撮像された画像のことを「原画像」と記載する場合がある。
【００２７】
生成部１２は、マーカに関する仮説集団を生成する処理部である。
【００２８】
ここで言う「仮説」とは、マーカ領域およびマーカＩＤが仮定されたデータを指す。さらに、「マーカ領域」とは、マーカの位置、向きおよびサイズを含む。例えば、上記の「位置」とは、マーカが存在すると仮定される位置を指し、一例として、画像上でマーカの頂点、例えば左上の頂点が持つＸ軸およびＹ軸の座標によって定義できる。また、上記の「向き」とは、マーカがとると仮定される姿勢を指す。ここでは、一例として、携帯端末装置７が表示部７ａに表示されたマーカを鉛直の上方向に向けた状態、すなわちカメラ３に正対させた状態でテーブル５の天面５ａに載置される場合を想定する。この場合、Ｘ軸回りやＹ軸回りの姿勢は不変であるので、ＸＹ平面における基準の向きからの回転、すなわちＺ軸回りのヨー角にパラメータを絞ることができる。また、上記の「サイズ」とは、マーカが映ると仮定される大きさを指す。例えば、サイズは、画像上でマーカの長辺や対角線が映る長さ、例えばピクセル数によって定義できる。
【００２９】
これらのことから、仮説は、位置（ｘ，ｙ）、回転θ及びサイズｓを含むマーカ領域とマーカＩＤとの状態量（ｘ，ｙ，θ，ｓ，ＩＤ）によって定義できる。以下では、上記の仮説に含まれる各パラメータ、すなわち位置、回転、サイズ及びＩＤを総称する場合に「要素」と記載する場合がある。
【００３０】
一実施形態として、生成部１２は、マーカ領域とマーカＩＤの仮説を取りえる区間内にランダムにばら撒き、マーカ領域とマーカＩＤの仮説集団を生成する。
【００３１】
例えば、生成部１２は、上記の仮説の要素のうちマーカＩＤを生成する場合、生成部１２は、目標とする仮説の数が得られるまで、マーカＩＤの種類数「０」〜「７」の範囲内で一様乱数を発生させることができる。
【００３２】
また、生成部１２は、仮説の要素のうちマーカ領域に関する要素を生成する場合にも、目標とする仮説の数が得られるまで、位置、回転、サイズが取りうる数値の範囲内で一様乱数を発生させることもできるが、次のような色マップを用いて、正規乱数を発生させることもできる。例えば、生成部１２は、原画像に対応する画像平面に各画素の赤色尤度がマッピングされた赤色マップを参照し、原画像上で赤色尤度が高い領域及びその周辺の位置ほど高い密度で仮説を生成することもできる。
【００３３】
上記の色マップは、一例として、原画像の色空間をＲＧＢからＨＳＶ（hue  saturation  value）などへ変換することによって赤、緑および青の色マップを作成できる。具体的には、生成部１２は、原画像の各画素ごとに色相（Ｈ）および彩度（Ｓ）を求める。その上で、生成部１２は、あらかじめ色相（Ｈ）および彩度（Ｓ）のＨＳ平面で赤色の尤度、例えばマーカの基準ブロックの赤が画像に映りうるＨＳの値の頻度がピーク値で正規化された尤度が設定された赤色モデルを参照して、先に求めた色相（Ｈ）および彩度（Ｓ）に対応する赤色の尤度を原画像の画素ごとに求める。このようにして求めた画素ごとの赤色の尤度を原画像に対応する画像平面で表すことによって赤色マップを作成できる。なお、緑色マップ及び青色マップについても、作成に用いる色モデルが異なる他は同様にして作成できる。なお、ここでは、明度の演算量を削減する観点から色空間を変換して色マップを作成する場合を例示したが、必ずしも色空間を変換せずとも色マップを生成することができる。
【００３４】
評価部１３は、マーカに関する画像情報を使って、個々のマーカ領域とマーカＩＤの仮説について評価を行う処理部である。
【００３５】
一実施形態として、評価部１３は、上記の赤色マップ、緑色マップ及び青色マップを用いて、生成部１２によって生成された仮説集団または後述の再構成部１６によって再構成された仮説集団に含まれる仮説の評価値を算出する。具体的には、評価部１３は、上記の赤色マップ、緑色マップ及び青色マップと原画像とを重畳させる。そして、評価部１３は、仮説によって定まるマーカの各ブロックごとに当該ブロックと相対位置が同一である赤色マップ、緑色マップまたは青色マップの領域との間で互いの色が類似する度合いによって評価値を算出する。例えば、仮説のマーカＩＤが「１」である場合、仮説が基準ブロックと定める領域と、当該基準ブロックの領域と相対位置が同一である赤色マップの領域とを比較するとともに、仮説が定める緑、緑、青のビットブロックの領域と、これらビットブロックの領域と相対位置が互いに同一である緑色マップの領域、緑色マップの領域、青色マップの領域とを比較することによって評価値を算出する。これによって、仮説集団に含まれる仮説ごとに当該仮説の評価値が得られる。
【００３６】
繰返し制御部１４は、所定の条件を満たすマーカ識別子を含む仮説におけるマーカ領域の分散値が所定の閾値未満になるまで、評価、複製および再構成を繰返して実行させる処理部である。
【００３７】
一実施形態として、繰返し制御部１４は、生成部１２によって設定された仮説集団または後述の再構成部１６によって再構成された仮説集団に含まれる仮説ごとに当該仮説が持つマーカＩＤを同一のマークＩＤに投票する。これによって、マークＩＤごとに当該マークＩＤの集計値を得ることができる。そして、繰返し制御部１４は、各マークＩＤの間で集計値による多数決を実行する。すなわち、繰返し制御部１４は、マークＩＤのうち最も多くの仮説によって投票されたマークＩＤ、つまり集計値が最多であるマークＩＤを当選マーカＩＤと決定する。続いて、繰返し制御部１４は、仮説集団のうち当選マーカＩＤをサポートする仮説、言い換えれば当選マーカＩＤへの投票を行った仮説を抽出する。以下では、仮説集団のうち当選マーカＩＤをサポートする仮説のことを「サポート集団」と記載する場合がある。
【００３８】
ここで、繰返し制御部１４は、上記のサポート集団のマーカ領域の平均および分散を算出する。このとき、サポート集団のマーカ領域の分散が所定の閾値未満である場合には、マーカ領域が十分に収束していると推定できる。この場合、繰返し制御部１４は、サポート集団のマーカ領域の平均値および当選マーカＩＤをマーカの検知結果として出力する。一方、サポート集団のマーカ領域の分散が閾値以上である場合には、マーカ領域が未だ収束しておらず、仮説に再構成の余地があると推定できる。この場合、後段の機能部によって仮説が再構成される。
【００３９】
複製部１５は、仮説を複製する処理部である。
【００４０】
一実施形態として、複製部１５は、サポート集団のマーカ領域の分散が閾値以上である場合に、仮説集団に含まれる仮説ごとに算出された評価値の大きさに基づいて仮説を複製する。例えば、複製部１５は、評価値が大きい仮説ほど多く複製する一方で、評価値が小さい仮説ほど少なく複製するか、あるいは複製させずに消滅させる。これによって、仮説集団のうち再構成の対象とする仮説をより尤もらしい仮説へ絞り込む。
【００４１】
再構成部１６は、複製部１５によって複製された仮説ごとに当該仮説のマーカ領域およびマーカＩＤを再構成する処理部である。
【００４２】
一実施形態として、再構成部１６は、複製部１５によって複製された仮説をマーカＩＤ間の類似度とそれを基にしたマーカの近傍確率に基づき仮説を遷移させることによって仮説集団を再構成する。
【００４３】
例えば、仮説の要素のうち位置（ｘ，ｙ）を再構成する場合、再構成部１６は、位置（ｘ，ｙ）の近傍へ遷移させる。一例として、再構成部１６は、元の仮説が持つ位置（ｘ，ｙ）を平均とし、あらかじめ定められた分散とするパラメータによって規定される２次元ガウシアン分布にしたがって点をランダムに生成する。このようにして生成された点の位置が遷移後の仮説の位置として再構成される。
【００４４】
また、仮説の要素のうち回転θを再構成する場合、再構成部１６は、回転θの近傍へ遷移させる。一例として、再構成部１６は、元の仮説が持つ回転θを平均とし、あらかじめ定められた分散とするパラメータによって規定される１次元ガウシアン分布にしたがって回転の値をランダムに生成する。このようにして生成された値が遷移後の仮説の回転として再構成される。
【００４５】
また、仮説の要素のうちサイズｓを再構成する場合、再構成部１６は、サイズｓの近傍へ遷移させる。一例として、再構成部１６は、元の仮説が持つサイズｓを平均とし、あらかじめ定められた分散とするパラメータによって規定される１次元ガウシアン分布にしたがってサイズの値をランダムに生成する。このようにして生成された値が遷移後の仮説のサイズとして再構成される。
【００４６】
ここで、仮説の要素のうちマーカＩＤを再構成する場合、再構成部１６は、異なるマーカＩＤの間で互いのマーカが持つパターンの類似度に基づいて近傍マーカを確率的に定義することによって近傍マーカへのランダムに遷移させる。
【００４７】
例えば、再構成部１６は、マーカＩＤ間の全ての組合せにわたってマーカＩＤ間で互いのパターンの類似度を算出する。図３に示すマーカＩＤの例で言えば、ｉおよびｊが互いに０〜７の整数であるとしたとき、再構成部１６は、マーカＩＤｉとマーカＩＤｊの間で各ビットの差の絶対値の和を計算することによってハミング距離をマーカＩＤｉ及びマーカＩＤｊの類似度ｄｉ（ｊ）として算出する。図５は、マーカＩＤ間の組合せの一例を示す図である。図５には、ＩＤ「０」〜ＩＤ「７」の８つのマーカＩＤに関するＩＤ間の全ての組合せが示されている。図５に示すように、マーカＩＤ「０」に着目したとき、ＩＤ「０」及びＩＤ「０」の組、ＩＤ「０」及びＩＤ「１」の組、・・・、ＩＤ「０」及びＩＤ「７」の組の計８通りの組合せが存在する。これがＩＤ「１」〜ＩＤ「７」についても同様に存在する。したがって、マーカＩＤｉ及びマーカＩＤｊの類似度ｄｉ（ｊ）は、図示のように、計６４通りにわたって算出されることになるので、８行８列の行列によって表すことができる。
【００４８】
その上で、再構成部１６は、下記の式（１）にしたがって上記の類似度ｄｉ（ｊ）の行列から確率近傍行列ｐｉ（ｊ）を算出する。下記の式（１）に示す「ｋ」は、あらかじめ定められる定数である。ここで、ｐｉ（ｊ）は、マーカＩＤｉがマーカＩＤｊの近傍である確率を示す。なお、上記の確率近傍行列ｐｉ（ｊ）は、事前に算出の上、再構成部１６が使用する図示しない内部メモリのワーク領域に設定しておくことができる。
【００４９】
【数１】
2015197762.tif 000003
【００５０】
かかる確率近傍行列ｐｉ（ｊ）の下、再構成部１６は、仮説が持つマーカＩＤを確率近傍行列ｐｉ（ｊ）にしたがって遷移させる。図６は、マーカＩＤの再構成の一例を示す図である。図６には、遷移前の仮説のマーカＩＤが「０」である場合の再構成が例示されている。また、図６に示す「Ｐ０」には、上記の式（１）のパラメータｋを「０．５」としたときのｐ０（０）〜ｐ０（７）の近傍確率が示されており、さらに、図６に示す「Ｐ１」には、ｐ０（０）〜ｐ０（７）の総和が「１」となるように正規化された近傍確率が示されている。
【００５１】
図６に示すように、再構成部１６は、ｐ０（０）〜ｐ０（７）の総和が「１」となるように正規化を行った上で正規化後のｐ０（０）〜ｐ０（７）の各々が持つ近傍確率から円グラフＰ２を作成する。その上で、再構成部１６は、０以上１以下の実数の区間で乱数を発生させる。例えば、乱数の値が「０．６」である場合、当該乱数はｊ＝２の扇に属することになる。この場合、再構成部１６は、仮説のマーカＩＤを「０」から「２」へ遷移させる。また、乱数の値が「０．３」である場合、当該乱数はｊ＝０の扇に属することになる。この場合、再構成部１６は、仮説のマーカＩＤを「０」から「０」へ遷移させる。また、乱数の値が「０．８」である場合、当該乱数はｊ＝４の扇に属することになる。この場合、再構成部１６は、仮説のマーカＩＤを「０」から「４」へ遷移させる。
【００５２】
このようにして各仮説のマーカ領域およびマーカＩＤが再構成される。そして、再構成後の仮説の評価値が改めて評価部１３によって算出される。その後、サポート集団のマーカ領域の分散が閾値未満となるまで、上記の複製、再構成および評価の一連のマーカ探索が繰り返し実行される。そして、サポート集団のマーカ領域の分散が閾値未満となった場合、サポート集団のマーカ領域の平均および当選マーカＩＤがマーカ検知結果として出力させることになる。
【００５３】
なお、上記の取得部１１、生成部１２、評価部１３、繰返し制御部１４、複製部１５及び再構成部１６は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などに脈波検出プログラムを実行させることによって実現できる。また、上記の各機能部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００５４】
また、上記の内部メモリには、半導体メモリ素子や記憶装置を採用できる。例えば、半導体メモリ素子の一例としては、フラッシュメモリ（Flash  Memory）、ＤＲＡＭ（Dynamic  Random  Access  Memory）やＳＲＡＭ（Static  Random  Access  Memory）などが挙げられる。また、記憶装置の一例としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。
【００５５】
［具体例］
次に、図７〜図９を用いて、マーカ検知の具体例を説明する。図７は、原画像の一例を示す図である。図８Ａは、赤色マップの一例を示す図であり、図８Ｂは、緑色マップの一例を示す図であり、さらに、図８Ｃは、青色マップの一例を示す図である。図９は、仮説の再構成の繰り返しによる遷移例を示す図である。これら図７〜図９には、マーカＩＤ「３」のマーカが携帯端末装置７の表示部７ａ上に表示された状態でテーブル５の天面５ａへ載置された場合の処理例が示されている。
【００５６】
図７に示す原画像７０に対し、マーカ領域およびマーカＩＤが取りうる区間内に仮説をランダムにばら撒くことによって仮説集団が初期設定される。このとき、図８に示す赤色マップ８０Ｒを用いて、原画像７０上で赤色尤度が高い領域及びその周辺の位置ほど高い密度で仮説を生成することによって図９に示す初期設定時点ｔ１の仮説集団が得られる。このようにして得た仮説集団に含まれる各仮説に対し、赤色マップ８０Ｒ、緑色マップ８０Ｇ及び青色マップ８０Ｂを重畳させる。その上で、仮説が基準ブロックと定める領域と、当該基準ブロックの領域と相対位置が同一である赤色マップの領域とを比較するとともに、仮説が定めるビットブロックの領域と、これらビットブロックの領域と相対位置が互いに同一である緑色マップまたは緑色マップの領域とを比較することによって評価値が仮説ごとに算出される。
【００５７】
ここで、図９に示す初期設定時点ｔ１の仮説集団に含まれる各仮説によるマーカＩＤの投票結果がヒストグラムＨ１となる。かかるヒストグラムＨ１では、ＩＤ「０」〜ＩＤ「７」の各マークＩＤの度数は互いにおおよそ一様ではあるが、僅差でＩＤ「３」が当選マークＩＤと決定される。
【００５８】
その後、初期設定時点ｔ１の仮説集団に複製および再構成が実行された場合には、図９に示す２回目の時点ｔ２の仮説集団が得られる。かかる２回目の時点ｔ２の仮説集団に含まれる各仮説の評価値が算出された後に各仮説によるマーカＩＤの投票が実行されると、その投票結果としてヒストグラムＨ２が得られる。かかるヒストグラムＨ２では、ＩＤ「３」の度数が突出し、それにＩＤ「１」の度数、ＩＤ「７」の度数が続く。この場合、大差でＩＤ「３」が当選マークＩＤと決定される。この場合、仮説の複製は、ＩＤ「３」、ＩＤ「１」、ＩＤ「７」の順に多く複製される一方で、ＩＤ「４」、ＩＤ「６」やＩＤ「０」の仮説は少なく複製されるか、あるいは削除される。
【００５９】
そして、２回目の時点ｔ２の仮説集団に再構成が実行された場合には、図９に示す３回目の時点ｔ３の仮説集団が得られる。かかる３回目の時点ｔ３の仮説集団に含まれる各仮説の評価値が算出された後に各仮説によるマーカＩＤの投票が実行されると、その投票結果としてヒストグラムＨ３が得られる。かかるヒストグラムＨ３では、さらにＩＤ「３」の度数の突出が顕著となる。この場合、当選マーカＩＤ「３」のサポート集団のマーカ領域の分散が閾値未満となる結果、サポート集団のマーカ領域の平均９０および当選マーカＩＤ９１がマーカの検知結果Ｏｕｔｐｕｔとして出力される。
【００６０】
このように、本実施例では、画像上でマーカ領域を最初に検知せずとも、マーカ領域およびマーカＩＤをともに検知できるので、マーカ領域の検出精度に検出能が依存しない。したがって、本実施例によれば、低解像度のマーカを検知することが可能になる。
【００６１】
［処理の流れ］
図１０は、実施例１に係るマーカ検知処理の手順を示すフローチャートである。このマーカ検知処理は、一例として、取得部１１によって原画像が取得される度に実行することができる。図１０に示すように、原画像が取得されると（ステップＳ１０１）、生成部１２は、原画像の色空間をＲＧＢからＨＳＶへ変換することによって赤色マップ、緑色マップおよび青色マップを作成する（ステップＳ１０２）。
【００６２】
続いて、生成部１２は、マーカ領域およびマーカＩＤが取りうる区間内に仮説をランダムにばら撒くことによって仮説集団を初期設定する（ステップＳ１０３）。そして、評価部１３は、ステップＳ１０２で作成された赤色マップ、緑色マップ及び青色マップを用いて、ステップＳ１０３で生成された仮説集団に含まれる各仮説の評価値を算出する（ステップＳ１０４）。
【００６３】
その後、繰返し制御部１４は、仮説集団によるマークＩＤの多数決で得られる当選マーカＩＤをサポートするサポート集団のマーカ領域の平均および分散を算出する（ステップＳ１０５）。
【００６４】
そして、サポート集団のマーカ領域の分散が閾値以上である場合、すなわち終了条件を満たさない場合（ステップＳ１０６Ｎｏ）には、複製部１５は、仮説集団のうち再構成の対象とする仮説をより尤もらしい仮説へ絞り込む（ステップＳ１０７）。すなわち、複製部１５は、評価値が大きい仮説ほど多く複製する一方で、評価値が小さい仮説ほど少なく複製するか、あるいは複製させずに消滅させる。
【００６５】
続いて、再構成部１６は、ステップＳ１０７で絞り込まれた仮説ごとに当該仮説のマーカ領域およびマーカＩＤを再構成する（ステップＳ１０８）。そして、再構成後の仮説集団を対象に上記のステップＳ１０４及びステップＳ１０５の処理が繰り返し実行される。
【００６６】
その後、サポート集団のマーカ領域の分散が閾値未満である場合、すなわち終了条件を満たす場合（ステップＳ１０６Ｙｅｓ）には、繰返し制御部１４は、サポート集団のマーカ領域の平均値および当選マーカＩＤをマーカの検知結果として出力した後に処理を終了する。
【００６７】
［効果の一側面］
上述してきたように、本実施例に係る画像処理装置１０は、マーカ領域とマーカＩＤを含むマーカの仮説を生成し、仮説集団の中で最多のマーカＩＤを持つサポート集団のマーカ領域の分散が閾値未満になるまで仮説のマーカＩＤを確率的に近傍なＩＤへ再構成する。それ故、マーカ領域を検知する手順を最初に実行せずともマーカ領域とマーカＩＤを同時に探索できる結果、マーカ領域の検出精度に検出能が依存しないマーカ検知を実現できる。したがって、本実施例に係る画像処理装置１０によれば、低解像度のマーカを検知できる。
【実施例２】
【００６８】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００６９】
［適用場面］
上記の実施例１で説明した画像処理装置１０は、任意の適用場面に実装することができる。ここでは、その適用場面の一例を説明する。図１１は、画像処理装置１０の実装例の一例を示す図である。図１１には、上記の実施例１で説明した画像処理装置１０がスマートテーブル５０として実装される場合が例示されている。
【００７０】
図１１に示すように、スマートテーブル５０は、携帯端末装置７のマーカ領域が検知された場合に、図示しないプロジェクタを制御して、スマートテーブル５０の天面の所定の領域ｉに携帯端末装置７が有するコンテンツのアイコンを投影させたり、コンテンツに対応するデータｄを投影させたりするものである。
【００７１】
図１２は、実施例２に係る携帯端末装置７及びスマートテーブル５０の間で実行される処理の制御シーケンスを示す図である。図１２に示すように、携帯端末装置７は、標準装備のモーションセンサを用いて、表示部７ａの表示面の水平検知を実行する（ステップＳ２０１）。例えば、加速度センサによって振動が検出されない場合に水平と検知したり、あるいはピッチ角、ロール角およびヨー角から表示部７ａの表示面が水平である場合に水平と検知したりすることができる。このようにして表示部７ａの表示面の水平が検知されると、携帯端末装置７は、マーカの検知依頼をスマートテーブル５０へ通知する（ステップＳ２０２）。
【００７２】
これを受けて、スマートテーブル５０は、携帯端末装置７に表示させるマーカのマーカＩＤを決定し（ステップＳ２０３）、マーカＩＤを携帯端末装置７へ通知する（ステップＳ２０４）。すると、携帯端末装置７は、ステップＳ２０４で通知されたマーカＩＤに対応するマーカを表示部７ａに表示させた後に（ステップＳ２０５）、マーカの表示完了通知をスマートテーブル５０へ送信する（ステップＳ２０６）。
【００７３】
続いて、スマートテーブル５０は、図１０に示したマーカ検知処理を実行する（ステップＳ２０７）。これによって、ステップＳ２０４で表示を指示したマーカＩＤがスマートテーブル５０上で載置されている位置、回転やサイズなどのマーク領域が得られる。その後、スマートテーブル５０は、ステップＳ２０７でのマーカ領域の検知結果を携帯端末装置７へ通知する（ステップＳ２０８）。
【００７４】
これを受けて、携帯端末装置７は、ステップＳ２０８で通知されたマーカ領域から携帯端末装置７が有するコンテンツのアイコンをスマートテーブル５０上で表示させる表示枠ｉ、例えばマーカ領域から割り出される自席の領域を決定し、その表示枠ｉをスマートテーブル５０へ通知する（ステップＳ２０９）。
【００７５】
すると、スマートテーブル５０は、ステップＳ２０９で通知された表示枠ｉに枠を識別する枠ＩＤを採番する（ステップＳ２１０）。その上で、スマートテーブル５０は、ステップＳ２１０で採番された表示枠ｉの枠ＩＤとともに、スマートテーブル５０が配置されている場所の属性情報をテーブル属性として携帯端末装置７へ通知する（ステップＳ２１１）。
【００７６】
ここで、携帯端末装置７は、図１３示す公開設定テーブル７ｂを参照して、携帯端末装置７が記憶するコンテンツのうちステップＳ２１１で通知されたテーブル属性との間で公開が許可される公開レベルが設定されたコンテンツを抽出する（ステップＳ２１２）。
【００７７】
図１３は、公開設定テーブル７ｂの一例を示す図である。図１３に示す公開設定テーブル７ｂは、テーブル属性、公開レベルおよび許可の可否が対応付けられたテーブルである。例えば、公開レベルには、公開が許可される範囲を指し、個人、関係者、社内、全ての順位公開が許可される範囲が広がる。また、テーブル属性には、公共、受付、社内、会議室、デスクの順に秘匿性が高まる。図１３に示す例で言えば、コンテンツの公開レベルに「全て」が設定されていれば、全てのテーブル属性でコンテンツの公開が許可される。また、コンテンツの公開レベルに「社内」が設定されていれば、テーブル属性が「公共」または「受付」でない限り、言い換えればテーブル属性が「社内」、「会議室」または「デスク」であれば、コンテンツの公開が許可される。また、コンテンツの公開レベルに「関係者」が設定されていれば、テーブル属性が「公共」、「受付」または「社内」でない限り、言い換えればテーブル属性が「会議室」または「デスク」であれば、コンテンツの公開が許可される。また、コンテンツの公開レベルに「個人」が設定されていれば、テーブル属性が「デスク」である場合に絞ってコンテンツの公開が許可される。
【００７８】
図１２の説明に戻り、携帯端末装置７は、ステップＳ２１２で抽出されたコンテンツに対応するアイコンを枠ＩＤとともにスマートテーブル５０へ通知する（ステップＳ２１３）。例えば、コンテンツの一例としては、ブラウザ、ワープロソフト、表計算ソフトやその他のアプリケーションを始め、アプリケーションが使用するデータ、写真、ＰＤＦや動画などのファイルなどが含まれる。これらのコンテンツのアイコンを通知するとき、コンテンツがアプリケーションに関するものであればそのアイコンを通知し、コンテンツが静止画や動画などのイメージデータであればそのサムネイル画像をアイコンとして通知し、コンテンツがＰＤＦファイルであればその表紙のサムネイル画像をアイコンとして通知することができる。なお、コンテンツは、所定のＷｅｂサーバやクラウドへアクセスするＵＲＬ等のリンクであってもよい。
【００７９】
その後、スマートテーブル５０は、ステップＳ２１３で通知されたアイコンを枠ＩＤで識別される表示枠ｉに表示させる（ステップＳ２１４）。そして、スマートテーブル５０上でアイコンの選択操作を受け付けると（ステップＳ２１５）、スマートテーブル５０は、当該選択操作を受け付けたアイコンを携帯端末装置７へ通知する（ステップＳ２１６）。
【００８０】
続いて、携帯端末装置７は、ステップＳ２１６で通知されたアイコンに対応するコンテンツを実行し（ステップＳ２１７）、その実行結果として生成されたコンテンツの表示データを枠ＩＤとともにスマートテーブル５０へ通知する（ステップＳ２１８）。これを受けて、スマートテーブル５０は、ステップＳ２１８で通知されたコンテンツの表示データを枠ＩＤで識別される表示枠ｉとの間で所定の関係にある位置、例えば表示枠ｉの奥側の位置へ表示させる（ステップＳ２１９）。
【００８１】
上述してきたように、本実施例に係るスマートテーブル５０は、携帯端末装置７が有するコンテンツのうち他の人に見せてもよいコンテンツを抜粋してそのアイコンを表示させたり、コンテンツを表示させたりすることができる。したがって、本実施例に係るスマートテーブル５０によれば、携帯端末装置７上のコンテンツが大画面にそのまま表示されることがなく、コンテンツのアイコンのみ表示され、それを利用者が選ぶことで，コンテンツが表示されるので、利用者の手間は軽減される。また，表示コンテンツの切り替えも、アイコンを選ぶだけなので、手間がかからない。さらに、大画面で操作するので、コンテンツ選択の間違いも少なくできる。
【００８２】
さらに、例えば、複数人数の会議が実施される場合には、会議卓としてスマートテーブルを共有画面として使用できる。すなわち、スマートテーブルは、自分の携帯端末装置７内の情報を、自席の前に表示し、公開が許可されたコンテンツを他人に複写したり、説明のために共有したりできる。
【００８３】
なお、ここでは、大画面端末としてスマートテーブルを例示したが、大画面のタッチパネルディスプレイであってもよいし、壁面に設置される壁面ディスプレイであっても、上記のマーカ検知処理、アイコン表示処理およびコンテンツの表示処理を適用できる。
【００８４】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部１１、生成部１２、評価部１３、繰返し制御部１４、複製部１５または再構成部１６を画像処理装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部１１、生成部１２、評価部１３、繰返し制御部１４、複製部１５または再構成部１６を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の画像処理装置の機能を実現するようにしてもよい。
【００８５】
［画像処理プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１４を用いて、上記の実施例と同様の機能を有する画像処理プログラムを実行するコンピュータの一例について説明する。
【００８６】
図１４は、実施例１及び実施例２に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。図１４に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００８７】
ＨＤＤ１７０には、図１４に示すように、上記の実施例１で示した取得部１１、生成部１２、評価部１３、繰返し制御部１４、複製部１５及び再構成部１６と同様の機能を発揮する画像処理プログラム１７０ａが予め記憶される。この画像処理プログラム１７０ａについては、図４に示した各々の取得部１１、生成部１２、評価部１３、繰返し制御部１４、複製部１５及び再構成部１６の各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【００８８】
そして、ＣＰＵ１５０が、画像処理プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図１４に示すように、画像処理プログラム１７０ａは、画像処理プロセス１８０ａとして機能する。この画像処理プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、画像処理プロセス１８０ａは、図４に示した取得部１１、生成部１２、評価部１３、繰返し制御部１４、複製部１５及び再構成部１６にて実行される処理、例えば図１０や図１２に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【００８９】
なお、上記の画像処理プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００９０】
１    マーカ検知システム
３    カメラ
５    テーブル
５ａ  天面
７    携帯端末装置
７ａ  表示部
１０    画像処理装置
１１    取得部
１２    生成部
１３    評価部
１４    繰返し制御部
１５    複製部
１６    再構成部
５０    スマートテーブル
【図１】
2015197762.tif 000004
【図２】
2015197762.tif 000005
【図３】
2015197762.tif 000006
【図４】
2015197762.tif 000007
【図５】
2015197762.tif 000008
【図６】
2015197762.tif 000009
【図７】
2015197762.tif 000010
【図８Ａ】
2015197762.tif 000011
【図８Ｂ】
2015197762.tif 000012
【図８Ｃ】
2015197762.tif 000013
【図９】
2015197762.tif 000014
【図１０】
2015197762.tif 000015
【図１１】
2015197762.tif 000016
【図１２】
2015197762.tif 000017
【図１３】
2015197762.tif 000018
【図１４】
2015197762.tif 000019