(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】撮像装置、撮像装置の制御方法、プログラム
(51)【国際特許分類】
H04N 23/61 20230101AFI20241007BHJP
H04N 23/63 20230101ALI20241007BHJP
G02B 7/28 20210101ALI20241007BHJP
G03B 7/091 20210101ALI20241007BHJP
G03B 15/00 20210101ALI20241007BHJP
H04N 23/611 20230101ALI20241007BHJP
【FI】
H04N23/61
H04N23/63
G02B7/28 N
G03B7/091
G03B15/00 Q
H04N23/611
(21)【出願番号】P 2022137539
(22)【出願日】2022-08-31
【審査請求日】2023-05-22
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】伊藤 佳絵
【審査官】越河 勉
(56)【参考文献】
【文献】特開2022-051280(JP,A)
【文献】特開2022-126423(JP,A)
【文献】特開2021-132369(JP,A)
【文献】特開2021-132362(JP,A)
【文献】特開2010-251866(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
H04N 23/63
G02B 7/28
G03B 7/091
G03B 15/00
(57)【特許請求の範囲】
【請求項1】
画像を取得する取得手段と、
異なる種類の被写体を検出する検出手段と、
前記検出手段による検出結果を用いて主被写体を判定する主被写体判定手段と、
前記主被写体判定手段によって判定された主被写体に対して追尾を行う追尾手段と、を有し、
前記主被写体判定手段は、前記検出手段により前記追尾している被写体が継続して検出されている状態で、
現在主被写体となっていない被写体種類の検出結果が、現在の主被写体種類の検出結果と同一の被写体の領域に属している場合に、
前記現在主被写体となっていない被写体種類の被写体について主被写体らしさを判定して、主被写体の種類を決定することを特徴とする撮像装置。
【請求項2】
前記主被写体判定手段は、前記検出手段により前記追尾している被写体が継続して検出されている状態で
、現在主被写体となっていない被写体種類の検出結果が、現在の主被写体種類の検出結果と同一の被写体の領域に属している場合であって、前記現在主被写体となっていない被写体種類の被写体が、前記追尾している被写体よりも、主被写体らしさを示す値が
閾値以上高い場合に、主被写体の種類を切り替えることを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記検出手段は、異なる種類の被写体に対応する複数の辞書データを用いて画像から被写体を検出することを特徴とする請求項1に記載の撮像装置。
【請求項4】
前記取得手段により取得された画像を表示部に表示するように制御する表示制御手段をさらに有し、
前記表示制御手段は、前記追尾手段が追尾している被写体を示す情報を前記画像に重畳させて表示するように制御することを特徴とする請求項1に記載の撮像装置。
【請求項5】
前記主被写体らしさを示す値は、被写体のサイズ、位置、検出信頼度、検出頻度、検出される部位の数の少なくとも1つ以上のパラメータから算出されることを特徴とする請求項1に記載の撮像装置。
【請求項6】
撮影準備処理を行うための指示を受け付ける受け付け手段をさらに有し、
前記主被写体判定手段は、前記受け付け手段が前記指示を受け付けたことに応じて、前記主被写体らしさを示す値のパラメータを検出信頼度、検出頻度、検出される部位の数の少なくとも1つ以上にすることを特徴とする請求項5に記載の撮像装置。
【請求項7】
前記主被写体らしさを示す値は、被写体の位置が画像の中心ないしはユーザが設定したピント合わせ領域に近いほど高くなることを特徴とする請求項1に記載の撮像装置。
【請求項8】
前記複数の異なる種類の被写体のサイズのパラメータは、被写体の種類の相対的なサイズの差を考慮した重みづけされることを特徴とする請求項5に記載の撮像装置。
【請求項9】
前記主被写体らしさを示す値は、被写体の検出信頼度が高いほど高くなることを特徴とする請求項1に記載の撮像装置。
【請求項10】
前記主被写体らしさを示す値は、被写体の検出頻度が高いほど高くなることを特徴とする請求項1に記載の撮像装置。
【請求項11】
前記主被写体らしさを示す値は、被写体の検出される部位の数が多くなるほど高くなることを特徴とする請求項1に記載の撮像装置。
【請求項12】
前記被写体の種類には、人体が含まれることを特徴とする請求項1に記載の撮像装置。
【請求項13】
前記被写体の種類には、乗り物、バイク、自動車、電車、飛行機、船、の少なくとも1つが含まれることを特徴とする請求項1に記載の撮像装置。
【請求項14】
前記被写体の種類には、動物、犬、猫、鳥の少なくとも1つが含まれることを特徴とする請求項1に記載の撮像装置。
【請求項15】
前記検出手段は、被写体の特定部位を検出可能であることを特徴とする請求項12乃至14のいずれか1項に記載の撮像装置。
【請求項16】
前記主被写体判定手段は、前記主被写体らしさを示す値を部位ごとに算出することを特徴とする請求項15に記載の撮像装置。
【請求項17】
画像を取得する取得ステップと、
異なる種類の被写体を検出する検出ステップと、
前記検出ステップにおける検出結果を用いて主被写体を判定する主被写体判定ステップと、
前記主被写体判定ステップによって判定された主被写体に対して追尾を行う追尾ステップと、を有し、
前記主被写体判定ステップでは、前記検出ステップにより前記追尾している被写体が継続して検出されている状態で、
現在主被写体となっていない被写体種類の検出結果が、現在の主被写体種類の検出結果と同一の被写体の領域に属している場合に、
前記現在主被写体となっていない被写体種類の被写体について主被写体らしさを判定して、主被写体の種類を決定することを特徴とする撮像装置の制御方法。
【請求項18】
請求項17に記載の撮像装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項19】
請求項17に記載の撮像装置の制御方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は撮像装置などにおける被写体の検出処理に関し、特にピントを合わせるための主被写体の決定に関するものである。
【背景技術】
【0002】
従来、デジタルカメラ等において、逐次取得された画像データから人の顔や瞳を検出し、検出された人の顔や瞳に対して、焦点状態および露出状態を継続的に最適化し続ける手法が知られている。近年では、機械学習の手法を用いて、様々な種類の被写体が検出可能となってきている。この場合、検出器に対して画像と検出したい被写体を学習させた辞書データを併せて入力することで、特定の被写体検出を行うことができる。また、検出器に入力する辞書データを変更することで、異なる種類の被写体を画像内から検出することができる。
【0003】
辞書データを用いた被写体の検出には本来その辞書では検出できないはずの被写体を検出してしまう「誤検出」が発生することがある。誤検出であってもユーザの意図する被写体のピントを合わせたい領域を安定して検出し続ければ、追尾制御に大きな問題は生じない。しかしながら、誤検出状態では、ユーザが意図しない被写体の領域をピント合わせする領域として検出する場合や、検出状態が不安定となる場合が生じうる。
【0004】
そこで、特許文献1には、一度被写体を検出し、主被写体として採用した後でも、全種類の辞書データを稼働させ続け、同一の辞書データにおいて一定回数以上連続して被写体が検出されたら正しい主被写体として採用しなおす構成が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示された従来技術では、ピント合わせに望ましくない領域をある程度安定的に誤検出し続ける場合に、誤検出を是正することができない。また、連続的に誤検出した場合に、間違えて主被写体を切り替えてしまう可能性もある。
【0007】
そこで本発明では、多様な被写体の種類を検出対象としながらも、誤検出を抑制しながら検出・追尾可能な撮像装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明に係る撮像装置は画像を取得する取得手段と、異なる種類の被写体を検出する検出手段と、前記検出手段による検出結果を用いて主被写体を判定する主被写体判定手段と、前記主被写体判定手段によって判定された主被写体に対して追尾を行う追尾手段と、を有し、前記主被写体判定手段は、前記検出手段により前記追尾している被写体が継続して検出されている状態で、現在主被写体となっていない被写体種類の検出結果が、現在の主被写体種類の検出結果と同一の被写体の領域に属している場合に、前記現在主被写体となっていない被写体種類の被写体について主被写体らしさを判定して、主被写体の種類を決定することを特徴とする。
【発明の効果】
【0009】
本発明によれば、多様な被写体の種類を検出対象としながらも、誤検出を抑制しながら検出・追尾可能な撮像装置を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態の撮像装置の第1の実施形態であるデジタル一眼カメラの構成を示す側断面図である。
【
図2】第1の実施形態における処理フローを示した図である。
【
図3】第1の実施形態における一つ目のシーン例と効果の例を示した図である。
【
図4】第1の実施形態における主被写体らしさの比較方法の一例を示した図である。
【
図5】第1の実施形態における二つ目のシーン例と主被写体らしさの比較方法の例を示した図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
なお、以下の実施形態では、被写体検出機能を有する撮像装置で実施する場合に関して説明する。被写体検出機能を有する撮像装置としては、ビデオカメラ、デジタルカメラおよび銀塩スチルカメラや、さらにカメラ機能を搭載したスマートフォンなどの携帯機器も本発明の一側面を構成する。
【実施例1】
【0013】
図1は本発明の第1実施形態に係る撮像装置の構成例を示す図であり、被写体検出機能を搭載したミラーレスカメラ(以下、カメラ)の構成を例示したものである。カメラは本体120と、本体120に着脱可能なレンズユニット100とを有する。
【0014】
レンズユニット100は、主光学系102、絞り103、およびフォーカスレンズ群104を有する撮像光学系101を有する。なお、撮像光学系101の焦点距離(画角)は可変であってもよい。レンズユニット100は、絞り103、および可動レンズ(フォーカスレンズ群104、ズームレンズ、防振レンズなど)の位置を検出したり、駆動したりするための構成要素も有している。
【0015】
フォーカスレンズ群104は、複数のフォーカスレンズを有していても、1枚のフォーカスレンズのみを有していても良い。また、ここでは図の簡略化のため、交換レンズの例として単焦点レンズを示しているが、焦点距離を変更可能なレンズ(ズームレンズ)であっても良い。
【0016】
レンズユニット100はまた、レンズユニット100の動作を制御するレンズ制御部111を有する。レンズ制御部111は例えばプログラムを記憶するメモリとプログラムを実行可能なプロセッサとを有する。
【0017】
レンズ制御部111はプロセッサでプログラムを実行することによりレンズユニット100の動作を制御したり、後述するマウント設定ン部114および141を介して本体120と通信したりする。絞り制御部112およびフォーカスレンズ制御部113は、レンズ制御部111のプロセッサがプログラムを実行することによって実現する機能を機能ブロックとして表現したものである。
【0018】
絞り制御部112はレンズ制御部111の制御に従い、絞り103の開口量(絞り値)を制御する。また、絞り制御部112は、要求に応じて絞り103の絞り値を、レンズ制御部111を介して本体120側に供給する。
【0019】
フォーカスレンズ制御部113は、レンズ制御部111の制御に従い、フォーカスレンズ群104を撮像光学系101の光軸方向に駆動し、位置を制御する。また、フォーカスレンズ制御部113は、要求に応じてフォーカスレンズ群104の位置情報を、レンズ制御部111を介して本体120側に供給する。
【0020】
撮像光学系101がズームレンズや防振レンズを有する場合、レンズ制御部111はこれらの可動レンズの位置を制御する機能を有する。
【0021】
レンズユニット100と本体120とは互いに嵌合するマウント部を有する。マウント部は、レンズユニット100が本体120に装着された状態で接触するように構成されたマウント接点部114および141を有する。マウント接点部114および141を通じてレンズユニット100と本体120とは電気的に接続される。レンズユニット100の動作に必要な電力はマウント接点部114および141を通じて本体120から供給される。また、レンズ制御部111と制御・演算部124とはマウント接点部114および161を通じて通信可能である。
【0022】
カメラ本体部120は、露出制御に用いるシャッタ121や、CMOS(相補型金属酸化膜半導体)センサ等の撮像素子122を備える。
【0023】
撮像光学系101は本体120に設けられた撮像素子122の撮像面に光学像を形成する。撮像素子122は例えば一般的なCMOSカラーイメージセンサであってよい。撮像光学系101と撮像素子122との間には開閉可能なシャッタ121が設けられている。撮影時にはシャッタ121が開くことで撮像素子122が露光される。なお、シャッタ121を用いて実行している露出制御を撮像素子122の制御(電子シャッター)によって実現することも可能である。その場合、撮像装置からシャッタ121を除いた構成(メカシャッターレス)とすることも可能である。
【0024】
撮像素子122は例えば原色ベイヤ配列のカラーフィルタを有する公知のCCDもしくはCMOSカラーイメージセンサであってよい。撮像素子122は複数の画素が2次元配列された画素アレイと、画素から信号を読み出すための周辺回路とを有する。各画素は光電変換によって入射光量に応じた電荷を蓄積する。露光期間に蓄積された電荷量に応じた電圧を有する信号を各画素から読み出すことにより、撮像面に形成された被写体像を表す画素信号群(アナログ画像信号)が得られる。
【0025】
アナログ画像信号はアナログフロントエンド(AFE)123に入力される。AFE123はアナログ画像信号に対して相関二重サンプリングやゲイン調整などのアナログ信号処理を適用したのち、制御・演算部124に出力する。
【0026】
制御・演算部124は例えばプログラムを記憶するメモリとプログラムを実行可能なプロセッサとを有する。制御・演算部124はプロセッサでプログラムを実行することにより、本体120の動作を制御し、本体120の各種の機能を実現する。
【0027】
制御・演算部124はプロセッサでプログラムを実行することにより、レンズ制御部111と通信する。制御・演算部124からレンズ制御部111へは、例えばレンズユニット100の動作を制御するコマンドや、レンズユニット100の情報を要求するコマンドが送信される。レンズ制御部111は受信したコマンドに応じてフォーカスレンズ群104や絞り103の動作を制御したり、レンズユニット100の情報を制御・演算部124に送信したりする。制御・演算部124に送信されるレンズユニット100の情報には、例えばレンズユニット100の製品情報や、可動レンズの位置や絞り値の情報などがある。
【0028】
図1において制御・演算部124内部に示された機能ブロック130~136は、制御・演算部124のプロセッサがプログラムを実行することによって実現する機能を、機能ブロックとして表現したものである。
【0029】
操作部161は、ユーザが本体120に各種の指示を入力するために設けられた入力デバイス(ボタン、スイッチ、ダイヤルなど)の総称であり、1つ以上の入力デバイスから構成されている。操作部161を構成する入力デバイスは、割り当てられた機能に応じた名称を有する。例えば、操作部161には、レリーズスイッチ、動画記録スイッチ、撮影モードを選択するための撮影モード選択ダイヤル、メニューボタン、方向キー、決定キーなどが含まれる。また、1つの入力デバイスが複数の機能に対応した操作系となっていてもよい。 操作部161に含まれる代表的な入力デバイス(不図示)の1つとしてレリーズスイッチが挙げられる。レリーズスイッチは静止画記録用のスイッチであり、制御・演算部124はレリーズスイッチの半押し状態を撮影準備指示、全押し状態を撮影開始指示と認識する。また、制御・演算部124はレリーズスイッチが押されていない状態については、本体120が撮影待機中であると認識する。また、レリーズスイッチが半押し状態になることをトリガーとして制御・演算部124は各部に対して後述するピント合わせ動作、露出制御動作(これらを総称して「撮影準備」とする)を実行させるように制御を行う。
【0030】
制御・演算部124は、動画記録スイッチが撮影スタンバイ状態で押下されると動画の記録開始指示と認識し、動画の記録中に押下されると記録停止指示と認識する。なお、同一の入力デバイスに割り当てられる機能は可変であってよい。
【0031】
角速度センサ126は例えば3軸ジャイロセンサであり、本体120の動きを表す信号を制御・演算部124に出力する。制御・演算部124は角速度センサ126の出力する信号に基づいて本体120の動きを検出する。また、制御・演算部124は、検出した本体120の動きに基づいて予め定められた制御を実行する。
【0032】
表示部151はタッチパネル152を備えた表示装置(タッチディスプレイ)である。撮像素子122による動画撮影(逐次的な画像信号の取得)と、得られた動画の表示部151での表示を後述する表示制御部136を介して継続的に実行することにより、表示部151は電子ビューファインダ(EVF)として機能する。
【0033】
表示部151には記憶部125に記録された画像データを再生して表示したり、本体120の状態や設定に関する情報を表示したり、メニュー画面などのGUI(グラフィカルユーザインタフェース)を表示したりすることができる。ユーザはタッチパネル152に対するタッチ操作により、表示されたGUIを操作したり、焦点検出領域を指定したりすることができる。
【0034】
制御・演算部124は操作部161およびタッチパネル152に対する操作を検出すると、検出した操作に応じた動作を実行する。例えば、静止画の撮影準備指示の操作を検出すると、制御・演算部124は後述するフォーカス制御部134や露出演算部135にAF処理、AE処理などを実行させる。また、静止画の撮影指示の操作を検出すると、制御・演算部124は静止画の撮影処理、記録用画像データの生成処理、記録用画像データを記録部125に記録する処理などを制御もしくは実行する。なお、記憶部125はメモリーカード等の記憶媒体によって構成されていても良い。その場合は、記憶媒体と制御・演算部124をつなぐ記憶媒体インターフェース(記憶媒体I/F、不図示)を介して通信可能な構成としてもよい。
【0035】
制御・演算部124は、AFE123から入力されるアナログ画像信号に対して予め定められた画像処理を適用し、信号や画像データを生成したり、各種の情報を取得および/または生成したりする。制御・演算部124は例えば特定の機能を実現するように設計されたASICのような専用のハードウェア回路であってもよいし、DSPのようなプログラマブルプロセッサがソフトウェアを実行することで特定の機能を実現する構成であってもよい。
【0036】
制御・演算部124が適用する画像処理には、前処理、色補間処理、補正処理、検出処理、データ加工処理、評価値算出処理、特殊効果処理などが含まれる。前処理には、信号増幅、基準レベル調整、欠陥画素補正などが含まれる。色補間処理は、撮影時に得られない色成分の値を補間する処理であり、デモザイク処理とも呼ばれる。補正処理には、ホワイトバランス調整、階調補正、撮像光学系101の光学収差に起因する画像劣化の補正(画像回復)、撮像光学系101の周辺減光の影響の補正、色補正などの処理が含まれる。検出処理には、特徴領域(たとえば顔領域や人体領域)やその動きの検出、人物の認識処理などが含まれる。データ加工処理には、合成、スケーリング、符号化および復号、ヘッダ情報生成(データファイル生成)などの処理が含まれる。評価値算出処理には、自動焦点検出(AF)に用いる信号や評価値の生成、自動露出制御(AE)に用いる評価値の生成などの処理が含まれる。特殊効果処理には、ボケ効果の付加、色調の変更、リライティングなどの処理などが含まれる。なお、これらは制御・演算部124が適用可能な処理の例示であり、制御・演算部124が適用する処理を限定するものではない。また、
図1では示していないが、上述した画像処理等を行う処理回路を別途設けるような構成としてもよい。
【0037】
図1において制御・演算部124内に示した主被写体演算部130は、制御・演算部124が例えばプログラムを実行することによって実現する、被写体検出処理および主被写体の判定に関する機能を有する機能ブロックである。
図1中の主被写体演算部130は検出部131と主被写体判定部132によって構成されている。なお、
図1とは異なり、制御・演算部124とは別に主被写体演算部130を備えるような構成としてもよい。その場合も制御・演算部124が例えばプログラムを実行することによって主被写体演算部130に各機能を実行させることができる。
【0038】
検出部131は、画像データに対して予め定められた複数の種類の被写体の検出処理を適用し、被写体の種類ごとに被写体領域を検出する。検出手法としてはAdaBoostや畳み込みニューラルネットワークなどの公知の任意の方法を用いて良い。また、その実装の形態としては、CPU上で動くプログラムであっても、専用のハードウェアであっても、それらの組み合わせであっても良い。ここで検出部131は、被写体の種類ごとに、被写体領域を検出するためのパラメータを辞書データとして保持しているものとして説明する。検出部131は、検出処理に用いる辞書データを切り替えることにより、複数の種類の被写体について被写体領域を検出することができる。すなわち、それぞれの辞書データは複数の種類の被写体の種類ごとに対応したパラメータを保持している。
【0039】
辞書データは予め機械学習など公知の方法によって生成することができる。検出部131で検出する被写体の種類に制限はないが、本実施形態では検出結果を被写体追尾に利用することを想定している。そのため、検出部131は、移動しうる被写体、例えば、人体、乗り物(バイク、自動車、電車、飛行機、船など)、動物(犬、猫、鳥など)のうち、1つまたは複数種類の被写体を検出するものとする。また、人体(第2の種類の被写体)については頭部、胴体、瞳といった特定部位の1つ以上を検出することもできる。乗り物(第1の種類の被写体)については全体および予め定められた特定部位の1つ以上を検出するものとする。動物については全身、顔、瞳といった特定部位の1つ以上を検出することができる。
【0040】
なお、特定部位の検出については検出部131に加えて器官検出部(不図示)を備えるような構成としてもよい。その場合、器官検出部は検出部131で検出した被写体の領域に対して器官の領域の検出を行う。たとえば検出部131が検出した人体の被写体領域に対し、顔、目(瞳)、鼻、口などの器官の領域を検出する。器官検出部は、特徴パラメータやテンプレートを用いた公知の方法により、顔や器官を検出することができる。なお、上述した器官の検出を検出部131が行う構成とする場合、器官検出部を除いた構成にできることは言うまでもない。
【0041】
検出部131は、検出対象の被写体ごとに検出結果を生成する。検出結果は検出した領域の総数と、領域ごとの位置、サイズ、および検出信頼度、検出頻度等を含むものとするが、これらに限定されない。なお、器官検出部を有する場合は、検出した顔領域や器官の領域について、検出対象ごとに検出結果を生成する。検出結果は検出した領域の総数と、領域ごとの位置、大きさ、および検出信頼度を含むものとするが、これらに限定されない。検出部131で取得した情報は、後述の主被写体判定部132に供給される。
【0042】
なお、本明細書では、主被写体演算部130の検出部131、主被写体判定部132の処理をまとめて被写体検出処理と呼ぶ。被写体検出処理を実施する画像データは、撮像素子122で取得されたものであってもよいし、記憶部125から読み出されたものであってもよい。また、被写体検出処理は静止画データおよび動画データのいずれにも適用可能である。
【0043】
主被写体判定部132は、検出部131による被写体検出処理の結果に基づいて、追尾処理の対象被写体である主被写体を判定する。主被写体の最初の判定は、位置、大きさ、および検出信頼度などによる公知の算出方法を用いて行われる。その詳細については後述する。
【0044】
追尾演算部133は、主被写体判定部132が追尾対象として設定した主被写体の情報などを用いて、追尾処理を実行する。追尾処理はテンプレートマッチングなどの公知の任意の方法を用いて良い。また、その実装の形態としては、CPU上で動くプログラムであっても、専用のハードウェアであっても、それらの組み合わせであっても良い。
【0045】
フォーカス制御部134は、主被写体の領域(主被写体領域)にピントを合わせるために必要なフォーカスレンズ104の制御値の演算を行う。演算結果はマウント接点部114および141を通じてレンズ制御部111に送信され、フォーカスレンズ制御部113がフォーカスレンズ104の制御に利用する。なお、フォーカス制御部134は主被写体の領域に限らず、ユーザがタッチパネル152等を介して指定した焦点検出領域(AFエリア)や、カメラ側で設定された領域に対するピント合わせのための演算なども行うことも可能である。
【0046】
露出演算部135は、主被写体領域を適正露出にするために絞り103や撮像素子122の制御値の演算を行う。例えば絞り103の制御値の演算結果はマウント接点部114および141を通じてレンズ制御部111に送信され、絞り制御部112が絞り103の制御に利用する。なお、露出演算部135は、主被写体領域に限らず、画像全体について最適な露出条件となるように制御を行うことや、ユーザがタッチパネル152等を介して指定した特定の領域に特化した露出制御値の演算を行うことも可能である。
【0047】
上述したフォーカス制御部134と露出演算部135は例えば本体120のレリーズスイッチの半押しがなされると、制御・演算部124の制御により主被写体に対するピント合わせ動作、露出制御動作を実行するために演算をそれぞれ行う。なお、フォーカス制御部134、露出演算部135はレリーズスイッチの操作に関係なく、主被写体判定部132が判定した主被写体や、追尾演算部133が追尾処理を実行している被写体についてピント合わせ動作、露出制御動作を取得される画像データ毎、もしくは所定の間隔毎に実行してもよい。
【0048】
表示制御部136は、制御・演算部124によって処理された画像データを表示部151にて表示するほか、ユーザ操作に応じて表示部151に表示する画像やメニュー表示を切り替えることができる。また追尾対象の被写体領域を表す情報(枠やマーカー)などを、例えばライブビュー画像に重畳させて表示部151に表示することもできる。
【0049】
次に
図2、
図3、
図4を参照して本実施形態における主被写体判定部132内の主被写体の再選定処理フローについて説明する。
【0050】
例として撮影待機中、すなわちユーザが操作部161(ここではレリーズスイッチ)を押し込んでいない状態におけるカメラの挙動について、
図3にある具体的なシーン例を用いて説明する。
図3(a)では、遠くから接近する2輪車をカメラの画角内に入れた時に、最初は2輪車が小さいために検出できず、代わりに道路脇の構造物を犬猫の全身と誤検出している。2輪車がやがて接近して大きくなり、正しく2輪車の全体及びヘルメットを検出できるようになる一方で、まだ道路脇の構造物を犬猫の全身と誤検出している。主被写体の再選定を行わない従来の主被写体選択では、
図3(b)にあるように、最初に唯一検出できている道路脇の構造物を犬猫として主被写体として選択する。そして安定的に誤検出が続く限りは2輪車が検出できるようになっても変わらず構造物を主被写体として追い続けてしまう。しかし、本構成を用いれば
図3(c)にあるように、2輪車が検出できるようになれば2輪車のほうを主被写体として再選択することができる。
【0051】
続いて、
図2を用いて
図3(c)のような主被写体の再選択を可能とする処理フローについて説明する。
図2のフローチャートは制御・演算部124の制御により各部が動作を実行することで進行する。
【0052】
ステップS200では、主被写体判定部132が、検出部131によって検出された被写体の種類が2種類以上であるかをチェックする。2種類とは、検出される辞書の種類が例えば犬猫と2輪車というように異なる種類であることを示し、犬猫瞳と犬猫全身というように同じ種類の被写体の中の別部位を2種類とは数えない。2種類以上が検出されていれば、ステップS201へ進む。2種類以上が検出されていなければ、主被写体判定部151の処理を終了する。
図3のシーン例では、2輪車が接近してきた時に犬猫および2輪車が検出されているのでステップS201へ進む。
【0053】
ステップS201では、主被写体判定部132が、カメラの撮影の状態を確認する。カメラが撮影待機中、すなわちユーザが操作部161(ここではレリーズスイッチに相当する)を押し込んでいない状態であれば、ステップS202へ進む。ユーザの操作によるピント合わせ動作が実行された以降、すなわちユーザがレリーズスイッチの押し込みを通じて被写体へのピント合わせを開始した以降で、かつレリーズスイッチを押し続けている状態(半押し状態維持)の場合はステップS205へ進む。ここでは撮影待機中の例を説明するため、ステップS202へ進む。
【0054】
ステップS202では、主被写体判定部132が、被写体種類の異なる検出結果の間で、主被写体らしさに関わるパラメータを比較して主被写体らしさの点数付け(評価値の算出)を行い、ステップS203に進む。
【0055】
図3のシーンにおける主被写体らしさの点数付けの算出例を、
図4を用いて説明する。本来ユーザが撮影しようと意図している2輪車が遠くにある時に、道路脇の構造物を犬猫として誤検出し、これを追尾している状況(追尾中)を考える。まず
図4(a)のように2輪車が大きくなり、道路脇の構造物のほかに2輪車の全体とヘルメットを検出できるようになったとする。このとき、犬猫および2輪車検出の結果のそれぞれにおいて主被写体らしさに関わるパラメータとして主被写体判定部132は検出サイズ、検出位置、検出信頼度、検出頻度、部位数の比較を行う。本例では主被写体判定部132がこれら5種のパラメータの比較を行うが、必ずしもこのセットである必要はない。主被写体判定部132の計算負荷次第でパラメータの個数を減らしてもよいし、逆にフレーミング方向とのベクトル一致率など主被写体らしさに関わるパラメータをさらに追加してもよい。また、主被写体判定部132は被写体種類ごとに各種パラメータの点数を合計することで合計点数(評価値)を算出し、主被写体らしさを判定する。
【0056】
被写体種類の異なる検出結果の間でサイズの比較を行う場合、単純に各被写体の検出枠サイズないしは検出面積を比較してもよいが、各被写体の本来のサイズ差といった相対的な差を考慮して点数付け(重み付け)を行うことがより望ましい。例えば、
図4(b)にあるように2輪車ヘルメット、2輪車全体、犬猫全身の平均的な高さがそれぞれ25cm、100cm、50cmであり、検出された画像に対する垂直サイズがそれぞれ垂直画角の20%、45%、20%であるとする。その場合、垂直に対するサイズを平均的高さで割った1.12、0.45、0.40という数値を比較に用いる。点数は、正規化してつけてもよいが、ここでは簡便に検出された被写体数と同じ点数を最大に、順番に1ずつ減らした点数をつけるものとする。
図4(b)のサイズであれば、2輪車ヘルメット、2輪車全体、犬猫全身はそれぞれ3点、2点、1点となる。
【0057】
次に
図4(c)を用いて検出された被写体の位置に係る点数付けの方法を説明する。ここではユーザの意図をなるべく反映できるように、ユーザが選択した事前に設定したAFエリアから各検出対象までの距離を比較する。ユーザが選択したAFエリアが画像全面である場合は、画像中心点から各検出対象までの距離を比較する。例えば、ユーザが選択したAFエリア500の中心座標に対し、2輪車ヘルメット検出エリアの中心座標までの距離501、2輪車全体検出エリアの中心座標までの距離502、犬猫全身検出エリアの中心座標までの距離503を比較する。このとき
図4(c)において距離の関係が502<501<503であるため、2輪車ヘルメット、2輪車全体、犬猫全身はそれぞれ2点、3点、1点となる。次に、検出の確からしさを示す信頼度、該当シーンを含む3フレーム間の検出回数である検出頻度が高い方からそれぞれ3点、2点、1点と割り振る。さらには、2輪車は全体とヘルメットの両方が検出されており、一方で犬猫は検出可能な瞳、顔、全身のうち全身のみが検出されている
図4(a)のシーンでは、部位数の点数はそれぞれ検出されている部位の数、すなわち2輪車が2点、犬猫が1点となる。ただし、これは2輪車が同じ2輪車に属していると判定される場合であって、もしも距離が遠い場合などで別の2輪車として判定された場合は別々に各1点として算出する。
【0058】
ステップS203では、主被写体判定部132は、主被写体と判断されている現在の被写体種類の合計点数よりも別の被写体種類の検出結果の合計点数を比較する。ここで別の被写体種類の合計点数が現在の被写体種類の合計点数に対して閾値以上に高ければステップS204に進み、主被写体判定部132は現在の被写体種類とは異なる被写体種類を主被写体として再設定して処理を終了する。それ以外ならばステップS207へ進み、主被写体判定部132は主被写体と判断されている現在の被写体の種類を変更せずに処理を終了する。
【0059】
図4(d)では検出した被写体のサイズ、検出位置、検出信頼度、検出頻度、部位数の点数を合計した合計点数の比較結果を示している。比較の結果、2輪車全体の合計点数が犬猫全身の合計点数よりも8点高い結果になっている。この時、差分ありとみなす点数の閾値を例えば3(パラメータ数5の過半数は3であるため)とする。その場合、2輪車全体の点数と犬猫全身の点数の差分が8点、すなわち3点以上であるので、主被写体判定部132は
図3(c)のように主被写体の種類を犬猫全身から2輪車ヘルメットへと変更する。ここで差分ありとみなす点数の閾値が規定されているのは、現在の主被写体とほぼ同じ点数の被写体があった場合に頻繁に主被写体の乗り移りをさせないためである。なお、この例では2輪車全体が第一位であるのに対し2輪車ヘルメットを主被写体としている。これは、本実施例においてユーザが意図する被写体のフォーカス位置により近い被写体のうち、より小さい部位の検出をアルゴリズムとして優先させているからである。なお、そのような検出アルゴリズムを含まない構成としてもよい。
【0060】
次に、例としてユーザがレリーズスイッチを押し込む(半押し状態)ことでピント合わせを発動した後の状態におけるカメラの挙動について、
図5にある具体的なシーン例を用いて説明する。なお、ここでの押し込みは「撮影準備指示」に相当するものである。ユーザは押し込み動作(撮影準備指示)後にカメラが決定する主被写体が意図する撮影対象であればさらにレリーズスイッチを押し込むことで全押し状態に遷移させ、「撮影開始指示」を行うことができる。
【0061】
図5(a)では、遠くから接近する2輪車をカメラの画角内に入れた時に、最初は2輪車を鳥として誤検出しており本来の2輪車として検出できていない。2輪車がやがて接近して大きくなり、正しく2輪車の全体及びヘルメットを検出できるようになる一方で、2輪車のミラーとハンドル付近を引き続き鳥全身として誤検出しているとする。主被写体の再選定を行わない従来の主被写体選択では、
図5(b)にあるように、2輪車を最初に唯一検出できている鳥として追尾を行う。そして、そのままある程度の安定的に誤検出が続く限りは2輪車が検出できるようになっても変わらず鳥の誤検出結果が採用され続けてしまう。すなわち、ユーザが本来はヘルメット付近にピントを合わせることを期待しているのに対し、ハンドル付近にピントが合うように動作してしまう。しかし、本構成を用いれば
図3(c)にあるように、2輪車を2輪車として検出できるようになれば2輪車のほうを主被写体として再選択することができる。
【0062】
図5の例では、ユーザがレリーズスイッチを押し込むことでピント合わせ動作が発動した後にレリーズスイッチを半押しのまま維持し続けているシーンを想定している。したがって、ステップS200、ステップS201と進んだのち、
図3の例とは異なりステップS205に進む。
【0063】
ステップS205では、主被写体判定部132は、現在主被写体となっていない被写体種類の検出結果が、現在の主被写体種類の検出結果と同一の被写体の領域に属しているかを確認する。すなわち、現在主被写体となっていない被写体の検出位置が現在の主被写体種類の検出領域に存在するかを確認する。ユーザ操作によるピント合わせ発動以降でユーザがレリーズスイッチを押し込み続けており(半押し状態を維持している)、少なくとも現在追尾されている被写体はユーザの意図する被写体であると考えられる。したがって、追尾されている被写体以外の領域に存在する検出結果を採用しない方が好ましいと考えられる。同一の被写体の領域に属しているかを判定する方法は、例えば現在の被写体からの距離が画像の水平の4割の距離の内側であれば同一とするような距離をベースにした手法など公知の方法が用いられる。同一の被写体の領域に属していると判定される被写体種類があればステップS206へ進み、同一の被写体の領域に属していると判定される被写体種類が1つもなければステップS207へ進んだのち処理を終了する。
図6の例では、現在の主被写体である鳥の検出位置から、上下画像の水平距離の4割の距離の範囲内に2輪車ヘルメットおよび2輪車全体の中心が含まれるため、同一の被写体の領域に属していると判断され、ステップS206へ進む。
【0064】
ステップS206では、主被写体判定部132は、被写体種類の異なる検出結果の間で、主被写体らしさに関わるパラメータを比較して主被写体らしさの点数付けを行い、ステップS203に進む。
【0065】
図5のシーンにおける主被写体らしさの点数付けの算出例を、
図5(d)を用いて説明する。ここでは主被写体らしさの点数付けに用いるパラメータとして、ステップS202とは異なり、サイズと位置を除いたパラメータを用いる。これは、ユーザ操作によるピント合わせ発動以降でユーザがレリーズスイッチを押し込み続けている(半押し状態を維持している)ので、少なくとも現在掴んでいる被写体はユーザの意図する被写体であると考えられる。したがって、その被写体に対して同一の被写体の領域に属していると判定された検出結果であればそのサイズや位置に関わらず採用対象とみなしてよいと考えられるためである。
【0066】
図5(d)の例では、検出信頼度、検出頻度、検出部位数に対する点数付けをS202と同様に行う。なお、これら数値が同数の場合は、頻度に対する点数のように同点を付与して算出を行う。算出の結果、2輪車全体の合計点が8点、鳥全身の合計点が4点となったとする。このとき、2輪車全体の合計点は鳥全身の合計点よりも4点高い。すなわち点数の差分の閾値である2(パラメータ数3つの過半数は2)以上であるため、ステップS203ではステップS204へと進み、鳥から2輪車へと主被写体を変更して処理を終了する。
【0067】
なお、上記例では主被写体らしさの点数付けに用いるパラメータは互いに優劣がないものとして扱ったが、被写体種類の組み合わせによって採用するパラメータを異ならせたり、パラメータ間で重みづけを行ったりしてもよい。例えば、現被写体が鳥で他に検出されている種類が人物であり、鳥辞書の特性として人物の頭部を誤検出しやすいとわかっている場合、位置やサイズの優先度を下げることを考えてもよい。また検出頻度や部位数に関しては、辞書間の検出性能差によって結果を重みづけしてもよい。例えば人物の検出性能が90%、鳥の検出性能が80%であった場合、鳥の検出結果に対して重みをつけることで、人物の検出結果の方が優先されるようにしてもよい。
【0068】
以上で説明したように本実施形態では、多様な被写体の種類を検出対象としながらも、誤検出を抑制しながら検出・追尾可能な撮像装置を提供することができる。
【0069】
<その他の実施形態>
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0070】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0071】
100 交換レンズ
120 カメラ本体
122 撮像素子
124 制御・演算部
130 主被写体演算部
131 検出部
132 主被写体判定部
133 追尾演算部
134 フォーカス制御部
135 露出演算部