撮像装置、撮像方法および撮像プログラム
【課題】高速かつ認識精度の高い安定したジェスチャ認識を行って、該ジェスチャ認識に基づいて動作制御を行う。
【解決手段】所定間隔で画像データを入力する画像入力手段101と、画像データに基づいて被写体の顔領域を検出する顔検知手段102と、所定間隔で入力される2つの画像データ間における回転動作を検知する回転動作検知手段103と、回転動作が検知された場合に当該撮像装置に所定動作を実行させるシャッター制御手段105と、を備え、回転動作検知手段103は、2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、顔検知手段102により検出された顔領域の中心座標と、回転中心座標と、回転角度と、に基づいて、回転動作候補が回転動作に該当するか否かを判断する。
【解決手段】所定間隔で画像データを入力する画像入力手段101と、画像データに基づいて被写体の顔領域を検出する顔検知手段102と、所定間隔で入力される2つの画像データ間における回転動作を検知する回転動作検知手段103と、回転動作が検知された場合に当該撮像装置に所定動作を実行させるシャッター制御手段105と、を備え、回転動作検知手段103は、2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、顔検知手段102により検出された顔領域の中心座標と、回転中心座標と、回転角度と、に基づいて、回転動作候補が回転動作に該当するか否かを判断する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置、撮像方法および撮像プログラムに関する。さらに詳述すると、被写体を認識し、被写体の動きに基づいて制御を行う撮像装置、撮像方法および撮像プログラムに関する。
【背景技術】
【0002】
従来、レリーズボタンが押下されてから所定時間経過後に被写体の撮影を行ったり、任意のタイミングにて自動的に被写体の撮影を行ったりする自動撮影(オートシャッター)機能を備えたデジタルカメラやデジタルビデオカメラ等の撮像装置が多く普及している。
【0003】
従来の自動撮影では、レリーズボタンを押下してから撮像装置から離れ、自らも被写体となる場合等において、レリーズボタンの押下後に、十分に撮影の準備ができていない状態で撮影されてしまう場合や、撮影の準備が終わっても実際にシャッターが切られるまでしばらく待機しなければならないという問題があった。
【0004】
また、リモコン等を使って遠隔操作によりシャッターを切る撮像装置も提案されているが、リモコンを忘れてしまうことや、常に携帯することが煩雑であるという問題があった。
【0005】
このような課題に対して、例えば、特許文献1には、被写体人物の両目の開閉の動きに応じて、撮像装置のシャッターを自動制御する技術が提案されている。特許文献1では、複数の被写体(顔)が存在するときに顔に優先順位を付けて、優先順位の高い被写体の顔動きを認識したり、優先順位の高い被写体の顔の両目の開閉の組み合わせに応じて制御信号を入力したりする構成が開示されている。
【0006】
しかしながら、上記特許文献1に記載の技術では、被写体の撮像装置からの距離が遠い場合には、顔のサイズが小さくなるため、その顔の一部の動きを認識することは、困難であるという問題があった。例えば、集合写真のような撮影の場合、被写体はカメラからある程度離れ、さらに、全員を撮影するために広角ズーム等を使う場合が多い。このような撮影状況では、撮影される個々の顔のサイズは小さくなる。したがって、顔の検知自体は精度よく検知することができた場合でも、その一部(目の開閉等)の変化までを正確に認識することは困難であり、自動撮影制御ができないという問題があった。
【0007】
このため、顔の一部の動きを精度よく認識するためには、被写体が撮像装置に近い位置にあるか、望遠ズーム等を使用することで、結像される顔の大きさを一定以上の大きさとすること等が必要であった。
【0008】
また、画像から顔やジェスチャを検出して撮像装置の動作制御を行う技術も提案されており、特許文献2には、画像データから顔画像を検出し、この検出した顔画像に対応する手画像を検出して、検出した手画像の形状または動きに応じて撮像装置の動作制御を行う技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上記の特許文献2に記載の技術では、ジェスチャ認識を正確に行うためには、ジェスチャ認識を行う体の部位の位置情報、色情報、サイズ情報、テクスチャ情報など、膨大な情報が必要となっており、また、膨大な情報を用いて認識を行うと装置に処理負荷がかかり時間も要してしまうという問題がある。更には、ジェスチャの仕方、肌の色、体の部位の大きさや形などは、個人によって異なるものであるため、膨大な情報を用いてジェスチャ認識を行った場合でも、正確に認識できない場合も考えられる。
【0010】
そこで本発明は、撮像装置の動作制御を行うにあたり、画像から検出される被写体の顔領域と、該被写体についての回転する動きの回転中心座標および回転角度に基づいてジェスチャ認識を行うことにより、高速かつ認識精度の高い安定したジェスチャ認識を行って、該ジェスチャ認識に基づいて動作制御を行うことができる撮像装置、撮像方法および撮像プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
かかる目的を達成するため、本発明に係る撮像装置は、所定の時間間隔で連続して画像データを入力する画像入力手段と、前記画像データに基づいて被写体の顔領域を検出する顔検知手段と、所定間隔で入力される2つの前記画像データ間における回転動作を検知する回転動作検知手段と、該回転動作検知手段により、前記回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御手段と、を備え、前記回転動作検知手段は、前記2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、前記顔検知手段により検出された前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、に基づいて、前記回転動作候補が前記回転動作に該当するか否かを判断するものである。
【発明の効果】
【0012】
本発明によれば、高速かつ認識精度の高い安定したジェスチャ認識を行って、該ジェスチャ認識に基づいて動作制御を行うことができる。
【図面の簡単な説明】
【0013】
【図1】本発明に係る撮像装置の一実施形態であるデジタルカメラの外観図の一例であって、(a)は上面図、(b)は正面図、(c)は裏面図を示す。
【図2】撮像装置の機能ブロック図の一例である。
【図3】自動撮影制御に係る撮像装置の制御ブロック図である。
【図4】自動撮影処理のフローチャートである。
【図5】時系列に入力されるフレーム画像データの例を示す概念図である。
【図6】回転動作検知処理のフローチャートである。
【図7】回転動作検知処理の説明図であって、(A)腕動きジェスチャ前のフレーム画像データ、(B)腕動きジェスチャ後のフレーム画像データの例である。
【図8】腕動きベクトル探索領域および動きベクトルの説明図である。
【図9】ブロックに分割された、(A)腕動きジェスチャ前のフレーム画像データ、(B)腕動きジェスチャ後のフレーム画像データの例である。
【図10】回転中心座標と回転角度の算出方法の説明図である。
【図11】SVMによる腕ジェスチャ認識を模式的に示したグラフである。
【発明を実施するための形態】
【0014】
以下、本発明に係る構成を図1から図11に示す実施の形態に基づいて詳細に説明する。
【0015】
括弧内は実施形態での符号、適用例を示す。本実施形態に係る撮像装置は、所定の時間間隔で連続して画像データを入力する画像入力手段(101)と、画像データ(Fa(第一画像データ))に基づいて被写体(40)の顔領域(50)を検出する顔検知手段(102)と、所定間隔で入力される2つの画像データ(Fb(第二画像データ),Fc(第三画像データ))間における回転動作(腕動きジェスチャ)を検知する回転動作検知手段(103)と、該回転動作検知手段により、回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御手段(シャッター制御手段105)と、を備え、回転動作検知手段は、2つの画像データ間における回転動作候補(腕動きベクトル)を検知し、該回転動作候補の回転中心座標(O’)と、該回転動作候補の回転角度(θ)を算出し、顔検知手段により検出された顔領域の中心座標(O)と、回転中心座標と、回転角度と、に基づいて、回転動作候補が前記回転動作に該当するか否かを判断するものである。
【0016】
(撮像装置の構成)
本実施形態では、撮像装置の一例としてデジタルカメラを例に説明する。図1はデジタルカメラの外観図を示し、(a)はカメラ上面図、(b)はカメラ正面図、(c)はカメラ裏面図を示している。なお、撮像装置はデジタルカメラに限られるものではなく、自動撮影機能を備えた撮像装置であれば良い。
【0017】
図1(a)に示すように、デジタルカメラは、上面に、サブLCD1と、レリーズシャッター(レリーズボタン)2(SW1)と、モードダイヤル4(SW2)とを有する。
【0018】
また、図1(b)に示すように、デジタルカメラは、正面に、ストロボ発光部3と、測距ユニット5と、リモコン受光部6と、レンズユニット7と、光学ファインダ(正面)11とを有する。また、メモリカードスロットル23は、SDカード等のメモリカード34を挿入するスロットルを示し、カメラ側面に設けられる。
【0019】
また、図1(c)に示すように、デジタルカメラは、裏面に、AFLED(オートフォーカスLED)8と、ストロボLED9と、LCDモニタ(表示手段)10と、光学ファインダ(裏面)11と、ズームボタン(ズームレバー)TELE12(SW4)と、電源スイッチ13(SW13)と、ズームボタン(ズームレバー)WIDE14(SW3)と、セルフタイマ/削除スイッチ15(SW6)とを有する。
【0020】
さらに、メニュースイッチ16(SW5)と、OKスイッチ17(SW12)と、左/画像確認スイッチ18(SW11)と、下/マクロスイッチ19(SW10)と、上/ストロボスイッチ20(SW7)と、右スイッチ21(SW8)と、画像を表示するディスプレイスイッチ22(SW9)とを有する。
【0021】
図2は図1に示したデジタルカメラの制御系の機能ブロック図を示している。以下、デジタルカメラ内部のシステム構成について説明する。
【0022】
図2に示すように、このデジタルカメラ内には、レンズユニット7に設置した撮影レンズ系を通して入射される被写体画像が受光面上に結像する固体撮像素子としてのCCD121、CCD121から出力される電気信号(アナログRGB画像信号)をデジタル信号に処理するフロントエンドIC(F/E)120、フロントエンドIC(F/E)120から出力されるデジタル信号を処理する信号処理IC110、データを一時的に格納するSDRAM33、制御プログラム等が記憶されたROM30、モータドライバ32等が設けられている。
【0023】
レンズユニット7は、ズームレンズ、フォーカスレンズおよびメカニカルシャッタ等からなり、モータドライバ32によって駆動される。モータドライバ32は、信号処理IC110の内部に含まれるマイクロコンピュータ(CPU、制御部)111によって制御される。
【0024】
CCD121は、光学画像を光電変換するための固体撮像素子であって、CCDを構成する複数の画素上に色分解フィルタとしてのRGB原色フィルタが配置されており、RGB3原色に対応した電気信号(アナログRGB画像信号)が出力される。
【0025】
フロントエンドIC(F/E)120は、CCD出力電気信号(アナログ画像データ)についてサンプリングホールド(相関二重サンプリング)を行うCDS122、このサンプリングされたデータのゲインを調整するAGC(Auto Gain Control)123、デジタル信号変換を行うA/D変換機(A/D)124、及びCCDI/F112より垂直同期信号(VD)、水平同期信号(HD)を供給されCCD121とF/E120との駆動タイミング信号を発生するTG(タイミングジェネレータ:制御信号発生器)125を有する。
【0026】
発振器(クロックジェネレータ)は、CPU111を含む信号処理IC110のシステムクロックとTG125等にクロックを供給している。TG125は発振器のクロックを受けて、ピクセル同期をするためのピクセルクロックを信号処理IC110内のCCDI/F112に供給する。
【0027】
F/E120から信号処理IC110に入力されたデジタル信号は、CCDI/F112を介して、メモリコントローラ115によりSDRAM33にRGBデータ(RAW−RGB)として一時保管される。
【0028】
信号処理IC110は、システム制御を行うCPU111、CCDI/F112、リサイズ処理部113、メモリコントローラ115、表示出力制御部116、圧縮伸張部117、メディアI/F部118、YUV変換部119等から構成されている。
【0029】
CCDI/F112は、垂直同期信号(VD)、水平同期信号(HD)の出力を行い、その同期信号に合わせてA/D124から入力されるデジタル(RGB)信号を取り込んで、メモリコントローラ115経由でSDRAM33にRGBデータの書き込みを行う。
【0030】
表示出力制御部116はSDRAM33に書き込まれた表示用データを表示部に送り、撮影した画像の表示を行う。表示出力制御部116は、デジタルカメラが内蔵しているLCDモニタ10に表示することも、TVビデオ信号として出力して外部装置に表示することも可能である。
【0031】
ここでいう、表示用データとは、自然画像のYCbCrと、撮影モードアイコンなどを表示するOSD(オンスクリーンディスプレイ)データであり、いずれもSDRAM33上に置かれたデータをメモリコントローラ115が読み出して表示出力制御部116に送り、表示出力制御部116で合成したデータをビデオデータとして出力する。
【0032】
圧縮伸張部117は、記録時はSDRAM33に書き込まれたYCbCrデータを圧縮してJPEG符号化されたデータを出力し、再生時は読み出したJPEG符号化データをYCbCrデータに伸張して出力する。
【0033】
メディアI/F118は、CPU111の指示により、メモリカード34内のデータをSDRAM33に読み出したり、SDRAM33上のデータをメモリカード34に書き込んだりする。
【0034】
YUV変換部119は、CPU111から設定された画像現像処理パラメータに基づき、SDRAM33に一時保管されたRGBデータを輝度Yと色差CbCrデータ(YUVデータ)に変換処理し、SDRAM33へ書き戻す。
【0035】
リサイズ処理部113は、YUVデータを読み出して、記録するために必要なサイズへのサイズ変換、サムネイル画像へのサイズ変換、表示に適したサイズへのサイズ変換などを行う。
【0036】
また、全体の動作を制御する制御部であるCPU111は、起動時にROM30に格納されたカメラの制御を行う制御プログラムおよび制御データを、例えばSDRAM33にロードし、そのプログラムコードに基づいて全体の動作を制御する。
【0037】
CPU111は、操作部31のボタンキー等による指示、あるいは図示しないリモコン等の外部動作指示、あるいはパーソナルコンピュータ等の外部端末からの通信による通信動作指示に従い、撮像動作制御、画像現像処理パラメータの設定、メモリコントロール、表示制御等を行う。
【0038】
操作部31は、撮影者がデジタルカメラの動作指示を行うためのものであり、撮影者の操作によって所定の動作指示信号が制御部に入力される。例えば、図1に示すように、撮影を指示する2段(半押し、全押し)レリーズシャッター2、光学ズームおよび電子ズーム倍率を設定するズームボタン12,14等の各種ボタンキーを備えている。
【0039】
操作部31よりデジタルカメラの電源キーがオンされたことを検出すると、CPU111は各ブロックに所定の設定を行う。この設定により、レンズユニット7を介してCCD121で受光した画像は、デジタル映像信号に変換されて信号処理IC110に入力される。
【0040】
信号処理IC110へ入力されたデジタル信号はCCDI/F112に入力される。CCDI/F112では光電変換されたアナログ信号に黒レベル調整等の処理が行われて、SDRAM33に一旦保存される。このSDRAM33に保存されたRAW−RGB画像データは、YUV変換部119に読み出されて、ガンマ変換処理、ホワイトバランス処理、エッジエンハンス処理、YUV変換処理が行われYUV画像データとしてSDRAM33へ書き戻される。
【0041】
YUV画像データは表示出力制御部116に読み出され、例えば出力先がNTSCシステムのTVであれば、リサイズ処理部113により、そのシステムに合わせた水平・垂直の変倍処理が施され、TVに出力される。この処理がVD毎に行われることで、スチル撮影前の確認用の表示であるモニタリングが行われる。
【0042】
(撮像装置の動作)
次に、デジタルカメラのモニタリング動作および静止画撮影動作について説明する。このデジタルカメラは、静止画撮影モード時には、以下に説明するようなモニタリング動作を実行しながら静止画撮影動作が行われる。
【0043】
先ず、撮影者が電源スイッチ13をONにし、モードダイヤル4を撮影モード(静止画撮影モード)に設定することで、デジタルカメラが記録モードで起動する。これをCPU111が検知すると、CPU111はモータドライバ32に制御信号を出力して、レンズユニット7を撮影可能位置に移動させ、かつ、CCD121、F/E120、信号処理IC110、SDRAM33、ROM30、LCDモニタ10等を起動させる。
【0044】
そして、レンズユニット7の撮影レンズ系を被写体に向けることにより、撮影レンズ系を通して入射される被写体画像がCCD121の各画素の受光面上に結像する。そして、CCD121から出力される被写体画像に応じた電気信号(アナログRGB画像信号)は、CDS122、AGC123を介してA/D124に入力され、A/D124により12ビットのRAW−RGBデータに変換する。
【0045】
このRAW−RGBデータは、信号処理IC110のCCDI/F112に取り込まれてメモリコントローラ115を介してSDRAM33に保存される。そして、SDRAM33から読み出されたRAW−RGBデータは、YUV変換部119に入力されて表示可能な形式であるYUVデータに変換された後に、メモリコントローラ115を介してSDRAM33にYUVデータが保存される。
【0046】
そして、SDRAM33からメモリコントローラ115を介して読み出したYUVデータは、表示出力制御部116を介してLCDモニタ10へ送られ、撮影画像(動画)が表示される。LCDモニタ10に撮影画像を表示しているモニタリング時においては、CCDI/F112による画素数の間引き処理により1/30秒の時間で1フレームを読み出している。
【0047】
なお、このモニタリング動作時は、電子ファインダとして機能するLCDモニタ10に撮影画像(動画)が表示されているだけで、まだレリーズボタン2が押圧(半押も含む)操作されていない状態である。
【0048】
この撮影画像のLCDモニタ10への表示によって、静止画を撮影するための構図の確認等をすることができる。なお、表示出力制御部116からTVビデオ信号として出力して、ビデオケーブルを介して外部のTV(テレビ)に撮影画像(動画)を表示することもできる。
【0049】
そして、信号処理IC110のCCDI/F112は、取り込まれたRAW−RGBデータより、AF(自動合焦)評価値、AE(自動露出)評価値、AWB(オートホワイトバランス)評価値(WB評価値ともいう)を算出する。
【0050】
AF評価値は、例えば高周波成分抽出フィルタの出力積分値や、近接画素の輝度差の積分値によって算出される。合焦状態にあるときは、被写体のエッジ部分がはっきりとしているため、高周波成分が一番高くなる。これを利用して、AF動作時(合焦検出動作時)には、撮影レンズ系内の各フォーカスレンズ位置におけるAF評価値を取得して、その極大になる点を合焦検出位置としてAF動作が実行される。
【0051】
AE評価値とAWB評価値は、RAW−RGBデータにおけるRGB値のそれぞれの積分値から算出される。例えば、CCD121の全画素の受光面に対応した画面(画像領域)を256ブロック(エリア)に等分割(水平16分割、垂直16分割)し、それぞれのブロックのRGB積算を算出する。
【0052】
そして、制御部は、算出されたRGB積算値を読み出し、AE処理では、画面のそれぞれのエリア(ブロック)の輝度を算出して、輝度分布から適正な露光量を決定する。決定した露光量に基づいて、露光条件(CCD121の電子シャッター回数、絞りユニットの絞り値、NDフィルタの出し入れ等)を設定する。また、AWB処理では、RGBの分布から被写体の光源の色に合わせたAWBの制御値を決定する。このAWB処理により、YUV変換部119でYUVデータに変換処理するときのホワイトバランスを合わせる。なお、AE処理とAWB処理は、モニタリング時には連続的に行われている。
【0053】
そして、モニタリング動作時に、レリーズボタン2が押圧(半押しから全押し)操作される静止画撮影動作が開始されると、合焦位置検出動作であるAF動作と静止画記録処理が行われる。
【0054】
即ち、レリーズボタン2が押圧(半押しから全押し)操作されると、制御部からモータドライバ32への駆動指令により撮影レンズ系のフォーカスレンズが移動し、例えば、いわゆる山登りAFと称されるコントラスト評価方式のAF動作が実行される。
【0055】
AF(合焦)対象範囲が無限から至近までの全領域であった場合、撮影レンズ系のフォーカスレンズは、至近から無限、又は無限から至近までの間の各フォーカス位置に移動し、CCDI/F112で算出されている各フォーカス位置におけるAF評価値を制御部が読み出す。そして、各フォーカス位置のAF評価値が極大になる点を合焦位置としてフォーカスレンズを合焦位置に移動させ、合焦させる。
【0056】
そして、AE処理が行われ、露光完了時点で、制御部からモータドライバ32への駆動指令によりメカシャッタユニットが閉じられ、CCD121から静止画用のアナログRGB画像信号が出力される。そして、モニタリング時と同様に、F/E120のA/D124によりRAW−RGBデータに変換される。
【0057】
そして、このRAW−RGBデータは、信号処理IC110のCCDI/F112に取り込まれ、YUV変換部119でYUVデータに変換されて、メモリコントローラ115を介してSDRAM33に保存される。そして、このYUVデータはSDRAM33から読み出されて、リサイズ処理部113で記録画素数に対応するサイズに変換され、圧縮伸張部117でJPEG形式等の画像データへと圧縮される。圧縮されたJPEG形式等の画像データは、SDRAM33に書き戻された後にメモリコントローラ115を介してSDRAM33から読み出され、メディアI/F118を介してメモリカード34に保存される。
【0058】
(自動撮影制御)
以下、本実施形態に係る撮像装置による、顔検知および回転動作検知に基づく撮像装置の撮影制御(自動撮影制御ともいう)について説明する。
【0059】
なお、本実施形態では、顔検知および回転動作検知に基づいて撮像装置のシャッター制御を行い、撮影動作を実行させる場合を例に説明するが、以下に述べる顔検知および回転動作検知に基づく撮像装置の制御は、撮影制御に限られるものではなく、撮像装置の他の動作であっても良い。例えば、顔検知および回転動作検知に基づいて、制御手段が、撮像装置の電源をオフにするなどの電源制御等を行うようにしても良い。
【0060】
図3は、自動撮影制御に係る撮像装置の制御ブロックの説明図である。また、図4は、撮像装置の各制御ブロックが実行する自動撮影制御(本発明に係る撮像方法、本発明に係る撮像プログラムが実行する撮像処理)の処理フローチャートを示している。
【0061】
[画像入力処理(顔検知)]
画像入力手段101は、撮影される画像データ(LCDモニタ10に表示される表示用データ)を入力する手段であり、図5に示すように、時系列の連続した画像データ(フレーム画像データ)を所定の時間間隔(Δt(例えば、33msec))にて順次入力する(S101:画像入力処理)。
【0062】
図5に示す例では、Faは最初の画像データを示し、次に、所定の時間間隔(Δt)で次の画像データが入力される。このようにして時系列の画像データが入力されていく。この時系列の画像データはSDRAM33に保存される。
【0063】
[顔検知処理]
先ず、顔検知手段102は、連続して入力される画像データのうちの1つの画像データ(ここではFaを例とする)に基づいて、被写体人物の顔を検知する(S102:顔検知処理)。本実施形態の顔検知手段102では、被写体人物40の顔41に相当する顔領域50を検知する。検知される顔領域50は、中心座標をO(x0,y0)として、頂点ABCDで囲まれる領域である(図5)。
【0064】
なお、顔検知処理(S102)の処理内容(アルゴリズム)は、パターンマッチング等の公知の手法、または新規の手法によれば良く、特に限られるものではない。また、被写体は必ずしも人間である必要はなく、動物等の顔検知処理を行うようにしても良い。この場合は、動物の顔を認識する処理を行い、後述の腕動きジェスチャ検知手段103にて、予め学習させた学習結果を用いて当該動物の腕、足等の動き(回転動作する部位)を検知するようにすれば良い。
【0065】
次に、顔検知手段102で顔の検知がなされたか否かを判断し(S103:判断処理)、顔が検知されない場合(S103:No)は、画像入力処理(S101)に戻り、次の画像データの処理に移る。
【0066】
[回転動作検知処理(腕動きジェスチャ検知処理)]
これに対し、顔が検知された場合(S103:Yes)は、回転動作検知手段103により回転動作検知処理(S104)が実行される。図6に回転動作検知処理(S104)の詳細フローチャートを示す。
【0067】
<腕動きジェスチャ>
本実施形態では、回転動作として、図7に示すように被写体人物40の肘42を基点(回転中心)として、左右方向に腕43を振って、手(掌)44の回転動作を検出する場合を例に説明する。以下、この回転動作を「腕動きジェスチャ」と呼ぶ。図7(A)は腕動きジェスチャ前の画像データ、図7(B)は腕動きジェスチャ後の画像データを示している。尚、図7(B)の点線部分は、前後の動きを明確にするために付加したものである。
【0068】
なお、腕動きジェスチャは、肘42を回転中心として手44が回転するジェスチャに限るものではなく、肩45を基点(回転中心)として手44が回転する腕全体の動作の腕動きジェスチャであっても良い。また、腕43の回転方向も図7の例に限られるものではなく、腕43の位置も肘42から下側に下がった状態からのジェスチャであっても良い。また、腕43を画面前後方向(画面の手前方向)に動かす場合であっても、フレーム間で回転角度(後述のθ)が生じる動作であれば検出可能である。
【0069】
また、ジェスチャは、必ずしも腕の動きに限られるものではなく、回転中心を基点として回転動作するものであればよい。例えば、被写体人物40が合図となる道具(棒状、旗など)を持って、それを回転動作させた場合も、その回転中心と回転している道具の先端を検出することによるものであっても良い。
【0070】
なお、検知の対象とするジェスチャについては、後述するように、教師付き学習において、対応する学習データを予め学習させて、識別式を算出しておくことにより、各ジェスチャの判断が可能となる。また、複数の種類のジェスチャを検知可能とし、ユーザにいずれの動作に基づいて撮像装置の制御を行うかどうかを選択可能に構成することも好ましい。
【0071】
<画像入力処理>
図6に示すように、回転動作検知処理では、先ず、画像入力手段101から画像入力処理がなされる(S201)。本実施形態では、顔検知手段102が顔検知を行うフレーム画像データ(第一画像データFa)と、回転動作検知手段103が回転動作を検知する2枚(動作前/動作後)のフレーム画像データ(第二画像データFb/第三画像データFcとする)における画像データFaとFbとは異なるフレーム画像データとし、画像データFa後のMフレーム後に入力される画像データを画像データFbとしている(図5)。なお、Mの値は1以上の小さい値であることが好ましい。
【0072】
ここで、画像データは、フレームレート(例えば33msec)で入力されるため、1つのフレーム画像データについて、顔検知処理(S102)を行い、同じフレーム画像データを回転動作検知処理(S104)の動作前のフレームとすると、異なる検知処理を同時に行う必要があるため、撮像装置の処理負担が増加する。
【0073】
そこで、画像データFaとFbとは異なるフレーム画像データとして、同一フレームの処理可能時間では、顔検知手段102、または回転動作検知手段103のどちらか一方しか動作させないことが好ましい。このように異なる検知手段が同時に動作しないようにして、ソフトウエアによる画像処理の場合であればCPUの処理負担軽減をして、処理の高速化や省エネにつなげることができる。また、個別の機能を有した画像処理チップによる画像処理の場合、常に片方のみ主に動作させるため消費電力の削減につなげることができる。なお、処理速度や処理性能に余裕のある場合等においては、画像データFaとFbを同一のフレーム画像データとしても良い。
【0074】
<フレーム間隔>
また、腕動きジェスチャは所定のフレーム間隔N(図5)で入力される2つのフレーム画像(Fb,Fc)間における腕動きを検出するものである。フレーム間隔Nの値はパラメータとして、事前に設定される。なお、フレーム間隔Nは、選択可能としても良く、その際、フレーム間隔Nの最小値と最大値を制限するようにしても良い。
【0075】
フレーム間隔Nの値が大きすぎると、一定の角速度で腕を回転させるとき、フレーム間の腕動き角度が大きくなったり、再度、腕が戻ってきてしまったりして(往復回転動き)回転角度が小さくなる可能性がある。したがって、フレーム間隔Nは、検出対象の回転動作する対象の速度に併せて適当なNの値を設定すればよい。
【0076】
本実施形態では、フレーム間隔Nは、想定される腕の角速度において、腕の回転角度θが45°〜90°の範囲となるようなフレーム間隔を、腕の角速度とフレームレート(33msec)に基づいて決定している。例えば、0.5秒程度で腕が45°〜90°の範囲で回動すると仮定すると、N=15程度となる。
【0077】
なお、フレーム間隔Nはこれに限られるものではなく、例えば、N=1として連続するフレーム間での腕動きを検出しても良いし、数フレーム程度としても良い。
【0078】
<腕動きベクトル探索領域の設定>
次に、探索領域設定手段201は、図8に示すように、検出された顔領域50に基づいて、回転動作候補(腕動きベクトル)を検出する領域である腕動きベクトル探索領域51を設定する(S202)。腕動きベクトル探索領域51の設定は、顔領域50(または中心座標をO(x0,y0))に対して、腕43の動く可能性のある画面上の領域、例えば、図8に示すように、中心座標をO(x0,y0)の左右側に所定の画素範囲で設定されるものである。なお、腕動きベクトル探索領域51を設定せず、画面全体に対し、後述の処理を行って回転動作候補を検知することも可能であるが、処理量を軽減するために所定範囲に設定することが好ましい。
【0079】
<動きベクトル検出>(ブロックマッチング)
次に、ブロックマッチング手段202は、2つのフレーム画像間における動きのあった領域を動きベクトルとして検出する(S203)。本実施形態では、図9(A),(B)に示すように、図7に示したフレーム画像データ(Fbフレーム、Fcフレーム)を所定の画素数(n×n)で形成されるブロック52で分割し、フレーム画像間で同じ部分のブロックマッチングにより、動きのあったブロック52の動き量、すなわち、動きベクトル(HH’)を求める。なお、ブロックマッチング方法は、公知または新規の手法によれば良く特に限られるものではない。
【0080】
なお、ブロックのサイズは、回転動作の対象物に応じて適宜設定されるパラメータである。本実施形態では、腕43の動きを区別できるような大きさで分割する。例えば、一般的な顔のサイズと腕のサイズの比に基づいて、顔のサイズから決めることができる。例えば、顔領域50の検知サイズ(小さい顔の場合)を20×20画素とした設定した場合、動き検知ブロックサイズを5×5画素に設定することができる。
【0081】
なお、本実施形態では、動きベクトルの始点と終点とは、5×5画素の中心ブロックとしているが、これに限られるものではない。また、カメラの焦点距離と被写体の距離によって、被写体の大きさが変わるため、ブロックサイズは適宜最適な値に設定されるものであればよい。
【0082】
<画面全体動きの検出>
次に、画面全体動き除去手段203は、画面全体に生じた動き(ブレ)を除去する(S204)。すなわち、撮像装置が三脚などに固定して撮影される場合等においては、画面全体のブレ(画面全体動きという)は生じ難いが、その他の場合に画面全体動きが生じる場合がある。そこで、この画面全体動き量を検出し、これを除く処理(画面全体動き除去処理)を行うことが好ましい。これにより、動きベクトルの検出結果の精度を向上させることができる。
【0083】
すなわち、フレーム間で画面全体の平行移動や回転などの画面全体動きがある場合、ブロックマッチングにより検知された動きベクトルには画面全体動きの影響を受けているため、これをキャンセルする必要がある。
【0084】
例えば、図8に示すように、腕動きベクトル探索領域51以外の領域の複数の動きベクトル(例えば、Va,Vb)を使って画面全体の動きベクトルを計算することができる。
【0085】
フレーム間の動きは、例えば、次式(1)で表すことができる(アフィン変換)。
【数1】
【0086】
上記式(1)における(x1,y1)と(x0,y0)はフレームFbとFcの対応点座標であり、腕動きベクトル探索領域51以外の領域での動きベクトルVa,Vbから得られる。対応点の数が十分多い場合(6個以上)であれば、a,b,c,d,e,f係数を計算できる。
【0087】
上記式(1)より、任意座標(x,y)のFbとFcフレーム間画面全体の動きベクトル(Vx0,Vy0)を求めることができる。よって、座標(x,y)での動きベクトル(Vx, Vy)から画面全体の動きベクトル(Vx0,Vy0)を引くことで、画面全体動きの影響を除去した動きベクトル(Vx−Vx0,Vy−Vy0)を求めることができる。
【0088】
以上説明したように、フレームFbとフレームFc間のフレーム全体動きベクトルを動きベクトルから引き算することで、画面全体の動きがキャンセルできる。残した動きベクトルは腕動きベクトルの候補となる。
【0089】
なお、本実施形態では、腕動きベクトル探索領域51外での動きベクトルに基づいて画面全体の動きベクトル量を求める例について説明したが、腕動きベクトル探索領域51内での動きベクトルに基づいて上記処理を行うようにしても良い。また、画面全体の動きベクトル量の算出は、所定数のブロック52をサンプリングして求めるようにすれば良い。
【0090】
また、本実施形態では、アフィン変換を用いて撮像装置の平行方向のずれ量を補正する例について説明したが、画面全体動きの除去方法は公知または新規の方法によれば良く、これに限られるものではない。例えば、画面の垂直方向のずれ量も考慮する場合は、射影変換を用いた補正を行うようにしても良い。
【0091】
<ノイズベクトル除去>
次に、ノイズベクトル除去手段204は、腕動きベクトル探索領域51内において孤立した動きベクトルをノイズベクトルとして除去する(S205)。すなわち、画面全体の動きとは別に、フレーム間で腕動き以外の動きがある場合等においては、この動きを動きベクトルとして検知してしまう。そこで、本処理では、腕動きベクトル探索領域51内において、実際の腕動きに対応しないと推測される動きベクトルをノイズベクトルとして削除するものである。
【0092】
図8に示す例では、Vc,Vd,Veがノイズベクトルに相当する。なお、画面全体についてブロックマッチングを行って動きベクトルを検知した場合は、腕動きベクトル探索領域51以外の動きベクトル(Vf,Vg)についても削除する。
【0093】
ノイズベクトルの判断は、腕動きベクトル探索領域51内において、孤立した動きベクトルであるかどうかに基づいて判断することができる。例えば、検出された各動きベクトルの周囲の所定距離(半径R画素)以内に他の動きベクトルが存在するかどうかを判断し、存在する場合は、腕動きベクトルと判断し、存在しない場合は、孤立したノイズベクトルと判断することができる。なお、半径Rは、適宜設定される値で有れば良いが、例えば20画素とすることができる。また、判断基準とする画素は、動きベクトルを構成するいずれの画素でもよいが、例えば、動きベクトルの始点とすれば良い。
【0094】
以上の処理によりノイズベクトルと判断されるベクトルVc,Vd,Veが動きベクトルから除外される。以上、S201〜S205の処理により、腕動きに対応した腕動きベクトル(回転動作候補)を検出することができる。
【0095】
<回転中心および回転角度の算出>
次に、回転中心/回転角度算出手段205は、検出した腕動きベクトルに基づいて、回転中心座標と回転角度とを算出する(S206)。すなわち、図8,図10に示すように、フレームFbとFcから検出された腕動きベクトル(H1H1’,H2H2’,H3H3’…)に基づいて、腕動きの回転中心の座標O’(x1,y1)と回転角度θを算出する。なお、説明を簡易にするため3つの腕動きベクトルH1〜H3が検出された例について説明しているが、実際の処理における検出数Hnは、例えば、10以上となる。
【0096】
回転中心座標と回転角度の算出方法の一例を説明する。腕の各部分の動きベクトルの中点を通り該中点に垂直な線(法線、図10中の点線)の集まる点を回転中心座標O’(x1,y1)として求める。なお、各法線の交点が1点には集まらない場合は、隣り合う2本の法線の交点座標の平均値を回転中心座標O’(x1,y1)とすれば良い。
【0097】
次に、回転中心座標O’(x1,y1)と各動きベクトルとの距離(例えば、始点H1または終点H1’との距離)を回転半径R1として計算する。さらに、動きベクトルH1H1’の長さをl1とすると、回転角度θ1は、次式(2)により、回転角度θ1を算出することができる。
θ1=l1/R1 ・・・(2)
【0098】
なお、本実施形態(上記式(2))では、θを90度以内としているが、これに限られるものではなく、90°以上の場合も検出可能とするようにしても良い。また、回転中心座標O’(x1,y1)と動きベクトルの始点H1および終点H1’に基づいて回転角度θ1を求めても良い。
【0099】
同様に腕動きベクトルH2H2’,H3H3’から、それぞれの動きベクトルの回転半径R2,R3と動きベクトルの長さl2,l3を求め、回転角θ2,θ3を算出する。回転角度θ1,θ2,θ3の平均値を腕の回転角度θとして算出する。
【0100】
<回転動作識別>
最後に、回転動作識別手段206は、検出された回転動作候補が実際の腕動きジェスチャ(回転動作)に該当するかどうかを識別する(S207〜S209)。腕動きジェスチャの判定は、腕動きの回転中心と顔領域中心の相対的な位置関係と腕回転角度の特徴量により認識する。
【0101】
まず、顔領域の中心座標O(x0,y0)と腕の回転中心座標O´(x1,y1)から、位置ずれ量を次式(3),(4)で算出し、腕の回転中心O’(x1,y1)と顔中心と回転中心との距離dx、dyおよび回転角度θを腕ジェスチャ認識の特徴量とする(S207)。
dx=x1−x0 ・・・(3)
dy=y1−y0 ・・・(4)
【0102】
次に、特徴量の正規化を行う(S208)。すなわち、撮像装置の変倍ズームがあるとき、被写体の大きさはズームの変倍率によって異なる。例えば、平均顔サイズが20×20画素となるように、画像全体を変倍し、正規化する。このようにすれば、被写体の大きさが変わっても、ズーム倍率によらず共通の認識辞書を使用することができ、正しく腕動きジェスチャの認識ができるため好ましい。
【0103】
次に、これらの特徴量を用いて、予め機械学習に基づいて算出された識別式を用いて腕動きジェスチャに該当するかどうかを判断する(S209)。
【0104】
識別式の算出(学習ステップ)について説明する。予め、対象となる回転動作である腕動きジェスチャのサンプルデータ(動画サンプルデータ)を集め、腕動きの回転中心と顔領域中心との相対的な位置関係と腕の回転角度のサンプルデータ(O’(x1,y1)、dx、dy、θ)を用いて、学習モデルにより、腕動きジェスチャ認識辞書(学習データ)を作成する。
【0105】
次に、上記処理において求めた特徴量値と、事前学習した学習データに基づいて算定される識別式に基づいて腕動きジェスチャに該当するかどうかを判断するものである(認識ステップ)。
【0106】
具体的には、例えば、線形サポートベクタマシン(Support Vector Machine,SVM)法による認識辞書を用いて、次式(5)に示すように、線形SVMの識別関数f(dx、dy、θ)を生成することができる。この識別関数f(dx,dy,θ)を用いて、ジェスチャ認識することができる。
f=A・dx+B・dy+C・θ ・・・(5)
【0107】
なお、A,B,Cは上記事前学習により算出される。識別関数(式(5))で得られた識別関数値fが閾値(thとする)より大きい場合、腕動きジェスチャが認識されると判断し、fは閾値より小さい場合、腕動きジェスチャでないと判断される。
【0108】
図11にSVMによる腕ジェスチャ認識を模式的に示したグラフを示す。図11では、腕動きジェスチャの特徴量分布を○、非腕動きジェスチャの特徴量値分布を×として示している。なお、図11では、説明を簡易にするため2つの変数(dx,θ)の分布図を使って説明しており、識別面は直線となる。直線以上になる、つまり○の点は腕動きジェスチャと認識される。直線より下の×の部分は非腕動きジェスチャとして認識される。なお、上記式(5)に対応する3つの変数(dx,dy,θ)の場合は3次元の特徴空間となり、識別面は平面となる。識別平面より上の特徴量値は腕動きジェスチャの特徴量となり、識別平面より下の特徴量値は非腕動きジェスチャの特徴量となる。
【0109】
以上説明した特徴量を用いた学習方法による認識によれば、腕の回転中心と顔中心の相対位置、回転角度の値はある程度の分散があっても、正確な認識は可能となる。つまり、被写体による腕の長さの違いや、回転中心と顔中心の位置関係の違いや、腕の回転角度が異なる場合でも、正確な認識が可能となる。
【0110】
なお、本実施形態では、認識辞書を作成する学習モデルとして、線形SVMの例を述べたが、識別関数fは線形に限らず、非線形識別関数を使用してもよい。また、学習モデルとして、AdaBoostなどの他の学習モデルを用いるようにしても良い。また、認識辞書は事前に作成され、撮像装置の記憶手段には認識辞書に基づいて算出された識別関数が記憶されているものである。
【0111】
[撮影動作制御]
図4のフローチャートの説明に戻る。識別関数(式(5))で得られた識別関数値fが閾値(thとする)より大きい場合(S105:Yes)は、所望の回転動作(腕動きジェスチャ)が認識されると判断する。識別関数値fが閾値より小さい場合(S105:No)、所望の回転動作でないと判断され、画像入力処理(S101)に戻る。
【0112】
回転動作があるものと判断されると、通知手段104は、撮像装置から腕動きジェスチャが検知されたサインを撮影者や被写体人物に対して表示する(S106:ジェスチャサイン表示処理)。
【0113】
尚、通知手段104によるジェスチャサイン表示処理での表示方法は、特に限られるものではないが、例えば、撮像装置の前面にLEDライト(図示せず)を設け、これを点灯するようにしても、その他の発光部を点灯させるようにしても、サブLCD、LCDモニタ10等に文字、マーク等を表示させるようにしても良い。また、通知手段104での通知(S106)を行わずに、所定時間経過後にシャッターを切る制御を行う(S107)ものであっても良い。
【0114】
次に、シャッター制御手段105は、ジェスチャサイン表示後の、所定時間後にシャッターを切る制御を行い(S107)、撮影および画像記録処理を行うものである(S108)。当該処理(S107〜S108)の詳細は、上述のレリーズボタン2が押圧された動作と同様であり、このようにして撮影された画像情報は、例えば、メモリカード34に記録される。
【0115】
[被写体が複数の場合]
なお、被写体が複数の場合、顔検知処理(S102)では、複数の顔が検知されることになるため、予め被写体の優先順位を決定しておき、複数の腕動きジェスチャが認識された場合、被写体の優先順位で、撮像制御する腕動きジェスチャを決めることが好ましい。また、優先順位の最も高い被写体(主要被写体)についてのみ、回転動作検知処理(S104)を行うようにしても良い。
【0116】
被写体の優先順位の決定方法は、特に限られるものではないが、例えば、画面中心部の顔を主要被写体としてもよいし、一番サイズの大きな顔を主要被写体としてもよい。また、優先順位の設定のパターンを複数用意し、ユーザが選択可能としても良い。
【0117】
以上説明したように、本実施形態に係る撮像装置によれば、被写体と撮像装置が離れている場合や多くの被写体を同時撮影する場合等の顔サイズが小さい場合であっても、顔の検出後に、さらに腕の動きを検出したことをトリガとして、シャッターを切ることにより、撮影者の所望のタイミングにおいて、確実に自動でシャッターを切ることが可能となる。
【0118】
また、被写体の腕の動きだけを最初に検出するのではなく、顔検知により被写体の存在を検知したうえで、当該被写体の腕の動きジェスチャを検知するようにしているので、腕の動きの認識精度を向上させることができ、誤認識を低減することができる。
【0119】
さらに、腕の回転中心と顔中心の相対関係と腕の回転角度で腕ジェスチャを認識している。すなわち、まず、顔領域の中心座標は顔検知手段により求め、次に、腕動きの回転中心座標と回転角度を、顔領域の中心座標付近の領域の動きベクトルを求めて解析することにより計算しているため、パターン認識等の手段で手の位置を求めてからジェスチャを認識する手法に比べて計算が容易であり、高速に求めることが可能である。
【0120】
また、先に手を検知して、手の動きを検知する場合、手の形に変化がある場合等に検知率が低下することが考えられるが、上記実施形態では、腕を含めた手の並行シフト等の、軸回転となっていない手の動きを検知しないため、腕動きジェスチャの認識精度を高くでき、腕動きジェスチャの検知における誤認識を低下させることができる。
【0121】
また、顔領域の中心座標と、動きの回転中心座標と、動きの回転角度と、を特徴量データとしているので、特に腕の長さ、腕回転角度の大きさ、腕回転中心と顔中心の距離などの詳細なパラメータを個別に設定したり、記録したりすることが不要となっている。また、様々な腕動きジェスチャのデータを用いて、学習した辞書に基づく識別式により識別することで、手の形や腕の形、年齢、性別、体形等の異なる腕動きジェスチャの認識が可能となり、認識率が高く、ノイズにも強い。
【0122】
また、腕動きジェスチャが検知された際、撮影を実行前に、腕動きジェスチャが検知された旨を外部に通知する通知手段を備えているので、撮影装置に撮影される人にジェスチャが検知されたことを知らせ、撮影までの準備をするように、表情やポーズなどを準備することが可能となる。
【0123】
上述の実施形態は本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、上記の画像入力手段101、顔検知手段102、腕動きジェスチャ検知手段103、通知手段104、およびシャッター制御手段105、探索領域設定手段201、ブロックマッチング手段202、画面全体動き除去手段203、ノイズベクトル除去手段204、回転中心/回転角度算出手段205、回転動作識別手段206の各手段は、例えば、CPU111で実行されるソフトウェア(撮像プログラム)を撮像装置で実行させることで構成でき、その実行の際に必要なデータは、例えば、SDRAM33にロードされる。また、上記各手段を、モジュール構成として、例えば、顔検知手段102、腕動きジェスチャ検知手段103、を実現するプログラムを他のハードウェアに適用可能である。また、当該撮像プログラムを撮像装置で実行可能に記録した記録媒体の態様にも適用される。
【符号の説明】
【0124】
1 サブLCD
2 レリーズシャッター(SW1)
3 ストロボ発光部
4 モードダイヤル(SW2)
5 測距ユニット
6 リモコン受光部
7 レンズユニット
8 AFLED
9 ストロボLED
10 LCDモニタ
11 光学ファインダ
12 ズームボタンTELE(SW4)
13 電源スイッチ(SW13)
14 ズームボタンWIDE(SW3)
15 セルフタイマ/削除スイッチ(SW5)
16 メニュースイッチ(SW6)
17 OKスイッチ(SW12)
18 左/画像確認スイッチ(SW11)
19 下/マクロスイッチ(SW10)
20 上/ストロボスイッチ(SW7)
21 右スイッチ(SW8)
22 ディスプレイスイッチ(SW9)
23 メモリカードスロットル
30 ROM
31 操作部
32 モータドライバ
33 SDRAM
34 メモリカード
40 被写体人物
41 顔
42 肘
43 腕
44 手
45 肩
50 顔領域
51 腕動きベクトル探索領域
52 ブロック
101 画像入力手段
102 顔検知手段
103 回転動作検知手段
104 通知手段
105 シャッター制御手段
110 信号処理IC
111 CPU
112 CCD I/F
113 リサイズ処理部
115 メモリコントローラ
116 表示出力制御部
117 圧縮伸長部
118 メディアI/F
119 YUV変換部
120 F/E
121 CCD
122 CDS
123 AGC
124 A/D変換機
125 タイミングジェネレータ
201 探索領域設定手段
202 ブロックマッチング手段
203 画面全体動き除去手段
204 ノイズベクトル除去手段
205 回転中心/回転角度算出手段
206 回転動作識別手段
【先行技術文献】
【特許文献】
【0125】
【特許文献1】特開2010−74735号公報
【特許文献2】特開2011−78009号公報
【技術分野】
【0001】
本発明は、撮像装置、撮像方法および撮像プログラムに関する。さらに詳述すると、被写体を認識し、被写体の動きに基づいて制御を行う撮像装置、撮像方法および撮像プログラムに関する。
【背景技術】
【0002】
従来、レリーズボタンが押下されてから所定時間経過後に被写体の撮影を行ったり、任意のタイミングにて自動的に被写体の撮影を行ったりする自動撮影(オートシャッター)機能を備えたデジタルカメラやデジタルビデオカメラ等の撮像装置が多く普及している。
【0003】
従来の自動撮影では、レリーズボタンを押下してから撮像装置から離れ、自らも被写体となる場合等において、レリーズボタンの押下後に、十分に撮影の準備ができていない状態で撮影されてしまう場合や、撮影の準備が終わっても実際にシャッターが切られるまでしばらく待機しなければならないという問題があった。
【0004】
また、リモコン等を使って遠隔操作によりシャッターを切る撮像装置も提案されているが、リモコンを忘れてしまうことや、常に携帯することが煩雑であるという問題があった。
【0005】
このような課題に対して、例えば、特許文献1には、被写体人物の両目の開閉の動きに応じて、撮像装置のシャッターを自動制御する技術が提案されている。特許文献1では、複数の被写体(顔)が存在するときに顔に優先順位を付けて、優先順位の高い被写体の顔動きを認識したり、優先順位の高い被写体の顔の両目の開閉の組み合わせに応じて制御信号を入力したりする構成が開示されている。
【0006】
しかしながら、上記特許文献1に記載の技術では、被写体の撮像装置からの距離が遠い場合には、顔のサイズが小さくなるため、その顔の一部の動きを認識することは、困難であるという問題があった。例えば、集合写真のような撮影の場合、被写体はカメラからある程度離れ、さらに、全員を撮影するために広角ズーム等を使う場合が多い。このような撮影状況では、撮影される個々の顔のサイズは小さくなる。したがって、顔の検知自体は精度よく検知することができた場合でも、その一部(目の開閉等)の変化までを正確に認識することは困難であり、自動撮影制御ができないという問題があった。
【0007】
このため、顔の一部の動きを精度よく認識するためには、被写体が撮像装置に近い位置にあるか、望遠ズーム等を使用することで、結像される顔の大きさを一定以上の大きさとすること等が必要であった。
【0008】
また、画像から顔やジェスチャを検出して撮像装置の動作制御を行う技術も提案されており、特許文献2には、画像データから顔画像を検出し、この検出した顔画像に対応する手画像を検出して、検出した手画像の形状または動きに応じて撮像装置の動作制御を行う技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上記の特許文献2に記載の技術では、ジェスチャ認識を正確に行うためには、ジェスチャ認識を行う体の部位の位置情報、色情報、サイズ情報、テクスチャ情報など、膨大な情報が必要となっており、また、膨大な情報を用いて認識を行うと装置に処理負荷がかかり時間も要してしまうという問題がある。更には、ジェスチャの仕方、肌の色、体の部位の大きさや形などは、個人によって異なるものであるため、膨大な情報を用いてジェスチャ認識を行った場合でも、正確に認識できない場合も考えられる。
【0010】
そこで本発明は、撮像装置の動作制御を行うにあたり、画像から検出される被写体の顔領域と、該被写体についての回転する動きの回転中心座標および回転角度に基づいてジェスチャ認識を行うことにより、高速かつ認識精度の高い安定したジェスチャ認識を行って、該ジェスチャ認識に基づいて動作制御を行うことができる撮像装置、撮像方法および撮像プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
かかる目的を達成するため、本発明に係る撮像装置は、所定の時間間隔で連続して画像データを入力する画像入力手段と、前記画像データに基づいて被写体の顔領域を検出する顔検知手段と、所定間隔で入力される2つの前記画像データ間における回転動作を検知する回転動作検知手段と、該回転動作検知手段により、前記回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御手段と、を備え、前記回転動作検知手段は、前記2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、前記顔検知手段により検出された前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、に基づいて、前記回転動作候補が前記回転動作に該当するか否かを判断するものである。
【発明の効果】
【0012】
本発明によれば、高速かつ認識精度の高い安定したジェスチャ認識を行って、該ジェスチャ認識に基づいて動作制御を行うことができる。
【図面の簡単な説明】
【0013】
【図1】本発明に係る撮像装置の一実施形態であるデジタルカメラの外観図の一例であって、(a)は上面図、(b)は正面図、(c)は裏面図を示す。
【図2】撮像装置の機能ブロック図の一例である。
【図3】自動撮影制御に係る撮像装置の制御ブロック図である。
【図4】自動撮影処理のフローチャートである。
【図5】時系列に入力されるフレーム画像データの例を示す概念図である。
【図6】回転動作検知処理のフローチャートである。
【図7】回転動作検知処理の説明図であって、(A)腕動きジェスチャ前のフレーム画像データ、(B)腕動きジェスチャ後のフレーム画像データの例である。
【図8】腕動きベクトル探索領域および動きベクトルの説明図である。
【図9】ブロックに分割された、(A)腕動きジェスチャ前のフレーム画像データ、(B)腕動きジェスチャ後のフレーム画像データの例である。
【図10】回転中心座標と回転角度の算出方法の説明図である。
【図11】SVMによる腕ジェスチャ認識を模式的に示したグラフである。
【発明を実施するための形態】
【0014】
以下、本発明に係る構成を図1から図11に示す実施の形態に基づいて詳細に説明する。
【0015】
括弧内は実施形態での符号、適用例を示す。本実施形態に係る撮像装置は、所定の時間間隔で連続して画像データを入力する画像入力手段(101)と、画像データ(Fa(第一画像データ))に基づいて被写体(40)の顔領域(50)を検出する顔検知手段(102)と、所定間隔で入力される2つの画像データ(Fb(第二画像データ),Fc(第三画像データ))間における回転動作(腕動きジェスチャ)を検知する回転動作検知手段(103)と、該回転動作検知手段により、回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御手段(シャッター制御手段105)と、を備え、回転動作検知手段は、2つの画像データ間における回転動作候補(腕動きベクトル)を検知し、該回転動作候補の回転中心座標(O’)と、該回転動作候補の回転角度(θ)を算出し、顔検知手段により検出された顔領域の中心座標(O)と、回転中心座標と、回転角度と、に基づいて、回転動作候補が前記回転動作に該当するか否かを判断するものである。
【0016】
(撮像装置の構成)
本実施形態では、撮像装置の一例としてデジタルカメラを例に説明する。図1はデジタルカメラの外観図を示し、(a)はカメラ上面図、(b)はカメラ正面図、(c)はカメラ裏面図を示している。なお、撮像装置はデジタルカメラに限られるものではなく、自動撮影機能を備えた撮像装置であれば良い。
【0017】
図1(a)に示すように、デジタルカメラは、上面に、サブLCD1と、レリーズシャッター(レリーズボタン)2(SW1)と、モードダイヤル4(SW2)とを有する。
【0018】
また、図1(b)に示すように、デジタルカメラは、正面に、ストロボ発光部3と、測距ユニット5と、リモコン受光部6と、レンズユニット7と、光学ファインダ(正面)11とを有する。また、メモリカードスロットル23は、SDカード等のメモリカード34を挿入するスロットルを示し、カメラ側面に設けられる。
【0019】
また、図1(c)に示すように、デジタルカメラは、裏面に、AFLED(オートフォーカスLED)8と、ストロボLED9と、LCDモニタ(表示手段)10と、光学ファインダ(裏面)11と、ズームボタン(ズームレバー)TELE12(SW4)と、電源スイッチ13(SW13)と、ズームボタン(ズームレバー)WIDE14(SW3)と、セルフタイマ/削除スイッチ15(SW6)とを有する。
【0020】
さらに、メニュースイッチ16(SW5)と、OKスイッチ17(SW12)と、左/画像確認スイッチ18(SW11)と、下/マクロスイッチ19(SW10)と、上/ストロボスイッチ20(SW7)と、右スイッチ21(SW8)と、画像を表示するディスプレイスイッチ22(SW9)とを有する。
【0021】
図2は図1に示したデジタルカメラの制御系の機能ブロック図を示している。以下、デジタルカメラ内部のシステム構成について説明する。
【0022】
図2に示すように、このデジタルカメラ内には、レンズユニット7に設置した撮影レンズ系を通して入射される被写体画像が受光面上に結像する固体撮像素子としてのCCD121、CCD121から出力される電気信号(アナログRGB画像信号)をデジタル信号に処理するフロントエンドIC(F/E)120、フロントエンドIC(F/E)120から出力されるデジタル信号を処理する信号処理IC110、データを一時的に格納するSDRAM33、制御プログラム等が記憶されたROM30、モータドライバ32等が設けられている。
【0023】
レンズユニット7は、ズームレンズ、フォーカスレンズおよびメカニカルシャッタ等からなり、モータドライバ32によって駆動される。モータドライバ32は、信号処理IC110の内部に含まれるマイクロコンピュータ(CPU、制御部)111によって制御される。
【0024】
CCD121は、光学画像を光電変換するための固体撮像素子であって、CCDを構成する複数の画素上に色分解フィルタとしてのRGB原色フィルタが配置されており、RGB3原色に対応した電気信号(アナログRGB画像信号)が出力される。
【0025】
フロントエンドIC(F/E)120は、CCD出力電気信号(アナログ画像データ)についてサンプリングホールド(相関二重サンプリング)を行うCDS122、このサンプリングされたデータのゲインを調整するAGC(Auto Gain Control)123、デジタル信号変換を行うA/D変換機(A/D)124、及びCCDI/F112より垂直同期信号(VD)、水平同期信号(HD)を供給されCCD121とF/E120との駆動タイミング信号を発生するTG(タイミングジェネレータ:制御信号発生器)125を有する。
【0026】
発振器(クロックジェネレータ)は、CPU111を含む信号処理IC110のシステムクロックとTG125等にクロックを供給している。TG125は発振器のクロックを受けて、ピクセル同期をするためのピクセルクロックを信号処理IC110内のCCDI/F112に供給する。
【0027】
F/E120から信号処理IC110に入力されたデジタル信号は、CCDI/F112を介して、メモリコントローラ115によりSDRAM33にRGBデータ(RAW−RGB)として一時保管される。
【0028】
信号処理IC110は、システム制御を行うCPU111、CCDI/F112、リサイズ処理部113、メモリコントローラ115、表示出力制御部116、圧縮伸張部117、メディアI/F部118、YUV変換部119等から構成されている。
【0029】
CCDI/F112は、垂直同期信号(VD)、水平同期信号(HD)の出力を行い、その同期信号に合わせてA/D124から入力されるデジタル(RGB)信号を取り込んで、メモリコントローラ115経由でSDRAM33にRGBデータの書き込みを行う。
【0030】
表示出力制御部116はSDRAM33に書き込まれた表示用データを表示部に送り、撮影した画像の表示を行う。表示出力制御部116は、デジタルカメラが内蔵しているLCDモニタ10に表示することも、TVビデオ信号として出力して外部装置に表示することも可能である。
【0031】
ここでいう、表示用データとは、自然画像のYCbCrと、撮影モードアイコンなどを表示するOSD(オンスクリーンディスプレイ)データであり、いずれもSDRAM33上に置かれたデータをメモリコントローラ115が読み出して表示出力制御部116に送り、表示出力制御部116で合成したデータをビデオデータとして出力する。
【0032】
圧縮伸張部117は、記録時はSDRAM33に書き込まれたYCbCrデータを圧縮してJPEG符号化されたデータを出力し、再生時は読み出したJPEG符号化データをYCbCrデータに伸張して出力する。
【0033】
メディアI/F118は、CPU111の指示により、メモリカード34内のデータをSDRAM33に読み出したり、SDRAM33上のデータをメモリカード34に書き込んだりする。
【0034】
YUV変換部119は、CPU111から設定された画像現像処理パラメータに基づき、SDRAM33に一時保管されたRGBデータを輝度Yと色差CbCrデータ(YUVデータ)に変換処理し、SDRAM33へ書き戻す。
【0035】
リサイズ処理部113は、YUVデータを読み出して、記録するために必要なサイズへのサイズ変換、サムネイル画像へのサイズ変換、表示に適したサイズへのサイズ変換などを行う。
【0036】
また、全体の動作を制御する制御部であるCPU111は、起動時にROM30に格納されたカメラの制御を行う制御プログラムおよび制御データを、例えばSDRAM33にロードし、そのプログラムコードに基づいて全体の動作を制御する。
【0037】
CPU111は、操作部31のボタンキー等による指示、あるいは図示しないリモコン等の外部動作指示、あるいはパーソナルコンピュータ等の外部端末からの通信による通信動作指示に従い、撮像動作制御、画像現像処理パラメータの設定、メモリコントロール、表示制御等を行う。
【0038】
操作部31は、撮影者がデジタルカメラの動作指示を行うためのものであり、撮影者の操作によって所定の動作指示信号が制御部に入力される。例えば、図1に示すように、撮影を指示する2段(半押し、全押し)レリーズシャッター2、光学ズームおよび電子ズーム倍率を設定するズームボタン12,14等の各種ボタンキーを備えている。
【0039】
操作部31よりデジタルカメラの電源キーがオンされたことを検出すると、CPU111は各ブロックに所定の設定を行う。この設定により、レンズユニット7を介してCCD121で受光した画像は、デジタル映像信号に変換されて信号処理IC110に入力される。
【0040】
信号処理IC110へ入力されたデジタル信号はCCDI/F112に入力される。CCDI/F112では光電変換されたアナログ信号に黒レベル調整等の処理が行われて、SDRAM33に一旦保存される。このSDRAM33に保存されたRAW−RGB画像データは、YUV変換部119に読み出されて、ガンマ変換処理、ホワイトバランス処理、エッジエンハンス処理、YUV変換処理が行われYUV画像データとしてSDRAM33へ書き戻される。
【0041】
YUV画像データは表示出力制御部116に読み出され、例えば出力先がNTSCシステムのTVであれば、リサイズ処理部113により、そのシステムに合わせた水平・垂直の変倍処理が施され、TVに出力される。この処理がVD毎に行われることで、スチル撮影前の確認用の表示であるモニタリングが行われる。
【0042】
(撮像装置の動作)
次に、デジタルカメラのモニタリング動作および静止画撮影動作について説明する。このデジタルカメラは、静止画撮影モード時には、以下に説明するようなモニタリング動作を実行しながら静止画撮影動作が行われる。
【0043】
先ず、撮影者が電源スイッチ13をONにし、モードダイヤル4を撮影モード(静止画撮影モード)に設定することで、デジタルカメラが記録モードで起動する。これをCPU111が検知すると、CPU111はモータドライバ32に制御信号を出力して、レンズユニット7を撮影可能位置に移動させ、かつ、CCD121、F/E120、信号処理IC110、SDRAM33、ROM30、LCDモニタ10等を起動させる。
【0044】
そして、レンズユニット7の撮影レンズ系を被写体に向けることにより、撮影レンズ系を通して入射される被写体画像がCCD121の各画素の受光面上に結像する。そして、CCD121から出力される被写体画像に応じた電気信号(アナログRGB画像信号)は、CDS122、AGC123を介してA/D124に入力され、A/D124により12ビットのRAW−RGBデータに変換する。
【0045】
このRAW−RGBデータは、信号処理IC110のCCDI/F112に取り込まれてメモリコントローラ115を介してSDRAM33に保存される。そして、SDRAM33から読み出されたRAW−RGBデータは、YUV変換部119に入力されて表示可能な形式であるYUVデータに変換された後に、メモリコントローラ115を介してSDRAM33にYUVデータが保存される。
【0046】
そして、SDRAM33からメモリコントローラ115を介して読み出したYUVデータは、表示出力制御部116を介してLCDモニタ10へ送られ、撮影画像(動画)が表示される。LCDモニタ10に撮影画像を表示しているモニタリング時においては、CCDI/F112による画素数の間引き処理により1/30秒の時間で1フレームを読み出している。
【0047】
なお、このモニタリング動作時は、電子ファインダとして機能するLCDモニタ10に撮影画像(動画)が表示されているだけで、まだレリーズボタン2が押圧(半押も含む)操作されていない状態である。
【0048】
この撮影画像のLCDモニタ10への表示によって、静止画を撮影するための構図の確認等をすることができる。なお、表示出力制御部116からTVビデオ信号として出力して、ビデオケーブルを介して外部のTV(テレビ)に撮影画像(動画)を表示することもできる。
【0049】
そして、信号処理IC110のCCDI/F112は、取り込まれたRAW−RGBデータより、AF(自動合焦)評価値、AE(自動露出)評価値、AWB(オートホワイトバランス)評価値(WB評価値ともいう)を算出する。
【0050】
AF評価値は、例えば高周波成分抽出フィルタの出力積分値や、近接画素の輝度差の積分値によって算出される。合焦状態にあるときは、被写体のエッジ部分がはっきりとしているため、高周波成分が一番高くなる。これを利用して、AF動作時(合焦検出動作時)には、撮影レンズ系内の各フォーカスレンズ位置におけるAF評価値を取得して、その極大になる点を合焦検出位置としてAF動作が実行される。
【0051】
AE評価値とAWB評価値は、RAW−RGBデータにおけるRGB値のそれぞれの積分値から算出される。例えば、CCD121の全画素の受光面に対応した画面(画像領域)を256ブロック(エリア)に等分割(水平16分割、垂直16分割)し、それぞれのブロックのRGB積算を算出する。
【0052】
そして、制御部は、算出されたRGB積算値を読み出し、AE処理では、画面のそれぞれのエリア(ブロック)の輝度を算出して、輝度分布から適正な露光量を決定する。決定した露光量に基づいて、露光条件(CCD121の電子シャッター回数、絞りユニットの絞り値、NDフィルタの出し入れ等)を設定する。また、AWB処理では、RGBの分布から被写体の光源の色に合わせたAWBの制御値を決定する。このAWB処理により、YUV変換部119でYUVデータに変換処理するときのホワイトバランスを合わせる。なお、AE処理とAWB処理は、モニタリング時には連続的に行われている。
【0053】
そして、モニタリング動作時に、レリーズボタン2が押圧(半押しから全押し)操作される静止画撮影動作が開始されると、合焦位置検出動作であるAF動作と静止画記録処理が行われる。
【0054】
即ち、レリーズボタン2が押圧(半押しから全押し)操作されると、制御部からモータドライバ32への駆動指令により撮影レンズ系のフォーカスレンズが移動し、例えば、いわゆる山登りAFと称されるコントラスト評価方式のAF動作が実行される。
【0055】
AF(合焦)対象範囲が無限から至近までの全領域であった場合、撮影レンズ系のフォーカスレンズは、至近から無限、又は無限から至近までの間の各フォーカス位置に移動し、CCDI/F112で算出されている各フォーカス位置におけるAF評価値を制御部が読み出す。そして、各フォーカス位置のAF評価値が極大になる点を合焦位置としてフォーカスレンズを合焦位置に移動させ、合焦させる。
【0056】
そして、AE処理が行われ、露光完了時点で、制御部からモータドライバ32への駆動指令によりメカシャッタユニットが閉じられ、CCD121から静止画用のアナログRGB画像信号が出力される。そして、モニタリング時と同様に、F/E120のA/D124によりRAW−RGBデータに変換される。
【0057】
そして、このRAW−RGBデータは、信号処理IC110のCCDI/F112に取り込まれ、YUV変換部119でYUVデータに変換されて、メモリコントローラ115を介してSDRAM33に保存される。そして、このYUVデータはSDRAM33から読み出されて、リサイズ処理部113で記録画素数に対応するサイズに変換され、圧縮伸張部117でJPEG形式等の画像データへと圧縮される。圧縮されたJPEG形式等の画像データは、SDRAM33に書き戻された後にメモリコントローラ115を介してSDRAM33から読み出され、メディアI/F118を介してメモリカード34に保存される。
【0058】
(自動撮影制御)
以下、本実施形態に係る撮像装置による、顔検知および回転動作検知に基づく撮像装置の撮影制御(自動撮影制御ともいう)について説明する。
【0059】
なお、本実施形態では、顔検知および回転動作検知に基づいて撮像装置のシャッター制御を行い、撮影動作を実行させる場合を例に説明するが、以下に述べる顔検知および回転動作検知に基づく撮像装置の制御は、撮影制御に限られるものではなく、撮像装置の他の動作であっても良い。例えば、顔検知および回転動作検知に基づいて、制御手段が、撮像装置の電源をオフにするなどの電源制御等を行うようにしても良い。
【0060】
図3は、自動撮影制御に係る撮像装置の制御ブロックの説明図である。また、図4は、撮像装置の各制御ブロックが実行する自動撮影制御(本発明に係る撮像方法、本発明に係る撮像プログラムが実行する撮像処理)の処理フローチャートを示している。
【0061】
[画像入力処理(顔検知)]
画像入力手段101は、撮影される画像データ(LCDモニタ10に表示される表示用データ)を入力する手段であり、図5に示すように、時系列の連続した画像データ(フレーム画像データ)を所定の時間間隔(Δt(例えば、33msec))にて順次入力する(S101:画像入力処理)。
【0062】
図5に示す例では、Faは最初の画像データを示し、次に、所定の時間間隔(Δt)で次の画像データが入力される。このようにして時系列の画像データが入力されていく。この時系列の画像データはSDRAM33に保存される。
【0063】
[顔検知処理]
先ず、顔検知手段102は、連続して入力される画像データのうちの1つの画像データ(ここではFaを例とする)に基づいて、被写体人物の顔を検知する(S102:顔検知処理)。本実施形態の顔検知手段102では、被写体人物40の顔41に相当する顔領域50を検知する。検知される顔領域50は、中心座標をO(x0,y0)として、頂点ABCDで囲まれる領域である(図5)。
【0064】
なお、顔検知処理(S102)の処理内容(アルゴリズム)は、パターンマッチング等の公知の手法、または新規の手法によれば良く、特に限られるものではない。また、被写体は必ずしも人間である必要はなく、動物等の顔検知処理を行うようにしても良い。この場合は、動物の顔を認識する処理を行い、後述の腕動きジェスチャ検知手段103にて、予め学習させた学習結果を用いて当該動物の腕、足等の動き(回転動作する部位)を検知するようにすれば良い。
【0065】
次に、顔検知手段102で顔の検知がなされたか否かを判断し(S103:判断処理)、顔が検知されない場合(S103:No)は、画像入力処理(S101)に戻り、次の画像データの処理に移る。
【0066】
[回転動作検知処理(腕動きジェスチャ検知処理)]
これに対し、顔が検知された場合(S103:Yes)は、回転動作検知手段103により回転動作検知処理(S104)が実行される。図6に回転動作検知処理(S104)の詳細フローチャートを示す。
【0067】
<腕動きジェスチャ>
本実施形態では、回転動作として、図7に示すように被写体人物40の肘42を基点(回転中心)として、左右方向に腕43を振って、手(掌)44の回転動作を検出する場合を例に説明する。以下、この回転動作を「腕動きジェスチャ」と呼ぶ。図7(A)は腕動きジェスチャ前の画像データ、図7(B)は腕動きジェスチャ後の画像データを示している。尚、図7(B)の点線部分は、前後の動きを明確にするために付加したものである。
【0068】
なお、腕動きジェスチャは、肘42を回転中心として手44が回転するジェスチャに限るものではなく、肩45を基点(回転中心)として手44が回転する腕全体の動作の腕動きジェスチャであっても良い。また、腕43の回転方向も図7の例に限られるものではなく、腕43の位置も肘42から下側に下がった状態からのジェスチャであっても良い。また、腕43を画面前後方向(画面の手前方向)に動かす場合であっても、フレーム間で回転角度(後述のθ)が生じる動作であれば検出可能である。
【0069】
また、ジェスチャは、必ずしも腕の動きに限られるものではなく、回転中心を基点として回転動作するものであればよい。例えば、被写体人物40が合図となる道具(棒状、旗など)を持って、それを回転動作させた場合も、その回転中心と回転している道具の先端を検出することによるものであっても良い。
【0070】
なお、検知の対象とするジェスチャについては、後述するように、教師付き学習において、対応する学習データを予め学習させて、識別式を算出しておくことにより、各ジェスチャの判断が可能となる。また、複数の種類のジェスチャを検知可能とし、ユーザにいずれの動作に基づいて撮像装置の制御を行うかどうかを選択可能に構成することも好ましい。
【0071】
<画像入力処理>
図6に示すように、回転動作検知処理では、先ず、画像入力手段101から画像入力処理がなされる(S201)。本実施形態では、顔検知手段102が顔検知を行うフレーム画像データ(第一画像データFa)と、回転動作検知手段103が回転動作を検知する2枚(動作前/動作後)のフレーム画像データ(第二画像データFb/第三画像データFcとする)における画像データFaとFbとは異なるフレーム画像データとし、画像データFa後のMフレーム後に入力される画像データを画像データFbとしている(図5)。なお、Mの値は1以上の小さい値であることが好ましい。
【0072】
ここで、画像データは、フレームレート(例えば33msec)で入力されるため、1つのフレーム画像データについて、顔検知処理(S102)を行い、同じフレーム画像データを回転動作検知処理(S104)の動作前のフレームとすると、異なる検知処理を同時に行う必要があるため、撮像装置の処理負担が増加する。
【0073】
そこで、画像データFaとFbとは異なるフレーム画像データとして、同一フレームの処理可能時間では、顔検知手段102、または回転動作検知手段103のどちらか一方しか動作させないことが好ましい。このように異なる検知手段が同時に動作しないようにして、ソフトウエアによる画像処理の場合であればCPUの処理負担軽減をして、処理の高速化や省エネにつなげることができる。また、個別の機能を有した画像処理チップによる画像処理の場合、常に片方のみ主に動作させるため消費電力の削減につなげることができる。なお、処理速度や処理性能に余裕のある場合等においては、画像データFaとFbを同一のフレーム画像データとしても良い。
【0074】
<フレーム間隔>
また、腕動きジェスチャは所定のフレーム間隔N(図5)で入力される2つのフレーム画像(Fb,Fc)間における腕動きを検出するものである。フレーム間隔Nの値はパラメータとして、事前に設定される。なお、フレーム間隔Nは、選択可能としても良く、その際、フレーム間隔Nの最小値と最大値を制限するようにしても良い。
【0075】
フレーム間隔Nの値が大きすぎると、一定の角速度で腕を回転させるとき、フレーム間の腕動き角度が大きくなったり、再度、腕が戻ってきてしまったりして(往復回転動き)回転角度が小さくなる可能性がある。したがって、フレーム間隔Nは、検出対象の回転動作する対象の速度に併せて適当なNの値を設定すればよい。
【0076】
本実施形態では、フレーム間隔Nは、想定される腕の角速度において、腕の回転角度θが45°〜90°の範囲となるようなフレーム間隔を、腕の角速度とフレームレート(33msec)に基づいて決定している。例えば、0.5秒程度で腕が45°〜90°の範囲で回動すると仮定すると、N=15程度となる。
【0077】
なお、フレーム間隔Nはこれに限られるものではなく、例えば、N=1として連続するフレーム間での腕動きを検出しても良いし、数フレーム程度としても良い。
【0078】
<腕動きベクトル探索領域の設定>
次に、探索領域設定手段201は、図8に示すように、検出された顔領域50に基づいて、回転動作候補(腕動きベクトル)を検出する領域である腕動きベクトル探索領域51を設定する(S202)。腕動きベクトル探索領域51の設定は、顔領域50(または中心座標をO(x0,y0))に対して、腕43の動く可能性のある画面上の領域、例えば、図8に示すように、中心座標をO(x0,y0)の左右側に所定の画素範囲で設定されるものである。なお、腕動きベクトル探索領域51を設定せず、画面全体に対し、後述の処理を行って回転動作候補を検知することも可能であるが、処理量を軽減するために所定範囲に設定することが好ましい。
【0079】
<動きベクトル検出>(ブロックマッチング)
次に、ブロックマッチング手段202は、2つのフレーム画像間における動きのあった領域を動きベクトルとして検出する(S203)。本実施形態では、図9(A),(B)に示すように、図7に示したフレーム画像データ(Fbフレーム、Fcフレーム)を所定の画素数(n×n)で形成されるブロック52で分割し、フレーム画像間で同じ部分のブロックマッチングにより、動きのあったブロック52の動き量、すなわち、動きベクトル(HH’)を求める。なお、ブロックマッチング方法は、公知または新規の手法によれば良く特に限られるものではない。
【0080】
なお、ブロックのサイズは、回転動作の対象物に応じて適宜設定されるパラメータである。本実施形態では、腕43の動きを区別できるような大きさで分割する。例えば、一般的な顔のサイズと腕のサイズの比に基づいて、顔のサイズから決めることができる。例えば、顔領域50の検知サイズ(小さい顔の場合)を20×20画素とした設定した場合、動き検知ブロックサイズを5×5画素に設定することができる。
【0081】
なお、本実施形態では、動きベクトルの始点と終点とは、5×5画素の中心ブロックとしているが、これに限られるものではない。また、カメラの焦点距離と被写体の距離によって、被写体の大きさが変わるため、ブロックサイズは適宜最適な値に設定されるものであればよい。
【0082】
<画面全体動きの検出>
次に、画面全体動き除去手段203は、画面全体に生じた動き(ブレ)を除去する(S204)。すなわち、撮像装置が三脚などに固定して撮影される場合等においては、画面全体のブレ(画面全体動きという)は生じ難いが、その他の場合に画面全体動きが生じる場合がある。そこで、この画面全体動き量を検出し、これを除く処理(画面全体動き除去処理)を行うことが好ましい。これにより、動きベクトルの検出結果の精度を向上させることができる。
【0083】
すなわち、フレーム間で画面全体の平行移動や回転などの画面全体動きがある場合、ブロックマッチングにより検知された動きベクトルには画面全体動きの影響を受けているため、これをキャンセルする必要がある。
【0084】
例えば、図8に示すように、腕動きベクトル探索領域51以外の領域の複数の動きベクトル(例えば、Va,Vb)を使って画面全体の動きベクトルを計算することができる。
【0085】
フレーム間の動きは、例えば、次式(1)で表すことができる(アフィン変換)。
【数1】
【0086】
上記式(1)における(x1,y1)と(x0,y0)はフレームFbとFcの対応点座標であり、腕動きベクトル探索領域51以外の領域での動きベクトルVa,Vbから得られる。対応点の数が十分多い場合(6個以上)であれば、a,b,c,d,e,f係数を計算できる。
【0087】
上記式(1)より、任意座標(x,y)のFbとFcフレーム間画面全体の動きベクトル(Vx0,Vy0)を求めることができる。よって、座標(x,y)での動きベクトル(Vx, Vy)から画面全体の動きベクトル(Vx0,Vy0)を引くことで、画面全体動きの影響を除去した動きベクトル(Vx−Vx0,Vy−Vy0)を求めることができる。
【0088】
以上説明したように、フレームFbとフレームFc間のフレーム全体動きベクトルを動きベクトルから引き算することで、画面全体の動きがキャンセルできる。残した動きベクトルは腕動きベクトルの候補となる。
【0089】
なお、本実施形態では、腕動きベクトル探索領域51外での動きベクトルに基づいて画面全体の動きベクトル量を求める例について説明したが、腕動きベクトル探索領域51内での動きベクトルに基づいて上記処理を行うようにしても良い。また、画面全体の動きベクトル量の算出は、所定数のブロック52をサンプリングして求めるようにすれば良い。
【0090】
また、本実施形態では、アフィン変換を用いて撮像装置の平行方向のずれ量を補正する例について説明したが、画面全体動きの除去方法は公知または新規の方法によれば良く、これに限られるものではない。例えば、画面の垂直方向のずれ量も考慮する場合は、射影変換を用いた補正を行うようにしても良い。
【0091】
<ノイズベクトル除去>
次に、ノイズベクトル除去手段204は、腕動きベクトル探索領域51内において孤立した動きベクトルをノイズベクトルとして除去する(S205)。すなわち、画面全体の動きとは別に、フレーム間で腕動き以外の動きがある場合等においては、この動きを動きベクトルとして検知してしまう。そこで、本処理では、腕動きベクトル探索領域51内において、実際の腕動きに対応しないと推測される動きベクトルをノイズベクトルとして削除するものである。
【0092】
図8に示す例では、Vc,Vd,Veがノイズベクトルに相当する。なお、画面全体についてブロックマッチングを行って動きベクトルを検知した場合は、腕動きベクトル探索領域51以外の動きベクトル(Vf,Vg)についても削除する。
【0093】
ノイズベクトルの判断は、腕動きベクトル探索領域51内において、孤立した動きベクトルであるかどうかに基づいて判断することができる。例えば、検出された各動きベクトルの周囲の所定距離(半径R画素)以内に他の動きベクトルが存在するかどうかを判断し、存在する場合は、腕動きベクトルと判断し、存在しない場合は、孤立したノイズベクトルと判断することができる。なお、半径Rは、適宜設定される値で有れば良いが、例えば20画素とすることができる。また、判断基準とする画素は、動きベクトルを構成するいずれの画素でもよいが、例えば、動きベクトルの始点とすれば良い。
【0094】
以上の処理によりノイズベクトルと判断されるベクトルVc,Vd,Veが動きベクトルから除外される。以上、S201〜S205の処理により、腕動きに対応した腕動きベクトル(回転動作候補)を検出することができる。
【0095】
<回転中心および回転角度の算出>
次に、回転中心/回転角度算出手段205は、検出した腕動きベクトルに基づいて、回転中心座標と回転角度とを算出する(S206)。すなわち、図8,図10に示すように、フレームFbとFcから検出された腕動きベクトル(H1H1’,H2H2’,H3H3’…)に基づいて、腕動きの回転中心の座標O’(x1,y1)と回転角度θを算出する。なお、説明を簡易にするため3つの腕動きベクトルH1〜H3が検出された例について説明しているが、実際の処理における検出数Hnは、例えば、10以上となる。
【0096】
回転中心座標と回転角度の算出方法の一例を説明する。腕の各部分の動きベクトルの中点を通り該中点に垂直な線(法線、図10中の点線)の集まる点を回転中心座標O’(x1,y1)として求める。なお、各法線の交点が1点には集まらない場合は、隣り合う2本の法線の交点座標の平均値を回転中心座標O’(x1,y1)とすれば良い。
【0097】
次に、回転中心座標O’(x1,y1)と各動きベクトルとの距離(例えば、始点H1または終点H1’との距離)を回転半径R1として計算する。さらに、動きベクトルH1H1’の長さをl1とすると、回転角度θ1は、次式(2)により、回転角度θ1を算出することができる。
θ1=l1/R1 ・・・(2)
【0098】
なお、本実施形態(上記式(2))では、θを90度以内としているが、これに限られるものではなく、90°以上の場合も検出可能とするようにしても良い。また、回転中心座標O’(x1,y1)と動きベクトルの始点H1および終点H1’に基づいて回転角度θ1を求めても良い。
【0099】
同様に腕動きベクトルH2H2’,H3H3’から、それぞれの動きベクトルの回転半径R2,R3と動きベクトルの長さl2,l3を求め、回転角θ2,θ3を算出する。回転角度θ1,θ2,θ3の平均値を腕の回転角度θとして算出する。
【0100】
<回転動作識別>
最後に、回転動作識別手段206は、検出された回転動作候補が実際の腕動きジェスチャ(回転動作)に該当するかどうかを識別する(S207〜S209)。腕動きジェスチャの判定は、腕動きの回転中心と顔領域中心の相対的な位置関係と腕回転角度の特徴量により認識する。
【0101】
まず、顔領域の中心座標O(x0,y0)と腕の回転中心座標O´(x1,y1)から、位置ずれ量を次式(3),(4)で算出し、腕の回転中心O’(x1,y1)と顔中心と回転中心との距離dx、dyおよび回転角度θを腕ジェスチャ認識の特徴量とする(S207)。
dx=x1−x0 ・・・(3)
dy=y1−y0 ・・・(4)
【0102】
次に、特徴量の正規化を行う(S208)。すなわち、撮像装置の変倍ズームがあるとき、被写体の大きさはズームの変倍率によって異なる。例えば、平均顔サイズが20×20画素となるように、画像全体を変倍し、正規化する。このようにすれば、被写体の大きさが変わっても、ズーム倍率によらず共通の認識辞書を使用することができ、正しく腕動きジェスチャの認識ができるため好ましい。
【0103】
次に、これらの特徴量を用いて、予め機械学習に基づいて算出された識別式を用いて腕動きジェスチャに該当するかどうかを判断する(S209)。
【0104】
識別式の算出(学習ステップ)について説明する。予め、対象となる回転動作である腕動きジェスチャのサンプルデータ(動画サンプルデータ)を集め、腕動きの回転中心と顔領域中心との相対的な位置関係と腕の回転角度のサンプルデータ(O’(x1,y1)、dx、dy、θ)を用いて、学習モデルにより、腕動きジェスチャ認識辞書(学習データ)を作成する。
【0105】
次に、上記処理において求めた特徴量値と、事前学習した学習データに基づいて算定される識別式に基づいて腕動きジェスチャに該当するかどうかを判断するものである(認識ステップ)。
【0106】
具体的には、例えば、線形サポートベクタマシン(Support Vector Machine,SVM)法による認識辞書を用いて、次式(5)に示すように、線形SVMの識別関数f(dx、dy、θ)を生成することができる。この識別関数f(dx,dy,θ)を用いて、ジェスチャ認識することができる。
f=A・dx+B・dy+C・θ ・・・(5)
【0107】
なお、A,B,Cは上記事前学習により算出される。識別関数(式(5))で得られた識別関数値fが閾値(thとする)より大きい場合、腕動きジェスチャが認識されると判断し、fは閾値より小さい場合、腕動きジェスチャでないと判断される。
【0108】
図11にSVMによる腕ジェスチャ認識を模式的に示したグラフを示す。図11では、腕動きジェスチャの特徴量分布を○、非腕動きジェスチャの特徴量値分布を×として示している。なお、図11では、説明を簡易にするため2つの変数(dx,θ)の分布図を使って説明しており、識別面は直線となる。直線以上になる、つまり○の点は腕動きジェスチャと認識される。直線より下の×の部分は非腕動きジェスチャとして認識される。なお、上記式(5)に対応する3つの変数(dx,dy,θ)の場合は3次元の特徴空間となり、識別面は平面となる。識別平面より上の特徴量値は腕動きジェスチャの特徴量となり、識別平面より下の特徴量値は非腕動きジェスチャの特徴量となる。
【0109】
以上説明した特徴量を用いた学習方法による認識によれば、腕の回転中心と顔中心の相対位置、回転角度の値はある程度の分散があっても、正確な認識は可能となる。つまり、被写体による腕の長さの違いや、回転中心と顔中心の位置関係の違いや、腕の回転角度が異なる場合でも、正確な認識が可能となる。
【0110】
なお、本実施形態では、認識辞書を作成する学習モデルとして、線形SVMの例を述べたが、識別関数fは線形に限らず、非線形識別関数を使用してもよい。また、学習モデルとして、AdaBoostなどの他の学習モデルを用いるようにしても良い。また、認識辞書は事前に作成され、撮像装置の記憶手段には認識辞書に基づいて算出された識別関数が記憶されているものである。
【0111】
[撮影動作制御]
図4のフローチャートの説明に戻る。識別関数(式(5))で得られた識別関数値fが閾値(thとする)より大きい場合(S105:Yes)は、所望の回転動作(腕動きジェスチャ)が認識されると判断する。識別関数値fが閾値より小さい場合(S105:No)、所望の回転動作でないと判断され、画像入力処理(S101)に戻る。
【0112】
回転動作があるものと判断されると、通知手段104は、撮像装置から腕動きジェスチャが検知されたサインを撮影者や被写体人物に対して表示する(S106:ジェスチャサイン表示処理)。
【0113】
尚、通知手段104によるジェスチャサイン表示処理での表示方法は、特に限られるものではないが、例えば、撮像装置の前面にLEDライト(図示せず)を設け、これを点灯するようにしても、その他の発光部を点灯させるようにしても、サブLCD、LCDモニタ10等に文字、マーク等を表示させるようにしても良い。また、通知手段104での通知(S106)を行わずに、所定時間経過後にシャッターを切る制御を行う(S107)ものであっても良い。
【0114】
次に、シャッター制御手段105は、ジェスチャサイン表示後の、所定時間後にシャッターを切る制御を行い(S107)、撮影および画像記録処理を行うものである(S108)。当該処理(S107〜S108)の詳細は、上述のレリーズボタン2が押圧された動作と同様であり、このようにして撮影された画像情報は、例えば、メモリカード34に記録される。
【0115】
[被写体が複数の場合]
なお、被写体が複数の場合、顔検知処理(S102)では、複数の顔が検知されることになるため、予め被写体の優先順位を決定しておき、複数の腕動きジェスチャが認識された場合、被写体の優先順位で、撮像制御する腕動きジェスチャを決めることが好ましい。また、優先順位の最も高い被写体(主要被写体)についてのみ、回転動作検知処理(S104)を行うようにしても良い。
【0116】
被写体の優先順位の決定方法は、特に限られるものではないが、例えば、画面中心部の顔を主要被写体としてもよいし、一番サイズの大きな顔を主要被写体としてもよい。また、優先順位の設定のパターンを複数用意し、ユーザが選択可能としても良い。
【0117】
以上説明したように、本実施形態に係る撮像装置によれば、被写体と撮像装置が離れている場合や多くの被写体を同時撮影する場合等の顔サイズが小さい場合であっても、顔の検出後に、さらに腕の動きを検出したことをトリガとして、シャッターを切ることにより、撮影者の所望のタイミングにおいて、確実に自動でシャッターを切ることが可能となる。
【0118】
また、被写体の腕の動きだけを最初に検出するのではなく、顔検知により被写体の存在を検知したうえで、当該被写体の腕の動きジェスチャを検知するようにしているので、腕の動きの認識精度を向上させることができ、誤認識を低減することができる。
【0119】
さらに、腕の回転中心と顔中心の相対関係と腕の回転角度で腕ジェスチャを認識している。すなわち、まず、顔領域の中心座標は顔検知手段により求め、次に、腕動きの回転中心座標と回転角度を、顔領域の中心座標付近の領域の動きベクトルを求めて解析することにより計算しているため、パターン認識等の手段で手の位置を求めてからジェスチャを認識する手法に比べて計算が容易であり、高速に求めることが可能である。
【0120】
また、先に手を検知して、手の動きを検知する場合、手の形に変化がある場合等に検知率が低下することが考えられるが、上記実施形態では、腕を含めた手の並行シフト等の、軸回転となっていない手の動きを検知しないため、腕動きジェスチャの認識精度を高くでき、腕動きジェスチャの検知における誤認識を低下させることができる。
【0121】
また、顔領域の中心座標と、動きの回転中心座標と、動きの回転角度と、を特徴量データとしているので、特に腕の長さ、腕回転角度の大きさ、腕回転中心と顔中心の距離などの詳細なパラメータを個別に設定したり、記録したりすることが不要となっている。また、様々な腕動きジェスチャのデータを用いて、学習した辞書に基づく識別式により識別することで、手の形や腕の形、年齢、性別、体形等の異なる腕動きジェスチャの認識が可能となり、認識率が高く、ノイズにも強い。
【0122】
また、腕動きジェスチャが検知された際、撮影を実行前に、腕動きジェスチャが検知された旨を外部に通知する通知手段を備えているので、撮影装置に撮影される人にジェスチャが検知されたことを知らせ、撮影までの準備をするように、表情やポーズなどを準備することが可能となる。
【0123】
上述の実施形態は本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、上記の画像入力手段101、顔検知手段102、腕動きジェスチャ検知手段103、通知手段104、およびシャッター制御手段105、探索領域設定手段201、ブロックマッチング手段202、画面全体動き除去手段203、ノイズベクトル除去手段204、回転中心/回転角度算出手段205、回転動作識別手段206の各手段は、例えば、CPU111で実行されるソフトウェア(撮像プログラム)を撮像装置で実行させることで構成でき、その実行の際に必要なデータは、例えば、SDRAM33にロードされる。また、上記各手段を、モジュール構成として、例えば、顔検知手段102、腕動きジェスチャ検知手段103、を実現するプログラムを他のハードウェアに適用可能である。また、当該撮像プログラムを撮像装置で実行可能に記録した記録媒体の態様にも適用される。
【符号の説明】
【0124】
1 サブLCD
2 レリーズシャッター(SW1)
3 ストロボ発光部
4 モードダイヤル(SW2)
5 測距ユニット
6 リモコン受光部
7 レンズユニット
8 AFLED
9 ストロボLED
10 LCDモニタ
11 光学ファインダ
12 ズームボタンTELE(SW4)
13 電源スイッチ(SW13)
14 ズームボタンWIDE(SW3)
15 セルフタイマ/削除スイッチ(SW5)
16 メニュースイッチ(SW6)
17 OKスイッチ(SW12)
18 左/画像確認スイッチ(SW11)
19 下/マクロスイッチ(SW10)
20 上/ストロボスイッチ(SW7)
21 右スイッチ(SW8)
22 ディスプレイスイッチ(SW9)
23 メモリカードスロットル
30 ROM
31 操作部
32 モータドライバ
33 SDRAM
34 メモリカード
40 被写体人物
41 顔
42 肘
43 腕
44 手
45 肩
50 顔領域
51 腕動きベクトル探索領域
52 ブロック
101 画像入力手段
102 顔検知手段
103 回転動作検知手段
104 通知手段
105 シャッター制御手段
110 信号処理IC
111 CPU
112 CCD I/F
113 リサイズ処理部
115 メモリコントローラ
116 表示出力制御部
117 圧縮伸長部
118 メディアI/F
119 YUV変換部
120 F/E
121 CCD
122 CDS
123 AGC
124 A/D変換機
125 タイミングジェネレータ
201 探索領域設定手段
202 ブロックマッチング手段
203 画面全体動き除去手段
204 ノイズベクトル除去手段
205 回転中心/回転角度算出手段
206 回転動作識別手段
【先行技術文献】
【特許文献】
【0125】
【特許文献1】特開2010−74735号公報
【特許文献2】特開2011−78009号公報
【特許請求の範囲】
【請求項1】
所定の時間間隔で連続して画像データを入力する画像入力手段と、
前記画像データに基づいて被写体の顔領域を検出する顔検知手段と、
所定間隔で入力される2つの前記画像データ間における回転動作を検知する回転動作検知手段と、
該回転動作検知手段により、前記回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御手段と、を備え、
前記回転動作検知手段は、前記2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、
前記顔検知手段により検出された前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、に基づいて、前記回転動作候補が前記回転動作に該当するか否かを判断することを特徴とする撮像装置。
【請求項2】
前記回転動作検知手段は、前記顔検知手段で検出された前記顔領域に基づいて設定される探索領域内において、
前記2つの画像データ間について、該画像データを所定画素数で区分したブロックごとに、動きのあったブロックを抽出し、
前記動きのあったブロックの前記2つの画像データ間の移動量を動きベクトルとして検出し、
前記動きベクトルを前記回転動作候補として、前記回転中心座標と、前記回転角度と、を算出することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記回転動作検知手段は、検出された複数の前記動きベクトルの中点を通る法線が交り合う位置に基づいて前記回転中心座標を決定し、
該回転中心座標および検出された複数の前記動きベクトルの検出位置に基づいて、前記回転角度を算出することを特徴とする請求項2に記載の撮像装置。
【請求項4】
前記回転動作検知手段は、前記動きベクトルの検出において、該動きベクトルを形成するいずれかの画素を中心として、所定範囲数の画素範囲に他の動きベクトルに含まれる画素がない場合に、該動きベクトルを前記回転動作候補から除外することを特徴とする請求項2または3に記載の撮像装置。
【請求項5】
前記回転動作検知手段は、前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、を特徴量データとし、
該特徴量データを、予め学習モデルにより学習させた認識辞書に基づいて求められた識別式に適用して、前記回転動作候補が前記回転動作に該当するか否かを判断することを特徴とする請求項1から4までのいずれかに記載の撮像装置。
【請求項6】
前記回転動作検知手段は、前記回転中心座標として前記被写体の肘を検知し、前記回転動作として、肘を基点とした前記被写体の腕の動きを検知することを特徴とする請求項1から5までのいずれかに記載の撮像装置。
【請求項7】
前記回転動作検知手段は、前記顔検知手段が前記被写体の前記顔領域を検出する第一画像データの以降に入力される第二画像データと、該第二画像データの所定数のフレーム後に入力される第三画像データに基づいて、前記回転動作を検知することを特徴とする請求項1から6までのいずれかに記載の撮像装置。
【請求項8】
前記制御手段が当該撮像装置に実行させる前記所定動作は撮影動作であって、
前記回転動作検知手段により、前記回転動作が検知された際、前記制御手段による撮影動作の実行前に、前記回転動作が検知された旨を外部に通知する通知手段を備えることを特徴とする請求項1から7までのいずれかに記載の撮像装置。
【請求項9】
所定の時間間隔で連続して画像データを入力する画像入力処理と、
前記画像データに基づいて被写体の顔領域を検出する顔検知処理と、
所定間隔で入力される2つの前記画像データ間における回転動作を検知する回転動作検知処理と、
該回転動作検知処理により、前記回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御処理と、行い、
前記回転動作検知処理は、前記2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、
前記顔検知処理により検出された前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、に基づいて、前記回転動作候補が前記回転動作に該当するか否かを判断するようにしたことを特徴とする撮像方法。
【請求項10】
所定の時間間隔で連続して画像データを入力する画像入力処理と、
前記画像データに基づいて被写体の顔領域を検出する顔検知処理と、
所定間隔で入力される2つの前記画像データ間における回転動作を検知する回転動作検知処理と、
該回転動作検知処理により、前記回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御処理と、を撮像装置に実行させ、
前記回転動作検知処理は、前記2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、
前記顔検知処理により検出された前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、に基づいて、前記回転動作候補が前記回転動作に該当するか否かを判断するものであることを特徴とする撮像プログラム。
【請求項1】
所定の時間間隔で連続して画像データを入力する画像入力手段と、
前記画像データに基づいて被写体の顔領域を検出する顔検知手段と、
所定間隔で入力される2つの前記画像データ間における回転動作を検知する回転動作検知手段と、
該回転動作検知手段により、前記回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御手段と、を備え、
前記回転動作検知手段は、前記2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、
前記顔検知手段により検出された前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、に基づいて、前記回転動作候補が前記回転動作に該当するか否かを判断することを特徴とする撮像装置。
【請求項2】
前記回転動作検知手段は、前記顔検知手段で検出された前記顔領域に基づいて設定される探索領域内において、
前記2つの画像データ間について、該画像データを所定画素数で区分したブロックごとに、動きのあったブロックを抽出し、
前記動きのあったブロックの前記2つの画像データ間の移動量を動きベクトルとして検出し、
前記動きベクトルを前記回転動作候補として、前記回転中心座標と、前記回転角度と、を算出することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記回転動作検知手段は、検出された複数の前記動きベクトルの中点を通る法線が交り合う位置に基づいて前記回転中心座標を決定し、
該回転中心座標および検出された複数の前記動きベクトルの検出位置に基づいて、前記回転角度を算出することを特徴とする請求項2に記載の撮像装置。
【請求項4】
前記回転動作検知手段は、前記動きベクトルの検出において、該動きベクトルを形成するいずれかの画素を中心として、所定範囲数の画素範囲に他の動きベクトルに含まれる画素がない場合に、該動きベクトルを前記回転動作候補から除外することを特徴とする請求項2または3に記載の撮像装置。
【請求項5】
前記回転動作検知手段は、前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、を特徴量データとし、
該特徴量データを、予め学習モデルにより学習させた認識辞書に基づいて求められた識別式に適用して、前記回転動作候補が前記回転動作に該当するか否かを判断することを特徴とする請求項1から4までのいずれかに記載の撮像装置。
【請求項6】
前記回転動作検知手段は、前記回転中心座標として前記被写体の肘を検知し、前記回転動作として、肘を基点とした前記被写体の腕の動きを検知することを特徴とする請求項1から5までのいずれかに記載の撮像装置。
【請求項7】
前記回転動作検知手段は、前記顔検知手段が前記被写体の前記顔領域を検出する第一画像データの以降に入力される第二画像データと、該第二画像データの所定数のフレーム後に入力される第三画像データに基づいて、前記回転動作を検知することを特徴とする請求項1から6までのいずれかに記載の撮像装置。
【請求項8】
前記制御手段が当該撮像装置に実行させる前記所定動作は撮影動作であって、
前記回転動作検知手段により、前記回転動作が検知された際、前記制御手段による撮影動作の実行前に、前記回転動作が検知された旨を外部に通知する通知手段を備えることを特徴とする請求項1から7までのいずれかに記載の撮像装置。
【請求項9】
所定の時間間隔で連続して画像データを入力する画像入力処理と、
前記画像データに基づいて被写体の顔領域を検出する顔検知処理と、
所定間隔で入力される2つの前記画像データ間における回転動作を検知する回転動作検知処理と、
該回転動作検知処理により、前記回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御処理と、行い、
前記回転動作検知処理は、前記2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、
前記顔検知処理により検出された前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、に基づいて、前記回転動作候補が前記回転動作に該当するか否かを判断するようにしたことを特徴とする撮像方法。
【請求項10】
所定の時間間隔で連続して画像データを入力する画像入力処理と、
前記画像データに基づいて被写体の顔領域を検出する顔検知処理と、
所定間隔で入力される2つの前記画像データ間における回転動作を検知する回転動作検知処理と、
該回転動作検知処理により、前記回転動作が検知された場合に当該撮像装置に所定動作を実行させる制御処理と、を撮像装置に実行させ、
前記回転動作検知処理は、前記2つの画像データ間における回転動作候補を検知し、該回転動作候補の回転中心座標と、該回転動作候補の回転角度を算出し、
前記顔検知処理により検出された前記顔領域の中心座標と、前記回転中心座標と、前記回転角度と、に基づいて、前記回転動作候補が前記回転動作に該当するか否かを判断するものであることを特徴とする撮像プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−239156(P2012−239156A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2012−31360(P2012−31360)
【出願日】平成24年2月16日(2012.2.16)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願日】平成24年2月16日(2012.2.16)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]