(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-25
(45)【発行日】2024-10-03
(54)【発明の名称】電子機器およびその制御方法
(51)【国際特許分類】
H04N 23/67 20230101AFI20240926BHJP
G02B 7/28 20210101ALN20240926BHJP
G03B 15/00 20210101ALN20240926BHJP
G03B 17/02 20210101ALN20240926BHJP
【FI】
H04N23/67
G02B7/28 N
G03B15/00 Q
G03B17/02
(21)【出願番号】P 2020182702
(22)【出願日】2020-10-30
【審査請求日】2023-10-12
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】内田 武志
【審査官】吉田 千裕
(56)【参考文献】
【文献】特開平04-335605(JP,A)
【文献】特開平05-210040(JP,A)
【文献】特開平07-240868(JP,A)
【文献】特開2002-331849(JP,A)
【文献】米国特許出願公開第2020/0218341(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/67
G02B 7/28
G03B 15/00
G03B 17/02
(57)【特許請求の範囲】
【請求項1】
電子機器であって、
ユーザが注視する画像上の座標を注視点座標として検出する検出手段と、
距離閾値を超える移動量を有する前記注視点座標の移動が検出された場合、移動後の注視点座標の保持時間を計測する計測手段と、
前記保持時間が時間閾値より大きい場合は前記移動後の注視点座標に基づく動作を実行する制御手段と、
を有し、
前記
時間閾値が、前記電子機器の動きに応じて動的に定められることを特徴とする電子機器。
【請求項2】
前記制御手段は、前記保持時間が前記時間閾値以下の場合は、前記移動後の前記注視点座標に基づく動作を実行しないことを特徴とする請求項1に記載の電子機器。
【請求項3】
前記保持時間が前記時間閾値より大きい場合は前記注視点座標の移動がユーザの意図した視点移動であると判定し、
前記保持時間が前記時間閾値以下の場合は前記注視点座標の移動がユーザの意図しない視点移動であると判定する、
判定手段をさらに有することを特徴とする請求項1または2に記載の電子機器。
【請求項4】
前記画像がライブビュー画像であり、
前記動作が、前記移動後の前記注視点座標を含む特徴領域を主被写体領域として決定する動作であることを特徴とする請求項1または2に記載の電子機器。
【請求項5】
前記画像がライブビュー画像であり、
前記動作が、前記移動後の前記注視点座標を含むAF枠に対する焦点検出処理であることを特徴とする請求項1または2に記載の電子機器。
【請求項6】
前記電子機器は撮像装置で
あることを特徴とする請求項
1から5のいずれか1項に記載の電子機器。
【請求項7】
前記電子機器が動いていない場合の前記時間閾値は、前記電子機器が動いている場合の前記時間閾値よりも小さいことを特徴とする請求項
1から6のいずれか1項に記載の電子機器。
【請求項8】
電子機器であって、
ユーザが注視するライブビュー画像上の座標を注視点座標として検出する検出手段と、
距離閾値を超える移動量を有する前記注視点座標の移動が検出された場合、移動後の注視点座標の保持時間を計測する計測手段と、
前記保持時間が時間閾値より大きい前記注視点座標の移動が検出された場合、移動後の前記注視点座標を含む特徴領域を新たな主被写体領域とする制御手段と、
を有し、
前記
時間閾値が、前記電子機器の動きに応じて動的に定められることを特徴とする撮像装置。
【請求項9】
前記制御手段は、前記保持時間が時間閾値以下の前記注視点座標の移動が検出された場合、前記注視点座標の移動前の主被写体領域を維持する、ことを特徴とする請求項
8に記載の撮像装置。
【請求項10】
電子機器が実行する、前記電子機器の制御方法であって、
ユーザが注視する画像上の座標を注視点座標として検出する検出工程と、
距離閾値を超える移動量を有する前記注視点座標の移動が検出された場合、移動後の注視点座標の保持時間を計測する計測工程と、
前記保持時間が時間閾値より大きい場合は前記移動後の注視点座標に基づく動作を実行する制御工程と、
を有し、
前記
時間閾値が、前記電子機器の動きに応じて動的に定められることを特徴とする電子機器の制御方法。
【請求項11】
ユーザが注視する画像上の座標を注視点座標として検出する機能を有する電子機器が有するコンピュータを、請求項1から
7のいずれか1項に記載の電子機器の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は電子機器およびその制御方法に関し、特に視線検出機能を有する電子機器およびその制御方法に関する。
【背景技術】
【0002】
視線検出機能を有し、視線入力によって焦点検出領域を選択することができるカメラが知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、視野像を視認している間、常に特定に被写体だけを見続けるのは困難であり、他の被写体に視線を移す時間もある。そのため、カメラがユーザの意図と異なる被写体に合焦するように動作してしまうことが起こりうる。
【0005】
本発明はその一態様において、ユーザの意図と異なる動作が行われることを抑制可能な、視線検出機能を有する電子機器およびその制御方法を提供する。
【課題を解決するための手段】
【0006】
上述の目的は、電子機器であって、ユーザが注視する画像上の座標を注視点座標として検出する検出手段と、距離閾値を超える移動量を有する注視点座標の移動が検出された場合、移動後の注視点座標の保持時間を計測する計測手段と、保持時間が時間閾値より大きい場合は移動後の注視点座標に基づく動作を実行する制御手段と、を有し、時間閾値が、電子機器の動きに応じて動的に定められることを特徴とする電子機器によって達成される。
【発明の効果】
【0007】
本発明によれば、ユーザの意図と異なる動作が行われることを抑制可能な、視線検出機能を有する電子機器およびその制御方法を提供することができる。
【図面の簡単な説明】
【0008】
【
図3】実施形態に係るカメラの機能構成例を示すブロック図
【
図4】実施形態に係るカメラのファインダ像の一例を示す図
【
図5】実施形態における視線検出方法の原理を説明するための図
【
図8】複数の被写体が存在するシーンにおける注視点座標の移動例を示す図
【
図9】
図8に示すシーンの注視点座標とAF枠位置の時系列的な変化を示す図
【
図10】実施形態において注視点座標の推定に用いるCNNの構成例を示す模式図。
【
図12】固定撮影時の移動被写体と注視点のファインダ視野内での移動を示す模式図
【
図13】パンニング撮影時の移動被写体と注視点のファインダ視野内での移動を示す模式図
【
図14】実施形態に係るカメラの動作に関するフローチャート
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
なお、以下の実施形態では、本発明をレンズ交換式のデジタルスチルカメラで実施する場合に関して説明する。しかし、本発明は視線検出機能を有する任意の電子機器でも実施可能である。このような電子機器には、ビデオカメラ、コンピュータ機器(パーソナルコンピュータ、タブレットコンピュータ、メディアプレーヤ、PDAなど)、携帯電話機、スマートフォン、ゲーム機、VR、AR、またはMR機器、車載機器などが含まれる。これらは例示であり、本発明は他の電子機器でも実施可能である。
【0011】
●(第1実施形態)
<構成の説明>
図1(a)および
図1(b)は、実施形態に係るレンズ交換式デジタルスチルカメラ(以下、単にカメラという)1の外観例を示す、正面側からみた斜視図および背面側から見た斜視図である。
【0012】
カメラ1はカメラ本体1Bと、カメラ本体1Bに対して着脱可能なレンズユニット1Aとを有する。本明細書において、カメラ座標系として、レンズユニット1Aの光軸をZ軸、Z軸と直交する鉛直方向の軸をY軸、Z軸とY軸に直交する軸をX軸とするXYZ直交座標系を規定する。なお、カメラ座標系の原点は例えば撮像面と光軸との交点であってよいが、これに限定されない。
【0013】
レリーズボタン5、ジョイスティック41、タッチディスプレイ42、方向キーおよび決定ボタン43はカメラ本体1Bに設けられた、ユーザ操作を受ける操作部材の一部である。なお、タッチディスプレイ42は操作部材であり、かつ表示素子である。以下、操作部材を総称して操作部と呼ぶ。
【0014】
カメラ本体1Bは覗き込みタイプのファインダを有し、ユーザは接眼レンズ12を覗き込むことによって視野像を視認することができる。ファインダは光学ファインダであっても電子ビューファインダ(EVF)であってもよい。光学ファインダの場合には視野像は光学像であり、EVFの場合には視野像はLCDなどの表示デバイスに表示された像である。以下、ファインダを通じて視認される視野像(指標などが重畳表示されている状態を含む)をファインダ像という。
【0015】
図2は、カメラ1の内部構成例を主に光学系について模式的に示したYZ平面断面図である。レンズユニット1Aがカメラ本体1Bに装着されるとレンズユニット1Aとカメラ本体1Bとはマウント接点117を通じて電気的に接続される。レンズユニット1Aにはマウント接点117を通じてカメラ本体1Bから電源が供給される。また、レンズユニット1A内の回路とカメラ本体1BのCPU3とはマウント接点117を通じて通信可能である。
【0016】
レンズユニット1Aは可動レンズ1aと固定レンズ1bとを有している。図ではそれぞれ1枚のレンズとして記載しているが、実際には複数のレンズから構成される。ここでは可動レンズ1aがフォーカスレンズであるものとするが、変倍レンズやぶれ補正レンズなど、他の可動レンズが含まれていてもよい。可動レンズ1aはレンズ駆動部材114で支持され、レンズ駆動用モータ113によって光軸方向(図面左右方向)に駆動される。レンズ駆動部材114と連動するパルス板116の回転をフォトカプラ115によって検知して、焦点調節回路118に出力している。焦点調節回路118はフォトカプラ115の出力に基づいて可動レンズ1aの駆動量および駆動方向を検出することができる。焦点調節回路118は、カメラ本体1BのCPU3から可動レンズ1aの駆動量と駆動方向を指示されると、フォトカプラ115の出力に基づいてレンズ駆動用モータ113の動作を制御する。
【0017】
カメラカメラ本体1Bにおいて、撮像素子2はCCDイメージセンサやCMOSイメージセンサである。撮像素子2には複数の画素が2次元配置され、各画素には1つのマイクロレンズ、1つのカラーフィルタ、および1つ以上の光電変換部が設けられている。本実施形態においては、各画素に複数の光電変換部が設けられ、光電変換部ごとに信号を読み出し可能に構成されている。画素をこのような構成にすることにより、撮像素子2から読み出した信号から撮像画像、視差画像対、および位相差AF用の像信号を生成することができる。撮像素子2はレンズユニット1Aが形成する光学像を複数の画素による光電変換によって画素信号群(アナログ画像信号)に変換する。また、本実施形態では撮像素子2はA/D変換機能を有し、アナログ画像信号をデジタル画像データに変換して出力する。
【0018】
メモリ部4は不揮発性メモリ(ROM)と揮発性メモリ(RAM)とを有する。CPU3はROMに記憶されたプログラムをRAMに読み込んで実行することにより、カメラ本体1Bおよびレンズユニット1Aの動作を制御し、カメラの機能を実現する。また、メモリ部4には、撮影で得られた画像データや音声データを記録するための記録媒体(メモリカードなど)も含まれる。CPU3はマウント接点117通じて焦点調節回路118および絞り駆動部112の動作を制御する。
【0019】
メモリ部4の不揮発性メモリは書き換え可能であってよい。不揮発性メモリは、CPU3が実行するプログラム、各種の設定値、GUI(Graphical User Interface)の画像データ、視線の個人差を補正する視線補正データなどを記憶する。
【0020】
表示素子10はLCDや有機ELディスプレイパネルであり、ライブビュー画像など撮影された画像、メニュー画面、各種の情報などを表示する。表示素子駆動回路11は、CPU3の制御に従って表示素子10を駆動する。表示素子10はカメラ本体1Bの内部に設けられているため、カメラ本体1Bの外部から表示素子10を観察するための接眼部が設けられている。接眼部には接眼レンズ12や視線検出用の照明光源13a~13fが設けられている。また、眼球の画像を撮影するための光分割器15および眼球用撮像素子17も接眼部に設けられている。
【0021】
照明光源13a~13fは接眼レンズ12の周囲に設けられた複数の赤外線LEDであり、接眼部を覗くユーザの眼球14を赤外光で照明する。照明光源13a~13fの赤外光が眼球14に反射して得られる眼球像は、光分割器15で反射され、上方に設けられた受光レンズ16を介して眼球用撮像素子17で撮影される。受光レンズ16はユーザの眼球14の瞳孔と眼球用撮像素子17を共役な結像関係に位置付けている。眼球用撮像素子17は2次元配列された複数の画素を有し、赤外光による像を撮影するように構成されている。眼球用撮像素子17の画素数は撮像素子2の画素数より少なくてよい。眼球用撮像素子17で得られる眼球像における角膜反射と瞳孔との位置関係に基づいて、眼球14の視線方向を検出することができる。
【0022】
照明光源13a~13b、光分割器15、受光レンズ16、眼球用撮像素子17、CPU3、および後述する視線検出回路201が視線検出装置を構成する。
動きセンサ18は、ジャイロセンサや加速度センサなど、カメラ本体1Bの動きを検出するセンサである。動きセンサ18の出力はCPU3に供給される。CPU3は、動きセンサ18の出力から、XYZ軸それぞれについて、軸方向および軸周りのカメラ本体1の動きを知ることができる。なお、動きセンサ18は手ブレ補正用のセンサを流用してもよい。
【0023】
図3は本実施形態のカメラの構成例を電気回路に着目して記載したブロック図である。CPU3には視線検出回路201、測光回路202、自動焦点検出回路203、操作部204、表示素子駆動回路11、照明光源駆動回路205が接続されている。また、撮影レンズ1に設けられた焦点調節回路118および絞り制御回路206(絞り駆動部112に含まれる)は、マウント接点117を通じてCPU3と電気的に接続されている。
【0024】
視線検出回路201は、眼球用撮像素子17(CCD-EYE)から得られる眼球像のアナログ画像信号をA/D変換し、デジタル画像データとしてCPU3に送信する。CPU3は眼球像のデジタル画像データから、視線検出に必要な特徴点を公知のアルゴリズムに従って検出し、各特徴点の位置からユーザの視線方向を検出する。
【0025】
測光回路202は、撮像素子2から得られる画像データに基づいて予め定められた露出制御用の評価値としての輝度情報を生成し、CPU3に出力する。CPU3は輝度情報に基づいて自動露出制御(AE)処理を行い、撮影条件を決定する。撮影条件は例えば静止画撮影であればシャッター速度、絞り値、感度である。CPU3は決定した撮影条件に基づいて撮影レンズ1の絞り111の絞り値(開口量)を制御する。また、CPU3は本体20内のメカニカルシャッタの動作も制御する。
【0026】
自動焦点検出回路203は、撮像素子2から得られる画像データに基づいて位相差AF用の像信号を生成し、CPU3に出力する。CPU3は位相差AF用の像信号の位相差に基づいてデフォーカス量を算出する。これは撮像面位相差AFとして知られる公知の技術である。本実施形態では、一例として、
図4のファインダ像(後述)で示した箇所に対応する撮像面上の位置に180か所の焦点検出ポイントがあるものとするが、これに限定されない。
【0027】
操作部204は先に説明したレリーズボタン5、操作部材41~43を始めとする、ユーザが操作可能な複数の入力デバイス(ボタン、スイッチ、ダイヤルなど)の総称である。操作部204が有する入力デバイスの一部は、割り当てられた機能に応じた名称を有し、代表例としてレリーズボタン5、電源スイッチ、メニューボタン、方向キーおよび決定ボタン43などがある。操作部204に含まれる入力デバイスの操作はCPU3が監視している。CPU3は、入力デバイスの操作を検出すると、検出した操作に応じた処理を実行する。
【0028】
レリーズボタン5は半押し状態でONする第1シャッタースイッチ(SW1)と、全押し状態でONする第2シャッタースイッチ(SW2)とを有する。CPU3は、SW1のONを検出すると、静止画撮影の準備動作を実行する。準備動作には、AE処理やAF処理などが含まれる。また、CPU3は、SW2のONを検出すると、AE処理で決定した撮影条件に従った静止画の撮影および記録動作を実行する。
【0029】
照明光源駆動回路205は、CPU3の制御に従って照明光源13a~13fの発光動作を制御する。
【0030】
図4は、接眼レンズ12を通じて観察されるファインダ像の例を示す図であり。ここではファインダ像は表示素子10に表示された像であり、各種の指標が重畳されている。なお、表示素子10やタッチディスプレイ42をEVFとして機能させるために表示される動画像をライブビュー画像と呼ぶ。
【0031】
図4において、300は視野マスク、400は焦点検出が可能な範囲を示す指標、4001~4180は焦点検出が可能な点(焦点検出点)に対応する位置に表示された180個の視標(AF枠)を示す。また、現在の注視点に対応するAF枠については、推定注視点Aとして示すように強調表示される。
【0032】
<視線検出動作の説明>
図5~
図7を用いて、視線検出動作について説明する。
図5は視線検出の原理に関する図である。照明光源13a~13fは受光レンズ16の光軸に対して略対称に配置され、ユーザの眼球14に赤外光を照射する。
図5では照明光源13a,13bのみが示されている。受光レンズ16は眼球14で反射した赤外光による眼球像を、眼球用撮像素子17の撮像面に形成する。
【0033】
図6(a)は受光レンズが形成する眼球像の模式図、
図6(b)は
図6(a)の領域αにおける輝度分布の模式図である。
【0034】
図7は、視点検出動作に関するフローチャートである。視点検出動作は例えば接眼レンズ12に物体が近接していることが検知されている際に実行することができる。接眼レンズ12に物体が近接していることは、例えば接眼レンズ12の近傍に設けた近接センサを用いるなど、公知の任意の方法を用いて検知することができる。操作部204を通じたユーザの指示に応じて視点検出動作を開始してもよい。
【0035】
S1においてCPU3は、照明光源駆動回路205を通じて照明光源13a~13fの1つ以上を点灯させる。ここでは便宜上、
図5に示した照明光源13a,13bを点灯させるものとする。これにより、照明光源13a,13bからカメラ本体1Bの外部に向けて赤外光が照射される。赤外光は接眼レンズ12を覗いているユーザの眼球で反射され、光分割器15でさらに反射されて受光レンズ16に入射する。
【0036】
S2においてCPU3は眼球用撮像素子17により撮影を行う。受光レンズ16が形成する眼球像が、眼球用撮像素子17によって画像信号に変換される。画像信号は視線検出回路201でA/D変換され、眼球像データとしてCPU3に入力される。
【0037】
S3でCPU3は、S2で取得した眼球像データから、照明光源13a,13bの角膜反射像Pd’,Pe’の座標および瞳孔中心cに対応する点の座標を求める。眼球用撮像素子17で得られる眼球像には、角膜142に写った照明光源13a,13bの像Pd,Peに対応する反射像Pd’,Pe’が含まれている(
図6(a))。
【0038】
図6(a)に示すように、水平方向をX軸、垂直方向をY軸とする。このとき、眼球像に含まれる、照明光源13a,13bの反射像Pd’,Pe’の中心のX軸座標をXd,Xeとする。また、瞳孔141の端部である瞳孔端a,bの像a’,b’のX軸座標をXa、Xbとする。
【0039】
図6(b)に示すように、照明光源13a,13bの反射像Pd’,Pe’に相当する座標Xd,Xeの輝度は、他の位置の輝度に対して非常に高くなる。一方、瞳孔141の領域に相当する、座標XaからXbの範囲の輝度は、座標Xd,Xeを除いて非常に低くなる。また、瞳孔141の外側の虹彩143の領域に相当する、座標がXaより小さい範囲およびXbより大きい範囲では、照明光源の反射像の輝度と、瞳孔の輝度との中間的な輝度となる。
【0040】
このようなX軸方向における輝度レベルの特性に基づいて、CPU3は、眼球像から照明光源13a,13bの反射像Pd’,Pe’のX軸座標Xd,Xeと、瞳孔端a,bの像a’,b’のX軸座標Xa、Xbを検出することができる。また、本実施形態のような用途においては、受光レンズ16の光軸に対する眼球14の光軸の回転角θxは比較的小さい。このような場合、眼球像における瞳孔中心cの像c’のX軸座標Xcは、Xc≒(Xa+Xb)/2と表すことができる。このようにして、CPU3は、眼球像から、照明光源13a,13bの角膜反射像Pd’,Pe’の座標および瞳孔中心cの像c’のX軸座標を求めることができる。
【0041】
次にS4においてCPU3は、眼球像の結像倍率βを算出する。βは受光レンズ16に対する眼球14の位置により決まる倍率で、照明光源の反射像Pd’,Pe’の間隔(Xd-Xe)の関数として求めることができる。
【0042】
また、S5においてCPU3は、眼球の回転角度を算出する。角膜142上の照明光源の像Pd,Peの中点のX軸座標と、角膜142の曲率中心OのX軸座標とはほぼ一致する。そのため、角膜142の曲率中心Oと瞳孔141の中心cまでの標準的な距離をOcとすると、眼球14の光軸のZ-X平面内の回転角θxは、
β*Oc*SINθx≒{(Xd+Xe)/2}-Xc
の関係式から求めることができる。
図5および
図6においては、Y軸に垂直な平面内における回転角θxを算出する例を示しているが、X軸に垂直な平面内における回転角θyについても同様に算出することができる。このようにして、CPU3は、眼球の回転角θx,θyを求める。眼球の回転角から視線方向が特定できる。
【0043】
S6でCPU3は、メモリ部4から視線補正係数を取得する。視線補正係数は、ユーザの視線の個人差を補正する係数である。視線補正係数はキャリブレーション動作によって生成され、視線検出動作を開始する前にメモリ部4に記憶される。メモリ部4が複数のユーザについて視線補正係数を記憶する場合、任意のタイミングで例えばユーザに問い合わせるなどして、現在のユーザに対応する視線補正係数を用いる。
【0044】
S7でCPU3は、S5で求めた眼球の回転角θx,θyを用いて、表示素子10上のユーザ注視点の座標(表示された画像上のユーザ注視点の位置とも言える)を求める。また、注視点の座標は表示素子10上での瞳孔141の中心cに対応する座標(Hx,Hy)であるとして、
Hx=m×( Ax×θx + Bx )
Hy=m×( Ay×θy + By )
と算出することができる。
【0045】
ここで、係数mは回転角θx、θyを表示素子10上での瞳孔141の中心cに対応する座標に変換する変換係数であり、カメラのファインダ光学系の構成によって定まる。係数mは予めメモリ部4に記憶しておくことができる。また、Ax,Bx,Ay,ByはS6で取得した視線補正係数である。
【0046】
S8でCPU3は、S7で算出した注視点座標(Hx,Hy)をメモリ部4に記憶して、視線検出動作を終了する。なお、視線検出動作は繰り返し実行され、注視点座標を順次更新する。直近の一定時間分の注視点座標の時系列データをメモリ部4に保持してもよい。
【0047】
ここでは、注視点座標を照明光源13a,13bの反射像の位置と瞳孔像の位置とに基づいて検出する例について説明した。しかし、注視点座標は撮像された眼球画像から眼球回転角度を取得する任意の公知の手法を用いて検出することができる。
【0048】
<被写体検出機能>
次に、カメラ1が有する被写体検出機能について説明する。被写体検出機能は、撮影範囲に含まれる被写体から主被写体の候補を検出する機能である。被写体検出機能は、CPU3がメモリ部4に記憶されたプログラムを実行することによって実現される。
【0049】
例えばCPU3は、撮像画像のデータに対して公知の被写体認識処理を適用して、特定の被写体の特徴を有する画像領域(特徴領域)を、主被写体の候補領域として検出することができる。例えば特定の被写体が人物や動物の顔である場合、CPU3は、撮像画像のデータに対して公知の顔認識技術、瞳認識技術などを適用することにより、顔領域を主被写体の候補領域として検出することができる。なお、認識対象の被写体は顔に限定されない。
【0050】
また、CPU3は、撮影範囲の距離情報に基づいて主被写体の候補領域を検出してもよい。例えば撮像素子2が視差画像対を取得可能な構成を有する場合、視差画像対から公知の方法により撮像画像の画素ごとの距離情報を取得することができる。また、CPU3は、Lidarのような測距センサを用いて得られる距離情報を用いてもよい。CPU3は、撮影範囲の距離情報に基づいて背景領域を除外し、同等の距離情報が集まっている領域をそれぞれ主被写体の候補領域として検出することができる。
【0051】
あるいは、CPU3は、被写体の種別ごとに用意され、例えばメモリ部4に記憶された学習済みのニューラルネットワークに、撮像画像のデータを入力することによって主被写体の候補領域を検出してもよい。
【0052】
ここで列挙した主被写体の候補領域の検出方法は単なる例示であり、他の方法を用いてもよい。また、2つ以上の検出方法を組み合わせて実施してもよい。
【0053】
本実施形態では、検出された主被写体の候補領域のうち、注視点座標を含んだ候補領域を主被写体領域として、焦点検出や露出制御などに用いるものとする。また、主被写体領域は、動画撮影や連写撮影における被写体追尾処理において、追尾対象の被写体領域として用いられる。被写体追尾処理は、追尾対象の被写体領域を複数のフレームに渡って追尾する処理である。CPU3は例えば追尾対象の被写体領域をテンプレートとして用いたテンプレートマッチングを撮影画像のデータに適用することにより、撮影画像内における追尾対象の被写体領域の位置を特定することができる。
【0054】
<注視点座標に基づいて主被写体領域を決定する際に生じうる課題>
主被写体の候補領域が複数検出されている場合に、注視点座標を含んだ候補領域を主被写体領域に決定すると、以下のような課題が生じうる。
【0055】
図8は、主被写体の候補領域が複数検出される撮影シーンの一例としての、複数の走者が存在するトラック競技のシーンについてのファインダ像を示している。対象Aが1位の選手、対象Bが2位の選手であるとする。また、対象Aおよび対象Bの顔領域が、主被写体の候補領域として検出されているものとする。
【0056】
図8(a)に示す状態で、ユーザは、対象Aに焦点を合わせる意図から、
図8(a)の状態で状態において対象Aを注視している。CPU3は注視点座標を含む対象Aの顔領域を主被写体領域として決定し、対象Aの顔領域に合焦するように焦点検出処理を、対象Aの顔領域の露出が適正露出になるように露出制御を実行する。これら焦点検出処理や露出制御の結果は、動画像の撮影条件に直ちに反映される。ここで、動画像は記録用の動画像であっても、ライブビュー表示用の動画像であってもよい。
【0057】
シーンに変化が生じた場合、ユーザは無意識のうちに変化が起きた場所に視線を移すことがある。例えば
図8(a)の状態で、2位の選手(対象B)が1位の選手(対象A)に接近して来た場合、
図8(b)および
図8(c)に示すように、無意識に視線を対象Aから対象Bに移したのち、すぐに再び対象Aに視線を戻すといったことが起こりうる。この場合、一般には対象Bへの視線移動はごく短時間であるが、CPU3がこの視線移動に反応して主被写体領域を対象Bの顔領域に変更すると、合焦する被写体が対象A→対象B→対象Aと頻繁に切り替わる。合焦する被写体が短時間に変化することは、動画をファインダ像として用いる場合も、記録する場合にも好ましくない。
【0058】
本実施形態では、注視点座標の変化量、および変化の持続時間に基づいて、ユーザが注視する被写体領域の変化が意図的なものであるか否かを判定することにより、ユーザの意図と異なる主被写体の変化を抑制する方法を提供する。以下、詳細に説明する。
【0059】
(1)注視点座標の変化量および変化時間に基づく判定
図9(a)は、
図8(a)から
図8(c)までの期間における注視点座標と、焦点検出に用いるAF枠の中心座標との時間変化を示す図である。横軸は時間、縦軸はX軸座標である。また、座標XA,XBは
図8に示す同名の座標と対応している。図中、実線が注視点のX軸座標を、点線が焦点検出に用いるAF枠の中心X座標を表す。
【0060】
時刻T1~T2の区間は
図8(a)の状態に対応し、ユーザは対象Aの顔を注視している。したがって、注視点のX座標はXAで安定している。その後、時刻T2でユーザは視線を対象Bの顔領域に移動し始め、時刻T3~T4の区間は、
図8(b)に示すように対象Bの顔領域を注視する。時刻T4でユーザは再び視線を対象Aの顔領域に移動し始め、時刻T5以降の区間では
図8(c)に示すように対象Aの顔領域を注視する状態に戻っている。
【0061】
CPU3は、上述した注視点検出処理を継続的に実行して、注視点が移動したか否かを監視している。そして、注視点が移動したと判定される場合、CPU3は、所定単位時間あたりの注視点の移動量(ここではX軸座標の移動量とする)ΔXが、予め定められた閾値Xth(距離閾値)を超えるか否かを判定する。ここで、閾値Xthは、固視微動の大きさであってよい。固視微動は、一点を凝視しているつもりでも不随意的に常に生じている細かな眼の揺れである。つまり、この判定は、注視点の移動が有意な視点移動か否かの判定に相当する。
【0062】
図9(a)の例では、時刻T2からT3の区間において、時間当たりの注視点座標の移動量ΔXがΔX>Xthを満たし、CPU3は有意な視点移動と判定する。一方、移動量ΔXがΔX≦Xthの場合、CPU3は注視点座標の移動が固視微動に起因するものと判定し、監視動作を継続する。
【0063】
有意な視点移動があったと判定した場合、CPU3は次に、移動後の注視点座標の滞留時間Δtを計測する。ここで、滞留時間とは、注視点座標の移動量ΔXが閾値Xth以下の状態を維持している時間(保持時間)である。そして、CPU3は、移動後の注視点座標の滞留時間Δtが所定時間Tth(時間閾値)を超えたか否かを判定する。シーン変化などに起因する反射的な視線移動の場合、短い滞留時間Δtののち、視線は元の位置に戻る。したがって、CPU3は滞留時間Δtが閾値Tth以下(時間閾値以下)であれば、視線移動はユーザの意図によるものではなく反射的なものであると判定する。そして、CPU3は、移動後の注視点座標に基づく主被写体領域の変更は行わない。一方、CPU3は、滞留時間Δtが閾値Tth以上であれば、視点移動はユーザの意図によるものであると判定する。この場合、CPU3は移動後の注視点座標に基づいて主被写体領域を変更する。
【0064】
図8(a)~(c)の一連の注視点座標の変化はシーン変化に起因して反射的になされたものであるため、移動後の注視点座標の滞留時間Δt(時刻T3からT4の長さ)は、閾値Tth未満である。したがって、CPU3は座標XBへの注視点座標の移動に基づく主被写体領域の変更は行わず、AF枠の位置は、注視点座標の移動前の時刻T2における位置に維持される。なお、閾値Tthの値は、例えば実験的に予め決定し、メモリ部4に記憶しておくことができる。
【0065】
このように、有意な注視点座標の移動が生じた場合、時間当たりの移動量の大きさと、移動後の注視点座標の滞留時間とに基づいて、注視点座標の移動がユーザの意図によるものであるか否かを判定するようにした。そして、注視点座標の移動がユーザの意図によるものであると判定されない場合には、移動後の注視点座標に基づく主被写体領域の変更は行わないことにより、反射的(一時的)な注視点移動によって主被写体領域が頻繁に切り替わることを抑制することができる。
【0066】
なお、ここでは移動後の注視点座標に基づいて主被写体領域を変更するか否かを、移動後の注視点座標の滞留時間Δtの長さによって判定したが、他の方法を用いて判定してもよい。例えば、過去の所定期間における注視点座標の平均値を移動後の注視点座標として用いてもよい。
【0067】
例えば、直近の5フレームの注視点座標のX方向の変動量を、ΔX(t-5)、ΔX(t-4),ΔX(t-3),ΔX(t-2),ΔX(t-1)、現フレームの注視点座標のX方向の変動量をΔX(t)とする。
そして、CPU3は、
ΔX’(t)={ΔX(t-5)+ΔX(t-4)+ΔX(t-3)+ΔX(t-2)+ΔX(t-1)+ΔX(t)}/6
が、閾値Xthより大きいか否かに基づいて、視線移動が意図的なものであるか否かを判定することができる。例えば、CPU3は、移動量ΔXおよび滞留時間Δtの判定に代えて、ΔX’(t)>Xthか否かを判定する処理を行う。そして、ΔX’(t)>Xthと判定されれば意図的な視線移動がなされたと判定し、現フレームの注視点座標X(t)に基づいて主被写体領域を変更することができる。
【0068】
このように、注視点座標の変動量を複数フレームについて平均することにより、急激かつ短時間の注視点座標の変化による影響を抑制することができる。そのため、反射的な視線移動による主被写体領域の変更を抑制することができる。このような、注視点座標の変動量の平均化は、変動量の時系列データに対して時間方向のローパスフィルタを適用する操作とも言える。なお、平均化に限らず、メディアンフィルタなど、時系列データの平滑化を実現可能な任意のフィルタもしくは演算を注視点座標の変動量に適用することができる。
【0069】
なお、フィルタを適用する時系列データの長さ(フレーム数)は、固定であっても、動的に定めてもよい。例えば、主被写体の種別、撮影シーンの種別、カメラの動きなどに基づいて動的に定めることができる。
【0070】
(変形例1:主被写体および/または撮影シーンの種別に基づく閾値Tthの決定)
次に、上述した判定方法(1)において、主被写体および/または撮影シーンの種別に基づいて閾値Tthを動的に決定する変形例を説明する。
【0071】
図9(b)は、
図9(a)と同様の図であるが、注視点座標が時刻T4以降も元の位置に戻らない場合を示している。これは、
図8の例において、ユーザが意図的に対象Aから対象Bに視線を移動させた場合に相当する。この場合、先に説明した判定方法(1)では、時刻T2から閾値Tthが経過した時刻T4’において、注視点座標XBに基づく主被写体領域の変更が行われる。その結果、
図9(b)の点線で示すように、時刻T4’からAF枠の位置が変化する。
【0072】
判定方法(1)では、閾値Tthを導入することにより、反射的な注視点座標の移動によって主被写体領域が変化することを抑制できる。しかしながら、意図的に注視点座標が移動された場合には、閾値Tthは意図が反映されるまでの遅延となる。そのため、閾値Tthは、反射的な注視点座標の移動によって主被写体領域が変化することを抑制する効果を享受できる範囲で短く設定するべきである。
【0073】
また、閾値Tthは、主被写体の種別に応じて適切な値が異なり得る。例えば、子供や犬のように動きの方向や速度の変化に規則性がない、もしくは少ない(動きを予測しづらい)主被写体に対しては、安定性よりも視線移動に対する追従性が重要となる。そのため、閾値Tthは短い方が適切である。一方で、大人や馬のように動きの方向や速度の変化に規則性がある(予測しやすい)主被写体については、視線移動に対する追従性よりも、安定性が重要になる。そのため、閾値Tthは長い方が適切である。
【0074】
同様に、サッカーやバスケットボールなど、主被写体の動きの方向や速度の変化に規則性がない、もしくは少ない(動きを予測しづらい)シーンを撮影する場合には閾値Tthは短い方が適切である。一方、陸上競技やアイススケート競技のように、主被写体の動きの方向や速度の変化に規則性がある(予測しやすい)シーンを撮影する場合には、閾値Tthは長い方が適切である。
【0075】
そのため、本変形例では、主被写体の種別や撮影シーンの種別に応じて、閾値Tthを動的に設定することにより、(1)の判定方法を、特に意図的な視線移動に対する追従性に関して改善する。
【0076】
主被写体の種別や撮影シーンの種別は、撮影した画像データの輝度情報や色情報を用いたり、主被写体に特徴的な画像パターンを探索したりする公知技術を利用して実現することができる。しかし、本実施形態では、精度の高い判別を行うため、例えばメモリ部4に記憶された学習済みのニューラルネットワーク(学習モデル)を用いて主被写体や撮影シーンの種別を判定する。
【0077】
<ニューラルネットワークを用いた主被写体および撮影シーン種別の判定>
本実施形態においては、ニューラルネットワークを、CNN(コンボリューショナル・ニューラル・ネットワーク)の1種であるネオコグニトロンで構成する。CNNを用いることで、主被写体種別および撮影シーン種別を高精度に判定することができる。
【0078】
主被写体種別および撮影シーン種別の判定器を構成するCNNの基本的な構成について、
図10および
図11を用いて説明する。
図10は、入力された2次元画像データから主被写体の種別や撮影シーンの種別を判定するCNNの基本的な構成を示す。処理の流れは、左端を入力とし、右方向に処理が進んでいく。CNNは、特徴検出層(S層)と特徴統合層(C層)と呼ばれる2つの層をひとつのセットとし、それが階層的に構成されている。なお、S層は従来技術で説明した畳み込み層に、C層は同プーリング層またはサブサンプリング層に対応する。
【0079】
CNNでは、まずS層において1つ前の階層で検出された特徴をもとに次の特徴を検出する。またS層において検出した特徴をC層で統合し、その階層における検出結果として次の階層に伝える構成を有する。
S層は特徴検出細胞面からなり、特徴検出細胞面ごとに異なる特徴を検出する。また、C層は特徴統合細胞面からなり、1つ前の階層の特徴検出細胞面での検出結果をプーリングもしくはサブサンプリングする。以下では、特に区別する必要がない場合、特徴検出細胞面および特徴統合細胞面を総称して特徴面と呼ぶ。本実施形態では、最終階層である出力層(n階層目)ではC層は用いずS層のみで構成している。
【0080】
特徴検出細胞面での特徴検出処理、および特徴統合細胞面での特徴統合処理の詳細について、
図11を用いて説明する。1つの特徴検出細胞面は複数の特徴検出ニューロンにより構成され、個々の特徴検出ニューロンは1つ前の階層のC層に所定の構造で結合している。また1つの特徴統合細胞面は、複数の特徴統合ニューロンにより構成され、個々の特徴統合ニューロンは同じ階層のS層に所定の構造で結合している。
【0081】
図11に示した、L階層目のS層のM番目の細胞面内において、位置(ξ, ζ)の特徴検出ニューロンの出力値を
【数1】
と表記する。また、L階層目のC層のM番目の細胞面内において、位置(ξ, ζ)の特徴統合ニューロンの出力値を
【数2】
と表記する。その時、それぞれのニューロンの結合係数を
【数3】
とすると、各出力値は以下のように表すことができる。
【0082】
[数式1]
【数4】
[数式2]
【数5】
ここで、数式1におけるfは活性化関数であり、例えばロジスティック関数や双曲正接関数などのシグモイド関数である。活性化関数は例えばtanh関数で実現することができる。また、
【数6】
は、L階層目のS層のM番目の細胞面における、位置(ξ, ζ)の特徴検出ニューロンの内部状態を表す。数式2は活性化関数を用いておらず、単純な線形和で表されている。
【0083】
数式2のように活性化関数を用いない場合、ニューロンの内部状態
【数7】
と出力値
【数8】
とは等しい。また、数式1の
【数9】
を特徴検出ニューロンの結合先出力値と呼び、数式2の
【数10】
を特徴統合ニューロンの結合先出力値と呼ぶ。
【0084】
ここで、数式1及び数式2におけるξ,ζ,u,v,nについて説明する。位置(ξ, ζ)は入力画像の座標に対応しており、例えば出力値
【数11】
が大きい場合、入力画像の画素位置(ξ, ζ)に、L階層目のS層のM番目の細胞面が検出する特徴が存在する可能性が高いことを意味する。またnは数式1において、L-1階層目のC層のn番目の細胞面を意味しており、統合先特徴番号と呼ぶ。基本的にL-1階層目のC層に存在する全ての細胞面について積和演算を行う。(u, v)は、結合係数の相対位置座標であり、検出する特徴のサイズに応じて有限の範囲(u, v)において積和演算を行う。このような有限な(u, v)の範囲を受容野と呼ぶ。また受容野の大きさを、以下では受容野サイズと呼び、結合している範囲の横画素数×縦画素数で表す。
【0085】
また数式1において、L=1つまり最初の階層のS層では、数式1中の
【数12】
は、入力画像
【数13】
である。ちなみにニューロンや画素の分布は離散的であり、結合先特徴番号も離散的なので、ξ,ζ,u,v,nは離散的な値をとる。ここでは、ξ,ζは非負整数、nは自然数、u,vは整数とし、何れも有限な範囲を有する。
【0086】
数式1中の
【数14】
は、所定の特徴を検出するための結合係数であり、結合係数を適切な値に調整することによって、所定の特徴を検出可能になる。この結合係数の調整が学習であり、CNNの構築においては、さまざまなテストパターンを用いて、
【数15】
が適切な出力値になるように、結合係数を繰り返し徐々に修正していくことで結合係数を調整する。
【0087】
次に、数式2中の
【数16】
は、2次元のガウシアン関数を用いており、以下の数式3のように表すことができる。
[数式3]
【数17】
ここでも、(u,v)は有限の範囲を有し、特徴検出ニューロンの場合と同様、範囲を受容野、範囲の大きさを受容野サイズと呼ぶ。ここではL階層目のS層のM番目の特徴のサイズに従って、受容野サイズの値を適宜設定することができる。数式3中のσは特徴サイズ因子であり、受容野サイズに応じて適宜定めることができる定数であってよい。例えば、受容野の一番外側の値がほぼ0とみなせるような値になるように特徴サイズ因子σを設定することができる。このように、本実施形態の判定器は、上述した演算を各階層で行い、最終階層(n階層目)のS層において主被写体の種別や撮影シーンの種別を判定するCNNによって構成される。
【0088】
(被写体検出の学習方法)
結合係数
【数18】
の具体的な調整(学習)方法について説明する。学習は、CNNに特定の入力画像(テストパターン)を与えて得られるニューロンの出力値と、教師信号(そのニューロンが出力すべき出力値)との関係に基づいて、結合係数
【数19】
を修正することである。本実施形態の学習では、最終階層(n階層目)の特徴検出層Sについては最小二乗法を用いて結合係数を修正する。また、他の階層(1~n-1階層目)の特徴検出層Sについては、誤差逆伝搬法を用いて結合係数を修正する。最小二乗法や誤差逆伝搬法を用いた結合係数の修正手法は公知技術を用いることができるため、詳細についての説明は省略する。
【0089】
例えば主被写体種別を分類するCNNと、撮影シーン種別を分類するCNNとを別個に用意し、それぞれに学習用の画像データを用いた教師あり学習を行う。これにより、主被写体種別の分類器および撮影シーン種別の分類器として機能する学習モデルを用意することができる。
【0090】
CPU3は例えばメモリ部4に記憶されている学習モデルに対して撮像画像データを入力することにより、主被写体種別と撮影シーン種別の判定結果を取得することができる。また、判定対象の主被写体種別および撮影シーン種別ごとに予め設定された適切な閾値Tthはメモリ部4に記憶しておくことができる。上述の通り、動きの方向や速度変化に規則性が低い主被写体や、そのような主被写体が含まれる撮影シーンについては、動きの方向や速度変化に規則性がある主被写体や、そのような主被写体が含まれる撮影シーンよりも閾値Tthを小さい値とする。閾値Tthは主被写体(撮影シーン)の種別に応じて3種類以上存在していてもよい。
【0091】
CPU3は、判定結果に基づいてメモリ部4を参照することで、現在撮影している主被写体や撮影シーンに適した閾値Tthを取得し、注視点座標の移動が意図的なものであるか否かの判定に用いる。
【0092】
なお、閾値Tthの決定は、例えばフレーム間の比較などによって有意なシーン変化が検出されるごとに実行することができるが、他の条件によって実行してもよい。可能であればフレームごとに実施してもよい。また、閾値Tth以外のパラメータについても、主被写体や撮影シーンの種別に応じて動的に定めてもよい。
【0093】
本変形例によれば、視線移動が意図的なものであるか否かの判断に用いる閾値を、主被写体や撮影シーンの種別に応じて定めるようにした。そのため、視線移動に対する主被写体領域の変更の追従性と、主被写体領域の安定性とのどちらを優先させるかを、主被写体や撮影シーンの特性を考慮して制御することが可能になる。結果として、使い勝手のよい視線検出機能を提供できる。
【0094】
(変形例2:カメラの動きに基づく閾値Tthの決定)
図12(a)および(b)は、三脚などに取り付けるなどしてカメラ1の撮影範囲を固定した状態で、陸上トラック競技を撮影している際のファインダ像の一例である。主被写体は、
図12(a)の時点から
図12(b)の時点にかけて、撮影範囲の左側から右側へ向かって移動している。撮影範囲が固定(フィックス)であるため、移動被写体を撮影する場合、撮影範囲における主被写体の移動範囲が大きく、特に望遠撮影の場合は移動速度も大きい。
【0095】
一方、
図13(a)および(b)は、
図12と同じ撮影シーンについて、撮影範囲内における主被写体の位置を維持するようにカメラ1の撮影範囲を変えながら撮影した例を示している。手持ちもしくはカメラ1を三脚に取り付けた状態でパンニング撮影した場合などに該当する。この場合、撮影範囲における主被写体の移動範囲および移動速度は
図12の場合よりも小さくなる。なお、
図12および
図13において、画角は一定である。
【0096】
図12に示すような、撮影範囲内における主被写体の移動範囲も移動速度も大きい場合には、主被写体の動きに追従して移動する注視点座標に対して素早く合焦させることが求められる。そのため、閾値Tthは短い方が適切である。一方で、
図13に示すような、撮影範囲内における主被写体の移動範囲も移動速度も小さい場合には、注視点の移動も少ない。そのため、視線移動に対する追従性よりも安定性を重視し、閾値Tthは長い方が適切である。
【0097】
本変形例では、カメラ1またはカメラ本体1Bの動きに応じて、閾値Tthを動的に設定することにより、(1)の判定方法を、特に意図的な視線移動に対する追従性に関して改善する。
【0098】
カメラ1またはカメラ本体1Bの動きは、カメラ本体1Bが有する動きセンサ18によって検出することができる。また、カメラが固定されている場合と、パンニングされている場合における動きセンサ18の出力に基づいて、カメラの動きを判定するための条件を予め決定してメモリ部4に記憶しておくことができる。また、カメラの動きの種別(固定、パンニングなど)ごとに予め設定された適切な閾値Tthについても、メモリ部4に記憶しておくことができる。上述の通り、カメラが固定されている場合には、パンニングされててイル場合よりも閾値Tthを小さい値とする。なお、固定およびパンニング以外のカメラの動きを検出してもよい。
【0099】
CPU3は、動きセンサ18の出力に対し、メモリ部4に記憶された判定条件を適用することで、カメラが固定されているのか、パンニングされているのかを判定することができる。そして、CPU3は判定結果に応じて、現在のカメラの動きに適した閾値Tthを取得し、注視点座標の移動が意図的なものであるか否かの判定に用いる。
【0100】
なお、カメラの動きを検出する方法は動きセンサ18を用いる方法に限定されない。例えば、カメラが撮像素子2で撮影している動画のフレーム間の動き情報を検出したり、主被写体領域の位置のフレーム間差分から動き情報を検出することができる。主被写体領域の位置のフレーム間差分は、主被写体領域の動きベクトルと同義であり、公知の方法で検出可能である。
【0101】
また、カメラ1が流し撮りモードのようにパンニング撮影を前提とした撮影モードに設定されている場合には、パンニング撮影を前提とした閾値Tthを用いるように構成してもよい。
【0102】
また、画角が小さいほど撮影範囲は狭くなるため、撮影範囲内の移動被写体の移動速度は速くなる。そのため、主被写体、撮影シーン、カメラの動きの1つ以上に加え、画角を考慮して閾値Tthを定めてもよい。基本的には画角が小さいほど閾値Tthを小さくすることができる。
【0103】
さらに、カメラを固定する装置にカメラが装着されたこと、あるいはそのような設定がなされたことをCPU3が検出した場合には、カメラが動かないものとして閾値Tthを決定してもよい。
【0104】
本変形例によれば、視線移動が意図的なものであるか否かの判断に用いる閾値を、カメラの動きを考慮して定めるようにした。そのため、視線移動に対する主被写体領域の変更の追従性と、主被写体領域の安定性とのどちらを優先させるかを、ユーザの意図を考慮して制御することが可能になる。結果として、使い勝手のよい視線検出機能を提供できる。
【0105】
なお、変形例1と変形例2とは組み合わせて実施してもよい。例えば、変形例1で得られる閾値Tthと、変形例2で得られる閾値Tthとのうち、小さい方を用いたり、平均値を用いたりすることができる。
【0106】
<カメラ1の全体動作>
カメラ1の全体的な動作について、
図14のフローチャートを用いて説明する。
図14のフローチャートに示す動作は、操作部204の電源スイッチが操作され、電源ONが指示されたことによって開始される。
【0107】
S101でCPU3は起動処理を実行し、スタンバイモードでの動作を開始する。スタンバイモードにおいてCPU3は、操作部204の操作を監視しながら、表示素子10およびタッチディスプレイ42をEVFとして機能させる。具体的には、CPU3は、動画撮影を行うように撮像素子2を制御し、ライブビュー画像を生成して表示素子10およびタッチディスプレイ42に表示する。
【0108】
S102でCPU3は、操作部204の電源スイッチが操作され、電源OFFが指示されたか否かを判定する。CPU3は、電源OFFが指示されたと判定されればシャットダウン処理を実行して
図14の処理を終了する。一方、CPU3は、電源OFFが指示されたと判定されなければ、S103を実行する。
【0109】
S103でCPU3は、
図5~
図7を用いて説明した視線検出動作を開始する。CPU3は視線検出動作により、表示素子10上(ライブビュー画像上)の注視点座標(Hx,Hy)を取得する。
【0110】
S104は、変形例1および2を実施する際に実行される工程であり、必須ではない。S104でCPU3は、撮像素子2から得られるフレーム画像について、変形例1で説明した主被写体および/または撮影シーンの種別判定、および/または変形例2で説明したカメラの動き検出を行う。そして、CPU3は閾値Tthなどのパラメータの値を決定する。
【0111】
S105でCPU3は、撮像素子2から得られるフレーム画像に対して被写体検出処理を適用し、主被写体の候補領域を検出する。CPU3は検出結果として、候補領域ごとに位置、大きさ、主被写体の種別などをメモリ部4に記憶する。
【0112】
S106でCPU3は、撮像素子2から得られたフレーム画像が1フレーム目か否か判定し、1フレーム目と判定されればS107を、判定されなければS110を実行する。
【0113】
S107でCPU3は、S103で検出した注視点座標と、S105で検出した候補領域の情報に基づいて、現在の注視点座標を含んだ候補領域を主被写体領域として決定する。
【0114】
S110でCPU3は、前フレームと現フレームの注視点座標の変化量ΔXを求め、変化量ΔXが閾値Xthより大きいか否か判定する。先に説明したように、この判定は有意な視線移動があったか否かの判定である。注視点座標の変化量ΔXが閾値Xthより大きいと判定されない場合(変化量ΔXが閾値Xth以下の場合)、CPU3は有意な視線移動は生じていないと判定し、S111を実行する。一方、注視点座標の変化量ΔXが閾値Xthより大きいと判定された場合、CPU3は有意な視点移動が生じたと判定し、S120を実行する。
【0115】
S111でCPU3は、現在の注視点座標の滞留時間Δtを所定時間だけ増加させて、S112を実行する。S111は滞留時間Δtの計測動作に相当する。
【0116】
S112でCPU3は、滞留時間Δtが閾値Tthより大きいか否か判定する。これは、現在の注視が意図的なものであるか、反射的に視線を向けただけかの判定である。滞留時間Δtが閾値Tthより大きいと判定されない(滞留時間Δtが閾値Tth以下の)場合、CPU3はS130を実行する。また、滞留時間Δtが閾値Tthより大きいと判定された場合、CPU3はS107を実行する。これにより、現在の注視点座標に応じた候補領域が新たな主被写体領域に決定される。
【0117】
S120でCPU3は、S110において注視点座標に有意な変化があったと判定されたことを受けて、滞留時間Δtを0に初期化し、S130を実行する。
【0118】
S130でCPU3は、現フレームにおける主被写体領域を、前フレームの主被写体領域から変更せずに、S200を実行する。注視点座標の有意な移動があった場合においても、移動後の注視点における滞留時間が短い場合、反射的な視線移動であると見なして主被写体領域を変更しない。
【0119】
S200でCPU3は、操作部204のレリーズボタン5の半押し操作により、SW1がONしたか否かを判定する。CPU3は、SW1がONと判定されればS201を実行し、SW1がONと判定されなければS103を再度実行する。
【0120】
S201でCPU3は、静止画撮影の準備動作を実行する。準備動作には、現在のAF枠に対する焦点検出処理や、AF枠内が適切な露出となるような露出制御処理などが含まれる。なお、焦点検出は位相差検出方式を用いてもコントラスト検出方式を用いてもよい。準備動作が完了すると、CPU3はS202を実行する。
【0121】
S202でCPU3は、S201における焦点検出処理の結果に基づいて、レンズユニット1A内の可動レンズ1aを駆動して、S203を実行する。
【0122】
S203でCPU3は、操作部204のレリーズボタン5の全押し操作により、SW2がONしたか否かを判定する。CPU3は、SW2がONと判定されればS204を実行し、SW2がONと判定されなければS200を再度実行する。
【0123】
S204でCPU3は、S201における露出制御処理で決定された露出条件に従って静止画撮影を実行する。撮像素子2から読み出された静止画データに対してCPU3は公知の画像処理を適用し、静止画データを生成する。CPU3は静止画データをメモリ部4に記憶し、S205を実行する。
【0124】
S205でCPU3は、静止画データに基づく表示用画像データを生成し、表示素子10およびタッチディスプレイ42に一定時間表示したのち、スタンバイモードの動作に復帰し、S102から繰り返し実行する。
【0125】
以上説明したように、本実施形態によれば、視線検出機能を有する撮像装置において、視線移動が検出された場合に、移動後の注視点に一定時間以上滞留しない場合にはユーザの意図しない視線移動であると判定するようにした。そのため、反射的な視線移動など、ユーザの意図しない視線移動に起因して撮像装置がユーザの意図しない動作を行うことを抑制することができる。
【0126】
また、視線移動が意図的なものであるか否かを判定するための時間閾値を、主被写体や撮影シーンの種別に応じて定めたり、撮像装置の動きに応じて定めたりすることもできる。この場合、意図しない視線移動に対する撮像装置の動作安定性と、意図的な視線移動に対する撮像装置の動作の追従性との両立を実現することができる。
【0127】
(その他の実施形態)
上述の実施形態では、視線検出機能を主被写体領域の決定や、AF枠の決定といった撮像に関する動作に利用する構成について説明した。しかしながら、本願発明は、視線をGUIの操作に利用する電子機器など、他の機器においても同様に実施可能である。例えば、注視点座標を含むGUIパーツ(ソフトウェアキー、ボタン、スイッチ、メニュー、スライダなど)が操作されたものとして認識する電子機器に本発明を適用することで、反射的な視線移動によって意図しない動作が行われることを抑制することができる。
【0128】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0129】
本発明は上述した実施形態の内容に制限されず、発明の精神および範囲から離脱することなく様々な変更及び変形が可能である。したがって、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0130】
1A…レンズユニット、1B…カメラ筐体、2……撮像素子、3……CPU、4……メモリ部、10…表示素子、12…接眼レンズ、13a~b…照明光源、17…眼球用撮像素子