(57)【特許請求の範囲】
【請求項１】
被写体を撮像する撮像部と、
前記撮像部の物理的な動きをセンシングするセンシング部と、
第１フレーム画像から特徴点を抽出する抽出部と、
センシングされた動きに基づいて、前記第１フレーム画像から抽出された特徴点の第２フレーム画像中における位置を予測する予測部と、
前記予測部により予測された位置に基づいて第２フレーム画像内にウインドウを設定する設定部と、
設定されたウインドウを対象に、前記第１フレーム画像から抽出された特徴点に対応する特徴点を、第２フレーム画像から探索する探索部と、
を備え、
前記設定部は、前記第１フレーム画像における抽出された特徴点の位置と、前記予測部により予測された位置とを結ぶ中点を中心にウインドウを設定する
ことを特徴とする撮像装置。
【請求項２】
被写体を撮像する撮像部と、
前記撮像部の物理的な動きをセンシングするセンシング部と、
第１フレーム画像から特徴点を抽出する抽出部と、
センシングされた動きに基づいて、前記第１フレーム画像から抽出された特徴点の第２フレーム画像中における位置を予測する予測部と、
前記予測部により予測された位置に基づいて第２フレーム画像内にウインドウを設定する設定部と、
設定されたウインドウを対象に、前記第１フレーム画像から抽出された特徴点に対応する特徴点を、第２フレーム画像から探索する探索部と、
を備え、
前記設定部は、所定のフレーム数あたりに１回は、画像全体を探索範囲と設定する
ことを特徴とする撮像装置。
【請求項３】
前記設定部は、前記予測部により予測された位置を含むようにウインドウを設定する
ことを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記設定部は、前記予測部により予測された位置を中心にウインドウを設定する
ことを特徴とする請求項２に記載の撮像装置。
【請求項５】
センシング部によりセンシングされた物理的な動きの大きさが所定の閾値以上となると、前記撮像部のフレームレートを高い値に変更するフレームレート変更部を備えることを特徴とする請求項１または２に記載の撮像装置。
【請求項６】
前記フレームレート変更部は、前記センシング部によりセンシングされた動きの大きさが前記所定の閾値以上になるとフレームレートを第１の値に変更し、前記センシング部によりセンシングされた動きの大きさが前記所定の閾値より大きい第２の閾値以上となると、フレームレートを前記第１の値より高い第２の値に変更することを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記フレームレート変更部は、前記センシング部によりセンシングされた物理的な動きの大きさが大きいほど、フレームレートをより高い値に変更することを特徴とする請求項５に記載の撮像装置。
【請求項８】
前記フレームレート変更部は、フレーム画像間の時間間隔より長い所定の時間間隔でフレームレートの変更動作を行うことを特徴とする請求項５に記載の撮像装置。
【請求項９】
センシング部によりセンシングされた物理的な動きの大きさが所定の閾値以上となると、前記撮像部のシャッタースピードを速い値に変更するシャッタースピード変更部を備える
ことを特徴とする請求項５に記載の撮像装置。
【請求項１０】
センシング部によりセンシングされた物理的な動きの大きさが所定の閾値以上となると、前記撮像部の感度を高い値に変更する感度変更部を備えることを特徴とする請求項９に記載の撮像装置。
【請求項１１】
前記設定部は、前記センシング部によりセンシングされた物理的な動きの大きさに応じて、設定するウインドウの大きさを変化させる
ことを特徴とする請求項５に記載の撮像装置。
【請求項１２】
前記設定部は、前記センシング部によりセンシングされた物理的な動きの大きさが予め定められた値を上回ると、前記ウインドウの大きさの変化を行うことを特徴とする請求項１１に記載の撮像装置。
【請求項１３】
前記センシング部は、角速度センサまたは加速度センサの少なくとも１つにより構成される
ことを特徴とする請求項１または２に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関し、特に装置の物理的な動きが、撮影した画像に与える影響を補正する技術に関する。
【背景技術】
【０００２】
撮像装置の中でも、ウェアラブルカメラは、装着者の常時装着・常時撮影を前提としたカメラである。常時画像を撮影して記録することにより、人の記憶の回想などに有効利用することが期待されている。（例えば、特許文献１参照）。
このようなウェアラブルカメラは、常時装着を前提としているので、装着者が活発に動く場合や装着者にカメラがしっかり固定されていない場合などには、カメラが不規則に揺れることがある。揺れた状態で撮影した動画像も、不規則に揺れたものとなる。
【０００３】
揺れのある動画像は、視聴者に「映像酔い」と呼ばれる不快感や目まい感を及ぼすおそれがあるので、動画像から揺れを補正して取り除く必要がある。
揺れを取り除く手法の１つとして動きベクトルを用いる方法が挙げられる。動きベクトル検出のために、画像の端から端まで探索すると演算量が多くなるので、画像の一部に探索範囲とするウインドウを設定する技術が従来からある。
【０００４】
ウインドウを小さく設定するほど、演算量をより軽減できるが、カメラの物理的動きが大きい場合に、当該動きに起因する画像の動きベクトルを検出できない可能性がある。とはいえ、ウインドウを大きく設定すると探索に必要な演算量の増大を招く。このように、ウインドウの大きさと演算量とはトレードオフの関係にある。
これに関して、フレーム画像間の動きベクトルが大きい場合には、撮影フレームレートを高く変更することで、フレーム間の相対的な動きの量を小さくし、ウインドウの大きさを一定に抑えつつ、大きな動きにも対応できるとする技術がある（特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2003-304486号公報
【特許文献２】特開2007-281961号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、現実にはフレーム画像間の動きは、撮影しているカメラ自身の物理的な動きに起因するものに加えて、撮影されている被写体の動きに起因するものが混在している。撮像された画像のみから両者を区別するのは困難であり、カメラと被写体とが異なる方向に動いている場合、特許文献２の記載の手法ではカメラの物理的な動きを正確に推定するのは困難である。
【０００７】
また、上記特許文献２に記載の手法では、まず先に動きベクトルを検出し、その後でフレームレートを変更するという処理の流れであるので、極めて大きな物理的な動きが発生している場合には、その動きベクトルが検出できず、フレームレートも変更できないという事態に陥るおそれがある。
この点、ウインドウのサイズを大きくすれば、検出の可能性は高くなるものの、上述のように演算量の増大を招いてしまう。このような、動きベクトルの検出手法に関する問題は、ウェアラブルカメラに限らず撮像装置に一般に生じ得る問題である。
【０００８】
本発明は、上述の問題に鑑みてなされたものであって、ウインドウサイズを抑えて演算量の増加を防止しつつ、ウインドウを的確に設定することで、カメラ自身の物理的な大きな動きに起因するフレーム画像間の動きベクトルを検出できる撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る撮像装置は、被写体を撮像する撮像部と、前記撮像部の物理的な動きをセンシングするセンシング部と、第１フレーム画像から特徴点を抽出する抽出部と、センシングされた動きに基づいて、前記第１フレーム画像から抽出された特徴点の第２フレーム画像中における位置を予測する予測部と、前記予測部により予測された位置に基づいて第２フレーム画像内にウインドウを設定する設定部と、設定されたウインドウを対象に、前記第１フレーム画像から抽出された特徴点に対応する特徴点を、第２フレーム画像から探索する探索部とを備えることを特徴としている。
【００１０】
また、本発明に係る撮像方法は、撮像部により被写体を撮像する撮像ステップと、前記撮像ステップにおける撮像部の動きをセンサによりセンシングするセンシングステップと、第１フレーム画像から特徴点を抽出する抽出ステップと、センシングされた動きに基づいて、前記第１フレーム画像から抽出された特徴点の第２フレーム画像中における位置を予測する予測ステップと、前記予測ステップにより予測された位置に基づいて第２フレーム画像内にウインドウを設定する設定ステップと、設定されたウインドウを対象に、前記第１フレーム画像から抽出された特徴点に対応する特徴点を、第２フレーム画像から探索する探索ステップとを備えることを特徴としている。
【発明の効果】
【００１１】
課題を解決するための手段に記載した構成によれば、前記予測部は、センシングされた動きから、例えばカメラの画角の変化を求めて、特徴点の位置を予測し、前記設定部は、予測された位置に基づいて第２フレーム画像内にウインドウを設定することで、第２フレーム画像内において特徴点が存在する可能性が高い位置にウインドウを設けて、このウインドウ内から効率良く特徴点を探索することができる。
【００１２】
また、カメラ自身が大きく動くことで、センシングされた動きが大きくなったとしても、その動きに応じて特徴点の位置を予測し、ウインドウを設定することで、第２フレーム画像内のウインドウの内部に特徴点を収めることができる。この結果、第２フレーム画像から特徴点を探索でき、フレーム画像間の動きベクトルの検出に有効利用することができる。
【００１３】
また、前記設定部は、前記予測部により予測された位置を含むようにウインドウを設定するとしても構わない。
この構成によれば、特徴点が存在する可能性が高い領域にウインドウを設定することができる。
また、前記設定部は、前記予測部により予測された位置を中心にウインドウを設定するとしても構わない。
【００１４】
この構成によれば、特徴点が存在する可能性が高い領域にウインドウを設定することができる。
また、前記設定部は、前記第１フレーム画像における抽出された特徴点の位置と、前記予測部により予測された位置とを結ぶ中点を中心にウインドウを設定するとしても構わない。
【００１５】
第２フレーム画像における特徴点は、第１フレーム画像における抽出された位置と、前記予測部により予測された位置との間に存在している可能性が高いので、この構成によれば、ウインドウを的確に設定することができる。
また、センシング部によりセンシングされた物理的な動きの大きさが所定の閾値以上となると、前記撮像部のフレームレートを高い値に変更するフレームレート変更部を備えることを特徴としても構わない。
【００１６】
この構成によれば、センシングされた動きが所定の閾値以上と大きくなった場合に、フレームレートを高く変更することで、フレーム画像間の特徴点の動きの量を小さくでき、小さいサイズのウインドウであったとしても特徴点を検出しやすくなる効果が得られる。
また、前記フレームレート変更部は、前記センシング部によりセンシングされた動きの大きさが前記所定の閾値以上になるとフレームレートを第１の値に変更し、前記センシング部によりセンシングされた動きの大きさが前記所定の閾値より大きい第２の閾値以上となると、フレームレートを前記第１の値より高い第２の値に変更することを特徴としても構わない。
【００１７】
この構成によれば、センシングされた動きに応じて、フレームレートを第１の値、第２の値と変更することで、フレーム画像間の特徴点の動きの量を小さくでき、より効率の良い特徴点の探索に寄与する。
また、前記フレームレート変更部は、前記センシング部によりセンシングされた物理的な動きの大きさが大きいほど、フレームレートをより高い値に変更することを特徴としても構わない。
【００１８】
この構成によれば、センシングされた動きに応じて、フレームレートを高い値に変更することで、フレーム画像間の特徴点の動きの量を小さくでき、より効率の良い特徴点の探索に寄与する。
また、前記フレームレート変更部は、フレーム画像間の時間間隔より長い所定の時間間隔でフレームレートの変更動作を行うことを特徴としても構わない。
【００１９】
また、センシング部によりセンシングされた物理的な動きの大きさが所定の閾値以上となると、前記撮像部のシャッタースピードを速い値に変更するシャッタースピード変更部を備えることを特徴としても構わない。
この構成によれば、センシングされた動きが所定の閾値以上の場合に、シャッタースピードを速い値に変更することで、画像のブレを抑制して探索部による探索の際に、特徴点を誤検出する可能性を低減することができる。
【００２０】
また、センシング部によりセンシングされた物理的な動きの大きさが所定の閾値以上となると、前記撮像部の感度を高い値に変更する感度変更部を備えることを特徴としても構わない。
この構成によれば、撮影時の感度を上げることでシャッタースピードを速い値に変更することに起因する光量の低下を補い、画像の明るさの変動を抑えることができる。
【００２１】
また、前記設定部は、前記センシング部によりセンシングされた物理的な動きの大きさに応じて、設定するウインドウの大きさを変化させるとしても構わない。
この構成によれば、例えば、物理的な動きが大きい場合にウインドウのサイズを大きくすることで、特徴点をウインドウ内に収められる確率を高めることができる。
前記設定部は、前記センシング部によりセンシングされた物理的な動きの大きさが予め定められた値を上回ると、前記ウインドウの大きさの変化を行うとしても構わない。
【００２２】
この構成によれば、例えば、物理的な動きが大きくて、フレームレートの変更では対応が難しいような状況において、特徴点をウインドウ内に収められる確率を高めることができる。
また、前記設定部は、所定のフレーム数あたりに１回は、画像全体を探索範囲と設定することを特徴としても構わない。
【００２３】
画像の揺らぎや障害物による遮蔽などで特徴点が検出されなくなった場合に、その特徴点は以降ウインドウから外れたままになってしまうことがある。上記構成のように、所定のフレーム数ごとに１回は、定期的に画像全体に設定することで、確実に特徴点を探索範囲内に収めることができる。
また、前記センシング部は、角速度センサまたは加速度センサの少なくとも１つにより構成されるとしても構わない。
【図面の簡単な説明】
【００２４】
【図１】実施の形態１に係るウェアラブルカメラの機能ブロック図である。
【図２】(ａ)は、ウェアラブルカメラを装着したユーザ２を表す模式図である。（ｂ）は画像の回転軸を表す模式図である。
【図３】下部は前フレーム画像Ｆtを示し、上部は現フレーム画像Ｆt+1を示す図である。
【図４】ウインドウ設定部２６が設定したウインドウの例を示す図である。
【図５】カメラの回転角度（画角）と画素の移動量の関係を示す模式図である。
【図６】下部は前フレーム画像Ｆtを示し、上部は現フレーム画像Ｆt+1を示す図である。
【図７】（ａ）（ｂ）は、予測位置を利用したウインドウ設定を示す図である。（ｃ）は、予測位置を利用しないウインドウ設定を示す図である。
【図８】ウェアラブルカメラの全体的な処理内容を示すフローチャートである。
【図９】ウインドウ設定・探索処理を示すフローチャートである。
【図１０】動き決定処理を示すフローチャートである。
【図１１】センサ出力の誤差分布を表す模式図である。
【図１２】（ａ）は変形例１に係るウインドウ設定を説明する図であり、（ｂ）は変形例２に係るウインドウ設定を説明する図であり、（ｃ）は変形例３に係るウインドウ設定を説明する図である。
【図１３】実施の形態２に係るウェアラブルカメラの機能ブロック図である。
【図１４】(ａ)は実施の形態２に係るウェアラブルカメラ全体的な処理内容を示すフローチャートであり、（ｂ）はフレームレート変更処理を示すフローチャートである。
【図１５】センサ出力、フレームレート、感度、シャッタースピードの項目を含む変更テーブルを示す図である。
【発明を実施するための形態】
【００２５】
（実施の形態１）
以下、本発明の実施の形態について、撮像装置であるウェアラブルカメラを例に挙げて説明する。
＜構成＞
図１は、実施の形態１に係るウェアラブルカメラの機能ブロック図である。
【００２６】
ウェアラブルカメラ１０は、撮像部１２、センシング部１４、動き検出部１６、フレームメモリ１８、制御部２０を備える。
撮像部１２は、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal-Oxide Semiconductor）といった撮像素子やレンズ部を含んで構成され、被写体を撮像して画像を出力する機能を有する。
【００２７】
センシング部１４は、撮像部１２の物理的な動きをセンシングする機能を有する。具体的には、ウェアラブルカメラの筐体に内蔵された振動型角速度センサから構成されており、物理的な動きとして特に角速度をセンシングする。
動き検出部１６は、特徴点抽出部２２、特徴点位置予測部２４、ウインドウ設定部２６、特徴点探索部２８、多数決処理部３０を有し、撮像部１２によって撮影された画像のフレーム間の動きベクトルを検出する。検出した動きベクトルは、フレーム画像間の揺れの補正の利用に供される。
【００２８】
特徴点抽出部２２は、フレーム画像Ｆt（フレーム画像Ｆt、フレーム画像Ｆt+1は時間的に連続するフレームであり、順にそれぞれ、「前フレーム画像Ｆt」、「現フレーム画像Ｆt+1」と呼ぶ。）から特徴点を抽出する。特徴点の抽出手法は、一般的に利用されている周知の手法（例えば、Ｈａｒｒｉｓコーナー検出器（cornerdetector））に従って、画像中のエッジやコーナーといった特徴点を抽出する。
【００２９】
特徴点位置予測部２４は、センシング部１４から角速度を含むセンサ情報を取得し、取得したセンサ情報に基づいて、前フレーム画像における特徴点が、現フレーム画像内のどの位置に位置しているかを予測する。
ウインドウ設定部２６は、フレーム画像Ｆt+1内に特徴点探索部２８のウインドウを設定する。ウインドウは、特徴点の探索範囲を規定するものであり、フレーム画像の大きさよりは小さい。
【００３０】
特徴点探索部２８は、現フレーム画像Ｆt+1内に設定されたウインドウを対象として、前フレーム画像Ｆt内の特徴点に対応する特徴点を探索する。
多数決処理部３０は、特徴点抽出部２２により抽出された複数の特徴点と、特徴点探索部２８により探索された複数の特徴点から一対の特徴点組を多数作成して、多数決原理によりフレーム画像全体の動きを決定する。詳しくは後述する。
【００３１】
この探索は、マッチング法と呼ばれる一般的な手法を用いることができる。すなわち、現フレーム画像Ｆt+1におけるウインドウ内の画素の輝度レベルと前フレーム画像Ｆtの特徴点の輝度レベルとを比較することで、ウインドウ内の画素から対応する特徴点を探索する。
フレームメモリは、画像を１フレームごとに記憶するためのメモリであり、撮像部１２が出力した画像などを記憶する。
【００３２】
制御部２０は、ＣＰＵ、制御プログラムを格納するＲＯＭ、ＲＡＭを含んで構成されており、各機能ブロックを制御する。
次に、センシング部１４の具体的な内容について説明する。
＜センシング部１４＞
図２(ａ)は、ウェアラブルカメラを装着したユーザ２を表す模式図である。
【００３３】
ユーザ２には、その左胸付近の位置にウェアラブルカメラ１０が取り付けられている。この取り付けは、ウェアラブルカメラ１０の筐体上部から延びる首にぶら下げるためひもや、筐体背面のクリップを利用して行われている。
図２(ａ)に示すように、水平方向にｘ軸、垂直方向にｙ軸、ｘｙ平面に直交する方向をｚ軸（ウェアラブルカメラ１０の光軸方向を一致している。）と設定する。
【００３４】
また、図２(ｂ)に示すように、ｘ軸周りの回転をＰｉｔｃｈ（ピッチ）、ｙ軸周りの回転をＹａｗ（ヨー）、ｚ軸周りの回転をＲｏｌｌ（ロール）と呼ぶ。
センシング部１４を構成する振動型角速度センサは、角速度の検知にコリオリの力（Coriolis force）を利用する。
角速度ωで回転する座標系上で質量ｍの物体が速度Ｖで運動しているとき、この物体の移動方向に対して垂直方向にコリオリの力Ｆｃがかかり、その大きさは次の式１で表される。
【００３５】
【数１】
0005451593.tif 000002
【００３６】
このコリオリの力Ｆｃを検出することで角速度ωを求めることができる。実際には圧電素子を用いてコリオリの力を電圧や電流の変化量として計測するなどの方法で角速度を求めることができる。また圧電素子を複数の方向に設置することで、それぞれの向きに対する回転角速度を検出することができる。
なお、センシング部１４が搭載するセンサの数はある一方向に対して１つでもよく、複数でもよい。例えばｎ個のセンサの出力値の平均を取ると、Ｓ／Ｎ比がｎの平方根に比例して向上するので、より正確なセンサ情報を得ることができる。
【００３７】
次に、動き検出部１６の特徴点抽出・探索、多数決処理、ウインドウ設定について具体的に説明する。
＜特徴点抽出・探索＞
図３の下部は、時刻ｔの前フレーム画像Ｆt、上部は、時刻ｔ+１の現フレーム画像Ｆt+1を示す。
【００３８】
図３中、点ａ１，ａ２，ａ３は、特徴点抽出部２２がフレーム画像Ｆtから抽出した特徴点である。特徴点ａ１，ａ２,ａ３の座標は、それぞれ順に（ｘa1，ｙa1），（ｘa2，ｙa2），（ｘa3，ｙa3）である。
点ｂ１，ｂ２，ｂ３は、特徴点探索部２８がフレーム画像Ｆtから探索により検出した特徴点である。特徴点ｂ１，ｂ２，ｂ３は、特徴点ａ１，ａ２，ａ３にそれぞれ対応する特徴点であり、特徴点ｂ１，ｂ２，ｂ３の座標は、それぞれ順に（ｘb1，ｙb1），（ｘb2，ｙb2），（ｘb3，ｙb3）である。
【００３９】
＜多数決処理＞
多数決処理部３０は、前フレーム画像Ｆtの特徴点の集合Ｐａ＝｛（ｘａ１，ｙａ１），・・・，（ｘａｉ，ｙａｉ）｝、現フレーム画像Ｆt+1の特徴点の集合をＰｂ＝｛（ｘｂ１，ｙｂ１），・・・，（ｘｂｊ，ｙｂｊ）｝とし、Ｐａ，Ｐｂの中からそれぞれ１つ特徴点を選んで特徴点の組を作成する。そして特徴点の組からベクトルｖを算出して、ベクトルｖに従ってＰａの各特徴点を移動させてＰｂの各特徴点と一致するものｅをカウントする。
【００４０】
具体的に、上記したａ１〜ａ３、ｂ１〜ｂ３の特徴点の例では、ａ１とｂ１とを選んで組を作成すると、２点間のベクトルｖは式２で表される。
【００４１】
【数２】
0005451593.tif 000003
【００４２】
次に、多数決処理部３０は、このベクトルｖに従って前フレーム画像Ｆtのすべての特徴点（ａ１，ａ２，ａ３）を移動させる。そして、移動後の特徴点の位置に現フレーム画像Ｆt+1の特徴点が存在するものの数をカウントする。実際には画像の揺らぎの影響があって特徴点の位置が完全に一致するとは限らないので、例えば移動後の特徴点の位置から距離δの範囲内に特徴点が存在すればよいものとする。上記の例では３つある特徴点のうち（ａ１，ｂ１）と（ａ３，ｂ３）の２組がベクトルｖに従っていると判断できる。
【００４３】
同じようにしてａ２とｂ２からベクトルｖ’を算出した場合、（ａ２，ｂ２）の１組だけがベクトルｖ’に従っていると判断できる。
引き続いて、残りの特徴点の組み合わせについてもこの判断を行い、最も多くの特徴点組が従っているベクトルをフレーム画像全体の動きベクトルとする。図３の例では（ａ１，ｂ１）および（ａ３，ｂ３）の組から得られるベクトルｖが画像全体の動きベクトルであると判断できる。
【００４４】
なお、すべての特徴点の組に対して仮の動きベクトルを算出する代わりに、例えば１０ミリ秒など所定の時間だけ繰り返し処理を行い、その中で最も一致度の高い動きベクトルを出力するようにしてもよい。これによって特に処理時間が限られている場合に、その時間内で最良の解を得ることができる。
＜ウインドウ設定＞
特徴点探索部２８は、上述のように特徴点抽出部２２が抽出した輝度レベルなどに基づいて、探索を行うのであるが、現フレーム画像Ｆt+1の画像全体を探索範囲とすると、演算量が過大となる上、特徴点の存在可能性が低い範囲まで探索範囲に含めてしまうので効率が良くない。
【００４５】
このため、本実施の形態では、現フレーム画像Ｆt+1内に探索範囲となるウインドウを設定することで、探索範囲を限定し演算量の削減を図る。
図４は、ウインドウ設定部２６が設定したウインドウの例を示す図である。
図４に示すように、現フレーム画像Ｆt+1内には、特徴点ａ１に対応する特徴点を探索する探索範囲であるウインドウｗ１、特徴点ａ２に対応する特徴点を探索する探索範囲であるウインドウｗ２、特徴点ａ３に対応する特徴点を探索する探索範囲であるウインドウｗ３が設定されている。
【００４６】
ここで、ウインドウｗ２は、特徴点ａ２に対応する特徴点ｂ２がウインドウｗ２の外に位置しているので、特徴点ｂ２は特徴点探索部２８により検出されないこととなる。このように、ウインドウの設定により不要な特徴点の検出を抑制することで、演算量を削減するだけでなく動きベクトルの検出精度を向上させることができる。また特徴点の誤検出を抑制することもできる。
【００４７】
ウインドウｗ１〜ｗ３はいずれも、前フレーム画像Ｆｔの特徴点ａ１，ａ２，ａ３の位置が中心位置となるようにウインドウを設定しているが、本実施の形態では、より的確なウインドウを設定するために、センシングされた動きを利用してウインドウを設定する。
＜特徴点位置予測＞
次に、センシングされた動きから、前フレーム画像Ｆtの特徴点が、現フレーム画像Ｆt+1のどの位置にあるかを予測する手法について説明する。
【００４８】
まず、特徴点位置予測部２４は、センシング部１４から現フレーム画像Ｆt+1の時点における動きを取得し、取得した動きから画像中における画素移動量ｄを算出する。
図５は、カメラの回転角度（画角）と画素移動量ｄの関係を示す模式図である。図５を参照しながら、画素移動量ｄの算出方法について説明する。
例えばカメラがＹａｗ方向に回転し、センサによってＹａｗ方向の回転角速度を計測しているものとする。このとき、図５（ａ）のようにカメラがφだけ回転したとすると、φと各画素の画像上での移動量を示す画素移動量ｄの間には式３で示す関係が成立する。
【００４９】
【数３】
0005451593.tif 000004
【００５０】
なお、ｗは水平方向の解像度の半分の値、θは水平画角の半分の値である。また、ｄは画像上のすべての位置において等しいと近似するものとする。ここで、角度θおよびφが微小であると仮定すると、式３は以下の式４で近似することができる。
【００５１】
【数４】
0005451593.tif 000005
【００５２】
また、回転角速度をａ、動画像のフレームレートをＦrとすると、式４は以下の式５に書き換えることができる。
【００５３】
【数５】
0005451593.tif 000006
【００５４】
定数ｂはカメラの画角および解像度が決まれば自動的に決定され、フレームレートＦrは撮影時には決まっているので、式５よりセンサで得られる回転角速度ａと移動量ｄを対応付けることができる。
なお、これらの関係はカメラのＰｉｔｃｈ方向の回転に対しても同様に成立する。これによって画像上での縦横の移動量を求めることができる。
【００５５】
また、カメラのＲｏｌｌ方向の回転に対しては、図５（ｂ）より式６の関係が成り立つ。
【００５６】
【数６】
0005451593.tif 000007
【００５７】
なお、式６は最も移動量が大きくなる画像の端における値であり、中心に近づくほど移動量ｄは小さくなる。この式６を回転角速度ａ、フレームレートＦrを用いて表すと以下の式７が得られる。
【００５８】
【数７】
0005451593.tif 000008
【００５９】
以上のようにして予測位置を算出する。
＜予測位置に利用したウインドウ設定＞
このように特徴点位置予測部２４が算出した予測位置に基づいてウインドウを設定することで、演算量を削減でき、加えて不要な特徴点の検出を回避して精度を向上できる。図６、図７を用いて具体的なウインドウ設定について説明する。
【００６０】
図６は、下部は、時刻ｔの前フレーム画像Ｆt、上部は、時刻ｔ+１の現フレーム画像Ｆt+1を示す。
図６において、点ｐ１，点ｐ２は、特徴点抽出部２２が前フレーム画像Ｆtから抽出した特徴点である。点ｑ１，点ｑ２は、それぞれ点ｐ１，点ｐ２に対応する特徴点である。
現フレーム画像Ｆt+1内の符号ｄで示す矢印は、特徴点位置予測部２４が算出した移動量ｄを示すベクトルであり、特徴点ｐ１を、移動量ｄに従って移動させた点を点ｐ１’（予測位置点ｐ１’）と設定する。前フレーム画像Ｆtと現フレーム画像Ｆt+1とを撮像する間に、撮像部だけが動いて被写体が動いていないとすると、特徴点ｐ１は、点ｐ１’の付近に位置していると予測できる。
【００６１】
図７（ａ）（ｂ）は、予測位置を利用したウインドウ設定を示す図である。
図７（ａ）に示すように、ウインドウｗ４は、予測位置点ｐ１’を中心として設定されている。同様に、図７（ｂ）に示すように、ウインドウｗ５は、予測位置点ｐ２’（点ｐ２が移動量ｄに従って移動したと予測される位置である。）を中心として設定されている。
【００６２】
このように、予測位置点ｐ１’を中心としたウインドウｗ４を設定することで、前フレーム画像Ｆtと現フレーム画像Ｆt+1とを撮像する間に前フレーム画像Ｆtの点ｐ１の被写体自身が動いていないのであれば、点ｐ１に対応する点ｑ１をウインドウｗ４内に収めることができ、狭いウインドウサイズで的確な設定が実現できる。
反対に、前フレーム画像Ｆtと現フレーム画像Ｆt+1とを撮像する間に点ｐ２被写体自身が大きく動いた場合には、図７（ｂ）に示すように、点ｐ２に対応する点ｑ２をウインドウｗ５から外すことができ、被写体自身の動きに起因する動きを検出してしまうことを防ぐことができる。
【００６３】
図７（ｃ）は、図４同様、予測位置を利用せず、前フレーム画像Ｆtの特徴点ｐ１を中心位置としたウインドウ設定を示す図である。図７（ｃ）の場合、特徴点ｑ１はウインドウｗ６の外にあるので、このサイズでは特徴点ｑ１を検出できない。仮にウインドウｗ６のサイズを大きくすれば、特徴点ｑ１は検出可能となるが演算量の増加および検出精度の低下を招きやすい。
＜動作＞
図８〜図１０を参照しつつ本実施の形態に係るウェアラブルカメラ１０における動作について説明する。基本的な動作の流れは前述の通りであるので、重複部分は説明を簡単にする。
【００６４】
図８に示すように、まず、特徴点抽出部２２は、フレームメモリから前フレーム画像Ｆtを取得し、取得した前フレーム画像Ｆtから特徴点を抽出する（Ｓ１１）。そして、特徴点位置予測部２４は、センシング部１４から現フレーム画像Ｆt+1における角速度を取得し（Ｓ１２）、取得した角速度の誤差を補正する（Ｓ１３）。
なおステップＳ１２における角速度の取得は、要は前フレーム画像Ｆtから現フレーム画像Ｆt+1に至るまでの間の撮像部１２の角速度（フレーム間画像の動きに影響する角速度。）を判断するためのものであるから、必ずしも現フレーム画像Ｆt+1の時点（時刻ｔ＋１）で取得した値に限られない。例えば、前フレーム画像Ｆtの時点（時刻ｔ）で取得した値や、時刻ｔから時刻ｔ＋１までに取得した複数の値の平均値であっても構わない。
【００６５】
この誤差の補正は、例えば次のように行う。
まずはじめに、センシング部１４のセンサの誤差分布を測定する。例えばセンサ出力の誤差が、図１１のような、平均がμ，標準偏差がσの正規分布に従っているものとする。この際、この正規分布の平均μや標準偏差σに基づいて補正量を決定することができる。例えばセンサ出力がａであった場合、補正後の値ａ’を次の式８によって算出することができる。
【００６６】
【数８】
0005451593.tif 000009
【００６７】
式８において、ｘは定数であり、一般的な正規分布の性質から、ｘ＝２とすると出力の約９５％が、ｘ＝３とすると約９９％が誤差範囲内に含まれることになる。従って、許容される誤差の大きさに応じてｘの値を変更することで最適な補正量を決定することができる。実際の誤差の補正に際しては、あらかじめ制御部２０のＲＯＭなどにセンサの誤差の平均μ，標準偏差σ，および定数ｘを記録しておき、補正時にこれらの値を読み出して式８に従って補正を行う。
【００６８】
次に、特徴点位置予測部２４は、補正後の角速度に基づいて画像内の画素移動量ｄを算出する（Ｓ１４）。この画素移動量ｄの算出方法は、図５を用いて説明した通りである。
算出を終えると、ウインドウ設定処理（Ｓ１５）、動き決定処理(Ｓ１６)に移行する。
図９に示すように、ウインドウ設定処理では、ウインドウ設定部２６は、フレーム画像Ｆｔの特徴点情報を取得する（Ｓ２１）。
【００６９】
そして、ウインドウ設定部２６は、各特徴点を画素移動量ｄに従って移動させた位置を、各特徴点の予測位置と決定し（Ｓ２２）、予測位置を中心としたウインドウを設定する（Ｓ23）。
特徴点探索部２８は、現フレーム画像Ｆt+1内に設定されたウインドウを対象に、特徴点を探索して検出する（Ｓ２４）。
【００７０】
図１０に示すように、動き決定処理では、多数決処理部３０は、フレーム画像間の動きベクトルを決定する。
具体的には、多数決処理部３０は、ｅmax=0と設定し（Ｓ３１）、前フレーム画像Ｆtおよび現フレーム画像Ｆt+1の特徴点を取得する(Ｓ３２)。そして、前フレーム画像Ｆtの特徴点１つと、現フレーム画像Ｆt+1の特徴点１つとを組み合わた特徴点組を作成する（Ｓ３３）。作成した特徴点組からベクトルｖを算出し(Ｓ３４)、前フレーム画像Ｆｔにおける各特徴点をベクトルｖに従い移動させ、現フレーム画像Ｆt+1における各特徴点との一致度を判定する(Ｓ３５)。
【００７１】
多数決処理部３０は、一致と判定した特徴点の数ｅをカウントする(Ｓ３６)。数ｅがそれまでの最大値ｅmaxを超えれば(Ｓ３７:Yes)、多数決処理部３０は、当該数ｅを新しい最大値ｅmaxに設定し(Ｓ３８)、ベクトルｖを暫定１位のベクトルとして記憶する(Ｓ３９)。
ステップＳ３３からＳ３９までの処理を繰り返して、すべての特徴点組についてのｅのカウントが終了すれば(Ｓ４０:Yes)、暫定１位の動きベクトルをフレーム画像Ｆt，Ｆt+1間の動きベクトルに決定する(Ｓ４１)。なお、図８〜図１０の処理は、撮像部１２がフレーム画像を出力するごとに、すなわちフレームごとに行われる。
【００７２】
以上、説明したように、本実施の形態によれば、センシング部１４がセンシングした角速度に基づいて、前フレーム画像Ｆtにおける特徴点が現フレーム画像Ｆt+1においてどう移動したかを予測した値である画素移動量ｄを求め、この特徴点を画素移動量ｄに従って移動させた予測位置を中心にウインドウを設定するので、的確なウインドウ設定が実現でき、演算量の削減ひいては消費電力量を抑えることができる。加えて、的確なウインドウ設定により、ウェアラブルカメラ自身の動きとは異なる特徴点を積極的にウインドウ外へと追いやることができ、言い換えるとカメラ自身の動きには起因しない被写体の動きを排除することで、動き検出の精度を向上させることが可能となる。
【００７３】
また、ウェアラブルカメラが大きく動いたことにより、画素移動量ｄが大きくなったとしても、この画素移動量ｄに従って特徴点を移動させ、移動後の予測位置を中心にウインドウ設定するので、ウインドウサイズを一定に抑えつつも、大きな動きを検出することが可能となる。
なお、上記では図７に示すように、予測位置ｐ１’を中心に矩形のウインドウを設定するとして説明したが、必ずしも予測位置ｐ１’を中心位置としなくても少なくとも当該予測位置ｐ１’を含むようにウインドウを設定すれば的確な設定が実現できる。また、例えば次のようにウインドウを設定しても同様な効果を得ることができる。以下、変形例として説明する。
【００７４】
図１２は、ウインドウ設定の変形例１〜３を示す図である
＜変形例１＞
変形例１に係る図１２（ａ）では、ウインドウｗ７は、矩形ではなく、予測位置ｐ１’を中心位置とした円形状である。検出したい特徴点ｑ１は、予測位置ｐ１’を中心とした等距離の範囲で移動する可能性が高いので、円形状のウインドウｗ７を設定することで、効率の良い特徴点探索に寄与し得る。
【００７５】
＜変形例２＞
変形例２に係る図１２（ｂ）では、ウインドウｗ８は、矩形ではなく、予測位置ｐ１’を中心位置とした楕円形状である。検出したい特徴点ｑ１は、画素移動量ｄの方向に沿う方向に移動する可能性が高いので、長軸が画素移動量ｄの方向と一致したウインドウｗ８を設定することで、効率の良い特徴点探索を実現できる。
【００７６】
＜変形例３＞
変形例３に係る図１２（ｃ）では、ウインドウｗ９の中心位置は、予測位置ｐ１’ではなく、予測位置ｐ１’と特徴点ｐ１の中点ｍとなっている。このようなウインドウｗ９も、効率の良い特徴点探索に貢献できる。
（実施の形態２）
実施の形態２では、実施の形態１の構成に加えて、ウェアラブルカメラの動きに応じてフレームレートなどを変更することで、ウインドウサイズを一定サイズに抑えつつ、大きな動きの検出を実現する。
【００７７】
図１３は、実施の形態２に係るウェアラブルカメラの機能ブロック図である。
ウェアラブルカメラ１１は、フレームレート変更部３２、シャッタースピード変更部３４、感度変更部３６を備える。他の機能ブロックは図１と同様であるので同じ符号を付して説明を省略する。
フレームレート変更部３２は、センシング部１４からセンサ出力を取得し、取得したセンサ出力に応じて撮像部１２のフレームレートＦrを変更する。
【００７８】
シャッタースピード変更部３４は、センシング部１４からセンサ出力を取得し、取得したセンサ出力に応じて撮像部１２のシャッタースピードを変更する。
感度変更部３６は、シャッタースピード変更部３４によるシャッタースピードの変更に連動して、撮像部１２の感度を変更することで、シャッタースピードを高速度化に伴う光量の低下を補う。
【００７９】
図１４は、実施の形態２に係るウェアラブルカメラ全体的な処理内容を示すフローチャートである。
図１４（ａ）は、図８のフローと基本的には同様であり、フレームレート変更処理(Ｓ１７)が追加されている。図１４（ａ）中、図８の同様のステップには同じステップ番号を付して説明を省略する。
【００８０】
図１４（ｂ）に示すように、フレームレート変更処理では、フレームレート変更部３２は、フレームレート変更許可があるかどうか判断し（Ｓ５１）、ステップＳ１３において補正されたセンサ情報に含まれるセンサ出力ａ’を取得し、閾値以上かどうか判断する(Ｓ５２)。
閾値の設定方法は次のように行う。
【００８１】
上記したように、式５，式７より、あるフレームレートＦrにおける画素移動量ｄが決定される。また、ウインドウ処理の性質上、ある特徴点が移動したとき、移動後の位置がウインドウの範囲内になければ動き検出を行うことができない。そこで、動き検出を行うことができる最大の移動量をｄmaxとすると、フレームレートがＦrの際に移動量がｄmaxとなるような限界回転加速度ａmaxが得られる。例えば数式５において、ｄ＝ｄmaxとしてこの式をａについて解くと、ａmaxの値は以下の数式９で定義される。
【００８２】
【数９】
0005451593.tif 000010
【００８３】
同様に、式７をａについて解くことで、Ｒｏｌｌ方向の回転における限界回転加速度の値を求めることができる。このａmaxを閾値として用いることができる。
閾値以上であれば（Ｓ５２:Yes）、フレームレート変更部３２は撮像部１２のフレームレートを、高フレームレートＦr（ａ’）に変更する（Ｓ５３）。具体的には、目標とする移動量をｄ’（ただし、ｄ’＜ｄmaxである）とすると、例えば式５よりＦr（ａ’）は次の式１０で与えられる．
【００８４】
【数１０】
0005451593.tif 000011
【００８５】
なお、閾値未満であれば（Ｓ５２:No）、フレームレート変更部３２は撮像部１２のフレームレートを通常フレームレートに変更する（Ｓ５４）。
そして、時間ｔ１の間フレームレートを変更禁止に設定する（Ｓ５５）。この設定は、フレームレートの変更間隔を規定するものであり、例えばｔ１は数秒程度に設定する。
フレームレートＦｒをＦr（ａ’）へと高く変更することで、フレーム画像Ｆｔと、その次に撮像するフレーム画像Ｆt+1との間の時間差が短くなる。このため、特徴点の移動量の小さくすることができる。また、Ｆr（ａ’）と変更することにより、フレーム画像Ｆt+1における特徴点を確実にウインドウ内に収めることができるので、カメラの動きと異なる方向に動く被写体の特徴点が存在するとしても、安定して動きとして検出することができる。
【００８６】
なお、上記フレームレートＦr（ａ’）はいわばフレームレートの目標値であり、カメラの仕様などによって、元の値を目標値に変更するまでに時間を要したり、実際の値とはずれたりする場合もある。
また、フレームレートの変更は、次のように行っても構わない。以下、実施の形態２に係る変形例として説明する。
【００８７】
＜変形例１＞
図１５は、センサ出力、フレームレート、感度、シャッタースピードの項目を含む変更テーブル４０である。この変更テーブル４０は制御部２０のＲＯＭ内に記憶されており、項目として、「センサ出力ａ’」４０ａ、「フレームレートＦr（ａ’）」４０ｂ、「感度ＩＳＯ（ａ’）」４０ｃ、「シャッタースピードＳ（ａ’）」４０ｄを含む。
【００８８】
「センサ出力ａ’」４０ａの値が大きくなるほど、「フレームレートＦr（ａ’）」４０ｂはより高くなり、「感度ＩＳＯ（ａ’）」４０ｃはより高感度になり、「シャッタースピードＳ（ａ’）」４０ｄはより速くなるという関係性である。
なお、ウェアラブルカメラ１１のフレームレートは最大60fpsという制約があるため、「センサ出力ａ’」が0.025の場合も0.020ときと同じ60fpsとなっている。
【００８９】
変形例１では、制御部２０は、補正後のセンサ出力を取得し、変更テーブルを参照して、フレームレート、感度、シャッタースピードを変更する。本変形例１によれば、各変数を段階的に変更することで、消費電力を抑えつつ、特徴点を探索することができる。
また上述のようにフレームレートには制約があるため、物理的な動きが特に大きい状況下、すなわちセンサ出力ａ’が特に大きい状況下には、ウインドウ内に特徴点を収められない可能性が高くなる。
【００９０】
このため、物理的な動きが小さい間は、フレームレートの上昇により対応し、フレームレートが最大値に達すると（物理的な動きがある値を上回ると）、ウインドウサイズの拡大という手法を併用するとしても構わない。
＜変形例２＞
上記実施の形態２では、フレームレートはセンサ出力に基づいて変更するとして説明したが、変形例２では、フレームレートをウインドウのサイズにも基づいてフレームレートを決定する。
【００９１】
具体的には、式１０においてフレームレートを決定する際に移動量ｄ’を動き検出を行うことができる最大の移動量ｄmaxより小さい値と定義しているが、この移動量ｄ’をウインドウの１辺の長さの半分より小さい値とすることでフレームレートを決定する。これによって、移動後の特徴点がウインドウをはみ出さないことが保証できる。なお、上記実施の形態１の変形例のようにウインドウが予測位置ｐ’１を中心とする矩形でない場合、ｄ’はそれぞれのウインドウの形態に応じて決定する。例えば、上記実施の形態１の変形例２のようにウインドウが楕円形である場合、ｄ’を楕円の短軸の長さの半分とすることで、移動後の特徴点がウインドウをはみ出さないことが保証できる。なお、ｄ’を最大の移動量ｄmaxおよびセンサ出力の双方に基づいて決定してもよい。
＜補足＞
以上、本発明の実施の形態について説明したが、本発明は上記の内容に限定されず、本発明の目的とそれに関連または付随する目的を達成するための各種形態においても実施可能であり、例えば、以下であってもよい。
【００９２】
(１)実施の形態１，２では、ウインドウサイズを固定的に設定するとして説明したが、所定フレーム数ごとにより大きなサイズのウインドウを設定するようにしても構わない。特に、所定フレーム数ごとに通常の画像全体を探索範囲と設定するようにしても構わない。
上述のように、ウインドウサイズは小さい方が好ましいが、ウインドウを特徴点の周りにだけ狭く設定することで、画像の揺らぎや障害物による遮蔽などで特徴点が検出されなくなり、その場合、特徴点は以降ウインドウから外れたままになってしまうことがある。
【００９３】
このため、所定フレーム数ごと１回は、画像全体に探索範囲に設定しなおすと、確実に探索範囲内に特徴点を収めることができ、より安定に動きを検出できるようになる。
(２)実施の形態１，２では、センシング部１４として角速度センサを例に挙げて説明したが、角速度センサに限らず加速度センサであっても構わない。
(３)実施の形態１，２では、撮像装置としてウェアラブルカメラを例に挙げて説明したが、ウェアラブルカメラに限らず、デジタルビデオカメラをはじめとする動画の撮影が可能なあらゆる撮像装置に対しても実施の形態を適用することができ、特に、揺れや動きの大きい、過酷な環境下での使用が想定される撮像装置に有効である。
【００９４】
(４)実施の形態１，２では、前フレーム画像Ｆtから特徴点を抽出し、後フレーム画像Ｆt+1から抽出した特徴点に対応する特徴点を探索するとして説明した。要はフレーム画像Ｆt，Ｆt+1間のフレーム画像全体の動きを求められればよいので、反対に、後フレーム画像Ｆt+1から抽出し、前フレーム画像Ｆtから探索するという構成もあり得る。
また、フレーム画像Ｆt，Ｆt+1のように時間的に隣り合うフレーム画像間でなくてもよい。例えば第１フレーム画像Ｆ1と、第２フレーム画像Ｆ2（第１フレーム画像Ｆ1より時間的に後のフレーム画像）のいずれか一方から特徴点を抽出し、他方から対応する特徴点を探索しても、第１フレーム画像Ｆ1，Ｆ2間の画像全体の動きベクトルを求めることができる。
【００９５】
なお、この場合、センシング部１４により、例えばこの両フレーム画像Ｆ1，Ｆ2間の時間における角速度を検出することで、画素移動量ｄを求めて、フレーム画像Ｆ1，Ｆ2間に特徴点が移動した位置を予測することができる。
(５)実施の形態２では特に触れなかったが、シャッタースピード変更部３４や感度変更部３６として、ＡＥ（Automatic Exposure）カメラなどにおいて一般的に利用されるＡＥ機能を利用しても構わない。
【００９６】
（６）上述の実施の形態で示した動作、処理（図８〜図１０）をウェアラブルカメラ等の撮像装置のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるためのプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路を介して流通させ頒布することもできる。
このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ等がある。
【００９７】
流通、頒布された制御プログラムは、プロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより実施の形態で示したような各種機能が実現されるようになる。
【産業上の利用可能性】
【００９８】
本発明に係る撮像装置は、演算量の増加を抑えつつ、フレーム画像間の動きベクトルを検出できるので有用である。
【符号の説明】
【００９９】
１０，１１  ウェアラブルカメラ
１２  撮像部
１４  センシング部
１６  動き検出部
２０  制御部
２２  特徴点抽出部
２４  特徴点位置予測部
２６  ウインドウ設定部
２８  特徴点探索部
３０  多数決処理部
３２  フレームレート変更部
３４  シャッタースピード変更部
３６  感度変更部
Ｆt 前フレーム画像
Ｆt+1 現フレーム画像
ａ１，ａ２，ａ３，ｐ１，ｐ２  前フレーム画像Ｆtの特徴点
ｂ１，ｂ２，ｂ３，ｑ１，ｑ２  現フレーム画像Ｆt+1の特徴点
ｄ  画素移動量
ｐ１’，ｐ２’  予測位置（それぞれ特徴点ｐ１，ｐ２を、画素移動量ｄに従って移動させた点）
ｗ１〜ｗ９  ウインドウ
【図１】
0005451593.tif 000012
【図２】
0005451593.tif 000013
【図３】
0005451593.tif 000014
【図４】
0005451593.tif 000015
【図５】
0005451593.tif 000016
【図６】
0005451593.tif 000017
【図７】
0005451593.tif 000018
【図８】
0005451593.tif 000019
【図９】
0005451593.tif 000020
【図１０】
0005451593.tif 000021
【図１１】
0005451593.tif 000022
【図１２】
0005451593.tif 000023
【図１３】
0005451593.tif 000024
【図１４】
0005451593.tif 000025
【図１５】
0005451593.tif 000026