(57)【要約】【課題】撮像部に対する特定の被写体の姿勢の推定を適正に行う。【解決手段】携帯端末１００であって、取得された画像における特定の被写体の画像領域を構成する複数の点の座標を検出する座標検出部６ｃと、検出された複数の点の座標に基づいて、撮像部３に対する特定の被写体の姿勢候補を少なくとも一つ推定する第１姿勢候補推定部６ｄと、推定された姿勢候補のうちの何れか一を撮像部に対する特定の被写体の姿勢の最適解として特定する姿勢特定部６ｆと、を備えている。【選択図】図１
2014071619.tif 000002
【特許請求の範囲】
【請求項１】
撮像部により撮像された特定の被写体を含む画像を逐次取得する取得手段と、
前記取得手段により取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する検出手段と、
前記検出手段により検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する候補推定手段と、
前記候補推定手段により推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する特定手段と、
を備えたことを特徴とする被写体検出装置。
【請求項２】
前記候補推定手段は、
前記検出手段により検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の第１姿勢候補を推定する第１推定手段と、
前記第１推定手段による推定結果に基づいて、前記撮像部に対する前記特定の被写体の前記第１姿勢候補と異なる第２姿勢候補を推定する第２推定手段と、を備え、
前記特定手段は、
前記第１姿勢候補及び前記第２姿勢候補のうち、一方を前記最適解として特定することを特徴とする請求項１に記載の被写体検出装置。
【請求項３】
前記第１推定手段により推定された前記第１姿勢候補が正しいか否かを所定の判定基準に従って判定する判定手段を更に備え、
前記第２推定手段は、前記判定手段によって前記第１姿勢候補が正しくないと判定された場合に、前記第２姿勢候補を推定することを特徴とする請求項２に記載の被写体検出装置。
【請求項４】
前記特定手段は、
前記判定手段によって前記第１姿勢候補が正しいと判定された場合に、当該第１姿勢候補を前記最適解として特定する一方で、前記第１姿勢候補が正しくないと判定された場合に、前記第２推定手段により推定された前記第２姿勢候補を前記最適解として特定することを特徴とする請求項３に記載の被写体検出装置。
【請求項５】
予め前記撮像部に対する前記特定の被写体の仮の姿勢を指定する指定手段を更に備え、
前記判定手段は、前記指定手段によって指定された仮の姿勢に基づいて、前記第１姿勢候補が正しいか否かを判定することを特徴とする請求項３又は４に記載の被写体検出装置。
【請求項６】
前記判定手段は、前記特定手段により前記最適解として逐次特定される前記撮像部に対する前記特定の被写体の姿勢の変化の態様に基づいて、前記第１姿勢候補が正しいか否かを判定することを特徴とする請求項３又は４に記載の被写体検出装置。
【請求項７】
予め前記撮像部に対する前記特定の被写体の仮の姿勢を指定する指定手段を更に備え、
前記特定手段は、前記候補推定手段により推定された複数の前記姿勢候補のうち、前記指定手段によって指定された仮の姿勢と略一致するものを前記最適解として特定することを特徴とする請求項１に記載の被写体検出装置。
【請求項８】
前記特定手段は、前記最適解として前記撮像部に対する前記特定の被写体の姿勢を逐次特定するとともに、当該姿勢の変化の態様に基づいて前記最適解を再度特定することを特徴とする請求項１に記載の被写体検出装置。
【請求項９】
前記特定の被写体は、マーカーであることを特徴とする請求項１〜８の何れか一項に記載の被写体検出装置。
【請求項１０】
被写体検出装置を用いた被写体検出方法であって、
撮像部により撮像された特定の被写体を含む画像を逐次取得する処理と、
取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する処理と、
検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する処理と、
推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する処理と、
を含むことを特徴とする被写体検出方法。
【請求項１１】
被写体検出装置のコンピュータを、
撮像部により撮像された特定の被写体を含む画像を逐次取得する取得手段、
前記取得手段により取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する検出手段、
前記検出手段により検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する候補推定手段、
前記候補推定手段により推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する特定手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体検出装置、被写体検出方法及びプログラムに関する。
【背景技術】
【０００２】
従来、拡張現実（augmented reality：ＡＲ）技術として、撮像された画像におけるマーカー（実オブジェクト）の画像に対応付けて、仮想オブジェクト（例えば、三次元モデル等）を表示させる画像処理装置が知られている（例えば、特許文献１参照）。
この画像処理装置では、撮像されたフレーム画像の画像解析の結果に基づいて、フレーム画像におけるマーカーの画像の傾き（例えば、表示画面内における正視状態からの回転角度等）を検出して、当該マーカーの画像の傾きを初期値として記録しておく。また、画像処理装置は、逐次撮像されるフレーム画像におけるマーカーの傾きと初期値として記録されている傾きとの相対的な差分、具体的には、座標値の差分を算出する。そして、画像処理装置は、算出された座標値の差分から、所定のベクトルに沿うように仮想オブジェクトの画像を傾けて逐次表示させる処理を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−７２６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、マーカーの撮像の際の環境や各種の条件等によっては、三次元空間内のマーカーの４隅の点の検出誤差が生じてしまい、撮像部に対するマーカーの姿勢の推定を適正に行うことができない虞がある。
【０００５】
本発明は、このような問題に鑑みてなされたものであり、本発明の課題は、撮像部に対する特定の被写体の姿勢の推定を適正に行うことができる被写体検出装置、被写体検出方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る被写体検出装置は、
撮像部により撮像された特定の被写体を含む画像を逐次取得する取得手段と、前記取得手段により取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する検出手段と、前記検出手段により検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する候補推定手段と、前記候補推定手段により推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する特定手段と、を備えたことを特徴としている。
【０００７】
また、本発明に係る被写体検出方法は、
被写体検出装置を用いた被写体検出方法であって、撮像部により撮像された特定の被写体を含む画像を逐次取得する処理と、取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する処理と、検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する処理と、推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する処理と、を含むことを特徴としている。
【０００８】
また、本発明に係るプログラムは、
被写体検出装置のコンピュータを、撮像部により撮像された特定の被写体を含む画像を逐次取得する取得手段、前記取得手段により取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する検出手段、前記検出手段により検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する候補推定手段、前記候補推定手段により推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する特定手段、として機能させることを特徴としている。
【発明の効果】
【０００９】
本発明によれば、撮像部に対する特定の被写体の姿勢の推定を適正に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明を適用した実施形態１の携帯端末の概略構成を示すブロック図である。
【図２】図１の携帯端末によるマーカー検出処理に係る動作の一例を示すフローチャートである。
【図３】図１の携帯端末とマーカーとの位置関係を模式的に示す図である。
【図４】図２のマーカー検出処理を説明するための図である。
【図５】本発明を適用した実施形態２の携帯端末の概略構成を示すブロック図である。
【図６】図５の携帯端末によるマーカー検出処理に係る動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【００１２】
［実施形態１］
図１は、本発明を適用した実施形態１の携帯端末１００の概略構成を示すブロック図である。
図１に示すように、本実施形態の携帯端末１００は、中央制御部１と、メモリ２と、撮像部３と、撮像制御部４と、画像データ生成部５と、マーカー検出処理部６と、表示部７と、表示制御部８と、送受話部９と、通信制御部１０と、操作入力部１１等を備えている。
なお、携帯端末１００は、例えば、通信機能を具備する撮像装置や、携帯電話やＰＨＳ（Personal Handy-phone System）などの移動体通信網で用いられる移動局、ＰＤＡ（Personal Data Assistants）等から構成されている。
【００１３】
中央制御部１は、携帯端末１００の各部を制御する。具体的には、中央制御部１は、携帯端末１００の各部を制御するＣＰＵ（図示略）を具備し、各種処理プログラム（図示略）に従って各種の制御動作を行う。
【００１４】
メモリ２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）等により構成され、画像情報等を一時的に記録するバッファメモリや、中央制御部１などのワーキングメモリ、当該携帯端末１００の機能に係る各種プログラムやデータが格納されたプログラムメモリ等（何れも図示略）を備えている。
【００１５】
撮像部３は、特定の被写体（例えば、マーカーＭ）を撮像してフレーム画像Ｆ（図３参照）の画像信号を生成する。
ここで、特定の被写体とは、二次元画像であっても良いし、３次元形状の立体であっても良い。例えば、特定の被写体を二次元画像とした場合には、一辺１２ｍｍの正方形をなす略枠状（額縁状）のマーカーＭ等が挙げられる（図３参照）。
なお、上記したマーカーＭの形状、寸法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【００１６】
また、撮像部３は、レンズ部３ａと、電子撮像部３ｂとを備えている。
レンズ部３ａは、ズームレンズやフォーカスレンズ等の複数のレンズから構成されている。
電子撮像部３ｂは、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal-oxide Semiconductor）等のイメージセンサから構成され、レンズ部３ａの各種レンズを通過した光学像を二次元の画像信号に変換する。
なお、図示は省略するが、撮像部３は、レンズ部３ａを通過する光の量を調整する絞りを備えていても良い。
【００１７】
撮像制御部４は、撮像部３による被写体の撮像を制御する。即ち、撮像制御部４は、図示は省略するが、タイミング発生器、ドライバなどを備えている。そして、撮像制御部４は、タイミング発生器、ドライバにより電子撮像部３ｂを走査駆動して、所定周期毎に光学像を電子撮像部３ｂにより二次元の画像信号に変換させ、当該電子撮像部３ｂの撮像領域から１画面分ずつフレーム画像Ｆを読み出して画像データ生成部５に出力させる。
また、撮像制御部４は、ＡＦ（自動合焦処理）、ＡＥ（自動露出処理）、ＡＷＢ（自動ホワイトバランス）等の被写体の撮像条件の調整制御を行う。
【００１８】
画像データ生成部５は、電子撮像部３ｂから転送されたフレーム画像Ｆのアナログ値の信号に対してＲＧＢの各色成分毎に適宜ゲイン調整した後に、サンプルホールド回路（図示略）でサンプルホールドしてＡ／Ｄ変換器（図示略）でデジタルデータに変換し、カラープロセス回路（図示略）で画素補間処理及びγ補正処理を含むカラープロセス処理を行った後、デジタル値の輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒ（ＹＵＶデータ）を生成する。
また、画像データ生成部５は、生成したフレーム画像ＦのＹＵＶデータを水平及び垂直ともに所定倍率で縮小処理を行って、ライブビュー表示用の低解像度（例えば、ＶＧＡやＱＶＧＡサイズ等）の画像データを生成する。具体的には、画像データ生成部５は、表示部７によるライブビュー画像の所定の表示フレームレートに応じた所定のタイミングで、フレーム画像ＦのＹＵＶデータからライブビュー表示用の低解像度の画像データを生成する。
【００１９】
そして、画像データ生成部５は、生成された各フレーム画像ＦのＹＵＶデータをメモリ２に順次出力し、当該メモリ２に格納させる。
【００２０】
マーカー検出処理部６は、仮姿勢指定部６ａと、画像取得部６ｂと、座標検出部６ｃと、第１姿勢候補推定部６ｄと、判定部６ｅと、第１姿勢特定部６ｆと、画像生成部６ｇとを具備している。
なお、マーカー検出処理部６の各部は、例えば、所定のロジック回路から構成されているが、当該構成は一例であってこれに限られるものではない。
【００２１】
仮姿勢指定部６ａは、予め当該端末本体に対するマーカーＭの仮の姿勢を指定する。
即ち、仮姿勢指定部（指定手段）６ａは、予め撮像部３を具備する端末本体に対するマーカー（特定の被写体）Ｍの仮の姿勢を指定する。具体的には、例えば、ユーザによる操作入力部１１の所定操作に基づいて、二次元画像であるマーカーＭの当該二次元平面に対する法線方向（即ち、図３中、マーカー座標系におけるＺ軸の向き等）の向き（例えば、上下左右の何れか一の向き）が入力されると、仮姿勢指定部６ａは、入力されたマーカーＭの二次元平面に対する法線方向の向きを、端末本体に対するマーカーＭの仮の姿勢として指定する。
なお、仮の姿勢の指定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。例えば、仮の姿勢は、予めデフォルトとして設定されているものが自動的に指定される構成であっても良い。
【００２２】
画像取得部６ｂは、複数のフレーム画像Ｆ、…を逐次取得する。
即ち、画像取得部（取得手段）６ｂは、マーカー（特定の被写体）Ｍが連続して撮像された複数の画像を逐次取得する。具体的には、画像取得部６ｂは、撮像部３によりマーカーＭが連続して撮像されて画像データ生成部５により逐次生成された複数のフレーム画像Ｆ、…の所定の解像度の画像データ（例えば、輝度データ）をメモリ２から逐次取得する。
【００２３】
座標検出部６ｃは、マーカー画像領域Ｓ（図３参照）を構成する複数の点の座標を検出する。
即ち、座標検出部（検出手段）６ｃは、画像取得部６ｂにより取得されたフレーム画像Ｆに含まれるマーカー画像領域Ｓを構成する複数の点（例えば、４隅の点等）の座標を検出する。具体的には、座標検出部６ｃは、画像取得部６ｂにより取得されたフレーム画像Ｆに対して所定の二値化処理が施されることで生成された二値化画像の画像データに対して所定の特徴抽出処理を行って、略枠状のマーカー画像領域Ｓを抽出する。そして、座標検出部６ｃは、マーカー画像領域Ｓを構成する４隅の位置座標を検出する。
なお、特徴抽出処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【００２４】
第１姿勢候補推定部６ｄは、端末本体に対するマーカーＭの姿勢候補を少なくとも一つ推定する。具体的には、第１姿勢候補推定部６ｄは、第１推定部ｄ１と、第２推定部ｄ２とを具備している。
【００２５】
第１推定部（第１推定手段）ｄ１は、座標検出部６ｃにより検出された複数の点の座標に基づいて、端末本体に対するマーカーＭの第１姿勢候補を推定する。具体的には、第１推定部ｄ１は、所定の記録手段に記録されているデータベース（図示略）等を参照し、マーカー画像領域Ｓの４隅の点の位置座標から幾何学的な位置関係を利用して、マーカーＭの各点の三次元空間での座標とフレーム画像Ｆ内の二次元の平面座標との対応関係を規定する座標変換式（例えば、式（１）参照；後述）の第１初期値を算出する。
ここで、マーカー画像領域Ｓの複数の点の座標変換には、例えば、比較的精度の高い中心射影モデルを用いても良いし、中心射影モデルに比べて精度の低い擬似中心射影モデル（図４（ａ）参照）を用いても良い。例えば、擬似中心射影モデルでは、携帯端末１００から所定の距離以上離れると、当該端末本体に対する前後方向（奥行き方向）の狭い範囲にて平行投影とみなされ、図４（ａ）中の点１、２は何れも画像の点ａに投影されてしまう。
【００２６】
また、第１推定部ｄ１は、算出された第１初期値を端末本体に対するマーカーＭの姿勢を表す行列Ｒの初期値として下記式（１）の座標変換式を解くことで、端末本体に対するマーカーＭの姿勢及び位置関係を表す行列Ｒ、Ｔをバンドル調整（bundle adjustment）により推定する。そして、第１推定部ｄ１は、推定された行列Ｒを端末本体に対するマーカーＭの第１姿勢候補として特定する。
ここで、バンドル調整とは、画像から幾何学的なモデルのパラメータを高い推定精度の達成を目指して推定する手法であり、例えば、未知のパラメータの再投影誤差の合計を最小化するような手法等が用いられる。
【数１】
2014071619.tif 000003
なお、式（１）の座標変換式は、同次座標変換行列である。また、当該式（１）中、「Ｘｗ」、「Ｙｗ」及び「Ｚｗ」は、互いに直交するＸ軸、Ｙ軸及びＺ軸により規定される三次元空間でのマーカーＭを構成する各点の座標位置を表し、「ｘｉ」及び「ｙｉ」は、Ｘ軸及びＹ軸により規定される二次元平面であるフレーム画像Ｆ内でマーカーＭの各点の対応する座標位置を表している。
また、端末本体に対するマーカーＭの姿勢を表す行列Ｒは、具体的には、ｎ行ｍ列の行列（ｎ、ｍは、それぞれ自然数）で表され、例えば、３×３の回転行列等が挙げられる。また、端末本体に対するマーカーＭの位置関係を表す行列Ｔは、具体的には、ｎ行ｍ列の行列（ｎ、ｍは、それぞれ自然数）で表され、例えば、１×３の並進ベクトル等が挙げられる。
また、式（１）中の「Ｃ」は、撮像部３の焦点距離等の内部パラメータを表し、「ｈ」は、フレーム画像Ｆのスケールを表している。
【００２７】
第２推定部（第２推定手段）ｄ２は、第１推定部ｄ１による推定結果に基づいて、端末本体に対するマーカーＭの第１姿勢候補と異なる第２姿勢候補を推定する。
具体的には、第２推定部ｄ２は、判定部６ｅによって第１姿勢候補が正しくないと判定された場合に（詳細後述）、端末本体に対するマーカーＭの第２姿勢候補を推定する。つまり、判定部６ｅによって第１姿勢候補が正しくないと判定された場合には、当該第１姿勢候補はバンドル調整により推定された局所解であると考えられるので、第１姿勢候補推定部６ｄは、第２推定部ｄ２によって端末本体に対するマーカーＭの姿勢候補（第２姿勢候補）を再度推定する。
例えば、第２推定部ｄ２は、端末本体の所定位置（例えば、光軸が通る端末本体中心）とマーカーＭの中心を通る軸（中心軸）とマーカーＭの二次元平面の法線ベクトルの外積を算出する。そして、第２推定部ｄ２は、仮姿勢指定部６ａにより指定されたマーカーＭの仮の姿勢（例えば、下向き；図４（ｂ）中、破線Ｌ２で表すマーカーＭの向き）と反対（例えば、上向き；図４（ｂ）中、実線Ｌ１で表すマーカーＭの向き）となるように、算出された外積を軸として第１姿勢候補である行列Ｒを回転させて、第２初期値を算出する。その後、第２推定部ｄ２は、算出された第２初期値を端末本体に対するマーカーＭの姿勢を表す行列Ｒの初期値として式（１）の座標変換式を解くことで、端末本体に対するマーカーＭの姿勢及び位置関係を表す行列Ｒ、Ｔを推定し、推定された行列Ｒを端末本体に対するマーカーＭの第２姿勢候補として特定する。
なお、第２姿勢候補の推定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。例えば、第２推定部ｄ２は、上記第１推定部ｄ１と同様に、マーカー画像領域Ｓの４隅の点の座標から擬似中心射影モデルを利用することで、座標変換式（例えば、式（１）参照）の初期値として第１初期値と異なる第２初期値を算出し、当該第２初期値を用いて端末本体に対するマーカーＭの姿勢を表す行列Ｒ（第２姿勢候補）をバンドル調整により推定しても良い。
【００２８】
このように、第２推定部ｄ２は、判定部６ｅによって第１姿勢候補が正しくないと判定された場合にのみ第２姿勢候補を推定するので、第１姿勢候補推定部６ｄ（候補推定手段）は、撮像部３を具備する端末本体に対するマーカーＭの姿勢候補を少なくとも一つ推定する。
【００２９】
判定部６ｅは、第１姿勢候補が正しいか否かを判定する。
即ち、判定部（判定手段）６ｅは、第１推定部ｄ１により推定された第１姿勢候補が正しいか否かを所定の判定基準に従って判定する。具体的には、判定部６ｅは、仮姿勢指定部６ａによって指定されたマーカーＭの仮の姿勢に基づいて、端末本体に対するマーカーＭの第１姿勢候補が正しいか否かを判定する。
例えば、端末本体に対するマーカーＭの第１姿勢候補を表す行列Ｒが３×３の回転行列で表されている場合、１列目の各要素r11、r21、r31は、端末本体の座標系におけるマーカー座標系のＸ軸の向きを表し、２列目の各要素r12、r22、r32は、端末本体の座標系におけるマーカー座標系のＹ軸の向きを表し、３列目の各要素r13、r23、r33は、端末本体の座標系におけるマーカー座標系のＺ軸の向きを表す。ここで、例えば、仮姿勢指定部６ａにより予めマーカーＭの二次元平面に対する法線方向の向きが上向きと指定されている場合、判定部６ｅは、端末本体に対するマーカーＭの第１姿勢候補を表す行列Ｒの所定の要素（例えば、２行目、３列目の要素r23）の符号を確認することで第１姿勢候補と仮の姿勢が一致するか否かを判定する。即ち、マーカーＭの法線方向は、マーカー座標系のＺ軸の向きと一致しているため、判定部６ｅは、３×３の回転行列のマーカー座標系のＺ軸の向きを表す３列目の各要素のうち、端末本体の座標系のＹ軸に対応する要素r23の符号を確認することによって、マーカーＭの法線方向が端末本体の座標系のＹ軸の正の方向を向いているか否かを判定することができる。
【００３０】
なお、第１姿勢候補の判定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
具体的には、例えば、判定部６ｅは、第１姿勢特定部６ｆ（後述）により最適解として逐次特定される端末本体に対するマーカーＭの姿勢の変化の態様に基づいて、第１姿勢候補が正しいか否かを判定するようにしても良い。例えば、フレーム画像Ｆが所定の撮像フレームレート（例えば、６０ｆｐｓ等）で撮像されて取得される場合に、所定時間内に取得された複数のフレーム画像Ｆ、…に対応する第１姿勢候補の所定の要素に基づいてマーカーＭの姿勢が所定の向き（例えば、上向き）である割合を算出し、その割合が所定値以上となった場合に、第１姿勢候補が正しいと判定するようにしても良い。また、例えば、判定部６ｅは、前回特定された第１姿勢候補の所定の要素と比較して、今回特定された第１姿勢候補の所定の要素が一致するか否かに応じて第１姿勢候補が正しいか否かを判定するようにしても良い。
この場合には、携帯端末１００は、必ずしも仮姿勢指定部６ａを具備する必要はない。
【００３１】
第１姿勢特定部６ｆは、端末本体に対するマーカーＭの姿勢の最適解を特定する。
即ち、第１姿勢特定部（特定手段）６ｆは、第１姿勢候補推定部６ｄにより推定された少なくとも一の姿勢候補のうちの何れか一を端末本体に対するマーカーＭの姿勢の最適解として特定する。具体的には、第１姿勢特定部６ｆは、第１姿勢候補及び第２姿勢候補のうち、一方を最適解として特定する。
例えば、第１姿勢特定部６ｆは、判定部６ｅによって第１姿勢候補が正しいと判定された場合に、当該第１姿勢候補を最適解として特定する一方で、第１姿勢候補が正しくないと判定された場合に、第２推定部ｄ２により推定された第２姿勢候補を最適解として特定する。
つまり、判定部６ｅにより第１姿勢候補が正しいと判定された場合には、第１姿勢候補推定部６ｄにより一の姿勢候補（第１姿勢候補）のみが推定された状態であり、第１姿勢特定部６ｆは、当該第１姿勢候補を端末本体に対するマーカーＭの姿勢を表す行列Ｒとして特定する。これに対して、判定部６ｅにより第１姿勢候補が正しくないと判定された場合には、第１姿勢候補推定部６ｄの第２推定部ｄ２により改めて第２姿勢候補が推定され、第１姿勢特定部６ｆは、当該第２姿勢候補を端末本体に対するマーカーＭの姿勢を表す行列Ｒとして特定する。
【００３２】
画像生成部６ｇは、画像取得部６ｂにより逐次取得されたフレーム画像Ｆのマーカー画像領域Ｓに当該マーカーＭと対応する仮想オブジェクト（例えば、三次元モデル等；図示略）を重畳させた仮想画像（図示略）を生成する。
具体的には、例えば、フレーム画像Ｆが逐次取得される毎に、画像生成部６ｇは、第１姿勢特定部６ｆにより最適解として特定された端末本体に対するマーカーＭの姿勢及び位置関係に基づいて、フレーム画像Ｆ内でのマーカー画像の姿勢（向き）や位置を調整し、当該マーカー画像と対応する仮想オブジェクトを所定の記録手段から取得して仮想画像の画像データを生成する。そして、画像生成部６ｇは、生成された各仮想画像の画像データをメモリ２に順次出力し、当該メモリ２に格納させる。
なお、画像生成部６ｇにより生成された仮想画像の画像データは、例えば、所定の圧縮形式（例えば、ＪＰＥＧ形式等）で符号化され、不揮発性メモリ（フラッシュメモリ）等の記録媒体（図示略）に記録されても良い。
【００３３】
表示部７は、例えば、液晶表示パネルから構成され、表示制御部８からのビデオ信号に基づいて撮像部３により撮像された画像（例えば、ライブビュー画像等）を表示画面に表示する。
【００３４】
表示制御部８は、メモリ２に一時的に記憶されている表示用の画像データを読み出して表示部７に表示させる制御を行う。
具体的には、表示制御部８は、ＶＲＡＭ（Video Random Access Memory）、ＶＲＡＭコントローラ、デジタルビデオエンコーダなどを備えている。そして、デジタルビデオエンコーダは、中央制御部１の制御下にてメモリ２から読み出されてＶＲＡＭ（図示略）に記憶されている輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒを、ＶＲＡＭコントローラを介してＶＲＡＭから所定の再生フレームレート（例えば、３０ｆｐｓ）で読み出して、これらのデータを元にビデオ信号を発生して表示部７に出力する。
例えば、表示制御部８は、撮像部３及び撮像制御部４により撮像され画像データ生成部５により生成された複数のフレーム画像Ｆ、…を所定の表示フレームレートで逐次更新しながら表示部７にライブビュー表示させる。また、表示制御部８は、例えば、メモリ２から仮想画像の画像データを逐次取得して、当該仮想画像を表示部７に逐次ライブビュー表示させる。
【００３５】
送受話部９は、通信ネットワークＮを介して接続された外部機器の外部ユーザとの通話を行う。
具体的には、送受話部９は、マイク９ａ、スピーカ９ｂ、データ変換部９ｃ等を備えている。そして、送受話部９は、マイク９ａから入力されるユーザの送話音声をデータ変換部９ｃによりＡ／Ｄ変換処理して送話音声データを中央制御部１に出力するとともに、中央制御部１の制御下にて、通信制御部１０から出力されて入力される受話音声データ等の音声データをデータ変換部９ｃによりＤ／Ａ変換処理してスピーカ９ｂから出力する。
【００３６】
通信制御部１０は、通信ネットワークＮ及び通信アンテナ１０ａを介してデータの送受信を行う。
即ち、通信アンテナ１０ａは、当該携帯端末１００が無線基地局（図示略）との通信で採用している所定の通信方式（例えば、Ｗ−ＣＤＭＡ(Wideband Code Division Multiple Access)方式、ＧＳＭ（Global System for Mobile Communications；登録商標）方式等）に対応したデータの送受信が可能なアンテナである。そして、通信制御部１０は、所定の通信方式に対応する通信プロトコルに従って、この通信方式で設定される通信チャネルにより無線基地局との間で通信アンテナ１０ａを介してデータの送受信を行う。
即ち、通信制御部１０は、中央制御部１から出力されて入力される指示信号に基づいて、通信相手の外部機器に対して、当該外部機器の外部ユーザとの通話中の音声の送受信や、電子メールのデータの送受信を行う。
なお、通信制御部１０の構成は一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、図示は省略するが、無線ＬＡＮモジュールを搭載し、アクセスポイント（Access Point）を介して通信ネットワークＮにアクセス可能な構成としても良い。
【００３７】
なお、通信ネットワークＮは、携帯端末１００を無線基地局やゲートウェイサーバ（図示略）等を介して接続する通信ネットワークである。また、通信ネットワークＮは、専用線や既存の一般公衆回線を利用して構築された通信ネットワークであり、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等の様々な回線形態を適用することが可能である。また、通信ネットワークＮには、例えば、電話回線網、ＩＳＤＮ回線網、専用線、移動体通信網、通信衛星回線、ＣＡＴＶ回線網等の各種通信ネットワーク網と、ＩＰネットワーク、ＶｏＩＰ（Voice over Internet Protocol）ゲートウェイ、インターネットサービスプロバイダ等が含まれる。
【００３８】
操作入力部１１は、端末本体に対して各種指示を入力するためのものである。
具体的には、操作入力部１１は、被写体の撮影指示に係るシャッタボタン、モードや機能等の選択指示に係る上下左右のカーソルボタンや決定ボタン、電話の発着信や電子メールの送受信等の実行指示に係る通信関連ボタン、テキストの入力指示に係る数字ボタンや記号ボタン等の各種ボタン（何れも図示略）を備えている。
そして、ユーザにより各種ボタンが操作されると、操作入力部１１は、操作されたボタンに応じた操作指示を中央制御部１に出力する。中央制御部１は、操作入力部１１から出力され入力された操作指示に従って所定の動作（例えば、被写体の撮像、電話の発着信、電子メールの送受信等）を各部に実行させる。
【００３９】
なお、操作入力部１１は、表示部７と一体となって設けられたタッチパネルを有していても良く、ユーザによるタッチパネルの所定操作に基づいて、当該所定操作に応じた操作指示を中央制御部１に出力しても良い。
【００４０】
次に、携帯端末１００によるマーカー検出処理について図２を参照して説明する。
図２は、マーカー検出処理に係る動作の一例を示すフローチャートである。
なお、以下のマーカー検出処理にて検出されるマーカーＭは、例えば、鉢植えの観葉植物の鉢内の所定位置に配設されているものとする。
【００４１】
図２に示すように、先ず、仮姿勢指定部６ａは、ユーザによる操作入力部１１の所定操作に基づいて入力されたマーカーＭの二次元平面に対する法線方向の向き（例えば、下向き等）を、端末本体に対するマーカーＭの仮の姿勢として指定する（ステップＳ１）。
その後、撮像制御部４は、撮像部３にマーカーＭを撮像させ、画像データ生成部５は、電子撮像部３ｂから転送された複数のフレーム画像Ｆ、…の画像データを生成する（ステップＳ２）。ここで、例えば、レンズ部の焦点距離を４０ｍｍ（３５ｍｍ判換算）として、一辺１２ｍｍの正方形をなす略枠状のマーカーＭを４０ｃｍ程度離れた場所から撮像すると、ＶＧＡサイズのフレーム画像Ｆでマーカー画像領域Ｓの一辺が５０画素程度となる。このような状況では、後述するマーカー画像領域Ｓの４隅の点の座標の検出誤差が生じ易くなる。
そして、画像データ生成部５は、生成された各フレーム画像ＦのＹＵＶデータをメモリ２に順次出力し、当該メモリ２に格納させる。
【００４２】
次に、マーカー検出処理部６の画像取得部６ｂは、画像データ生成部５により逐次生成された何れか一のフレーム画像Ｆの画像データをメモリ２から取得する（ステップＳ３）。続けて、座標検出部６ｃは、画像取得部６ｂにより取得されたフレーム画像Ｆを二値化した画像の画像データに対して所定の特徴抽出処理を行って略枠状のマーカー画像領域Ｓを抽出し、抽出されたマーカー画像領域Ｓを構成する４隅の点の位置座標を検出する（ステップＳ４）。
【００４３】
次に、第１推定部ｄ１は、マーカー画像領域Ｓの４隅の点の座標から幾何学的な位置関係を利用して、マーカーＭの各点の三次元空間での座標とフレーム画像Ｆ内の二次元の平面座標との対応関係を規定する座標変換式（例えば、式（１））の第１初期値を算出する（ステップＳ５）。続けて、第１推定部ｄ１は、算出された第１初期値を用いて下記式（１）の座標変換式を解くことで、端末本体に対するマーカーＭの姿勢及び位置関係を表す行列Ｒ、Ｔをバンドル調整により推定し、推定された行列Ｒを端末本体に対するマーカーＭの第１姿勢候補として特定する（ステップＳ６）。
【数２】
2014071619.tif 000004
【００４４】
次に、判定部６ｅは、仮姿勢指定部６ａによって指定されたマーカーＭの仮の姿勢に基づいて、端末本体に対するマーカーＭの第１姿勢候補が正しいか否かを判定する（ステップＳ７）。具体的には、判定部６ｅは、端末本体に対するマーカーＭの第１姿勢候補を表す行列Ｒの所定の要素（例えば、２行目、３列目の要素r23）の符号を確認することで第１姿勢候補と仮の姿勢が一致するか否かを判定し、当該判定結果に応じて第１姿勢候補が正しいか否かを判定する。
【００４５】
ステップＳ７にて、第１姿勢候補が正しいと判定されると（ステップＳ７；ＹＥＳ）、第１姿勢特定部６ｆは、当該第１姿勢候補を端末本体に対するマーカーＭの姿勢を表す行列Ｒの最適解として特定する（ステップＳ８）。
そして、画像生成部６ｇは、最適解として特定された端末本体に対するマーカーＭの姿勢（第１姿勢候補）及び位置関係に基づいてフレーム画像Ｆ内でのマーカー画像の姿勢や位置を調整し、当該フレーム画像Ｆ中にマーカー画像と対応する仮想オブジェクトを重畳させた仮想画像の画像データを生成する。そして、表示制御部８は、当該仮想画像を表示部７にライブビュー表示させる（ステップＳ９）。
その後、中央制御部１のＣＰＵは、処理をステップＳ３に戻す。
【００４６】
一方、ステップＳ７にて、第１姿勢候補が正しくないと判定されると（ステップＳ７；ＮＯ）、第２推定部ｄ２は、第１姿勢候補を用いて座標変換式の第２初期値を算出する（ステップＳ１０）。具体的には、第２推定部ｄ２は、光軸が通る端末本体中心とマーカーＭの中心を通る軸（中心軸）とマーカーＭの二次元平面の法線ベクトルの外積を算出する。そして、第２推定部ｄ２は、指定済みのマーカーＭの仮の姿勢（例えば、下向き）と反対（例えば、上向き）となるように、算出された外積を軸として第１姿勢候補である行列Ｒを回転させて、第２初期値を算出する。
続けて、第２推定部ｄ２は、算出された第２初期値を用いて式（１）の座標変換式を解くことで、端末本体に対するマーカーＭの姿勢及び位置関係を表す行列Ｒ、Ｔをバンドル調整により推定し、推定された行列Ｒを端末本体に対するマーカーＭの第２姿勢候補として特定する（ステップＳ１１）。
【００４７】
その後、第１姿勢特定部６ｆは、当該第２姿勢候補を端末本体に対するマーカーＭの姿勢を表す行列Ｒの最適解として特定する（ステップＳ１２）。そして、中央制御部１のＣＰＵは、処理をステップＳ９に移行して、それ以降の各処理の実行を制御する。
即ち、ステップＳ９にて、画像生成部６ｇは、最適解として特定された端末本体に対するマーカーＭの姿勢（第２姿勢候補）及び位置関係に基づいてフレーム画像Ｆ内でのマーカー画像の姿勢や位置を調整し、当該フレーム画像Ｆ中にマーカー画像と対応する仮想オブジェクトを重畳させた仮想画像の画像データを生成する。そして、表示制御部８は、当該仮想画像を表示部７にライブビュー表示させる。
【００４８】
上記の各処理は、ステップＳ３にてフレーム画像Ｆが取得される毎に繰り返し実行される。
【００４９】
以上のように、実施形態１の携帯端末１００によれば、マーカー（特定の被写体）Ｍの画像領域Ｓを構成する複数の点の座標の座標に基づいて、撮像部３（端末本体）に対するマーカーＭの姿勢候補を少なくとも一つ推定し、推定された姿勢候補のうちの何れか一を撮像部３に対するマーカーＭの姿勢の最適解として特定するので、マーカーＭの撮像の際の環境や各種の条件等によってマーカー画像領域Ｓを構成する複数の点の検出誤差が生じて局所解が算出され易いような環境であっても、局所解に陥ることなく最適解を適正に特定することができ、撮像部３に対するマーカーＭの姿勢の推定を適正に行うことができる。
即ち、例えば、携帯端末１００の撮像部３からマーカーＭまでの距離が相対的に遠い場合には、平行投影とみなされてマーカー画像領域Ｓを構成する複数の点の検出誤差が生じ易くなる。また、日差しの強い環境や暗闇などではマーカー画像領域Ｓの特定を適正に行うことができず、結果として、マーカー画像領域Ｓを構成する複数の点の検出誤差が生じ易くなる。また、撮像フレームレートが相対的に高い場合などにもマーカー画像領域Ｓを構成する複数の点の検出結果の信頼性が低下してしまう。このような環境では、マーカー画像領域Ｓの複数の点の座標から中心射影モデルを用いて撮像部３に対するマーカーＭの姿勢を推定しても、局所解が算出され易くなってしまう。
そこで、本実施形態では、撮像部３に対するマーカーＭの姿勢の最適解を一つ直接推定するのではなく、局所解を含む可能性があるものの、予め撮像部３に対するマーカーＭの姿勢候補を推定しておき、姿勢候補の中から撮像部３に対するマーカーＭの姿勢の最適解を特定するようにすることで、最終的に撮像部３に対するマーカーＭの姿勢の局所解が特定されてしまうことを抑制することができる。
これにより、撮像部３に対するマーカーＭの姿勢の推定を適正に行うことができることとなり、結果として、マーカーＭに対応する仮想オブジェクトの表示を適正に行うことができる。
【００５０】
また、マーカー画像領域Ｓの複数の点の座標に基づいて、撮像部３に対するマーカー（特定の被写体）Ｍの第１姿勢候補を推定し、当該第１姿勢候補が正しくないと判定された場合に、第１姿勢候補の推定結果に基づいて、撮像部３に対するマーカーＭの第２姿勢候補を推定するので、第１姿勢候補及び第２姿勢候補のうち、一方を最適解として特定することができる。即ち、第１姿勢候補が正しいと判定された場合に、当該第１姿勢候補を最適解として特定することができる一方で、第１姿勢候補が正しくないと判定された場合に、第２姿勢候補を最適解として特定することができる。
具体的には、例えば、マーカー画像領域Ｓの複数の点の座標から擬似中心射影モデルを用いて撮像部３に対するマーカーＭの姿勢を推定する場合、マーカーＭの二次元平面に対する法線方向の向きが異なる複数の姿勢候補を推定することができる。このとき、第１姿勢候補が正しいと判定された場合には、当該第１姿勢候補を最適解として特定することができ、第１姿勢候補が正しくないと判定された場合には、第１姿勢候補の推定結果を考慮して当該第１姿勢候補と異なる第２姿勢候補を推定して、当該第２姿勢候補を最適解として特定することができる。
【００５１】
また、予め指定された撮像部３に対するマーカー（特定の被写体）Ｍの仮の姿勢や、最適解として逐次特定される撮像部３に対するマーカーＭの姿勢の変化の態様に基づいて、第１姿勢候補が正しいか否かを適正に判定することができ、撮像部３に対するマーカーＭの姿勢の最適解の特定を適正に行うことができる。
【００５２】
なお、上記実施形態のマーカー検出処理にあっては、ステップＳ７における仮の姿勢と一致するか否かの判定対象を、第１初期値を用いて座標変換式を解くことで推定された、端末本体に対するマーカーＭの姿勢を表す行列Ｒとしたが、一例であってこれに限られるものではなく、例えば、ステップＳ５にてマーカー画像領域Ｓの４隅の点の座標から幾何学的な位置関係を利用して算出された第１初期値を表す行列Ｒとしても良い。
【００５３】
［実施形態２］
以下に、実施形態２の携帯端末２００について説明する。
実施形態２の携帯端末２００は、以下に詳細に説明する以外の点で上記実施形態１の携帯端末１００と略同様の構成をなし、詳細な説明は省略する。
【００５４】
図５は、本発明を適用した実施形態２の携帯端末２００の概略構成を示すブロック図である。
図５に示すように、実施形態２の携帯端末２００のマーカー検出処理部２０６は、仮姿勢指定部６ａと、画像取得部６ｂと、座標検出部６ｃと、第２姿勢候補推定部２０６ｄと、第２姿勢特定部２０６ｆと、画像生成部６ｇとを具備している。
なお、仮姿勢指定部６ａ、画像取得部６ｂ、座標検出部６ｃ、画像生成部６ｇは、実施形態１の携帯端末１００に備わるものと略同様の構成及び処理をなし、ここでは詳細な説明は省略する。
【００５５】
第２姿勢候補推定部２０６ｄは、撮像部３を具備する端末本体に対するマーカーＭの姿勢候補を複数推定する。
即ち、第２姿勢候補推定部２０６ｄは、座標検出部６ｃにより検出された複数の点の座標に基づいて、端末本体に対するマーカーＭの姿勢候補を複数推定する。具体的には、第２姿勢候補推定部２０６ｄは、所定の記録手段に記録されているデータベース（図示略）等を参照し、マーカー画像領域Ｓの４隅の点の位置座標から擬似中心射影モデルを利用して、マーカーＭの各点の三次元空間での座標とフレーム画像Ｆ内の二次元の平面座標との対応関係を規定する座標変換式（例えば、式（１））の初期値を複数算出する。つまり、第２姿勢候補推定部２０６ｄは、端末本体に対するマーカーＭの姿勢を表す行列Ｒの初期値を姿勢候補として複数推定する。
【００５６】
第２姿勢特定部２０６ｆは、端末本体に対するマーカーＭの姿勢の最適解を特定する。
具体的には、第２姿勢特定部２０６ｆは、第２姿勢候補推定部２０６ｄにより推定された複数の姿勢候補のうち、仮姿勢指定部６ａによって指定された仮の姿勢と略一致するものを最適解として特定する。例えば、仮姿勢指定部６ａにより予めマーカーＭの二次元平面に対する法線方向の向きが上向きと指定されている場合、第２姿勢特定部２０６ｆは、端末本体に対するマーカーＭの各姿勢候補（初期値）を表す行列Ｒの所定の要素（例えば、２行目、３列目の要素r23）の符号を確認することで仮の姿勢と一致するか否かを判定する。そして、第２姿勢特定部２０６ｆは、仮の姿勢と略一致する姿勢候補を特定して、座標変換式（例えば、式（１））の最終的な初期値とする。
その後、第２姿勢特定部２０６ｆは、特定された最終的な初期値を用いて式（１）の座標変換式を解くことで、端末本体に対するマーカーＭの姿勢及び位置関係を表す行列Ｒ、Ｔをバンドル調整により推定し、推定された行列Ｒを端末本体に対するマーカーＭの姿勢の最適解として特定する。
【数３】
2014071619.tif 000005
【００５７】
なお、最適解の特定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
具体的には、例えば、第２姿勢特定部２０６ｆは、最適解として端末本体に対するマーカーＭの姿勢を逐次特定していき、当該姿勢の変化の態様に基づいて端末本体に対するマーカーＭの姿勢の最適解を再度特定するようにしても良い。例えば、フレーム画像Ｆが所定の撮像フレームレート（例えば、６０ｆｐｓ等）で撮像されて取得される場合に、所定時間内に取得された複数のフレーム画像Ｆ、…に対応する姿勢の所定の要素に基づいてマーカーＭの姿勢が所定の向き（例えば、上向き）である割合を算出し、その割合が所定値以上となった場合に、端末本体に対するマーカーＭの姿勢が正しい（最適解である）と判定するようにしても良い。また、例えば、第２姿勢特定部２０６ｆは、前回最適解として特定された端末本体に対するマーカーＭの姿勢の所定の要素と比較して、今回特定された端末本体に対するマーカーＭの姿勢の所定の要素が一致するか否かに応じて端末本体に対するマーカーＭの姿勢が正しいか否かを判定するようにしても良い。
この場合には、携帯端末２００は、必ずしも仮姿勢指定部６ａを具備する必要はない。
【００５８】
次に、携帯端末２００によるマーカー検出処理について図６を参照して説明する。
図６は、マーカー検出処理に係る動作の一例を示すフローチャートである。
なお、携帯端末２００によるマーカー検出処理は、以下に詳細に説明する以外の点で上記実施形態１の携帯端末１００によるマーカー検出処理と略同様であり、詳細な説明は省略する。
【００５９】
図６に示すように、実施形態２の携帯端末２００は、上記実施形態１におけるマーカー検出処理と同様に、ステップＳ１〜Ｓ４の各処理を実行する。
即ち、ステップＳ１にて、仮姿勢指定部６ａは、端末本体に対するマーカーＭの仮の姿勢を指定し、ステップＳ２にて、画像データ生成部５は、電子撮像部３ｂから転送された複数のフレーム画像Ｆ、…の画像データを生成する。また、ステップＳ３にて、画像取得部６ｂは、画像データ生成部５により逐次生成された何れか一のフレーム画像Ｆの画像データを取得し、ステップＳ４にて、座標検出部６ｃは、フレーム画像Ｆからマーカー画像領域Ｓを抽出し、マーカー画像領域Ｓを構成する４隅の点の位置座標を検出する。
【００６０】
その後、第２姿勢候補推定部２０６ｄは、端末本体に対するマーカーＭの姿勢を表す行列Ｒの初期値を姿勢候補として複数推定する（ステップＳ２５）。具体的には、第２姿勢候補推定部２０６ｄは、マーカー画像領域Ｓの４隅の点の位置座標から擬似中心射影モデルを利用して、マーカーＭの各点の三次元空間での座標とフレーム画像Ｆ内の二次元の平面座標との対応関係を規定する座標変換式（例えば、式（１））の初期値を複数算出する。
【００６１】
次に、第２姿勢特定部２０６ｆは、第２姿勢候補推定部２０６ｄにより推定された複数の姿勢候補のうち、仮姿勢指定部６ａによって指定された仮の姿勢と略一致するものを特定する（ステップＳ２６）。具体的には、第２姿勢特定部２０６ｆは、端末本体に対するマーカーＭの各姿勢候補を表す行列Ｒの所定の要素（例えば、２行目、３列目の要素r23）の符号を確認することで仮の姿勢と一致するか否かを判定し、仮の姿勢と略一致する姿勢候補を座標変換式（例えば、式（１））の最終的な初期値とする。
続けて、第２姿勢特定部２０６ｆは、特定された最終的な初期値を用いて下記式（１）の座標変換式を解くことで、端末本体に対するマーカーＭの姿勢及び位置関係を表す行列Ｒ、Ｔをバンドル調整により推定する。そして、第２姿勢特定部２０６ｆは、推定された行列Ｒを端末本体に対するマーカーＭの姿勢の最適解として特定する。
【数４】
2014071619.tif 000006
【００６２】
そして、上記実施形態１におけるマーカー検出処理と同様に、ステップＳ９にて、画像生成部６ｇは、フレーム画像Ｆ中にマーカー画像と対応する仮想オブジェクトを重畳させた仮想画像の画像データを生成し、表示制御部８は、当該仮想画像を表示部７にライブビュー表示させる。
その後、中央制御部１のＣＰＵは、処理をステップＳ３に戻す。
【００６３】
以上のように、実施形態２の携帯端末２００によれば、上記実施形態１の携帯端末１００と同様に、マーカーＭの撮像の際の環境や各種の条件等によってマーカー画像領域Ｓを構成する複数の点の検出誤差が生じて局所解が算出され易いような環境であっても、局所解に陥ることなく最適解を適正に特定することができ、撮像部３に対するマーカーＭの姿勢の推定を適正に行うことができる。
特に、予め複数の姿勢候補を推定しておくことで、これら複数の姿勢候補の中から最適解を選択により特定することができ、撮像部３に対するマーカーＭの姿勢の最適解の特定を簡便に行うことができる。
【００６４】
また、推定された複数の姿勢候補のうち、予め指定された撮像部３に対するマーカー（特定の被写体）Ｍの仮の姿勢と略一致するものを最適解として特定したり、最適解として撮像部３に対するマーカーＭの姿勢を逐次特定して当該姿勢の変化の態様に基づいて最適解を再度特定するので、撮像部３に対するマーカーＭの姿勢の最適解の特定を適正に行うことができる。
【００６５】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、所定の座標変換式を解くことで端末本体（撮像部３）に対するマーカーＭの姿勢を表す行列Ｒを特定するようにしたが、端末本体に対するマーカーＭの姿勢の一例であって一例であってこれに限られるものではなく、適宜任意に変更可能である。
また、座標変換式を解くことで端末本体に対するマーカーＭの位置関係を表す行列Ｔを特定するようにしたが、必ずしも当該端末本体に対するマーカーＭの位置関係を特定する必要はない。
【００６６】
さらに、携帯端末１００（２００）の構成は、上記実施形態に例示したものは一例であり、これに限られるものではなく、少なくとも取得手段、検出手段、候補推定手段、特定手段を備える構成であれば適宜任意に変更することができる。即ち、携帯端末１００（２００）は、必ずしも撮像部３を具備する必要はなく、外部の撮像装置により撮像された画像を取得して、特定の被写体（マーカーＭ）を検出する処理を行うようにしても良い。
【００６７】
加えて、上記実施形態にあっては、取得手段、検出手段、候補推定手段、特定手段としての機能を、携帯端末１００（２００）の中央制御部１の制御下にて、画像取得部６ｂ、座標検出部６ｃ、第１姿勢候補推定部６ｄ（第２姿勢候補推定部２０６ｄ）、第１姿勢特定部６ｆ（第２姿勢特定部２０６ｆ）が駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部１のＣＰＵによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリに、取得処理ルーチン、検出処理ルーチン、候補推定処理ルーチン、特定処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部１のＣＰＵを、撮像部３により撮像された特定の被写体を含む画像を逐次取得する手段として機能させるようにしても良い。また、検出処理ルーチンにより中央制御部１のＣＰＵを、取得された画像における特定の被写体の画像領域を構成する複数の点の座標を検出する手段として機能させるようにしても良い。また、候補推定処理ルーチンにより中央制御部１のＣＰＵを、検出された複数の点の座標に基づいて、撮像部３に対する特定の被写体の姿勢候補を少なくとも一つ推定する手段として機能させるようにしても良い。また、特定処理ルーチンにより中央制御部１のＣＰＵを、推定された姿勢候補のうちの何れか一を撮像部３に対する特定の被写体の姿勢の最適解として特定する手段として機能させるようにしても良い。
【００６８】
同様に、第１推定手段、第２推定手段、判定手段、指定手段についても、中央制御部１のＣＰＵによって所定のプログラム等が実行されることにより実現される構成としても良い。
【００６９】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ＲＯＭやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ（搬送波）も適用される。
【００７０】
〔付記〕
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
＜請求項１＞
撮像部により撮像された特定の被写体を含む画像を逐次取得する取得手段と、
前記取得手段により取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する検出手段と、
前記検出手段により検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する候補推定手段と、
前記候補推定手段により推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する特定手段と、
を備えたことを特徴とする被写体検出装置。
＜請求項２＞
前記候補推定手段は、
前記検出手段により検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の第１姿勢候補を推定する第１推定手段と、
前記第１推定手段による推定結果に基づいて、前記撮像部に対する前記特定の被写体の前記第１姿勢候補と異なる第２姿勢候補を推定する第２推定手段と、を備え、
前記特定手段は、
前記第１姿勢候補及び前記第２姿勢候補のうち、一方を前記最適解として特定することを特徴とする請求項１に記載の被写体検出装置。
＜請求項３＞
前記第１推定手段により推定された前記第１姿勢候補が正しいか否かを所定の判定基準に従って判定する判定手段を更に備え、
前記第２推定手段は、前記判定手段によって前記第１姿勢候補が正しくないと判定された場合に、前記第２姿勢候補を推定することを特徴とする請求項２に記載の被写体検出装置。
＜請求項４＞
前記特定手段は、
前記判定手段によって前記第１姿勢候補が正しいと判定された場合に、当該第１姿勢候補を前記最適解として特定する一方で、前記第１姿勢候補が正しくないと判定された場合に、前記第２推定手段により推定された前記第２姿勢候補を前記最適解として特定することを特徴とする請求項３に記載の被写体検出装置。
＜請求項５＞
予め前記撮像部に対する前記特定の被写体の仮の姿勢を指定する指定手段を更に備え、
前記判定手段は、前記指定手段によって指定された仮の姿勢に基づいて、前記第１姿勢候補が正しいか否かを判定することを特徴とする請求項３又は４に記載の被写体検出装置。
＜請求項６＞
前記判定手段は、前記特定手段により前記最適解として逐次特定される前記撮像部に対する前記特定の被写体の姿勢の変化の態様に基づいて、前記第１姿勢候補が正しいか否かを判定することを特徴とする請求項３又は４に記載の被写体検出装置。
＜請求項７＞
予め前記撮像部に対する前記特定の被写体の仮の姿勢を指定する指定手段を更に備え、
前記特定手段は、前記候補推定手段により推定された複数の前記姿勢候補のうち、前記指定手段によって指定された仮の姿勢と略一致するものを前記最適解として特定することを特徴とする請求項１に記載の被写体検出装置。
＜請求項８＞
前記特定手段は、前記最適解として前記撮像部に対する前記特定の被写体の姿勢を逐次特定するとともに、当該姿勢の変化の態様に基づいて前記最適解を再度特定することを特徴とする請求項１に記載の被写体検出装置。
＜請求項９＞
前記特定の被写体は、マーカーであることを特徴とする請求項１〜８の何れか一項に記載の被写体検出装置。
＜請求項１０＞
被写体検出装置を用いた被写体検出方法であって、
撮像部により撮像された特定の被写体を含む画像を逐次取得する処理と、
取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する処理と、
検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する処理と、
推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する処理と、
を含むことを特徴とする被写体検出方法。
＜請求項１１＞
被写体検出装置のコンピュータを、
撮像部により撮像された特定の被写体を含む画像を逐次取得する取得手段、
前記取得手段により取得された画像における前記特定の被写体の画像領域を構成する複数の点の座標を検出する検出手段、
前記検出手段により検出された前記複数の点の座標に基づいて、前記撮像部に対する前記特定の被写体の姿勢候補を少なくとも一つ推定する候補推定手段、
前記候補推定手段により推定された前記姿勢候補のうちの何れか一を前記撮像部に対する前記特定の被写体の姿勢の最適解として特定する特定手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【００７１】
１００、２００  携帯端末
１      中央制御部
３      撮像部
６、２０６  マーカー検出処理部
６ａ    仮姿勢指定部
６ｂ    画像取得部
６ｃ    座標検出部
６ｄ    第１姿勢候補推定部
ｄ１    第１推定部
ｄ２    第２推定部
２０６ｄ  第２姿勢候補推定部
６ｅ    判定部
６ｆ    第１姿勢特定部
２０６ｆ  第２姿勢特定部
Ｆ      フレーム画像
Ｍ      マーカー
【図１】
2014071619.tif 000007
【図２】
2014071619.tif 000008
【図３】
2014071619.tif 000009
【図４】
2014071619.tif 000010
【図５】
2014071619.tif 000011
【図６】
2014071619.tif 000012