(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-22
(45)【発行日】2025-05-01
(54)【発明の名称】画像処理装置およびその制御方法
(51)【国際特許分類】
H04N 23/60 20230101AFI20250423BHJP
H04N 23/611 20230101ALI20250423BHJP
G02B 7/28 20210101ALI20250423BHJP
G03B 7/00 20210101ALI20250423BHJP
G03B 13/06 20210101ALI20250423BHJP
G03B 13/36 20210101ALI20250423BHJP
【FI】
H04N23/60 500
H04N23/611
G02B7/28 N
G03B7/00
G03B13/06
G03B13/36
(21)【出願番号】P 2021032036
(22)【出願日】2021-03-01
【審査請求日】2024-02-29
(31)【優先権主張番号】P 2020102517
(32)【優先日】2020-06-12
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】宇佐美 貴弘
(72)【発明者】
【氏名】大輪 寧司
(72)【発明者】
【氏名】形川 浩靖
(72)【発明者】
【氏名】植草 友貴
(72)【発明者】
【氏名】相田 徹
(72)【発明者】
【氏名】小貝 侑弘
(72)【発明者】
【氏名】谷口 浩之
【審査官】奥田 雄介
(56)【参考文献】
【文献】特開2009-060379(JP,A)
【文献】中国特許出願公開第110852310(CN,A)
【文献】特開2021-072592(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
H04N 23/611
G02B 7/28
G03B 7/00
G03B 13/06
G03B 13/36
(57)【特許請求の範囲】
【請求項1】
処理対象の
第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出手段と、
前記候補領域から、追尾対象とする被写体領域を決定する決定手段と、
前記決定手段が決定した被写体領域について、追尾の難度に関する評価値を算出する算出手段と、
前記
第1のフレームにおける、前記
第1のフレームより前
に撮像された第2のフレームにおける追尾対象の被写体領域に対応する領域の位置を推定する追尾処理を実行する追尾手段であって、第1の追尾手段と第2の追尾手段とを有する追尾手段と、
前記評価値に基づいて、前記
第1のフレームより後
に撮像された第3のフレームに対する前記第1の追尾手段と前記第2の追尾手段の動作を決定する制御手段と、を有し、
前記第2の追尾手段は、前記第1の追尾手段よりも処理精度が高いが演算負荷が大きく、
前記制御手段は、前記評価値に基づいて、前記第1の追尾手段および前記第2の追尾手段の両方を有効にするか、前記第1の追尾手段および前記第2の追尾手段の少なくとも一方を無効に
し、
前記制御手段は、前記第1の追尾手段および前記第2の追尾手段の両方を有効にする場合、前記第1の追尾手段よりも前記第2の追尾手段の動作頻度を低減する、
ことを特徴とする画像処理装置。
【請求項2】
前記算出手段は、被写体領域の大きさ、被写体領域の位置、被写体の種類、および同じ種類の被写体に関する被写体領域の数の1つ以上に基づいて、前記評価値を算出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記評価値は、値が大きいほど追尾処理の難度が高いことを示し、
前記制御手段は、前記評価値が第1の閾値以上であれば前記第1の追尾手段を無効に、前記第2の追尾手段を有効にすることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記評価値は、値が大きいほど追尾処理の難度が高いことを示し、
前記制御手段は、前記評価値が第2の閾値未満であれば前記第2の追尾手段を無効に、前記第1の追尾手段を有効にすることを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
【請求項5】
前記制御手段は、前記決定手段が決定した被写体領域と、前記追尾手段が位置を推定した被写体領域とが同じ被写体に関する場合には、前記
第3のフレームに対する前記第1の追尾手段と前記第2の追尾手段の動作を、前記
第1のフレームに対する前記第1の追尾手段と前記第2の追尾手段の動作から変更しないことを特徴とする請求項1から
4のいずれか1項に記載の画像処理装置。
【請求項6】
前記制御手段は、前記決定手段が決定した被写体領域と、前記追尾手段が位置を推定した被写体領域とが異なる被写体に関する場合に、前記
第3のフレームに対する前記第1の追尾手段と前記第2の追尾手段の動作を、前記評価値に基づいて決定することを特徴とする請求項1から
5のいずれか1項に記載の画像処理装置。
【請求項7】
前記第2の追尾手段がニューラルネットワークを用いて前記追尾処理を実行することを特徴とする請求項1から
6のいずれか1項に記載の画像処理装置。
【請求項8】
処理対象の
第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出手段と、
前記候補領域から、追尾対象とする被写体領域を決定する決定手段と、
前記
第1のフレームにおける、前記
第1のフレームより前
に撮像された第2のフレームにおける追尾対象の被写体領域に対応する領域の位置を推定する追尾処理を実行する追尾手段であって、第1の追尾手段と第2の追尾手段とを有する追尾手段と、
前記検出手段により検出した被写体の種類に基づいて、前記
第1のフレームより後
に撮像された第3のフレームに対する前記第1の追尾手段と前記第2の追尾手段の動作を決定する制御手段と、を有し、
前記第2の追尾手段は、前記第1の追尾手段よりも処理精度が高いが演算負荷が大きく、
前記制御手段は、前記検出手段により検出した被写体の種類に基づいて、前記第1の追尾手段および前記第2の追尾手段の両方を有効にするか、前記第1の追尾手段および前記第2の追尾手段の少なくとも一方を無効にする、
ことを特徴とする画像処理装置。
【請求項9】
画像処理装置の制御方法であって、
前記画像処理装置は、処理対象の
第1のフレームにおける、前記
第1のフレームより前
に撮像された第2のフレームにおける追尾対象の被写体領域に対応する領域の位置を推定する追尾処理を実行する追尾手段を有し、
前記追尾手段は、第1の追尾手段と、前記第1の追尾手段よりも処理精度が高いが演算負荷が大きい第2の追尾手段とを有し、
前記制御方法が、
第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出工程と、
前記候補領域から、追尾対象とする被写体領域を決定する決定工程と、
前記決定工程が決定した被写体領域について、追尾の難度に関する評価値を算出する算出工程と、
前記評価値に基づいて、前記
第1のフレームより後
に撮像された第3のフレームに対する前記第1の追尾手段および前記第2の追尾手段の動作を制御する制御工程と、を有し、
前記制御工程は、前記評価値に基づいて、前記第1の追尾手段および前記第2の追尾手段の両方を有効にするか、前記第1の追尾手段および前記第2の追尾手段の少なくとも一方を無効に
し、
前記制御工程は、前記第1の追尾手段および前記第2の追尾手段の両方を有効にする場合、前記第1の追尾手段よりも前記第2の追尾手段の動作頻度を低減する、
ことを特徴とする画像処理装置の制御方法。
【請求項10】
画像処理装置の制御方法であって、
前記画像処理装置は、処理対象の
第1のフレームにおける、前記
第1のフレームより前
に撮像された第2のフレームにおける追尾対象の被写体領域に対応する領域の位置を推定する追尾処理を実行する追尾手段を有し、
前記追尾手段は、第1の追尾手段と、前記第1の追尾手段よりも処理精度が高いが演算負荷が大きい第2の追尾手段とを有し、
前記制御方法が、
第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出工程と、
前記候補領域から、追尾対象とする被写体領域を決定する決定工程と、
前記検出工程にて検出した被写体の種類に基づいて、前記
第1のフレームより後
に撮像された第3のフレームに対する前記第1の追尾手段および前記第2の追尾手段の動作を制御する制御工程と、を有し、
前記制御工程は、前記検出工程にて検出した被写体の種類に基づいて、前記第1の追尾手段および前記第2の追尾手段の両方を有効にするか、前記第1の追尾手段および前記第2の追尾手段の少なくとも一方を無効にする、
ことを特徴とする画像処理装置の制御方法。
【請求項11】
画像処理装置が有するコンピュータを、請求項1から
8のいずれか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【請求項12】
処理対象の
第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出手段と、
前記候補領域の検出結果に基づいて、前記候補領域から追尾処理の対象となる領域を決定する決定処理の難度に関する評価値を算出する算出手段と、
第1の決定手段と第2の決定手段とを有し、前記検出手段が検出した前記候補領域に対して前記決定処理を行う対象決定手段と、
前記評価値に基づいて、前記第1の決定手段と前記第2の決定手段の動作を制御する制御手段と、を有し、
前記第2の決定手段は、前記第1の決定手段よりも処理精度が高いが演算負荷が大きく、
前記制御手段は、前記評価値に基づいて、前記第1の決定手段と前記第2の決定手段の両方を有効にするか、一方を無効にするか、両方を無効に
し、
前記評価値は、値が大きいほど決定処理の難度が高いことを示し、
前記制御手段は、前記評価値が第1の閾値以下であれば前記第1の決定手段および前記第2の決定手段の両方を無効にする、
ことを特徴とする画像処理装置。
【請求項13】
前記算出手段は、前記候補領域の大きさ、位置、および種類、ならびに同じ種類の被写体に関する候補領域の数の1つ以上に基づいて、前記評価値を算出することを特徴とする請求項
12に記載の画像処理装置。
【請求項14】
前記制御手段は、前記評価値が
前記第1の閾値
より大きい第2の閾値より大きければ、前記第2の決定手段を有効にすることを特徴とする請求項
12または
13に記載の画像処理装置。
【請求項15】
前記制御手段は、前記評価値が
前記第2の閾値
以下で、前記第1の閾値より大きければ前記第2の決定手段を無効に、前記第1の決定手段を有効にすることを特徴とする請求項
14に記載の画像処理装置。
【請求項16】
処理対象の
第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出手段と、
第1の決定手段と、前記第1の決定手段よりも精度が高いが演算負荷が大きい第2の決定手段とを有し、前記検出手段が検出した前記候補領域から追尾処理の対象となる領域を決定する決定処理を行う対象決定手段と、
前記候補領域の検出結果に基づいて、前記第1の決定手段と前記第2の決定手段の動作を制御する制御手段と、を有し、
前記制御手段は、検出された前記候補領域の種類および数に基づいて、前記第1の決定手段と前記第2の決定手段の両方を有効にするか、一方を無効にするか、両方を無効にする、
ことを特徴とする画像処理装置。
【請求項17】
前記制御手段は、検出された前記候補領域のうち、あらかじめ定められた種類の候補領域の数が第1の閾値未満であれば、前記第2の決定手段を無効に、前記第1の決定手段を有効にすることを特徴とする請求項
16に記載の画像処理装置。
【請求項18】
前記制御手段は、検出された前記候補領域のうち、第1の種類の候補領域の数が第1の閾値以上であり、かつ第2の種類の候補領域の数が第2の閾値以上であれば、前記第2の決定手段を有効にすることを特徴とする請求項
16または
17に記載の画像処理装置。
【請求項19】
前記制御手段は、検出された前記候補領域のうち、いずれの種類について、候補領域の数が第3の閾値未満であれば、前記第1の決定手段および前記第2の決定手段の両方を無効にすることを特徴とする請求項
16から
18のいずれか1項に記載の画像処理装置。
【請求項20】
前記画像処理装置のユーザの視線を検出する視線検出手段をさらに有し、
前記第1の決定手段は、前記視線検出手段によって検出した視線に基づいて前記決定処理を実行し、
前記制御手段は、前記第2の決定手段が有効なときは、前記第1の決定手段を無効にすることを特徴とする請求項
12から
19のいずれか1項に記載の画像処理装置。
【請求項21】
前記第2の決定手段は、学習済みのニューラルネットワークを用いて前記決定処理を実行することを特徴とする請求項
12から
20のいずれか1項に記載の画像処理装置。
【請求項22】
画像処理装置の制御方法であって、
検出手段が、処理対象の
第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出工程と、
算出手段が、前記候補領域の検出結果に基づいて、前記候補領域から追尾処理の対象となる領域を決定する決定処理の難度に関する評価値を算出する算出工程と、
制御手段が、前記評価値に基づいて、前記画像処理装置が有する、前記決定処理を行う対象決定手段の動作を制御する制御工程と、を有し、
前記対象決定手段は、第1の決定手段と、前記第1の決定手段よりも精度が高いが演算負荷が大きい第2の決定手段とを有し、
前記制御工程では、前記評価値に基づいて、前記第1の決定手段と前記第2の決定手段の両方を有効にするか、一方を無効にするか、両方を無効に
し、
前記評価値は、値が大きいほど決定処理の難度が高いことを示し、
前記制御工程では、前記評価値が第1の閾値以下であれば前記第1の決定手段および前記第2の決定手段の両方を無効にする、
ことを特徴とする画像処理装置の制御方法。
【請求項23】
画像処理装置の制御方法であって、
検出手段が、処理対象の
第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出工程と、
前記画像処理装置が有する、前記候補領域から追尾処理の対象となる領域を決定する決定処理を行う対象決定手段の動作を、制御手段が、前記候補領域の検出結果に基づいて制御する制御工程と、を有し、
前記対象決定手段は、第1の決定手段と、前記第1の決定手段よりも精度が高いが演算負荷が大きい第2の決定手段とを有し、
前記制御工程では、検出された前記候補領域の種類および数に基づいて、前記第1の決定手段と前記第2の決定手段の両方を有効にするか、一方を無効にするか、両方を無効にする、
ことを特徴とする画像処理装置の制御方法。
【請求項24】
コンピュータを、請求項
12から
21のいずれか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置およびその制御方法に関し、特に、被写体の追尾技術に関する。
【背景技術】
【0002】
デジタルカメラなどの画像処理装置には、顔領域などの特徴領域の検出を経時的に適用することにより、特徴領域を追尾する機能(被写体追尾機能)を有するものがある。また、学習済みのニューラルネットワークを用いて被写体を追尾する装置も知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ニューラルネットワークを用いることにより、画像領域間の相関や類似性などを用いる場合よりも被写体追尾の精度を向上させることができる場合がある。しかしながら、ニューラルネットワークを用いた処理は演算量が多く、高速なプロセッサや大規模な回路が必要となるため、消費電力が大きいという問題がある。例えば、ライブビュー表示用の動画像に対してニューラルネットワークを用いた被写体追尾を適用した場合、ライブビュー表示による電池の消耗が問題となる。
【0005】
本発明はこのような従来技術の課題に鑑みなされたものである。本発明は、消費電力を抑制しながら良好な性能を実現する被写体追尾機能を備えた画像処理装置およびその制御方法の提供を目的とする。
【課題を解決するための手段】
【0006】
上述の目的は、処理対象の第1のフレームから、予め定められた被写体の領域を候補領域として検出する検出手段と、候補領域から、追尾対象とする被写体領域を決定する決定手段と、決定手段が決定した被写体領域について、追尾の難度に関する評価値を算出する算出手段と、第1のフレームにおける、第1のフレームより前に撮像された第2のフレームにおける追尾対象の被写体領域に対応する領域の位置を推定する追尾処理を実行する追尾手段であって、第1の追尾手段と第2の追尾手段とを有する追尾手段と、評価値に基づいて、第1のフレームより後に撮像された第3のフレームに対する第1の追尾手段と第2の追尾手段の動作を決定する制御手段と、を有し、第2の追尾手段は、第1の追尾手段よりも処理精度が高いが演算負荷が大きく、制御手段は、評価値に基づいて、第1の追尾手段および第2の追尾手段の両方を有効にするか、第1の追尾手段および第2の追尾手段の少なくとも一方を無効にし、制御手段は、第1の追尾手段および第2の追尾手段の両方を有効にする場合、第1の追尾手段よりも第2の追尾手段の動作頻度を低減する、ことを特徴とする画像処理装置によって達成される。
【発明の効果】
【0007】
本発明によれば、消費電力を抑制しながら良好な性能を実現する被写体追尾機能を備えた画像処理装置およびその制御方法を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態に係る撮像装置の機能構成例を示すブロック図
【
図2】第1実施形態に係る撮像装置における被写体追尾結果の表示例を示す図
【
図3】第1実施形態における難度スコアの算出処理に関するフローチャート
【
図4】第1実施形態における難度スコアに基づく制御動作に関するフローチャート
【
図5】第1実施形態に係る撮像装置の処理に関する例示的なタイミングチャート
【
図6】第1実施形態における追尾処理結果の利用に関するタイミングチャート
【
図7】第1実施形態における基本的なライブビュー表示動作に関するフローチャート
【
図8】第1実施形態における被写体追尾時のライブビュー表示動作に関するフローチャート
【
図9】第2実施形態に係る撮像装置の機能構成例を示すブロック図
【
図10】第2実施形態における被写体追尾時のライブビュー表示例を示す図
【
図11】第2実施形態における難度スコアの算出処理に関するフローチャート
【
図12】第2実施形態における難度スコアに基づく制御動作に関するフローチャート
【
図13】第2実施形態における難度スコアを用いない制御動作に関するフローチャート
【
図14】第2実施形態に係る撮像装置の処理に関する例示的なタイミングチャート
【
図15】第2実施形態における追尾対象の被写体領域の決定方法に関するフローチャート
【
図16】第2実施形態における被写体追尾時のライブビュー表示動作に関するフローチャート
【
図17】第3~第8実施形態に係る撮像装置の機能構成例を示すブロック図
【
図18】実施形態に係る視線情報取得部置の構成を示す図
【
図19】第3実施形態における被写体検出部の有効無効制御に関する機能ブロックを示す図
【
図20】第3実施形態におけるシステム制御部の動作に関するフローチャート
【
図21】第3実施形態におけるシステム制御部の動作に関するフローチャート
【
図22】第3実施形態におけるシステム制御部の動作に関するフローチャート
【
図23】第4実施形態におけるシステム制御部の動作に関するフローチャート
【
図24】第5実施形態におけるシステム制御部の動作に関するフローチャート
【
図25】第6実施形態におけるシステム制御部の動作に関するフローチャート
【
図26】第7実施形態におけるシステム制御部の動作に関するフローチャート
【
図27】第8実施形態におけるシステム制御部の動作に関するフローチャート
【
図28】第9~第18実施形態に係る撮像装置の機能構成例を示すブロック図
【
図29】第9実施形態におけるシステム制御部の動作に関するフローチャート
【
図30】第10実施形態におけるシステム制御部の動作に関するフローチャート
【
図31】第11実施形態におけるシステム制御部の動作に関するフローチャート
【
図32】第12実施形態におけるシステム制御部の動作に関するフローチャート
【
図33】第13実施形態におけるシステム制御部の動作に関するフローチャート
【
図34】第14実施形態におけるシステム制御部の動作に関するフローチャート
【
図35】第15実施形態におけるシステム制御部の動作に関するフローチャート
【
図36】第16実施形態におけるシステム制御部の動作に関するフローチャート
【
図37】第17実施形態におけるシステム制御部の動作に関するフローチャート
【
図38】第18実施形態におけるシステム制御部の動作に関するフローチャート
【
図39】第12実施形態における撮像装置の背面外観例を示す図
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
なお、以下の実施形態では、本発明をデジタルカメラなどの撮像装置で実施する場合に関して説明する。しかし、撮像装置は本発明を適用可能な画像処理装置の単なる一例であり、本発明は画像処理が可能な任意の電子機器で実施可能である。このような電子機器には、コンピュータ機器(パーソナルコンピュータ、タブレットコンピュータ、メディアプレーヤ、PDAなど)、携帯電話機、スマートフォン、ゲーム機、ロボット、ドローン、ドライブレコーダが含まれる。これらは例示であり、本発明は他の電子機器でも実施可能である。
【0011】
●<第1実施形態>
図1は第1実施形態に係る画像処理装置の一例としての撮像装置100の機能構成例を示すブロック図である。
光学系101はフォーカスレンズなどの可動レンズを含む複数枚のレンズを有し、撮影範囲の光学像を撮像素子103の結像面に形成する。
【0012】
制御部102は、CPUを有し、例えばROM123に記憶されたプログラムをRAM122に読み込んで実行する。制御部102は、各機能ブロックの動作を制御することにより、撮像装置100の機能を実現する。ROM123は例えば書き換え可能な不揮発性メモリであり、制御部102のCPUが実行可能なプログラム、設定値、GUIデータなどを記憶する。RAM122は、制御部102のCPUが実行するプログラムを読み込んだり、プログラムの実行中に必要な値を保存したりするために用いられるシステムメモリである。なお、
図1では省略しているが、制御部102は各機能ブロックと通信可能に接続されている。
【0013】
撮像素子103は、例えば原色ベイヤ配列のカラーフィルタを有するCMOSイメージセンサであってよい。撮像素子103には光電変換領域を有する複数の画素が2次元配置されている。撮像素子103は、光学系101が形成する光学像を複数の画素によって電気信号群(アナログ画像信号)に変換する。アナログ画像信号は撮像素子103が有するA/D変換器によってデジタル画像信号(画像データ)に変換されて出力される。A/D変換器は撮像素子103の外部に設けられてもよい。
【0014】
評価値生成部124は、撮像素子103から得られる画像データから、自動焦点検出(AF)に用いる信号や評価値を生成したり、自動露出制御(AE)に用いる評価値を算出したりする。評価値生成部124は、生成した信号および評価値を制御部102に出力する。制御部102は、評価値生成部124から得られる信号や評価値に基づいて、光学系101のフォーカスレンズ位置を制御したり、撮影条件(露光時間、絞り値、ISO感度など)を決定したりする。評価値生成部124は、後述する後処理部114が生成する表示用画像データから信号や評価値を生成してもよい。
【0015】
第1前処理部104は、撮像素子103から得られる画像データに対して色補間処理を適用する。色補間処理は、デモザイク処理などとも呼ばれ、画像データを構成する画素データのそれぞれが、R成分、G成分、B成分の値を有するようにする処理である。また、第1前処理部104は、必要に応じて画素数を削減する縮小処理を適用してもよい。第1前処理部104は、処理を適用した画像データを表示用メモリ107に格納する。
【0016】
第1画像補正部109は、表示用メモリ107に格納された画像データに対してホワイトバランス補正処理およびシェーディング補正処理といった補正処理や、RGB形式からYUV形式への変換処理などを適用する。なお、第1画像補正部109は、補正処理を適用する際、表示用メモリ107に格納されている画像データのうち、処理対象フレームとは異なる1フレーム以上の画像データを用いてもよい。第1画像補正部109は、例えば、処理対象のフレームより時系列で前および/または後のフレームの画像データを補正処理に用いることができる。第1画像補正部109は、処理を適用した画像データを、後処理部114に出力する。
【0017】
後処理部114は、第1画像補正部109から供給される画像データから、記録用画像データや表示用画像データを生成する。後処理部114は、例えば画像データに符号化処理を適用し、符号化した画像データを格納するデータファイルを記録用画像データとして生成する。後処理部114は、記録用画像データを記録部118に供給する。
【0018】
また、後処理部114は、第1画像補正部109から供給される画像データから、表示部121に表示するための表示用画像データを生成する。表示用画像データは、表示部121での表示サイズに応じたサイズを有する。後処理部114は表示用画像データを情報重畳部120に供給する。
【0019】
記録部118は、後処理部114で変換された記録用画像データを記録媒体119に記録する。記録媒体119は、例えば半導体メモリカード、内蔵不揮発性メモリなどであってよい。
【0020】
第2前処理部105は、撮像素子103が出力する画像データに対して色補間処理を適用する。第2前処理部105は、処理を適用した画像データを追尾用メモリ108に格納する。追尾用メモリ108と表示用メモリ107とは同一メモリ空間内の別アドレス空間として実装されてもよい。また、第2前処理部105は、処理負荷を軽減するために必要に応じて画素数を削減する縮小処理を適用してもよい。なお、ここでは第1前処理部104と第2前処理部105とを別個の機能ブロックとして記載したが、共通の前処理部を用いる構成としてもよい。
【0021】
第2画像補正部106は、追尾用メモリ108に格納された画像データに対してホワイトバランス補正処理およびシェーディング補正処理といった補正処理や、RGB形式からYUV形式への変換処理などを適用する。また、第2画像補正部106は、被写体検出処理に適した画像処理を画像データに適用してもよい。第2画像補正部106は、例えば、画像データの代表輝度(例えば全画素の平均輝度)が予め定められた閾値以下であれば、代表輝度が閾値以上になるよう、画像データ全体に一定の係数(ゲイン)を乗じてもよい。
【0022】
なお、第2画像補正部106は、補正処理を適用する際、追尾用メモリ108に格納されている画像データのうち、処理対象フレームとは異なる1フレーム以上の画像データを用いてもよい。第2画像補正部106は、例えば、処理対象のフレームより時系列で前および/または後のフレームの画像データを補正処理に用いることができる。第2画像補正部106は、処理を適用した画像データを、追尾用メモリ108に格納する。
【0023】
なお、第2前処理部105、第2画像補正部106など、被写体追尾機能に関する機能ブロックは、被写体追尾機能を実施しない場合には動作しなくてよい。また、被写体追尾機能を適用する画像データは、ライブビュー表示用もしくは記録用に撮影される動画データである。動画データは例えば30fps、60fps、120fpsといった所定のフレームレートを有する。
【0024】
検出部110は、1フレーム分の画像データから、予め定められた候補被写体の領域(候補領域)を1つ以上検出する。また、検出部110は、検出した領域ごとに、フレーム内の位置および大きさ、候補被写体の種類(自動車、飛行機、鳥、昆虫、人体、頭部、瞳、猫、犬など)を示すオブジェクトクラスとその信頼度を関連付ける。また、オブジェクトクラスごとに、検出した領域数を計数する。
【0025】
検出部110は、人物や動物の顔領域のような特徴領域を検出するための公知技術を用いて候補領域を検出することができる。例えば、学習データを用いて学習済みのクラス識別器として検出部110を構成してもよい。識別(分類)のアルゴリズムに特に制限はない。多クラス化したロジスティック回帰、サポートベクターマシン、ランダムフォレスト、ニューラルネットワークなどを実装した識別器を学習させることで、検出部110を実現できる。検出部110は、検出結果を追尾用メモリ108に格納する。
【0026】
対象決定部111は、検出部110が検出した候補領域から、追尾対象とする被写体領域(主被写体領域)を決定する。追尾対象の被写体領域は、例えば、オブジェクトクラス、領域の大きさなど、検出結果に含まれる項目ごとに予め付与された優先順位に基づいて決定することができる。具体的には、候補領域ごとに優先順位の合計を算出し、合計が最も小さい候補領域を追尾対象の被写体領域として決定してもよい。あるいは、特定のオブジェクトクラスに属する候補領域のうち、画像の中央もしくは焦点検出領域に最も近い候補領域や、最も大きい候補領域を追尾対象の被写体領域として決定してもよい。対象決定部111は、決定した被写体領域を特定する情報を追尾用メモリ108に格納する。
【0027】
難度判定部112は、対象決定部111が決定した追尾対象の被写体領域について、追尾の難度を示す評価値である難度スコアを算出する。例えば、難度判定部112は、追尾の難度に影響を与える1つ以上の要素を考慮して難度スコアを算出することができる。追尾の難度に影響を与える要素としては、被写体領域の大きさ、被写体のオブジェクトクラス(種類)、同じオブジェクトクラスに属する領域の総数、画像内の位置などが例示されるが、これらに限定されない。難度スコアの算出方法の具体例については後述する。難度判定部112は、算出した難度スコアを追尾制御部113に出力する。
【0028】
追尾制御部113は、難度判定部112が算出した難度スコアに基づいて、追尾部115が有する複数の追尾部のそれぞれについて、有効とするか無効とするかを決定する。本実施形態では、追尾部115が、演算負荷と追尾精度が異なる複数の追尾部を有する。具体的には、追尾部115は、深層学習(DL)を用いて被写体追尾を行うDL追尾部116と、DLを用いずに被写体追尾を行う非DL追尾部117とを有する。DL追尾部116は、非DL追尾部117よりも処理精度が高い反面、演算負荷が非DL追尾部117よりも大きいものとする。
【0029】
この場合、追尾制御部113は、DL追尾部116と非DL追尾部117のそれぞれについて、有効とするか無効とするかを決定する。また、追尾制御部113は、有効とする追尾部についての動作頻度についても併せて決定する。動作頻度とは、追尾処理を適用する頻度(fps)である。
【0030】
追尾部115は、追尾用メモリ108に格納された、処理対象のフレーム(現フレーム)の画像データから追尾対象の被写体領域を推定し、推定した被写体領域のフレーム内の位置と大きさを追尾結果として求める。追尾部115は例えば、現フレームの画像データと、現フレームより前に撮影された過去フレーム(例えば1つ前のフレーム)との画像データとを用いて、現フレーム内の追尾対象の被写体領域を推定する。追尾部115は、追尾結果を情報重畳部120に出力する。
【0031】
ここで、追尾部115は、過去フレームにおける追尾対象の被写体領域に対応する、処理対象のフレーム内の領域を推定するものである。つまり、処理対象のフレームについて対象決定部111が決定した追尾対象の被写体領域は、処理対象のフレームに対する追尾処理における追尾対象の被写体領域ではない。処理対象のフレームに対する追尾処理における追尾対象の被写体領域は、過去フレームにおける追尾対象の被写体領域である。処理対象のフレームについて対象決定部111が決定した追尾対象の被写体領域は、追尾対象の被写体が別の被写体に切り替わった場合に、次のフレームの追尾処理に用いられる。
【0032】
追尾部115は深層学習(DL)を用いて被写体追尾を行うDL追尾部116と、DLを用いずに被写体追尾を行う非DL追尾部117とを有する。そして、追尾制御部113によって有効とされた追尾部が、追尾制御部113によって設定された動作頻度で追尾結果を出力する。
【0033】
DL追尾部116は、学習済みの、畳み込み層を含む多層ニューラルネットワークを用いて、追尾対象の被写体領域の位置および大きさを推定する。より具体的には、DL追尾部116は、対象となりうるオブジェクトクラスごとの被写体領域についての特徴点と、特徴点が含む特徴量とを抽出する機能と、抽出した特徴点をフレーム間で対応付ける機能とを有する。したがって、DL追尾部116は、過去フレームの追尾対象の被写体領域についての特徴点に対応付けられる現フレームの特徴点から、現フレームにおける追尾対象の被写体領域の位置と大きさを推定することができる。
【0034】
DL追尾部116は、現フレームについて推定した追尾対象の被写体領域について、位置、大きさ、および信頼度スコアを出力する。信頼度スコアは、フレーム間における特徴点の対応付けの信頼度、すなわち、追尾対象の被写体領域の推定結果の信頼度を示す。信頼度スコアが、フレーム間の特徴点の対応付けの信頼度が低いことを示す場合、現フレームにおいて推定された被写体領域が、過去フレームにおける追尾対象の被写体領域とは異なる被写体に関する領域である可能性があることを示す。
【0035】
一方、非DL追尾部117は、深層学習を用いない手法によって、現フレームにおける追尾対象の被写体領域を推定する。ここでは、非DL追尾部117が、色構成の類似度に基づいて追尾対象の被写体領域を推定するものとする。しかし、過去フレームにおける追尾対象の被写体領域をテンプレートとしたパターンマッチングなど、他の方法を用いてもよい。非DL追尾部117は、現フレームについて推定した追尾対象の被写体領域について、位置、大きさ、および信頼度スコアを出力する。
【0036】
ここで、色構成の類似度について説明する。ここでは、説明および理解を容易にするため、過去フレームと現フレームとで追尾対象の被写体領域の形状および大きさが同一であるものとする。また、画像データがRGBの色成分ごとに8ビット(値0~255)の深度を有するものとする。
【0037】
非DL追尾部117は、ある色成分(例えばR成分とする)について、取り得る値の範囲(0~255)を複数の領域に分割する。そして、非DL追尾部117は、追尾対象の被写体領域に含まれる画素について、R成分の値が属する領域によって分類した結果(値の範囲ごとの頻度)を、追尾対象の被写体領域の色構成とする。
【0038】
最も単純な例として、R成分の取り得る値の範囲(0~255)を、0~127のRed1と、128~255のRed2とに分割したものとする。そして、過去フレームにおける追尾対象の被写体領域の色構成が、Red1が50画素、Red2が70画素であったとする。また、現フレームにおける追尾対象の被写体領域の色構成が、Red1が45画素、Red2が75画素であったとする。
【0039】
この場合、非DL追尾部117は色構成の類似度を表すスコア(類似度スコア)を、同じ値の範囲に分類された画素数の差に基づいて、以下の様に算出することができる。
類似度スコア=|50-45|+|70-75|=10
【0040】
仮に、現フレームにおける追尾対象の被写体領域の色構成が、Red1が10画素、Red2が110画素であったとすると、類似度スコアは、
類似度スコア=|50-10|+|70-110|=80
となる。このように、色構成の類似度が低いほど類似度スコアは大きくなる。あるいは、類似度スコアが小さいほど、色構成の類似度が高いことを表す。
【0041】
選択部125は、DL追尾部116が出力する信頼度スコア、および非DL追尾部117が出力する類似度スコアに基づいて、DL追尾部116および非DL追尾部117の追尾結果の一方を採用する。選択部125は例えば信頼度スコアが予め定められた信頼度スコア閾値以下、かつ類似度スコアが予め定められた類似度スコア閾値以下であった場合には、非DL追尾部117の追尾結果を採用し、それ以外の場合には、DL追尾部116の追尾結果を採用する。選択部125は、採用した追尾結果を、情報重畳部120および制御部102に出力する。
【0042】
なお、ここではDL追尾部116および非DL追尾部117の追尾結果のいずれを採用するかを信頼度スコアおよび類似度スコアに基づいて決定した。しかし、他の方法で決定してもよい。例えば、DL追尾部116の精度は、非DL追尾部117の精度より高い傾向にあることを利用して、DL追尾部116の追尾結果を優先して採用してもよい。具体的には、DL追尾部116の追尾結果が得られていればDL追尾部116の追尾結果を採用し、得られていなければ非DL追尾部117の追尾結果を採用してもよい。
【0043】
情報重畳部120は、追尾部115が出力する追尾結果に含まれる、被写体領域の大きさに基づいて、追尾枠の画像を生成する。例えば、追尾枠の画像は、被写体領域に外接する矩形の輪郭を表す枠状の画像であってよい。そして、情報重畳部120は、追尾結果に含まれる被写体領域の位置に追尾枠が表示されるように、後処理部114が出力する表示用画像データに対して追尾枠の画像を重畳させて合成画像データを生成する。情報重畳部120はまた、撮像装置100の現在の設定値や状態などを表す画像を生成し、これらの画像が予め定められた位置に表示されるように、後処理部114が出力する表示用画像データに重畳させてもよい。情報重畳部120は、合成画像データを表示部121に出力する。
【0044】
表示部121は例えば液晶ディスプレイや有機ELディスプレイであってよい。表示部121は、情報重畳部120が出力する合成画像データに基づく画像を表示する。以上のようにして1フレーム分のライブビュー表示が行われる。
【0045】
図2は、ライブビュー表示の例を示す図である。
図2(a)は、後処理部114が出力する表示用画像データが表す画像800を示す。また、
図2(b)は、表示用画像データに対して追尾枠803の画像を重畳した合成画像データが表す画像802を示す。ここでは撮影範囲に候補被写体801が1つだけ存在するため、候補被写体801が追尾対象の被写体として選択される。そして、候補被写体801を囲むように追尾枠803が重畳されている。なお、
図2(b)の例では、追尾枠803が4つの中空かぎ形状の組み合わせから構成されているが、中空でないかぎ形状の組み合わせ、切れ目のない枠、矩形の組み合わせ、三角形の組み合わせなど、他の形態の追尾枠803としてもよい。また、追尾枠803の形態はユーザが選択可能であってもよい。
【0046】
次に、
図3のフローチャートを用いて、難度判定部112が実行する、追尾対象の被写体領域に関する難度スコアの算出動作についてさらに説明する。ここではオブジェクトクラスが以下のグループA~Dに分類されているものとする。グループA~Cは、追尾の難度に関して類似した特性を有するオブジェクトクラスが同じグループに属するように定められている。また、グループDは、グループA~Cに属するオブジェクトクラスに対して重要性が低いオブジェクトクラスが分類される。
【0047】
グループAは車オブジェクトクラス、電車オブジェクトクラス、ジェット機オブジェクトクラス、自転車オブジェクトクラス、オートバイオブジェクトクラス、ヘリコプターオブジェクトクラスなど、剛体の被写体のオブジェクトクラスを主に含む。グループBは鳥オブジェクトクラス、昆虫オブジェクトクラスなど、動きが速く、また被写体領域の形状が大きく変化する被写体のオブジェクトクラスを主に含む。グループC(動物・人間)は犬オブジェクトクラス、猫オブジェクトクラス、人体オブジェクトクラスなど、顔と身体を含む被写体のオブジェクトクラスを主に含む。グループDは他のオブジェクトクラスであり、グループDに属するオブジェクトクラスは重要度が低いものとする。なお、グループA~Dの分類については単なる例示であり、他の観点から追尾の難度に関して分類してもよい。
【0048】
S401において難度判定部112は、難度スコアを0に初期化する。
S402において難度判定部112は、追尾対象の被写体領域のオブジェクトクラスがグループAに属するか否かを判定し、グループAに属すると判定されればS406を、グループAに属すると判定されなければS403を実行する。
【0049】
S406において難度判定部112は、難度スコアを維持する。グループAに属するオブジェクトクラスは、比較的追尾が容易な被写体のオブジェクトクラスである。そのため、難度判定部112は追尾対象の被写体領域は追尾しやすいと判定し、難度スコアに加点しない(難度を高くしない)。
【0050】
S403において難度判定部112は、追尾対象の被写体領域のオブジェクトクラスがグループBに属するか否かを判定し、グループBに属すると判定されればS407を、グループBに属すると判定されなければS404を実行する。
【0051】
S407において難度判定部112は、難度スコアを1加点(+1)する。グループBは動きが速く、形状変化も大きな被写体のオブジェクトクラスが分類されている。そのため、追尾対象の被写体領域のオブジェクトクラスがグループBに属する場合、難度判定部112は追尾対象の被写体領域は追尾しづらいと判定し、難度スコアに加点する(難度を上げる)。
【0052】
S404において難度判定部112は、追尾対象の被写体領域のオブジェクトクラスがグループCに属するか否かを判定し、グループCに属すると判定されればS405を、グループCに属すると判定されなければS410を実行する。
【0053】
S405において難度判定部112は、追尾対象の被写体領域内で、頭部オブジェクトクラスを有する被写体領域および、瞳オブジェクトクラスを有する被写体領域が検出されているか否かを判定する。難度判定部112は、追尾対象の被写体領域内で、頭部オブジェクトクラスを有する被写体領域および、瞳オブジェクトクラスを有する被写体領域が検出されていると判定されればS408を、判定されなければS409を実行する。
【0054】
S408において難度判定部112は、難度スコアを維持する。グループCは主に犬、猫、人体のように、顔を有する被写体のオブジェクトクラスである。そして、階層関係にある頭部と瞳の両方が検出されていると判定されていることから、難度判定部112は追尾対象の被写体領域は追尾しやすいと判定し、難度スコアに加点しない。
【0055】
S409において難度判定部112は、難度スコアを1加点する。グループCは主に犬、猫、人体のように、顔を有する被写体のオブジェクトクラスである。そして、階層関係にある頭部と瞳の少なくとも一方が検出されていないと判定されていることから、難度判定部112は追尾対象の被写体領域は追尾しづらいと判定し、難度スコアに加点する。
【0056】
S410において難度判定部112は、難度スコアを維持する。追尾対象の被写体領域はグループDに属しており、グループA、グループB、グループCのいずれのオブジェクトクラスでもないことから、難度判定部112は追尾対象の被写体領域が主要な被写体に関する領域ではないと判定し、難度スコアに加点しない。
【0057】
S411において難度判定部112は、追尾対象の被写体領域のオブジェクトクラスと同じオブジェクトクラスを有する候補領域の数が予め定められた閾値N(N≧2)以上であるか否かを判定する。難度判定部112は、追尾対象の被写体領域のオブジェクトクラスと同じオブジェクトクラスを有する候補領域の数が予め定められた閾値N以上であると判定されればS412を、判定されなければS413を実行する。
【0058】
S412において難度判定部112は、難度スコアを1加点する。追尾対象の被写体領域と同じオブジェクトクラスを有する候補領域の数が閾値N以上である場合、難度判定部112は追尾対象の被写体領域は追尾しづらいと判定し、難度スコアに加点する。
【0059】
S413において難度判定部112は、難度スコアを維持する。追尾対象の被写体領域と同じオブジェクトクラスを有する候補領域の数が閾値N未満である場合、難度判定部112は追尾対象の被写体領域は追尾しやすいと判定し、難度スコアを維持する。
【0060】
S414において難度判定部112は、検出部110が検出した候補領域が有するオブジェクトクラスの種別数が予め定められた閾値O(O≧2)以上であるか否かを判定する。難度判定部112は、検出部110が検出した候補領域が有するオブジェクトクラスの種別数が閾値O以上であると判定されればS415を、判定されなければS416を実行する。
【0061】
S415において難度判定部112は、難度スコアを1加点する。候補領域のオブジェクトクラス種別数が閾値O以上である場合、様々なオブジェクトクラスの候補領域が撮影範囲に混在しているため、追尾対象の被写体領域は追尾しづらいと判定し、難度スコアに加点する。
【0062】
S416において難度判定部112は、難度スコアを維持する。追尾対象の被写体領域のオブジェクトクラス種別数が閾値O未満である場合、難度判定部112は追尾対象の被写体領域が追尾部115にて追尾しやすい状態であると判定し、難度スコアを維持する。
【0063】
S417において難度判定部112は、算出した難度スコアを追尾制御部113に出力する。
【0064】
ここで説明した動作によって算出される難度スコアは0,1,2,3のいずれかの値を取る。しかし、実際にはより細かな刻みを有してもよい。実際にはここで例示したものより多くのオブジェクトクラスを、またより多くのグループに分類することができる。また、難度スコアはS402~S404、S411、S414の要素全てを判定する必要はなく、これらの要素のうちの少なくとも1つに基づき算出してもよい。また、難度スコアとを2値(0または1)として、難度スコア1でDL追尾部116を有効(非DL追尾部117は有効または無効)、難度スコア0でDL追尾部116を無効(非DL追尾部117は有効)、のように制御してもよい。
【0065】
あらかじめグルーピングし、難度スコアが取りうるレンジを広くすることで、難度判定部112はより精度の高い難度スコアを算出できる。また、オブジェクトクラスに対して速度情報を関連付けておくことにより、追尾対象の被写体領域のオブジェクトクラスに加え、大きさと速度情報とから画像上の移動速度を推定して、難度スコアに反映させてもよい。例えば、推定される移動速度が閾値以上であれば難度スコアに加点するようにする。また、過去のフレーム(例えば1つ前のフレーム)において算出した信頼度スコアおよび類似度スコアを難度スコアの算出処理に含めてもよい。
【0066】
次に、追尾制御部113の動作について、
図4のフローチャートを用いてさらに説明する。ここでは、難度判定部112が、
図3を用いて説明した動作によって難度スコアを算出しているものとする。したがって、難度スコアは0から3のいずれかの値を有する。
【0067】
S501において追尾制御部113は、難度スコアが3であるか否かを判定し、難度スコアが3であると判定されればS504を、判定されなければS502を実行する。
S502において追尾制御部113は、難度スコアが2であるか否かを判定し、難度スコアが2であると判定されればS505を、判定されなければS503を実行する。
S503において追尾制御部113は、難度スコアが1であるか否かを判定し、難度スコアが1であると判定されればS506を、判定されなければS507を実行する。
【0068】
S504において追尾制御部113は、DL追尾部116を有効に、非DL追尾部117を無効にすることを決定する。また、追尾制御部113は、DL追尾部116の動作頻度を60fps(毎フレーム)に設定する。難度スコア3は算出される難度スコアのうち、追尾の難度が最も高い状態である。そのため、追尾制御部113は、非DL追尾部117よりも性能の良いDL追尾部116を用いることを決定する。一方、追尾制御部113は、非DL追尾部117を用いても良い結果が得られる可能性が低いと判定し、非DL追尾部117は用いないことを決定する。
【0069】
S505において追尾制御部113は、DL追尾部116と非DL追尾部117との両方を有効にすることを決定する。また、追尾制御部113は、DL追尾部116の動作頻度を30fps(1フレームおき)に、非DL追尾部117の動作頻度を60fpsに設定する。難度スコア2は追尾の難度がやや高い状態である。そのため、追尾制御部113は、DL追尾部116と非DL追尾部117との両方を用いることを決定する。一方で、追尾制御部113は、DL追尾部116については非DL追尾部117についてよりも動作頻度を低減することにより、消費電力を低減する。また、追尾制御部113は、非DL追尾部117の動作頻度を毎フレームに設定することで、追尾の追従性を維持する。
【0070】
S506において追尾制御部113は、DL追尾部116と非DL追尾部117との両方を有効にすることを決定する。また、追尾制御部113は、DL追尾部116の動作頻度を15fps(2フレームおき)に、非DL追尾部117の動作頻度を60fpsに設定する。難度スコア1は追尾の難度がやや低い状態である。そのため、追尾制御部113は、DL追尾部116と非DL追尾部117との両方を用いることを決定する。一方で、追尾制御部113は、DL追尾部116については難度スコア2の場合よりもさらに動作頻度を低減することにより、消費電力を一層低減する。一方で、追尾制御部113は、非DL追尾部117の動作頻度を毎フレームに設定することで、追尾の追従性を維持する。
【0071】
S507において追尾制御部113は、DL追尾部116を無効に、非DL追尾部117を有効にすることを決定する。また、追尾制御部113は、非DL追尾部117の動作頻度を30fps(1フレームおき)に設定する。S507が実行されるのは難度スコア0の場合であり、追尾の難度が最も低い状態である。そのため、追尾制御部113は、非DL追尾部117で十分精度の良い結果が得られる可能性が高いと判定し、非DL追尾部117だけを用いることを決定する。さらに、追尾制御部113は、非DL追尾部117の動作頻度を1フレームおきとすることにより、消費電力をさらに低減させる。
【0072】
ここで説明した制御動作は単なる例示であり、難度スコアが取り得る値の範囲や値の刻みに応じて変化しうる。また、ここでは動画のフレームレートが60fpsであるものとしたが、120fpsとしてもよい。この場合、非DL追尾部117の動作頻度を120fpsに設定するときには、DL追尾部116の動作頻度を15fps未満、例えば5fpsとしてもよい。
【0073】
また、必ずしも難度スコアごとに制御を異ならせなくてもよい。例えば、難度スコアが第1の閾値以上であればDL追尾部116を有効に、非DL追尾部117を無効にしたり難度スコアが第2の閾値未満であればDL追尾部116を無効に、非DL追尾部117を有効にしたりしてもよい。
【0074】
図5は、撮像装置100で被写体追尾機能を実施する際の、上述した各部の動作タイミングの例を示すタイミングチャートである。t600、t601、t602、t603、t604、t605、t606は各フレームにおいて検出部110が検出処理を開始するタイミングである。t600において、検出部110は最初のフレーム(0フレーム目)に対する検出処理610を開始する。
【0075】
検出処理610により検出部110が0フレーム目の画像データについて、1つ以上の候補領域とそのオブジェクトクラスを検出すると、対象決定部111は追尾対象の被写体領域を決定する決定処理611を開始する。決定処理611によって0フレーム目の画像データについて追尾対象の被写体領域を決定すると、難度判定部112が追尾対象の被写体領域の難度判定処理612を開始する。
【0076】
難度判定処理612によって難度スコアが算出され、かつ、決定処理611で決定した被写体領域が、直近に決定された被写体領域とは異なる被写体に関する領域である場合、追尾制御部113は、DL追尾部116および非DL追尾部117の制御を見直す。具体的には、0フレーム目の画像データについて決定された追尾対象の被写体領域の難度スコアに応じて、DL追尾部116および非DL追尾部117の有効または無効と、動作頻度とを更新する。また、追尾部115は、追尾対象とする被写体領域を、0フレーム目の画像データについて決定された追尾対象の被写体領域で更新する。したがって、1フレーム目の画像データについては、更新された被写体領域を追尾する。
【0077】
一方、決定処理611で決定した被写体領域と直近に決定された被写体領域とが同一被写体に関する領域である場合、追尾制御部113は、DL追尾部116および非DL追尾部117の制御を見直さない。また、追尾部115は、追尾対象とする被写体領域を更新しない。
【0078】
図5において、0フレーム目、t602より検出処理624が開始される2フレーム目、t604より検出処理633が開始される4フレーム目、t606より検出処理643が開始される6フレーム目は、追尾対象の被写体に変更がない場合である。
【0079】
一方、t601より検出処理616を開始する1フレーム目の画像データについては、決定処理617で決定された追尾対象の被写体領域と直近に決定された被写体領域とが互いに異なる被写体に関する領域である例を示す。
【0080】
この場合、次フレームで追尾対象とする被写体を変更するため、追尾制御部113は難度判定処理618の結果を用いて、DL追尾部116および非DL追尾部117の有効・無効制御を見直す。ここでは、次フレームに対して、非DL追尾部117を無効、DL追尾部116を有効、DL追尾部116の動作頻度を、0フレーム目および1フレーム目における動作頻度の倍に切り替える。
【0081】
t603より検出処理629を開始する3フレーム目においても同様に追尾対象の被写体が変化し、追尾制御部113はDL追尾部116および非DL追尾部117の有効・無効制御を見直す。ここでは、t604より検出処理633を開始する4フレーム目について、DL追尾部116を無効、非DL追尾部117を有効とする。また、非DL追尾部117の動作頻度を0フレーム目および1フレーム目の動作頻度設定の半分の頻度とする。
【0082】
t600において、追尾部115は0フレーム目のDL追尾処理613および非DL追尾処理614を開始する。ここでは0フレーム目の時点で追尾制御部113によりDL追尾部116および非DL追尾部117がいずれも有効で、非DL追尾部117の動作頻度がDL追尾部116の動作頻度の2倍に設定されているものとする。
【0083】
図5において、破線矩形で示されるDL追尾処理および非DL追尾処理は、DL追尾部116および非DL追尾部117の動作頻度が毎フレームよりも低く設定されたことによって実行されないことを示している。
【0084】
0フレーム目において、DL追尾部116はDL追尾処理613を、非DL追尾部117は非DL追尾処理614を実施し、追尾処理結果を出力する。ここでDL追尾処理613は非DL追尾処理614よりも精度の高い追尾結果を出力できる。そのため、追尾部115は選択部125によってDL追尾処理613の追尾結果を採用する。そして、情報重畳部120は、重畳処理615において、DL追尾処理613の追尾結果に基づく追尾枠が重畳された合成画像データを生成する。t601において、表示部121は0フレーム目の合成画像データの表示処理623を実行する。
【0085】
t601において、非DL追尾部117は1フレーム目の非DL追尾処理620を開始する。DL追尾部116は動作頻度の設定にしたがい、1フレーム目については追尾処理を行わない。1フレーム目では非DL追尾部117の追尾結果のみが得られるため、重畳処理622において情報重畳部120は、非DL追尾部117の追尾結果に基づく追尾枠が重畳された合成画像データを生成する。
【0086】
なお、非DL追尾処理はDL追尾処理よりも処理負荷が低いため、DL追尾処理よりも早く終了する。DL追尾処理が行われる場合と同様のタイミングで追尾結果を出力するため、追尾部115は、非DL追尾部処理に続いて待ち処理621を実施する。t602において、表示部121は1フレーム目の合成画像データの表示処理628を実行する。
【0087】
t602において、DL追尾部116は2フレーム目のDL追尾処理625を開始する。2フレーム目については非DL追尾部117が無効にされているため、非DL追尾処理は実行されない。2フレーム目ではDL追尾部116の追尾結果のみが得られるため、重畳処理627において情報重畳部120は、DL追尾部116の追尾結果に基づく追尾枠が重畳された合成画像データを生成する。t603において、表示部121は1フレーム目の合成画像データの表示処理632を実行する。
【0088】
t603において、DL追尾部116は3フレーム目のDL追尾処理630を開始する。2フレーム目のDL追尾処理625開始前に、DL追尾部116の動作頻度は0フレーム目における動作頻度の倍に変更されているため、2フレーム目に続いて3フレーム目においてもDL追尾処理が実行される。重畳処理631および表示処理638については2フレーム目と同様である。
【0089】
t604において、非DL追尾部117は4フレーム目の非DL追尾処理635を開始する。4フレーム目についてはDL追尾部116が無効であるため、DL追尾処理は実行されない。非DL追尾部117の動作頻度は0フレーム目、1フレーム目の動作頻度の半分に設定されているため、4フレーム目の非DL追尾処理635は実施されるが、5フレーム目の非DL追尾処理640は実施されない。待ち処理636、重畳処理637、表示処理642については1フレーム目と同様である。
【0090】
t605において、追尾部115はDL追尾処理639および非DL追尾処理640をいずれも実行しない。そのため、5フレーム目に対する重畳処理641において情報重畳部120は、4フレーム目で得られた非DL追尾処理635の追尾結果に基づく追尾枠を重畳した合成画像データを生成する。なお、情報重畳部120は、5フレーム目のようにDL追尾処理および非DL追尾処理のいずれも実行されないフレームについては重畳処理において追尾枠を重畳しない合成画像データを生成してもよい。
【0091】
t606において、非DL追尾部117は6フレーム目の非DL追尾処理644を開始する。DL追尾部116は無効であるため、DL追尾処理は実行されない。6フレーム目の非DL追尾処理644、待ち処理645、重畳処理646、表示処理647は4フレーム目と同様である。
【0092】
このように、追尾対象の被写体が別の被写体に切り替わった場合には、次のフレームで用いる新たな追尾対象の被写体領域について算出される難度スコアに基づいてDL追尾処理、非DL追尾処理の実行の有無および動作頻度を見直す。そのため、難度スコアに応じて動的に適切な追尾処理を実行することができ、消費電力を抑えることができる。
【0093】
本実施形態における追尾処理は、処理対象のフレームより前のフレームに対する追尾結果を利用することができる。
図6に示すタイミングチャートを用いて、過去の追尾結果を利用した追尾処理に関して説明する。
【0094】
t700は0フレーム目の追尾処理開始タイミングである。以降、t70n(n=1,2,...)はnフレーム目の追尾処理開始タイミングを示す。t702、t704においてそれぞれ追尾対象の被写体の切り替え、追尾制御部113によるDL追尾部116、非DL追尾部117の制御の見直しを行う。
【0095】
DL追尾部116および非DL追尾部117は、有効に設定されている場合に、動作頻度に応じたフレームに対して追尾処理を実行する。また、DL追尾部116および非DL追尾部117は、処理対象フレームの追尾処理に、1つ前のフレームに対して得られた追尾結果を用いる。
【0096】
DL追尾部116の処理精度は、類似度などに基づく非DL追尾部117の処理精度よりも高い傾向にある。そのため、処理対象フレームのDL追尾処理および/または非DL追尾処理には、利用可能であれば処理対象フレームの1つ前のフレームに対するDL追尾処理の追尾結果を用いる。なお、処理対象フレームと1つ前のフレームとで追尾対象の被写体が異なる場合には、1つ前のフレームに対する追尾結果を用いない。
【0097】
したがって、1フレーム目の非DL追尾処理711は0フレーム目のDL追尾処理710の追尾結果を用いる。1フレーム目と2フレーム目とでは追尾対象の被写体が異なるため、2フレーム目のDL追尾処理712では、1フレーム目の追尾結果を用いない。3フレーム目のDL追尾処理713は2フレーム目のDL追尾処理712の追尾結果を用いる。3フレーム目と4フレーム目とでは追尾対象の被写体が異なるため、4フレーム目の非DL追尾処理715では、3フレーム目の追尾結果を用いない。4フレーム目ではDL追尾処理714が実行されていないため、5フレーム目の非DL追尾処理716は、4フレーム目の非DL追尾処理715の追尾結果を用いる。
【0098】
図7は、撮像装置100の、被写体追尾機能が有効な際のライブビュー表示動作に関するフローチャートである。
S200で制御部102は、撮像素子103を制御して、1フレームの撮影を行い、画像データを読み出す。
S201で第1前処理部104は、撮像素子103から読み出された画像データに対して前処理を適用する。
S202で第1前処理部104は、前処理を適用した画像データを表示用メモリ107に格納する。
【0099】
S203で第1画像補正部109は、表示用メモリ107から読み出した画像データに対し、所定の画像補正処理の適用を開始する。S204で第1画像補正部109は、適用すべき画像補正処理をすべて完了したか否かを判定し、すべて完了したと判定されれば、画像補正処理を適用した画像データを後処理部114に出力する。また、第1画像補正部109は、画像補正処理がすべて完了したと判定されなければ、画像補正処理を継続する。
【0100】
S205で後処理部114は、第1画像補正部109によって画像補正処理が適用された画像データから、表示用の画像データを生成し、情報重畳部120に出力する。
【0101】
S206で情報重畳部120は、後処理部114が生成した表示用の画像データと、追尾枠の画像データと、他の情報を示す画像データとを用いて、撮影画像に追尾枠や他の情報の画像が重畳した合成画像のデータを生成する。情報重畳部120は、合成画像データを表示部121に出力する。
【0102】
S207で表示部121は、情報重畳部120が生成した合成画像データを表示する。これにより、1フレーム分のライブビュー表示が完了する。
【0103】
図8は、撮像装置100の被写体追尾機能の動作に関するフローチャートである。
S300~S304の処理は、表示用メモリ107の代わりに追尾用メモリ108を用いることと、画像補正処理が追尾用の画像補正処理であることとを除き、
図7のS200~S204の処理と同様である。
【0104】
S305で検出部110は、すべての画像補正処理が完了した画像データに対して、被写体領域の検出処理を実行する。検出部110は、検出した被写体領域(候補領域)のそれぞれについて、位置および大きさ、オブジェクトクラス、同一オブジェクトクラスに属する被写体領域の数、信頼度スコアなどを、検出結果として追尾用メモリ108に格納する。
【0105】
S306で対象決定部111は、追尾用メモリ108に格納された候補領域の情報から、追尾対象の被写体領域を1つ決定する。対象決定部111は、決定した追尾対象の被写体領域の情報を追尾用メモリ108に格納する。
【0106】
S307で難度判定部112は、追尾対象の被写体領域の情報および候補領域の情報に基づいて、及び、追尾用メモリ108より読み出す追尾候補被写体情報に基づいて難度スコアを算出する。また、追尾制御部113は、難度スコアに基づいて、DL追尾部116と非DL追尾部117の有効・無効および、有効な追尾部の動作頻度を決定する。
【0107】
S308で追尾部115は、処理対象フレームについて、DL追尾部116が追尾処理を実行したか否かを判定し、実行したと判定されればS309を、実行したと判定されなければS310を実行する。
【0108】
S309で追尾部115は、選択部125によってDL追尾部116の追尾結果を採用して情報重畳部120に出力する。
S310で追尾部115は、選択部125によって非DL追尾部117の追尾結果を採用して情報重畳部120に出力する。なお、非DL追尾部117も追尾処理を実行していない場合には、追尾結果を出力しないか、1つ前のフレームの追尾結果を出力する。
【0109】
S311で追尾制御部113は、処理対象フレームの追尾処理に用いられた被写体領域が、S306で決定した追尾対象の被写体領域と同一被写体に係る領域であるか否かを判定する。この判定は、追尾対象の被写体が切り替わったか否かの判定とも言える。追尾制御部113は、例えば、処理対象のフレームにおける追尾結果に含まれる信頼度スコアが閾値以下であれば、追尾対象の被写体が切り替わったと判定することができる。なお、これは一例であり、他の方法で判定を行ってもよい。
【0110】
追尾制御部113は、追尾対象の被写体が切り替わったと判定されればS312を、追尾対象の被写体が切り替わったと判定されなければS313を、実行する。
【0111】
S312で追尾制御部113は、S306で処理対象のフレームについて決定した追尾対象の被写体領域の難度スコアに基づいて、次フレームに対するDL追尾部116および非DL追尾部117の有効・無効と、動作頻度とを決定する。
【0112】
S313で情報重畳部120は、表示用画像データと、S309もしくはS310で採用した追尾結果とに基づいて、追尾枠の画像が重畳された合成画像のデータを生成する。
S314およびS315の処理はS206およびS207の処理と同様である。
【0113】
以上説明したように、本実施形態によれば、第1の追尾部と、第1の追尾部よりも処理精度が高いが、演算量が多い第2の追尾部とを用いる撮像装置において、追尾の難度に基づいて第1および/または第2追尾部の有効・無効を制御するようにした。そのため、良好な追尾結果が得られる可能性が低い追尾部を無効としたり、一方の追尾部だけで良好な追尾結果が得られる可能性が高い場合には他方の追尾部を無効としたりすることで、追尾精度の低下を抑制しつつ、消費電力を抑制することができる。
【0114】
追尾処理は一般に動画に対して実行されるため、第2の追尾部として、深層学習のような演算量の多い機械学習を利用する追尾部を用いる場合、消費電力の抑制効果は特に大きい。
【0115】
●<第2実施形態>
次に、本発明の第2実施形態について説明する。
図9は第2実施形態に係る画像処理装置の一例である撮像装置100’の機能構成例を示すブロック図であり、第1実施形態で説明した撮像装置100と同じ構成には同じ参照数字を付してある。本実施形態は、追尾部ではなく対象決定部の動作を難度スコアによって制御する。
【0116】
以下、第1実施形態と異なる部分について説明する。
本実施形態の難度判定部112は、追尾用メモリ108に格納された、検出部110の検出結果に基づいて、検出された候補領域から追尾対象の被写体領域を決定する処理(対象決定処理)の難度を示す評価値である難度スコアを算出する。
【0117】
例えば、難度判定部112は、対象決定処理の難度に影響を与える1つ以上の要素を考慮して難度スコアを算出することができる。対象決定処理の難度に影響を与える要素としては、候補領域の大きさ、候補領域のオブジェクトクラス(種類)、同じオブジェクトクラスに属する候補領域の数、画像内における候補領域の位置などが例示されるが、これらに限定されない。難度スコアの算出方法の具体例については後述する。難度判定部112は、算出した難度スコアを対象決定制御部135に出力する。
【0118】
対象決定制御部135は、難度判定部112が算出した難度スコアに基づいて、対象決定部130が有する複数の対象決定部のそれぞれについて、有効とするか無効とするかを決定する。本実施形態では、対象決定部130が演算負荷と対象決定精度が異なる複数の対象決定部を有する。具体的には、対象決定部130は、深層学習(DL)を用いて対象決定処理を行うDL対象決定部131と、DLを用いずに対象決定処理を行う非DL対象決定部132とを有する。DL対象決定部131は、非DL対象決定部132よりも処理精度が高い反面、演算負荷が非DL対象決定部132よりも大きいものとする。
【0119】
この場合、対象決定制御部135は、DL対象決定部131と非DL対象決定部132のそれぞれについて、有効とするか無効とするかを決定する。なお、検出された候補領域が1つの場合と、候補領域が検出されなかった場合、対象決定制御部135は、DL対象決定部131と非DL対象決定部132の両方を無効にする。
【0120】
対象決定部130は、検出部110が検出した候補領域から、追尾対象とする被写体領域(主被写体領域)を決定する。対象決定部130は、決定した被写体領域を特定する情報を追尾用メモリ108に格納する。
【0121】
対象決定部130は深層学習(DL)を用いて対象決定処理を行うDL対象決定部131と、DLを用いずに対象決定処理を行う非DL対象決定部132とを有する。そして、DL対象決定部131と非DL対象決定部132のうち、対象決定制御部135によって有効にされた対象決定部が、決定した被写体領域を特定する情報を出力する。
【0122】
DL対象決定部131は、学習済みの多層ニューラルネットワークを用いて、複数の候補領域から追尾対象の被写体領域を決定する。多層ニューラルネットワークは、例えば畳み込みニューラルネットワーク(CNN)であってよい。多層ニューラルネットワークの学習は、例えば、候補領域のそれぞれについての、大きさ情報、画面内の位置情報、オブジェクトクラス情報、信頼度を入力データとし、正解となる主被写体領域を教師データとした学習用データを用いて実施することができる。なお、教師データは、例えば処理対象のフレームを人間が見て正解となる主被写体領域を決定することによって用意することができる。
【0123】
多層ニューラルネットワークの学習は別の装置で行ってもよいし、撮像装置100’で行ってもよい。撮像装置100’で行う場合には、DL対象決定部131を学習モードとし、学習用データ(入力データと教師データのセット)を例えば記録媒体119からDL対象決定部131に供給することによって多層ニューラルネットワークを学習することができる。なお、学習は、公知の最適化アルゴリズムを用い、損失関数の値が所定値未満になるまで実施すればよい。
【0124】
多層ニューラルネットワークの学習を別の装置で行う場合、例えば別の装置で学習が完了した多層ニューラルネットワークのパラメータを例えば記録媒体119を通じてDL対象決定部131に供給すればよい。別の装置で学習する多層ニューラルネットワークは、DL対象決定部131に実装された多層ニューラルネットワークと同様の構成とする。また、学習方法は撮像装置100’で学習する場合と同じであってよい。
【0125】
DL対象決定部131は、検出部110で検出された候補領域のそれぞれについての、大きさ情報、画面内の位置情報、オブジェクトクラス情報、信頼度をテストデータとして学習済の多層ニューラルネットワークに与える。学習済の多層ニューラルネットワークは、候補領域それぞれに対し、例えば主被写体領域である確率を出力する。
【0126】
DL対象決定部131は、検出部110が検出した複数の候補領域のうち、多層ニューラルネットワークの出力が最も高い候補領域を追尾対象の被写体領域(主被写体領域)と決定する。そして、DL対象決定部131は、決定した主被写体領域の大きさ情報、画面内の位置情報、オブジェクトクラス情報を出力する。
【0127】
一方、非DL対象決定部132は、深層学習を用いない手法によって、複数の候補領域から追尾対象の被写体領域を決定する。非DL対象決定部は、第1実施形態の対象決定部111と同様にして追尾対象の被写体領域を決定することができる。非DL対象決定部132は、決定した被写体領域を特定する情報を追尾用メモリ108に格納する。
【0128】
選択部133は、DL対象決定部131が出力する主被写体領域の情報、および非DL対象決定部132が出力する主被写体領域の情報の一方を採用する。選択部133は例えば、DL対象決定部131と非DL対象決定部132が出力する主被写体領域の位置情報に基づいて、どちらの主被写体領域の情報を採用するかを決定する。選択部133は、例えば、撮像装置100’で現在設定されている焦点検出領域との距離が短い方(焦点検出領域に近い方)の主被写体領域の情報を採用することができる。選択部133は採用した主被写体領域の情報を追尾用メモリ108に格納する。
【0129】
対象決定制御部135によって、DL対象決定部131および非DL対象決定部132の両方が無効の場合、対象決定部130は候補領域が1つまたは検出されていないと判定する。そして、対象決定部130は、候補領域が1つであれば、その候補領域を主被写体領域と決定する。また、対象決定部130は、候補領域が1つも検出されていない場合には、主被写体の不存在を追尾部134に通知し、追尾処理を停止させる。
【0130】
追尾部134は、追尾用メモリ108に格納された、処理対象のフレーム(現フレーム)の画像データから追尾対象の被写体領域を推定し、推定した被写体領域のフレーム内の位置と大きさを追尾結果として求める。追尾部134は例えば第1実施形態における非DL追尾部117と同様に、色構成の類似度に基づいて追尾対象の被写体領域を推定することができる。なお、追尾対象の被写体領域の色構成情報を、過去フレームにおける追尾対象の被写体領域によって更新し、次のフレームの追尾処理を実行してもよい。
【0131】
なお、追尾部134は、過去フレームにおける追尾対象の被写体領域をテンプレートとしたパターンマッチングを用いて現フレームにおける追尾対象の被写体領域を推定してもよい。この場合、パターンマッチングに用いるテンプレートを、対象決定部130が決定した追尾対象の被写体領域で毎フレーム更新してもよい。また、追尾部134は、学習済みの多層ニューラルネットワークを用いて現フレームにおける追尾対象の被写体領域の位置と大きさを推定してもよい。追尾部134は、現フレームについて推定した追尾対象の被写体領域について、位置、大きさ、および信頼度スコアを出力する。
【0132】
情報重畳部120は、追尾部134が出力する追尾結果に含まれる主被写体領域の大きさに基づいて、追尾枠の画像を生成する。そして、情報重畳部120は、第1実施形態と同様にして生成した合成画像データを表示部121に出力する。
【0133】
図10は、後処理部114が出力する表示用画像データを用いた、表示部121におけるライブビュー表示の例を示す図である。
図10において、破線1004は画像の中央領域を示し、実際の表示用画像データには含まれない。画像1010および1020は、表示用画像データに追尾枠1015の画像が重畳された合成画像データの表示例を示す。画像1010は画像1000の1フレーム後の画像であり、画像1020は画像1010から複数フレーム後の画像である。
【0134】
画像1000において、自動車1001、1002、1003が候補領域として検出された場合、対象決定部130は破線1004が示す中央領域に最も近い自動車1003の領域を追尾対象の被写体領域として決定する。その結果、1フレーム後の画像1010において自動車1003の領域が追尾処理され、追尾枠1015が自動車1003の領域を囲むように重畳表示されている。さらに複数フレーム後の画像1020においても、自動車1003の領域に追尾枠1015が重畳表示される。
【0135】
画像1030、1040は候補領域が1つのみの場合のライブビュー表示の例を示す。画像1040は画像1030の1フレーム後の画像である。画像1030では自動車1031が唯一の候補領域として検出される。この場合、対象決定制御部135は対象決定部130のDL対象決定部131および非DL対象決定部132をいずれも無効にする。そして、対象決定部130は、自動車1031の領域を追尾対象の被写体領域として決定する。その結果、1フレーム後の画像1040において、追尾対象の自動車1031の領域を囲むように追尾枠1015が重畳表示される。本実施形態においても、第1実施形態と同様、追尾枠1015の形状は4つの中空かぎ形状の組み合わせに限定されない。
【0136】
次に、
図11のフローチャートを用いて、本実施形態で難度判定部112が実行する、追尾対象の被写体領域に関する難度スコアの算出動作についてさらに説明する。
S1101において難度判定部112は、難度スコアを0に初期化する。
【0137】
S1102において難度判定部112は、画像中心に候補領域が存在するか否かを判定する。難度判定部112は例えば、
図10に破線1004で示した画面中央の領域の一部または全部を含む候補領域が存在すれば、画像中心に候補領域が存在すると判定する。また、難度判定部112は例えば、破線1004で示した画面中央の領域の一部または全部を含む候補領域が存在しなければ、画像中心に候補領域が存在しないと判定する。そして、難度判定部112は、画像中心に候補領域が存在すると判定されなければS1103を、画像中心に候補領域が存在すると判定されればS1104を実行する。
【0138】
なお、焦点検出領域があらかじめ設定されている場合、難度判定部112は、画面中央の領域の代わりに焦点検出領域に対して同様の判定を行う。そして、難度判定部112は、焦点検出領域に候補領域が存在すると判定されなければS1103を、焦点検出領域に候補領域が存在すると判定されればS1104を実行する。
【0139】
S1103において難度判定部112は、難度スコアを1加点(+1)する。候補領域が焦点検出領域や画像中心に存在しない場合、難度判定部112は追尾対象の被写体領域を決定しづらいと判定し、難度スコアに加点する(難度を上げる)。そして、難度判定部112はS1105を実行する。
【0140】
S1104において難度判定部112は、難度スコアを維持する。候補領域が焦点検出領域や画像中心に存在する場合、難度判定部112は追尾対象の被写体領域を決定しやすいと判定し、難度スコアに加点しない(難度を高くしない)。そして、難度判定部112はS1105を実行する。
【0141】
S1105において難度判定部112は、候補領域の種類(オブジェクトクラスの種類)の数があらかじめ設定されている閾値N以上か否か(N種類以上の候補領域が検出されているか否か)を判定する。例えば、人オブジェクトクラス、犬オブジェクトクラス、猫オブジェクトクラス、自動車オブジェクトクラスが関連付けられた候補領域が検出されている場合、候補領域は4種類となる。閾値Nが3であった場合、難度判定部112は候補領域の種類が閾値N以上であると判定し、S1106を実行する。一方、犬オブジェクトクラス、猫オブジェクトクラスが関連付けられた候補領域が検出されている場合、候補領域は2種類となる。閾値Nが3であった場合、難度判定部112は候補領域の種類が閾値N以上でない判定し、S1107を実行する。
【0142】
S1106において難度判定部112は、難度スコアを、(候補領域の種類の数-N+1)加点する。N種類以上の候補領域が検出されている場合、難度判定部112は追尾対象の被写体領域を決定しづらいと判定し、種類が多いほど多く難度スコアに加点する(難度を上げる)。そして、難度判定部112はS1108を実行する。
【0143】
S1107において難度判定部112は、難度スコアを維持する。候補領域の種類の数がN未満の場合、難度判定部112は追尾対象の被写体領域を決定しやすいと判定し、難度スコアに加点しない(難度を高くしない)。そして、難度判定部112はS1108を実行する。
【0144】
S1108およびS1115はその間の処理を繰り返して実行することを示す。具体的には、S1109からS1114の処理を、検出された候補領域の種類の数に等しい回数、繰り返して実行する。例えば、4種類の候補領域が検出されていれば、S1109からS1114の処理を、候補領域の種類ごとに4回繰り返して実行する。
【0145】
S1109で難度判定部112は、同じ種類(オブジェクトクラス)が関連付けられた候補領域の数があらかじめ設定されている閾値M以上か否かを判定する。例えば、検出部110によって、犬オブジェクトクラスの候補領域が4つ、猫オブジェクトクラスの候補領域が2つ検出されており、閾値Mが3であるとする。この場合、S1109からS1114の処理が、犬オブジェクトクラスについて1回、猫オブジェクトクラスについて1回実行される。
【0146】
犬オブジェクトクラスについての処理において、S1109で難度判定部112は、犬オブジェクトクラスの候補領域の数は4であるため、閾値M以上と判定し、S1110を実行する。一方、猫オブジェクトクラスについての処理において、S1109で難度判定部112は、猫オブジェクトクラスの候補領域の数は2であるため、閾値M以上でないと判定し、S1111を実行する。
【0147】
S1110において難度判定部112は、難度スコアを、(処理対象のオブジェクトクラスの候補領域の数-M+1)加点する。同じオブジェクトクラスの候補領域の数が閾値M以上の場合、追尾対象の被写体領域を決定しづらいと判定し、難度スコアに加点する(難度を上げる)。そして、難度判定部112はS1112を実行する。
【0148】
S1111において難度判定部112は、難度スコアを維持する。同じオブジェクトクラスの候補領域の数が閾値M未満の場合、追尾対象の被写体領域を決定しやすいと判定し、難度スコアに加点しない(難度を高くしない)。そして、難度判定部112はS1112を実行する。
【0149】
S1112で難度判定部112は、同じオブジェクトクラスの候補領域の大きさの分散があらかじめ設定されている閾値L未満か否かを判定する。ここで、候補領域の大きさは、例えば候補領域の水平ピクセル数と垂直ピクセル数との積であってよい。また候補領域の大きさは、同じオブジェクトクラスの候補領域の中で最大の候補領域の大きさで正規化した値(≦1)とする。正規化した大きさを用い、分散を、個々の候補領域の大きさと大きさの平均値との差の二乗値の平均値として算出することができる。
【0150】
例えば、犬オブジェクトクラスの候補領域が4つ、猫オブジェクトクラスの候補領域が2つ検出され、あらかじめ設定されている閾値Lが0.1であったとする。また、犬オブジェクトクラスについてS1112を実行した際に、候補領域の大きさの分散が0.2であれば、難度判定部112は、同じオブジェクトクラスの候補領域の大きさの分散がL未満でないと判定し、S1114を実行する。一方、猫オブジェクトクラスについてS1112を実行した際に、候補領域の大きさの分散が0.0025であれば、難度判定部112は、同じオブジェクトクラスの候補領域の大きさの分散がL未満であると判定し、S1113を実行する。
【0151】
S1113で難度判定部112は、難度スコアを1加点する。同じオブジェクトクラスの候補領域の大きさの分散がL未満である場合、同じ種類の被写体に関する候補領域が似た大きさを有していると考えられる。そのため、難度判定部112は、処理対象のオブジェクトクラスについて追尾対象の被写体領域を決定しづらいと判定し、難度スコアに加点する(難度を上げる)。そして、難度判定部112はS1115を実行する。
【0152】
S1114で難度判定部112は、難度スコアを維持する。同じオブジェクトクラスの候補領域の大きさの分散がL未満でない場合、同じ種類の被写体に関する候補領域の大きさにばらつきがあると考えられる。そのため、難度判定部112は、処理対象のオブジェクトクラスについて追尾対象の被写体領域を決定しやすいと判定し、難度スコアに加点しない(難度を高くしない)。そして、難度判定部112はS1115を実行する。
【0153】
検出された全ての種類(オブジェクトクラス)のそれぞれについてS1109からS1114の処理を実行すると、難度判定部112はS1116を実行する。
S1116で難度判定部112は、算出した難度スコアを対象決定制御部135に出力する。
【0154】
なお、ここで説明した難度スコアの算出方法は一例に過ぎず、他の様々な方法で難度スコアを算出することができる。例えば、S1103で難度スコアを1加点する代わりに、あらかじめ設定されているゲイン係数を乗じた値を加点してもよい。また、候補領域の種類の数、同じ種類の被写体に関する(同じオブジェクトクラスに属する)候補領域の数のみを用いて難度スコアを算出してもよい。あるいは、1つの項目のみに基づいて難度スコアを算出してもよい。また、難度スコアを2値(0または1)として、難度スコア1でDL対象決定部131を有効、難度スコア0でDL対象決定部131を無効、のように制御してもよい。
【0155】
次に、対象決定制御部135の動作について、
図12のフローチャートを用いてさらに説明する。ここでは、難度判定部112が、
図11を用いて説明した動作によって難度スコアを算出しているものとする。
【0156】
S1201において対象決定制御部135は、難度スコアがあらかじめ設定されている閾値Aより大きいか否かを判定し、大きいと判定されればS1203を、判定されなければS1202を実行する。
【0157】
S1202において対象決定制御部135は、難度スコアがあらかじめ設定されている閾値B(<A)より大きいか否かを判定し、大きいと判定されればS1204を、判定されなければS1205を実行する。
【0158】
S1203において対象決定制御部135は、DL対象決定部131を有効に、非DL対象決定部132を無効にすることを決定する。難度スコアがAよりも大きい場合、対象決定の難度が高い。そのため、対象決定制御部135は、非DL対象決定部132よりも性能の良いDL対象決定部131を用いることを決定する。また、対象決定制御部135は、非DL対象決定部132を用いても良い結果が得られる可能性が低いと判定し、非DL対象決定部132は用いないことを決定する。
【0159】
S1204において対象決定制御部135は、DL対象決定部131を無効に、非DL対象決定部132を有効にすることを決定する。難度スコアがA以下であり、Bより大きい場合、対象決定の難度が中程度である。そのため、対象決定制御部135は、非DL対象決定部132で十分精度の良い結果が得られる可能性が高いと判定し、非DL対象決定部132だけを用いることを決定する。非DL対象決定部132よりも消費電力が高いDL対象決定部131を無効にすることにより、消費電力を低減することができる。
【0160】
S1205において対象決定制御部135は、DL対象決定部131を無効に、非DL対象決定部132を無効にすることを決定する。難度スコアがB以下である状態は、対象決定の難度が低い。そのため、対象決定制御部135は、DL対象決定部131および非DL対象決定部132を用いずに対象決定可能と判定し、DL対象決定部131および非DL対象決定部132の両方を無効にする。これにより、消費電力をさらに低減することができる。
【0161】
なお、DL対象決定部131および非DL対象決定部132を用いずに追尾対象の被写体領域を決定が可能であるのは、例えば、検出された候補領域が1つもしくは検出されなかった場合である。また、検出された複数の候補領域の1つが非常に大きく、かつ画面中央もしくは焦点検出領域に存在する場合も該当する。
【0162】
ここで説明した対象決定制御部135の動作は単なる例示である。例えば、難度スコアにごとに制御を異ならせなくてもよい。例えば、S1205でS1204と同様に非DL対象決定部を有効にしてもよい。あるいは、S1201で難度スコアがAより大きいと判定されない場合には、直ちにS1204を実行してもよい。
【0163】
次に、
図13のフローチャートを用いて、対象決定制御部135が、難度スコアを用いずにDL対象決定部131および非DL対象決定部132の有効および無効を決定する方法の例を説明する。ここでは、対象決定制御部135が、検出されたオブジェクトクラスと、同一オブジェクトクラスに属する候補領域の数とを用いて、DL対象決定部131および非DL対象決定部132の有効および無効を決定するものとする。
【0164】
なお、ここでは、DL対象決定部131が特定のシーン、例えば、ボールを使うスポーツのシーンに関する学習用データによって学習済みの多層ニューラルネットワークを有するものとする。学習用データは、入力データと、対応する教師データのセットである。ここで、入力データとして、ボールを使うスポーツの画像データから抽出した複数の候補領域のそれぞれの大きさ情報、画面内の位置情報、オブジェクトクラス情報、信頼度を用いることができる。また、画像データに含まれる候補領域のうち、人オブジェクトクラスに属する候補領域を正解とする教師データを用いることができる。
【0165】
このような学習を行った多層ニューラルネットワークを有するDL対象決定部131は、撮像装置100’によってボールを使うスポーツのシーンを撮像した場合に、精度の高い対象決定処理を行うことができる。さらに、入力データの生成に用いる画像データを、人オブジェクトクラスの候補領域の数が4以上である画像データに制限することができる。これにより、DL対象決定部131は、ボールを使うスポーツの、4人以上の「人」が含まれるシーンの画像に対して、より精度の高い対象決定処理を行うことができる。
【0166】
以下、DL対象決定部131が、ボールを使うスポーツの、4人以上の「人」が含まれるシーンの画像に対して、より精度の高い対象決定処理を行うことができる場合の対象決定制御部135の動作について説明する。
【0167】
S1301において対象決定制御部135は、検出部110によって人オブジェクトクラスの候補領域が4つ以上、かつボールオブジェクトクラスの候補領域が1つ以上検出されているか否かを判定する。対象決定制御部135は、人オブジェクトクラスの候補領域が4つ以上、かつボールオブジェクトクラスの候補領域が1つ以上検出されていると判定されればS1304を、判定されなければS1302を実行する。
【0168】
S1302において対象決定制御部135は、検出部110によって人オブジェクトクラスの候補領域が3つ、かつボールオブジェクトクラスの候補領域が1つ以上検出されているか否かを判定する。対象決定制御部135は、人オブジェクトクラスの候補領域が3つ以上、かつボールオブジェクトクラスの候補領域が1つ以上検出されていると判定されればS1305を、判定されなければS1303を実行する。
【0169】
S1301において対象決定制御部135は、検出部110によって人オブジェクトクラスの候補領域が2つ検出されているか否かを判定する。対象決定制御部135は、人オブジェクトクラスの候補領域が2つ以上検出されていると判定されればS1306を、判定されなければS1307を実行する。
【0170】
S1304において対象決定制御部135は、DL対象決定部131を有効に、非DL対象決定部132を無効にすることを決定する。人オブジェクトクラスの候補領域が4つ以上、かつボールオブジェクトクラスの候補領域が1つ以上検出されている場合、DL対象決定部131の多層ニューラルネットワークの学習に用いたシーンと同様のシーンである。そのため、対象決定制御部135は、DL対象決定部131が最適に対象決定を行えるものとして、DL対象決定部131だけを用いることを決定する。
【0171】
S1305において対象決定制御部135は、DL対象決定部131を有効に、非DL対象決定部132を有効にすることを決定する。人オブジェクトクラスの候補領域が3つ、かつボールオブジェクトクラスの候補領域が1つ以上検出されている場合、DL対象決定部131の多層ニューラルネットワークの学習に用いたシーンと類似したシーンであるが、同様のシーンではない。一方で、人オブジェクトクラスの候補領域3つについて対象決定処理を行う必要があるため、非DL対象決定部のみを有効にするだけでは精度が不十分である可能性が高い。そのため、対象決定制御部135は、精度の高い対象決定処理を実現するため、DL対象決定部131と非DL対象決定部132の両方を用いることを決定する。
【0172】
S1306において対象決定制御部135は、DL対象決定部131を無効に、非DL対象決定部132を有効にすることを決定する。人オブジェクトクラスの候補領域が2つ検出されている場合、その一方を追尾対象の被写体領域として選択すればよく、対象決定の難度が低い。そのため、対象決定制御部135は、非DL対象決定部132で十分精度の良い結果を得られる可能性が高いと判定し、非DL対象決定部132だけを用いることを決定する。非DL対象決定部132よりも消費電力が高いDL対象決定部131を無効にすることにより、消費電力を低減できる。
【0173】
S1307において対象決定制御部135は、DL対象決定部131と非DL対象決定部132の両方を無効にすることを決定する。人オブジェクトクラスの候補領域が1つ、または1つも検出されていない場合は、対象決定の難度が最も低い。そのため、対象決定制御部135は、DL対象決定部131および非DL対象決定部132を用いなくとも、追尾対象の被写体領域を決定可能であると判定し、DL対象決定部131および非DL対象決定部132の両方を無効にする。これにより、消費電力をさらに低減することができる。この場合、対象決定部130は、DL対象決定部131および非DL対象決定部132を用いず、唯一検出されている候補領域を追尾対象の被写体領域と決定し、情報を出力する。候補領域が検出されていない場合、対象決定部130は、例えば1フレーム前の決定結果を再度出力する。
【0174】
ここで説明した制御動作は単なる例示である。対象決定制御部135は、対象の画像が、DL対象決定部131および非DL対象決定部132で精度良い対象決定が可能なシーンの画像であるか否かを考慮して、有効にする対象決定部を決定することができる。
【0175】
なお、シーンの種類ごとに用意した学習用データを用いて多層ニューラルネットワークを学習して得られるパラメータを切り替えて用いることで、DL対象決定部131で精度よく対象決定が可能なシーンを切り替えできるように構成してもよい。例えば、撮像装置100’で撮影しているシーンに対応した学習済みのパラメータを多層ニューラルネットワークに設定して用いることができる。
【0176】
また、撮像装置100’がユーザの視線検出機能を有する場合、非DL対象決定部132は、ユーザの視線に基づいて対象決定を行ってもよい。非DL対象決定部132は、例えば、ユーザの注目する画像座標を含んでいる候補領域を追尾対象の被写体領域として決定することができる。
【0177】
非DL対象決定部132は、ユーザの視線に基づいて対象決定を行うように設定されている状態で、対象決定制御部135がDL対象決定部131を有効にすることを決定した場合、対象決定制御部135は非DL対象決定部132を無効にすることができる。これは、DL対象決定部131が有効にされる対象決定難度が高いシーンでは、ユーザの視線が主被写体領域に定まる可能性が低いと考えられるためである。
【0178】
図14は、撮像装置100’で対象決定処理を含む被写体追尾機能を実施する際の、上述した各部の動作タイミングの例を示すタイミングチャートである。t1400、t1401、t1402、t1403、t1404は各フレームにおいて検出部110が検出処理を開始するタイミングである。t1400において、検出部110は最初のフレーム(0フレーム目)に対する検出処理1410を開始する。
【0179】
検出処理1410により、検出部110が0フレーム目の画像データについて、1つ以上の候補領域とそのオブジェクトクラスを検出する。難度判定部112は0フレーム目の画像データで検出された候補領域の情報に基づいて、
図11を用いて説明したような難度判定処理1411を実行し、難度スコアを算出する。
【0180】
対象決定制御部135は、難度判定処理1411によって算出された難度スコアに基づいて、0フレーム目の画像データに対するDL対象決定部131および非DL対象決定部132の有効・無効を決定する。
【0181】
図14において破線で示した対象決定処理(例えばDL対象決定処理1412)は、その対象決定処理を実行する対象決定部(DL対象決定部131)が対象決定制御部135によって無効とされたことを示している。一方、実線で示した対象決定処理(例えば非DL対象決定処理1413)は、その対象決定処理を実行する対象決定部(非DL対象決定部132)が対象決定制御部135によって有効とされたことを示している。
【0182】
追尾部134は、対象決定部130から出力される追尾対象の被写体領域を対象とした追尾処理1414を実行する。追尾部134は、処理対象の画像データにおける追尾対象の被写体領域の位置を推定する。そして、追尾部134は、推定した、0フレーム目の画像データにおける追尾対象の被写体領域の情報(位置、大きさなど)を追尾結果として情報重畳部120に出力する。追尾処理1414を破線で示しているのは、0フレーム目では追尾対象の被写体領域が決定されておらず、実際には追尾処理が行われないためである。
【0183】
追尾枠重畳処理1415により情報重畳部120は0フレーム目の表示用画像データに追尾処理1414の結果に基づく追尾枠を重畳した合成画像データを生成する。なお、情報重畳部120を破線で示しているのは、0フレーム目においては追尾対象の被写体領域が決定されておらず、実際には追尾枠の重畳を行われないためである。
【0184】
表示処理1416により表示部121は0フレーム目の合成画像データを表示する。上述の通り、追尾枠重畳処理1415は実際には行われていないため、表示部121は追尾枠が重畳されていない表示用画像データを表示する。
【0185】
検出処理1420により、検出部110が1フレーム目の画像データについて、1つ以上の候補領域とそのオブジェクトクラスを検出する。難度判定部112は1フレーム目の画像データで検出された候補領域の情報に基づいて難度判定処理1421を実行し、難度スコアを算出する。
【0186】
対象決定制御部135は、難度判定処理1421によって算出された難度スコアに基づいて、1フレーム目の画像データに対するDL対象決定部131および非DL対象決定部132の有効・無効を決定する。ここでは、対象決定制御部135がDL対象決定部131を有効に、非DL対象決定部132を無効にすることを決定したものとする。
【0187】
非DL対象決定処理1423は実際には行われないため、破線で示している。一方、DL対象決定処理1422はDL対象決定部131により実行される。対象決定部130は、DL対象決定部131が決定した追尾対象の被写体領域の情報を出力する。
【0188】
追尾処理1424で追尾部134は、0フレーム目の画像について非DL対象決定処理1413で決定された追尾対象の被写体領域が、1フレーム目の画像データに存在する位置を推定する。そして、追尾部134は、推定した、1フレーム目の画像データにおける追尾対象の被写体領域の情報(位置、大きさなど)を追尾結果として情報重畳部120に出力する。
【0189】
追尾枠重畳処理1425で情報重畳部120は1フレーム目の表示用画像データに追尾処理1424の結果に基づく追尾枠を重畳した合成画像データを生成する。
表示処理1426により表示部121は1フレーム目の合成画像データを表示する。
【0190】
検出処理1430により、検出部110が2フレーム目の画像データについて、1つ以上の候補領域とそのオブジェクトクラスを検出する。難度判定部112は2フレーム目の画像データで検出された候補領域の情報に基づいて難度判定処理1431を実行し、難度スコアを算出する。
【0191】
対象決定制御部135は、難度判定処理1431によって算出された難度スコアに基づいて、2フレーム目の画像データに対するDL対象決定部131および非DL対象決定部132の有効・無効を決定する。ここでは、検出処理1430において候補領域が1つしか検出されず、対象決定制御部135がDL対象決定部131と非DL対象決定部132の両方を無効にすることを決定したものとする。
【0192】
したがって、DL対象決定処理1432および非DL対象決定処理1433は行われず、破線で示されている。この場合、対象決定部130は、唯一検出されている候補領域を追尾対象の被写体領域として決定する。
【0193】
追尾処理1434で追尾部134は、1フレーム目の画像についてDL対象決定処理1422で決定された追尾対象の被写体領域が、2フレーム目の画像データに存在する位置を推定する。そして、追尾部134は、推定した、2フレーム目の画像データにおける追尾対象の被写体領域の情報(位置、大きさなど)を追尾結果として情報重畳部120に出力する。
【0194】
追尾枠重畳処理1435で情報重畳部120は2フレーム目の表示用画像データに追尾処理1434の結果に基づく追尾枠を重畳した合成画像データを生成する。
表示処理1436により表示部121は2フレーム目の合成画像データを表示する。
【0195】
検出処理1440により、検出部110が3フレーム目の画像データについて、1つ以上の候補領域とそのオブジェクトクラスを検出する。難度判定部112は3フレーム目の画像データで検出された候補領域の情報に基づいて難度判定処理1441を実行し、難度スコアを算出する。
【0196】
対象決定制御部135は、難度判定処理1441によって算出された難度スコアに基づいて、3フレーム目の画像データに対するDL対象決定部131および非DL対象決定部132の有効・無効を決定する。ここでは、対象決定制御部135がDL対象決定部131と非DL対象決定部132の両方を有効にすることを決定したものとする。
【0197】
したがって、DL対象決定部131はDL対象決定処理1442を、非DL対象決定部132は非DL対象決定処理1443を、それぞれ実行する。そして、DL対象決定処理1442と非DL対象決定処理1443の結果の一方を、選択部133で選択し、3フレーム目について決定された追尾対象の被写体領域の情報として出力する。例えば選択部133は、それぞれの対象決定処理で決定された2つの被写体領域が同じであれば、予め定められた一方を選択する。一方、それぞれの対象決定処理で決定された2つの被写体領域が異なる場合、選択部133は、予め定められた条件にしたがって一方の決定結果を選択する。選択部133は例えば、より大きな被写体領域、重心位置が画像中央により近い被写体領域、または重心位置が焦点検出領域により近い被写体領域を示す決定結果を選択することができる。
【0198】
追尾処理1444で追尾部134は、2フレーム目の画像について決定された追尾対象の被写体領域が、3フレーム目の画像データに存在する位置を推定する。そして、追尾部134は、推定した、3フレーム目の画像データにおける追尾対象の被写体領域の情報(位置、大きさなど)を追尾結果として情報重畳部120に出力する。
【0199】
追尾枠重畳処理1445で情報重畳部120は3フレーム目の表示用画像データに追尾処理1444の結果に基づく追尾枠を重畳した合成画像データを生成する。
表示処理1446により表示部121は3フレーム目の合成画像データを表示する。
【0200】
検出処理1450により、検出部110が4フレーム目の画像データについて、1つ以上の候補領域とそのオブジェクトクラスを検出する。難度判定部112は4フレーム目の画像データで検出された候補領域の情報に基づいて難度判定処理1451を実行し、難度スコアを算出する。
【0201】
対象決定制御部135は、難度判定処理1451によって算出された難度スコアに基づいて、4フレーム目の画像データに対するDL対象決定部131および非DL対象決定部132の有効・無効を決定する。ここでは、対象決定制御部135がDL対象決定部131と非DL対象決定部132の両方を有効にすることを決定したものとする。
【0202】
したがって、DL対象決定部131はDL対象決定処理1452を、非DL対象決定部132は非DL対象決定処理1453を、それぞれ実行する。選択部133は、3フレーム目の処理に関して説明したように、一方の決定結果を選択して出力する。
【0203】
追尾処理1454で追尾部134は、3フレーム目の画像について決定された追尾対象の被写体領域が、4フレーム目の画像データに存在する位置を推定する。そして、追尾部134は、推定した、4フレーム目の画像データにおける追尾対象の被写体領域の情報(位置、大きさなど)を追尾結果として情報重畳部120に出力する。
【0204】
追尾枠重畳処理1455で情報重畳部120は4フレーム目の表示用画像データに追尾処理1454の結果に基づく追尾枠を重畳した合成画像データを生成する。
表示処理1456により表示部121は4フレーム目の合成画像データを表示する。
【0205】
図14のタイミングチャートは一例にすぎず、様々な変更が可能である。例えば、
図14では検出処理および難度判定処理を各フレームについて実行したが、実行頻度を下げてもよい。複数フレームあたり1回実行することで、消費電力を低減することができる。この場合、検出処理および難度判定処理が実行されるフレームについての対象決定処理の結果で追尾対象の被写体領域を更新し、検出処理および難度判定処理が実行されないフレームについての対象決定処理の結果は更新に用いなくてもよい。
【0206】
本実施形態におけるライブビュー表示動作は
図7を用いて第1実施形態で説明した通りであるため、説明を省略する。
【0207】
図15は、追尾対象の被写体領域の決定に用いる対象決定部の動作制御に関するフローチャートである。
S300~S305の処理は、
図8を用いて第1実施形態で説明した処理と同じであるため、説明を省略する。なお、画像補正処理は追尾用および検出用の補正処理である。
【0208】
S1501で難度判定部112は、S305における候補領域の検出結果に基づいて、例えば
図11を用いて説明したようにして対象決定の難度を示す難度スコアを算出する。難度判定部112は算出した難度スコアを対象決定制御部135に出力する。
【0209】
S1502で対象決定制御部135は、難度スコアがあらかじめ設定された第1の閾値以上であるか否かを判定する。対象決定制御部135は、難度スコアが第1の閾値以上であると判定されればS1503を実行し、難度スコアが第1の閾値以上であると判定されなければS1504を実行する。
【0210】
S1503で対象決定制御部135は、DL対象決定部131を有効にすることを決定し、DL対象決定部131を有効にする制御を実行する。
S1504で対象決定制御部135は、DL対象決定部131を無効にすることを決定し、DL対象決定部131を無効にする制御を実行する。さらに、対象決定制御部135は、S1505を実行する。
【0211】
S1505で対象決定制御部135は、難度スコアがあらかじめ設定された第2の閾値未満であるか否かを判定する。ここで、第2の閾値は第1の閾値より小さい(難度が低い)。対象決定制御部135は、難度スコアが第2の閾値未満であると判定されればS1506を実行し、難度スコアが第2の閾値未満であると判定されなければS1507を実行する。
【0212】
S1506で対象決定制御部135は、非DL対象決定部132を無効にすることを決定し、非DL対象決定部132を無効にする制御を実行する。
S1507で対象決定制御部135は非DL対象決定部132を有効にすることを決定し、非DL対象決定部132を有効にする制御を実行する。
【0213】
S1508で対象決定部130は、DL対象決定部131および非DL対象決定部132の一方だけが有効である場合は、有効な対象決定部の決定結果を選択部133で選択する。
【0214】
DL対象決定部131および非DL対象決定部132の両方が有効である場合、対象決定部130は、それぞれの決定結果が同じ被写体領域であれば任意の一方の決定結果を選択部133で選択する。決定結果が異なる場合、対象決定部130は、上述したように、所定の条件に基づいて一方の決定結果を選択部133で選択する。対象決定部130は、例えば画面中央により近い中心位置を有する被写体領域を示す決定結果を選択部133で選択する。対象決定部130は、選択部133で選択した決定結果を、追尾対象の被写体領域の情報として追尾用メモリ108に格納する。
【0215】
DL対象決定部131および非DL対象決定部132の両方が無効である場合、対象決定部130は、S305で検出された候補領域の数を確認する。検出された候補領域の数が1つである場合、対象決定部130は、検出された候補領域を追尾対象の被写体領域として決定し、情報を追尾用メモリ108に格納する。候補領域の数が0の場合は追尾対象の被写体候補が存在しない。この場合、対象決定部130は、直前に出力した追尾対象の被写体領域の情報を追尾用メモリ108に格納してもよいし、次フレームの追尾処理を無効にしてもよい。
【0216】
これにより1フレーム分の追尾対象の被写体領域の決定動作が完了する。以降、フレームごとに、あるいは所定の複数のフレームごとに、同様の処理を実行する。
【0217】
図16は撮像装置100’の被写体追尾機能の動作に関するフローチャートであり、
図15と同じ処理については同じ参照数字を付してある。S300~S304の処理に関する説明は省略する。
【0218】
S1601で追尾部134は、処理対象のフレームの1つ前のフレームについてのS1508の処理において追尾対象の被写体領域が決定されているか否か判定する。追尾部134は、前フレームで追尾対象の被写体領域が決定されていると判定されればS1602を実行し、追尾対象の被写体領域が決定されていると判定されなければS1603を実行する。
【0219】
S1602で追尾部134は、追尾対象の被写体領域の情報を、前フレームについて決定された情報で更新する。また、前フレームにおいて追尾処理が無効とされていた場合、追尾部134は追尾処理を開始する制御を実行する。これは、上述の通り、候補領域が1つも検出されなかった場合、次フレームに対する追尾処理が無効にされうるからである。
【0220】
S1603で追尾部134は、追尾継続状態であるか否かを判定する。追尾継続状態とは、追尾処理が有効であり、前フレームで追尾対象の被写体領域が決定されている状態である。追尾部134は、追尾継続状態と判定されればS1604を実行し、追尾継続状態と判定されなければS314を実行する。
【0221】
S1604で追尾部134は、決定された被写体領域の追尾処理を実行する。追尾部134は、追尾結果として、推定した被写体領域の大きさと、画像内の位置を情報重畳部120に出力する。
【0222】
S313~S315の処理は、
図8に関して第1実施形態で説明した通りであるため説明を省略する。ただし、S1603で追尾継続状態でないと判定されてS314を実行している場合は、追尾結果が無いため、追尾枠の重畳は行わない。
【0223】
本実施形態では、追尾対象の被写体領域を決定する第1の対象決定部と、第1の対象決定部よりも精度が高いが演算量が多い第2の対象決定部とを用いる画像処理装置において、対象決定の難度に基づいて第1および/または第2追尾部の有効・無効を制御する。そのため、精度良く対象を決定できる可能性が低い対象決定部を無効としたり、一方の対象決定部だけで精度良く対象を決定できる可能性が高い場合には他方の対象決定部を無効としたりすることで、対象決定精度の低下を抑制しつつ、消費電力を抑制することができる。
【0224】
対象決定処理は一般に連続したフレームに対して都度、実行するため、第2の対象決定部として深層学習のような演算量の多い機械学習を利用する対象決定部を用いる場合、消費電力の抑制効果は特に大きい。
【0225】
●<第3実施形態>
次に、本発明の第3実施形態について説明する。
図17は第3実施形態に係る画像処理装置の一例としての撮像装置1700の機能構成例を示すブロック図である。
光学系1701および撮像素子1704は撮像装置100の光学系101および撮像素子103と同様の構成であってよいため、説明を省略する。本実施形態では光学系1701と撮像素子1704との間にメカニカルシャッタ1703(以下、単にシャッタという)が
設けられているが、シャッタ1703は必須ではない。シャッタ1703の動作はシステム制御部1740が制御する。シャッタスピードは撮像素子1704の露光時間に相当する。
【0226】
光学制御部1702は、光学系1701が形成する光学像を例えば位相差AFセンサによって撮像することにより、複数の焦点検出領域のそれぞれについてデフォーカス量を算出する。焦点検出領域は例えば撮像面内に予め定められた矩形領域であってよい。光学制御部1702は、算出したデフォーカス量と、追尾部1718による追尾結果とに基づいて、光学系1701を合焦させる焦点検出領域を決定する。そして、光学制御部1702は、決定した焦点検出領域について算出されたデフォーカス量に基づいて光学系1701のフォーカスレンズを駆動する。これにより、決定した焦点検出領域内の被写体に光学系1701が合焦した状態となる。
【0227】
撮像素子1704は、撮像によって得られた画像データを画像処理部1710の第1前処理部1711および第2前処理部1712に出力する。
第1前処理部1711は、画像データを第1前処理部104と同様に処理し、表示用メモリ1714に格納する。
【0228】
第1画像補正部1716は、第1画像補正部109と同様の処理を画像データに適用し、処理を適用した画像データを第1後処理部1719に出力する。
【0229】
第1後処理部1719は、後処理部114と同様にして、記録用画像データや表示用画像データを生成する。第1後処理部1719は、記録用画像データを記録部1720に供給する。また、第1後処理部1719は表示用画像データを情報重畳部1721に供給する。
【0230】
記録部1720は、第1後処理部1719で生成された記録用画像データを記録媒体1730に記録する。記録媒体1730は、例えば半導体メモリカード、内蔵不揮発性メモリなどであってよい。
【0231】
第2前処理部1712は、第2前処理部105と同様に、画像データに色補間処理を適用して追尾用メモリ1715に格納する。本実施形態においても追尾用メモリ1715と表示用メモリ107とは同一メモリ空間内の別アドレス空間として実装されてもよい。また、第2前処理部1712は、処理負荷を軽減するために必要に応じて画素数を削減する縮小処理を適用してもよい。なお、ここでは第1前処理部1711と第2前処理部1712とを別個の機能ブロックとして記載したが、共通の前処理部を用いる構成としてもよい。
【0232】
第2画像補正部1713は、追尾用メモリ1715に格納された画像データに対して第2画像補正部106と同様に処理を適用する。第2画像補正部1713は、処理を適用した画像データを、追尾用メモリ1715に格納する。
【0233】
本実施形態においても、第2前処理部1712、第2画像補正部1713など、被写体追尾機能に関する機能ブロックは、被写体追尾機能を実施しない場合には動作しなくてよい。また、被写体追尾機能を適用する画像データは、ライブビュー表示用もしくは記録用に撮影される動画データである。動画データは例えば30fps、60fps、120fpsといった所定のフレームレートを有する。
【0234】
検出部1717は、1フレーム分の画像データから、予め定められた候補被写体の領域(候補領域)を1つ以上検出する。また、検出部1717は、検出した領域ごとに、フレーム内の位置および大きさ、候補被写体の種類(自動車、飛行機、鳥、昆虫、人体、頭部、瞳、猫、犬など)を示すオブジェクトクラスとその信頼度を関連付ける。また、オブジェクトクラスごとに、検出した候補領域の数を求める。
【0235】
本実施形態では、検出部1717が演算負荷と対象決定精度が異なる複数の検出部を有する。具体的には、検出部1717は、深層学習(DL)を用いて対象決定処理を行うDL検出部1722と、DLを用いずに対象決定処理を行う非DL検出部1723とを有する。DL検出部1722は、非DL検出部1723よりも処理精度が高い反面、演算負荷が非DL検出部1723よりも大きいものとする。
【0236】
DL検出部1722と非DL検出部1723は、それぞれが候補領域の検出、候補領域の種類へのオブジェクトクラスとその信頼度の関連付け、オブジェクトクラスごとの候補領域の計数を行う。また、DL検出部1722と非DL検出部1723は、検出した候補領域について、大きさおよび位置の情報を求める。
【0237】
DL検出部1722は、機械学習を用いた多クラス識別器にて実現できる。DL検出部1722は多クラス化したロジスティック回帰やサポートベクターマシン、ランダムフォレスト、ニューラルネットワークなどを用いて実装可能である。
【0238】
非DL検出部1723は、機械学習を用いない公知の方法で候補領域を検出する。非DL検出部1723は、例えばオブジェクトクラスごとに予め用意されたテンプレートを用いるパターンマッチング、オブジェクトクラスごとに予め用意された特徴情報を用いる特徴検出、距離情報に基づく検出などを用いて候補領域を検出することができる。
【0239】
情報重畳部1721は、情報重畳部120と同様に、検出部1717または追尾部1718が出力する、追尾対象の被写体領域の中心位置および大きさに基づいて追尾枠の画像を生成する。そして情報重畳部1721は、第1後処理部1719が出力する表示用画像データに追尾枠の画像が重畳した合成画像データを生成する。情報重畳部1721は、合成画像データを表示部1731に出力する。
【0240】
不揮発性メモリ1753は、例えばEEPROMなどの書き換え可能な不揮発性メモリであり、システム制御部1740のCPUが実行可能なプログラム、設定値、GUIデータなどを記憶する。
【0241】
システムメモリ1754は例えばRAMであり、システム制御部1740のCPUが実行するプログラムを読み込んだり、プログラムの実行中に必要な値を保存したりするために用いられる。
【0242】
システム制御部1740は、CPUを有し、例えば不揮発性メモリ1753に記憶されたプログラムをシステムメモリ1754に読み込んで実行する。システム制御部1740は、各機能ブロックの動作を制御することにより、撮像装置1700の機能を実現する。
【0243】
レリーズボタン1750、モード切替スイッチ1751、操作部1752はシステム制御部1740に指示を入力するための入力デバイスである。
レリーズボタン1750は半押しでONするスイッチSW1と、全押しでONするスイッチSW2を有する。システム制御部1740はSW1のONを静止画の撮影準備指示として、SW2のONを静止画の撮影開始指示と認識し、それぞれに指示に応じた動作を実行する。
【0244】
システム制御部1740は、撮影準備指示に応じてでAF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理などを実行する。
【0245】
また、システム制御部1740は撮影指示に応じて、撮影準備指示に応じて実行したAF処理やAE処理の結果を用いた静止画撮影処理を実行する。静止画撮影処理には、シャッタ1703の開閉制御、撮像素子1704の動作制御、画像処理部1710における記録用画像データの生成動作および記録媒体1730への記録動作などが含まれる。システム制御部1740は、これら一連の静止画撮影処理に関して各機能ブロックを制御する。
【0246】
動きセンサ1760は撮像装置1700の動きに応じた信号を出力し、システム制御部1740に出力する。動きセンサ1760は例えば加速度センサや角速度センサであってよい。また、光学系101が手ブレ補正用の動きセンサを有している場合には、動きセンサ1760を設けずに、手ブレ補正用の動きセンサを用いて撮像装置1700の動きを検出してもよい。
【0247】
モード切替スイッチ1751は、システム制御部1740の動作モードを静止画撮影モード、動画撮影モード、再生モード等のいずれかに切り替える。静止画撮影モードに含まれるモードとして、オート撮影モード、オートシーン判別モード、マニュアルモード、絞り優先モード(Avモード)、シャッタ速度優先モード(Tvモード)がある。また、撮影シーン別の撮影設定となる各種シーンモード、プログラムAEモード、カスタムモード等がある。モード切替スイッチ1751で、メニューボタンに含まれるこれらのモードのいずれかに直接切り替えられる。あるいは、モード切替スイッチ1751でメニューボタンに一旦切り換えた後に、メニューボタンに含まれるこれらのモードのいずれかに、他の操作部材を用いて切り替えるようにしてもよい。同様に、動画撮影モードにも複数のモードが含まれていてもよい。
【0248】
操作部1752はレリーズボタン1750およびモード切替スイッチ1751以外の入力デバイスの総称である。操作部1752に含まれる入力デバイスには、例えば表示部1731に表示される機能アイコンの選択操作などを通じて、撮像装置1700の動作状態に応じて機能が割り当てられる。入力デバイスは割り当てられた機能に応じた名称を有する。
【0249】
例えば方向ボタン、決定(SET)ボタン、終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン、メニューボタンなどが操作部1752に含まれる。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部1731に表示される。ユーザは表示部1731に表示されたメニュー画面を方向ボタンやSETボタンを用いて操作することにより、各種設定を行うことができる。
【0250】
本実施形態では、操作部1752に含まれる入力デバイスとして、視線情報取得部(視線検出手段)が設けられている。視線情報取得部は、ユーザの視線もしくは表示部1731内のユーザ注視位置を検出する。
図18は、視線情報取得部1800の構成例を示す図である。ここでは、表示部1731が覗き込み型のファインダ内に設けられており、ファインダを覗くユーザの眼球1802の回転角から視線方向を検出することで、ユーザが注視している表示部1731内の位置を検出するものとする。
【0251】
図18において、視線情報取得部1800は、撮像素子1801a、受光レンズ1801b、ダイクロイックミラー1801c、および照明光源1801eを有する。接眼レンズ1801dはファインダ光学系であり、視線情報の取得には直接関係しない。
【0252】
ユーザは、表示部1731の表示を、接眼レンズ1801dおよびダイクロイックミラー1801cを通じて観察することができる。照明光源1801eはファインダの外部に向けて赤外光を投射する。ユーザがファインダを覗いている場合、赤外光は眼球1802で反射され、反射光がファインダ内に入射する。反射光はダイクロイックミラー1801cにより上方に反射され、受光レンズ1801bによって形成される眼球像が撮像素子1801aで撮像される。眼球像の画像データは撮像素子1801aからシステム制御部1740に送信される。
【0253】
システム制御部1740は眼球像から例えば瞳孔の領域を抽出し、瞳孔の領域の位置から眼球の回転角を検出する。そして、システム制御部1740は、眼球の回転角からユーザの視線方向を求める。なお、視線方向は算出して求めてもよいし、回転角と視線方向との関係を記憶したテーブルを参照することによって求めてもよい。システム制御部1740は、視線方向に基づいてユーザが注視している表示部1731内の位置(座標)を検出する。なお、眼球の回転角から注視位置を求めてもよい。
【0254】
なお、ここではファインダを片目で覗くことを想定し、両目視線方向や注視位置といった視線情報を1つの眼球について求めている。しかし、両目の眼球像が取得可能な環境であれば、視線情報をそれぞれの眼球について求めてもよい。両目の視線情報を求める場合、例えば検出精度が高いと考えられる一方の視線情報を用いるなどにより、視線情報の精度を高めることができる。
【0255】
なお、視線情報取得部1800は、ユーザが注視している表示部1731内の位置を特定可能であれば他の任意の構成を用いることができる。なお、表示部1731は必ずしも撮像装置1700の内部に配置されていなくてもよい。例えば、表示部1731と、照明光源1801e、受光レンズ1801bが撮像装置1700の背面に設けられてもよい。
【0256】
次に、視線情報取得部1800によって検出される視線もしくは注視位置に基づいてDL検出部1722および非DL検出部1723の有効および無効を制御するシステム制御部1740の動作について説明する。
【0257】
図19は、視線もしくは注視位置に基づいて被写体検出部の有効無効を制御する動作に関連する機能ブロックを示す図である。なお、
図19では、システム制御部1740を便宜上3つの機能ブロックとして示しているが、実際にはシステム制御部1740のCPUがプログラムを実行することにより、これら機能ブロックの機能を実現する。
【0258】
以下、視線もしくは注視位置に基づいてシステム制御部1740が被写体検出部の有効無効を制御する動作を、
図20に示すフローチャートと、
図17および
図19を用いて説明する。
S2000は画像取得処理である。
図21のフローチャートを用いて画像取得処理の詳細について説明する。
S2100でシステム制御部1740は、撮像素子1704を制御して1フレーム分の撮像動作を実行する。これにより、光学系1701で形成された被写体光学像が複数の画素データからなるRAW画像データに変換される。
【0259】
S2102で画像処理部1710の第1前処理部1711は、RAW画像データにデモザイク処理を適用し、各画素がRGB成分を有する画像データを生成する。第1前処理部1711は生成した画像データを表示用メモリ1714に格納する。なお、第1前処理部1711は画像データをRGB形式からYUV形式に変換してから表示用メモリ1714に格納してもよい。
【0260】
S2103で第1画像補正部1716は、表示用メモリ1714に格納された画像データに対して、予め定められた画像補正処理を適用する。なお、画像補正処理には、評価値の算出処理も含まれる。第1画像補正部1716は、適用する処理に応じて画像データの読み出し範囲を異ならせてもよい。
【0261】
例えば、1ライン(画素行)の画像データに対して適用する画像処理について、適用対象の1ラインの画像データだけを読み出す場合もあれば、適用対象の1ラインを含んだ複数ラインの画像データを読み出す場合もある。また、画像処理を所定サイズの矩形領域の画像データに対して適用してもよい。第1画像補正部1716は、画像処理結果を適宜表示用メモリ1714に格納しながら画像補正処理を実行する。
【0262】
S2104で第1画像補正部1716は、1フレーム分の画像データについて適用すべきすべての画像補正処理を完了したか否かを判定する。適用すべきすべての画像補正処理を完了したとで判定された場合、第1画像補正部1716は画像補正処理後の画像データを第1後処理部1719に出力し、評価値をシステム制御部1740に出力する。これにより、1フレーム分の画像取得処理が完了する。一方、適用すべき画像補正処理がまだ残っていると判定された場合、第1画像補正部1716は、S2103を繰り返し実行する。
【0263】
なお、画像データの格納先が追尾用メモリ1715である点と、第2画像補正部1713が追尾用の画像処理を適用する点を除き、第2前処理部1712、追尾用メモリ1715、第2画像補正部1713においても、同様の処理を実行する。
【0264】
図20に戻り、S2001で追尾部1718は、S2000で取得し、追尾用メモリ1715に格納されている画像データに対して追尾処理を適用する。なお、追尾部1718は、第1実施形態における非DL追尾部117が適用する非DL追尾処理を適用するものとする。追尾部1718は追尾結果として、追尾対象の被写体領域の位置および大きさを出力する。
【0265】
S2002でシステム制御部1740は、被写体見失い判定処理を実行する。
図22のフローチャートを用いて被写体見失い判定処理の詳細について説明する。
S2200においてシステム制御部1740は、視線情報取得部1800を通じてユーザの視線情報を取得する。ここで取得する視線情報は視線方向であってもよいし、注視位置であってもよい。
【0266】
S2201において視線解析部1900が視線情報の不規則度を算出する。視線情報の不規則度とは、ユーザの注視位置の安定性の評価値である。不規則度が大きい場合には、ユーザの注視位置が安定しておらず、表示部1731の画面内で不規則に移動している状態に該当する。したがって、視線情報の不規則度が大きい場合には、ユーザが主被写体を見失い、画面内で探していると考えられる。
【0267】
S2201で算出した不規則度に基づいて、S2003で不規則性判定部1901は、ユーザが被写体を見失ったか否かを判定する。
【0268】
S2201における視線情報の不規則度は、どのような方法で算出してもよい。また、S2003における判定は、不規則度に応じた閾値を用いて実行することができる。以下に、不規則度の算出および判定方法の例を示す。
・注視位置または視線の軌跡の時間軸方向の周波数情報を用いる
周波数スペクトルを算出し、ある周波数以上のスペクトルの大きさを不規則度として求める。不規則度が閾値を超えた場合には被写体を見失ったと判定する。
・注視位置または視線の軌跡の自己相関の絶対値を不規則度として算出する
視線の動きが規則的であれば、隣接する時間幅において自己相関は1に近づき、視線の動きがランダムであれば自己相関は0に近くなる。不規則度が閾値未満の場合には被写体を見失ったと判定する。
・ある時間幅Tにおける、注視位置または視線の速度ベクトルもしくは加速度ベクトルの大きさの平均値と、個々の被写体領域の軌跡の速度ベクトルもしくは加速度ベクトルの大きさの平均値との相互相関の絶対値を、不規則度として算出する。
全ての被写体領域について不規則度が閾値未満であれば、被写体を見失ったと判定する。
【0269】
S2003において不規則性判定部1901によって被写体を見失ったと判定されれば処理判定部1902がS2004を実行する。S2003において不規則性判定部1901によって被写体を見失ったと判定されなければ処理判定部1902がS2005を実行する。
【0270】
S2004で処理判定部1902は、DL検出部1722を有効にすると判定する。非DL検出部1723は無効しても、有効にしてもよい。画像処理部1710内のDL検出部1722は、上述したように機械学習(ここではDL)を用いた候補領域の検出処理を実行する。DL検出部1722により候補領域が1つのみ検出された場合、システム制御部1740は検出された候補領域を追尾対象の被写体領域として決定する。
【0271】
一方、DL検出部1722により候補領域が複数検出された場合、システム制御部1740は複数の候補領域から追尾対象の被写体領域を決定する。システム制御部1740は、先の実施形態で説明したように候補領域の大きさや位置に基づいて、あるいは、他の方法により、追尾対象の被写体領域を決定することができる。他の方法に特に制限は無いが、例えば検出された候補領域から追尾対象の被写体領域をユーザに選択させてもよい。例えば、検出された候補領域のそれぞれに追尾枠と同様の指標を重畳表示させ、操作部1752を通じてユーザに追尾対象の被写体領域を選択させることができる。例えば方向ボタンとSETボタンの操作を通じて、あるいは視線情報取得部1800を用いた注視位置の検出を通じて、ユーザは追尾対象の被写体領域を選択することができる。
【0272】
S2005で処理判定部1902は、DL検出部1722を無効に、非DL検出部1723を有効にすると判定する。画像処理部1710内の非DL検出部1723は、上述したように、機械学習を用いない方法により候補領域を検出する。この場合、ユーザは被写体を見失っていないと判定されているため、システム制御部1740は、視線情報に基づいて候補領域の中から追尾対象の被写体領域を決定することができる。
【0273】
なお、第1実施形態のように、画像処理部1710に対象決定部を設け、対象決定部が候補領域から追尾対象の被写体領域を決定してもよい。
【0274】
S2006でシステム制御部1740は、追尾対象の被写体領域の情報を追尾部1718および情報重畳部1721に出力する。これにより、追尾対象の被写体領域の情報が更新される。
【0275】
S2007でシステム制御部1740は、DL検出部1722および非DL検出部1723の両方を無効として、消費電力を抑制する。
【0276】
S2008で情報重畳部1721は、第1後処理部1719からの表示用画像データにS2006で更新された追尾対象の被写体領域を示す追尾枠を重畳した合成画像データを生成して表示部1731に出力する。
【0277】
本実施形態では、追尾対象の被写体領域の候補領域を検出する第1の被写体検出部と、第1の被写体検出部よりも精度が高いが演算量が多い第2の被写体検出部とを、ユーザが被写体を見失っているか否かに応じて使い分けるようにした。具体的には、第2の被写体検出部は、ユーザが被写体を見失っている場合に用い、ユーザが被写体を見失っていない場合には用いないようにした。ユーザが被写体を見失っていない場合には、第1の被写体検出部で十分精度の良く候補領域が検出可能であるため、第2の被写体検出部を無効にすることで、検出精度の低下を抑制しつつ、消費電力を抑制することができる。
【0278】
●<第4実施形態>
次に、本発明の第4実施形態について説明する。本実施形態では、撮像装置のオートフォーカス(AF)モードに応じてDL検出部および非DL検出部の有効、無効を制御する。本実施形態は第3実施形態と同様の撮像装置1700で実施可能であるため、
図17に示した構成要素を用いて説明する。
【0279】
ここでは、撮像装置1700が、AFモードとして、焦点検出結果を維持するシングルAFモードと、継続的に焦点検出動作を行うコンティニュアスAFモードとを有するものとする。シングルAFモードは風景やポートレートのような静止もしくは動きの少ない被写体の撮影に用いられる可能性が高い。一方で、コンティニュアスAFモードは乗り物やスポーツシーンのような移動被写体の撮影に用いられる可能性が高い。
【0280】
したがって、設定されているAFモードから、ユーザが撮影しようとしている主被写体の動きに関して推測することができる。AFモードはユーザが明示的に指定してもよいし、スポーツモード、風景モードなど、撮像装置1700が有する撮影モードに応じて自動的に設定されてもよい。また、他の条件に基づいてシステム制御部1740が設定してもよい。
【0281】
なお、AFモードは静止画撮影時の焦点検出動作に関する設定である。一方で、静止画撮影モードにおける被写体追尾は、撮影スタンバイ状態でのライブビュー表示用に撮影される動画像に対して適用される。
【0282】
本実施形態では、シングルAFモードの場合は被写体が静止しているか被写体の動きが小さく、被写体検出が比較的容易である可能性が高いため、DL検出部1722を無効とし、非DL検出部1723を有効とする。一方、コンティニュアスAFモードの場合は被写体が動いているか被写体の動きが大きく、被写体検出が比較的難しい可能性が高いため、DL検出部1722を有効とし、非DL検出部1723を無効とする。このような制御により、被写体検出の精度の低下を抑制しつつ、消費電力を抑制することができる。
【0283】
以下、
図23のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図23において、第3実施形態と同じ処理を行う工程には
図20と同じ参照番号を付して説明を省略する。S2000およびS2001の処理は第3実施形態で説明した通りである。
【0284】
S2302においてシステム制御部1740は、撮像装置1700の現在のAFモードがコンティニュアスAFモードか否かを判定する。システム制御部1740は、撮像装置1700の現在のAFモードがコンティニュアスAFモードと判定されればS2004でDL検出部1722を有効にする。非DL検出部1723は無効とすることで消費電力を抑制できるが、有効としてもよい。一方、システム制御部1740は、撮像装置1700の現在のAFモードがコンティニュアスAFモードと判定されなけばS2005で非DL検出部1723を有効にし、DL検出部1722は無効にする。
【0285】
以降の処理は第3実施形態と同様であるため説明を省略する。
【0286】
本実施形態では、追尾対象の被写体領域の候補領域を検出する第1の被写体検出部と、第1の被写体検出部よりも精度が高いが演算量が多い第2の被写体検出部とを、撮像装置のオートフォーカスモードに応じて使い分けるようにした。具体的には、第2の被写体検出部は、移動被写体の撮影に用いられる可能性が高いオートフォーカスモードが設定されている場合に用い、静止被写体の撮影に用いられる可能性が高いオートフォーカスモードが設定されている場合には用いないようにした。被写体の動きが少ない場合には、第1の被写体検出部で精度の良く候補領域を検出可能であるため、第2の被写体検出部を無効にすることで、検出精度の低下を抑制しつつ、消費電力を抑制することができる。
【0287】
●<第5実施形態>
次に、本発明の第5実施形態について説明する。本実施形態では、追尾処理を適用する動画のフレームレートに応じて、DL検出部1722と非DL検出部1723の有効、無効を制御する。本実施形態は第3実施形態と同様の撮像装置1700で実施可能であるため、
図17に示した構成要素を用いて説明する。
【0288】
フレーム間における被写体領域の移動量は、フレームレートが高いほど小さくなる。したがって、フレームレートが高い場合には追尾対象の被写体領域の移動量は小さく、被写体ブレが生じる可能性も低い。したがって、非DL検出部1723で十分な精度が得られる可能性が高い。そのため、フレームごとにDL検出部1722で検出する必要性は低い。
【0289】
そのため、追尾処理を適用する動画のフレームレートが予め定められた第1の閾値(fps)より高い場合には、フレームレートが第1の閾値以下の場合よりも、DL検出部1722を有効とする頻度を下げる。これにより、検出精度の低下を抑制しつつ、消費電力を低減できる。なお、第1の閾値は例えば実験的に決定することができる。なお、閾値を複数設けて、DL検出部1722を有効とする頻度を3段階以上で制御してもよい。
【0290】
以下、
図24のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。ここでは、追尾処理を適用する動画のフレームレートが予め定められた第1の閾値(fps)より高いことが既に判定されているものとする。また、
図24において、第3実施形態と同じ処理を行う工程には
図20と同じ参照番号を付して説明を省略する。S2000およびS2001の処理は第3実施形態で説明した通りである。
【0291】
S2402においてシステム制御部1740は、フレーム数のカウンタとして用いる変数COUNTの値が予め定められたN(2以上の整数)であるか否かを判定する。Nの値は追尾処理を適用する動画のフレームレートが第1の閾値(fps)以下の場合にDL検出部1722がMフレームごとに有効になるとすると、N>Mという関係を満たすように定める。ここではM=1、N=10とする。システム制御部1740は、変数COUNTの値がNであると判定されればS2403を、判定されなければS2404を実行する。
【0292】
N=10であるため、S2403は10フレームごとに1回実行される。S2403でシステム制御部1740は変数COUNTの値を1に初期化する。その後、システム制御部1740は、S2004でDL検出部1722を有効にする。非DL検出部1723は無効とすることで消費電力を抑制できるが、有効としてもよい。
【0293】
一方、S2404でシステム制御部1740は、変数COUNTの値を1増加させる。その後、システム制御部1740は、S2005で非DL検出部1723を有効にし、DL検出部1722は無効にする。以降の処理は第3実施形態と同様であるため説明を省略する。
【0294】
以上でライブビュー表示における一フレーム分の動作が完了する。以上の動作により、追尾処理を適用する動画のフレームレートが高い場合、DL検出部1722は10フレーム当たり1フレームについて有効となり、残りの9フレームについては無効となる。DL検出部1722が無効のフレームでは非DL検出部1723を有効とする。
【0295】
本実施形態では、追尾対象の被写体領域の候補領域を検出する被写体検出部であって、第1の被写体検出部よりも精度が高いが演算量が多い第2の被写体検出部を用いる頻度を、追尾処理を適用する動画のフレームレートに応じて制御するようにした。具体的には、追尾処理を適用する動画のフレームレートが高い場合には、高くない場合よりも、第2の被写体検出部を有効とする頻度を低くするようにした。被写体の動きが少ない場合には、第1の被写体検出部で精度の良く候補領域を検出可能であるため、第2の被写体検出部を用いる頻度を抑制することで、検出精度の低下を抑制しつつ、消費電力を抑制することができる。
【0296】
●<第6実施形態>
次に、本発明の第6実施形態について説明する。本実施形態では、撮像装置のシャッタスピードに応じてDL検出部および非DL検出部の有効、無効を制御する。本実施形態は第3実施形態と同様の撮像装置1700で実施可能であるため、
図17に示した構成要素を用いて説明する。
【0297】
シャッタスピードが速い場合、被写体ブレが生じる可能性は低くなる。したがって、非DL検出部1723で十分な精度が得られる可能性が高い。そのため、シャッタスピードが速い場合にはDL検出部1722を無効とする。
【0298】
以下、
図25のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図25において、第3実施形態と同じ処理を行う工程には
図20と同じ参照番号を付して説明を省略する。S2000およびS2001の処理は第3実施形態で説明した通りである。
【0299】
S2502においてシステム制御部1740は、現在設定されているシャッタスピードが閾値より速いか否かを判定する。ここで用いる閾値は、非DL検出部1723の性能などに応じて例えば実験的に決定することができる。
【0300】
システム制御部1740は、シャッタスピードが閾値より速いと判定されなればS2004でDL検出部1722を有効にする。非DL検出部1723は無効とすることで消費電力を抑制できるが、有効としてもよい。
一方、システム制御部1740は、シャッタスピードが閾値より速いと判定されなければS2005で非DL検出部1723を有効にし、DL検出部1722は無効にする。以降の処理は第3実施形態と同様であるため説明を省略する。
【0301】
本実施形態では、追尾対象の被写体領域の候補領域を検出する第1の被写体検出部と、第1の被写体検出部よりも精度が高いが演算量が多い第2の被写体検出部とを、撮像装置のシャッタスピードに応じて使い分けるようにした。具体的には、第2の被写体検出部は、シャッタスピードが速くない(遅い)場合に用い、シャッタスピードが速い場合には用いないようにした。シャッタスピードが速い場合には、被写体ブレが生じる可能性が低く、第1の被写体検出部で精度の良く候補領域を検出可能であるため、第2の被写体検出部を無効にすることで、検出精度の低下を抑制しつつ、消費電力を抑制することができる。
【0302】
●<第7実施形態>
次に、本発明の第7実施形態について説明する。本実施形態では、ユーザの指示に応じてDL検出部および非DL検出部の有効、無効を制御する。本実施形態は第3実施形態と同様の撮像装置1700で実施可能であるため、
図17に示した構成要素を用いて説明する。
【0303】
本実施形態では、ユーザがDL被写体検出処理を有効とした場合にのみ、DL検出部1722を有効とする。DL被写体検出処理を有効とするユーザ指示はどのようなものであってもよい。ユーザがDL被写体検出処理を意識して指示する必要はなく、結果としてDL被写体検出処理が有効になる指示であればよい。
【0304】
ここでは一例として、操作部1752にDL被写体検出処理の有効・無効を切り替える機能が割り当てられた入力デバイス(DL被写体検出ボタン)が存在するものとする。システム制御部1740は、DL被写体検出ボタンが押下されるごとに、DL被写体検出処理の有効・無効を切り替える。あるいはシステム制御部1740は、DL被写体検出ボタンが押下されている間だけDL被写体検出処理を有効としてもよい。また、DL被写体検出ボタンは表示部1731を用いたソフトウェアキーであってもよい。
【0305】
以下、
図26のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図26において、第3実施形態と同じ処理を行う工程には
図20と同じ参照番号を付して説明を省略する。S2000およびS2001の処理は第3実施形態で説明した通りである。
【0306】
S2602においてシステム制御部1740は、DL被写体検出ボタンがONか否かを判定する。ここでは、DL被写体検出ボタンが押下されている場合にONと判定する。システム制御部1740は、DL被写体検出ボタンがONと判定されれば、S2004でDL検出部1722を有効にする。非DL検出部1723は無効とすることで消費電力を抑制できるが、有効としてもよい。一方、システム制御部1740は、DL被写体検出ボタンがONと判定されなければ、S2005で非DL検出部1723を有効にし、DL検出部1722は無効にする。以降の処理は第3実施形態と同様であるため説明を省略する。
【0307】
本実施形態では、追尾対象の被写体領域の候補領域を検出する被写体検出部のうち、第1の被写体検出部よりも精度が高いが演算量が多い第2の被写体検出部の有効、無効を、ユーザの指示に応じて制御するようにした。具体的には、第2の被写体検出部を有効にする旨のユーザ指示を検出した場合のみ第2の被写体検出部を有効とするようにした。これにより、ユーザが必要としない場合に第2の被写体検出部が無効になるため、消費電力を抑制することができる。
【0308】
●<第8実施形態>
次に、本発明の第8実施形態について説明する。本実施形態では、装置の操作状況に応じてDL検出部および非DL検出部の有効、無効を制御する。本実施形態は第3実施形態と同様の撮像装置1700で実施可能であるため、
図17に示した構成要素を用いて説明する。
【0309】
具体的には、撮影範囲を変更するための操作であるパン、チルト、またはズーム操作が行われていると判定される場合には、DL検出部1722を無効とする。これらの操作が行われている場合、主被写体が撮影範囲に収まるようにユーザが調整している可能性があるからである。そのため、これらの操作中にDL検出部1722を有効としても、意味のある検出結果が得られない可能性がある。本実施形態においてDL検出部1722は、撮像装置1700のパン、チルト、またはズーム操作中が行われていないと判定される場合のみ有効にされうる。
【0310】
以下、
図27のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図27において、第3実施形態と同じ処理を行う工程には
図20と同じ参照番号を付して説明を省略する。S2000およびS2001の処理は第3実施形態で説明した通りである。
【0311】
S2702においてシステム制御部1740は、撮像装置1700でパン、チルト、またはズーム操作が行われているか否かを判定する。システム制御部1740は、例えばライブビュー表示用に撮影されている動画のフレーム間の動きベクトルや特徴領域のサイズ変化を検出することにより、あるいは動きセンサ1760の出力により、パン、チルト、ズーム操作を検出することができる。ズーム操作については操作部1752のズームボタンの操作によっても検出することができる。
【0312】
システム制御部1740は、パン、チルト、またはズーム操作が行われていると判定されれば、S2008を実行する。一方、システム制御部1740は、パン、チルト、またはズーム操作が行われていると判定されなければ、S2702を実行する。
【0313】
S2702でシステム制御部1740は、DL検出部1722または非DL検出部1723を有効にする。DL検出部1722が有効の場合、非DL検出部1723は無効とすることで消費電力を抑制できるが、有効としてもよい。DL検出部1722を有効とする条件は、例えば第3~第7実施形態で説明した条件の1つ以上を用いることができる。システム制御部1740は、DL検出部1722を有効とする条件が満たされなければ、DL検出部1722を無効とし、非DL検出部1723を有効とする。S2006以降の処理は第3実施形態と同様であるため説明を省略する。
【0314】
本実施形態では、追尾対象の被写体領域の候補領域を検出する被写体検出部のうち、第1の被写体検出部よりも精度が高いが演算量が多い第2の被写体検出部を、撮影範囲を変更するための操作が行われていない場合にのみ有効とすることができるようにした。撮影範囲が確定していない状態では第2の被写体検出部を有効としないことにより、効率的に消費電力を抑制することができる。さらに、撮影範囲が確定していない状態では第1の被写体検出部も有効としないようにすれば、消費電力を一層抑制することができる。
【0315】
(変形例)
なお、上述の第3~第8実施形態において説明した条件とは異なる条件に基づいて、DL被写体検出と非DL被写体検出の有効、無効を制御してもよい。例えば、撮影モード(静止画撮影モードまたは動画撮影モード)、またはレリーズボタンの押下状態(押下なし、半押し、全押し)、または追尾モードの状態、または追尾オブジェクトの種類に応じてDL被写体検出と非DL被写体検出の有効、無効を制御しうる。
【0316】
●<第9実施形態>
次に、本発明の第9実施形態について説明する。
図28は第9実施形態に係る画像処理装置の一例としての撮像装置1700’の機能構成例を示すブロック図である。
図17を用いて説明した撮像装置1700と同様の構成には同じ参照数字を付して重複する説明を省略する。なお、本実施形態の検出部1717は、DL検出部1722もしくは非DL検出部1723のいずれかであってよい。ここでは非DL検出部1723と同じものとする。
【0317】
本実施形態の撮像装置1700’は、新たな構成として対象決定部2801を有し、また追尾部1718が第1実施形態と同様にDL追尾部2802および非DL追尾部2803を有している。
【0318】
対象決定部2801は、第1実施形態の対象決定部111と同様、検出部1717が検出した候補領域から、追尾対象とする被写体領域(主被写体領域)を決定する。対象決定部2801は、検出された候補領域が1つであれば検出された候補領域を主被写体領域として決定する。また、対象決定部2801は、複数の候補領域が検出されている場合には、あらかじめ定められた優先順位に基づいて、主被写体領域を決定することができる。
【0319】
対象決定部2801は、例えば候補領域の大きさに基づく優先順位や、焦点検出領域との距離に基づく優先順位に基づいて主被写体領域を決定することができる。具体的には、サイズが最大の候補領域を主被写体領域としてもよいし、焦点検出領域に最も近い候補領域を主被写体領域としてもよい。また、焦点検出領域からの距離が閾値未満である候補領域のうち、サイズが最も大きな候補領域を主被写体領域とするなど、複数の優先順位を考慮して主被写体領域を決定してもよい。ここで例示した以外の優先順位を考慮してもよい。
【0320】
追尾部1718は、追尾用メモリ1715に格納された、処理対象のフレーム(現フレーム)の画像データから追尾対象の被写体領域を推定し、推定した被写体領域のフレーム内の位置と大きさを追尾結果として求める。追尾部115は例えば、現フレームより前に撮影された過去フレーム(例えば1つ前のフレーム)について対象決定部2801が決定した主被写体領域について、現フレーム内の位置と大きさを推定する。追尾部115は、追尾結果を情報重畳部1721に出力する。
【0321】
追尾部1718は深層学習(DL)を用いて被写体追尾を行うDL追尾部2802と、DLを用いずに被写体追尾を行う非DL追尾部2803とを有する。DL追尾部2802および非DL追尾部2803の構成は、第1実施形態で説明したDL追尾部116とおよび非DL追尾部117とそれぞれ同じであってよいため、詳細に関する説明は省略する。本実施形態では、システム制御部1740が、DL追尾部2802および非DL追尾部2803の有効および無効、ならびに有効時の動作頻度を制御する。
【0322】
本実施形態においても、DL追尾部2802は、推定された主被写体領域の位置および大きさと、信頼度スコアを追尾結果として出力する。また、非DL追尾部2803は、推定された主被写体領域の位置および大きさと、類似度スコアを出力を追尾結果として出力する。
【0323】
追尾部1718は、DL追尾部2802が出力する信頼度スコア、および非DL追尾部2803が出力する類似度スコアに基づいて、DL追尾部2802および非DL追尾部2803の追尾結果の一方を採用する。追尾部1718は例えば信頼度スコアが予め定められた信頼度スコア閾値以下、かつ類似度スコアが予め定められた類似度スコア閾値以下であった場合には、非DL追尾部2803の追尾結果を採用する。追尾部1718は、それ以外の場合には、DL追尾部2802の追尾結果を採用する。追尾部1718は、採用した追尾結果を、情報重畳部1721およびシステム制御部1740に出力する。
【0324】
なお、ここではDL追尾部2802および非DL追尾部2803の追尾結果のいずれを採用するかを信頼度スコアおよび類似度スコアに基づいて決定した。しかし、他の方法で決定してもよい。例えば、DL追尾部2802の精度は、非DL追尾部2803の精度より高い傾向にあることを利用して、DL追尾部2802の追尾結果を優先して採用してもよい。具体的には、DL追尾部2802の追尾結果が得られていればDL追尾部2802の追尾結果を採用し、得られていなければ非DL追尾部2803の追尾結果を採用してもよい。
【0325】
次に、本実施形態においてシステム制御部1740が行う、DL追尾部2802および非DL追尾部2803の制御動作について説明する。本実施形態においてシステム制御部1740は、撮像装置1700’に設定されているAFモードに応じてDL追尾部2802と非DL追尾部2803のいずれを有効にするかを制御する。
【0326】
ここでは、撮像装置1700’が第4実施形態と同様にシングルAFモードとコンティニュアスAFモードとを有するものとする。シングルAFモードは風景やポートレートのような静止もしくは動きの少ない被写体の撮影に用いられる可能性が高い。一方で、コンティニュアスAFモードは乗り物やスポーツシーンのような移動被写体の撮影に用いられる可能性が高い。
【0327】
シングルAFモードの場合は被写体が静止しているか被写体の動きが小さい可能性が高い。そのため、DL追尾部ではなく非DL追尾部を有効とする。一方、コンティニュアスAFモードの場合は、被写体が動いているか被写体の動きが大きい可能性が高い。そのため、非DL追尾部ではなくDL追尾部を有効とする。このような制御により、追尾精度の低下を抑制しつつ、消費電力を抑制することができる。
【0328】
図29は、本実施形態におけるシステム制御部1740の動作に関するフローチャートである。
S2900は第3実施形態において
図21を用いて説明した処理と同様の画像取得処理である。
【0329】
S2901でシステム制御部1740は、検出部1717に候補領域の検出を実行するように指示する。検出部1717は、1フレーム分の画像に対して被写体領域の検出処理を適用し、検出結果を追尾用メモリ1715に格納する。検出結果は検出された候補領域の総数、個々の候補領域の画像内の位置および大きさを含む。
【0330】
S2902でシステム制御部1740は、対象決定部2801に、候補領域の中から追尾対象とする被写体領域(主被写体領域)を決定するように指示する。対象決定部2801は、追尾用メモリ1715に格納された候補領域の情報を読み出し、候補領域が複数検出されている場合には上述したような優先順位に基づいて主被写体領域を決定する。対象決定部2801は、主被写体領域を特定する情報を追尾用メモリ1715に格納する。
【0331】
S2903においてシステム制御部1740は、撮像装置1700’に現在設定されているAFモードがコンティニュアスAFモードであるか否かを判定する。システム制御部1740は、現在設定されているAFモードがコンティニュアスAFモードであると判定された場合にはS2904を実行し、現在設定されているAFモードがコンティニュアスAFモードであると判定されない場合にはS2905を実行する。
【0332】
S2904でシステム制御部1740は、DL追尾部2802を有効とし、非DL追尾部2803を無効とする。これにより、DL追尾部2802は、現フレームに対する追尾処理を実行する。
また、S2905でシステム制御部1740は、非DL追尾部2803を有効とし、DL追尾部2802を無効とする。これにより、非DL追尾部2803は、現フレームに対する追尾処理を実行する。
なお、S2904おようびS2905における追尾処理に用いる主被写体領域は、現フレームよりも過去のフレームについて直近に決定された主被写体領域である。
【0333】
S2906でシステム制御部1740は、追尾用メモリ1715に格納されている主被写体領域の情報を、S2904またはS2905における追尾処理の結果によって更新する。また、追尾処理の結果は情報重畳部1721にも出力される。
【0334】
S2907でシステム制御部1740は、DL追尾部2802および非DL追尾部2803を無効にする。
S2908でシステム制御部1740は、情報重畳部1721に、追尾結果に基づく追尾枠を現フレームの表示用画像に重畳表示するように指示する。情報重畳部1721は、追尾結果に基づく位置と大きさを有する追尾枠の画像を生成し、現フレームの表示用画像データに合成した合成画像データを生成する。情報重畳部1721は、合成画像データを表示部1731に出力する。
【0335】
以上でライブビュー表示における一フレーム分の動作が完了する。本実施形態では、第1の追尾部と、第1の追尾部よりも処理精度が高いが、演算量が多い第2の追尾部とを用いる撮像装置において、AFモードに応じて第1および/または第2追尾部の有効・無効を制御するようにした。そのため、良好な追尾結果が得られる可能性が低い追尾部を無効としたり、一方の処理部だけで良好な追尾結果が得られる可能性が高い場合には他方の追尾部を無効としたりすることで、追尾精度の低下を抑制しつつ、消費電力を抑制することができる。
【0336】
●<第10実施形態>
次に、本発明の第10実施形態について説明する。本実施形態では、追尾処理を適用する動画のフレームレートに応じて、DL追尾部2802と非DL追尾部2803の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。
【0337】
フレーム間における被写体領域の位置やサイズの変動は、フレームレートが高いほど小さくなる。したがって、フレームレートが高い場合には非DL追尾部2803による追尾処理の精度は十分高いと考えられる。この場合、DL追尾部2802が必要となる可能性は低い。しかしながら、ある程度の頻度でDL追尾部2802を用いることで、より確実に追尾処理の精度を維持することができる。
【0338】
そのため、追尾処理を適用する動画のフレームレートが予め定められた第1の閾値(fps)より高い場合には、フレームレートが第1の閾値以下の場合よりも、DL追尾部2802を有効とする頻度を下げる。これにより、検出精度の低下を抑制しつつ、消費電力を低減できる。なお、第1の閾値は例えば実験的に決定することができる。なお、閾値を複数設けて、DL追尾部2802を有効とする頻度を3段階以上で制御してもよい。
【0339】
以下、
図30のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。ここでは、追尾処理を適用する動画のフレームレートが予め定められた第1の閾値(fps)より高いことが既に判定されているものとする。また、
図30において、第9実施形態と同じ処理を行う工程には
図29と同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0340】
S3001においてシステム制御部1740は、フレーム数のカウンタとして用いる変数COUNTの値が予め定められたN(2以上の整数)であるか否かを判定する。Nの値は追尾処理を適用する動画のフレームレートが第1の閾値(fps)以下の場合にDL追尾部2802がMフレームごとに有効になるとすると、N>Mという関係を満たすように定める。ここではM=1、N=10とする。システム制御部1740は、変数COUNTの値がNであると判定されればS3002を、判定されなければS3003を実行する。
【0341】
N=10であるため、S3002は10フレームごとに1回実行される。S3002でシステム制御部1740は変数COUNTの値を1に初期化する。その後、システム制御部1740は、S2904でDL追尾部2802を有効にする。非DL追尾部2803は無効とすることで消費電力を抑制できるが、有効としてもよい。
【0342】
一方、S3003でシステム制御部1740は、変数COUNTの値を1増加させる。その後、システム制御部1740は、S2905で非DL追尾部2803を有効にし、DL追尾部2802は無効にする。以降の処理は第9実施形態と同様であるため説明を省略する。
【0343】
以上でライブビュー表示における一フレーム分の動作が完了する。以上の動作により、追尾処理を適用する動画のフレームレートが高い場合、DL追尾部2802は10フレーム当たり1フレームについてが有効となり、残りの9フレームについては無効となる。DL追尾部2802が無効のフレームでは非DL追尾部2803を有効とする。
【0344】
本実施形態では、第1の追尾部よりも精度が高いが演算量が多い第2の追尾部を用いる頻度を、追尾処理を適用する動画のフレームレートに応じて制御するようにした。具体的には、追尾処理を適用する動画のフレームレートが高い場合には、高くない場合よりも、第2の追尾部を有効とする頻度を低くするようにした。被写体の動きが少ない場合には、第1の追尾部で精度の良い追尾処理が可能であるため、第2の追尾部を用いる頻度を抑制することで、検出精度の低下を抑制しつつ、消費電力を抑制することができる。
●<第11実施形態>
次に、本発明の第11実施形態について説明する。本実施形態では、撮像装置のシャッタスピードに応じてDL追尾部および非DL追尾部の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。
【0345】
動画撮影時のシャッタスピードが速い場合、フレームレートが高い場合と同様、フレーム間における被写体領域の位置やサイズの変動は小さくなる。したがって、非DL追尾部2803の追尾処理で十分な精度が得られる可能性が高い。そのため、シャッタスピードが速い場合にはDL追尾部2802を無効とする。
【0346】
以下、
図31のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図31において、第9実施形態と同じ処理を行う工程には
図19と同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0347】
S3101においてシステム制御部1740は、現在設定されているシャッタスピードが閾値より速いか否かを判定する。ここで用いる閾値は、非DL追尾部2803の性能などに応じて例えば実験的に決定することができる。
【0348】
システム制御部1740は、シャッタスピードが閾値より速いと判定されなればS2904でDL追尾部2802を有効にする。非DL追尾部2803は無効とすることで消費電力を抑制できるが、有効としてもよい。
一方、システム制御部1740は、シャッタスピードが閾値より速いと判定されなければS2905で非DL追尾部2803を有効にし、DL追尾部2802は無効にする。以降の処理は第3実施形態と同様であるため説明を省略する。
【0349】
本実施形態では、第1の追尾部と、第1の追尾部よりも処理精度が高いが、演算量が多い第2の追尾部とを、撮像装置のシャッタスピードに応じて使い分けるようにした。具体的には、第2の追尾部は、シャッタスピードが速くない(遅い)場合に用い、シャッタスピードが速い場合には用いないようにした。シャッタスピードが速い場合には、フレーム間における被写体領域の位置や大きさの変化が小さく、第1の追尾部で精度の良い追尾処理が可能であるため、第2の追尾部を無効にする。これにより、追尾精度の低下を抑制しつつ、消費電力を抑制することができる。
【0350】
●<第12実施形態>
次に、本発明の第12実施形態について説明する。本実施形態では、ユーザの指示に応じてDL追尾部および非DL追尾部の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。
【0351】
本実施形態では、ユーザがDL追尾処理を有効とした場合にのみ、DL追尾部2802を有効とする。DL追尾処理を有効とするユーザ指示はどのようなものであってもよい。ユーザがDL追尾処理を意識して指示する必要はなく、結果としてDL追尾処理が有効になる指示であればよい。
【0352】
ここでは一例として、操作部1752にDL追尾処理の有効・無効を切り替える機能が割り当てられた入力デバイス(DL追尾ボタン)が存在するものとする。
図39は、撮像装置1700’の背面外観例を示す図である。ここでは、表示部1731が撮像装置1700’の背面に設けられているものとする。操作部1752を構成する一部の入力デバイス3901~3903が撮像装置1700’の背面に設けられている。方向入力と決定入力が可能な入力デバイス3903は、方向キーおよび決定ボタンとして機能する。入力デバイス3901または3902をDL追尾ボタンとして用いることができる。
【0353】
システム制御部1740は、DL追尾ボタンが押下されるごとに、DL追尾の有効・無効を切り替える。あるいはシステム制御部1740は、DL追尾ボタンが押下されている間だけDL追尾を有効としてもよい。また、DL追尾ボタンは表示部1731を用いたソフトウェアキーであってもよい。
【0354】
以下、
図32のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図32において、第9実施形態と同じ処理を行う工程には
図29と同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0355】
S3201においてシステム制御部1740は、DL追尾ボタンがONか否かを判定する。ここでは、DL追尾ボタンが押下されている場合にONと判定する。システム制御部1740は、DL追尾ボタンがONと判定されれば、S2904でDL追尾部2802を有効にする。非DL追尾部2803は無効とすることで消費電力を抑制できるが、有効としてもよい。一方、システム制御部1740は、DL追尾ボタンがONと判定されなければ、S2905で非DL追尾部2803を有効にし、DL追尾部2802は無効にする。以降の処理は第9実施形態と同様であるため説明を省略する。
【0356】
本実施形態では、追尾対象の被写体領域を追尾する追尾部のうち、第1の追尾部よりも精度が高いが演算量が多い第2の被写体追尾部の有効、無効を、ユーザの指示に応じて制御するようにした。具体的には、第2の追尾部を有効にする旨のユーザ指示を検出した場合のみ第2の追尾部を有効とするようにした。これにより、ユーザが必要としない場合に第2の追尾部が無効になるため、消費電力を抑制することができる。
【0357】
●<第13実施形態>
次に、本発明の第13実施形態について説明する。本実施形態では、装置の操作状況に応じてDL追尾部および非DL追尾部の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。
【0358】
具体的には、撮影範囲を変更するための操作であるパン、チルト、またはズーム操作が行われていると判定される場合には、DL追尾部2802を無効とする。これらの操作が行われている場合、主被写体が撮影範囲に収まるようにユーザが調整している可能性があるからである。そのため、これらの操作中にDL追尾部2802を有効としても、意味のある検出結果が得られない可能性がある。本実施形態においてDL追尾部2802は、撮像装置1700’のパン、チルト、またはズーム操作中が行われていないと判定される場合のみ有効にされうる。
【0359】
以下、
図33のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図33において、第9実施形態と同じ処理を行う工程には
図2 9と同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0360】
S3301においてシステム制御部1740は、撮像装置1700’でパン、チルト、またはズーム操作が行われているか否かを判定する。システム制御部1740は、例えばライブビュー表示用に撮影されている動画のフレーム間の動きベクトルや特徴領域のサイズ変化を検出することにより、あるいは動きセンサ1760の出力により、パン、チルト、ズーム操作を検出することができる。ズーム操作については操作部1752のズームボタンの操作によっても検出することができる。
【0361】
システム制御部1740は、パン、チルト、またはズーム操作が行われていると判定されれば、S2908を実行する。一方、システム制御部1740は、パン、チルト、またはズーム操作が行われていると判定されなければ、S3302を実行する。
【0362】
S3302でシステム制御部1740は、DL追尾部2802または非DL追尾部2803を有効にする。DL追尾部2802が有効の場合、非DL検出部1723は無効とすることで消費電力を抑制できるが、有効としてもよい。DL追尾部2802を有効とする条件は、例えば第9~第12実施形態で説明した条件の1つ以上を用いることができる。 システム制御部1740は、DL追尾部2802を有効とする条件が満たされなければ、DL追尾部2802を無効とし、非DL追尾部2803を有効とする。S2906以降の処理は第9実施形態と同様であるため説明を省略する。
【0363】
本実施形態では、追尾対象の被写体領域を追尾する追尾部のうち、第1の追尾部よりも精度が高いが演算量が多い第2の追尾部を、撮影範囲を変更するための操作が行われていない場合にのみ有効とすることができるようにした。撮影範囲が確定していない状態では第2の追尾部を有効としないことにより、効率的に消費電力を抑制することができる。
【0364】
●<第14実施形態>
次に、本発明の第14実施形態について説明する。本実施形態では、撮像装置1700’の撮影モードに応じてDL追尾部および非DL追尾部の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。
【0365】
撮像装置1700’は静止画撮影モードと動画撮影モードとを含む複数の撮影モードを有する。なお、撮影モードは、夜景モード、スポーツモード、フィルターモードなど、撮影シーンや適用する特殊効果などに応じて設けられる場合もある。ここでは最終的に静止画を撮影する撮影モードであれば静止画撮影モードとして、動画を撮影する撮影モードであれば動画撮影モードとして取り扱う。
【0366】
以下、
図34のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図34において、第9実施形態と同じ処理を行う工程には
図2 9と同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0367】
S3401においてシステム制御部1740は、例えばモード切替スイッチ1751の状態に基づいて、撮像装置1700’の撮影モードが静止画撮影モードか否かを判定する。システム制御部1740は、撮像装置1700’の撮影モードが静止画撮影モードであると判定されればS3402を実行する。一方、システム制御部1740は、撮像装置1700’の撮影モードが静止画撮影モードであると判定されなければS3403を実行する。
【0368】
S3402でシステム制御部1740は、カウント設定値を第1の値(N1)としてS3405を実行する。N1は1以上の整数である。
S3403でシステム制御部1740は、カウント設定値を第2の値(N2)としてS3405を実行する。N2は1以上の整数である。
【0369】
S3405においてシステム制御部1740は、フレーム数のカウンタとして用いる変数COUNTの値がカウント設定値(N1またはN2)であるか否かを判定する。システム制御部1740は、変数COUNTの値がカウント設定値であると判定されればS3406を、判定されなければS3407を実行する。
【0370】
S3406でシステム制御部1740は変数COUNTの値を1に初期化する。その後、システム制御部1740は、S2904でDL追尾部2802を有効にする。非DL追尾部2803は無効とすることで消費電力を抑制できるが、有効としてもよい。
【0371】
一方、S3407でシステム制御部1740は、変数COUNTの値を1増加させる。その後、システム制御部1740は、S2905で非DL追尾部2803を有効にし、DL追尾部2802は無効にする。
【0372】
S2904は、変数COUNTがN1もしくはN2になるごとに実行される。つまり、静止画撮影モードではN1フレームごとに1回、動画撮影モードではN2フレームごとに1回、DL追尾部2802が有効とされ、残りのフレームについてはDL追尾部2802は無効とされる。
【0373】
第1の値および第2の値は、DL追尾部2802を有効とする頻度を撮影モードに応じて制御する。第1の値および第2の値は、例えば不揮発性メモリ1753に予め記憶されている。なお、第1の値および第2の値はシャッタスピードやフレームレートなどを考慮して定めることができる。
【0374】
例えば、追尾処理を適用する動画のフレームレートが、動画撮影モードでは静止画撮影モードよりも高くなるとする。この場合、動画撮影モードでは静止画撮影モードよりもDL追尾部2802を有効とする頻度を下げることで、追尾精度の低下を抑制しつつ、消費電力を抑制することができる。なお、これは一例であり、撮影モードごとにDL追尾部2802を有効とする頻度を独立して制御することにより、撮影モードに適した頻度でDL追尾部2802を有効とすることができる。
【0375】
本実施形態では、追尾対象の被写体領域を追尾する追尾部のうち、第1の追尾部よりも精度が高いが演算量が多い第2の追尾部を有効にする頻度を、撮影モードに応じて制御するようにした。撮影モードに応じて適切なカウント設定値を定めることにより、追尾性能の低下を抑制しつつ、消費電力を低減させることができる。
【0376】
●<第15実施形態>
次に、本発明の第15実施形態について説明する。本実施形態では、レリーズボタンの押下状態の状態に応じてDL追尾部および非DL追尾部の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。
【0377】
レリーズボタン1750は、半押しでONするスイッチSW1と、全押しでONするスイッチSW2を有するため、いずれのスイッチもOFFの状態と、スイッチSW1だけがONの状態と、スイッチSW1およびSW2がONの状態とを有する。また、システム制御部1740はSW1のONを静止画の撮影準備指示として、SW2のONを静止画の撮影開始指示と認識する。
【0378】
本実施形態では、レリーズボタン1750が半押しまたは全押しの状態でなければ、撮影待機状態であるため、DL追尾部2802を無効として、消費電力を抑制する。このように、本実施形態において、DL追尾部2802は、撮像装置1700’が撮影準備指示もしくは撮影開始指示が入力されている場合のみ有効にされうる。
【0379】
以下、
図35のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図35において、第9実施形態と同じ処理を行う工程には
図2 9と同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0380】
S3501においてシステム制御部1740は、レリーズボタン1750が半押しまたは全押し状態であるか否かを判定する。システム制御部1740は、例えばスイッチSW1がONであれば、レリーズボタン1750が半押しまたは全押し状態であると判定することができる。スイッチSW2がONのときにスイッチSW1はONであるため、スイッチSW2の状態を検出する必要は無い。
【0381】
システム制御部1740は、レリーズボタン1750が半押しまたは全押し状態であると判定されれば、S3502を実行する。
一方、システム制御部1740は、レリーズボタン1750が半押しまたは全押し状態であると判定されなければ、S2908を実行する。この場合は撮影待機状態であるため、処理対象のフレームに対して追尾処理は行わない(非DL追尾部2803で実施してもよい)。
【0382】
S3502でシステム制御部1740は、DL追尾部2802または非DL追尾部2803を有効にする。DL追尾部2802が有効の場合、非DL追尾部2803は無効とすることで消費電力を抑制できるが、有効としてもよい。DL追尾部2802を有効とする条件は、例えば第9~第14実施形態で説明した条件の1つ以上を用いることができる。システム制御部1740は、DL追尾部2802を有効とする条件が満たされなければ、DL追尾部2802を無効とし、非DL追尾部2803を有効とする。レリーズボタンの半押し状態と全押し状態とでDL追尾部2802を有効とする条件を異ならせてもよい。S2906以降の処理は第9実施形態と同様であるため説明を省略する。
【0383】
本実施形態では、追尾対象の被写体領域を追尾する追尾部のうち、第1の追尾部よりも精度が高いが演算量が多い第2の追尾部を、撮影準備指示もしくは撮影開始指示が入力されている場合にのみ有効とすることができるようにした。これにより、撮影準備指示および撮影開始指示が入力されていない撮影待機状態では第2の追尾部が有効とされず、効率的に消費電力を抑制することができる。さらに、撮影待機状態では第1の追尾部も有効としないようにすれば、消費電力を一層抑制することができる。
【0384】
●<第16実施形態>
次に、本発明の第16実施形態について説明する。本実施形態では、撮像装置1700’の追尾モードに応じてDL追尾部および非DL追尾部の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。
【0385】
追尾モードとは、主被写体が撮影範囲の中心部から移動しても主被写体に合焦するように継続的に合焦制御を行うモードであり、撮影範囲内で常に移動する被写体や、小動物のように動きが予想しづらい被写体の撮影に適している。追尾モードはモード切替スイッチ1751によって設定されてもよいし、操作部1752に含まれる入力デバイスの1つの操作によって設定されてもよい。なお、追尾モードで合焦させる被写体は、対象決定部2801が決定した主被写体領域に対応する被写体であってよい。なお、追尾モードは明示的に設定される以外に、特定の機能の設定に伴って間接的に設定されてもよい。
【0386】
追尾モードが設定されている場合、合焦させる被写体が移動する可能性が高いと考えられるため、DL追尾部2802を有効とする。一方、追尾モードが設定されていない場合、合焦させる被写体が移動する可能性が低いと考えられるため、DL追尾部2802を無効とし、非DL追尾部2803を有効とする。
【0387】
以下、
図36のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図36において、第9実施形態と同じ処理を行う工程には
図2 9と同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0388】
S3601においてシステム制御部1740は、撮像装置1700’に追尾モードが設定されているか否かを判定する。システム制御部1740は、例えばモード切替スイッチ1751の状態から、追尾モードが設定されているか否かを判定することができる。
【0389】
システム制御部1740は、追尾モードが設定されていると判定されればS2904を、追尾モードが設定されていると判定されなければS2905を実行する。
S2904でシステム制御部1740は、DL追尾部2802を有効とし、非DL追尾部2803を無効とする。これにより、DL追尾部2802は、現フレームに対する追尾処理を実行する。
【0390】
また、S2905でシステム制御部1740は、非DL追尾部2803を有効とし、DL追尾部2802を無効とする。これにより、非DL追尾部2803は、現フレームに対する追尾処理を実行する。
S2906以降の処理は第9実施形態と同様であるため説明を省略する。
【0391】
本実施形態では、追尾対象の被写体領域を追尾する追尾部のうち、第1の追尾部よりも精度が高いが演算量が多い第2の追尾部を、追尾モードが設定されている場合に有効とし、追尾モードが設定されていない場合には無効とする。第2の追尾部の必要性が低いと考えられる場合に第2の追尾部を無効とすることで、追尾精度の低下を抑制しつつ消費電力を抑制することができる。
【0392】
●<第17実施形態>
次に、本発明の第17実施形態について説明する。本実施形態では、追尾対象の主被写体が追尾しやすい被写体であるか否かに応じてDL追尾部および非DL追尾部の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。
【0393】
本実施形態の検出部1717は、第1実施形態における検出部110と同様に、検出した候補領域に、被写体の種類を示すオブジェクトクラスとその信頼度を関連付けるものとする。追尾対象である主被写体領域が追尾が容易な被写体であれば、非DL追尾部2803で十分な精度が得られる可能性が高いため、DL追尾部2802を無効とする。
【0394】
以下、
図37のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図37において、第9実施形態と同じ処理を行う工程には
図2 9と同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0395】
S3701においてシステム制御部1740は、対象決定部2801が決定した主被写体領域に関連付けられているオブジェクトクラスから、主被写体領域に係る被写体の種類が追尾の容易な被写体であるか否かを判定する。システム制御部1740は、例えば不揮発性メモリ1753に予め記憶されている、オブジェクトクラスと追尾の難度とを参照することにより、主被写体領域に係る被写体の種類が追尾の容易な被写体であるか否かを判定することができる。ここでの追尾の難度は、非DL追尾の難度とする。
【0396】
例えば、鳥や昆虫のように、角度や状態(例えば飛んでいる状態か否か)によって形および/または色が大きく変化する被写体はについては、非DL追尾が難しい。なお、非DL追尾が難しい被写体は、非DL追尾のアルゴリズムにも依存するため、形および/または色の変化が大きい被写体に限定されない。なお、検出部1717が検出可能なオブジェクトクラスや、非DL追尾部の性能などに応じて、オブジェクトクラスと追尾難度との対応付けは予め行うことができる。
【0397】
システム制御部1740は、主被写体領域に係る被写体の種類が追尾の容易な被写体であると判定されればS2905を、判定されなければS2904を実行する。
S2904でシステム制御部1740は、DL追尾部2802を有効とし、非DL追尾部2803を無効とする。これにより、DL追尾部2802は、現フレームに対する追尾処理を実行する。
【0398】
また、S2905でシステム制御部1740は、非DL追尾部2803を有効とし、DL追尾部2802を無効とする。これにより、非DL追尾部2803は、現フレームに対する追尾処理を実行する。
S2906以降の処理は第9実施形態と同様であるため説明を省略する。
【0399】
本実施形態では、追尾対象の被写体領域を追尾する追尾部のうち、第1の追尾部よりも精度が高いが演算量が多い第2の追尾部を、追尾対象の被写体領域に係る被写体が第1の追尾部で容易に追尾できる被写体であれば無効とする。第2の追尾部の必要性が低いと考えられる場合に第2の追尾部を無効とすることで、追尾精度の低下を抑制しつつ消費電力を抑制することができる。
【0400】
●<第18実施形態>
次に、本発明の第18実施形態について説明する。本実施形態では、ユーザが被写体を見失っているか否かに応じてDL追尾部および非DL追尾部の有効、無効を制御する。本実施形態は第9実施形態と同様の撮像装置1700’で実施可能であるため、
図28に示した構成要素を用いて説明する。ただし、撮像装置1700’は、第3実施形態に係る撮像装置1700と同様、操作部1752に含まれる入力デバイスとして、
図18に示した視線情報取得部1800が設けられているものとする。また、システム制御部1740についても、
図19に示したような機能ブロックを有するものとする。
【0401】
以下、
図38のフローチャートを用いて、本実施形態におけるシステム制御部1740の動作について説明する。
図38において、第9実施形態と同じ処理を行う工程には
図2 9と、第3実施形態と同じ処理を行う工程には
図20とそれぞれ同じ参照番号を付して説明を省略する。S2900からS2902の処理は第9実施形態で説明した通りである。
【0402】
S2002でシステム制御部1740は、
図19および
図22を用いて説明した被写体見失い判定処理を実行する。
S2003でシステム制御部1740(不規則性判定部1901)は、見失い判定処理で算出した不規則度に基づいて、ユーザが被写体を見失ったか否かを判定する。
【0403】
S2003において不規則性判定部1901によって被写体を見失ったと判定されれば処理判定部1902がS2904を実行する。S2003において不規則性判定部1901によって被写体を見失ったと判定されなければ処理判定部1902がS2905を実行する。
【0404】
S2904でシステム制御部1740(処理判定部1902)は、DL追尾部2802を有効とし、非DL追尾部2803を無効とする。これにより、DL追尾部2802は、現フレームに対する追尾処理を実行する。
また、S2905でシステム制御部1740(処理判定部1902)は、非DL追尾部2803を有効とし、DL追尾部2802を無効とする。これにより、非DL追尾部2803は、現フレームに対する追尾処理を実行する。
S2906以降の処理は第9実施形態と同様であるため説明を省略する。
【0405】
本実施形態では、追尾対象の被写体領域を追尾する追尾部のうち、第1の追尾部と、第1の追尾部よりも精度が高いが演算量が多い第2の追尾部を、ユーザが被写体を見失っているか否かに応じて使い分けるようにした。具体的には、第2の追尾部は、ユーザが被写体を見失っている場合に用い、ユーザが被写体を見失っていない場合には用いないようにした。ユーザが被写体を見失っていない場合には、第1の追尾部で十分精度の良い追尾処理が可能であるため、第2の追尾部を無効にすることで、追尾精度の低下を抑制しつつ、消費電力を抑制することができる。
【0406】
(その他の実施形態>
上述した実施形態は組み合わせて実施することも可能である。例えば、検出部、対象決定部、追尾部の2つ以上が、同じ機能を実現する演算量と精度の異なる2つの構成要素を有し、それらの有効・無効を実施形態に従って動的に制御することができる。
【0407】
上述の実施形態において、DL追尾と非DL追尾が有効となるフレーム周期を異ならせ、それぞれの周期の最小公倍数をの周期ではDL追尾と非DL追尾とを両方有効としてもよい。
【0408】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0409】
102…制御部、110…検出部、111…対象決定部、112…難度判定部、113…追尾制御部、115…追尾部、116…DL追尾部、117…非DL追尾部、120…情報重畳部