JP2017073753A - 補正方法、プログラム及び電子機器 - Google Patents

補正方法、プログラム及び電子機器 Download PDF

Info

Publication number
JP2017073753A
JP2017073753A JP2015201496A JP2015201496A JP2017073753A JP 2017073753 A JP2017073753 A JP 2017073753A JP 2015201496 A JP2015201496 A JP 2015201496A JP 2015201496 A JP2015201496 A JP 2015201496A JP 2017073753 A JP2017073753 A JP 2017073753A
Authority
JP
Japan
Prior art keywords
sensor
camera
posture
time
attitude
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.)
Pending
Application number
JP2015201496A
Other languages
English (en)
Inventor
山 姜
Sang Jiang
山 姜
桂樹 岡林
Keiju Okabayashi
桂樹 岡林
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015201496A priority Critical patent/JP2017073753A/ja
Priority to US15/285,832 priority patent/US20170104932A1/en
Publication of JP2017073753A publication Critical patent/JP2017073753A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Abstract

【課題】同一電子機器に含まれる姿勢特定のためのセンサとカメラとに関する時刻誤差及び姿勢誤差を、効率よく補正する方法を提供する。【解決手段】補正方法は、カメラと、カメラのためのクロックと、自らの姿勢パラメータを計測するセンサと、センサのためのクロックとを有する電子機器において、繰り返し撮影された画像に基づいてカメラ姿勢を推定し、計測の繰り返しによりセンサ姿勢を特定し、姿勢安定状態を示す計測時刻帯のセンサ姿勢と、一致する撮影時刻帯のカメラ姿勢とに基づいて回転パラメータを算出し、回転パラメータに基づいてカメラ姿勢又はセンサ姿勢を補正し、姿勢変化状態を示す計測時刻帯のセンサ姿勢と、一致する撮影時刻帯のカメラ姿勢とに基づいて差分時刻を算出し、差分時刻に基づいて撮影時刻又は計測時刻を補正する処理を含む。【選択図】図9

Description

本発明は、電子機器における校正技術に関する。
近年の携帯電話端末の中には、慣性センサを有するものがある。慣性センサは、例えば携帯電話端末の姿勢を特定するために用いられる。携帯電話端末が更にカメラを備える場合には、カメラと慣性センサとを組み合わせる使い方が想定される。
カメラと慣性センサとを併用する場合には、カメラの撮影時刻と慣性センサの計測時刻とが一致していることが望ましい。また、カメラの座標系と慣性センサの座標系とが一致していると使いやすい。
しかし、カメラの撮影時刻を特定するためのクロックと慣性センサの計測時刻を特定するためのクロックとが別個に設けられている場合には、時間誤差が生じることがある。また、カメラと慣性センサとの設置状態によっては、座標系が一致しないことがある。
一般的に、ハードウエアに起因する一つの誤差のみに着目し、ソフトウエアによって捕捉して、補正しようとしても、簡単に調整できない場合がある。
特開2000−97637号公報 特表2014−526736号公報 特開2011−220811号公報
本発明の目的は、一側面では、同一電子機器に含まれる姿勢特定のためのセンサとカメラとに関する時刻誤差及び姿勢誤差を、効率よく減らすことである。
一態様の補正方法は、カメラと、当該カメラの撮影時刻を特定するための第1クロックと、自らの姿勢を特定するためのパラメータを計測するセンサと、当該センサの計測時刻を特定するための第2クロックとを有する電子機器において、(A)カメラによる撮影を繰り返し行う処理と、(B)撮影された画像に基づいて、カメラの姿勢を推定する処理と、(C)センサによる上記パラメータの計測を繰り返し行う処理と、(D)計測された上記パラメータに基づいて、センサの姿勢を特定する処理と、(E)センサの姿勢が安定している第1計測時刻帯におけるセンサの姿勢と、当該第1計測時刻帯と一致する第1撮影時刻帯におけるカメラの姿勢とに基づいて、カメラの姿勢とセンサの姿勢との差を表す回転パラメータを算出する第1処理と、(F)回転パラメータに基づいて、カメラの姿勢を示すデータとセンサの姿勢を示すデータとのうち少なくとも一方を補正する第2処理と、(G)センサの姿勢が変化している第2計測時刻帯におけるセンサの姿勢と、当該第2計測時刻帯と一致する第2撮影時刻帯におけるカメラの姿勢とに基づいて、第1クロックによって計られる第1時刻と第2クロックによって計られる第2時刻との差分時間を算出する第3処理と、(H)差分時間に基づいて、撮影時刻と計測時刻とのうち少なくとも一方を補正する第4処理とを含む。
一側面としては、同一電子機器に含まれる姿勢特定のためのセンサとカメラとに関する時刻誤差及び姿勢誤差を、効率よく減らせる。
図1は、携帯装置のハードウエア構成例を示す図である。 図2は、座標系の概要を説明するための図である。 図3は、マーカーの撮影による姿勢の特定を説明するための図である。 図4は、差分時間の算出を説明するための図である。 図5は、慣性センサの座標系と鉛直線との関係を示す図である。 図6は、調整時における携帯装置の扱い方の例を説明するための図である。 図7は、撮影時刻と計測時刻とのずれを示す図である。 図8は、携帯装置のモジュール構成例を示す図である。 図9は、メイン処理フローを示す図である。 図10は、カメラ処理(A)フローを示す図である。 図11は、第1姿勢テーブルの構成例を示す図である。 図12は、慣性センサ処理(A)フローを示す図である。 図13は、計測データの構成例を示す図である。 図14は、第2姿勢テーブルの構成例を示す図である。 図15は、第1特定処理フローを示す図である。 図16は、第1算出処理フローを示す図である。 図17は、第2特定処理フローを示す図である。 図18は、第2算出処理フローを示す図である。 図19は、判定処理フローを示す図である。 図20は、カメラ処理(B)フローを示す図である。 図21は、慣性センサ処理(B)フローを示す図である。
[実施の形態1]
図1に、携帯装置101のハードウエア構成例を示す。携帯装置101は、CPU(Central Processing Unit)103、記憶回路105、カメラ107、カメラ制御回路109、第1リアルタイムクロック111、慣性センサ113、センサ制御回路115、第2リアルタイムクロック117、無線通信制御回路119、無線通信用アンテナ121スピーカ制御回路123、スピーカ125、マイク制御回路127、マイク129、LCD(Liquid Crystal Display)制御回路131、LCD133、タッチセンサ135及びキー群137を有する。CPU103、記憶回路105、カメラ制御回路109、センサ制御回路115、無線通信制御回路119、スピーカ制御回路123、マイク制御回路127、LCD制御回路131、タッチセンサ135及びキー群137は、バスに接続している。
CPU103は、演算処理を行う。CPU103は、例えばROM(Read Only Memory)とRAM(Random Access Memory)とフラッシュメモリとを有している。ROMは、基盤となるプログラムや予め設定されているデータを格納している。RAMは、プログラムを展開する領域を含んでいる。RAMは、一時的なデータを格納する領域も含んでいる。フラッシュメモリは、例えばアプリケーション・プログラムや保持すべきデータを格納する。
カメラ制御回路109は、カメラ107を制御する。また、カメラ制御回路109は、第1リアルタイムクロック111から取得した時刻に基づいて、撮影時刻を特定する。
センサ制御回路115は、慣性センサ113を制御する。また、センサ制御回路115は、第2リアルタイムクロック117から取得した時刻に基づいて、計測時刻を特定する。慣性センサ113は、自らの姿勢に係る角速度(又は角度)及び自らの移動に係る加速度を計測する。この例で、慣性センサ113は、3軸のジャイロセンサと3方向の加速度センサとを含んでいる。尚、ジャイロセンサにおける3軸と、加速度センサにおける3方向とは一致している。
無線通信用アンテナ121は、例えば、セルラー方式、無線LAN(Local Area Network)、近距離通信方式などの無線データを受信する。無線通信制御回路119は、無線通信の制御を行う。無線通信の制御により、電話の音声通信やメールのデータ通信が行われる。
スピーカ制御回路123は、音データに関するデジタル/アナログ変換を行う。スピーカ125は、アナログデータを音として出力する。マイク制御回路127は、音データに関するアナログ/デジタル変換を行う。マイク129は、音をアナログデータに変換する。
LCD制御回路131は、LCD133を駆動させる。LCD133は、画面を表示する。タッチセンサ135は、例えば、LCD133の表示面上に配置されたパネル状のセンサであり、タッチ操作による指示を受け付ける。具体的には、LCD133とタッチセンサ135とを一体としたタッチパネルとして用いられる。キー群137は、筐体の一部に設けられている。
第1リアルタイムクロック111から取得される時刻と第2リアルタイムクロック117から取得される時刻とは、一致していない場合がある。そのため、本実施の形態では、撮影時刻と計測時刻とを近づけるように補正する。
尚、図1に示した携帯装置101は、携帯電話器(フィーチャーフォンとスマートフォンとを含む)であり、携帯型の電子機器の例である。但し、本実施の形態を、他の電子機器に適用してもよい。例えば腕時計型やヘッドマウント型などのウエラブル端末、タブレット端末、ゲーム機、歩数計、録音機、音楽再生機、デジタルカメラ装置、画像再生機、テレビ放送受信機、ラジオ放送受信機、コントローラ、電子時計、電子辞書、電子翻訳機、無線機、GPS発信機、計測器、健康支援機器又は医療機器などの電子機器において、携帯装置101と同様のモジュールを設け、以下に述べる処理を実行するようにしてもよい。
次に、図2を用いて、携帯装置101における座標系の概要を説明する。この例で、携帯装置101の座標系において、横方向にX軸を設け、縦方向にY軸を設け、裏面の垂直方向にZ軸を設けている。但し、カメラ107の座標系(Xc,Yc,Zc)は、携帯装置101の座標系(X,Y,Z)からずれている場合がある。また、慣性センサ113の座標系(Xs,Ys,Zs)も、携帯装置101の座標系(X,Y,Z)からずれている場合がある。つまり、カメラ107の座標系(Xc,Yc,Zc)と、慣性センサ113の座標系(Xs,Ys,Zs)とは、一致しているとは限らない。そのため、本実施の形態では、カメラ107の座標系と慣性センサ113の座標系とを近づけるように補正する。以下では、カメラ107の座標系をカメラ座標系という。慣性センサ113の座標系をセンサ座標系という。
また、本実施の形態では、マーカーの撮影によってカメラ107の姿勢を推定する。図3を用いて、マーカーの撮影による姿勢の推定について説明する。マーカー301は、所定の図形である。また、この例で、マーカー301は水平に配置されている。
携帯装置101は、カメラ107によって撮影された画像に含まれるマーカー301に相当する部分の形状に基づいて、マーカー301を基準として携帯装置101の相対位置及び姿勢を推定する。更に、携帯装置101は、カメラ座標系における重力方向を特定する。カメラ107の座標系の原点から、マーカー301が配置されている面に対する垂線が、鉛直線に相当する。従って、この鉛直線を求めれば、重力方向が特定されることになる。
また、本実施の形態では、携帯装置101を回転させる間に検出された姿勢データに基づいて、撮影時刻と計測時刻との差分時間を算出する。図4を用いて、差分時間の算出について説明する。ユーザは、カメラ107の光軸をマーカー301の方に向ける。そして、ユーザは、カメラ107の光軸を中心として、携帯装置101の表示面が上下にぶれないように、携帯装置101を回転させる。この例で、ユーザは、携帯装置101を左右にひねるように扱う。一方の向きに90度回転させ、その後逆方向に180度回転させ、更に元の方向に90度回転させて、最初の状態に戻るようにする。但し、回転の角度は、任意である。例えば、一方の方向に360度回転させるようにしてもよい。
この回転の間に撮影した画像に含まれるマーカー301に相当する部分の形状に基づいて、カメラ107の姿勢が推定される。以下、撮影した画像に含まれるマーカー301に相当する部分の形状に基づいて特定されたカメラ107の姿勢を第1姿勢という。図4に示した上のグラフは、撮影時刻と第1姿勢との関係を模式的に示している。
更に、この回転の間に慣性センサ113において計測したデータに基づいて、慣性センサ113の姿勢を特定する。以下、慣性センサ113において計測したデータに基づいて特定された慣性センサ113の姿勢を第2姿勢という。図4に示した下のグラフは、計測時刻と第2姿勢との関係を模式的に示している。
携帯装置101は、第1姿勢と第2姿勢とが近似することを前提として、撮影時刻と計測時刻とのずれ、つまり差分時間ΔTを算出する。以降、算出した差分時間ΔTに基づいて、撮影時刻又は計測時刻を補正する。本実施の形態では、撮影時刻を補正する。尚、計測時刻を補正する例は、後述する実施の形態で説明する。但し、第1姿勢と第2姿勢とに関する誤差は、差分時間ΔTの精度に影響を与える面がある。
第1姿勢と第2姿勢とに関する誤差は、カメラ座標系とセンサ座標系とのずれに相当する。本実施の形態では、上述したカメラ座標系における重力方向と、センサ座標系における重力方向とを基準として、ずれを求める。そのため、センサ座標系においても重力方向を特定する。
図5に、センサ座標系と鉛直線との関係を示す。本実施の形態では、慣性センサ113によって計測された加速度から重力成分を分離することによって、センサ座標系における重力方向が特定される。そして、カメラ座標系とセンサ座標系との比較は、携帯装置101が静止している状態において行われる。
次に、調整時における携帯装置101の扱い方について説明する。ユーザは、例えば図6に示すように携帯装置101を扱うものとする。
図6は、枠601a乃至枠601fの順に、携帯装置101の扱い方を示している。まず、枠601aに示すように、ユーザは、右上方からマーカー301を撮影する位置で携帯装置101を静止させる。その後、枠601bに示すように、ユーザは、枠601aの場合と同じ位置で携帯装置101を回転させる。
次に、ユーザは、上方からマーカー301を撮影する位置に携帯装置101を移動させる。枠601cに示すように、ユーザは、その位置で携帯装置101を静止させる。その後、枠601dに示すように、ユーザは、枠601cの場合と同じ位置で携帯装置101を回転させる。
次に、ユーザは、左上方からマーカー301を撮影する位置に携帯装置101を移動させる。枠601eに示すように、ユーザは、その位置で携帯装置101を静止させる。その後、枠601fに示すように、ユーザは、枠601eの場合と同じ位置で携帯装置101を回転させる。
以下では、静止状態が続いている期間を、静止期間という。また、回転動作が行われている期間を回転期間という。
枠601aに示した静止期間に求められた第1姿勢と第2姿勢とに基づいて、1回目の回転行列が求められる。また、枠601bに示した回転期間に求められた第1姿勢と第2姿勢に基づいて、1回目の差分時間が求められる。
また、枠601cに示した静止期間に求められた第1姿勢と第2姿勢とに基づいて、2回目の回転行列が求められる。また、枠601dに示した回転期間に求められた第1姿勢と第2姿勢に基づいて、2回目の差分時間が求められる。
更に、枠601eに示した静止期間に求められた第1姿勢と第2姿勢とに基づいて、3回目の回転行列が求められる。また、枠601fに示した回転期間に求められた第1姿勢と第2姿勢に基づいて、3回目の差分時間が求められる。
このように、複数のポーズによって調整を行えば、校正精度が安定し易いという面がある。また、その都度時間誤差に対する補正と姿勢誤差に対する補正を反映するので、時間誤差と姿勢誤差とが収束しやすくなるという面もある。尚、図6では、携帯装置101を静止させた後に同じ位置で携帯装置101を回転させる例を示したが、その手順を逆にしてもよい。つまり、携帯装置101を回転させた後に同じ位置で携帯装置101を静止させるようにしてもよい。また、静止している携帯装置101の位置と回転している携帯装置101の位置とは、一致していなくてもよい。
次に、時間誤差と姿勢誤差との関係について述べる。図7における上のグラフは、第1姿勢の遷移を模式的に表している。横軸は、撮影時刻を示している。同じく下のグラフは、第2姿勢の遷移を模式的に表している。横軸は、計測時刻を示している。
図7では、回転期間における姿勢の遷移を、便宜的に大きな正弦波で示している。回転期間における姿勢角が、このように変化するとは限らない。また、同様に携帯装置101を移動させている期間(以下、移動期間という。)における姿勢の遷移を、便宜的に小さな正弦波で示している。移動期間における姿勢角が、このように変化するとは限らない。また、同様に静止期間における姿勢を、便宜的に0としている。静止期間における姿勢角が、このようになるとは限らない。
また、第1姿勢の遷移を示す波形と第2姿勢の遷移を示す波形とが、一致するとは限らない。但し、第1姿勢度の遷移を示す波形と第2姿勢の遷移を示す波形は、ある程度近似するものと想定される。
この例では、撮影時刻が計測時刻より先行している。つまり、第1リアルタイムクロック111が計る時刻が、第2リアルタイムクロック117が計る時刻よりも進んでいる。そのため、上のグラフの波形は、全体として下のグラフの波形に比べて右側にシフトしている。
この例で、回転期間及び静止期間は、第2姿勢に基づいて判断される。そのため、回転期間及び静止期間は、計測時間帯として特定される。
一方、実質的に回転期間に相当する撮影時間帯は、回転期間を特定する計測時間帯よりも進んでいる。同様に、実質的に静止期間に相当する撮影時間帯は、静止期間を特定する計測時間帯よりも進んでいる。
第1姿勢の遷移を示す波形と第2姿勢の遷移を示す波形とのずれ、つまり撮影時刻と計測時刻との差分時間が、第1リアルタイムクロック111によって計られる時刻と第2リアルタイムクロック117によって計られる時刻との誤差に相当する。本実施の形態では、回転期間における差分時間を求めて、撮影時刻と計測時刻とのずれを補正する。
仮に時刻誤差を無視して姿勢誤差に関する校正を行おうとしても、時刻誤差の影響が残るので、調整の過程で姿勢誤差が収束しにくい面がある。また、姿勢誤差を無視して時刻誤差に関する校正を行おうとしても、姿勢誤差の影響が残るので、調整の過程で時刻誤差が収束しにくい面がある。本実施の形態では、姿勢誤差に関する調整と時刻誤差に関する調整とを交互に繰り返すので、相互作用によって両方の校正精度が向上する。以上で、本実施の形態の概要についての説明を終える。
続いて、携帯装置101の動作について説明する。図8に、携帯装置101のモジュール構成例を示す。携帯装置101は、制御部801、撮影部803、姿勢推定部805、計測部807、姿勢特定部809、第1期間特定部811、第1算出部813、第2期間特定部815、第2算出部817、判定部819、出力部821、第1補正部823、第2補正部825、画像記憶部831、第1姿勢記憶部833、計測データ記憶部835、第2姿勢記憶部837、第1分布記憶部839、第2分布記憶部841、回転行列記憶部843、差分時間記憶部845及び一時変数記憶部847を有する。
制御部801は、カメラ処理の起動及び停止を制御する。更に、慣性センサ処理の起動及び停止を制御する。そして、制御部801は、繰り返し処理も制御する。撮影部803は、周期的にカメラ107による撮影を行う。姿勢推定部805は、第1姿勢を推定する。計測部807は、周期的に慣性センサ113による計測を行う。姿勢特定部809は、第2姿勢を特定する。第1期間特定部811は、計測時刻帯によって静止期間を特定する。第1算出部813は、カメラ座標系をセンサ座標系に近づける変換を行うための回転行列を算出する。後述する実施の形態では、第1算出部813は、センサ座標系をカメラ座標系に近づける変換を行うための回転行列を算出する。第2期間特定部815は、計測時刻帯によって回転期間を特定する。第2算出部817は、撮影時刻と計測時刻との差分時間を算出する。判定部819は、回転行列及び差分時間が収束したか否かを判定する。出力部821は、調整の完了を示す合図を出力する。第1補正部823は、回転行列に基づいて第1姿勢を補正する。後述する実施の形態では、第1補正部823は、回転行列に基づいて第2姿勢を補正する。第2補正部825は、差分時間に基づいて撮影時間を補正する。後述する実施の形態では、第2補正部825は、差分時間に基づいて計測時間を補正する。
画像記憶部831は、カメラ107で撮影した画像を記憶する。第1姿勢記憶部833は、撮影時刻に対応付けて第1姿勢を記憶する。計測データ記憶部835は、慣性センサ113による計測結果を記憶する。第2姿勢記憶部837は、計測時刻に対応付けて第2姿勢を記憶する。第1分布記憶部839は、カメラ座標系での重力方向ベクトルの分布を記憶する。第2分布記憶部841は、センサ座標系での重力方向ベクトルの分布を記憶する。回転行列記憶部843は、回転行列を記憶する。差分時間記憶部845は、差分時間を記憶する。一時変数記憶部847は、各処理において一時的に用いられる変数の値を記憶するために用いられる。
上述した制御部801、撮影部803、姿勢推定部805、計測部807、姿勢特定部809、第1期間特定部811、第1算出部813、第2期間特定部815、第2算出部817、判定部819、出力部821、第1補正部823及び第2補正部825は、ハードウエア資源(例えば、図1)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した画像記憶部831、第1姿勢記憶部833、計測データ記憶部835、第2姿勢記憶部837、第1分布記憶部839、第2分布記憶部841、回転行列記憶部843、差分時間記憶部845及び一時変数記憶部847は、ハードウエア資源(例えば、図1)を用いて実現される。
図9に、メイン処理フローを示す。制御部801は、カメラ処理を起動する(S901)。本実施の形態では、カメラ処理(A)が起動される。この例で、カメラ処理は、メイン処理と並行して動作する。
図10に、カメラ処理(A)フローを示す。撮影部803は、撮影のタイミングを待つ(S1001)。この例では、周期的に撮影が行われる。
所定のタイミングに至ると、撮影部803は、カメラ107を用いて撮影を行う(S1003)。撮影部803は、撮影した画像を画像記憶部831に記憶する(S1005)。
姿勢推定部805は、画像記憶部831に記憶した画像からマーカー301に相当する部分を抽出する(S1007)。姿勢推定部805は、マーカー301に相当する部分の輪郭線に基づいて、角の位置を検出する(S1009)。姿勢推定部805は、角の位置に基づいて、第1姿勢を算出する(S1011)。具体的には、第1姿勢は、ピッチ角度、ロール角度及びヨー角度によって特定される。
第1補正部823は、回転行列に基づいて第1姿勢を補正する(S1013)。具体的には、第1補正部823は、回転行列によって第1姿勢を変換する。変換後の姿勢が、補正された第1姿勢である。尚、回転行列は、後述する第1算出処理によって求められ、都度更新される。初期の回転行列による変換では、第1姿勢は変わらない。
第2補正部825は、差分時間に基づいて撮影時間を補正する(S1015)。具体的には、第2補正部825は、S1001におけるタイミングに相当する撮影時刻から差分時間を引く。差分時間を引かれた時刻が、補正された撮影時刻である。尚、差分時間は、後述する第2算出処理によって求められ、都度更新される。初期の差分時間は、0である。
第1補正部823は、補正された撮影時刻に対応付けて、第1姿勢記憶部833に補正された第1姿勢を記憶する(S1017)。
図11に、第1姿勢テーブルの構成例を示す。第1姿勢テーブルは、撮影時刻に対応するレコードを有している。当該レコードは、撮影時刻を設定するためのフィールドと、ピッチ角度を設定するためのフィールドと、ロール角度を設定するためのフィールドと、ヨー角度を設定するためのフィールドとを有している。
この例で、ピッチ角度、ロール角度及びヨー角度は、当該撮影時刻における第1姿勢を特定する。この例で、ピッチ角は、X軸回りの角度であり、ロール角は、Y軸回りの角度であり、ヨー角は、Z軸回りの角度である。尚、基準となるX軸、Y軸及びZ軸は、カメラ処理を開始する前に設定されているものとする。
図10の説明に戻る。撮影部803は、カメラ処理を停止するか否かを判定する(S1019)。具体的には、図9に示したメイン処理のS919においてカメラ処理を停止させたか否かを判定する。カメラ処理を停止しないと判定した場合には、S1001に示した処理に戻って上述した処理を繰り返す。一方、カメラ処理を停止すると判定した場合には、カメラ処理(A)を終了する。
図9の説明に戻る。カメラ処理を起動すると、図9のS903に示した処理に移る。制御部801は、慣性センサ処理を起動する(S903)。本実施の形態では、慣性センサ処理(A)が起動される。この例で、慣性センサ処理は、メイン処理と並行して動作する。
図12に、慣性センサ処理(A)フローを示す。計測部807は、タイミングを待つ(S1201)。カメラ処理の場合と同様に、周期的に計測が行われる。この例では、カメラ処理における撮影時刻と同じ時刻に、計測が行われる。但し、撮影時刻と一致しない時刻において、計測を行うようにしてもよい。
計測部807は、カメラ107を用いて角速度を計測する(S1203)。更に、計測部807は、カメラ107を用いて加速度を計測する(S1205)。そして、計測部807は、計測時刻に対応付けて、計測データ記憶部835に角速度及び加速度を記憶する(S1207)。
図13に、計測データの構成例を示す。この例における計測データは、テーブル形式である。計測データは、計測時刻に対応するレコードを有している。当該レコードは、計測時刻を設定するためのフィールドと、ピッチ角速度を設定するためのフィールドと、ロール角速度を設定するためのフィールドと、ヨー角速度を設定するためのフィールドと、X軸方向の加速度を設定するためのフィールドと、Y軸方向の加速度を設定するためのフィールドと、Z軸方向の加速度を設定するためのフィールドとを有している。
この例では、3種類の角速度が計測される。同じく、3種類の加速度が計測される。計測データの場合にも、ピッチ角は、X軸回りの角度であり、ロール角は、Y軸回りの角度であり、ヨー角は、Z軸回りの角度である。尚、基準となるX軸、Y軸及びZ軸は、慣性センサ処理を開始する前に設定されているものとする。
図12の説明に戻る。姿勢特定部809は、角速度を積分して、第2姿勢を求める(S1209)。この例で、第2姿勢は、ピッチ角度、ロール角度及びヨー角度によって特定される。この例では、第2姿勢の基準となる座標系における各軸の向きは、第1姿勢の基準となる座標系における各軸の向きと一致するものと想定する。第2姿勢の基準となる座標系の原点は、第1姿勢の基準となる座標系の原点と一致しなくてもよい。但し、第2姿勢の基準となる座標系の原点と、第1姿勢の基準となる座標系の原点とが一致するようにしてもよい。
そして、姿勢特定部809は、計測時刻に対応付けて、第2姿勢記憶部837に第2姿勢を記憶する(S1211)。
図14に、第2姿勢テーブルの構成例を示す。第2姿勢テーブルは、計測時刻に対応するレコードを有している。当該レコードは、計測時刻を設定するためのフィールドと、ピッチ角度を設定するためのフィールドと、ロール角度を設定するためのフィールドと、ヨー角度を設定するためのフィールドとを有している。
図12の説明に戻る。計測部807は、慣性センサ処理を停止するか否かを判定する(S1213)。具体的には、図9に示したメイン処理のS921において慣性センサ処理を停止させたか否かを判定する。慣性センサ処理を停止しないと判定した場合には、S1201に示した処理に戻って上述した処理を繰り返す。一方、慣性センサ処理を停止すると判定した場合には、慣性センサ処理(A)を終了する。
図9の説明に戻る。第1期間特定部811は、第1特定処理を実行する(S905)。第1特定処理において、第1期間特定部811は、計測時刻帯によって静止期間を特定する。
図15に、第1特定処理フローを示す。第1期間特定部811は、第2姿勢に基づいて、静止状態が開始した計測時刻を特定する(S1501)。例えば、第1期間特定部811は、ピッチ角度の変化、ロール角度の変化及びヨー角度の変化が閾値を下回る場合に、静止状態であると判定する。一方、第1期間特定部811は、ピッチ角度の変化、ロール角度の変化又はヨー角度の変化が閾値を超える場合に、静止状態ではないと判定する。
第1期間特定部811は、角速度に基づいて、静止状態が開始した計測時刻を特定してもよい。例えば、第1期間特定部811は、ピッチ角速度、ロール角速度及びヨー角速度が閾値を下回る場合に、静止状態であると判定する。一方、第1期間特定部811は、ピッチ角速度、ロール角の角速度又はヨー角の角速度が閾値を超える場合に、静止状態ではないと判定する。
第1期間特定部811は、加速度に基づいて、静止状態が開始した計測時刻を特定してもよい。例えば、第1期間特定部811は、加速度に含まれる重力成分と重力以外の成分とを分離し、重力以外の成分に関する単純移動平均を算出する。そして、第1期間特定部811は、当該単純移動平均が閾値を下回った場合に静止状態であると判定する。他方、第1期間特定部811は、当該単純移動平均が閾値を下回らない場合には、静止状態ではないと判定する。
第1期間特定部811は、第2姿勢及び加速度に基づいて、静止状態が開始した計測時刻を特定してもよい。つまり、第1期間特定部811は、第2姿勢に関する静止の条件と加速度に関する静止の条件の両方を満たす場合に、静止状態であると判定するようにしてもよい。
第1期間特定部811は、角速度及び加速度に基づいて、静止状態が開始した計測時刻を特定してもよい。つまり、第1期間特定部811は、角速度に関する静止の条件と加速度に関する静止の条件の両方を満たす場合に、静止状態であると判定するようにしてもよい。
S1501の場合と同様に静止状態であるか否かを判定して、第1期間特定部811は、第2姿勢に基づいて、静止状態が終了した計測時刻を特定する(S1503)。同じく、第1期間特定部811は、角速度に基づいて、静止状態が終了した計測時刻を特定してもよい。同じく、第1期間特定部811は、加速度に基づいて、静止状態が終了した計測時刻を特定してもよい。同じく、第1期間特定部811は、第2姿勢及び加速度に基づいて、静止状態が終了した計測時刻を特定してもよい。同じく、第1期間特定部811は、角速度及び加速度に基づいて、静止状態が終了した計測時刻を特定してもよい。第1特定処理を終えると、図9に示したメイン処理に復帰する。
図9の説明に戻る。第1算出部813は、第1算出処理を実行する(S907)。第1算出処理において、第1算出部813は、カメラ座標系をセンサ座標系に近づける変換を行うための回転行列を算出する。
図16に、第1算出処理フローを示す。第1算出部813は、静止期間を特定する計測時刻帯と一致する撮影時刻帯に含まれるサンプルについて、カメラ座標系での重力方向ベクトルの分布P{pi,i=1〜n}を求める(S1601)。カメラ座標系での重力方向ベクトルの分布Pは、第1分布記憶部839に記憶される。計測時刻帯と一致する撮影時刻帯とは、両時刻帯を示す時刻の値が同じであること意味しており、両時刻帯が実質的に同時であることを意味するものではない。
第1算出部813は、静止期間を特定する計測時刻帯に含まれるサンプルについて、センサ座標系での重力方向ベクトルの分布Q{qi,i=1〜n}を求める(S1603)。センサ座標系での重力方向ベクトルの分布Qは、第2分布記憶部841に記憶される。
第1算出部813は、プロクラステス解析によって、回転行列を算出する(S1605)。プロクラステス解析では、重力方向ベクトルを基準として、カメラ座標系をセンサ座標系に近づける変換を行うための回転行列を求める。プロクラステス解析は、従来技術である。以下、本実施の形態におけるプロクラステス解析について簡単に説明する。
まず、第1算出部813は、カメラ座標系での重力方向ベクトルの平均paを求める。更に、第1算出部813は、センサ座標系での重力方向ベクトルの平均qaを求める。
次に、第1算出部813は、カメラ座標系での各重力方向ベクトルpiと平均paとの差に基づくベクトルA=[p1−pa,...,p1−pa]を求める。更に、第1算出部813は、センサ座標系での各重力方向ベクトルqiと平均qaとの差に基づくベクトルB=[q1−qa,...,q1−qa]を求める。
次に、第1算出部813は、ベクトルC=BATについて、式「USVT=C」で表される特異値分解を行う。そして、式「R=U diag(1,1,det(UVT))VT」に従って回転行列Rを求める。回転行列Rは、回転行列記憶部843に記憶される。第1算出処理を終えると、図9に示したメイン処理に復帰する。
図9の説明に戻る。第2期間特定部815は、第2特定処理を実行する(S909)。第2特定処理において、第2期間特定部815は、計測時刻帯によって回転期間を特定する。
図17に、第2特定処理フローを示す。第2期間特定部815は、第2姿勢に基づいて、回転動作が開始した計測時刻を特定する(S1701)。例えば、第2期間特定部815は、所定間隔におけるピッチ角の変化量及びロール角の変化量が第1閾値を下回り、且つ同じくヨー角度の変化量が第2閾値を超える場合に、回転状態であると判定する。一方、第2期間特定部815は、所定間隔におけるピッチ角の変化量又はロール角の変化量が第1閾値を超える場合には、回転状態ではないと判定する。更に、第2期間特定部815は、同じくヨー角の変化量が第2閾値を下回る場合には、回転状態ではないと判定する。
第2期間特定部815は、角速度に基づいて、開始状態が開始した計測時刻を特定してもよい。例えば、第2期間特定部815は、所定間隔におけるピッチ角の角速度及びロール角の角速度が第3閾値を下回り、且つ同じくヨー角の角速度が第4閾値を超える場合に、回転状態であると判定する。一方、第2期間特定部815は、所定間隔におけるピッチ角の角速度又はロール角の角速度が第3閾値を超える場合には、回転状態ではないと判定する。更に、第2期間特定部815は、同じくヨー角の角速度が第4閾値を下回る場合には、回転状態ではないと判定する。
S1701の場合と同様に回転状態であるか否かを判定して、第2期間特定部815は、第2姿勢に基づいて、回転動作が終了した計測時刻を特定する(S1703)。同じく、第2期間特定部815は、角速度に基づいて、回転状態が終了した計測時刻を特定してもよい。第2特定処理を終えると、図9に示したメイン処理に復帰する。
図9の説明に戻る。第2算出部817は、第2算出処理を実行する(S911)。第2算出処理において、第2算出部817は、撮影時刻と計測時刻との差分時間を算出する。
図18に、第2算出処理フローを示す。この例では、ピークを特徴点として、夫々特徴点が出現する撮影時刻と計測時刻との差分を求める。第2算出部817は、回転期間を特定する計測時刻帯と一致する撮影時刻帯における第1姿勢のピーク(第1ピークという。)を特定する(S1801)。第2算出部817は、回転期間における第2姿勢のピーク(第2ピークという。)を特定する(S1803)。第2算出部817は、第1ピークの撮影時刻から第2ピークの計測時刻を引いて、差分時間を求める(S1805)。差分時間は、差分時間記憶部845に記憶される。
ピークが複数ある場合には、対応するピーク毎に差分時間を求め、それらの差分時間の平均を求めるようにしてもよい。また、ピーク以外の特徴点を基準として差分時間を求めるようにしてもよい。
更に、撮影時刻帯における第1姿勢の遷移を示す波形と計測時刻帯における第2姿勢の遷移を示す波形との類似度が高くなるシフト量を特定することによって、差分時間を求めるようにしてもよい。波形の類似度を求めるための相互相関解析の手順は従来技術であるので、これ以上説明しない。第2算出処理を終えると、図9に示したメイン処理に復帰する。
図9の説明に戻る。判定部819は、判定処理を実行する(S913)。判定処理において、判定部819は、安定状態に至ったか否かを判定する。ここで言う安定状態とは、回転行列及び差分時間が収束した状態のことである。
図19に、判定処理フローを示す。判定部819は、回転行列をオイラー角に変換する(S1901)。判定部819は、オイラー角の変化量を求める(S1903)。具体的には、判定部819は、今回のS1901の処理で求めたオイラー角と前回のS1901の処理で求めたオイラー角との差を算出する。
判定部819は、差分時間の変化量を求める(S1905)。具体的には、判定部819は、今回の第2算出処理で求めた差分時間と前回の第2算出処理で求めた差分時間との差を算出する。
判定部819は、オイラー角の変化量が閾値を下回ったか否かを判定する(S1907)。オイラー角の変化量が閾値を下回っていないと判定した場合には、判定部819は、安定状態に至っていないと判定する(S1909)。
一方、オイラー角の変化量が閾値を下回ったと判定した場合には、判定部819は、更に差分時間の変化量が閾値を下回ったか否かを判定する(S1911)。差分時間の変化量が閾値を下回っていないと判定した場合には、判定部819は、安定状態に至っていないと判定する(S1909)。
一方、差分時間の変化量が閾値を下回ったと判定した場合には、判定部819は、安定状態に至ったと判定する(S1913)。判定処理を終えると、図9に示したメイン処理に復帰する。
図9の説明に戻る。制御部801は、判定処理の結果に応じて処理を分岐させる(S915)。安定状態に至っていないと判定した場合には、S905に示した処理に戻って上述した処理を繰り返す。
一方、安定状態に至ったと判定した場合には、出力部821は、調整の完了を示す合図を出力する(S917)。出力部821は、例えば調整の完了を知らせるための所定の音を出力する。出力部821は、完了メッセージを表示するようにしてもよい。
最後に、制御部801は、カメラ処理を停止させ(S919)、更に慣性センサ処理も停止させる(S921)。尚、以降の処理で用いられる回転行列及び差分時間は、保持される。尚、カメラ107の使用に備えて、制御部801は、カメラ処理を停止しないようにしてもよい。また、慣性センサ113の使用に備えて、制御部801は、慣性センサ処理を停止しないようにしてもよい。
この例における回転行列は、カメラ107の姿勢と慣性センサ113の姿勢との誤差を表す一つの態様である。他の態様によって、カメラ107の姿勢と慣性センサ113の姿勢との誤差を表すようにしてもよい。例えば、オイラー角によって、カメラ107の姿勢と慣性センサ113の姿勢との誤差を表すようにしてもよい。
本実施の形態によれば、携帯装置101に内蔵されたカメラ107と慣性センサ113とに関する時刻誤差及び姿勢誤差を、効率よく減らすことができる。
また、重力方向を基準とするので、カメラの姿勢とセンサの姿勢との関係を、より正しく捉えやすい。
また、S905乃至S911に示した処理を繰り返すので、時刻誤差と姿勢誤差とを、より小さくできる。
また、時刻誤差と姿勢誤差とが収束したと判定した場合に上記処理の繰り返しを終えるので、効果の少ない処理を省くことができる。
この例では、第1姿勢を第2姿勢に合わせ、撮影時刻を計測時刻に合わせるように校正するので、慣性センサ113を基準とする使い方に適した面がある。
[実施の形態2]
上述した実施の形態では、第1姿勢を第2姿勢に合わせ、撮影時刻を計測時刻に合わせる例について説明したが、本実施の形態では、第2姿勢を第1姿勢に合わせ、計測時刻を撮影時刻に合わせる例について説明する。
本実施の形態では、カメラ処理(A)に代えて、カメラ処理(B)を実行する。図20に、カメラ処理(B)フローを示す。S1001乃至S1011に示した処理は、カメラ処理(A)の場合と同様である。
カメラ処理(A)におけるS1013に示した処理とS1015に示した処理とは、省かれる。S1017において、補正された第1姿勢に代えて、S1011で算出された第1姿勢を記憶する。
また、本実施の形態では、慣性センサ処理(A)に代えて、慣性センサ処理(B)を実行する。図21に、慣性センサ処理(B)フローを示す。S1201乃至S1209に示した処理は、慣性センサ処理(A)の場合と同様である。
第1補正部823は、回転行列に基づいて第2姿勢を補正する(S2101)。具体的には、第1補正部823は、回転行列によって第2姿勢を変換する。変換後の姿勢が、補正された第2姿勢である。尚、本実施の形態における回転行列は、実施の形態1における回転行列の逆行列である。
つまり、本実施の形態における第1算出処理において、第1算出部813は、センサ座標系をカメラ座標系に近づける変換を行うための回転行列を算出する。具体的には、図16のS1605に示した処理において、カメラ座標系での重力方向ベクトルの分布Pとセンサ座標系での重力方向ベクトルの分布Qとの関係を入れ替えて、回転行列を求める。
第2補正部825は、差分時間に基づいて計測時間を補正する(S2103)。具体的には、第2補正部825は、S1201におけるタイミングに相当する撮影時刻に差分時間を加える。差分時間が加えられた時刻が、補正された計測時刻である。
S1211において、第1補正部823は、補正された計測時刻に対応付けて、第1姿勢記憶部833に補正された第2姿勢を記憶する。
本実施の形態によれば、第2姿勢を第1姿勢に合わせ、計測時刻を撮影時刻に合わせるように校正するので、カメラ107を基準とする使い方に適した面がある。
上述した例では、マーカーを用いて第1姿勢を推定した。このように、カメラ107によってマーカー301を撮影して、姿勢を推定する技術は、論文「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」(加藤博一他、TVRSJ Vol.4 No.4,1999)に開示されている。
また「カメラ位置姿勢の高速な推定のためのランドマーク選択法と、単眼視によるロボットのナビゲーション」(小川陽子他、日本ロボット学会誌 29(9),P811−820,2011/11/15)及び「PTAM: G. Klein et al., Parallel Tracking and Mapping for Small AR Workspace, ISMAR 2007」には、所定の図形を用いずに、任意の撮影対象における特徴点に基づいて姿勢を推定する技術が開示されている。本実施の形態では、これらの技術を用いて、第1姿勢を推定するようにしてもよい。
また、上述した例では、第1リアルタイムクロック111によって計られる時刻と第2リアルタイムクロック117によって計られる時刻との誤差を求めた。但し、時刻の差に加えて、第1リアルタイムクロック111における時刻カウントの速度と第2リアルタイムクロック117における時刻カウントの速度との差を求めるようにしてもよい。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
以上述べた実施の形態をまとめると、以下のようになる。
一態様の補正方法は、補正方法は、カメラと、当該カメラの撮影時刻を特定するための第1クロックと、自らの姿勢を特定するためのパラメータを計測するセンサと、当該センサの計測時刻を特定するための第2クロックとを有する電子機器において、(A)カメラによる撮影を繰り返し行う処理と、(B)撮影された画像に基づいて、カメラの姿勢を推定する処理と、(C)センサによる上記パラメータの計測を繰り返し行う処理と、(D)計測された上記パラメータに基づいて、センサの姿勢を特定する処理と、(E)センサの姿勢が安定している第1計測時刻帯におけるセンサの姿勢と、当該第1計測時刻帯と一致する第1撮影時刻帯におけるカメラの姿勢とに基づいて、カメラの姿勢とセンサの姿勢との差を表す回転パラメータを算出する第1処理と、(F)回転パラメータに基づいて、カメラの姿勢を示すデータとセンサの姿勢を示すデータとのうち少なくとも一方を補正する第2処理と、(G)センサの姿勢が変化している第2計測時刻帯におけるセンサの姿勢と、当該第2計測時刻帯と一致する第2撮影時刻帯におけるカメラの姿勢とに基づいて、第1クロックによって計られる第1時刻と第2クロックによって計られる第2時刻との差分時間を算出する第3処理と、(H)差分時間に基づいて、撮影時刻と計測時刻とのうち少なくとも一方を補正する第4処理とを含む。
このようにすれば、同一電子機器に含まれる姿勢特定のためのセンサとカメラとに関する時刻誤差及び姿勢誤差を、効率よく減らすことができる。具体的には、時刻誤差を減らさなければ、姿勢誤差を正しく特定できず、姿勢誤差を減らさなければ、時刻誤差を正しく特定できないという課題を解決しやすくする。つまり、一方のみに着目して誤差を減らすよりも、両誤差に対する補正を施すことによって相互に補正の精度を高めることができ、調整が早く済むという面がある。
更に、上記第1処理において、重力方向を基準として回転パラメータを算出するようにしてもよい。
このようにすれば、カメラの姿勢とセンサの姿勢との関係を、より正しく捉えやすい。
更に、上記第1処理乃至上記第4処理を繰り返す処理を含むようにしてもよい。
このようにすれば、時刻誤差と姿勢誤差とを、より小さくできる。
更に、所定の基準に従って回転パラメータ及び差分時間が収束したか否かを判定する処理を含み、回転パラメータ及び差分時間が収束したと判定した場合に、上記第1処理乃至上記第4処理を終えるようにしてもよい。
このようにすれば、効果の少ない処理を省くことができる。
なお、上記処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
カメラと、当該カメラの撮影時刻を特定するための第1クロックと、自らの姿勢を特定するためのパラメータを計測するセンサと、当該センサの計測時刻を特定するための第2クロックとを有する電子機器において、
前記カメラによる撮影を繰り返し行う処理と、
撮影された画像に基づいて、前記カメラの姿勢を推定する処理と、
前記センサによる前記パラメータの計測を繰り返し行う処理と、
計測された前記パラメータに基づいて、前記センサの姿勢を特定する処理と、
前記センサの姿勢が安定している第1計測時刻帯における前記センサの姿勢と、当該第1計測時刻帯と一致する第1撮影時刻帯における前記カメラの姿勢とに基づいて、前記カメラの姿勢と前記センサの姿勢との差を表す回転パラメータを算出する第1処理と、
前記回転パラメータに基づいて、前記カメラの姿勢を示すデータと前記センサの姿勢を示すデータとのうち少なくとも一方を補正する第2処理と、
前記センサの姿勢が変化している第2計測時刻帯における前記センサの姿勢と、当該第2計測時刻帯と一致する第2撮影時刻帯における前記カメラの姿勢とに基づいて、前記第1クロックによって計られる第1時刻と前記第2クロックによって計られる第2時刻との差分時間を算出する第3処理と、
前記差分時間に基づいて、前記撮影時刻と前記計測時刻とのうち少なくとも一方を補正する第4処理と、
を含み、前記電子機器のプロセッサにより実行される補正方法。
(付記2)
前記第1処理において、重力方向を基準として前記回転パラメータを算出する
付記1記載の補正方法。
(付記3)
更に、
前記第1処理乃至前記第4処理を繰り返す処理
を含む付記1又は2記載の補正方法。
(付記4)
更に、
所定の基準に従って前記回転パラメータ及び前記差分時間が収束したか否かを判定する処理
を含み、
前記回転パラメータ及び前記差分時間が収束したと判定した場合に、前記第1処理乃至前記第4処理を終える
付記3記載の補正方法。
(付記5)
カメラと、当該カメラの撮影時刻を特定するための第1クロックと、自らの姿勢を特定するためのパラメータを計測するセンサと、当該センサの計測時刻を特定するための第2クロックとを有する電子機器において、
前記カメラによる撮影を繰り返し行う処理と、
撮影された画像に基づいて、前記カメラの姿勢を推定する処理と、
前記センサによる前記パラメータの計測を繰り返し行う処理と、
計測された前記パラメータに基づいて、前記センサの姿勢を特定する処理と、
前記センサの姿勢が安定している第1計測時刻帯における前記センサの姿勢と、当該第1計測時刻帯と一致する第1撮影時刻帯における前記カメラの姿勢とに基づいて、前記カメラの姿勢と前記センサの姿勢との差を表す回転パラメータを算出する第1処理と、
前記回転パラメータに基づいて、前記カメラの姿勢を示すデータと前記センサの姿勢を示すデータとのうち少なくとも一方を補正する第2処理と、
前記センサの姿勢が変化している第2計測時刻帯における前記センサの姿勢と、当該第2計測時刻帯と一致する第2撮影時刻帯における前記カメラの姿勢とに基づいて、前記第1クロックによって計られる第1時刻と前記第2クロックによって計られる第2時刻との差分時間を算出する第3処理と、
前記差分時間に基づいて、前記撮影時刻と前記計測時刻とのうち少なくとも一方を補正する第4処理と、
を前記電子機器のプロセッサに実行させるプログラム。
(付記6)
カメラと、
当該カメラの撮影時刻を特定するための第1クロックと、
自らの姿勢を特定するためのパラメータを計測するセンサと、
当該センサの計測時刻を特定するための第2クロックと、
前記カメラによる撮影を繰り返し行う撮影部と、
撮影された画像に基づいて、前記カメラの姿勢を推定する推定部と、
前記センサによる前記パラメータの計測を繰り返し行う計測部と、
計測された前記パラメータに基づいて、前記センサの姿勢を特定する特定部と、
前記センサの姿勢が安定している第1計測時刻帯における前記センサの姿勢と、当該第1計測時刻帯と一致する第1撮影時刻帯における前記カメラの姿勢とに基づいて、前記カメラの姿勢と前記センサの姿勢との差を表す回転パラメータを算出する第1算出部と、
前記回転パラメータに基づいて、前記カメラの姿勢を示すデータと前記センサの姿勢を示すデータとのうち少なくとも一方を補正する第1補正部と、
前記センサの姿勢が変化している第2計測時刻帯における前記センサの姿勢と、当該第2計測時刻帯と一致する第2撮影時刻帯における前記カメラの姿勢とに基づいて、前記第1クロックによって計られる第1時刻と前記第2クロックによって計られる第2時刻との差分時間を算出する第2算出部と、
前記差分時間に基づいて、前記撮影時刻と前記計測時刻とのうち少なくとも一方を補正する第2補正部と
を有する電子機器。
101 携帯装置 103 CPU
105 記憶回路 107 カメラ
109 カメラ制御回路 111 第1リアルタイムクロック
113 慣性センサ 115 センサ制御回路
117 第2リアルタイムクロック 119 無線通信制御回路
121 無線通信用アンテナ 123 スピーカ制御回路
125 スピーカ 127 マイク制御回路
129 マイク 131 LCD制御回路
133 LCD 135 タッチセンサ
137 キー群 301 マーカー
601 枠 801 制御部
803 撮影部 805 姿勢推定部
807 計測部 809 姿勢特定部
811 第1期間特定部 813 第1算出部
815 第2期間特定部 817 第2算出部
819 判定部 821 出力部
823 第1補正部 825 第2補正部
831 画像記憶部 833 第1姿勢記憶部
835 計測データ記憶部 837 第2姿勢記憶部
839 第1分布記憶部 841 第2分布記憶部
843 回転行列記憶部 845 差分時間記憶部
847 一時変数記憶部

Claims (6)

  1. カメラと、当該カメラの撮影時刻を特定するための第1クロックと、自らの姿勢を特定するためのパラメータを計測するセンサと、当該センサの計測時刻を特定するための第2クロックとを有する電子機器において、
    前記カメラによる撮影を繰り返し行う処理と、
    撮影された画像に基づいて、前記カメラの姿勢を推定する処理と、
    前記センサによる前記パラメータの計測を繰り返し行う処理と、
    計測された前記パラメータに基づいて、前記センサの姿勢を特定する処理と、
    前記センサの姿勢が安定している第1計測時刻帯における前記センサの姿勢と、当該第1計測時刻帯と一致する第1撮影時刻帯における前記カメラの姿勢とに基づいて、前記カメラの姿勢と前記センサの姿勢との差を表す回転パラメータを算出する第1処理と、
    前記回転パラメータに基づいて、前記カメラの姿勢を示すデータと前記センサの姿勢を示すデータとのうち少なくとも一方を補正する第2処理と、
    前記センサの姿勢が変化している第2計測時刻帯における前記センサの姿勢と、当該第2計測時刻帯と一致する第2撮影時刻帯における前記カメラの姿勢とに基づいて、前記第1クロックによって計られる第1時刻と前記第2クロックによって計られる第2時刻との差分時間を算出する第3処理と、
    前記差分時間に基づいて、前記撮影時刻と前記計測時刻とのうち少なくとも一方を補正する第4処理と、
    を含み、前記電子機器のプロセッサにより実行される補正方法。
  2. 前記第1処理において、重力方向を基準として前記回転パラメータを算出する
    請求項1記載の補正方法。
  3. 更に、
    前記第1処理乃至前記第4処理を繰り返す処理
    を含む請求項1又は2記載の補正方法。
  4. 更に、
    所定の基準に従って前記回転パラメータ及び前記差分時間が収束したか否かを判定する処理
    を含み、
    前記回転パラメータ及び前記差分時間が収束したと判定した場合に、前記第1処理乃至前記第4処理を終える
    請求項3記載の補正方法。
  5. カメラと、当該カメラの撮影時刻を特定するための第1クロックと、自らの姿勢を特定するためのパラメータを計測するセンサと、当該センサの計測時刻を特定するための第2クロックとを有する電子機器において、
    前記カメラによる撮影を繰り返し行う処理と、
    撮影された画像に基づいて、前記カメラの姿勢を推定する処理と、
    前記センサによる前記パラメータの計測を繰り返し行う処理と、
    計測された前記パラメータに基づいて、前記センサの姿勢を特定する処理と、
    前記センサの姿勢が安定している第1計測時刻帯における前記センサの姿勢と、当該第1計測時刻帯と一致する第1撮影時刻帯における前記カメラの姿勢とに基づいて、前記カメラの姿勢と前記センサの姿勢との差を表す回転パラメータを算出する第1処理と、
    前記回転パラメータに基づいて、前記カメラの姿勢を示すデータと前記センサの姿勢を示すデータとのうち少なくとも一方を補正する第2処理と、
    前記センサの姿勢が変化している第2計測時刻帯における前記センサの姿勢と、当該第2計測時刻帯と一致する第2撮影時刻帯における前記カメラの姿勢とに基づいて、前記第1クロックによって計られる第1時刻と前記第2クロックによって計られる第2時刻との差分時間を算出する第3処理と、
    前記差分時間に基づいて、前記撮影時刻と前記計測時刻とのうち少なくとも一方を補正する第4処理と、
    を前記電子機器のプロセッサに実行させるプログラム。
  6. カメラと、
    当該カメラの撮影時刻を特定するための第1クロックと、
    自らの姿勢を特定するためのパラメータを計測するセンサと、
    当該センサの計測時刻を特定するための第2クロックと、
    前記カメラによる撮影を繰り返し行う撮影部と、
    撮影された画像に基づいて、前記カメラの姿勢を推定する推定部と、
    前記センサによる前記パラメータの計測を繰り返し行う計測部と、
    計測された前記パラメータに基づいて、前記センサの姿勢を特定する特定部と、
    前記センサの姿勢が安定している第1計測時刻帯における前記センサの姿勢と、当該第1計測時刻帯と一致する第1撮影時刻帯における前記カメラの姿勢とに基づいて、前記カメラの姿勢と前記センサの姿勢との差を表す回転パラメータを算出する第1算出部と、
    前記回転パラメータに基づいて、前記カメラの姿勢を示すデータと前記センサの姿勢を示すデータとのうち少なくとも一方を補正する第1補正部と、
    前記センサの姿勢が変化している第2計測時刻帯における前記センサの姿勢と、当該第2計測時刻帯と一致する第2撮影時刻帯における前記カメラの姿勢とに基づいて、前記第1クロックによって計られる第1時刻と前記第2クロックによって計られる第2時刻との差分時間を算出する第2算出部と、
    前記差分時間に基づいて、前記撮影時刻と前記計測時刻とのうち少なくとも一方を補正する第2補正部と
    を有する電子機器。
JP2015201496A 2015-10-09 2015-10-09 補正方法、プログラム及び電子機器 Pending JP2017073753A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015201496A JP2017073753A (ja) 2015-10-09 2015-10-09 補正方法、プログラム及び電子機器
US15/285,832 US20170104932A1 (en) 2015-10-09 2016-10-05 Correction method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015201496A JP2017073753A (ja) 2015-10-09 2015-10-09 補正方法、プログラム及び電子機器

Publications (1)

Publication Number Publication Date
JP2017073753A true JP2017073753A (ja) 2017-04-13

Family

ID=58500300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015201496A Pending JP2017073753A (ja) 2015-10-09 2015-10-09 補正方法、プログラム及び電子機器

Country Status (2)

Country Link
US (1) US20170104932A1 (ja)
JP (1) JP2017073753A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019029968A (ja) * 2017-08-03 2019-02-21 キヤノン株式会社 撮像装置およびその制御方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3396871A1 (fr) * 2017-04-25 2018-10-31 ETA SA Manufacture Horlogère Suisse Procede de transmission de donnees d'un appareil electronique vers un dispositif electronique
CN108629167B (zh) * 2018-05-09 2020-10-27 西安交通大学 一种结合可穿戴设备的多智能设备身份认证方法
CN111770270B (zh) * 2020-06-24 2021-06-25 杭州海康威视数字技术股份有限公司 一种相机姿态的校正方法、摄像机
CN114838701B (zh) * 2021-01-30 2023-08-22 华为技术有限公司 一种获取姿态信息的方法及电子设备
CN114844977B (zh) * 2021-01-30 2023-04-07 华为技术有限公司 一种家居设备的位置标记方法、电子设备及存储介质
CN113739819B (zh) * 2021-08-05 2024-04-16 上海高仙自动化科技发展有限公司 校验方法、装置、电子设备、存储介质及芯片
CN115311359B (zh) * 2022-07-18 2023-06-16 北京城市网邻信息技术有限公司 相机位姿校正方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019029968A (ja) * 2017-08-03 2019-02-21 キヤノン株式会社 撮像装置およびその制御方法
CN109391755A (zh) * 2017-08-03 2019-02-26 佳能株式会社 摄像设备及其中执行的方法
JP7009107B2 (ja) 2017-08-03 2022-01-25 キヤノン株式会社 撮像装置およびその制御方法

Also Published As

Publication number Publication date
US20170104932A1 (en) 2017-04-13

Similar Documents

Publication Publication Date Title
JP2017073753A (ja) 補正方法、プログラム及び電子機器
CN107888828B (zh) 空间定位方法及装置、电子设备、以及存储介质
CN107646126B (zh) 用于移动设备的相机姿态估计
US20190371003A1 (en) Monocular vision tracking method, apparatus and non-volatile computer-readable storage medium
US20220358663A1 (en) Localization and Tracking Method and Platform, Head-Mounted Display System, and Computer-Readable Storage Medium
CN104737205B (zh) 自适应尺度及/或重力估计
JP6456347B2 (ja) 平面固有の特徴のターゲットのinsitu生成
CN110555883A (zh) 相机姿态追踪过程的重定位方法、装置及存储介质
US20120254809A1 (en) Method and apparatus for motion gesture recognition
CN106814753B (zh) 一种目标位置矫正方法、装置及系统
US20140270352A1 (en) Three dimensional fingertip tracking
WO2021088498A1 (zh) 虚拟物体显示方法以及电子设备
CN112819860B (zh) 视觉惯性系统初始化方法及装置、介质和电子设备
JP2017129904A (ja) 情報処理装置、情報処理方法、及び記録媒体
CN110956666B (zh) 运动数据标定方法、装置、终端设备及存储介质
CN111290580B (zh) 基于视线追踪的校准方法及相关装置
CN110263615A (zh) 车辆拍摄中的交互处理方法、装置、设备及客户端
JP2022531186A (ja) 情報処理方法、装置、電子機器、記憶媒体およびプログラム
CN112907652A (zh) 相机姿态获取方法、视频处理方法、显示设备和存储介质
WO2020075825A1 (ja) 動き推定装置、電子機器、制御プログラム及び動き推定方法
WO2019080879A1 (zh) 数据处理方法、计算机设备和存储介质
CN116079697A (zh) 一种基于图像的单目视觉伺服方法、装置、设备及介质
CN112633043B (zh) 一种车道线确定方法、装置、电子设备及存储介质
US10891805B2 (en) 3D model establishing device and calibration method applying to the same
Artemciukas et al. Kalman filter for hybrid tracking technique in augmented reality